{"version":3,"file":"ScrollAreaScrollbarAuto.cjs","sources":["../../../../src/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarAuto.tsx"],"sourcesContent":["import { forwardRef, useState } from 'react';\nimport { useDebouncedCallback } from '@raikou/hooks';\nimport { useScrollAreaContext } from '../ScrollArea.context';\nimport { useResizeObserver } from '../use-resize-observer';\nimport {\n  ScrollAreaScrollbarVisible,\n  ScrollAreaScrollbarVisibleProps,\n} from './ScrollAreaScrollbarVisible';\n\nexport interface ScrollAreaScrollbarAutoProps extends ScrollAreaScrollbarVisibleProps {\n  forceMount?: true;\n}\n\nexport const ScrollAreaScrollbarAuto = forwardRef<HTMLDivElement, ScrollAreaScrollbarAutoProps>(\n  (props, ref) => {\n    const context = useScrollAreaContext();\n    const { forceMount, ...scrollbarProps } = props;\n    const [visible, setVisible] = useState(false);\n    const isHorizontal = props.orientation === 'horizontal';\n\n    const handleResize = useDebouncedCallback(() => {\n      if (context.viewport) {\n        const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;\n        const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;\n        setVisible(isHorizontal ? isOverflowX : isOverflowY);\n      }\n    }, 10);\n\n    useResizeObserver(context.viewport, handleResize);\n    useResizeObserver(context.content, handleResize);\n\n    if (forceMount || visible) {\n      return (\n        <ScrollAreaScrollbarVisible\n          data-state={visible ? 'visible' : 'hidden'}\n          {...scrollbarProps}\n          ref={ref}\n        />\n      );\n    }\n\n    return null;\n  }\n);\n\nScrollAreaScrollbarAuto.displayName = '@raikou/core/ScrollAreaScrollbarAuto';\n"],"names":["forwardRef","useScrollAreaContext","useState","useDebouncedCallback","useResizeObserver","jsx","ScrollAreaScrollbarVisible"],"mappings":";;;;;;;;;AAaO,MAAM,uBAA0B,GAAAA,gBAAA;AAAA,EACrC,CAAC,OAAO,GAAQ,KAAA;AACd,IAAA,MAAM,UAAUC,uCAAqB,EAAA;AACrC,IAAA,MAAM,EAAE,UAAA,EAAY,GAAG,cAAA,EAAmB,GAAA,KAAA;AAC1C,IAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIC,eAAS,KAAK,CAAA;AAC5C,IAAM,MAAA,YAAA,GAAe,MAAM,WAAgB,KAAA,YAAA;AAE3C,IAAM,MAAA,YAAA,GAAeC,2BAAqB,MAAM;AAC9C,MAAA,IAAI,QAAQ,QAAU,EAAA;AACpB,QAAA,MAAM,WAAc,GAAA,OAAA,CAAQ,QAAS,CAAA,WAAA,GAAc,QAAQ,QAAS,CAAA,WAAA;AACpE,QAAA,MAAM,WAAc,GAAA,OAAA,CAAQ,QAAS,CAAA,YAAA,GAAe,QAAQ,QAAS,CAAA,YAAA;AACrE,QAAW,UAAA,CAAA,YAAA,GAAe,cAAc,WAAW,CAAA;AAAA;AACrD,OACC,EAAE,CAAA;AAEL,IAAkBC,mCAAA,CAAA,OAAA,CAAQ,UAAU,YAAY,CAAA;AAChD,IAAkBA,mCAAA,CAAA,OAAA,CAAQ,SAAS,YAAY,CAAA;AAE/C,IAAA,IAAI,cAAc,OAAS,EAAA;AACzB,MACE,uBAAAC,cAAA;AAAA,QAACC,qDAAA;AAAA,QAAA;AAAA,UACC,YAAA,EAAY,UAAU,SAAY,GAAA,QAAA;AAAA,UACjC,GAAG,cAAA;AAAA,UACJ;AAAA;AAAA,OACF;AAAA;AAIJ,IAAO,OAAA,IAAA;AAAA;AAEX;AAEA,uBAAA,CAAwB,WAAc,GAAA,sCAAA;;;;"}