@merchantlabs/react-carousel
Version:
Merchant Labs React component library.
24 lines (18 loc) • 619 B
JavaScript
import { useState, useEffect } from 'react';
import ResizeObserver from 'resize-observer-polyfill';
export default function useContentRect(ref) {
var _useState = useState(ref.current ? ref.current.getBoundingClientRect() : {}),
contentRect = _useState[0],
setContentRect = _useState[1];
useEffect(function () {
if (!ref.current) return;
var observer = new ResizeObserver(function (entries) {
setContentRect(entries[0].contentRect);
});
observer.observe(ref.current);
return function () {
observer.disconnect(ref.current);
};
}, [ref]);
return contentRect;
}