tiny-essentials 1.18.1 → 1.19.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/README.md +17 -3
- package/dist/node_modules/firebase-functions/lib/common/trace.cjs +0 -1
- package/dist/node_modules/firebase-functions/lib/logger/index.cjs +1 -0
- package/dist/v1/ColorSafeStringify.min.js +1 -1
- package/dist/v1/TinyAfterScrollWatcher.min.js +1 -1
- package/dist/v1/TinyBasicsEs.js +13 -6
- package/dist/v1/TinyBasicsEs.min.js +1 -1
- package/dist/v1/TinyClipboard.min.js +1 -1
- package/dist/v1/TinyColorConverter.js +617 -0
- package/dist/v1/TinyColorConverter.min.js +1 -0
- package/dist/v1/TinyDomReadyManager.min.js +1 -1
- package/dist/v1/TinyDragger.min.js +1 -1
- package/dist/v1/TinyEssentials.js +2635 -482
- package/dist/v1/TinyEssentials.min.js +1 -1
- package/dist/v1/TinyEvents.js +402 -0
- package/dist/v1/TinyEvents.min.js +1 -0
- package/dist/v1/TinyHtml.min.js +1 -1
- package/dist/v1/TinyLocalStorage.js +1292 -0
- package/dist/v1/TinyLocalStorage.min.js +1 -0
- package/dist/v1/TinyNotifications.min.js +1 -1
- package/dist/v1/TinyNotifyCenter.min.js +1 -1
- package/dist/v1/TinyPromiseQueue.min.js +1 -1
- package/dist/v1/TinyRateLimiter.js +2 -1
- package/dist/v1/TinyRateLimiter.min.js +1 -1
- package/dist/v1/TinySmartScroller.js +570 -52
- package/dist/v1/TinySmartScroller.min.js +1 -1
- package/dist/v1/TinyTextRangeEditor.min.js +1 -1
- package/dist/v1/TinyTimeout.js +233 -0
- package/dist/v1/TinyTimeout.min.js +1 -0
- package/dist/v1/TinyToastNotify.min.js +1 -1
- package/dist/v1/TinyUploadClicker.js +1457 -106
- package/dist/v1/TinyUploadClicker.min.js +1 -1
- package/dist/v1/UltraRandomMsgGen.min.js +1 -1
- package/dist/v1/basics/html.cjs +13 -6
- package/dist/v1/basics/html.d.mts +12 -4
- package/dist/v1/basics/html.mjs +13 -6
- package/dist/v1/build/TinyColorConverter.cjs +7 -0
- package/dist/v1/build/TinyColorConverter.d.mts +3 -0
- package/dist/v1/build/TinyColorConverter.mjs +2 -0
- package/dist/v1/build/TinyEvents.cjs +7 -0
- package/dist/v1/build/TinyEvents.d.mts +3 -0
- package/dist/v1/build/TinyEvents.mjs +2 -0
- package/dist/v1/build/TinyLocalStorage.cjs +7 -0
- package/dist/v1/build/TinyLocalStorage.d.mts +3 -0
- package/dist/v1/build/TinyLocalStorage.mjs +2 -0
- package/dist/v1/build/TinyTimeout.cjs +7 -0
- package/dist/v1/build/TinyTimeout.d.mts +3 -0
- package/dist/v1/build/TinyTimeout.mjs +2 -0
- package/dist/v1/index.cjs +8 -0
- package/dist/v1/index.d.mts +5 -1
- package/dist/v1/index.mjs +5 -1
- package/dist/v1/libs/TinyColorConverter.cjs +578 -0
- package/dist/v1/libs/TinyColorConverter.d.mts +396 -0
- package/dist/v1/libs/TinyColorConverter.mjs +520 -0
- package/dist/v1/libs/TinyEvents.cjs +363 -0
- package/dist/v1/libs/TinyEvents.d.mts +160 -0
- package/dist/v1/libs/TinyEvents.mjs +328 -0
- package/dist/v1/libs/TinyLocalStorage.cjs +847 -0
- package/dist/v1/libs/TinyLocalStorage.d.mts +407 -0
- package/dist/v1/libs/TinyLocalStorage.mjs +740 -0
- package/dist/v1/libs/TinySmartScroller.cjs +207 -52
- package/dist/v1/libs/TinySmartScroller.d.mts +164 -16
- package/dist/v1/libs/TinySmartScroller.mjs +181 -52
- package/dist/v1/libs/TinyTimeout.cjs +194 -0
- package/dist/v1/libs/TinyTimeout.d.mts +89 -0
- package/dist/v1/libs/TinyTimeout.mjs +179 -0
- package/dist/v1/libs/TinyUploadClicker.cjs +1 -0
- package/docs/v1/README.md +4 -0
- package/docs/v1/libs/TinyColorConverter.md +220 -0
- package/docs/v1/libs/TinyEvents.md +199 -0
- package/docs/v1/libs/TinyLocalStorage.md +350 -0
- package/docs/v1/libs/TinyRateLimiter.md +0 -3
- package/docs/v1/libs/TinyTimeout.md +190 -0
- package/package.json +28 -5
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var TinyHtml = require('./TinyHtml.cjs');
|
|
4
4
|
var collision = require('../basics/collision.cjs');
|
|
5
|
+
var TinyEvents = require('./TinyEvents.cjs');
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Represents the dimensions of a DOM element.
|
|
@@ -49,6 +50,205 @@ var collision = require('../basics/collision.cjs');
|
|
|
49
50
|
class TinySmartScroller {
|
|
50
51
|
static Utils = { ...collision, TinyHtml };
|
|
51
52
|
|
|
53
|
+
#events = new TinyEvents();
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Enables or disables throwing an error when the maximum number of listeners is exceeded.
|
|
57
|
+
*
|
|
58
|
+
* @param {boolean} shouldThrow - If true, an error will be thrown when the max is exceeded.
|
|
59
|
+
*/
|
|
60
|
+
setThrowOnMaxListeners(shouldThrow) {
|
|
61
|
+
return this.#events.setThrowOnMaxListeners(shouldThrow);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Checks whether an error will be thrown when the max listener limit is exceeded.
|
|
66
|
+
*
|
|
67
|
+
* @returns {boolean} True if an error will be thrown, false if only a warning is shown.
|
|
68
|
+
*/
|
|
69
|
+
getThrowOnMaxListeners() {
|
|
70
|
+
return this.#events.getThrowOnMaxListeners();
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/////////////////////////////////////////////////////////////
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Adds a listener to the beginning of the listeners array for the specified event.
|
|
77
|
+
*
|
|
78
|
+
* @param {string} event - Event name.
|
|
79
|
+
* @param {ScrollListenersFunc} handler - The callback function.
|
|
80
|
+
*/
|
|
81
|
+
prependListener(event, handler) {
|
|
82
|
+
return this.#events.prependListener(event, handler);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Adds a one-time listener to the beginning of the listeners array for the specified event.
|
|
87
|
+
*
|
|
88
|
+
* @param {string} event - Event name.
|
|
89
|
+
* @param {ScrollListenersFunc} handler - The callback function.
|
|
90
|
+
* @returns {ScrollListenersFunc} - The wrapped handler used internally.
|
|
91
|
+
*/
|
|
92
|
+
prependListenerOnce(event, handler) {
|
|
93
|
+
return this.#events.prependListenerOnce(event, handler);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
//////////////////////////////////////////////////////////////////////
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Adds a event listener.
|
|
100
|
+
*
|
|
101
|
+
* @param {string} event - Event name, such as 'onScrollBoundary' or 'onAutoScroll'.
|
|
102
|
+
* @param {ScrollListenersFunc} handler - Callback function to be called when event fires.
|
|
103
|
+
*/
|
|
104
|
+
appendListener(event, handler) {
|
|
105
|
+
return this.#events.appendListener(event, handler);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Registers an event listener that runs only once, then is removed.
|
|
110
|
+
*
|
|
111
|
+
* @param {string} event - Event name, such as 'onScrollBoundary' or 'onAutoScroll'.
|
|
112
|
+
* @param {ScrollListenersFunc} handler - The callback function to run on event.
|
|
113
|
+
* @returns {ScrollListenersFunc} - The wrapped version of the handler.
|
|
114
|
+
*/
|
|
115
|
+
appendListenerOnce(event, handler) {
|
|
116
|
+
return this.#events.appendListenerOnce(event, handler);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Adds a event listener.
|
|
121
|
+
*
|
|
122
|
+
* @param {string} event - Event name, such as 'onScrollBoundary' or 'onAutoScroll'.
|
|
123
|
+
* @param {ScrollListenersFunc} handler - Callback function to be called when event fires.
|
|
124
|
+
*/
|
|
125
|
+
on(event, handler) {
|
|
126
|
+
return this.#events.on(event, handler);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Registers an event listener that runs only once, then is removed.
|
|
131
|
+
*
|
|
132
|
+
* @param {string} event - Event name, such as 'onScrollBoundary' or 'onAutoScroll'.
|
|
133
|
+
* @param {ScrollListenersFunc} handler - The callback function to run on event.
|
|
134
|
+
* @returns {ScrollListenersFunc} - The wrapped version of the handler.
|
|
135
|
+
*/
|
|
136
|
+
once(event, handler) {
|
|
137
|
+
return this.#events.once(event, handler);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
////////////////////////////////////////////////////////////////////
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Removes a previously registered event listener.
|
|
144
|
+
*
|
|
145
|
+
* @param {string} event - The name of the event to remove the handler from.
|
|
146
|
+
* @param {ScrollListenersFunc} handler - The specific callback function to remove.
|
|
147
|
+
*/
|
|
148
|
+
off(event, handler) {
|
|
149
|
+
return this.#events.off(event, handler);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Removes all event listeners of a specific type from the element.
|
|
154
|
+
*
|
|
155
|
+
* @param {string} event - The event type to remove (e.g. 'onScrollBoundary').
|
|
156
|
+
*/
|
|
157
|
+
offAll(event) {
|
|
158
|
+
return this.#events.offAll(event);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Removes all event listeners of all types from the element.
|
|
163
|
+
*/
|
|
164
|
+
offAllTypes() {
|
|
165
|
+
return this.#events.offAllTypes();
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
////////////////////////////////////////////////////////////
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Returns the number of listeners for a given event.
|
|
172
|
+
*
|
|
173
|
+
* @param {string} event - The name of the event.
|
|
174
|
+
* @returns {number} Number of listeners for the event.
|
|
175
|
+
*/
|
|
176
|
+
listenerCount(event) {
|
|
177
|
+
return this.#events.listenerCount(event);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Returns a copy of the array of listeners for the specified event.
|
|
182
|
+
*
|
|
183
|
+
* @param {string} event - The name of the event.
|
|
184
|
+
* @returns {ScrollListenersFunc[]} Array of listener functions.
|
|
185
|
+
*/
|
|
186
|
+
listeners(event) {
|
|
187
|
+
return this.#events.listeners(event);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Returns a copy of the array of listeners for the specified event.
|
|
192
|
+
*
|
|
193
|
+
* @param {string} event - The name of the event.
|
|
194
|
+
* @returns {ScrollListenersFunc[]} Array of listener functions.
|
|
195
|
+
*/
|
|
196
|
+
onceListeners(event) {
|
|
197
|
+
return this.#events.onceListeners(event);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Returns a copy of the internal listeners array for the specified event,
|
|
202
|
+
* including wrapper functions like those used by `.once()`.
|
|
203
|
+
* @param {string | symbol} event - The event name.
|
|
204
|
+
* @returns {ScrollListenersFunc[]} An array of raw listener functions.
|
|
205
|
+
*/
|
|
206
|
+
allListeners(event) {
|
|
207
|
+
return this.#events.allListeners(event);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* Returns an array of event names for which there are registered listeners.
|
|
212
|
+
*
|
|
213
|
+
* @returns {string[]} Array of registered event names.
|
|
214
|
+
*/
|
|
215
|
+
eventNames() {
|
|
216
|
+
return this.#events.eventNames();
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
//////////////////////////////////////////////////////
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* Emits an event, triggering all registered handlers for that event.
|
|
223
|
+
*
|
|
224
|
+
* @param {string} event - The event name to emit.
|
|
225
|
+
* @param {...any} payload - Optional data to pass to each handler.
|
|
226
|
+
* @returns {boolean} True if any listeners were called, false otherwise.
|
|
227
|
+
*/
|
|
228
|
+
emit(event, ...payload) {
|
|
229
|
+
return this.#events.emit(event, ...payload);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* Sets the maximum number of listeners per event before a warning is shown.
|
|
234
|
+
*
|
|
235
|
+
* @param {number} n - The maximum number of listeners.
|
|
236
|
+
*/
|
|
237
|
+
setMaxListeners(n) {
|
|
238
|
+
return this.#events.setMaxListeners(n);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* Gets the maximum number of listeners allowed per event.
|
|
243
|
+
*
|
|
244
|
+
* @returns {number} The maximum number of listeners.
|
|
245
|
+
*/
|
|
246
|
+
getMaxListeners() {
|
|
247
|
+
return this.#events.getMaxListeners();
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
///////////////////////////////////////////////////
|
|
251
|
+
|
|
52
252
|
/** @type {WeakMap<Element, NodeSizes>} */
|
|
53
253
|
#oldSizes = new WeakMap();
|
|
54
254
|
/** @type {WeakMap<Element, NodeSizes>} */
|
|
@@ -64,9 +264,6 @@ class TinySmartScroller {
|
|
|
64
264
|
/** @type {WeakMap<Element, boolean>} */
|
|
65
265
|
#oldVisiblesByTime = new WeakMap();
|
|
66
266
|
|
|
67
|
-
/** @type {Record<string, ScrollListenersFunc[]>} */
|
|
68
|
-
#scrollListeners = {};
|
|
69
|
-
|
|
70
267
|
/** @type {ResizeObserver|null} */
|
|
71
268
|
#resizeObserver = null;
|
|
72
269
|
/** @type {MutationObserver|null} */
|
|
@@ -380,46 +577,6 @@ class TinySmartScroller {
|
|
|
380
577
|
this.#sizeFilter.delete(handler);
|
|
381
578
|
}
|
|
382
579
|
|
|
383
|
-
/**
|
|
384
|
-
* Adds a scroll-related event listener.
|
|
385
|
-
*
|
|
386
|
-
* @param {string} event - Event name, such as 'onScrollBoundary' or 'onAutoScroll'.
|
|
387
|
-
* @param {ScrollListenersFunc} handler - Callback function to be called when event fires.
|
|
388
|
-
*/
|
|
389
|
-
on(event, handler) {
|
|
390
|
-
if (this.#destroyed) return;
|
|
391
|
-
if (typeof event !== 'string')
|
|
392
|
-
throw new TypeError('on(event, handler): event name must be a string');
|
|
393
|
-
if (typeof handler !== 'function')
|
|
394
|
-
throw new TypeError('on(event, handler): handler must be a function');
|
|
395
|
-
|
|
396
|
-
if (!this.#scrollListeners[event]) this.#scrollListeners[event] = [];
|
|
397
|
-
this.#scrollListeners[event].push(handler);
|
|
398
|
-
}
|
|
399
|
-
|
|
400
|
-
/**
|
|
401
|
-
* Removes a previously registered scroll-related event listener.
|
|
402
|
-
*
|
|
403
|
-
* @param {string} event - The name of the event to remove the handler from.
|
|
404
|
-
* @param {ScrollListenersFunc} handler - The specific callback function to remove.
|
|
405
|
-
*/
|
|
406
|
-
off(event, handler) {
|
|
407
|
-
if (this.#destroyed) return;
|
|
408
|
-
if (typeof event !== 'string')
|
|
409
|
-
throw new TypeError('off(event, handler): event name must be a string');
|
|
410
|
-
if (typeof handler !== 'function')
|
|
411
|
-
throw new TypeError('off(event, handler): handler must be a function');
|
|
412
|
-
|
|
413
|
-
const listeners = this.#scrollListeners[event];
|
|
414
|
-
if (!Array.isArray(listeners)) return;
|
|
415
|
-
|
|
416
|
-
const index = listeners.indexOf(handler);
|
|
417
|
-
if (index !== -1) listeners.splice(index, 1);
|
|
418
|
-
|
|
419
|
-
// Optionally clean up empty arrays (optional)
|
|
420
|
-
if (listeners.length === 0) delete this.#scrollListeners[event];
|
|
421
|
-
}
|
|
422
|
-
|
|
423
580
|
/**
|
|
424
581
|
* Checks which elements inside the target are currently visible and updates internal maps.
|
|
425
582
|
*
|
|
@@ -444,12 +601,10 @@ class TinySmartScroller {
|
|
|
444
601
|
*
|
|
445
602
|
* @param {string} event - Event name.
|
|
446
603
|
* @param {*} [payload] - Optional event data payload.
|
|
604
|
+
* @deprecated - Use emit() instead.
|
|
447
605
|
*/
|
|
448
606
|
_emit(event, payload) {
|
|
449
|
-
|
|
450
|
-
if (typeof event !== 'string')
|
|
451
|
-
throw new TypeError('_emit(event, payload): event name must be a string');
|
|
452
|
-
(this.#scrollListeners[event] || []).forEach((fn) => fn(payload));
|
|
607
|
+
this.emit(event, payload);
|
|
453
608
|
}
|
|
454
609
|
|
|
455
610
|
/**
|
|
@@ -495,13 +650,13 @@ class TinySmartScroller {
|
|
|
495
650
|
this.#lastKnownScrollBottomOffset = scrollHeight - scrollTop - clientHeight;
|
|
496
651
|
|
|
497
652
|
// Send results
|
|
498
|
-
this.
|
|
499
|
-
this.
|
|
653
|
+
this.emit('onScrollBoundary', { status: atResult, ...scrollResult, scrollCache });
|
|
654
|
+
this.emit('onExtraScrollBoundary', { status: atCustomResult, ...scrollResult, scrollCache });
|
|
500
655
|
|
|
501
656
|
if (!this.#scrollPaused) {
|
|
502
|
-
this.
|
|
657
|
+
this.emit('onAutoScroll', { ...scrollResult, scrollCache });
|
|
503
658
|
} else {
|
|
504
|
-
this.
|
|
659
|
+
this.emit('onScrollPause', { ...scrollResult, scrollCache });
|
|
505
660
|
}
|
|
506
661
|
}
|
|
507
662
|
|
|
@@ -967,7 +1122,7 @@ class TinySmartScroller {
|
|
|
967
1122
|
this.#oldVisiblesByTime = new WeakMap();
|
|
968
1123
|
|
|
969
1124
|
// Cleans listeners and filters
|
|
970
|
-
this.#
|
|
1125
|
+
this.#events.offAllTypes();
|
|
971
1126
|
this.#sizeFilter.clear();
|
|
972
1127
|
this.#loadTags.clear();
|
|
973
1128
|
}
|
|
@@ -88,12 +88,45 @@ declare class TinySmartScroller {
|
|
|
88
88
|
areElsCollTop: (rect1: ObjRect, rect2: ObjRect) => boolean;
|
|
89
89
|
areElsCollBottom: (rect1: ObjRect, rect2: ObjRect) => boolean;
|
|
90
90
|
areElsCollLeft: (rect1: ObjRect, rect2: ObjRect) => boolean;
|
|
91
|
-
areElsCollRight: (
|
|
91
|
+
areElsCollRight: (//////////////////////////////////////////
|
|
92
|
+
/**
|
|
93
|
+
* Adds a event listener.
|
|
94
|
+
*
|
|
95
|
+
* @param {string} event - Event name, such as 'onScrollBoundary' or 'onAutoScroll'.
|
|
96
|
+
* @param {ScrollListenersFunc} handler - Callback function to be called when event fires.
|
|
97
|
+
*/
|
|
98
|
+
rect1: ObjRect
|
|
99
|
+
/**
|
|
100
|
+
* Adds a event listener.
|
|
101
|
+
*
|
|
102
|
+
* @param {string} event - Event name, such as 'onScrollBoundary' or 'onAutoScroll'.
|
|
103
|
+
* @param {ScrollListenersFunc} handler - Callback function to be called when event fires.
|
|
104
|
+
*/
|
|
105
|
+
, ////////////////////////////////////
|
|
106
|
+
/**
|
|
107
|
+
* Adds a event listener.
|
|
108
|
+
*
|
|
109
|
+
* @param {string} event - Event name, such as 'onScrollBoundary' or 'onAutoScroll'.
|
|
110
|
+
* @param {ScrollListenersFunc} handler - Callback function to be called when event fires.
|
|
111
|
+
*/
|
|
112
|
+
rect2: ObjRect
|
|
113
|
+
/**
|
|
114
|
+
* Adds a event listener.
|
|
115
|
+
*
|
|
116
|
+
* @param {string} event - Event name, such as 'onScrollBoundary' or 'onAutoScroll'.
|
|
117
|
+
* @param {ScrollListenersFunc} handler - Callback function to be called when event fires.
|
|
118
|
+
*/
|
|
119
|
+
) => boolean;
|
|
92
120
|
areElsCollPerfTop: (rect1: ObjRect, rect2: ObjRect) => boolean;
|
|
93
121
|
areElsCollPerfBottom: (rect1: ObjRect, rect2: ObjRect) => boolean;
|
|
94
122
|
areElsCollPerfLeft: (rect1: ObjRect, rect2: ObjRect) => boolean;
|
|
95
123
|
areElsCollPerfRight: (rect1: ObjRect, rect2: ObjRect) => boolean;
|
|
96
|
-
areElsColliding: (
|
|
124
|
+
areElsColliding: (/**
|
|
125
|
+
* Removes a previously registered event listener.
|
|
126
|
+
*
|
|
127
|
+
* @param {string} event - The name of the event to remove the handler from.
|
|
128
|
+
* @param {ScrollListenersFunc} handler - The specific callback function to remove.
|
|
129
|
+
*/ rect1: ObjRect, rect2: ObjRect) => boolean;
|
|
97
130
|
areElsPerfColliding: (rect1: ObjRect, rect2: ObjRect) => boolean;
|
|
98
131
|
getElsColliding: (rect1: ObjRect, rect2: ObjRect) => string | null;
|
|
99
132
|
getElsPerfColliding: (rect1: ObjRect, rect2: ObjRect) => "top" | "bottom" | "left" | "right" | null;
|
|
@@ -141,6 +174,134 @@ declare class TinySmartScroller {
|
|
|
141
174
|
querySelector?: string | null | undefined;
|
|
142
175
|
attributeFilter?: string[] | Set<string> | null | undefined;
|
|
143
176
|
});
|
|
177
|
+
/**
|
|
178
|
+
* Enables or disables throwing an error when the maximum number of listeners is exceeded.
|
|
179
|
+
*
|
|
180
|
+
* @param {boolean} shouldThrow - If true, an error will be thrown when the max is exceeded.
|
|
181
|
+
*/
|
|
182
|
+
setThrowOnMaxListeners(shouldThrow: boolean): void;
|
|
183
|
+
/**
|
|
184
|
+
* Checks whether an error will be thrown when the max listener limit is exceeded.
|
|
185
|
+
*
|
|
186
|
+
* @returns {boolean} True if an error will be thrown, false if only a warning is shown.
|
|
187
|
+
*/
|
|
188
|
+
getThrowOnMaxListeners(): boolean;
|
|
189
|
+
/**
|
|
190
|
+
* Adds a listener to the beginning of the listeners array for the specified event.
|
|
191
|
+
*
|
|
192
|
+
* @param {string} event - Event name.
|
|
193
|
+
* @param {ScrollListenersFunc} handler - The callback function.
|
|
194
|
+
*/
|
|
195
|
+
prependListener(event: string, handler: ScrollListenersFunc): void;
|
|
196
|
+
/**
|
|
197
|
+
* Adds a one-time listener to the beginning of the listeners array for the specified event.
|
|
198
|
+
*
|
|
199
|
+
* @param {string} event - Event name.
|
|
200
|
+
* @param {ScrollListenersFunc} handler - The callback function.
|
|
201
|
+
* @returns {ScrollListenersFunc} - The wrapped handler used internally.
|
|
202
|
+
*/
|
|
203
|
+
prependListenerOnce(event: string, handler: ScrollListenersFunc): ScrollListenersFunc;
|
|
204
|
+
/**
|
|
205
|
+
* Adds a event listener.
|
|
206
|
+
*
|
|
207
|
+
* @param {string} event - Event name, such as 'onScrollBoundary' or 'onAutoScroll'.
|
|
208
|
+
* @param {ScrollListenersFunc} handler - Callback function to be called when event fires.
|
|
209
|
+
*/
|
|
210
|
+
appendListener(event: string, handler: ScrollListenersFunc): void;
|
|
211
|
+
/**
|
|
212
|
+
* Registers an event listener that runs only once, then is removed.
|
|
213
|
+
*
|
|
214
|
+
* @param {string} event - Event name, such as 'onScrollBoundary' or 'onAutoScroll'.
|
|
215
|
+
* @param {ScrollListenersFunc} handler - The callback function to run on event.
|
|
216
|
+
* @returns {ScrollListenersFunc} - The wrapped version of the handler.
|
|
217
|
+
*/
|
|
218
|
+
appendListenerOnce(event: string, handler: ScrollListenersFunc): ScrollListenersFunc;
|
|
219
|
+
/**
|
|
220
|
+
* Adds a event listener.
|
|
221
|
+
*
|
|
222
|
+
* @param {string} event - Event name, such as 'onScrollBoundary' or 'onAutoScroll'.
|
|
223
|
+
* @param {ScrollListenersFunc} handler - Callback function to be called when event fires.
|
|
224
|
+
*/
|
|
225
|
+
on(event: string, handler: ScrollListenersFunc): void;
|
|
226
|
+
/**
|
|
227
|
+
* Registers an event listener that runs only once, then is removed.
|
|
228
|
+
*
|
|
229
|
+
* @param {string} event - Event name, such as 'onScrollBoundary' or 'onAutoScroll'.
|
|
230
|
+
* @param {ScrollListenersFunc} handler - The callback function to run on event.
|
|
231
|
+
* @returns {ScrollListenersFunc} - The wrapped version of the handler.
|
|
232
|
+
*/
|
|
233
|
+
once(event: string, handler: ScrollListenersFunc): ScrollListenersFunc;
|
|
234
|
+
/**
|
|
235
|
+
* Removes a previously registered event listener.
|
|
236
|
+
*
|
|
237
|
+
* @param {string} event - The name of the event to remove the handler from.
|
|
238
|
+
* @param {ScrollListenersFunc} handler - The specific callback function to remove.
|
|
239
|
+
*/
|
|
240
|
+
off(event: string, handler: ScrollListenersFunc): void;
|
|
241
|
+
/**
|
|
242
|
+
* Removes all event listeners of a specific type from the element.
|
|
243
|
+
*
|
|
244
|
+
* @param {string} event - The event type to remove (e.g. 'onScrollBoundary').
|
|
245
|
+
*/
|
|
246
|
+
offAll(event: string): void;
|
|
247
|
+
/**
|
|
248
|
+
* Removes all event listeners of all types from the element.
|
|
249
|
+
*/
|
|
250
|
+
offAllTypes(): void;
|
|
251
|
+
/**
|
|
252
|
+
* Returns the number of listeners for a given event.
|
|
253
|
+
*
|
|
254
|
+
* @param {string} event - The name of the event.
|
|
255
|
+
* @returns {number} Number of listeners for the event.
|
|
256
|
+
*/
|
|
257
|
+
listenerCount(event: string): number;
|
|
258
|
+
/**
|
|
259
|
+
* Returns a copy of the array of listeners for the specified event.
|
|
260
|
+
*
|
|
261
|
+
* @param {string} event - The name of the event.
|
|
262
|
+
* @returns {ScrollListenersFunc[]} Array of listener functions.
|
|
263
|
+
*/
|
|
264
|
+
listeners(event: string): ScrollListenersFunc[];
|
|
265
|
+
/**
|
|
266
|
+
* Returns a copy of the array of listeners for the specified event.
|
|
267
|
+
*
|
|
268
|
+
* @param {string} event - The name of the event.
|
|
269
|
+
* @returns {ScrollListenersFunc[]} Array of listener functions.
|
|
270
|
+
*/
|
|
271
|
+
onceListeners(event: string): ScrollListenersFunc[];
|
|
272
|
+
/**
|
|
273
|
+
* Returns a copy of the internal listeners array for the specified event,
|
|
274
|
+
* including wrapper functions like those used by `.once()`.
|
|
275
|
+
* @param {string | symbol} event - The event name.
|
|
276
|
+
* @returns {ScrollListenersFunc[]} An array of raw listener functions.
|
|
277
|
+
*/
|
|
278
|
+
allListeners(event: string | symbol): ScrollListenersFunc[];
|
|
279
|
+
/**
|
|
280
|
+
* Returns an array of event names for which there are registered listeners.
|
|
281
|
+
*
|
|
282
|
+
* @returns {string[]} Array of registered event names.
|
|
283
|
+
*/
|
|
284
|
+
eventNames(): string[];
|
|
285
|
+
/**
|
|
286
|
+
* Emits an event, triggering all registered handlers for that event.
|
|
287
|
+
*
|
|
288
|
+
* @param {string} event - The event name to emit.
|
|
289
|
+
* @param {...any} payload - Optional data to pass to each handler.
|
|
290
|
+
* @returns {boolean} True if any listeners were called, false otherwise.
|
|
291
|
+
*/
|
|
292
|
+
emit(event: string, ...payload: any[]): boolean;
|
|
293
|
+
/**
|
|
294
|
+
* Sets the maximum number of listeners per event before a warning is shown.
|
|
295
|
+
*
|
|
296
|
+
* @param {number} n - The maximum number of listeners.
|
|
297
|
+
*/
|
|
298
|
+
setMaxListeners(n: number): void;
|
|
299
|
+
/**
|
|
300
|
+
* Gets the maximum number of listeners allowed per event.
|
|
301
|
+
*
|
|
302
|
+
* @returns {number} The maximum number of listeners.
|
|
303
|
+
*/
|
|
304
|
+
getMaxListeners(): number;
|
|
144
305
|
/**
|
|
145
306
|
* Returns a size difference callback that only reacts when height changes, filtered by tag name.
|
|
146
307
|
*
|
|
@@ -232,20 +393,6 @@ declare class TinySmartScroller {
|
|
|
232
393
|
* @param {NodeSizesEvent} handler - The handler function to remove.
|
|
233
394
|
*/
|
|
234
395
|
offSize(handler: NodeSizesEvent): void;
|
|
235
|
-
/**
|
|
236
|
-
* Adds a scroll-related event listener.
|
|
237
|
-
*
|
|
238
|
-
* @param {string} event - Event name, such as 'onScrollBoundary' or 'onAutoScroll'.
|
|
239
|
-
* @param {ScrollListenersFunc} handler - Callback function to be called when event fires.
|
|
240
|
-
*/
|
|
241
|
-
on(event: string, handler: ScrollListenersFunc): void;
|
|
242
|
-
/**
|
|
243
|
-
* Removes a previously registered scroll-related event listener.
|
|
244
|
-
*
|
|
245
|
-
* @param {string} event - The name of the event to remove the handler from.
|
|
246
|
-
* @param {ScrollListenersFunc} handler - The specific callback function to remove.
|
|
247
|
-
*/
|
|
248
|
-
off(event: string, handler: ScrollListenersFunc): void;
|
|
249
396
|
/**
|
|
250
397
|
* Checks which elements inside the target are currently visible and updates internal maps.
|
|
251
398
|
*
|
|
@@ -260,6 +407,7 @@ declare class TinySmartScroller {
|
|
|
260
407
|
*
|
|
261
408
|
* @param {string} event - Event name.
|
|
262
409
|
* @param {*} [payload] - Optional event data payload.
|
|
410
|
+
* @deprecated - Use emit() instead.
|
|
263
411
|
*/
|
|
264
412
|
_emit(event: string, payload?: any): void;
|
|
265
413
|
/**
|