UNPKG

@yamada-ui/react

Version:

React UI components of the Yamada, by the Yamada, for the Yamada built with React and Emotion

34 lines (32 loc) 1.19 kB
const require_utils_index = require('../../utils/index.cjs'); const require_environment_provider = require('../../core/system/environment-provider.cjs'); //#region src/hooks/use-os/index.ts const getOS = ({ navigator: { userAgent } }) => { const macos = /(Macintosh)|(MacIntel)|(MacPPC)|(Mac68K)/i; const windows = /(Win32)|(Win64)|(Windows)|(WinCE)/i; const ios = /(iPhone)|(iPad)|(iPod)/i; const android = /Android/i; const linux = /Linux/i; const chromeos = /CrOS/i; if (macos.test(userAgent)) return "macos"; if (ios.test(userAgent)) return "ios"; if (windows.test(userAgent)) return "windows"; if (android.test(userAgent)) return "android"; if (linux.test(userAgent)) return "linux"; if (chromeos.test(userAgent)) return "chromeos"; return "undetermined"; }; /** * `useOS` is a custom hook that returns the user's OS. * * @see https://yamada-ui.com/docs/hooks/use-os */ const useOS = () => { const { getWindow } = require_environment_provider.useEnvironment(); const win = getWindow(); if (!(0, require_utils_index.utils_exports.isUndefined)(win)) return getOS(win); return "undetermined"; }; //#endregion exports.useOS = useOS; //# sourceMappingURL=index.cjs.map