@dnanpm/styleguide
Version:
DNA Styleguide repository provides the set of components and theme object used in various DNA projects.
31 lines (26 loc) • 897 B
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
const useWindowSize = (collapseSize) => {
const [width, setWidth] = React.useState();
const [height, setHeight] = React.useState();
React.useEffect(() => {
if (typeof window === 'undefined') {
return () => { };
}
const updateSize = () => {
setWidth(window.innerWidth);
setHeight(window.innerHeight);
};
window.addEventListener('resize', updateSize);
// Call handler right away so state gets updated with initial window size
updateSize();
return () => window.removeEventListener('resize', updateSize);
}, []);
return {
width,
height,
isMobile: Boolean(collapseSize && width && width < collapseSize),
};
};
exports.default = useWindowSize;