UNPKG

@lobehub/ui

Version:

Lobe UI is an open-source UI component library for building AIGC web apps

31 lines (29 loc) 1.12 kB
import { KeyMapEnum } from "./const.mjs"; //#region src/Hotkey/utils.ts const NORMATIVE_MODIFIER = [ KeyMapEnum.Ctrl, KeyMapEnum.Control, KeyMapEnum.Meta, KeyMapEnum.Mod, KeyMapEnum.Alt, KeyMapEnum.Shift ]; const orderMap = Object.fromEntries(NORMATIVE_MODIFIER.map((key, index) => [key, index])); const splitKeysByPlus = (keys) => { return keys.replaceAll("++", `+${KeyMapEnum.Equal}`).split("+").sort((x, y) => { return (orderMap[x.toLowerCase()] ?? orderMap.length) - (orderMap[y.toLowerCase()] ?? orderMap.length); }); }; const startCase = (str) => { return str.replaceAll(/([A-Z])/g, " $1").replace(/^./, (s) => s.toUpperCase()).trim(); }; const checkIsAppleDevice = (isApple) => { if (isApple !== void 0) return isApple; if (typeof window === "undefined" || typeof navigator === "undefined") return false; const userAgent = navigator.userAgent.toLowerCase(); return /mac|iphone|ipod|ipad|ios/i.test(userAgent); }; const combineKeys = (keys) => keys.join("+"); //#endregion export { NORMATIVE_MODIFIER, checkIsAppleDevice, combineKeys, splitKeysByPlus, startCase }; //# sourceMappingURL=utils.mjs.map