tdesign-react
Version:
TDesign Component for React
52 lines (46 loc) • 1.57 kB
JavaScript
/**
* tdesign v1.11.6
* (c) 2025 tdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var slicedToArray = require('../_chunks/dep-48e1db8c.js');
var _typeof = require('../_chunks/dep-5b35215f.js');
var React = require('react');
var debounce = require('../_chunks/dep-30d1d019.js');
require('../_chunks/dep-6b4846c3.js');
require('../_chunks/dep-1d022321.js');
require('../_chunks/dep-6e34d7d7.js');
require('../_chunks/dep-a817745a.js');
require('../_chunks/dep-02a1b59c.js');
require('../_chunks/dep-d45b3350.js');
function useWindowSize() {
var validWindow = (typeof window === "undefined" ? "undefined" : _typeof._typeof(window)) === "object";
var getSize = React.useCallback(function () {
return {
width: validWindow ? window.innerWidth : void 0,
height: validWindow ? window.innerHeight : void 0
};
}, [validWindow]);
var _useState = React.useState(getSize),
_useState2 = slicedToArray._slicedToArray(_useState, 2),
size = _useState2[0],
setSize = _useState2[1];
React.useEffect(function () {
function handleResize() {
setSize(getSize());
}
var debounceResize = debounce.debounce(handleResize, 400);
if (validWindow) {
window.addEventListener("resize", debounceResize);
return function () {
window.removeEventListener("resize", debounceResize);
debounceResize.cancel();
};
}
}, [getSize, validWindow]);
return size;
}
exports["default"] = useWindowSize;
//# sourceMappingURL=useWindowSize.js.map