UNPKG

@clayui/shared

Version:

ClayShared component

28 lines (26 loc) 835 B
"use strict"; 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; }