@clayui/shared
Version:
ClayShared component
28 lines (26 loc) • 835 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useIsMobileDevice = useIsMobileDevice;
var _react = require("react");
var _throttle = require("./throttle");
/**
* SPDX-FileCopyrightText: © 2022 Liferay, Inc. <https://liferay.com>
* SPDX-License-Identifier: BSD-3-Clause
*/
const getIsMobile = () => window.document.body.clientWidth < 768;
function useIsMobileDevice() {
const [isMobile, setIsMobile] = (0, _react.useState)(getIsMobile());
(0, _react.useEffect)(() => {
if (typeof window === 'undefined') {
return;
}
const handleResize = (0, _throttle.throttle)(() => setIsMobile(getIsMobile()), 200);
window.addEventListener('resize', handleResize);
return () => {
window.removeEventListener('resize', handleResize);
};
}, []);
return isMobile;
}