tdesign-react
Version:
TDesign Component for React
43 lines (39 loc) • 1.27 kB
JavaScript
/**
* tdesign v1.11.6
* (c) 2025 tdesign
* @license MIT
*/
import { _ as _slicedToArray } from '../_chunks/dep-889449c8.js';
import { _ as _typeof } from '../_chunks/dep-9a3c539e.js';
import { useCallback, useState, useEffect } from 'react';
import { debounce } from 'lodash-es';
import '../_chunks/dep-901cf2d8.js';
function useWindowSize() {
var validWindow = (typeof window === "undefined" ? "undefined" : _typeof(window)) === "object";
var getSize = useCallback(function () {
return {
width: validWindow ? window.innerWidth : void 0,
height: validWindow ? window.innerHeight : void 0
};
}, [validWindow]);
var _useState = useState(getSize),
_useState2 = _slicedToArray(_useState, 2),
size = _useState2[0],
setSize = _useState2[1];
useEffect(function () {
function handleResize() {
setSize(getSize());
}
var debounceResize = debounce(handleResize, 400);
if (validWindow) {
window.addEventListener("resize", debounceResize);
return function () {
window.removeEventListener("resize", debounceResize);
debounceResize.cancel();
};
}
}, [getSize, validWindow]);
return size;
}
export { useWindowSize as default };
//# sourceMappingURL=useWindowSize.js.map