{"version":3,"file":"use-resize-observer.cjs","names":[],"sources":["../../../src/components/ScrollArea/use-resize-observer.ts"],"sourcesContent":["import { useEffectEvent } from 'react';\nimport { useIsomorphicEffect } from '@mantine/hooks';\n\nexport function useResizeObserver(element: HTMLElement | null, onResize: () => void) {\n  const handleResize = useEffectEvent(onResize);\n\n  useIsomorphicEffect(() => {\n    let rAF = 0;\n    if (element) {\n      const resizeObserver = new ResizeObserver(() => {\n        cancelAnimationFrame(rAF);\n        rAF = window.requestAnimationFrame(handleResize);\n      });\n\n      resizeObserver.observe(element);\n\n      return () => {\n        window.cancelAnimationFrame(rAF);\n        resizeObserver.unobserve(element);\n      };\n    }\n\n    return undefined;\n  }, [element]);\n}\n"],"mappings":";;;;;AAGA,SAAgB,kBAAkB,SAA6B,UAAsB;CACnF,MAAM,gBAAA,GAAA,MAAA,gBAA8B,SAAS;AAE7C,EAAA,GAAA,eAAA,2BAA0B;EACxB,IAAI,MAAM;AACV,MAAI,SAAS;GACX,MAAM,iBAAiB,IAAI,qBAAqB;AAC9C,yBAAqB,IAAI;AACzB,UAAM,OAAO,sBAAsB,aAAa;KAChD;AAEF,kBAAe,QAAQ,QAAQ;AAE/B,gBAAa;AACX,WAAO,qBAAqB,IAAI;AAChC,mBAAe,UAAU,QAAQ;;;IAKpC,CAAC,QAAQ,CAAC"}