tdesign-react
Version:
TDesign Component for React
42 lines (36 loc) • 1.23 kB
JavaScript
/**
* tdesign v1.11.6
* (c) 2025 tdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
var isFunction = require('../_chunks/dep-8d4e8f1c.js');
require('../_chunks/dep-6e34d7d7.js');
require('../_chunks/dep-5b35215f.js');
require('../_chunks/dep-1d022321.js');
function useResizeObserver(container, callback) {
var containerObserver = null;
var cleanupObserver = function cleanupObserver() {
if (!containerObserver || !container) return;
containerObserver.unobserve(container);
isFunction.isFunction(containerObserver.disconnect) && containerObserver.disconnect();
containerObserver = null;
};
var addObserver = function addObserver(el) {
containerObserver = new ResizeObserver(callback);
containerObserver.observe(el);
};
React.useLayoutEffect(function () {
var isSupport = typeof window !== "undefined" && window.ResizeObserver;
if (!isSupport) return;
cleanupObserver();
container && addObserver(container);
return function () {
cleanupObserver();
};
}, [container, containerObserver]);
}
exports["default"] = useResizeObserver;
//# sourceMappingURL=useResizeObserver.js.map