pixijs-input-devices 0.7.2 → 0.7.4
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 +31 -9
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +10 -17
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -35,16 +35,23 @@ for (const device of InputDevice.devices)
|
|
|
35
35
|
#### Configure binds
|
|
36
36
|
|
|
37
37
|
```ts
|
|
38
|
-
import {
|
|
38
|
+
import { InputDevice, GamepadDevice } from "pixijs-input-devices";
|
|
39
39
|
|
|
40
40
|
// ⌨️ keyboard
|
|
41
|
-
|
|
41
|
+
InputDevice.keyboard.configureBinds({
|
|
42
42
|
jump: ["Space"],
|
|
43
43
|
left: ["KeyA", "ArrowLeft"],
|
|
44
44
|
right: ["KeyD", "ArrowRight"],
|
|
45
45
|
});
|
|
46
46
|
|
|
47
|
-
// 🎮
|
|
47
|
+
// 🎮 gamepad
|
|
48
|
+
InputDevice.gamepads[0].configurBinds({
|
|
49
|
+
left: ["DpadLeft"],
|
|
50
|
+
right: ["DpadRight"],
|
|
51
|
+
jump: ["Face1"],
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
// 🎮 gamepads (all)
|
|
48
55
|
GamepadDevice.configureDefaultBinds({
|
|
49
56
|
left: ["DpadLeft"],
|
|
50
57
|
right: ["DpadRight"],
|
|
@@ -132,9 +139,9 @@ registerPixiJSNavigationMixin(PIXI.Container)
|
|
|
132
139
|
The `InputDevice` singleton controls all device discovery.
|
|
133
140
|
|
|
134
141
|
```ts
|
|
135
|
-
InputDevice.keyboard //
|
|
142
|
+
InputDevice.keyboard // Keyboard
|
|
136
143
|
InputDevice.gamepads // GamepadDevice[]
|
|
137
|
-
InputDevice.custom //
|
|
144
|
+
InputDevice.custom // CustomDevice[]
|
|
138
145
|
```
|
|
139
146
|
|
|
140
147
|
You can access all **active/connected** devices using `.devices`:
|
|
@@ -193,14 +200,29 @@ InputDevice.onBindDown("my_custom_bind", (event) => {
|
|
|
193
200
|
})
|
|
194
201
|
```
|
|
195
202
|
|
|
196
|
-
###
|
|
203
|
+
### Keyboard
|
|
204
|
+
|
|
205
|
+
There is a single global keyboard device.
|
|
206
|
+
|
|
207
|
+
```ts
|
|
208
|
+
import { Keyboard } from "pixijs-input-devices";
|
|
209
|
+
|
|
210
|
+
if (Keyboard.key.ControlLeft) { // …
|
|
211
|
+
```
|
|
197
212
|
|
|
198
|
-
|
|
213
|
+
`InputDevice` also provides global accessors for `gamepads`, `keyboard` and `custom`.
|
|
199
214
|
|
|
200
215
|
```ts
|
|
201
|
-
|
|
216
|
+
import { InputDevice } from "pixijs-input-devices";
|
|
202
217
|
|
|
203
|
-
if (keyboard.key.ControlLeft) { // …
|
|
218
|
+
if (InputDevice.keyboard.key.ControlLeft) { // …
|
|
219
|
+
if (InputDevice.gamepads[0].button.DpadLeft) { // …
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
and of course, keyboards can be type-narrowed when iterating through devices:
|
|
223
|
+
|
|
224
|
+
```ts
|
|
225
|
+
if (device.type === "keyboard" && device.key.ControlLeft) { // …
|
|
204
226
|
```
|
|
205
227
|
|
|
206
228
|
> [!NOTE]
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=0,t=1,i=2,s=3,n=["LeftStickLeft","LeftStickRight","LeftStickUp","LeftStickDown","RightStickLeft","RightStickRight","RightStickUp","RightStickDown"],a={Face1:0,Face2:1,Face3:2,Face4:3,LeftShoulder:4,RightShoulder:5,LeftTrigger:6,RightTrigger:7,Back:8,Start:9,LeftStickClick:10,RightStickClick:11,DpadUp:12,DpadDown:13,DpadLeft:14,DpadRight:15},o=["Face1","Face2","Face3","Face4","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStickClick","RightStickClick","DpadUp","DpadDown","DpadLeft","DpadRight"];class EventEmitter{constructor(){this._listeners={}}hasListener(e){return void 0!==this._listeners[e]}emit(e,t){var i;null===(i=this._listeners[e])||void 0===i||i.forEach((e=>e(t)))}on(e,t,i){var s,n;if(this._listeners[e]||(this._listeners[e]=[]),null==i?void 0:i.once){const onceFn=i=>{t(i),this.off(e,onceFn)};null===(s=this._listeners[e])||void 0===s||s.push(onceFn)}else null===(n=this._listeners[e])||void 0===n||n.push(t)}off(e,t){var i,s;this._listeners[e]=void 0===t||null===(i=this._listeners[e])||void 0===i?void 0:i.filter((e=>e!==t)),0===(null===(s=this._listeners[e])||void 0===s?void 0:s.length)&&(this._listeners[e]=void 0)}}const r=2e3;class GamepadHapticManager{constructor(e){var t,i,s;this.activeEffects=[],this.state={rumble:0,buzz:0,leftTrigger:0,rightTrigger:0,expires:0},this.gamepad=e,this.hapticEvent="vibrationActuator"in e?(null===(s=null===(i=null===(t=e.vibrationActuator)||void 0===t?void 0:t.effects)||void 0===i?void 0:i.includes)||void 0===s?void 0:s.call(i,"trigger-rumble"))?"trigger-rumble":"dual-rumble":void 0,this.hasTriggerRumble="trigger-rumble"===this.hapticEvent}play(e,t){var i;const s=Math.max(0,null!==(i=e.startDelay)&&void 0!==i?i:0),n=performance.now()+s;this.activeEffects.push(Object.assign(Object.assign({},e),{start:n,end:n+Math.max(e.duration,0),startDelay:void 0})),this.intensity!==t&&(this.intensity=Math.max(0,Math.min(1,t))),s||0!==this.activeEffects.length||this.update()}reset(){var e,t;this.activeEffects.length=0,this.state.rumble=0,this.state.buzz=0,this.state.leftTrigger=0,this.state.rightTrigger=0,this.gamepad.vibrationActuator?this.gamepad.vibrationActuator.reset():this.gamepad.hapticActuators&&(null===(t=null===(e=this.gamepad.hapticActuators[0])||void 0===e?void 0:e.pulse)||void 0===t||t.call(e,0,100))}update(){var e,t;const i=performance.now();let s=0,n=0,a=0,o=0,d=0,c=!1;for(let e=0;e<this.activeEffects.length;e++){const t=this.activeEffects[e];t.end<=i?c=!0:t.start>i||("trigger-rumble"===this.hapticEvent&&(t.leftTrigger&&t.leftTrigger>a&&(a=t.leftTrigger),t.rightTrigger&&t.rightTrigger>o&&(o=t.rightTrigger)),t.rumble&&t.rumble>s&&(s=t.rumble),t.buzz&&t.buzz>n&&(n=t.buzz),t.end-i>d&&(d=t.end-i))}if(c&&(this.activeEffects=this.activeEffects.filter((e=>e.end>=i))),this.state.rumble!==s||this.state.buzz!==n||this.state.leftTrigger!==a||this.state.rightTrigger!==o||this.state.expires<=i&&s+n+a+o>0)if(this.state.rumble=s,this.state.buzz=n,this.state.leftTrigger=a,this.state.rightTrigger=o,void 0!==this.hapticEvent)this.state.expires=i+r,this.gamepad.vibrationActuator.playEffect(this.hapticEvent,{duration:r,strongMagnitude:s*this.intensity,weakMagnitude:n*this.intensity,leftTrigger:a*this.intensity,rightTrigger:o*this.intensity});else if(this.gamepad.hapticActuators){const a=Math.min(d,r),o=Math.max(s,n)*this.intensity;this.state.expires=i+d,null===(t=null===(e=this.gamepad.hapticActuators[0])||void 0===e?void 0:e.pulse)||void 0===t||t.call(e,o,a)}}}class GamepadDevice{static configureDefaultBinds(e){this.defaultOptions.binds=Object.assign(Object.assign({},this.defaultOptions.binds),e)}constructor(e){var t;this.source=e,this.type="gamepad",this.meta={},this.lastInteraction=performance.now(),this.options=JSON.parse(JSON.stringify(GamepadDevice.defaultOptions)),this.leftJoystick={x:0,y:0},this.rightJoystick={x:0,y:0},this.button=[...o,...n].reduce(((e,t)=>(e[t]=!1,e)),{}),this.leftTrigger=0,this.rightTrigger=0,this.leftShoulder=0,this.rightShoulder=0,this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._debounces=new Map,this.id="gamepad"+e.index,this.layout=null!==(t=function detectLayout(e){const t=(e||"").toLowerCase();return/(amazon|luna|1949)/.test(t)?"amazon_luna":/(logitech|046d|c216|logicool|^46d)/.test(t)?"logitech_g":/(joy-?con.*l|057e.*2006)/.test(t)?"nintendo_joycon_l":/(joy-?con.*r|057e.*2007)/.test(t)?"nintendo_joycon_r":/(wiiu?|0305|0306|0337)/.test(t)?"nintendo_wiiu":/(switch.*pro|nintendo|switch|057e|0300)/.test(t)?"nintendo_switch_pro":/(nvidia.*shield|nvidia|shield|0955)/.test(t)?"nvidia_shield":/(playstation.*5|dualsense|0df2|0ce6)/.test(t)?"playstation_5":/(playstation|sony|dualshock|054c|09cc|0ba0|0810)/.test(t)?"playstation_4":/(steam.*controller|steam|28de|1102|1142)/.test(t)?"steam_controller":/(xbox.*series|0b00|0b12)/.test(t)?"xbox_series":/(xbox.*360|0202|0283|0285|0288|0289|028e|028f|0291|0719)/.test(t)?"xbox_360":/(xbox|xinput|045e)/.test(t)?"xbox_one":void 0}(null==e?void 0:e.id))&&void 0!==t?t:"unknown",this.haptics=new GamepadHapticManager(e),this.supportsTriggerRumble=this.haptics.hasTriggerRumble}bindDown(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;t<e.length;t++)if(this.button[e[t]])return!0;return!1}pressedAll(e){for(let t=0;t<e.length;t++)if(!this.button[e[t]])return!1;return!0}configureBinds(e){this.options.binds=Object.assign(Object.assign({},this.options.binds),e)}on(e,t,i){return this._emitter.on(e,t,i),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return this._bindDownEmitter.on(e,t,i),this}offBindDown(e,t){return this._bindDownEmitter.off(e,t),this}playHaptic(...e){this.options.vibration.enabled&&e.forEach((e=>this.haptics.play(e,this.options.vibration.intensity)))}stopHaptics(){this.haptics.reset()}update(e,t){this._updatePresses(e,t),this.source=e,this.haptics.update()}clear(){this.button=[...n,...o].reduce(((e,t)=>(e[t]=!1,e)),{}),this.haptics.reset()}_updatePresses(r,d){var c,l,u,h,g,p,m;const v=this.options.joystick;for(let e=0;e<4;e++){const t=_scale(r.axes[e],v.deadzone),i=n[2*e+(t>0?1:0)];if(Math.abs(t)<v.pressThreshold)this.button[i]||this._debounces.delete(i),this.button[i]=!1;else{const t=v.autoRepeatDelayMs[+this.button[i]];if(this._debounce(i,t)&&this.button[i])continue;this.button[i]=!0,this.lastInteraction=d,this.options.emitEvents&&(this._emitter.hasListener(i)&&this._emitter.emit(i,{device:this,axis:e,axisCode:i}),Object.entries(this.options.binds).forEach((([t,s])=>{if(!s.includes(i))return;const n={device:this,type:"axis",axis:e,axisCode:i,name:t};this._bindDownEmitter.emit(t,n),this._emitter.emit("binddown",n)})))}}for(let e=0;e<16;e++){let t=e;const i=o[t];if(this.button[i]===(null===(c=r.buttons[e])||void 0===c?void 0:c.pressed))continue;this.lastInteraction=d;const s=null!==(u=null===(l=r.buttons[e])||void 0===l?void 0:l.pressed)&&void 0!==u&&u;this.button[i]=s,s&&this.options.emitEvents&&(this._emitter.hasListener(i)&&this._emitter.emit(i,{device:this,button:t,buttonCode:i}),Object.entries(this.options.binds).forEach((([e,s])=>{if(!s.includes(i))return;const n={device:this,type:"button",button:t,buttonCode:i,name:e};this._bindDownEmitter.emit(e,n),this._emitter.emit("binddown",n)})))}const f=this.options.trigger.deadzone;this.leftTrigger=_scale(r.buttons[a.LeftTrigger].value,f),this.rightTrigger=_scale(r.buttons[a.RightTrigger].value,f),this.leftShoulder=_scale(r.buttons[a.LeftShoulder].value,f),this.rightShoulder=_scale(r.buttons[a.RightShoulder].value,f);const y=v.deadzone;this.leftJoystick.x=_scale(null!==(h=r.axes[e])&&void 0!==h?h:0,y),this.leftJoystick.y=_scale(null!==(g=r.axes[t])&&void 0!==g?g:0,y),this.rightJoystick.x=_scale(null!==(p=r.axes[i])&&void 0!==p?p:0,y),this.rightJoystick.y=_scale(null!==(m=r.axes[s])&&void 0!==m?m:0,y)}_debounce(e,t){var i;const s=Date.now();return(null!==(i=this._debounces.get(e))&&void 0!==i?i:0)>s||(this._debounces.set(e,s+t),!1)}}function _scale(e,t){const i=(Math.abs(e)-t[0])/(t[1]-t[0]);return i>=0&&i<=1?Math.sign(e)*i:i>1?1*Math.sign(e):0}GamepadDevice.defaultOptions={emitEvents:!0,joystick:{deadzone:[0,1],pressThreshold:.5,autoRepeatDelayMs:[400,100]},trigger:{deadzone:[0,1]},vibration:{enabled:!0,intensity:1},binds:{"navigate.trigger":["Face1"],"navigate.back":["Face2"],"navigate.up":["DpadUp","LeftStickUp"],"navigate.left":["DpadLeft","LeftStickLeft"],"navigate.down":["DpadDown","LeftStickDown"],"navigate.right":["DpadRight","LeftStickRight"]}};const d={AltLeft:"AltLeft",AltRight:"AltRight",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",ArrowUp:"ArrowUp",Backquote:"Backquote",Backslash:"Backslash",Backspace:"Backspace",BracketLeft:"BracketLeft",BracketRight:"BracketRight",CapsLock:"CapsLock",Comma:"Comma",ContextMenu:"ContextMenu",ControlLeft:"ControlLeft",ControlRight:"ControlRight",Delete:"Delete",Digit0:"Digit0",Digit1:"Digit1",Digit2:"Digit2",Digit3:"Digit3",Digit4:"Digit4",Digit5:"Digit5",Digit6:"Digit6",Digit7:"Digit7",Digit8:"Digit8",Digit9:"Digit9",End:"End",Enter:"Enter",Equal:"Equal",Escape:"Escape",F1:"F1",F10:"F10",F11:"F11",F12:"F12",F13:"F13",F14:"F14",F15:"F15",F16:"F16",F17:"F17",F18:"F18",F19:"F19",F2:"F2",F20:"F20",F21:"F21",F22:"F22",F23:"F23",F24:"F24",F25:"F25",F26:"F26",F27:"F27",F28:"F28",F29:"F29",F3:"F3",F30:"F30",F31:"F31",F32:"F32",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",Home:"Home",IntlBackslash:"IntlBackslash",IntlRo:"IntlRo",IntlYen:"IntlYen",KeyA:"KeyA",KeyB:"KeyB",KeyC:"KeyC",KeyD:"KeyD",KeyE:"KeyE",KeyF:"KeyF",KeyG:"KeyG",KeyH:"KeyH",KeyI:"KeyI",KeyJ:"KeyJ",KeyK:"KeyK",KeyL:"KeyL",KeyM:"KeyM",KeyN:"KeyN",KeyO:"KeyO",KeyP:"KeyP",KeyQ:"KeyQ",KeyR:"KeyR",KeyS:"KeyS",KeyT:"KeyT",KeyU:"KeyU",KeyV:"KeyV",KeyW:"KeyW",KeyX:"KeyX",KeyY:"KeyY",KeyZ:"KeyZ",Lang1:"Lang1",Lang2:"Lang2",MediaTrackNext:"MediaTrackNext",MediaTrackPrevious:"MediaTrackPrevious",MetaLeft:"MetaLeft",MetaRight:"MetaRight",Minus:"Minus",NumLock:"NumLock",Numpad0:"Numpad0",Numpad1:"Numpad1",Numpad2:"Numpad2",Numpad3:"Numpad3",Numpad4:"Numpad4",Numpad5:"Numpad5",Numpad6:"Numpad6",Numpad7:"Numpad7",Numpad8:"Numpad8",Numpad9:"Numpad9",NumpadAdd:"NumpadAdd",NumpadComma:"NumpadComma",NumpadDecimal:"NumpadDecimal",NumpadDivide:"NumpadDivide",NumpadMultiply:"NumpadMultiply",NumpadSubtract:"NumpadSubtract",OSLeft:"OSLeft",Pause:"Pause",Period:"Period",Quote:"Quote",ScrollLock:"ScrollLock",Semicolon:"Semicolon",ShiftLeft:"ShiftLeft",ShiftRight:"ShiftRight",Slash:"Slash",Space:"Space",Tab:"Tab",VolumeDown:"VolumeDown",VolumeMute:"VolumeMute",VolumeUp:"VolumeUp",WakeUp:"WakeUp"};function __awaiter(e,t,i,s){return new(i||(i=Promise))((function(n,a){function fulfilled(e){try{step(s.next(e))}catch(e){a(e)}}function rejected(e){try{step(s.throw(e))}catch(e){a(e)}}function step(e){e.done?n(e.value):function adopt(e){return e instanceof i?e:new i((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const c=/ф|и|с|в|у|а|п|р|ш|о|л|д|ь|т|щ|з|й|к|ы|е|г|м|ц|ч|н|я|ё|х|ъ|б|ю|э|ж|и/i,l=/[a-z]/i,u=["fr","mg","lu"],h=["ab","ba","be","bg","ch","kk","ky","mk","mn","ru","sr","tg","tt","uk","uz"],g=["de","cs","sk","sl","hu","hr","bs","ro","sq","me","lt","lv","et"];let p,m;function inferKeyboardLayoutFromLang(e=function getLang(){var e;const t=navigator;return(null===(e=t.languages)||void 0===e?void 0:e.length)?t.languages[0]:t.userLanguage||t.language||t.browserLanguage}()){const t=(e||"").toLowerCase(),i=t.split("-")[0];return u.includes(i)||t.startsWith("nl-be")?"AZERTY":h.includes(i)?"JCUKEN":g.includes(i)||t.startsWith("sr-latn")?"QWERTZ":"QWERTY"}const v=new Set(["AZERTY","JCUKEN","QWERTY","QWERTZ"]);function getLayoutKeyLabel(e,t){var i,s;if(void 0===m){const e={ArrowLeft:"⬅",ArrowRight:"➡",ArrowUp:"⬆",ArrowDown:"⬇",AltLeft:"Left Alt",AltRight:"Right Alt",Backquote:"`",Backslash:"\\",Backspace:"Backspace",BracketLeft:"[",BracketRight:"]",CapsLock:"CapsLock",Comma:",",ContextMenu:"Context Menu",ControlLeft:"Left Ctrl",ControlRight:"Right Ctrl",Delete:"Delete",Digit0:"0",Digit1:"1",Digit2:"2",Digit3:"3",Digit4:"4",Digit5:"5",Digit6:"6",Digit7:"7",Digit8:"8",Digit9:"9",End:"End",Enter:"Enter",Equal:"=",Escape:"Esc",F1:"F1",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",F10:"F10",F11:"F11",F12:"F12",F13:"F13",F14:"F14",F15:"F15",F16:"F16",F17:"F17",F18:"F18",F19:"F19",F20:"F20",F21:"F21",F22:"F22",F23:"F23",F24:"F24",F25:"F25",F26:"F26",F27:"F27",F28:"F28",F29:"F29",F30:"F30",F31:"F31",F32:"F32",Home:"Home",IntlBackslash:"\\",IntlRo:"Ro",IntlYen:"¥",KeyA:"A",KeyB:"B",KeyC:"C",KeyD:"D",KeyE:"E",KeyF:"F",KeyG:"G",KeyH:"H",KeyI:"I",KeyJ:"J",KeyK:"K",KeyL:"L",KeyM:"M",KeyN:"N",KeyO:"O",KeyP:"P",KeyQ:"Q",KeyR:"R",KeyS:"S",KeyT:"T",KeyU:"U",KeyV:"V",KeyW:"W",KeyX:"X",KeyY:"Y",KeyZ:"Z",Lang1:"Language 1",Lang2:"Language 2",MediaTrackNext:"Next Track",MediaTrackPrevious:"Previous Track",MetaLeft:"Left "+getMetaKeyLabel(),MetaRight:"Right "+getMetaKeyLabel(),Minus:"-",NumLock:"Num Lock",Numpad0:"Num0",Numpad1:"Num1",Numpad2:"Num2",Numpad3:"Num3",Numpad4:"Num4",Numpad5:"Num5",Numpad6:"Num6",Numpad7:"Num7",Numpad8:"Num8",Numpad9:"Num9",NumpadAdd:"+",NumpadComma:",",NumpadDecimal:".",NumpadDivide:"/",NumpadMultiply:"*",NumpadSubtract:"-",OSLeft:"OS Left",Pause:"Pause",Period:".",Quote:"'",ScrollLock:"Scroll Lock",Semicolon:";",ShiftLeft:"Left Shift",ShiftRight:"Right Shift",Slash:"/",Space:"Space",Tab:"Tab",VolumeDown:"Volume Down",VolumeMute:"Volume Mute",VolumeUp:"Volume Up",WakeUp:"Wake Up"};m={AZERTY:{KeyA:"Q",KeyQ:"A",KeyW:"Z",KeyZ:"W",Backquote:"²",BracketLeft:"«",BracketRight:"»"},JCUKEN:{KeyA:"Ф",KeyB:"И",KeyC:"С",KeyD:"В",KeyE:"У",KeyF:"А",KeyG:"П",KeyH:"Р",KeyI:"Ш",KeyJ:"О",KeyK:"Л",KeyL:"Д",KeyM:"Ь",KeyN:"Т",KeyO:"Щ",KeyP:"З",KeyQ:"Й",KeyR:"К",KeyS:"Ы",KeyT:"Е",KeyU:"Г",KeyV:"М",KeyW:"Ц",KeyX:"Ч",KeyY:"Н",KeyZ:"Я",Backquote:"Ё",BracketLeft:"х",BracketRight:"ъ",Comma:"Б",Period:"Ю",Quote:"Э",Semicolon:"Ж",Slash:"И"},QWERTY:e,QWERTZ:{KeyY:"Z",KeyZ:"Y",BracketLeft:"ü",BracketRight:"ö",Slash:"-"}}}return null!==(s=null!==(i=m[t][e])&&void 0!==i?i:m.QWERTY[e])&&void 0!==s?s:e}function getMetaKeyLabel(){var e,t,i,s;const n=navigator,a=null!==(t=null===(e=n.platform)||void 0===e?void 0:e.toLowerCase())&&void 0!==t?t:"",o=null!==(s=null===(i=n.userAgent)||void 0===i?void 0:i.toLowerCase())&&void 0!==s?s:"";return a.includes("mac")?"⌘":a.includes("win")||a.includes("linux")?"⊞":o.includes("android")?"Search":o.includes("iphone")||o.includes("ipad")?"⌘":"⊞"}class KeyboardDevice{constructor(){this.type="keyboard",this.id="keyboard",this.meta={},this.lastInteraction=performance.now(),this.detected=!1,this.options={emitEvents:!0,detectLayoutOnKeypress:!0,binds:{"navigate.back":["Escape","Backspace"],"navigate.down":["ArrowDown","KeyS"],"navigate.left":["ArrowLeft","KeyA"],"navigate.right":["ArrowRight","KeyD"],"navigate.trigger":["Enter","Space"],"navigate.up":["ArrowUp","KeyW"]},repeatableBinds:["navigate.down","navigate.left","navigate.right","navigate.up"]},this.key=Object.keys(d).reduce(((e,t)=>(e[t]=!1,e)),{}),this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._deferredKeydown=[],this._layout=inferKeyboardLayoutFromLang(),this._layoutSource="lang",function requestKeyboardLayout(){return __awaiter(this,void 0,void 0,(function*(){const e=navigator;if(e.keyboard&&e.keyboard.getLayoutMap)try{const t=yield e.keyboard.getLayoutMap();p=t;const i=t.get("KeyQ"),s=t.get("KeyA"),n=t.get("KeyZ");if("a"===i&&"w"===n&&"q"===s)return"AZERTY";if("q"===i&&"y"===n&&"a"===s)return"QWERTZ";if("q"===i&&"z"===n&&"a"===s)return"QWERTY";if("й"===i&&"я"===n&&"ф"===s)return"JCUKEN"}catch(e){}}))}().then((e=>{void 0!==e&&(this._layoutSource="browser",this._layout=e,this.options.detectLayoutOnKeypress=!1,this._emitter.emit("layoutdetected",{layoutSource:"browser",layout:e,device:this}))})),this._configureEventListeners()}get layout(){return this._layout}set layout(e){this._layoutSource="manual",this._layout=e,this.options.detectLayoutOnKeypress=!1}get layoutSource(){return this._layoutSource}bindDown(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;t<e.length;t++)if(this.key[e[t]])return!0;return!1}pressedAll(e){for(let t=0;t<e.length;t++)if(!this.key[e[t]])return!1;return!0}configureBinds(e){this.options.binds=Object.assign(Object.assign({},this.options.binds),e)}playHaptic(){}on(e,t,i){return this._emitter.on(e,t,i),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return this._bindDownEmitter.on(e,t,i),this}offBindDown(e,t){return this._bindDownEmitter.off(e,t),this}getKeyLabel(e,t){var i;return t?getLayoutKeyLabel(e,t):null!==(i=function getNavigatorKeyLabel(e){const t=null==p?void 0:p.get(e);return void 0===t?void 0:function _toLocaleTitleCase(e){return e.split(/\s+/).map((e=>e.charAt(0).toLocaleUpperCase()+e.slice(1))).join(" ")}(t)}(e))&&void 0!==i?i:getLayoutKeyLabel(e,null!=t?t:this._layout)}update(e){this._deferredKeydown.length>0&&(this._deferredKeydown.forEach((e=>this._processDeferredKeydownEvent(e))),this._deferredKeydown.length=0)}clear(){for(const e of Object.keys(d))this.key[e]=!1}_configureEventListeners(){const e=this.key,t=this._deferredKeydown;window.addEventListener("keydown",(i=>{e[i.code]=!0,t.push(i),this.lastInteraction=performance.now()}),{passive:!0,capture:!0}),window.addEventListener("keyup",(t=>{e[t.code]=!1,this.lastInteraction=performance.now()}),{passive:!0,capture:!0})}_processDeferredKeydownEvent(e){const t=e.code;if(!e.repeat){if(this.options.detectLayoutOnKeypress&&"lang"===this._layoutSource){const t=function detectKeyboardLayoutFromKeydown(e){const t=e.key.toLowerCase(),i=e.code;return c.test(t)?(v.delete("AZERTY"),v.delete("QWERTY"),v.delete("QWERTZ")):"Backquote"===i&&"²"===t||"BracketLeft"===i&&"«"===t||"BracketRight"===i&&"»"===t||"KeyA"===i&&"q"===t||"KeyQ"===i&&"a"===t||"KeyW"===i&&"z"===t||"KeyZ"===i&&"w"===t?(v.delete("JCUKEN"),v.delete("QWERTY"),v.delete("QWERTZ")):"BracketLeft"===i&&"ü"===t||"BracketRight"===i&&"ö"===t||"KeyY"===i&&"z"===t||"KeyZ"===i&&"y"===t||"Slash"===i&&"-"===t?(v.delete("AZERTY"),v.delete("JCUKEN"),v.delete("QWERTY")):"BracketLeft"===i&&"["===t||"BracketRight"===i&&"]"===t||"KeyZ"===i&&"z"===t?(v.delete("AZERTY"),v.delete("JCUKEN"),v.delete("QWERTZ")):"KeyQ"===i&&"q"===t||"KeyW"===i&&"w"===t?(v.delete("AZERTY"),v.delete("JCUKEN")):"KeyY"===i&&"y"===t?(v.delete("QWERTZ"),v.delete("JCUKEN")):l.test(t)&&v.delete("JCUKEN"),1===v.size?[...v][0]:void 0}(e);void 0!==t&&(this._layout=t,this._layoutSource="keypress",this.options.detectLayoutOnKeypress=!1,this._emitter.emit("layoutdetected",{layout:t,layoutSource:"keypress",device:this}))}this.options.emitEvents&&this._emitter.hasListener(t)&&this._emitter.emit(t,{device:this,keyCode:t,keyLabel:this.getKeyLabel(t),event:e})}this.options.emitEvents&&Object.entries(this.options.binds).forEach((([i,s])=>{if(!s.includes(t))return;if(e.repeat&&!this.options.repeatableBinds.includes(i))return;const n={device:this,keyCode:t,keyLabel:this.getKeyLabel(t),event:e,name:i,repeat:e.repeat};this._bindDownEmitter.emit(i,n),this._emitter.emit("binddown",n)}))}}KeyboardDevice.global=new KeyboardDevice;class InputDeviceManager{constructor(){this.hasMouseLikePointer=window.matchMedia("(pointer: fine) and (hover: hover)").matches,this.isTouchCapable=("ontouchstart"in window||window.TouchEvent)&&navigator.maxTouchPoints>0,this.isMobile=(()=>{let e=!1;var t;return t=navigator.userAgent||navigator.vendor,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm(os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s)|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp(i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac(|\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt(|\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg(g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v)|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v)|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-|)|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0),e})(),this.keyboard=KeyboardDevice.global,this.options={clearInputOnBackground:!0,requireDocumentFocus:!0},this._devices=[],this._gamepadDevices=[],this._gamepadDeviceMap=new Map,this._customDevices=[],this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._hasFocus=!1,window.addEventListener("gamepadconnected",(()=>this._pollGamepads(performance.now()))),window.addEventListener("gamepaddisconnected",(e=>this._removeGamepad(e.gamepad.index))),!this.isMobile&&this.hasMouseLikePointer?this.add(this.keyboard):window.addEventListener("keydown",(()=>this.add(this.keyboard)),{once:!0})}get devices(){return this._devices}get gamepads(){return this._gamepadDevices}get custom(){return this._customDevices}get lastInteractedDevice(){return this._lastInteractedDevice}on(e,t){return this._emitter.on(e,t),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindDownEmitter.on(e,t,i))),this}offBindDown(e,t){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindDownEmitter.off(e,t))),this}emitBindDown(e){this._bindDownEmitter.emit(e.name,e)}add(e){-1===this._devices.indexOf(e)&&(this._devices.push(e),e instanceof KeyboardDevice?(e.detected=!0,e.on("binddown",(e=>this.emitBindDown(e)))):e instanceof GamepadDevice?(this._gamepadDeviceMap.set(e.source.index,e),this._gamepadDevices.push(e),e.on("binddown",(e=>this.emitBindDown(e)))):this._customDevices.push(e),this._emitter.emit("deviceadded",{device:e}))}remove(e){if(!(e instanceof KeyboardDevice||e instanceof GamepadDevice)){const t=this._customDevices.indexOf(e);-1!==t&&this._customDevices.splice(t,1)}const t=this._devices.indexOf(e);-1!==t&&(this._devices.splice(t,1),this._emitter.emit("deviceremoved",{device:e}))}update(){if(this.options.requireDocumentFocus&&!document.hasFocus())return this._hasFocus&&this.options.clearInputOnBackground&&this.devices.forEach((e=>{var t;return null===(t=e.clear)||void 0===t?void 0:t.call(e)})),this._hasFocus=!1,this._devices;this._hasFocus=!0;const e=performance.now();return this.keyboard.detected&&this.keyboard.update(e),this._gamepadDevices.length>0&&this._pollGamepads(e),this._customDevices.length>0&&this._customDevices.forEach((t=>t.update(e))),this._updateLastInteracted(),this._devices}_updateLastInteracted(){if(0===this._devices.length)return;let e;if(1===this._devices.length)e=this._devices[0];else for(const t of this._devices)(void 0===e||t.lastInteraction>e.lastInteraction)&&(e=t);e!==this._lastInteractedDevice&&this._emitter.emit("lastdevicechanged",{device:e}),this._lastInteractedDevice=e}_pollGamepads(e){if(!document.hasFocus())return this._gamepadDevices;if(void 0===navigator.getGamepads)return this._gamepadDevices;for(const t of navigator.getGamepads())if(null!=t)if(this._gamepadDeviceMap.has(t.index)){this._gamepadDeviceMap.get(t.index).update(t,e)}else{const i=new GamepadDevice(t);this.add(i),i.update(t,e)}return this._gamepadDevices}_removeGamepad(e){const t=this._gamepadDeviceMap.get(e);if(!t)return;const i=this._gamepadDevices.indexOf(t);-1!==i&&this._gamepadDevices.splice(i,1),this.remove(t),this._gamepadDeviceMap.delete(e)}}InputDeviceManager.global=new InputDeviceManager;const f=InputDeviceManager.global;function getAllNavigatables(e,t=[]){var i;for(const s of null!==(i=e.children)&&void 0!==i?i:[])s.isNavigatable?t.push(s):getAllNavigatables(s,t);return t}function getFirstNavigatable(e,t,i,{minimumDistance:s=0}={}){return function chooseFirstNavigatableInDirection(e,t,i,s=0){var n,a,o,r,d,c,l,u,h;const g=e.filter((e=>e.isNavigatable&&null!=e.parent&&isVisible(e))),p=g.find((e=>e===t));if(void 0===p)return g.sort(((e,t)=>t.navigationPriority-e.navigationPriority)),g[0];if(void 0===i&&p)return p;const m=null!=p?p:g[Math.floor(Math.random()*g.length)];if(void 0===p)return null!==(n=e[0])&&void 0!==n?n:m;const v=p.getGlobalPosition(),f=p.getBounds(),y={x:v.x+f.left+f.width/2,y:v.y+f.top+f.height/2},b=g.filter((e=>e!==p)).map((e=>{const t=e.getGlobalPosition(),i=e.getBounds(),s={x:t.x+i.left+i.width/2,y:t.y+i.top+i.height/2};return{element:e,bounds:i,center:s,xDistSqrd:weightedDistSquared(s,y,1,3),yDistSqrd:weightedDistSquared(s,y,3,1)}}));switch(i){case"navigate.up":return null!==(o=null===(a=b.filter((e=>e.center.y<y.y-s)).sort(((e,t)=>e.yDistSqrd-t.yDistSqrd))[0])||void 0===a?void 0:a.element)&&void 0!==o?o:m;case"navigate.left":return null!==(d=null===(r=b.filter((e=>e.center.x<y.x-s)).sort(((e,t)=>e.xDistSqrd-t.xDistSqrd))[0])||void 0===r?void 0:r.element)&&void 0!==d?d:m;case"navigate.right":return null!==(l=null===(c=b.filter((e=>e.center.x>y.x+s)).sort(((e,t)=>e.xDistSqrd-t.xDistSqrd))[0])||void 0===c?void 0:c.element)&&void 0!==l?l:m;case"navigate.down":return null!==(h=null===(u=b.filter((e=>e.center.y>y.y+s)).sort(((e,t)=>e.yDistSqrd-t.yDistSqrd))[0])||void 0===u?void 0:u.element)&&void 0!==h?h:m;default:return p}}(getAllNavigatables(e),t,i,s)}function isChildOf(e,t){for(;null!=e;){if(e===t)return!0;e=e.parent}return!1}function weightedDistSquared(e,t,i,s){const n=t.x-e.x,a=t.y-e.y;return n*n*i+a*a*s}function isVisible(e){for(;null!=e;){if(!e.visible)return!1;e=e.parent}return!0}const y=["navigate.left","navigate.right","navigate.up","navigate.down","navigate.back","navigate.trigger"];class NavigationManager{constructor(){this.options={enableFallbackOverEffect:!0,minimumDirectionDistance:10},this.enabled=!1,this._responders=[]}get focusTarget(){var e,t;return null!==(t=null===(e=this.responders.find((e=>null!=e.focusTarget)))||void 0===e?void 0:e.focusTarget)&&void 0!==t?t:this._rootFocused}set focusTarget(e){const t=this.focusTarget;if(t===e)return;const i=this.getResponderStage();if(i){if(e){if(!e.isNavigatable)return;if(!isChildOf(e,i))return}null!=this.firstResponder?this.firstResponder.focusTarget=e:this._rootFocused=e,t&&this._emitBlur(t),e&&this._emitFocus(e)}}get firstResponder(){return this._responders[0]}get responders(){return this._responders}configureWithRoot(e){null==this._root&&f.onBindDown(y,(e=>this._propagate(e))),this._root=e,this.enabled=!0}popResponder(){var e,t,i,s,n;const a=this.focusTarget,o=this._responders.shift();o.focusTarget=void 0;const r=this.focusTarget;return null===(e=null==o?void 0:o.resignedAsFirstResponder)||void 0===e||e.call(o),this._invalidateFocusedIfNeeded(),this.firstResponder&&(null===(i=(t=this.firstResponder).becameFirstResponder)||void 0===i||i.call(t)),a!==r&&(null!==(n=null===(s=this.firstResponder)||void 0===s?void 0:s.autoFocus)&&void 0!==n?n:void 0===r)&&this.autoFocus(),o}pushResponder(e){var t,i,s;const n=e;if(this._responders.includes(n))throw new Error("Responder already in stack.");const a=this.firstResponder;this._responders.unshift(n),null===(t=null==a?void 0:a.resignedAsFirstResponder)||void 0===t||t.call(a),this._invalidateFocusedIfNeeded(),null===(i=n.becameFirstResponder)||void 0===i||i.call(n),(null===(s=n.autoFocus)||void 0===s||s)&&this.autoFocus()}autoFocus(){if(!b.enabled)return;const e=this.getResponderStage();if(!e)return;const t=getFirstNavigatable(e);void 0!==t?t!==this.focusTarget&&(this.focusTarget=t):console.debug("navigation: no navigatable containers found")}getResponderStage(){var e;return null!==(e=this.responders.find(isContainer))&&void 0!==e?e:this._root}_propagate({device:e,name:t}){var i;if(this.enabled){for(const s of this._responders)if(null===(i=s.handledNavigationIntent)||void 0===i?void 0:i.call(s,t,e))return;if(null==this._root)throw this.enabled=!1,new Error("Navigation requires root responder to be configured");{const e=this.getResponderStage();this._handleGlobalIntent(e,t)}}}_handleGlobalIntent(e,t){var i;this._invalidateFocusedIfNeeded(e);const s=this.focusTarget;if(void 0===s)return void this.autoFocus();if("navigate.back"===t)return this._emitBlur(s),void(this.focusTarget=void 0);if("navigate.trigger"===t)return void this._emitTrigger(s);const n=null!==(i=getFirstNavigatable(e,s,t,{minimumDistance:this.options.minimumDirectionDistance}))&&void 0!==i?i:s;n!==s&&(this.focusTarget=n)}_emitBlur(e){const t=e.eventNames();t.includes("pointerout")?e.emit("pointerout"):t.includes("mouseout")?e.emit("mouseout"):this.options.enableFallbackOverEffect&&(e.alpha=1),e.emit("deviceout")}_emitFocus(e){const t=e.eventNames();t.includes("pointerover")?e.emit("pointerover"):t.includes("mouseover")?e.emit("mouseover"):this.options.enableFallbackOverEffect&&(e.alpha=.5),e.emit("deviceover")}_emitTrigger(e){const t=e.eventNames();t.includes("pointerdown")?e.emit("pointerdown"):t.includes("mousedown")?e.emit("mousedown"):this.options.enableFallbackOverEffect&&(e.alpha=.75),e.emit("devicedown")}_invalidateFocusedIfNeeded(e=this.getResponderStage()){if(!e)return;const t=this.focusTarget;t&&!isChildOf(t,e)&&(this._emitBlur(t),this.focusTarget=void 0)}}function isContainer(e){return"children"in e}NavigationManager.global=new NavigationManager;const b=NavigationManager.global;let w=!1;exports.Button=a,exports.GamepadDevice=GamepadDevice,exports.InputDevice=f,exports.KeyCode=d,exports.KeyboardDevice=KeyboardDevice,exports.UINavigation=b,exports.getAllNavigatables=getAllNavigatables,exports.getFirstNavigatable=getFirstNavigatable,exports.isChildOf=isChildOf,exports.isVisible=isVisible,exports.navigationIntents=y,exports.registerPixiJSNavigationMixin=function registerPixiJSNavigationMixin(e){if(w)return;w=!0;const t=e.prototype;t.navigationPriority=0,t.navigationMode="auto",Object.defineProperty(t,"isNavigatable",{get:function(){if("target"===this.navigationMode)return!0;if("auto"!==this.navigationMode)return!1;const e=this.eventNames();return e.length>0&&(e.includes("pointerdown")||e.includes("mousedown"))},configurable:!0,enumerable:!1})};
|
|
1
|
+
"use strict";const e=0,t=1,i=2,s=3,n=["LeftStickLeft","LeftStickRight","LeftStickUp","LeftStickDown","RightStickLeft","RightStickRight","RightStickUp","RightStickDown"],o={Face1:0,Face2:1,Face3:2,Face4:3,LeftShoulder:4,RightShoulder:5,LeftTrigger:6,RightTrigger:7,Back:8,Start:9,LeftStickClick:10,RightStickClick:11,DpadUp:12,DpadDown:13,DpadLeft:14,DpadRight:15},a=["Face1","Face2","Face3","Face4","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStickClick","RightStickClick","DpadUp","DpadDown","DpadLeft","DpadRight"];class EventEmitter{constructor(){this._listeners={}}hasListener(e){return void 0!==this._listeners[e]}emit(e,t){var i;null===(i=this._listeners[e])||void 0===i||i.forEach((e=>e(t)))}on(e,t,i){var s,n;if(this._listeners[e]||(this._listeners[e]=[]),null==i?void 0:i.once){const onceFn=i=>{t(i),this.off(e,onceFn)};null===(s=this._listeners[e])||void 0===s||s.push(onceFn)}else null===(n=this._listeners[e])||void 0===n||n.push(t)}off(e,t){var i,s;this._listeners[e]=void 0===t||null===(i=this._listeners[e])||void 0===i?void 0:i.filter((e=>e!==t)),0===(null===(s=this._listeners[e])||void 0===s?void 0:s.length)&&(this._listeners[e]=void 0)}}const r=2e3;class GamepadHapticManager{constructor(e){var t,i,s;this.activeEffects=[],this.state={rumble:0,buzz:0,leftTrigger:0,rightTrigger:0,expires:0},this.gamepad=e,this.hapticEvent="vibrationActuator"in e?(null===(s=null===(i=null===(t=e.vibrationActuator)||void 0===t?void 0:t.effects)||void 0===i?void 0:i.includes)||void 0===s?void 0:s.call(i,"trigger-rumble"))?"trigger-rumble":"dual-rumble":void 0}play(e,t){var i;const s=Math.max(0,null!==(i=e.startDelay)&&void 0!==i?i:0),n=performance.now()+s;this.activeEffects.push(Object.assign(Object.assign({},e),{start:n,end:n+Math.max(e.duration,0),startDelay:void 0})),this.intensity!==t&&(this.intensity=Math.max(0,Math.min(1,t))),s||0!==this.activeEffects.length||this.update()}reset(){var e,t;this.activeEffects.length=0,this.state.rumble=0,this.state.buzz=0,this.state.leftTrigger=0,this.state.rightTrigger=0,this.gamepad.vibrationActuator?(this.gamepad.vibrationActuator.playEffect("dual-rumble",{duration:1,strongMagnitude:0,weakMagnitude:0,leftTrigger:0,rightTrigger:0}),this.gamepad.vibrationActuator.reset()):this.gamepad.hapticActuators&&(null===(t=null===(e=this.gamepad.hapticActuators[0])||void 0===e?void 0:e.pulse)||void 0===t||t.call(e,0,100))}update(){var e,t;const i=performance.now();let s=0,n=0,o=0,a=0,d=0,c=!1;for(let e=0;e<this.activeEffects.length;e++){const t=this.activeEffects[e];t.end<=i?c=!0:t.start>i||("trigger-rumble"===this.hapticEvent&&(t.leftTrigger&&t.leftTrigger>o&&(o=t.leftTrigger),t.rightTrigger&&t.rightTrigger>a&&(a=t.rightTrigger)),t.rumble&&t.rumble>s&&(s=t.rumble),t.buzz&&t.buzz>n&&(n=t.buzz),t.end-i>d&&(d=t.end-i))}if(c&&(this.activeEffects=this.activeEffects.filter((e=>e.end>=i))),this.state.rumble!==s||this.state.buzz!==n||this.state.leftTrigger!==o||this.state.rightTrigger!==a||this.state.expires<=i&&s+n+o+a>0)if(this.state.rumble=s,this.state.buzz=n,this.state.leftTrigger=o,this.state.rightTrigger=a,void 0!==this.hapticEvent)this.state.expires=i+r,this.gamepad.vibrationActuator.playEffect(this.hapticEvent,{duration:r,strongMagnitude:s*this.intensity,weakMagnitude:n*this.intensity,leftTrigger:o*this.intensity,rightTrigger:a*this.intensity});else if(this.gamepad.hapticActuators){const o=Math.min(d,r),a=Math.max(s,n)*this.intensity;this.state.expires=i+d,null===(t=null===(e=this.gamepad.hapticActuators[0])||void 0===e?void 0:e.pulse)||void 0===t||t.call(e,a,o)}}}const d={clearInputOnBackground:!0,requireDocumentFocus:!0,supressHapticsInactivityPeriodMs:0};class GamepadDevice{static configureDefaultBinds(e){this.defaultOptions.binds=Object.assign(Object.assign({},this.defaultOptions.binds),e)}constructor(e){var t;this.source=e,this.type="gamepad",this.meta={},this.lastInteraction=performance.now(),this.options=JSON.parse(JSON.stringify(GamepadDevice.defaultOptions)),this.leftJoystick={x:0,y:0},this.rightJoystick={x:0,y:0},this.button=[...a,...n].reduce(((e,t)=>(e[t]=!1,e)),{}),this.leftTrigger=0,this.rightTrigger=0,this.leftShoulder=0,this.rightShoulder=0,this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._debounces=new Map,this.id="gamepad"+e.index,this.layout=null!==(t=function detectLayout(e){const t=(e||"").toLowerCase();return/(amazon|luna|1949)/.test(t)?"amazon_luna":/(logitech|046d|c216|logicool|^46d)/.test(t)?"logitech_g":/(joy-?con.*l|057e.*2006)/.test(t)?"nintendo_joycon_l":/(joy-?con.*r|057e.*2007)/.test(t)?"nintendo_joycon_r":/(wiiu?|0305|0306|0337)/.test(t)?"nintendo_wiiu":/(switch.*pro|nintendo|switch|057e|0300)/.test(t)?"nintendo_switch_pro":/(nvidia.*shield|nvidia|shield|0955)/.test(t)?"nvidia_shield":/(playstation.*5|dualsense|0df2|0ce6)/.test(t)?"playstation_5":/(playstation|sony|dualshock|054c|09cc|0ba0|0810)/.test(t)?"playstation_4":/(steam.*controller|steam|28de|1102|1142)/.test(t)?"steam_controller":/(xbox.*series|0b00|0b12)/.test(t)?"xbox_series":/(xbox.*360|0202|0283|0285|0288|0289|028e|028f|0291|0719)/.test(t)?"xbox_360":/(xbox|xinput|045e)/.test(t)?"xbox_one":void 0}(null==e?void 0:e.id))&&void 0!==t?t:"unknown",this._haptics=new GamepadHapticManager(e),this.supportsTriggerRumble="trigger-rumble"===this._haptics.hapticEvent}bindDown(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;t<e.length;t++)if(this.button[e[t]])return!0;return!1}pressedAll(e){for(let t=0;t<e.length;t++)if(!this.button[e[t]])return!1;return!0}configureBinds(e){this.options.binds=Object.assign(Object.assign({},this.options.binds),e)}on(e,t,i){return this._emitter.on(e,t,i),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return this._bindDownEmitter.on(e,t,i),this}offBindDown(e,t){return this._bindDownEmitter.off(e,t),this}playHaptic(...e){this.options.vibration.enabled&&(d.supressHapticsInactivityPeriodMs>0&&performance.now()-this.lastInteraction>d.supressHapticsInactivityPeriodMs||e.forEach((e=>this._haptics.play(e,this.options.vibration.intensity))))}stopHaptics(){this._haptics.reset()}update(e,t){this.source=e,this._poll(e,t),this._haptics.update()}clear(){this.button=[...n,...a].reduce(((e,t)=>(e[t]=!1,e)),{}),this._haptics.reset()}_poll(r,d){var c,l,u,h,g,p,m;const v=this.options.joystick;for(let e=0;e<4;e++){const t=_scale(r.axes[e],v.deadzone),i=n[2*e+(t>0?1:0)];if(Math.abs(t)<v.pressThreshold)this.button[i]||this._debounces.delete(i),this.button[i]=!1;else{const t=v.autoRepeatDelayMs[+this.button[i]];if(this._debounce(i,t)&&this.button[i])continue;this.button[i]=!0,this.lastInteraction=d,this.options.emitEvents&&(this._emitter.hasListener(i)&&this._emitter.emit(i,{device:this,axis:e,axisCode:i}),Object.entries(this.options.binds).forEach((([t,s])=>{if(!s.includes(i))return;const n={device:this,type:"axis",axis:e,axisCode:i,name:t};this._bindDownEmitter.emit(t,n),this._emitter.emit("binddown",n)})))}}for(let e=0;e<16;e++){let t=e;const i=a[t];if(this.button[i]===(null===(c=r.buttons[e])||void 0===c?void 0:c.pressed))continue;this.lastInteraction=d;const s=null!==(u=null===(l=r.buttons[e])||void 0===l?void 0:l.pressed)&&void 0!==u&&u;this.button[i]=s,s&&this.options.emitEvents&&(this._emitter.hasListener(i)&&this._emitter.emit(i,{device:this,button:t,buttonCode:i}),Object.entries(this.options.binds).forEach((([e,s])=>{if(!s.includes(i))return;const n={device:this,type:"button",button:t,buttonCode:i,name:e};this._bindDownEmitter.emit(e,n),this._emitter.emit("binddown",n)})))}const f=this.options.trigger.deadzone;this.leftTrigger=_scale(r.buttons[o.LeftTrigger].value,f),this.rightTrigger=_scale(r.buttons[o.RightTrigger].value,f),this.leftShoulder=_scale(r.buttons[o.LeftShoulder].value,f),this.rightShoulder=_scale(r.buttons[o.RightShoulder].value,f);const y=v.deadzone;this.leftJoystick.x=_scale(null!==(h=r.axes[e])&&void 0!==h?h:0,y),this.leftJoystick.y=_scale(null!==(g=r.axes[t])&&void 0!==g?g:0,y),this.rightJoystick.x=_scale(null!==(p=r.axes[i])&&void 0!==p?p:0,y),this.rightJoystick.y=_scale(null!==(m=r.axes[s])&&void 0!==m?m:0,y)}_debounce(e,t){var i;const s=Date.now();return(null!==(i=this._debounces.get(e))&&void 0!==i?i:0)>s||(this._debounces.set(e,s+t),!1)}}function _scale(e,t){const i=(Math.abs(e)-t[0])/(t[1]-t[0]);return i>=0&&i<=1?Math.sign(e)*i:i>1?1*Math.sign(e):0}GamepadDevice.defaultOptions={emitEvents:!0,joystick:{deadzone:[0,1],pressThreshold:.5,autoRepeatDelayMs:[400,100]},trigger:{deadzone:[0,1]},vibration:{enabled:!0,intensity:1},binds:{"navigate.trigger":["Face1"],"navigate.back":["Face2"],"navigate.up":["DpadUp","LeftStickUp"],"navigate.left":["DpadLeft","LeftStickLeft"],"navigate.down":["DpadDown","LeftStickDown"],"navigate.right":["DpadRight","LeftStickRight"]}};const c={AltLeft:"AltLeft",AltRight:"AltRight",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",ArrowUp:"ArrowUp",Backquote:"Backquote",Backslash:"Backslash",Backspace:"Backspace",BracketLeft:"BracketLeft",BracketRight:"BracketRight",CapsLock:"CapsLock",Comma:"Comma",ContextMenu:"ContextMenu",ControlLeft:"ControlLeft",ControlRight:"ControlRight",Delete:"Delete",Digit0:"Digit0",Digit1:"Digit1",Digit2:"Digit2",Digit3:"Digit3",Digit4:"Digit4",Digit5:"Digit5",Digit6:"Digit6",Digit7:"Digit7",Digit8:"Digit8",Digit9:"Digit9",End:"End",Enter:"Enter",Equal:"Equal",Escape:"Escape",F1:"F1",F10:"F10",F11:"F11",F12:"F12",F13:"F13",F14:"F14",F15:"F15",F16:"F16",F17:"F17",F18:"F18",F19:"F19",F2:"F2",F20:"F20",F21:"F21",F22:"F22",F23:"F23",F24:"F24",F25:"F25",F26:"F26",F27:"F27",F28:"F28",F29:"F29",F3:"F3",F30:"F30",F31:"F31",F32:"F32",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",Home:"Home",IntlBackslash:"IntlBackslash",IntlRo:"IntlRo",IntlYen:"IntlYen",KeyA:"KeyA",KeyB:"KeyB",KeyC:"KeyC",KeyD:"KeyD",KeyE:"KeyE",KeyF:"KeyF",KeyG:"KeyG",KeyH:"KeyH",KeyI:"KeyI",KeyJ:"KeyJ",KeyK:"KeyK",KeyL:"KeyL",KeyM:"KeyM",KeyN:"KeyN",KeyO:"KeyO",KeyP:"KeyP",KeyQ:"KeyQ",KeyR:"KeyR",KeyS:"KeyS",KeyT:"KeyT",KeyU:"KeyU",KeyV:"KeyV",KeyW:"KeyW",KeyX:"KeyX",KeyY:"KeyY",KeyZ:"KeyZ",Lang1:"Lang1",Lang2:"Lang2",MediaTrackNext:"MediaTrackNext",MediaTrackPrevious:"MediaTrackPrevious",MetaLeft:"MetaLeft",MetaRight:"MetaRight",Minus:"Minus",NumLock:"NumLock",Numpad0:"Numpad0",Numpad1:"Numpad1",Numpad2:"Numpad2",Numpad3:"Numpad3",Numpad4:"Numpad4",Numpad5:"Numpad5",Numpad6:"Numpad6",Numpad7:"Numpad7",Numpad8:"Numpad8",Numpad9:"Numpad9",NumpadAdd:"NumpadAdd",NumpadComma:"NumpadComma",NumpadDecimal:"NumpadDecimal",NumpadDivide:"NumpadDivide",NumpadMultiply:"NumpadMultiply",NumpadSubtract:"NumpadSubtract",OSLeft:"OSLeft",Pause:"Pause",Period:"Period",Quote:"Quote",ScrollLock:"ScrollLock",Semicolon:"Semicolon",ShiftLeft:"ShiftLeft",ShiftRight:"ShiftRight",Slash:"Slash",Space:"Space",Tab:"Tab",VolumeDown:"VolumeDown",VolumeMute:"VolumeMute",VolumeUp:"VolumeUp",WakeUp:"WakeUp"};function __awaiter(e,t,i,s){return new(i||(i=Promise))((function(n,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s.throw(e))}catch(e){o(e)}}function step(e){e.done?n(e.value):function adopt(e){return e instanceof i?e:new i((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const l=/ф|и|с|в|у|а|п|р|ш|о|л|д|ь|т|щ|з|й|к|ы|е|г|м|ц|ч|н|я|ё|х|ъ|б|ю|э|ж|и/i,u=/[a-z]/i,h=["fr","mg","lu"],g=["ab","ba","be","bg","ch","kk","ky","mk","mn","ru","sr","tg","tt","uk","uz"],p=["de","cs","sk","sl","hu","hr","bs","ro","sq","me","lt","lv","et"];let m,v;function inferKeyboardLayoutFromLang(e=function getLang(){var e;const t=navigator;return(null===(e=t.languages)||void 0===e?void 0:e.length)?t.languages[0]:t.userLanguage||t.language||t.browserLanguage}()){const t=(e||"").toLowerCase(),i=t.split("-")[0];return h.includes(i)||t.startsWith("nl-be")?"AZERTY":g.includes(i)?"JCUKEN":p.includes(i)||t.startsWith("sr-latn")?"QWERTZ":"QWERTY"}const f=new Set(["AZERTY","JCUKEN","QWERTY","QWERTZ"]);function getLayoutKeyLabel(e,t){var i,s;if(void 0===v){const e={ArrowLeft:"⬅",ArrowRight:"➡",ArrowUp:"⬆",ArrowDown:"⬇",AltLeft:"Left Alt",AltRight:"Right Alt",Backquote:"`",Backslash:"\\",Backspace:"Backspace",BracketLeft:"[",BracketRight:"]",CapsLock:"CapsLock",Comma:",",ContextMenu:"Context Menu",ControlLeft:"Left Ctrl",ControlRight:"Right Ctrl",Delete:"Delete",Digit0:"0",Digit1:"1",Digit2:"2",Digit3:"3",Digit4:"4",Digit5:"5",Digit6:"6",Digit7:"7",Digit8:"8",Digit9:"9",End:"End",Enter:"Enter",Equal:"=",Escape:"Esc",F1:"F1",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",F10:"F10",F11:"F11",F12:"F12",F13:"F13",F14:"F14",F15:"F15",F16:"F16",F17:"F17",F18:"F18",F19:"F19",F20:"F20",F21:"F21",F22:"F22",F23:"F23",F24:"F24",F25:"F25",F26:"F26",F27:"F27",F28:"F28",F29:"F29",F30:"F30",F31:"F31",F32:"F32",Home:"Home",IntlBackslash:"\\",IntlRo:"Ro",IntlYen:"¥",KeyA:"A",KeyB:"B",KeyC:"C",KeyD:"D",KeyE:"E",KeyF:"F",KeyG:"G",KeyH:"H",KeyI:"I",KeyJ:"J",KeyK:"K",KeyL:"L",KeyM:"M",KeyN:"N",KeyO:"O",KeyP:"P",KeyQ:"Q",KeyR:"R",KeyS:"S",KeyT:"T",KeyU:"U",KeyV:"V",KeyW:"W",KeyX:"X",KeyY:"Y",KeyZ:"Z",Lang1:"Language 1",Lang2:"Language 2",MediaTrackNext:"Next Track",MediaTrackPrevious:"Previous Track",MetaLeft:"Left "+getMetaKeyLabel(),MetaRight:"Right "+getMetaKeyLabel(),Minus:"-",NumLock:"Num Lock",Numpad0:"Num0",Numpad1:"Num1",Numpad2:"Num2",Numpad3:"Num3",Numpad4:"Num4",Numpad5:"Num5",Numpad6:"Num6",Numpad7:"Num7",Numpad8:"Num8",Numpad9:"Num9",NumpadAdd:"+",NumpadComma:",",NumpadDecimal:".",NumpadDivide:"/",NumpadMultiply:"*",NumpadSubtract:"-",OSLeft:"OS Left",Pause:"Pause",Period:".",Quote:"'",ScrollLock:"Scroll Lock",Semicolon:";",ShiftLeft:"Left Shift",ShiftRight:"Right Shift",Slash:"/",Space:"Space",Tab:"Tab",VolumeDown:"Volume Down",VolumeMute:"Volume Mute",VolumeUp:"Volume Up",WakeUp:"Wake Up"};v={AZERTY:{KeyA:"Q",KeyQ:"A",KeyW:"Z",KeyZ:"W",Backquote:"²",BracketLeft:"«",BracketRight:"»"},JCUKEN:{KeyA:"Ф",KeyB:"И",KeyC:"С",KeyD:"В",KeyE:"У",KeyF:"А",KeyG:"П",KeyH:"Р",KeyI:"Ш",KeyJ:"О",KeyK:"Л",KeyL:"Д",KeyM:"Ь",KeyN:"Т",KeyO:"Щ",KeyP:"З",KeyQ:"Й",KeyR:"К",KeyS:"Ы",KeyT:"Е",KeyU:"Г",KeyV:"М",KeyW:"Ц",KeyX:"Ч",KeyY:"Н",KeyZ:"Я",Backquote:"Ё",BracketLeft:"х",BracketRight:"ъ",Comma:"Б",Period:"Ю",Quote:"Э",Semicolon:"Ж",Slash:"И"},QWERTY:e,QWERTZ:{KeyY:"Z",KeyZ:"Y",BracketLeft:"ü",BracketRight:"ö",Slash:"-"}}}return null!==(s=null!==(i=v[t][e])&&void 0!==i?i:v.QWERTY[e])&&void 0!==s?s:e}function getMetaKeyLabel(){var e,t,i,s;const n=navigator,o=null!==(t=null===(e=n.platform)||void 0===e?void 0:e.toLowerCase())&&void 0!==t?t:"",a=null!==(s=null===(i=n.userAgent)||void 0===i?void 0:i.toLowerCase())&&void 0!==s?s:"";return o.includes("mac")?"⌘":o.includes("win")||o.includes("linux")?"⊞":a.includes("android")?"Search":a.includes("iphone")||a.includes("ipad")?"⌘":"⊞"}class KeyboardDevice{constructor(){this.type="keyboard",this.id="keyboard",this.meta={},this.lastInteraction=performance.now(),this.detected=!1,this.options={emitEvents:!0,detectLayoutOnKeypress:!0,binds:{"navigate.back":["Escape","Backspace"],"navigate.down":["ArrowDown","KeyS"],"navigate.left":["ArrowLeft","KeyA"],"navigate.right":["ArrowRight","KeyD"],"navigate.trigger":["Enter","Space"],"navigate.up":["ArrowUp","KeyW"]},repeatableBinds:["navigate.down","navigate.left","navigate.right","navigate.up"]},this.key=Object.keys(c).reduce(((e,t)=>(e[t]=!1,e)),{}),this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._deferredKeydown=[],this._layout=inferKeyboardLayoutFromLang(),this._layoutSource="lang",function requestKeyboardLayout(){return __awaiter(this,void 0,void 0,(function*(){const e=navigator;if(e.keyboard&&e.keyboard.getLayoutMap)try{const t=yield e.keyboard.getLayoutMap();m=t;const i=t.get("KeyQ"),s=t.get("KeyA"),n=t.get("KeyZ");if("a"===i&&"w"===n&&"q"===s)return"AZERTY";if("q"===i&&"y"===n&&"a"===s)return"QWERTZ";if("q"===i&&"z"===n&&"a"===s)return"QWERTY";if("й"===i&&"я"===n&&"ф"===s)return"JCUKEN"}catch(e){}}))}().then((e=>{void 0!==e&&(this._layoutSource="browser",this._layout=e,this.options.detectLayoutOnKeypress=!1,this._emitter.emit("layoutdetected",{layoutSource:"browser",layout:e,device:this}))})),this._configureEventListeners()}get layout(){return this._layout}set layout(e){this._layoutSource="manual",this._layout=e,this.options.detectLayoutOnKeypress=!1}get layoutSource(){return this._layoutSource}bindDown(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;t<e.length;t++)if(this.key[e[t]])return!0;return!1}pressedAll(e){for(let t=0;t<e.length;t++)if(!this.key[e[t]])return!1;return!0}configureBinds(e){this.options.binds=Object.assign(Object.assign({},this.options.binds),e)}playHaptic(){}on(e,t,i){return this._emitter.on(e,t,i),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return this._bindDownEmitter.on(e,t,i),this}offBindDown(e,t){return this._bindDownEmitter.off(e,t),this}getKeyLabel(e,t){var i;return t?getLayoutKeyLabel(e,t):null!==(i=function getNavigatorKeyLabel(e){const t=null==m?void 0:m.get(e);return void 0===t?void 0:function _toLocaleTitleCase(e){return e.split(/\s+/).map((e=>e.charAt(0).toLocaleUpperCase()+e.slice(1))).join(" ")}(t)}(e))&&void 0!==i?i:getLayoutKeyLabel(e,null!=t?t:this._layout)}update(e){this._deferredKeydown.length>0&&(this._deferredKeydown.forEach((e=>this._processDeferredKeydownEvent(e))),this._deferredKeydown.length=0)}clear(){for(const e of Object.keys(c))this.key[e]=!1}_configureEventListeners(){const e=this.key,t=this._deferredKeydown;window.addEventListener("keydown",(i=>{e[i.code]=!0,t.push(i),this.lastInteraction=performance.now()}),{passive:!0,capture:!0}),window.addEventListener("keyup",(t=>{e[t.code]=!1,this.lastInteraction=performance.now()}),{passive:!0,capture:!0})}_processDeferredKeydownEvent(e){const t=e.code;if(!e.repeat){if(this.options.detectLayoutOnKeypress&&"lang"===this._layoutSource){const t=function detectKeyboardLayoutFromKeydown(e){const t=e.key.toLowerCase(),i=e.code;return l.test(t)?(f.delete("AZERTY"),f.delete("QWERTY"),f.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?(f.delete("JCUKEN"),f.delete("QWERTY"),f.delete("QWERTZ")):"BracketLeft"===i&&"ü"===t||"BracketRight"===i&&"ö"===t||"KeyY"===i&&"z"===t||"KeyZ"===i&&"y"===t||"Slash"===i&&"-"===t?(f.delete("AZERTY"),f.delete("JCUKEN"),f.delete("QWERTY")):"BracketLeft"===i&&"["===t||"BracketRight"===i&&"]"===t||"KeyZ"===i&&"z"===t?(f.delete("AZERTY"),f.delete("JCUKEN"),f.delete("QWERTZ")):"KeyQ"===i&&"q"===t||"KeyW"===i&&"w"===t?(f.delete("AZERTY"),f.delete("JCUKEN")):"KeyY"===i&&"y"===t?(f.delete("QWERTZ"),f.delete("JCUKEN")):u.test(t)&&f.delete("JCUKEN"),1===f.size?[...f][0]:void 0}(e);void 0!==t&&(this._layout=t,this._layoutSource="keypress",this.options.detectLayoutOnKeypress=!1,this._emitter.emit("layoutdetected",{layout:t,layoutSource:"keypress",device:this}))}this.options.emitEvents&&this._emitter.hasListener(t)&&this._emitter.emit(t,{device:this,keyCode:t,keyLabel:this.getKeyLabel(t),event:e})}this.options.emitEvents&&Object.entries(this.options.binds).forEach((([i,s])=>{if(!s.includes(t))return;if(e.repeat&&!this.options.repeatableBinds.includes(i))return;const n={device:this,keyCode:t,keyLabel:this.getKeyLabel(t),event:e,name:i,repeat:e.repeat};this._bindDownEmitter.emit(i,n),this._emitter.emit("binddown",n)}))}}KeyboardDevice.global=new KeyboardDevice;const y=KeyboardDevice.global;class InputDeviceManager{constructor(){this.hasMouseLikePointer=window.matchMedia("(pointer: fine) and (hover: hover)").matches,this.isTouchCapable=("ontouchstart"in window||window.TouchEvent)&&navigator.maxTouchPoints>0,this.isMobile=(()=>{let e=!1;var t;return t=navigator.userAgent||navigator.vendor,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm(os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s)|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp(i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac(|\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt(|\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg(g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v)|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v)|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-|)|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0),e})(),this.keyboard=y,this.options=d,this._devices=[],this._gamepads=[],this._gamepadIdx=new Map,this._custom=[],this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._hasFocus=!1,!this.isMobile&&this.hasMouseLikePointer?this.add(this.keyboard):window.addEventListener("keydown",(()=>this.add(this.keyboard)),{once:!0}),window.addEventListener("gamepadconnected",(e=>{const t=new GamepadDevice(e.gamepad);this.add(t)})),window.addEventListener("gamepaddisconnected",(e=>{const t=this._gamepadIdx.get(e.gamepad.index);t&&this.remove(t)}))}get devices(){return this._devices}get gamepads(){return this._gamepads}get custom(){return this._custom}get lastInteractedDevice(){return this._lastInteractedDevice}on(e,t){return this._emitter.on(e,t),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindDownEmitter.on(e,t,i))),this}offBindDown(e,t){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindDownEmitter.off(e,t))),this}emitBindDown(e){this._bindDownEmitter.emit(e.name,e)}add(e){-1===this._devices.indexOf(e)&&(this._devices.push(e),e instanceof KeyboardDevice?(e.detected=!0,e.on("binddown",(e=>this.emitBindDown(e)))):e instanceof GamepadDevice?(this._gamepadIdx.set(e.source.index,e),this._gamepads.push(e),e.on("binddown",(e=>this.emitBindDown(e)))):this._custom.push(e),this._emitter.emit("deviceadded",{device:e}))}remove(e){if(e instanceof KeyboardDevice)e.detected=!1;else if(e instanceof GamepadDevice){this._gamepadIdx.delete(e.source.index);const t=this._gamepads.indexOf(e);-1!==t&&this._gamepads.splice(t,1)}else{const t=this._custom.indexOf(e);-1!==t&&this._custom.splice(t,1)}const t=this._devices.indexOf(e);-1!==t&&(this._devices.splice(t,1),this._emitter.emit("deviceremoved",{device:e}))}update(){if(this.options.requireDocumentFocus&&!document.hasFocus())return this._hasFocus&&this.options.clearInputOnBackground&&this.devices.forEach((e=>{var t;return null===(t=e.clear)||void 0===t?void 0:t.call(e)})),this._hasFocus=!1,this._devices;this._hasFocus=!0;const e=performance.now();this.keyboard.detected&&this.keyboard.update(e),this._gamepads.length>0&&this._pollGamepads(e);for(const t of this._custom)t.update(e);return this._updateLastInteracted(),this._devices}_updateLastInteracted(){if(0===this._devices.length)return;let e;if(1===this._devices.length)e=this._devices[0];else for(const t of this._devices)(void 0===e||t.lastInteraction>e.lastInteraction)&&(e=t);e!==this._lastInteractedDevice&&this._emitter.emit("lastdevicechanged",{device:e}),this._lastInteractedDevice=e}_pollGamepads(e){var t;if(null!=navigator.getGamepads)for(const i of navigator.getGamepads())null!=i&&(null===(t=this._gamepadIdx.get(i.index))||void 0===t||t.update(i,e))}}InputDeviceManager.global=new InputDeviceManager;const b=InputDeviceManager.global;function getAllNavigatables(e,t=[]){var i;for(const s of null!==(i=e.children)&&void 0!==i?i:[])s.isNavigatable?t.push(s):getAllNavigatables(s,t);return t}function getFirstNavigatable(e,t,i,{minimumDistance:s=0}={}){return function chooseFirstNavigatableInDirection(e,t,i,s=0){var n,o,a,r,d,c,l,u,h;const g=e.filter((e=>e.isNavigatable&&null!=e.parent&&isVisible(e))),p=g.find((e=>e===t));if(void 0===p)return g.sort(((e,t)=>t.navigationPriority-e.navigationPriority)),g[0];if(void 0===i&&p)return p;const m=null!=p?p:g[Math.floor(Math.random()*g.length)];if(void 0===p)return null!==(n=e[0])&&void 0!==n?n:m;const v=p.getGlobalPosition(),f=p.getBounds(),y={x:v.x+f.left+f.width/2,y:v.y+f.top+f.height/2},b=g.filter((e=>e!==p)).map((e=>{const t=e.getGlobalPosition(),i=e.getBounds(),s={x:t.x+i.left+i.width/2,y:t.y+i.top+i.height/2};return{element:e,bounds:i,center:s,xDistSqrd:weightedDistSquared(s,y,1,3),yDistSqrd:weightedDistSquared(s,y,3,1)}}));switch(i){case"navigate.up":return null!==(a=null===(o=b.filter((e=>e.center.y<y.y-s)).sort(((e,t)=>e.yDistSqrd-t.yDistSqrd))[0])||void 0===o?void 0:o.element)&&void 0!==a?a:m;case"navigate.left":return null!==(d=null===(r=b.filter((e=>e.center.x<y.x-s)).sort(((e,t)=>e.xDistSqrd-t.xDistSqrd))[0])||void 0===r?void 0:r.element)&&void 0!==d?d:m;case"navigate.right":return null!==(l=null===(c=b.filter((e=>e.center.x>y.x+s)).sort(((e,t)=>e.xDistSqrd-t.xDistSqrd))[0])||void 0===c?void 0:c.element)&&void 0!==l?l:m;case"navigate.down":return null!==(h=null===(u=b.filter((e=>e.center.y>y.y+s)).sort(((e,t)=>e.yDistSqrd-t.yDistSqrd))[0])||void 0===u?void 0:u.element)&&void 0!==h?h:m;default:return p}}(getAllNavigatables(e),t,i,s)}function isChildOf(e,t){for(;null!=e;){if(e===t)return!0;e=e.parent}return!1}function weightedDistSquared(e,t,i,s){const n=t.x-e.x,o=t.y-e.y;return n*n*i+o*o*s}function isVisible(e){for(;null!=e;){if(!e.visible)return!1;e=e.parent}return!0}const w=["navigate.left","navigate.right","navigate.up","navigate.down","navigate.back","navigate.trigger"];class NavigationManager{constructor(){this.options={enableFallbackOverEffect:!0,minimumDirectionDistance:10},this.enabled=!1,this._responders=[]}get focusTarget(){var e,t;return null!==(t=null===(e=this.responders.find((e=>null!=e.focusTarget)))||void 0===e?void 0:e.focusTarget)&&void 0!==t?t:this._rootFocused}set focusTarget(e){const t=this.focusTarget;if(t===e)return;const i=this.getResponderStage();if(i){if(e){if(!e.isNavigatable)return;if(!isChildOf(e,i))return}null!=this.firstResponder?this.firstResponder.focusTarget=e:this._rootFocused=e,t&&this._emitBlur(t),e&&this._emitFocus(e)}}get firstResponder(){return this._responders[0]}get responders(){return this._responders}configureWithRoot(e){null==this._root&&b.onBindDown(w,(e=>this._propagate(e))),this._root=e,this.enabled=!0}popResponder(){var e,t,i,s,n;const o=this.focusTarget,a=this._responders.shift();a.focusTarget=void 0;const r=this.focusTarget;return null===(e=null==a?void 0:a.resignedAsFirstResponder)||void 0===e||e.call(a),this._invalidateFocusedIfNeeded(),this.firstResponder&&(null===(i=(t=this.firstResponder).becameFirstResponder)||void 0===i||i.call(t)),o!==r&&(null!==(n=null===(s=this.firstResponder)||void 0===s?void 0:s.autoFocus)&&void 0!==n?n:void 0===r)&&this.autoFocus(),a}pushResponder(e){var t,i,s;const n=e;if(this._responders.includes(n))throw new Error("Responder already in stack.");const o=this.firstResponder;this._responders.unshift(n),null===(t=null==o?void 0:o.resignedAsFirstResponder)||void 0===t||t.call(o),this._invalidateFocusedIfNeeded(),null===(i=n.becameFirstResponder)||void 0===i||i.call(n),(null===(s=n.autoFocus)||void 0===s||s)&&this.autoFocus()}autoFocus(){if(!_.enabled)return;const e=this.getResponderStage();if(!e)return;const t=getFirstNavigatable(e);void 0!==t?t!==this.focusTarget&&(this.focusTarget=t):console.debug("navigation: no navigatable containers found")}getResponderStage(){var e;return null!==(e=this.responders.find(isContainer))&&void 0!==e?e:this._root}_propagate({device:e,name:t}){var i;if(this.enabled){for(const s of this._responders)if(null===(i=s.handledNavigationIntent)||void 0===i?void 0:i.call(s,t,e))return;if(null==this._root)throw this.enabled=!1,new Error("Navigation requires root responder to be configured");{const e=this.getResponderStage();this._handleGlobalIntent(e,t)}}}_handleGlobalIntent(e,t){var i;this._invalidateFocusedIfNeeded(e);const s=this.focusTarget;if(void 0===s)return void this.autoFocus();if("navigate.back"===t)return this._emitBlur(s),void(this.focusTarget=void 0);if("navigate.trigger"===t)return void this._emitTrigger(s);const n=null!==(i=getFirstNavigatable(e,s,t,{minimumDistance:this.options.minimumDirectionDistance}))&&void 0!==i?i:s;n!==s&&(this.focusTarget=n)}_emitBlur(e){const t=e.eventNames();t.includes("pointerout")?e.emit("pointerout"):t.includes("mouseout")?e.emit("mouseout"):this.options.enableFallbackOverEffect&&(e.alpha=1),e.emit("deviceout")}_emitFocus(e){const t=e.eventNames();t.includes("pointerover")?e.emit("pointerover"):t.includes("mouseover")?e.emit("mouseover"):this.options.enableFallbackOverEffect&&(e.alpha=.5),e.emit("deviceover")}_emitTrigger(e){const t=e.eventNames();t.includes("pointerdown")?e.emit("pointerdown"):t.includes("mousedown")?e.emit("mousedown"):this.options.enableFallbackOverEffect&&(e.alpha=.75),e.emit("devicedown")}_invalidateFocusedIfNeeded(e=this.getResponderStage()){if(!e)return;const t=this.focusTarget;t&&!isChildOf(t,e)&&(this._emitBlur(t),this.focusTarget=void 0)}}function isContainer(e){return"children"in e}NavigationManager.global=new NavigationManager;const _=NavigationManager.global;let F=!1;exports.Button=o,exports.GamepadDevice=GamepadDevice,exports.InputDevice=b,exports.KeyCode=c,exports.Keyboard=y,exports.KeyboardDevice=KeyboardDevice,exports.UINavigation=_,exports.getAllNavigatables=getAllNavigatables,exports.getFirstNavigatable=getFirstNavigatable,exports.isChildOf=isChildOf,exports.isVisible=isVisible,exports.navigationIntents=w,exports.registerPixiJSNavigationMixin=function registerPixiJSNavigationMixin(e){if(F)return;F=!0;const t=e.prototype;t.navigationPriority=0,t.navigationMode="auto",Object.defineProperty(t,"isNavigatable",{get:function(){if("target"===this.navigationMode)return!0;if("auto"!==this.navigationMode)return!1;const e=this.eventNames();return e.length>0&&(e.includes("pointerdown")||e.includes("mousedown"))},configurable:!0,enumerable:!1})};
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/lib/devices/gamepads/buttons.ts","../src/lib/utils/events.ts","../src/lib/devices/gamepads/GamepadHapticManager.ts","../src/lib/devices/gamepads/GamepadDevice.ts","../src/lib/devices/gamepads/layouts.ts","../src/lib/devices/keyboard/keys.ts","../node_modules/tslib/tslib.es6.js","../src/lib/devices/keyboard/layouts.ts","../src/lib/devices/keyboard/KeyboardDevice.ts","../src/lib/InputDevice.ts","../src/lib/utils/isMobile.ts","../src/lib/navigation/Navigatable.ts","../src/lib/navigation/NavigationIntent.ts","../src/lib/navigation/UINavigation.ts","../src/Container.mixin.ts"],"sourcesContent":[null,null,null,null,null,null,"/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n",null,null,null,null,null,null,null,null],"names":["Axis","AxisCode","Button","Face1","Face2","Face3","Face4","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStickClick","RightStickClick","DpadUp","DpadDown","DpadLeft","DpadRight","ButtonCode","EventEmitter","constructor","this","_listeners","hasListener","e","undefined","emit","payload","_a","forEach","fn","on","event","options","once","onceFn","off","push","_b","filter","l","length","MAX_KEYFRAME_MS","GamepadHapticManager","gamepad","activeEffects","state","rumble","buzz","leftTrigger","rightTrigger","expires","hapticEvent","_c","vibrationActuator","effects","includes","call","hasTriggerRumble","play","haptic","intensity","delay","Math","max","startDelay","start","performance","now","Object","assign","end","duration","min","update","reset","hapticActuators","pulse","maxDuration","anyHapticHasEnded","i","playEffect","strongMagnitude","weakMagnitude","monoIntensity","GamepadDevice","configureDefaultBinds","binds","defaultOptions","source","type","meta","lastInteraction","JSON","parse","stringify","leftJoystick","x","y","rightJoystick","button","reduce","obj","key","leftShoulder","rightShoulder","_emitter","_bindDownEmitter","_debounces","Map","id","index","layout","detectLayout","gamepadId","toLowerCase","test","haptics","supportsTriggerRumble","bindDown","name","pressedAny","btns","pressedAll","configureBinds","listener","onBindDown","offBindDown","playHaptic","vibration","enabled","effect","stopHaptics","_updatePresses","clear","joy","joystick","a","value","_scale","axes","deadzone","axisCode","abs","pressThreshold","delete","delayMs","autoRepeatDelayMs","_debounce","emitEvents","device","axis","entries","values","b","buttonCode","buttons","pressed","isPressed","_d","tdz","trigger","jdz","Date","get","set","range","scaled","sign","KeyCode","AltLeft","AltRight","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Backquote","Backslash","Backspace","BracketLeft","BracketRight","CapsLock","Comma","ContextMenu","ControlLeft","ControlRight","Delete","Digit0","Digit1","Digit2","Digit3","Digit4","Digit5","Digit6","Digit7","Digit8","Digit9","End","Enter","Equal","Escape","F1","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F2","F20","F21","F22","F23","F24","F25","F26","F27","F28","F29","F3","F30","F31","F32","F4","F5","F6","F7","F8","F9","Home","IntlBackslash","IntlRo","IntlYen","KeyA","KeyB","KeyC","KeyD","KeyE","KeyF","KeyG","KeyH","KeyI","KeyJ","KeyK","KeyL","KeyM","KeyN","KeyO","KeyP","KeyQ","KeyR","KeyS","KeyT","KeyU","KeyV","KeyW","KeyX","KeyY","KeyZ","Lang1","Lang2","MediaTrackNext","MediaTrackPrevious","MetaLeft","MetaRight","Minus","NumLock","Numpad0","Numpad1","Numpad2","Numpad3","Numpad4","Numpad5","Numpad6","Numpad7","Numpad8","Numpad9","NumpadAdd","NumpadComma","NumpadDecimal","NumpadDivide","NumpadMultiply","NumpadSubtract","OSLeft","Pause","Period","Quote","ScrollLock","Semicolon","ShiftLeft","ShiftRight","Slash","Space","Tab","VolumeDown","VolumeMute","VolumeUp","WakeUp","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","result","done","adopt","then","apply","SuppressedError","JCUKEN_LAYOUT_PATTERN","ERT_LAYOUTS_PATTERN","MACRO_AZERTY","MACRO_JCUKEN","MACRO_QWERTZ","_navigatorLayoutMap","_keyLabels","inferKeyboardLayoutFromLang","lang","getLang","n","navigator","languages","userLanguage","language","browserLanguage","tag","macro","split","startsWith","_possibleLayouts","Set","getLayoutKeyLabel","DEFAULT_LABELS","getMetaKeyLabel","AZERTY","JCUKEN","QWERTY","QWERTZ","platform","userAgent","KeyboardDevice","detected","detectLayoutOnKeypress","repeatableBinds","keys","_deferredKeydown","_layout","_layoutSource","requestKeyboardLayout","keyboard","getLayoutMap","layoutMap","q","z","layoutSource","_configureEventListeners","getKeyLabel","getNavigatorKeyLabel","_toLocaleTitleCase","input","map","word","charAt","toLocaleUpperCase","slice","join","_processDeferredKeydownEvent","k","d","window","addEventListener","code","passive","capture","keyCode","repeat","detectKeyboardLayoutFromKeydown","size","keyLabel","global","InputDeviceManager","hasMouseLikePointer","matchMedia","matches","isTouchCapable","TouchEvent","maxTouchPoints","isMobile","check","vendor","substr","clearInputOnBackground","requireDocumentFocus","_devices","_gamepadDevices","_gamepadDeviceMap","_customDevices","_hasFocus","_pollGamepads","_removeGamepad","add","devices","gamepads","custom","lastInteractedDevice","_lastInteractedDevice","Array","isArray","emitBindDown","indexOf","remove","customIndex","splice","devicesIndex","document","hasFocus","_updateLastInteracted","last","getGamepads","has","gamepadIndex","gamepadsIndex","InputDevice","getAllNavigatables","target","navigatables","child","children","isNavigatable","getFirstNavigatable","root","currentFocus","nearestDirection","minimumDistance","chooseFirstNavigatableInDirection","elements","el","parent","isVisible","focusedElement","find","sort","navigationPriority","fallbackElement","floor","random","focusedGlobalPos","getGlobalPosition","focusedBounds","getBounds","focusedCenter","left","width","top","height","otherElements","globalPos","bounds","center","element","xDistSqrd","weightedDistSquared","yDistSqrd","_e","_g","_f","_j","_h","isChildOf","xw","yw","dx","dy","visible","navigationIntents","NavigationManager","enableFallbackOverEffect","minimumDirectionDistance","_responders","focusTarget","responders","res","_rootFocused","previous","responderStage","getResponderStage","firstResponder","_emitBlur","_emitFocus","configureWithRoot","stage","_root","_propagate","popResponder","previousFocused","responder","shift","nextFocused","resignedAsFirstResponder","_invalidateFocusedIfNeeded","becameFirstResponder","autoFocus","pushResponder","Error","previousResponder","unshift","UINavigation","navigatable","console","debug","isContainer","handledNavigationIntent","_handleGlobalIntent","intent","_emitTrigger","nextTarget","eventNames","alpha","_registered","registerPixiJSNavigationMixin","container","prototype","navigationMode","defineProperty","onEvents","configurable","enumerable"],"mappings":"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","x_google_ignoreList":[6]}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/lib/devices/gamepads/buttons.ts","../src/lib/utils/events.ts","../src/lib/devices/gamepads/GamepadHapticManager.ts","../src/lib/utils/Options.ts","../src/lib/devices/gamepads/GamepadDevice.ts","../src/lib/devices/gamepads/layouts.ts","../src/lib/devices/keyboard/keys.ts","../node_modules/tslib/tslib.es6.js","../src/lib/devices/keyboard/layouts.ts","../src/lib/devices/keyboard/KeyboardDevice.ts","../src/lib/InputDevice.ts","../src/lib/utils/isMobile.ts","../src/lib/navigation/Navigatable.ts","../src/lib/navigation/NavigationIntent.ts","../src/lib/navigation/UINavigation.ts","../src/Container.mixin.ts"],"sourcesContent":[null,null,null,null,null,null,null,"/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n",null,null,null,null,null,null,null,null],"names":["Axis","AxisCode","Button","Face1","Face2","Face3","Face4","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStickClick","RightStickClick","DpadUp","DpadDown","DpadLeft","DpadRight","ButtonCode","EventEmitter","constructor","this","_listeners","hasListener","e","undefined","emit","payload","_a","forEach","fn","on","event","options","once","onceFn","off","push","_b","filter","l","length","MAX_KEYFRAME_MS","GamepadHapticManager","gamepad","activeEffects","state","rumble","buzz","leftTrigger","rightTrigger","expires","hapticEvent","_c","vibrationActuator","effects","includes","call","play","haptic","intensity","delay","Math","max","startDelay","start","performance","now","Object","assign","end","duration","min","update","reset","playEffect","strongMagnitude","weakMagnitude","hapticActuators","pulse","maxDuration","anyHapticHasEnded","i","monoIntensity","Options","clearInputOnBackground","requireDocumentFocus","supressHapticsInactivityPeriodMs","GamepadDevice","configureDefaultBinds","binds","defaultOptions","source","type","meta","lastInteraction","JSON","parse","stringify","leftJoystick","x","y","rightJoystick","button","reduce","obj","key","leftShoulder","rightShoulder","_emitter","_bindDownEmitter","_debounces","Map","id","index","layout","detectLayout","gamepadId","toLowerCase","test","_haptics","supportsTriggerRumble","bindDown","name","pressedAny","btns","pressedAll","configureBinds","listener","onBindDown","offBindDown","playHaptic","vibration","enabled","effect","stopHaptics","_poll","clear","joy","joystick","a","value","_scale","axes","deadzone","axisCode","abs","pressThreshold","delete","delayMs","autoRepeatDelayMs","_debounce","emitEvents","device","axis","entries","values","b","buttonCode","buttons","pressed","isPressed","_d","tdz","trigger","jdz","Date","get","set","range","scaled","sign","KeyCode","AltLeft","AltRight","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Backquote","Backslash","Backspace","BracketLeft","BracketRight","CapsLock","Comma","ContextMenu","ControlLeft","ControlRight","Delete","Digit0","Digit1","Digit2","Digit3","Digit4","Digit5","Digit6","Digit7","Digit8","Digit9","End","Enter","Equal","Escape","F1","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F2","F20","F21","F22","F23","F24","F25","F26","F27","F28","F29","F3","F30","F31","F32","F4","F5","F6","F7","F8","F9","Home","IntlBackslash","IntlRo","IntlYen","KeyA","KeyB","KeyC","KeyD","KeyE","KeyF","KeyG","KeyH","KeyI","KeyJ","KeyK","KeyL","KeyM","KeyN","KeyO","KeyP","KeyQ","KeyR","KeyS","KeyT","KeyU","KeyV","KeyW","KeyX","KeyY","KeyZ","Lang1","Lang2","MediaTrackNext","MediaTrackPrevious","MetaLeft","MetaRight","Minus","NumLock","Numpad0","Numpad1","Numpad2","Numpad3","Numpad4","Numpad5","Numpad6","Numpad7","Numpad8","Numpad9","NumpadAdd","NumpadComma","NumpadDecimal","NumpadDivide","NumpadMultiply","NumpadSubtract","OSLeft","Pause","Period","Quote","ScrollLock","Semicolon","ShiftLeft","ShiftRight","Slash","Space","Tab","VolumeDown","VolumeMute","VolumeUp","WakeUp","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","result","done","adopt","then","apply","SuppressedError","JCUKEN_LAYOUT_PATTERN","ERT_LAYOUTS_PATTERN","MACRO_AZERTY","MACRO_JCUKEN","MACRO_QWERTZ","_navigatorLayoutMap","_keyLabels","inferKeyboardLayoutFromLang","lang","getLang","n","navigator","languages","userLanguage","language","browserLanguage","tag","macro","split","startsWith","_possibleLayouts","Set","getLayoutKeyLabel","DEFAULT_LABELS","getMetaKeyLabel","AZERTY","JCUKEN","QWERTY","QWERTZ","platform","userAgent","KeyboardDevice","detected","detectLayoutOnKeypress","repeatableBinds","keys","_deferredKeydown","_layout","_layoutSource","requestKeyboardLayout","keyboard","getLayoutMap","layoutMap","q","z","layoutSource","_configureEventListeners","getKeyLabel","getNavigatorKeyLabel","_toLocaleTitleCase","input","map","word","charAt","toLocaleUpperCase","slice","join","_processDeferredKeydownEvent","k","d","window","addEventListener","code","passive","capture","keyCode","repeat","detectKeyboardLayoutFromKeydown","size","keyLabel","global","Keyboard","InputDeviceManager","hasMouseLikePointer","matchMedia","matches","isTouchCapable","TouchEvent","maxTouchPoints","isMobile","check","vendor","substr","_devices","_gamepads","_gamepadIdx","_custom","_hasFocus","add","remove","devices","gamepads","custom","lastInteractedDevice","_lastInteractedDevice","Array","isArray","emitBindDown","indexOf","gamepadsIndex","splice","customIndex","devicesIndex","document","hasFocus","_pollGamepads","_updateLastInteracted","last","getGamepads","InputDevice","getAllNavigatables","target","navigatables","child","children","isNavigatable","getFirstNavigatable","root","currentFocus","nearestDirection","minimumDistance","chooseFirstNavigatableInDirection","elements","el","parent","isVisible","focusedElement","find","sort","navigationPriority","fallbackElement","floor","random","focusedGlobalPos","getGlobalPosition","focusedBounds","getBounds","focusedCenter","left","width","top","height","otherElements","globalPos","bounds","center","element","xDistSqrd","weightedDistSquared","yDistSqrd","_e","_g","_f","_j","_h","isChildOf","xw","yw","dx","dy","visible","navigationIntents","NavigationManager","enableFallbackOverEffect","minimumDirectionDistance","_responders","focusTarget","responders","res","_rootFocused","previous","responderStage","getResponderStage","firstResponder","_emitBlur","_emitFocus","configureWithRoot","stage","_root","_propagate","popResponder","previousFocused","responder","shift","nextFocused","resignedAsFirstResponder","_invalidateFocusedIfNeeded","becameFirstResponder","autoFocus","pushResponder","Error","previousResponder","unshift","UINavigation","navigatable","console","debug","isContainer","handledNavigationIntent","_handleGlobalIntent","intent","_emitTrigger","nextTarget","eventNames","alpha","_registered","registerPixiJSNavigationMixin","container","prototype","navigationMode","defineProperty","onEvents","configurable","enumerable"],"mappings":"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","x_google_ignoreList":[7]}
|
package/dist/index.d.ts
CHANGED
|
@@ -47,26 +47,22 @@ declare class InputDeviceManager {
|
|
|
47
47
|
readonly isTouchCapable: boolean;
|
|
48
48
|
/** Whether the window context is detected as mobile. */
|
|
49
49
|
readonly isMobile: boolean;
|
|
50
|
-
/**
|
|
50
|
+
/**
|
|
51
|
+
* Global keyboard interface (for all virtual & physical keyboards).
|
|
52
|
+
*/
|
|
51
53
|
readonly keyboard: KeyboardDevice;
|
|
52
54
|
/**
|
|
53
55
|
* Options that apply to input devices.
|
|
54
56
|
*/
|
|
55
57
|
options: {
|
|
56
|
-
/**
|
|
57
|
-
* When the window loses focus, this triggers the clear
|
|
58
|
-
* input function.
|
|
59
|
-
*/
|
|
60
58
|
clearInputOnBackground: boolean;
|
|
61
|
-
/**
|
|
62
|
-
* Require window/document to be in foreground.
|
|
63
|
-
*/
|
|
64
59
|
requireDocumentFocus: boolean;
|
|
60
|
+
supressHapticsInactivityPeriodMs: number;
|
|
65
61
|
};
|
|
66
62
|
private readonly _devices;
|
|
67
|
-
private readonly
|
|
68
|
-
private readonly
|
|
69
|
-
private readonly
|
|
63
|
+
private readonly _gamepads;
|
|
64
|
+
private readonly _gamepadIdx;
|
|
65
|
+
private readonly _custom;
|
|
70
66
|
private readonly _emitter;
|
|
71
67
|
private readonly _bindDownEmitter;
|
|
72
68
|
private _hasFocus;
|
|
@@ -117,11 +113,7 @@ declare class InputDeviceManager {
|
|
|
117
113
|
*/
|
|
118
114
|
update(): ReadonlyArray<Device>;
|
|
119
115
|
private _updateLastInteracted;
|
|
120
|
-
/**
|
|
121
|
-
* @returns updates connected gamepads, performing a poll of latest input
|
|
122
|
-
*/
|
|
123
116
|
private _pollGamepads;
|
|
124
|
-
private _removeGamepad;
|
|
125
117
|
}
|
|
126
118
|
declare class NavigationManager {
|
|
127
119
|
static global: NavigationManager;
|
|
@@ -366,7 +358,7 @@ export declare class GamepadDevice {
|
|
|
366
358
|
leftShoulder: number;
|
|
367
359
|
/** A scalar 0.0 to 1.0 representing the right shoulder value */
|
|
368
360
|
rightShoulder: number;
|
|
369
|
-
private readonly
|
|
361
|
+
private readonly _haptics;
|
|
370
362
|
private readonly _emitter;
|
|
371
363
|
private readonly _bindDownEmitter;
|
|
372
364
|
private readonly _debounces;
|
|
@@ -397,7 +389,7 @@ export declare class GamepadDevice {
|
|
|
397
389
|
stopHaptics(): void;
|
|
398
390
|
update(source: Gamepad, now: number): void;
|
|
399
391
|
clear(): void;
|
|
400
|
-
private
|
|
392
|
+
private _poll;
|
|
401
393
|
/**
|
|
402
394
|
* Inline relay debouncer.
|
|
403
395
|
* @returns true when already in progress and the operation should be skipped
|
|
@@ -679,6 +671,7 @@ export declare const KeyCode: {
|
|
|
679
671
|
readonly VolumeUp: "VolumeUp";
|
|
680
672
|
readonly WakeUp: "WakeUp";
|
|
681
673
|
};
|
|
674
|
+
export declare const Keyboard: KeyboardDevice;
|
|
682
675
|
/**
|
|
683
676
|
* Responsible for global navigation interactions.
|
|
684
677
|
*
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=0,t=1,i=2,s=3,n=["LeftStickLeft","LeftStickRight","LeftStickUp","LeftStickDown","RightStickLeft","RightStickRight","RightStickUp","RightStickDown"],a={Face1:0,Face2:1,Face3:2,Face4:3,LeftShoulder:4,RightShoulder:5,LeftTrigger:6,RightTrigger:7,Back:8,Start:9,LeftStickClick:10,RightStickClick:11,DpadUp:12,DpadDown:13,DpadLeft:14,DpadRight:15},o=["Face1","Face2","Face3","Face4","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStickClick","RightStickClick","DpadUp","DpadDown","DpadLeft","DpadRight"];class EventEmitter{constructor(){this._listeners={}}hasListener(e){return void 0!==this._listeners[e]}emit(e,t){var i;null===(i=this._listeners[e])||void 0===i||i.forEach((e=>e(t)))}on(e,t,i){var s,n;if(this._listeners[e]||(this._listeners[e]=[]),null==i?void 0:i.once){const onceFn=i=>{t(i),this.off(e,onceFn)};null===(s=this._listeners[e])||void 0===s||s.push(onceFn)}else null===(n=this._listeners[e])||void 0===n||n.push(t)}off(e,t){var i,s;this._listeners[e]=void 0===t||null===(i=this._listeners[e])||void 0===i?void 0:i.filter((e=>e!==t)),0===(null===(s=this._listeners[e])||void 0===s?void 0:s.length)&&(this._listeners[e]=void 0)}}const r=2e3;class GamepadHapticManager{constructor(e){var t,i,s;this.activeEffects=[],this.state={rumble:0,buzz:0,leftTrigger:0,rightTrigger:0,expires:0},this.gamepad=e,this.hapticEvent="vibrationActuator"in e?(null===(s=null===(i=null===(t=e.vibrationActuator)||void 0===t?void 0:t.effects)||void 0===i?void 0:i.includes)||void 0===s?void 0:s.call(i,"trigger-rumble"))?"trigger-rumble":"dual-rumble":void 0,this.hasTriggerRumble="trigger-rumble"===this.hapticEvent}play(e,t){var i;const s=Math.max(0,null!==(i=e.startDelay)&&void 0!==i?i:0),n=performance.now()+s;this.activeEffects.push(Object.assign(Object.assign({},e),{start:n,end:n+Math.max(e.duration,0),startDelay:void 0})),this.intensity!==t&&(this.intensity=Math.max(0,Math.min(1,t))),s||0!==this.activeEffects.length||this.update()}reset(){var e,t;this.activeEffects.length=0,this.state.rumble=0,this.state.buzz=0,this.state.leftTrigger=0,this.state.rightTrigger=0,this.gamepad.vibrationActuator?this.gamepad.vibrationActuator.reset():this.gamepad.hapticActuators&&(null===(t=null===(e=this.gamepad.hapticActuators[0])||void 0===e?void 0:e.pulse)||void 0===t||t.call(e,0,100))}update(){var e,t;const i=performance.now();let s=0,n=0,a=0,o=0,d=0,c=!1;for(let e=0;e<this.activeEffects.length;e++){const t=this.activeEffects[e];t.end<=i?c=!0:t.start>i||("trigger-rumble"===this.hapticEvent&&(t.leftTrigger&&t.leftTrigger>a&&(a=t.leftTrigger),t.rightTrigger&&t.rightTrigger>o&&(o=t.rightTrigger)),t.rumble&&t.rumble>s&&(s=t.rumble),t.buzz&&t.buzz>n&&(n=t.buzz),t.end-i>d&&(d=t.end-i))}if(c&&(this.activeEffects=this.activeEffects.filter((e=>e.end>=i))),this.state.rumble!==s||this.state.buzz!==n||this.state.leftTrigger!==a||this.state.rightTrigger!==o||this.state.expires<=i&&s+n+a+o>0)if(this.state.rumble=s,this.state.buzz=n,this.state.leftTrigger=a,this.state.rightTrigger=o,void 0!==this.hapticEvent)this.state.expires=i+r,this.gamepad.vibrationActuator.playEffect(this.hapticEvent,{duration:r,strongMagnitude:s*this.intensity,weakMagnitude:n*this.intensity,leftTrigger:a*this.intensity,rightTrigger:o*this.intensity});else if(this.gamepad.hapticActuators){const a=Math.min(d,r),o=Math.max(s,n)*this.intensity;this.state.expires=i+d,null===(t=null===(e=this.gamepad.hapticActuators[0])||void 0===e?void 0:e.pulse)||void 0===t||t.call(e,o,a)}}}class GamepadDevice{static configureDefaultBinds(e){this.defaultOptions.binds=Object.assign(Object.assign({},this.defaultOptions.binds),e)}constructor(e){var t;this.source=e,this.type="gamepad",this.meta={},this.lastInteraction=performance.now(),this.options=JSON.parse(JSON.stringify(GamepadDevice.defaultOptions)),this.leftJoystick={x:0,y:0},this.rightJoystick={x:0,y:0},this.button=[...o,...n].reduce(((e,t)=>(e[t]=!1,e)),{}),this.leftTrigger=0,this.rightTrigger=0,this.leftShoulder=0,this.rightShoulder=0,this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._debounces=new Map,this.id="gamepad"+e.index,this.layout=null!==(t=function detectLayout(e){const t=(e||"").toLowerCase();return/(amazon|luna|1949)/.test(t)?"amazon_luna":/(logitech|046d|c216|logicool|^46d)/.test(t)?"logitech_g":/(joy-?con.*l|057e.*2006)/.test(t)?"nintendo_joycon_l":/(joy-?con.*r|057e.*2007)/.test(t)?"nintendo_joycon_r":/(wiiu?|0305|0306|0337)/.test(t)?"nintendo_wiiu":/(switch.*pro|nintendo|switch|057e|0300)/.test(t)?"nintendo_switch_pro":/(nvidia.*shield|nvidia|shield|0955)/.test(t)?"nvidia_shield":/(playstation.*5|dualsense|0df2|0ce6)/.test(t)?"playstation_5":/(playstation|sony|dualshock|054c|09cc|0ba0|0810)/.test(t)?"playstation_4":/(steam.*controller|steam|28de|1102|1142)/.test(t)?"steam_controller":/(xbox.*series|0b00|0b12)/.test(t)?"xbox_series":/(xbox.*360|0202|0283|0285|0288|0289|028e|028f|0291|0719)/.test(t)?"xbox_360":/(xbox|xinput|045e)/.test(t)?"xbox_one":void 0}(null==e?void 0:e.id))&&void 0!==t?t:"unknown",this.haptics=new GamepadHapticManager(e),this.supportsTriggerRumble=this.haptics.hasTriggerRumble}bindDown(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;t<e.length;t++)if(this.button[e[t]])return!0;return!1}pressedAll(e){for(let t=0;t<e.length;t++)if(!this.button[e[t]])return!1;return!0}configureBinds(e){this.options.binds=Object.assign(Object.assign({},this.options.binds),e)}on(e,t,i){return this._emitter.on(e,t,i),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return this._bindDownEmitter.on(e,t,i),this}offBindDown(e,t){return this._bindDownEmitter.off(e,t),this}playHaptic(...e){this.options.vibration.enabled&&e.forEach((e=>this.haptics.play(e,this.options.vibration.intensity)))}stopHaptics(){this.haptics.reset()}update(e,t){this._updatePresses(e,t),this.source=e,this.haptics.update()}clear(){this.button=[...n,...o].reduce(((e,t)=>(e[t]=!1,e)),{}),this.haptics.reset()}_updatePresses(r,d){var c,l,u,h,g,p,m;const v=this.options.joystick;for(let e=0;e<4;e++){const t=_scale(r.axes[e],v.deadzone),i=n[2*e+(t>0?1:0)];if(Math.abs(t)<v.pressThreshold)this.button[i]||this._debounces.delete(i),this.button[i]=!1;else{const t=v.autoRepeatDelayMs[+this.button[i]];if(this._debounce(i,t)&&this.button[i])continue;this.button[i]=!0,this.lastInteraction=d,this.options.emitEvents&&(this._emitter.hasListener(i)&&this._emitter.emit(i,{device:this,axis:e,axisCode:i}),Object.entries(this.options.binds).forEach((([t,s])=>{if(!s.includes(i))return;const n={device:this,type:"axis",axis:e,axisCode:i,name:t};this._bindDownEmitter.emit(t,n),this._emitter.emit("binddown",n)})))}}for(let e=0;e<16;e++){let t=e;const i=o[t];if(this.button[i]===(null===(c=r.buttons[e])||void 0===c?void 0:c.pressed))continue;this.lastInteraction=d;const s=null!==(u=null===(l=r.buttons[e])||void 0===l?void 0:l.pressed)&&void 0!==u&&u;this.button[i]=s,s&&this.options.emitEvents&&(this._emitter.hasListener(i)&&this._emitter.emit(i,{device:this,button:t,buttonCode:i}),Object.entries(this.options.binds).forEach((([e,s])=>{if(!s.includes(i))return;const n={device:this,type:"button",button:t,buttonCode:i,name:e};this._bindDownEmitter.emit(e,n),this._emitter.emit("binddown",n)})))}const f=this.options.trigger.deadzone;this.leftTrigger=_scale(r.buttons[a.LeftTrigger].value,f),this.rightTrigger=_scale(r.buttons[a.RightTrigger].value,f),this.leftShoulder=_scale(r.buttons[a.LeftShoulder].value,f),this.rightShoulder=_scale(r.buttons[a.RightShoulder].value,f);const y=v.deadzone;this.leftJoystick.x=_scale(null!==(h=r.axes[e])&&void 0!==h?h:0,y),this.leftJoystick.y=_scale(null!==(g=r.axes[t])&&void 0!==g?g:0,y),this.rightJoystick.x=_scale(null!==(p=r.axes[i])&&void 0!==p?p:0,y),this.rightJoystick.y=_scale(null!==(m=r.axes[s])&&void 0!==m?m:0,y)}_debounce(e,t){var i;const s=Date.now();return(null!==(i=this._debounces.get(e))&&void 0!==i?i:0)>s||(this._debounces.set(e,s+t),!1)}}function _scale(e,t){const i=(Math.abs(e)-t[0])/(t[1]-t[0]);return i>=0&&i<=1?Math.sign(e)*i:i>1?1*Math.sign(e):0}GamepadDevice.defaultOptions={emitEvents:!0,joystick:{deadzone:[0,1],pressThreshold:.5,autoRepeatDelayMs:[400,100]},trigger:{deadzone:[0,1]},vibration:{enabled:!0,intensity:1},binds:{"navigate.trigger":["Face1"],"navigate.back":["Face2"],"navigate.up":["DpadUp","LeftStickUp"],"navigate.left":["DpadLeft","LeftStickLeft"],"navigate.down":["DpadDown","LeftStickDown"],"navigate.right":["DpadRight","LeftStickRight"]}};const d={AltLeft:"AltLeft",AltRight:"AltRight",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",ArrowUp:"ArrowUp",Backquote:"Backquote",Backslash:"Backslash",Backspace:"Backspace",BracketLeft:"BracketLeft",BracketRight:"BracketRight",CapsLock:"CapsLock",Comma:"Comma",ContextMenu:"ContextMenu",ControlLeft:"ControlLeft",ControlRight:"ControlRight",Delete:"Delete",Digit0:"Digit0",Digit1:"Digit1",Digit2:"Digit2",Digit3:"Digit3",Digit4:"Digit4",Digit5:"Digit5",Digit6:"Digit6",Digit7:"Digit7",Digit8:"Digit8",Digit9:"Digit9",End:"End",Enter:"Enter",Equal:"Equal",Escape:"Escape",F1:"F1",F10:"F10",F11:"F11",F12:"F12",F13:"F13",F14:"F14",F15:"F15",F16:"F16",F17:"F17",F18:"F18",F19:"F19",F2:"F2",F20:"F20",F21:"F21",F22:"F22",F23:"F23",F24:"F24",F25:"F25",F26:"F26",F27:"F27",F28:"F28",F29:"F29",F3:"F3",F30:"F30",F31:"F31",F32:"F32",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",Home:"Home",IntlBackslash:"IntlBackslash",IntlRo:"IntlRo",IntlYen:"IntlYen",KeyA:"KeyA",KeyB:"KeyB",KeyC:"KeyC",KeyD:"KeyD",KeyE:"KeyE",KeyF:"KeyF",KeyG:"KeyG",KeyH:"KeyH",KeyI:"KeyI",KeyJ:"KeyJ",KeyK:"KeyK",KeyL:"KeyL",KeyM:"KeyM",KeyN:"KeyN",KeyO:"KeyO",KeyP:"KeyP",KeyQ:"KeyQ",KeyR:"KeyR",KeyS:"KeyS",KeyT:"KeyT",KeyU:"KeyU",KeyV:"KeyV",KeyW:"KeyW",KeyX:"KeyX",KeyY:"KeyY",KeyZ:"KeyZ",Lang1:"Lang1",Lang2:"Lang2",MediaTrackNext:"MediaTrackNext",MediaTrackPrevious:"MediaTrackPrevious",MetaLeft:"MetaLeft",MetaRight:"MetaRight",Minus:"Minus",NumLock:"NumLock",Numpad0:"Numpad0",Numpad1:"Numpad1",Numpad2:"Numpad2",Numpad3:"Numpad3",Numpad4:"Numpad4",Numpad5:"Numpad5",Numpad6:"Numpad6",Numpad7:"Numpad7",Numpad8:"Numpad8",Numpad9:"Numpad9",NumpadAdd:"NumpadAdd",NumpadComma:"NumpadComma",NumpadDecimal:"NumpadDecimal",NumpadDivide:"NumpadDivide",NumpadMultiply:"NumpadMultiply",NumpadSubtract:"NumpadSubtract",OSLeft:"OSLeft",Pause:"Pause",Period:"Period",Quote:"Quote",ScrollLock:"ScrollLock",Semicolon:"Semicolon",ShiftLeft:"ShiftLeft",ShiftRight:"ShiftRight",Slash:"Slash",Space:"Space",Tab:"Tab",VolumeDown:"VolumeDown",VolumeMute:"VolumeMute",VolumeUp:"VolumeUp",WakeUp:"WakeUp"};function __awaiter(e,t,i,s){return new(i||(i=Promise))((function(n,a){function fulfilled(e){try{step(s.next(e))}catch(e){a(e)}}function rejected(e){try{step(s.throw(e))}catch(e){a(e)}}function step(e){e.done?n(e.value):function adopt(e){return e instanceof i?e:new i((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const c=/ф|и|с|в|у|а|п|р|ш|о|л|д|ь|т|щ|з|й|к|ы|е|г|м|ц|ч|н|я|ё|х|ъ|б|ю|э|ж|и/i,l=/[a-z]/i,u=["fr","mg","lu"],h=["ab","ba","be","bg","ch","kk","ky","mk","mn","ru","sr","tg","tt","uk","uz"],g=["de","cs","sk","sl","hu","hr","bs","ro","sq","me","lt","lv","et"];let p,m;function inferKeyboardLayoutFromLang(e=function getLang(){var e;const t=navigator;return(null===(e=t.languages)||void 0===e?void 0:e.length)?t.languages[0]:t.userLanguage||t.language||t.browserLanguage}()){const t=(e||"").toLowerCase(),i=t.split("-")[0];return u.includes(i)||t.startsWith("nl-be")?"AZERTY":h.includes(i)?"JCUKEN":g.includes(i)||t.startsWith("sr-latn")?"QWERTZ":"QWERTY"}const v=new Set(["AZERTY","JCUKEN","QWERTY","QWERTZ"]);function getLayoutKeyLabel(e,t){var i,s;if(void 0===m){const e={ArrowLeft:"⬅",ArrowRight:"➡",ArrowUp:"⬆",ArrowDown:"⬇",AltLeft:"Left Alt",AltRight:"Right Alt",Backquote:"`",Backslash:"\\",Backspace:"Backspace",BracketLeft:"[",BracketRight:"]",CapsLock:"CapsLock",Comma:",",ContextMenu:"Context Menu",ControlLeft:"Left Ctrl",ControlRight:"Right Ctrl",Delete:"Delete",Digit0:"0",Digit1:"1",Digit2:"2",Digit3:"3",Digit4:"4",Digit5:"5",Digit6:"6",Digit7:"7",Digit8:"8",Digit9:"9",End:"End",Enter:"Enter",Equal:"=",Escape:"Esc",F1:"F1",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",F10:"F10",F11:"F11",F12:"F12",F13:"F13",F14:"F14",F15:"F15",F16:"F16",F17:"F17",F18:"F18",F19:"F19",F20:"F20",F21:"F21",F22:"F22",F23:"F23",F24:"F24",F25:"F25",F26:"F26",F27:"F27",F28:"F28",F29:"F29",F30:"F30",F31:"F31",F32:"F32",Home:"Home",IntlBackslash:"\\",IntlRo:"Ro",IntlYen:"¥",KeyA:"A",KeyB:"B",KeyC:"C",KeyD:"D",KeyE:"E",KeyF:"F",KeyG:"G",KeyH:"H",KeyI:"I",KeyJ:"J",KeyK:"K",KeyL:"L",KeyM:"M",KeyN:"N",KeyO:"O",KeyP:"P",KeyQ:"Q",KeyR:"R",KeyS:"S",KeyT:"T",KeyU:"U",KeyV:"V",KeyW:"W",KeyX:"X",KeyY:"Y",KeyZ:"Z",Lang1:"Language 1",Lang2:"Language 2",MediaTrackNext:"Next Track",MediaTrackPrevious:"Previous Track",MetaLeft:"Left "+getMetaKeyLabel(),MetaRight:"Right "+getMetaKeyLabel(),Minus:"-",NumLock:"Num Lock",Numpad0:"Num0",Numpad1:"Num1",Numpad2:"Num2",Numpad3:"Num3",Numpad4:"Num4",Numpad5:"Num5",Numpad6:"Num6",Numpad7:"Num7",Numpad8:"Num8",Numpad9:"Num9",NumpadAdd:"+",NumpadComma:",",NumpadDecimal:".",NumpadDivide:"/",NumpadMultiply:"*",NumpadSubtract:"-",OSLeft:"OS Left",Pause:"Pause",Period:".",Quote:"'",ScrollLock:"Scroll Lock",Semicolon:";",ShiftLeft:"Left Shift",ShiftRight:"Right Shift",Slash:"/",Space:"Space",Tab:"Tab",VolumeDown:"Volume Down",VolumeMute:"Volume Mute",VolumeUp:"Volume Up",WakeUp:"Wake Up"};m={AZERTY:{KeyA:"Q",KeyQ:"A",KeyW:"Z",KeyZ:"W",Backquote:"²",BracketLeft:"«",BracketRight:"»"},JCUKEN:{KeyA:"Ф",KeyB:"И",KeyC:"С",KeyD:"В",KeyE:"У",KeyF:"А",KeyG:"П",KeyH:"Р",KeyI:"Ш",KeyJ:"О",KeyK:"Л",KeyL:"Д",KeyM:"Ь",KeyN:"Т",KeyO:"Щ",KeyP:"З",KeyQ:"Й",KeyR:"К",KeyS:"Ы",KeyT:"Е",KeyU:"Г",KeyV:"М",KeyW:"Ц",KeyX:"Ч",KeyY:"Н",KeyZ:"Я",Backquote:"Ё",BracketLeft:"х",BracketRight:"ъ",Comma:"Б",Period:"Ю",Quote:"Э",Semicolon:"Ж",Slash:"И"},QWERTY:e,QWERTZ:{KeyY:"Z",KeyZ:"Y",BracketLeft:"ü",BracketRight:"ö",Slash:"-"}}}return null!==(s=null!==(i=m[t][e])&&void 0!==i?i:m.QWERTY[e])&&void 0!==s?s:e}function getMetaKeyLabel(){var e,t,i,s;const n=navigator,a=null!==(t=null===(e=n.platform)||void 0===e?void 0:e.toLowerCase())&&void 0!==t?t:"",o=null!==(s=null===(i=n.userAgent)||void 0===i?void 0:i.toLowerCase())&&void 0!==s?s:"";return a.includes("mac")?"⌘":a.includes("win")||a.includes("linux")?"⊞":o.includes("android")?"Search":o.includes("iphone")||o.includes("ipad")?"⌘":"⊞"}class KeyboardDevice{constructor(){this.type="keyboard",this.id="keyboard",this.meta={},this.lastInteraction=performance.now(),this.detected=!1,this.options={emitEvents:!0,detectLayoutOnKeypress:!0,binds:{"navigate.back":["Escape","Backspace"],"navigate.down":["ArrowDown","KeyS"],"navigate.left":["ArrowLeft","KeyA"],"navigate.right":["ArrowRight","KeyD"],"navigate.trigger":["Enter","Space"],"navigate.up":["ArrowUp","KeyW"]},repeatableBinds:["navigate.down","navigate.left","navigate.right","navigate.up"]},this.key=Object.keys(d).reduce(((e,t)=>(e[t]=!1,e)),{}),this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._deferredKeydown=[],this._layout=inferKeyboardLayoutFromLang(),this._layoutSource="lang",function requestKeyboardLayout(){return __awaiter(this,void 0,void 0,(function*(){const e=navigator;if(e.keyboard&&e.keyboard.getLayoutMap)try{const t=yield e.keyboard.getLayoutMap();p=t;const i=t.get("KeyQ"),s=t.get("KeyA"),n=t.get("KeyZ");if("a"===i&&"w"===n&&"q"===s)return"AZERTY";if("q"===i&&"y"===n&&"a"===s)return"QWERTZ";if("q"===i&&"z"===n&&"a"===s)return"QWERTY";if("й"===i&&"я"===n&&"ф"===s)return"JCUKEN"}catch(e){}}))}().then((e=>{void 0!==e&&(this._layoutSource="browser",this._layout=e,this.options.detectLayoutOnKeypress=!1,this._emitter.emit("layoutdetected",{layoutSource:"browser",layout:e,device:this}))})),this._configureEventListeners()}get layout(){return this._layout}set layout(e){this._layoutSource="manual",this._layout=e,this.options.detectLayoutOnKeypress=!1}get layoutSource(){return this._layoutSource}bindDown(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;t<e.length;t++)if(this.key[e[t]])return!0;return!1}pressedAll(e){for(let t=0;t<e.length;t++)if(!this.key[e[t]])return!1;return!0}configureBinds(e){this.options.binds=Object.assign(Object.assign({},this.options.binds),e)}playHaptic(){}on(e,t,i){return this._emitter.on(e,t,i),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return this._bindDownEmitter.on(e,t,i),this}offBindDown(e,t){return this._bindDownEmitter.off(e,t),this}getKeyLabel(e,t){var i;return t?getLayoutKeyLabel(e,t):null!==(i=function getNavigatorKeyLabel(e){const t=null==p?void 0:p.get(e);return void 0===t?void 0:function _toLocaleTitleCase(e){return e.split(/\s+/).map((e=>e.charAt(0).toLocaleUpperCase()+e.slice(1))).join(" ")}(t)}(e))&&void 0!==i?i:getLayoutKeyLabel(e,null!=t?t:this._layout)}update(e){this._deferredKeydown.length>0&&(this._deferredKeydown.forEach((e=>this._processDeferredKeydownEvent(e))),this._deferredKeydown.length=0)}clear(){for(const e of Object.keys(d))this.key[e]=!1}_configureEventListeners(){const e=this.key,t=this._deferredKeydown;window.addEventListener("keydown",(i=>{e[i.code]=!0,t.push(i),this.lastInteraction=performance.now()}),{passive:!0,capture:!0}),window.addEventListener("keyup",(t=>{e[t.code]=!1,this.lastInteraction=performance.now()}),{passive:!0,capture:!0})}_processDeferredKeydownEvent(e){const t=e.code;if(!e.repeat){if(this.options.detectLayoutOnKeypress&&"lang"===this._layoutSource){const t=function detectKeyboardLayoutFromKeydown(e){const t=e.key.toLowerCase(),i=e.code;return c.test(t)?(v.delete("AZERTY"),v.delete("QWERTY"),v.delete("QWERTZ")):"Backquote"===i&&"²"===t||"BracketLeft"===i&&"«"===t||"BracketRight"===i&&"»"===t||"KeyA"===i&&"q"===t||"KeyQ"===i&&"a"===t||"KeyW"===i&&"z"===t||"KeyZ"===i&&"w"===t?(v.delete("JCUKEN"),v.delete("QWERTY"),v.delete("QWERTZ")):"BracketLeft"===i&&"ü"===t||"BracketRight"===i&&"ö"===t||"KeyY"===i&&"z"===t||"KeyZ"===i&&"y"===t||"Slash"===i&&"-"===t?(v.delete("AZERTY"),v.delete("JCUKEN"),v.delete("QWERTY")):"BracketLeft"===i&&"["===t||"BracketRight"===i&&"]"===t||"KeyZ"===i&&"z"===t?(v.delete("AZERTY"),v.delete("JCUKEN"),v.delete("QWERTZ")):"KeyQ"===i&&"q"===t||"KeyW"===i&&"w"===t?(v.delete("AZERTY"),v.delete("JCUKEN")):"KeyY"===i&&"y"===t?(v.delete("QWERTZ"),v.delete("JCUKEN")):l.test(t)&&v.delete("JCUKEN"),1===v.size?[...v][0]:void 0}(e);void 0!==t&&(this._layout=t,this._layoutSource="keypress",this.options.detectLayoutOnKeypress=!1,this._emitter.emit("layoutdetected",{layout:t,layoutSource:"keypress",device:this}))}this.options.emitEvents&&this._emitter.hasListener(t)&&this._emitter.emit(t,{device:this,keyCode:t,keyLabel:this.getKeyLabel(t),event:e})}this.options.emitEvents&&Object.entries(this.options.binds).forEach((([i,s])=>{if(!s.includes(t))return;if(e.repeat&&!this.options.repeatableBinds.includes(i))return;const n={device:this,keyCode:t,keyLabel:this.getKeyLabel(t),event:e,name:i,repeat:e.repeat};this._bindDownEmitter.emit(i,n),this._emitter.emit("binddown",n)}))}}KeyboardDevice.global=new KeyboardDevice;class InputDeviceManager{constructor(){this.hasMouseLikePointer=window.matchMedia("(pointer: fine) and (hover: hover)").matches,this.isTouchCapable=("ontouchstart"in window||window.TouchEvent)&&navigator.maxTouchPoints>0,this.isMobile=(()=>{let e=!1;var t;return t=navigator.userAgent||navigator.vendor,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm(os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s)|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp(i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac(|\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt(|\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg(g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v)|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v)|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-|)|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0),e})(),this.keyboard=KeyboardDevice.global,this.options={clearInputOnBackground:!0,requireDocumentFocus:!0},this._devices=[],this._gamepadDevices=[],this._gamepadDeviceMap=new Map,this._customDevices=[],this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._hasFocus=!1,window.addEventListener("gamepadconnected",(()=>this._pollGamepads(performance.now()))),window.addEventListener("gamepaddisconnected",(e=>this._removeGamepad(e.gamepad.index))),!this.isMobile&&this.hasMouseLikePointer?this.add(this.keyboard):window.addEventListener("keydown",(()=>this.add(this.keyboard)),{once:!0})}get devices(){return this._devices}get gamepads(){return this._gamepadDevices}get custom(){return this._customDevices}get lastInteractedDevice(){return this._lastInteractedDevice}on(e,t){return this._emitter.on(e,t),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindDownEmitter.on(e,t,i))),this}offBindDown(e,t){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindDownEmitter.off(e,t))),this}emitBindDown(e){this._bindDownEmitter.emit(e.name,e)}add(e){-1===this._devices.indexOf(e)&&(this._devices.push(e),e instanceof KeyboardDevice?(e.detected=!0,e.on("binddown",(e=>this.emitBindDown(e)))):e instanceof GamepadDevice?(this._gamepadDeviceMap.set(e.source.index,e),this._gamepadDevices.push(e),e.on("binddown",(e=>this.emitBindDown(e)))):this._customDevices.push(e),this._emitter.emit("deviceadded",{device:e}))}remove(e){if(!(e instanceof KeyboardDevice||e instanceof GamepadDevice)){const t=this._customDevices.indexOf(e);-1!==t&&this._customDevices.splice(t,1)}const t=this._devices.indexOf(e);-1!==t&&(this._devices.splice(t,1),this._emitter.emit("deviceremoved",{device:e}))}update(){if(this.options.requireDocumentFocus&&!document.hasFocus())return this._hasFocus&&this.options.clearInputOnBackground&&this.devices.forEach((e=>{var t;return null===(t=e.clear)||void 0===t?void 0:t.call(e)})),this._hasFocus=!1,this._devices;this._hasFocus=!0;const e=performance.now();return this.keyboard.detected&&this.keyboard.update(e),this._gamepadDevices.length>0&&this._pollGamepads(e),this._customDevices.length>0&&this._customDevices.forEach((t=>t.update(e))),this._updateLastInteracted(),this._devices}_updateLastInteracted(){if(0===this._devices.length)return;let e;if(1===this._devices.length)e=this._devices[0];else for(const t of this._devices)(void 0===e||t.lastInteraction>e.lastInteraction)&&(e=t);e!==this._lastInteractedDevice&&this._emitter.emit("lastdevicechanged",{device:e}),this._lastInteractedDevice=e}_pollGamepads(e){if(!document.hasFocus())return this._gamepadDevices;if(void 0===navigator.getGamepads)return this._gamepadDevices;for(const t of navigator.getGamepads())if(null!=t)if(this._gamepadDeviceMap.has(t.index)){this._gamepadDeviceMap.get(t.index).update(t,e)}else{const i=new GamepadDevice(t);this.add(i),i.update(t,e)}return this._gamepadDevices}_removeGamepad(e){const t=this._gamepadDeviceMap.get(e);if(!t)return;const i=this._gamepadDevices.indexOf(t);-1!==i&&this._gamepadDevices.splice(i,1),this.remove(t),this._gamepadDeviceMap.delete(e)}}InputDeviceManager.global=new InputDeviceManager;const f=InputDeviceManager.global;function getAllNavigatables(e,t=[]){var i;for(const s of null!==(i=e.children)&&void 0!==i?i:[])s.isNavigatable?t.push(s):getAllNavigatables(s,t);return t}function getFirstNavigatable(e,t,i,{minimumDistance:s=0}={}){return function chooseFirstNavigatableInDirection(e,t,i,s=0){var n,a,o,r,d,c,l,u,h;const g=e.filter((e=>e.isNavigatable&&null!=e.parent&&isVisible(e))),p=g.find((e=>e===t));if(void 0===p)return g.sort(((e,t)=>t.navigationPriority-e.navigationPriority)),g[0];if(void 0===i&&p)return p;const m=null!=p?p:g[Math.floor(Math.random()*g.length)];if(void 0===p)return null!==(n=e[0])&&void 0!==n?n:m;const v=p.getGlobalPosition(),f=p.getBounds(),y={x:v.x+f.left+f.width/2,y:v.y+f.top+f.height/2},b=g.filter((e=>e!==p)).map((e=>{const t=e.getGlobalPosition(),i=e.getBounds(),s={x:t.x+i.left+i.width/2,y:t.y+i.top+i.height/2};return{element:e,bounds:i,center:s,xDistSqrd:weightedDistSquared(s,y,1,3),yDistSqrd:weightedDistSquared(s,y,3,1)}}));switch(i){case"navigate.up":return null!==(o=null===(a=b.filter((e=>e.center.y<y.y-s)).sort(((e,t)=>e.yDistSqrd-t.yDistSqrd))[0])||void 0===a?void 0:a.element)&&void 0!==o?o:m;case"navigate.left":return null!==(d=null===(r=b.filter((e=>e.center.x<y.x-s)).sort(((e,t)=>e.xDistSqrd-t.xDistSqrd))[0])||void 0===r?void 0:r.element)&&void 0!==d?d:m;case"navigate.right":return null!==(l=null===(c=b.filter((e=>e.center.x>y.x+s)).sort(((e,t)=>e.xDistSqrd-t.xDistSqrd))[0])||void 0===c?void 0:c.element)&&void 0!==l?l:m;case"navigate.down":return null!==(h=null===(u=b.filter((e=>e.center.y>y.y+s)).sort(((e,t)=>e.yDistSqrd-t.yDistSqrd))[0])||void 0===u?void 0:u.element)&&void 0!==h?h:m;default:return p}}(getAllNavigatables(e),t,i,s)}function isChildOf(e,t){for(;null!=e;){if(e===t)return!0;e=e.parent}return!1}function weightedDistSquared(e,t,i,s){const n=t.x-e.x,a=t.y-e.y;return n*n*i+a*a*s}function isVisible(e){for(;null!=e;){if(!e.visible)return!1;e=e.parent}return!0}const y=["navigate.left","navigate.right","navigate.up","navigate.down","navigate.back","navigate.trigger"];class NavigationManager{constructor(){this.options={enableFallbackOverEffect:!0,minimumDirectionDistance:10},this.enabled=!1,this._responders=[]}get focusTarget(){var e,t;return null!==(t=null===(e=this.responders.find((e=>null!=e.focusTarget)))||void 0===e?void 0:e.focusTarget)&&void 0!==t?t:this._rootFocused}set focusTarget(e){const t=this.focusTarget;if(t===e)return;const i=this.getResponderStage();if(i){if(e){if(!e.isNavigatable)return;if(!isChildOf(e,i))return}null!=this.firstResponder?this.firstResponder.focusTarget=e:this._rootFocused=e,t&&this._emitBlur(t),e&&this._emitFocus(e)}}get firstResponder(){return this._responders[0]}get responders(){return this._responders}configureWithRoot(e){null==this._root&&f.onBindDown(y,(e=>this._propagate(e))),this._root=e,this.enabled=!0}popResponder(){var e,t,i,s,n;const a=this.focusTarget,o=this._responders.shift();o.focusTarget=void 0;const r=this.focusTarget;return null===(e=null==o?void 0:o.resignedAsFirstResponder)||void 0===e||e.call(o),this._invalidateFocusedIfNeeded(),this.firstResponder&&(null===(i=(t=this.firstResponder).becameFirstResponder)||void 0===i||i.call(t)),a!==r&&(null!==(n=null===(s=this.firstResponder)||void 0===s?void 0:s.autoFocus)&&void 0!==n?n:void 0===r)&&this.autoFocus(),o}pushResponder(e){var t,i,s;const n=e;if(this._responders.includes(n))throw new Error("Responder already in stack.");const a=this.firstResponder;this._responders.unshift(n),null===(t=null==a?void 0:a.resignedAsFirstResponder)||void 0===t||t.call(a),this._invalidateFocusedIfNeeded(),null===(i=n.becameFirstResponder)||void 0===i||i.call(n),(null===(s=n.autoFocus)||void 0===s||s)&&this.autoFocus()}autoFocus(){if(!b.enabled)return;const e=this.getResponderStage();if(!e)return;const t=getFirstNavigatable(e);void 0!==t?t!==this.focusTarget&&(this.focusTarget=t):console.debug("navigation: no navigatable containers found")}getResponderStage(){var e;return null!==(e=this.responders.find(isContainer))&&void 0!==e?e:this._root}_propagate({device:e,name:t}){var i;if(this.enabled){for(const s of this._responders)if(null===(i=s.handledNavigationIntent)||void 0===i?void 0:i.call(s,t,e))return;if(null==this._root)throw this.enabled=!1,new Error("Navigation requires root responder to be configured");{const e=this.getResponderStage();this._handleGlobalIntent(e,t)}}}_handleGlobalIntent(e,t){var i;this._invalidateFocusedIfNeeded(e);const s=this.focusTarget;if(void 0===s)return void this.autoFocus();if("navigate.back"===t)return this._emitBlur(s),void(this.focusTarget=void 0);if("navigate.trigger"===t)return void this._emitTrigger(s);const n=null!==(i=getFirstNavigatable(e,s,t,{minimumDistance:this.options.minimumDirectionDistance}))&&void 0!==i?i:s;n!==s&&(this.focusTarget=n)}_emitBlur(e){const t=e.eventNames();t.includes("pointerout")?e.emit("pointerout"):t.includes("mouseout")?e.emit("mouseout"):this.options.enableFallbackOverEffect&&(e.alpha=1),e.emit("deviceout")}_emitFocus(e){const t=e.eventNames();t.includes("pointerover")?e.emit("pointerover"):t.includes("mouseover")?e.emit("mouseover"):this.options.enableFallbackOverEffect&&(e.alpha=.5),e.emit("deviceover")}_emitTrigger(e){const t=e.eventNames();t.includes("pointerdown")?e.emit("pointerdown"):t.includes("mousedown")?e.emit("mousedown"):this.options.enableFallbackOverEffect&&(e.alpha=.75),e.emit("devicedown")}_invalidateFocusedIfNeeded(e=this.getResponderStage()){if(!e)return;const t=this.focusTarget;t&&!isChildOf(t,e)&&(this._emitBlur(t),this.focusTarget=void 0)}}function isContainer(e){return"children"in e}NavigationManager.global=new NavigationManager;const b=NavigationManager.global;let w=!1;function registerPixiJSNavigationMixin(e){if(w)return;w=!0;const t=e.prototype;t.navigationPriority=0,t.navigationMode="auto",Object.defineProperty(t,"isNavigatable",{get:function(){if("target"===this.navigationMode)return!0;if("auto"!==this.navigationMode)return!1;const e=this.eventNames();return e.length>0&&(e.includes("pointerdown")||e.includes("mousedown"))},configurable:!0,enumerable:!1})}export{a as Button,GamepadDevice,f as InputDevice,d as KeyCode,KeyboardDevice,b as UINavigation,getAllNavigatables,getFirstNavigatable,isChildOf,isVisible,y as navigationIntents,registerPixiJSNavigationMixin};
|
|
1
|
+
const e=0,t=1,i=2,s=3,n=["LeftStickLeft","LeftStickRight","LeftStickUp","LeftStickDown","RightStickLeft","RightStickRight","RightStickUp","RightStickDown"],o={Face1:0,Face2:1,Face3:2,Face4:3,LeftShoulder:4,RightShoulder:5,LeftTrigger:6,RightTrigger:7,Back:8,Start:9,LeftStickClick:10,RightStickClick:11,DpadUp:12,DpadDown:13,DpadLeft:14,DpadRight:15},a=["Face1","Face2","Face3","Face4","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStickClick","RightStickClick","DpadUp","DpadDown","DpadLeft","DpadRight"];class EventEmitter{constructor(){this._listeners={}}hasListener(e){return void 0!==this._listeners[e]}emit(e,t){var i;null===(i=this._listeners[e])||void 0===i||i.forEach((e=>e(t)))}on(e,t,i){var s,n;if(this._listeners[e]||(this._listeners[e]=[]),null==i?void 0:i.once){const onceFn=i=>{t(i),this.off(e,onceFn)};null===(s=this._listeners[e])||void 0===s||s.push(onceFn)}else null===(n=this._listeners[e])||void 0===n||n.push(t)}off(e,t){var i,s;this._listeners[e]=void 0===t||null===(i=this._listeners[e])||void 0===i?void 0:i.filter((e=>e!==t)),0===(null===(s=this._listeners[e])||void 0===s?void 0:s.length)&&(this._listeners[e]=void 0)}}const r=2e3;class GamepadHapticManager{constructor(e){var t,i,s;this.activeEffects=[],this.state={rumble:0,buzz:0,leftTrigger:0,rightTrigger:0,expires:0},this.gamepad=e,this.hapticEvent="vibrationActuator"in e?(null===(s=null===(i=null===(t=e.vibrationActuator)||void 0===t?void 0:t.effects)||void 0===i?void 0:i.includes)||void 0===s?void 0:s.call(i,"trigger-rumble"))?"trigger-rumble":"dual-rumble":void 0}play(e,t){var i;const s=Math.max(0,null!==(i=e.startDelay)&&void 0!==i?i:0),n=performance.now()+s;this.activeEffects.push(Object.assign(Object.assign({},e),{start:n,end:n+Math.max(e.duration,0),startDelay:void 0})),this.intensity!==t&&(this.intensity=Math.max(0,Math.min(1,t))),s||0!==this.activeEffects.length||this.update()}reset(){var e,t;this.activeEffects.length=0,this.state.rumble=0,this.state.buzz=0,this.state.leftTrigger=0,this.state.rightTrigger=0,this.gamepad.vibrationActuator?(this.gamepad.vibrationActuator.playEffect("dual-rumble",{duration:1,strongMagnitude:0,weakMagnitude:0,leftTrigger:0,rightTrigger:0}),this.gamepad.vibrationActuator.reset()):this.gamepad.hapticActuators&&(null===(t=null===(e=this.gamepad.hapticActuators[0])||void 0===e?void 0:e.pulse)||void 0===t||t.call(e,0,100))}update(){var e,t;const i=performance.now();let s=0,n=0,o=0,a=0,d=0,c=!1;for(let e=0;e<this.activeEffects.length;e++){const t=this.activeEffects[e];t.end<=i?c=!0:t.start>i||("trigger-rumble"===this.hapticEvent&&(t.leftTrigger&&t.leftTrigger>o&&(o=t.leftTrigger),t.rightTrigger&&t.rightTrigger>a&&(a=t.rightTrigger)),t.rumble&&t.rumble>s&&(s=t.rumble),t.buzz&&t.buzz>n&&(n=t.buzz),t.end-i>d&&(d=t.end-i))}if(c&&(this.activeEffects=this.activeEffects.filter((e=>e.end>=i))),this.state.rumble!==s||this.state.buzz!==n||this.state.leftTrigger!==o||this.state.rightTrigger!==a||this.state.expires<=i&&s+n+o+a>0)if(this.state.rumble=s,this.state.buzz=n,this.state.leftTrigger=o,this.state.rightTrigger=a,void 0!==this.hapticEvent)this.state.expires=i+r,this.gamepad.vibrationActuator.playEffect(this.hapticEvent,{duration:r,strongMagnitude:s*this.intensity,weakMagnitude:n*this.intensity,leftTrigger:o*this.intensity,rightTrigger:a*this.intensity});else if(this.gamepad.hapticActuators){const o=Math.min(d,r),a=Math.max(s,n)*this.intensity;this.state.expires=i+d,null===(t=null===(e=this.gamepad.hapticActuators[0])||void 0===e?void 0:e.pulse)||void 0===t||t.call(e,a,o)}}}const d={clearInputOnBackground:!0,requireDocumentFocus:!0,supressHapticsInactivityPeriodMs:0};class GamepadDevice{static configureDefaultBinds(e){this.defaultOptions.binds=Object.assign(Object.assign({},this.defaultOptions.binds),e)}constructor(e){var t;this.source=e,this.type="gamepad",this.meta={},this.lastInteraction=performance.now(),this.options=JSON.parse(JSON.stringify(GamepadDevice.defaultOptions)),this.leftJoystick={x:0,y:0},this.rightJoystick={x:0,y:0},this.button=[...a,...n].reduce(((e,t)=>(e[t]=!1,e)),{}),this.leftTrigger=0,this.rightTrigger=0,this.leftShoulder=0,this.rightShoulder=0,this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._debounces=new Map,this.id="gamepad"+e.index,this.layout=null!==(t=function detectLayout(e){const t=(e||"").toLowerCase();return/(amazon|luna|1949)/.test(t)?"amazon_luna":/(logitech|046d|c216|logicool|^46d)/.test(t)?"logitech_g":/(joy-?con.*l|057e.*2006)/.test(t)?"nintendo_joycon_l":/(joy-?con.*r|057e.*2007)/.test(t)?"nintendo_joycon_r":/(wiiu?|0305|0306|0337)/.test(t)?"nintendo_wiiu":/(switch.*pro|nintendo|switch|057e|0300)/.test(t)?"nintendo_switch_pro":/(nvidia.*shield|nvidia|shield|0955)/.test(t)?"nvidia_shield":/(playstation.*5|dualsense|0df2|0ce6)/.test(t)?"playstation_5":/(playstation|sony|dualshock|054c|09cc|0ba0|0810)/.test(t)?"playstation_4":/(steam.*controller|steam|28de|1102|1142)/.test(t)?"steam_controller":/(xbox.*series|0b00|0b12)/.test(t)?"xbox_series":/(xbox.*360|0202|0283|0285|0288|0289|028e|028f|0291|0719)/.test(t)?"xbox_360":/(xbox|xinput|045e)/.test(t)?"xbox_one":void 0}(null==e?void 0:e.id))&&void 0!==t?t:"unknown",this._haptics=new GamepadHapticManager(e),this.supportsTriggerRumble="trigger-rumble"===this._haptics.hapticEvent}bindDown(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;t<e.length;t++)if(this.button[e[t]])return!0;return!1}pressedAll(e){for(let t=0;t<e.length;t++)if(!this.button[e[t]])return!1;return!0}configureBinds(e){this.options.binds=Object.assign(Object.assign({},this.options.binds),e)}on(e,t,i){return this._emitter.on(e,t,i),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return this._bindDownEmitter.on(e,t,i),this}offBindDown(e,t){return this._bindDownEmitter.off(e,t),this}playHaptic(...e){this.options.vibration.enabled&&(d.supressHapticsInactivityPeriodMs>0&&performance.now()-this.lastInteraction>d.supressHapticsInactivityPeriodMs||e.forEach((e=>this._haptics.play(e,this.options.vibration.intensity))))}stopHaptics(){this._haptics.reset()}update(e,t){this.source=e,this._poll(e,t),this._haptics.update()}clear(){this.button=[...n,...a].reduce(((e,t)=>(e[t]=!1,e)),{}),this._haptics.reset()}_poll(r,d){var c,l,u,h,g,p,m;const v=this.options.joystick;for(let e=0;e<4;e++){const t=_scale(r.axes[e],v.deadzone),i=n[2*e+(t>0?1:0)];if(Math.abs(t)<v.pressThreshold)this.button[i]||this._debounces.delete(i),this.button[i]=!1;else{const t=v.autoRepeatDelayMs[+this.button[i]];if(this._debounce(i,t)&&this.button[i])continue;this.button[i]=!0,this.lastInteraction=d,this.options.emitEvents&&(this._emitter.hasListener(i)&&this._emitter.emit(i,{device:this,axis:e,axisCode:i}),Object.entries(this.options.binds).forEach((([t,s])=>{if(!s.includes(i))return;const n={device:this,type:"axis",axis:e,axisCode:i,name:t};this._bindDownEmitter.emit(t,n),this._emitter.emit("binddown",n)})))}}for(let e=0;e<16;e++){let t=e;const i=a[t];if(this.button[i]===(null===(c=r.buttons[e])||void 0===c?void 0:c.pressed))continue;this.lastInteraction=d;const s=null!==(u=null===(l=r.buttons[e])||void 0===l?void 0:l.pressed)&&void 0!==u&&u;this.button[i]=s,s&&this.options.emitEvents&&(this._emitter.hasListener(i)&&this._emitter.emit(i,{device:this,button:t,buttonCode:i}),Object.entries(this.options.binds).forEach((([e,s])=>{if(!s.includes(i))return;const n={device:this,type:"button",button:t,buttonCode:i,name:e};this._bindDownEmitter.emit(e,n),this._emitter.emit("binddown",n)})))}const f=this.options.trigger.deadzone;this.leftTrigger=_scale(r.buttons[o.LeftTrigger].value,f),this.rightTrigger=_scale(r.buttons[o.RightTrigger].value,f),this.leftShoulder=_scale(r.buttons[o.LeftShoulder].value,f),this.rightShoulder=_scale(r.buttons[o.RightShoulder].value,f);const y=v.deadzone;this.leftJoystick.x=_scale(null!==(h=r.axes[e])&&void 0!==h?h:0,y),this.leftJoystick.y=_scale(null!==(g=r.axes[t])&&void 0!==g?g:0,y),this.rightJoystick.x=_scale(null!==(p=r.axes[i])&&void 0!==p?p:0,y),this.rightJoystick.y=_scale(null!==(m=r.axes[s])&&void 0!==m?m:0,y)}_debounce(e,t){var i;const s=Date.now();return(null!==(i=this._debounces.get(e))&&void 0!==i?i:0)>s||(this._debounces.set(e,s+t),!1)}}function _scale(e,t){const i=(Math.abs(e)-t[0])/(t[1]-t[0]);return i>=0&&i<=1?Math.sign(e)*i:i>1?1*Math.sign(e):0}GamepadDevice.defaultOptions={emitEvents:!0,joystick:{deadzone:[0,1],pressThreshold:.5,autoRepeatDelayMs:[400,100]},trigger:{deadzone:[0,1]},vibration:{enabled:!0,intensity:1},binds:{"navigate.trigger":["Face1"],"navigate.back":["Face2"],"navigate.up":["DpadUp","LeftStickUp"],"navigate.left":["DpadLeft","LeftStickLeft"],"navigate.down":["DpadDown","LeftStickDown"],"navigate.right":["DpadRight","LeftStickRight"]}};const c={AltLeft:"AltLeft",AltRight:"AltRight",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",ArrowUp:"ArrowUp",Backquote:"Backquote",Backslash:"Backslash",Backspace:"Backspace",BracketLeft:"BracketLeft",BracketRight:"BracketRight",CapsLock:"CapsLock",Comma:"Comma",ContextMenu:"ContextMenu",ControlLeft:"ControlLeft",ControlRight:"ControlRight",Delete:"Delete",Digit0:"Digit0",Digit1:"Digit1",Digit2:"Digit2",Digit3:"Digit3",Digit4:"Digit4",Digit5:"Digit5",Digit6:"Digit6",Digit7:"Digit7",Digit8:"Digit8",Digit9:"Digit9",End:"End",Enter:"Enter",Equal:"Equal",Escape:"Escape",F1:"F1",F10:"F10",F11:"F11",F12:"F12",F13:"F13",F14:"F14",F15:"F15",F16:"F16",F17:"F17",F18:"F18",F19:"F19",F2:"F2",F20:"F20",F21:"F21",F22:"F22",F23:"F23",F24:"F24",F25:"F25",F26:"F26",F27:"F27",F28:"F28",F29:"F29",F3:"F3",F30:"F30",F31:"F31",F32:"F32",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",Home:"Home",IntlBackslash:"IntlBackslash",IntlRo:"IntlRo",IntlYen:"IntlYen",KeyA:"KeyA",KeyB:"KeyB",KeyC:"KeyC",KeyD:"KeyD",KeyE:"KeyE",KeyF:"KeyF",KeyG:"KeyG",KeyH:"KeyH",KeyI:"KeyI",KeyJ:"KeyJ",KeyK:"KeyK",KeyL:"KeyL",KeyM:"KeyM",KeyN:"KeyN",KeyO:"KeyO",KeyP:"KeyP",KeyQ:"KeyQ",KeyR:"KeyR",KeyS:"KeyS",KeyT:"KeyT",KeyU:"KeyU",KeyV:"KeyV",KeyW:"KeyW",KeyX:"KeyX",KeyY:"KeyY",KeyZ:"KeyZ",Lang1:"Lang1",Lang2:"Lang2",MediaTrackNext:"MediaTrackNext",MediaTrackPrevious:"MediaTrackPrevious",MetaLeft:"MetaLeft",MetaRight:"MetaRight",Minus:"Minus",NumLock:"NumLock",Numpad0:"Numpad0",Numpad1:"Numpad1",Numpad2:"Numpad2",Numpad3:"Numpad3",Numpad4:"Numpad4",Numpad5:"Numpad5",Numpad6:"Numpad6",Numpad7:"Numpad7",Numpad8:"Numpad8",Numpad9:"Numpad9",NumpadAdd:"NumpadAdd",NumpadComma:"NumpadComma",NumpadDecimal:"NumpadDecimal",NumpadDivide:"NumpadDivide",NumpadMultiply:"NumpadMultiply",NumpadSubtract:"NumpadSubtract",OSLeft:"OSLeft",Pause:"Pause",Period:"Period",Quote:"Quote",ScrollLock:"ScrollLock",Semicolon:"Semicolon",ShiftLeft:"ShiftLeft",ShiftRight:"ShiftRight",Slash:"Slash",Space:"Space",Tab:"Tab",VolumeDown:"VolumeDown",VolumeMute:"VolumeMute",VolumeUp:"VolumeUp",WakeUp:"WakeUp"};function __awaiter(e,t,i,s){return new(i||(i=Promise))((function(n,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s.throw(e))}catch(e){o(e)}}function step(e){e.done?n(e.value):function adopt(e){return e instanceof i?e:new i((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const l=/ф|и|с|в|у|а|п|р|ш|о|л|д|ь|т|щ|з|й|к|ы|е|г|м|ц|ч|н|я|ё|х|ъ|б|ю|э|ж|и/i,u=/[a-z]/i,h=["fr","mg","lu"],g=["ab","ba","be","bg","ch","kk","ky","mk","mn","ru","sr","tg","tt","uk","uz"],p=["de","cs","sk","sl","hu","hr","bs","ro","sq","me","lt","lv","et"];let m,v;function inferKeyboardLayoutFromLang(e=function getLang(){var e;const t=navigator;return(null===(e=t.languages)||void 0===e?void 0:e.length)?t.languages[0]:t.userLanguage||t.language||t.browserLanguage}()){const t=(e||"").toLowerCase(),i=t.split("-")[0];return h.includes(i)||t.startsWith("nl-be")?"AZERTY":g.includes(i)?"JCUKEN":p.includes(i)||t.startsWith("sr-latn")?"QWERTZ":"QWERTY"}const f=new Set(["AZERTY","JCUKEN","QWERTY","QWERTZ"]);function getLayoutKeyLabel(e,t){var i,s;if(void 0===v){const e={ArrowLeft:"⬅",ArrowRight:"➡",ArrowUp:"⬆",ArrowDown:"⬇",AltLeft:"Left Alt",AltRight:"Right Alt",Backquote:"`",Backslash:"\\",Backspace:"Backspace",BracketLeft:"[",BracketRight:"]",CapsLock:"CapsLock",Comma:",",ContextMenu:"Context Menu",ControlLeft:"Left Ctrl",ControlRight:"Right Ctrl",Delete:"Delete",Digit0:"0",Digit1:"1",Digit2:"2",Digit3:"3",Digit4:"4",Digit5:"5",Digit6:"6",Digit7:"7",Digit8:"8",Digit9:"9",End:"End",Enter:"Enter",Equal:"=",Escape:"Esc",F1:"F1",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",F10:"F10",F11:"F11",F12:"F12",F13:"F13",F14:"F14",F15:"F15",F16:"F16",F17:"F17",F18:"F18",F19:"F19",F20:"F20",F21:"F21",F22:"F22",F23:"F23",F24:"F24",F25:"F25",F26:"F26",F27:"F27",F28:"F28",F29:"F29",F30:"F30",F31:"F31",F32:"F32",Home:"Home",IntlBackslash:"\\",IntlRo:"Ro",IntlYen:"¥",KeyA:"A",KeyB:"B",KeyC:"C",KeyD:"D",KeyE:"E",KeyF:"F",KeyG:"G",KeyH:"H",KeyI:"I",KeyJ:"J",KeyK:"K",KeyL:"L",KeyM:"M",KeyN:"N",KeyO:"O",KeyP:"P",KeyQ:"Q",KeyR:"R",KeyS:"S",KeyT:"T",KeyU:"U",KeyV:"V",KeyW:"W",KeyX:"X",KeyY:"Y",KeyZ:"Z",Lang1:"Language 1",Lang2:"Language 2",MediaTrackNext:"Next Track",MediaTrackPrevious:"Previous Track",MetaLeft:"Left "+getMetaKeyLabel(),MetaRight:"Right "+getMetaKeyLabel(),Minus:"-",NumLock:"Num Lock",Numpad0:"Num0",Numpad1:"Num1",Numpad2:"Num2",Numpad3:"Num3",Numpad4:"Num4",Numpad5:"Num5",Numpad6:"Num6",Numpad7:"Num7",Numpad8:"Num8",Numpad9:"Num9",NumpadAdd:"+",NumpadComma:",",NumpadDecimal:".",NumpadDivide:"/",NumpadMultiply:"*",NumpadSubtract:"-",OSLeft:"OS Left",Pause:"Pause",Period:".",Quote:"'",ScrollLock:"Scroll Lock",Semicolon:";",ShiftLeft:"Left Shift",ShiftRight:"Right Shift",Slash:"/",Space:"Space",Tab:"Tab",VolumeDown:"Volume Down",VolumeMute:"Volume Mute",VolumeUp:"Volume Up",WakeUp:"Wake Up"};v={AZERTY:{KeyA:"Q",KeyQ:"A",KeyW:"Z",KeyZ:"W",Backquote:"²",BracketLeft:"«",BracketRight:"»"},JCUKEN:{KeyA:"Ф",KeyB:"И",KeyC:"С",KeyD:"В",KeyE:"У",KeyF:"А",KeyG:"П",KeyH:"Р",KeyI:"Ш",KeyJ:"О",KeyK:"Л",KeyL:"Д",KeyM:"Ь",KeyN:"Т",KeyO:"Щ",KeyP:"З",KeyQ:"Й",KeyR:"К",KeyS:"Ы",KeyT:"Е",KeyU:"Г",KeyV:"М",KeyW:"Ц",KeyX:"Ч",KeyY:"Н",KeyZ:"Я",Backquote:"Ё",BracketLeft:"х",BracketRight:"ъ",Comma:"Б",Period:"Ю",Quote:"Э",Semicolon:"Ж",Slash:"И"},QWERTY:e,QWERTZ:{KeyY:"Z",KeyZ:"Y",BracketLeft:"ü",BracketRight:"ö",Slash:"-"}}}return null!==(s=null!==(i=v[t][e])&&void 0!==i?i:v.QWERTY[e])&&void 0!==s?s:e}function getMetaKeyLabel(){var e,t,i,s;const n=navigator,o=null!==(t=null===(e=n.platform)||void 0===e?void 0:e.toLowerCase())&&void 0!==t?t:"",a=null!==(s=null===(i=n.userAgent)||void 0===i?void 0:i.toLowerCase())&&void 0!==s?s:"";return o.includes("mac")?"⌘":o.includes("win")||o.includes("linux")?"⊞":a.includes("android")?"Search":a.includes("iphone")||a.includes("ipad")?"⌘":"⊞"}class KeyboardDevice{constructor(){this.type="keyboard",this.id="keyboard",this.meta={},this.lastInteraction=performance.now(),this.detected=!1,this.options={emitEvents:!0,detectLayoutOnKeypress:!0,binds:{"navigate.back":["Escape","Backspace"],"navigate.down":["ArrowDown","KeyS"],"navigate.left":["ArrowLeft","KeyA"],"navigate.right":["ArrowRight","KeyD"],"navigate.trigger":["Enter","Space"],"navigate.up":["ArrowUp","KeyW"]},repeatableBinds:["navigate.down","navigate.left","navigate.right","navigate.up"]},this.key=Object.keys(c).reduce(((e,t)=>(e[t]=!1,e)),{}),this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._deferredKeydown=[],this._layout=inferKeyboardLayoutFromLang(),this._layoutSource="lang",function requestKeyboardLayout(){return __awaiter(this,void 0,void 0,(function*(){const e=navigator;if(e.keyboard&&e.keyboard.getLayoutMap)try{const t=yield e.keyboard.getLayoutMap();m=t;const i=t.get("KeyQ"),s=t.get("KeyA"),n=t.get("KeyZ");if("a"===i&&"w"===n&&"q"===s)return"AZERTY";if("q"===i&&"y"===n&&"a"===s)return"QWERTZ";if("q"===i&&"z"===n&&"a"===s)return"QWERTY";if("й"===i&&"я"===n&&"ф"===s)return"JCUKEN"}catch(e){}}))}().then((e=>{void 0!==e&&(this._layoutSource="browser",this._layout=e,this.options.detectLayoutOnKeypress=!1,this._emitter.emit("layoutdetected",{layoutSource:"browser",layout:e,device:this}))})),this._configureEventListeners()}get layout(){return this._layout}set layout(e){this._layoutSource="manual",this._layout=e,this.options.detectLayoutOnKeypress=!1}get layoutSource(){return this._layoutSource}bindDown(e){return void 0!==this.options.binds[e]&&this.pressedAny(this.options.binds[e])}pressedAny(e){for(let t=0;t<e.length;t++)if(this.key[e[t]])return!0;return!1}pressedAll(e){for(let t=0;t<e.length;t++)if(!this.key[e[t]])return!1;return!0}configureBinds(e){this.options.binds=Object.assign(Object.assign({},this.options.binds),e)}playHaptic(){}on(e,t,i){return this._emitter.on(e,t,i),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return this._bindDownEmitter.on(e,t,i),this}offBindDown(e,t){return this._bindDownEmitter.off(e,t),this}getKeyLabel(e,t){var i;return t?getLayoutKeyLabel(e,t):null!==(i=function getNavigatorKeyLabel(e){const t=null==m?void 0:m.get(e);return void 0===t?void 0:function _toLocaleTitleCase(e){return e.split(/\s+/).map((e=>e.charAt(0).toLocaleUpperCase()+e.slice(1))).join(" ")}(t)}(e))&&void 0!==i?i:getLayoutKeyLabel(e,null!=t?t:this._layout)}update(e){this._deferredKeydown.length>0&&(this._deferredKeydown.forEach((e=>this._processDeferredKeydownEvent(e))),this._deferredKeydown.length=0)}clear(){for(const e of Object.keys(c))this.key[e]=!1}_configureEventListeners(){const e=this.key,t=this._deferredKeydown;window.addEventListener("keydown",(i=>{e[i.code]=!0,t.push(i),this.lastInteraction=performance.now()}),{passive:!0,capture:!0}),window.addEventListener("keyup",(t=>{e[t.code]=!1,this.lastInteraction=performance.now()}),{passive:!0,capture:!0})}_processDeferredKeydownEvent(e){const t=e.code;if(!e.repeat){if(this.options.detectLayoutOnKeypress&&"lang"===this._layoutSource){const t=function detectKeyboardLayoutFromKeydown(e){const t=e.key.toLowerCase(),i=e.code;return l.test(t)?(f.delete("AZERTY"),f.delete("QWERTY"),f.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?(f.delete("JCUKEN"),f.delete("QWERTY"),f.delete("QWERTZ")):"BracketLeft"===i&&"ü"===t||"BracketRight"===i&&"ö"===t||"KeyY"===i&&"z"===t||"KeyZ"===i&&"y"===t||"Slash"===i&&"-"===t?(f.delete("AZERTY"),f.delete("JCUKEN"),f.delete("QWERTY")):"BracketLeft"===i&&"["===t||"BracketRight"===i&&"]"===t||"KeyZ"===i&&"z"===t?(f.delete("AZERTY"),f.delete("JCUKEN"),f.delete("QWERTZ")):"KeyQ"===i&&"q"===t||"KeyW"===i&&"w"===t?(f.delete("AZERTY"),f.delete("JCUKEN")):"KeyY"===i&&"y"===t?(f.delete("QWERTZ"),f.delete("JCUKEN")):u.test(t)&&f.delete("JCUKEN"),1===f.size?[...f][0]:void 0}(e);void 0!==t&&(this._layout=t,this._layoutSource="keypress",this.options.detectLayoutOnKeypress=!1,this._emitter.emit("layoutdetected",{layout:t,layoutSource:"keypress",device:this}))}this.options.emitEvents&&this._emitter.hasListener(t)&&this._emitter.emit(t,{device:this,keyCode:t,keyLabel:this.getKeyLabel(t),event:e})}this.options.emitEvents&&Object.entries(this.options.binds).forEach((([i,s])=>{if(!s.includes(t))return;if(e.repeat&&!this.options.repeatableBinds.includes(i))return;const n={device:this,keyCode:t,keyLabel:this.getKeyLabel(t),event:e,name:i,repeat:e.repeat};this._bindDownEmitter.emit(i,n),this._emitter.emit("binddown",n)}))}}KeyboardDevice.global=new KeyboardDevice;const y=KeyboardDevice.global;class InputDeviceManager{constructor(){this.hasMouseLikePointer=window.matchMedia("(pointer: fine) and (hover: hover)").matches,this.isTouchCapable=("ontouchstart"in window||window.TouchEvent)&&navigator.maxTouchPoints>0,this.isMobile=(()=>{let e=!1;var t;return t=navigator.userAgent||navigator.vendor,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm(os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s)|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp(i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac(|\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt(|\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg(g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v)|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v)|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-|)|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0),e})(),this.keyboard=y,this.options=d,this._devices=[],this._gamepads=[],this._gamepadIdx=new Map,this._custom=[],this._emitter=new EventEmitter,this._bindDownEmitter=new EventEmitter,this._hasFocus=!1,!this.isMobile&&this.hasMouseLikePointer?this.add(this.keyboard):window.addEventListener("keydown",(()=>this.add(this.keyboard)),{once:!0}),window.addEventListener("gamepadconnected",(e=>{const t=new GamepadDevice(e.gamepad);this.add(t)})),window.addEventListener("gamepaddisconnected",(e=>{const t=this._gamepadIdx.get(e.gamepad.index);t&&this.remove(t)}))}get devices(){return this._devices}get gamepads(){return this._gamepads}get custom(){return this._custom}get lastInteractedDevice(){return this._lastInteractedDevice}on(e,t){return this._emitter.on(e,t),this}off(e,t){return this._emitter.off(e,t),this}onBindDown(e,t,i){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindDownEmitter.on(e,t,i))),this}offBindDown(e,t){return(e=Array.isArray(e)?e:[e]).forEach((e=>this._bindDownEmitter.off(e,t))),this}emitBindDown(e){this._bindDownEmitter.emit(e.name,e)}add(e){-1===this._devices.indexOf(e)&&(this._devices.push(e),e instanceof KeyboardDevice?(e.detected=!0,e.on("binddown",(e=>this.emitBindDown(e)))):e instanceof GamepadDevice?(this._gamepadIdx.set(e.source.index,e),this._gamepads.push(e),e.on("binddown",(e=>this.emitBindDown(e)))):this._custom.push(e),this._emitter.emit("deviceadded",{device:e}))}remove(e){if(e instanceof KeyboardDevice)e.detected=!1;else if(e instanceof GamepadDevice){this._gamepadIdx.delete(e.source.index);const t=this._gamepads.indexOf(e);-1!==t&&this._gamepads.splice(t,1)}else{const t=this._custom.indexOf(e);-1!==t&&this._custom.splice(t,1)}const t=this._devices.indexOf(e);-1!==t&&(this._devices.splice(t,1),this._emitter.emit("deviceremoved",{device:e}))}update(){if(this.options.requireDocumentFocus&&!document.hasFocus())return this._hasFocus&&this.options.clearInputOnBackground&&this.devices.forEach((e=>{var t;return null===(t=e.clear)||void 0===t?void 0:t.call(e)})),this._hasFocus=!1,this._devices;this._hasFocus=!0;const e=performance.now();this.keyboard.detected&&this.keyboard.update(e),this._gamepads.length>0&&this._pollGamepads(e);for(const t of this._custom)t.update(e);return this._updateLastInteracted(),this._devices}_updateLastInteracted(){if(0===this._devices.length)return;let e;if(1===this._devices.length)e=this._devices[0];else for(const t of this._devices)(void 0===e||t.lastInteraction>e.lastInteraction)&&(e=t);e!==this._lastInteractedDevice&&this._emitter.emit("lastdevicechanged",{device:e}),this._lastInteractedDevice=e}_pollGamepads(e){var t;if(null!=navigator.getGamepads)for(const i of navigator.getGamepads())null!=i&&(null===(t=this._gamepadIdx.get(i.index))||void 0===t||t.update(i,e))}}InputDeviceManager.global=new InputDeviceManager;const b=InputDeviceManager.global;function getAllNavigatables(e,t=[]){var i;for(const s of null!==(i=e.children)&&void 0!==i?i:[])s.isNavigatable?t.push(s):getAllNavigatables(s,t);return t}function getFirstNavigatable(e,t,i,{minimumDistance:s=0}={}){return function chooseFirstNavigatableInDirection(e,t,i,s=0){var n,o,a,r,d,c,l,u,h;const g=e.filter((e=>e.isNavigatable&&null!=e.parent&&isVisible(e))),p=g.find((e=>e===t));if(void 0===p)return g.sort(((e,t)=>t.navigationPriority-e.navigationPriority)),g[0];if(void 0===i&&p)return p;const m=null!=p?p:g[Math.floor(Math.random()*g.length)];if(void 0===p)return null!==(n=e[0])&&void 0!==n?n:m;const v=p.getGlobalPosition(),f=p.getBounds(),y={x:v.x+f.left+f.width/2,y:v.y+f.top+f.height/2},b=g.filter((e=>e!==p)).map((e=>{const t=e.getGlobalPosition(),i=e.getBounds(),s={x:t.x+i.left+i.width/2,y:t.y+i.top+i.height/2};return{element:e,bounds:i,center:s,xDistSqrd:weightedDistSquared(s,y,1,3),yDistSqrd:weightedDistSquared(s,y,3,1)}}));switch(i){case"navigate.up":return null!==(a=null===(o=b.filter((e=>e.center.y<y.y-s)).sort(((e,t)=>e.yDistSqrd-t.yDistSqrd))[0])||void 0===o?void 0:o.element)&&void 0!==a?a:m;case"navigate.left":return null!==(d=null===(r=b.filter((e=>e.center.x<y.x-s)).sort(((e,t)=>e.xDistSqrd-t.xDistSqrd))[0])||void 0===r?void 0:r.element)&&void 0!==d?d:m;case"navigate.right":return null!==(l=null===(c=b.filter((e=>e.center.x>y.x+s)).sort(((e,t)=>e.xDistSqrd-t.xDistSqrd))[0])||void 0===c?void 0:c.element)&&void 0!==l?l:m;case"navigate.down":return null!==(h=null===(u=b.filter((e=>e.center.y>y.y+s)).sort(((e,t)=>e.yDistSqrd-t.yDistSqrd))[0])||void 0===u?void 0:u.element)&&void 0!==h?h:m;default:return p}}(getAllNavigatables(e),t,i,s)}function isChildOf(e,t){for(;null!=e;){if(e===t)return!0;e=e.parent}return!1}function weightedDistSquared(e,t,i,s){const n=t.x-e.x,o=t.y-e.y;return n*n*i+o*o*s}function isVisible(e){for(;null!=e;){if(!e.visible)return!1;e=e.parent}return!0}const w=["navigate.left","navigate.right","navigate.up","navigate.down","navigate.back","navigate.trigger"];class NavigationManager{constructor(){this.options={enableFallbackOverEffect:!0,minimumDirectionDistance:10},this.enabled=!1,this._responders=[]}get focusTarget(){var e,t;return null!==(t=null===(e=this.responders.find((e=>null!=e.focusTarget)))||void 0===e?void 0:e.focusTarget)&&void 0!==t?t:this._rootFocused}set focusTarget(e){const t=this.focusTarget;if(t===e)return;const i=this.getResponderStage();if(i){if(e){if(!e.isNavigatable)return;if(!isChildOf(e,i))return}null!=this.firstResponder?this.firstResponder.focusTarget=e:this._rootFocused=e,t&&this._emitBlur(t),e&&this._emitFocus(e)}}get firstResponder(){return this._responders[0]}get responders(){return this._responders}configureWithRoot(e){null==this._root&&b.onBindDown(w,(e=>this._propagate(e))),this._root=e,this.enabled=!0}popResponder(){var e,t,i,s,n;const o=this.focusTarget,a=this._responders.shift();a.focusTarget=void 0;const r=this.focusTarget;return null===(e=null==a?void 0:a.resignedAsFirstResponder)||void 0===e||e.call(a),this._invalidateFocusedIfNeeded(),this.firstResponder&&(null===(i=(t=this.firstResponder).becameFirstResponder)||void 0===i||i.call(t)),o!==r&&(null!==(n=null===(s=this.firstResponder)||void 0===s?void 0:s.autoFocus)&&void 0!==n?n:void 0===r)&&this.autoFocus(),a}pushResponder(e){var t,i,s;const n=e;if(this._responders.includes(n))throw new Error("Responder already in stack.");const o=this.firstResponder;this._responders.unshift(n),null===(t=null==o?void 0:o.resignedAsFirstResponder)||void 0===t||t.call(o),this._invalidateFocusedIfNeeded(),null===(i=n.becameFirstResponder)||void 0===i||i.call(n),(null===(s=n.autoFocus)||void 0===s||s)&&this.autoFocus()}autoFocus(){if(!_.enabled)return;const e=this.getResponderStage();if(!e)return;const t=getFirstNavigatable(e);void 0!==t?t!==this.focusTarget&&(this.focusTarget=t):console.debug("navigation: no navigatable containers found")}getResponderStage(){var e;return null!==(e=this.responders.find(isContainer))&&void 0!==e?e:this._root}_propagate({device:e,name:t}){var i;if(this.enabled){for(const s of this._responders)if(null===(i=s.handledNavigationIntent)||void 0===i?void 0:i.call(s,t,e))return;if(null==this._root)throw this.enabled=!1,new Error("Navigation requires root responder to be configured");{const e=this.getResponderStage();this._handleGlobalIntent(e,t)}}}_handleGlobalIntent(e,t){var i;this._invalidateFocusedIfNeeded(e);const s=this.focusTarget;if(void 0===s)return void this.autoFocus();if("navigate.back"===t)return this._emitBlur(s),void(this.focusTarget=void 0);if("navigate.trigger"===t)return void this._emitTrigger(s);const n=null!==(i=getFirstNavigatable(e,s,t,{minimumDistance:this.options.minimumDirectionDistance}))&&void 0!==i?i:s;n!==s&&(this.focusTarget=n)}_emitBlur(e){const t=e.eventNames();t.includes("pointerout")?e.emit("pointerout"):t.includes("mouseout")?e.emit("mouseout"):this.options.enableFallbackOverEffect&&(e.alpha=1),e.emit("deviceout")}_emitFocus(e){const t=e.eventNames();t.includes("pointerover")?e.emit("pointerover"):t.includes("mouseover")?e.emit("mouseover"):this.options.enableFallbackOverEffect&&(e.alpha=.5),e.emit("deviceover")}_emitTrigger(e){const t=e.eventNames();t.includes("pointerdown")?e.emit("pointerdown"):t.includes("mousedown")?e.emit("mousedown"):this.options.enableFallbackOverEffect&&(e.alpha=.75),e.emit("devicedown")}_invalidateFocusedIfNeeded(e=this.getResponderStage()){if(!e)return;const t=this.focusTarget;t&&!isChildOf(t,e)&&(this._emitBlur(t),this.focusTarget=void 0)}}function isContainer(e){return"children"in e}NavigationManager.global=new NavigationManager;const _=NavigationManager.global;let F=!1;function registerPixiJSNavigationMixin(e){if(F)return;F=!0;const t=e.prototype;t.navigationPriority=0,t.navigationMode="auto",Object.defineProperty(t,"isNavigatable",{get:function(){if("target"===this.navigationMode)return!0;if("auto"!==this.navigationMode)return!1;const e=this.eventNames();return e.length>0&&(e.includes("pointerdown")||e.includes("mousedown"))},configurable:!0,enumerable:!1})}export{o as Button,GamepadDevice,b as InputDevice,c as KeyCode,y as Keyboard,KeyboardDevice,_ as UINavigation,getAllNavigatables,getFirstNavigatable,isChildOf,isVisible,w as navigationIntents,registerPixiJSNavigationMixin};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../src/lib/devices/gamepads/buttons.ts","../src/lib/utils/events.ts","../src/lib/devices/gamepads/GamepadHapticManager.ts","../src/lib/devices/gamepads/GamepadDevice.ts","../src/lib/devices/gamepads/layouts.ts","../src/lib/devices/keyboard/keys.ts","../node_modules/tslib/tslib.es6.js","../src/lib/devices/keyboard/layouts.ts","../src/lib/devices/keyboard/KeyboardDevice.ts","../src/lib/InputDevice.ts","../src/lib/utils/isMobile.ts","../src/lib/navigation/Navigatable.ts","../src/lib/navigation/NavigationIntent.ts","../src/lib/navigation/UINavigation.ts","../src/Container.mixin.ts"],"sourcesContent":[null,null,null,null,null,null,"/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n",null,null,null,null,null,null,null,null],"names":["Axis","AxisCode","Button","Face1","Face2","Face3","Face4","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStickClick","RightStickClick","DpadUp","DpadDown","DpadLeft","DpadRight","ButtonCode","EventEmitter","constructor","this","_listeners","hasListener","e","undefined","emit","payload","_a","forEach","fn","on","event","options","once","onceFn","off","push","_b","filter","l","length","MAX_KEYFRAME_MS","GamepadHapticManager","gamepad","activeEffects","state","rumble","buzz","leftTrigger","rightTrigger","expires","hapticEvent","_c","vibrationActuator","effects","includes","call","hasTriggerRumble","play","haptic","intensity","delay","Math","max","startDelay","start","performance","now","Object","assign","end","duration","min","update","reset","hapticActuators","pulse","maxDuration","anyHapticHasEnded","i","playEffect","strongMagnitude","weakMagnitude","monoIntensity","GamepadDevice","configureDefaultBinds","binds","defaultOptions","source","type","meta","lastInteraction","JSON","parse","stringify","leftJoystick","x","y","rightJoystick","button","reduce","obj","key","leftShoulder","rightShoulder","_emitter","_bindDownEmitter","_debounces","Map","id","index","layout","detectLayout","gamepadId","toLowerCase","test","haptics","supportsTriggerRumble","bindDown","name","pressedAny","btns","pressedAll","configureBinds","listener","onBindDown","offBindDown","playHaptic","vibration","enabled","effect","stopHaptics","_updatePresses","clear","joy","joystick","a","value","_scale","axes","deadzone","axisCode","abs","pressThreshold","delete","delayMs","autoRepeatDelayMs","_debounce","emitEvents","device","axis","entries","values","b","buttonCode","buttons","pressed","isPressed","_d","tdz","trigger","jdz","Date","get","set","range","scaled","sign","KeyCode","AltLeft","AltRight","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Backquote","Backslash","Backspace","BracketLeft","BracketRight","CapsLock","Comma","ContextMenu","ControlLeft","ControlRight","Delete","Digit0","Digit1","Digit2","Digit3","Digit4","Digit5","Digit6","Digit7","Digit8","Digit9","End","Enter","Equal","Escape","F1","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F2","F20","F21","F22","F23","F24","F25","F26","F27","F28","F29","F3","F30","F31","F32","F4","F5","F6","F7","F8","F9","Home","IntlBackslash","IntlRo","IntlYen","KeyA","KeyB","KeyC","KeyD","KeyE","KeyF","KeyG","KeyH","KeyI","KeyJ","KeyK","KeyL","KeyM","KeyN","KeyO","KeyP","KeyQ","KeyR","KeyS","KeyT","KeyU","KeyV","KeyW","KeyX","KeyY","KeyZ","Lang1","Lang2","MediaTrackNext","MediaTrackPrevious","MetaLeft","MetaRight","Minus","NumLock","Numpad0","Numpad1","Numpad2","Numpad3","Numpad4","Numpad5","Numpad6","Numpad7","Numpad8","Numpad9","NumpadAdd","NumpadComma","NumpadDecimal","NumpadDivide","NumpadMultiply","NumpadSubtract","OSLeft","Pause","Period","Quote","ScrollLock","Semicolon","ShiftLeft","ShiftRight","Slash","Space","Tab","VolumeDown","VolumeMute","VolumeUp","WakeUp","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","result","done","adopt","then","apply","SuppressedError","JCUKEN_LAYOUT_PATTERN","ERT_LAYOUTS_PATTERN","MACRO_AZERTY","MACRO_JCUKEN","MACRO_QWERTZ","_navigatorLayoutMap","_keyLabels","inferKeyboardLayoutFromLang","lang","getLang","n","navigator","languages","userLanguage","language","browserLanguage","tag","macro","split","startsWith","_possibleLayouts","Set","getLayoutKeyLabel","DEFAULT_LABELS","getMetaKeyLabel","AZERTY","JCUKEN","QWERTY","QWERTZ","platform","userAgent","KeyboardDevice","detected","detectLayoutOnKeypress","repeatableBinds","keys","_deferredKeydown","_layout","_layoutSource","requestKeyboardLayout","keyboard","getLayoutMap","layoutMap","q","z","layoutSource","_configureEventListeners","getKeyLabel","getNavigatorKeyLabel","_toLocaleTitleCase","input","map","word","charAt","toLocaleUpperCase","slice","join","_processDeferredKeydownEvent","k","d","window","addEventListener","code","passive","capture","keyCode","repeat","detectKeyboardLayoutFromKeydown","size","keyLabel","global","InputDeviceManager","hasMouseLikePointer","matchMedia","matches","isTouchCapable","TouchEvent","maxTouchPoints","isMobile","check","vendor","substr","clearInputOnBackground","requireDocumentFocus","_devices","_gamepadDevices","_gamepadDeviceMap","_customDevices","_hasFocus","_pollGamepads","_removeGamepad","add","devices","gamepads","custom","lastInteractedDevice","_lastInteractedDevice","Array","isArray","emitBindDown","indexOf","remove","customIndex","splice","devicesIndex","document","hasFocus","_updateLastInteracted","last","getGamepads","has","gamepadIndex","gamepadsIndex","InputDevice","getAllNavigatables","target","navigatables","child","children","isNavigatable","getFirstNavigatable","root","currentFocus","nearestDirection","minimumDistance","chooseFirstNavigatableInDirection","elements","el","parent","isVisible","focusedElement","find","sort","navigationPriority","fallbackElement","floor","random","focusedGlobalPos","getGlobalPosition","focusedBounds","getBounds","focusedCenter","left","width","top","height","otherElements","globalPos","bounds","center","element","xDistSqrd","weightedDistSquared","yDistSqrd","_e","_g","_f","_j","_h","isChildOf","xw","yw","dx","dy","visible","navigationIntents","NavigationManager","enableFallbackOverEffect","minimumDirectionDistance","_responders","focusTarget","responders","res","_rootFocused","previous","responderStage","getResponderStage","firstResponder","_emitBlur","_emitFocus","configureWithRoot","stage","_root","_propagate","popResponder","previousFocused","responder","shift","nextFocused","resignedAsFirstResponder","_invalidateFocusedIfNeeded","becameFirstResponder","autoFocus","pushResponder","Error","previousResponder","unshift","UINavigation","navigatable","console","debug","isContainer","handledNavigationIntent","_handleGlobalIntent","intent","_emitTrigger","nextTarget","eventNames","alpha","_registered","registerPixiJSNavigationMixin","container","prototype","navigationMode","defineProperty","onEvents","configurable","enumerable"],"mappings":"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","x_google_ignoreList":[6]}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/lib/devices/gamepads/buttons.ts","../src/lib/utils/events.ts","../src/lib/devices/gamepads/GamepadHapticManager.ts","../src/lib/utils/Options.ts","../src/lib/devices/gamepads/GamepadDevice.ts","../src/lib/devices/gamepads/layouts.ts","../src/lib/devices/keyboard/keys.ts","../node_modules/tslib/tslib.es6.js","../src/lib/devices/keyboard/layouts.ts","../src/lib/devices/keyboard/KeyboardDevice.ts","../src/lib/InputDevice.ts","../src/lib/utils/isMobile.ts","../src/lib/navigation/Navigatable.ts","../src/lib/navigation/NavigationIntent.ts","../src/lib/navigation/UINavigation.ts","../src/Container.mixin.ts"],"sourcesContent":[null,null,null,null,null,null,null,"/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n",null,null,null,null,null,null,null,null],"names":["Axis","AxisCode","Button","Face1","Face2","Face3","Face4","LeftShoulder","RightShoulder","LeftTrigger","RightTrigger","Back","Start","LeftStickClick","RightStickClick","DpadUp","DpadDown","DpadLeft","DpadRight","ButtonCode","EventEmitter","constructor","this","_listeners","hasListener","e","undefined","emit","payload","_a","forEach","fn","on","event","options","once","onceFn","off","push","_b","filter","l","length","MAX_KEYFRAME_MS","GamepadHapticManager","gamepad","activeEffects","state","rumble","buzz","leftTrigger","rightTrigger","expires","hapticEvent","_c","vibrationActuator","effects","includes","call","play","haptic","intensity","delay","Math","max","startDelay","start","performance","now","Object","assign","end","duration","min","update","reset","playEffect","strongMagnitude","weakMagnitude","hapticActuators","pulse","maxDuration","anyHapticHasEnded","i","monoIntensity","Options","clearInputOnBackground","requireDocumentFocus","supressHapticsInactivityPeriodMs","GamepadDevice","configureDefaultBinds","binds","defaultOptions","source","type","meta","lastInteraction","JSON","parse","stringify","leftJoystick","x","y","rightJoystick","button","reduce","obj","key","leftShoulder","rightShoulder","_emitter","_bindDownEmitter","_debounces","Map","id","index","layout","detectLayout","gamepadId","toLowerCase","test","_haptics","supportsTriggerRumble","bindDown","name","pressedAny","btns","pressedAll","configureBinds","listener","onBindDown","offBindDown","playHaptic","vibration","enabled","effect","stopHaptics","_poll","clear","joy","joystick","a","value","_scale","axes","deadzone","axisCode","abs","pressThreshold","delete","delayMs","autoRepeatDelayMs","_debounce","emitEvents","device","axis","entries","values","b","buttonCode","buttons","pressed","isPressed","_d","tdz","trigger","jdz","Date","get","set","range","scaled","sign","KeyCode","AltLeft","AltRight","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Backquote","Backslash","Backspace","BracketLeft","BracketRight","CapsLock","Comma","ContextMenu","ControlLeft","ControlRight","Delete","Digit0","Digit1","Digit2","Digit3","Digit4","Digit5","Digit6","Digit7","Digit8","Digit9","End","Enter","Equal","Escape","F1","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F2","F20","F21","F22","F23","F24","F25","F26","F27","F28","F29","F3","F30","F31","F32","F4","F5","F6","F7","F8","F9","Home","IntlBackslash","IntlRo","IntlYen","KeyA","KeyB","KeyC","KeyD","KeyE","KeyF","KeyG","KeyH","KeyI","KeyJ","KeyK","KeyL","KeyM","KeyN","KeyO","KeyP","KeyQ","KeyR","KeyS","KeyT","KeyU","KeyV","KeyW","KeyX","KeyY","KeyZ","Lang1","Lang2","MediaTrackNext","MediaTrackPrevious","MetaLeft","MetaRight","Minus","NumLock","Numpad0","Numpad1","Numpad2","Numpad3","Numpad4","Numpad5","Numpad6","Numpad7","Numpad8","Numpad9","NumpadAdd","NumpadComma","NumpadDecimal","NumpadDivide","NumpadMultiply","NumpadSubtract","OSLeft","Pause","Period","Quote","ScrollLock","Semicolon","ShiftLeft","ShiftRight","Slash","Space","Tab","VolumeDown","VolumeMute","VolumeUp","WakeUp","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","result","done","adopt","then","apply","SuppressedError","JCUKEN_LAYOUT_PATTERN","ERT_LAYOUTS_PATTERN","MACRO_AZERTY","MACRO_JCUKEN","MACRO_QWERTZ","_navigatorLayoutMap","_keyLabels","inferKeyboardLayoutFromLang","lang","getLang","n","navigator","languages","userLanguage","language","browserLanguage","tag","macro","split","startsWith","_possibleLayouts","Set","getLayoutKeyLabel","DEFAULT_LABELS","getMetaKeyLabel","AZERTY","JCUKEN","QWERTY","QWERTZ","platform","userAgent","KeyboardDevice","detected","detectLayoutOnKeypress","repeatableBinds","keys","_deferredKeydown","_layout","_layoutSource","requestKeyboardLayout","keyboard","getLayoutMap","layoutMap","q","z","layoutSource","_configureEventListeners","getKeyLabel","getNavigatorKeyLabel","_toLocaleTitleCase","input","map","word","charAt","toLocaleUpperCase","slice","join","_processDeferredKeydownEvent","k","d","window","addEventListener","code","passive","capture","keyCode","repeat","detectKeyboardLayoutFromKeydown","size","keyLabel","global","Keyboard","InputDeviceManager","hasMouseLikePointer","matchMedia","matches","isTouchCapable","TouchEvent","maxTouchPoints","isMobile","check","vendor","substr","_devices","_gamepads","_gamepadIdx","_custom","_hasFocus","add","remove","devices","gamepads","custom","lastInteractedDevice","_lastInteractedDevice","Array","isArray","emitBindDown","indexOf","gamepadsIndex","splice","customIndex","devicesIndex","document","hasFocus","_pollGamepads","_updateLastInteracted","last","getGamepads","InputDevice","getAllNavigatables","target","navigatables","child","children","isNavigatable","getFirstNavigatable","root","currentFocus","nearestDirection","minimumDistance","chooseFirstNavigatableInDirection","elements","el","parent","isVisible","focusedElement","find","sort","navigationPriority","fallbackElement","floor","random","focusedGlobalPos","getGlobalPosition","focusedBounds","getBounds","focusedCenter","left","width","top","height","otherElements","globalPos","bounds","center","element","xDistSqrd","weightedDistSquared","yDistSqrd","_e","_g","_f","_j","_h","isChildOf","xw","yw","dx","dy","visible","navigationIntents","NavigationManager","enableFallbackOverEffect","minimumDirectionDistance","_responders","focusTarget","responders","res","_rootFocused","previous","responderStage","getResponderStage","firstResponder","_emitBlur","_emitFocus","configureWithRoot","stage","_root","_propagate","popResponder","previousFocused","responder","shift","nextFocused","resignedAsFirstResponder","_invalidateFocusedIfNeeded","becameFirstResponder","autoFocus","pushResponder","Error","previousResponder","unshift","UINavigation","navigatable","console","debug","isContainer","handledNavigationIntent","_handleGlobalIntent","intent","_emitTrigger","nextTarget","eventNames","alpha","_registered","registerPixiJSNavigationMixin","container","prototype","navigationMode","defineProperty","onEvents","configurable","enumerable"],"mappings":"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","x_google_ignoreList":[7]}
|