@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
26 lines (25 loc) • 824 B
JavaScript
"use client";
require("../../_virtual/_rolldown/runtime.cjs");
let react = require("react");
let _mantine_hooks = require("@mantine/hooks");
//#region packages/@mantine/core/src/components/ScrollArea/use-resize-observer.ts
function useResizeObserver(element, onResize) {
const handleResize = (0, react.useEffectEvent)(onResize);
(0, _mantine_hooks.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);
};
}
}, [element]);
}
//#endregion
exports.useResizeObserver = useResizeObserver;
//# sourceMappingURL=use-resize-observer.cjs.map