{"version":3,"file":"ScrollAreaScrollbarAuto.cjs","names":["useScrollAreaContext","ScrollAreaScrollbarVisible"],"sources":["../../../../src/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarAuto.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { useDebouncedCallback } from '@mantine/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 function ScrollAreaScrollbarAuto(props: ScrollAreaScrollbarAutoProps) {\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 data-state={visible ? 'visible' : 'hidden'} {...scrollbarProps} />\n    );\n  }\n\n  return null;\n}\n\nScrollAreaScrollbarAuto.displayName = '@mantine/core/ScrollAreaScrollbarAuto';\n"],"mappings":";;;;;;;;;AAaA,SAAgB,wBAAwB,OAAqC;CAC3E,MAAM,UAAUA,2BAAAA,sBAAsB;CACtC,MAAM,EAAE,YAAY,GAAG,mBAAmB;CAC1C,MAAM,CAAC,SAAS,eAAA,GAAA,MAAA,UAAuB,MAAM;CAC7C,MAAM,eAAe,MAAM,gBAAgB;CAE3C,MAAM,gBAAA,GAAA,eAAA,4BAA0C;AAC9C,MAAI,QAAQ,UAAU;GACpB,MAAM,cAAc,QAAQ,SAAS,cAAc,QAAQ,SAAS;GACpE,MAAM,cAAc,QAAQ,SAAS,eAAe,QAAQ,SAAS;AACrE,cAAW,eAAe,cAAc,YAAY;;IAErD,GAAG;AAEN,6BAAA,kBAAkB,QAAQ,UAAU,aAAa;AACjD,6BAAA,kBAAkB,QAAQ,SAAS,aAAa;AAEhD,KAAI,cAAc,QAChB,QACE,iBAAA,GAAA,kBAAA,KAACC,mCAAAA,4BAAD;EAA4B,cAAY,UAAU,YAAY;EAAU,GAAI;EAAkB,CAAA;AAIlG,QAAO;;AAGT,wBAAwB,cAAc"}