UNPKG

21.4 kBPlain TextView Raw
1{"code":"function defineName$__(cls,name){\n\tObject.defineProperty(cls,\"name\",{value:name,configurable:true});\n};;\nfunction inheritClass$__(cls){\n\tObject.getPrototypeOf(cls.prototype).constructor?.inherited?.(cls);\n};;\nfunction iter$__(a){ let v; return a ? ((v=a.toIterable) ? v.call(a) : a) : a; };;\nfunction extend$__(target,ext){\n\t// @ts-ignore\n\tconst descriptors = Object.getOwnPropertyDescriptors(ext);\n\tdelete descriptors.constructor;\n\tif(target.extend__ instanceof Function){\n\t\ttarget.extend__(descriptors,ext);\n\t} else {\n\t\t// @ts-ignore\n\t\tObject.defineProperties(target,descriptors);\n\t}\n\treturn target;\n};\nconst $__initor__$ = Symbol.for('#__initor__'), $__inited__$ = Symbol.for('#__inited__'), $__hooks__$ = Symbol.for('#__hooks__'), $updateHotKeys$ = Symbol.for('#updateHotKeys'), $context$ = Symbol.for('#context'), $inInput$ = Symbol.for('#inInput'), $inEditable$ = Symbol.for('#inEditable'), $hotkeyTarget$ = Symbol.for('#hotkeyTarget'), $hotkeyCombos$ = Symbol.for('#hotkeyCombos'), $extendType$ = Symbol.for('#extendType'), $combos$ = Symbol.for('#combos'), $target$ = Symbol.for('#target'), $hotkeyHandlers$ = Symbol.for('#hotkeyHandlers'), $defaultPrevented$ = Symbol.for('#defaultPrevented'), $visit$ = Symbol.for('#visit'), $key$ = Symbol.for('#key');\nlet isApple;\n\n/*body*/\nimport {Event,CustomEvent,Element} from '../dom/core';\n\ntry {\n\tisApple = (globalThis.navigator.platform || '').match(/iPhone|iPod|iPad|Mac/);\n} catch (e) { };\n\nexport function use_events_hotkey(){\n\t\n\tglobalThis.imba.uses_events_hotkey = true;\n\treturn true;\n};\n\nimport {humanize,htmlify} from './hotkey.shared';\n\nconst Globals = {esc: true};\n\nclass HotkeyEvent extends CustomEvent {\n\t\n\t\n\tαfocus(expr){\n\t\t\n\t\tlet el = this[$context$].element;\n\t\tlet doc = el.ownerDocument;\n\t\t\n\t\tif (expr) {\n\t\t\t\n\t\t\tel = el.querySelector(expr) || el.closest(expr) || doc.querySelector(expr);\n\t\t};\n\t\t\n\t\tif (el == doc.body) {\n\t\t\t\n\t\t\tif (doc.activeElement != doc.body) { doc.activeElement.blur() };\n\t\t} else {\n\t\t\t\n\t\t\tel.focus();\n\t\t};\n\t\t\n\t\treturn true;\n\t}\n\t\n\tαlocal(){\n\t\t\n\t\treturn true;\n\t}\n\t\n\tαrepeat(){\n\t\t\n\t\treturn true;\n\t}\n\tstatic {\n\t\tdefineName$__(this,'HotkeyEvent');inheritClass$__(this);}\n};\n\nimport Mousetrap from './mousetrap';\n\nconst stopCallback = function(e,el,combo) {\n\t\n\tif (el.tagName == 'INPUT' && (combo == 'down' || combo == 'up')) {\n\t\t\n\t\treturn false;\n\t};\n\t\n\tif (el.tagName == 'INPUT' || el.tagName == 'SELECT' || el.tagName == 'TEXTAREA') {\n\t\t\n\t\tif (Globals[combo]) {\n\t\t\t\n\t\t\te[$inInput$] = true;\n\t\t\te[$inEditable$] = true;\n\t\t\treturn false;\n\t\t};\n\t\treturn true;\n\t};\n\t\n\tif (el.contentEditable && (el.contentEditable == 'true' || el.contentEditable == 'plaintext-only')) {\n\t\t\n\t\tif (Globals[combo]) {\n\t\t\t\n\t\t\te[$inEditable$] = true;\n\t\t\treturn false;\n\t\t};\n\t\treturn true;\n\t};\n\t\n\treturn false;\n};\n\nexport const hotkeys = new class HotKeyManager {\n\t\n\tconstructor(){\n\t\t\n\t\tthis.combos = {'*': {}};\n\t\tthis.identifiers = {};\n\t\tthis.labels = {};\n\t\tthis.handler = this.handle.bind(this);\n\t\tthis.mousetrap = null;\n\t\tthis.hothandler = this.handle.bind(this);\n\t}\n\t\n\taddKeycodes(obj){\n\t\t\n\t\treturn Mousetrap.addKeycodes(obj);\n\t}\n\t\n\ttrigger(combo){\n\t\t\n\t\treturn this.mousetrap?.trigger?.(combo);\n\t}\n\t\n\tregister(key,mods = {}){\n\t\t\n\t\tif (!(this.mousetrap)) {\n\t\t\t\n\t\t\tthis.mousetrap = Mousetrap(globalThis.document);\n\t\t\tthis.mousetrap.stopCallback = stopCallback;\n\t\t};\n\t\t\n\t\tif (!(this.combos[key])) {\n\t\t\t\n\t\t\tthis.combos[key] = true;\n\t\t\tthis.mousetrap.bind(key,this.handler);\n\t\t};\n\t\t\n\t\tif (mods.capture || mods.force) {\n\t\t\t\n\t\t\tGlobals[key] = true;\n\t\t};\n\t\treturn this;\n\t}\n\t\n\tcomboIdentifier(combo){\n\t\t\n\t\treturn this.identifiers[combo] ||= combo.replace(/\\+/g,'_').replace(/\\ /g,'-').replace(/\\*/g,'all').replace(/\\|/g,' ');\n\t}\n\t\n\thumanize(combo,platform = 'auto'){\n\t\t\n\t\treturn humanize(combo,platform);\n\t}\n\t\n\thtmlify(combo,platform = 'auto'){\n\t\t\n\t\treturn htmlify(combo,platform);\n\t}\n\t\n\tmatchCombo(str){\n\t\t\n\t\treturn true;\n\t}\n\t\n\t/**\n\t@param {Event} e\n\t*/\n\thandle(e,combo){\n\t\t\n\t\tlet source = e.target && e.target[$hotkeyTarget$] || e.target || globalThis.document.body;\n\t\tlet targets = Array.from(globalThis.document.querySelectorAll('[data-hotkey]'));\n\t\tlet root = source.ownerDocument;\n\t\tlet group = source;\n\t\t\n\t\t// find the closest hotkey\n\t\twhile (group && group != root){\n\t\t\t\n\t\t\tif (group.hotkeys === true) {\n\t\t\t\t\n\t\t\t\tbreak;\n\t\t\t};\n\t\t\tgroup = group.parentNode;\n\t\t};\n\t\t\n\t\ttargets = targets.reverse().filter(function(el) {\n\t\t\t\n\t\t\tlet combos = el[$hotkeyCombos$];\n\t\t\tif (!(combos && (combos[combo] || combos['*']))) { return false };\n\t\t\t\n\t\t\tlet par = el;\n\t\t\twhile (par && par != root){\n\t\t\t\t\n\t\t\t\tif (par.hotkeys === false) {\n\t\t\t\t\t\n\t\t\t\t\treturn false;\n\t\t\t\t};\n\t\t\t\tpar = par.parentNode;\n\t\t\t};\n\t\t\treturn true;\n\t\t});\n\t\t\n\t\t// if there are multiple targets - only include the ones that are visible\n\t\tif (targets.length > 1) {\n\t\t\t\n\t\t\tlet visible = targets.filter(function(_0) {\n\t\t\t\t\n\t\t\t\tlet rect = _0.getBoundingClientRect();\n\t\t\t\treturn _0.offsetParent || (rect.width > 0 || rect.height > 0);\n\t\t\t});\n\t\t\tif (visible.length > 0) { targets = visible };\n\t\t};\n\t\t\n\t\tif (!(targets.length)) { return };\n\t\t\n\t\tlet detail = {combo: combo,originalEvent: e,targets: targets};\n\t\tlet event = new CustomEvent('hotkey',{bubbles: true,detail: detail});\n\t\tevent[$extendType$](HotkeyEvent);\n\t\t\n\t\tevent.originalEvent = e;\n\t\tevent.hotkey = combo;\n\t\t\n\t\tsource.dispatchEvent(event);\n\t\tlet handlers = [];\n\t\t\n\t\tfor (let $1 = 0, $2 = iter$__(targets), $6 = $2.length; $1 < $6; $1++) {\n\t\t\tlet receiver = $2[$1];\n\t\t\tfor (let $3 = 0, $4 = iter$__(receiver[$hotkeyHandlers$]), $5 = $4.length; $3 < $5; $3++) {\n\t\t\t\tlet handler = $4[$3];\n\t\t\t\tif (handler[$combos$][combo] || handler[$combos$]['*']) {\n\t\t\t\t\t\n\t\t\t\t\tif (handler.params.local && !(handler[$target$].contains(source))) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t};\n\t\t\t\t\t\n\t\t\t\t\tif (!(e[$inEditable$]) || (handler.captureΦ || handler.params.force)) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet el = handler[$target$];\n\t\t\t\t\t\tif (group.contains(el) || el.contains(group) || (handler.globalΦ)) {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thandlers.push(handler);\n\t\t\t\t\t\t};\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t};\n\t\t\n\t\tfor (let i = 0, $7 = iter$__(handlers), $8 = $7.length; i < $8; i++) {\n\t\t\tlet handler = $7[i];\n\t\t\tif (!(e.repeat) || handler.params.repeat) {\n\t\t\t\t\n\t\t\t\thandler.handleEvent(event);\n\t\t\t};\n\t\t\t\n\t\t\tif (!(handler.passiveΦ) || event[$defaultPrevented$]) { e?.preventDefault?.() };\n\t\t\tif (!(handler.passiveΦ)) { break; };\n\t\t};\n\t\treturn this;\n\t}\n\tstatic {\n\t\tdefineName$__(this,'HotKeyManager');}\n};\n\nconst DefaultHandler = function(e,state) {\n\t\n\tlet el = state.element;\n\t\n\tif (el instanceof Element) {\n\t\t\n\t\tif (el.matches('input,textarea,select,option')) {\n\t\t\t\n\t\t\tel.focus();\n\t\t} else {\n\t\t\t\n\t\t\tel.click();\n\t\t};\n\t};\n\treturn;\n};\n\nDefaultHandler.passive = true;\n\nclass ΩElement {\n\t\n\t\n\ton$hotkey(mods,scope,handler,o){\n\t\tvar self = this;\n\t\t\n\t\tthis[$hotkeyHandlers$] ||= [];\n\t\tthis[$hotkeyHandlers$].push(handler);\n\t\t// addEventListener('hotkey',handler,o)\n\t\t\n\t\thandler[$target$] = this;\n\t\t// add a default handler\n\t\tmods.$_ ||= [DefaultHandler];\n\t\t\n\t\tmods[$visit$] = function() { return self[$updateHotKeys$](); };\n\t\tthis[$updateHotKeys$]();\n\t\treturn handler;\n\t}\n\t\n\t[$updateHotKeys$](){\n\t\t\n\t\tlet all = {};\n\t\tfor (let $9 = 0, $10 = iter$__(this[$hotkeyHandlers$]), $14 = $10.length; $9 < $14; $9++) {\n\t\t\tlet handler = $10[$9];\n\t\t\tlet mods = handler.params;\n\t\t\tlet key = mods.options[0];\n\t\t\tif ((handler[$key$] != key) ? ((handler[$key$] = key,true)) : false) {\n\t\t\t\t\n\t\t\t\thandler[$combos$] = {};\n\t\t\t\tfor (let $11 = 0, $12 = iter$__(key.split('|')), $13 = $12.length; $11 < $13; $11++) {\n\t\t\t\t\tlet combo = $12[$11];\n\t\t\t\t\thotkeys.register(combo,mods);\n\t\t\t\t\thandler[$combos$][combo] = true;\n\t\t\t\t};\n\t\t\t};\n\t\t\tObject.assign(all,handler[$combos$]);\n\t\t};\n\t\t\n\t\tthis[$hotkeyCombos$] = all;\n\t\tthis.dataset.hotkey = Object.keys(all).join(' ');\n\t\treturn this;\n\t}\n\tstatic {\n\t\tdefineName$__(this,'Element');}\n};\nextend$__(Element.prototype,ΩElement.prototype);\n;\n","map":{"version":3,"file":"hotkey.js","sourceRoot":"","sources":["/Users/abdellah/workspace/scrimba/imba/packages/imba/src/imba/events/hotkey.imba"],"sourcesContent":["import {Event,CustomEvent,Element} from '../dom/core'\n\nlet isApple = try (global.navigator.platform or '').match(/iPhone|iPod|iPad|Mac/)\n\nexport def use_events_hotkey\n\tglobal.imba.uses_events_hotkey = yes\n\tyes\n\nimport {humanize,htmlify} from './hotkey.shared'\n\nconst Globals = {\"esc\": yes}\n\nclass HotkeyEvent < CustomEvent\n\n\tdef @focus expr\n\t\tlet el = #context.element\n\t\tlet doc = el.ownerDocument\n\n\t\tif expr\n\t\t\tel = el.querySelector(expr) or el.closest(expr) or doc.querySelector(expr)\n\n\t\tif el == doc.body\n\t\t\tdoc.activeElement.blur! unless doc.activeElement == doc.body\n\t\telse\n\t\t\tel.focus!\n\n\t\treturn yes\n\n\tdef @local\n\t\treturn yes\n\n\tdef @repeat\n\t\treturn yes\n\nimport Mousetrap from './mousetrap'\n\nconst stopCallback = do |e,el,combo|\t\n\tif el.tagName == 'INPUT' && (combo == 'down' or combo == 'up')\n\t\treturn false\n\n\tif el.tagName == 'INPUT' || el.tagName == 'SELECT' || el.tagName == 'TEXTAREA'\n\t\tif Globals[combo]\n\t\t\te.#inInput = yes\n\t\t\te.#inEditable = yes\n\t\t\treturn false\n\t\treturn true\n\n\tif el.contentEditable && (el.contentEditable == 'true' || el.contentEditable == 'plaintext-only')\n\t\tif Globals[combo]\n\t\t\te.#inEditable = yes\n\t\t\treturn false\n\t\treturn true\n\n\treturn false\n\nexport const hotkeys = new class HotKeyManager\n\tdef constructor\n\t\tcombos = {'*': {}}\n\t\tidentifiers = {}\n\t\tlabels = {}\n\t\thandler = handle.bind(self)\n\t\tmousetrap = null\n\t\thothandler = handle.bind(self)\n\n\tdef addKeycodes obj\n\t\tMousetrap.addKeycodes(obj)\n\n\tdef trigger combo\n\t\tmousetrap..trigger(combo)\n\n\tdef register key,mods = {}\n\t\tunless mousetrap\n\t\t\tmousetrap = Mousetrap(document)\n\t\t\tmousetrap.stopCallback = stopCallback\n\n\t\tunless combos[key]\n\t\t\tcombos[key] = yes\n\t\t\tmousetrap.bind(key,handler)\n\n\t\tif mods.capture or mods.force\n\t\t\tGlobals[key] = yes\n\t\tself\n\n\tdef comboIdentifier combo\n\t\tidentifiers[combo] ||= combo.replace(/\\+/g,'_').replace(/\\ /g,'-').replace(/\\*/g,'all').replace(/\\|/g,' ')\n\n\tdef humanize combo, platform = 'auto'\n\t\thumanize(combo,platform)\n\n\tdef htmlify combo, platform = 'auto'\n\t\thtmlify(combo,platform)\n\n\tdef matchCombo str\n\t\tyes\n\n\tdef handle e\\Event, combo\n\t\tlet source = e.target and e.target.#hotkeyTarget or e.target or global.document.body\n\t\tlet targets\\HTMLElement[] = Array.from(document.querySelectorAll('[data-hotkey]'))\n\t\tlet root = source.ownerDocument\n\t\tlet group = source\n\n\t\t# find the closest hotkey\n\t\twhile group and group != root\n\t\t\tif group.hotkeys === true\n\t\t\t\tbreak\n\t\t\tgroup = group.parentNode\n\n\t\ttargets = targets.reverse!.filter do |el|\n\t\t\tlet combos = el.#hotkeyCombos\n\t\t\treturn no unless combos and (combos[combo] or combos['*'])\n\n\t\t\tlet par = el\n\t\t\twhile par and par != root\n\t\t\t\tif par.hotkeys === false\n\t\t\t\t\treturn no\n\t\t\t\tpar = par.parentNode\n\t\t\treturn yes\n\n\t\t# if there are multiple targets - only include the ones that are visible\n\t\tif targets.length > 1\n\t\t\tlet visible = targets.filter do\n\t\t\t\tlet rect = $1.getBoundingClientRect()\n\t\t\t\t$1.offsetParent or (rect.width > 0 or rect.height > 0)\n\t\t\ttargets = visible if visible.length > 0\n\n\t\treturn unless targets.length\n\n\t\tlet detail = {combo: combo, originalEvent: e, targets: targets}\n\t\tlet event = new CustomEvent('hotkey', bubbles: true, detail: detail)\n\t\tevent.#extendType(HotkeyEvent)\n\n\t\tevent.originalEvent = e\n\t\tevent.hotkey = combo\n\n\t\tsource.dispatchEvent(event)\n\t\tlet handlers = []\n\n\t\tfor receiver in targets\n\t\t\tfor handler in receiver.#hotkeyHandlers\n\t\t\t\tif handler.#combos[combo] or handler.#combos['*']\n\t\t\t\t\tif handler.params.local and !handler.#target.contains(source)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\t\tif !e.#inEditable or (handler.capture? or handler.params.force)\n\t\t\t\t\t\tlet el = handler.#target\n\t\t\t\t\t\tif group.contains(el) or el.contains(group) or (handler.global?)\n\t\t\t\t\t\t\thandlers.push(handler)\n\n\t\tfor handler,i in handlers\n\t\t\tif !e.repeat or handler.params.repeat\n\t\t\t\thandler.handleEvent(event)\n\n\t\t\te..preventDefault! if !handler.passive? or event.#defaultPrevented\n\t\t\tbreak unless handler.passive?\n\t\tself\n\nconst DefaultHandler = do(e,state)\n\tlet el = state.element\n\n\tif el isa Element\n\t\tif el.matches('input,textarea,select,option')\n\t\t\tel.focus!\n\t\telse\n\t\t\tel.click!\n\treturn\n\nDefaultHandler.passive = yes\n\nextend class Element\n\n\tdef on$hotkey mods, scope, handler, o\n\t\t#hotkeyHandlers ||= []\n\t\t#hotkeyHandlers.push(handler)\n\t\t# addEventListener('hotkey',handler,o)\n\n\t\thandler.#target = self\n\t\t# add a default handler\n\t\tmods.$_ ||= [DefaultHandler]\n\n\t\tmods.#visit = do #updateHotKeys!\n\t\t#updateHotKeys!\n\t\treturn handler\n\n\tdef #updateHotKeys\n\t\tlet all = {}\n\t\tfor handler in #hotkeyHandlers\n\t\t\tlet mods = handler.params\n\t\t\tlet key = mods.options[0]\n\t\t\tif handler.#key =? key\n\t\t\t\thandler.#combos = {}\n\t\t\t\tfor combo in key.split('|')\n\t\t\t\t\thotkeys.register(combo,mods)\n\t\t\t\t\thandler.#combos[combo] = yes\n\t\t\tObject.assign(all,handler.#combos)\n\n\t\t#hotkeyCombos = all\n\t\tdataset.hotkey = Object.keys(all).join(' ')\n\t\tself"],"names":[],"mappings":"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"},"dependencies":[],"meta":{"vite":{"lang":"js"}}}
\No newline at end of file