UNPKG

tdesign-react

Version:
35 lines (31 loc) 1.02 kB
/** * tdesign v1.11.6 * (c) 2025 tdesign * @license MIT */ import { useLayoutEffect } from 'react'; import { isFunction } from 'lodash-es'; function useResizeObserver(container, callback) { var containerObserver = null; var cleanupObserver = function cleanupObserver() { if (!containerObserver || !container) return; containerObserver.unobserve(container); isFunction(containerObserver.disconnect) && containerObserver.disconnect(); containerObserver = null; }; var addObserver = function addObserver(el) { containerObserver = new ResizeObserver(callback); containerObserver.observe(el); }; useLayoutEffect(function () { var isSupport = typeof window !== "undefined" && window.ResizeObserver; if (!isSupport) return; cleanupObserver(); container && addObserver(container); return function () { cleanupObserver(); }; }, [container, containerObserver]); } export { useResizeObserver as default }; //# sourceMappingURL=useResizeObserver.js.map