@activecollab/components
Version:
ActiveCollab Components
22 lines • 732 B
JavaScript
import { useState, useEffect } from "react";
import ResizeObserver from "resize-observer-polyfill";
const useResizeObserver = ref => {
const _useState = useState(),
dimensions = _useState[0],
setDimensions = _useState[1];
useEffect(() => {
const observeTarget = ref == null ? void 0 : ref.current;
const resizeObserver = new ResizeObserver(entries => {
entries.forEach(entry => {
setDimensions(entry.contentRect);
});
});
observeTarget && resizeObserver.observe(observeTarget);
return () => {
observeTarget && resizeObserver.unobserve(observeTarget);
};
}, [ref]);
return dimensions;
};
export default useResizeObserver;
//# sourceMappingURL=useResizeObserver.js.map