@merchantlabs/react-carousel
Version:
Merchant Labs React component library.
35 lines (24 loc) • 937 B
JavaScript
exports.__esModule = true;
exports.default = useContentRect;
var _react = require('react');
var _resizeObserverPolyfill = require('resize-observer-polyfill');
var _resizeObserverPolyfill2 = _interopRequireDefault(_resizeObserverPolyfill);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function useContentRect(ref) {
var _useState = (0, _react.useState)(ref.current ? ref.current.getBoundingClientRect() : {}),
contentRect = _useState[0],
setContentRect = _useState[1];
(0, _react.useEffect)(function () {
if (!ref.current) return;
var observer = new _resizeObserverPolyfill2.default(function (entries) {
setContentRect(entries[0].contentRect);
});
observer.observe(ref.current);
return function () {
observer.disconnect(ref.current);
};
}, [ref]);
return contentRect;
}
module.exports = exports['default'];
;