UNPKG

@gravity-ui/uikit

Version:

Gravity UI base styling and components

31 lines (30 loc) 1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useResizeObserver = useResizeObserver; const tslib_1 = require("tslib"); const React = tslib_1.__importStar(require("react")); 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