@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
1 lines • 1.16 kB
Source Map (JSON)
{"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"}