pixijs-input-devices 0.7.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=0,t=1,i=2,s=3,n=["LeftStickLeft","LeftStickRight","LeftStickUp","LeftStickDown","RightStickLeft","RightStickRight","RightStickUp","RightStickDown"],a={Face1:0,Face2:1,Face3:2,Face4:3,LeftShoulder:4,RightShoulder:5,LeftTrigger:6,RightTrigger:7,Back:8,Start:9,LeftStickClick:10,RightStickClick:11,DpadUp:12,DpadDown:13,DpadLeft:14,DpadRight:15},o=["Face1","Face2","Face3","Face4","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStickClick","RightStickClick","DpadUp","DpadDown","DpadLeft","DpadRight"];class EventEmitter{constructor(){this._listeners={}}hasListener(e){return void 0!==this._listeners[e]}emit(e,t){var i;null===(i=this._listeners[e])||void 0===i||i.forEach((e=>e(t)))}on(e,t,i){var s,n;if(this._listeners[e]||(this._listeners[e]=[]),null==i?void 0:i.once){const onceFn=i=>{t(i),this.off(e,onceFn)};null===(s=this._listeners[e])||void 0===s||s.push(onceFn)}else null===(n=this._listeners[e])||void 0===n||n.push(t)}off(e,t){var i,s;this._listeners[e]=void 0===t||null===(i=this._listeners[e])||void 0===i?void 0:i.filter((e=>e!==t)),0===(null===(s=this._listeners[e])||void 0===s?void 0:s.length)&&(this._listeners[e]=void 0)}}const r=2e3;class GamepadHapticManager{constructor(e){var t,i,s;this.activeEffects=[],this.state={rumble:0,buzz:0,leftTrigger:0,rightTrigger:0,expires:0},this.gamepad=e,this.hapticEvent="vibrationActuator"in e?(null===(s=null===(i=null===(t=e.vibrationActuator)||void 0===t?void 0:t.effects)||void 0===i?void 0:i.includes)||void 0===s?void 0:s.call(i,"trigger-rumble"))?"trigger-rumble":"dual-rumble":void 0,this.hasTriggerRumble="trigger-rumble"===this.hapticEvent}play(e,t){var i;const s=Math.max(0,null!==(i=e.startDelay)&&void 0!==i?i:0),n=performance.now()+s;this.activeEffects.push(Object.assign(Object.assign({},e),{start:n,end:n+Math.max(e.duration,0),startDelay:void 0})),this.intensity!==t&&(this.intensity=Math.max(0,Math.min(1,t))),s||0!==this.activeEffects.length||this.update()}reset(){var e,t;this.activeEffects.length=0,this.state.rumble=0,this.state.buzz=0,this.state.leftTrigger=0,this.state.rightTrigger=0,this.gamepad.vibrationActuator?this.gamepad.vibrationActuator.reset():this.gamepad.hapticActuators&&(null===(t=null===(e=this.gamepad.hapticActuators[0])||void 0===e?void 0:e.pulse)||void 0===t||t.call(e,0,100))}update(){var e,t;console.debug("[gamepadhaptic] "+this.activeEffects.length+" haptics: "+JSON.stringify(this.activeEffects));const i=performance.now();let s=0,n=0,a=0,o=0,d=0,c=!1;for(let e=0;e<this.activeEffects.length;e++){const t=this.activeEffects[e];t.end<=i?c=!0:t.start>i||("trigger-rumble"===this.hapticEvent&&(t.leftTrigger&&t.leftTrigger>a&&(a=t.leftTrigger),t.rightTrigger&&t.rightTrigger>o&&(o=t.rightTrigger)),t.rumble&&t.rumble>s&&(s=t.rumble),t.buzz&&t.buzz>n&&(n=t.buzz),t.end-i>d&&(d=t.end-i))}if(c&&(this.activeEffects=this.activeEffects.filter((e=>e.end>=i))),this.state.rumble!==s||this.state.buzz!==n||this.state.leftTrigger!==a||this.state.rightTrigger!==o||this.state.expires<=i&&s+n+a+o>0)if(this.state.rumble=s,this.state.buzz=n,this.state.leftTrigger=a,this.state.rightTrigger=o,void 0!==this.hapticEvent)console.log("[gamepadhaptic] issuing haptic:",s,n,a,o,JSON.stringify(this.state)),this.state.expires=i+r,this.gamepad.vibrationActuator.playEffect(this.hapticEvent,{duration:r,strongMagnitude:n*this.intensity,weakMagnitude:s*this.intensity,leftTrigger:a*this.intensity,rightTrigger:o*this.intensity});else if(this.gamepad.hapticActuators){const a=Math.min(d,r),o=Math.max(s,n)*this.intensity;this.state.expires=i+d,null===(t=null===(e=this.gamepad.hapticActuators[0])||void 0===e?void 0:e.pulse)||void 0===t||t.call(e,o,a)}}}class GamepadDevice{static configureDefaultBinds(e){this.defaultOptions.binds=Object.assign(Object.assign({},this.defaultOptions.binds),e)}constructor(e){var t;this.source=e,this.type="gamepad",this.meta={},this.lastInteraction=performance.now(),this.options=JSON.parse(JSON.stringify(GamepadDevice.defaultOptions)),this.leftJoystick={x:0,y:0},this.rightJoystick={x:0,y:0},this.button=[...o,...n].reduce(((e,t)=>(e[t]=!1,e)),{}),this.leftTrigger=0,this.rightTrigger=0,this.leftShoulder=0,this.rightShoulder=0,this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._debounces=new Map,this.id="gamepad"+e.index,this.layout=null!==(t=function detectLayout(e){const t=(e||"").toLowerCase();return/(amazon|luna|1949)/.test(t)?"amazon_luna":/(logitech|046d|c216|logicool|^46d)/.test(t)?"logitech_g":/(joy-?con.*l|057e.*2006)/.test(t)?"nintendo_joycon_l":/(joy-?con.*r|057e.*2007)/.test(t)?"nintendo_joycon_r":/(wiiu?|0305|0306|0337)/.test(t)?"nintendo_wiiu":/(switch.*pro|nintendo|switch|057e|0300)/.test(t)?"nintendo_switch_pro":/(nvidia.*shield|nvidia|shield|0955)/.test(t)?"nvidia_shield":/(playstation.*5|dualsense|0df2|0ce6)/.test(t)?"playstation_5":/(playstation|sony|dualshock|054c|09cc|0ba0|0810)/.test(t)?"playstation_4":/(steam.*controller|steam|28de|1102|1142)/.test(t)?"steam_controller":/(xbox.*series|0b00|0b12)/.test(t)?"xbox_series":/(xbox.*360|0202|0283|0285|0288|0289|028e|028f|0291|0719)/.test(t)?"xbox_360":/(xbox|xinput|045e)/.test(t)?"xbox_one":void 0}(null==e?void 0:e.id))&&void 0!==t?t:"unknown",this.haptics=new GamepadHapticManager(e),this.supportsTriggerRumble=this.haptics.hasTriggerRumble}bindDown(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;t<e.length;t++)if(this.button[e[t]])return!0;return!1}pressedAll(e){for(let t=0;t<e.length;t++)if(!this.button[e[t]])return!1;return!0}configureBinds(e){this.options.binds=Object.assign(Object.assign({},this.options.binds),e)}on(e,t,i){return this._emitter.on(e,t,i),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return this._bindDownEmitter.on(e,t,i),this}offBindDown(e,t){return this._bindDownEmitter.off(e,t),this}playHaptic(e){this.options.vibration.enabled&&this.haptics.play(e,this.options.vibration.intensity)}stopHaptics(){this.haptics.reset()}update(e,t){this._updatePresses(e,t),this.source=e,this.haptics.update()}clear(){this.button=[...n,...o].reduce(((e,t)=>(e[t]=!1,e)),{}),this.haptics.reset()}_updatePresses(r,d){var c,l,u,h,g,p,m;const v=this.options.joystick;for(let e=0;e<4;e++){const t=_scale(r.axes[e],v.deadzone),i=n[2*e+(t>0?1:0)];if(Math.abs(t)<v.pressThreshold)this.button[i]||this._debounces.delete(i),this.button[i]=!1;else{const t=v.autoRepeatDelayMs[+this.button[i]];if(this._debounce(i,t)&&this.button[i])continue;this.button[i]=!0,this.lastInteraction=d,this.options.emitEvents&&(this._emitter.hasListener(i)&&this._emitter.emit(i,{device:this,axis:e,axisCode:i}),Object.entries(this.options.binds).forEach((([t,s])=>{if(!s.includes(i))return;const n={device:this,type:"axis",axis:e,axisCode:i,name:t};this._bindDownEmitter.emit(t,n),this._emitter.emit("binddown",n)})))}}for(let e=0;e<16;e++){let t=e;const i=o[t];if(this.button[i]===(null===(c=r.buttons[e])||void 0===c?void 0:c.pressed))continue;this.lastInteraction=d;const s=null!==(u=null===(l=r.buttons[e])||void 0===l?void 0:l.pressed)&&void 0!==u&&u;this.button[i]=s,s&&this.options.emitEvents&&(this._emitter.hasListener(i)&&this._emitter.emit(i,{device:this,button:t,buttonCode:i}),Object.entries(this.options.binds).forEach((([e,s])=>{if(!s.includes(i))return;const n={device:this,type:"button",button:t,buttonCode:i,name:e};this._bindDownEmitter.emit(e,n),this._emitter.emit("binddown",n)})))}const f=this.options.trigger.deadzone;this.leftTrigger=_scale(r.buttons[a.LeftTrigger].value,f),this.rightTrigger=_scale(r.buttons[a.RightTrigger].value,f),this.leftShoulder=_scale(r.buttons[a.LeftShoulder].value,f),this.rightShoulder=_scale(r.buttons[a.RightShoulder].value,f);const y=v.deadzone;this.leftJoystick.x=_scale(null!==(h=r.axes[e])&&void 0!==h?h:0,y),this.leftJoystick.y=_scale(null!==(g=r.axes[t])&&void 0!==g?g:0,y),this.rightJoystick.x=_scale(null!==(p=r.axes[i])&&void 0!==p?p:0,y),this.rightJoystick.y=_scale(null!==(m=r.axes[s])&&void 0!==m?m:0,y)}_debounce(e,t){var i;const s=Date.now();return(null!==(i=this._debounces.get(e))&&void 0!==i?i:0)>s||(this._debounces.set(e,s+t),!1)}}function _scale(e,t){const i=(Math.abs(e)-t[0])/(t[1]-t[0]);return i>=0&&i<=1?Math.sign(e)*i:i>1?1*Math.sign(e):0}GamepadDevice.defaultOptions={emitEvents:!0,joystick:{deadzone:[0,1],pressThreshold:.5,autoRepeatDelayMs:[400,100]},trigger:{deadzone:[0,1]},vibration:{enabled:!0,intensity:1},binds:{"navigate.trigger":["Face1"],"navigate.back":["Face2"],"navigate.up":["DpadUp","LeftStickUp"],"navigate.left":["DpadLeft","LeftStickLeft"],"navigate.down":["DpadDown","LeftStickDown"],"navigate.right":["DpadRight","LeftStickRight"]}};const d={AltLeft:"AltLeft",AltRight:"AltRight",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",ArrowUp:"ArrowUp",Backquote:"Backquote",Backslash:"Backslash",Backspace:"Backspace",BracketLeft:"BracketLeft",BracketRight:"BracketRight",CapsLock:"CapsLock",Comma:"Comma",ContextMenu:"ContextMenu",ControlLeft:"ControlLeft",ControlRight:"ControlRight",Delete:"Delete",Digit0:"Digit0",Digit1:"Digit1",Digit2:"Digit2",Digit3:"Digit3",Digit4:"Digit4",Digit5:"Digit5",Digit6:"Digit6",Digit7:"Digit7",Digit8:"Digit8",Digit9:"Digit9",End:"End",Enter:"Enter",Equal:"Equal",Escape:"Escape",F1:"F1",F10:"F10",F11:"F11",F12:"F12",F13:"F13",F14:"F14",F15:"F15",F16:"F16",F17:"F17",F18:"F18",F19:"F19",F2:"F2",F20:"F20",F21:"F21",F22:"F22",F23:"F23",F24:"F24",F25:"F25",F26:"F26",F27:"F27",F28:"F28",F29:"F29",F3:"F3",F30:"F30",F31:"F31",F32:"F32",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",Home:"Home",IntlBackslash:"IntlBackslash",IntlRo:"IntlRo",IntlYen:"IntlYen",KeyA:"KeyA",KeyB:"KeyB",KeyC:"KeyC",KeyD:"KeyD",KeyE:"KeyE",KeyF:"KeyF",KeyG:"KeyG",KeyH:"KeyH",KeyI:"KeyI",KeyJ:"KeyJ",KeyK:"KeyK",KeyL:"KeyL",KeyM:"KeyM",KeyN:"KeyN",KeyO:"KeyO",KeyP:"KeyP",KeyQ:"KeyQ",KeyR:"KeyR",KeyS:"KeyS",KeyT:"KeyT",KeyU:"KeyU",KeyV:"KeyV",KeyW:"KeyW",KeyX:"KeyX",KeyY:"KeyY",KeyZ:"KeyZ",Lang1:"Lang1",Lang2:"Lang2",MediaTrackNext:"MediaTrackNext",MediaTrackPrevious:"MediaTrackPrevious",MetaLeft:"MetaLeft",MetaRight:"MetaRight",Minus:"Minus",NumLock:"NumLock",Numpad0:"Numpad0",Numpad1:"Numpad1",Numpad2:"Numpad2",Numpad3:"Numpad3",Numpad4:"Numpad4",Numpad5:"Numpad5",Numpad6:"Numpad6",Numpad7:"Numpad7",Numpad8:"Numpad8",Numpad9:"Numpad9",NumpadAdd:"NumpadAdd",NumpadComma:"NumpadComma",NumpadDecimal:"NumpadDecimal",NumpadDivide:"NumpadDivide",NumpadMultiply:"NumpadMultiply",NumpadSubtract:"NumpadSubtract",OSLeft:"OSLeft",Pause:"Pause",Period:"Period",Quote:"Quote",ScrollLock:"ScrollLock",Semicolon:"Semicolon",ShiftLeft:"ShiftLeft",ShiftRight:"ShiftRight",Slash:"Slash",Space:"Space",Tab:"Tab",VolumeDown:"VolumeDown",VolumeMute:"VolumeMute",VolumeUp:"VolumeUp",WakeUp:"WakeUp"};function __awaiter(e,t,i,s){return new(i||(i=Promise))((function(n,a){function fulfilled(e){try{step(s.next(e))}catch(e){a(e)}}function rejected(e){try{step(s.throw(e))}catch(e){a(e)}}function step(e){e.done?n(e.value):function adopt(e){return e instanceof i?e:new i((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const c=/ф|и|с|в|у|а|п|р|ш|о|л|д|ь|т|щ|з|й|к|ы|е|г|м|ц|ч|н|я|ё|х|ъ|б|ю|э|ж|и/i,l=/[a-z]/i,u=["fr","mg","lu"],h=["ab","ba","be","bg","ch","kk","ky","mk","mn","ru","sr","tg","tt","uk","uz"],g=["de","cs","sk","sl","hu","hr","bs","ro","sq","me","lt","lv","et"];let p,m;function inferKeyboardLayoutFromLang(e=function getLang(){var e;const t=navigator;return(null===(e=t.languages)||void 0===e?void 0:e.length)?t.languages[0]:t.userLanguage||t.language||t.browserLanguage}()){const t=(e||"").toLowerCase(),i=t.split("-")[0];return u.includes(i)||t.startsWith("nl-be")?"AZERTY":h.includes(i)?"JCUKEN":g.includes(i)||t.startsWith("sr-latn")?"QWERTZ":"QWERTY"}const v=new Set(["AZERTY","JCUKEN","QWERTY","QWERTZ"]);function getLayoutKeyLabel(e,t){var i,s;if(void 0===m){const e={ArrowLeft:"⬅",ArrowRight:"➡",ArrowUp:"⬆",ArrowDown:"⬇",AltLeft:"Left Alt",AltRight:"Right Alt",Backquote:"`",Backslash:"\\",Backspace:"Backspace",BracketLeft:"[",BracketRight:"]",CapsLock:"CapsLock",Comma:",",ContextMenu:"Context Menu",ControlLeft:"Left Ctrl",ControlRight:"Right Ctrl",Delete:"Delete",Digit0:"0",Digit1:"1",Digit2:"2",Digit3:"3",Digit4:"4",Digit5:"5",Digit6:"6",Digit7:"7",Digit8:"8",Digit9:"9",End:"End",Enter:"Enter",Equal:"=",Escape:"Esc",F1:"F1",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",F10:"F10",F11:"F11",F12:"F12",F13:"F13",F14:"F14",F15:"F15",F16:"F16",F17:"F17",F18:"F18",F19:"F19",F20:"F20",F21:"F21",F22:"F22",F23:"F23",F24:"F24",F25:"F25",F26:"F26",F27:"F27",F28:"F28",F29:"F29",F30:"F30",F31:"F31",F32:"F32",Home:"Home",IntlBackslash:"\\",IntlRo:"Ro",IntlYen:"¥",KeyA:"A",KeyB:"B",KeyC:"C",KeyD:"D",KeyE:"E",KeyF:"F",KeyG:"G",KeyH:"H",KeyI:"I",KeyJ:"J",KeyK:"K",KeyL:"L",KeyM:"M",KeyN:"N",KeyO:"O",KeyP:"P",KeyQ:"Q",KeyR:"R",KeyS:"S",KeyT:"T",KeyU:"U",KeyV:"V",KeyW:"W",KeyX:"X",KeyY:"Y",KeyZ:"Z",Lang1:"Language 1",Lang2:"Language 2",MediaTrackNext:"Next Track",MediaTrackPrevious:"Previous Track",MetaLeft:"Left "+getMetaKeyLabel(),MetaRight:"Right "+getMetaKeyLabel(),Minus:"-",NumLock:"Num Lock",Numpad0:"Num0",Numpad1:"Num1",Numpad2:"Num2",Numpad3:"Num3",Numpad4:"Num4",Numpad5:"Num5",Numpad6:"Num6",Numpad7:"Num7",Numpad8:"Num8",Numpad9:"Num9",NumpadAdd:"+",NumpadComma:",",NumpadDecimal:".",NumpadDivide:"/",NumpadMultiply:"*",NumpadSubtract:"-",OSLeft:"OS Left",Pause:"Pause",Period:".",Quote:"'",ScrollLock:"Scroll Lock",Semicolon:";",ShiftLeft:"Left Shift",ShiftRight:"Right Shift",Slash:"/",Space:"Space",Tab:"Tab",VolumeDown:"Volume Down",VolumeMute:"Volume Mute",VolumeUp:"Volume Up",WakeUp:"Wake Up"};m={AZERTY:{KeyA:"Q",KeyQ:"A",KeyW:"Z",KeyZ:"W",Backquote:"²",BracketLeft:"«",BracketRight:"»"},JCUKEN:{KeyA:"Ф",KeyB:"И",KeyC:"С",KeyD:"В",KeyE:"У",KeyF:"А",KeyG:"П",KeyH:"Р",KeyI:"Ш",KeyJ:"О",KeyK:"Л",KeyL:"Д",KeyM:"Ь",KeyN:"Т",KeyO:"Щ",KeyP:"З",KeyQ:"Й",KeyR:"К",KeyS:"Ы",KeyT:"Е",KeyU:"Г",KeyV:"М",KeyW:"Ц",KeyX:"Ч",KeyY:"Н",KeyZ:"Я",Backquote:"Ё",BracketLeft:"х",BracketRight:"ъ",Comma:"Б",Period:"Ю",Quote:"Э",Semicolon:"Ж",Slash:"И"},QWERTY:e,QWERTZ:{KeyY:"Z",KeyZ:"Y",BracketLeft:"ü",BracketRight:"ö",Slash:"-"}}}return null!==(s=null!==(i=m[t][e])&&void 0!==i?i:m.QWERTY[e])&&void 0!==s?s:e}function getMetaKeyLabel(){var e,t,i,s;const n=navigator,a=null!==(t=null===(e=n.platform)||void 0===e?void 0:e.toLowerCase())&&void 0!==t?t:"",o=null!==(s=null===(i=n.userAgent)||void 0===i?void 0:i.toLowerCase())&&void 0!==s?s:"";return a.includes("mac")?"⌘":a.includes("win")||a.includes("linux")?"⊞":o.includes("android")?"Search":o.includes("iphone")||o.includes("ipad")?"⌘":"⊞"}class KeyboardDevice{constructor(){this.type="keyboard",this.id="keyboard",this.meta={},this.lastInteraction=performance.now(),this.detected=!1,this.options={emitEvents:!0,detectLayoutOnKeypress:!0,binds:{"navigate.back":["Escape","Backspace"],"navigate.down":["ArrowDown","KeyS"],"navigate.left":["ArrowLeft","KeyA"],"navigate.right":["ArrowRight","KeyD"],"navigate.trigger":["Enter","Space"],"navigate.up":["ArrowUp","KeyW"]},repeatableBinds:["navigate.down","navigate.left","navigate.right","navigate.up"]},this.key=Object.keys(d).reduce(((e,t)=>(e[t]=!1,e)),{}),this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._deferredKeydown=[],this._layout=inferKeyboardLayoutFromLang(),this._layoutSource="lang",function requestKeyboardLayout(){return __awaiter(this,void 0,void 0,(function*(){const e=navigator;if(e.keyboard&&e.keyboard.getLayoutMap)try{const t=yield e.keyboard.getLayoutMap();p=t;const i=t.get("KeyQ"),s=t.get("KeyA"),n=t.get("KeyZ");if("a"===i&&"w"===n&&"q"===s)return"AZERTY";if("q"===i&&"y"===n&&"a"===s)return"QWERTZ";if("q"===i&&"z"===n&&"a"===s)return"QWERTY";if("й"===i&&"я"===n&&"ф"===s)return"JCUKEN"}catch(e){}}))}().then((e=>{void 0!==e&&(this._layoutSource="browser",this._layout=e,this.options.detectLayoutOnKeypress=!1,this._emitter.emit("layoutdetected",{layoutSource:"browser",layout:e,device:this}))})),this._configureEventListeners()}get layout(){return this._layout}set layout(e){this._layoutSource="manual",this._layout=e,this.options.detectLayoutOnKeypress=!1}get layoutSource(){return this._layoutSource}bindDown(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;t<e.length;t++)if(this.key[e[t]])return!0;return!1}pressedAll(e){for(let t=0;t<e.length;t++)if(!this.key[e[t]])return!1;return!0}configureBinds(e){this.options.binds=Object.assign(Object.assign({},this.options.binds),e)}playHaptic(e){}on(e,t,i){return this._emitter.on(e,t,i),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return this._bindDownEmitter.on(e,t,i),this}offBindDown(e,t){return this._bindDownEmitter.off(e,t),this}getKeyLabel(e,t){var i;return t?getLayoutKeyLabel(e,t):null!==(i=function getNavigatorKeyLabel(e){const t=null==p?void 0:p.get(e);return void 0===t?void 0:function _toLocaleTitleCase(e){return e.split(/\s+/).map((e=>e.charAt(0).toLocaleUpperCase()+e.slice(1))).join(" ")}(t)}(e))&&void 0!==i?i:getLayoutKeyLabel(e,null!=t?t:this._layout)}update(e){this._deferredKeydown.length>0&&(this._deferredKeydown.forEach((e=>this._processDeferredKeydownEvent(e))),this._deferredKeydown.length=0)}clear(){for(const e of Object.keys(d))this.key[e]=!1}_configureEventListeners(){const e=this.key,t=this._deferredKeydown;window.addEventListener("keydown",(i=>{e[i.code]=!0,t.push(i),this.lastInteraction=performance.now()}),{passive:!0,capture:!0}),window.addEventListener("keyup",(t=>{e[t.code]=!1,this.lastInteraction=performance.now()}),{passive:!0,capture:!0})}_processDeferredKeydownEvent(e){const t=e.code;if(!e.repeat){if(this.options.detectLayoutOnKeypress&&"lang"===this._layoutSource){const t=function detectKeyboardLayoutFromKeydown(e){const t=e.key.toLowerCase(),i=e.code;return c.test(t)?(v.delete("AZERTY"),v.delete("QWERTY"),v.delete("QWERTZ")):"Backquote"===i&&"²"===t||"BracketLeft"===i&&"«"===t||"BracketRight"===i&&"»"===t||"KeyA"===i&&"q"===t||"KeyQ"===i&&"a"===t||"KeyW"===i&&"z"===t||"KeyZ"===i&&"w"===t?(v.delete("JCUKEN"),v.delete("QWERTY"),v.delete("QWERTZ")):"BracketLeft"===i&&"ü"===t||"BracketRight"===i&&"ö"===t||"KeyY"===i&&"z"===t||"KeyZ"===i&&"y"===t||"Slash"===i&&"-"===t?(v.delete("AZERTY"),v.delete("JCUKEN"),v.delete("QWERTY")):"BracketLeft"===i&&"["===t||"BracketRight"===i&&"]"===t||"KeyZ"===i&&"z"===t?(v.delete("AZERTY"),v.delete("JCUKEN"),v.delete("QWERTZ")):"KeyQ"===i&&"q"===t||"KeyW"===i&&"w"===t?(v.delete("AZERTY"),v.delete("JCUKEN")):"KeyY"===i&&"y"===t?(v.delete("QWERTZ"),v.delete("JCUKEN")):l.test(t)&&v.delete("JCUKEN"),1===v.size?[...v][0]:void 0}(e);void 0!==t&&(this._layout=t,this._layoutSource="keypress",this.options.detectLayoutOnKeypress=!1,this._emitter.emit("layoutdetected",{layout:t,layoutSource:"keypress",device:this}))}this.options.emitEvents&&this._emitter.hasListener(t)&&this._emitter.emit(t,{device:this,keyCode:t,keyLabel:this.getKeyLabel(t),event:e})}this.options.emitEvents&&Object.entries(this.options.binds).forEach((([i,s])=>{if(!s.includes(t))return;if(e.repeat&&!this.options.repeatableBinds.includes(i))return;const n={device:this,keyCode:t,keyLabel:this.getKeyLabel(t),event:e,name:i,repeat:e.repeat};this._bindDownEmitter.emit(i,n),this._emitter.emit("binddown",n)}))}}KeyboardDevice.global=new KeyboardDevice;class InputDeviceManager{constructor(){this.hasMouseLikePointer=window.matchMedia("(pointer: fine) and (hover: hover)").matches,this.isMobile=(()=>{let e=!1;var t;return t=navigator.userAgent||navigator.vendor,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0),e})(),this.isTouchCapable="ontouchstart"in window||navigator.maxTouchPoints>0,this.keyboard=KeyboardDevice.global,this.options={clearInputOnBackground:!0,requireDocumentFocus:!0},this._devices=[],this._gamepadDevices=[],this._gamepadDeviceMap=new Map,this._customDevices=[],this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._hasFocus=!1,window.addEventListener("gamepadconnected",(()=>this._pollGamepads(performance.now()))),window.addEventListener("gamepaddisconnected",(e=>this._removeGamepad(e.gamepad.index))),!this.isMobile&&this.hasMouseLikePointer?this.add(this.keyboard):window.addEventListener("keydown",(()=>this.add(this.keyboard)),{once:!0})}get devices(){return this._devices}get gamepads(){return this._gamepadDevices}get custom(){return this._customDevices}get lastInteractedDevice(){return this._lastInteractedDevice}on(e,t){return this._emitter.on(e,t),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindDownEmitter.on(e,t,i))),this}offBindDown(e,t){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindDownEmitter.off(e,t))),this}emitBindDown(e){this._bindDownEmitter.emit(e.name,e)}add(e){-1===this._devices.indexOf(e)&&(this._devices.push(e),e instanceof KeyboardDevice?(e.detected=!0,e.on("binddown",(e=>this.emitBindDown(e)))):e instanceof GamepadDevice?(this._gamepadDeviceMap.set(e.source.index,e),this._gamepadDevices.push(e),e.on("binddown",(e=>this.emitBindDown(e)))):this._customDevices.push(e),this._emitter.emit("deviceadded",{device:e}))}remove(e){if(!(e instanceof KeyboardDevice||e instanceof GamepadDevice)){const t=this._customDevices.indexOf(e);-1!==t&&this._customDevices.splice(t,1)}const t=this._devices.indexOf(e);-1!==t&&(this._devices.splice(t,1),this._emitter.emit("deviceremoved",{device:e}))}update(){if(this.options.requireDocumentFocus&&!document.hasFocus())return this._hasFocus&&this.options.clearInputOnBackground&&this.devices.forEach((e=>{var t;return null===(t=e.clear)||void 0===t?void 0:t.call(e)})),this._hasFocus=!1,this._devices;this._hasFocus=!0;const e=performance.now();return this.keyboard.detected&&this.keyboard.update(e),this._gamepadDevices.length>0&&this._pollGamepads(e),this._customDevices.length>0&&this._customDevices.forEach((t=>t.update(e))),this._updateLastInteracted(),this._devices}_updateLastInteracted(){if(0===this._devices.length)return;let e;if(1===this._devices.length)e=this._devices[0];else for(const t of this._devices)(void 0===e||t.lastInteraction>e.lastInteraction)&&(e=t);e!==this._lastInteractedDevice&&this._emitter.emit("lastdevicechanged",{device:e}),this._lastInteractedDevice=e}_pollGamepads(e){if(!document.hasFocus())return this._gamepadDevices;if(void 0===navigator.getGamepads)return this._gamepadDevices;for(const t of navigator.getGamepads())if(null!=t)if(this._gamepadDeviceMap.has(t.index)){this._gamepadDeviceMap.get(t.index).update(t,e)}else{const i=new GamepadDevice(t);this.add(i),i.update(t,e)}return this._gamepadDevices}_removeGamepad(e){const t=this._gamepadDeviceMap.get(e);if(!t)return;const i=this._gamepadDevices.indexOf(t);-1!==i&&this._gamepadDevices.splice(i,1),this.remove(t),this._gamepadDeviceMap.delete(e)}}InputDeviceManager.global=new InputDeviceManager;const f=InputDeviceManager.global;function getAllNavigatables(e,t=[]){var i;for(const s of null!==(i=e.children)&&void 0!==i?i:[])s.isNavigatable?t.push(s):getAllNavigatables(s,t);return t}function getFirstNavigatable(e,t,i,{minimumDistance:s=0}={}){return function chooseFirstNavigatableInDirection(e,t,i,s=0){var n,a,o,r,d,c,l,u,h;const g=e.filter((e=>e.isNavigatable&&null!=e.parent&&isVisible(e))),p=g.find((e=>e===t));if(void 0===p)return g.sort(((e,t)=>t.navigationPriority-e.navigationPriority)),g[0];if(void 0===i&&p)return p;const m=null!=p?p:g[Math.floor(Math.random()*g.length)];if(void 0===p)return null!==(n=e[0])&&void 0!==n?n:m;const v=p.getGlobalPosition(),f=p.getBounds(),y={x:v.x+f.left+f.width/2,y:v.y+f.top+f.height/2},b=g.filter((e=>e!==p)).map((e=>{const t=e.getGlobalPosition(),i=e.getBounds(),s={x:t.x+i.left+i.width/2,y:t.y+i.top+i.height/2};return{element:e,bounds:i,center:s,xDistSqrd:weightedDistSquared(s,y,1,3),yDistSqrd:weightedDistSquared(s,y,3,1)}}));switch(i){case"navigate.up":return null!==(o=null===(a=b.filter((e=>e.center.y<y.y-s)).sort(((e,t)=>e.yDistSqrd-t.yDistSqrd))[0])||void 0===a?void 0:a.element)&&void 0!==o?o:m;case"navigate.left":return null!==(d=null===(r=b.filter((e=>e.center.x<y.x-s)).sort(((e,t)=>e.xDistSqrd-t.xDistSqrd))[0])||void 0===r?void 0:r.element)&&void 0!==d?d:m;case"navigate.right":return null!==(l=null===(c=b.filter((e=>e.center.x>y.x+s)).sort(((e,t)=>e.xDistSqrd-t.xDistSqrd))[0])||void 0===c?void 0:c.element)&&void 0!==l?l:m;case"navigate.down":return null!==(h=null===(u=b.filter((e=>e.center.y>y.y+s)).sort(((e,t)=>e.yDistSqrd-t.yDistSqrd))[0])||void 0===u?void 0:u.element)&&void 0!==h?h:m;default:return p}}(getAllNavigatables(e),t,i,s)}function isChildOf(e,t){for(;null!=e;){if(e===t)return!0;e=e.parent}return!1}function weightedDistSquared(e,t,i,s){const n=t.x-e.x,a=t.y-e.y;return n*n*i+a*a*s}function isVisible(e){for(;null!=e;){if(!e.visible)return!1;e=e.parent}return!0}const y=["navigate.left","navigate.right","navigate.up","navigate.down","navigate.back","navigate.trigger"];class NavigationManager{constructor(){this.options={enableFallbackOverEffect:!0,minimumDirectionDistance:10},this.enabled=!1,this._responders=[]}get focusTarget(){var e,t;return null!==(t=null===(e=this.responders.find((e=>null!=e.focusTarget)))||void 0===e?void 0:e.focusTarget)&&void 0!==t?t:this._rootFocused}set focusTarget(e){const t=this.focusTarget;if(t===e)return;const i=this.getResponderStage();if(i){if(e){if(!e.isNavigatable)return;if(!isChildOf(e,i))return}null!=this.firstResponder?this.firstResponder.focusTarget=e:this._rootFocused=e,t&&this._emitBlur(t),e&&this._emitFocus(e)}}get firstResponder(){return this._responders[0]}get responders(){return this._responders}configureWithRoot(e){null==this._root&&f.onBindDown(y,(e=>this._propagate(e))),this._root=e,this.enabled=!0}popResponder(){var e,t,i,s,n;const a=this.focusTarget,o=this._responders.shift();o.focusTarget=void 0;const r=this.focusTarget;return null===(e=null==o?void 0:o.resignedAsFirstResponder)||void 0===e||e.call(o),this._invalidateFocusedIfNeeded(),this.firstResponder&&(null===(i=(t=this.firstResponder).becameFirstResponder)||void 0===i||i.call(t)),a!==r&&(null!==(n=null===(s=this.firstResponder)||void 0===s?void 0:s.autoFocus)&&void 0!==n?n:void 0===r)&&this.autoFocus(),o}pushResponder(e){var t,i,s;const n=e;if(this._responders.includes(n))throw new Error("Responder already in stack.");const a=this.firstResponder;this._responders.unshift(n),null===(t=null==a?void 0:a.resignedAsFirstResponder)||void 0===t||t.call(a),this._invalidateFocusedIfNeeded(),null===(i=n.becameFirstResponder)||void 0===i||i.call(n),(null===(s=n.autoFocus)||void 0===s||s)&&this.autoFocus()}autoFocus(){if(!b.enabled)return;const e=this.getResponderStage();if(!e)return;const t=getFirstNavigatable(e);void 0!==t?t!==this.focusTarget&&(this.focusTarget=t):console.debug("navigation: no navigatable containers found")}getResponderStage(){var e;return null!==(e=this.responders.find(isContainer))&&void 0!==e?e:this._root}_propagate({device:e,name:t}){var i;if(this.enabled){for(const s of this._responders)if(null===(i=s.handledNavigationIntent)||void 0===i?void 0:i.call(s,t,e))return;if(null==this._root)throw this.enabled=!1,new Error("Navigation requires root responder to be configured");{const e=this.getResponderStage();this._handleGlobalIntent(e,t)}}}_handleGlobalIntent(e,t){var i;this._invalidateFocusedIfNeeded(e);const s=this.focusTarget;if(void 0===s)return void this.autoFocus();if("navigate.back"===t)return this._emitBlur(s),void(this.focusTarget=void 0);if("navigate.trigger"===t)return void this._emitTrigger(s);const n=null!==(i=getFirstNavigatable(e,s,t,{minimumDistance:this.options.minimumDirectionDistance}))&&void 0!==i?i:s;n!==s&&(this.focusTarget=n)}_emitBlur(e){const t=e.eventNames();t.includes("pointerout")?e.emit("pointerout"):t.includes("mouseout")?e.emit("mouseout"):this.options.enableFallbackOverEffect&&(e.alpha=1),e.emit("deviceout")}_emitFocus(e){const t=e.eventNames();t.includes("pointerover")?e.emit("pointerover"):t.includes("mouseover")?e.emit("mouseover"):this.options.enableFallbackOverEffect&&(e.alpha=.5),e.emit("deviceover")}_emitTrigger(e){const t=e.eventNames();t.includes("pointerdown")?e.emit("pointerdown"):t.includes("mousedown")?e.emit("mousedown"):this.options.enableFallbackOverEffect&&(e.alpha=.75),e.emit("devicedown")}_invalidateFocusedIfNeeded(e=this.getResponderStage()){if(!e)return;const t=this.focusTarget;t&&!isChildOf(t,e)&&(this._emitBlur(t),this.focusTarget=void 0)}}function isContainer(e){return"children"in e}NavigationManager.global=new NavigationManager;const b=NavigationManager.global;let _=!1;exports.Button=a,exports.GamepadDevice=GamepadDevice,exports.InputDevice=f,exports.KeyCode=d,exports.KeyboardDevice=KeyboardDevice,exports.UINavigation=b,exports.getAllNavigatables=getAllNavigatables,exports.getFirstNavigatable=getFirstNavigatable,exports.isChildOf=isChildOf,exports.isVisible=isVisible,exports.navigationIntents=y,exports.registerPixiJSNavigationMixin=function registerPixiJSNavigationMixin(e){if(_)return;_=!0;const t=e.prototype;t.navigationPriority=0,t.navigationMode="auto",Object.defineProperty(t,"isNavigatable",{get:function(){if("target"===this.navigationMode)return!0;if("none"===this.navigationMode)return!1;const e=this.eventNames();return e.length>0&&(e.includes("pointerdown")||e.includes("mousedown"))},configurable:!0,enumerable:!1})};
|
|
1
|
+
"use strict";const e=0,t=1,i=2,s=3,n=["LeftStickLeft","LeftStickRight","LeftStickUp","LeftStickDown","RightStickLeft","RightStickRight","RightStickUp","RightStickDown"],a={Face1:0,Face2:1,Face3:2,Face4:3,LeftShoulder:4,RightShoulder:5,LeftTrigger:6,RightTrigger:7,Back:8,Start:9,LeftStickClick:10,RightStickClick:11,DpadUp:12,DpadDown:13,DpadLeft:14,DpadRight:15},o=["Face1","Face2","Face3","Face4","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStickClick","RightStickClick","DpadUp","DpadDown","DpadLeft","DpadRight"];class EventEmitter{constructor(){this._listeners={}}hasListener(e){return void 0!==this._listeners[e]}emit(e,t){var i;null===(i=this._listeners[e])||void 0===i||i.forEach((e=>e(t)))}on(e,t,i){var s,n;if(this._listeners[e]||(this._listeners[e]=[]),null==i?void 0:i.once){const onceFn=i=>{t(i),this.off(e,onceFn)};null===(s=this._listeners[e])||void 0===s||s.push(onceFn)}else null===(n=this._listeners[e])||void 0===n||n.push(t)}off(e,t){var i,s;this._listeners[e]=void 0===t||null===(i=this._listeners[e])||void 0===i?void 0:i.filter((e=>e!==t)),0===(null===(s=this._listeners[e])||void 0===s?void 0:s.length)&&(this._listeners[e]=void 0)}}const r=2e3;class GamepadHapticManager{constructor(e){var t,i,s;this.activeEffects=[],this.state={rumble:0,buzz:0,leftTrigger:0,rightTrigger:0,expires:0},this.gamepad=e,this.hapticEvent="vibrationActuator"in e?(null===(s=null===(i=null===(t=e.vibrationActuator)||void 0===t?void 0:t.effects)||void 0===i?void 0:i.includes)||void 0===s?void 0:s.call(i,"trigger-rumble"))?"trigger-rumble":"dual-rumble":void 0,this.hasTriggerRumble="trigger-rumble"===this.hapticEvent}play(e,t){var i;const s=Math.max(0,null!==(i=e.startDelay)&&void 0!==i?i:0),n=performance.now()+s;this.activeEffects.push(Object.assign(Object.assign({},e),{start:n,end:n+Math.max(e.duration,0),startDelay:void 0})),this.intensity!==t&&(this.intensity=Math.max(0,Math.min(1,t))),s||0!==this.activeEffects.length||this.update()}reset(){var e,t;this.activeEffects.length=0,this.state.rumble=0,this.state.buzz=0,this.state.leftTrigger=0,this.state.rightTrigger=0,this.gamepad.vibrationActuator?this.gamepad.vibrationActuator.reset():this.gamepad.hapticActuators&&(null===(t=null===(e=this.gamepad.hapticActuators[0])||void 0===e?void 0:e.pulse)||void 0===t||t.call(e,0,100))}update(){var e,t;const i=performance.now();let s=0,n=0,a=0,o=0,d=0,c=!1;for(let e=0;e<this.activeEffects.length;e++){const t=this.activeEffects[e];t.end<=i?c=!0:t.start>i||("trigger-rumble"===this.hapticEvent&&(t.leftTrigger&&t.leftTrigger>a&&(a=t.leftTrigger),t.rightTrigger&&t.rightTrigger>o&&(o=t.rightTrigger)),t.rumble&&t.rumble>s&&(s=t.rumble),t.buzz&&t.buzz>n&&(n=t.buzz),t.end-i>d&&(d=t.end-i))}if(c&&(this.activeEffects=this.activeEffects.filter((e=>e.end>=i))),this.state.rumble!==s||this.state.buzz!==n||this.state.leftTrigger!==a||this.state.rightTrigger!==o||this.state.expires<=i&&s+n+a+o>0)if(this.state.rumble=s,this.state.buzz=n,this.state.leftTrigger=a,this.state.rightTrigger=o,void 0!==this.hapticEvent)this.state.expires=i+r,this.gamepad.vibrationActuator.playEffect(this.hapticEvent,{duration:r,strongMagnitude:n*this.intensity,weakMagnitude:s*this.intensity,leftTrigger:a*this.intensity,rightTrigger:o*this.intensity});else if(this.gamepad.hapticActuators){const a=Math.min(d,r),o=Math.max(s,n)*this.intensity;this.state.expires=i+d,null===(t=null===(e=this.gamepad.hapticActuators[0])||void 0===e?void 0:e.pulse)||void 0===t||t.call(e,o,a)}}}class GamepadDevice{static configureDefaultBinds(e){this.defaultOptions.binds=Object.assign(Object.assign({},this.defaultOptions.binds),e)}constructor(e){var t;this.source=e,this.type="gamepad",this.meta={},this.lastInteraction=performance.now(),this.options=JSON.parse(JSON.stringify(GamepadDevice.defaultOptions)),this.leftJoystick={x:0,y:0},this.rightJoystick={x:0,y:0},this.button=[...o,...n].reduce(((e,t)=>(e[t]=!1,e)),{}),this.leftTrigger=0,this.rightTrigger=0,this.leftShoulder=0,this.rightShoulder=0,this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._debounces=new Map,this.id="gamepad"+e.index,this.layout=null!==(t=function detectLayout(e){const t=(e||"").toLowerCase();return/(amazon|luna|1949)/.test(t)?"amazon_luna":/(logitech|046d|c216|logicool|^46d)/.test(t)?"logitech_g":/(joy-?con.*l|057e.*2006)/.test(t)?"nintendo_joycon_l":/(joy-?con.*r|057e.*2007)/.test(t)?"nintendo_joycon_r":/(wiiu?|0305|0306|0337)/.test(t)?"nintendo_wiiu":/(switch.*pro|nintendo|switch|057e|0300)/.test(t)?"nintendo_switch_pro":/(nvidia.*shield|nvidia|shield|0955)/.test(t)?"nvidia_shield":/(playstation.*5|dualsense|0df2|0ce6)/.test(t)?"playstation_5":/(playstation|sony|dualshock|054c|09cc|0ba0|0810)/.test(t)?"playstation_4":/(steam.*controller|steam|28de|1102|1142)/.test(t)?"steam_controller":/(xbox.*series|0b00|0b12)/.test(t)?"xbox_series":/(xbox.*360|0202|0283|0285|0288|0289|028e|028f|0291|0719)/.test(t)?"xbox_360":/(xbox|xinput|045e)/.test(t)?"xbox_one":void 0}(null==e?void 0:e.id))&&void 0!==t?t:"unknown",this.haptics=new GamepadHapticManager(e),this.supportsTriggerRumble=this.haptics.hasTriggerRumble}bindDown(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;t<e.length;t++)if(this.button[e[t]])return!0;return!1}pressedAll(e){for(let t=0;t<e.length;t++)if(!this.button[e[t]])return!1;return!0}configureBinds(e){this.options.binds=Object.assign(Object.assign({},this.options.binds),e)}on(e,t,i){return this._emitter.on(e,t,i),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return this._bindDownEmitter.on(e,t,i),this}offBindDown(e,t){return this._bindDownEmitter.off(e,t),this}playHaptic(e){this.options.vibration.enabled&&this.haptics.play(e,this.options.vibration.intensity)}stopHaptics(){this.haptics.reset()}update(e,t){this._updatePresses(e,t),this.source=e,this.haptics.update()}clear(){this.button=[...n,...o].reduce(((e,t)=>(e[t]=!1,e)),{}),this.haptics.reset()}_updatePresses(r,d){var c,l,u,h,g,p,m;const v=this.options.joystick;for(let e=0;e<4;e++){const t=_scale(r.axes[e],v.deadzone),i=n[2*e+(t>0?1:0)];if(Math.abs(t)<v.pressThreshold)this.button[i]||this._debounces.delete(i),this.button[i]=!1;else{const t=v.autoRepeatDelayMs[+this.button[i]];if(this._debounce(i,t)&&this.button[i])continue;this.button[i]=!0,this.lastInteraction=d,this.options.emitEvents&&(this._emitter.hasListener(i)&&this._emitter.emit(i,{device:this,axis:e,axisCode:i}),Object.entries(this.options.binds).forEach((([t,s])=>{if(!s.includes(i))return;const n={device:this,type:"axis",axis:e,axisCode:i,name:t};this._bindDownEmitter.emit(t,n),this._emitter.emit("binddown",n)})))}}for(let e=0;e<16;e++){let t=e;const i=o[t];if(this.button[i]===(null===(c=r.buttons[e])||void 0===c?void 0:c.pressed))continue;this.lastInteraction=d;const s=null!==(u=null===(l=r.buttons[e])||void 0===l?void 0:l.pressed)&&void 0!==u&&u;this.button[i]=s,s&&this.options.emitEvents&&(this._emitter.hasListener(i)&&this._emitter.emit(i,{device:this,button:t,buttonCode:i}),Object.entries(this.options.binds).forEach((([e,s])=>{if(!s.includes(i))return;const n={device:this,type:"button",button:t,buttonCode:i,name:e};this._bindDownEmitter.emit(e,n),this._emitter.emit("binddown",n)})))}const f=this.options.trigger.deadzone;this.leftTrigger=_scale(r.buttons[a.LeftTrigger].value,f),this.rightTrigger=_scale(r.buttons[a.RightTrigger].value,f),this.leftShoulder=_scale(r.buttons[a.LeftShoulder].value,f),this.rightShoulder=_scale(r.buttons[a.RightShoulder].value,f);const y=v.deadzone;this.leftJoystick.x=_scale(null!==(h=r.axes[e])&&void 0!==h?h:0,y),this.leftJoystick.y=_scale(null!==(g=r.axes[t])&&void 0!==g?g:0,y),this.rightJoystick.x=_scale(null!==(p=r.axes[i])&&void 0!==p?p:0,y),this.rightJoystick.y=_scale(null!==(m=r.axes[s])&&void 0!==m?m:0,y)}_debounce(e,t){var i;const s=Date.now();return(null!==(i=this._debounces.get(e))&&void 0!==i?i:0)>s||(this._debounces.set(e,s+t),!1)}}function _scale(e,t){const i=(Math.abs(e)-t[0])/(t[1]-t[0]);return i>=0&&i<=1?Math.sign(e)*i:i>1?1*Math.sign(e):0}GamepadDevice.defaultOptions={emitEvents:!0,joystick:{deadzone:[0,1],pressThreshold:.5,autoRepeatDelayMs:[400,100]},trigger:{deadzone:[0,1]},vibration:{enabled:!0,intensity:1},binds:{"navigate.trigger":["Face1"],"navigate.back":["Face2"],"navigate.up":["DpadUp","LeftStickUp"],"navigate.left":["DpadLeft","LeftStickLeft"],"navigate.down":["DpadDown","LeftStickDown"],"navigate.right":["DpadRight","LeftStickRight"]}};const d={AltLeft:"AltLeft",AltRight:"AltRight",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",ArrowUp:"ArrowUp",Backquote:"Backquote",Backslash:"Backslash",Backspace:"Backspace",BracketLeft:"BracketLeft",BracketRight:"BracketRight",CapsLock:"CapsLock",Comma:"Comma",ContextMenu:"ContextMenu",ControlLeft:"ControlLeft",ControlRight:"ControlRight",Delete:"Delete",Digit0:"Digit0",Digit1:"Digit1",Digit2:"Digit2",Digit3:"Digit3",Digit4:"Digit4",Digit5:"Digit5",Digit6:"Digit6",Digit7:"Digit7",Digit8:"Digit8",Digit9:"Digit9",End:"End",Enter:"Enter",Equal:"Equal",Escape:"Escape",F1:"F1",F10:"F10",F11:"F11",F12:"F12",F13:"F13",F14:"F14",F15:"F15",F16:"F16",F17:"F17",F18:"F18",F19:"F19",F2:"F2",F20:"F20",F21:"F21",F22:"F22",F23:"F23",F24:"F24",F25:"F25",F26:"F26",F27:"F27",F28:"F28",F29:"F29",F3:"F3",F30:"F30",F31:"F31",F32:"F32",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",Home:"Home",IntlBackslash:"IntlBackslash",IntlRo:"IntlRo",IntlYen:"IntlYen",KeyA:"KeyA",KeyB:"KeyB",KeyC:"KeyC",KeyD:"KeyD",KeyE:"KeyE",KeyF:"KeyF",KeyG:"KeyG",KeyH:"KeyH",KeyI:"KeyI",KeyJ:"KeyJ",KeyK:"KeyK",KeyL:"KeyL",KeyM:"KeyM",KeyN:"KeyN",KeyO:"KeyO",KeyP:"KeyP",KeyQ:"KeyQ",KeyR:"KeyR",KeyS:"KeyS",KeyT:"KeyT",KeyU:"KeyU",KeyV:"KeyV",KeyW:"KeyW",KeyX:"KeyX",KeyY:"KeyY",KeyZ:"KeyZ",Lang1:"Lang1",Lang2:"Lang2",MediaTrackNext:"MediaTrackNext",MediaTrackPrevious:"MediaTrackPrevious",MetaLeft:"MetaLeft",MetaRight:"MetaRight",Minus:"Minus",NumLock:"NumLock",Numpad0:"Numpad0",Numpad1:"Numpad1",Numpad2:"Numpad2",Numpad3:"Numpad3",Numpad4:"Numpad4",Numpad5:"Numpad5",Numpad6:"Numpad6",Numpad7:"Numpad7",Numpad8:"Numpad8",Numpad9:"Numpad9",NumpadAdd:"NumpadAdd",NumpadComma:"NumpadComma",NumpadDecimal:"NumpadDecimal",NumpadDivide:"NumpadDivide",NumpadMultiply:"NumpadMultiply",NumpadSubtract:"NumpadSubtract",OSLeft:"OSLeft",Pause:"Pause",Period:"Period",Quote:"Quote",ScrollLock:"ScrollLock",Semicolon:"Semicolon",ShiftLeft:"ShiftLeft",ShiftRight:"ShiftRight",Slash:"Slash",Space:"Space",Tab:"Tab",VolumeDown:"VolumeDown",VolumeMute:"VolumeMute",VolumeUp:"VolumeUp",WakeUp:"WakeUp"};function __awaiter(e,t,i,s){return new(i||(i=Promise))((function(n,a){function fulfilled(e){try{step(s.next(e))}catch(e){a(e)}}function rejected(e){try{step(s.throw(e))}catch(e){a(e)}}function step(e){e.done?n(e.value):function adopt(e){return e instanceof i?e:new i((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const c=/ф|и|с|в|у|а|п|р|ш|о|л|д|ь|т|щ|з|й|к|ы|е|г|м|ц|ч|н|я|ё|х|ъ|б|ю|э|ж|и/i,l=/[a-z]/i,u=["fr","mg","lu"],h=["ab","ba","be","bg","ch","kk","ky","mk","mn","ru","sr","tg","tt","uk","uz"],g=["de","cs","sk","sl","hu","hr","bs","ro","sq","me","lt","lv","et"];let p,m;function inferKeyboardLayoutFromLang(e=function getLang(){var e;const t=navigator;return(null===(e=t.languages)||void 0===e?void 0:e.length)?t.languages[0]:t.userLanguage||t.language||t.browserLanguage}()){const t=(e||"").toLowerCase(),i=t.split("-")[0];return u.includes(i)||t.startsWith("nl-be")?"AZERTY":h.includes(i)?"JCUKEN":g.includes(i)||t.startsWith("sr-latn")?"QWERTZ":"QWERTY"}const v=new Set(["AZERTY","JCUKEN","QWERTY","QWERTZ"]);function getLayoutKeyLabel(e,t){var i,s;if(void 0===m){const e={ArrowLeft:"⬅",ArrowRight:"➡",ArrowUp:"⬆",ArrowDown:"⬇",AltLeft:"Left Alt",AltRight:"Right Alt",Backquote:"`",Backslash:"\\",Backspace:"Backspace",BracketLeft:"[",BracketRight:"]",CapsLock:"CapsLock",Comma:",",ContextMenu:"Context Menu",ControlLeft:"Left Ctrl",ControlRight:"Right Ctrl",Delete:"Delete",Digit0:"0",Digit1:"1",Digit2:"2",Digit3:"3",Digit4:"4",Digit5:"5",Digit6:"6",Digit7:"7",Digit8:"8",Digit9:"9",End:"End",Enter:"Enter",Equal:"=",Escape:"Esc",F1:"F1",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",F10:"F10",F11:"F11",F12:"F12",F13:"F13",F14:"F14",F15:"F15",F16:"F16",F17:"F17",F18:"F18",F19:"F19",F20:"F20",F21:"F21",F22:"F22",F23:"F23",F24:"F24",F25:"F25",F26:"F26",F27:"F27",F28:"F28",F29:"F29",F30:"F30",F31:"F31",F32:"F32",Home:"Home",IntlBackslash:"\\",IntlRo:"Ro",IntlYen:"¥",KeyA:"A",KeyB:"B",KeyC:"C",KeyD:"D",KeyE:"E",KeyF:"F",KeyG:"G",KeyH:"H",KeyI:"I",KeyJ:"J",KeyK:"K",KeyL:"L",KeyM:"M",KeyN:"N",KeyO:"O",KeyP:"P",KeyQ:"Q",KeyR:"R",KeyS:"S",KeyT:"T",KeyU:"U",KeyV:"V",KeyW:"W",KeyX:"X",KeyY:"Y",KeyZ:"Z",Lang1:"Language 1",Lang2:"Language 2",MediaTrackNext:"Next Track",MediaTrackPrevious:"Previous Track",MetaLeft:"Left "+getMetaKeyLabel(),MetaRight:"Right "+getMetaKeyLabel(),Minus:"-",NumLock:"Num Lock",Numpad0:"Num0",Numpad1:"Num1",Numpad2:"Num2",Numpad3:"Num3",Numpad4:"Num4",Numpad5:"Num5",Numpad6:"Num6",Numpad7:"Num7",Numpad8:"Num8",Numpad9:"Num9",NumpadAdd:"+",NumpadComma:",",NumpadDecimal:".",NumpadDivide:"/",NumpadMultiply:"*",NumpadSubtract:"-",OSLeft:"OS Left",Pause:"Pause",Period:".",Quote:"'",ScrollLock:"Scroll Lock",Semicolon:";",ShiftLeft:"Left Shift",ShiftRight:"Right Shift",Slash:"/",Space:"Space",Tab:"Tab",VolumeDown:"Volume Down",VolumeMute:"Volume Mute",VolumeUp:"Volume Up",WakeUp:"Wake Up"};m={AZERTY:{KeyA:"Q",KeyQ:"A",KeyW:"Z",KeyZ:"W",Backquote:"²",BracketLeft:"«",BracketRight:"»"},JCUKEN:{KeyA:"Ф",KeyB:"И",KeyC:"С",KeyD:"В",KeyE:"У",KeyF:"А",KeyG:"П",KeyH:"Р",KeyI:"Ш",KeyJ:"О",KeyK:"Л",KeyL:"Д",KeyM:"Ь",KeyN:"Т",KeyO:"Щ",KeyP:"З",KeyQ:"Й",KeyR:"К",KeyS:"Ы",KeyT:"Е",KeyU:"Г",KeyV:"М",KeyW:"Ц",KeyX:"Ч",KeyY:"Н",KeyZ:"Я",Backquote:"Ё",BracketLeft:"х",BracketRight:"ъ",Comma:"Б",Period:"Ю",Quote:"Э",Semicolon:"Ж",Slash:"И"},QWERTY:e,QWERTZ:{KeyY:"Z",KeyZ:"Y",BracketLeft:"ü",BracketRight:"ö",Slash:"-"}}}return null!==(s=null!==(i=m[t][e])&&void 0!==i?i:m.QWERTY[e])&&void 0!==s?s:e}function getMetaKeyLabel(){var e,t,i,s;const n=navigator,a=null!==(t=null===(e=n.platform)||void 0===e?void 0:e.toLowerCase())&&void 0!==t?t:"",o=null!==(s=null===(i=n.userAgent)||void 0===i?void 0:i.toLowerCase())&&void 0!==s?s:"";return a.includes("mac")?"⌘":a.includes("win")||a.includes("linux")?"⊞":o.includes("android")?"Search":o.includes("iphone")||o.includes("ipad")?"⌘":"⊞"}class KeyboardDevice{constructor(){this.type="keyboard",this.id="keyboard",this.meta={},this.lastInteraction=performance.now(),this.detected=!1,this.options={emitEvents:!0,detectLayoutOnKeypress:!0,binds:{"navigate.back":["Escape","Backspace"],"navigate.down":["ArrowDown","KeyS"],"navigate.left":["ArrowLeft","KeyA"],"navigate.right":["ArrowRight","KeyD"],"navigate.trigger":["Enter","Space"],"navigate.up":["ArrowUp","KeyW"]},repeatableBinds:["navigate.down","navigate.left","navigate.right","navigate.up"]},this.key=Object.keys(d).reduce(((e,t)=>(e[t]=!1,e)),{}),this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._deferredKeydown=[],this._layout=inferKeyboardLayoutFromLang(),this._layoutSource="lang",function requestKeyboardLayout(){return __awaiter(this,void 0,void 0,(function*(){const e=navigator;if(e.keyboard&&e.keyboard.getLayoutMap)try{const t=yield e.keyboard.getLayoutMap();p=t;const i=t.get("KeyQ"),s=t.get("KeyA"),n=t.get("KeyZ");if("a"===i&&"w"===n&&"q"===s)return"AZERTY";if("q"===i&&"y"===n&&"a"===s)return"QWERTZ";if("q"===i&&"z"===n&&"a"===s)return"QWERTY";if("й"===i&&"я"===n&&"ф"===s)return"JCUKEN"}catch(e){}}))}().then((e=>{void 0!==e&&(this._layoutSource="browser",this._layout=e,this.options.detectLayoutOnKeypress=!1,this._emitter.emit("layoutdetected",{layoutSource:"browser",layout:e,device:this}))})),this._configureEventListeners()}get layout(){return this._layout}set layout(e){this._layoutSource="manual",this._layout=e,this.options.detectLayoutOnKeypress=!1}get layoutSource(){return this._layoutSource}bindDown(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;t<e.length;t++)if(this.key[e[t]])return!0;return!1}pressedAll(e){for(let t=0;t<e.length;t++)if(!this.key[e[t]])return!1;return!0}configureBinds(e){this.options.binds=Object.assign(Object.assign({},this.options.binds),e)}playHaptic(e){}on(e,t,i){return this._emitter.on(e,t,i),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return this._bindDownEmitter.on(e,t,i),this}offBindDown(e,t){return this._bindDownEmitter.off(e,t),this}getKeyLabel(e,t){var i;return t?getLayoutKeyLabel(e,t):null!==(i=function getNavigatorKeyLabel(e){const t=null==p?void 0:p.get(e);return void 0===t?void 0:function _toLocaleTitleCase(e){return e.split(/\s+/).map((e=>e.charAt(0).toLocaleUpperCase()+e.slice(1))).join(" ")}(t)}(e))&&void 0!==i?i:getLayoutKeyLabel(e,null!=t?t:this._layout)}update(e){this._deferredKeydown.length>0&&(this._deferredKeydown.forEach((e=>this._processDeferredKeydownEvent(e))),this._deferredKeydown.length=0)}clear(){for(const e of Object.keys(d))this.key[e]=!1}_configureEventListeners(){const e=this.key,t=this._deferredKeydown;window.addEventListener("keydown",(i=>{e[i.code]=!0,t.push(i),this.lastInteraction=performance.now()}),{passive:!0,capture:!0}),window.addEventListener("keyup",(t=>{e[t.code]=!1,this.lastInteraction=performance.now()}),{passive:!0,capture:!0})}_processDeferredKeydownEvent(e){const t=e.code;if(!e.repeat){if(this.options.detectLayoutOnKeypress&&"lang"===this._layoutSource){const t=function detectKeyboardLayoutFromKeydown(e){const t=e.key.toLowerCase(),i=e.code;return c.test(t)?(v.delete("AZERTY"),v.delete("QWERTY"),v.delete("QWERTZ")):"Backquote"===i&&"²"===t||"BracketLeft"===i&&"«"===t||"BracketRight"===i&&"»"===t||"KeyA"===i&&"q"===t||"KeyQ"===i&&"a"===t||"KeyW"===i&&"z"===t||"KeyZ"===i&&"w"===t?(v.delete("JCUKEN"),v.delete("QWERTY"),v.delete("QWERTZ")):"BracketLeft"===i&&"ü"===t||"BracketRight"===i&&"ö"===t||"KeyY"===i&&"z"===t||"KeyZ"===i&&"y"===t||"Slash"===i&&"-"===t?(v.delete("AZERTY"),v.delete("JCUKEN"),v.delete("QWERTY")):"BracketLeft"===i&&"["===t||"BracketRight"===i&&"]"===t||"KeyZ"===i&&"z"===t?(v.delete("AZERTY"),v.delete("JCUKEN"),v.delete("QWERTZ")):"KeyQ"===i&&"q"===t||"KeyW"===i&&"w"===t?(v.delete("AZERTY"),v.delete("JCUKEN")):"KeyY"===i&&"y"===t?(v.delete("QWERTZ"),v.delete("JCUKEN")):l.test(t)&&v.delete("JCUKEN"),1===v.size?[...v][0]:void 0}(e);void 0!==t&&(this._layout=t,this._layoutSource="keypress",this.options.detectLayoutOnKeypress=!1,this._emitter.emit("layoutdetected",{layout:t,layoutSource:"keypress",device:this}))}this.options.emitEvents&&this._emitter.hasListener(t)&&this._emitter.emit(t,{device:this,keyCode:t,keyLabel:this.getKeyLabel(t),event:e})}this.options.emitEvents&&Object.entries(this.options.binds).forEach((([i,s])=>{if(!s.includes(t))return;if(e.repeat&&!this.options.repeatableBinds.includes(i))return;const n={device:this,keyCode:t,keyLabel:this.getKeyLabel(t),event:e,name:i,repeat:e.repeat};this._bindDownEmitter.emit(i,n),this._emitter.emit("binddown",n)}))}}KeyboardDevice.global=new KeyboardDevice;class InputDeviceManager{constructor(){this.hasMouseLikePointer=window.matchMedia("(pointer: fine) and (hover: hover)").matches,this.isMobile=(()=>{let e=!1;var t;return t=navigator.userAgent||navigator.vendor,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0),e})(),this.isTouchCapable="ontouchstart"in window||navigator.maxTouchPoints>0,this.keyboard=KeyboardDevice.global,this.options={clearInputOnBackground:!0,requireDocumentFocus:!0},this._devices=[],this._gamepadDevices=[],this._gamepadDeviceMap=new Map,this._customDevices=[],this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._hasFocus=!1,window.addEventListener("gamepadconnected",(()=>this._pollGamepads(performance.now()))),window.addEventListener("gamepaddisconnected",(e=>this._removeGamepad(e.gamepad.index))),!this.isMobile&&this.hasMouseLikePointer?this.add(this.keyboard):window.addEventListener("keydown",(()=>this.add(this.keyboard)),{once:!0})}get devices(){return this._devices}get gamepads(){return this._gamepadDevices}get custom(){return this._customDevices}get lastInteractedDevice(){return this._lastInteractedDevice}on(e,t){return this._emitter.on(e,t),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindDownEmitter.on(e,t,i))),this}offBindDown(e,t){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindDownEmitter.off(e,t))),this}emitBindDown(e){this._bindDownEmitter.emit(e.name,e)}add(e){-1===this._devices.indexOf(e)&&(this._devices.push(e),e instanceof KeyboardDevice?(e.detected=!0,e.on("binddown",(e=>this.emitBindDown(e)))):e instanceof GamepadDevice?(this._gamepadDeviceMap.set(e.source.index,e),this._gamepadDevices.push(e),e.on("binddown",(e=>this.emitBindDown(e)))):this._customDevices.push(e),this._emitter.emit("deviceadded",{device:e}))}remove(e){if(!(e instanceof KeyboardDevice||e instanceof GamepadDevice)){const t=this._customDevices.indexOf(e);-1!==t&&this._customDevices.splice(t,1)}const t=this._devices.indexOf(e);-1!==t&&(this._devices.splice(t,1),this._emitter.emit("deviceremoved",{device:e}))}update(){if(this.options.requireDocumentFocus&&!document.hasFocus())return this._hasFocus&&this.options.clearInputOnBackground&&this.devices.forEach((e=>{var t;return null===(t=e.clear)||void 0===t?void 0:t.call(e)})),this._hasFocus=!1,this._devices;this._hasFocus=!0;const e=performance.now();return this.keyboard.detected&&this.keyboard.update(e),this._gamepadDevices.length>0&&this._pollGamepads(e),this._customDevices.length>0&&this._customDevices.forEach((t=>t.update(e))),this._updateLastInteracted(),this._devices}_updateLastInteracted(){if(0===this._devices.length)return;let e;if(1===this._devices.length)e=this._devices[0];else for(const t of this._devices)(void 0===e||t.lastInteraction>e.lastInteraction)&&(e=t);e!==this._lastInteractedDevice&&this._emitter.emit("lastdevicechanged",{device:e}),this._lastInteractedDevice=e}_pollGamepads(e){if(!document.hasFocus())return this._gamepadDevices;if(void 0===navigator.getGamepads)return this._gamepadDevices;for(const t of navigator.getGamepads())if(null!=t)if(this._gamepadDeviceMap.has(t.index)){this._gamepadDeviceMap.get(t.index).update(t,e)}else{const i=new GamepadDevice(t);this.add(i),i.update(t,e)}return this._gamepadDevices}_removeGamepad(e){const t=this._gamepadDeviceMap.get(e);if(!t)return;const i=this._gamepadDevices.indexOf(t);-1!==i&&this._gamepadDevices.splice(i,1),this.remove(t),this._gamepadDeviceMap.delete(e)}}InputDeviceManager.global=new InputDeviceManager;const f=InputDeviceManager.global;function getAllNavigatables(e,t=[]){var i;for(const s of null!==(i=e.children)&&void 0!==i?i:[])s.isNavigatable?t.push(s):getAllNavigatables(s,t);return t}function getFirstNavigatable(e,t,i,{minimumDistance:s=0}={}){return function chooseFirstNavigatableInDirection(e,t,i,s=0){var n,a,o,r,d,c,l,u,h;const g=e.filter((e=>e.isNavigatable&&null!=e.parent&&isVisible(e))),p=g.find((e=>e===t));if(void 0===p)return g.sort(((e,t)=>t.navigationPriority-e.navigationPriority)),g[0];if(void 0===i&&p)return p;const m=null!=p?p:g[Math.floor(Math.random()*g.length)];if(void 0===p)return null!==(n=e[0])&&void 0!==n?n:m;const v=p.getGlobalPosition(),f=p.getBounds(),y={x:v.x+f.left+f.width/2,y:v.y+f.top+f.height/2},b=g.filter((e=>e!==p)).map((e=>{const t=e.getGlobalPosition(),i=e.getBounds(),s={x:t.x+i.left+i.width/2,y:t.y+i.top+i.height/2};return{element:e,bounds:i,center:s,xDistSqrd:weightedDistSquared(s,y,1,3),yDistSqrd:weightedDistSquared(s,y,3,1)}}));switch(i){case"navigate.up":return null!==(o=null===(a=b.filter((e=>e.center.y<y.y-s)).sort(((e,t)=>e.yDistSqrd-t.yDistSqrd))[0])||void 0===a?void 0:a.element)&&void 0!==o?o:m;case"navigate.left":return null!==(d=null===(r=b.filter((e=>e.center.x<y.x-s)).sort(((e,t)=>e.xDistSqrd-t.xDistSqrd))[0])||void 0===r?void 0:r.element)&&void 0!==d?d:m;case"navigate.right":return null!==(l=null===(c=b.filter((e=>e.center.x>y.x+s)).sort(((e,t)=>e.xDistSqrd-t.xDistSqrd))[0])||void 0===c?void 0:c.element)&&void 0!==l?l:m;case"navigate.down":return null!==(h=null===(u=b.filter((e=>e.center.y>y.y+s)).sort(((e,t)=>e.yDistSqrd-t.yDistSqrd))[0])||void 0===u?void 0:u.element)&&void 0!==h?h:m;default:return p}}(getAllNavigatables(e),t,i,s)}function isChildOf(e,t){for(;null!=e;){if(e===t)return!0;e=e.parent}return!1}function weightedDistSquared(e,t,i,s){const n=t.x-e.x,a=t.y-e.y;return n*n*i+a*a*s}function isVisible(e){for(;null!=e;){if(!e.visible)return!1;e=e.parent}return!0}const y=["navigate.left","navigate.right","navigate.up","navigate.down","navigate.back","navigate.trigger"];class NavigationManager{constructor(){this.options={enableFallbackOverEffect:!0,minimumDirectionDistance:10},this.enabled=!1,this._responders=[]}get focusTarget(){var e,t;return null!==(t=null===(e=this.responders.find((e=>null!=e.focusTarget)))||void 0===e?void 0:e.focusTarget)&&void 0!==t?t:this._rootFocused}set focusTarget(e){const t=this.focusTarget;if(t===e)return;const i=this.getResponderStage();if(i){if(e){if(!e.isNavigatable)return;if(!isChildOf(e,i))return}null!=this.firstResponder?this.firstResponder.focusTarget=e:this._rootFocused=e,t&&this._emitBlur(t),e&&this._emitFocus(e)}}get firstResponder(){return this._responders[0]}get responders(){return this._responders}configureWithRoot(e){null==this._root&&f.onBindDown(y,(e=>this._propagate(e))),this._root=e,this.enabled=!0}popResponder(){var e,t,i,s,n;const a=this.focusTarget,o=this._responders.shift();o.focusTarget=void 0;const r=this.focusTarget;return null===(e=null==o?void 0:o.resignedAsFirstResponder)||void 0===e||e.call(o),this._invalidateFocusedIfNeeded(),this.firstResponder&&(null===(i=(t=this.firstResponder).becameFirstResponder)||void 0===i||i.call(t)),a!==r&&(null!==(n=null===(s=this.firstResponder)||void 0===s?void 0:s.autoFocus)&&void 0!==n?n:void 0===r)&&this.autoFocus(),o}pushResponder(e){var t,i,s;const n=e;if(this._responders.includes(n))throw new Error("Responder already in stack.");const a=this.firstResponder;this._responders.unshift(n),null===(t=null==a?void 0:a.resignedAsFirstResponder)||void 0===t||t.call(a),this._invalidateFocusedIfNeeded(),null===(i=n.becameFirstResponder)||void 0===i||i.call(n),(null===(s=n.autoFocus)||void 0===s||s)&&this.autoFocus()}autoFocus(){if(!b.enabled)return;const e=this.getResponderStage();if(!e)return;const t=getFirstNavigatable(e);void 0!==t?t!==this.focusTarget&&(this.focusTarget=t):console.debug("navigation: no navigatable containers found")}getResponderStage(){var e;return null!==(e=this.responders.find(isContainer))&&void 0!==e?e:this._root}_propagate({device:e,name:t}){var i;if(this.enabled){for(const s of this._responders)if(null===(i=s.handledNavigationIntent)||void 0===i?void 0:i.call(s,t,e))return;if(null==this._root)throw this.enabled=!1,new Error("Navigation requires root responder to be configured");{const e=this.getResponderStage();this._handleGlobalIntent(e,t)}}}_handleGlobalIntent(e,t){var i;this._invalidateFocusedIfNeeded(e);const s=this.focusTarget;if(void 0===s)return void this.autoFocus();if("navigate.back"===t)return this._emitBlur(s),void(this.focusTarget=void 0);if("navigate.trigger"===t)return void this._emitTrigger(s);const n=null!==(i=getFirstNavigatable(e,s,t,{minimumDistance:this.options.minimumDirectionDistance}))&&void 0!==i?i:s;n!==s&&(this.focusTarget=n)}_emitBlur(e){const t=e.eventNames();t.includes("pointerout")?e.emit("pointerout"):t.includes("mouseout")?e.emit("mouseout"):this.options.enableFallbackOverEffect&&(e.alpha=1),e.emit("deviceout")}_emitFocus(e){const t=e.eventNames();t.includes("pointerover")?e.emit("pointerover"):t.includes("mouseover")?e.emit("mouseover"):this.options.enableFallbackOverEffect&&(e.alpha=.5),e.emit("deviceover")}_emitTrigger(e){const t=e.eventNames();t.includes("pointerdown")?e.emit("pointerdown"):t.includes("mousedown")?e.emit("mousedown"):this.options.enableFallbackOverEffect&&(e.alpha=.75),e.emit("devicedown")}_invalidateFocusedIfNeeded(e=this.getResponderStage()){if(!e)return;const t=this.focusTarget;t&&!isChildOf(t,e)&&(this._emitBlur(t),this.focusTarget=void 0)}}function isContainer(e){return"children"in e}NavigationManager.global=new NavigationManager;const b=NavigationManager.global;let _=!1;exports.Button=a,exports.GamepadDevice=GamepadDevice,exports.InputDevice=f,exports.KeyCode=d,exports.KeyboardDevice=KeyboardDevice,exports.UINavigation=b,exports.getAllNavigatables=getAllNavigatables,exports.getFirstNavigatable=getFirstNavigatable,exports.isChildOf=isChildOf,exports.isVisible=isVisible,exports.navigationIntents=y,exports.registerPixiJSNavigationMixin=function registerPixiJSNavigationMixin(e){if(_)return;_=!0;const t=e.prototype;t.navigationPriority=0,t.navigationMode="auto",Object.defineProperty(t,"isNavigatable",{get:function(){if("target"===this.navigationMode)return!0;if("none"===this.navigationMode)return!1;const e=this.eventNames();return e.length>0&&(e.includes("pointerdown")||e.includes("mousedown"))},configurable:!0,enumerable:!1})};
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/lib/devices/gamepads/buttons.ts","../src/lib/utils/events.ts","../src/lib/devices/gamepads/GamepadHapticManager.ts","../src/lib/devices/gamepads/GamepadDevice.ts","../src/lib/devices/gamepads/layouts.ts","../src/lib/devices/keyboard/keys.ts","../node_modules/tslib/tslib.es6.js","../src/lib/devices/keyboard/layouts.ts","../src/lib/devices/keyboard/KeyboardDevice.ts","../src/lib/InputDevice.ts","../src/lib/utils/isMobile.ts","../src/lib/navigation/Navigatable.ts","../src/lib/navigation/NavigationIntent.ts","../src/lib/navigation/UINavigation.ts","../src/Container.mixin.ts"],"sourcesContent":[null,null,null,null,null,null,"/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n",null,null,null,null,null,null,null,null],"names":["Axis","AxisCode","Button","Face1","Face2","Face3","Face4","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStickClick","RightStickClick","DpadUp","DpadDown","DpadLeft","DpadRight","ButtonCode","EventEmitter","constructor","this","_listeners","hasListener","e","undefined","emit","payload","_a","forEach","fn","on","event","options","once","onceFn","off","push","_b","filter","l","length","MAX_KEYFRAME_MS","GamepadHapticManager","gamepad","activeEffects","state","rumble","buzz","leftTrigger","rightTrigger","expires","hapticEvent","_c","vibrationActuator","effects","includes","call","hasTriggerRumble","play","haptic","intensity","delay","Math","max","startDelay","start","performance","now","Object","assign","end","duration","min","update","reset","hapticActuators","pulse","console","debug","JSON","stringify","maxDuration","anyHapticHasEnded","i","log","playEffect","strongMagnitude","weakMagnitude","monoIntensity","GamepadDevice","configureDefaultBinds","binds","defaultOptions","source","type","meta","lastInteraction","parse","leftJoystick","x","y","rightJoystick","button","reduce","obj","key","leftShoulder","rightShoulder","_emitter","_bindDownEmitter","_debounces","Map","id","index","layout","detectLayout","gamepadId","toLowerCase","test","haptics","supportsTriggerRumble","bindDown","name","pressedAny","btns","pressedAll","configureBinds","listener","onBindDown","offBindDown","playHaptic","effect","vibration","enabled","stopHaptics","_updatePresses","clear","joy","joystick","a","value","_scale","axes","deadzone","axisCode","abs","pressThreshold","delete","delayMs","autoRepeatDelayMs","_debounce","emitEvents","device","axis","entries","values","b","buttonCode","buttons","pressed","isPressed","_d","tdz","trigger","jdz","Date","get","set","range","scaled","sign","KeyCode","AltLeft","AltRight","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Backquote","Backslash","Backspace","BracketLeft","BracketRight","CapsLock","Comma","ContextMenu","ControlLeft","ControlRight","Delete","Digit0","Digit1","Digit2","Digit3","Digit4","Digit5","Digit6","Digit7","Digit8","Digit9","End","Enter","Equal","Escape","F1","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F2","F20","F21","F22","F23","F24","F25","F26","F27","F28","F29","F3","F30","F31","F32","F4","F5","F6","F7","F8","F9","Home","IntlBackslash","IntlRo","IntlYen","KeyA","KeyB","KeyC","KeyD","KeyE","KeyF","KeyG","KeyH","KeyI","KeyJ","KeyK","KeyL","KeyM","KeyN","KeyO","KeyP","KeyQ","KeyR","KeyS","KeyT","KeyU","KeyV","KeyW","KeyX","KeyY","KeyZ","Lang1","Lang2","MediaTrackNext","MediaTrackPrevious","MetaLeft","MetaRight","Minus","NumLock","Numpad0","Numpad1","Numpad2","Numpad3","Numpad4","Numpad5","Numpad6","Numpad7","Numpad8","Numpad9","NumpadAdd","NumpadComma","NumpadDecimal","NumpadDivide","NumpadMultiply","NumpadSubtract","OSLeft","Pause","Period","Quote","ScrollLock","Semicolon","ShiftLeft","ShiftRight","Slash","Space","Tab","VolumeDown","VolumeMute","VolumeUp","WakeUp","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","result","done","adopt","then","apply","SuppressedError","JCUKEN_LAYOUT_PATTERN","ERT_LAYOUTS_PATTERN","MACRO_AZERTY","MACRO_JCUKEN","MACRO_QWERTZ","_navigatorLayoutMap","_keyLabels","inferKeyboardLayoutFromLang","lang","getLang","n","navigator","languages","userLanguage","language","browserLanguage","tag","macro","split","startsWith","_possibleLayouts","Set","getLayoutKeyLabel","DEFAULT_LABELS","getMetaKeyLabel","AZERTY","JCUKEN","QWERTY","QWERTZ","platform","userAgent","KeyboardDevice","detected","detectLayoutOnKeypress","repeatableBinds","keys","_deferredKeydown","_layout","_layoutSource","requestKeyboardLayout","keyboard","getLayoutMap","layoutMap","q","z","layoutSource","_configureEventListeners","hapticEffect","getKeyLabel","getNavigatorKeyLabel","_toLocaleTitleCase","input","map","word","charAt","toLocaleUpperCase","slice","join","_processDeferredKeydownEvent","k","d","window","addEventListener","code","passive","capture","keyCode","repeat","detectKeyboardLayoutFromKeydown","size","keyLabel","global","InputDeviceManager","hasMouseLikePointer","matchMedia","matches","isMobile","check","vendor","substr","isTouchCapable","maxTouchPoints","clearInputOnBackground","requireDocumentFocus","_devices","_gamepadDevices","_gamepadDeviceMap","_customDevices","_hasFocus","_pollGamepads","_removeGamepad","add","devices","gamepads","custom","lastInteractedDevice","_lastInteractedDevice","Array","isArray","emitBindDown","indexOf","remove","customIndex","splice","devicesIndex","document","hasFocus","_updateLastInteracted","last","getGamepads","has","gamepadIndex","gamepadsIndex","InputDevice","getAllNavigatables","target","navigatables","child","children","isNavigatable","getFirstNavigatable","root","currentFocus","nearestDirection","minimumDistance","chooseFirstNavigatableInDirection","elements","el","parent","isVisible","focusedElement","find","sort","navigationPriority","fallbackElement","floor","random","focusedGlobalPos","getGlobalPosition","focusedBounds","getBounds","focusedCenter","left","width","top","height","otherElements","globalPos","bounds","center","element","xDistSqrd","weightedDistSquared","yDistSqrd","_e","_g","_f","_j","_h","isChildOf","xw","yw","dx","dy","visible","navigationIntents","NavigationManager","enableFallbackOverEffect","minimumDirectionDistance","_responders","focusTarget","responders","res","_rootFocused","previous","responderStage","getResponderStage","firstResponder","_emitBlur","_emitFocus","configureWithRoot","stage","_root","_propagate","popResponder","previousFocused","responder","shift","nextFocused","resignedAsFirstResponder","_invalidateFocusedIfNeeded","becameFirstResponder","autoFocus","pushResponder","Error","previousResponder","unshift","UINavigation","navigatable","isContainer","handledNavigationIntent","_handleGlobalIntent","intent","_emitTrigger","nextTarget","eventNames","alpha","_registered","registerPixiJSNavigationMixin","container","prototype","navigationMode","defineProperty","onEvents","configurable","enumerable"],"mappings":"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","x_google_ignoreList":[6]}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/lib/devices/gamepads/buttons.ts","../src/lib/utils/events.ts","../src/lib/devices/gamepads/GamepadHapticManager.ts","../src/lib/devices/gamepads/GamepadDevice.ts","../src/lib/devices/gamepads/layouts.ts","../src/lib/devices/keyboard/keys.ts","../node_modules/tslib/tslib.es6.js","../src/lib/devices/keyboard/layouts.ts","../src/lib/devices/keyboard/KeyboardDevice.ts","../src/lib/InputDevice.ts","../src/lib/utils/isMobile.ts","../src/lib/navigation/Navigatable.ts","../src/lib/navigation/NavigationIntent.ts","../src/lib/navigation/UINavigation.ts","../src/Container.mixin.ts"],"sourcesContent":[null,null,null,null,null,null,"/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n",null,null,null,null,null,null,null,null],"names":["Axis","AxisCode","Button","Face1","Face2","Face3","Face4","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStickClick","RightStickClick","DpadUp","DpadDown","DpadLeft","DpadRight","ButtonCode","EventEmitter","constructor","this","_listeners","hasListener","e","undefined","emit","payload","_a","forEach","fn","on","event","options","once","onceFn","off","push","_b","filter","l","length","MAX_KEYFRAME_MS","GamepadHapticManager","gamepad","activeEffects","state","rumble","buzz","leftTrigger","rightTrigger","expires","hapticEvent","_c","vibrationActuator","effects","includes","call","hasTriggerRumble","play","haptic","intensity","delay","Math","max","startDelay","start","performance","now","Object","assign","end","duration","min","update","reset","hapticActuators","pulse","maxDuration","anyHapticHasEnded","i","playEffect","strongMagnitude","weakMagnitude","monoIntensity","GamepadDevice","configureDefaultBinds","binds","defaultOptions","source","type","meta","lastInteraction","JSON","parse","stringify","leftJoystick","x","y","rightJoystick","button","reduce","obj","key","leftShoulder","rightShoulder","_emitter","_bindDownEmitter","_debounces","Map","id","index","layout","detectLayout","gamepadId","toLowerCase","test","haptics","supportsTriggerRumble","bindDown","name","pressedAny","btns","pressedAll","configureBinds","listener","onBindDown","offBindDown","playHaptic","effect","vibration","enabled","stopHaptics","_updatePresses","clear","joy","joystick","a","value","_scale","axes","deadzone","axisCode","abs","pressThreshold","delete","delayMs","autoRepeatDelayMs","_debounce","emitEvents","device","axis","entries","values","b","buttonCode","buttons","pressed","isPressed","_d","tdz","trigger","jdz","Date","get","set","range","scaled","sign","KeyCode","AltLeft","AltRight","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Backquote","Backslash","Backspace","BracketLeft","BracketRight","CapsLock","Comma","ContextMenu","ControlLeft","ControlRight","Delete","Digit0","Digit1","Digit2","Digit3","Digit4","Digit5","Digit6","Digit7","Digit8","Digit9","End","Enter","Equal","Escape","F1","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F2","F20","F21","F22","F23","F24","F25","F26","F27","F28","F29","F3","F30","F31","F32","F4","F5","F6","F7","F8","F9","Home","IntlBackslash","IntlRo","IntlYen","KeyA","KeyB","KeyC","KeyD","KeyE","KeyF","KeyG","KeyH","KeyI","KeyJ","KeyK","KeyL","KeyM","KeyN","KeyO","KeyP","KeyQ","KeyR","KeyS","KeyT","KeyU","KeyV","KeyW","KeyX","KeyY","KeyZ","Lang1","Lang2","MediaTrackNext","MediaTrackPrevious","MetaLeft","MetaRight","Minus","NumLock","Numpad0","Numpad1","Numpad2","Numpad3","Numpad4","Numpad5","Numpad6","Numpad7","Numpad8","Numpad9","NumpadAdd","NumpadComma","NumpadDecimal","NumpadDivide","NumpadMultiply","NumpadSubtract","OSLeft","Pause","Period","Quote","ScrollLock","Semicolon","ShiftLeft","ShiftRight","Slash","Space","Tab","VolumeDown","VolumeMute","VolumeUp","WakeUp","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","result","done","adopt","then","apply","SuppressedError","JCUKEN_LAYOUT_PATTERN","ERT_LAYOUTS_PATTERN","MACRO_AZERTY","MACRO_JCUKEN","MACRO_QWERTZ","_navigatorLayoutMap","_keyLabels","inferKeyboardLayoutFromLang","lang","getLang","n","navigator","languages","userLanguage","language","browserLanguage","tag","macro","split","startsWith","_possibleLayouts","Set","getLayoutKeyLabel","DEFAULT_LABELS","getMetaKeyLabel","AZERTY","JCUKEN","QWERTY","QWERTZ","platform","userAgent","KeyboardDevice","detected","detectLayoutOnKeypress","repeatableBinds","keys","_deferredKeydown","_layout","_layoutSource","requestKeyboardLayout","keyboard","getLayoutMap","layoutMap","q","z","layoutSource","_configureEventListeners","hapticEffect","getKeyLabel","getNavigatorKeyLabel","_toLocaleTitleCase","input","map","word","charAt","toLocaleUpperCase","slice","join","_processDeferredKeydownEvent","k","d","window","addEventListener","code","passive","capture","keyCode","repeat","detectKeyboardLayoutFromKeydown","size","keyLabel","global","InputDeviceManager","hasMouseLikePointer","matchMedia","matches","isMobile","check","vendor","substr","isTouchCapable","maxTouchPoints","clearInputOnBackground","requireDocumentFocus","_devices","_gamepadDevices","_gamepadDeviceMap","_customDevices","_hasFocus","_pollGamepads","_removeGamepad","add","devices","gamepads","custom","lastInteractedDevice","_lastInteractedDevice","Array","isArray","emitBindDown","indexOf","remove","customIndex","splice","devicesIndex","document","hasFocus","_updateLastInteracted","last","getGamepads","has","gamepadIndex","gamepadsIndex","InputDevice","getAllNavigatables","target","navigatables","child","children","isNavigatable","getFirstNavigatable","root","currentFocus","nearestDirection","minimumDistance","chooseFirstNavigatableInDirection","elements","el","parent","isVisible","focusedElement","find","sort","navigationPriority","fallbackElement","floor","random","focusedGlobalPos","getGlobalPosition","focusedBounds","getBounds","focusedCenter","left","width","top","height","otherElements","globalPos","bounds","center","element","xDistSqrd","weightedDistSquared","yDistSqrd","_e","_g","_f","_j","_h","isChildOf","xw","yw","dx","dy","visible","navigationIntents","NavigationManager","enableFallbackOverEffect","minimumDirectionDistance","_responders","focusTarget","responders","res","_rootFocused","previous","responderStage","getResponderStage","firstResponder","_emitBlur","_emitFocus","configureWithRoot","stage","_root","_propagate","popResponder","previousFocused","responder","shift","nextFocused","resignedAsFirstResponder","_invalidateFocusedIfNeeded","becameFirstResponder","autoFocus","pushResponder","Error","previousResponder","unshift","UINavigation","navigatable","console","debug","isContainer","handledNavigationIntent","_handleGlobalIntent","intent","_emitTrigger","nextTarget","eventNames","alpha","_registered","registerPixiJSNavigationMixin","container","prototype","navigationMode","defineProperty","onEvents","configurable","enumerable"],"mappings":"aAAO,MAAMA,EACG,EADHA,EAEG,EAFHA,EAGI,EAHJA,EAII,EAIJC,EAAW,CACpB,gBACA,iBACA,cACA,gBACA,iBACA,kBACA,eACA,kBAISC,EAAS,CAClBC,MAAO,EACPC,MAAO,EACPC,MAAO,EACPC,MAAO,EACPC,aAAc,EACdC,cAAe,EACfC,YAAa,EACbC,aAAc,EACdC,KAAM,EACNC,MAAO,EACPC,eAAgB,GAChBC,gBAAiB,GACjBC,OAAQ,GACRC,SAAU,GACVC,SAAU,GACVC,UAAW,IAKFC,EAAa,CACtB,QACA,QACA,QACA,QACA,eACA,gBACA,cACA,eACA,OACA,QACA,iBACA,kBACA,SACA,WACA,WACA,mBCrDSC,aAAb,WAAAC,GAEqBC,KAAUC,WAAuD,CAAE,EAE7E,WAAAC,CAAoCC,GAEvC,YAA8BC,IAAvBJ,KAAKC,WAAWE,GAGpB,IAAAE,CAA4BF,EAAMG,iBAErCC,EAAAP,KAAKC,WAAWE,mBAAIK,SAAUC,GAAOA,EAAGH,KAGrC,EAAAI,CAA0BC,EAAUF,EAA+BG,WAItE,GAFKZ,KAAKC,WAAWU,KAAQX,KAAKC,WAAWU,GAAS,IAEjDC,eAAAA,EAASC,KACd,CACI,MAAMC,OAAUX,IAEZM,EAAGN,GACHH,KAAKe,IAAKJ,EAAOG,OAAQ,EAGP,QAAtBP,EAAAP,KAAKC,WAAWU,UAAMP,IAAAG,GAAAA,EAAES,KAAKF,OAChC,MAC0B,QAAtBG,EAAAjB,KAAKC,WAAWU,UAAMP,IAAAa,GAAAA,EAAED,KAAKP,GAG/B,GAAAM,CAA2BJ,EAAUF,WAExCT,KAAKC,WAAWU,QAAgBP,IAAPK,GAAqD,QAAtBF,EAAAP,KAAKC,WAAWU,UAAMP,IAAAG,OAAlCH,EAAkCG,EAAEW,QAAQC,GAAMA,IAAMV,IAC5D,KAAb,QAAtBQ,EAAAjB,KAAKC,WAAWU,UAAMP,IAAAa,OAAAb,EAAAa,EAAEG,UAAepB,KAAKC,WAAWU,QAASP,IC5B7E,MAAMiB,EAAkB,UAEXC,qBAmBT,WAAAvB,CAAmBwB,aAbXvB,KAAawB,cAAyB,GAKtCxB,KAAAyB,MAAQ,CACZC,OAAQ,EACRC,KAAM,EACNC,YAAa,EACbC,aAAc,EACdC,QAAS,GAKT9B,KAAKuB,QAAUA,EAKXvB,KAAK+B,YAHL,sBAAuBR,GAGiD,QAArDS,EAA2C,kBAA1CzB,EAAAgB,EAAQU,wCAA2BC,eAAO9B,IAAAa,OAAAb,EAAAa,EAAEkB,gBAAQ/B,IAAA4B,OAAA5B,EAAA4B,EAAAI,KAAAnB,EAAG,mBACrE,iBACA,mBAEcb,EAExBJ,KAAKqC,iBAAwC,mBAArBrC,KAAK+B,YAG1B,IAAAO,CAAKC,EAAsBC,SAE9B,MAAMC,EAAQC,KAAKC,IAAI,EAAwB,QAArBpC,EAAAgC,EAAOK,kBAAcxC,IAAAG,EAAAA,EAAA,GACzCsC,EAAQC,YAAYC,MAAQN,EAElCzC,KAAKwB,cAAcR,KACZgC,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAAAV,GACH,CAAAM,QACAK,IAAKL,EAAQH,KAAKC,IAAIJ,EAAOY,SAAU,GACvCP,gBAAYxC,KAGZJ,KAAKwC,YAAcA,IAEnBxC,KAAKwC,UAAYE,KAAKC,IAAI,EAAGD,KAAKU,IAAI,EAAGZ,KAGxCC,GAAuC,IAA9BzC,KAAKwB,cAAcJ,QAAcpB,KAAKqD,SAIjD,KAAAC,WAEHtD,KAAKwB,cAAcJ,OAAS,EAC5BpB,KAAKyB,MAAMC,OAAS,EACpB1B,KAAKyB,MAAME,KAAO,EAClB3B,KAAKyB,MAAMG,YAAc,EACzB5B,KAAKyB,MAAMI,aAAe,EAEtB7B,KAAKuB,QAAQU,kBAEbjC,KAAKuB,QAAQU,kBAAkBqB,QAEzBtD,KAAKuB,QAAgBgC,kBAIuB,QAAlDtC,EAAwC,UAAvCjB,KAAKuB,QAAgBgC,gBAAgB,UAAEnD,IAAAG,OAAAH,EAAAG,EAAEiD,aAAQpD,IAAAa,GAAAA,EAAAmB,KAAA7B,EAAA,EAAG,MAItD,MAAA8C,WAEH,MAAMN,EAAMD,YAAYC,MAExB,IAAIrB,EAAS,EACTC,EAAO,EACPC,EAAc,EACdC,EAAe,EACf4B,EAAc,EACdC,GAAoB,EAExB,IAAK,IAAIC,EAAI,EAAGA,EAAI3D,KAAKwB,cAAcJ,OAAQuC,IAC/C,CACI,MAAMpB,EAASvC,KAAKwB,cAAcmC,GAE9BpB,EAAOW,KAAOH,EAEdW,GAAoB,EAIpBnB,EAAOM,MAAQE,IAMM,mBAArB/C,KAAK+B,cAEDQ,EAAOX,aAAeW,EAAOX,YAAcA,IAAaA,EAAcW,EAAOX,aAC7EW,EAAOV,cAAgBU,EAAOV,aAAeA,IAAcA,EAAeU,EAAOV,eAGrFU,EAAOb,QAAUa,EAAOb,OAASA,IAAQA,EAASa,EAAOb,QACzDa,EAAOZ,MAAQY,EAAOZ,KAAOA,IAAMA,EAAOY,EAAOZ,MACjDY,EAAOW,IAAMH,EAAMU,IAAaA,EAAclB,EAAOW,IAAMH,GAClE,CASD,GAPIW,IAGA1D,KAAKwB,cAAgBxB,KAAKwB,cAAcN,QAAQqB,GAAWA,EAAOW,KAAOH,KAKzE/C,KAAKyB,MAAMC,SAAWA,GACnB1B,KAAKyB,MAAME,OAASA,GACpB3B,KAAKyB,MAAMG,cAAgBA,GAC3B5B,KAAKyB,MAAMI,eAAiBA,GAE3B7B,KAAKyB,MAAMK,SAAWiB,GACnBrB,EAASC,EAAOC,EAAcC,EAAe,EASpD,GALA7B,KAAKyB,MAAMC,OAASA,EACpB1B,KAAKyB,MAAME,KAAOA,EAClB3B,KAAKyB,MAAMG,YAAcA,EACzB5B,KAAKyB,MAAMI,aAAeA,OAEDzB,IAArBJ,KAAK+B,YAEL/B,KAAKyB,MAAMK,QAAUiB,EAAM1B,EAE3BrB,KAAKuB,QAAQU,kBAAkB2B,WAAW5D,KAAK+B,YAAa,CACxDoB,SAAU9B,EACVwC,gBAAiBlC,EAAO3B,KAAKwC,UAC7BsB,cAAepC,EAAS1B,KAAKwC,UAC7BZ,YAAaA,EAAc5B,KAAKwC,UAChCX,aAAcA,EAAe7B,KAAKwC,iBAGrC,GAAKxC,KAAKuB,QAAgBgC,gBAC/B,CACI,MAAMJ,EAAWT,KAAKU,IAAIK,EAAapC,GACjC0C,EAAgBrB,KAAKC,IAAIjB,EAAQC,GAAQ3B,KAAKwC,UAEpDxC,KAAKyB,MAAMK,QAAUiB,EAAMU,EAGuB,QAAlDxC,EAAwC,UAAvCjB,KAAKuB,QAAgBgC,gBAAgB,UAAEnD,IAAAG,OAAAH,EAAAG,EAAEiD,aAAQpD,IAAAa,GAAAA,EAAAmB,KAAA7B,EAAAwD,EAAeZ,EACpE,SC3GAa,cAKF,4BAAOC,CACVC,GAGAlE,KAAKmE,eAAeD,MACblB,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAAAjD,KAAKmE,eAAeD,OACpBA,GAqKX,WAAAnE,CAA2BqE,SAAApE,KAAMoE,OAANA,EAnEXpE,KAAIqE,KAAG,UAKPrE,KAAIsE,KAAwB,CAAE,EAKvCtE,KAAAuE,gBAAkBzB,YAAYC,MAiB9B/C,KAAAY,QACH4D,KAAKC,MAAOD,KAAKE,UAAWV,cAAcG,iBAI9BnE,KAAY2E,aAAG,CAAEC,EAAG,EAAGC,EAAG,GAC1B7E,KAAa8E,cAAG,CAAEF,EAAG,EAAGC,EAAG,GAKpC7E,KAAA+E,OACH,IAAIlF,KAAelB,GAAWqG,QAAQ,CAACC,EAAKC,KAExCD,EAAIC,IAAO,EAEJD,IACR,IAKAjF,KAAW4B,YAAG,EAGd5B,KAAY6B,aAAG,EAGf7B,KAAYmF,aAAG,EAGfnF,KAAaoF,cAAG,EAKNpF,KAAAqF,SAAW,IAAIvF,aACfE,KAAAsF,iBAAmB,IAAIxF,aACvBE,KAAAuF,WAAa,IAAIC,IAI9BxF,KAAKyF,GAAK,UAAYrB,EAAOsB,MAC7B1F,KAAK2F,OAAmC,QAA1BpF,ECrNhB,SAAUqF,aAAaC,GAEzB,MAAMJ,GAAMI,GAAa,IAAIC,cAE7B,MAAI,qBAAqBC,KAAKN,GAAY,cACtC,qCAAqCM,KAAKN,GAAY,aACtD,2BAA2BM,KAAKN,GAAY,oBAC5C,2BAA2BM,KAAKN,GAAY,oBAC5C,yBAAyBM,KAAKN,GAAY,gBAC1C,0CAA0CM,KAAKN,GAAY,sBAC3D,sCAAsCM,KAAKN,GAAY,gBACvD,uCAAuCM,KAAKN,GAAY,gBACxD,mDAAmDM,KAAKN,GAAY,gBACpE,2CAA2CM,KAAKN,GAAY,mBAC5D,2BAA2BM,KAAKN,GAAY,cAC5C,2DAA2DM,KAAKN,GAAY,WAC5E,qBAAqBM,KAAKN,GAAY,gBAA1C,CAGJ,CDkMsBG,CAAcxB,aAAMhE,EAANgE,EAAQqB,WAAIrF,IAAAG,EAAAA,EAAI,UAC5CP,KAAKgG,QAAU,IAAI1E,qBAAqB8C,GACxCpE,KAAKiG,sBAAwBjG,KAAKgG,QAAQ3D,iBAMvC,QAAA6D,CAAUC,GAEb,YAAkC/F,IAA7BJ,KAAKY,QAAQsD,MAAMiC,IAEjBnG,KAAKoG,WAAYpG,KAAKY,QAAQsD,MAAMiC,IAIxC,UAAAC,CAAYC,GAEf,IAAM,IAAI1C,EAAI,EAAGA,EAAI0C,EAAKjF,OAAQuC,IAE9B,GAAK3D,KAAK+E,OAAOsB,EAAK1C,IAAO,OAAO,EAGxC,OAAO,EAIJ,UAAA2C,CAAYD,GAEf,IAAM,IAAI1C,EAAI,EAAGA,EAAI0C,EAAKjF,OAAQuC,IAE9B,IAAM3D,KAAK+E,OAAOsB,EAAK1C,IAAO,OAAO,EAGzC,OAAO,EAIJ,cAAA4C,CACHrC,GAGAlE,KAAKY,QAAQsD,MACNlB,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAAAjD,KAAKY,QAAQsD,OACbA,GAOJ,EAAAxD,CACHC,EACA6F,EACA5F,GAKA,OAFAZ,KAAKqF,SAAS3E,GAAIC,EAAO6F,EAAU5F,GAE5BZ,KAIJ,GAAAe,CACHJ,EACA6F,GAKA,OAFAxG,KAAKqF,SAAStE,IAAIJ,EAAO6F,GAElBxG,KAIJ,UAAAyG,CACHN,EACAK,EACA5F,GAKA,OAFAZ,KAAKsF,iBAAiB5E,GAAIyF,EAAMK,EAAU5F,GAEnCZ,KAIJ,WAAA0G,CACHP,EACAK,GAKA,OAFAxG,KAAKsF,iBAAiBvE,IAAKoF,EAAMK,GAE1BxG,KAQJ,UAAA2G,CAAWC,GAER5G,KAAKY,QAAQiG,UAAUC,SAE7B9G,KAAKgG,QAAQ1D,KAAKsE,EAAQ5G,KAAKY,QAAQiG,UAAUrE,WAM9C,WAAAuE,GAEH/G,KAAKgG,QAAQ1C,QAKV,MAAAD,CAAQe,EAAiBrB,GAE5B/C,KAAKgH,eAAgB5C,EAAQrB,GAC7B/C,KAAKoE,OAASA,EACdpE,KAAKgG,QAAQ3C,SAGV,KAAA4D,GAEHjH,KAAK+E,OAAS,IAAIpG,KAAakB,GAAYmF,QAAQ,CAACC,EAAKC,KAErDD,EAAIC,IAAO,EAEJD,IACR,IAEHjF,KAAKgG,QAAQ1C,QAGT,cAAA0D,CAAgB5C,EAAiBrB,qBAErC,MAEMmE,EAAMlH,KAAKY,QAAQuG,SAGzB,IAAM,IAAIC,EAAI,EAAGA,EALC,EAKcA,IAChC,CACI,MAAMC,EAAQC,OAAQlD,EAAOmD,KAAKH,GAAIF,EAAIM,UACpCC,EAAW9I,EAAa,EAAJyI,GAAUC,EAAQ,EAAI,EAAI,IAEpD,GAAK3E,KAAKgF,IAAKL,GAAUH,EAAIS,eAEnB3H,KAAK+E,OAAO0C,IAEdzH,KAAKuF,WAAWqC,OAAQH,GAG5BzH,KAAK+E,OAAO0C,IAAY,MAG5B,CACI,MAAMI,EAAUX,EAAIY,mBAAmB9H,KAAK+E,OAAO0C,IAEnD,GAAKzH,KAAK+H,UAAWN,EAAUI,IAAa7H,KAAK+E,OAAO0C,GAEpD,SAGJzH,KAAK+E,OAAO0C,IAAY,EACxBzH,KAAKuE,gBAAkBxB,EAGlB/C,KAAKY,QAAQoH,aAEThI,KAAKqF,SAASnF,YAAauH,IAE5BzH,KAAKqF,SAAShF,KAAMoH,EAAU,CAC1BQ,OAAQjI,KACRkI,KAAMd,EACNK,aAKRzE,OAAOmF,QAASnI,KAAKY,QAAQsD,OAAQ1D,SAAQ,EAAG2F,EAAMiC,MAElD,IAAMA,EAAOjG,SAASsF,GAAY,OAElC,MAAM9G,EAA+B,CACjCsH,OAAQjI,KACRqE,KAAM,OACN6D,KAAMd,EACNK,WACAtB,KAAMA,GAGVnG,KAAKsF,iBAAiBjF,KAAM8F,EAAMxF,GAClCX,KAAKqF,SAAShF,KAAM,WAAYM,EAAO,IAGlD,CACJ,CAGD,IAAK,IAAIM,EAAK,EAAGA,EA/DG,GA+DeA,IACnC,CACI,IAAIoH,EAAIpH,EAER,MAAMqH,EAAazI,EAAWwI,GAE9B,GAAKrI,KAAK+E,OAAOuD,MAAoC,QAApB/H,EAAA6D,EAAOmE,QAAQtH,UAAKb,IAAAG,OAAAH,EAAAG,EAAAiI,SAEjD,SAGJxI,KAAKuE,gBAAkBxB,EAGvB,MAAM0F,EAAuC,QAA3BC,EAAkB,QAAlB1G,EAAAoC,EAAOmE,QAAQtH,UAAGb,IAAA4B,OAAA5B,EAAA4B,EAAEwG,eAAOpI,IAAAsI,GAAAA,EAC7C1I,KAAK+E,OAAOuD,GAAcG,EAErBA,GAAazI,KAAKY,QAAQoH,aAGtBhI,KAAKqF,SAASnF,YAAaoI,IAE5BtI,KAAKqF,SAAShF,KAAMiI,EAAY,CAC5BL,OAAQjI,KACR+E,OAAQsD,EACRC,eAKRtF,OAAOmF,QAASnI,KAAKY,QAAQsD,OAAQ1D,SAAQ,EAAG2F,EAAMoC,MAElD,IAAMA,EAAQpG,SAASmG,GAAc,OAErC,MAAM3H,EAA+B,CACjCsH,OAAQjI,KACRqE,KAAM,SACNU,OAAQsD,EACRC,aACAnC,KAAMA,GAGVnG,KAAKsF,iBAAiBjF,KAAM8F,EAAMxF,GAClCX,KAAKqF,SAAShF,KAAM,WAAYM,EAAO,IAGlD,CAGD,MAAMgI,EAAM3I,KAAKY,QAAQgI,QAAQpB,SACjCxH,KAAK4B,YAAc0F,OAAQlD,EAAOmE,QAAQ3J,EAAOO,aAAakI,MAAOsB,GACrE3I,KAAK6B,aAAeyF,OAAQlD,EAAOmE,QAAQ3J,EAAOQ,cAAciI,MAAOsB,GACvE3I,KAAKmF,aAAemC,OAAQlD,EAAOmE,QAAQ3J,EAAOK,cAAcoI,MAAOsB,GACvE3I,KAAKoF,cAAgBkC,OAAQlD,EAAOmE,QAAQ3J,EAAOM,eAAemI,MAAOsB,GAGzE,MAAME,EAAM3B,EAAIM,SAChBxH,KAAK2E,aAAaC,EAAI0C,iBAAQlD,EAAOmD,KAAK7I,kBAAoB,EAAGmK,GACjE7I,KAAK2E,aAAaE,EAAIyC,iBAAQlD,EAAOmD,KAAK7I,kBAAoB,EAAGmK,GACjE7I,KAAK8E,cAAcF,EAAI0C,iBAAQlD,EAAOmD,KAAK7I,kBAAqB,EAAGmK,GACnE7I,KAAK8E,cAAcD,EAAIyC,iBAAQlD,EAAOmD,KAAK7I,kBAAqB,EAAGmK,GAO/D,SAAAd,CAAW7C,EAAkB2C,SAEjC,MAAM9E,EAAM+F,KAAK/F,MAEjB,OACgC,QAA1BxC,EAAAP,KAAKuF,WAAWwD,IAAK7D,UAAK9E,IAAAG,EAAAA,EAAI,GAAMwC,IAG1C/C,KAAKuF,WAAWyD,IAAK9D,EAAKnC,EAAM8E,IAEzB,IAIf,SAASP,OAAQD,EAAe4B,GAE5B,MAAMC,GAAUxG,KAAKgF,IAAIL,GAAS4B,EAAM,KAAOA,EAAM,GAAKA,EAAM,IAEhE,OAAOC,GAAU,GAAKA,GAAU,EAC1BxG,KAAKyG,KAAK9B,GAAS6B,EACnBA,EAAS,EAAuB,EAAnBxG,KAAKyG,KAAK9B,GAAa,CAC9C,CAvckBrD,cAAAG,eAAiB,CAK3B6D,YAAY,EAKZb,SAAU,CASNK,SAAU,CAAC,EAAG,GASdG,eAAgB,GAQhBG,kBAAmB,CAAC,IAAK,MAM7Bc,QAAS,CASLpB,SAAU,CAAC,EAAG,IAMlBX,UAAW,CAMPC,SAAS,EAOTtE,UAAW,GASf0B,MAAO,CACH,mBAAoB,CAAC,SACrB,gBAAiB,CAAE,SACnB,cAAe,CAAE,SAAU,eAC3B,gBAAiB,CAAE,WAAY,iBAC/B,gBAAiB,CAAE,WAAY,iBAC/B,iBAAkB,CAAE,YAAa,oBEnKhC,MAAAkF,EAAU,CACnBC,QAAS,UACTC,SAAU,WACVC,UAAW,YACXC,UAAW,YACXC,WAAY,aACZC,QAAS,UACTC,UAAW,YACXC,UAAW,YACXC,UAAW,YACXC,YAAa,cACbC,aAAc,eACdC,SAAU,WACVC,MAAO,QACPC,YAAa,cACbC,YAAa,cACbC,aAAc,eACdC,OAAQ,SACRC,OAAQ,SACRC,OAAQ,SACRC,OAAQ,SACRC,OAAQ,SACRC,OAAQ,SACRC,OAAQ,SACRC,OAAQ,SACRC,OAAQ,SACRC,OAAQ,SACRC,OAAQ,SACRC,IAAK,MACLC,MAAO,QACPC,MAAO,QACPC,OAAQ,SACRC,GAAI,KACJC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,GAAI,KACJC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,GAAI,KACJC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,KAAM,OACNC,cAAe,gBACfC,OAAQ,SACRC,QAAS,UACTC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,MAAO,QACPC,MAAO,QACPC,eAAgB,iBAChBC,mBAAoB,qBACpBC,SAAU,WACVC,UAAW,YACXC,MAAO,QACPC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,UAAW,YACXC,YAAa,cACbC,cAAe,gBACfC,aAAc,eACdC,eAAgB,iBAChBC,eAAgB,iBAChBC,OAAQ,SACRC,MAAO,QACPC,OAAQ,SACRC,MAAO,QACPC,WAAY,aACZC,UAAW,YACXC,UAAW,YACXC,WAAY,aACZC,MAAO,QACPC,MAAO,QACPC,IAAK,MACLC,WAAY,aACZC,WAAY,aACZC,SAAU,WACVC,OAAQ,UClBL,SAASC,UAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,UAAU5K,GAAS,IAAM6K,KAAKL,EAAUM,KAAK9K,GAAQ,CAAG,MAAOlH,GAAK6R,EAAO7R,GAAO,CAC3F,SAASiS,SAAS/K,GAAS,IAAM6K,KAAKL,EAAiB,MAAExK,GAAU,CAAC,MAAOlH,GAAK6R,EAAO7R,GAAO,CAC9F,SAAS+R,KAAKG,GAAUA,EAAOC,KAAOP,EAAQM,EAAOhL,OAJzD,SAASkL,MAAMlL,GAAS,OAAOA,aAAiBuK,EAAIvK,EAAQ,IAAIuK,GAAE,SAAUG,GAAWA,EAAQ1K,EAAO,GAAM,CAI1CkL,CAAMF,EAAOhL,OAAOmL,KAAKP,UAAWG,SAAY,CAC9GF,MAAML,EAAYA,EAAUY,MAAMf,EAASC,GAAc,KAAKQ,OACtE,GACA,CAqMkD,mBAApBO,iBAAiCA,gBCzT/D,MAAMC,EAAwB,uEACxBC,EAAsB,SAEtBC,EAAe,CACjB,KACA,KACA,MAGEC,EAAe,CACjB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAGEC,EAAe,CACjB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAMJ,IAAIC,EAKAC,EAuDY,SAAAC,4BACZC,EAtDJ,SAASC,gBAEL,MAAMC,EAAIC,UAEV,OAAgB,UAAXD,EAAEE,iBAASnT,IAAAG,OAAAH,EAAAG,EAAEa,QAEPiS,EAAEE,UAAU,GAGhBF,EAAEG,cAAgBH,EAAEI,UAAYJ,EAAEK,eAC7C,CA4C+BN,IAG3B,MAAMO,GAAOR,GAAQ,IAAIrN,cACnB8N,EAAQD,EAAIE,MAAO,KAAM,GAE/B,OACIhB,EAAa1Q,SAAUyR,IACxBD,EAAIG,WAAW,SACT,SAGLhB,EAAa3Q,SAASyR,GACjB,SAGLb,EAAa5Q,SAASyR,IACvBD,EAAIG,WAAW,WACT,SAEF,QACX,CAEA,MAAMC,EAAmB,IAAIC,IAAoB,CAAE,SAAU,SAAU,SAAU,WAwGjE,SAAAC,kBAAmB/O,EAAcS,WAE7C,QAAmBvF,IAAf6S,EACJ,CAEI,MAAMiB,EAA0C,CAC5C1K,UAAW,IACXC,WAAY,IACZC,QAAS,IACTH,UAAW,IACXF,QAAS,WACTC,SAAU,YACVK,UAAW,IACXC,UAAW,KACXC,UAAW,YACXC,YAAa,IACbC,aAAc,IACdC,SAAU,WACVC,MAAO,IACPC,YAAa,eACbC,YAAa,YACbC,aAAc,aACdC,OAAQ,SACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,IAAK,MACLC,MAAO,QACPC,MAAO,IACPC,OAAQ,MACRC,GAAI,KACJW,GAAI,KACJW,GAAI,KACJI,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJ9B,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLE,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLE,IAAK,MACLC,IAAK,MACLC,IAAK,MACLO,KAAM,OACNC,cAAe,KACfC,OAAQ,KACRC,QAAS,IACTC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,MAAO,aACPC,MAAO,aACPC,eAAgB,aAChBC,mBAAoB,iBACpBC,SAAU,QAAU6E,kBACpB5E,UAAW,SAAW4E,kBACtB3E,MAAO,IACPC,QAAS,WACTC,QAAS,OACTC,QAAS,OACTC,QAAS,OACTC,QAAS,OACTC,QAAS,OACTC,QAAS,OACTC,QAAS,OACTC,QAAS,OACTC,QAAS,OACTC,QAAS,OACTC,UAAW,IACXC,YAAa,IACbC,cAAe,IACfC,aAAc,IACdC,eAAgB,IAChBC,eAAgB,IAChBC,OAAQ,UACRC,MAAO,QACPC,OAAQ,IACRC,MAAO,IACPC,WAAY,cACZC,UAAW,IACXC,UAAW,aACXC,WAAY,cACZC,MAAO,IACPC,MAAO,QACPC,IAAK,MACLC,WAAY,cACZC,WAAY,cACZC,SAAU,YACVC,OAAQ,WA0DZyB,EAAa,CACTmB,OAxDoD,CACpD5G,KAAM,IACNgB,KAAM,IACNM,KAAM,IACNG,KAAM,IACNtF,UAAW,IACXG,YAAa,IACbC,aAAc,KAkDdsK,OA/CoD,CACpD7G,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNtF,UAAW,IACXG,YAAa,IACbC,aAAc,IACdE,MAAO,IACP2G,OAAQ,IACRC,MAAO,IACPE,UAAW,IACXG,MAAO,KAcPoD,OAAQJ,EACRK,OAZoD,CACpDvF,KAAM,IACNC,KAAM,IACNnF,YAAa,IACbC,aAAc,IACdmH,MAAO,KASd,CAED,OAC4B,kBADrB3Q,EAAA0S,EAAWtN,GAAQT,kBACvB+N,EAAmB,OAAE/N,UAAI9E,IAAAa,EAAAA,EACzBiE,CACP,CAEA,SAASiP,8BAEL,MAAMd,EAAIC,UACJkB,EAAwC,QAA7BvT,EAAU,QAAVV,EAAA8S,EAAEmB,gBAAQpU,IAAAG,OAAAH,EAAAG,EAAEuF,qBAAiB1F,IAAAa,EAAAA,EAAA,GACxCwT,EAA0C,QAA9B/L,EAAW,QAAX1G,EAAAqR,EAAEoB,iBAASrU,IAAA4B,OAAA5B,EAAA4B,EAAE8D,qBAAiB1F,IAAAsI,EAAAA,EAAA,GAChD,OAAI8L,EAASrS,SAAS,OAAe,IACjCqS,EAASrS,SAAS,QAClBqS,EAASrS,SAAS,SADe,IAEjCsS,EAAUtS,SAAS,WAAmB,SACtCsS,EAAUtS,SAAS,WAAasS,EAAUtS,SAAS,QAAgB,IAEhE,GACX,OCjaauS,eAuFT,WAAA3U,GAnFgBC,KAAIqE,KAAG,WACPrE,KAAEyF,GAAG,WAKLzF,KAAIsE,KAAwB,CAAE,EAGvCtE,KAAAuE,gBAAkBzB,YAAYC,MAQ9B/C,KAAQ2U,UAAY,EAKpB3U,KAAAY,QAAU,CAKboH,YAAY,EAUZ4M,wBAAwB,EAOxB1Q,MAAO,CACH,gBAAkB,CAAE,SAAU,aAC9B,gBAAkB,CAAE,YAAa,QACjC,gBAAkB,CAAE,YAAa,QACjC,iBAAmB,CAAE,aAAc,QACnC,mBAAqB,CAAE,QAAS,SAChC,cAAgB,CAAE,UAAW,SASjC2Q,gBAAiB,CACb,gBACA,gBACA,iBACA,gBAKD7U,KAAAkF,IACHlC,OAAO8R,KAAK1L,GAASpE,QAAQ,CAACC,EAAKC,KAE/BD,EAAIC,IAAO,EAEJD,IACR,IAEUjF,KAAAqF,SAAW,IAAIvF,aACfE,KAAAsF,iBAAmB,IAAIxF,aAIhCE,KAAgB+U,iBAAoB,GAIxC/U,KAAKgV,QAAU9B,8BACflT,KAAKiV,cAAgB,gBDzDPC,yEAElB,MAAM7B,EAAIC,UAEV,GAAMD,EAAE8B,UAAa9B,EAAE8B,SAASC,aAKhC,IAEI,MAAMC,QAAkBhC,EAAE8B,SAASC,eACnCpC,EAAsBqC,EAEtB,MAAMC,EAAID,EAAUtM,IAAI,QAClB3B,EAAIiO,EAAUtM,IAAI,QAClBwM,EAAIF,EAAUtM,IAAI,QAExB,GAAU,MAANuM,GAAmB,MAANC,GAAmB,MAANnO,EAAW,MAAO,SAChD,GAAU,MAANkO,GAAmB,MAANC,GAAmB,MAANnO,EAAW,MAAO,SAChD,GAAU,MAANkO,GAAmB,MAANC,GAAmB,MAANnO,EAAW,MAAO,SAChD,GAAU,MAANkO,GAAmB,MAANC,GAAmB,MAANnO,EAAW,MAAO,QACnD,CACD,MACA7G,GAEC,IAGJ,CC+BO2U,GAAwB1C,MAAM7M,SAEVvF,IAAXuF,IAEL3F,KAAKiV,cAAgB,UACrBjV,KAAKgV,QAAUrP,EAEf3F,KAAKY,QAAQgU,wBAAyB,EAEtC5U,KAAKqF,SAAShF,KAAM,iBAAkB,CAClCmV,aAAc,UACd7P,OAAQA,EACRsC,OAAQjI,OACV,IAGNA,KAAKyV,2BAqBT,UAAW9P,GAEP,OAAO3F,KAAKgV,QAEhB,UAAWrP,CAAQ0B,GAEfrH,KAAKiV,cAAgB,SACrBjV,KAAKgV,QAAU3N,EACfrH,KAAKY,QAAQgU,wBAAyB,EAI1C,gBAAWY,GAEP,OAAOxV,KAAKiV,cAMT,QAAA/O,CAAUC,GAEb,YAAkC/F,IAA7BJ,KAAKY,QAAQsD,MAAMiC,IAEjBnG,KAAKoG,WAAYpG,KAAKY,QAAQsD,MAAMiC,IAIxC,UAAAC,CAAY0O,GAEf,IAAM,IAAInR,EAAI,EAAGA,EAAImR,EAAK1T,OAAQuC,IAE9B,GAAK3D,KAAKkF,IAAI4P,EAAKnR,IAAO,OAAO,EAGrC,OAAO,EAIJ,UAAA2C,CAAYwO,GAEf,IAAM,IAAInR,EAAI,EAAGA,EAAImR,EAAK1T,OAAQuC,IAE9B,IAAM3D,KAAKkF,IAAI4P,EAAKnR,IAAO,OAAO,EAGtC,OAAO,EAIJ,cAAA4C,CACHrC,GAGAlE,KAAKY,QAAQsD,MACNlB,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAAAjD,KAAKY,QAAQsD,OACbA,GASJ,UAAAyC,CAAY+O,IAQZ,EAAAhV,CACHC,EACA6F,EACA5F,GAKA,OAFAZ,KAAKqF,SAAS3E,GAAIC,EAAO6F,EAAU5F,GAE5BZ,KAIJ,GAAAe,CACHJ,EACA6F,GAKA,OAFAxG,KAAKqF,SAAStE,IAAIJ,EAAO6F,GAElBxG,KAIJ,UAAAyG,CACHN,EACAK,EACA5F,GAKA,OAFAZ,KAAKsF,iBAAiB5E,GAAIyF,EAAMK,EAAU5F,GAEnCZ,KAIJ,WAAA0G,CACHP,EACAK,GAKA,OAFAxG,KAAKsF,iBAAiBvE,IAAKoF,EAAMK,GAE1BxG,KAkBJ,WAAA2V,CAAazQ,EAAcS,SAE9B,OAAKA,EAAgBsO,kBAAmB/O,EAAKS,GAG5C,QADMpF,ED7ET,SAAUqV,qBAAsB1Q,GAElC,MAAMmC,EAAQ2L,aAAmB5S,EAAnB4S,EAAqBjK,IAAK7D,GAExC,YAAiB9E,IAAViH,OAAsBjH,EAiOjC,SAASyV,mBAAoBC,GAEzB,OAAOA,EACFjC,MAAM,OACNkC,KAAKC,GAAQA,EAAKC,OAAO,GAAGC,oBAAsBF,EAAKG,MAAM,KAC7DC,KAAK,IACd,CAvO6CP,CAAoBxO,EACjE,CCwEeuO,CAAsB1Q,UAC5B9E,IAAAG,EAAAA,EAAA0T,kBAAmB/O,EAAKS,QAAAA,EAAU3F,KAAKgV,SAMrC,MAAA3R,CAAQN,GAEP/C,KAAK+U,iBAAiB3T,OAAS,IAE/BpB,KAAK+U,iBAAiBvU,SAAUG,GAAUX,KAAKqW,6BAA6B1V,KAC5EX,KAAK+U,iBAAiB3T,OAAS,GAOhC,KAAA6F,GAEH,IAAK,MAAM/B,KAAOlC,OAAO8R,KAAK1L,GAE1BpJ,KAAKkF,IAAIA,IAAkB,EAM3B,wBAAAuQ,GAEJ,MAAMa,EAAItW,KAAKkF,IACTqR,EAAIvW,KAAK+U,iBAEfyB,OAAOC,iBACH,WACAtW,IAEImW,EAAEnW,EAAEuW,OAAQ,EACZH,EAAEvV,KAAMb,GACRH,KAAKuE,gBAAkBzB,YAAYC,KAAK,GAE5C,CAAE4T,SAAS,EAAMC,SAAS,IAG9BJ,OAAOC,iBACH,SACAtW,IAEImW,EAAEnW,EAAEuW,OAAQ,EACZ1W,KAAKuE,gBAAkBzB,YAAYC,KAAK,GAE5C,CAAE4T,SAAS,EAAMC,SAAS,IAI1B,4BAAAP,CAA8BlW,GAElC,MAAM0W,EAAU1W,EAAEuW,KAElB,IAAMvW,EAAE2W,OACR,CAEI,GACI9W,KAAKY,QAAQgU,wBACK,SAAvB5U,KAAKiV,cAEJ,CACI,MAAMtP,EDjPhB,SAAUoR,gCACZpW,GAGA,MAAMuE,EAAMvE,EAAMuE,IAAIY,cAChB4Q,EAAO/V,EAAM+V,KAiFnB,OA7EI/D,EAAsB5M,KAAKb,IAG3B6O,EAAiBnM,OAAO,UACxBmM,EAAiBnM,OAAO,UACxBmM,EAAiBnM,OAAO,WAKf,cAAT8O,GAAgC,MAARxR,GACnB,gBAATwR,GAAkC,MAARxR,GACjB,iBAATwR,GAAmC,MAARxR,GAClB,SAATwR,GAA2B,MAARxR,GACV,SAATwR,GAA2B,MAARxR,GACV,SAATwR,GAA2B,MAARxR,GACV,SAATwR,GAA2B,MAARxR,GAGf6O,EAAiBnM,OAAO,UACxBmM,EAAiBnM,OAAO,UACxBmM,EAAiBnM,OAAO,WAKf,gBAAT8O,GAAkC,MAARxR,GACrB,iBAATwR,GAAmC,MAARxR,GAClB,SAATwR,GAA2B,MAARxR,GACV,SAATwR,GAA2B,MAARxR,GACV,UAATwR,GAA4B,MAARxR,GAGhB6O,EAAiBnM,OAAO,UACxBmM,EAAiBnM,OAAO,UACxBmM,EAAiBnM,OAAO,WAKf,gBAAT8O,GAAkC,MAARxR,GACrB,iBAATwR,GAAmC,MAARxR,GAClB,SAATwR,GAA2B,MAARxR,GAGf6O,EAAiBnM,OAAO,UACxBmM,EAAiBnM,OAAO,UACxBmM,EAAiBnM,OAAO,WAKf,SAAT8O,GAA2B,MAARxR,GACd,SAATwR,GAA2B,MAARxR,GAGf6O,EAAiBnM,OAAO,UACxBmM,EAAiBnM,OAAO,WAKf,SAAT8O,GAA2B,MAARxR,GAGnB6O,EAAiBnM,OAAO,UACxBmM,EAAiBnM,OAAO,WAKxBgL,EAAoB7M,KAAKb,IAGzB6O,EAAiBnM,OAAO,UAGK,IAA1BmM,EAAiBiD,KAClB,IAAKjD,GAAmB,QACxB3T,CACV,CCwJ+B2W,CAAiC5W,QAChCC,IAAXuF,IAED3F,KAAKgV,QAAUrP,EACf3F,KAAKiV,cAAgB,WACrBjV,KAAKY,QAAQgU,wBAAyB,EAEtC5U,KAAKqF,SAAShF,KAAM,iBAAkB,CAClCsF,OAAQA,EACR6P,aAAc,WACdvN,OAAQjI,OAGnB,CAGIA,KAAKY,QAAQoH,YAAchI,KAAKqF,SAASnF,YAAa2W,IAEvD7W,KAAKqF,SAAShF,KAAMwW,EAAS,CACzB5O,OAAQjI,KACR6W,UACAI,SAAUjX,KAAK2V,YAAakB,GAC5BlW,MAAOR,GAGlB,CAEIH,KAAKY,QAAQoH,YAGdhF,OAAOmF,QAASnI,KAAKY,QAAQsD,OAAQ1D,SAAQ,EAAG2F,EAAM2O,MAElD,IAAMA,EAAK3S,SAAU0U,GAAY,OACjC,GAAK1W,EAAE2W,SAAW9W,KAAKY,QAAQiU,gBAAgB1S,SAAUgE,GAErD,OAGJ,MAAMxF,EAAQ,CACVsH,OAAQjI,KACR6W,UACAI,SAAUjX,KAAK2V,YAAakB,GAC5BlW,MAAOR,EACPgG,KAAMA,EACN2Q,OAAQ3W,EAAE2W,QAGd9W,KAAKsF,iBAAiBjF,KAAM8F,EAAMxF,GAClCX,KAAKqF,SAAShF,KAAM,WAAYM,EAAO,KA7XrC+T,eAAAwC,OAAS,IAAIxC,eCzB/B,MAAMyC,mBAkDF,WAAApX,GA3CgBC,KAAmBoX,oBAC/BZ,OAAOa,WAAW,sCAAsCC,QAG5CtX,KAAQuX,SC5BJ,MAEpB,IAAIC,GAAQ,EAEZ,IAAIpQ,EAeJ,OAfIA,EAaAkM,UAAUmB,WAAanB,UAAUmE,QAV7B,2TAA2T1R,KACvTqB,IAEP,0kDAA0kDrB,KACzkDqB,EAAEsQ,OAAQ,EAAG,OAIXF,GAAQ,GAITA,CAAK,EDSwBD,GAGpBvX,KAAc2X,eAC1B,iBAAkBnB,QAAUlD,UAAUsE,eAAiB,EAK3C5X,KAAAmV,SAA2BT,eAAewC,OAKnDlX,KAAAY,QAAU,CAKbiX,wBAAwB,EAKxBC,sBAAsB,GAKT9X,KAAQ+X,SAAa,GACrB/X,KAAegY,gBAAoB,GACnChY,KAAAiY,kBAAoB,IAAIzS,IACxBxF,KAAckY,eAAmB,GACjClY,KAAAqF,SAAW,IAAIvF,aACfE,KAAAsF,iBAAmB,IAAIxF,aAEhCE,KAASmY,WAAY,EAMzB3B,OAAOC,iBACH,oBACA,IAAMzW,KAAKoY,cAAetV,YAAYC,SAE1CyT,OAAOC,iBACH,uBACE9V,GAAWX,KAAKqY,eAAgB1X,EAAMY,QAAQmE,UAO9C1F,KAAKuX,UAAYvX,KAAKoX,oBAGxBpX,KAAKsY,IAAKtY,KAAKmV,UAKfqB,OAAOC,iBACH,WACA,IAAMzW,KAAKsY,IAAKtY,KAAKmV,WACrB,CAAEtU,MAAM,IAUpB,WAAW0X,GAEP,OAAOvY,KAAK+X,SAQhB,YAAWS,GAEP,OAAOxY,KAAKgY,gBAQhB,UAAWS,GAEP,OAAOzY,KAAKkY,eAMhB,wBAAWQ,GAEP,OAAO1Y,KAAK2Y,sBAMT,EAAAjY,CACHC,EACA6F,GAKA,OAFAxG,KAAKqF,SAAS3E,GAAGC,EAAO6F,GAEjBxG,KAIJ,GAAAe,CACHJ,EACA6F,GAKA,OAFAxG,KAAKqF,SAAStE,IAAIJ,EAAO6F,GAElBxG,KAIJ,UAAAyG,CACHN,EACAK,EACA5F,GAMA,OAHAuF,EAAOyS,MAAMC,QAAS1S,GAASA,EAAO,CAACA,IAClC3F,SAAS6S,GAAKrT,KAAKsF,iBAAiB5E,GAAI2S,EAAG7M,EAAU5F,KAEnDZ,KAIJ,WAAA0G,CACHP,EACAK,GAMA,OAHAL,EAAOyS,MAAMC,QAAS1S,GAASA,EAAO,CAACA,IAClC3F,SAAS6S,GAAKrT,KAAKsF,iBAAiBvE,IAAKsS,EAAG7M,KAE1CxG,KAIJ,YAAA8Y,CAAc3Y,GAEjBH,KAAKsF,iBAAiBjF,KAAMF,EAAEgG,KAAMhG,GAQjC,GAAAmY,CAAKrQ,IAEiC,IAApCjI,KAAK+X,SAASgB,QAAS9Q,KAK5BjI,KAAK+X,SAAS/W,KAAMiH,GAEfA,aAAkByM,gBAGnBzM,EAAO0M,UAAW,EAGlB1M,EAAOvH,GAAI,YAAaP,GAAMH,KAAK8Y,aAAa3Y,MAE1C8H,aAAkBjE,eAExBhE,KAAKiY,kBAAkBjP,IAAKf,EAAO7D,OAAOsB,MAAOuC,GACjDjI,KAAKgY,gBAAgBhX,KAAMiH,GAG3BA,EAAOvH,GAAI,YAAaP,GAAMH,KAAK8Y,aAAa3Y,MAKhDH,KAAKkY,eAAelX,KAAMiH,GAG9BjI,KAAKqF,SAAShF,KAAM,cAAe,CAAE4H,YAMlC,MAAA+Q,CAAQ/Q,GAGX,KAAQA,aAAkByM,gBAAkBzM,aAAkBjE,eAC9D,CACI,MAAMiV,EAAcjZ,KAAKkY,eAAea,QAAS9Q,IAC5B,IAAhBgR,GAEDjZ,KAAKkY,eAAegB,OAAQD,EAAa,EAEhD,CAGD,MAAME,EAAenZ,KAAK+X,SAASgB,QAAS9Q,IACtB,IAAjBkR,IAEDnZ,KAAK+X,SAASmB,OAAQC,EAAc,GACpCnZ,KAAKqF,SAAShF,KAAM,gBAAiB,CAAE4H,YASxC,MAAA5E,GAEH,GAAKrD,KAAKY,QAAQkX,uBAA0BsB,SAASC,WAYjD,OARKrZ,KAAKmY,WAAanY,KAAKY,QAAQiX,wBAGhC7X,KAAKuY,QAAQ/X,SAASyH,IAAS,IAAA1H,EAAC,eAAAA,EAAA0H,EAAOhB,mCAAS,IAGpDjH,KAAKmY,WAAY,EAEVnY,KAAK+X,SAGhB/X,KAAKmY,WAAY,EACjB,MAAMpV,EAAMD,YAAYC,MAmBxB,OAhBK/C,KAAKmV,SAASR,UAAW3U,KAAKmV,SAAS9R,OAAQN,GAG/C/C,KAAKgY,gBAAgB5W,OAAS,GAE/BpB,KAAKoY,cAAerV,GAInB/C,KAAKkY,eAAe9W,OAAS,GAE9BpB,KAAKkY,eAAe1X,SAASiY,GAAUA,EAAOpV,OAAQN,KAG1D/C,KAAKsZ,wBAEEtZ,KAAK+X,SAGR,qBAAAuB,GAEJ,GAA8B,IAAzBtZ,KAAK+X,SAAS3W,OAAe,OAElC,IAAImY,EACJ,GAA8B,IAAzBvZ,KAAK+X,SAAS3W,OAEfmY,EAAOvZ,KAAK+X,SAAS,QAIrB,IAAM,MAAM9P,KAAUjI,KAAK+X,eAGV3X,IAATmZ,GACPtR,EAAO1D,gBAAkBgV,EAAKhV,mBAGvBgV,EAAOtR,GAKdsR,IAASvZ,KAAK2Y,uBAGf3Y,KAAKqF,SAAShF,KAAM,oBAAqB,CAAE4H,OAAQsR,IAGvDvZ,KAAK2Y,sBAAwBY,EAMzB,aAAAnB,CAAerV,GAEnB,IAAMqW,SAASC,WAAa,OAAOrZ,KAAKgY,gBACxC,QAA+B5X,IAA1BkT,UAAUkG,YAA4B,OAAOxZ,KAAKgY,gBAEvD,IAAM,MAAM5T,KAAUkP,UAAUkG,cAE5B,GAAe,MAAVpV,EAEL,GAAKpE,KAAKiY,kBAAkBwB,IAAKrV,EAAOsB,OACxC,CACoB1F,KAAKiY,kBAAkBlP,IAAK3E,EAAOsB,OAC3CrC,OAAQe,EAAQrB,EAC3B,KAED,CACI,MAAMxB,EAAU,IAAIyC,cAAeI,GACnCpE,KAAKsY,IAAK/W,GACVA,EAAQ8B,OAAQe,EAAQrB,EAC3B,CAGL,OAAO/C,KAAKgY,gBAKR,cAAAK,CAAgBqB,GAEpB,MAAMnY,EAAUvB,KAAKiY,kBAAkBlP,IAAK2Q,GAC5C,IAAOnY,EAAU,OAEjB,MAAMoY,EAAgB3Z,KAAKgY,gBAAgBe,QAASxX,IAC3B,IAApBoY,GAAuB3Z,KAAKgY,gBAAgBkB,OAAQS,EAAe,GAExE3Z,KAAKgZ,OAAQzX,GACbvB,KAAKiY,kBAAkBrQ,OAAQ8R,IAhWrBvC,mBAAAD,OAAS,IAAIC,mBAoWlB,MAAAyC,EAAczC,mBAAmBD,gBEjX9B2C,mBACZC,EACAC,EAAuC,UAGvC,IAAM,MAAMC,KAA4B,QAAnBzZ,EAAAuZ,EAAOG,gBAAY7Z,IAAAG,EAAAA,EAAA,GAE7ByZ,EAAeE,cAElBH,EAAa/Y,KAAMgZ,GAInBH,mBAAoBG,EAAcD,GAI1C,OAAOA,CACX,CAKgB,SAAAI,oBACZC,EACAC,EACAC,GACAC,gBACIA,EAAkB,GAClB,IAKJ,OAwBJ,SAASC,kCACLT,EACAM,EACAC,EACAC,EAA0B,yBAG1B,MAAME,EAAWV,EACZ7Y,QAAUwZ,GACPA,EAAGR,eACK,MAAbQ,EAAGC,QACDC,UAAUF,KAITG,EAAiBJ,EAASK,MAAQJ,GAAQA,IAAOL,IAGvD,QAAwBja,IAAnBya,EAID,OAFAJ,EAASM,MAAM,CAAE3T,EAAGiB,IAAOA,EAAE2S,mBAAqB5T,EAAE4T,qBAE7CP,EAAS,GAIpB,QAA0Bra,IAArBka,GAAkCO,EAEnC,OAAOA,EAGX,MAAMI,EACNJ,QAAAA,EAAkBJ,EAAS/X,KAAKwY,MAAOxY,KAAKyY,SAAWV,EAASrZ,SAEhE,QAAwBhB,IAAnBya,EAED,OAAsB,UAAfd,EAAa,UAAE3Z,IAAAG,EAAAA,EAAI0a,EAG9B,MAAMG,EAAmBP,EAAeQ,oBAClCC,EAAgBT,EAAeU,YAC/BC,EAAgB,CAClB5W,EAAGwW,EAAiBxW,EAAI0W,EAAcG,KAAOH,EAAcI,MAAQ,EACnE7W,EAAGuW,EAAiBvW,EAAIyW,EAAcK,IAAML,EAAcM,OAAS,GAGjEC,EAAgBpB,EACjBvZ,QAAUwZ,GAAQA,IAAOG,IACzB9E,KAAO2E,IAEJ,MAAMoB,EAAYpB,EAAGW,oBACfU,EAASrB,EAAGa,YAEZS,EAAS,CACXpX,EAAGkX,EAAUlX,EAAImX,EAAON,KAAOM,EAAOL,MAAQ,EAC9C7W,EAAGiX,EAAUjX,EAAIkX,EAAOJ,IAAMI,EAAOH,OAAS,GAGlD,MAAO,CACHK,QAASvB,EACTqB,OAAQA,EACRC,OAAQA,EACRE,UAAWC,oBAAqBH,EAAQR,EAAe,EAAG,GAC1DY,UAAWD,oBAAqBH,EAAQR,EAAe,EAAG,GAC7D,IAGT,OAASlB,GAEL,IAAK,cAKD,OAA+B,QAAxBtY,EAAa,QAAbf,EAJU4a,EACZ3a,QAAUwZ,GAAQA,EAAGsB,OAAOnX,EAAI2W,EAAc3W,EAAI0V,IAClDQ,MAAM,CAAE3T,EAAGiB,IAAOjB,EAAEgV,UAAY/T,EAAE+T,YAEvB,UAAIhc,IAAAa,OAAAb,EAAAa,EAAAgb,eAAW7b,IAAA4B,EAAAA,EAAAiZ,EAGnC,IAAK,gBAKD,OAAiC,QAA1BoB,EAAe,QAAf3T,EAJYmT,EACd3a,QAAUwZ,GAAQA,EAAGsB,OAAOpX,EAAI4W,EAAc5W,EAAI2V,IAClDQ,MAAM,CAAE3T,EAAGiB,IAAOjB,EAAE8U,UAAY7T,EAAE6T,YAErB,UAAI9b,IAAAsI,OAAAtI,EAAAsI,EAAAuT,eAAW7b,IAAAic,EAAAA,EAAApB,EAGrC,IAAK,iBAKD,OAAkC,QAA3BqB,EAAgB,QAAhBC,EAJaV,EACf3a,QAAUwZ,GAAQA,EAAGsB,OAAOpX,EAAI4W,EAAc5W,EAAI2V,IAClDQ,MAAM,CAAE3T,EAAGiB,IAAOjB,EAAE8U,UAAY7T,EAAE6T,YAEpB,UAAI9b,IAAAmc,OAAAnc,EAAAmc,EAAAN,eAAW7b,IAAAkc,EAAAA,EAAArB,EAGtC,IAAK,gBAKD,OAAiC,QAA1BuB,EAAe,QAAfC,EAJYZ,EACd3a,QAAUwZ,GAAQA,EAAGsB,OAAOnX,EAAI2W,EAAc3W,EAAI0V,IAClDQ,MAAM,CAAE3T,EAAGiB,IAAOjB,EAAEgV,UAAY/T,EAAE+T,YAErB,UAAIhc,IAAAqc,OAAArc,EAAAqc,EAAAR,eAAW7b,IAAAoc,EAAAA,EAAAvB,EAGrC,QACI,OAAOJ,EAGnB,CAjIWL,CAFcX,mBAAoBO,GAIrCC,EACAC,EACAC,EAER,CAEgB,SAAAmC,UACZ1C,EACAI,GAGA,KAAiB,MAATJ,GACR,CACI,GAAKA,IAAUI,EAAO,OAAO,EAC7BJ,EAAQA,EAAMW,MACjB,CAED,OAAO,CACX,CA+GA,SAASwB,oBACL/U,EACAiB,EACAsU,EACAC,GAGA,MAAMC,EAAKxU,EAAEzD,EAAIwC,EAAExC,EACbkY,EAAKzU,EAAExD,EAAIuC,EAAEvC,EAEnB,OAAOgY,EAAKA,EAAKF,EAAKG,EAAKA,EAAKF,CACpC,CAEM,SAAUhC,UACZd,GAGA,KAAiB,MAAVA,GACP,CACI,IAAKA,EAAOiD,QAAS,OAAO,EAC5BjD,EAASA,EAAOa,MACnB,CAED,OAAO,CACX,CCtMa,MAAAqC,EAAoB,CAC7B,gBACA,iBACA,cACA,gBACA,gBACA,oBCEJ,MAAMC,kBA2BF,WAAAld,GAvBOC,KAAAY,QAAU,CAKbsc,0BAA0B,EAM1BC,yBAA0B,IAMvBnd,KAAO8G,SAAG,EAET9G,KAAWod,YAA0B,GAU7C,eAAWC,WAEP,OACC,QADMpc,EAAoD,QAApDV,EAAAP,KAAKsd,WAAWxC,MAAKyC,GAA0B,MAAnBA,EAAIF,qBAAoBjd,IAAAG,OAAAH,EAAAG,EAAE8c,mBAC5Djd,IAAAa,EAAAA,EAAAjB,KAAKwd,aAGV,eAAWH,CAAavD,GAEpB,MAAM2D,EAAWzd,KAAKqd,YACtB,GAAKI,IAAa3D,EAAQ,OAE1B,MAAM4D,EAAiB1d,KAAK2d,oBAC5B,GAAMD,EAAN,CAEA,GAAK5D,EACL,CACI,IAAMA,EAAOI,cAAgB,OAC7B,IAAMwC,UAAW5C,EAAQ4D,GAAmB,MAC/C,CAE2B,MAAvB1d,KAAK4d,eAAyB5d,KAAK4d,eAAeP,YAAcvD,EAChE9Z,KAAKwd,aAAe1D,EAEpB2D,GAAWzd,KAAK6d,UAAWJ,GAC3B3D,GAAS9Z,KAAK8d,WAAYhE,EAZR,EAkB3B,kBAAW8D,GAEP,OAAO5d,KAAKod,YAAY,GAM5B,cAAWE,GAEP,OAAOtd,KAAKod,YAST,iBAAAW,CAAmBC,GAEH,MAAdhe,KAAKie,OAKNrE,EAAYnT,WAAYuW,GAAoB7c,GAAMH,KAAKke,WAAW/d,KAGtEH,KAAKie,MAAQD,EACbhe,KAAK8G,SAAU,EAMZ,YAAAqX,iBAEH,MAAMC,EAAkBpe,KAAKqd,YAEvBgB,EAAYre,KAAKod,YAAYkB,QACnCD,EAAUhB,iBAAcjd,EAExB,MAAMme,EAAcve,KAAKqd,YAkBzB,eAhBA9c,EAAA8d,aAASje,EAATie,EAAWG,iDACXxe,KAAKye,6BAEAze,KAAK4d,yBAEN5b,KAAAhC,KAAK4d,gBAAec,8CAIpBN,IAAoBG,IAGnB,QADHlC,EAAqB,QAArB3T,EAAA1I,KAAK4d,sBAAgBxd,IAAAsI,OAAAtI,EAAAsI,EAAAiW,iBAClBve,IAAAic,EAAAA,OAAgBjc,IAAhBme,IAEHve,KAAK2e,YAEAN,EAMJ,aAAAO,CAAeP,aAElB,MAAMd,EAAMc,EAEZ,GAAKre,KAAKod,YAAYjb,SAAUob,GAE5B,MAAM,IAAIsB,MAAO,+BAGrB,MAAMC,EAAoB9e,KAAK4d,eAE/B5d,KAAKod,YAAY2B,QAASxB,WAE1Bhd,EAAAue,aAAiB1e,EAAjB0e,EAAmBN,iDACnBxe,KAAKye,6BAEmB,QAAxBxd,EAAAsc,EAAImB,4BAAoBte,IAAAa,GAAAA,EAAAmB,KAAAmb,YACnBvb,EAAAub,EAAIoB,4BAAoB3e,KAAK2e,YAM/B,SAAAA,GAEH,IAAMK,EAAalY,QAAU,OAE7B,MAAM4W,EAAiB1d,KAAK2d,oBAC5B,IAAMD,EAAiB,OAEvB,MAAMuB,EAAc9E,oBAAqBuD,QAEpBtd,IAAhB6e,EAQAA,IAAgBjf,KAAKqd,cAE1Brd,KAAKqd,YAAc4B,GAPfC,QAAQC,MAAO,+CAahB,iBAAAxB,SAEH,OAA0C,QAAnCpd,EAAAP,KAAKsd,WAAWxC,KAAMsE,oBAAahf,IAAAG,EAAAA,EAAIP,KAAKie,MAK/C,UAAAC,EAAWjW,OAAEA,EAAM9B,KAAEA,UAEzB,GAAMnG,KAAK8G,QAAX,CAEA,IAAM,MAAMgT,KAAU9Z,KAAKod,YAEvB,WAAK7c,EAAAuZ,EAAOuF,qDAA2BlZ,EAAM8B,GAIzC,OAMR,GAAmB,MAAdjI,KAAKie,MAGN,MADAje,KAAK8G,SAAU,EACT,IAAI+X,MAAO,uDAGrB,CACI,MAAMnB,EAAiB1d,KAAK2d,oBAC5B3d,KAAKsf,oBAAqB5B,EAAgBvX,EAC7C,CAvBoB,EA0BjB,mBAAAmZ,CACJ5B,EACA6B,SAGAvf,KAAKye,2BAA4Bf,GAEjC,MAAML,EAAcrd,KAAKqd,YAGzB,QAAqBjd,IAAhBid,EAID,YAFArd,KAAK2e,YAKT,GAAgB,kBAAXY,EAKD,OAHAvf,KAAK6d,UAAWR,QAChBrd,KAAKqd,iBAAcjd,GAKvB,GAAgB,qBAAXmf,EAID,YAFAvf,KAAKwf,aAAcnC,GAKvB,MAAMoC,EAOL,QAPkBlf,EAAA4Z,oBACfuD,EACAL,EACAkC,EACA,CACIhF,gBAAiBva,KAAKY,QAAQuc,kCAErC/c,IAAAG,EAAAA,EAAI8c,EAEAoC,IAAepC,IAMpBrd,KAAKqd,YAAcoC,GAGf,SAAA5B,CAAW/D,GAEf,MAAM4F,EAAa5F,EAAO4F,aAGrBA,EAAWvd,SAAU,cAAiB2X,EAAOzZ,KAAM,cAC9Cqf,EAAWvd,SAAU,YAAe2X,EAAOzZ,KAAM,YACjDL,KAAKY,QAAQsc,2BAEnBpD,EAAO6F,MAAQ,GAInB7F,EAAOzZ,KAAM,aAGT,UAAAyd,CAAYhE,GAEhB,MAAM4F,EAAa5F,EAAO4F,aAGrBA,EAAWvd,SAAU,eAAkB2X,EAAOzZ,KAAM,eAC/Cqf,EAAWvd,SAAU,aAAgB2X,EAAOzZ,KAAM,aAClDL,KAAKY,QAAQsc,2BAEnBpD,EAAO6F,MAAQ,IAInB7F,EAAOzZ,KAAM,cAGT,YAAAmf,CAAc1F,GAElB,MAAM4F,EAAa5F,EAAO4F,aAGrBA,EAAWvd,SAAU,eAAkB2X,EAAOzZ,KAAM,eAC/Cqf,EAAWvd,SAAU,aAAgB2X,EAAOzZ,KAAM,aAClDL,KAAKY,QAAQsc,2BAEnBpD,EAAO6F,MAAQ,KAInB7F,EAAOzZ,KAAM,cAGT,0BAAAoe,CACJf,EAAiB1d,KAAK2d,qBAGtB,IAAMD,EAAiB,OACvB,MAAML,EAAcrd,KAAKqd,YAEpBA,IAAgBX,UAAWW,EAAaK,KAEzC1d,KAAK6d,UAAWR,GAChBrd,KAAKqd,iBAAcjd,IAK/B,SAASgf,YAAaf,GAElB,MAAO,aAAcA,CACzB,CAvUkBpB,kBAAA/F,OAAS,IAAI+F,kBA8UlB,MAAA+B,EAAe/B,kBAAkB/F,OCxV9C,IAAI0I,GAAc,oXAOZ,SAAUC,8BAA+BC,GAE3C,GAAIF,EAAa,OACjBA,GAAc,EAEd,MAAMG,EAAYD,EAAUC,UAG5BA,EAAU/E,mBAAqB,EAC/B+E,EAAUC,eAAiB,OAG3Bhd,OAAOid,eAAeF,EAAW,gBAAiB,CAC9ChX,IAAK,WAED,GAA6B,WAAxB/I,KAAKggB,eAA8B,OAAO,EAC/C,GAA6B,SAAxBhgB,KAAKggB,eAA4B,OAAO,EAQ7C,MAAME,EAAWlgB,KAAK0f,aAEtB,OAAOQ,EAAS9e,OAAS,IACrB8e,EAAS/d,SAAU,gBAC3B+d,EAAS/d,SAAU,aAElB,EACDge,cAAc,EACdC,YAAY,GAEpB","x_google_ignoreList":[6]}
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=0,t=1,i=2,s=3,n=["LeftStickLeft","LeftStickRight","LeftStickUp","LeftStickDown","RightStickLeft","RightStickRight","RightStickUp","RightStickDown"],a={Face1:0,Face2:1,Face3:2,Face4:3,LeftShoulder:4,RightShoulder:5,LeftTrigger:6,RightTrigger:7,Back:8,Start:9,LeftStickClick:10,RightStickClick:11,DpadUp:12,DpadDown:13,DpadLeft:14,DpadRight:15},o=["Face1","Face2","Face3","Face4","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStickClick","RightStickClick","DpadUp","DpadDown","DpadLeft","DpadRight"];class EventEmitter{constructor(){this._listeners={}}hasListener(e){return void 0!==this._listeners[e]}emit(e,t){var i;null===(i=this._listeners[e])||void 0===i||i.forEach((e=>e(t)))}on(e,t,i){var s,n;if(this._listeners[e]||(this._listeners[e]=[]),null==i?void 0:i.once){const onceFn=i=>{t(i),this.off(e,onceFn)};null===(s=this._listeners[e])||void 0===s||s.push(onceFn)}else null===(n=this._listeners[e])||void 0===n||n.push(t)}off(e,t){var i,s;this._listeners[e]=void 0===t||null===(i=this._listeners[e])||void 0===i?void 0:i.filter((e=>e!==t)),0===(null===(s=this._listeners[e])||void 0===s?void 0:s.length)&&(this._listeners[e]=void 0)}}const r=2e3;class GamepadHapticManager{constructor(e){var t,i,s;this.activeEffects=[],this.state={rumble:0,buzz:0,leftTrigger:0,rightTrigger:0,expires:0},this.gamepad=e,this.hapticEvent="vibrationActuator"in e?(null===(s=null===(i=null===(t=e.vibrationActuator)||void 0===t?void 0:t.effects)||void 0===i?void 0:i.includes)||void 0===s?void 0:s.call(i,"trigger-rumble"))?"trigger-rumble":"dual-rumble":void 0,this.hasTriggerRumble="trigger-rumble"===this.hapticEvent}play(e,t){var i;const s=Math.max(0,null!==(i=e.startDelay)&&void 0!==i?i:0),n=performance.now()+s;this.activeEffects.push(Object.assign(Object.assign({},e),{start:n,end:n+Math.max(e.duration,0),startDelay:void 0})),this.intensity!==t&&(this.intensity=Math.max(0,Math.min(1,t))),s||0!==this.activeEffects.length||this.update()}reset(){var e,t;this.activeEffects.length=0,this.state.rumble=0,this.state.buzz=0,this.state.leftTrigger=0,this.state.rightTrigger=0,this.gamepad.vibrationActuator?this.gamepad.vibrationActuator.reset():this.gamepad.hapticActuators&&(null===(t=null===(e=this.gamepad.hapticActuators[0])||void 0===e?void 0:e.pulse)||void 0===t||t.call(e,0,100))}update(){var e,t;console.debug("[gamepadhaptic] "+this.activeEffects.length+" haptics: "+JSON.stringify(this.activeEffects));const i=performance.now();let s=0,n=0,a=0,o=0,d=0,c=!1;for(let e=0;e<this.activeEffects.length;e++){const t=this.activeEffects[e];t.end<=i?c=!0:t.start>i||("trigger-rumble"===this.hapticEvent&&(t.leftTrigger&&t.leftTrigger>a&&(a=t.leftTrigger),t.rightTrigger&&t.rightTrigger>o&&(o=t.rightTrigger)),t.rumble&&t.rumble>s&&(s=t.rumble),t.buzz&&t.buzz>n&&(n=t.buzz),t.end-i>d&&(d=t.end-i))}if(c&&(this.activeEffects=this.activeEffects.filter((e=>e.end>=i))),this.state.rumble!==s||this.state.buzz!==n||this.state.leftTrigger!==a||this.state.rightTrigger!==o||this.state.expires<=i&&s+n+a+o>0)if(this.state.rumble=s,this.state.buzz=n,this.state.leftTrigger=a,this.state.rightTrigger=o,void 0!==this.hapticEvent)console.log("[gamepadhaptic] issuing haptic:",s,n,a,o,JSON.stringify(this.state)),this.state.expires=i+r,this.gamepad.vibrationActuator.playEffect(this.hapticEvent,{duration:r,strongMagnitude:n*this.intensity,weakMagnitude:s*this.intensity,leftTrigger:a*this.intensity,rightTrigger:o*this.intensity});else if(this.gamepad.hapticActuators){const a=Math.min(d,r),o=Math.max(s,n)*this.intensity;this.state.expires=i+d,null===(t=null===(e=this.gamepad.hapticActuators[0])||void 0===e?void 0:e.pulse)||void 0===t||t.call(e,o,a)}}}class GamepadDevice{static configureDefaultBinds(e){this.defaultOptions.binds=Object.assign(Object.assign({},this.defaultOptions.binds),e)}constructor(e){var t;this.source=e,this.type="gamepad",this.meta={},this.lastInteraction=performance.now(),this.options=JSON.parse(JSON.stringify(GamepadDevice.defaultOptions)),this.leftJoystick={x:0,y:0},this.rightJoystick={x:0,y:0},this.button=[...o,...n].reduce(((e,t)=>(e[t]=!1,e)),{}),this.leftTrigger=0,this.rightTrigger=0,this.leftShoulder=0,this.rightShoulder=0,this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._debounces=new Map,this.id="gamepad"+e.index,this.layout=null!==(t=function detectLayout(e){const t=(e||"").toLowerCase();return/(amazon|luna|1949)/.test(t)?"amazon_luna":/(logitech|046d|c216|logicool|^46d)/.test(t)?"logitech_g":/(joy-?con.*l|057e.*2006)/.test(t)?"nintendo_joycon_l":/(joy-?con.*r|057e.*2007)/.test(t)?"nintendo_joycon_r":/(wiiu?|0305|0306|0337)/.test(t)?"nintendo_wiiu":/(switch.*pro|nintendo|switch|057e|0300)/.test(t)?"nintendo_switch_pro":/(nvidia.*shield|nvidia|shield|0955)/.test(t)?"nvidia_shield":/(playstation.*5|dualsense|0df2|0ce6)/.test(t)?"playstation_5":/(playstation|sony|dualshock|054c|09cc|0ba0|0810)/.test(t)?"playstation_4":/(steam.*controller|steam|28de|1102|1142)/.test(t)?"steam_controller":/(xbox.*series|0b00|0b12)/.test(t)?"xbox_series":/(xbox.*360|0202|0283|0285|0288|0289|028e|028f|0291|0719)/.test(t)?"xbox_360":/(xbox|xinput|045e)/.test(t)?"xbox_one":void 0}(null==e?void 0:e.id))&&void 0!==t?t:"unknown",this.haptics=new GamepadHapticManager(e),this.supportsTriggerRumble=this.haptics.hasTriggerRumble}bindDown(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;t<e.length;t++)if(this.button[e[t]])return!0;return!1}pressedAll(e){for(let t=0;t<e.length;t++)if(!this.button[e[t]])return!1;return!0}configureBinds(e){this.options.binds=Object.assign(Object.assign({},this.options.binds),e)}on(e,t,i){return this._emitter.on(e,t,i),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return this._bindDownEmitter.on(e,t,i),this}offBindDown(e,t){return this._bindDownEmitter.off(e,t),this}playHaptic(e){this.options.vibration.enabled&&this.haptics.play(e,this.options.vibration.intensity)}stopHaptics(){this.haptics.reset()}update(e,t){this._updatePresses(e,t),this.source=e,this.haptics.update()}clear(){this.button=[...n,...o].reduce(((e,t)=>(e[t]=!1,e)),{}),this.haptics.reset()}_updatePresses(r,d){var c,l,u,h,g,p,m;const v=this.options.joystick;for(let e=0;e<4;e++){const t=_scale(r.axes[e],v.deadzone),i=n[2*e+(t>0?1:0)];if(Math.abs(t)<v.pressThreshold)this.button[i]||this._debounces.delete(i),this.button[i]=!1;else{const t=v.autoRepeatDelayMs[+this.button[i]];if(this._debounce(i,t)&&this.button[i])continue;this.button[i]=!0,this.lastInteraction=d,this.options.emitEvents&&(this._emitter.hasListener(i)&&this._emitter.emit(i,{device:this,axis:e,axisCode:i}),Object.entries(this.options.binds).forEach((([t,s])=>{if(!s.includes(i))return;const n={device:this,type:"axis",axis:e,axisCode:i,name:t};this._bindDownEmitter.emit(t,n),this._emitter.emit("binddown",n)})))}}for(let e=0;e<16;e++){let t=e;const i=o[t];if(this.button[i]===(null===(c=r.buttons[e])||void 0===c?void 0:c.pressed))continue;this.lastInteraction=d;const s=null!==(u=null===(l=r.buttons[e])||void 0===l?void 0:l.pressed)&&void 0!==u&&u;this.button[i]=s,s&&this.options.emitEvents&&(this._emitter.hasListener(i)&&this._emitter.emit(i,{device:this,button:t,buttonCode:i}),Object.entries(this.options.binds).forEach((([e,s])=>{if(!s.includes(i))return;const n={device:this,type:"button",button:t,buttonCode:i,name:e};this._bindDownEmitter.emit(e,n),this._emitter.emit("binddown",n)})))}const f=this.options.trigger.deadzone;this.leftTrigger=_scale(r.buttons[a.LeftTrigger].value,f),this.rightTrigger=_scale(r.buttons[a.RightTrigger].value,f),this.leftShoulder=_scale(r.buttons[a.LeftShoulder].value,f),this.rightShoulder=_scale(r.buttons[a.RightShoulder].value,f);const y=v.deadzone;this.leftJoystick.x=_scale(null!==(h=r.axes[e])&&void 0!==h?h:0,y),this.leftJoystick.y=_scale(null!==(g=r.axes[t])&&void 0!==g?g:0,y),this.rightJoystick.x=_scale(null!==(p=r.axes[i])&&void 0!==p?p:0,y),this.rightJoystick.y=_scale(null!==(m=r.axes[s])&&void 0!==m?m:0,y)}_debounce(e,t){var i;const s=Date.now();return(null!==(i=this._debounces.get(e))&&void 0!==i?i:0)>s||(this._debounces.set(e,s+t),!1)}}function _scale(e,t){const i=(Math.abs(e)-t[0])/(t[1]-t[0]);return i>=0&&i<=1?Math.sign(e)*i:i>1?1*Math.sign(e):0}GamepadDevice.defaultOptions={emitEvents:!0,joystick:{deadzone:[0,1],pressThreshold:.5,autoRepeatDelayMs:[400,100]},trigger:{deadzone:[0,1]},vibration:{enabled:!0,intensity:1},binds:{"navigate.trigger":["Face1"],"navigate.back":["Face2"],"navigate.up":["DpadUp","LeftStickUp"],"navigate.left":["DpadLeft","LeftStickLeft"],"navigate.down":["DpadDown","LeftStickDown"],"navigate.right":["DpadRight","LeftStickRight"]}};const d={AltLeft:"AltLeft",AltRight:"AltRight",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",ArrowUp:"ArrowUp",Backquote:"Backquote",Backslash:"Backslash",Backspace:"Backspace",BracketLeft:"BracketLeft",BracketRight:"BracketRight",CapsLock:"CapsLock",Comma:"Comma",ContextMenu:"ContextMenu",ControlLeft:"ControlLeft",ControlRight:"ControlRight",Delete:"Delete",Digit0:"Digit0",Digit1:"Digit1",Digit2:"Digit2",Digit3:"Digit3",Digit4:"Digit4",Digit5:"Digit5",Digit6:"Digit6",Digit7:"Digit7",Digit8:"Digit8",Digit9:"Digit9",End:"End",Enter:"Enter",Equal:"Equal",Escape:"Escape",F1:"F1",F10:"F10",F11:"F11",F12:"F12",F13:"F13",F14:"F14",F15:"F15",F16:"F16",F17:"F17",F18:"F18",F19:"F19",F2:"F2",F20:"F20",F21:"F21",F22:"F22",F23:"F23",F24:"F24",F25:"F25",F26:"F26",F27:"F27",F28:"F28",F29:"F29",F3:"F3",F30:"F30",F31:"F31",F32:"F32",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",Home:"Home",IntlBackslash:"IntlBackslash",IntlRo:"IntlRo",IntlYen:"IntlYen",KeyA:"KeyA",KeyB:"KeyB",KeyC:"KeyC",KeyD:"KeyD",KeyE:"KeyE",KeyF:"KeyF",KeyG:"KeyG",KeyH:"KeyH",KeyI:"KeyI",KeyJ:"KeyJ",KeyK:"KeyK",KeyL:"KeyL",KeyM:"KeyM",KeyN:"KeyN",KeyO:"KeyO",KeyP:"KeyP",KeyQ:"KeyQ",KeyR:"KeyR",KeyS:"KeyS",KeyT:"KeyT",KeyU:"KeyU",KeyV:"KeyV",KeyW:"KeyW",KeyX:"KeyX",KeyY:"KeyY",KeyZ:"KeyZ",Lang1:"Lang1",Lang2:"Lang2",MediaTrackNext:"MediaTrackNext",MediaTrackPrevious:"MediaTrackPrevious",MetaLeft:"MetaLeft",MetaRight:"MetaRight",Minus:"Minus",NumLock:"NumLock",Numpad0:"Numpad0",Numpad1:"Numpad1",Numpad2:"Numpad2",Numpad3:"Numpad3",Numpad4:"Numpad4",Numpad5:"Numpad5",Numpad6:"Numpad6",Numpad7:"Numpad7",Numpad8:"Numpad8",Numpad9:"Numpad9",NumpadAdd:"NumpadAdd",NumpadComma:"NumpadComma",NumpadDecimal:"NumpadDecimal",NumpadDivide:"NumpadDivide",NumpadMultiply:"NumpadMultiply",NumpadSubtract:"NumpadSubtract",OSLeft:"OSLeft",Pause:"Pause",Period:"Period",Quote:"Quote",ScrollLock:"ScrollLock",Semicolon:"Semicolon",ShiftLeft:"ShiftLeft",ShiftRight:"ShiftRight",Slash:"Slash",Space:"Space",Tab:"Tab",VolumeDown:"VolumeDown",VolumeMute:"VolumeMute",VolumeUp:"VolumeUp",WakeUp:"WakeUp"};function __awaiter(e,t,i,s){return new(i||(i=Promise))((function(n,a){function fulfilled(e){try{step(s.next(e))}catch(e){a(e)}}function rejected(e){try{step(s.throw(e))}catch(e){a(e)}}function step(e){e.done?n(e.value):function adopt(e){return e instanceof i?e:new i((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const c=/ф|и|с|в|у|а|п|р|ш|о|л|д|ь|т|щ|з|й|к|ы|е|г|м|ц|ч|н|я|ё|х|ъ|б|ю|э|ж|и/i,l=/[a-z]/i,u=["fr","mg","lu"],h=["ab","ba","be","bg","ch","kk","ky","mk","mn","ru","sr","tg","tt","uk","uz"],g=["de","cs","sk","sl","hu","hr","bs","ro","sq","me","lt","lv","et"];let p,m;function inferKeyboardLayoutFromLang(e=function getLang(){var e;const t=navigator;return(null===(e=t.languages)||void 0===e?void 0:e.length)?t.languages[0]:t.userLanguage||t.language||t.browserLanguage}()){const t=(e||"").toLowerCase(),i=t.split("-")[0];return u.includes(i)||t.startsWith("nl-be")?"AZERTY":h.includes(i)?"JCUKEN":g.includes(i)||t.startsWith("sr-latn")?"QWERTZ":"QWERTY"}const v=new Set(["AZERTY","JCUKEN","QWERTY","QWERTZ"]);function getLayoutKeyLabel(e,t){var i,s;if(void 0===m){const e={ArrowLeft:"⬅",ArrowRight:"➡",ArrowUp:"⬆",ArrowDown:"⬇",AltLeft:"Left Alt",AltRight:"Right Alt",Backquote:"`",Backslash:"\\",Backspace:"Backspace",BracketLeft:"[",BracketRight:"]",CapsLock:"CapsLock",Comma:",",ContextMenu:"Context Menu",ControlLeft:"Left Ctrl",ControlRight:"Right Ctrl",Delete:"Delete",Digit0:"0",Digit1:"1",Digit2:"2",Digit3:"3",Digit4:"4",Digit5:"5",Digit6:"6",Digit7:"7",Digit8:"8",Digit9:"9",End:"End",Enter:"Enter",Equal:"=",Escape:"Esc",F1:"F1",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",F10:"F10",F11:"F11",F12:"F12",F13:"F13",F14:"F14",F15:"F15",F16:"F16",F17:"F17",F18:"F18",F19:"F19",F20:"F20",F21:"F21",F22:"F22",F23:"F23",F24:"F24",F25:"F25",F26:"F26",F27:"F27",F28:"F28",F29:"F29",F30:"F30",F31:"F31",F32:"F32",Home:"Home",IntlBackslash:"\\",IntlRo:"Ro",IntlYen:"¥",KeyA:"A",KeyB:"B",KeyC:"C",KeyD:"D",KeyE:"E",KeyF:"F",KeyG:"G",KeyH:"H",KeyI:"I",KeyJ:"J",KeyK:"K",KeyL:"L",KeyM:"M",KeyN:"N",KeyO:"O",KeyP:"P",KeyQ:"Q",KeyR:"R",KeyS:"S",KeyT:"T",KeyU:"U",KeyV:"V",KeyW:"W",KeyX:"X",KeyY:"Y",KeyZ:"Z",Lang1:"Language 1",Lang2:"Language 2",MediaTrackNext:"Next Track",MediaTrackPrevious:"Previous Track",MetaLeft:"Left "+getMetaKeyLabel(),MetaRight:"Right "+getMetaKeyLabel(),Minus:"-",NumLock:"Num Lock",Numpad0:"Num0",Numpad1:"Num1",Numpad2:"Num2",Numpad3:"Num3",Numpad4:"Num4",Numpad5:"Num5",Numpad6:"Num6",Numpad7:"Num7",Numpad8:"Num8",Numpad9:"Num9",NumpadAdd:"+",NumpadComma:",",NumpadDecimal:".",NumpadDivide:"/",NumpadMultiply:"*",NumpadSubtract:"-",OSLeft:"OS Left",Pause:"Pause",Period:".",Quote:"'",ScrollLock:"Scroll Lock",Semicolon:";",ShiftLeft:"Left Shift",ShiftRight:"Right Shift",Slash:"/",Space:"Space",Tab:"Tab",VolumeDown:"Volume Down",VolumeMute:"Volume Mute",VolumeUp:"Volume Up",WakeUp:"Wake Up"};m={AZERTY:{KeyA:"Q",KeyQ:"A",KeyW:"Z",KeyZ:"W",Backquote:"²",BracketLeft:"«",BracketRight:"»"},JCUKEN:{KeyA:"Ф",KeyB:"И",KeyC:"С",KeyD:"В",KeyE:"У",KeyF:"А",KeyG:"П",KeyH:"Р",KeyI:"Ш",KeyJ:"О",KeyK:"Л",KeyL:"Д",KeyM:"Ь",KeyN:"Т",KeyO:"Щ",KeyP:"З",KeyQ:"Й",KeyR:"К",KeyS:"Ы",KeyT:"Е",KeyU:"Г",KeyV:"М",KeyW:"Ц",KeyX:"Ч",KeyY:"Н",KeyZ:"Я",Backquote:"Ё",BracketLeft:"х",BracketRight:"ъ",Comma:"Б",Period:"Ю",Quote:"Э",Semicolon:"Ж",Slash:"И"},QWERTY:e,QWERTZ:{KeyY:"Z",KeyZ:"Y",BracketLeft:"ü",BracketRight:"ö",Slash:"-"}}}return null!==(s=null!==(i=m[t][e])&&void 0!==i?i:m.QWERTY[e])&&void 0!==s?s:e}function getMetaKeyLabel(){var e,t,i,s;const n=navigator,a=null!==(t=null===(e=n.platform)||void 0===e?void 0:e.toLowerCase())&&void 0!==t?t:"",o=null!==(s=null===(i=n.userAgent)||void 0===i?void 0:i.toLowerCase())&&void 0!==s?s:"";return a.includes("mac")?"⌘":a.includes("win")||a.includes("linux")?"⊞":o.includes("android")?"Search":o.includes("iphone")||o.includes("ipad")?"⌘":"⊞"}class KeyboardDevice{constructor(){this.type="keyboard",this.id="keyboard",this.meta={},this.lastInteraction=performance.now(),this.detected=!1,this.options={emitEvents:!0,detectLayoutOnKeypress:!0,binds:{"navigate.back":["Escape","Backspace"],"navigate.down":["ArrowDown","KeyS"],"navigate.left":["ArrowLeft","KeyA"],"navigate.right":["ArrowRight","KeyD"],"navigate.trigger":["Enter","Space"],"navigate.up":["ArrowUp","KeyW"]},repeatableBinds:["navigate.down","navigate.left","navigate.right","navigate.up"]},this.key=Object.keys(d).reduce(((e,t)=>(e[t]=!1,e)),{}),this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._deferredKeydown=[],this._layout=inferKeyboardLayoutFromLang(),this._layoutSource="lang",function requestKeyboardLayout(){return __awaiter(this,void 0,void 0,(function*(){const e=navigator;if(e.keyboard&&e.keyboard.getLayoutMap)try{const t=yield e.keyboard.getLayoutMap();p=t;const i=t.get("KeyQ"),s=t.get("KeyA"),n=t.get("KeyZ");if("a"===i&&"w"===n&&"q"===s)return"AZERTY";if("q"===i&&"y"===n&&"a"===s)return"QWERTZ";if("q"===i&&"z"===n&&"a"===s)return"QWERTY";if("й"===i&&"я"===n&&"ф"===s)return"JCUKEN"}catch(e){}}))}().then((e=>{void 0!==e&&(this._layoutSource="browser",this._layout=e,this.options.detectLayoutOnKeypress=!1,this._emitter.emit("layoutdetected",{layoutSource:"browser",layout:e,device:this}))})),this._configureEventListeners()}get layout(){return this._layout}set layout(e){this._layoutSource="manual",this._layout=e,this.options.detectLayoutOnKeypress=!1}get layoutSource(){return this._layoutSource}bindDown(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;t<e.length;t++)if(this.key[e[t]])return!0;return!1}pressedAll(e){for(let t=0;t<e.length;t++)if(!this.key[e[t]])return!1;return!0}configureBinds(e){this.options.binds=Object.assign(Object.assign({},this.options.binds),e)}playHaptic(e){}on(e,t,i){return this._emitter.on(e,t,i),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return this._bindDownEmitter.on(e,t,i),this}offBindDown(e,t){return this._bindDownEmitter.off(e,t),this}getKeyLabel(e,t){var i;return t?getLayoutKeyLabel(e,t):null!==(i=function getNavigatorKeyLabel(e){const t=null==p?void 0:p.get(e);return void 0===t?void 0:function _toLocaleTitleCase(e){return e.split(/\s+/).map((e=>e.charAt(0).toLocaleUpperCase()+e.slice(1))).join(" ")}(t)}(e))&&void 0!==i?i:getLayoutKeyLabel(e,null!=t?t:this._layout)}update(e){this._deferredKeydown.length>0&&(this._deferredKeydown.forEach((e=>this._processDeferredKeydownEvent(e))),this._deferredKeydown.length=0)}clear(){for(const e of Object.keys(d))this.key[e]=!1}_configureEventListeners(){const e=this.key,t=this._deferredKeydown;window.addEventListener("keydown",(i=>{e[i.code]=!0,t.push(i),this.lastInteraction=performance.now()}),{passive:!0,capture:!0}),window.addEventListener("keyup",(t=>{e[t.code]=!1,this.lastInteraction=performance.now()}),{passive:!0,capture:!0})}_processDeferredKeydownEvent(e){const t=e.code;if(!e.repeat){if(this.options.detectLayoutOnKeypress&&"lang"===this._layoutSource){const t=function detectKeyboardLayoutFromKeydown(e){const t=e.key.toLowerCase(),i=e.code;return c.test(t)?(v.delete("AZERTY"),v.delete("QWERTY"),v.delete("QWERTZ")):"Backquote"===i&&"²"===t||"BracketLeft"===i&&"«"===t||"BracketRight"===i&&"»"===t||"KeyA"===i&&"q"===t||"KeyQ"===i&&"a"===t||"KeyW"===i&&"z"===t||"KeyZ"===i&&"w"===t?(v.delete("JCUKEN"),v.delete("QWERTY"),v.delete("QWERTZ")):"BracketLeft"===i&&"ü"===t||"BracketRight"===i&&"ö"===t||"KeyY"===i&&"z"===t||"KeyZ"===i&&"y"===t||"Slash"===i&&"-"===t?(v.delete("AZERTY"),v.delete("JCUKEN"),v.delete("QWERTY")):"BracketLeft"===i&&"["===t||"BracketRight"===i&&"]"===t||"KeyZ"===i&&"z"===t?(v.delete("AZERTY"),v.delete("JCUKEN"),v.delete("QWERTZ")):"KeyQ"===i&&"q"===t||"KeyW"===i&&"w"===t?(v.delete("AZERTY"),v.delete("JCUKEN")):"KeyY"===i&&"y"===t?(v.delete("QWERTZ"),v.delete("JCUKEN")):l.test(t)&&v.delete("JCUKEN"),1===v.size?[...v][0]:void 0}(e);void 0!==t&&(this._layout=t,this._layoutSource="keypress",this.options.detectLayoutOnKeypress=!1,this._emitter.emit("layoutdetected",{layout:t,layoutSource:"keypress",device:this}))}this.options.emitEvents&&this._emitter.hasListener(t)&&this._emitter.emit(t,{device:this,keyCode:t,keyLabel:this.getKeyLabel(t),event:e})}this.options.emitEvents&&Object.entries(this.options.binds).forEach((([i,s])=>{if(!s.includes(t))return;if(e.repeat&&!this.options.repeatableBinds.includes(i))return;const n={device:this,keyCode:t,keyLabel:this.getKeyLabel(t),event:e,name:i,repeat:e.repeat};this._bindDownEmitter.emit(i,n),this._emitter.emit("binddown",n)}))}}KeyboardDevice.global=new KeyboardDevice;class InputDeviceManager{constructor(){this.hasMouseLikePointer=window.matchMedia("(pointer: fine) and (hover: hover)").matches,this.isMobile=(()=>{let e=!1;var t;return t=navigator.userAgent||navigator.vendor,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0),e})(),this.isTouchCapable="ontouchstart"in window||navigator.maxTouchPoints>0,this.keyboard=KeyboardDevice.global,this.options={clearInputOnBackground:!0,requireDocumentFocus:!0},this._devices=[],this._gamepadDevices=[],this._gamepadDeviceMap=new Map,this._customDevices=[],this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._hasFocus=!1,window.addEventListener("gamepadconnected",(()=>this._pollGamepads(performance.now()))),window.addEventListener("gamepaddisconnected",(e=>this._removeGamepad(e.gamepad.index))),!this.isMobile&&this.hasMouseLikePointer?this.add(this.keyboard):window.addEventListener("keydown",(()=>this.add(this.keyboard)),{once:!0})}get devices(){return this._devices}get gamepads(){return this._gamepadDevices}get custom(){return this._customDevices}get lastInteractedDevice(){return this._lastInteractedDevice}on(e,t){return this._emitter.on(e,t),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindDownEmitter.on(e,t,i))),this}offBindDown(e,t){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindDownEmitter.off(e,t))),this}emitBindDown(e){this._bindDownEmitter.emit(e.name,e)}add(e){-1===this._devices.indexOf(e)&&(this._devices.push(e),e instanceof KeyboardDevice?(e.detected=!0,e.on("binddown",(e=>this.emitBindDown(e)))):e instanceof GamepadDevice?(this._gamepadDeviceMap.set(e.source.index,e),this._gamepadDevices.push(e),e.on("binddown",(e=>this.emitBindDown(e)))):this._customDevices.push(e),this._emitter.emit("deviceadded",{device:e}))}remove(e){if(!(e instanceof KeyboardDevice||e instanceof GamepadDevice)){const t=this._customDevices.indexOf(e);-1!==t&&this._customDevices.splice(t,1)}const t=this._devices.indexOf(e);-1!==t&&(this._devices.splice(t,1),this._emitter.emit("deviceremoved",{device:e}))}update(){if(this.options.requireDocumentFocus&&!document.hasFocus())return this._hasFocus&&this.options.clearInputOnBackground&&this.devices.forEach((e=>{var t;return null===(t=e.clear)||void 0===t?void 0:t.call(e)})),this._hasFocus=!1,this._devices;this._hasFocus=!0;const e=performance.now();return this.keyboard.detected&&this.keyboard.update(e),this._gamepadDevices.length>0&&this._pollGamepads(e),this._customDevices.length>0&&this._customDevices.forEach((t=>t.update(e))),this._updateLastInteracted(),this._devices}_updateLastInteracted(){if(0===this._devices.length)return;let e;if(1===this._devices.length)e=this._devices[0];else for(const t of this._devices)(void 0===e||t.lastInteraction>e.lastInteraction)&&(e=t);e!==this._lastInteractedDevice&&this._emitter.emit("lastdevicechanged",{device:e}),this._lastInteractedDevice=e}_pollGamepads(e){if(!document.hasFocus())return this._gamepadDevices;if(void 0===navigator.getGamepads)return this._gamepadDevices;for(const t of navigator.getGamepads())if(null!=t)if(this._gamepadDeviceMap.has(t.index)){this._gamepadDeviceMap.get(t.index).update(t,e)}else{const i=new GamepadDevice(t);this.add(i),i.update(t,e)}return this._gamepadDevices}_removeGamepad(e){const t=this._gamepadDeviceMap.get(e);if(!t)return;const i=this._gamepadDevices.indexOf(t);-1!==i&&this._gamepadDevices.splice(i,1),this.remove(t),this._gamepadDeviceMap.delete(e)}}InputDeviceManager.global=new InputDeviceManager;const f=InputDeviceManager.global;function getAllNavigatables(e,t=[]){var i;for(const s of null!==(i=e.children)&&void 0!==i?i:[])s.isNavigatable?t.push(s):getAllNavigatables(s,t);return t}function getFirstNavigatable(e,t,i,{minimumDistance:s=0}={}){return function chooseFirstNavigatableInDirection(e,t,i,s=0){var n,a,o,r,d,c,l,u,h;const g=e.filter((e=>e.isNavigatable&&null!=e.parent&&isVisible(e))),p=g.find((e=>e===t));if(void 0===p)return g.sort(((e,t)=>t.navigationPriority-e.navigationPriority)),g[0];if(void 0===i&&p)return p;const m=null!=p?p:g[Math.floor(Math.random()*g.length)];if(void 0===p)return null!==(n=e[0])&&void 0!==n?n:m;const v=p.getGlobalPosition(),f=p.getBounds(),y={x:v.x+f.left+f.width/2,y:v.y+f.top+f.height/2},b=g.filter((e=>e!==p)).map((e=>{const t=e.getGlobalPosition(),i=e.getBounds(),s={x:t.x+i.left+i.width/2,y:t.y+i.top+i.height/2};return{element:e,bounds:i,center:s,xDistSqrd:weightedDistSquared(s,y,1,3),yDistSqrd:weightedDistSquared(s,y,3,1)}}));switch(i){case"navigate.up":return null!==(o=null===(a=b.filter((e=>e.center.y<y.y-s)).sort(((e,t)=>e.yDistSqrd-t.yDistSqrd))[0])||void 0===a?void 0:a.element)&&void 0!==o?o:m;case"navigate.left":return null!==(d=null===(r=b.filter((e=>e.center.x<y.x-s)).sort(((e,t)=>e.xDistSqrd-t.xDistSqrd))[0])||void 0===r?void 0:r.element)&&void 0!==d?d:m;case"navigate.right":return null!==(l=null===(c=b.filter((e=>e.center.x>y.x+s)).sort(((e,t)=>e.xDistSqrd-t.xDistSqrd))[0])||void 0===c?void 0:c.element)&&void 0!==l?l:m;case"navigate.down":return null!==(h=null===(u=b.filter((e=>e.center.y>y.y+s)).sort(((e,t)=>e.yDistSqrd-t.yDistSqrd))[0])||void 0===u?void 0:u.element)&&void 0!==h?h:m;default:return p}}(getAllNavigatables(e),t,i,s)}function isChildOf(e,t){for(;null!=e;){if(e===t)return!0;e=e.parent}return!1}function weightedDistSquared(e,t,i,s){const n=t.x-e.x,a=t.y-e.y;return n*n*i+a*a*s}function isVisible(e){for(;null!=e;){if(!e.visible)return!1;e=e.parent}return!0}const y=["navigate.left","navigate.right","navigate.up","navigate.down","navigate.back","navigate.trigger"];class NavigationManager{constructor(){this.options={enableFallbackOverEffect:!0,minimumDirectionDistance:10},this.enabled=!1,this._responders=[]}get focusTarget(){var e,t;return null!==(t=null===(e=this.responders.find((e=>null!=e.focusTarget)))||void 0===e?void 0:e.focusTarget)&&void 0!==t?t:this._rootFocused}set focusTarget(e){const t=this.focusTarget;if(t===e)return;const i=this.getResponderStage();if(i){if(e){if(!e.isNavigatable)return;if(!isChildOf(e,i))return}null!=this.firstResponder?this.firstResponder.focusTarget=e:this._rootFocused=e,t&&this._emitBlur(t),e&&this._emitFocus(e)}}get firstResponder(){return this._responders[0]}get responders(){return this._responders}configureWithRoot(e){null==this._root&&f.onBindDown(y,(e=>this._propagate(e))),this._root=e,this.enabled=!0}popResponder(){var e,t,i,s,n;const a=this.focusTarget,o=this._responders.shift();o.focusTarget=void 0;const r=this.focusTarget;return null===(e=null==o?void 0:o.resignedAsFirstResponder)||void 0===e||e.call(o),this._invalidateFocusedIfNeeded(),this.firstResponder&&(null===(i=(t=this.firstResponder).becameFirstResponder)||void 0===i||i.call(t)),a!==r&&(null!==(n=null===(s=this.firstResponder)||void 0===s?void 0:s.autoFocus)&&void 0!==n?n:void 0===r)&&this.autoFocus(),o}pushResponder(e){var t,i,s;const n=e;if(this._responders.includes(n))throw new Error("Responder already in stack.");const a=this.firstResponder;this._responders.unshift(n),null===(t=null==a?void 0:a.resignedAsFirstResponder)||void 0===t||t.call(a),this._invalidateFocusedIfNeeded(),null===(i=n.becameFirstResponder)||void 0===i||i.call(n),(null===(s=n.autoFocus)||void 0===s||s)&&this.autoFocus()}autoFocus(){if(!b.enabled)return;const e=this.getResponderStage();if(!e)return;const t=getFirstNavigatable(e);void 0!==t?t!==this.focusTarget&&(this.focusTarget=t):console.debug("navigation: no navigatable containers found")}getResponderStage(){var e;return null!==(e=this.responders.find(isContainer))&&void 0!==e?e:this._root}_propagate({device:e,name:t}){var i;if(this.enabled){for(const s of this._responders)if(null===(i=s.handledNavigationIntent)||void 0===i?void 0:i.call(s,t,e))return;if(null==this._root)throw this.enabled=!1,new Error("Navigation requires root responder to be configured");{const e=this.getResponderStage();this._handleGlobalIntent(e,t)}}}_handleGlobalIntent(e,t){var i;this._invalidateFocusedIfNeeded(e);const s=this.focusTarget;if(void 0===s)return void this.autoFocus();if("navigate.back"===t)return this._emitBlur(s),void(this.focusTarget=void 0);if("navigate.trigger"===t)return void this._emitTrigger(s);const n=null!==(i=getFirstNavigatable(e,s,t,{minimumDistance:this.options.minimumDirectionDistance}))&&void 0!==i?i:s;n!==s&&(this.focusTarget=n)}_emitBlur(e){const t=e.eventNames();t.includes("pointerout")?e.emit("pointerout"):t.includes("mouseout")?e.emit("mouseout"):this.options.enableFallbackOverEffect&&(e.alpha=1),e.emit("deviceout")}_emitFocus(e){const t=e.eventNames();t.includes("pointerover")?e.emit("pointerover"):t.includes("mouseover")?e.emit("mouseover"):this.options.enableFallbackOverEffect&&(e.alpha=.5),e.emit("deviceover")}_emitTrigger(e){const t=e.eventNames();t.includes("pointerdown")?e.emit("pointerdown"):t.includes("mousedown")?e.emit("mousedown"):this.options.enableFallbackOverEffect&&(e.alpha=.75),e.emit("devicedown")}_invalidateFocusedIfNeeded(e=this.getResponderStage()){if(!e)return;const t=this.focusTarget;t&&!isChildOf(t,e)&&(this._emitBlur(t),this.focusTarget=void 0)}}function isContainer(e){return"children"in e}NavigationManager.global=new NavigationManager;const b=NavigationManager.global;let _=!1;function registerPixiJSNavigationMixin(e){if(_)return;_=!0;const t=e.prototype;t.navigationPriority=0,t.navigationMode="auto",Object.defineProperty(t,"isNavigatable",{get:function(){if("target"===this.navigationMode)return!0;if("none"===this.navigationMode)return!1;const e=this.eventNames();return e.length>0&&(e.includes("pointerdown")||e.includes("mousedown"))},configurable:!0,enumerable:!1})}export{a as Button,GamepadDevice,f as InputDevice,d as KeyCode,KeyboardDevice,b as UINavigation,getAllNavigatables,getFirstNavigatable,isChildOf,isVisible,y as navigationIntents,registerPixiJSNavigationMixin};
|
|
1
|
+
const e=0,t=1,i=2,s=3,n=["LeftStickLeft","LeftStickRight","LeftStickUp","LeftStickDown","RightStickLeft","RightStickRight","RightStickUp","RightStickDown"],a={Face1:0,Face2:1,Face3:2,Face4:3,LeftShoulder:4,RightShoulder:5,LeftTrigger:6,RightTrigger:7,Back:8,Start:9,LeftStickClick:10,RightStickClick:11,DpadUp:12,DpadDown:13,DpadLeft:14,DpadRight:15},o=["Face1","Face2","Face3","Face4","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStickClick","RightStickClick","DpadUp","DpadDown","DpadLeft","DpadRight"];class EventEmitter{constructor(){this._listeners={}}hasListener(e){return void 0!==this._listeners[e]}emit(e,t){var i;null===(i=this._listeners[e])||void 0===i||i.forEach((e=>e(t)))}on(e,t,i){var s,n;if(this._listeners[e]||(this._listeners[e]=[]),null==i?void 0:i.once){const onceFn=i=>{t(i),this.off(e,onceFn)};null===(s=this._listeners[e])||void 0===s||s.push(onceFn)}else null===(n=this._listeners[e])||void 0===n||n.push(t)}off(e,t){var i,s;this._listeners[e]=void 0===t||null===(i=this._listeners[e])||void 0===i?void 0:i.filter((e=>e!==t)),0===(null===(s=this._listeners[e])||void 0===s?void 0:s.length)&&(this._listeners[e]=void 0)}}const r=2e3;class GamepadHapticManager{constructor(e){var t,i,s;this.activeEffects=[],this.state={rumble:0,buzz:0,leftTrigger:0,rightTrigger:0,expires:0},this.gamepad=e,this.hapticEvent="vibrationActuator"in e?(null===(s=null===(i=null===(t=e.vibrationActuator)||void 0===t?void 0:t.effects)||void 0===i?void 0:i.includes)||void 0===s?void 0:s.call(i,"trigger-rumble"))?"trigger-rumble":"dual-rumble":void 0,this.hasTriggerRumble="trigger-rumble"===this.hapticEvent}play(e,t){var i;const s=Math.max(0,null!==(i=e.startDelay)&&void 0!==i?i:0),n=performance.now()+s;this.activeEffects.push(Object.assign(Object.assign({},e),{start:n,end:n+Math.max(e.duration,0),startDelay:void 0})),this.intensity!==t&&(this.intensity=Math.max(0,Math.min(1,t))),s||0!==this.activeEffects.length||this.update()}reset(){var e,t;this.activeEffects.length=0,this.state.rumble=0,this.state.buzz=0,this.state.leftTrigger=0,this.state.rightTrigger=0,this.gamepad.vibrationActuator?this.gamepad.vibrationActuator.reset():this.gamepad.hapticActuators&&(null===(t=null===(e=this.gamepad.hapticActuators[0])||void 0===e?void 0:e.pulse)||void 0===t||t.call(e,0,100))}update(){var e,t;const i=performance.now();let s=0,n=0,a=0,o=0,d=0,c=!1;for(let e=0;e<this.activeEffects.length;e++){const t=this.activeEffects[e];t.end<=i?c=!0:t.start>i||("trigger-rumble"===this.hapticEvent&&(t.leftTrigger&&t.leftTrigger>a&&(a=t.leftTrigger),t.rightTrigger&&t.rightTrigger>o&&(o=t.rightTrigger)),t.rumble&&t.rumble>s&&(s=t.rumble),t.buzz&&t.buzz>n&&(n=t.buzz),t.end-i>d&&(d=t.end-i))}if(c&&(this.activeEffects=this.activeEffects.filter((e=>e.end>=i))),this.state.rumble!==s||this.state.buzz!==n||this.state.leftTrigger!==a||this.state.rightTrigger!==o||this.state.expires<=i&&s+n+a+o>0)if(this.state.rumble=s,this.state.buzz=n,this.state.leftTrigger=a,this.state.rightTrigger=o,void 0!==this.hapticEvent)this.state.expires=i+r,this.gamepad.vibrationActuator.playEffect(this.hapticEvent,{duration:r,strongMagnitude:n*this.intensity,weakMagnitude:s*this.intensity,leftTrigger:a*this.intensity,rightTrigger:o*this.intensity});else if(this.gamepad.hapticActuators){const a=Math.min(d,r),o=Math.max(s,n)*this.intensity;this.state.expires=i+d,null===(t=null===(e=this.gamepad.hapticActuators[0])||void 0===e?void 0:e.pulse)||void 0===t||t.call(e,o,a)}}}class GamepadDevice{static configureDefaultBinds(e){this.defaultOptions.binds=Object.assign(Object.assign({},this.defaultOptions.binds),e)}constructor(e){var t;this.source=e,this.type="gamepad",this.meta={},this.lastInteraction=performance.now(),this.options=JSON.parse(JSON.stringify(GamepadDevice.defaultOptions)),this.leftJoystick={x:0,y:0},this.rightJoystick={x:0,y:0},this.button=[...o,...n].reduce(((e,t)=>(e[t]=!1,e)),{}),this.leftTrigger=0,this.rightTrigger=0,this.leftShoulder=0,this.rightShoulder=0,this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._debounces=new Map,this.id="gamepad"+e.index,this.layout=null!==(t=function detectLayout(e){const t=(e||"").toLowerCase();return/(amazon|luna|1949)/.test(t)?"amazon_luna":/(logitech|046d|c216|logicool|^46d)/.test(t)?"logitech_g":/(joy-?con.*l|057e.*2006)/.test(t)?"nintendo_joycon_l":/(joy-?con.*r|057e.*2007)/.test(t)?"nintendo_joycon_r":/(wiiu?|0305|0306|0337)/.test(t)?"nintendo_wiiu":/(switch.*pro|nintendo|switch|057e|0300)/.test(t)?"nintendo_switch_pro":/(nvidia.*shield|nvidia|shield|0955)/.test(t)?"nvidia_shield":/(playstation.*5|dualsense|0df2|0ce6)/.test(t)?"playstation_5":/(playstation|sony|dualshock|054c|09cc|0ba0|0810)/.test(t)?"playstation_4":/(steam.*controller|steam|28de|1102|1142)/.test(t)?"steam_controller":/(xbox.*series|0b00|0b12)/.test(t)?"xbox_series":/(xbox.*360|0202|0283|0285|0288|0289|028e|028f|0291|0719)/.test(t)?"xbox_360":/(xbox|xinput|045e)/.test(t)?"xbox_one":void 0}(null==e?void 0:e.id))&&void 0!==t?t:"unknown",this.haptics=new GamepadHapticManager(e),this.supportsTriggerRumble=this.haptics.hasTriggerRumble}bindDown(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;t<e.length;t++)if(this.button[e[t]])return!0;return!1}pressedAll(e){for(let t=0;t<e.length;t++)if(!this.button[e[t]])return!1;return!0}configureBinds(e){this.options.binds=Object.assign(Object.assign({},this.options.binds),e)}on(e,t,i){return this._emitter.on(e,t,i),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return this._bindDownEmitter.on(e,t,i),this}offBindDown(e,t){return this._bindDownEmitter.off(e,t),this}playHaptic(e){this.options.vibration.enabled&&this.haptics.play(e,this.options.vibration.intensity)}stopHaptics(){this.haptics.reset()}update(e,t){this._updatePresses(e,t),this.source=e,this.haptics.update()}clear(){this.button=[...n,...o].reduce(((e,t)=>(e[t]=!1,e)),{}),this.haptics.reset()}_updatePresses(r,d){var c,l,u,h,g,p,m;const v=this.options.joystick;for(let e=0;e<4;e++){const t=_scale(r.axes[e],v.deadzone),i=n[2*e+(t>0?1:0)];if(Math.abs(t)<v.pressThreshold)this.button[i]||this._debounces.delete(i),this.button[i]=!1;else{const t=v.autoRepeatDelayMs[+this.button[i]];if(this._debounce(i,t)&&this.button[i])continue;this.button[i]=!0,this.lastInteraction=d,this.options.emitEvents&&(this._emitter.hasListener(i)&&this._emitter.emit(i,{device:this,axis:e,axisCode:i}),Object.entries(this.options.binds).forEach((([t,s])=>{if(!s.includes(i))return;const n={device:this,type:"axis",axis:e,axisCode:i,name:t};this._bindDownEmitter.emit(t,n),this._emitter.emit("binddown",n)})))}}for(let e=0;e<16;e++){let t=e;const i=o[t];if(this.button[i]===(null===(c=r.buttons[e])||void 0===c?void 0:c.pressed))continue;this.lastInteraction=d;const s=null!==(u=null===(l=r.buttons[e])||void 0===l?void 0:l.pressed)&&void 0!==u&&u;this.button[i]=s,s&&this.options.emitEvents&&(this._emitter.hasListener(i)&&this._emitter.emit(i,{device:this,button:t,buttonCode:i}),Object.entries(this.options.binds).forEach((([e,s])=>{if(!s.includes(i))return;const n={device:this,type:"button",button:t,buttonCode:i,name:e};this._bindDownEmitter.emit(e,n),this._emitter.emit("binddown",n)})))}const f=this.options.trigger.deadzone;this.leftTrigger=_scale(r.buttons[a.LeftTrigger].value,f),this.rightTrigger=_scale(r.buttons[a.RightTrigger].value,f),this.leftShoulder=_scale(r.buttons[a.LeftShoulder].value,f),this.rightShoulder=_scale(r.buttons[a.RightShoulder].value,f);const y=v.deadzone;this.leftJoystick.x=_scale(null!==(h=r.axes[e])&&void 0!==h?h:0,y),this.leftJoystick.y=_scale(null!==(g=r.axes[t])&&void 0!==g?g:0,y),this.rightJoystick.x=_scale(null!==(p=r.axes[i])&&void 0!==p?p:0,y),this.rightJoystick.y=_scale(null!==(m=r.axes[s])&&void 0!==m?m:0,y)}_debounce(e,t){var i;const s=Date.now();return(null!==(i=this._debounces.get(e))&&void 0!==i?i:0)>s||(this._debounces.set(e,s+t),!1)}}function _scale(e,t){const i=(Math.abs(e)-t[0])/(t[1]-t[0]);return i>=0&&i<=1?Math.sign(e)*i:i>1?1*Math.sign(e):0}GamepadDevice.defaultOptions={emitEvents:!0,joystick:{deadzone:[0,1],pressThreshold:.5,autoRepeatDelayMs:[400,100]},trigger:{deadzone:[0,1]},vibration:{enabled:!0,intensity:1},binds:{"navigate.trigger":["Face1"],"navigate.back":["Face2"],"navigate.up":["DpadUp","LeftStickUp"],"navigate.left":["DpadLeft","LeftStickLeft"],"navigate.down":["DpadDown","LeftStickDown"],"navigate.right":["DpadRight","LeftStickRight"]}};const d={AltLeft:"AltLeft",AltRight:"AltRight",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",ArrowUp:"ArrowUp",Backquote:"Backquote",Backslash:"Backslash",Backspace:"Backspace",BracketLeft:"BracketLeft",BracketRight:"BracketRight",CapsLock:"CapsLock",Comma:"Comma",ContextMenu:"ContextMenu",ControlLeft:"ControlLeft",ControlRight:"ControlRight",Delete:"Delete",Digit0:"Digit0",Digit1:"Digit1",Digit2:"Digit2",Digit3:"Digit3",Digit4:"Digit4",Digit5:"Digit5",Digit6:"Digit6",Digit7:"Digit7",Digit8:"Digit8",Digit9:"Digit9",End:"End",Enter:"Enter",Equal:"Equal",Escape:"Escape",F1:"F1",F10:"F10",F11:"F11",F12:"F12",F13:"F13",F14:"F14",F15:"F15",F16:"F16",F17:"F17",F18:"F18",F19:"F19",F2:"F2",F20:"F20",F21:"F21",F22:"F22",F23:"F23",F24:"F24",F25:"F25",F26:"F26",F27:"F27",F28:"F28",F29:"F29",F3:"F3",F30:"F30",F31:"F31",F32:"F32",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",Home:"Home",IntlBackslash:"IntlBackslash",IntlRo:"IntlRo",IntlYen:"IntlYen",KeyA:"KeyA",KeyB:"KeyB",KeyC:"KeyC",KeyD:"KeyD",KeyE:"KeyE",KeyF:"KeyF",KeyG:"KeyG",KeyH:"KeyH",KeyI:"KeyI",KeyJ:"KeyJ",KeyK:"KeyK",KeyL:"KeyL",KeyM:"KeyM",KeyN:"KeyN",KeyO:"KeyO",KeyP:"KeyP",KeyQ:"KeyQ",KeyR:"KeyR",KeyS:"KeyS",KeyT:"KeyT",KeyU:"KeyU",KeyV:"KeyV",KeyW:"KeyW",KeyX:"KeyX",KeyY:"KeyY",KeyZ:"KeyZ",Lang1:"Lang1",Lang2:"Lang2",MediaTrackNext:"MediaTrackNext",MediaTrackPrevious:"MediaTrackPrevious",MetaLeft:"MetaLeft",MetaRight:"MetaRight",Minus:"Minus",NumLock:"NumLock",Numpad0:"Numpad0",Numpad1:"Numpad1",Numpad2:"Numpad2",Numpad3:"Numpad3",Numpad4:"Numpad4",Numpad5:"Numpad5",Numpad6:"Numpad6",Numpad7:"Numpad7",Numpad8:"Numpad8",Numpad9:"Numpad9",NumpadAdd:"NumpadAdd",NumpadComma:"NumpadComma",NumpadDecimal:"NumpadDecimal",NumpadDivide:"NumpadDivide",NumpadMultiply:"NumpadMultiply",NumpadSubtract:"NumpadSubtract",OSLeft:"OSLeft",Pause:"Pause",Period:"Period",Quote:"Quote",ScrollLock:"ScrollLock",Semicolon:"Semicolon",ShiftLeft:"ShiftLeft",ShiftRight:"ShiftRight",Slash:"Slash",Space:"Space",Tab:"Tab",VolumeDown:"VolumeDown",VolumeMute:"VolumeMute",VolumeUp:"VolumeUp",WakeUp:"WakeUp"};function __awaiter(e,t,i,s){return new(i||(i=Promise))((function(n,a){function fulfilled(e){try{step(s.next(e))}catch(e){a(e)}}function rejected(e){try{step(s.throw(e))}catch(e){a(e)}}function step(e){e.done?n(e.value):function adopt(e){return e instanceof i?e:new i((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const c=/ф|и|с|в|у|а|п|р|ш|о|л|д|ь|т|щ|з|й|к|ы|е|г|м|ц|ч|н|я|ё|х|ъ|б|ю|э|ж|и/i,l=/[a-z]/i,u=["fr","mg","lu"],h=["ab","ba","be","bg","ch","kk","ky","mk","mn","ru","sr","tg","tt","uk","uz"],g=["de","cs","sk","sl","hu","hr","bs","ro","sq","me","lt","lv","et"];let p,m;function inferKeyboardLayoutFromLang(e=function getLang(){var e;const t=navigator;return(null===(e=t.languages)||void 0===e?void 0:e.length)?t.languages[0]:t.userLanguage||t.language||t.browserLanguage}()){const t=(e||"").toLowerCase(),i=t.split("-")[0];return u.includes(i)||t.startsWith("nl-be")?"AZERTY":h.includes(i)?"JCUKEN":g.includes(i)||t.startsWith("sr-latn")?"QWERTZ":"QWERTY"}const v=new Set(["AZERTY","JCUKEN","QWERTY","QWERTZ"]);function getLayoutKeyLabel(e,t){var i,s;if(void 0===m){const e={ArrowLeft:"⬅",ArrowRight:"➡",ArrowUp:"⬆",ArrowDown:"⬇",AltLeft:"Left Alt",AltRight:"Right Alt",Backquote:"`",Backslash:"\\",Backspace:"Backspace",BracketLeft:"[",BracketRight:"]",CapsLock:"CapsLock",Comma:",",ContextMenu:"Context Menu",ControlLeft:"Left Ctrl",ControlRight:"Right Ctrl",Delete:"Delete",Digit0:"0",Digit1:"1",Digit2:"2",Digit3:"3",Digit4:"4",Digit5:"5",Digit6:"6",Digit7:"7",Digit8:"8",Digit9:"9",End:"End",Enter:"Enter",Equal:"=",Escape:"Esc",F1:"F1",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",F10:"F10",F11:"F11",F12:"F12",F13:"F13",F14:"F14",F15:"F15",F16:"F16",F17:"F17",F18:"F18",F19:"F19",F20:"F20",F21:"F21",F22:"F22",F23:"F23",F24:"F24",F25:"F25",F26:"F26",F27:"F27",F28:"F28",F29:"F29",F30:"F30",F31:"F31",F32:"F32",Home:"Home",IntlBackslash:"\\",IntlRo:"Ro",IntlYen:"¥",KeyA:"A",KeyB:"B",KeyC:"C",KeyD:"D",KeyE:"E",KeyF:"F",KeyG:"G",KeyH:"H",KeyI:"I",KeyJ:"J",KeyK:"K",KeyL:"L",KeyM:"M",KeyN:"N",KeyO:"O",KeyP:"P",KeyQ:"Q",KeyR:"R",KeyS:"S",KeyT:"T",KeyU:"U",KeyV:"V",KeyW:"W",KeyX:"X",KeyY:"Y",KeyZ:"Z",Lang1:"Language 1",Lang2:"Language 2",MediaTrackNext:"Next Track",MediaTrackPrevious:"Previous Track",MetaLeft:"Left "+getMetaKeyLabel(),MetaRight:"Right "+getMetaKeyLabel(),Minus:"-",NumLock:"Num Lock",Numpad0:"Num0",Numpad1:"Num1",Numpad2:"Num2",Numpad3:"Num3",Numpad4:"Num4",Numpad5:"Num5",Numpad6:"Num6",Numpad7:"Num7",Numpad8:"Num8",Numpad9:"Num9",NumpadAdd:"+",NumpadComma:",",NumpadDecimal:".",NumpadDivide:"/",NumpadMultiply:"*",NumpadSubtract:"-",OSLeft:"OS Left",Pause:"Pause",Period:".",Quote:"'",ScrollLock:"Scroll Lock",Semicolon:";",ShiftLeft:"Left Shift",ShiftRight:"Right Shift",Slash:"/",Space:"Space",Tab:"Tab",VolumeDown:"Volume Down",VolumeMute:"Volume Mute",VolumeUp:"Volume Up",WakeUp:"Wake Up"};m={AZERTY:{KeyA:"Q",KeyQ:"A",KeyW:"Z",KeyZ:"W",Backquote:"²",BracketLeft:"«",BracketRight:"»"},JCUKEN:{KeyA:"Ф",KeyB:"И",KeyC:"С",KeyD:"В",KeyE:"У",KeyF:"А",KeyG:"П",KeyH:"Р",KeyI:"Ш",KeyJ:"О",KeyK:"Л",KeyL:"Д",KeyM:"Ь",KeyN:"Т",KeyO:"Щ",KeyP:"З",KeyQ:"Й",KeyR:"К",KeyS:"Ы",KeyT:"Е",KeyU:"Г",KeyV:"М",KeyW:"Ц",KeyX:"Ч",KeyY:"Н",KeyZ:"Я",Backquote:"Ё",BracketLeft:"х",BracketRight:"ъ",Comma:"Б",Period:"Ю",Quote:"Э",Semicolon:"Ж",Slash:"И"},QWERTY:e,QWERTZ:{KeyY:"Z",KeyZ:"Y",BracketLeft:"ü",BracketRight:"ö",Slash:"-"}}}return null!==(s=null!==(i=m[t][e])&&void 0!==i?i:m.QWERTY[e])&&void 0!==s?s:e}function getMetaKeyLabel(){var e,t,i,s;const n=navigator,a=null!==(t=null===(e=n.platform)||void 0===e?void 0:e.toLowerCase())&&void 0!==t?t:"",o=null!==(s=null===(i=n.userAgent)||void 0===i?void 0:i.toLowerCase())&&void 0!==s?s:"";return a.includes("mac")?"⌘":a.includes("win")||a.includes("linux")?"⊞":o.includes("android")?"Search":o.includes("iphone")||o.includes("ipad")?"⌘":"⊞"}class KeyboardDevice{constructor(){this.type="keyboard",this.id="keyboard",this.meta={},this.lastInteraction=performance.now(),this.detected=!1,this.options={emitEvents:!0,detectLayoutOnKeypress:!0,binds:{"navigate.back":["Escape","Backspace"],"navigate.down":["ArrowDown","KeyS"],"navigate.left":["ArrowLeft","KeyA"],"navigate.right":["ArrowRight","KeyD"],"navigate.trigger":["Enter","Space"],"navigate.up":["ArrowUp","KeyW"]},repeatableBinds:["navigate.down","navigate.left","navigate.right","navigate.up"]},this.key=Object.keys(d).reduce(((e,t)=>(e[t]=!1,e)),{}),this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._deferredKeydown=[],this._layout=inferKeyboardLayoutFromLang(),this._layoutSource="lang",function requestKeyboardLayout(){return __awaiter(this,void 0,void 0,(function*(){const e=navigator;if(e.keyboard&&e.keyboard.getLayoutMap)try{const t=yield e.keyboard.getLayoutMap();p=t;const i=t.get("KeyQ"),s=t.get("KeyA"),n=t.get("KeyZ");if("a"===i&&"w"===n&&"q"===s)return"AZERTY";if("q"===i&&"y"===n&&"a"===s)return"QWERTZ";if("q"===i&&"z"===n&&"a"===s)return"QWERTY";if("й"===i&&"я"===n&&"ф"===s)return"JCUKEN"}catch(e){}}))}().then((e=>{void 0!==e&&(this._layoutSource="browser",this._layout=e,this.options.detectLayoutOnKeypress=!1,this._emitter.emit("layoutdetected",{layoutSource:"browser",layout:e,device:this}))})),this._configureEventListeners()}get layout(){return this._layout}set layout(e){this._layoutSource="manual",this._layout=e,this.options.detectLayoutOnKeypress=!1}get layoutSource(){return this._layoutSource}bindDown(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;t<e.length;t++)if(this.key[e[t]])return!0;return!1}pressedAll(e){for(let t=0;t<e.length;t++)if(!this.key[e[t]])return!1;return!0}configureBinds(e){this.options.binds=Object.assign(Object.assign({},this.options.binds),e)}playHaptic(e){}on(e,t,i){return this._emitter.on(e,t,i),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return this._bindDownEmitter.on(e,t,i),this}offBindDown(e,t){return this._bindDownEmitter.off(e,t),this}getKeyLabel(e,t){var i;return t?getLayoutKeyLabel(e,t):null!==(i=function getNavigatorKeyLabel(e){const t=null==p?void 0:p.get(e);return void 0===t?void 0:function _toLocaleTitleCase(e){return e.split(/\s+/).map((e=>e.charAt(0).toLocaleUpperCase()+e.slice(1))).join(" ")}(t)}(e))&&void 0!==i?i:getLayoutKeyLabel(e,null!=t?t:this._layout)}update(e){this._deferredKeydown.length>0&&(this._deferredKeydown.forEach((e=>this._processDeferredKeydownEvent(e))),this._deferredKeydown.length=0)}clear(){for(const e of Object.keys(d))this.key[e]=!1}_configureEventListeners(){const e=this.key,t=this._deferredKeydown;window.addEventListener("keydown",(i=>{e[i.code]=!0,t.push(i),this.lastInteraction=performance.now()}),{passive:!0,capture:!0}),window.addEventListener("keyup",(t=>{e[t.code]=!1,this.lastInteraction=performance.now()}),{passive:!0,capture:!0})}_processDeferredKeydownEvent(e){const t=e.code;if(!e.repeat){if(this.options.detectLayoutOnKeypress&&"lang"===this._layoutSource){const t=function detectKeyboardLayoutFromKeydown(e){const t=e.key.toLowerCase(),i=e.code;return c.test(t)?(v.delete("AZERTY"),v.delete("QWERTY"),v.delete("QWERTZ")):"Backquote"===i&&"²"===t||"BracketLeft"===i&&"«"===t||"BracketRight"===i&&"»"===t||"KeyA"===i&&"q"===t||"KeyQ"===i&&"a"===t||"KeyW"===i&&"z"===t||"KeyZ"===i&&"w"===t?(v.delete("JCUKEN"),v.delete("QWERTY"),v.delete("QWERTZ")):"BracketLeft"===i&&"ü"===t||"BracketRight"===i&&"ö"===t||"KeyY"===i&&"z"===t||"KeyZ"===i&&"y"===t||"Slash"===i&&"-"===t?(v.delete("AZERTY"),v.delete("JCUKEN"),v.delete("QWERTY")):"BracketLeft"===i&&"["===t||"BracketRight"===i&&"]"===t||"KeyZ"===i&&"z"===t?(v.delete("AZERTY"),v.delete("JCUKEN"),v.delete("QWERTZ")):"KeyQ"===i&&"q"===t||"KeyW"===i&&"w"===t?(v.delete("AZERTY"),v.delete("JCUKEN")):"KeyY"===i&&"y"===t?(v.delete("QWERTZ"),v.delete("JCUKEN")):l.test(t)&&v.delete("JCUKEN"),1===v.size?[...v][0]:void 0}(e);void 0!==t&&(this._layout=t,this._layoutSource="keypress",this.options.detectLayoutOnKeypress=!1,this._emitter.emit("layoutdetected",{layout:t,layoutSource:"keypress",device:this}))}this.options.emitEvents&&this._emitter.hasListener(t)&&this._emitter.emit(t,{device:this,keyCode:t,keyLabel:this.getKeyLabel(t),event:e})}this.options.emitEvents&&Object.entries(this.options.binds).forEach((([i,s])=>{if(!s.includes(t))return;if(e.repeat&&!this.options.repeatableBinds.includes(i))return;const n={device:this,keyCode:t,keyLabel:this.getKeyLabel(t),event:e,name:i,repeat:e.repeat};this._bindDownEmitter.emit(i,n),this._emitter.emit("binddown",n)}))}}KeyboardDevice.global=new KeyboardDevice;class InputDeviceManager{constructor(){this.hasMouseLikePointer=window.matchMedia("(pointer: fine) and (hover: hover)").matches,this.isMobile=(()=>{let e=!1;var t;return t=navigator.userAgent||navigator.vendor,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0),e})(),this.isTouchCapable="ontouchstart"in window||navigator.maxTouchPoints>0,this.keyboard=KeyboardDevice.global,this.options={clearInputOnBackground:!0,requireDocumentFocus:!0},this._devices=[],this._gamepadDevices=[],this._gamepadDeviceMap=new Map,this._customDevices=[],this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._hasFocus=!1,window.addEventListener("gamepadconnected",(()=>this._pollGamepads(performance.now()))),window.addEventListener("gamepaddisconnected",(e=>this._removeGamepad(e.gamepad.index))),!this.isMobile&&this.hasMouseLikePointer?this.add(this.keyboard):window.addEventListener("keydown",(()=>this.add(this.keyboard)),{once:!0})}get devices(){return this._devices}get gamepads(){return this._gamepadDevices}get custom(){return this._customDevices}get lastInteractedDevice(){return this._lastInteractedDevice}on(e,t){return this._emitter.on(e,t),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindDownEmitter.on(e,t,i))),this}offBindDown(e,t){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindDownEmitter.off(e,t))),this}emitBindDown(e){this._bindDownEmitter.emit(e.name,e)}add(e){-1===this._devices.indexOf(e)&&(this._devices.push(e),e instanceof KeyboardDevice?(e.detected=!0,e.on("binddown",(e=>this.emitBindDown(e)))):e instanceof GamepadDevice?(this._gamepadDeviceMap.set(e.source.index,e),this._gamepadDevices.push(e),e.on("binddown",(e=>this.emitBindDown(e)))):this._customDevices.push(e),this._emitter.emit("deviceadded",{device:e}))}remove(e){if(!(e instanceof KeyboardDevice||e instanceof GamepadDevice)){const t=this._customDevices.indexOf(e);-1!==t&&this._customDevices.splice(t,1)}const t=this._devices.indexOf(e);-1!==t&&(this._devices.splice(t,1),this._emitter.emit("deviceremoved",{device:e}))}update(){if(this.options.requireDocumentFocus&&!document.hasFocus())return this._hasFocus&&this.options.clearInputOnBackground&&this.devices.forEach((e=>{var t;return null===(t=e.clear)||void 0===t?void 0:t.call(e)})),this._hasFocus=!1,this._devices;this._hasFocus=!0;const e=performance.now();return this.keyboard.detected&&this.keyboard.update(e),this._gamepadDevices.length>0&&this._pollGamepads(e),this._customDevices.length>0&&this._customDevices.forEach((t=>t.update(e))),this._updateLastInteracted(),this._devices}_updateLastInteracted(){if(0===this._devices.length)return;let e;if(1===this._devices.length)e=this._devices[0];else for(const t of this._devices)(void 0===e||t.lastInteraction>e.lastInteraction)&&(e=t);e!==this._lastInteractedDevice&&this._emitter.emit("lastdevicechanged",{device:e}),this._lastInteractedDevice=e}_pollGamepads(e){if(!document.hasFocus())return this._gamepadDevices;if(void 0===navigator.getGamepads)return this._gamepadDevices;for(const t of navigator.getGamepads())if(null!=t)if(this._gamepadDeviceMap.has(t.index)){this._gamepadDeviceMap.get(t.index).update(t,e)}else{const i=new GamepadDevice(t);this.add(i),i.update(t,e)}return this._gamepadDevices}_removeGamepad(e){const t=this._gamepadDeviceMap.get(e);if(!t)return;const i=this._gamepadDevices.indexOf(t);-1!==i&&this._gamepadDevices.splice(i,1),this.remove(t),this._gamepadDeviceMap.delete(e)}}InputDeviceManager.global=new InputDeviceManager;const f=InputDeviceManager.global;function getAllNavigatables(e,t=[]){var i;for(const s of null!==(i=e.children)&&void 0!==i?i:[])s.isNavigatable?t.push(s):getAllNavigatables(s,t);return t}function getFirstNavigatable(e,t,i,{minimumDistance:s=0}={}){return function chooseFirstNavigatableInDirection(e,t,i,s=0){var n,a,o,r,d,c,l,u,h;const g=e.filter((e=>e.isNavigatable&&null!=e.parent&&isVisible(e))),p=g.find((e=>e===t));if(void 0===p)return g.sort(((e,t)=>t.navigationPriority-e.navigationPriority)),g[0];if(void 0===i&&p)return p;const m=null!=p?p:g[Math.floor(Math.random()*g.length)];if(void 0===p)return null!==(n=e[0])&&void 0!==n?n:m;const v=p.getGlobalPosition(),f=p.getBounds(),y={x:v.x+f.left+f.width/2,y:v.y+f.top+f.height/2},b=g.filter((e=>e!==p)).map((e=>{const t=e.getGlobalPosition(),i=e.getBounds(),s={x:t.x+i.left+i.width/2,y:t.y+i.top+i.height/2};return{element:e,bounds:i,center:s,xDistSqrd:weightedDistSquared(s,y,1,3),yDistSqrd:weightedDistSquared(s,y,3,1)}}));switch(i){case"navigate.up":return null!==(o=null===(a=b.filter((e=>e.center.y<y.y-s)).sort(((e,t)=>e.yDistSqrd-t.yDistSqrd))[0])||void 0===a?void 0:a.element)&&void 0!==o?o:m;case"navigate.left":return null!==(d=null===(r=b.filter((e=>e.center.x<y.x-s)).sort(((e,t)=>e.xDistSqrd-t.xDistSqrd))[0])||void 0===r?void 0:r.element)&&void 0!==d?d:m;case"navigate.right":return null!==(l=null===(c=b.filter((e=>e.center.x>y.x+s)).sort(((e,t)=>e.xDistSqrd-t.xDistSqrd))[0])||void 0===c?void 0:c.element)&&void 0!==l?l:m;case"navigate.down":return null!==(h=null===(u=b.filter((e=>e.center.y>y.y+s)).sort(((e,t)=>e.yDistSqrd-t.yDistSqrd))[0])||void 0===u?void 0:u.element)&&void 0!==h?h:m;default:return p}}(getAllNavigatables(e),t,i,s)}function isChildOf(e,t){for(;null!=e;){if(e===t)return!0;e=e.parent}return!1}function weightedDistSquared(e,t,i,s){const n=t.x-e.x,a=t.y-e.y;return n*n*i+a*a*s}function isVisible(e){for(;null!=e;){if(!e.visible)return!1;e=e.parent}return!0}const y=["navigate.left","navigate.right","navigate.up","navigate.down","navigate.back","navigate.trigger"];class NavigationManager{constructor(){this.options={enableFallbackOverEffect:!0,minimumDirectionDistance:10},this.enabled=!1,this._responders=[]}get focusTarget(){var e,t;return null!==(t=null===(e=this.responders.find((e=>null!=e.focusTarget)))||void 0===e?void 0:e.focusTarget)&&void 0!==t?t:this._rootFocused}set focusTarget(e){const t=this.focusTarget;if(t===e)return;const i=this.getResponderStage();if(i){if(e){if(!e.isNavigatable)return;if(!isChildOf(e,i))return}null!=this.firstResponder?this.firstResponder.focusTarget=e:this._rootFocused=e,t&&this._emitBlur(t),e&&this._emitFocus(e)}}get firstResponder(){return this._responders[0]}get responders(){return this._responders}configureWithRoot(e){null==this._root&&f.onBindDown(y,(e=>this._propagate(e))),this._root=e,this.enabled=!0}popResponder(){var e,t,i,s,n;const a=this.focusTarget,o=this._responders.shift();o.focusTarget=void 0;const r=this.focusTarget;return null===(e=null==o?void 0:o.resignedAsFirstResponder)||void 0===e||e.call(o),this._invalidateFocusedIfNeeded(),this.firstResponder&&(null===(i=(t=this.firstResponder).becameFirstResponder)||void 0===i||i.call(t)),a!==r&&(null!==(n=null===(s=this.firstResponder)||void 0===s?void 0:s.autoFocus)&&void 0!==n?n:void 0===r)&&this.autoFocus(),o}pushResponder(e){var t,i,s;const n=e;if(this._responders.includes(n))throw new Error("Responder already in stack.");const a=this.firstResponder;this._responders.unshift(n),null===(t=null==a?void 0:a.resignedAsFirstResponder)||void 0===t||t.call(a),this._invalidateFocusedIfNeeded(),null===(i=n.becameFirstResponder)||void 0===i||i.call(n),(null===(s=n.autoFocus)||void 0===s||s)&&this.autoFocus()}autoFocus(){if(!b.enabled)return;const e=this.getResponderStage();if(!e)return;const t=getFirstNavigatable(e);void 0!==t?t!==this.focusTarget&&(this.focusTarget=t):console.debug("navigation: no navigatable containers found")}getResponderStage(){var e;return null!==(e=this.responders.find(isContainer))&&void 0!==e?e:this._root}_propagate({device:e,name:t}){var i;if(this.enabled){for(const s of this._responders)if(null===(i=s.handledNavigationIntent)||void 0===i?void 0:i.call(s,t,e))return;if(null==this._root)throw this.enabled=!1,new Error("Navigation requires root responder to be configured");{const e=this.getResponderStage();this._handleGlobalIntent(e,t)}}}_handleGlobalIntent(e,t){var i;this._invalidateFocusedIfNeeded(e);const s=this.focusTarget;if(void 0===s)return void this.autoFocus();if("navigate.back"===t)return this._emitBlur(s),void(this.focusTarget=void 0);if("navigate.trigger"===t)return void this._emitTrigger(s);const n=null!==(i=getFirstNavigatable(e,s,t,{minimumDistance:this.options.minimumDirectionDistance}))&&void 0!==i?i:s;n!==s&&(this.focusTarget=n)}_emitBlur(e){const t=e.eventNames();t.includes("pointerout")?e.emit("pointerout"):t.includes("mouseout")?e.emit("mouseout"):this.options.enableFallbackOverEffect&&(e.alpha=1),e.emit("deviceout")}_emitFocus(e){const t=e.eventNames();t.includes("pointerover")?e.emit("pointerover"):t.includes("mouseover")?e.emit("mouseover"):this.options.enableFallbackOverEffect&&(e.alpha=.5),e.emit("deviceover")}_emitTrigger(e){const t=e.eventNames();t.includes("pointerdown")?e.emit("pointerdown"):t.includes("mousedown")?e.emit("mousedown"):this.options.enableFallbackOverEffect&&(e.alpha=.75),e.emit("devicedown")}_invalidateFocusedIfNeeded(e=this.getResponderStage()){if(!e)return;const t=this.focusTarget;t&&!isChildOf(t,e)&&(this._emitBlur(t),this.focusTarget=void 0)}}function isContainer(e){return"children"in e}NavigationManager.global=new NavigationManager;const b=NavigationManager.global;let _=!1;function registerPixiJSNavigationMixin(e){if(_)return;_=!0;const t=e.prototype;t.navigationPriority=0,t.navigationMode="auto",Object.defineProperty(t,"isNavigatable",{get:function(){if("target"===this.navigationMode)return!0;if("none"===this.navigationMode)return!1;const e=this.eventNames();return e.length>0&&(e.includes("pointerdown")||e.includes("mousedown"))},configurable:!0,enumerable:!1})}export{a as Button,GamepadDevice,f as InputDevice,d as KeyCode,KeyboardDevice,b as UINavigation,getAllNavigatables,getFirstNavigatable,isChildOf,isVisible,y as navigationIntents,registerPixiJSNavigationMixin};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../src/lib/devices/gamepads/buttons.ts","../src/lib/utils/events.ts","../src/lib/devices/gamepads/GamepadHapticManager.ts","../src/lib/devices/gamepads/GamepadDevice.ts","../src/lib/devices/gamepads/layouts.ts","../src/lib/devices/keyboard/keys.ts","../node_modules/tslib/tslib.es6.js","../src/lib/devices/keyboard/layouts.ts","../src/lib/devices/keyboard/KeyboardDevice.ts","../src/lib/InputDevice.ts","../src/lib/utils/isMobile.ts","../src/lib/navigation/Navigatable.ts","../src/lib/navigation/NavigationIntent.ts","../src/lib/navigation/UINavigation.ts","../src/Container.mixin.ts"],"sourcesContent":[null,null,null,null,null,null,"/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n",null,null,null,null,null,null,null,null],"names":["Axis","AxisCode","Button","Face1","Face2","Face3","Face4","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStickClick","RightStickClick","DpadUp","DpadDown","DpadLeft","DpadRight","ButtonCode","EventEmitter","constructor","this","_listeners","hasListener","e","undefined","emit","payload","_a","forEach","fn","on","event","options","once","onceFn","off","push","_b","filter","l","length","MAX_KEYFRAME_MS","GamepadHapticManager","gamepad","activeEffects","state","rumble","buzz","leftTrigger","rightTrigger","expires","hapticEvent","_c","vibrationActuator","effects","includes","call","hasTriggerRumble","play","haptic","intensity","delay","Math","max","startDelay","start","performance","now","Object","assign","end","duration","min","update","reset","hapticActuators","pulse","console","debug","JSON","stringify","maxDuration","anyHapticHasEnded","i","log","playEffect","strongMagnitude","weakMagnitude","monoIntensity","GamepadDevice","configureDefaultBinds","binds","defaultOptions","source","type","meta","lastInteraction","parse","leftJoystick","x","y","rightJoystick","button","reduce","obj","key","leftShoulder","rightShoulder","_emitter","_bindDownEmitter","_debounces","Map","id","index","layout","detectLayout","gamepadId","toLowerCase","test","haptics","supportsTriggerRumble","bindDown","name","pressedAny","btns","pressedAll","configureBinds","listener","onBindDown","offBindDown","playHaptic","effect","vibration","enabled","stopHaptics","_updatePresses","clear","joy","joystick","a","value","_scale","axes","deadzone","axisCode","abs","pressThreshold","delete","delayMs","autoRepeatDelayMs","_debounce","emitEvents","device","axis","entries","values","b","buttonCode","buttons","pressed","isPressed","_d","tdz","trigger","jdz","Date","get","set","range","scaled","sign","KeyCode","AltLeft","AltRight","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Backquote","Backslash","Backspace","BracketLeft","BracketRight","CapsLock","Comma","ContextMenu","ControlLeft","ControlRight","Delete","Digit0","Digit1","Digit2","Digit3","Digit4","Digit5","Digit6","Digit7","Digit8","Digit9","End","Enter","Equal","Escape","F1","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F2","F20","F21","F22","F23","F24","F25","F26","F27","F28","F29","F3","F30","F31","F32","F4","F5","F6","F7","F8","F9","Home","IntlBackslash","IntlRo","IntlYen","KeyA","KeyB","KeyC","KeyD","KeyE","KeyF","KeyG","KeyH","KeyI","KeyJ","KeyK","KeyL","KeyM","KeyN","KeyO","KeyP","KeyQ","KeyR","KeyS","KeyT","KeyU","KeyV","KeyW","KeyX","KeyY","KeyZ","Lang1","Lang2","MediaTrackNext","MediaTrackPrevious","MetaLeft","MetaRight","Minus","NumLock","Numpad0","Numpad1","Numpad2","Numpad3","Numpad4","Numpad5","Numpad6","Numpad7","Numpad8","Numpad9","NumpadAdd","NumpadComma","NumpadDecimal","NumpadDivide","NumpadMultiply","NumpadSubtract","OSLeft","Pause","Period","Quote","ScrollLock","Semicolon","ShiftLeft","ShiftRight","Slash","Space","Tab","VolumeDown","VolumeMute","VolumeUp","WakeUp","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","result","done","adopt","then","apply","SuppressedError","JCUKEN_LAYOUT_PATTERN","ERT_LAYOUTS_PATTERN","MACRO_AZERTY","MACRO_JCUKEN","MACRO_QWERTZ","_navigatorLayoutMap","_keyLabels","inferKeyboardLayoutFromLang","lang","getLang","n","navigator","languages","userLanguage","language","browserLanguage","tag","macro","split","startsWith","_possibleLayouts","Set","getLayoutKeyLabel","DEFAULT_LABELS","getMetaKeyLabel","AZERTY","JCUKEN","QWERTY","QWERTZ","platform","userAgent","KeyboardDevice","detected","detectLayoutOnKeypress","repeatableBinds","keys","_deferredKeydown","_layout","_layoutSource","requestKeyboardLayout","keyboard","getLayoutMap","layoutMap","q","z","layoutSource","_configureEventListeners","hapticEffect","getKeyLabel","getNavigatorKeyLabel","_toLocaleTitleCase","input","map","word","charAt","toLocaleUpperCase","slice","join","_processDeferredKeydownEvent","k","d","window","addEventListener","code","passive","capture","keyCode","repeat","detectKeyboardLayoutFromKeydown","size","keyLabel","global","InputDeviceManager","hasMouseLikePointer","matchMedia","matches","isMobile","check","vendor","substr","isTouchCapable","maxTouchPoints","clearInputOnBackground","requireDocumentFocus","_devices","_gamepadDevices","_gamepadDeviceMap","_customDevices","_hasFocus","_pollGamepads","_removeGamepad","add","devices","gamepads","custom","lastInteractedDevice","_lastInteractedDevice","Array","isArray","emitBindDown","indexOf","remove","customIndex","splice","devicesIndex","document","hasFocus","_updateLastInteracted","last","getGamepads","has","gamepadIndex","gamepadsIndex","InputDevice","getAllNavigatables","target","navigatables","child","children","isNavigatable","getFirstNavigatable","root","currentFocus","nearestDirection","minimumDistance","chooseFirstNavigatableInDirection","elements","el","parent","isVisible","focusedElement","find","sort","navigationPriority","fallbackElement","floor","random","focusedGlobalPos","getGlobalPosition","focusedBounds","getBounds","focusedCenter","left","width","top","height","otherElements","globalPos","bounds","center","element","xDistSqrd","weightedDistSquared","yDistSqrd","_e","_g","_f","_j","_h","isChildOf","xw","yw","dx","dy","visible","navigationIntents","NavigationManager","enableFallbackOverEffect","minimumDirectionDistance","_responders","focusTarget","responders","res","_rootFocused","previous","responderStage","getResponderStage","firstResponder","_emitBlur","_emitFocus","configureWithRoot","stage","_root","_propagate","popResponder","previousFocused","responder","shift","nextFocused","resignedAsFirstResponder","_invalidateFocusedIfNeeded","becameFirstResponder","autoFocus","pushResponder","Error","previousResponder","unshift","UINavigation","navigatable","isContainer","handledNavigationIntent","_handleGlobalIntent","intent","_emitTrigger","nextTarget","eventNames","alpha","_registered","registerPixiJSNavigationMixin","container","prototype","navigationMode","defineProperty","onEvents","configurable","enumerable"],"mappings":"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","x_google_ignoreList":[6]}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/lib/devices/gamepads/buttons.ts","../src/lib/utils/events.ts","../src/lib/devices/gamepads/GamepadHapticManager.ts","../src/lib/devices/gamepads/GamepadDevice.ts","../src/lib/devices/gamepads/layouts.ts","../src/lib/devices/keyboard/keys.ts","../node_modules/tslib/tslib.es6.js","../src/lib/devices/keyboard/layouts.ts","../src/lib/devices/keyboard/KeyboardDevice.ts","../src/lib/InputDevice.ts","../src/lib/utils/isMobile.ts","../src/lib/navigation/Navigatable.ts","../src/lib/navigation/NavigationIntent.ts","../src/lib/navigation/UINavigation.ts","../src/Container.mixin.ts"],"sourcesContent":[null,null,null,null,null,null,"/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n",null,null,null,null,null,null,null,null],"names":["Axis","AxisCode","Button","Face1","Face2","Face3","Face4","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStickClick","RightStickClick","DpadUp","DpadDown","DpadLeft","DpadRight","ButtonCode","EventEmitter","constructor","this","_listeners","hasListener","e","undefined","emit","payload","_a","forEach","fn","on","event","options","once","onceFn","off","push","_b","filter","l","length","MAX_KEYFRAME_MS","GamepadHapticManager","gamepad","activeEffects","state","rumble","buzz","leftTrigger","rightTrigger","expires","hapticEvent","_c","vibrationActuator","effects","includes","call","hasTriggerRumble","play","haptic","intensity","delay","Math","max","startDelay","start","performance","now","Object","assign","end","duration","min","update","reset","hapticActuators","pulse","maxDuration","anyHapticHasEnded","i","playEffect","strongMagnitude","weakMagnitude","monoIntensity","GamepadDevice","configureDefaultBinds","binds","defaultOptions","source","type","meta","lastInteraction","JSON","parse","stringify","leftJoystick","x","y","rightJoystick","button","reduce","obj","key","leftShoulder","rightShoulder","_emitter","_bindDownEmitter","_debounces","Map","id","index","layout","detectLayout","gamepadId","toLowerCase","test","haptics","supportsTriggerRumble","bindDown","name","pressedAny","btns","pressedAll","configureBinds","listener","onBindDown","offBindDown","playHaptic","effect","vibration","enabled","stopHaptics","_updatePresses","clear","joy","joystick","a","value","_scale","axes","deadzone","axisCode","abs","pressThreshold","delete","delayMs","autoRepeatDelayMs","_debounce","emitEvents","device","axis","entries","values","b","buttonCode","buttons","pressed","isPressed","_d","tdz","trigger","jdz","Date","get","set","range","scaled","sign","KeyCode","AltLeft","AltRight","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Backquote","Backslash","Backspace","BracketLeft","BracketRight","CapsLock","Comma","ContextMenu","ControlLeft","ControlRight","Delete","Digit0","Digit1","Digit2","Digit3","Digit4","Digit5","Digit6","Digit7","Digit8","Digit9","End","Enter","Equal","Escape","F1","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F2","F20","F21","F22","F23","F24","F25","F26","F27","F28","F29","F3","F30","F31","F32","F4","F5","F6","F7","F8","F9","Home","IntlBackslash","IntlRo","IntlYen","KeyA","KeyB","KeyC","KeyD","KeyE","KeyF","KeyG","KeyH","KeyI","KeyJ","KeyK","KeyL","KeyM","KeyN","KeyO","KeyP","KeyQ","KeyR","KeyS","KeyT","KeyU","KeyV","KeyW","KeyX","KeyY","KeyZ","Lang1","Lang2","MediaTrackNext","MediaTrackPrevious","MetaLeft","MetaRight","Minus","NumLock","Numpad0","Numpad1","Numpad2","Numpad3","Numpad4","Numpad5","Numpad6","Numpad7","Numpad8","Numpad9","NumpadAdd","NumpadComma","NumpadDecimal","NumpadDivide","NumpadMultiply","NumpadSubtract","OSLeft","Pause","Period","Quote","ScrollLock","Semicolon","ShiftLeft","ShiftRight","Slash","Space","Tab","VolumeDown","VolumeMute","VolumeUp","WakeUp","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","result","done","adopt","then","apply","SuppressedError","JCUKEN_LAYOUT_PATTERN","ERT_LAYOUTS_PATTERN","MACRO_AZERTY","MACRO_JCUKEN","MACRO_QWERTZ","_navigatorLayoutMap","_keyLabels","inferKeyboardLayoutFromLang","lang","getLang","n","navigator","languages","userLanguage","language","browserLanguage","tag","macro","split","startsWith","_possibleLayouts","Set","getLayoutKeyLabel","DEFAULT_LABELS","getMetaKeyLabel","AZERTY","JCUKEN","QWERTY","QWERTZ","platform","userAgent","KeyboardDevice","detected","detectLayoutOnKeypress","repeatableBinds","keys","_deferredKeydown","_layout","_layoutSource","requestKeyboardLayout","keyboard","getLayoutMap","layoutMap","q","z","layoutSource","_configureEventListeners","hapticEffect","getKeyLabel","getNavigatorKeyLabel","_toLocaleTitleCase","input","map","word","charAt","toLocaleUpperCase","slice","join","_processDeferredKeydownEvent","k","d","window","addEventListener","code","passive","capture","keyCode","repeat","detectKeyboardLayoutFromKeydown","size","keyLabel","global","InputDeviceManager","hasMouseLikePointer","matchMedia","matches","isMobile","check","vendor","substr","isTouchCapable","maxTouchPoints","clearInputOnBackground","requireDocumentFocus","_devices","_gamepadDevices","_gamepadDeviceMap","_customDevices","_hasFocus","_pollGamepads","_removeGamepad","add","devices","gamepads","custom","lastInteractedDevice","_lastInteractedDevice","Array","isArray","emitBindDown","indexOf","remove","customIndex","splice","devicesIndex","document","hasFocus","_updateLastInteracted","last","getGamepads","has","gamepadIndex","gamepadsIndex","InputDevice","getAllNavigatables","target","navigatables","child","children","isNavigatable","getFirstNavigatable","root","currentFocus","nearestDirection","minimumDistance","chooseFirstNavigatableInDirection","elements","el","parent","isVisible","focusedElement","find","sort","navigationPriority","fallbackElement","floor","random","focusedGlobalPos","getGlobalPosition","focusedBounds","getBounds","focusedCenter","left","width","top","height","otherElements","globalPos","bounds","center","element","xDistSqrd","weightedDistSquared","yDistSqrd","_e","_g","_f","_j","_h","isChildOf","xw","yw","dx","dy","visible","navigationIntents","NavigationManager","enableFallbackOverEffect","minimumDirectionDistance","_responders","focusTarget","responders","res","_rootFocused","previous","responderStage","getResponderStage","firstResponder","_emitBlur","_emitFocus","configureWithRoot","stage","_root","_propagate","popResponder","previousFocused","responder","shift","nextFocused","resignedAsFirstResponder","_invalidateFocusedIfNeeded","becameFirstResponder","autoFocus","pushResponder","Error","previousResponder","unshift","UINavigation","navigatable","console","debug","isContainer","handledNavigationIntent","_handleGlobalIntent","intent","_emitTrigger","nextTarget","eventNames","alpha","_registered","registerPixiJSNavigationMixin","container","prototype","navigationMode","defineProperty","onEvents","configurable","enumerable"],"mappings":"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","x_google_ignoreList":[6]}
|