UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

25 lines (22 loc) 699 B
'use client'; import { useCallbackRef, useIsomorphicEffect } from '@mantine/hooks'; function useResizeObserver(element, onResize) { const handleResize = useCallbackRef(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); }; } return void 0; }, [element, handleResize]); } export { useResizeObserver }; //# sourceMappingURL=use-resize-observer.mjs.map