{"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,QAAQ;CAE5C,CAAA,GAAA,eAAA,2BAA0B;EACxB,IAAI,MAAM;EACV,IAAI,SAAS;GACX,MAAM,iBAAiB,IAAI,qBAAqB;IAC9C,qBAAqB,GAAG;IACxB,MAAM,OAAO,sBAAsB,YAAY;GACjD,CAAC;GAED,eAAe,QAAQ,OAAO;GAE9B,aAAa;IACX,OAAO,qBAAqB,GAAG;IAC/B,eAAe,UAAU,OAAO;GAClC;EACF;CAGF,GAAG,CAAC,OAAO,CAAC;AACd"}