From 8c09004f476cd55fe385a00f3fc95a423b535754 Mon Sep 17 00:00:00 2001 From: Reece Como Date: Thu, 23 Jan 2025 21:08:41 +1100 Subject: [PATCH] v0.5.6 clear debounce on stop --- dist/index.cjs | 2 +- dist/index.cjs.map | 2 +- dist/index.mjs | 2 +- dist/index.mjs.map | 2 +- package.json | 2 +- src/lib/devices/gamepads/GamepadDevice.ts | 5 +++++ 6 files changed, 10 insertions(+), 5 deletions(-) diff --git a/dist/index.cjs b/dist/index.cjs index 076adfc..efe28e7 100644 --- a/dist/index.cjs +++ b/dist/index.cjs @@ -1,2 +1,2 @@ -"use strict";const e=0,t=1,i=2,s=3,n=["LeftStickLeft","LeftStickRight","LeftStickUp","LeftStickDown","RightStickLeft","RightStickRight","RightStickUp","RightStickDown"],o={A:0,B:1,X:2,Y: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},a=["A","B","X","Y","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)}}class GamepadDevice{static configureDefaultBinds(e){this.defaultOptions.binds=Object.assign(Object.assign({},this.defaultOptions.binds),e)}pressedBind(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;t(e[t]=!1,e)),{})}constructor(e){this.source=e,this.type="gamepad",this.isVibrationCapable="vibrationActuator"in this.source,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=[...a,...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._bindEmitter=new EventEmitter,this._debounces=new Map,this.id="gamepad"+e.index,this.layout=function detectLayout(e){const t=(e.id||"").toLowerCase();return/(steam|28de)/.test(t)?"steam":/(logitech|046d|c216)/.test(t)?"logitech":/(nintendo|switch|joycon|057e)/.test(t)?"nintendo":/(dualshock|dualsense|sony|054c|0ce6|0810)/.test(t)?"playstation":/(xbox|xinput|045e|028e|0291|02a0|02a1|02ea|02ff)/.test(t)?"xbox":"standard"}(e)}_updatePresses(r,d){var c,u,l,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){if(!s.includes(i))return;const n={device:this,type:"axis",axis:e,axisCode:i,name:t};this._bindEmitter.emit(t,n),this._emitter.emit("bind",n)})))}}for(let e=0;e<16;e++){let t=e;"nintendo"===this.layout&&"none"!==this.options.nintendoRemapMode&&("physical"===this.options.nintendoRemapMode?t===o.B?t=o.A:t===o.A?t=o.B:t===o.X?t=o.Y:t===o.Y&&(t=o.X):t===o.B?t=o.X:t===o.X&&(t=o.B));const i=a[t];if(this.button[i]===(null===(c=r.buttons[e])||void 0===c?void 0:c.pressed))continue;this.lastInteraction=d;const s=null!==(l=null===(u=r.buttons[e])||void 0===u?void 0:u.pressed)&&void 0!==l&&l;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._bindEmitter.emit(e,n),this._emitter.emit("bind",n)})))}const f=this.options.trigger.deadzone;this.leftTrigger=_scale(r.buttons[o.LeftTrigger].value,f),this.rightTrigger=_scale(r.buttons[o.RightTrigger].value,f),this.leftShoulder=_scale(r.buttons[o.LeftShoulder].value,f),this.rightShoulder=_scale(r.buttons[o.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,nintendoRemapMode:"physical",hapticNavigation:!0,joystick:{deadzone:[0,1],threshold:.25,autoRepeatDelayMs:[400,80]},trigger:{deadzone:[0,1]},vibration:{enabled:!0,intensity:1},binds:{"navigate.trigger":["A"],"navigate.back":["B"],"navigate.up":["DPadUp","LeftStickUp"],"navigate.left":["DPadLeft","LeftStickLeft"],"navigate.down":["DPadDown","LeftStickDown"],"navigate.right":["DPadRight","LeftStickRight"]}};const r={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,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s.throw(e))}catch(e){o(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())}))}let d,c;"function"==typeof SuppressedError&&SuppressedError;const u=["fr","mg","lu"],l=["ab","ba","be","bg","ch","kk","ky","mk","mn","ru","sr","tg","tt","uk","uz"],h=["de","cs","sk","sl","hu","hr","bs","ro","sq","me","lt","lv","et"],g=/ф|и|с|в|у|а|п|р|ш|о|л|д|ь|т|щ|з|й|к|ы|е|г|м|ц|ч|н|я|ё|х|ъ|б|ю|э|ж|и/i,p=/[a-z]/i;function inferKeyboardLayoutFromLang(e=function getLang(){var e;const t=navigator;return null!=(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":l.includes(i)?"JCUKEN":h.includes(i)||t.startsWith("sr-latn")?"QWERTZ":"QWERTY"}const m=new Set(["AZERTY","JCUKEN","QWERTY","QWERTZ"]);function getLayoutKeyLabel(e,t){var i,s;if(void 0===c){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"};c={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=c[t][e])&&void 0!==i?i:c.QWERTY[e])&&void 0!==s?s:e}function getMetaKeyLabel(){var e,t,i,s;const n=navigator,o=null!==(t=null===(e=n.platform)||void 0===e?void 0:e.toLowerCase())&&void 0!==t?t:"",a=null!==(s=null===(i=n.userAgent)||void 0===i?void 0:i.toLowerCase())&&void 0!==s?s:"";return o.includes("mac")?"⌘":o.includes("win")||o.includes("linux")?"⊞":a.includes("android")?"Search":a.includes("iphone")||a.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(r).reduce(((e,t)=>(e[t]=!1,e)),{}),this._emitter=new EventEmitter,this._bindEmitter=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();d=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}pressedBind(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;te.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(r))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 g.test(t)?(m.delete("AZERTY"),m.delete("QWERTY"),m.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?(m.delete("JCUKEN"),m.delete("QWERTY"),m.delete("QWERTZ")):"BracketLeft"===i&&"ü"===t||"BracketRight"===i&&"ö"===t||"KeyY"===i&&"z"===t||"KeyZ"===i&&"y"===t||"Slash"===i&&"-"===t?(m.delete("AZERTY"),m.delete("JCUKEN"),m.delete("QWERTY")):"BracketLeft"===i&&"["===t||"BracketRight"===i&&"]"===t||"KeyZ"===i&&"z"===t?(m.delete("AZERTY"),m.delete("JCUKEN"),m.delete("QWERTZ")):"KeyQ"===i&&"q"===t||"KeyW"===i&&"w"===t?(m.delete("AZERTY"),m.delete("JCUKEN")):"KeyY"===i&&"y"===t?(m.delete("QWERTZ"),m.delete("JCUKEN")):p.test(t)&&m.delete("JCUKEN"),1===m.size?[...m][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._bindEmitter.emit(i,n),this._emitter.emit("bind",n)}))}}KeyboardDevice.global=new KeyboardDevice;class InputDeviceManager{constructor(){this.isTouchCapable="ontouchstart"in window||navigator.maxTouchPoints>0,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.hasMouseLikePointer=window.matchMedia("(pointer: fine) and (hover: hover)").matches,this.keyboard=KeyboardDevice.global,this.options={requireFocus:!0,clearInputInBackground:!0},this._devices=[],this._gamepadDevices=[],this._gamepadDeviceMap=new Map,this._customDevices=[],this._emitter=new EventEmitter,this._bindEmitter=new EventEmitter,this._hasFocus=!1,window.addEventListener("gamepadconnected",(()=>this._pollGamepads(performance.now()))),window.addEventListener("gamepaddisconnected",(e=>this._removeGamepad(e.gamepad.index))),this.hasMouseLikePointer&&!this.isMobile?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}onBind(e,t,i){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindEmitter.on(e,t,i))),this}offBind(e,t){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindEmitter.off(e,t))),this}emitBind(e){this._bindEmitter.emit(e.name,e)}add(e){-1===this._devices.indexOf(e)&&(this._devices.push(e),e instanceof KeyboardDevice?(e.detected=!0,e.on("bind",(e=>this.emitBind(e)))):e instanceof GamepadDevice?(this._gamepadDeviceMap.set(e.source.index,e),this._gamepadDevices.push(e),e.on("bind",(e=>this.emitBind(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.requireFocus&&!document.hasFocus())return this._hasFocus&&this.options.clearInputInBackground&&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 v=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,o,a,r,d,c,u,l,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!==(a=null===(o=b.filter((e=>e.center.ye.yDistSqrd-t.yDistSqrd))[0])||void 0===o?void 0:o.element)&&void 0!==a?a:m;case"navigate.left":return null!==(d=null===(r=b.filter((e=>e.center.xe.xDistSqrd-t.xDistSqrd))[0])||void 0===r?void 0:r.element)&&void 0!==d?d:m;case"navigate.right":return null!==(u=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!==u?u:m;case"navigate.down":return null!==(h=null===(l=b.filter((e=>e.center.y>y.y+s)).sort(((e,t)=>e.yDistSqrd-t.yDistSqrd))[0])||void 0===l?void 0:l.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,o=t.y-e.y;return n*n*i+o*o*s}function isVisible(e){for(;null!=e;){if(!e.visible)return!1;e=e.parent}return!0}const f=["navigate.left","navigate.right","navigate.up","navigate.down","navigate.back","navigate.trigger"];class NavigationManager{constructor(){this.options={useFallbackHoverEffect:!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&&isVisible(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();i&&(!e||e.isNavigatable&&isChildOf(e,i))&&(t&&this._emitBlur(t),e&&this._emitFocus(e),this.firstResponder?this.firstResponder.focusTarget=e:this._rootFocused=e)}get firstResponder(){return this._responders[0]}get responders(){return this._responders}configureWithRoot(e){null==this._root&&v.onBind(f,(e=>this._propagate(e))),this._root=e,this.enabled=!0}popResponder(){var e,t,i,s,n;const o=this.focusTarget,a=this._responders.shift();a.focusTarget=void 0;const r=this.focusTarget;return null===(e=null==a?void 0:a.resignedAsFirstResponder)||void 0===e||e.call(a),this._invalidateFocusedIfNeeded(),this.firstResponder&&(null===(i=(t=this.firstResponder).becameFirstResponder)||void 0===i||i.call(t)),o!==r&&(null!==(n=null===(s=this.firstResponder)||void 0===s?void 0:s.autoFocus)&&void 0!==n?n:void 0===r)&&this.autoFocus(),a}pushResponder(e){var t,i,s;const n=e;if(this._responders.includes(n))throw new Error("Responder already in stack.");const o=this.firstResponder;this._responders.unshift(n),null===(t=null==o?void 0:o.resignedAsFirstResponder)||void 0===t||t.call(o),this._invalidateFocusedIfNeeded(),null===(i=n.becameFirstResponder)||void 0===i||i.call(n),(null===(s=n.autoFocus)||void 0===s||s)&&this.autoFocus()}autoFocus(){if(!y.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.useFallbackHoverEffect&&(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.useFallbackHoverEffect&&(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.useFallbackHoverEffect&&(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 y=NavigationManager.global;let b=!1;exports.Button=o,exports.GamepadDevice=GamepadDevice,exports.InputDevice=v,exports.KeyCode=r,exports.KeyboardDevice=KeyboardDevice,exports.UINavigation=y,exports.getAllNavigatables=getAllNavigatables,exports.getFirstNavigatable=getFirstNavigatable,exports.isChildOf=isChildOf,exports.isVisible=isVisible,exports.navigationIntents=f,exports.registerPixiJSNavigationMixin=function registerPixiJSNavigationMixin(e){if(b)return;b=!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})}; +"use strict";const e=0,t=1,i=2,s=3,n=["LeftStickLeft","LeftStickRight","LeftStickUp","LeftStickDown","RightStickLeft","RightStickRight","RightStickUp","RightStickDown"],o={A:0,B:1,X:2,Y: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},a=["A","B","X","Y","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)}}class GamepadDevice{static configureDefaultBinds(e){this.defaultOptions.binds=Object.assign(Object.assign({},this.defaultOptions.binds),e)}pressedBind(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;t(e[t]=!1,e)),{})}constructor(e){this.source=e,this.type="gamepad",this.isVibrationCapable="vibrationActuator"in this.source,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=[...a,...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._bindEmitter=new EventEmitter,this._debounces=new Map,this.id="gamepad"+e.index,this.layout=function detectLayout(e){const t=(e.id||"").toLowerCase();return/(steam|28de)/.test(t)?"steam":/(logitech|046d|c216)/.test(t)?"logitech":/(nintendo|switch|joycon|057e)/.test(t)?"nintendo":/(dualshock|dualsense|sony|054c|0ce6|0810)/.test(t)?"playstation":/(xbox|xinput|045e|028e|0291|02a0|02a1|02ea|02ff)/.test(t)?"xbox":"standard"}(e)}_updatePresses(r,d){var c,u,l,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){if(!s.includes(i))return;const n={device:this,type:"axis",axis:e,axisCode:i,name:t};this._bindEmitter.emit(t,n),this._emitter.emit("bind",n)})))}}for(let e=0;e<16;e++){let t=e;"nintendo"===this.layout&&"none"!==this.options.nintendoRemapMode&&("physical"===this.options.nintendoRemapMode?t===o.B?t=o.A:t===o.A?t=o.B:t===o.X?t=o.Y:t===o.Y&&(t=o.X):t===o.B?t=o.X:t===o.X&&(t=o.B));const i=a[t];if(this.button[i]===(null===(c=r.buttons[e])||void 0===c?void 0:c.pressed))continue;this.lastInteraction=d;const s=null!==(l=null===(u=r.buttons[e])||void 0===u?void 0:u.pressed)&&void 0!==l&&l;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._bindEmitter.emit(e,n),this._emitter.emit("bind",n)})))}const f=this.options.trigger.deadzone;this.leftTrigger=_scale(r.buttons[o.LeftTrigger].value,f),this.rightTrigger=_scale(r.buttons[o.RightTrigger].value,f),this.leftShoulder=_scale(r.buttons[o.LeftShoulder].value,f),this.rightShoulder=_scale(r.buttons[o.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,nintendoRemapMode:"physical",hapticNavigation:!0,joystick:{deadzone:[0,1],threshold:.25,autoRepeatDelayMs:[400,80]},trigger:{deadzone:[0,1]},vibration:{enabled:!0,intensity:1},binds:{"navigate.trigger":["A"],"navigate.back":["B"],"navigate.up":["DPadUp","LeftStickUp"],"navigate.left":["DPadLeft","LeftStickLeft"],"navigate.down":["DPadDown","LeftStickDown"],"navigate.right":["DPadRight","LeftStickRight"]}};const r={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,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s.throw(e))}catch(e){o(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())}))}let d,c;"function"==typeof SuppressedError&&SuppressedError;const u=["fr","mg","lu"],l=["ab","ba","be","bg","ch","kk","ky","mk","mn","ru","sr","tg","tt","uk","uz"],h=["de","cs","sk","sl","hu","hr","bs","ro","sq","me","lt","lv","et"],g=/ф|и|с|в|у|а|п|р|ш|о|л|д|ь|т|щ|з|й|к|ы|е|г|м|ц|ч|н|я|ё|х|ъ|б|ю|э|ж|и/i,p=/[a-z]/i;function inferKeyboardLayoutFromLang(e=function getLang(){var e;const t=navigator;return null!=(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":l.includes(i)?"JCUKEN":h.includes(i)||t.startsWith("sr-latn")?"QWERTZ":"QWERTY"}const m=new Set(["AZERTY","JCUKEN","QWERTY","QWERTZ"]);function getLayoutKeyLabel(e,t){var i,s;if(void 0===c){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"};c={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=c[t][e])&&void 0!==i?i:c.QWERTY[e])&&void 0!==s?s:e}function getMetaKeyLabel(){var e,t,i,s;const n=navigator,o=null!==(t=null===(e=n.platform)||void 0===e?void 0:e.toLowerCase())&&void 0!==t?t:"",a=null!==(s=null===(i=n.userAgent)||void 0===i?void 0:i.toLowerCase())&&void 0!==s?s:"";return o.includes("mac")?"⌘":o.includes("win")||o.includes("linux")?"⊞":a.includes("android")?"Search":a.includes("iphone")||a.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(r).reduce(((e,t)=>(e[t]=!1,e)),{}),this._emitter=new EventEmitter,this._bindEmitter=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();d=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}pressedBind(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;te.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(r))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 g.test(t)?(m.delete("AZERTY"),m.delete("QWERTY"),m.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?(m.delete("JCUKEN"),m.delete("QWERTY"),m.delete("QWERTZ")):"BracketLeft"===i&&"ü"===t||"BracketRight"===i&&"ö"===t||"KeyY"===i&&"z"===t||"KeyZ"===i&&"y"===t||"Slash"===i&&"-"===t?(m.delete("AZERTY"),m.delete("JCUKEN"),m.delete("QWERTY")):"BracketLeft"===i&&"["===t||"BracketRight"===i&&"]"===t||"KeyZ"===i&&"z"===t?(m.delete("AZERTY"),m.delete("JCUKEN"),m.delete("QWERTZ")):"KeyQ"===i&&"q"===t||"KeyW"===i&&"w"===t?(m.delete("AZERTY"),m.delete("JCUKEN")):"KeyY"===i&&"y"===t?(m.delete("QWERTZ"),m.delete("JCUKEN")):p.test(t)&&m.delete("JCUKEN"),1===m.size?[...m][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._bindEmitter.emit(i,n),this._emitter.emit("bind",n)}))}}KeyboardDevice.global=new KeyboardDevice;class InputDeviceManager{constructor(){this.isTouchCapable="ontouchstart"in window||navigator.maxTouchPoints>0,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.hasMouseLikePointer=window.matchMedia("(pointer: fine) and (hover: hover)").matches,this.keyboard=KeyboardDevice.global,this.options={requireFocus:!0,clearInputInBackground:!0},this._devices=[],this._gamepadDevices=[],this._gamepadDeviceMap=new Map,this._customDevices=[],this._emitter=new EventEmitter,this._bindEmitter=new EventEmitter,this._hasFocus=!1,window.addEventListener("gamepadconnected",(()=>this._pollGamepads(performance.now()))),window.addEventListener("gamepaddisconnected",(e=>this._removeGamepad(e.gamepad.index))),this.hasMouseLikePointer&&!this.isMobile?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}onBind(e,t,i){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindEmitter.on(e,t,i))),this}offBind(e,t){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindEmitter.off(e,t))),this}emitBind(e){this._bindEmitter.emit(e.name,e)}add(e){-1===this._devices.indexOf(e)&&(this._devices.push(e),e instanceof KeyboardDevice?(e.detected=!0,e.on("bind",(e=>this.emitBind(e)))):e instanceof GamepadDevice?(this._gamepadDeviceMap.set(e.source.index,e),this._gamepadDevices.push(e),e.on("bind",(e=>this.emitBind(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.requireFocus&&!document.hasFocus())return this._hasFocus&&this.options.clearInputInBackground&&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 v=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,o,a,r,d,c,u,l,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!==(a=null===(o=b.filter((e=>e.center.ye.yDistSqrd-t.yDistSqrd))[0])||void 0===o?void 0:o.element)&&void 0!==a?a:m;case"navigate.left":return null!==(d=null===(r=b.filter((e=>e.center.xe.xDistSqrd-t.xDistSqrd))[0])||void 0===r?void 0:r.element)&&void 0!==d?d:m;case"navigate.right":return null!==(u=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!==u?u:m;case"navigate.down":return null!==(h=null===(l=b.filter((e=>e.center.y>y.y+s)).sort(((e,t)=>e.yDistSqrd-t.yDistSqrd))[0])||void 0===l?void 0:l.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,o=t.y-e.y;return n*n*i+o*o*s}function isVisible(e){for(;null!=e;){if(!e.visible)return!1;e=e.parent}return!0}const f=["navigate.left","navigate.right","navigate.up","navigate.down","navigate.back","navigate.trigger"];class NavigationManager{constructor(){this.options={useFallbackHoverEffect:!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&&isVisible(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();i&&(!e||e.isNavigatable&&isChildOf(e,i))&&(t&&this._emitBlur(t),e&&this._emitFocus(e),this.firstResponder?this.firstResponder.focusTarget=e:this._rootFocused=e)}get firstResponder(){return this._responders[0]}get responders(){return this._responders}configureWithRoot(e){null==this._root&&v.onBind(f,(e=>this._propagate(e))),this._root=e,this.enabled=!0}popResponder(){var e,t,i,s,n;const o=this.focusTarget,a=this._responders.shift();a.focusTarget=void 0;const r=this.focusTarget;return null===(e=null==a?void 0:a.resignedAsFirstResponder)||void 0===e||e.call(a),this._invalidateFocusedIfNeeded(),this.firstResponder&&(null===(i=(t=this.firstResponder).becameFirstResponder)||void 0===i||i.call(t)),o!==r&&(null!==(n=null===(s=this.firstResponder)||void 0===s?void 0:s.autoFocus)&&void 0!==n?n:void 0===r)&&this.autoFocus(),a}pushResponder(e){var t,i,s;const n=e;if(this._responders.includes(n))throw new Error("Responder already in stack.");const o=this.firstResponder;this._responders.unshift(n),null===(t=null==o?void 0:o.resignedAsFirstResponder)||void 0===t||t.call(o),this._invalidateFocusedIfNeeded(),null===(i=n.becameFirstResponder)||void 0===i||i.call(n),(null===(s=n.autoFocus)||void 0===s||s)&&this.autoFocus()}autoFocus(){if(!y.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.useFallbackHoverEffect&&(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.useFallbackHoverEffect&&(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.useFallbackHoverEffect&&(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 y=NavigationManager.global;let b=!1;exports.Button=o,exports.GamepadDevice=GamepadDevice,exports.InputDevice=v,exports.KeyCode=r,exports.KeyboardDevice=KeyboardDevice,exports.UINavigation=y,exports.getAllNavigatables=getAllNavigatables,exports.getFirstNavigatable=getFirstNavigatable,exports.isChildOf=isChildOf,exports.isVisible=isVisible,exports.navigationIntents=f,exports.registerPixiJSNavigationMixin=function registerPixiJSNavigationMixin(e){if(b)return;b=!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})}; //# sourceMappingURL=index.cjs.map diff --git a/dist/index.cjs.map b/dist/index.cjs.map index 4b8e6cd..ce263fd 100644 --- a/dist/index.cjs.map +++ b/dist/index.cjs.map @@ -1 +1 @@ -{"version":3,"file":"index.cjs","sources":["../src/lib/devices/gamepads/buttons.ts","../src/lib/utils/events.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,"/******************************************************************************\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","A","B","X","Y","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","GamepadDevice","configureDefaultBinds","binds","defaultOptions","Object","assign","pressedBind","name","pressedAny","btns","i","button","pressedAll","configureBinds","listener","_emitter","onBind","_bindEmitter","offBind","playVibration","duration","weakMagnitude","strongMagnitude","vibrationType","rightTrigger","leftTrigger","startDelay","isVibrationCapable","vibration","enabled","intensity","source","vibrationActuator","playEffect","error","console","warn","update","now","_updatePresses","clear","reduce","obj","key","type","meta","lastInteraction","performance","JSON","parse","stringify","leftJoystick","x","y","rightJoystick","leftShoulder","rightShoulder","_debounces","Map","id","index","layout","detectLayout","gamepad","toLowerCase","test","joy","joystick","a","value","_scale","axes","deadzone","axisCode","Math","abs","threshold","delayMs","autoRepeatDelayMs","_debounce","emitEvents","device","axis","entries","values","includes","b","nintendoRemapMode","buttonCode","buttons","pressed","isPressed","_d","_c","tdz","trigger","jdz","Date","get","set","range","scaled","sign","hapticNavigation","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","_navigatorLayoutMap","_keyLabels","SuppressedError","MACRO_AZERTY","MACRO_JCUKEN","MACRO_QWERTZ","JCUKEN_REGEX","xxERTx_REGEX","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","getKeyLabel","getNavigatorKeyLabel","_toLocaleTitleCase","input","map","word","charAt","toLocaleUpperCase","slice","join","_processDeferredKeydownEvent","k","d","window","addEventListener","code","passive","capture","keyCode","repeat","detectKeyboardLayoutFromKeydown","delete","size","keyLabel","global","InputDeviceManager","isTouchCapable","maxTouchPoints","isMobile","check","vendor","substr","hasMouseLikePointer","matchMedia","matches","requireFocus","clearInputInBackground","_devices","_gamepadDevices","_gamepadDeviceMap","_customDevices","_hasFocus","_pollGamepads","_removeGamepad","add","devices","gamepads","custom","lastInteractedDevice","_lastInteractedDevice","Array","isArray","emitBind","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","useFallbackHoverEffect","minimumDirectionDistance","_responders","focusTarget","responders","res","_rootFocused","previous","responderStage","getResponderStage","_emitBlur","_emitFocus","firstResponder","configureWithRoot","stage","_root","_propagate","popResponder","previousFocused","responder","shift","nextFocused","resignedAsFirstResponder","_invalidateFocusedIfNeeded","becameFirstResponder","autoFocus","pushResponder","Error","previousResponder","unshift","call","UINavigation","navigatable","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":[5]} \ No newline at end of file +{"version":3,"file":"index.cjs","sources":["../src/lib/devices/gamepads/buttons.ts","../src/lib/utils/events.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,"/******************************************************************************\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","A","B","X","Y","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","GamepadDevice","configureDefaultBinds","binds","defaultOptions","Object","assign","pressedBind","name","pressedAny","btns","i","button","pressedAll","configureBinds","listener","_emitter","onBind","_bindEmitter","offBind","playVibration","duration","weakMagnitude","strongMagnitude","vibrationType","rightTrigger","leftTrigger","startDelay","isVibrationCapable","vibration","enabled","intensity","source","vibrationActuator","playEffect","error","console","warn","update","now","_updatePresses","clear","reduce","obj","key","type","meta","lastInteraction","performance","JSON","parse","stringify","leftJoystick","x","y","rightJoystick","leftShoulder","rightShoulder","_debounces","Map","id","index","layout","detectLayout","gamepad","toLowerCase","test","joy","joystick","a","value","_scale","axes","deadzone","axisCode","Math","abs","threshold","delete","delayMs","autoRepeatDelayMs","_debounce","emitEvents","device","axis","entries","values","includes","b","nintendoRemapMode","buttonCode","buttons","pressed","isPressed","_d","_c","tdz","trigger","jdz","Date","get","set","range","scaled","sign","hapticNavigation","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","_navigatorLayoutMap","_keyLabels","SuppressedError","MACRO_AZERTY","MACRO_JCUKEN","MACRO_QWERTZ","JCUKEN_REGEX","xxERTx_REGEX","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","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","isTouchCapable","maxTouchPoints","isMobile","check","vendor","substr","hasMouseLikePointer","matchMedia","matches","requireFocus","clearInputInBackground","_devices","_gamepadDevices","_gamepadDeviceMap","_customDevices","_hasFocus","_pollGamepads","_removeGamepad","add","devices","gamepads","custom","lastInteractedDevice","_lastInteractedDevice","Array","isArray","emitBind","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","useFallbackHoverEffect","minimumDirectionDistance","_responders","focusTarget","responders","res","_rootFocused","previous","responderStage","getResponderStage","_emitBlur","_emitFocus","firstResponder","configureWithRoot","stage","_root","_propagate","popResponder","previousFocused","responder","shift","nextFocused","resignedAsFirstResponder","_invalidateFocusedIfNeeded","becameFirstResponder","autoFocus","pushResponder","Error","previousResponder","unshift","call","UINavigation","navigatable","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":[5]} \ No newline at end of file diff --git a/dist/index.mjs b/dist/index.mjs index 644122a..23dee71 100644 --- a/dist/index.mjs +++ b/dist/index.mjs @@ -1,2 +1,2 @@ -const e=0,t=1,i=2,s=3,n=["LeftStickLeft","LeftStickRight","LeftStickUp","LeftStickDown","RightStickLeft","RightStickRight","RightStickUp","RightStickDown"],o={A:0,B:1,X:2,Y: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},a=["A","B","X","Y","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)}}class GamepadDevice{static configureDefaultBinds(e){this.defaultOptions.binds=Object.assign(Object.assign({},this.defaultOptions.binds),e)}pressedBind(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;t(e[t]=!1,e)),{})}constructor(e){this.source=e,this.type="gamepad",this.isVibrationCapable="vibrationActuator"in this.source,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=[...a,...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._bindEmitter=new EventEmitter,this._debounces=new Map,this.id="gamepad"+e.index,this.layout=function detectLayout(e){const t=(e.id||"").toLowerCase();return/(steam|28de)/.test(t)?"steam":/(logitech|046d|c216)/.test(t)?"logitech":/(nintendo|switch|joycon|057e)/.test(t)?"nintendo":/(dualshock|dualsense|sony|054c|0ce6|0810)/.test(t)?"playstation":/(xbox|xinput|045e|028e|0291|02a0|02a1|02ea|02ff)/.test(t)?"xbox":"standard"}(e)}_updatePresses(r,d){var c,u,l,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){if(!s.includes(i))return;const n={device:this,type:"axis",axis:e,axisCode:i,name:t};this._bindEmitter.emit(t,n),this._emitter.emit("bind",n)})))}}for(let e=0;e<16;e++){let t=e;"nintendo"===this.layout&&"none"!==this.options.nintendoRemapMode&&("physical"===this.options.nintendoRemapMode?t===o.B?t=o.A:t===o.A?t=o.B:t===o.X?t=o.Y:t===o.Y&&(t=o.X):t===o.B?t=o.X:t===o.X&&(t=o.B));const i=a[t];if(this.button[i]===(null===(c=r.buttons[e])||void 0===c?void 0:c.pressed))continue;this.lastInteraction=d;const s=null!==(l=null===(u=r.buttons[e])||void 0===u?void 0:u.pressed)&&void 0!==l&&l;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._bindEmitter.emit(e,n),this._emitter.emit("bind",n)})))}const f=this.options.trigger.deadzone;this.leftTrigger=_scale(r.buttons[o.LeftTrigger].value,f),this.rightTrigger=_scale(r.buttons[o.RightTrigger].value,f),this.leftShoulder=_scale(r.buttons[o.LeftShoulder].value,f),this.rightShoulder=_scale(r.buttons[o.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,nintendoRemapMode:"physical",hapticNavigation:!0,joystick:{deadzone:[0,1],threshold:.25,autoRepeatDelayMs:[400,80]},trigger:{deadzone:[0,1]},vibration:{enabled:!0,intensity:1},binds:{"navigate.trigger":["A"],"navigate.back":["B"],"navigate.up":["DPadUp","LeftStickUp"],"navigate.left":["DPadLeft","LeftStickLeft"],"navigate.down":["DPadDown","LeftStickDown"],"navigate.right":["DPadRight","LeftStickRight"]}};const r={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,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s.throw(e))}catch(e){o(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())}))}let d,c;"function"==typeof SuppressedError&&SuppressedError;const u=["fr","mg","lu"],l=["ab","ba","be","bg","ch","kk","ky","mk","mn","ru","sr","tg","tt","uk","uz"],h=["de","cs","sk","sl","hu","hr","bs","ro","sq","me","lt","lv","et"],g=/ф|и|с|в|у|а|п|р|ш|о|л|д|ь|т|щ|з|й|к|ы|е|г|м|ц|ч|н|я|ё|х|ъ|б|ю|э|ж|и/i,p=/[a-z]/i;function inferKeyboardLayoutFromLang(e=function getLang(){var e;const t=navigator;return null!=(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":l.includes(i)?"JCUKEN":h.includes(i)||t.startsWith("sr-latn")?"QWERTZ":"QWERTY"}const m=new Set(["AZERTY","JCUKEN","QWERTY","QWERTZ"]);function getLayoutKeyLabel(e,t){var i,s;if(void 0===c){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"};c={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=c[t][e])&&void 0!==i?i:c.QWERTY[e])&&void 0!==s?s:e}function getMetaKeyLabel(){var e,t,i,s;const n=navigator,o=null!==(t=null===(e=n.platform)||void 0===e?void 0:e.toLowerCase())&&void 0!==t?t:"",a=null!==(s=null===(i=n.userAgent)||void 0===i?void 0:i.toLowerCase())&&void 0!==s?s:"";return o.includes("mac")?"⌘":o.includes("win")||o.includes("linux")?"⊞":a.includes("android")?"Search":a.includes("iphone")||a.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(r).reduce(((e,t)=>(e[t]=!1,e)),{}),this._emitter=new EventEmitter,this._bindEmitter=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();d=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}pressedBind(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;te.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(r))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 g.test(t)?(m.delete("AZERTY"),m.delete("QWERTY"),m.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?(m.delete("JCUKEN"),m.delete("QWERTY"),m.delete("QWERTZ")):"BracketLeft"===i&&"ü"===t||"BracketRight"===i&&"ö"===t||"KeyY"===i&&"z"===t||"KeyZ"===i&&"y"===t||"Slash"===i&&"-"===t?(m.delete("AZERTY"),m.delete("JCUKEN"),m.delete("QWERTY")):"BracketLeft"===i&&"["===t||"BracketRight"===i&&"]"===t||"KeyZ"===i&&"z"===t?(m.delete("AZERTY"),m.delete("JCUKEN"),m.delete("QWERTZ")):"KeyQ"===i&&"q"===t||"KeyW"===i&&"w"===t?(m.delete("AZERTY"),m.delete("JCUKEN")):"KeyY"===i&&"y"===t?(m.delete("QWERTZ"),m.delete("JCUKEN")):p.test(t)&&m.delete("JCUKEN"),1===m.size?[...m][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._bindEmitter.emit(i,n),this._emitter.emit("bind",n)}))}}KeyboardDevice.global=new KeyboardDevice;class InputDeviceManager{constructor(){this.isTouchCapable="ontouchstart"in window||navigator.maxTouchPoints>0,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.hasMouseLikePointer=window.matchMedia("(pointer: fine) and (hover: hover)").matches,this.keyboard=KeyboardDevice.global,this.options={requireFocus:!0,clearInputInBackground:!0},this._devices=[],this._gamepadDevices=[],this._gamepadDeviceMap=new Map,this._customDevices=[],this._emitter=new EventEmitter,this._bindEmitter=new EventEmitter,this._hasFocus=!1,window.addEventListener("gamepadconnected",(()=>this._pollGamepads(performance.now()))),window.addEventListener("gamepaddisconnected",(e=>this._removeGamepad(e.gamepad.index))),this.hasMouseLikePointer&&!this.isMobile?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}onBind(e,t,i){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindEmitter.on(e,t,i))),this}offBind(e,t){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindEmitter.off(e,t))),this}emitBind(e){this._bindEmitter.emit(e.name,e)}add(e){-1===this._devices.indexOf(e)&&(this._devices.push(e),e instanceof KeyboardDevice?(e.detected=!0,e.on("bind",(e=>this.emitBind(e)))):e instanceof GamepadDevice?(this._gamepadDeviceMap.set(e.source.index,e),this._gamepadDevices.push(e),e.on("bind",(e=>this.emitBind(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.requireFocus&&!document.hasFocus())return this._hasFocus&&this.options.clearInputInBackground&&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 v=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,o,a,r,d,c,u,l,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!==(a=null===(o=b.filter((e=>e.center.ye.yDistSqrd-t.yDistSqrd))[0])||void 0===o?void 0:o.element)&&void 0!==a?a:m;case"navigate.left":return null!==(d=null===(r=b.filter((e=>e.center.xe.xDistSqrd-t.xDistSqrd))[0])||void 0===r?void 0:r.element)&&void 0!==d?d:m;case"navigate.right":return null!==(u=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!==u?u:m;case"navigate.down":return null!==(h=null===(l=b.filter((e=>e.center.y>y.y+s)).sort(((e,t)=>e.yDistSqrd-t.yDistSqrd))[0])||void 0===l?void 0:l.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,o=t.y-e.y;return n*n*i+o*o*s}function isVisible(e){for(;null!=e;){if(!e.visible)return!1;e=e.parent}return!0}const f=["navigate.left","navigate.right","navigate.up","navigate.down","navigate.back","navigate.trigger"];class NavigationManager{constructor(){this.options={useFallbackHoverEffect:!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&&isVisible(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();i&&(!e||e.isNavigatable&&isChildOf(e,i))&&(t&&this._emitBlur(t),e&&this._emitFocus(e),this.firstResponder?this.firstResponder.focusTarget=e:this._rootFocused=e)}get firstResponder(){return this._responders[0]}get responders(){return this._responders}configureWithRoot(e){null==this._root&&v.onBind(f,(e=>this._propagate(e))),this._root=e,this.enabled=!0}popResponder(){var e,t,i,s,n;const o=this.focusTarget,a=this._responders.shift();a.focusTarget=void 0;const r=this.focusTarget;return null===(e=null==a?void 0:a.resignedAsFirstResponder)||void 0===e||e.call(a),this._invalidateFocusedIfNeeded(),this.firstResponder&&(null===(i=(t=this.firstResponder).becameFirstResponder)||void 0===i||i.call(t)),o!==r&&(null!==(n=null===(s=this.firstResponder)||void 0===s?void 0:s.autoFocus)&&void 0!==n?n:void 0===r)&&this.autoFocus(),a}pushResponder(e){var t,i,s;const n=e;if(this._responders.includes(n))throw new Error("Responder already in stack.");const o=this.firstResponder;this._responders.unshift(n),null===(t=null==o?void 0:o.resignedAsFirstResponder)||void 0===t||t.call(o),this._invalidateFocusedIfNeeded(),null===(i=n.becameFirstResponder)||void 0===i||i.call(n),(null===(s=n.autoFocus)||void 0===s||s)&&this.autoFocus()}autoFocus(){if(!y.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.useFallbackHoverEffect&&(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.useFallbackHoverEffect&&(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.useFallbackHoverEffect&&(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 y=NavigationManager.global;let b=!1;function registerPixiJSNavigationMixin(e){if(b)return;b=!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{o as Button,GamepadDevice,v as InputDevice,r as KeyCode,KeyboardDevice,y as UINavigation,getAllNavigatables,getFirstNavigatable,isChildOf,isVisible,f as navigationIntents,registerPixiJSNavigationMixin}; +const e=0,t=1,i=2,s=3,n=["LeftStickLeft","LeftStickRight","LeftStickUp","LeftStickDown","RightStickLeft","RightStickRight","RightStickUp","RightStickDown"],o={A:0,B:1,X:2,Y: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},a=["A","B","X","Y","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)}}class GamepadDevice{static configureDefaultBinds(e){this.defaultOptions.binds=Object.assign(Object.assign({},this.defaultOptions.binds),e)}pressedBind(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;t(e[t]=!1,e)),{})}constructor(e){this.source=e,this.type="gamepad",this.isVibrationCapable="vibrationActuator"in this.source,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=[...a,...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._bindEmitter=new EventEmitter,this._debounces=new Map,this.id="gamepad"+e.index,this.layout=function detectLayout(e){const t=(e.id||"").toLowerCase();return/(steam|28de)/.test(t)?"steam":/(logitech|046d|c216)/.test(t)?"logitech":/(nintendo|switch|joycon|057e)/.test(t)?"nintendo":/(dualshock|dualsense|sony|054c|0ce6|0810)/.test(t)?"playstation":/(xbox|xinput|045e|028e|0291|02a0|02a1|02ea|02ff)/.test(t)?"xbox":"standard"}(e)}_updatePresses(r,d){var c,u,l,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){if(!s.includes(i))return;const n={device:this,type:"axis",axis:e,axisCode:i,name:t};this._bindEmitter.emit(t,n),this._emitter.emit("bind",n)})))}}for(let e=0;e<16;e++){let t=e;"nintendo"===this.layout&&"none"!==this.options.nintendoRemapMode&&("physical"===this.options.nintendoRemapMode?t===o.B?t=o.A:t===o.A?t=o.B:t===o.X?t=o.Y:t===o.Y&&(t=o.X):t===o.B?t=o.X:t===o.X&&(t=o.B));const i=a[t];if(this.button[i]===(null===(c=r.buttons[e])||void 0===c?void 0:c.pressed))continue;this.lastInteraction=d;const s=null!==(l=null===(u=r.buttons[e])||void 0===u?void 0:u.pressed)&&void 0!==l&&l;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._bindEmitter.emit(e,n),this._emitter.emit("bind",n)})))}const f=this.options.trigger.deadzone;this.leftTrigger=_scale(r.buttons[o.LeftTrigger].value,f),this.rightTrigger=_scale(r.buttons[o.RightTrigger].value,f),this.leftShoulder=_scale(r.buttons[o.LeftShoulder].value,f),this.rightShoulder=_scale(r.buttons[o.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,nintendoRemapMode:"physical",hapticNavigation:!0,joystick:{deadzone:[0,1],threshold:.25,autoRepeatDelayMs:[400,80]},trigger:{deadzone:[0,1]},vibration:{enabled:!0,intensity:1},binds:{"navigate.trigger":["A"],"navigate.back":["B"],"navigate.up":["DPadUp","LeftStickUp"],"navigate.left":["DPadLeft","LeftStickLeft"],"navigate.down":["DPadDown","LeftStickDown"],"navigate.right":["DPadRight","LeftStickRight"]}};const r={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,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s.throw(e))}catch(e){o(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())}))}let d,c;"function"==typeof SuppressedError&&SuppressedError;const u=["fr","mg","lu"],l=["ab","ba","be","bg","ch","kk","ky","mk","mn","ru","sr","tg","tt","uk","uz"],h=["de","cs","sk","sl","hu","hr","bs","ro","sq","me","lt","lv","et"],g=/ф|и|с|в|у|а|п|р|ш|о|л|д|ь|т|щ|з|й|к|ы|е|г|м|ц|ч|н|я|ё|х|ъ|б|ю|э|ж|и/i,p=/[a-z]/i;function inferKeyboardLayoutFromLang(e=function getLang(){var e;const t=navigator;return null!=(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":l.includes(i)?"JCUKEN":h.includes(i)||t.startsWith("sr-latn")?"QWERTZ":"QWERTY"}const m=new Set(["AZERTY","JCUKEN","QWERTY","QWERTZ"]);function getLayoutKeyLabel(e,t){var i,s;if(void 0===c){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"};c={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=c[t][e])&&void 0!==i?i:c.QWERTY[e])&&void 0!==s?s:e}function getMetaKeyLabel(){var e,t,i,s;const n=navigator,o=null!==(t=null===(e=n.platform)||void 0===e?void 0:e.toLowerCase())&&void 0!==t?t:"",a=null!==(s=null===(i=n.userAgent)||void 0===i?void 0:i.toLowerCase())&&void 0!==s?s:"";return o.includes("mac")?"⌘":o.includes("win")||o.includes("linux")?"⊞":a.includes("android")?"Search":a.includes("iphone")||a.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(r).reduce(((e,t)=>(e[t]=!1,e)),{}),this._emitter=new EventEmitter,this._bindEmitter=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();d=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}pressedBind(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;te.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(r))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 g.test(t)?(m.delete("AZERTY"),m.delete("QWERTY"),m.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?(m.delete("JCUKEN"),m.delete("QWERTY"),m.delete("QWERTZ")):"BracketLeft"===i&&"ü"===t||"BracketRight"===i&&"ö"===t||"KeyY"===i&&"z"===t||"KeyZ"===i&&"y"===t||"Slash"===i&&"-"===t?(m.delete("AZERTY"),m.delete("JCUKEN"),m.delete("QWERTY")):"BracketLeft"===i&&"["===t||"BracketRight"===i&&"]"===t||"KeyZ"===i&&"z"===t?(m.delete("AZERTY"),m.delete("JCUKEN"),m.delete("QWERTZ")):"KeyQ"===i&&"q"===t||"KeyW"===i&&"w"===t?(m.delete("AZERTY"),m.delete("JCUKEN")):"KeyY"===i&&"y"===t?(m.delete("QWERTZ"),m.delete("JCUKEN")):p.test(t)&&m.delete("JCUKEN"),1===m.size?[...m][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._bindEmitter.emit(i,n),this._emitter.emit("bind",n)}))}}KeyboardDevice.global=new KeyboardDevice;class InputDeviceManager{constructor(){this.isTouchCapable="ontouchstart"in window||navigator.maxTouchPoints>0,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.hasMouseLikePointer=window.matchMedia("(pointer: fine) and (hover: hover)").matches,this.keyboard=KeyboardDevice.global,this.options={requireFocus:!0,clearInputInBackground:!0},this._devices=[],this._gamepadDevices=[],this._gamepadDeviceMap=new Map,this._customDevices=[],this._emitter=new EventEmitter,this._bindEmitter=new EventEmitter,this._hasFocus=!1,window.addEventListener("gamepadconnected",(()=>this._pollGamepads(performance.now()))),window.addEventListener("gamepaddisconnected",(e=>this._removeGamepad(e.gamepad.index))),this.hasMouseLikePointer&&!this.isMobile?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}onBind(e,t,i){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindEmitter.on(e,t,i))),this}offBind(e,t){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindEmitter.off(e,t))),this}emitBind(e){this._bindEmitter.emit(e.name,e)}add(e){-1===this._devices.indexOf(e)&&(this._devices.push(e),e instanceof KeyboardDevice?(e.detected=!0,e.on("bind",(e=>this.emitBind(e)))):e instanceof GamepadDevice?(this._gamepadDeviceMap.set(e.source.index,e),this._gamepadDevices.push(e),e.on("bind",(e=>this.emitBind(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.requireFocus&&!document.hasFocus())return this._hasFocus&&this.options.clearInputInBackground&&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 v=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,o,a,r,d,c,u,l,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!==(a=null===(o=b.filter((e=>e.center.ye.yDistSqrd-t.yDistSqrd))[0])||void 0===o?void 0:o.element)&&void 0!==a?a:m;case"navigate.left":return null!==(d=null===(r=b.filter((e=>e.center.xe.xDistSqrd-t.xDistSqrd))[0])||void 0===r?void 0:r.element)&&void 0!==d?d:m;case"navigate.right":return null!==(u=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!==u?u:m;case"navigate.down":return null!==(h=null===(l=b.filter((e=>e.center.y>y.y+s)).sort(((e,t)=>e.yDistSqrd-t.yDistSqrd))[0])||void 0===l?void 0:l.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,o=t.y-e.y;return n*n*i+o*o*s}function isVisible(e){for(;null!=e;){if(!e.visible)return!1;e=e.parent}return!0}const f=["navigate.left","navigate.right","navigate.up","navigate.down","navigate.back","navigate.trigger"];class NavigationManager{constructor(){this.options={useFallbackHoverEffect:!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&&isVisible(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();i&&(!e||e.isNavigatable&&isChildOf(e,i))&&(t&&this._emitBlur(t),e&&this._emitFocus(e),this.firstResponder?this.firstResponder.focusTarget=e:this._rootFocused=e)}get firstResponder(){return this._responders[0]}get responders(){return this._responders}configureWithRoot(e){null==this._root&&v.onBind(f,(e=>this._propagate(e))),this._root=e,this.enabled=!0}popResponder(){var e,t,i,s,n;const o=this.focusTarget,a=this._responders.shift();a.focusTarget=void 0;const r=this.focusTarget;return null===(e=null==a?void 0:a.resignedAsFirstResponder)||void 0===e||e.call(a),this._invalidateFocusedIfNeeded(),this.firstResponder&&(null===(i=(t=this.firstResponder).becameFirstResponder)||void 0===i||i.call(t)),o!==r&&(null!==(n=null===(s=this.firstResponder)||void 0===s?void 0:s.autoFocus)&&void 0!==n?n:void 0===r)&&this.autoFocus(),a}pushResponder(e){var t,i,s;const n=e;if(this._responders.includes(n))throw new Error("Responder already in stack.");const o=this.firstResponder;this._responders.unshift(n),null===(t=null==o?void 0:o.resignedAsFirstResponder)||void 0===t||t.call(o),this._invalidateFocusedIfNeeded(),null===(i=n.becameFirstResponder)||void 0===i||i.call(n),(null===(s=n.autoFocus)||void 0===s||s)&&this.autoFocus()}autoFocus(){if(!y.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.useFallbackHoverEffect&&(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.useFallbackHoverEffect&&(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.useFallbackHoverEffect&&(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 y=NavigationManager.global;let b=!1;function registerPixiJSNavigationMixin(e){if(b)return;b=!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{o as Button,GamepadDevice,v as InputDevice,r as KeyCode,KeyboardDevice,y as UINavigation,getAllNavigatables,getFirstNavigatable,isChildOf,isVisible,f as navigationIntents,registerPixiJSNavigationMixin}; //# sourceMappingURL=index.mjs.map diff --git a/dist/index.mjs.map b/dist/index.mjs.map index 3092207..e0b6812 100644 --- a/dist/index.mjs.map +++ b/dist/index.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index.mjs","sources":["../src/lib/devices/gamepads/buttons.ts","../src/lib/utils/events.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,"/******************************************************************************\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","A","B","X","Y","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","GamepadDevice","configureDefaultBinds","binds","defaultOptions","Object","assign","pressedBind","name","pressedAny","btns","i","button","pressedAll","configureBinds","listener","_emitter","onBind","_bindEmitter","offBind","playVibration","duration","weakMagnitude","strongMagnitude","vibrationType","rightTrigger","leftTrigger","startDelay","isVibrationCapable","vibration","enabled","intensity","source","vibrationActuator","playEffect","error","console","warn","update","now","_updatePresses","clear","reduce","obj","key","type","meta","lastInteraction","performance","JSON","parse","stringify","leftJoystick","x","y","rightJoystick","leftShoulder","rightShoulder","_debounces","Map","id","index","layout","detectLayout","gamepad","toLowerCase","test","joy","joystick","a","value","_scale","axes","deadzone","axisCode","Math","abs","threshold","delayMs","autoRepeatDelayMs","_debounce","emitEvents","device","axis","entries","values","includes","b","nintendoRemapMode","buttonCode","buttons","pressed","isPressed","_d","_c","tdz","trigger","jdz","Date","get","set","range","scaled","sign","hapticNavigation","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","_navigatorLayoutMap","_keyLabels","SuppressedError","MACRO_AZERTY","MACRO_JCUKEN","MACRO_QWERTZ","JCUKEN_REGEX","xxERTx_REGEX","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","getKeyLabel","getNavigatorKeyLabel","_toLocaleTitleCase","input","map","word","charAt","toLocaleUpperCase","slice","join","_processDeferredKeydownEvent","k","d","window","addEventListener","code","passive","capture","keyCode","repeat","detectKeyboardLayoutFromKeydown","delete","size","keyLabel","global","InputDeviceManager","isTouchCapable","maxTouchPoints","isMobile","check","vendor","substr","hasMouseLikePointer","matchMedia","matches","requireFocus","clearInputInBackground","_devices","_gamepadDevices","_gamepadDeviceMap","_customDevices","_hasFocus","_pollGamepads","_removeGamepad","add","devices","gamepads","custom","lastInteractedDevice","_lastInteractedDevice","Array","isArray","emitBind","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","useFallbackHoverEffect","minimumDirectionDistance","_responders","focusTarget","responders","res","_rootFocused","previous","responderStage","getResponderStage","_emitBlur","_emitFocus","firstResponder","configureWithRoot","stage","_root","_propagate","popResponder","previousFocused","responder","shift","nextFocused","resignedAsFirstResponder","_invalidateFocusedIfNeeded","becameFirstResponder","autoFocus","pushResponder","Error","previousResponder","unshift","call","UINavigation","navigatable","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":[5]} \ No newline at end of file +{"version":3,"file":"index.mjs","sources":["../src/lib/devices/gamepads/buttons.ts","../src/lib/utils/events.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,"/******************************************************************************\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","A","B","X","Y","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","GamepadDevice","configureDefaultBinds","binds","defaultOptions","Object","assign","pressedBind","name","pressedAny","btns","i","button","pressedAll","configureBinds","listener","_emitter","onBind","_bindEmitter","offBind","playVibration","duration","weakMagnitude","strongMagnitude","vibrationType","rightTrigger","leftTrigger","startDelay","isVibrationCapable","vibration","enabled","intensity","source","vibrationActuator","playEffect","error","console","warn","update","now","_updatePresses","clear","reduce","obj","key","type","meta","lastInteraction","performance","JSON","parse","stringify","leftJoystick","x","y","rightJoystick","leftShoulder","rightShoulder","_debounces","Map","id","index","layout","detectLayout","gamepad","toLowerCase","test","joy","joystick","a","value","_scale","axes","deadzone","axisCode","Math","abs","threshold","delete","delayMs","autoRepeatDelayMs","_debounce","emitEvents","device","axis","entries","values","includes","b","nintendoRemapMode","buttonCode","buttons","pressed","isPressed","_d","_c","tdz","trigger","jdz","Date","get","set","range","scaled","sign","hapticNavigation","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","_navigatorLayoutMap","_keyLabels","SuppressedError","MACRO_AZERTY","MACRO_JCUKEN","MACRO_QWERTZ","JCUKEN_REGEX","xxERTx_REGEX","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","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","isTouchCapable","maxTouchPoints","isMobile","check","vendor","substr","hasMouseLikePointer","matchMedia","matches","requireFocus","clearInputInBackground","_devices","_gamepadDevices","_gamepadDeviceMap","_customDevices","_hasFocus","_pollGamepads","_removeGamepad","add","devices","gamepads","custom","lastInteractedDevice","_lastInteractedDevice","Array","isArray","emitBind","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","useFallbackHoverEffect","minimumDirectionDistance","_responders","focusTarget","responders","res","_rootFocused","previous","responderStage","getResponderStage","_emitBlur","_emitFocus","firstResponder","configureWithRoot","stage","_root","_propagate","popResponder","previousFocused","responder","shift","nextFocused","resignedAsFirstResponder","_invalidateFocusedIfNeeded","becameFirstResponder","autoFocus","pushResponder","Error","previousResponder","unshift","call","UINavigation","navigatable","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":[5]} \ No newline at end of file diff --git a/package.json b/package.json index 73de253..ddec368 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pixijs-input-devices", - "version": "0.5.5", + "version": "0.5.6", "author": "Reece Como ", "authors": [ "Reece Como " diff --git a/src/lib/devices/gamepads/GamepadDevice.ts b/src/lib/devices/gamepads/GamepadDevice.ts index 314a5a0..4bd85b0 100644 --- a/src/lib/devices/gamepads/GamepadDevice.ts +++ b/src/lib/devices/gamepads/GamepadDevice.ts @@ -419,6 +419,11 @@ export class GamepadDevice if ( Math.abs( value ) < joy.threshold ) { + if ( !this.button[axisCode] ) + { + this._debounces.delete( axisCode ); + } + this.button[axisCode] = false; } else