tiny-essentials 1.21.2 → 1.21.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/v1/TinyDragger.min.js +1 -1
- package/dist/v1/TinyEssentials.min.js +1 -1
- package/dist/v1/TinyHtml.min.js +1 -1
- package/dist/v1/TinySmartScroller.min.js +1 -1
- package/dist/v1/TinyUploadClicker.min.js +1 -1
- package/dist/v1/libs/TinyHtml.cjs +174 -85
- package/dist/v1/libs/TinyHtml.d.mts +49 -22
- package/dist/v1/libs/TinyHtml.mjs +162 -85
- package/docs/v1/libs/TinyHtml.md +25 -0
- package/package.json +1 -1
|
@@ -633,6 +633,17 @@ class TinyHtml {
|
|
|
633
633
|
|
|
634
634
|
//////////////////////////////////////////////////////////////////
|
|
635
635
|
|
|
636
|
+
/**
|
|
637
|
+
* Iterates over all elements, executing the provided callback on each.
|
|
638
|
+
* @param {(element: TinyHtml, index: number, items: TinyHtml[]) => void} callback - Function invoked for each element.
|
|
639
|
+
* @returns {TinyHtml} The current instance for chaining.
|
|
640
|
+
*/
|
|
641
|
+
forEach(callback) {
|
|
642
|
+
const elems = this.getAll().map((el, index) => this.extract(index));
|
|
643
|
+
for (const index in elems) callback(elems[index], Number(index), elems);
|
|
644
|
+
return this;
|
|
645
|
+
}
|
|
646
|
+
|
|
636
647
|
/**
|
|
637
648
|
* Returns the current target held by this instance.
|
|
638
649
|
*
|
|
@@ -1331,8 +1342,30 @@ class TinyHtml {
|
|
|
1331
1342
|
|
|
1332
1343
|
//////////////////////////////////////////////////////////////////
|
|
1333
1344
|
|
|
1334
|
-
/**
|
|
1335
|
-
|
|
1345
|
+
/**
|
|
1346
|
+
* Internal data storage for element information.
|
|
1347
|
+
* @type {ElementDataStore}
|
|
1348
|
+
*/
|
|
1349
|
+
#data = {};
|
|
1350
|
+
|
|
1351
|
+
/**
|
|
1352
|
+
* Returns a shallow copy of the internal data.
|
|
1353
|
+
* @type {ElementDataStore}
|
|
1354
|
+
*/
|
|
1355
|
+
get _data() {
|
|
1356
|
+
return { ...this.#data };
|
|
1357
|
+
}
|
|
1358
|
+
|
|
1359
|
+
/**
|
|
1360
|
+
* Replaces the internal data with a new object.
|
|
1361
|
+
* @param {ElementDataStore} value - Must be a non-null object.
|
|
1362
|
+
* @throws {Error} If the value is not a valid object.
|
|
1363
|
+
*/
|
|
1364
|
+
set _data(value) {
|
|
1365
|
+
if (typeof value !== 'object' || value === null || Array.isArray(value))
|
|
1366
|
+
throw new Error('value must be a non-null object.');
|
|
1367
|
+
this.#data = value;
|
|
1368
|
+
}
|
|
1336
1369
|
|
|
1337
1370
|
/**
|
|
1338
1371
|
* Internal data selectors for accessing public or private data stores.
|
|
@@ -1353,7 +1386,7 @@ class TinyHtml {
|
|
|
1353
1386
|
private: (where, el) => {
|
|
1354
1387
|
if (!(el instanceof TinyHtml))
|
|
1355
1388
|
throw new Error(`Element must be a TinyHtml instance to execute ${where}().`);
|
|
1356
|
-
return el
|
|
1389
|
+
return el.#data;
|
|
1357
1390
|
},
|
|
1358
1391
|
};
|
|
1359
1392
|
|
|
@@ -2773,6 +2806,27 @@ class TinyHtml {
|
|
|
2773
2806
|
return TinyHtml.blur(this);
|
|
2774
2807
|
}
|
|
2775
2808
|
|
|
2809
|
+
/**
|
|
2810
|
+
* Select the text content of an input or textarea element.
|
|
2811
|
+
*
|
|
2812
|
+
* @param {TinyHtml|HTMLInputElement|HTMLTextAreaElement} el - The element or a selector string.
|
|
2813
|
+
* @returns {TinyHtml|HTMLInputElement|HTMLTextAreaElement}
|
|
2814
|
+
*/
|
|
2815
|
+
static select(el) {
|
|
2816
|
+
const elem = TinyHtml._preHtmlElem(el, 'select');
|
|
2817
|
+
if (elem instanceof HTMLInputElement || elem instanceof HTMLTextAreaElement) elem.select();
|
|
2818
|
+
else throw new Error('Element must be an <input> or <textarea> to use select().');
|
|
2819
|
+
return el;
|
|
2820
|
+
}
|
|
2821
|
+
|
|
2822
|
+
/**
|
|
2823
|
+
* Select the text content of an input or textarea element.
|
|
2824
|
+
* @returns {TinyHtml|HTMLInputElement|HTMLTextAreaElement}
|
|
2825
|
+
*/
|
|
2826
|
+
select() {
|
|
2827
|
+
return TinyHtml.select(this);
|
|
2828
|
+
}
|
|
2829
|
+
|
|
2776
2830
|
/**
|
|
2777
2831
|
* Interprets a value as a boolean `true` if it matches a common truthy representation.
|
|
2778
2832
|
*
|
|
@@ -4468,141 +4522,169 @@ class TinyHtml {
|
|
|
4468
4522
|
* Registers an event listener on the specified element.
|
|
4469
4523
|
*
|
|
4470
4524
|
* @param {TinyEventTarget|TinyEventTarget[]} el - The target to listen on.
|
|
4471
|
-
* @param {string}
|
|
4525
|
+
* @param {string|string[]} events - The event type (e.g. 'click', 'keydown').
|
|
4472
4526
|
* @param {EventListenerOrEventListenerObject|null} handler - The callback function to run on event.
|
|
4473
4527
|
* @param {EventRegistryOptions} [options] - Optional event listener options.
|
|
4474
4528
|
* @returns {TinyEventTarget|TinyEventTarget[]}
|
|
4475
4529
|
*/
|
|
4476
|
-
static on(el,
|
|
4477
|
-
if (
|
|
4478
|
-
|
|
4479
|
-
|
|
4480
|
-
|
|
4481
|
-
|
|
4482
|
-
|
|
4483
|
-
if (
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
|
|
4530
|
+
static on(el, events, handler, options) {
|
|
4531
|
+
if (
|
|
4532
|
+
typeof events !== 'string' &&
|
|
4533
|
+
(!Array.isArray(events) || !events.every((event) => typeof event === 'string'))
|
|
4534
|
+
)
|
|
4535
|
+
throw new TypeError('The events must be a string or array of strings.');
|
|
4536
|
+
for (const event of Array.isArray(events) ? Array.from(new Set(events)) : [events]) {
|
|
4537
|
+
if (typeof event !== 'string') throw new TypeError('The event name must be a string.');
|
|
4538
|
+
TinyHtml._preEventTargetElems(el, 'on').forEach((elem) => {
|
|
4539
|
+
elem.addEventListener(event, handler, options);
|
|
4540
|
+
|
|
4541
|
+
if (!__eventRegistry.has(elem)) __eventRegistry.set(elem, {});
|
|
4542
|
+
const events = __eventRegistry.get(elem);
|
|
4543
|
+
if (!events) return;
|
|
4544
|
+
if (!Array.isArray(events[event])) events[event] = [];
|
|
4545
|
+
events[event].push({ handler, options });
|
|
4546
|
+
});
|
|
4547
|
+
}
|
|
4487
4548
|
return el;
|
|
4488
4549
|
}
|
|
4489
4550
|
|
|
4490
4551
|
/**
|
|
4491
4552
|
* Registers an event listener on the specified element.
|
|
4492
4553
|
*
|
|
4493
|
-
* @param {string}
|
|
4554
|
+
* @param {string|string[]} events - The event type (e.g. 'click', 'keydown').
|
|
4494
4555
|
* @param {EventListenerOrEventListenerObject|null} handler - The callback function to run on event.
|
|
4495
4556
|
* @param {EventRegistryOptions} [options] - Optional event listener options.
|
|
4496
4557
|
* @returns {TinyEventTarget|TinyEventTarget[]}
|
|
4497
4558
|
*/
|
|
4498
|
-
on(
|
|
4499
|
-
return TinyHtml.on(this,
|
|
4559
|
+
on(events, handler, options) {
|
|
4560
|
+
return TinyHtml.on(this, events, handler, options);
|
|
4500
4561
|
}
|
|
4501
4562
|
|
|
4502
4563
|
/**
|
|
4503
4564
|
* Registers an event listener that runs only once, then is removed.
|
|
4504
4565
|
*
|
|
4505
4566
|
* @param {TinyEventTarget|TinyEventTarget[]} el - The target to listen on.
|
|
4506
|
-
* @param {string}
|
|
4567
|
+
* @param {string|string[]} events - The event type (e.g. 'click', 'keydown').
|
|
4507
4568
|
* @param {EventListenerOrEventListenerObject} handler - The callback function to run on event.
|
|
4508
4569
|
* @param {EventRegistryOptions} [options={}] - Optional event listener options.
|
|
4509
4570
|
* @returns {TinyEventTarget|TinyEventTarget[]}
|
|
4510
4571
|
*/
|
|
4511
|
-
static once(el,
|
|
4512
|
-
if (
|
|
4513
|
-
|
|
4514
|
-
|
|
4515
|
-
|
|
4516
|
-
|
|
4517
|
-
|
|
4518
|
-
|
|
4519
|
-
|
|
4520
|
-
|
|
4521
|
-
|
|
4522
|
-
|
|
4523
|
-
|
|
4524
|
-
|
|
4525
|
-
|
|
4526
|
-
|
|
4572
|
+
static once(el, events, handler, options = {}) {
|
|
4573
|
+
if (
|
|
4574
|
+
typeof events !== 'string' &&
|
|
4575
|
+
(!Array.isArray(events) || !events.every((event) => typeof event === 'string'))
|
|
4576
|
+
)
|
|
4577
|
+
throw new TypeError('The events must be a string or array of strings.');
|
|
4578
|
+
for (const event of Array.isArray(events) ? Array.from(new Set(events)) : [events]) {
|
|
4579
|
+
if (typeof event !== 'string') throw new TypeError('The event name must be a string.');
|
|
4580
|
+
TinyHtml._preEventTargetElems(el, 'once').forEach((elem) => {
|
|
4581
|
+
/** @type {EventListenerOrEventListenerObject} */
|
|
4582
|
+
const wrapped = (e) => {
|
|
4583
|
+
TinyHtml.off(elem, event, wrapped);
|
|
4584
|
+
if (typeof handler === 'function') handler(e);
|
|
4585
|
+
};
|
|
4586
|
+
|
|
4587
|
+
TinyHtml.on(
|
|
4588
|
+
elem,
|
|
4589
|
+
event,
|
|
4590
|
+
wrapped,
|
|
4591
|
+
typeof options === 'boolean' ? options : { ...options, once: true },
|
|
4592
|
+
);
|
|
4593
|
+
});
|
|
4594
|
+
}
|
|
4527
4595
|
return el;
|
|
4528
4596
|
}
|
|
4529
4597
|
|
|
4530
4598
|
/**
|
|
4531
4599
|
* Registers an event listener that runs only once, then is removed.
|
|
4532
4600
|
*
|
|
4533
|
-
* @param {string}
|
|
4601
|
+
* @param {string|string[]} events - The event type (e.g. 'click', 'keydown').
|
|
4534
4602
|
* @param {EventListenerOrEventListenerObject} handler - The callback function to run on event.
|
|
4535
4603
|
* @param {EventRegistryOptions} [options={}] - Optional event listener options.
|
|
4536
4604
|
* @returns {TinyEventTarget|TinyEventTarget[]}
|
|
4537
4605
|
*/
|
|
4538
|
-
once(
|
|
4539
|
-
return TinyHtml.once(this,
|
|
4606
|
+
once(events, handler, options = {}) {
|
|
4607
|
+
return TinyHtml.once(this, events, handler, options);
|
|
4540
4608
|
}
|
|
4541
4609
|
|
|
4542
4610
|
/**
|
|
4543
4611
|
* Removes a specific event listener from an element.
|
|
4544
4612
|
*
|
|
4545
4613
|
* @param {TinyEventTarget|TinyEventTarget[]} el - The target element.
|
|
4546
|
-
* @param {string}
|
|
4614
|
+
* @param {string|string[]} events - The event type.
|
|
4547
4615
|
* @param {EventListenerOrEventListenerObject|null} handler - The function originally bound to the event.
|
|
4548
4616
|
* @param {boolean|EventListenerOptions} [options] - Optional listener options.
|
|
4549
4617
|
* @returns {TinyEventTarget|TinyEventTarget[]}
|
|
4550
4618
|
*/
|
|
4551
|
-
static off(el,
|
|
4552
|
-
if (
|
|
4553
|
-
|
|
4554
|
-
|
|
4555
|
-
|
|
4556
|
-
|
|
4557
|
-
|
|
4558
|
-
|
|
4559
|
-
|
|
4560
|
-
|
|
4561
|
-
|
|
4619
|
+
static off(el, events, handler, options) {
|
|
4620
|
+
if (
|
|
4621
|
+
typeof events !== 'string' &&
|
|
4622
|
+
(!Array.isArray(events) || !events.every((event) => typeof event === 'string'))
|
|
4623
|
+
)
|
|
4624
|
+
throw new TypeError('The events must be a string or array of strings.');
|
|
4625
|
+
for (const event of Array.isArray(events) ? Array.from(new Set(events)) : [events]) {
|
|
4626
|
+
if (typeof event !== 'string') throw new TypeError('The event name must be a string.');
|
|
4627
|
+
TinyHtml._preEventTargetElems(el, 'off').forEach((elem) => {
|
|
4628
|
+
elem.removeEventListener(event, handler, options);
|
|
4629
|
+
|
|
4630
|
+
const events = __eventRegistry.get(elem);
|
|
4631
|
+
if (events && events[event]) {
|
|
4632
|
+
events[event] = events[event].filter((entry) => entry.handler !== handler);
|
|
4633
|
+
if (events[event].length === 0) delete events[event];
|
|
4634
|
+
}
|
|
4635
|
+
});
|
|
4636
|
+
}
|
|
4562
4637
|
return el;
|
|
4563
4638
|
}
|
|
4564
4639
|
|
|
4565
4640
|
/**
|
|
4566
4641
|
* Removes a specific event listener from an element.
|
|
4567
4642
|
*
|
|
4568
|
-
* @param {string}
|
|
4643
|
+
* @param {string|string[]} events - The event type.
|
|
4569
4644
|
* @param {EventListenerOrEventListenerObject|null} handler - The function originally bound to the event.
|
|
4570
4645
|
* @param {boolean|EventListenerOptions} [options] - Optional listener options.
|
|
4571
4646
|
* @returns {TinyEventTarget|TinyEventTarget[]}
|
|
4572
4647
|
*/
|
|
4573
|
-
off(
|
|
4574
|
-
return TinyHtml.off(this,
|
|
4648
|
+
off(events, handler, options) {
|
|
4649
|
+
return TinyHtml.off(this, events, handler, options);
|
|
4575
4650
|
}
|
|
4576
4651
|
|
|
4577
4652
|
/**
|
|
4578
4653
|
* Removes all event listeners of a specific type from the element.
|
|
4579
4654
|
*
|
|
4580
4655
|
* @param {TinyEventTarget|TinyEventTarget[]} el - The target element.
|
|
4581
|
-
* @param {string}
|
|
4656
|
+
* @param {string|string[]} events - The event type to remove (e.g. 'click').
|
|
4582
4657
|
* @returns {TinyEventTarget|TinyEventTarget[]}
|
|
4583
4658
|
*/
|
|
4584
|
-
static offAll(el,
|
|
4585
|
-
if (
|
|
4586
|
-
|
|
4587
|
-
|
|
4588
|
-
|
|
4589
|
-
|
|
4590
|
-
|
|
4659
|
+
static offAll(el, events) {
|
|
4660
|
+
if (
|
|
4661
|
+
typeof events !== 'string' &&
|
|
4662
|
+
(!Array.isArray(events) || !events.every((event) => typeof event === 'string'))
|
|
4663
|
+
)
|
|
4664
|
+
throw new TypeError('The events must be a string or array of strings.');
|
|
4665
|
+
for (const event of Array.isArray(events) ? Array.from(new Set(events)) : [events]) {
|
|
4666
|
+
if (typeof event !== 'string') throw new TypeError('The event name must be a string.');
|
|
4667
|
+
TinyHtml._preEventTargetElems(el, 'offAll').forEach((elem) => {
|
|
4668
|
+
const events = __eventRegistry.get(elem);
|
|
4669
|
+
if (events && events[event]) {
|
|
4670
|
+
for (const entry of events[event]) {
|
|
4671
|
+
elem.removeEventListener(event, entry.handler, entry.options);
|
|
4672
|
+
}
|
|
4673
|
+
delete events[event];
|
|
4591
4674
|
}
|
|
4592
|
-
|
|
4593
|
-
|
|
4594
|
-
});
|
|
4675
|
+
});
|
|
4676
|
+
}
|
|
4595
4677
|
return el;
|
|
4596
4678
|
}
|
|
4597
4679
|
|
|
4598
4680
|
/**
|
|
4599
4681
|
* Removes all event listeners of a specific type from the element.
|
|
4600
4682
|
*
|
|
4601
|
-
* @param {string}
|
|
4683
|
+
* @param {string|string[]} events - The event type to remove (e.g. 'click').
|
|
4602
4684
|
* @returns {TinyEventTarget|TinyEventTarget[]}
|
|
4603
4685
|
*/
|
|
4604
|
-
offAll(
|
|
4605
|
-
return TinyHtml.offAll(this,
|
|
4686
|
+
offAll(events) {
|
|
4687
|
+
return TinyHtml.offAll(this, events);
|
|
4606
4688
|
}
|
|
4607
4689
|
|
|
4608
4690
|
/**
|
|
@@ -4648,36 +4730,43 @@ class TinyHtml {
|
|
|
4648
4730
|
* Triggers all handlers associated with a specific event on the given element.
|
|
4649
4731
|
*
|
|
4650
4732
|
* @param {TinyEventTarget|TinyEventTarget[]} el - Target element where the event should be triggered.
|
|
4651
|
-
* @param {string}
|
|
4733
|
+
* @param {string|string[]} events - Name of the event to trigger.
|
|
4652
4734
|
* @param {Event|CustomEvent|CustomEventInit} [payload] - Optional event object or data to pass.
|
|
4653
4735
|
* @returns {TinyEventTarget|TinyEventTarget[]}
|
|
4654
4736
|
*/
|
|
4655
|
-
static trigger(el,
|
|
4656
|
-
if (
|
|
4657
|
-
|
|
4658
|
-
|
|
4659
|
-
|
|
4660
|
-
|
|
4661
|
-
|
|
4662
|
-
|
|
4663
|
-
|
|
4664
|
-
|
|
4665
|
-
|
|
4666
|
-
|
|
4667
|
-
|
|
4668
|
-
|
|
4737
|
+
static trigger(el, events, payload = {}) {
|
|
4738
|
+
if (
|
|
4739
|
+
typeof events !== 'string' &&
|
|
4740
|
+
(!Array.isArray(events) || !events.every((event) => typeof event === 'string'))
|
|
4741
|
+
)
|
|
4742
|
+
throw new TypeError('The events must be a string or array of strings.');
|
|
4743
|
+
for (const event of Array.isArray(events) ? Array.from(new Set(events)) : [events]) {
|
|
4744
|
+
if (typeof event !== 'string') throw new TypeError('The event name must be a string.');
|
|
4745
|
+
TinyHtml._preEventTargetElems(el, 'trigger').forEach((elem) => {
|
|
4746
|
+
const evt =
|
|
4747
|
+
payload instanceof Event || payload instanceof CustomEvent
|
|
4748
|
+
? payload
|
|
4749
|
+
: new CustomEvent(event, {
|
|
4750
|
+
bubbles: true,
|
|
4751
|
+
cancelable: true,
|
|
4752
|
+
detail: payload,
|
|
4753
|
+
});
|
|
4754
|
+
|
|
4755
|
+
elem.dispatchEvent(evt);
|
|
4756
|
+
});
|
|
4757
|
+
}
|
|
4669
4758
|
return el;
|
|
4670
4759
|
}
|
|
4671
4760
|
|
|
4672
4761
|
/**
|
|
4673
4762
|
* Triggers all handlers associated with a specific event on the given element.
|
|
4674
4763
|
*
|
|
4675
|
-
* @param {string}
|
|
4764
|
+
* @param {string|string[]} events - Name of the event to trigger.
|
|
4676
4765
|
* @param {Event|CustomEvent|CustomEventInit} [payload] - Optional event object or data to pass.
|
|
4677
4766
|
* @returns {TinyEventTarget|TinyEventTarget[]}
|
|
4678
4767
|
*/
|
|
4679
|
-
trigger(
|
|
4680
|
-
return TinyHtml.trigger(this,
|
|
4768
|
+
trigger(events, payload = {}) {
|
|
4769
|
+
return TinyHtml.trigger(this, events, payload);
|
|
4681
4770
|
}
|
|
4682
4771
|
|
|
4683
4772
|
///////////////////////////////////////////////////////////////
|
|
@@ -1171,6 +1171,13 @@ declare class TinyHtml {
|
|
|
1171
1171
|
* @returns {TinyHtmlElement}
|
|
1172
1172
|
*/
|
|
1173
1173
|
static blur(el: TinyHtmlElement): TinyHtmlElement;
|
|
1174
|
+
/**
|
|
1175
|
+
* Select the text content of an input or textarea element.
|
|
1176
|
+
*
|
|
1177
|
+
* @param {TinyHtml|HTMLInputElement|HTMLTextAreaElement} el - The element or a selector string.
|
|
1178
|
+
* @returns {TinyHtml|HTMLInputElement|HTMLTextAreaElement}
|
|
1179
|
+
*/
|
|
1180
|
+
static select(el: TinyHtml | HTMLInputElement | HTMLTextAreaElement): TinyHtml | HTMLInputElement | HTMLTextAreaElement;
|
|
1174
1181
|
/**
|
|
1175
1182
|
* Interprets a value as a boolean `true` if it matches a common truthy representation.
|
|
1176
1183
|
*
|
|
@@ -1710,40 +1717,40 @@ declare class TinyHtml {
|
|
|
1710
1717
|
* Registers an event listener on the specified element.
|
|
1711
1718
|
*
|
|
1712
1719
|
* @param {TinyEventTarget|TinyEventTarget[]} el - The target to listen on.
|
|
1713
|
-
* @param {string}
|
|
1720
|
+
* @param {string|string[]} events - The event type (e.g. 'click', 'keydown').
|
|
1714
1721
|
* @param {EventListenerOrEventListenerObject|null} handler - The callback function to run on event.
|
|
1715
1722
|
* @param {EventRegistryOptions} [options] - Optional event listener options.
|
|
1716
1723
|
* @returns {TinyEventTarget|TinyEventTarget[]}
|
|
1717
1724
|
*/
|
|
1718
|
-
static on(el: TinyEventTarget | TinyEventTarget[],
|
|
1725
|
+
static on(el: TinyEventTarget | TinyEventTarget[], events: string | string[], handler: EventListenerOrEventListenerObject | null, options?: EventRegistryOptions): TinyEventTarget | TinyEventTarget[];
|
|
1719
1726
|
/**
|
|
1720
1727
|
* Registers an event listener that runs only once, then is removed.
|
|
1721
1728
|
*
|
|
1722
1729
|
* @param {TinyEventTarget|TinyEventTarget[]} el - The target to listen on.
|
|
1723
|
-
* @param {string}
|
|
1730
|
+
* @param {string|string[]} events - The event type (e.g. 'click', 'keydown').
|
|
1724
1731
|
* @param {EventListenerOrEventListenerObject} handler - The callback function to run on event.
|
|
1725
1732
|
* @param {EventRegistryOptions} [options={}] - Optional event listener options.
|
|
1726
1733
|
* @returns {TinyEventTarget|TinyEventTarget[]}
|
|
1727
1734
|
*/
|
|
1728
|
-
static once(el: TinyEventTarget | TinyEventTarget[],
|
|
1735
|
+
static once(el: TinyEventTarget | TinyEventTarget[], events: string | string[], handler: EventListenerOrEventListenerObject, options?: EventRegistryOptions): TinyEventTarget | TinyEventTarget[];
|
|
1729
1736
|
/**
|
|
1730
1737
|
* Removes a specific event listener from an element.
|
|
1731
1738
|
*
|
|
1732
1739
|
* @param {TinyEventTarget|TinyEventTarget[]} el - The target element.
|
|
1733
|
-
* @param {string}
|
|
1740
|
+
* @param {string|string[]} events - The event type.
|
|
1734
1741
|
* @param {EventListenerOrEventListenerObject|null} handler - The function originally bound to the event.
|
|
1735
1742
|
* @param {boolean|EventListenerOptions} [options] - Optional listener options.
|
|
1736
1743
|
* @returns {TinyEventTarget|TinyEventTarget[]}
|
|
1737
1744
|
*/
|
|
1738
|
-
static off(el: TinyEventTarget | TinyEventTarget[],
|
|
1745
|
+
static off(el: TinyEventTarget | TinyEventTarget[], events: string | string[], handler: EventListenerOrEventListenerObject | null, options?: boolean | EventListenerOptions): TinyEventTarget | TinyEventTarget[];
|
|
1739
1746
|
/**
|
|
1740
1747
|
* Removes all event listeners of a specific type from the element.
|
|
1741
1748
|
*
|
|
1742
1749
|
* @param {TinyEventTarget|TinyEventTarget[]} el - The target element.
|
|
1743
|
-
* @param {string}
|
|
1750
|
+
* @param {string|string[]} events - The event type to remove (e.g. 'click').
|
|
1744
1751
|
* @returns {TinyEventTarget|TinyEventTarget[]}
|
|
1745
1752
|
*/
|
|
1746
|
-
static offAll(el: TinyEventTarget | TinyEventTarget[],
|
|
1753
|
+
static offAll(el: TinyEventTarget | TinyEventTarget[], events: string | string[]): TinyEventTarget | TinyEventTarget[];
|
|
1747
1754
|
/**
|
|
1748
1755
|
* Removes all event listeners of all types from the element.
|
|
1749
1756
|
*
|
|
@@ -1757,11 +1764,11 @@ declare class TinyHtml {
|
|
|
1757
1764
|
* Triggers all handlers associated with a specific event on the given element.
|
|
1758
1765
|
*
|
|
1759
1766
|
* @param {TinyEventTarget|TinyEventTarget[]} el - Target element where the event should be triggered.
|
|
1760
|
-
* @param {string}
|
|
1767
|
+
* @param {string|string[]} events - Name of the event to trigger.
|
|
1761
1768
|
* @param {Event|CustomEvent|CustomEventInit} [payload] - Optional event object or data to pass.
|
|
1762
1769
|
* @returns {TinyEventTarget|TinyEventTarget[]}
|
|
1763
1770
|
*/
|
|
1764
|
-
static trigger(el: TinyEventTarget | TinyEventTarget[],
|
|
1771
|
+
static trigger(el: TinyEventTarget | TinyEventTarget[], events: string | string[], payload?: Event | CustomEvent | CustomEventInit): TinyEventTarget | TinyEventTarget[];
|
|
1765
1772
|
/**
|
|
1766
1773
|
* Internal property name normalization map (similar to jQuery's `propFix`).
|
|
1767
1774
|
* Maps attribute-like names to their JavaScript DOM property equivalents.
|
|
@@ -2039,6 +2046,12 @@ declare class TinyHtml {
|
|
|
2039
2046
|
* @returns {TinyHtml} An array of TinyHtml instances wrapping the found elements.
|
|
2040
2047
|
*/
|
|
2041
2048
|
getElementsByTagNameNS(localName: string, namespaceURI?: string | null): TinyHtml;
|
|
2049
|
+
/**
|
|
2050
|
+
* Iterates over all elements, executing the provided callback on each.
|
|
2051
|
+
* @param {(element: TinyHtml, index: number, items: TinyHtml[]) => void} callback - Function invoked for each element.
|
|
2052
|
+
* @returns {TinyHtml} The current instance for chaining.
|
|
2053
|
+
*/
|
|
2054
|
+
forEach(callback: (element: TinyHtml, index: number, items: TinyHtml[]) => void): TinyHtml;
|
|
2042
2055
|
/**
|
|
2043
2056
|
* Returns the current target held by this instance.
|
|
2044
2057
|
*
|
|
@@ -2127,8 +2140,17 @@ declare class TinyHtml {
|
|
|
2127
2140
|
* @returns {boolean} `true` if both elements are the same DOM node; otherwise, `false`.
|
|
2128
2141
|
*/
|
|
2129
2142
|
isSameDom(elem: TinyNode): boolean;
|
|
2130
|
-
/**
|
|
2131
|
-
|
|
2143
|
+
/**
|
|
2144
|
+
* Replaces the internal data with a new object.
|
|
2145
|
+
* @param {ElementDataStore} value - Must be a non-null object.
|
|
2146
|
+
* @throws {Error} If the value is not a valid object.
|
|
2147
|
+
*/
|
|
2148
|
+
set _data(value: ElementDataStore);
|
|
2149
|
+
/**
|
|
2150
|
+
* Returns a shallow copy of the internal data.
|
|
2151
|
+
* @type {ElementDataStore}
|
|
2152
|
+
*/
|
|
2153
|
+
get _data(): ElementDataStore;
|
|
2132
2154
|
/**
|
|
2133
2155
|
* Retrieves data associated with a DOM element.
|
|
2134
2156
|
*
|
|
@@ -2402,6 +2424,11 @@ declare class TinyHtml {
|
|
|
2402
2424
|
* @returns {TinyHtmlElement}
|
|
2403
2425
|
*/
|
|
2404
2426
|
blur(): TinyHtmlElement;
|
|
2427
|
+
/**
|
|
2428
|
+
* Select the text content of an input or textarea element.
|
|
2429
|
+
* @returns {TinyHtml|HTMLInputElement|HTMLTextAreaElement}
|
|
2430
|
+
*/
|
|
2431
|
+
select(): TinyHtml | HTMLInputElement | HTMLTextAreaElement;
|
|
2405
2432
|
/**
|
|
2406
2433
|
* Gets the width or height of an element based on the box model.
|
|
2407
2434
|
* @param {"width"|"height"} type - Dimension type.
|
|
@@ -2733,37 +2760,37 @@ declare class TinyHtml {
|
|
|
2733
2760
|
/**
|
|
2734
2761
|
* Registers an event listener on the specified element.
|
|
2735
2762
|
*
|
|
2736
|
-
* @param {string}
|
|
2763
|
+
* @param {string|string[]} events - The event type (e.g. 'click', 'keydown').
|
|
2737
2764
|
* @param {EventListenerOrEventListenerObject|null} handler - The callback function to run on event.
|
|
2738
2765
|
* @param {EventRegistryOptions} [options] - Optional event listener options.
|
|
2739
2766
|
* @returns {TinyEventTarget|TinyEventTarget[]}
|
|
2740
2767
|
*/
|
|
2741
|
-
on(
|
|
2768
|
+
on(events: string | string[], handler: EventListenerOrEventListenerObject | null, options?: EventRegistryOptions): TinyEventTarget | TinyEventTarget[];
|
|
2742
2769
|
/**
|
|
2743
2770
|
* Registers an event listener that runs only once, then is removed.
|
|
2744
2771
|
*
|
|
2745
|
-
* @param {string}
|
|
2772
|
+
* @param {string|string[]} events - The event type (e.g. 'click', 'keydown').
|
|
2746
2773
|
* @param {EventListenerOrEventListenerObject} handler - The callback function to run on event.
|
|
2747
2774
|
* @param {EventRegistryOptions} [options={}] - Optional event listener options.
|
|
2748
2775
|
* @returns {TinyEventTarget|TinyEventTarget[]}
|
|
2749
2776
|
*/
|
|
2750
|
-
once(
|
|
2777
|
+
once(events: string | string[], handler: EventListenerOrEventListenerObject, options?: EventRegistryOptions): TinyEventTarget | TinyEventTarget[];
|
|
2751
2778
|
/**
|
|
2752
2779
|
* Removes a specific event listener from an element.
|
|
2753
2780
|
*
|
|
2754
|
-
* @param {string}
|
|
2781
|
+
* @param {string|string[]} events - The event type.
|
|
2755
2782
|
* @param {EventListenerOrEventListenerObject|null} handler - The function originally bound to the event.
|
|
2756
2783
|
* @param {boolean|EventListenerOptions} [options] - Optional listener options.
|
|
2757
2784
|
* @returns {TinyEventTarget|TinyEventTarget[]}
|
|
2758
2785
|
*/
|
|
2759
|
-
off(
|
|
2786
|
+
off(events: string | string[], handler: EventListenerOrEventListenerObject | null, options?: boolean | EventListenerOptions): TinyEventTarget | TinyEventTarget[];
|
|
2760
2787
|
/**
|
|
2761
2788
|
* Removes all event listeners of a specific type from the element.
|
|
2762
2789
|
*
|
|
2763
|
-
* @param {string}
|
|
2790
|
+
* @param {string|string[]} events - The event type to remove (e.g. 'click').
|
|
2764
2791
|
* @returns {TinyEventTarget|TinyEventTarget[]}
|
|
2765
2792
|
*/
|
|
2766
|
-
offAll(
|
|
2793
|
+
offAll(events: string | string[]): TinyEventTarget | TinyEventTarget[];
|
|
2767
2794
|
/**
|
|
2768
2795
|
* Removes all event listeners of all types from the element.
|
|
2769
2796
|
*
|
|
@@ -2775,11 +2802,11 @@ declare class TinyHtml {
|
|
|
2775
2802
|
/**
|
|
2776
2803
|
* Triggers all handlers associated with a specific event on the given element.
|
|
2777
2804
|
*
|
|
2778
|
-
* @param {string}
|
|
2805
|
+
* @param {string|string[]} events - Name of the event to trigger.
|
|
2779
2806
|
* @param {Event|CustomEvent|CustomEventInit} [payload] - Optional event object or data to pass.
|
|
2780
2807
|
* @returns {TinyEventTarget|TinyEventTarget[]}
|
|
2781
2808
|
*/
|
|
2782
|
-
trigger(
|
|
2809
|
+
trigger(events: string | string[], payload?: Event | CustomEvent | CustomEventInit): TinyEventTarget | TinyEventTarget[];
|
|
2783
2810
|
/**
|
|
2784
2811
|
* Get an attribute on an element.
|
|
2785
2812
|
* @param {string} name
|