UNPKG

@gravity-ui/uikit

Version:

Gravity UI base styling and components

27 lines (26 loc) 829 B
import * as React from 'react'; export function useResizeObserver({ ref, onResize, box, }) { React.useEffect(() => { const element = ref?.current; if (!element) { return undefined; } if (typeof window.ResizeObserver === 'undefined') { window.addEventListener('resize', onResize, false); return () => { window.removeEventListener('resize', onResize, false); }; } const observer = new ResizeObserver((entries) => { if (!entries.length) { return; } onResize(); }); observer.observe(element, { box }); return () => { observer.disconnect(); }; }, [ref, onResize, box]); } //# sourceMappingURL=useResizeObserver.js.map