@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.
- package/.smartconfig.json +19 -6
- package/dist_bundle/bundle.js +125 -125
- package/dist_bundle/bundle.js.map +1 -7
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/domtools.classes.domtools.d.ts +17 -7
- package/dist_ts/domtools.classes.domtools.js +115 -80
- package/dist_ts/domtools.classes.keyboard.d.ts +9 -0
- package/dist_ts/domtools.classes.keyboard.js +349 -14
- package/dist_ts/domtools.classes.scroller.d.ts +6 -1
- package/dist_ts/domtools.classes.scroller.js +70 -29
- package/dist_ts/domtools.classes.thememanager.d.ts +3 -0
- package/dist_ts/domtools.classes.thememanager.js +21 -9
- package/dist_ts/domtools.elementbasic.js +7 -4
- package/dist_ts/domtools.pluginexports.d.ts +1 -11
- package/dist_ts/domtools.pluginexports.js +2 -12
- package/license +2 -2
- package/package.json +12 -14
- package/readme.md +187 -371
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/domtools.classes.domtools.ts +136 -81
- package/ts/domtools.classes.keyboard.ts +374 -15
- package/ts/domtools.classes.scroller.ts +80 -29
- package/ts/domtools.classes.thememanager.ts +21 -8
- package/ts/domtools.elementbasic.ts +6 -3
- package/ts/domtools.pluginexports.ts +11 -22
|
@@ -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
|
-
|
|
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
|
|
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.
|
|
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((
|
|
161
|
-
if (this.areAllKeysPressed(
|
|
162
|
-
subjectArg.
|
|
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.
|
|
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
|
-
|
|
180
|
-
|
|
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
|
-
|
|
183
|
-
|
|
184
|
-
|
|
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
|
}
|