{"version":3,"file":"DropFade.mjs","sources":["../../src/dropFade/DropFade.tsx"],"sourcesContent":["import React, { useRef, useState, ReactElement } from 'react';\nimport { CSSTransition } from 'react-transition-group';\n\nconst DropFade = ({ children, show }: { children: ReactElement; show: boolean }) => {\n  const reference = useRef<HTMLDivElement>(null);\n  const [height, setHeight] = useState<number | undefined>(0);\n\n  const clonedChild = React.cloneElement(children);\n\n  return (\n    <CSSTransition\n      nodeRef={reference}\n      in={show}\n      timeout={300}\n      classNames=\"np-dropfade\"\n      onEntering={() => {\n        // Set height so we can animate to the correct height\n        setHeight(reference.current?.scrollHeight || 0);\n      }}\n      // Un-set height, as we don't want to presume it should be that height forever\n      onEntered={() => setHeight(undefined)}\n      onExit={() => {\n        setHeight(reference.current?.scrollHeight || 0);\n      }}\n      onExiting={() => {\n        setHeight(0);\n      }}\n    >\n      <div ref={reference} style={{ height }} className=\"np-dropfade\">\n        {clonedChild}\n      </div>\n    </CSSTransition>\n  );\n};\n\nexport default DropFade;\n"],"names":["DropFade","children","show","reference","useRef","height","setHeight","useState","clonedChild","React","cloneElement","_jsx","CSSTransition","nodeRef","in","timeout","classNames","onEntering","current","scrollHeight","onEntered","undefined","onExit","onExiting","ref","style","className"],"mappings":";;;;AAGA,MAAMA,QAAQ,GAAGA,CAAC;EAAEC,QAAQ;AAAEC,EAAAA;AAAI,CAA6C,KAAI;AACjF,EAAA,MAAMC,SAAS,GAAGC,MAAM,CAAiB,IAAI,CAAC;EAC9C,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGC,QAAQ,CAAqB,CAAC,CAAC;AAE3D,EAAA,MAAMC,WAAW,gBAAGC,cAAK,CAACC,YAAY,CAACT,QAAQ,CAAC;EAEhD,oBACEU,GAAA,CAACC,aAAa,EAAA;AACZC,IAAAA,OAAO,EAAEV,SAAU;AACnBW,IAAAA,EAAE,EAAEZ,IAAK;AACTa,IAAAA,OAAO,EAAE,GAAI;AACbC,IAAAA,UAAU,EAAC,aAAa;IACxBC,UAAU,EAAEA,MAAK;AACf;MACAX,SAAS,CAACH,SAAS,CAACe,OAAO,EAAEC,YAAY,IAAI,CAAC,CAAC;AACjD,IAAA;AACA;AAAA;AACAC,IAAAA,SAAS,EAAEA,MAAMd,SAAS,CAACe,SAAS,CAAE;IACtCC,MAAM,EAAEA,MAAK;MACXhB,SAAS,CAACH,SAAS,CAACe,OAAO,EAAEC,YAAY,IAAI,CAAC,CAAC;IACjD,CAAE;IACFI,SAAS,EAAEA,MAAK;MACdjB,SAAS,CAAC,CAAC,CAAC;IACd,CAAE;AAAAL,IAAAA,QAAA,eAEFU,GAAA,CAAA,KAAA,EAAA;AAAKa,MAAAA,GAAG,EAAErB,SAAU;AAACsB,MAAAA,KAAK,EAAE;AAAEpB,QAAAA;OAAS;AAACqB,MAAAA,SAAS,EAAC,aAAa;AAAAzB,MAAAA,QAAA,EAC5DO;KACE;AACP,GAAe,CAAC;AAEpB;;;;"}