{"version":3,"file":"useHotKey-DFSRx3Nk.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/platform-CC2ecGvV.mjs","../node_modules/@nextcloud/vue/dist/Composables/useHotKey.mjs"],"sourcesContent":["const isMac = /mac|ipad|iphone|darwin/i.test(navigator.userAgent);\nexport {\n isMac as i\n};\n//# sourceMappingURL=platform-CC2ecGvV.mjs.map\n","import { onKeyStroke } from \"@vueuse/core\";\nimport { i as isMac } from \"../chunks/platform-CC2ecGvV.mjs\";\nconst disableKeyboardShortcuts = window.OCP?.Accessibility?.disableKeyboardShortcuts?.();\nconst derivedKeysRegex = /^[a-zA-Z0-9]$/;\nconst nonAsciiPrintableRegex = /^[^\\x20-\\x7F]$/;\nfunction shouldIgnoreEvent(event) {\n if (!(event.target instanceof HTMLElement) || event.target instanceof HTMLInputElement || event.target instanceof HTMLTextAreaElement || event.target instanceof HTMLSelectElement || event.target.isContentEditable) {\n return true;\n }\n return document.getElementsByClassName(\"modal-mask\").length !== 0;\n}\nfunction eventHandler(callback, options) {\n return (event) => {\n const ctrlKeyPressed = isMac ? event.metaKey : event.ctrlKey;\n if (ctrlKeyPressed !== Boolean(options.ctrl)) {\n return;\n } else if (event.altKey !== Boolean(options.alt)) {\n return;\n } else if (options.shift !== void 0 && event.shiftKey !== Boolean(options.shift)) {\n return;\n } else if (shouldIgnoreEvent(event)) {\n return;\n }\n if (options.prevent) {\n event.preventDefault();\n }\n if (options.stop) {\n event.stopPropagation();\n }\n callback(event);\n };\n}\nfunction useHotKey(keysOrFilter, callback = () => {\n}, options = {}) {\n if (disableKeyboardShortcuts) {\n return () => {\n };\n }\n const validateKeyEvent = (event, key) => {\n if (event.key === key) {\n return true;\n }\n if (options.caseSensitive) {\n const isKeyInLowerCase = key === key.toLowerCase();\n const isEventKeyInLowerCase = event.key === event.key.toLowerCase();\n if (isKeyInLowerCase !== isEventKeyInLowerCase) {\n return false;\n }\n }\n if (derivedKeysRegex.test(key) && nonAsciiPrintableRegex.test(event.key)) {\n return event.code.replace(/^(?:Key|Digit|Numpad)/, \"\") === key.toUpperCase();\n }\n return event.key.toLowerCase() === key.toLowerCase();\n };\n const keyFilter = (event) => {\n if (typeof keysOrFilter === \"function\") {\n return keysOrFilter(event);\n } else if (typeof keysOrFilter === \"string\") {\n return validateKeyEvent(event, keysOrFilter);\n } else if (Array.isArray(keysOrFilter)) {\n return keysOrFilter.some((key) => validateKeyEvent(event, key));\n } else {\n return true;\n }\n };\n const stopKeyDown = onKeyStroke(keyFilter, eventHandler(callback, options), {\n eventName: \"keydown\",\n dedupe: true,\n passive: !options.prevent\n });\n const stopKeyUp = options.push ? onKeyStroke(keyFilter, eventHandler(callback, options), {\n eventName: \"keyup\",\n passive: !options.prevent\n }) : () => {\n };\n return () => {\n stopKeyDown();\n stopKeyUp();\n };\n}\nexport {\n useHotKey\n};\n//# sourceMappingURL=useHotKey.mjs.map\n"],"names":["isMac","disableKeyboardShortcuts","derivedKeysRegex","nonAsciiPrintableRegex","shouldIgnoreEvent","event","eventHandler","callback","options","useHotKey","keysOrFilter","validateKeyEvent","key","isKeyInLowerCase","isEventKeyInLowerCase","keyFilter","stopKeyDown","onKeyStroke","stopKeyUp"],"mappings":"+CAAA,MAAMA,EAAQ,0BAA0B,KAAK,UAAU,SAAS,ECE1DC,EAA2B,OAAO,KAAK,eAAe,2BAAwB,EAC9EC,EAAmB,gBACnBC,EAAyB,iBAC/B,SAASC,EAAkBC,EAAO,CAChC,MAAI,EAAEA,EAAM,kBAAkB,cAAgBA,EAAM,kBAAkB,kBAAoBA,EAAM,kBAAkB,qBAAuBA,EAAM,kBAAkB,mBAAqBA,EAAM,OAAO,kBAC1L,GAEF,SAAS,uBAAuB,YAAY,EAAE,SAAW,CAClE,CACA,SAASC,EAAaC,EAAUC,EAAS,CACvC,OAAQH,GAAU,CAEhB,IADuBL,EAAQK,EAAM,QAAUA,EAAM,WAC9B,CAAA,CAAQG,EAAQ,KAEhC,CAIA,GAJIH,EAAM,SAAW,CAAA,CAAQG,EAAQ,KAEjCA,EAAQ,QAAU,QAAUH,EAAM,WAAa,CAAA,CAAQG,EAAQ,OAE/DJ,EAAkBC,CAAK,EAChC,OAEEG,EAAQ,SACVH,EAAM,eAAc,EAElBG,EAAQ,MACVH,EAAM,gBAAe,EAEvBE,EAASF,CAAK,CAAA,CAChB,CACF,CACA,SAASI,EAAUC,EAAcH,EAAW,IAAM,CAClD,EAAGC,EAAU,CAAA,EAAI,CACf,GAAIP,EACF,MAAO,IAAM,CACb,EAEF,MAAMU,EAAmB,CAACN,EAAOO,IAAQ,CACvC,GAAIP,EAAM,MAAQO,EAChB,MAAO,GAET,GAAIJ,EAAQ,cAAe,CACzB,MAAMK,EAAmBD,IAAQA,EAAI,YAAW,EAC1CE,EAAwBT,EAAM,MAAQA,EAAM,IAAI,YAAW,EACjE,GAAIQ,IAAqBC,EACvB,MAAO,EAEX,CACA,OAAIZ,EAAiB,KAAKU,CAAG,GAAKT,EAAuB,KAAKE,EAAM,GAAG,EAC9DA,EAAM,KAAK,QAAQ,wBAAyB,EAAE,IAAMO,EAAI,YAAW,EAErEP,EAAM,IAAI,YAAW,IAAOO,EAAI,YAAW,CACpD,EACMG,EAAaV,GACb,OAAOK,GAAiB,WACnBA,EAAaL,CAAK,EAChB,OAAOK,GAAiB,SAC1BC,EAAiBN,EAAOK,CAAY,EAClC,MAAM,QAAQA,CAAY,EAC5BA,EAAa,KAAME,GAAQD,EAAiBN,EAAOO,CAAG,CAAC,EAEvD,GAGLI,EAAcC,EAAYF,EAAWT,EAAaC,EAAUC,CAAO,EAAG,CAC1E,UAAW,UACX,OAAQ,GACR,QAAS,CAACA,EAAQ,OACtB,CAAG,EACKU,EAAYV,EAAQ,KAAOS,EAAYF,EAAWT,EAAaC,EAAUC,CAAO,EAAG,CACvF,UAAW,QACX,QAAS,CAACA,EAAQ,OACtB,CAAG,EAAI,IAAM,CACX,EACA,MAAO,IAAM,CACXQ,EAAW,EACXE,EAAS,CACX,CACF","x_google_ignoreList":[0,1]}