@design.estate/dees-domtools 2.5.4 → 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.
@@ -120,6 +120,7 @@ export class Keyboard {
120
120
  domNode;
121
121
  mapCombosToHandlers = new Map();
122
122
  pressedKeys = new Set();
123
+ listening = false;
123
124
  constructor(domNode) {
124
125
  this.domNode = domNode;
125
126
  this.startListening();
@@ -131,40 +132,67 @@ export class Keyboard {
131
132
  return subject;
132
133
  }
133
134
  triggerKeyPress(keysArg) {
134
- for (const key of keysArg) {
135
+ const normalizedKeys = this.normalizeKeys(keysArg);
136
+ for (const key of normalizedKeys) {
135
137
  this.pressedKeys.add(key);
136
138
  }
137
- this.checkMatchingKeyboardSubjects();
138
- for (const key of keysArg) {
139
+ this.checkMatchingKeyboardSubjects(this.createKeyboardEvent(normalizedKeys));
140
+ for (const key of normalizedKeys) {
139
141
  this.pressedKeys.delete(key);
140
142
  }
141
143
  }
142
144
  startListening() {
145
+ if (this.listening) {
146
+ return;
147
+ }
143
148
  this.domNode.addEventListener('keydown', this.handleKeyDown);
144
149
  this.domNode.addEventListener('keyup', this.handleKeyUp);
150
+ this.listening = true;
145
151
  }
146
152
  stopListening() {
153
+ if (!this.listening) {
154
+ return;
155
+ }
147
156
  this.domNode.removeEventListener('keydown', this.handleKeyDown);
148
157
  this.domNode.removeEventListener('keyup', this.handleKeyUp);
158
+ this.listening = false;
149
159
  }
150
160
  clear() {
151
161
  this.stopListening();
162
+ for (const comboEntry of this.mapCombosToHandlers.values()) {
163
+ for (const subject of comboEntry.subjects) {
164
+ subject.complete();
165
+ }
166
+ }
152
167
  this.mapCombosToHandlers.clear();
153
168
  this.pressedKeys.clear();
154
169
  }
170
+ dispose() {
171
+ this.clear();
172
+ }
155
173
  handleKeyDown = (event) => {
156
- this.pressedKeys.add(event.keyCode);
174
+ const resolvedKey = this.resolveKey(event);
175
+ if (resolvedKey === null) {
176
+ return;
177
+ }
178
+ this.pressedKeys.add(resolvedKey);
157
179
  this.checkMatchingKeyboardSubjects(event);
158
180
  };
159
181
  checkMatchingKeyboardSubjects(payloadArg) {
160
- this.mapCombosToHandlers.forEach((subjectArg, keysArg) => {
161
- if (this.areAllKeysPressed(keysArg)) {
162
- subjectArg.next(payloadArg);
182
+ this.mapCombosToHandlers.forEach((comboEntry) => {
183
+ if (this.areAllKeysPressed(comboEntry.keys)) {
184
+ for (const subjectArg of comboEntry.subjects) {
185
+ subjectArg.next(payloadArg);
186
+ }
163
187
  }
164
188
  });
165
189
  }
166
190
  handleKeyUp = (event) => {
167
- this.pressedKeys.delete(event.keyCode);
191
+ const resolvedKey = this.resolveKey(event);
192
+ if (resolvedKey === null) {
193
+ return;
194
+ }
195
+ this.pressedKeys.delete(resolvedKey);
168
196
  };
169
197
  areAllKeysPressed(keysArg) {
170
198
  let result = true;
@@ -176,13 +204,320 @@ export class Keyboard {
176
204
  return result;
177
205
  }
178
206
  registerKeys(keysArg, subjectArg) {
179
- if (!this.mapCombosToHandlers.has(keysArg)) {
180
- this.mapCombosToHandlers.set(keysArg, subjectArg);
207
+ const normalizedKeys = this.normalizeKeys(keysArg);
208
+ const comboKey = normalizedKeys.join('+');
209
+ const existingEntry = this.mapCombosToHandlers.get(comboKey);
210
+ if (!existingEntry) {
211
+ this.mapCombosToHandlers.set(comboKey, {
212
+ keys: normalizedKeys,
213
+ subjects: [subjectArg],
214
+ });
215
+ return;
216
+ }
217
+ existingEntry.subjects.push(subjectArg);
218
+ }
219
+ normalizeKeys(keysArg) {
220
+ return [...new Set(keysArg)].sort((leftKey, rightKey) => leftKey - rightKey);
221
+ }
222
+ resolveKey(event) {
223
+ return this.resolveKeyFromCode(event.code)
224
+ ?? this.resolveKeyFromKey(event.key)
225
+ ?? this.resolveKeyFromKeyCode(event.keyCode);
226
+ }
227
+ resolveKeyFromCode(codeArg) {
228
+ if (!codeArg) {
229
+ return null;
230
+ }
231
+ if (codeArg.startsWith('Key') && codeArg.length === 4) {
232
+ return Key[codeArg.slice(3)] ?? null;
233
+ }
234
+ if (codeArg.startsWith('Digit') && codeArg.length === 6) {
235
+ return this.resolveKeyFromKey(codeArg.slice(5));
181
236
  }
182
- else {
183
- const subject = this.mapCombosToHandlers.get(keysArg);
184
- return subject;
237
+ switch (codeArg) {
238
+ case 'Backspace':
239
+ return Key.Backspace;
240
+ case 'Tab':
241
+ return Key.Tab;
242
+ case 'Enter':
243
+ case 'NumpadEnter':
244
+ return Key.Enter;
245
+ case 'ShiftLeft':
246
+ case 'ShiftRight':
247
+ return Key.Shift;
248
+ case 'ControlLeft':
249
+ case 'ControlRight':
250
+ return Key.Ctrl;
251
+ case 'AltLeft':
252
+ case 'AltRight':
253
+ return Key.Alt;
254
+ case 'Pause':
255
+ return Key.PauseBreak;
256
+ case 'CapsLock':
257
+ return Key.CapsLock;
258
+ case 'Escape':
259
+ return Key.Escape;
260
+ case 'Space':
261
+ return Key.Space;
262
+ case 'PageUp':
263
+ return Key.PageUp;
264
+ case 'PageDown':
265
+ return Key.PageDown;
266
+ case 'End':
267
+ return Key.End;
268
+ case 'Home':
269
+ return Key.Home;
270
+ case 'ArrowLeft':
271
+ return Key.LeftArrow;
272
+ case 'ArrowUp':
273
+ return Key.UpArrow;
274
+ case 'ArrowRight':
275
+ return Key.RightArrow;
276
+ case 'ArrowDown':
277
+ return Key.DownArrow;
278
+ case 'Insert':
279
+ return Key.Insert;
280
+ case 'Delete':
281
+ return Key.Delete;
282
+ case 'MetaLeft':
283
+ return Key.LeftWindowKey;
284
+ case 'MetaRight':
285
+ return Key.RightWindowKey;
286
+ case 'ContextMenu':
287
+ return Key.SelectKey;
288
+ case 'Numpad0':
289
+ return Key.Numpad0;
290
+ case 'Numpad1':
291
+ return Key.Numpad1;
292
+ case 'Numpad2':
293
+ return Key.Numpad2;
294
+ case 'Numpad3':
295
+ return Key.Numpad3;
296
+ case 'Numpad4':
297
+ return Key.Numpad4;
298
+ case 'Numpad5':
299
+ return Key.Numpad5;
300
+ case 'Numpad6':
301
+ return Key.Numpad6;
302
+ case 'Numpad7':
303
+ return Key.Numpad7;
304
+ case 'Numpad8':
305
+ return Key.Numpad8;
306
+ case 'Numpad9':
307
+ return Key.Numpad9;
308
+ case 'NumpadMultiply':
309
+ return Key.Multiply;
310
+ case 'NumpadAdd':
311
+ return Key.Add;
312
+ case 'NumpadSubtract':
313
+ return Key.Subtract;
314
+ case 'NumpadDecimal':
315
+ return Key.DecimalPoint;
316
+ case 'NumpadDivide':
317
+ return Key.Divide;
318
+ case 'F1':
319
+ return Key.F1;
320
+ case 'F2':
321
+ return Key.F2;
322
+ case 'F3':
323
+ return Key.F3;
324
+ case 'F4':
325
+ return Key.F4;
326
+ case 'F5':
327
+ return Key.F5;
328
+ case 'F6':
329
+ return Key.F6;
330
+ case 'F7':
331
+ return Key.F7;
332
+ case 'F8':
333
+ return Key.F8;
334
+ case 'F9':
335
+ return Key.F9;
336
+ case 'F10':
337
+ return Key.F10;
338
+ case 'F11':
339
+ return Key.F11;
340
+ case 'F12':
341
+ return Key.F12;
342
+ case 'NumLock':
343
+ return Key.NumLock;
344
+ case 'ScrollLock':
345
+ return Key.ScrollLock;
346
+ case 'Semicolon':
347
+ return Key.SemiColon;
348
+ case 'Equal':
349
+ return Key.Equals;
350
+ case 'Comma':
351
+ return Key.Comma;
352
+ case 'Minus':
353
+ return Key.Dash;
354
+ case 'Period':
355
+ return Key.Period;
356
+ case 'Slash':
357
+ return Key.ForwardSlash;
358
+ case 'Backquote':
359
+ return Key.Tilde;
360
+ case 'BracketLeft':
361
+ return Key.OpenBracket;
362
+ case 'BracketRight':
363
+ return Key.ClosedBracket;
364
+ case 'Quote':
365
+ return Key.Quote;
366
+ default:
367
+ return null;
368
+ }
369
+ }
370
+ resolveKeyFromKey(keyArg) {
371
+ if (!keyArg) {
372
+ return null;
373
+ }
374
+ if (keyArg.length === 1) {
375
+ const upperKey = keyArg.toUpperCase();
376
+ if (upperKey >= 'A' && upperKey <= 'Z') {
377
+ return Key[upperKey] ?? null;
378
+ }
379
+ switch (keyArg) {
380
+ case '0':
381
+ return Key.Zero;
382
+ case '1':
383
+ return Key.One;
384
+ case '2':
385
+ return Key.Two;
386
+ case '3':
387
+ return Key.Three;
388
+ case '4':
389
+ return Key.Four;
390
+ case '5':
391
+ return Key.Five;
392
+ case '6':
393
+ return Key.Six;
394
+ case '7':
395
+ return Key.Seven;
396
+ case '8':
397
+ return Key.Eight;
398
+ case '9':
399
+ return Key.Nine;
400
+ case ' ':
401
+ return Key.Space;
402
+ case ';':
403
+ return Key.SemiColon;
404
+ case '=':
405
+ return Key.Equals;
406
+ case ',':
407
+ return Key.Comma;
408
+ case '-':
409
+ return Key.Dash;
410
+ case '.':
411
+ return Key.Period;
412
+ case '/':
413
+ return Key.ForwardSlash;
414
+ case '`':
415
+ return Key.Tilde;
416
+ case '[':
417
+ return Key.OpenBracket;
418
+ case ']':
419
+ return Key.ClosedBracket;
420
+ case '\'':
421
+ return Key.Quote;
422
+ default:
423
+ return null;
424
+ }
425
+ }
426
+ switch (keyArg) {
427
+ case 'Backspace':
428
+ return Key.Backspace;
429
+ case 'Tab':
430
+ return Key.Tab;
431
+ case 'Enter':
432
+ return Key.Enter;
433
+ case 'Shift':
434
+ return Key.Shift;
435
+ case 'Control':
436
+ return Key.Ctrl;
437
+ case 'Alt':
438
+ return Key.Alt;
439
+ case 'Pause':
440
+ return Key.PauseBreak;
441
+ case 'CapsLock':
442
+ return Key.CapsLock;
443
+ case 'Escape':
444
+ return Key.Escape;
445
+ case 'PageUp':
446
+ return Key.PageUp;
447
+ case 'PageDown':
448
+ return Key.PageDown;
449
+ case 'End':
450
+ return Key.End;
451
+ case 'Home':
452
+ return Key.Home;
453
+ case 'ArrowLeft':
454
+ return Key.LeftArrow;
455
+ case 'ArrowUp':
456
+ return Key.UpArrow;
457
+ case 'ArrowRight':
458
+ return Key.RightArrow;
459
+ case 'ArrowDown':
460
+ return Key.DownArrow;
461
+ case 'Insert':
462
+ return Key.Insert;
463
+ case 'Delete':
464
+ return Key.Delete;
465
+ case 'Meta':
466
+ return Key.LeftWindowKey;
467
+ case 'ContextMenu':
468
+ return Key.SelectKey;
469
+ case 'NumLock':
470
+ return Key.NumLock;
471
+ case 'ScrollLock':
472
+ return Key.ScrollLock;
473
+ default:
474
+ return null;
475
+ }
476
+ }
477
+ resolveKeyFromKeyCode(keyCodeArg) {
478
+ if (typeof keyCodeArg !== 'number') {
479
+ return null;
480
+ }
481
+ return typeof Key[keyCodeArg] !== 'undefined' ? keyCodeArg : null;
482
+ }
483
+ createKeyboardEvent(keysArg) {
484
+ const triggerKey = keysArg[keysArg.length - 1] ?? Key.Enter;
485
+ const keyDescriptor = this.getKeyDescriptor(triggerKey);
486
+ return new KeyboardEvent('keydown', {
487
+ key: keyDescriptor.key,
488
+ code: keyDescriptor.code,
489
+ ctrlKey: keysArg.includes(Key.Ctrl),
490
+ shiftKey: keysArg.includes(Key.Shift),
491
+ altKey: keysArg.includes(Key.Alt),
492
+ metaKey: keysArg.includes(Key.LeftWindowKey) || keysArg.includes(Key.RightWindowKey),
493
+ });
494
+ }
495
+ getKeyDescriptor(keyArg) {
496
+ switch (keyArg) {
497
+ case Key.Ctrl:
498
+ return { key: 'Control', code: 'ControlLeft' };
499
+ case Key.Shift:
500
+ return { key: 'Shift', code: 'ShiftLeft' };
501
+ case Key.Alt:
502
+ return { key: 'Alt', code: 'AltLeft' };
503
+ case Key.Enter:
504
+ return { key: 'Enter', code: 'Enter' };
505
+ case Key.Space:
506
+ return { key: ' ', code: 'Space' };
507
+ default: {
508
+ const keyName = Key[keyArg];
509
+ if (keyName && keyName.length === 1) {
510
+ if (keyName >= 'A' && keyName <= 'Z') {
511
+ return { key: keyName.toLowerCase(), code: `Key${keyName}` };
512
+ }
513
+ }
514
+ if (keyArg >= Key.Zero && keyArg <= Key.Nine) {
515
+ const digit = String(keyArg - Key.Zero);
516
+ return { key: digit, code: `Digit${digit}` };
517
+ }
518
+ return { key: keyName ?? 'Unidentified', code: 'Unidentified' };
519
+ }
185
520
  }
186
521
  }
187
522
  }
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tdG9vbHMuY2xhc3Nlcy5rZXlib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2RvbXRvb2xzLmNsYXNzZXMua2V5Ym9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSx1QkFBdUIsQ0FBQztBQUVqRCxNQUFNLENBQU4sSUFBWSxHQThIWDtBQTlIRCxXQUFZLEdBQUc7SUFDYix1Q0FBYSxDQUFBO0lBQ2IsMkJBQU8sQ0FBQTtJQUNQLGdDQUFVLENBQUE7SUFDVixnQ0FBVSxDQUFBO0lBQ1YsOEJBQVMsQ0FBQTtJQUNULDRCQUFRLENBQUE7SUFDUiwwQ0FBZSxDQUFBO0lBQ2Ysc0NBQWEsQ0FBQTtJQUNiLGtDQUFXLENBQUE7SUFDWCxnQ0FBVSxDQUFBO0lBQ1Ysa0NBQVcsQ0FBQTtJQUNYLHNDQUFhLENBQUE7SUFDYiw0QkFBUSxDQUFBO0lBQ1IsOEJBQVMsQ0FBQTtJQUVULHdDQUFjLENBQUE7SUFDZCxvQ0FBWSxDQUFBO0lBQ1osMENBQWUsQ0FBQTtJQUNmLHdDQUFjLENBQUE7SUFFZCxrQ0FBVyxDQUFBO0lBQ1gsa0NBQVcsQ0FBQTtJQUVYLDhCQUFTLENBQUE7SUFDVCw0Q0FBa0IsQ0FBQTtJQUNsQiw0QkFBUSxDQUFBO0lBQ1Isb0RBQXFCLENBQUE7SUFDckIsNEJBQVEsQ0FBQTtJQUNSLGtDQUFZLENBQUE7SUFDWixnQ0FBVSxDQUFBO0lBQ1Ysd0NBQWlCLENBQUE7SUFDakIsOEJBQWdCLENBQUE7SUFDaEIsOEJBQVMsQ0FBQTtJQUNULDBDQUFpQixDQUFBO0lBQ2pCLDhCQUFTLENBQUE7SUFDVCw0Q0FBa0IsQ0FBQTtJQUNsQiw0QkFBUSxDQUFBO0lBQ1IsZ0NBQVcsQ0FBQTtJQUNYLDRCQUFXLENBQUE7SUFDWCxnQ0FBVSxDQUFBO0lBQ1Ysd0NBQWlCLENBQUE7SUFDakIsZ0NBQVUsQ0FBQTtJQUNWLDhCQUFZLENBQUE7SUFDWixvQ0FBYyxDQUFBO0lBQ2QsOEJBQVMs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
523
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tdG9vbHMuY2xhc3Nlcy5rZXlib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2RvbXRvb2xzLmNsYXNzZXMua2V5Ym9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSx1QkFBdUIsQ0FBQztBQUVqRCxNQUFNLENBQU4sSUFBWSxHQThIWDtBQTlIRCxXQUFZLEdBQUc7SUFDYix1Q0FBYSxDQUFBO0lBQ2IsMkJBQU8sQ0FBQTtJQUNQLGdDQUFVLENBQUE7SUFDVixnQ0FBVSxDQUFBO0lBQ1YsOEJBQVMsQ0FBQTtJQUNULDRCQUFRLENBQUE7SUFDUiwwQ0FBZSxDQUFBO0lBQ2Ysc0NBQWEsQ0FBQTtJQUNiLGtDQUFXLENBQUE7SUFDWCxnQ0FBVSxDQUFBO0lBQ1Ysa0NBQVcsQ0FBQTtJQUNYLHNDQUFhLENBQUE7SUFDYiw0QkFBUSxDQUFBO0lBQ1IsOEJBQVMsQ0FBQTtJQUVULHdDQUFjLENBQUE7SUFDZCxvQ0FBWSxDQUFBO0lBQ1osMENBQWUsQ0FBQTtJQUNmLHdDQUFjLENBQUE7SUFFZCxrQ0FBVyxDQUFBO0lBQ1gsa0NBQVcsQ0FBQTtJQUVYLDhCQUFTLENBQUE7SUFDVCw0Q0FBa0IsQ0FBQTtJQUNsQiw0QkFBUSxDQUFBO0lBQ1Isb0RBQXFCLENBQUE7SUFDckIsNEJBQVEsQ0FBQTtJQUNSLGtDQUFZLENBQUE7SUFDWixnQ0FBVSxDQUFBO0lBQ1Ysd0NBQWlCLENBQUE7SUFDakIsOEJBQWdCLENBQUE7SUFDaEIsOEJBQVMsQ0FBQTtJQUNULDBDQUFpQixDQUFBO0lBQ2pCLDhCQUFTLENBQUE7SUFDVCw0Q0FBa0IsQ0FBQTtJQUNsQiw0QkFBUSxDQUFBO0lBQ1IsZ0NBQVcsQ0FBQTtJQUNYLDRCQUFXLENBQUE7SUFDWCxnQ0FBVSxDQUFBO0lBQ1Ysd0NBQWlCLENBQUE7SUFDakIsZ0NBQVUsQ0FBQTtJQUNWLDhCQUFZLENBQUE7SUFDWixvQ0FBYyxDQUFBO0lBQ2QsOEJBQVMs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
@@ -1,8 +1,11 @@
1
1
  import type { DomTools } from './domtools.classes.domtools.js';
2
2
  export declare class Scroller {
3
3
  domtoolsInstance: DomTools;
4
+ private disposed;
4
5
  private scrollCallbacks;
5
6
  private lenisInstance;
7
+ private lenisScrollUnsubscribe;
8
+ private nativeScrollListenerAttached;
6
9
  private handleNativeScroll;
7
10
  private handleLenisScroll;
8
11
  constructor(domtoolsInstanceArg: DomTools);
@@ -23,11 +26,12 @@ export declare class Scroller {
23
26
  enableLenisScroll(optionsArg?: {
24
27
  disableOnNativeSmoothScroll?: boolean;
25
28
  }): Promise<void>;
29
+ disableLenisScroll(): void;
26
30
  /**
27
31
  * Registers a callback to be executed on scroll.
28
32
  * @param callback A function to execute on each scroll event.
29
33
  */
30
- onScroll(callback: () => void): void;
34
+ onScroll(callback: () => void): () => void;
31
35
  /**
32
36
  * Executes all registered scroll callbacks concurrently.
33
37
  */
@@ -48,4 +52,5 @@ export declare class Scroller {
48
52
  * Detaches the Lenis scroll event listener.
49
53
  */
50
54
  private detachLenisScrollListener;
55
+ dispose(): void;
51
56
  }