{"version":3,"file":"Portal.cjs","sources":["../../../src/components/DatePicker/Portal.tsx"],"sourcesContent":["import {\n  type PropsWithChildren,\n  forwardRef,\n  useImperativeHandle,\n  useMemo,\n  useRef,\n  useState,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useEnhancedEffect } from '../../hooks/useEnhancedEffect'\nimport { usePortal } from '../../hooks/usePortal'\n\nimport { getPortalPosition } from './datePickerHelper'\n\ntype Props = PropsWithChildren<{\n  inputRect: DOMRect\n}>\n\nconst classNameGenerator = tv({\n  base: 'smarthr-ui-DatePicker-calendarContainer shr-absolute shr-z-overlap shr-leading-none',\n})\n\nconst initialPosition = {\n  top: '0px',\n  left: '0px',\n}\n\nexport const Portal = forwardRef<HTMLDivElement, Props>(({ inputRect, ...rest }, ref) => {\n  const { isPortalRootMounted, createPortal } = usePortal()\n  const containerRef = useRef<HTMLDivElement>(null)\n\n  useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(ref, () => containerRef.current)\n\n  const [style, setStyle] = useState(initialPosition)\n\n  useEnhancedEffect(() => {\n    if (containerRef.current) {\n      const position = getPortalPosition(inputRect, containerRef.current.offsetHeight)\n\n      setStyle({\n        top: `${position.top}px`,\n        left: `${position.left}px`,\n      })\n    }\n  }, [inputRect, isPortalRootMounted])\n\n  const className = useMemo(() => classNameGenerator(), [])\n\n  return createPortal(<div {...rest} ref={containerRef} className={className} style={style} />)\n})\n"],"names":["tv","forwardRef","usePortal","useRef","useImperativeHandle","useState","useEnhancedEffect","getPortalPosition","useMemo","_jsx"],"mappings":";;;;;;;;;AAmBA,MAAM,kBAAkB,GAAGA,QAAE,CAAC;AAC5B,IAAA,IAAI,EAAE,qFAAqF;AAC5F,CAAA,CAAC;AAEF,MAAM,eAAe,GAAG;AACtB,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,IAAI,EAAE,KAAK;CACZ;AAEM,MAAM,MAAM,GAAGC,gBAAU,CAAwB,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,KAAI;IACtF,MAAM,EAAE,mBAAmB,EAAE,YAAY,EAAE,GAAGC,yBAAS,EAAE;AACzD,IAAA,MAAM,YAAY,GAAGC,YAAM,CAAiB,IAAI,CAAC;IAEjDC,yBAAmB,CAA+C,GAAG,EAAE,MAAM,YAAY,CAAC,OAAO,CAAC;IAElG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGC,cAAQ,CAAC,eAAe,CAAC;IAEnDC,yCAAiB,CAAC,MAAK;AACrB,QAAA,IAAI,YAAY,CAAC,OAAO,EAAE;AACxB,YAAA,MAAM,QAAQ,GAAGC,wDAAiB,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC;AAEhF,YAAA,QAAQ,CAAC;AACP,gBAAA,GAAG,EAAE,CAAA,EAAG,QAAQ,CAAC,GAAG,CAAA,EAAA,CAAI;AACxB,gBAAA,IAAI,EAAE,CAAA,EAAG,QAAQ,CAAC,IAAI,CAAA,EAAA,CAAI;AAC3B,aAAA,CAAC;QACJ;AACF,IAAA,CAAC,EAAE,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAEpC,IAAA,MAAM,SAAS,GAAGC,aAAO,CAAC,MAAM,kBAAkB,EAAE,EAAE,EAAE,CAAC;AAEzD,IAAA,OAAO,YAAY,CAACC,cAAA,CAAA,KAAA,EAAA,EAAA,GAAS,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAA,CAAI,CAAC;AAC/F,CAAC;;;;"}