UNPKG

tdesign-react

Version:
49 lines (43 loc) 1.61 kB
/** * tdesign v1.13.2 * (c) 2025 tdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var hooks_useLayoutEffect = require('./useLayoutEffect.js'); var _util_style = require('../_chunks/dep-3f65dfe7.js'); var hooks_useLatest = require('./useLatest.js'); require('react'); require('../_chunks/dep-3e2d2665.js'); require('../_chunks/dep-f0379c5f.js'); require('../_chunks/dep-6d4d8660.js'); require('../_chunks/dep-028b759d.js'); require('../_chunks/dep-ddacd27a.js'); function useResizeObserver(container, callback) { var enabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; var callbackRef = hooks_useLatest["default"](callback); hooks_useLayoutEffect["default"](function () { var isSupport = _util_style.canUseDocument && window.ResizeObserver; var element = container.current; var observer = null; if (!enabled) return; if (isSupport && element) { var resizeCallback = function resizeCallback(entries) { callbackRef.current(entries); }; observer = new ResizeObserver(resizeCallback); observer.observe(element); } return function () { if (observer && element) { var _observer$disconnect, _observer; observer.unobserve(element); (_observer$disconnect = (_observer = observer).disconnect) === null || _observer$disconnect === void 0 || _observer$disconnect.call(_observer); observer = null; } }; }, [container, enabled]); } exports["default"] = useResizeObserver; //# sourceMappingURL=useResizeObserver.js.map