UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

25 lines (24 loc) 743 B
"use client"; import { useEffectEvent } from "react"; import { useIsomorphicEffect } from "@mantine/hooks"; //#region packages/@mantine/core/src/components/ScrollArea/use-resize-observer.ts function useResizeObserver(element, onResize) { const handleResize = useEffectEvent(onResize); useIsomorphicEffect(() => { let rAF = 0; if (element) { const resizeObserver = new ResizeObserver(() => { cancelAnimationFrame(rAF); rAF = window.requestAnimationFrame(handleResize); }); resizeObserver.observe(element); return () => { window.cancelAnimationFrame(rAF); resizeObserver.unobserve(element); }; } }, [element]); } //#endregion export { useResizeObserver }; //# sourceMappingURL=use-resize-observer.mjs.map