@gravity-ui/uikit
Version:
Gravity UI base styling and components
27 lines (26 loc) • 829 B
JavaScript
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