@celljs/widget 3.0.0

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.
Files changed (94) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/cell.yml +3 -0
  4. package/lib/browser/annotation/index.d.ts +2 -0
  5. package/lib/browser/annotation/index.d.ts.map +1 -0
  6. package/lib/browser/annotation/index.js +18 -0
  7. package/lib/browser/annotation/index.js.map +1 -0
  8. package/lib/browser/annotation/widget.d.ts +10 -0
  9. package/lib/browser/annotation/widget.d.ts.map +1 -0
  10. package/lib/browser/annotation/widget.js +30 -0
  11. package/lib/browser/annotation/widget.js.map +1 -0
  12. package/lib/browser/index.d.ts +6 -0
  13. package/lib/browser/index.d.ts.map +1 -0
  14. package/lib/browser/index.js +22 -0
  15. package/lib/browser/index.js.map +1 -0
  16. package/lib/browser/keyboard/index.d.ts +2 -0
  17. package/lib/browser/keyboard/index.d.ts.map +1 -0
  18. package/lib/browser/keyboard/index.js +18 -0
  19. package/lib/browser/keyboard/index.js.map +1 -0
  20. package/lib/browser/keyboard/keys.d.ts +254 -0
  21. package/lib/browser/keyboard/keys.d.ts.map +1 -0
  22. package/lib/browser/keyboard/keys.js +620 -0
  23. package/lib/browser/keyboard/keys.js.map +1 -0
  24. package/lib/browser/locale/index.d.ts +3 -0
  25. package/lib/browser/locale/index.d.ts.map +1 -0
  26. package/lib/browser/locale/index.js +19 -0
  27. package/lib/browser/locale/index.js.map +1 -0
  28. package/lib/browser/locale/locale-manager.d.ts +14 -0
  29. package/lib/browser/locale/locale-manager.d.ts.map +1 -0
  30. package/lib/browser/locale/locale-manager.js +71 -0
  31. package/lib/browser/locale/locale-manager.js.map +1 -0
  32. package/lib/browser/locale/locale-protocol.d.ts +16 -0
  33. package/lib/browser/locale/locale-protocol.d.ts.map +1 -0
  34. package/lib/browser/locale/locale-protocol.js +6 -0
  35. package/lib/browser/locale/locale-protocol.js.map +1 -0
  36. package/lib/browser/module.d.ts +3 -0
  37. package/lib/browser/module.d.ts.map +1 -0
  38. package/lib/browser/module.js +5 -0
  39. package/lib/browser/module.js.map +1 -0
  40. package/lib/browser/theme/index.d.ts +3 -0
  41. package/lib/browser/theme/index.d.ts.map +1 -0
  42. package/lib/browser/theme/index.js +19 -0
  43. package/lib/browser/theme/index.js.map +1 -0
  44. package/lib/browser/theme/theme-manager.d.ts +14 -0
  45. package/lib/browser/theme/theme-manager.d.ts.map +1 -0
  46. package/lib/browser/theme/theme-manager.js +72 -0
  47. package/lib/browser/theme/theme-manager.js.map +1 -0
  48. package/lib/browser/theme/theme-protocol.d.ts +19 -0
  49. package/lib/browser/theme/theme-protocol.d.ts.map +1 -0
  50. package/lib/browser/theme/theme-protocol.js +7 -0
  51. package/lib/browser/theme/theme-protocol.js.map +1 -0
  52. package/lib/browser/widget/index.d.ts +5 -0
  53. package/lib/browser/widget/index.d.ts.map +1 -0
  54. package/lib/browser/widget/index.js +26 -0
  55. package/lib/browser/widget/index.js.map +1 -0
  56. package/lib/browser/widget/widget-factory.d.ts +10 -0
  57. package/lib/browser/widget/widget-factory.d.ts.map +1 -0
  58. package/lib/browser/widget/widget-factory.js +46 -0
  59. package/lib/browser/widget/widget-factory.js.map +1 -0
  60. package/lib/browser/widget/widget-manager.d.ts +15 -0
  61. package/lib/browser/widget/widget-manager.d.ts.map +1 -0
  62. package/lib/browser/widget/widget-manager.js +80 -0
  63. package/lib/browser/widget/widget-manager.js.map +1 -0
  64. package/lib/browser/widget/widget-protocol.d.ts +38 -0
  65. package/lib/browser/widget/widget-protocol.d.ts.map +1 -0
  66. package/lib/browser/widget/widget-protocol.js +12 -0
  67. package/lib/browser/widget/widget-protocol.js.map +1 -0
  68. package/lib/browser/widget/widget-util.d.ts +6 -0
  69. package/lib/browser/widget/widget-util.d.ts.map +1 -0
  70. package/lib/browser/widget/widget-util.js +28 -0
  71. package/lib/browser/widget/widget-util.js.map +1 -0
  72. package/lib/package.spec.d.ts +1 -0
  73. package/lib/package.spec.d.ts.map +1 -0
  74. package/lib/package.spec.js +4 -0
  75. package/lib/package.spec.js.map +1 -0
  76. package/package.json +42 -0
  77. package/src/browser/annotation/index.ts +1 -0
  78. package/src/browser/annotation/widget.ts +34 -0
  79. package/src/browser/index.ts +5 -0
  80. package/src/browser/keyboard/index.ts +1 -0
  81. package/src/browser/keyboard/keys.ts +678 -0
  82. package/src/browser/locale/index.ts +2 -0
  83. package/src/browser/locale/locale-manager.ts +54 -0
  84. package/src/browser/locale/locale-protocol.ts +18 -0
  85. package/src/browser/module.ts +3 -0
  86. package/src/browser/theme/index.ts +2 -0
  87. package/src/browser/theme/theme-manager.ts +53 -0
  88. package/src/browser/theme/theme-protocol.ts +22 -0
  89. package/src/browser/widget/index.ts +4 -0
  90. package/src/browser/widget/widget-factory.ts +36 -0
  91. package/src/browser/widget/widget-manager.ts +64 -0
  92. package/src/browser/widget/widget-protocol.ts +38 -0
  93. package/src/browser/widget/widget-util.ts +26 -0
  94. package/src/package.spec.ts +4 -0
@@ -0,0 +1,620 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KeysOrKeyCodes = exports.Key = exports.SpecialCases = exports.KeyModifier = exports.KeyCode = exports.KeySequence = void 0;
4
+ const core_1 = require("@celljs/core");
5
+ var KeySequence;
6
+ (function (KeySequence) {
7
+ function equals(a, b) {
8
+ if (a.length !== b.length) {
9
+ return false;
10
+ }
11
+ for (let i = 0; i < a.length; i++) {
12
+ if (!a[i].equals(b[i])) {
13
+ return false;
14
+ }
15
+ }
16
+ return true;
17
+ }
18
+ KeySequence.equals = equals;
19
+ let CompareResult;
20
+ (function (CompareResult) {
21
+ CompareResult[CompareResult["NONE"] = 0] = "NONE";
22
+ CompareResult[CompareResult["PARTIAL"] = 1] = "PARTIAL";
23
+ CompareResult[CompareResult["SHADOW"] = 2] = "SHADOW";
24
+ CompareResult[CompareResult["FULL"] = 3] = "FULL";
25
+ })(CompareResult = KeySequence.CompareResult || (KeySequence.CompareResult = {}));
26
+ /* Compares two KeySequences, returns:
27
+ * FULL if the KeySequences are the same.
28
+ * PARTIAL if the KeySequence a part of b.
29
+ * SHADOW if the KeySequence b part of a.
30
+ * NONE if the KeySequences are not the same at all.
31
+ */
32
+ function compare(a, b) {
33
+ let first = a;
34
+ let second = b;
35
+ let shadow = false;
36
+ if (b.length < a.length) {
37
+ first = b;
38
+ second = a;
39
+ shadow = true;
40
+ }
41
+ for (let i = 0; i < first.length; i++) {
42
+ if (first[i].equals(second[i]) === false) {
43
+ return KeySequence.CompareResult.NONE;
44
+ }
45
+ }
46
+ if (first.length < second.length) {
47
+ if (shadow === false) {
48
+ return KeySequence.CompareResult.PARTIAL;
49
+ }
50
+ else {
51
+ return KeySequence.CompareResult.SHADOW;
52
+ }
53
+ }
54
+ return KeySequence.CompareResult.FULL;
55
+ }
56
+ KeySequence.compare = compare;
57
+ function parse(keybinding) {
58
+ const keyCodes = [];
59
+ const rawKeyCodes = keybinding.trim().split(/\s+/g);
60
+ for (const rawKeyCode of rawKeyCodes) {
61
+ const keyCode = KeyCode.parse(rawKeyCode);
62
+ if (keyCode !== undefined) {
63
+ keyCodes.push(keyCode);
64
+ }
65
+ }
66
+ return keyCodes;
67
+ }
68
+ KeySequence.parse = parse;
69
+ })(KeySequence = exports.KeySequence || (exports.KeySequence = {}));
70
+ /**
71
+ * Representation of a pressed key combined with key modifiers.
72
+ */
73
+ class KeyCode {
74
+ constructor(schema) {
75
+ const key = schema.key;
76
+ if (key) {
77
+ if (key.code && key.keyCode && key.easyString) {
78
+ this.key = key;
79
+ }
80
+ else if (key.code) {
81
+ this.key = Key.getKey(key.code);
82
+ }
83
+ else if (key.keyCode) {
84
+ this.key = Key.getKey(key.keyCode);
85
+ }
86
+ }
87
+ this.ctrl = !!schema.ctrl;
88
+ this.shift = !!schema.shift;
89
+ this.alt = !!schema.alt;
90
+ this.meta = !!schema.meta;
91
+ this.character = schema.character;
92
+ }
93
+ /**
94
+ * Return true if this KeyCode only contains modifiers.
95
+ */
96
+ isModifierOnly() {
97
+ return this.key === undefined;
98
+ }
99
+ /**
100
+ * Return true if the given KeyCode is equal to this one.
101
+ */
102
+ equals(other) {
103
+ if (this.key && (!other.key || this.key.code !== other.key.code) || !this.key && other.key) {
104
+ return false;
105
+ }
106
+ return this.ctrl === other.ctrl && this.alt === other.alt && this.shift === other.shift && this.meta === other.meta;
107
+ }
108
+ /*
109
+ * Return a keybinding string compatible with the `Keybinding.keybinding` property.
110
+ */
111
+ toString() {
112
+ const result = [];
113
+ if (this.meta) {
114
+ result.push(SpecialCases.META);
115
+ }
116
+ if (this.shift) {
117
+ result.push(Key.SHIFT_LEFT.easyString);
118
+ }
119
+ if (this.alt) {
120
+ result.push(Key.ALT_LEFT.easyString);
121
+ }
122
+ if (this.ctrl) {
123
+ result.push(Key.CONTROL_LEFT.easyString);
124
+ }
125
+ if (this.key) {
126
+ result.push(this.key.easyString);
127
+ }
128
+ return result.join('+');
129
+ }
130
+ /**
131
+ * Create a KeyCode from one of several input types.
132
+ */
133
+ static createKeyCode(input, eventDispatch = 'code') {
134
+ if (typeof input === 'string') {
135
+ const parts = input.split('+');
136
+ if (!KeyCode.isModifierString(parts[0])) {
137
+ return KeyCode.createKeyCode({
138
+ first: Key.getKey(parts[0]),
139
+ modifiers: parts.slice(1)
140
+ });
141
+ }
142
+ return KeyCode.createKeyCode({ modifiers: parts });
143
+ }
144
+ else if (KeyCode.isKeyboardEvent(input)) {
145
+ const key = KeyCode.toKey(input, eventDispatch);
146
+ return new KeyCode({
147
+ key: Key.isModifier(key.code) ? undefined : key,
148
+ meta: core_1.isOSX && input.metaKey,
149
+ shift: input.shiftKey,
150
+ alt: input.altKey,
151
+ ctrl: input.ctrlKey,
152
+ character: KeyCode.toCharacter(input)
153
+ });
154
+ }
155
+ else if (input.first || input.modifiers) {
156
+ const keystroke = input;
157
+ const schema = {
158
+ key: keystroke.first
159
+ };
160
+ if (keystroke.modifiers) {
161
+ if (core_1.isOSX) {
162
+ schema.meta = keystroke.modifiers.some(mod => mod === KeyModifier.CtrlCmd);
163
+ schema.ctrl = keystroke.modifiers.some(mod => mod === KeyModifier.MacCtrl);
164
+ }
165
+ else {
166
+ schema.meta = false;
167
+ schema.ctrl = keystroke.modifiers.some(mod => mod === KeyModifier.CtrlCmd);
168
+ }
169
+ schema.shift = keystroke.modifiers.some(mod => mod === KeyModifier.Shift);
170
+ schema.alt = keystroke.modifiers.some(mod => mod === KeyModifier.Alt);
171
+ }
172
+ return new KeyCode(schema);
173
+ }
174
+ else {
175
+ return new KeyCode(input);
176
+ }
177
+ }
178
+ /* Reset the key hashmap, this is for testing purposes. */
179
+ static resetKeyBindings() {
180
+ KeyCode.keybindings = {};
181
+ }
182
+ /**
183
+ * Parses a string and returns a KeyCode object.
184
+ * @param keybinding String representation of a keybinding
185
+ */
186
+ static parse(keybinding) {
187
+ if (KeyCode.keybindings[keybinding]) {
188
+ return KeyCode.keybindings[keybinding];
189
+ }
190
+ const schema = {};
191
+ const keys = [];
192
+ let currentKey = '';
193
+ for (const character of keybinding.trim().toLowerCase()) {
194
+ if (currentKey && (character === '-' || character === '+')) {
195
+ keys.push(currentKey);
196
+ currentKey = '';
197
+ }
198
+ else if (character !== '+') {
199
+ currentKey += character;
200
+ }
201
+ }
202
+ if (currentKey) {
203
+ keys.push(currentKey);
204
+ }
205
+ /* If duplicates i.e ctrl+ctrl+a or alt+alt+b or b+alt+b it is invalid */
206
+ if (keys.length !== new Set(keys).size) {
207
+ throw new Error(`Can't parse keybinding ${keybinding} Duplicate modifiers`);
208
+ }
209
+ for (let keyString of keys) {
210
+ if (SPECIAL_ALIASES[keyString] !== undefined) {
211
+ keyString = SPECIAL_ALIASES[keyString];
212
+ }
213
+ const key = EASY_TO_KEY[keyString];
214
+ /* meta only works on macOS */
215
+ if (keyString === SpecialCases.META) {
216
+ if (core_1.isOSX) {
217
+ schema.meta = true;
218
+ }
219
+ else {
220
+ throw new Error(`Can't parse keybinding ${keybinding} meta is for OSX only`);
221
+ }
222
+ /* ctrlcmd for M1 keybindings that work on both macOS and other platforms */
223
+ }
224
+ else if (keyString === SpecialCases.CTRLCMD) {
225
+ if (core_1.isOSX) {
226
+ schema.meta = true;
227
+ }
228
+ else {
229
+ schema.ctrl = true;
230
+ }
231
+ }
232
+ else if (Key.isKey(key)) {
233
+ if (Key.isModifier(key.code)) {
234
+ if (key.code === Key.CONTROL_LEFT.code || key.code === Key.CONTROL_RIGHT.code) {
235
+ schema.ctrl = true;
236
+ }
237
+ else if (key.code === Key.SHIFT_LEFT.code || key.code === Key.SHIFT_RIGHT.code) {
238
+ schema.shift = true;
239
+ }
240
+ else if (key.code === Key.ALT_LEFT.code || key.code === Key.ALT_RIGHT.code) {
241
+ schema.alt = true;
242
+ }
243
+ }
244
+ else {
245
+ schema.key = key;
246
+ }
247
+ }
248
+ else {
249
+ throw new Error(`Unrecognized key '${keyString}' in '${keybinding}'`);
250
+ }
251
+ }
252
+ KeyCode.keybindings[keybinding] = new KeyCode(schema);
253
+ return KeyCode.keybindings[keybinding];
254
+ }
255
+ }
256
+ exports.KeyCode = KeyCode;
257
+ KeyCode.keybindings = {};
258
+ (function (KeyCode) {
259
+ /*
260
+ * Return true if the string is a modifier M1 to M4.
261
+ */
262
+ function isModifierString(key) {
263
+ return key === KeyModifier.CtrlCmd
264
+ || key === KeyModifier.Shift
265
+ || key === KeyModifier.Alt
266
+ || key === KeyModifier.MacCtrl;
267
+ }
268
+ KeyCode.isModifierString = isModifierString;
269
+ /**
270
+ * Different scopes have different execution environments. This means that they have different built-ins
271
+ * (different global object, different constructors, etc.). This may result in unexpected results. For instance,
272
+ * `[] instanceof window.frames[0].Array` will return `false`, because `Array.prototype !== window.frames[0].Array`
273
+ * and arrays inherit from the former.
274
+ * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/instanceof
275
+ *
276
+ * Note: just add another check if the current `event.type` checking is insufficient.
277
+ */
278
+ function isKeyboardEvent(event) {
279
+ if (typeof KeyboardEvent === 'undefined') { // This can happen in tests
280
+ return false;
281
+ }
282
+ if (event instanceof KeyboardEvent) {
283
+ return true;
284
+ }
285
+ const { type } = event;
286
+ if (type) {
287
+ return type === 'keypress' || type === 'keydown' || type === 'keyup';
288
+ }
289
+ return false;
290
+ }
291
+ KeyCode.isKeyboardEvent = isKeyboardEvent;
292
+ /**
293
+ * Determine the pressed key of a keyboard event. This key should correspond to the physical key according
294
+ * to a standard US keyboard layout. International keyboard layouts are handled by `KeyboardLayoutService`.
295
+ *
296
+ * `keyIdentifier` is used to access this deprecated field:
297
+ * https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyIdentifier
298
+ */
299
+ function toKey(event, dispatch = 'code') {
300
+ const code = event.code;
301
+ if (code && dispatch === 'code') {
302
+ if (core_1.isOSX) {
303
+ // https://github.com/eclipse-theia/theia/issues/4986
304
+ const char = event.key;
305
+ if (code === 'IntlBackslash' && (char === '`' || char === '~')) {
306
+ return Key.BACKQUOTE;
307
+ }
308
+ else if (code === 'Backquote' && (char === '§' || char === '±')) {
309
+ return Key.INTL_BACKSLASH;
310
+ }
311
+ }
312
+ // https://github.com/eclipse-theia/theia/issues/7315
313
+ if (code.startsWith('Numpad') && event.key && event.key.length > 1) {
314
+ const k = Key.getKey(event.key);
315
+ if (k) {
316
+ return k;
317
+ }
318
+ }
319
+ const key = Key.getKey(code);
320
+ if (key) {
321
+ return key;
322
+ }
323
+ }
324
+ // eslint-disable-next-line deprecation/deprecation
325
+ const keyCode = event.keyCode;
326
+ if (keyCode) {
327
+ const key = Key.getKey(keyCode);
328
+ if (key) {
329
+ return key;
330
+ }
331
+ }
332
+ const keyIdentifier = event.keyIdentifier;
333
+ if (keyIdentifier) {
334
+ const key = Key.getKey(keyIdentifier);
335
+ if (key) {
336
+ return key;
337
+ }
338
+ }
339
+ throw new Error(`Cannot get key code from the keyboard event: ${event}.`);
340
+ }
341
+ KeyCode.toKey = toKey;
342
+ /**
343
+ * Determine the actual printable character that is generated from a pressed key.
344
+ * If the key does not correspond to a printable character, `undefined` is returned.
345
+ * The result may be altered by modifier keys.
346
+ */
347
+ function toCharacter(event) {
348
+ const key = event.key;
349
+ // Use the key property if it contains exactly one unicode character
350
+ if (key && Array.from(key).length === 1) {
351
+ return key;
352
+ }
353
+ // eslint-disable-next-line deprecation/deprecation
354
+ const charCode = event.charCode;
355
+ // Use the charCode property if it does not correspond to a unicode control character
356
+ if (charCode && charCode > 0x1f && !(charCode >= 0x80 && charCode <= 0x9f)) {
357
+ return String.fromCharCode(charCode);
358
+ }
359
+ return undefined;
360
+ }
361
+ KeyCode.toCharacter = toCharacter;
362
+ })(KeyCode = exports.KeyCode || (exports.KeyCode = {}));
363
+ var KeyModifier;
364
+ (function (KeyModifier) {
365
+ /**
366
+ * M1 is the COMMAND key on MacOS X, and the CTRL key on most other platforms.
367
+ */
368
+ KeyModifier["CtrlCmd"] = "M1";
369
+ /**
370
+ * M2 is the SHIFT key.
371
+ */
372
+ KeyModifier["Shift"] = "M2";
373
+ /**
374
+ * M3 is the Option key on MacOS X, and the ALT key on most other platforms.
375
+ */
376
+ KeyModifier["Alt"] = "M3";
377
+ /**
378
+ * M4 is the CTRL key on MacOS X, and is undefined on other platforms.
379
+ */
380
+ KeyModifier["MacCtrl"] = "M4";
381
+ })(KeyModifier = exports.KeyModifier || (exports.KeyModifier = {}));
382
+ (function (KeyModifier) {
383
+ /**
384
+ * The CTRL key, independently of the platform.
385
+ * _Note:_ In general `KeyModifier.CtrlCmd` should be preferred over this constant.
386
+ */
387
+ KeyModifier.CTRL = core_1.isOSX ? KeyModifier.MacCtrl : KeyModifier.CtrlCmd;
388
+ /**
389
+ * An alias for the SHIFT key (`KeyModifier.Shift`).
390
+ */
391
+ KeyModifier.SHIFT = KeyModifier.Shift;
392
+ /**
393
+ * `true` if the argument represents a modifier. Otherwise, `false`.
394
+ */
395
+ function isModifier(key) {
396
+ if (key) {
397
+ switch (key) {
398
+ case 'M1': // Fall through.
399
+ case 'M2': // Fall through.
400
+ case 'M3': // Fall through.
401
+ case 'M4': return true;
402
+ default: return false;
403
+ }
404
+ }
405
+ return false;
406
+ }
407
+ KeyModifier.isModifier = isModifier;
408
+ })(KeyModifier = exports.KeyModifier || (exports.KeyModifier = {}));
409
+ const CODE_TO_KEY = {};
410
+ const KEY_CODE_TO_KEY = {};
411
+ const EASY_TO_KEY = {}; // From 'ctrl' to Key structure
412
+ const MODIFIERS = [];
413
+ const SPECIAL_ALIASES = {
414
+ 'option': 'alt',
415
+ 'command': 'meta',
416
+ 'cmd': 'meta',
417
+ 'return': 'enter',
418
+ 'esc': 'escape',
419
+ 'mod': 'ctrl',
420
+ 'ins': 'insert',
421
+ 'del': 'delete',
422
+ 'control': 'ctrl',
423
+ };
424
+ var SpecialCases;
425
+ (function (SpecialCases) {
426
+ SpecialCases.META = 'meta';
427
+ SpecialCases.CTRLCMD = 'ctrlcmd';
428
+ })(SpecialCases = exports.SpecialCases || (exports.SpecialCases = {}));
429
+ var Key;
430
+ (function (Key) {
431
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
432
+ function isKey(arg) {
433
+ return typeof arg === 'object' && ('code' in arg) && ('keyCode' in arg);
434
+ }
435
+ Key.isKey = isKey;
436
+ function getKey(arg) {
437
+ if (typeof arg === 'number') {
438
+ return KEY_CODE_TO_KEY[arg];
439
+ }
440
+ else {
441
+ return CODE_TO_KEY[arg];
442
+ }
443
+ }
444
+ Key.getKey = getKey;
445
+ function isModifier(arg) {
446
+ if (typeof arg === 'number') {
447
+ return MODIFIERS.find(key => key.keyCode === arg) !== undefined;
448
+ }
449
+ return MODIFIERS.find(key => key.code === arg) !== undefined;
450
+ }
451
+ Key.isModifier = isModifier;
452
+ function equals(key, keyCode) {
453
+ return !!keyCode.key && key.keyCode === keyCode.key.keyCode;
454
+ }
455
+ Key.equals = equals;
456
+ Key.BACKSPACE = { code: 'Backspace', keyCode: 8, easyString: 'backspace' };
457
+ Key.TAB = { code: 'Tab', keyCode: 9, easyString: 'tab' };
458
+ Key.ENTER = { code: 'Enter', keyCode: 13, easyString: 'enter' };
459
+ Key.ESCAPE = { code: 'Escape', keyCode: 27, easyString: 'escape' };
460
+ Key.SPACE = { code: 'Space', keyCode: 32, easyString: 'space' };
461
+ Key.PAGE_UP = { code: 'PageUp', keyCode: 33, easyString: 'pageup' };
462
+ Key.PAGE_DOWN = { code: 'PageDown', keyCode: 34, easyString: 'pagedown' };
463
+ Key.END = { code: 'End', keyCode: 35, easyString: 'end' };
464
+ Key.HOME = { code: 'Home', keyCode: 36, easyString: 'home' };
465
+ Key.ARROW_LEFT = { code: 'ArrowLeft', keyCode: 37, easyString: 'left' };
466
+ Key.ARROW_UP = { code: 'ArrowUp', keyCode: 38, easyString: 'up' };
467
+ Key.ARROW_RIGHT = { code: 'ArrowRight', keyCode: 39, easyString: 'right' };
468
+ Key.ARROW_DOWN = { code: 'ArrowDown', keyCode: 40, easyString: 'down' };
469
+ Key.INSERT = { code: 'Insert', keyCode: 45, easyString: 'insert' };
470
+ Key.DELETE = { code: 'Delete', keyCode: 46, easyString: 'delete' };
471
+ Key.SHIFT_LEFT = { code: 'ShiftLeft', keyCode: 16, easyString: 'shift' };
472
+ Key.SHIFT_RIGHT = { code: 'ShiftRight', keyCode: 16, easyString: 'shift' };
473
+ Key.CONTROL_LEFT = { code: 'ControlLeft', keyCode: 17, easyString: 'ctrl' };
474
+ Key.CONTROL_RIGHT = { code: 'ControlRight', keyCode: 17, easyString: 'ctrl' };
475
+ Key.ALT_LEFT = { code: 'AltLeft', keyCode: 18, easyString: 'alt' };
476
+ Key.ALT_RIGHT = { code: 'AltRight', keyCode: 18, easyString: 'alt' };
477
+ Key.CAPS_LOCK = { code: 'CapsLock', keyCode: 20, easyString: 'capslock' };
478
+ Key.OS_LEFT = { code: 'OSLeft', keyCode: 91, easyString: 'super' };
479
+ Key.OS_RIGHT = { code: 'OSRight', keyCode: 92, easyString: 'super' };
480
+ Key.DIGIT0 = { code: 'Digit0', keyCode: 48, easyString: '0' };
481
+ Key.DIGIT1 = { code: 'Digit1', keyCode: 49, easyString: '1' };
482
+ Key.DIGIT2 = { code: 'Digit2', keyCode: 50, easyString: '2' };
483
+ Key.DIGIT3 = { code: 'Digit3', keyCode: 51, easyString: '3' };
484
+ Key.DIGIT4 = { code: 'Digit4', keyCode: 52, easyString: '4' };
485
+ Key.DIGIT5 = { code: 'Digit5', keyCode: 53, easyString: '5' };
486
+ Key.DIGIT6 = { code: 'Digit6', keyCode: 54, easyString: '6' };
487
+ Key.DIGIT7 = { code: 'Digit7', keyCode: 55, easyString: '7' };
488
+ Key.DIGIT8 = { code: 'Digit8', keyCode: 56, easyString: '8' };
489
+ Key.DIGIT9 = { code: 'Digit9', keyCode: 57, easyString: '9' };
490
+ Key.KEY_A = { code: 'KeyA', keyCode: 65, easyString: 'a' };
491
+ Key.KEY_B = { code: 'KeyB', keyCode: 66, easyString: 'b' };
492
+ Key.KEY_C = { code: 'KeyC', keyCode: 67, easyString: 'c' };
493
+ Key.KEY_D = { code: 'KeyD', keyCode: 68, easyString: 'd' };
494
+ Key.KEY_E = { code: 'KeyE', keyCode: 69, easyString: 'e' };
495
+ Key.KEY_F = { code: 'KeyF', keyCode: 70, easyString: 'f' };
496
+ Key.KEY_G = { code: 'KeyG', keyCode: 71, easyString: 'g' };
497
+ Key.KEY_H = { code: 'KeyH', keyCode: 72, easyString: 'h' };
498
+ Key.KEY_I = { code: 'KeyI', keyCode: 73, easyString: 'i' };
499
+ Key.KEY_J = { code: 'KeyJ', keyCode: 74, easyString: 'j' };
500
+ Key.KEY_K = { code: 'KeyK', keyCode: 75, easyString: 'k' };
501
+ Key.KEY_L = { code: 'KeyL', keyCode: 76, easyString: 'l' };
502
+ Key.KEY_M = { code: 'KeyM', keyCode: 77, easyString: 'm' };
503
+ Key.KEY_N = { code: 'KeyN', keyCode: 78, easyString: 'n' };
504
+ Key.KEY_O = { code: 'KeyO', keyCode: 79, easyString: 'o' };
505
+ Key.KEY_P = { code: 'KeyP', keyCode: 80, easyString: 'p' };
506
+ Key.KEY_Q = { code: 'KeyQ', keyCode: 81, easyString: 'q' };
507
+ Key.KEY_R = { code: 'KeyR', keyCode: 82, easyString: 'r' };
508
+ Key.KEY_S = { code: 'KeyS', keyCode: 83, easyString: 's' };
509
+ Key.KEY_T = { code: 'KeyT', keyCode: 84, easyString: 't' };
510
+ Key.KEY_U = { code: 'KeyU', keyCode: 85, easyString: 'u' };
511
+ Key.KEY_V = { code: 'KeyV', keyCode: 86, easyString: 'v' };
512
+ Key.KEY_W = { code: 'KeyW', keyCode: 87, easyString: 'w' };
513
+ Key.KEY_X = { code: 'KeyX', keyCode: 88, easyString: 'x' };
514
+ Key.KEY_Y = { code: 'KeyY', keyCode: 89, easyString: 'y' };
515
+ Key.KEY_Z = { code: 'KeyZ', keyCode: 90, easyString: 'z' };
516
+ Key.MULTIPLY = { code: 'NumpadMultiply', keyCode: 106, easyString: 'multiply' };
517
+ Key.ADD = { code: 'NumpadAdd', keyCode: 107, easyString: 'add' };
518
+ Key.DECIMAL = { code: 'NumpadDecimal', keyCode: 108, easyString: 'decimal' };
519
+ Key.SUBTRACT = { code: 'NumpadSubtract', keyCode: 109, easyString: 'subtract' };
520
+ Key.DIVIDE = { code: 'NumpadDivide', keyCode: 111, easyString: 'divide' };
521
+ Key.F1 = { code: 'F1', keyCode: 112, easyString: 'f1' };
522
+ Key.F2 = { code: 'F2', keyCode: 113, easyString: 'f2' };
523
+ Key.F3 = { code: 'F3', keyCode: 114, easyString: 'f3' };
524
+ Key.F4 = { code: 'F4', keyCode: 115, easyString: 'f4' };
525
+ Key.F5 = { code: 'F5', keyCode: 116, easyString: 'f5' };
526
+ Key.F6 = { code: 'F6', keyCode: 117, easyString: 'f6' };
527
+ Key.F7 = { code: 'F7', keyCode: 118, easyString: 'f7' };
528
+ Key.F8 = { code: 'F8', keyCode: 119, easyString: 'f8' };
529
+ Key.F9 = { code: 'F9', keyCode: 120, easyString: 'f9' };
530
+ Key.F10 = { code: 'F10', keyCode: 121, easyString: 'f10' };
531
+ Key.F11 = { code: 'F11', keyCode: 122, easyString: 'f11' };
532
+ Key.F12 = { code: 'F12', keyCode: 123, easyString: 'f12' };
533
+ Key.F13 = { code: 'F13', keyCode: 124, easyString: 'f13' };
534
+ Key.F14 = { code: 'F14', keyCode: 125, easyString: 'f14' };
535
+ Key.F15 = { code: 'F15', keyCode: 126, easyString: 'f15' };
536
+ Key.F16 = { code: 'F16', keyCode: 127, easyString: 'f16' };
537
+ Key.F17 = { code: 'F17', keyCode: 128, easyString: 'f17' };
538
+ Key.F18 = { code: 'F18', keyCode: 129, easyString: 'f18' };
539
+ Key.F19 = { code: 'F19', keyCode: 130, easyString: 'f19' };
540
+ Key.F20 = { code: 'F20', keyCode: 131, easyString: 'f20' };
541
+ Key.F21 = { code: 'F21', keyCode: 132, easyString: 'f21' };
542
+ Key.F22 = { code: 'F22', keyCode: 133, easyString: 'f22' };
543
+ Key.F23 = { code: 'F23', keyCode: 134, easyString: 'f23' };
544
+ Key.F24 = { code: 'F24', keyCode: 135, easyString: 'f24' };
545
+ Key.NUM_LOCK = { code: 'NumLock', keyCode: 144, easyString: 'numlock' };
546
+ Key.SEMICOLON = { code: 'Semicolon', keyCode: 186, easyString: ';' };
547
+ Key.EQUAL = { code: 'Equal', keyCode: 187, easyString: '=' };
548
+ Key.COMMA = { code: 'Comma', keyCode: 188, easyString: ',' };
549
+ Key.MINUS = { code: 'Minus', keyCode: 189, easyString: '-' };
550
+ Key.PERIOD = { code: 'Period', keyCode: 190, easyString: '.' };
551
+ Key.SLASH = { code: 'Slash', keyCode: 191, easyString: '/' };
552
+ Key.BACKQUOTE = { code: 'Backquote', keyCode: 192, easyString: '`' };
553
+ Key.INTL_RO = { code: 'IntlRo', keyCode: 193, easyString: 'intlro' };
554
+ Key.BRACKET_LEFT = { code: 'BracketLeft', keyCode: 219, easyString: '[' };
555
+ Key.BACKSLASH = { code: 'Backslash', keyCode: 220, easyString: '\\' };
556
+ Key.BRACKET_RIGHT = { code: 'BracketRight', keyCode: 221, easyString: ']' };
557
+ Key.QUOTE = { code: 'Quote', keyCode: 222, easyString: '\'' };
558
+ Key.INTL_BACKSLASH = { code: 'IntlBackslash', keyCode: 229, easyString: 'intlbackslash' };
559
+ Key.INTL_YEN = { code: 'IntlYen', keyCode: 255, easyString: 'intlyen' };
560
+ Key.MAX_KEY_CODE = Key.INTL_YEN.keyCode;
561
+ })(Key = exports.Key || (exports.Key = {}));
562
+ /* -------------------- Initialize the static key mappings -------------------- */
563
+ (() => {
564
+ // Set the default key mappings from the constants in the Key namespace
565
+ Object.keys(Key).map(prop => Reflect.get(Key, prop)).filter(key => Key.isKey(key)).forEach(key => {
566
+ CODE_TO_KEY[key.code] = key;
567
+ KEY_CODE_TO_KEY[key.keyCode] = key;
568
+ EASY_TO_KEY[key.easyString] = key;
569
+ });
570
+ // Set additional key mappings
571
+ CODE_TO_KEY['Numpad0'] = Key.DIGIT0;
572
+ KEY_CODE_TO_KEY[96] = Key.DIGIT0;
573
+ CODE_TO_KEY['Numpad1'] = Key.DIGIT1;
574
+ KEY_CODE_TO_KEY[97] = Key.DIGIT1;
575
+ CODE_TO_KEY['Numpad2'] = Key.DIGIT2;
576
+ KEY_CODE_TO_KEY[98] = Key.DIGIT2;
577
+ CODE_TO_KEY['Numpad3'] = Key.DIGIT3;
578
+ KEY_CODE_TO_KEY[99] = Key.DIGIT3;
579
+ CODE_TO_KEY['Numpad4'] = Key.DIGIT4;
580
+ KEY_CODE_TO_KEY[100] = Key.DIGIT4;
581
+ CODE_TO_KEY['Numpad5'] = Key.DIGIT5;
582
+ KEY_CODE_TO_KEY[101] = Key.DIGIT5;
583
+ CODE_TO_KEY['Numpad6'] = Key.DIGIT6;
584
+ KEY_CODE_TO_KEY[102] = Key.DIGIT6;
585
+ CODE_TO_KEY['Numpad7'] = Key.DIGIT7;
586
+ KEY_CODE_TO_KEY[103] = Key.DIGIT7;
587
+ CODE_TO_KEY['Numpad8'] = Key.DIGIT8;
588
+ KEY_CODE_TO_KEY[104] = Key.DIGIT8;
589
+ CODE_TO_KEY['Numpad9'] = Key.DIGIT9;
590
+ KEY_CODE_TO_KEY[105] = Key.DIGIT9;
591
+ CODE_TO_KEY['NumpadEnter'] = Key.ENTER;
592
+ CODE_TO_KEY['NumpadEqual'] = Key.EQUAL;
593
+ CODE_TO_KEY['MetaLeft'] = Key.OS_LEFT; // Chrome, Safari
594
+ KEY_CODE_TO_KEY[224] = Key.OS_LEFT; // Firefox on Mac
595
+ CODE_TO_KEY['MetaRight'] = Key.OS_RIGHT; // Chrome, Safari
596
+ KEY_CODE_TO_KEY[93] = Key.OS_RIGHT; // Chrome, Safari, Edge
597
+ KEY_CODE_TO_KEY[225] = Key.ALT_RIGHT; // Linux
598
+ KEY_CODE_TO_KEY[110] = Key.DECIMAL; // Mac, Windows
599
+ KEY_CODE_TO_KEY[59] = Key.SEMICOLON; // Firefox
600
+ KEY_CODE_TO_KEY[61] = Key.EQUAL; // Firefox
601
+ KEY_CODE_TO_KEY[173] = Key.MINUS; // Firefox
602
+ KEY_CODE_TO_KEY[226] = Key.BACKSLASH; // Chrome, Edge on Windows
603
+ KEY_CODE_TO_KEY[60] = Key.BACKSLASH; // Firefox on Linux
604
+ // Set the modifier keys
605
+ MODIFIERS.push(...[Key.ALT_LEFT, Key.ALT_RIGHT, Key.CONTROL_LEFT, Key.CONTROL_RIGHT, Key.OS_LEFT, Key.OS_RIGHT, Key.SHIFT_LEFT, Key.SHIFT_RIGHT]);
606
+ })();
607
+ var KeysOrKeyCodes;
608
+ (function (KeysOrKeyCodes) {
609
+ KeysOrKeyCodes.toKeyCode = (keyOrKeyCode) => keyOrKeyCode instanceof KeyCode ? keyOrKeyCode : KeyCode.createKeyCode({ first: keyOrKeyCode });
610
+ KeysOrKeyCodes.toKeyCodes = (keysOrKeyCodes) => {
611
+ if (keysOrKeyCodes instanceof KeyCode) {
612
+ return [keysOrKeyCodes];
613
+ }
614
+ else if (Array.isArray(keysOrKeyCodes)) {
615
+ return keysOrKeyCodes.slice().map(KeysOrKeyCodes.toKeyCode);
616
+ }
617
+ return [KeysOrKeyCodes.toKeyCode(keysOrKeyCodes)];
618
+ };
619
+ })(KeysOrKeyCodes = exports.KeysOrKeyCodes || (exports.KeysOrKeyCodes = {}));
620
+ //# sourceMappingURL=keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/browser/keyboard/keys.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './locale-protocol';
2
+ export * from './locale-manager';
3
+ //# sourceMappingURL=index.d.ts.map