@gravity-ui/uikit
Version:
Gravity UI base styling and components
31 lines (30 loc) • 1 kB
JavaScript
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
;