pixijs-input-devices 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -30,28 +30,84 @@ Ticker.shared.add( () => InputDevice.update() )
30
30
  Navigation.stage = app.stage
31
31
  ```
32
32
 
33
+ ### ✨ Binding Groups
34
+
35
+ Use named "groups" to create referenceable groups of inputs.
36
+
37
+ ```ts
38
+ InputDevice.keyboard.options.namedGroups = {
39
+ jump: [ "ArrowUp", "Space", "KeyW" ],
40
+ crouch: [ "ArrowDown","KeyS" ],
41
+ moveSlow: [ "ShiftLeft", "ShiftRight" ],
42
+ left: [ "ArrowLeft", "KeyA" ],
43
+ right: [ "ArrowRight", "KeyD" ],
44
+
45
+ toggleGraphics: [ "KeyB" ],
46
+ // other...
47
+ };
48
+
49
+ GamepadDevice.defaultOptions.namedGroups = {
50
+ jump: [ "A" ],
51
+ crouch: [ "B", "X", "RightTrigger" ],
52
+
53
+ toggleGraphics: [ "RightStick" ],
54
+ // other...
55
+ };
56
+ ```
57
+
58
+ These can then be used with the real-time and event-based APIs.
59
+
60
+ ```ts
61
+ // real-time:
62
+ if ( gamepad.groupPressed("jump") ) doJump();
63
+
64
+ // events:
65
+ InputDevice.gamepads[0].onGroup( "jump", ( event ) => doJump() );
66
+
67
+ // ...or listen to ANY device:
68
+ InputDevice.onGroup( "toggleGraphics", ( event ) => toggleGraphics() );
69
+ ```
70
+
71
+ You definitely do not have to use named inputs:
72
+
73
+ ```ts
74
+ // real-time:
75
+ if ( keyboard.key.Space || keyboard.key.KeyW ) jump = true;
76
+ if ( gamepad.button.A || gamepad.button.LeftTrigger ) jump = true;
77
+
78
+ // events:
79
+ InputDevice.gamepads[0].on( "A", ( event ) => doJump() );
80
+ ```
81
+
33
82
  ### Realtime API
34
83
 
35
84
  Iterate through `InputDevice.devices`, or access devices directly:
36
85
 
37
86
  ```ts
38
- let jump = false, hide = false, moveX = 0.0
87
+ let jump = false, crouch = false, moveX = 0
39
88
 
40
89
  const keyboard = InputDevice.keyboard
41
- if ( keyboard.key.ArrowUp ) jump = true
42
- if ( keyboard.key.ArrowDown ) hide = true
43
- if ( keyboard.key.ArrowLeft ) moveX = -1.0
44
- else if ( keyboard.key.ArrowRight ) moveX = 1.0
90
+ if ( keyboard.groupPressed( "jump" ) ) jump = true
91
+ if ( keyboard.groupPressed( "crouch" ) ) crouch = true
92
+ if ( keyboard.groupPressed( "left" ) ) moveX -= 1
93
+ if ( keyboard.groupPressed( "right" ) ) moveX += 1
94
+ if ( keyboard.groupPressed( "moveSlow" ) ) moveX *= 0.5
45
95
 
46
96
  for ( const gamepad of InputDevice.gamepads ) {
47
- if ( gamepad.button.A ) jump = true
48
- if ( gamepad.rightTrigger > 0.25 ) hide = true
49
- if ( gamepad.leftJoystick.x !== 0.0 ) moveX = gamepad.leftJoystick.x
97
+ if ( gamepad.groupPressed( "jump" ) ) jump = true
98
+ if ( gamepad.groupPressed( "crouch" ) ) crouch = true
99
+
100
+ // gamepads have additional analog inputs
101
+ // we're going to apply these only if touched
102
+ if ( gamepad.leftJoystick.x != 0 ) moveX = gamepad.leftJoystick.x
103
+ if ( gamepad.leftTrigger > 0 ) moveX *= ( 1 - gamepad.leftTrigger )
50
104
  }
51
105
  ```
52
106
 
53
107
  ### Event API
54
108
 
109
+ Use `on( ... )` to subscribe to built-in events. Use `onGroup( ... )` to subscribe to custom named input group events.
110
+
55
111
  ```ts
56
112
  // global events
57
113
  InputDevice.on( "deviceconnected", ({ device }) =>
@@ -66,6 +122,11 @@ InputDevice.keyboard.on( "layoutdetected", ({ layout }) =>
66
122
  // bind keys/buttons
67
123
  InputDevice.keyboard.on( "Escape", () => showMenu() )
68
124
  InputDevice.gamepads[0].on( "Back", () => showMenu() )
125
+
126
+ // use "onGroup()" to add custom events too:
127
+ InputDevice.onGroup( "pause_menu", ( event ) => {
128
+ // menu was triggered!
129
+ })
69
130
  ```
70
131
 
71
132
  #### Global Events
@@ -80,6 +141,7 @@ InputDevice.gamepads[0].on( "Back", () => showMenu() )
80
141
  | Event | Description | Payload |
81
142
  |---|---|---|
82
143
  | `"layoutdetected"` | `{layout,layoutSource,device}` | The keyboard layout (`"QWERTY"`, `"QWERTZ"`, `"AZERTY"`, or `"JCUKEN"`) has been detected, either from the native API or from keypresses. |
144
+ | `"group"` | `{groupName,event,keyCode,keyLabel,device}` | A named input group key was pressed. |
83
145
  | **Key presses:** | | |
84
146
  | `"KeyA"` \| `"KeyB"` \| ... 103 more ... | `{event,keyCode,keyLabel,device}` | `"KeyA"` was pressed. |
85
147
 
@@ -87,6 +149,7 @@ InputDevice.gamepads[0].on( "Back", () => showMenu() )
87
149
 
88
150
  | Event | Description | Payload |
89
151
  |---|---|---|
152
+ | `"group"` | `{groupName,button,buttonCode,device}` | A named input group button was pressed. |
90
153
  | **Button presses:** | | |
91
154
  | `"A"` \| `"B"` \| `"X"` \| ... 13 more ... | `{button,buttonCode,device}` | Button `"A"` was pressed. Equivalent to `0`. |
92
155
  | ... | ... | ... |
@@ -97,7 +160,7 @@ InputDevice.gamepads[0].on( "Back", () => showMenu() )
97
160
  > [!TIP]
98
161
  > **Multiplayer:** For multiple players, consider assigning devices
99
162
  > using `device.meta` (e.g. `device.meta.player = 1`) and use
100
- > `InputDevice.devices` to iterate through devices instead.
163
+ > `InputDevice.devices` to iterate through devices.
101
164
 
102
165
  ### Navigation API
103
166
 
@@ -105,8 +168,8 @@ By default, any element with `"mousedown"` or `"pointerdown"` handlers is naviga
105
168
 
106
169
  Container properties | type | default | description
107
170
  ---------------------|------|---------|--------------
171
+ `isNavigatable` | `boolean` | `false` | returns `true` if `navigationMode` is set to `"target"`, or is `"auto"` and a `"pointerdown"` or `"mousedown"` event handler is registered.
108
172
  `navigationMode` | `"auto"` \| `"disabled"` \| `"target"` | `"auto"` | When set to `"auto"`, a `Container` can be navigated to if it has a `"pointerdown"` or `"mousedown"` event handler registered.
109
- `isNavigatable` | `get () => boolean` | `false` | returns `true` if `navigationMode` is `"target"`, or `"auto"` and a `"pointerdown"` or `"mousedown"` event handler is registered.
110
173
  `navigationPriority` | `number` | `0` | The priority relative to other navigation items in this group.
111
174
 
112
175
  Navigation intent | Keyboard | Gamepads
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";const e=0,t=1,i=2,a=3,o={A:0,B:1,X:2,Y:3,LeftShoulder:4,RightShoulder:5,LeftTrigger:6,RightTrigger:7,Back:8,Start:9,LeftStick:10,RightStick:11,DPadUp:12,DPadDown:13,DPadLeft:14,DPadRight:15},s=["A","B","X","Y","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStick","RightStick","DPadUp","DPadDown","DPadLeft","DPadRight"];function getAllNavigatables(e,t=[]){for(const i of e.children)i.isNavigatable?t.push(i):getAllNavigatables(i,t);return t}function getFirstNavigatable(e,t,i,{minimumDistance:a=3}={}){return function chooseFirstNavigatableInDirection(e,t,i,{minimumDistance:a=3}={}){var o,s,n,r,d,u,l,c,h;const g=e.filter((e=>e.isNavigatable&&null!=e.parent&&function isVisible(e){for(;null!=e;){if(!e.visible)return!1;e=e.parent}return!0}(e))),p=g.find((e=>e===t));if(void 0===p)return g.sort(((e,t)=>e.navigationPriority-t.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!==(o=e[0])&&void 0!==o?o:m;const v=p.getBounds(),y={x:v.left+v.width/2,y:v.top+v.height/2},f=g.filter((e=>e!==p)).map((e=>{const t=e.getBounds(),i={x:t.left+t.width/2,y:t.top+t.height/2};return{element:e,bounds:t,center:i,distSqrd:squaredDist(i,y)}}));switch(i){case"navigateUp":return null!==(n=null===(s=f.filter((e=>e.center.y<y.y-a)).sort(((e,t)=>e.distSqrd-t.distSqrd))[0])||void 0===s?void 0:s.element)&&void 0!==n?n:m;case"navigateLeft":return null!==(d=null===(r=f.filter((e=>e.center.x<y.x-a)).sort(((e,t)=>e.distSqrd-t.distSqrd))[0])||void 0===r?void 0:r.element)&&void 0!==d?d:m;case"navigateRight":return null!==(l=null===(u=f.filter((e=>e.center.x>y.x+a)).sort(((e,t)=>e.distSqrd-t.distSqrd))[0])||void 0===u?void 0:u.element)&&void 0!==l?l:m;case"navigateDown":return null!==(h=null===(c=f.filter((e=>e.center.y>y.y+a)).sort(((e,t)=>e.distSqrd-t.distSqrd))[0])||void 0===c?void 0:c.element)&&void 0!==h?h:m;default:return p}}(getAllNavigatables(e),t,i,{minimumDistance:a})}function squaredDist(e,t){const i=t.x-e.x,a=t.y-e.y;return i*i+a*a}class NavigationManager{constructor(){this.options={enabled:!0,useFallbackHoverEffect:!0},this._responderStack=[]}get firstResponder(){return this._responderStack[0]}get responders(){return this._responderStack}commit(e,t){this.options.enabled&&this._propagateIntent(e,t)}popResponder(){var e,t,i;const a=this._responderStack.shift();return null===(t=null===(e=this.firstResponder)||void 0===e?void 0:e.becameFirstResponder)||void 0===t||t.call(e),null===(i=null==a?void 0:a.resignedAsFirstResponder)||void 0===i||i.call(a),a}pushResponder(e){var t,i;if(this._responderStack.includes(e))throw new Error("Responder already in stack.");const a=this.firstResponder;this._responderStack.unshift(e),null===(t=e.becameFirstResponder)||void 0===t||t.call(e),null===(i=null==a?void 0:a.resignedAsFirstResponder)||void 0===i||i.call(a)}_propagateIntent(e,t){var i;for(const a of this._responderStack)if(null===(i=a.handledNavigationIntent)||void 0===i?void 0:i.call(a,e,t))return;void 0===this.stage?console.warn("navigation: no stage root set"):this._handleGlobalIntent(this.stage,e)}_handleGlobalIntent(e,t){var i;if(void 0===this._focused){const i=getFirstNavigatable(e);return void 0===i?void console.debug("navigation: no navigatable views found",t):(this._emitFocus(i),void(this._focused=i))}if("navigateBack"===t)return this._emitBlur(this._focused),void(this._focused=void 0);if("trigger"===t)return void this._emitTrigger(this._focused);const a=null!==(i=getFirstNavigatable(this.stage,this._focused,t))&&void 0!==i?i:this._focused;a!==this._focused&&(this._emitBlur(this._focused),this._emitFocus(a),this._focused=a)}_emitBlur(e){const t=e.eventNames();t.includes("pointerout")?e.emit("pointerout"):t.includes("mouseout")?e.emit("mouseout"):"auto"===e.navigationMode&&this.options.useFallbackHoverEffect&&(e.alpha=1),e.emit("blur")}_emitFocus(e){const t=e.eventNames();t.includes("pointerover")?e.emit("pointerover"):t.includes("mouseover")?e.emit("mouseover"):"auto"===e.navigationMode&&this.options.useFallbackHoverEffect&&(e.alpha=.5),e.emit("focus")}_emitTrigger(e){const t=e.eventNames();t.includes("pointerdown")?e.emit("pointerdown"):t.includes("mousedown")?e.emit("mousedown"):"auto"===e.navigationMode&&this.options.useFallbackHoverEffect&&(e.alpha=.75),e.emit("trigger")}}NavigationManager.global=new NavigationManager;const n=NavigationManager.global;let r=new Map;function throttle(e,t){var i;const a=Date.now();return(null!==(i=r.get(e))&&void 0!==i?i:0)>a||(r.set(e,a+t),!1)}class EventEmitter{constructor(){this.l={}}hasListener(e){return void 0!==this.l[e]}emit(e,t){var i;null===(i=this.l[e])||void 0===i||i.forEach((e=>e(t)))}on(e,t){var i;this.l[e]||(this.l[e]=[]),null===(i=this.l[e])||void 0===i||i.push(t)}off(e,t){var i,a;this.l[e]=void 0===t||null===(i=this.l[e])||void 0===i?void 0:i.filter((e=>e!==t)),0===(null===(a=this.l[e])||void 0===a?void 0:a.length)&&(this.l[e]=void 0)}}class GamepadDevice{get leftTrigger(){return this.source.buttons[o.LeftTrigger].value}get rightTrigger(){return this.source.buttons[o.RightTrigger].value}get leftShoulder(){return this.source.buttons[o.LeftShoulder].value}get rightShoulder(){return this.source.buttons[o.RightShoulder].value}groupPressed(e){return void 0!==this.options.namedGroups[e]&&this.anyPressed(this.options.namedGroups[e])}anyPressed(e){for(let t=0;t<e.length;t++)if(this.button[e[t]])return!0;return!1}allPressed(e){for(let t=0;t<e.length;t++)if(!this.button[e[t]])return!1;return!0}on(e,t){const i="number"==typeof e?s[e]:e;return this._emitter.on(i,t),this}off(e,t){const i="number"==typeof e?s[e]:e;return this._emitter.off(i,t),this}playVibration({duration:e=200,weakMagnitude:t=.5,strongMagnitude:i=.5,vibrationType:a="dual-rumble",rightTrigger:o=0,leftTrigger:s=0,startDelay:n=0}={}){if(this.options.vibration.enabled&&this.source.vibrationActuator)try{this.source.vibrationActuator.playEffect(a,{duration:e,startDelay:n,weakMagnitude:t,strongMagnitude:i,leftTrigger:s,rightTrigger:o})}catch(e){console.warn("gamepad vibrationActuator failed with error:",e)}}update(e,t){this.lastUpdated=t,this.updatePresses(e,t),this.source=e}clear(){this._axisIntents=this._axisIntents.map((()=>!1)),this._btnPrevState=this._btnPrevState.map((()=>!1))}constructor(s){this.source=s,this.type="gamepad",this.meta={},this.lastUpdated=performance.now(),this.lastActive=performance.now(),this.options=JSON.parse(JSON.stringify(GamepadDevice.defaultOptions)),this.button=Object.keys(o).reduce(((e,t)=>(e[t]=!1,e)),{}),this._btnPrevState=new Array(16),this._axisIntents=new Array(2),this._emitter=new EventEmitter,this.id="gamepad"+s.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":"generic"}(s),this.leftJoystick=new GamepadJoystick(this,e,t),this.rightJoystick=new GamepadJoystick(this,i,a),this._throttleIdLeftStickX=this.id+"-lsx",this._throttleIdLeftStickY=this.id+"-lsy"}updatePresses(i,a){var r,d,u,l,c;const h=this._btnPrevState.length;for(let e=0;e<h;e++){let t=e;if("nintendo"===this.layout&&"none"!==this.options.remapNintendoMode&&("physical"===this.options.remapNintendoMode?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)),this._btnPrevState[t]===(null===(r=i.buttons[e])||void 0===r?void 0:r.pressed))continue;this.lastActive=a;const l=null!==(u=null===(d=i.buttons[e])||void 0===d?void 0:d.pressed)&&void 0!==u&&u,c=s[t];this._btnPrevState[t]=l,this.button[c]=l,l&&(this._emitter.hasListener(c)?setTimeout((()=>this._emitter.emit(c,{device:this,button:t,buttonCode:c}))):this.options.navigation.enabled&&void 0!==this.options.navigation.binds[t]&&setTimeout((()=>n.commit(this.options.navigation.binds[t],this))))}const g=null!==(l=i.axes[e])&&void 0!==l?l:0,p=null!==(c=i.axes[t])&&void 0!==c?c:0;if(Math.abs(g)>=this.options.intent.joystickCommitSensitivity){const t=g<0?"navigateLeft":"navigateRight",i=this._axisIntents[e]?this.options.intent.defaultCooldownMs:this.options.intent.firstCooldownMs;this._axisIntents[e]=!0,this.options.navigation.enabled&&!throttle(this._throttleIdLeftStickX,i)&&setTimeout((()=>n.commit(t,this)))}else this._axisIntents[e]=!1;if(Math.abs(p)>=this.options.intent.joystickCommitSensitivity){const e=p<0?"navigateUp":"navigateDown",i=this._axisIntents[t]?this.options.intent.defaultCooldownMs:this.options.intent.firstCooldownMs;this._axisIntents[t]=!0,this.options.navigation.enabled&&!throttle(this._throttleIdLeftStickY,i)&&setTimeout((()=>n.commit(e,this)))}else this._axisIntents[t]=!1}}GamepadDevice.defaultOptions={remapNintendoMode:"physical",namedGroups:{},navigation:{enabled:!0,binds:{[o.A]:"trigger",[o.B]:"navigateBack",[o.Back]:"navigateBack",[o.DPadDown]:"navigateDown",[o.DPadLeft]:"navigateLeft",[o.DPadRight]:"navigateRight",[o.DPadUp]:"navigateUp"}},intent:{joystickCommitSensitivity:.5,firstCooldownMs:400,defaultCooldownMs:80},vibration:{enabled:!0,intensity:1}};class GamepadJoystick{constructor(e,t,i){this._owner=e,this.ix=t,this.iy=i}get x(){return this._owner.source.axes[this.ix]}get y(){return this._owner.source.axes[this.iy]}}const d={AltLeft:"AltLeft",AltRight:"AltRight",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",ArrowUp:"ArrowUp",Backquote:"Backquote",Backslash:"Backslash",Backspace:"Backspace",BracketLeft:"BracketLeft",BracketRight:"BracketRight",CapsLock:"CapsLock",Comma:"Comma",ContextMenu:"ContextMenu",ControlLeft:"ControlLeft",ControlRight:"ControlRight",Delete:"Delete",Digit0:"Digit0",Digit1:"Digit1",Digit2:"Digit2",Digit3:"Digit3",Digit4:"Digit4",Digit5:"Digit5",Digit6:"Digit6",Digit7:"Digit7",Digit8:"Digit8",Digit9:"Digit9",End:"End",Enter:"Enter",Equal:"Equal",Escape:"Escape",F1:"F1",F10:"F10",F11:"F11",F12:"F12",F13:"F13",F14:"F14",F15:"F15",F16:"F16",F17:"F17",F18:"F18",F19:"F19",F2:"F2",F20:"F20",F21:"F21",F22:"F22",F23:"F23",F24:"F24",F25:"F25",F26:"F26",F27:"F27",F28:"F28",F29:"F29",F3:"F3",F30:"F30",F31:"F31",F32:"F32",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",Home:"Home",IntlBackslash:"IntlBackslash",IntlRo:"IntlRo",IntlYen:"IntlYen",KeyA:"KeyA",KeyB:"KeyB",KeyC:"KeyC",KeyD:"KeyD",KeyE:"KeyE",KeyF:"KeyF",KeyG:"KeyG",KeyH:"KeyH",KeyI:"KeyI",KeyJ:"KeyJ",KeyK:"KeyK",KeyL:"KeyL",KeyM:"KeyM",KeyN:"KeyN",KeyO:"KeyO",KeyP:"KeyP",KeyQ:"KeyQ",KeyR:"KeyR",KeyS:"KeyS",KeyT:"KeyT",KeyU:"KeyU",KeyV:"KeyV",KeyW:"KeyW",KeyX:"KeyX",KeyY:"KeyY",KeyZ:"KeyZ",Lang1:"Lang1",Lang2:"Lang2",MediaTrackNext:"MediaTrackNext",MediaTrackPrevious:"MediaTrackPrevious",MetaLeft:"MetaLeft",MetaRight:"MetaRight",Minus:"Minus",NumLock:"NumLock",Numpad0:"Numpad0",Numpad1:"Numpad1",Numpad2:"Numpad2",Numpad3:"Numpad3",Numpad4:"Numpad4",Numpad5:"Numpad5",Numpad6:"Numpad6",Numpad7:"Numpad7",Numpad8:"Numpad8",Numpad9:"Numpad9",NumpadAdd:"NumpadAdd",NumpadComma:"NumpadComma",NumpadDecimal:"NumpadDecimal",NumpadDivide:"NumpadDivide",NumpadMultiply:"NumpadMultiply",NumpadSubtract:"NumpadSubtract",OSLeft:"OSLeft",Pause:"Pause",Period:"Period",Quote:"Quote",ScrollLock:"ScrollLock",Semicolon:"Semicolon",ShiftLeft:"ShiftLeft",ShiftRight:"ShiftRight",Slash:"Slash",Space:"Space",Tab:"Tab",VolumeDown:"VolumeDown",VolumeMute:"VolumeMute",VolumeUp:"VolumeUp",WakeUp:"WakeUp"};function __awaiter(e,t,i,a){return new(i||(i=Promise))((function(o,s){function fulfilled(e){try{step(a.next(e))}catch(e){s(e)}}function rejected(e){try{step(a.throw(e))}catch(e){s(e)}}function step(e){e.done?o(e.value):function adopt(e){return e instanceof i?e:new i((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((a=a.apply(e,t||[])).next())}))}"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"],c=["de","cs","sk","sl","hu","hr","bs","ro","sq","me","lt","lv","et"],h=/ф|и|с|в|у|а|п|р|ш|о|л|д|ь|т|щ|з|й|к|ы|е|г|м|ц|ч|н|я|ё|х|ъ|б|ю|э|ж|и/i,g=/[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":c.includes(i)||t.startsWith("sr-latn")?"QWERTZ":"QWERTY"}const p=new Set(["AZERTY","JCUKEN","QWERTY","QWERTZ"]);let m;function getMetaKeyLabel(){var e,t,i,a;const o=navigator,s=null!==(t=null===(e=o.platform)||void 0===e?void 0:e.toLowerCase())&&void 0!==t?t:"",n=null!==(a=null===(i=o.userAgent)||void 0===i?void 0:i.toLowerCase())&&void 0!==a?a:"";return s.includes("mac")?"⌘":s.includes("win")||s.includes("linux")?"⊞":n.includes("android")?"Search":n.includes("iphone")||n.includes("ipad")?"⌘":"⊞"}class KeyboardDevice{constructor(){this.type="keyboard",this.id="keyboard",this.meta={},this.lastUpdated=performance.now(),this.detectLayoutOnKeypress=!0,this.detected=!1,this._emitter=new EventEmitter,this.options={preventDefaultKeys:new Set([]),namedGroups:{},navigation:{enabled:!0,binds:{Space:"trigger",Enter:"trigger",Escape:"navigateBack",Backspace:"navigateBack",ArrowDown:"navigateDown",ArrowLeft:"navigateLeft",ArrowRight:"navigateRight",ArrowUp:"navigateUp",KeyA:"navigateLeft",KeyD:"navigateRight",KeyS:"navigateDown",KeyW:"navigateUp"}}},this.key=Object.keys(d).reduce(((e,t)=>(e[t]=!1,e)),{}),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(),i=t.get("KeyQ"),a=t.get("KeyA"),o=t.get("KeyZ");if("a"===i&&"w"===o&&"q"===a)return"AZERTY";if("q"===i&&"y"===o&&"a"===a)return"QWERTZ";if("q"===i&&"z"===o&&"a"===a)return"QWERTY";if("й"===i&&"я"===o&&"ф"===a)return"JCUKEN"}catch(e){console.error("Error detecting keyboard layout:",e)}}))}().then((e=>{void 0!==e&&(this._layoutSource="browser",this._layout=e,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}get layoutSource(){return this._layoutSource}groupPressed(e){return void 0!==this.options.namedGroups[e]&&this.anyPressed(this.options.namedGroups[e])}anyPressed(e){for(let t=0;t<e.length;t++)if(this.key[e[t]])return!0;return!1}allPressed(e){for(let t=0;t<e.length;t++)if(!this.key[e[t]])return!1;return!0}on(e,t){return this._emitter.on(e,t),this}off(e,t){return this._emitter.off(e,t),this}keyLabel(e,t=this._layout){return function getLayoutLabel(e,t){if(void 0===m){const e={ArrowLeft:"←",ArrowRight:"→",ArrowUp:"↑",ArrowDown:"↓",AltLeft:"Left Alt",AltRight:"Right Alt",Backquote:"`",Backslash:"\\",Backspace:"Backspace",BracketLeft:"[",BracketRight:"]",CapsLock:"Caps Lock",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:"Mute",VolumeUp:"Volume Up",WakeUp:"Wake Up"},t=Object.assign(Object.assign({},e),{KeyA:"Q",KeyQ:"A",KeyW:"Z",KeyZ:"W",Backquote:"²",BracketLeft:"«",BracketRight:"»"}),i=Object.assign(Object.assign({},e),{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:"И"}),a=Object.assign(Object.assign({},e),{KeyY:"Z",KeyZ:"Y",BracketLeft:"ü",BracketRight:"ö",Slash:"-"});m={AZERTY:t,JCUKEN:i,QWERTY:e,QWERTZ:a}}return m[t][e]}(e,t)}clear(){for(const e of Object.keys(d))this.key[e]=!1}_configureEventListeners(){document.addEventListener("keydown",(e=>{const t=e.code;if(this.key[t]=!0,this.options.preventDefaultKeys.has(t)&&e.preventDefault(),this.detectLayoutOnKeypress&&"lang"===this._layoutSource){const t=function detectKeyboardLayoutFromKeydown(e){const t=e.key.toLowerCase(),i=e.code;return h.test(t)?(p.delete("AZERTY"),p.delete("QWERTY"),p.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?(p.delete("JCUKEN"),p.delete("QWERTY"),p.delete("QWERTZ")):"BracketLeft"===i&&"ü"===t||"BracketRight"===i&&"ö"===t||"KeyY"===i&&"z"===t||"KeyZ"===i&&"y"===t||"Slash"===i&&"-"===t?(p.delete("AZERTY"),p.delete("JCUKEN"),p.delete("QWERTY")):"BracketLeft"===i&&"["===t||"BracketRight"===i&&"]"===t||"KeyZ"===i&&"z"===t?(p.delete("AZERTY"),p.delete("JCUKEN"),p.delete("QWERTZ")):"KeyQ"===i&&"q"===t||"KeyW"===i&&"w"===t?(p.delete("AZERTY"),p.delete("JCUKEN")):"KeyY"===i&&"Y"===t?(p.delete("QWERTZ"),p.delete("JCUKEN")):g.test(t)&&p.delete("JCUKEN"),1===p.size?[...p][0]:void 0}(e);void 0!==t&&(this._layout=t,this._layoutSource="keypress",this.detectLayoutOnKeypress=!1,this._emitter.emit("layoutdetected",{layout:t,layoutSource:"keypress",device:this}))}this._emitter.hasListener(t)?setTimeout((()=>this._emitter.emit(t,{device:this,keyCode:t,keyLabel:this.keyLabel(t),event:e}))):this.options.navigation.enabled&&void 0!==this.options.navigation.binds[t]&&(e.preventDefault(),setTimeout((()=>n.commit(this.options.navigation.binds[t],this))))})),document.addEventListener("keyup",(e=>{this.key[e.code]=!1,this.options.preventDefaultKeys.has(e.code)&&e.preventDefault()}))}}KeyboardDevice.global=new KeyboardDevice;class InputDeviceManager{on(e,t){return this._emitter.on(e,t),this}off(e,t){return this._emitter.off(e,t),this}get gamepads(){return this._gamepadDevices}get devices(){return this._devices}constructor(){this._emitter=new EventEmitter,this.isMobile=(()=>{let e=!1;var t;return t=navigator.userAgent||navigator.vendor,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0),e})(),this.isTouchCapable=function isTouchCapable(){return"ontouchstart"in window||navigator.maxTouchPoints>0}(),this.hasFocus=!1,this.options={clearInputInBackground:!0},this._gamepadDevices=[],this._gamepadDeviceMap=new Map,this._devices=[];const registerKeyboard=()=>{window.removeEventListener("keydown",registerKeyboard),this._devices.push(this.keyboard),this._emitter.emit("deviceadded",{device:this.keyboard}),this.keyboard.detected=!0};this.keyboard=KeyboardDevice.global,this.isTouchCapable||this.isMobile?window.addEventListener("keydown",registerKeyboard):registerKeyboard(),window.addEventListener("gamepadconnected",(()=>this.pollGamepads(performance.now()))),window.addEventListener("gamepaddisconnected",(e=>this.removeGamepad(e.gamepad.index)))}update(){if(!document.hasFocus())return this.hasFocus&&this.options.clearInputInBackground&&this.devices.forEach((e=>e.clear())),this.hasFocus=!1,this._devices;this.hasFocus=!0;const e=performance.now();return this.keyboard.lastUpdated=e,this.pollGamepads(e),this._devices}add(e){this._devices.push(e)}remove(e){const t=this._devices.indexOf(e);-1!==t&&(this._devices.splice(t,1),this._emitter.emit("deviceremoved",{device: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 e=new GamepadDevice(t);this._gamepadDeviceMap.set(t.index,e),this._gamepadDevices.push(e),this._devices.push(e),this._emitter.emit("deviceadded",{device: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;exports.Button=o,exports.CustomDevice=class CustomDevice{constructor(e){this.type="custom",this.meta={},this.lastUpdated=performance.now(),this.id=e}clear(){}},exports.GamepadDevice=GamepadDevice,exports.InputDevice=v,exports.KeyCode=d,exports.KeyboardDevice=KeyboardDevice,exports.Navigation=n,exports.getAllNavigatables=getAllNavigatables,exports.getFirstNavigatable=getFirstNavigatable,exports.registerPixiJSInputDeviceMixin=function registerPixiJSInputDeviceMixin(e){const t=e.prototype;t.navigationPriority=0,t.navigationMode="auto",Object.defineProperty(t,"isNavigatable",{get:function(){if("auto"===this.navigationMode){if(!this.isInteractive)return!1;const e=this.eventNames();return e.includes("pointerdown")||e.includes("mousedown")}return"target"===this.navigationMode},configurable:!0,enumerable:!1})};
1
+ "use strict";class CustomDevice{constructor(e){this.type="custom",this.meta={},this.lastUpdated=performance.now(),this.id=e}clear(){}}const e=0,t=1,i=2,o=3,a={A:0,B:1,X:2,Y:3,LeftShoulder:4,RightShoulder:5,LeftTrigger:6,RightTrigger:7,Back:8,Start:9,LeftStick:10,RightStick:11,DPadUp:12,DPadDown:13,DPadLeft:14,DPadRight:15},s=["A","B","X","Y","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStick","RightStick","DPadUp","DPadDown","DPadLeft","DPadRight"];function getAllNavigatables(e,t=[]){for(const i of e.children)i.isNavigatable?t.push(i):getAllNavigatables(i,t);return t}function getFirstNavigatable(e,t,i,{minimumDistance:o=3}={}){return function chooseFirstNavigatableInDirection(e,t,i,{minimumDistance:o=3}={}){var a,s,n,r,d,u,c,l,h;const p=e.filter((e=>e.isNavigatable&&null!=e.parent&&function isVisible(e){for(;null!=e;){if(!e.visible)return!1;e=e.parent}return!0}(e))),g=p.find((e=>e===t));if(void 0===g)return p.sort(((e,t)=>e.navigationPriority-t.navigationPriority)),p[0];if(void 0===i&&g)return g;const m=null!=g?g:p[Math.floor(Math.random()*p.length)];if(void 0===g)return null!==(a=e[0])&&void 0!==a?a:m;const v=g.getBounds(),y={x:v.left+v.width/2,y:v.top+v.height/2},f=p.filter((e=>e!==g)).map((e=>{const t=e.getBounds(),i={x:t.left+t.width/2,y:t.top+t.height/2};return{element:e,bounds:t,center:i,distSqrd:squaredDist(i,y)}}));switch(i){case"navigateUp":return null!==(n=null===(s=f.filter((e=>e.center.y<y.y-o)).sort(((e,t)=>e.distSqrd-t.distSqrd))[0])||void 0===s?void 0:s.element)&&void 0!==n?n:m;case"navigateLeft":return null!==(d=null===(r=f.filter((e=>e.center.x<y.x-o)).sort(((e,t)=>e.distSqrd-t.distSqrd))[0])||void 0===r?void 0:r.element)&&void 0!==d?d:m;case"navigateRight":return null!==(c=null===(u=f.filter((e=>e.center.x>y.x+o)).sort(((e,t)=>e.distSqrd-t.distSqrd))[0])||void 0===u?void 0:u.element)&&void 0!==c?c:m;case"navigateDown":return null!==(h=null===(l=f.filter((e=>e.center.y>y.y+o)).sort(((e,t)=>e.distSqrd-t.distSqrd))[0])||void 0===l?void 0:l.element)&&void 0!==h?h:m;default:return g}}(getAllNavigatables(e),t,i,{minimumDistance:o})}function squaredDist(e,t){const i=t.x-e.x,o=t.y-e.y;return i*i+o*o}class NavigationManager{constructor(){this.options={enabled:!0,useFallbackHoverEffect:!0},this._responderStack=[]}get firstResponder(){return this._responderStack[0]}get responders(){return this._responderStack}commit(e,t){this.options.enabled&&this._propagateIntent(e,t)}popResponder(){var e,t,i;const o=this._responderStack.shift();return null===(t=null===(e=this.firstResponder)||void 0===e?void 0:e.becameFirstResponder)||void 0===t||t.call(e),null===(i=null==o?void 0:o.resignedAsFirstResponder)||void 0===i||i.call(o),o}pushResponder(e){var t,i;if(this._responderStack.includes(e))throw new Error("Responder already in stack.");const o=this.firstResponder;this._responderStack.unshift(e),null===(t=e.becameFirstResponder)||void 0===t||t.call(e),null===(i=null==o?void 0:o.resignedAsFirstResponder)||void 0===i||i.call(o)}_propagateIntent(e,t){var i;for(const o of this._responderStack)if(null===(i=o.handledNavigationIntent)||void 0===i?void 0:i.call(o,e,t))return;void 0===this.stage?console.warn("navigation: no stage root set"):this._handleGlobalIntent(this.stage,e)}_handleGlobalIntent(e,t){var i;if(void 0===this._focused){const i=getFirstNavigatable(e);return void 0===i?void console.debug("navigation: no navigatable views found",t):(this._emitFocus(i),void(this._focused=i))}if("navigateBack"===t)return this._emitBlur(this._focused),void(this._focused=void 0);if("trigger"===t)return void this._emitTrigger(this._focused);const o=null!==(i=getFirstNavigatable(this.stage,this._focused,t))&&void 0!==i?i:this._focused;o!==this._focused&&(this._emitBlur(this._focused),this._emitFocus(o),this._focused=o)}_emitBlur(e){const t=e.eventNames();t.includes("pointerout")?e.emit("pointerout"):t.includes("mouseout")?e.emit("mouseout"):"auto"===e.navigationMode&&this.options.useFallbackHoverEffect&&(e.alpha=1),e.emit("blur")}_emitFocus(e){const t=e.eventNames();t.includes("pointerover")?e.emit("pointerover"):t.includes("mouseover")?e.emit("mouseover"):"auto"===e.navigationMode&&this.options.useFallbackHoverEffect&&(e.alpha=.5),e.emit("focus")}_emitTrigger(e){const t=e.eventNames();t.includes("pointerdown")?e.emit("pointerdown"):t.includes("mousedown")?e.emit("mousedown"):"auto"===e.navigationMode&&this.options.useFallbackHoverEffect&&(e.alpha=.75),e.emit("trigger")}}NavigationManager.global=new NavigationManager;const n=NavigationManager.global;let r=new Map;function throttle(e,t){var i;const o=Date.now();return(null!==(i=r.get(e))&&void 0!==i?i:0)>o||(r.set(e,o+t),!1)}class EventEmitter{constructor(){this.l={}}hasListener(e){return void 0!==this.l[e]}emit(e,t){var i;null===(i=this.l[e])||void 0===i||i.forEach((e=>e(t)))}on(e,t){var i;this.l[e]||(this.l[e]=[]),null===(i=this.l[e])||void 0===i||i.push(t)}off(e,t){var i,o;this.l[e]=void 0===t||null===(i=this.l[e])||void 0===i?void 0:i.filter((e=>e!==t)),0===(null===(o=this.l[e])||void 0===o?void 0:o.length)&&(this.l[e]=void 0)}}class GamepadDevice{get leftTrigger(){return this.source.buttons[a.LeftTrigger].value}get rightTrigger(){return this.source.buttons[a.RightTrigger].value}get leftShoulder(){return this.source.buttons[a.LeftShoulder].value}get rightShoulder(){return this.source.buttons[a.RightShoulder].value}groupPressed(e){return void 0!==this.options.namedGroups[e]&&this.anyPressed(this.options.namedGroups[e])}anyPressed(e){for(let t=0;t<e.length;t++)if(this.button[e[t]])return!0;return!1}allPressed(e){for(let t=0;t<e.length;t++)if(!this.button[e[t]])return!1;return!0}on(e,t){const i="number"==typeof e?s[e]:e;return this._emitter.on(i,t),this}off(e,t){const i="number"==typeof e?s[e]:e;return this._emitter.off(i,t),this}onGroup(e,t){return this._groupEmitter.on(e,t),this}offGroup(e,t){return this._groupEmitter.off(e,t),this}playVibration({duration:e=200,weakMagnitude:t=.5,strongMagnitude:i=.5,vibrationType:o="dual-rumble",rightTrigger:a=0,leftTrigger:s=0,startDelay:n=0}={}){if(this.options.vibration.enabled&&this.source.vibrationActuator)try{this.source.vibrationActuator.playEffect(o,{duration:e,startDelay:n,weakMagnitude:t,strongMagnitude:i,leftTrigger:s,rightTrigger:a})}catch(e){console.warn("gamepad vibrationActuator failed with error:",e)}}update(e,t){this.updatePresses(e,t),this.source=e,this.lastUpdated=t}clear(){this._axisIntents=this._axisIntents.map((()=>!1)),this._btnPrevState=this._btnPrevState.map((()=>!1))}constructor(s){this.source=s,this.type="gamepad",this.meta={},this.lastUpdated=performance.now(),this.lastActive=performance.now(),this.options=JSON.parse(JSON.stringify(GamepadDevice.defaultOptions)),this.button=Object.keys(a).reduce(((e,t)=>(e[t]=!1,e)),{}),this._btnPrevState=new Array(16),this._axisIntents=new Array(2),this._emitter=new EventEmitter,this._groupEmitter=new EventEmitter,this.id="gamepad"+s.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":"generic"}(s),this.leftJoystick=new GamepadJoystick(this,e,t),this.rightJoystick=new GamepadJoystick(this,i,o),this._throttleIdLeftStickX=this.id+"-lsx",this._throttleIdLeftStickY=this.id+"-lsy"}updatePresses(i,o){var r,d,u,c,l;const h=this._btnPrevState.length;for(let e=0;e<h;e++){let t=e;if("nintendo"===this.layout&&"none"!==this.options.remapNintendoMode&&("physical"===this.options.remapNintendoMode?t===a.B?t=a.A:t===a.A?t=a.B:t===a.X?t=a.Y:t===a.Y&&(t=a.X):t===a.B?t=a.X:t===a.X&&(t=a.B)),this._btnPrevState[t]===(null===(r=i.buttons[e])||void 0===r?void 0:r.pressed))continue;this.lastActive=o;const c=null!==(u=null===(d=i.buttons[e])||void 0===d?void 0:d.pressed)&&void 0!==u&&u,l=s[t];this._btnPrevState[t]=c,this.button[l]=c,c&&(this._emitter.hasListener(l)&&setTimeout((()=>this._emitter.emit(l,{device:this,button:t,buttonCode:l}))),n.options.enabled&&this.options.navigation.enabled&&void 0!==this.options.navigation.binds[t]&&setTimeout((()=>n.commit(this.options.navigation.binds[t],this))),Object.entries(this.options.namedGroups).forEach((([e,i])=>{i.includes(l)&&setTimeout((()=>{const i={device:this,button:t,buttonCode:l,groupName:e};this._groupEmitter.emit(e,i),this._emitter.emit("group",i)}))})))}const p=null!==(c=i.axes[e])&&void 0!==c?c:0,g=null!==(l=i.axes[t])&&void 0!==l?l:0;if(Math.abs(p)>=this.options.intent.joystickCommitSensitivity){const t=p<0?"navigateLeft":"navigateRight",i=this._axisIntents[e]?this.options.intent.defaultCooldownMs:this.options.intent.firstCooldownMs;this._axisIntents[e]=!0,this.options.navigation.enabled&&!throttle(this._throttleIdLeftStickX,i)&&setTimeout((()=>n.commit(t,this)))}else this._axisIntents[e]=!1;if(Math.abs(g)>=this.options.intent.joystickCommitSensitivity){const e=g<0?"navigateUp":"navigateDown",i=this._axisIntents[t]?this.options.intent.defaultCooldownMs:this.options.intent.firstCooldownMs;this._axisIntents[t]=!0,this.options.navigation.enabled&&!throttle(this._throttleIdLeftStickY,i)&&setTimeout((()=>n.commit(e,this)))}else this._axisIntents[t]=!1}}GamepadDevice.defaultOptions={remapNintendoMode:"physical",namedGroups:{},navigation:{enabled:!0,binds:{[a.A]:"trigger",[a.B]:"navigateBack",[a.Back]:"navigateBack",[a.DPadDown]:"navigateDown",[a.DPadLeft]:"navigateLeft",[a.DPadRight]:"navigateRight",[a.DPadUp]:"navigateUp"}},intent:{joystickCommitSensitivity:.5,firstCooldownMs:400,defaultCooldownMs:80},vibration:{enabled:!0,intensity:1}};class GamepadJoystick{constructor(e,t,i){this._owner=e,this.ix=t,this.iy=i}get x(){return this._owner.source.axes[this.ix]}get y(){return this._owner.source.axes[this.iy]}}const d={AltLeft:"AltLeft",AltRight:"AltRight",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",ArrowUp:"ArrowUp",Backquote:"Backquote",Backslash:"Backslash",Backspace:"Backspace",BracketLeft:"BracketLeft",BracketRight:"BracketRight",CapsLock:"CapsLock",Comma:"Comma",ContextMenu:"ContextMenu",ControlLeft:"ControlLeft",ControlRight:"ControlRight",Delete:"Delete",Digit0:"Digit0",Digit1:"Digit1",Digit2:"Digit2",Digit3:"Digit3",Digit4:"Digit4",Digit5:"Digit5",Digit6:"Digit6",Digit7:"Digit7",Digit8:"Digit8",Digit9:"Digit9",End:"End",Enter:"Enter",Equal:"Equal",Escape:"Escape",F1:"F1",F10:"F10",F11:"F11",F12:"F12",F13:"F13",F14:"F14",F15:"F15",F16:"F16",F17:"F17",F18:"F18",F19:"F19",F2:"F2",F20:"F20",F21:"F21",F22:"F22",F23:"F23",F24:"F24",F25:"F25",F26:"F26",F27:"F27",F28:"F28",F29:"F29",F3:"F3",F30:"F30",F31:"F31",F32:"F32",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",Home:"Home",IntlBackslash:"IntlBackslash",IntlRo:"IntlRo",IntlYen:"IntlYen",KeyA:"KeyA",KeyB:"KeyB",KeyC:"KeyC",KeyD:"KeyD",KeyE:"KeyE",KeyF:"KeyF",KeyG:"KeyG",KeyH:"KeyH",KeyI:"KeyI",KeyJ:"KeyJ",KeyK:"KeyK",KeyL:"KeyL",KeyM:"KeyM",KeyN:"KeyN",KeyO:"KeyO",KeyP:"KeyP",KeyQ:"KeyQ",KeyR:"KeyR",KeyS:"KeyS",KeyT:"KeyT",KeyU:"KeyU",KeyV:"KeyV",KeyW:"KeyW",KeyX:"KeyX",KeyY:"KeyY",KeyZ:"KeyZ",Lang1:"Lang1",Lang2:"Lang2",MediaTrackNext:"MediaTrackNext",MediaTrackPrevious:"MediaTrackPrevious",MetaLeft:"MetaLeft",MetaRight:"MetaRight",Minus:"Minus",NumLock:"NumLock",Numpad0:"Numpad0",Numpad1:"Numpad1",Numpad2:"Numpad2",Numpad3:"Numpad3",Numpad4:"Numpad4",Numpad5:"Numpad5",Numpad6:"Numpad6",Numpad7:"Numpad7",Numpad8:"Numpad8",Numpad9:"Numpad9",NumpadAdd:"NumpadAdd",NumpadComma:"NumpadComma",NumpadDecimal:"NumpadDecimal",NumpadDivide:"NumpadDivide",NumpadMultiply:"NumpadMultiply",NumpadSubtract:"NumpadSubtract",OSLeft:"OSLeft",Pause:"Pause",Period:"Period",Quote:"Quote",ScrollLock:"ScrollLock",Semicolon:"Semicolon",ShiftLeft:"ShiftLeft",ShiftRight:"ShiftRight",Slash:"Slash",Space:"Space",Tab:"Tab",VolumeDown:"VolumeDown",VolumeMute:"VolumeMute",VolumeUp:"VolumeUp",WakeUp:"WakeUp"};function __awaiter(e,t,i,o){return new(i||(i=Promise))((function(a,s){function fulfilled(e){try{step(o.next(e))}catch(e){s(e)}}function rejected(e){try{step(o.throw(e))}catch(e){s(e)}}function step(e){e.done?a(e.value):function adopt(e){return e instanceof i?e:new i((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((o=o.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const u=["fr","mg","lu"],c=["ab","ba","be","bg","ch","kk","ky","mk","mn","ru","sr","tg","tt","uk","uz"],l=["de","cs","sk","sl","hu","hr","bs","ro","sq","me","lt","lv","et"],h=/ф|и|с|в|у|а|п|р|ш|о|л|д|ь|т|щ|з|й|к|ы|е|г|м|ц|ч|н|я|ё|х|ъ|б|ю|э|ж|и/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":c.includes(i)?"JCUKEN":l.includes(i)||t.startsWith("sr-latn")?"QWERTZ":"QWERTY"}const g=new Set(["AZERTY","JCUKEN","QWERTY","QWERTZ"]);let m;function getMetaKeyLabel(){var e,t,i,o;const a=navigator,s=null!==(t=null===(e=a.platform)||void 0===e?void 0:e.toLowerCase())&&void 0!==t?t:"",n=null!==(o=null===(i=a.userAgent)||void 0===i?void 0:i.toLowerCase())&&void 0!==o?o:"";return s.includes("mac")?"⌘":s.includes("win")||s.includes("linux")?"⊞":n.includes("android")?"Search":n.includes("iphone")||n.includes("ipad")?"⌘":"⊞"}class KeyboardDevice{constructor(){this.type="keyboard",this.id="keyboard",this.meta={},this.lastUpdated=performance.now(),this.detectLayoutOnKeypress=!0,this.detected=!1,this.options={namedGroups:{},navigation:{enabled:!0,binds:{Space:"trigger",Enter:"trigger",Escape:"navigateBack",Backspace:"navigateBack",ArrowDown:"navigateDown",ArrowLeft:"navigateLeft",ArrowRight:"navigateRight",ArrowUp:"navigateUp",KeyA:"navigateLeft",KeyD:"navigateRight",KeyS:"navigateDown",KeyW:"navigateUp"}}},this.key=Object.keys(d).reduce(((e,t)=>(e[t]=!1,e)),{}),this._emitter=new EventEmitter,this._groupEmitter=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(),i=t.get("KeyQ"),o=t.get("KeyA"),a=t.get("KeyZ");if("a"===i&&"w"===a&&"q"===o)return"AZERTY";if("q"===i&&"y"===a&&"a"===o)return"QWERTZ";if("q"===i&&"z"===a&&"a"===o)return"QWERTY";if("й"===i&&"я"===a&&"ф"===o)return"JCUKEN"}catch(e){console.error("Error detecting keyboard layout:",e)}}))}().then((e=>{void 0!==e&&(this._layoutSource="browser",this._layout=e,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}get layoutSource(){return this._layoutSource}groupPressed(e){return void 0!==this.options.namedGroups[e]&&this.anyPressed(this.options.namedGroups[e])}anyPressed(e){for(let t=0;t<e.length;t++)if(this.key[e[t]])return!0;return!1}allPressed(e){for(let t=0;t<e.length;t++)if(!this.key[e[t]])return!1;return!0}on(e,t){return this._emitter.on(e,t),this}off(e,t){return this._emitter.off(e,t),this}onGroup(e,t){return this._groupEmitter.on(e,t),this}offGroup(e,t){return this._groupEmitter.off(e,t),this}keyLabel(e,t=this._layout){return function getLayoutLabel(e,t){if(void 0===m){const e={ArrowLeft:"←",ArrowRight:"→",ArrowUp:"↑",ArrowDown:"↓",AltLeft:"Left Alt",AltRight:"Right Alt",Backquote:"`",Backslash:"\\",Backspace:"Backspace",BracketLeft:"[",BracketRight:"]",CapsLock:"Caps Lock",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:"Mute",VolumeUp:"Volume Up",WakeUp:"Wake Up"},t=Object.assign(Object.assign({},e),{KeyA:"Q",KeyQ:"A",KeyW:"Z",KeyZ:"W",Backquote:"²",BracketLeft:"«",BracketRight:"»"}),i=Object.assign(Object.assign({},e),{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:"И"}),o=Object.assign(Object.assign({},e),{KeyY:"Z",KeyZ:"Y",BracketLeft:"ü",BracketRight:"ö",Slash:"-"});m={AZERTY:t,JCUKEN:i,QWERTY:e,QWERTZ:o}}return m[t][e]}(e,t)}update(e){this._deferredKeydown.length>0&&(this._deferredKeydown.forEach((e=>this._processDeferredKeydownEvent(e))),this._deferredKeydown.length=0),this.lastUpdated=e}clear(){for(const e of Object.keys(d))this.key[e]=!1}_configureEventListeners(){const e=this.key,t=this._deferredKeydown;window.addEventListener("keydown",(e=>t.push(e)),{passive:!0,capture:!0}),window.addEventListener("keyup",(t=>e[t.code]=!1),{passive:!0,capture:!0})}_processDeferredKeydownEvent(e){const t=e.code;if(this.key[t]=!0,this.detectLayoutOnKeypress&&"lang"===this._layoutSource){const t=function detectKeyboardLayoutFromKeydown(e){const t=e.key.toLowerCase(),i=e.code;return h.test(t)?(g.delete("AZERTY"),g.delete("QWERTY"),g.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?(g.delete("JCUKEN"),g.delete("QWERTY"),g.delete("QWERTZ")):"BracketLeft"===i&&"ü"===t||"BracketRight"===i&&"ö"===t||"KeyY"===i&&"z"===t||"KeyZ"===i&&"y"===t||"Slash"===i&&"-"===t?(g.delete("AZERTY"),g.delete("JCUKEN"),g.delete("QWERTY")):"BracketLeft"===i&&"["===t||"BracketRight"===i&&"]"===t||"KeyZ"===i&&"z"===t?(g.delete("AZERTY"),g.delete("JCUKEN"),g.delete("QWERTZ")):"KeyQ"===i&&"q"===t||"KeyW"===i&&"w"===t?(g.delete("AZERTY"),g.delete("JCUKEN")):"KeyY"===i&&"Y"===t?(g.delete("QWERTZ"),g.delete("JCUKEN")):p.test(t)&&g.delete("JCUKEN"),1===g.size?[...g][0]:void 0}(e);void 0!==t&&(this._layout=t,this._layoutSource="keypress",this.detectLayoutOnKeypress=!1,this._emitter.emit("layoutdetected",{layout:t,layoutSource:"keypress",device:this}))}this._emitter.hasListener(t)&&setTimeout((()=>this._emitter.emit(t,{device:this,keyCode:t,keyLabel:this.keyLabel(t),event:e}))),n.options.enabled&&this.options.navigation.enabled&&void 0!==this.options.navigation.binds[t]&&setTimeout((()=>n.commit(this.options.navigation.binds[t],this))),Object.entries(this.options.namedGroups).forEach((([i,o])=>{o.includes(t)&&setTimeout((()=>{const o={device:this,keyCode:t,keyLabel:this.keyLabel(t),event:e,groupName:i};this._groupEmitter.emit(i,o),this._emitter.emit("group",o)}))}))}}KeyboardDevice.global=new KeyboardDevice;class InputDeviceManager{constructor(){this._emitter=new EventEmitter,this.isMobile=(()=>{let e=!1;var t;return t=navigator.userAgent||navigator.vendor,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0),e})(),this.isTouchCapable=function isTouchCapable(){return"ontouchstart"in window||navigator.maxTouchPoints>0}(),this.hasFocus=!1,this.options={clearInputInBackground:!0},this._gamepadDevices=[],this._gamepadDeviceMap=new Map,this._customDevices=[],this._groupEmitter=new EventEmitter,this._devices=[];const registerKeyboard=()=>{this.add(this.keyboard)};this.keyboard=KeyboardDevice.global,this.isTouchCapable||this.isMobile?window.addEventListener("keydown",registerKeyboard,{once:!0}):registerKeyboard(),window.addEventListener("gamepadconnected",(()=>this.pollGamepads(performance.now()))),window.addEventListener("gamepaddisconnected",(e=>this.removeGamepad(e.gamepad.index)))}get gamepads(){return this._gamepadDevices}get devices(){return this._devices}on(e,t){return this._emitter.on(e,t),this}off(e,t){return this._emitter.off(e,t),this}onGroup(e,t){return this._groupEmitter.on(e,t),this}offGroup(e,t){return this._groupEmitter.off(e,t),this}add(e){this._devices.push(e),e instanceof KeyboardDevice?(e.detected=!0,e.on("group",(e=>this._groupEmitter.emit(e.groupName,e)))):e instanceof GamepadDevice?(this._gamepadDeviceMap.set(e.source.index,e),this._gamepadDevices.push(e),e.on("group",(e=>this._groupEmitter.emit(e.groupName,e)))):e instanceof CustomDevice&&this._customDevices.push(e),this._emitter.emit("deviceadded",{device:e})}remove(e){if(e instanceof CustomDevice){const t=this._customDevices.indexOf(e);-1!==t&&this._devices.splice(t,1)}const t=this._devices.indexOf(e);-1!==t&&(this._devices.splice(t,1),this._emitter.emit("deviceremoved",{device:e}))}update(){if(!document.hasFocus())return this.hasFocus&&this.options.clearInputInBackground&&this.devices.forEach((e=>e.clear())),this.hasFocus=!1,this._devices;this.hasFocus=!0;const e=performance.now();return this.keyboard.update(e),this.pollGamepads(e),this._customDevices.length>0&&this._customDevices.forEach((t=>t.update(e))),this._devices}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;exports.Button=a,exports.CustomDevice=CustomDevice,exports.GamepadDevice=GamepadDevice,exports.InputDevice=v,exports.KeyCode=d,exports.KeyboardDevice=KeyboardDevice,exports.Navigation=n,exports.getAllNavigatables=getAllNavigatables,exports.getFirstNavigatable=getFirstNavigatable,exports.registerPixiJSInputDeviceMixin=function registerPixiJSInputDeviceMixin(e){const t=e.prototype;t.navigationPriority=0,t.navigationMode="auto",Object.defineProperty(t,"isNavigatable",{get:function(){if("auto"===this.navigationMode){if(!this.isInteractive)return!1;const e=this.eventNames();return e.includes("pointerdown")||e.includes("mousedown")}return"target"===this.navigationMode},configurable:!0,enumerable:!1})};
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/lib/devices/gamepads/buttons.ts","../src/lib/navigation/Navigatable.ts","../src/lib/navigation/Navigation.ts","../src/lib/utils/throttle.ts","../src/lib/utils/events.ts","../src/lib/devices/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/KeyboardDevice.ts","../src/lib/InputDevice.ts","../src/lib/utils/detectors.ts","../src/lib/devices/CustomDevice.ts","../src/Container.mixin.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,"/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n",null,null,null,null,null,null],"names":["Axis","Button","A","B","X","Y","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStick","RightStick","DPadUp","DPadDown","DPadLeft","DPadRight","ButtonCode","getAllNavigatables","target","navigatables","child","children","isNavigatable","push","getFirstNavigatable","root","currentFocus","nearestDirection","minimumDistance","chooseFirstNavigatableInDirection","elements","filter","el","parent","isVisible","visible","focusedElement","find","undefined","sort","a","b","navigationPriority","fallbackElement","Math","floor","random","length","_a","focusedBounds","getBounds","focusedCenter","x","left","width","y","top","height","otherElements","map","bounds","center","element","distSqrd","squaredDist","_c","_b","_e","_d","_g","_f","_j","_h","dx","dy","NavigationManager","constructor","this","options","enabled","useFallbackHoverEffect","_responderStack","firstResponder","responders","commit","intent","device","_propagateIntent","popResponder","responder","shift","becameFirstResponder","resignedAsFirstResponder","pushResponder","includes","Error","previousResponder","unshift","call","handledNavigationIntent","stage","console","warn","_handleGlobalIntent","_focused","navigatable","debug","_emitFocus","_emitBlur","_emitTrigger","nextTarget","eventNames","emit","navigationMode","alpha","global","Navigation","_cooldowns","Map","throttle","id","cooldownMs","now","Date","get","set","EventEmitter","l","hasListener","e","payload","forEach","fn","on","event","off","GamepadDevice","leftTrigger","source","buttons","value","rightTrigger","leftShoulder","rightShoulder","groupPressed","name","namedGroups","anyPressed","btns","i","button","allPressed","listener","_emitter","playVibration","duration","weakMagnitude","strongMagnitude","vibrationType","startDelay","vibration","vibrationActuator","playEffect","error","update","lastUpdated","updatePresses","clear","_axisIntents","_btnPrevState","type","meta","performance","lastActive","JSON","parse","stringify","defaultOptions","Object","keys","reduce","obj","key","Array","index","layout","detectLayout","gamepad","toLowerCase","test","leftJoystick","GamepadJoystick","rightJoystick","_throttleIdLeftStickX","_throttleIdLeftStickY","buttonCount","remapNintendoMode","pressed","isPressed","buttonCode","setTimeout","navigation","binds","leftStickX","axes","leftStickY","abs","joystickCommitSensitivity","xIntent","cooldownDuration","defaultCooldownMs","firstCooldownMs","yIntent","intensity","_owner","ix","iy","KeyCode","AltLeft","AltRight","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Backquote","Backslash","Backspace","BracketLeft","BracketRight","CapsLock","Comma","ContextMenu","ControlLeft","ControlRight","Delete","Digit0","Digit1","Digit2","Digit3","Digit4","Digit5","Digit6","Digit7","Digit8","Digit9","End","Enter","Equal","Escape","F1","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F2","F20","F21","F22","F23","F24","F25","F26","F27","F28","F29","F3","F30","F31","F32","F4","F5","F6","F7","F8","F9","Home","IntlBackslash","IntlRo","IntlYen","KeyA","KeyB","KeyC","KeyD","KeyE","KeyF","KeyG","KeyH","KeyI","KeyJ","KeyK","KeyL","KeyM","KeyN","KeyO","KeyP","KeyQ","KeyR","KeyS","KeyT","KeyU","KeyV","KeyW","KeyX","KeyY","KeyZ","Lang1","Lang2","MediaTrackNext","MediaTrackPrevious","MetaLeft","MetaRight","Minus","NumLock","Numpad0","Numpad1","Numpad2","Numpad3","Numpad4","Numpad5","Numpad6","Numpad7","Numpad8","Numpad9","NumpadAdd","NumpadComma","NumpadDecimal","NumpadDivide","NumpadMultiply","NumpadSubtract","OSLeft","Pause","Period","Quote","ScrollLock","Semicolon","ShiftLeft","ShiftRight","Slash","Space","Tab","VolumeDown","VolumeMute","VolumeUp","WakeUp","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","result","done","adopt","then","apply","SuppressedError","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","_labels","getMetaKeyLabel","platform","userAgent","KeyboardDevice","detectLayoutOnKeypress","detected","preventDefaultKeys","_layout","_layoutSource","requestKeyboardLayout","keyboard","getLayoutMap","layoutMap","q","z","err","layoutSource","_configureEventListeners","keyLabel","getLayoutLabel","QWERTY_LABELS","AZERTY_LABELS","assign","JCUKEN_LABELS","QWERTZ_LABELS","AZERTY","JCUKEN","QWERTY","QWERTZ","document","addEventListener","keyCode","code","has","preventDefault","detectKeyboardLayoutFromKeydown","delete","size","InputDeviceManager","gamepads","_gamepadDevices","devices","_devices","isMobile","check","vendor","substr","isTouchCapable","window","maxTouchPoints","hasFocus","clearInputInBackground","_gamepadDeviceMap","registerKeyboard","removeEventListener","pollGamepads","removeGamepad","add","remove","devicesIndex","indexOf","splice","getGamepads","raw","gamepadIndex","gamepadsIndex","InputDevice","CustomDevice","registerPixiJSInputDeviceMixin","container","prototype","defineProperty","isInteractive","onEvents","configurable","enumerable"],"mappings":"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","x_google_ignoreList":[8]}
1
+ {"version":3,"file":"index.cjs","sources":["../src/lib/devices/CustomDevice.ts","../src/lib/devices/gamepads/buttons.ts","../src/lib/navigation/Navigatable.ts","../src/lib/navigation/Navigation.ts","../src/lib/utils/throttle.ts","../src/lib/utils/events.ts","../src/lib/devices/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/KeyboardDevice.ts","../src/lib/InputDevice.ts","../src/lib/utils/detectors.ts","../src/Container.mixin.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,"/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n",null,null,null,null,null],"names":["CustomDevice","constructor","id","this","type","meta","lastUpdated","performance","now","clear","Axis","Button","A","B","X","Y","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStick","RightStick","DPadUp","DPadDown","DPadLeft","DPadRight","ButtonCode","getAllNavigatables","target","navigatables","child","children","isNavigatable","push","getFirstNavigatable","root","currentFocus","nearestDirection","minimumDistance","chooseFirstNavigatableInDirection","elements","filter","el","parent","isVisible","visible","focusedElement","find","undefined","sort","a","b","navigationPriority","fallbackElement","Math","floor","random","length","_a","focusedBounds","getBounds","focusedCenter","x","left","width","y","top","height","otherElements","map","bounds","center","element","distSqrd","squaredDist","_c","_b","_e","_d","_g","_f","_j","_h","dx","dy","NavigationManager","options","enabled","useFallbackHoverEffect","_responderStack","firstResponder","responders","commit","intent","device","_propagateIntent","popResponder","responder","shift","becameFirstResponder","resignedAsFirstResponder","pushResponder","includes","Error","previousResponder","unshift","call","handledNavigationIntent","stage","console","warn","_handleGlobalIntent","_focused","navigatable","debug","_emitFocus","_emitBlur","_emitTrigger","nextTarget","eventNames","emit","navigationMode","alpha","global","Navigation","_cooldowns","Map","throttle","cooldownMs","Date","get","set","EventEmitter","l","hasListener","e","payload","forEach","fn","on","event","off","GamepadDevice","leftTrigger","source","buttons","value","rightTrigger","leftShoulder","rightShoulder","groupPressed","name","namedGroups","anyPressed","btns","i","button","allPressed","listener","_emitter","onGroup","_groupEmitter","offGroup","playVibration","duration","weakMagnitude","strongMagnitude","vibrationType","startDelay","vibration","vibrationActuator","playEffect","error","update","updatePresses","_axisIntents","_btnPrevState","lastActive","JSON","parse","stringify","defaultOptions","Object","keys","reduce","obj","key","Array","index","layout","detectLayout","gamepad","toLowerCase","test","leftJoystick","GamepadJoystick","rightJoystick","_throttleIdLeftStickX","_throttleIdLeftStickY","buttonCount","remapNintendoMode","pressed","isPressed","buttonCode","setTimeout","navigation","binds","entries","groupName","leftStickX","axes","leftStickY","abs","joystickCommitSensitivity","xIntent","cooldownDuration","defaultCooldownMs","firstCooldownMs","yIntent","intensity","_owner","ix","iy","KeyCode","AltLeft","AltRight","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Backquote","Backslash","Backspace","BracketLeft","BracketRight","CapsLock","Comma","ContextMenu","ControlLeft","ControlRight","Delete","Digit0","Digit1","Digit2","Digit3","Digit4","Digit5","Digit6","Digit7","Digit8","Digit9","End","Enter","Equal","Escape","F1","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F2","F20","F21","F22","F23","F24","F25","F26","F27","F28","F29","F3","F30","F31","F32","F4","F5","F6","F7","F8","F9","Home","IntlBackslash","IntlRo","IntlYen","KeyA","KeyB","KeyC","KeyD","KeyE","KeyF","KeyG","KeyH","KeyI","KeyJ","KeyK","KeyL","KeyM","KeyN","KeyO","KeyP","KeyQ","KeyR","KeyS","KeyT","KeyU","KeyV","KeyW","KeyX","KeyY","KeyZ","Lang1","Lang2","MediaTrackNext","MediaTrackPrevious","MetaLeft","MetaRight","Minus","NumLock","Numpad0","Numpad1","Numpad2","Numpad3","Numpad4","Numpad5","Numpad6","Numpad7","Numpad8","Numpad9","NumpadAdd","NumpadComma","NumpadDecimal","NumpadDivide","NumpadMultiply","NumpadSubtract","OSLeft","Pause","Period","Quote","ScrollLock","Semicolon","ShiftLeft","ShiftRight","Slash","Space","Tab","VolumeDown","VolumeMute","VolumeUp","WakeUp","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","result","done","adopt","then","apply","SuppressedError","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","_labels","getMetaKeyLabel","platform","userAgent","KeyboardDevice","detectLayoutOnKeypress","detected","_deferredKeydown","_layout","_layoutSource","requestKeyboardLayout","keyboard","getLayoutMap","layoutMap","q","z","err","layoutSource","_configureEventListeners","keyLabel","getLayoutLabel","QWERTY_LABELS","AZERTY_LABELS","assign","JCUKEN_LABELS","QWERTZ_LABELS","AZERTY","JCUKEN","QWERTY","QWERTZ","_processDeferredKeydownEvent","k","d","window","addEventListener","passive","capture","code","keyCode","detectKeyboardLayoutFromKeydown","delete","size","InputDeviceManager","isMobile","check","vendor","substr","isTouchCapable","maxTouchPoints","hasFocus","clearInputInBackground","_gamepadDevices","_gamepadDeviceMap","_customDevices","_devices","registerKeyboard","add","once","pollGamepads","removeGamepad","gamepads","devices","remove","customIndex","indexOf","splice","devicesIndex","document","custom","getGamepads","has","gamepadIndex","gamepadsIndex","InputDevice","registerPixiJSInputDeviceMixin","container","prototype","defineProperty","isInteractive","onEvents","configurable","enumerable"],"mappings":"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","x_google_ignoreList":[9]}
package/dist/index.d.ts CHANGED
@@ -52,11 +52,16 @@ declare class InputDeviceManager {
52
52
  readonly isMobile: boolean;
53
53
  /** Whether a touchscreen is available */
54
54
  readonly isTouchCapable: boolean;
55
- /** Add an event listener */
56
- on<K extends keyof InputDeviceEvent>(event: K, listener: (event: InputDeviceEvent[K]) => void): this;
57
- /** Remove an event listener (or all if none provided) */
58
- off<K extends keyof InputDeviceEvent>(event: K, listener: (event: InputDeviceEvent[K]) => void): this;
59
55
  private hasFocus;
56
+ options: {
57
+ clearInputInBackground: boolean;
58
+ };
59
+ private readonly _devices;
60
+ private readonly _gamepadDevices;
61
+ private readonly _gamepadDeviceMap;
62
+ private readonly _customDevices;
63
+ private readonly _groupEmitter;
64
+ private constructor();
60
65
  /**
61
66
  * Connected gamepads accessible by index.
62
67
  *
@@ -69,21 +74,22 @@ declare class InputDeviceManager {
69
74
  * Keep in mind these inputs may only be up-to-date from the last update().
70
75
  */
71
76
  get devices(): readonly Device[];
72
- options: {
73
- clearInputInBackground: boolean;
74
- };
75
- private _devices;
76
- private _gamepadDevices;
77
- private _gamepadDeviceMap;
78
- private constructor();
77
+ /** Add an event listener */
78
+ on<K extends keyof InputDeviceEvent>(event: K, listener: (event: InputDeviceEvent[K]) => void): this;
79
+ /** Remove an event listener (or all if none provided) */
80
+ off<K extends keyof InputDeviceEvent>(event: K, listener: (event: InputDeviceEvent[K]) => void): this;
81
+ /** Add a named group event listener (or all if none provided). */
82
+ onGroup(name: string, listener: (event: NamedGroupEvent) => void): this;
83
+ /** Remove a named group event listener (or all if none provided). */
84
+ offGroup(name: string, listener?: (event: NamedGroupEvent) => void): this;
85
+ /** Add a custom device. */
86
+ add(device: Device): void;
87
+ /** Remove a custom device. */
88
+ remove(device: Device): void;
79
89
  /**
80
90
  * Performs a poll of latest input from all devices
81
91
  */
82
92
  update(): ReadonlyArray<Device>;
83
- /** Add a custom device. */
84
- add(device: CustomDevice): void;
85
- /** Remove a custom device. */
86
- remove(device: Device): void;
87
93
  /**
88
94
  * @returns updates connected gamepads, performing a poll of latest input
89
95
  */
@@ -263,6 +269,7 @@ export declare class GamepadDevice {
263
269
  private readonly _throttleIdLeftStickX;
264
270
  private readonly _throttleIdLeftStickY;
265
271
  private readonly _emitter;
272
+ private readonly _groupEmitter;
266
273
  /** A scalar 0.0 to 1.0 representing the trigger pull */
267
274
  get leftTrigger(): number;
268
275
  /** A scalar 0.0 to 1.0 representing the trigger pull */
@@ -281,6 +288,10 @@ export declare class GamepadDevice {
281
288
  on<K extends keyof GamepadDeviceEvent>(event: K, listener: (event: GamepadDeviceEvent[K]) => void): this;
282
289
  /** Remove an event listener (or all if none provided). */
283
290
  off<K extends keyof GamepadDeviceEvent>(event: K, listener?: (event: GamepadDeviceEvent[K]) => void): this;
291
+ /** Add a named group event listener (or all if none provided). */
292
+ onGroup(name: string, listener: (event: GamepadNamedGroupButtonPressEvent) => void): this;
293
+ /** Remove a named group event listener (or all if none provided). */
294
+ offGroup(name: string, listener?: (event: GamepadNamedGroupButtonPressEvent) => void): this;
284
295
  /**
285
296
  * Play a vibration effect (if supported).
286
297
  *
@@ -313,14 +324,7 @@ export declare class KeyboardDevice {
313
324
  * Keyboard has been detected.
314
325
  */
315
326
  detected: boolean;
316
- private _layout;
317
- private _layoutSource;
318
- private _emitter;
319
327
  options: {
320
- /**
321
- * Keys to prevent default event propagation for.
322
- */
323
- preventDefaultKeys: Set<KeyCode>;
324
328
  /**
325
329
  * Create named groups of buttons.
326
330
  *
@@ -349,6 +353,11 @@ export declare class KeyboardDevice {
349
353
  };
350
354
  /** Accessors for keys */
351
355
  key: Record<KeyCode, boolean>;
356
+ private readonly _emitter;
357
+ private readonly _groupEmitter;
358
+ private _layout;
359
+ private _layoutSource;
360
+ private _deferredKeydown;
352
361
  private constructor();
353
362
  /**
354
363
  * Keyboard Layout
@@ -382,6 +391,10 @@ export declare class KeyboardDevice {
382
391
  on<K extends keyof KeyboardDeviceEvent>(event: K, listener: (event: KeyboardDeviceEvent[K]) => void): this;
383
392
  /** Remove an event listener (or all if none provided). */
384
393
  off<K extends keyof KeyboardDeviceEvent>(event: K, listener: (event: KeyboardDeviceEvent[K]) => void): this;
394
+ /** Add a named group event listener (or all if none provided). */
395
+ onGroup(name: string, listener: (event: KeyboardDeviceNamedGroupKeydownEvent) => void): this;
396
+ /** Remove a named group event listener (or all if none provided). */
397
+ offGroup(name: string, listener?: (event: KeyboardDeviceNamedGroupKeydownEvent) => void): this;
385
398
  /**
386
399
  * Get the label for the given key code in the current keyboard layout.
387
400
  *
@@ -393,11 +406,18 @@ export declare class KeyboardDevice {
393
406
  * keyboard.localeLabel( "KeyQ" ) // "Й"
394
407
  */
395
408
  keyLabel(key: KeyCode, layout?: KeyboardLayout): string;
409
+ /**
410
+ * Process pending keyboard events.
411
+ *
412
+ * @returns any group events to trigger
413
+ */
414
+ update(now: number): void;
396
415
  /**
397
416
  * Clear all keyboard keys.
398
417
  */
399
418
  clear(): void;
400
419
  private _configureEventListeners;
420
+ private _processDeferredKeydownEvent;
401
421
  }
402
422
  export declare const Button: {
403
423
  /** A Button (Xbox / Nintendo: "A", PlayStation: "Cross") */
@@ -595,6 +615,9 @@ export interface GamepadButtonPressEvent {
595
615
  button: Button;
596
616
  buttonCode: ButtonCode;
597
617
  }
618
+ export interface GamepadNamedGroupButtonPressEvent extends GamepadButtonPressEvent {
619
+ groupName: string;
620
+ }
598
621
  export interface InputDeviceEvent {
599
622
  deviceadded: {
600
623
  device: Device;
@@ -615,6 +638,9 @@ export interface KeyboardDeviceLayoutUpdatedEvent {
615
638
  layout: KeyboardLayout;
616
639
  layoutSource: KeyboardLayoutSource;
617
640
  }
641
+ export interface KeyboardDeviceNamedGroupKeydownEvent extends KeyboardDeviceKeydownEvent {
642
+ groupName: string;
643
+ }
618
644
  /**
619
645
  * A target that responds to navigation on the stack.
620
646
  */
@@ -645,7 +671,9 @@ export type Button = (typeof Button)[keyof typeof Button];
645
671
  export type ButtonCode = typeof ButtonCode[number];
646
672
  export type Device = GamepadDevice | KeyboardDevice | CustomDevice;
647
673
  export type GamepadButtonDownEvent = (gamepad: GamepadDevice, button: Button) => void;
648
- export type GamepadDeviceEvent = {} & {
674
+ export type GamepadDeviceEvent = {
675
+ group: GamepadNamedGroupButtonPressEvent;
676
+ } & {
649
677
  [button in ButtonCode]: GamepadButtonPressEvent;
650
678
  } & {
651
679
  [button in Button]: GamepadButtonPressEvent;
@@ -659,11 +687,16 @@ export type GamepadVibration = GamepadEffectParameters & {
659
687
  export type KeyCode = (typeof KeyCode)[keyof typeof KeyCode];
660
688
  export type KeyboardDeviceEvent = {
661
689
  layoutdetected: KeyboardDeviceLayoutUpdatedEvent;
690
+ group: KeyboardDeviceNamedGroupKeydownEvent;
662
691
  } & {
663
692
  [key in KeyCode]: KeyboardDeviceKeydownEvent;
664
693
  };
665
694
  export type KeyboardLayout = "QWERTY" | "AZERTY" | "JCUKEN" | "QWERTZ";
666
695
  export type KeyboardLayoutSource = "browser" | "lang" | "keypress" | "manual";
696
+ export type NamedGroupEvent = {
697
+ device: Device;
698
+ groupName: string;
699
+ };
667
700
  export type NavigatableContainer = Container;
668
701
  export type NavigationBinds = Partial<Record<KeyCode, NavigationIntent>>;
669
702
  export type NavigationDirection = "navigateLeft" | "navigateRight" | "navigateUp" | "navigateDown";
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- class CustomDevice{constructor(e){this.type="custom",this.meta={},this.lastUpdated=performance.now(),this.id=e}clear(){}}const e=0,t=1,i=2,a=3,o={A:0,B:1,X:2,Y:3,LeftShoulder:4,RightShoulder:5,LeftTrigger:6,RightTrigger:7,Back:8,Start:9,LeftStick:10,RightStick:11,DPadUp:12,DPadDown:13,DPadLeft:14,DPadRight:15},n=["A","B","X","Y","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStick","RightStick","DPadUp","DPadDown","DPadLeft","DPadRight"];function getAllNavigatables(e,t=[]){for(const i of e.children)i.isNavigatable?t.push(i):getAllNavigatables(i,t);return t}function getFirstNavigatable(e,t,i,{minimumDistance:a=3}={}){return function chooseFirstNavigatableInDirection(e,t,i,{minimumDistance:a=3}={}){var o,n,s,r,d,u,l,c,h;const g=e.filter((e=>e.isNavigatable&&null!=e.parent&&function isVisible(e){for(;null!=e;){if(!e.visible)return!1;e=e.parent}return!0}(e))),p=g.find((e=>e===t));if(void 0===p)return g.sort(((e,t)=>e.navigationPriority-t.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!==(o=e[0])&&void 0!==o?o:m;const v=p.getBounds(),y={x:v.left+v.width/2,y:v.top+v.height/2},f=g.filter((e=>e!==p)).map((e=>{const t=e.getBounds(),i={x:t.left+t.width/2,y:t.top+t.height/2};return{element:e,bounds:t,center:i,distSqrd:squaredDist(i,y)}}));switch(i){case"navigateUp":return null!==(s=null===(n=f.filter((e=>e.center.y<y.y-a)).sort(((e,t)=>e.distSqrd-t.distSqrd))[0])||void 0===n?void 0:n.element)&&void 0!==s?s:m;case"navigateLeft":return null!==(d=null===(r=f.filter((e=>e.center.x<y.x-a)).sort(((e,t)=>e.distSqrd-t.distSqrd))[0])||void 0===r?void 0:r.element)&&void 0!==d?d:m;case"navigateRight":return null!==(l=null===(u=f.filter((e=>e.center.x>y.x+a)).sort(((e,t)=>e.distSqrd-t.distSqrd))[0])||void 0===u?void 0:u.element)&&void 0!==l?l:m;case"navigateDown":return null!==(h=null===(c=f.filter((e=>e.center.y>y.y+a)).sort(((e,t)=>e.distSqrd-t.distSqrd))[0])||void 0===c?void 0:c.element)&&void 0!==h?h:m;default:return p}}(getAllNavigatables(e),t,i,{minimumDistance:a})}function squaredDist(e,t){const i=t.x-e.x,a=t.y-e.y;return i*i+a*a}class NavigationManager{constructor(){this.options={enabled:!0,useFallbackHoverEffect:!0},this._responderStack=[]}get firstResponder(){return this._responderStack[0]}get responders(){return this._responderStack}commit(e,t){this.options.enabled&&this._propagateIntent(e,t)}popResponder(){var e,t,i;const a=this._responderStack.shift();return null===(t=null===(e=this.firstResponder)||void 0===e?void 0:e.becameFirstResponder)||void 0===t||t.call(e),null===(i=null==a?void 0:a.resignedAsFirstResponder)||void 0===i||i.call(a),a}pushResponder(e){var t,i;if(this._responderStack.includes(e))throw new Error("Responder already in stack.");const a=this.firstResponder;this._responderStack.unshift(e),null===(t=e.becameFirstResponder)||void 0===t||t.call(e),null===(i=null==a?void 0:a.resignedAsFirstResponder)||void 0===i||i.call(a)}_propagateIntent(e,t){var i;for(const a of this._responderStack)if(null===(i=a.handledNavigationIntent)||void 0===i?void 0:i.call(a,e,t))return;void 0===this.stage?console.warn("navigation: no stage root set"):this._handleGlobalIntent(this.stage,e)}_handleGlobalIntent(e,t){var i;if(void 0===this._focused){const i=getFirstNavigatable(e);return void 0===i?void console.debug("navigation: no navigatable views found",t):(this._emitFocus(i),void(this._focused=i))}if("navigateBack"===t)return this._emitBlur(this._focused),void(this._focused=void 0);if("trigger"===t)return void this._emitTrigger(this._focused);const a=null!==(i=getFirstNavigatable(this.stage,this._focused,t))&&void 0!==i?i:this._focused;a!==this._focused&&(this._emitBlur(this._focused),this._emitFocus(a),this._focused=a)}_emitBlur(e){const t=e.eventNames();t.includes("pointerout")?e.emit("pointerout"):t.includes("mouseout")?e.emit("mouseout"):"auto"===e.navigationMode&&this.options.useFallbackHoverEffect&&(e.alpha=1),e.emit("blur")}_emitFocus(e){const t=e.eventNames();t.includes("pointerover")?e.emit("pointerover"):t.includes("mouseover")?e.emit("mouseover"):"auto"===e.navigationMode&&this.options.useFallbackHoverEffect&&(e.alpha=.5),e.emit("focus")}_emitTrigger(e){const t=e.eventNames();t.includes("pointerdown")?e.emit("pointerdown"):t.includes("mousedown")?e.emit("mousedown"):"auto"===e.navigationMode&&this.options.useFallbackHoverEffect&&(e.alpha=.75),e.emit("trigger")}}NavigationManager.global=new NavigationManager;const s=NavigationManager.global;let r=new Map;function throttle(e,t){var i;const a=Date.now();return(null!==(i=r.get(e))&&void 0!==i?i:0)>a||(r.set(e,a+t),!1)}class EventEmitter{constructor(){this.l={}}hasListener(e){return void 0!==this.l[e]}emit(e,t){var i;null===(i=this.l[e])||void 0===i||i.forEach((e=>e(t)))}on(e,t){var i;this.l[e]||(this.l[e]=[]),null===(i=this.l[e])||void 0===i||i.push(t)}off(e,t){var i,a;this.l[e]=void 0===t||null===(i=this.l[e])||void 0===i?void 0:i.filter((e=>e!==t)),0===(null===(a=this.l[e])||void 0===a?void 0:a.length)&&(this.l[e]=void 0)}}class GamepadDevice{get leftTrigger(){return this.source.buttons[o.LeftTrigger].value}get rightTrigger(){return this.source.buttons[o.RightTrigger].value}get leftShoulder(){return this.source.buttons[o.LeftShoulder].value}get rightShoulder(){return this.source.buttons[o.RightShoulder].value}groupPressed(e){return void 0!==this.options.namedGroups[e]&&this.anyPressed(this.options.namedGroups[e])}anyPressed(e){for(let t=0;t<e.length;t++)if(this.button[e[t]])return!0;return!1}allPressed(e){for(let t=0;t<e.length;t++)if(!this.button[e[t]])return!1;return!0}on(e,t){const i="number"==typeof e?n[e]:e;return this._emitter.on(i,t),this}off(e,t){const i="number"==typeof e?n[e]:e;return this._emitter.off(i,t),this}playVibration({duration:e=200,weakMagnitude:t=.5,strongMagnitude:i=.5,vibrationType:a="dual-rumble",rightTrigger:o=0,leftTrigger:n=0,startDelay:s=0}={}){if(this.options.vibration.enabled&&this.source.vibrationActuator)try{this.source.vibrationActuator.playEffect(a,{duration:e,startDelay:s,weakMagnitude:t,strongMagnitude:i,leftTrigger:n,rightTrigger:o})}catch(e){console.warn("gamepad vibrationActuator failed with error:",e)}}update(e,t){this.lastUpdated=t,this.updatePresses(e,t),this.source=e}clear(){this._axisIntents=this._axisIntents.map((()=>!1)),this._btnPrevState=this._btnPrevState.map((()=>!1))}constructor(n){this.source=n,this.type="gamepad",this.meta={},this.lastUpdated=performance.now(),this.lastActive=performance.now(),this.options=JSON.parse(JSON.stringify(GamepadDevice.defaultOptions)),this.button=Object.keys(o).reduce(((e,t)=>(e[t]=!1,e)),{}),this._btnPrevState=new Array(16),this._axisIntents=new Array(2),this._emitter=new EventEmitter,this.id="gamepad"+n.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":"generic"}(n),this.leftJoystick=new GamepadJoystick(this,e,t),this.rightJoystick=new GamepadJoystick(this,i,a),this._throttleIdLeftStickX=this.id+"-lsx",this._throttleIdLeftStickY=this.id+"-lsy"}updatePresses(i,a){var r,d,u,l,c;const h=this._btnPrevState.length;for(let e=0;e<h;e++){let t=e;if("nintendo"===this.layout&&"none"!==this.options.remapNintendoMode&&("physical"===this.options.remapNintendoMode?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)),this._btnPrevState[t]===(null===(r=i.buttons[e])||void 0===r?void 0:r.pressed))continue;this.lastActive=a;const l=null!==(u=null===(d=i.buttons[e])||void 0===d?void 0:d.pressed)&&void 0!==u&&u,c=n[t];this._btnPrevState[t]=l,this.button[c]=l,l&&(this._emitter.hasListener(c)?setTimeout((()=>this._emitter.emit(c,{device:this,button:t,buttonCode:c}))):this.options.navigation.enabled&&void 0!==this.options.navigation.binds[t]&&setTimeout((()=>s.commit(this.options.navigation.binds[t],this))))}const g=null!==(l=i.axes[e])&&void 0!==l?l:0,p=null!==(c=i.axes[t])&&void 0!==c?c:0;if(Math.abs(g)>=this.options.intent.joystickCommitSensitivity){const t=g<0?"navigateLeft":"navigateRight",i=this._axisIntents[e]?this.options.intent.defaultCooldownMs:this.options.intent.firstCooldownMs;this._axisIntents[e]=!0,this.options.navigation.enabled&&!throttle(this._throttleIdLeftStickX,i)&&setTimeout((()=>s.commit(t,this)))}else this._axisIntents[e]=!1;if(Math.abs(p)>=this.options.intent.joystickCommitSensitivity){const e=p<0?"navigateUp":"navigateDown",i=this._axisIntents[t]?this.options.intent.defaultCooldownMs:this.options.intent.firstCooldownMs;this._axisIntents[t]=!0,this.options.navigation.enabled&&!throttle(this._throttleIdLeftStickY,i)&&setTimeout((()=>s.commit(e,this)))}else this._axisIntents[t]=!1}}GamepadDevice.defaultOptions={remapNintendoMode:"physical",namedGroups:{},navigation:{enabled:!0,binds:{[o.A]:"trigger",[o.B]:"navigateBack",[o.Back]:"navigateBack",[o.DPadDown]:"navigateDown",[o.DPadLeft]:"navigateLeft",[o.DPadRight]:"navigateRight",[o.DPadUp]:"navigateUp"}},intent:{joystickCommitSensitivity:.5,firstCooldownMs:400,defaultCooldownMs:80},vibration:{enabled:!0,intensity:1}};class GamepadJoystick{constructor(e,t,i){this._owner=e,this.ix=t,this.iy=i}get x(){return this._owner.source.axes[this.ix]}get y(){return this._owner.source.axes[this.iy]}}const d={AltLeft:"AltLeft",AltRight:"AltRight",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",ArrowUp:"ArrowUp",Backquote:"Backquote",Backslash:"Backslash",Backspace:"Backspace",BracketLeft:"BracketLeft",BracketRight:"BracketRight",CapsLock:"CapsLock",Comma:"Comma",ContextMenu:"ContextMenu",ControlLeft:"ControlLeft",ControlRight:"ControlRight",Delete:"Delete",Digit0:"Digit0",Digit1:"Digit1",Digit2:"Digit2",Digit3:"Digit3",Digit4:"Digit4",Digit5:"Digit5",Digit6:"Digit6",Digit7:"Digit7",Digit8:"Digit8",Digit9:"Digit9",End:"End",Enter:"Enter",Equal:"Equal",Escape:"Escape",F1:"F1",F10:"F10",F11:"F11",F12:"F12",F13:"F13",F14:"F14",F15:"F15",F16:"F16",F17:"F17",F18:"F18",F19:"F19",F2:"F2",F20:"F20",F21:"F21",F22:"F22",F23:"F23",F24:"F24",F25:"F25",F26:"F26",F27:"F27",F28:"F28",F29:"F29",F3:"F3",F30:"F30",F31:"F31",F32:"F32",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",Home:"Home",IntlBackslash:"IntlBackslash",IntlRo:"IntlRo",IntlYen:"IntlYen",KeyA:"KeyA",KeyB:"KeyB",KeyC:"KeyC",KeyD:"KeyD",KeyE:"KeyE",KeyF:"KeyF",KeyG:"KeyG",KeyH:"KeyH",KeyI:"KeyI",KeyJ:"KeyJ",KeyK:"KeyK",KeyL:"KeyL",KeyM:"KeyM",KeyN:"KeyN",KeyO:"KeyO",KeyP:"KeyP",KeyQ:"KeyQ",KeyR:"KeyR",KeyS:"KeyS",KeyT:"KeyT",KeyU:"KeyU",KeyV:"KeyV",KeyW:"KeyW",KeyX:"KeyX",KeyY:"KeyY",KeyZ:"KeyZ",Lang1:"Lang1",Lang2:"Lang2",MediaTrackNext:"MediaTrackNext",MediaTrackPrevious:"MediaTrackPrevious",MetaLeft:"MetaLeft",MetaRight:"MetaRight",Minus:"Minus",NumLock:"NumLock",Numpad0:"Numpad0",Numpad1:"Numpad1",Numpad2:"Numpad2",Numpad3:"Numpad3",Numpad4:"Numpad4",Numpad5:"Numpad5",Numpad6:"Numpad6",Numpad7:"Numpad7",Numpad8:"Numpad8",Numpad9:"Numpad9",NumpadAdd:"NumpadAdd",NumpadComma:"NumpadComma",NumpadDecimal:"NumpadDecimal",NumpadDivide:"NumpadDivide",NumpadMultiply:"NumpadMultiply",NumpadSubtract:"NumpadSubtract",OSLeft:"OSLeft",Pause:"Pause",Period:"Period",Quote:"Quote",ScrollLock:"ScrollLock",Semicolon:"Semicolon",ShiftLeft:"ShiftLeft",ShiftRight:"ShiftRight",Slash:"Slash",Space:"Space",Tab:"Tab",VolumeDown:"VolumeDown",VolumeMute:"VolumeMute",VolumeUp:"VolumeUp",WakeUp:"WakeUp"};function __awaiter(e,t,i,a){return new(i||(i=Promise))((function(o,n){function fulfilled(e){try{step(a.next(e))}catch(e){n(e)}}function rejected(e){try{step(a.throw(e))}catch(e){n(e)}}function step(e){e.done?o(e.value):function adopt(e){return e instanceof i?e:new i((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((a=a.apply(e,t||[])).next())}))}"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"],c=["de","cs","sk","sl","hu","hr","bs","ro","sq","me","lt","lv","et"],h=/ф|и|с|в|у|а|п|р|ш|о|л|д|ь|т|щ|з|й|к|ы|е|г|м|ц|ч|н|я|ё|х|ъ|б|ю|э|ж|и/i,g=/[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":c.includes(i)||t.startsWith("sr-latn")?"QWERTZ":"QWERTY"}const p=new Set(["AZERTY","JCUKEN","QWERTY","QWERTZ"]);let m;function getMetaKeyLabel(){var e,t,i,a;const o=navigator,n=null!==(t=null===(e=o.platform)||void 0===e?void 0:e.toLowerCase())&&void 0!==t?t:"",s=null!==(a=null===(i=o.userAgent)||void 0===i?void 0:i.toLowerCase())&&void 0!==a?a:"";return n.includes("mac")?"⌘":n.includes("win")||n.includes("linux")?"⊞":s.includes("android")?"Search":s.includes("iphone")||s.includes("ipad")?"⌘":"⊞"}class KeyboardDevice{constructor(){this.type="keyboard",this.id="keyboard",this.meta={},this.lastUpdated=performance.now(),this.detectLayoutOnKeypress=!0,this.detected=!1,this._emitter=new EventEmitter,this.options={preventDefaultKeys:new Set([]),namedGroups:{},navigation:{enabled:!0,binds:{Space:"trigger",Enter:"trigger",Escape:"navigateBack",Backspace:"navigateBack",ArrowDown:"navigateDown",ArrowLeft:"navigateLeft",ArrowRight:"navigateRight",ArrowUp:"navigateUp",KeyA:"navigateLeft",KeyD:"navigateRight",KeyS:"navigateDown",KeyW:"navigateUp"}}},this.key=Object.keys(d).reduce(((e,t)=>(e[t]=!1,e)),{}),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(),i=t.get("KeyQ"),a=t.get("KeyA"),o=t.get("KeyZ");if("a"===i&&"w"===o&&"q"===a)return"AZERTY";if("q"===i&&"y"===o&&"a"===a)return"QWERTZ";if("q"===i&&"z"===o&&"a"===a)return"QWERTY";if("й"===i&&"я"===o&&"ф"===a)return"JCUKEN"}catch(e){console.error("Error detecting keyboard layout:",e)}}))}().then((e=>{void 0!==e&&(this._layoutSource="browser",this._layout=e,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}get layoutSource(){return this._layoutSource}groupPressed(e){return void 0!==this.options.namedGroups[e]&&this.anyPressed(this.options.namedGroups[e])}anyPressed(e){for(let t=0;t<e.length;t++)if(this.key[e[t]])return!0;return!1}allPressed(e){for(let t=0;t<e.length;t++)if(!this.key[e[t]])return!1;return!0}on(e,t){return this._emitter.on(e,t),this}off(e,t){return this._emitter.off(e,t),this}keyLabel(e,t=this._layout){return function getLayoutLabel(e,t){if(void 0===m){const e={ArrowLeft:"←",ArrowRight:"→",ArrowUp:"↑",ArrowDown:"↓",AltLeft:"Left Alt",AltRight:"Right Alt",Backquote:"`",Backslash:"\\",Backspace:"Backspace",BracketLeft:"[",BracketRight:"]",CapsLock:"Caps Lock",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:"Mute",VolumeUp:"Volume Up",WakeUp:"Wake Up"},t=Object.assign(Object.assign({},e),{KeyA:"Q",KeyQ:"A",KeyW:"Z",KeyZ:"W",Backquote:"²",BracketLeft:"«",BracketRight:"»"}),i=Object.assign(Object.assign({},e),{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:"И"}),a=Object.assign(Object.assign({},e),{KeyY:"Z",KeyZ:"Y",BracketLeft:"ü",BracketRight:"ö",Slash:"-"});m={AZERTY:t,JCUKEN:i,QWERTY:e,QWERTZ:a}}return m[t][e]}(e,t)}clear(){for(const e of Object.keys(d))this.key[e]=!1}_configureEventListeners(){document.addEventListener("keydown",(e=>{const t=e.code;if(this.key[t]=!0,this.options.preventDefaultKeys.has(t)&&e.preventDefault(),this.detectLayoutOnKeypress&&"lang"===this._layoutSource){const t=function detectKeyboardLayoutFromKeydown(e){const t=e.key.toLowerCase(),i=e.code;return h.test(t)?(p.delete("AZERTY"),p.delete("QWERTY"),p.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?(p.delete("JCUKEN"),p.delete("QWERTY"),p.delete("QWERTZ")):"BracketLeft"===i&&"ü"===t||"BracketRight"===i&&"ö"===t||"KeyY"===i&&"z"===t||"KeyZ"===i&&"y"===t||"Slash"===i&&"-"===t?(p.delete("AZERTY"),p.delete("JCUKEN"),p.delete("QWERTY")):"BracketLeft"===i&&"["===t||"BracketRight"===i&&"]"===t||"KeyZ"===i&&"z"===t?(p.delete("AZERTY"),p.delete("JCUKEN"),p.delete("QWERTZ")):"KeyQ"===i&&"q"===t||"KeyW"===i&&"w"===t?(p.delete("AZERTY"),p.delete("JCUKEN")):"KeyY"===i&&"Y"===t?(p.delete("QWERTZ"),p.delete("JCUKEN")):g.test(t)&&p.delete("JCUKEN"),1===p.size?[...p][0]:void 0}(e);void 0!==t&&(this._layout=t,this._layoutSource="keypress",this.detectLayoutOnKeypress=!1,this._emitter.emit("layoutdetected",{layout:t,layoutSource:"keypress",device:this}))}this._emitter.hasListener(t)?setTimeout((()=>this._emitter.emit(t,{device:this,keyCode:t,keyLabel:this.keyLabel(t),event:e}))):this.options.navigation.enabled&&void 0!==this.options.navigation.binds[t]&&(e.preventDefault(),setTimeout((()=>s.commit(this.options.navigation.binds[t],this))))})),document.addEventListener("keyup",(e=>{this.key[e.code]=!1,this.options.preventDefaultKeys.has(e.code)&&e.preventDefault()}))}}KeyboardDevice.global=new KeyboardDevice;class InputDeviceManager{on(e,t){return this._emitter.on(e,t),this}off(e,t){return this._emitter.off(e,t),this}get gamepads(){return this._gamepadDevices}get devices(){return this._devices}constructor(){this._emitter=new EventEmitter,this.isMobile=(()=>{let e=!1;var t;return t=navigator.userAgent||navigator.vendor,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0),e})(),this.isTouchCapable=function isTouchCapable(){return"ontouchstart"in window||navigator.maxTouchPoints>0}(),this.hasFocus=!1,this.options={clearInputInBackground:!0},this._gamepadDevices=[],this._gamepadDeviceMap=new Map,this._devices=[];const registerKeyboard=()=>{window.removeEventListener("keydown",registerKeyboard),this._devices.push(this.keyboard),this._emitter.emit("deviceadded",{device:this.keyboard}),this.keyboard.detected=!0};this.keyboard=KeyboardDevice.global,this.isTouchCapable||this.isMobile?window.addEventListener("keydown",registerKeyboard):registerKeyboard(),window.addEventListener("gamepadconnected",(()=>this.pollGamepads(performance.now()))),window.addEventListener("gamepaddisconnected",(e=>this.removeGamepad(e.gamepad.index)))}update(){if(!document.hasFocus())return this.hasFocus&&this.options.clearInputInBackground&&this.devices.forEach((e=>e.clear())),this.hasFocus=!1,this._devices;this.hasFocus=!0;const e=performance.now();return this.keyboard.lastUpdated=e,this.pollGamepads(e),this._devices}add(e){this._devices.push(e)}remove(e){const t=this._devices.indexOf(e);-1!==t&&(this._devices.splice(t,1),this._emitter.emit("deviceremoved",{device: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 e=new GamepadDevice(t);this._gamepadDeviceMap.set(t.index,e),this._gamepadDevices.push(e),this._devices.push(e),this._emitter.emit("deviceadded",{device: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 registerPixiJSInputDeviceMixin(e){const t=e.prototype;t.navigationPriority=0,t.navigationMode="auto",Object.defineProperty(t,"isNavigatable",{get:function(){if("auto"===this.navigationMode){if(!this.isInteractive)return!1;const e=this.eventNames();return e.includes("pointerdown")||e.includes("mousedown")}return"target"===this.navigationMode},configurable:!0,enumerable:!1})}export{o as Button,CustomDevice,GamepadDevice,v as InputDevice,d as KeyCode,KeyboardDevice,s as Navigation,getAllNavigatables,getFirstNavigatable,registerPixiJSInputDeviceMixin};
1
+ class CustomDevice{constructor(e){this.type="custom",this.meta={},this.lastUpdated=performance.now(),this.id=e}clear(){}}const e=0,t=1,i=2,o=3,a={A:0,B:1,X:2,Y:3,LeftShoulder:4,RightShoulder:5,LeftTrigger:6,RightTrigger:7,Back:8,Start:9,LeftStick:10,RightStick:11,DPadUp:12,DPadDown:13,DPadLeft:14,DPadRight:15},s=["A","B","X","Y","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStick","RightStick","DPadUp","DPadDown","DPadLeft","DPadRight"];function getAllNavigatables(e,t=[]){for(const i of e.children)i.isNavigatable?t.push(i):getAllNavigatables(i,t);return t}function getFirstNavigatable(e,t,i,{minimumDistance:o=3}={}){return function chooseFirstNavigatableInDirection(e,t,i,{minimumDistance:o=3}={}){var a,s,n,r,d,u,c,l,h;const g=e.filter((e=>e.isNavigatable&&null!=e.parent&&function isVisible(e){for(;null!=e;){if(!e.visible)return!1;e=e.parent}return!0}(e))),p=g.find((e=>e===t));if(void 0===p)return g.sort(((e,t)=>e.navigationPriority-t.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!==(a=e[0])&&void 0!==a?a:m;const v=p.getBounds(),y={x:v.left+v.width/2,y:v.top+v.height/2},f=g.filter((e=>e!==p)).map((e=>{const t=e.getBounds(),i={x:t.left+t.width/2,y:t.top+t.height/2};return{element:e,bounds:t,center:i,distSqrd:squaredDist(i,y)}}));switch(i){case"navigateUp":return null!==(n=null===(s=f.filter((e=>e.center.y<y.y-o)).sort(((e,t)=>e.distSqrd-t.distSqrd))[0])||void 0===s?void 0:s.element)&&void 0!==n?n:m;case"navigateLeft":return null!==(d=null===(r=f.filter((e=>e.center.x<y.x-o)).sort(((e,t)=>e.distSqrd-t.distSqrd))[0])||void 0===r?void 0:r.element)&&void 0!==d?d:m;case"navigateRight":return null!==(c=null===(u=f.filter((e=>e.center.x>y.x+o)).sort(((e,t)=>e.distSqrd-t.distSqrd))[0])||void 0===u?void 0:u.element)&&void 0!==c?c:m;case"navigateDown":return null!==(h=null===(l=f.filter((e=>e.center.y>y.y+o)).sort(((e,t)=>e.distSqrd-t.distSqrd))[0])||void 0===l?void 0:l.element)&&void 0!==h?h:m;default:return p}}(getAllNavigatables(e),t,i,{minimumDistance:o})}function squaredDist(e,t){const i=t.x-e.x,o=t.y-e.y;return i*i+o*o}class NavigationManager{constructor(){this.options={enabled:!0,useFallbackHoverEffect:!0},this._responderStack=[]}get firstResponder(){return this._responderStack[0]}get responders(){return this._responderStack}commit(e,t){this.options.enabled&&this._propagateIntent(e,t)}popResponder(){var e,t,i;const o=this._responderStack.shift();return null===(t=null===(e=this.firstResponder)||void 0===e?void 0:e.becameFirstResponder)||void 0===t||t.call(e),null===(i=null==o?void 0:o.resignedAsFirstResponder)||void 0===i||i.call(o),o}pushResponder(e){var t,i;if(this._responderStack.includes(e))throw new Error("Responder already in stack.");const o=this.firstResponder;this._responderStack.unshift(e),null===(t=e.becameFirstResponder)||void 0===t||t.call(e),null===(i=null==o?void 0:o.resignedAsFirstResponder)||void 0===i||i.call(o)}_propagateIntent(e,t){var i;for(const o of this._responderStack)if(null===(i=o.handledNavigationIntent)||void 0===i?void 0:i.call(o,e,t))return;void 0===this.stage?console.warn("navigation: no stage root set"):this._handleGlobalIntent(this.stage,e)}_handleGlobalIntent(e,t){var i;if(void 0===this._focused){const i=getFirstNavigatable(e);return void 0===i?void console.debug("navigation: no navigatable views found",t):(this._emitFocus(i),void(this._focused=i))}if("navigateBack"===t)return this._emitBlur(this._focused),void(this._focused=void 0);if("trigger"===t)return void this._emitTrigger(this._focused);const o=null!==(i=getFirstNavigatable(this.stage,this._focused,t))&&void 0!==i?i:this._focused;o!==this._focused&&(this._emitBlur(this._focused),this._emitFocus(o),this._focused=o)}_emitBlur(e){const t=e.eventNames();t.includes("pointerout")?e.emit("pointerout"):t.includes("mouseout")?e.emit("mouseout"):"auto"===e.navigationMode&&this.options.useFallbackHoverEffect&&(e.alpha=1),e.emit("blur")}_emitFocus(e){const t=e.eventNames();t.includes("pointerover")?e.emit("pointerover"):t.includes("mouseover")?e.emit("mouseover"):"auto"===e.navigationMode&&this.options.useFallbackHoverEffect&&(e.alpha=.5),e.emit("focus")}_emitTrigger(e){const t=e.eventNames();t.includes("pointerdown")?e.emit("pointerdown"):t.includes("mousedown")?e.emit("mousedown"):"auto"===e.navigationMode&&this.options.useFallbackHoverEffect&&(e.alpha=.75),e.emit("trigger")}}NavigationManager.global=new NavigationManager;const n=NavigationManager.global;let r=new Map;function throttle(e,t){var i;const o=Date.now();return(null!==(i=r.get(e))&&void 0!==i?i:0)>o||(r.set(e,o+t),!1)}class EventEmitter{constructor(){this.l={}}hasListener(e){return void 0!==this.l[e]}emit(e,t){var i;null===(i=this.l[e])||void 0===i||i.forEach((e=>e(t)))}on(e,t){var i;this.l[e]||(this.l[e]=[]),null===(i=this.l[e])||void 0===i||i.push(t)}off(e,t){var i,o;this.l[e]=void 0===t||null===(i=this.l[e])||void 0===i?void 0:i.filter((e=>e!==t)),0===(null===(o=this.l[e])||void 0===o?void 0:o.length)&&(this.l[e]=void 0)}}class GamepadDevice{get leftTrigger(){return this.source.buttons[a.LeftTrigger].value}get rightTrigger(){return this.source.buttons[a.RightTrigger].value}get leftShoulder(){return this.source.buttons[a.LeftShoulder].value}get rightShoulder(){return this.source.buttons[a.RightShoulder].value}groupPressed(e){return void 0!==this.options.namedGroups[e]&&this.anyPressed(this.options.namedGroups[e])}anyPressed(e){for(let t=0;t<e.length;t++)if(this.button[e[t]])return!0;return!1}allPressed(e){for(let t=0;t<e.length;t++)if(!this.button[e[t]])return!1;return!0}on(e,t){const i="number"==typeof e?s[e]:e;return this._emitter.on(i,t),this}off(e,t){const i="number"==typeof e?s[e]:e;return this._emitter.off(i,t),this}onGroup(e,t){return this._groupEmitter.on(e,t),this}offGroup(e,t){return this._groupEmitter.off(e,t),this}playVibration({duration:e=200,weakMagnitude:t=.5,strongMagnitude:i=.5,vibrationType:o="dual-rumble",rightTrigger:a=0,leftTrigger:s=0,startDelay:n=0}={}){if(this.options.vibration.enabled&&this.source.vibrationActuator)try{this.source.vibrationActuator.playEffect(o,{duration:e,startDelay:n,weakMagnitude:t,strongMagnitude:i,leftTrigger:s,rightTrigger:a})}catch(e){console.warn("gamepad vibrationActuator failed with error:",e)}}update(e,t){this.updatePresses(e,t),this.source=e,this.lastUpdated=t}clear(){this._axisIntents=this._axisIntents.map((()=>!1)),this._btnPrevState=this._btnPrevState.map((()=>!1))}constructor(s){this.source=s,this.type="gamepad",this.meta={},this.lastUpdated=performance.now(),this.lastActive=performance.now(),this.options=JSON.parse(JSON.stringify(GamepadDevice.defaultOptions)),this.button=Object.keys(a).reduce(((e,t)=>(e[t]=!1,e)),{}),this._btnPrevState=new Array(16),this._axisIntents=new Array(2),this._emitter=new EventEmitter,this._groupEmitter=new EventEmitter,this.id="gamepad"+s.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":"generic"}(s),this.leftJoystick=new GamepadJoystick(this,e,t),this.rightJoystick=new GamepadJoystick(this,i,o),this._throttleIdLeftStickX=this.id+"-lsx",this._throttleIdLeftStickY=this.id+"-lsy"}updatePresses(i,o){var r,d,u,c,l;const h=this._btnPrevState.length;for(let e=0;e<h;e++){let t=e;if("nintendo"===this.layout&&"none"!==this.options.remapNintendoMode&&("physical"===this.options.remapNintendoMode?t===a.B?t=a.A:t===a.A?t=a.B:t===a.X?t=a.Y:t===a.Y&&(t=a.X):t===a.B?t=a.X:t===a.X&&(t=a.B)),this._btnPrevState[t]===(null===(r=i.buttons[e])||void 0===r?void 0:r.pressed))continue;this.lastActive=o;const c=null!==(u=null===(d=i.buttons[e])||void 0===d?void 0:d.pressed)&&void 0!==u&&u,l=s[t];this._btnPrevState[t]=c,this.button[l]=c,c&&(this._emitter.hasListener(l)&&setTimeout((()=>this._emitter.emit(l,{device:this,button:t,buttonCode:l}))),n.options.enabled&&this.options.navigation.enabled&&void 0!==this.options.navigation.binds[t]&&setTimeout((()=>n.commit(this.options.navigation.binds[t],this))),Object.entries(this.options.namedGroups).forEach((([e,i])=>{i.includes(l)&&setTimeout((()=>{const i={device:this,button:t,buttonCode:l,groupName:e};this._groupEmitter.emit(e,i),this._emitter.emit("group",i)}))})))}const g=null!==(c=i.axes[e])&&void 0!==c?c:0,p=null!==(l=i.axes[t])&&void 0!==l?l:0;if(Math.abs(g)>=this.options.intent.joystickCommitSensitivity){const t=g<0?"navigateLeft":"navigateRight",i=this._axisIntents[e]?this.options.intent.defaultCooldownMs:this.options.intent.firstCooldownMs;this._axisIntents[e]=!0,this.options.navigation.enabled&&!throttle(this._throttleIdLeftStickX,i)&&setTimeout((()=>n.commit(t,this)))}else this._axisIntents[e]=!1;if(Math.abs(p)>=this.options.intent.joystickCommitSensitivity){const e=p<0?"navigateUp":"navigateDown",i=this._axisIntents[t]?this.options.intent.defaultCooldownMs:this.options.intent.firstCooldownMs;this._axisIntents[t]=!0,this.options.navigation.enabled&&!throttle(this._throttleIdLeftStickY,i)&&setTimeout((()=>n.commit(e,this)))}else this._axisIntents[t]=!1}}GamepadDevice.defaultOptions={remapNintendoMode:"physical",namedGroups:{},navigation:{enabled:!0,binds:{[a.A]:"trigger",[a.B]:"navigateBack",[a.Back]:"navigateBack",[a.DPadDown]:"navigateDown",[a.DPadLeft]:"navigateLeft",[a.DPadRight]:"navigateRight",[a.DPadUp]:"navigateUp"}},intent:{joystickCommitSensitivity:.5,firstCooldownMs:400,defaultCooldownMs:80},vibration:{enabled:!0,intensity:1}};class GamepadJoystick{constructor(e,t,i){this._owner=e,this.ix=t,this.iy=i}get x(){return this._owner.source.axes[this.ix]}get y(){return this._owner.source.axes[this.iy]}}const d={AltLeft:"AltLeft",AltRight:"AltRight",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",ArrowUp:"ArrowUp",Backquote:"Backquote",Backslash:"Backslash",Backspace:"Backspace",BracketLeft:"BracketLeft",BracketRight:"BracketRight",CapsLock:"CapsLock",Comma:"Comma",ContextMenu:"ContextMenu",ControlLeft:"ControlLeft",ControlRight:"ControlRight",Delete:"Delete",Digit0:"Digit0",Digit1:"Digit1",Digit2:"Digit2",Digit3:"Digit3",Digit4:"Digit4",Digit5:"Digit5",Digit6:"Digit6",Digit7:"Digit7",Digit8:"Digit8",Digit9:"Digit9",End:"End",Enter:"Enter",Equal:"Equal",Escape:"Escape",F1:"F1",F10:"F10",F11:"F11",F12:"F12",F13:"F13",F14:"F14",F15:"F15",F16:"F16",F17:"F17",F18:"F18",F19:"F19",F2:"F2",F20:"F20",F21:"F21",F22:"F22",F23:"F23",F24:"F24",F25:"F25",F26:"F26",F27:"F27",F28:"F28",F29:"F29",F3:"F3",F30:"F30",F31:"F31",F32:"F32",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",Home:"Home",IntlBackslash:"IntlBackslash",IntlRo:"IntlRo",IntlYen:"IntlYen",KeyA:"KeyA",KeyB:"KeyB",KeyC:"KeyC",KeyD:"KeyD",KeyE:"KeyE",KeyF:"KeyF",KeyG:"KeyG",KeyH:"KeyH",KeyI:"KeyI",KeyJ:"KeyJ",KeyK:"KeyK",KeyL:"KeyL",KeyM:"KeyM",KeyN:"KeyN",KeyO:"KeyO",KeyP:"KeyP",KeyQ:"KeyQ",KeyR:"KeyR",KeyS:"KeyS",KeyT:"KeyT",KeyU:"KeyU",KeyV:"KeyV",KeyW:"KeyW",KeyX:"KeyX",KeyY:"KeyY",KeyZ:"KeyZ",Lang1:"Lang1",Lang2:"Lang2",MediaTrackNext:"MediaTrackNext",MediaTrackPrevious:"MediaTrackPrevious",MetaLeft:"MetaLeft",MetaRight:"MetaRight",Minus:"Minus",NumLock:"NumLock",Numpad0:"Numpad0",Numpad1:"Numpad1",Numpad2:"Numpad2",Numpad3:"Numpad3",Numpad4:"Numpad4",Numpad5:"Numpad5",Numpad6:"Numpad6",Numpad7:"Numpad7",Numpad8:"Numpad8",Numpad9:"Numpad9",NumpadAdd:"NumpadAdd",NumpadComma:"NumpadComma",NumpadDecimal:"NumpadDecimal",NumpadDivide:"NumpadDivide",NumpadMultiply:"NumpadMultiply",NumpadSubtract:"NumpadSubtract",OSLeft:"OSLeft",Pause:"Pause",Period:"Period",Quote:"Quote",ScrollLock:"ScrollLock",Semicolon:"Semicolon",ShiftLeft:"ShiftLeft",ShiftRight:"ShiftRight",Slash:"Slash",Space:"Space",Tab:"Tab",VolumeDown:"VolumeDown",VolumeMute:"VolumeMute",VolumeUp:"VolumeUp",WakeUp:"WakeUp"};function __awaiter(e,t,i,o){return new(i||(i=Promise))((function(a,s){function fulfilled(e){try{step(o.next(e))}catch(e){s(e)}}function rejected(e){try{step(o.throw(e))}catch(e){s(e)}}function step(e){e.done?a(e.value):function adopt(e){return e instanceof i?e:new i((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((o=o.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const u=["fr","mg","lu"],c=["ab","ba","be","bg","ch","kk","ky","mk","mn","ru","sr","tg","tt","uk","uz"],l=["de","cs","sk","sl","hu","hr","bs","ro","sq","me","lt","lv","et"],h=/ф|и|с|в|у|а|п|р|ш|о|л|д|ь|т|щ|з|й|к|ы|е|г|м|ц|ч|н|я|ё|х|ъ|б|ю|э|ж|и/i,g=/[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":c.includes(i)?"JCUKEN":l.includes(i)||t.startsWith("sr-latn")?"QWERTZ":"QWERTY"}const p=new Set(["AZERTY","JCUKEN","QWERTY","QWERTZ"]);let m;function getMetaKeyLabel(){var e,t,i,o;const a=navigator,s=null!==(t=null===(e=a.platform)||void 0===e?void 0:e.toLowerCase())&&void 0!==t?t:"",n=null!==(o=null===(i=a.userAgent)||void 0===i?void 0:i.toLowerCase())&&void 0!==o?o:"";return s.includes("mac")?"⌘":s.includes("win")||s.includes("linux")?"⊞":n.includes("android")?"Search":n.includes("iphone")||n.includes("ipad")?"⌘":"⊞"}class KeyboardDevice{constructor(){this.type="keyboard",this.id="keyboard",this.meta={},this.lastUpdated=performance.now(),this.detectLayoutOnKeypress=!0,this.detected=!1,this.options={namedGroups:{},navigation:{enabled:!0,binds:{Space:"trigger",Enter:"trigger",Escape:"navigateBack",Backspace:"navigateBack",ArrowDown:"navigateDown",ArrowLeft:"navigateLeft",ArrowRight:"navigateRight",ArrowUp:"navigateUp",KeyA:"navigateLeft",KeyD:"navigateRight",KeyS:"navigateDown",KeyW:"navigateUp"}}},this.key=Object.keys(d).reduce(((e,t)=>(e[t]=!1,e)),{}),this._emitter=new EventEmitter,this._groupEmitter=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(),i=t.get("KeyQ"),o=t.get("KeyA"),a=t.get("KeyZ");if("a"===i&&"w"===a&&"q"===o)return"AZERTY";if("q"===i&&"y"===a&&"a"===o)return"QWERTZ";if("q"===i&&"z"===a&&"a"===o)return"QWERTY";if("й"===i&&"я"===a&&"ф"===o)return"JCUKEN"}catch(e){console.error("Error detecting keyboard layout:",e)}}))}().then((e=>{void 0!==e&&(this._layoutSource="browser",this._layout=e,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}get layoutSource(){return this._layoutSource}groupPressed(e){return void 0!==this.options.namedGroups[e]&&this.anyPressed(this.options.namedGroups[e])}anyPressed(e){for(let t=0;t<e.length;t++)if(this.key[e[t]])return!0;return!1}allPressed(e){for(let t=0;t<e.length;t++)if(!this.key[e[t]])return!1;return!0}on(e,t){return this._emitter.on(e,t),this}off(e,t){return this._emitter.off(e,t),this}onGroup(e,t){return this._groupEmitter.on(e,t),this}offGroup(e,t){return this._groupEmitter.off(e,t),this}keyLabel(e,t=this._layout){return function getLayoutLabel(e,t){if(void 0===m){const e={ArrowLeft:"←",ArrowRight:"→",ArrowUp:"↑",ArrowDown:"↓",AltLeft:"Left Alt",AltRight:"Right Alt",Backquote:"`",Backslash:"\\",Backspace:"Backspace",BracketLeft:"[",BracketRight:"]",CapsLock:"Caps Lock",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:"Mute",VolumeUp:"Volume Up",WakeUp:"Wake Up"},t=Object.assign(Object.assign({},e),{KeyA:"Q",KeyQ:"A",KeyW:"Z",KeyZ:"W",Backquote:"²",BracketLeft:"«",BracketRight:"»"}),i=Object.assign(Object.assign({},e),{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:"И"}),o=Object.assign(Object.assign({},e),{KeyY:"Z",KeyZ:"Y",BracketLeft:"ü",BracketRight:"ö",Slash:"-"});m={AZERTY:t,JCUKEN:i,QWERTY:e,QWERTZ:o}}return m[t][e]}(e,t)}update(e){this._deferredKeydown.length>0&&(this._deferredKeydown.forEach((e=>this._processDeferredKeydownEvent(e))),this._deferredKeydown.length=0),this.lastUpdated=e}clear(){for(const e of Object.keys(d))this.key[e]=!1}_configureEventListeners(){const e=this.key,t=this._deferredKeydown;window.addEventListener("keydown",(e=>t.push(e)),{passive:!0,capture:!0}),window.addEventListener("keyup",(t=>e[t.code]=!1),{passive:!0,capture:!0})}_processDeferredKeydownEvent(e){const t=e.code;if(this.key[t]=!0,this.detectLayoutOnKeypress&&"lang"===this._layoutSource){const t=function detectKeyboardLayoutFromKeydown(e){const t=e.key.toLowerCase(),i=e.code;return h.test(t)?(p.delete("AZERTY"),p.delete("QWERTY"),p.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?(p.delete("JCUKEN"),p.delete("QWERTY"),p.delete("QWERTZ")):"BracketLeft"===i&&"ü"===t||"BracketRight"===i&&"ö"===t||"KeyY"===i&&"z"===t||"KeyZ"===i&&"y"===t||"Slash"===i&&"-"===t?(p.delete("AZERTY"),p.delete("JCUKEN"),p.delete("QWERTY")):"BracketLeft"===i&&"["===t||"BracketRight"===i&&"]"===t||"KeyZ"===i&&"z"===t?(p.delete("AZERTY"),p.delete("JCUKEN"),p.delete("QWERTZ")):"KeyQ"===i&&"q"===t||"KeyW"===i&&"w"===t?(p.delete("AZERTY"),p.delete("JCUKEN")):"KeyY"===i&&"Y"===t?(p.delete("QWERTZ"),p.delete("JCUKEN")):g.test(t)&&p.delete("JCUKEN"),1===p.size?[...p][0]:void 0}(e);void 0!==t&&(this._layout=t,this._layoutSource="keypress",this.detectLayoutOnKeypress=!1,this._emitter.emit("layoutdetected",{layout:t,layoutSource:"keypress",device:this}))}this._emitter.hasListener(t)&&setTimeout((()=>this._emitter.emit(t,{device:this,keyCode:t,keyLabel:this.keyLabel(t),event:e}))),n.options.enabled&&this.options.navigation.enabled&&void 0!==this.options.navigation.binds[t]&&setTimeout((()=>n.commit(this.options.navigation.binds[t],this))),Object.entries(this.options.namedGroups).forEach((([i,o])=>{o.includes(t)&&setTimeout((()=>{const o={device:this,keyCode:t,keyLabel:this.keyLabel(t),event:e,groupName:i};this._groupEmitter.emit(i,o),this._emitter.emit("group",o)}))}))}}KeyboardDevice.global=new KeyboardDevice;class InputDeviceManager{constructor(){this._emitter=new EventEmitter,this.isMobile=(()=>{let e=!1;var t;return t=navigator.userAgent||navigator.vendor,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0),e})(),this.isTouchCapable=function isTouchCapable(){return"ontouchstart"in window||navigator.maxTouchPoints>0}(),this.hasFocus=!1,this.options={clearInputInBackground:!0},this._gamepadDevices=[],this._gamepadDeviceMap=new Map,this._customDevices=[],this._groupEmitter=new EventEmitter,this._devices=[];const registerKeyboard=()=>{this.add(this.keyboard)};this.keyboard=KeyboardDevice.global,this.isTouchCapable||this.isMobile?window.addEventListener("keydown",registerKeyboard,{once:!0}):registerKeyboard(),window.addEventListener("gamepadconnected",(()=>this.pollGamepads(performance.now()))),window.addEventListener("gamepaddisconnected",(e=>this.removeGamepad(e.gamepad.index)))}get gamepads(){return this._gamepadDevices}get devices(){return this._devices}on(e,t){return this._emitter.on(e,t),this}off(e,t){return this._emitter.off(e,t),this}onGroup(e,t){return this._groupEmitter.on(e,t),this}offGroup(e,t){return this._groupEmitter.off(e,t),this}add(e){this._devices.push(e),e instanceof KeyboardDevice?(e.detected=!0,e.on("group",(e=>this._groupEmitter.emit(e.groupName,e)))):e instanceof GamepadDevice?(this._gamepadDeviceMap.set(e.source.index,e),this._gamepadDevices.push(e),e.on("group",(e=>this._groupEmitter.emit(e.groupName,e)))):e instanceof CustomDevice&&this._customDevices.push(e),this._emitter.emit("deviceadded",{device:e})}remove(e){if(e instanceof CustomDevice){const t=this._customDevices.indexOf(e);-1!==t&&this._devices.splice(t,1)}const t=this._devices.indexOf(e);-1!==t&&(this._devices.splice(t,1),this._emitter.emit("deviceremoved",{device:e}))}update(){if(!document.hasFocus())return this.hasFocus&&this.options.clearInputInBackground&&this.devices.forEach((e=>e.clear())),this.hasFocus=!1,this._devices;this.hasFocus=!0;const e=performance.now();return this.keyboard.update(e),this.pollGamepads(e),this._customDevices.length>0&&this._customDevices.forEach((t=>t.update(e))),this._devices}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 registerPixiJSInputDeviceMixin(e){const t=e.prototype;t.navigationPriority=0,t.navigationMode="auto",Object.defineProperty(t,"isNavigatable",{get:function(){if("auto"===this.navigationMode){if(!this.isInteractive)return!1;const e=this.eventNames();return e.includes("pointerdown")||e.includes("mousedown")}return"target"===this.navigationMode},configurable:!0,enumerable:!1})}export{a as Button,CustomDevice,GamepadDevice,v as InputDevice,d as KeyCode,KeyboardDevice,n as Navigation,getAllNavigatables,getFirstNavigatable,registerPixiJSInputDeviceMixin};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/lib/devices/CustomDevice.ts","../src/lib/devices/gamepads/buttons.ts","../src/lib/navigation/Navigatable.ts","../src/lib/navigation/Navigation.ts","../src/lib/utils/throttle.ts","../src/lib/utils/events.ts","../src/lib/devices/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/KeyboardDevice.ts","../src/lib/InputDevice.ts","../src/lib/utils/detectors.ts","../src/Container.mixin.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,"/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n",null,null,null,null,null],"names":["CustomDevice","constructor","id","this","type","meta","lastUpdated","performance","now","clear","Axis","Button","A","B","X","Y","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStick","RightStick","DPadUp","DPadDown","DPadLeft","DPadRight","ButtonCode","getAllNavigatables","target","navigatables","child","children","isNavigatable","push","getFirstNavigatable","root","currentFocus","nearestDirection","minimumDistance","chooseFirstNavigatableInDirection","elements","filter","el","parent","isVisible","visible","focusedElement","find","undefined","sort","a","b","navigationPriority","fallbackElement","Math","floor","random","length","_a","focusedBounds","getBounds","focusedCenter","x","left","width","y","top","height","otherElements","map","bounds","center","element","distSqrd","squaredDist","_c","_b","_e","_d","_g","_f","_j","_h","dx","dy","NavigationManager","options","enabled","useFallbackHoverEffect","_responderStack","firstResponder","responders","commit","intent","device","_propagateIntent","popResponder","responder","shift","becameFirstResponder","resignedAsFirstResponder","pushResponder","includes","Error","previousResponder","unshift","call","handledNavigationIntent","stage","console","warn","_handleGlobalIntent","_focused","navigatable","debug","_emitFocus","_emitBlur","_emitTrigger","nextTarget","eventNames","emit","navigationMode","alpha","global","Navigation","_cooldowns","Map","throttle","cooldownMs","Date","get","set","EventEmitter","l","hasListener","e","payload","forEach","fn","on","event","off","GamepadDevice","leftTrigger","source","buttons","value","rightTrigger","leftShoulder","rightShoulder","groupPressed","name","namedGroups","anyPressed","btns","i","button","allPressed","listener","_emitter","playVibration","duration","weakMagnitude","strongMagnitude","vibrationType","startDelay","vibration","vibrationActuator","playEffect","error","update","updatePresses","_axisIntents","_btnPrevState","lastActive","JSON","parse","stringify","defaultOptions","Object","keys","reduce","obj","key","Array","index","layout","detectLayout","gamepad","toLowerCase","test","leftJoystick","GamepadJoystick","rightJoystick","_throttleIdLeftStickX","_throttleIdLeftStickY","buttonCount","remapNintendoMode","pressed","isPressed","buttonCode","setTimeout","navigation","binds","leftStickX","axes","leftStickY","abs","joystickCommitSensitivity","xIntent","cooldownDuration","defaultCooldownMs","firstCooldownMs","yIntent","intensity","_owner","ix","iy","KeyCode","AltLeft","AltRight","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Backquote","Backslash","Backspace","BracketLeft","BracketRight","CapsLock","Comma","ContextMenu","ControlLeft","ControlRight","Delete","Digit0","Digit1","Digit2","Digit3","Digit4","Digit5","Digit6","Digit7","Digit8","Digit9","End","Enter","Equal","Escape","F1","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F2","F20","F21","F22","F23","F24","F25","F26","F27","F28","F29","F3","F30","F31","F32","F4","F5","F6","F7","F8","F9","Home","IntlBackslash","IntlRo","IntlYen","KeyA","KeyB","KeyC","KeyD","KeyE","KeyF","KeyG","KeyH","KeyI","KeyJ","KeyK","KeyL","KeyM","KeyN","KeyO","KeyP","KeyQ","KeyR","KeyS","KeyT","KeyU","KeyV","KeyW","KeyX","KeyY","KeyZ","Lang1","Lang2","MediaTrackNext","MediaTrackPrevious","MetaLeft","MetaRight","Minus","NumLock","Numpad0","Numpad1","Numpad2","Numpad3","Numpad4","Numpad5","Numpad6","Numpad7","Numpad8","Numpad9","NumpadAdd","NumpadComma","NumpadDecimal","NumpadDivide","NumpadMultiply","NumpadSubtract","OSLeft","Pause","Period","Quote","ScrollLock","Semicolon","ShiftLeft","ShiftRight","Slash","Space","Tab","VolumeDown","VolumeMute","VolumeUp","WakeUp","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","result","done","adopt","then","apply","SuppressedError","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","_labels","getMetaKeyLabel","platform","userAgent","KeyboardDevice","detectLayoutOnKeypress","detected","preventDefaultKeys","_layout","_layoutSource","requestKeyboardLayout","keyboard","getLayoutMap","layoutMap","q","z","err","layoutSource","_configureEventListeners","keyLabel","getLayoutLabel","QWERTY_LABELS","AZERTY_LABELS","assign","JCUKEN_LABELS","QWERTZ_LABELS","AZERTY","JCUKEN","QWERTY","QWERTZ","document","addEventListener","keyCode","code","has","preventDefault","detectKeyboardLayoutFromKeydown","delete","size","InputDeviceManager","gamepads","_gamepadDevices","devices","_devices","isMobile","check","vendor","substr","isTouchCapable","window","maxTouchPoints","hasFocus","clearInputInBackground","_gamepadDeviceMap","registerKeyboard","removeEventListener","pollGamepads","removeGamepad","add","remove","devicesIndex","indexOf","splice","getGamepads","raw","gamepadIndex","gamepadsIndex","InputDevice","registerPixiJSInputDeviceMixin","container","prototype","defineProperty","isInteractive","onEvents","configurable","enumerable"],"mappings":"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","x_google_ignoreList":[9]}
1
+ {"version":3,"file":"index.mjs","sources":["../src/lib/devices/CustomDevice.ts","../src/lib/devices/gamepads/buttons.ts","../src/lib/navigation/Navigatable.ts","../src/lib/navigation/Navigation.ts","../src/lib/utils/throttle.ts","../src/lib/utils/events.ts","../src/lib/devices/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/KeyboardDevice.ts","../src/lib/InputDevice.ts","../src/lib/utils/detectors.ts","../src/Container.mixin.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,"/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n",null,null,null,null,null],"names":["CustomDevice","constructor","id","this","type","meta","lastUpdated","performance","now","clear","Axis","Button","A","B","X","Y","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStick","RightStick","DPadUp","DPadDown","DPadLeft","DPadRight","ButtonCode","getAllNavigatables","target","navigatables","child","children","isNavigatable","push","getFirstNavigatable","root","currentFocus","nearestDirection","minimumDistance","chooseFirstNavigatableInDirection","elements","filter","el","parent","isVisible","visible","focusedElement","find","undefined","sort","a","b","navigationPriority","fallbackElement","Math","floor","random","length","_a","focusedBounds","getBounds","focusedCenter","x","left","width","y","top","height","otherElements","map","bounds","center","element","distSqrd","squaredDist","_c","_b","_e","_d","_g","_f","_j","_h","dx","dy","NavigationManager","options","enabled","useFallbackHoverEffect","_responderStack","firstResponder","responders","commit","intent","device","_propagateIntent","popResponder","responder","shift","becameFirstResponder","resignedAsFirstResponder","pushResponder","includes","Error","previousResponder","unshift","call","handledNavigationIntent","stage","console","warn","_handleGlobalIntent","_focused","navigatable","debug","_emitFocus","_emitBlur","_emitTrigger","nextTarget","eventNames","emit","navigationMode","alpha","global","Navigation","_cooldowns","Map","throttle","cooldownMs","Date","get","set","EventEmitter","l","hasListener","e","payload","forEach","fn","on","event","off","GamepadDevice","leftTrigger","source","buttons","value","rightTrigger","leftShoulder","rightShoulder","groupPressed","name","namedGroups","anyPressed","btns","i","button","allPressed","listener","_emitter","onGroup","_groupEmitter","offGroup","playVibration","duration","weakMagnitude","strongMagnitude","vibrationType","startDelay","vibration","vibrationActuator","playEffect","error","update","updatePresses","_axisIntents","_btnPrevState","lastActive","JSON","parse","stringify","defaultOptions","Object","keys","reduce","obj","key","Array","index","layout","detectLayout","gamepad","toLowerCase","test","leftJoystick","GamepadJoystick","rightJoystick","_throttleIdLeftStickX","_throttleIdLeftStickY","buttonCount","remapNintendoMode","pressed","isPressed","buttonCode","setTimeout","navigation","binds","entries","groupName","leftStickX","axes","leftStickY","abs","joystickCommitSensitivity","xIntent","cooldownDuration","defaultCooldownMs","firstCooldownMs","yIntent","intensity","_owner","ix","iy","KeyCode","AltLeft","AltRight","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Backquote","Backslash","Backspace","BracketLeft","BracketRight","CapsLock","Comma","ContextMenu","ControlLeft","ControlRight","Delete","Digit0","Digit1","Digit2","Digit3","Digit4","Digit5","Digit6","Digit7","Digit8","Digit9","End","Enter","Equal","Escape","F1","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F2","F20","F21","F22","F23","F24","F25","F26","F27","F28","F29","F3","F30","F31","F32","F4","F5","F6","F7","F8","F9","Home","IntlBackslash","IntlRo","IntlYen","KeyA","KeyB","KeyC","KeyD","KeyE","KeyF","KeyG","KeyH","KeyI","KeyJ","KeyK","KeyL","KeyM","KeyN","KeyO","KeyP","KeyQ","KeyR","KeyS","KeyT","KeyU","KeyV","KeyW","KeyX","KeyY","KeyZ","Lang1","Lang2","MediaTrackNext","MediaTrackPrevious","MetaLeft","MetaRight","Minus","NumLock","Numpad0","Numpad1","Numpad2","Numpad3","Numpad4","Numpad5","Numpad6","Numpad7","Numpad8","Numpad9","NumpadAdd","NumpadComma","NumpadDecimal","NumpadDivide","NumpadMultiply","NumpadSubtract","OSLeft","Pause","Period","Quote","ScrollLock","Semicolon","ShiftLeft","ShiftRight","Slash","Space","Tab","VolumeDown","VolumeMute","VolumeUp","WakeUp","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","result","done","adopt","then","apply","SuppressedError","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","_labels","getMetaKeyLabel","platform","userAgent","KeyboardDevice","detectLayoutOnKeypress","detected","_deferredKeydown","_layout","_layoutSource","requestKeyboardLayout","keyboard","getLayoutMap","layoutMap","q","z","err","layoutSource","_configureEventListeners","keyLabel","getLayoutLabel","QWERTY_LABELS","AZERTY_LABELS","assign","JCUKEN_LABELS","QWERTZ_LABELS","AZERTY","JCUKEN","QWERTY","QWERTZ","_processDeferredKeydownEvent","k","d","window","addEventListener","passive","capture","code","keyCode","detectKeyboardLayoutFromKeydown","delete","size","InputDeviceManager","isMobile","check","vendor","substr","isTouchCapable","maxTouchPoints","hasFocus","clearInputInBackground","_gamepadDevices","_gamepadDeviceMap","_customDevices","_devices","registerKeyboard","add","once","pollGamepads","removeGamepad","gamepads","devices","remove","customIndex","indexOf","splice","devicesIndex","document","custom","getGamepads","has","gamepadIndex","gamepadsIndex","InputDevice","registerPixiJSInputDeviceMixin","container","prototype","defineProperty","isInteractive","onEvents","configurable","enumerable"],"mappings":"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","x_google_ignoreList":[9]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixijs-input-devices",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "author": "Reece Como <reece.como@gmail.com>",
5
5
  "authors": [
6
6
  "Reece Como <reece.como@gmail.com>"