@k37z3r/jbase 2.0.0 β†’ 2.0.2

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 (167) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +62 -46
  3. package/dist/browser.d.ts +5 -6
  4. package/dist/browser.d.ts.map +1 -1
  5. package/dist/core.d.ts +9 -14
  6. package/dist/core.d.ts.map +1 -1
  7. package/dist/index.cjs +547 -445
  8. package/dist/index.cjs.map +7 -0
  9. package/dist/index.d.ts +304 -603
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.mjs +545 -445
  12. package/dist/index.mjs.map +7 -0
  13. package/dist/jbase.browser.js +308 -274
  14. package/dist/jbase.browser.js.map +7 -0
  15. package/dist/jbase.min.js +3 -2
  16. package/dist/jbase.min.js.map +7 -0
  17. package/dist/modules/css/classes.d.ts +15 -29
  18. package/dist/modules/css/classes.d.ts.map +1 -1
  19. package/dist/modules/css/index.d.ts +5 -9
  20. package/dist/modules/css/index.d.ts.map +1 -1
  21. package/dist/modules/css/styles.d.ts +7 -13
  22. package/dist/modules/css/styles.d.ts.map +1 -1
  23. package/dist/modules/data/arrays.d.ts +96 -64
  24. package/dist/modules/data/arrays.d.ts.map +1 -1
  25. package/dist/modules/data/index.d.ts +5 -9
  26. package/dist/modules/data/index.d.ts.map +1 -1
  27. package/dist/modules/data/objects.d.ts +86 -54
  28. package/dist/modules/data/objects.d.ts.map +1 -1
  29. package/dist/modules/data/types.d.ts +3 -22
  30. package/dist/modules/data/types.d.ts.map +1 -1
  31. package/dist/modules/dom/attributes.d.ts +10 -19
  32. package/dist/modules/dom/attributes.d.ts.map +1 -1
  33. package/dist/modules/dom/content.d.ts +9 -17
  34. package/dist/modules/dom/content.d.ts.map +1 -1
  35. package/dist/modules/dom/index.d.ts +8 -15
  36. package/dist/modules/dom/index.d.ts.map +1 -1
  37. package/dist/modules/dom/manipulation.d.ts +41 -81
  38. package/dist/modules/dom/manipulation.d.ts.map +1 -1
  39. package/dist/modules/dom/states.d.ts +12 -23
  40. package/dist/modules/dom/states.d.ts.map +1 -1
  41. package/dist/modules/dom/traversal.d.ts +64 -127
  42. package/dist/modules/dom/traversal.d.ts.map +1 -1
  43. package/dist/modules/effects/fade.d.ts +13 -31
  44. package/dist/modules/effects/fade.d.ts.map +1 -1
  45. package/dist/modules/effects/index.d.ts +15 -23
  46. package/dist/modules/effects/index.d.ts.map +1 -1
  47. package/dist/modules/effects/slide.d.ts +13 -31
  48. package/dist/modules/effects/slide.d.ts.map +1 -1
  49. package/dist/modules/effects/types.d.ts +33 -0
  50. package/dist/modules/effects/types.d.ts.map +1 -0
  51. package/dist/modules/effects/vertical.d.ts +13 -31
  52. package/dist/modules/effects/vertical.d.ts.map +1 -1
  53. package/dist/modules/events/binding.d.ts +11 -21
  54. package/dist/modules/events/binding.d.ts.map +1 -1
  55. package/dist/modules/events/form.d.ts +18 -35
  56. package/dist/modules/events/form.d.ts.map +1 -1
  57. package/dist/modules/events/index.d.ts +9 -17
  58. package/dist/modules/events/index.d.ts.map +1 -1
  59. package/dist/modules/events/keyboard.d.ts +16 -31
  60. package/dist/modules/events/keyboard.d.ts.map +1 -1
  61. package/dist/modules/events/lifecycle.d.ts +6 -11
  62. package/dist/modules/events/lifecycle.d.ts.map +1 -1
  63. package/dist/modules/events/mouse.d.ts +30 -59
  64. package/dist/modules/events/mouse.d.ts.map +1 -1
  65. package/dist/modules/events/touch.d.ts +15 -29
  66. package/dist/modules/events/touch.d.ts.map +1 -1
  67. package/dist/modules/http/get.d.ts +13 -24
  68. package/dist/modules/http/get.d.ts.map +1 -1
  69. package/dist/modules/http/index.d.ts +9 -13
  70. package/dist/modules/http/index.d.ts.map +1 -1
  71. package/dist/modules/http/post.d.ts +9 -17
  72. package/dist/modules/http/post.d.ts.map +1 -1
  73. package/dist/server.d.ts +15 -0
  74. package/dist/server.d.ts.map +1 -0
  75. package/dist/server.js +2223 -0
  76. package/dist/server.js.map +7 -0
  77. package/dist/types.d.ts +11 -21
  78. package/dist/types.d.ts.map +1 -1
  79. package/dist/utils.d.ts +20 -23
  80. package/dist/utils.d.ts.map +1 -1
  81. package/package.json +15 -5
  82. package/wiki/CSS-Classes-&-Styles.md +128 -0
  83. package/wiki/DATA-Utilities-(Arrays).md +332 -0
  84. package/wiki/DATA-Utilities-(Objects).md +263 -0
  85. package/wiki/DOM-Attributes.md +56 -0
  86. package/wiki/DOM-Content.md +48 -0
  87. package/wiki/DOM-Manipulation.md +272 -0
  88. package/wiki/DOM-States.md +73 -0
  89. package/wiki/DOM-Traversal.md +529 -0
  90. package/wiki/EFFECTS-Fade.md +76 -0
  91. package/wiki/EFFECTS-Slide-(horizontal).md +70 -0
  92. package/wiki/EFFECTS-Slide-(vertical).md +75 -0
  93. package/wiki/EVENTS-Bindings.md +55 -0
  94. package/wiki/EVENTS-Form.md +122 -0
  95. package/wiki/EVENTS-Keyboard.md +98 -0
  96. package/wiki/EVENTS-Lifecycle.md +25 -0
  97. package/wiki/EVENTS-Mouse.md +218 -0
  98. package/wiki/EVENTS-Touch.md +98 -0
  99. package/wiki/HTTP-Requests.md +93 -0
  100. package/wiki/Home.md +118 -0
  101. package/wiki/Installation.md +44 -0
  102. package/wiki/Quick-Start.md +139 -0
  103. package/dist/browser.js +0 -29
  104. package/dist/browser.js.map +0 -1
  105. package/dist/core.js +0 -78
  106. package/dist/core.js.map +0 -1
  107. package/dist/index.js +0 -100
  108. package/dist/index.js.map +0 -1
  109. package/dist/jbase.js +0 -1898
  110. package/dist/modules/css/classes.js +0 -88
  111. package/dist/modules/css/classes.js.map +0 -1
  112. package/dist/modules/css/index.js +0 -33
  113. package/dist/modules/css/index.js.map +0 -1
  114. package/dist/modules/css/styles.js +0 -49
  115. package/dist/modules/css/styles.js.map +0 -1
  116. package/dist/modules/data/arrays.js +0 -177
  117. package/dist/modules/data/arrays.js.map +0 -1
  118. package/dist/modules/data/index.js +0 -33
  119. package/dist/modules/data/index.js.map +0 -1
  120. package/dist/modules/data/objects.js +0 -168
  121. package/dist/modules/data/objects.js.map +0 -1
  122. package/dist/modules/data/types.js +0 -43
  123. package/dist/modules/data/types.js.map +0 -1
  124. package/dist/modules/dom/attributes.js +0 -69
  125. package/dist/modules/dom/attributes.js.map +0 -1
  126. package/dist/modules/dom/content.js +0 -63
  127. package/dist/modules/dom/content.js.map +0 -1
  128. package/dist/modules/dom/index.js +0 -48
  129. package/dist/modules/dom/index.js.map +0 -1
  130. package/dist/modules/dom/manipulation.js +0 -343
  131. package/dist/modules/dom/manipulation.js.map +0 -1
  132. package/dist/modules/dom/states.js +0 -89
  133. package/dist/modules/dom/states.js.map +0 -1
  134. package/dist/modules/dom/traversal.js +0 -527
  135. package/dist/modules/dom/traversal.js.map +0 -1
  136. package/dist/modules/effects/fade.js +0 -104
  137. package/dist/modules/effects/fade.js.map +0 -1
  138. package/dist/modules/effects/index.js +0 -38
  139. package/dist/modules/effects/index.js.map +0 -1
  140. package/dist/modules/effects/slide.js +0 -103
  141. package/dist/modules/effects/slide.js.map +0 -1
  142. package/dist/modules/effects/vertical.js +0 -118
  143. package/dist/modules/effects/vertical.js.map +0 -1
  144. package/dist/modules/events/binding.js +0 -60
  145. package/dist/modules/events/binding.js.map +0 -1
  146. package/dist/modules/events/form.js +0 -106
  147. package/dist/modules/events/form.js.map +0 -1
  148. package/dist/modules/events/index.js +0 -53
  149. package/dist/modules/events/index.js.map +0 -1
  150. package/dist/modules/events/keyboard.js +0 -83
  151. package/dist/modules/events/keyboard.js.map +0 -1
  152. package/dist/modules/events/lifecycle.js +0 -40
  153. package/dist/modules/events/lifecycle.js.map +0 -1
  154. package/dist/modules/events/mouse.js +0 -172
  155. package/dist/modules/events/mouse.js.map +0 -1
  156. package/dist/modules/events/touch.js +0 -74
  157. package/dist/modules/events/touch.js.map +0 -1
  158. package/dist/modules/http/get.js +0 -65
  159. package/dist/modules/http/get.js.map +0 -1
  160. package/dist/modules/http/index.js +0 -42
  161. package/dist/modules/http/index.js.map +0 -1
  162. package/dist/modules/http/post.js +0 -54
  163. package/dist/modules/http/post.js.map +0 -1
  164. package/dist/types.js +0 -15
  165. package/dist/types.js.map +0 -1
  166. package/dist/utils.js +0 -71
  167. package/dist/utils.js.map +0 -1
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @k37z3r/jbase - A modern micro-framework for the web: jBase offers the familiar syntax of classic DOM libraries, but without their baggage. Fully typed, modular, and optimized for modern browser engines.
3
- * @version 2.0.0
3
+ * @version 2.0.2
4
4
  * @homepage https://github.com/k37z3r/jBase-2.0
5
5
  * @author Sven Minio (https://github.com/k37z3r/jBase-2.0)
6
6
  * @license GPL-3.0-or-later
@@ -15,15 +15,21 @@ var __export = (target, all) => {
15
15
  // src/core.ts
16
16
  var jBase = class extends Array {
17
17
  selectorSource = "";
18
+ doc;
18
19
  /**
19
- * * πŸ‡¬πŸ‡§: Initializes a new jBase instance. Analyzes the provided selector and populates the internal array with found or created DOM elements.
20
- * * πŸ‡©πŸ‡ͺ: Initialisiert eine neue jBase-Instanz. Analysiert den ΓΌbergebenen Selektor und fΓΌllt das interne Array mit den gefundenen oder erstellten DOM-Elementen.
20
+ * * Initializes a new jBase instance. Analyzes the provided selector and populates the internal array with found or created DOM elements.
21
21
  * @param selector
22
- * * πŸ‡¬πŸ‡§: The input selector (CSS selector, HTML string, DOM element, or collection).
23
- * * πŸ‡©πŸ‡ͺ: Der Eingabe-Selektor (CSS-Selektor, HTML-String, DOM-Element oder Sammlung).
22
+ * * The input selector (CSS selector, HTML string, DOM element, or collection).
24
23
  */
25
- constructor(selector) {
24
+ constructor(selector, context) {
26
25
  super();
26
+ if (context instanceof Document) {
27
+ this.doc = context;
28
+ } else if (context && context.document) {
29
+ this.doc = context.document;
30
+ } else {
31
+ this.doc = typeof document !== "undefined" ? document : null;
32
+ }
27
33
  if (typeof document === "undefined") {
28
34
  return;
29
35
  }
@@ -42,19 +48,31 @@ var jBase = class extends Array {
42
48
  const el = document.getElementById(trimmed.slice(1));
43
49
  if (el)
44
50
  this.push(el);
51
+ } else if (trimmed.startsWith(".") && !trimmed.includes(" ") && !/[:\[#]/.test(trimmed)) {
52
+ const els = document.getElementsByClassName(trimmed.slice(1));
53
+ for (let i = 0; i < els.length; i++) {
54
+ this.push(els[i]);
55
+ }
56
+ } else if (/^[a-zA-Z0-9]+$/.test(trimmed)) {
57
+ const els = document.getElementsByTagName(trimmed);
58
+ for (let i = 0; i < els.length; i++) {
59
+ this.push(els[i]);
60
+ }
45
61
  } else {
46
- this.push(...Array.from(document.querySelectorAll(selector)));
62
+ try {
63
+ this.push(...Array.from(document.querySelectorAll(selector)));
64
+ } catch (e) {
65
+ console.warn(`jBase: Invalid selector "${selector}"`, e);
66
+ }
47
67
  }
48
68
  } else if (selector instanceof NodeList || Array.isArray(selector)) {
49
69
  this.push(...Array.from(selector));
50
70
  }
51
71
  }
52
72
  /**
53
- * * πŸ‡¬πŸ‡§: Custom serializer for JSON.stringify. Prevents circular references and huge outputs by returning a simplified preview.
54
- * * πŸ‡©πŸ‡ͺ: Benutzerdefinierte Serialisierung fΓΌr JSON.stringify. Verhindert ZirkelbezΓΌge und riesige Ausgaben durch RΓΌckgabe einer vereinfachten Vorschau.
73
+ * * Custom serializer for JSON.stringify. Prevents circular references and huge outputs by returning a simplified preview.
55
74
  * @returns
56
- * * πŸ‡¬πŸ‡§: A simplified object representation for debugging.
57
- * * πŸ‡©πŸ‡ͺ: Eine vereinfachte ObjektreprΓ€sentation fΓΌr das Debugging.
75
+ * * A simplified object representation for debugging.
58
76
  */
59
77
  toJSON() {
60
78
  return {
@@ -111,7 +129,13 @@ function css(property, value) {
111
129
  if (value === void 0) {
112
130
  const el = this[0];
113
131
  if (el instanceof HTMLElement || el instanceof SVGElement) {
114
- return window.getComputedStyle(el)[property];
132
+ const doc = el.ownerDocument;
133
+ const win = doc ? doc.defaultView : null;
134
+ if (win) {
135
+ return win.getComputedStyle(el)[property];
136
+ } else {
137
+ return el.style[property] || "";
138
+ }
115
139
  }
116
140
  return "";
117
141
  }
@@ -215,7 +239,8 @@ __export(lifecycle_exports, {
215
239
  ready: () => ready
216
240
  });
217
241
  function ready(handler) {
218
- if (document.readyState === "complete" || document.readyState === "interactive") {
242
+ const doc = window.document;
243
+ if (doc.readyState === "complete" || doc.readyState === "interactive") {
219
244
  handler();
220
245
  } else {
221
246
  this.on("DOMContentLoaded", handler);
@@ -398,16 +423,22 @@ __export(manipulation_exports, {
398
423
  unwrap: () => unwrap,
399
424
  wrap: () => wrap
400
425
  });
401
- function parseHTML(html2) {
402
- const tmp = document.createElement("div");
426
+ function parseHTML(html2, doc) {
427
+ const tmp = doc.createElement("div");
403
428
  tmp.innerHTML = html2.trim();
404
429
  return tmp.firstElementChild;
405
430
  }
406
- function normalizeToFragment(content) {
407
- const fragment = document.createDocumentFragment();
431
+ function getDoc(collection) {
432
+ if (collection.length > 0 && collection[0] instanceof Element) {
433
+ return collection[0].ownerDocument;
434
+ }
435
+ return typeof document !== "undefined" ? document : null;
436
+ }
437
+ function normalizeToFragment(content, doc) {
438
+ const fragment = doc.createDocumentFragment();
408
439
  const add2 = (item) => {
409
440
  if (typeof item === "string") {
410
- const temp = document.createElement("div");
441
+ const temp = doc.createElement("div");
411
442
  temp.innerHTML = item.trim();
412
443
  while (temp.firstChild) {
413
444
  fragment.appendChild(temp.firstChild);
@@ -445,7 +476,18 @@ function replaceWithClone() {
445
476
  return new this.constructor(newElements);
446
477
  }
447
478
  function append(content) {
448
- const fragment = normalizeToFragment(content);
479
+ if (typeof content === "string") {
480
+ this.forEach((el) => {
481
+ if (el instanceof Element) {
482
+ el.insertAdjacentHTML("beforeend", content);
483
+ }
484
+ });
485
+ return this;
486
+ }
487
+ const doc = getDoc(this);
488
+ if (!doc)
489
+ return this;
490
+ const fragment = normalizeToFragment(content, doc);
449
491
  this.forEach((el, i) => {
450
492
  if (el instanceof Element) {
451
493
  const contentToInsert = i < this.length - 1 ? fragment.cloneNode(true) : fragment;
@@ -455,7 +497,18 @@ function append(content) {
455
497
  return this;
456
498
  }
457
499
  function prepend(content) {
458
- const fragment = normalizeToFragment(content);
500
+ if (typeof content === "string") {
501
+ this.forEach((el) => {
502
+ if (el instanceof Element) {
503
+ el.insertAdjacentHTML("afterbegin", content);
504
+ }
505
+ });
506
+ return this;
507
+ }
508
+ const doc = getDoc(this);
509
+ if (!doc)
510
+ return this;
511
+ const fragment = normalizeToFragment(content, doc);
459
512
  this.forEach((el, i) => {
460
513
  if (el instanceof Element) {
461
514
  const contentToInsert = i < this.length - 1 ? fragment.cloneNode(true) : fragment;
@@ -465,7 +518,18 @@ function prepend(content) {
465
518
  return this;
466
519
  }
467
520
  function before(content) {
468
- const fragment = normalizeToFragment(content);
521
+ if (typeof content === "string") {
522
+ this.forEach((el) => {
523
+ if (el instanceof Element) {
524
+ el.insertAdjacentHTML("beforebegin", content);
525
+ }
526
+ });
527
+ return this;
528
+ }
529
+ const doc = getDoc(this);
530
+ if (!doc)
531
+ return this;
532
+ const fragment = normalizeToFragment(content, doc);
469
533
  this.forEach((el, i) => {
470
534
  if (el instanceof Element) {
471
535
  const contentToInsert = i < this.length - 1 ? fragment.cloneNode(true) : fragment;
@@ -475,7 +539,18 @@ function before(content) {
475
539
  return this;
476
540
  }
477
541
  function after(content) {
478
- const fragment = normalizeToFragment(content);
542
+ if (typeof content === "string") {
543
+ this.forEach((el) => {
544
+ if (el instanceof Element) {
545
+ el.insertAdjacentHTML("afterend", content);
546
+ }
547
+ });
548
+ return this;
549
+ }
550
+ const doc = getDoc(this);
551
+ if (!doc)
552
+ return this;
553
+ const fragment = normalizeToFragment(content, doc);
479
554
  this.forEach((el, i) => {
480
555
  if (el instanceof Element) {
481
556
  const contentToInsert = i < this.length - 1 ? fragment.cloneNode(true) : fragment;
@@ -485,7 +560,10 @@ function after(content) {
485
560
  return this;
486
561
  }
487
562
  function replaceWith(content) {
488
- const fragment = normalizeToFragment(content);
563
+ const doc = getDoc(this);
564
+ if (!doc)
565
+ return this;
566
+ const fragment = normalizeToFragment(content, doc);
489
567
  this.forEach((el, i) => {
490
568
  if (el instanceof Element) {
491
569
  const contentToInsert = i < this.length - 1 ? fragment.cloneNode(true) : fragment;
@@ -495,9 +573,12 @@ function replaceWith(content) {
495
573
  return this;
496
574
  }
497
575
  function appendTo(target) {
498
- const parent2 = typeof target === "string" ? document.querySelector(target) : target;
576
+ const doc = getDoc(this);
577
+ if (!doc)
578
+ return this;
579
+ const parent2 = typeof target === "string" ? doc.querySelector(target) : target;
499
580
  if (parent2 instanceof Element) {
500
- const fragment = document.createDocumentFragment();
581
+ const fragment = doc.createDocumentFragment();
501
582
  this.forEach((el) => {
502
583
  if (el instanceof Node) fragment.appendChild(el);
503
584
  });
@@ -506,9 +587,12 @@ function appendTo(target) {
506
587
  return this;
507
588
  }
508
589
  function prependTo(target) {
509
- const parent2 = typeof target === "string" ? document.querySelector(target) : target;
590
+ const doc = getDoc(this);
591
+ if (!doc)
592
+ return this;
593
+ const parent2 = typeof target === "string" ? doc.querySelector(target) : target;
510
594
  if (parent2 instanceof Element) {
511
- const fragment = document.createDocumentFragment();
595
+ const fragment = doc.createDocumentFragment();
512
596
  this.forEach((el) => {
513
597
  if (el instanceof Node) fragment.appendChild(el);
514
598
  });
@@ -517,9 +601,12 @@ function prependTo(target) {
517
601
  return this;
518
602
  }
519
603
  function insertBefore(target) {
520
- const targetEl = typeof target === "string" ? document.querySelector(target) : target;
604
+ const doc = getDoc(this);
605
+ if (!doc)
606
+ return this;
607
+ const targetEl = typeof target === "string" ? doc.querySelector(target) : target;
521
608
  if (targetEl instanceof Element) {
522
- const fragment = document.createDocumentFragment();
609
+ const fragment = doc.createDocumentFragment();
523
610
  this.forEach((el) => {
524
611
  if (el instanceof Node) fragment.appendChild(el);
525
612
  });
@@ -528,9 +615,12 @@ function insertBefore(target) {
528
615
  return this;
529
616
  }
530
617
  function insertAfter(target) {
531
- const targetEl = typeof target === "string" ? document.querySelector(target) : target;
618
+ const doc = getDoc(this);
619
+ if (!doc)
620
+ return this;
621
+ const targetEl = typeof target === "string" ? doc.querySelector(target) : target;
532
622
  if (targetEl instanceof Element) {
533
- const fragment = document.createDocumentFragment();
623
+ const fragment = doc.createDocumentFragment();
534
624
  this.forEach((el) => {
535
625
  if (el instanceof Node) fragment.appendChild(el);
536
626
  });
@@ -539,9 +629,12 @@ function insertAfter(target) {
539
629
  return this;
540
630
  }
541
631
  function wrap(wrapperHtml) {
632
+ const doc = getDoc(this);
633
+ if (!doc)
634
+ return this;
542
635
  this.forEach((el) => {
543
636
  if (el instanceof Element) {
544
- const wrapper = parseHTML(wrapperHtml);
637
+ const wrapper = parseHTML(wrapperHtml, doc);
545
638
  if (el.parentNode) {
546
639
  el.parentNode.insertBefore(wrapper, el);
547
640
  }
@@ -551,16 +644,22 @@ function wrap(wrapperHtml) {
551
644
  return this;
552
645
  }
553
646
  function unwrap() {
647
+ const doc = getDoc(this);
648
+ if (!doc)
649
+ return this;
650
+ const parents2 = /* @__PURE__ */ new Set();
554
651
  this.forEach((el) => {
555
652
  if (el instanceof Element && el.parentElement) {
556
- const parent2 = el.parentElement;
557
- const fragment = document.createDocumentFragment();
558
- while (parent2.firstChild) {
559
- fragment.appendChild(parent2.firstChild);
560
- }
561
- parent2.replaceWith(fragment);
653
+ parents2.add(el.parentElement);
562
654
  }
563
655
  });
656
+ parents2.forEach((parent2) => {
657
+ const fragment = doc.createDocumentFragment();
658
+ while (parent2.firstChild) {
659
+ fragment.appendChild(parent2.firstChild);
660
+ }
661
+ parent2.replaceWith(fragment);
662
+ });
564
663
  return this;
565
664
  }
566
665
 
@@ -923,7 +1022,34 @@ __export(slide_exports, {
923
1022
  slideOut: () => slideOut,
924
1023
  slideToggle: () => slideToggle
925
1024
  });
1025
+
1026
+ // src/utils.ts
1027
+ function throttle(func, limit) {
1028
+ let inThrottle;
1029
+ return function(...args) {
1030
+ const context = this;
1031
+ if (!inThrottle) {
1032
+ func.apply(context, args);
1033
+ inThrottle = true;
1034
+ setTimeout(() => inThrottle = false, limit);
1035
+ }
1036
+ };
1037
+ }
1038
+ function debounce(func, delay) {
1039
+ let timer;
1040
+ return function(...args) {
1041
+ clearTimeout(timer);
1042
+ timer = setTimeout(() => func.apply(this, args), delay);
1043
+ };
1044
+ }
1045
+ function isBrowser() {
1046
+ return typeof window !== "undefined" && typeof window.requestAnimationFrame !== "undefined";
1047
+ }
1048
+
1049
+ // src/modules/effects/slide.ts
926
1050
  function slideIn(options = {}) {
1051
+ if (!isBrowser())
1052
+ return this;
927
1053
  const { duration = 300 } = options;
928
1054
  this.forEach((el) => {
929
1055
  if (el instanceof HTMLElement) {
@@ -938,6 +1064,8 @@ function slideIn(options = {}) {
938
1064
  return this;
939
1065
  }
940
1066
  function slideOut(options = {}) {
1067
+ if (!isBrowser())
1068
+ return this;
941
1069
  const { direction = "left", duration = 300 } = options;
942
1070
  const translateValue = direction === "left" ? "-100%" : "100%";
943
1071
  this.forEach((el) => {
@@ -953,11 +1081,13 @@ function slideOut(options = {}) {
953
1081
  return this;
954
1082
  }
955
1083
  function slideToggle(options = {}) {
1084
+ if (!isBrowser())
1085
+ return this;
956
1086
  this.forEach((el) => {
957
1087
  if (el instanceof HTMLElement) {
958
1088
  const state = el.getAttribute("data-slide-state");
959
1089
  const currentTransform = el.style.transform;
960
- if (state === "open" || currentTransform === "translateX(0%)" || window.getComputedStyle(el).display !== "none") {
1090
+ if (state === "open" || currentTransform === "translateX(0%)") {
961
1091
  const wrapper = new this.constructor(el);
962
1092
  wrapper.slideOut(options);
963
1093
  } else {
@@ -977,17 +1107,20 @@ __export(vertical_exports, {
977
1107
  slideUp: () => slideUp
978
1108
  });
979
1109
  function slideDown(options = {}) {
1110
+ if (!isBrowser())
1111
+ return this;
980
1112
  const { duration = 300, displayType = "block" } = options;
981
1113
  this.forEach((el) => {
982
1114
  if (el instanceof HTMLElement) {
983
- if (window.getComputedStyle(el).display !== "none") return;
1115
+ if (window.getComputedStyle(el).display !== "none")
1116
+ return;
984
1117
  el.style.display = displayType;
985
1118
  const height = el.scrollHeight;
986
1119
  el.style.height = "0px";
987
1120
  el.style.overflow = "hidden";
988
1121
  el.style.transition = `height ${duration}ms ease-in-out`;
989
1122
  void el.offsetHeight;
990
- el.style.height = height + "px";
1123
+ el.style.height = `${height}px`;
991
1124
  setTimeout(() => {
992
1125
  el.style.height = "auto";
993
1126
  el.style.overflow = "visible";
@@ -998,10 +1131,12 @@ function slideDown(options = {}) {
998
1131
  return this;
999
1132
  }
1000
1133
  function slideUp(options = {}) {
1134
+ if (!isBrowser())
1135
+ return this;
1001
1136
  const { duration = 300 } = options;
1002
1137
  this.forEach((el) => {
1003
1138
  if (el instanceof HTMLElement) {
1004
- el.style.height = el.scrollHeight + "px";
1139
+ el.style.height = `${el.scrollHeight}px`;
1005
1140
  el.style.overflow = "hidden";
1006
1141
  el.style.transition = `height ${duration}ms ease-in-out`;
1007
1142
  void el.offsetHeight;
@@ -1017,6 +1152,8 @@ function slideUp(options = {}) {
1017
1152
  return this;
1018
1153
  }
1019
1154
  function slideToggleBox(options = {}) {
1155
+ if (!isBrowser())
1156
+ return this;
1020
1157
  this.forEach((el) => {
1021
1158
  if (el instanceof HTMLElement) {
1022
1159
  const display = window.getComputedStyle(el).display;
@@ -1039,6 +1176,8 @@ __export(fade_exports, {
1039
1176
  fadeToggle: () => fadeToggle
1040
1177
  });
1041
1178
  function fadeIn(options = {}) {
1179
+ if (!isBrowser())
1180
+ return this;
1042
1181
  const { duration = 300, displayType = "block" } = options;
1043
1182
  this.forEach((el) => {
1044
1183
  if (el instanceof HTMLElement) {
@@ -1057,6 +1196,8 @@ function fadeIn(options = {}) {
1057
1196
  return this;
1058
1197
  }
1059
1198
  function fadeOut(options = {}) {
1199
+ if (!isBrowser())
1200
+ return this;
1060
1201
  const { duration = 300 } = options;
1061
1202
  this.forEach((el) => {
1062
1203
  if (el instanceof HTMLElement) {
@@ -1075,6 +1216,8 @@ function fadeOut(options = {}) {
1075
1216
  return this;
1076
1217
  }
1077
1218
  function fadeToggle(options = {}) {
1219
+ if (!isBrowser())
1220
+ return this;
1078
1221
  this.forEach((el) => {
1079
1222
  if (el instanceof HTMLElement) {
1080
1223
  const display = window.getComputedStyle(el).display;
@@ -1096,26 +1239,6 @@ var effectMethods = {
1096
1239
  ...fade_exports
1097
1240
  };
1098
1241
 
1099
- // src/utils.ts
1100
- function throttle(func, limit) {
1101
- let inThrottle;
1102
- return function(...args) {
1103
- const context = this;
1104
- if (!inThrottle) {
1105
- func.apply(context, args);
1106
- inThrottle = true;
1107
- setTimeout(() => inThrottle = false, limit);
1108
- }
1109
- };
1110
- }
1111
- function debounce(func, delay) {
1112
- let timer;
1113
- return function(...args) {
1114
- clearTimeout(timer);
1115
- timer = setTimeout(() => func.apply(this, args), delay);
1116
- };
1117
- }
1118
-
1119
1242
  // src/modules/http/get.ts
1120
1243
  var get_exports = {};
1121
1244
  __export(get_exports, {
@@ -1129,14 +1252,16 @@ async function get(url) {
1129
1252
  if (!response.ok) {
1130
1253
  throw new Error(`HTTP Error: ${response.status}`);
1131
1254
  }
1132
- return await response.json();
1255
+ const text2 = await response.text();
1256
+ return text2 ? JSON.parse(text2) : {};
1133
1257
  }
1134
1258
  async function getText(url) {
1135
1259
  const response = await fetch(url);
1136
1260
  if (!response.ok) {
1137
1261
  throw new Error(`HTTP Error: ${response.status}`);
1138
1262
  }
1139
- return await response.text();
1263
+ const text2 = await response.text();
1264
+ return text2 ? JSON.parse(text2) : {};
1140
1265
  }
1141
1266
 
1142
1267
  // src/modules/http/post.ts
@@ -1151,13 +1276,14 @@ async function post(url, body = {}) {
1151
1276
  body: JSON.stringify(body)
1152
1277
  });
1153
1278
  if (response.status === 204) {
1154
- const text2 = await response.text();
1155
- return text2 ? JSON.parse(text2) : {};
1279
+ const text3 = await response.text();
1280
+ return text3 ? JSON.parse(text3) : {};
1156
1281
  }
1157
1282
  if (!response.ok) {
1158
1283
  throw new Error(`HTTP Error: ${response.status}`);
1159
1284
  }
1160
- return await response.json();
1285
+ const text2 = await response.text();
1286
+ return text2 ? JSON.parse(text2) : {};
1161
1287
  }
1162
1288
 
1163
1289
  // src/modules/http/index.ts
@@ -1175,26 +1301,6 @@ __export(arrays_exports, {
1175
1301
  mergeArray: () => mergeArray,
1176
1302
  remove: () => remove2
1177
1303
  });
1178
-
1179
- // src/modules/data/types.ts
1180
- function checkMatch(value, query, mode) {
1181
- const valStr = String(value).toLowerCase();
1182
- const queryStr = String(query).toLowerCase();
1183
- switch (mode) {
1184
- case "exact":
1185
- return valStr === queryStr;
1186
- case "startsWith":
1187
- return valStr.startsWith(queryStr);
1188
- case "endsWith":
1189
- return valStr.endsWith(queryStr);
1190
- case "contains":
1191
- return valStr.includes(queryStr);
1192
- default:
1193
- return false;
1194
- }
1195
- }
1196
-
1197
- // src/modules/data/arrays.ts
1198
1304
  function chunk(array, size) {
1199
1305
  const chunks = [];
1200
1306
  for (let i = 0; i < array.length; i += size) {
@@ -1213,14 +1319,11 @@ function add(array, item, index = array.length) {
1213
1319
  }
1214
1320
  var remove2 = {
1215
1321
  /**
1216
- * * πŸ‡¬πŸ‡§: Removes an element at a specific index.
1217
- * * πŸ‡©πŸ‡ͺ: Entfernt ein Element an einem spezifischen Index.
1322
+ * * Removes an element at a specific index.
1218
1323
  * @param array
1219
- * * πŸ‡¬πŸ‡§: The array.
1220
- * * πŸ‡©πŸ‡ͺ: Das Array.
1324
+ * * The array.
1221
1325
  * @param index
1222
- * * πŸ‡¬πŸ‡§: The index (negative values allowed).
1223
- * * πŸ‡©πŸ‡ͺ: Der Index (negativ mΓΆglich).
1326
+ * * The index (negative values allowed).
1224
1327
  */
1225
1328
  at(array, index) {
1226
1329
  const copy = [...array];
@@ -1231,176 +1334,215 @@ var remove2 = {
1231
1334
  return copy;
1232
1335
  },
1233
1336
  /**
1234
- * * πŸ‡¬πŸ‡§: Removes the first element.
1235
- * * πŸ‡©πŸ‡ͺ: Entfernt das erste Element.
1337
+ * * Removes the first element.
1236
1338
  * @param array
1237
- * * πŸ‡¬πŸ‡§: The array.
1238
- * * πŸ‡©πŸ‡ͺ: Das Array.
1339
+ * * The array.
1239
1340
  */
1240
1341
  first(array) {
1241
1342
  return array.slice(1);
1242
1343
  },
1243
1344
  /**
1244
- * * πŸ‡¬πŸ‡§: Removes the last element.
1245
- * * πŸ‡©πŸ‡ͺ: Entfernt das letzte Element.
1345
+ * * Removes the last element.
1246
1346
  * @param array
1247
- * * πŸ‡¬πŸ‡§: The array.
1248
- * * πŸ‡©πŸ‡ͺ: Das Array.
1347
+ * * The array.
1249
1348
  */
1250
1349
  last(array) {
1251
1350
  return array.slice(0, -1);
1252
1351
  },
1253
1352
  /**
1254
- * * πŸ‡¬πŸ‡§: Removes all elements matching a query condition.
1255
- * * πŸ‡©πŸ‡ͺ: Entfernt alle Elemente, die einer Suchbedingung entsprechen.
1353
+ * * Removes all elements matching a query condition.
1256
1354
  * @example
1257
1355
  * remove.byMatch(users, 'Admin', 'exact', 'role')
1258
1356
  * @param array
1259
- * * πŸ‡¬πŸ‡§: The array.
1260
- * * πŸ‡©πŸ‡ͺ: Das Array.
1357
+ * * The array.
1261
1358
  * @param query
1262
- * * πŸ‡¬πŸ‡§: The search query.
1263
- * * πŸ‡©πŸ‡ͺ: Der Suchbegriff.
1359
+ * * The search query.
1264
1360
  * @param mode
1265
- * * πŸ‡¬πŸ‡§: The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1266
- * * πŸ‡©πŸ‡ͺ: Der Vergleichsmodus ('exact', 'contains', 'startsWith', 'endsWith').
1361
+ * * The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1267
1362
  * @param key
1268
- * * πŸ‡¬πŸ‡§: (Optional) The object key if it is an array of objects.
1269
- * * πŸ‡©πŸ‡ͺ: (Optional) Der ObjektschlΓΌssel, falls es ein Array von Objekten ist.
1363
+ * * (Optional) The object key if it is an array of objects.
1270
1364
  */
1271
1365
  byMatch(array, query, mode = "exact", key) {
1366
+ const queryStr = String(query).toLowerCase();
1272
1367
  return array.filter((item) => {
1273
1368
  const val2 = key ? item[key] : item;
1274
- return !checkMatch(val2, query, mode);
1369
+ const valStr = String(val2).toLowerCase();
1370
+ switch (mode) {
1371
+ case "exact":
1372
+ return valStr === queryStr;
1373
+ case "startsWith":
1374
+ return valStr.startsWith(queryStr);
1375
+ case "endsWith":
1376
+ return valStr.endsWith(queryStr);
1377
+ case "contains":
1378
+ return valStr.includes(queryStr);
1379
+ default:
1380
+ return false;
1381
+ }
1275
1382
  });
1276
1383
  }
1277
1384
  };
1278
1385
  var find = {
1279
1386
  /**
1280
- * * πŸ‡¬πŸ‡§: Finds the index of the first match.
1281
- * * πŸ‡©πŸ‡ͺ: Findet den Index des ersten Treffers.
1387
+ * * Finds the index of the first match.
1282
1388
  * @param array
1283
- * * πŸ‡¬πŸ‡§: The array.
1284
- * * πŸ‡©πŸ‡ͺ: Das Array.
1389
+ * * The array.
1285
1390
  * @param query
1286
- * * πŸ‡¬πŸ‡§: The search query.
1287
- * * πŸ‡©πŸ‡ͺ: Der Suchbegriff.
1391
+ * * The search query.
1288
1392
  * @param mode
1289
- * * πŸ‡¬πŸ‡§: The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1290
- * * πŸ‡©πŸ‡ͺ: Der Vergleichsmodus ('exact', 'contains', 'startsWith', 'endsWith').
1393
+ * * The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1291
1394
  * @param key
1292
- * * πŸ‡¬πŸ‡§: (Optional) The object key if it is an array of objects.
1293
- * * πŸ‡©πŸ‡ͺ: (Optional) Der ObjektschlΓΌssel, falls es ein Array von Objekten ist.
1395
+ * * (Optional) The object key if it is an array of objects.
1294
1396
  * @returns
1295
- * * πŸ‡¬πŸ‡§: Index or -1.
1296
- * * πŸ‡©πŸ‡ͺ: Index oder -1.
1397
+ * * Index or -1.
1297
1398
  */
1298
1399
  at(array, query, mode = "exact", key) {
1400
+ const queryStr = String(query).toLowerCase();
1299
1401
  return array.findIndex((item) => {
1300
1402
  const val2 = key ? item[key] : item;
1301
- return checkMatch(val2, query, mode);
1403
+ const valStr = String(val2).toLowerCase();
1404
+ switch (mode) {
1405
+ case "exact":
1406
+ return valStr === queryStr;
1407
+ case "startsWith":
1408
+ return valStr.startsWith(queryStr);
1409
+ case "endsWith":
1410
+ return valStr.endsWith(queryStr);
1411
+ case "contains":
1412
+ return valStr.includes(queryStr);
1413
+ default:
1414
+ return false;
1415
+ }
1302
1416
  });
1303
1417
  },
1304
1418
  /**
1305
- * * πŸ‡¬πŸ‡§: Returns all elements matching the condition (Filter).
1306
- * * πŸ‡©πŸ‡ͺ: Gibt alle Elemente zurΓΌck, die der Bedingung entsprechen (Filter).
1419
+ * * Returns all elements matching the condition (Filter).
1307
1420
  * @param array
1308
- * * πŸ‡¬πŸ‡§: The array.
1309
- * * πŸ‡©πŸ‡ͺ: Das Array.
1421
+ * * The array.
1310
1422
  * @param query
1311
- * * πŸ‡¬πŸ‡§: The search query.
1312
- * * πŸ‡©πŸ‡ͺ: Der Suchbegriff.
1423
+ * * The search query.
1313
1424
  * @param mode
1314
- * * πŸ‡¬πŸ‡§: The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1315
- * * πŸ‡©πŸ‡ͺ: Der Vergleichsmodus ('exact', 'contains', 'startsWith', 'endsWith').
1425
+ * * The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1316
1426
  * @param key
1317
- * * πŸ‡¬πŸ‡§: (Optional) The object key if it is an array of objects.
1318
- * * πŸ‡©πŸ‡ͺ: (Optional) Der ObjektschlΓΌssel, falls es ein Array von Objekten ist.
1427
+ * * (Optional) The object key if it is an array of objects.
1319
1428
  * @returns
1320
- * * πŸ‡¬πŸ‡§: All matching elements or -1.
1321
- * * πŸ‡©πŸ‡ͺ: Alle passenden Elemente oder -1.
1429
+ * * All matching elements or -1.
1322
1430
  */
1323
1431
  all(array, query, mode = "exact", key) {
1432
+ const queryStr = String(query).toLowerCase();
1324
1433
  return array.filter((item) => {
1325
1434
  const val2 = key ? item[key] : item;
1326
- return checkMatch(val2, query, mode);
1435
+ const valStr = String(val2).toLowerCase();
1436
+ switch (mode) {
1437
+ case "exact":
1438
+ return valStr === queryStr;
1439
+ case "startsWith":
1440
+ return valStr.startsWith(queryStr);
1441
+ case "endsWith":
1442
+ return valStr.endsWith(queryStr);
1443
+ case "contains":
1444
+ return valStr.includes(queryStr);
1445
+ default:
1446
+ return false;
1447
+ }
1327
1448
  });
1328
1449
  },
1329
1450
  /**
1330
- * * πŸ‡¬πŸ‡§: Returns the first matching element (or undefined).
1331
- * * πŸ‡©πŸ‡ͺ: Gibt das erste gefundene Element zurΓΌck (oder undefined).
1451
+ * * Returns the first matching element (or undefined).
1332
1452
  * @param array
1333
- * * πŸ‡¬πŸ‡§: The array.
1334
- * * πŸ‡©πŸ‡ͺ: Das Array.
1453
+ * * The array.
1335
1454
  * @param query
1336
- * * πŸ‡¬πŸ‡§: The search query.
1337
- * * πŸ‡©πŸ‡ͺ: Der Suchbegriff.
1455
+ * * The search query.
1338
1456
  * @param mode
1339
- * * πŸ‡¬πŸ‡§: The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1340
- * * πŸ‡©πŸ‡ͺ: Der Vergleichsmodus ('exact', 'contains', 'startsWith', 'endsWith').
1457
+ * * The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1341
1458
  * @param key
1342
- * * πŸ‡¬πŸ‡§: (Optional) The object key if it is an array of objects.
1343
- * * πŸ‡©πŸ‡ͺ: (Optional) Der ObjektschlΓΌssel, falls es ein Array von Objekten ist.
1459
+ * * (Optional) The object key if it is an array of objects.
1344
1460
  * @returns
1345
- * * πŸ‡¬πŸ‡§: Index or -1.
1346
- * * πŸ‡©πŸ‡ͺ: Index oder -1.
1461
+ * * Index or -1.
1347
1462
  */
1348
1463
  first(array, query, mode = "exact", key) {
1464
+ const queryStr = String(query).toLowerCase();
1349
1465
  return array.find((item) => {
1350
1466
  const val2 = key ? item[key] : item;
1351
- return checkMatch(val2, query, mode);
1467
+ const valStr = String(val2).toLowerCase();
1468
+ switch (mode) {
1469
+ case "exact":
1470
+ return valStr === queryStr;
1471
+ case "startsWith":
1472
+ return valStr.startsWith(queryStr);
1473
+ case "endsWith":
1474
+ return valStr.endsWith(queryStr);
1475
+ case "contains":
1476
+ return valStr.includes(queryStr);
1477
+ default:
1478
+ return false;
1479
+ }
1352
1480
  });
1353
1481
  },
1354
1482
  /**
1355
- * * πŸ‡¬πŸ‡§: Returns the last matching element (or undefined).
1356
- * * πŸ‡©πŸ‡ͺ: Gibt das letzte gefundene Element zurΓΌck (oder undefined).
1483
+ * * Returns the last matching element (or undefined).
1357
1484
  * @param array
1358
- * * πŸ‡¬πŸ‡§: The array.
1359
- * * πŸ‡©πŸ‡ͺ: Das Array.
1485
+ * * The array.
1360
1486
  * @param query
1361
- * * πŸ‡¬πŸ‡§: The search query.
1362
- * * πŸ‡©πŸ‡ͺ: Der Suchbegriff.
1487
+ * * The search query.
1363
1488
  * @param mode
1364
- * * πŸ‡¬πŸ‡§: The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1365
- * * πŸ‡©πŸ‡ͺ: Der Vergleichsmodus ('exact', 'contains', 'startsWith', 'endsWith').
1489
+ * * The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1366
1490
  * @param key
1367
- * * πŸ‡¬πŸ‡§: (Optional) The object key if it is an array of objects.
1368
- * * πŸ‡©πŸ‡ͺ: (Optional) Der ObjektschlΓΌssel, falls es ein Array von Objekten ist.
1491
+ * * (Optional) The object key if it is an array of objects.
1369
1492
  * @returns
1370
- * * πŸ‡¬πŸ‡§: Index or -1.
1371
- * * πŸ‡©πŸ‡ͺ: Index oder -1.
1493
+ * * Index or -1.
1372
1494
  */
1373
1495
  last(array, query, mode = "exact", key) {
1496
+ const queryStr = String(query).toLowerCase();
1374
1497
  return [...array].reverse().find((item) => {
1375
1498
  const val2 = key ? item[key] : item;
1376
- return checkMatch(val2, query, mode);
1499
+ const valStr = String(val2).toLowerCase();
1500
+ switch (mode) {
1501
+ case "exact":
1502
+ return valStr === queryStr;
1503
+ case "startsWith":
1504
+ return valStr.startsWith(queryStr);
1505
+ case "endsWith":
1506
+ return valStr.endsWith(queryStr);
1507
+ case "contains":
1508
+ return valStr.includes(queryStr);
1509
+ default:
1510
+ return false;
1511
+ }
1377
1512
  });
1378
1513
  },
1379
1514
  /**
1380
- * * πŸ‡¬πŸ‡§: Removes all elements matching a query condition.
1381
- * * πŸ‡©πŸ‡ͺ: Entfernt alle Elemente, die einer Suchbedingung entsprechen.
1515
+ * * Removes all elements matching a query condition.
1382
1516
  * @example
1383
1517
  * find.byMatch(users, 'Admin', 'exact', 'role')
1384
1518
  * @param array
1385
- * * πŸ‡¬πŸ‡§: The array.
1386
- * * πŸ‡©πŸ‡ͺ: Das Array.
1519
+ * * The array.
1387
1520
  * @param query
1388
- * * πŸ‡¬πŸ‡§: The search query.
1389
- * * πŸ‡©πŸ‡ͺ: Der Suchbegriff.
1521
+ * * The search query.
1390
1522
  * @param mode
1391
- * * πŸ‡¬πŸ‡§: The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1392
- * * πŸ‡©πŸ‡ͺ: Der Vergleichsmodus ('exact', 'contains', 'startsWith', 'endsWith').
1523
+ * * The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1393
1524
  * @param key
1394
- * * πŸ‡¬πŸ‡§: (Optional) The object key if it is an array of objects.
1395
- * * πŸ‡©πŸ‡ͺ: (Optional) Der ObjektschlΓΌssel, falls es ein Array von Objekten ist.
1525
+ * * (Optional) The object key if it is an array of objects.
1396
1526
  * @returns
1397
- * * πŸ‡¬πŸ‡§: Index or -1.
1398
- * * πŸ‡©πŸ‡ͺ: Index oder -1.
1527
+ * * Index or -1.
1399
1528
  */
1400
1529
  byMatch(array, query, mode = "exact", key) {
1530
+ const queryStr = String(query).toLowerCase();
1401
1531
  return array.findIndex((item) => {
1402
1532
  const val2 = key ? item[key] : item;
1403
- return checkMatch(val2, query, mode);
1533
+ const valStr = String(val2).toLowerCase();
1534
+ switch (mode) {
1535
+ case "exact":
1536
+ return valStr === queryStr;
1537
+ case "startsWith":
1538
+ return valStr.startsWith(queryStr);
1539
+ case "endsWith":
1540
+ return valStr.endsWith(queryStr);
1541
+ case "contains":
1542
+ return valStr.includes(queryStr);
1543
+ default:
1544
+ return false;
1545
+ }
1404
1546
  });
1405
1547
  }
1406
1548
  };
@@ -1416,16 +1558,18 @@ __export(objects_exports, {
1416
1558
  set: () => set
1417
1559
  });
1418
1560
  function mergeObjects(target, ...sources) {
1419
- if (!sources.length) return target;
1561
+ if (!sources.length)
1562
+ return target;
1420
1563
  const source = sources.shift();
1421
1564
  if (isObject(target) && isObject(source)) {
1422
1565
  for (const key in source) {
1423
- if (key === "__proto__" || key === "constructor") continue;
1566
+ if (key === "__proto__" || key === "constructor")
1567
+ continue;
1424
1568
  if (isObject(source[key])) {
1425
- if (!target[key]) Object.assign(target, { [key]: {} });
1569
+ if (!target[key]) target[key] = {};
1426
1570
  mergeObjects(target[key], source[key]);
1427
1571
  } else {
1428
- Object.assign(target, { [key]: source[key] });
1572
+ target[key] = source[key];
1429
1573
  }
1430
1574
  }
1431
1575
  }
@@ -1460,18 +1604,14 @@ function set(obj, path, value) {
1460
1604
  }
1461
1605
  var find2 = {
1462
1606
  /**
1463
- * * πŸ‡¬πŸ‡§: Returns the n-th entry of an object as a [key, value] pair. Supports negative indices.
1464
- * * πŸ‡©πŸ‡ͺ: Gibt den n-ten Eintrag eines Objekts als [Key, Value]-Paar zurΓΌck. UnterstΓΌtzt negative Indizes.
1465
- * @example find.at({ a: 1, b: 2 }, 1) // => ['b', 2]
1607
+ * * Returns the n-th entry of an object as a [key, value] pair. Supports negative indices.
1608
+ * @example find.at({ a: 1, b: 2 }, 1) => ['b', 2]
1466
1609
  * @param obj
1467
- * * πŸ‡¬πŸ‡§: The object to search.
1468
- * * πŸ‡©πŸ‡ͺ: Das zu durchsuchende Objekt.
1610
+ * * The object to search.
1469
1611
  * @param index
1470
- * * πŸ‡¬πŸ‡§: The index (0-based, negative counts from the back).
1471
- * * πŸ‡©πŸ‡ͺ: Der Index (0-basiert, negativ zΓ€hlt von hinten).
1612
+ * * The index (0-based, negative counts from the back).
1472
1613
  * @returns
1473
- * * πŸ‡¬πŸ‡§: A [key, value] tuple or undefined.
1474
- * * πŸ‡©πŸ‡ͺ: Ein [Key, Value]-Paar oder undefined.
1614
+ * * A [key, value] tuple or undefined.
1475
1615
  */
1476
1616
  at(obj, index) {
1477
1617
  const entries = Object.entries(obj);
@@ -1479,97 +1619,131 @@ var find2 = {
1479
1619
  return entries[idx];
1480
1620
  },
1481
1621
  /**
1482
- * * πŸ‡¬πŸ‡§: Finds the first entry where the key or value matches the query.
1483
- * * πŸ‡©πŸ‡ͺ: Findet den ersten Eintrag, bei dem der SchlΓΌssel oder Wert dem Suchbegriff entspricht.
1622
+ * * Finds the first entry where the key or value matches the query.
1484
1623
  * @example find.first(config, 'admin', 'exact', 'key')
1485
1624
  * @param obj
1486
- * * πŸ‡¬πŸ‡§: The object to search.
1487
- * * πŸ‡©πŸ‡ͺ: Das zu durchsuchende Objekt.
1625
+ * * The object to search.
1488
1626
  * @param query
1489
- * * πŸ‡¬πŸ‡§: The search query.
1490
- * * πŸ‡©πŸ‡ͺ: Der Suchbegriff.
1627
+ * * The search query.
1491
1628
  * @param mode
1492
- * * πŸ‡¬πŸ‡§: The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1493
- * * πŸ‡©πŸ‡ͺ: Der Vergleichsmodus ('exact', 'contains', 'startsWith', 'endsWith').
1629
+ * * The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1494
1630
  * @param searchBy
1495
- * * πŸ‡¬πŸ‡§: Whether to search by 'key' or 'value'.
1496
- * * πŸ‡©πŸ‡ͺ: Ob nach 'key' oder 'value' gesucht werden soll.
1631
+ * * Whether to search by 'key' or 'value'.
1497
1632
  * @returns
1498
- * * πŸ‡¬πŸ‡§: The first matching [key, value] pair or undefined.
1499
- * * πŸ‡©πŸ‡ͺ: Das erste gefundene [key, value] Paar oder undefined.
1633
+ * * The first matching [key, value] pair or undefined.
1500
1634
  */
1501
1635
  first(obj, query, mode = "exact", searchBy = "key") {
1502
1636
  const entries = Object.entries(obj);
1637
+ const queryStr = String(query).toLowerCase();
1503
1638
  return entries.find(([key, val2]) => {
1504
1639
  const target = searchBy === "key" ? key : val2;
1505
- return checkMatch(target, query, mode);
1640
+ const valStr = String(target).toLowerCase();
1641
+ switch (mode) {
1642
+ case "exact":
1643
+ return valStr === queryStr;
1644
+ case "startsWith":
1645
+ return valStr.startsWith(queryStr);
1646
+ case "endsWith":
1647
+ return valStr.endsWith(queryStr);
1648
+ case "contains":
1649
+ return valStr.includes(queryStr);
1650
+ default:
1651
+ return false;
1652
+ }
1506
1653
  });
1507
1654
  },
1508
1655
  /**
1509
- * * πŸ‡¬πŸ‡§: Finds the last entry where the key or value matches the query.
1510
- * * πŸ‡©πŸ‡ͺ: Findet den letzten Eintrag, bei dem der SchlΓΌssel oder Wert dem Suchbegriff entspricht.
1656
+ * * Finds the last entry where the key or value matches the query.
1511
1657
  * @example find.last(config, '.php', 'endsWith', 'key')
1512
1658
  * @param obj
1513
- * * πŸ‡¬πŸ‡§: The object to search.
1514
- * * πŸ‡©πŸ‡ͺ: Das zu durchsuchende Objekt.
1659
+ * * The object to search.
1515
1660
  * @param query
1516
- * * πŸ‡¬πŸ‡§: The search query.
1517
- * * πŸ‡©πŸ‡ͺ: Der Suchbegriff.
1661
+ * * The search query.
1518
1662
  * @param mode
1519
- * * πŸ‡¬πŸ‡§: The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1520
- * * πŸ‡©πŸ‡ͺ: Der Vergleichsmodus ('exact', 'contains', 'startsWith', 'endsWith').
1663
+ * * The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1521
1664
  * @param searchBy
1522
- * * πŸ‡¬πŸ‡§: Whether to search by 'key' or 'value'.
1523
- * * πŸ‡©πŸ‡ͺ: Ob nach 'key' oder 'value' gesucht werden soll.
1665
+ * * Whether to search by 'key' or 'value'.
1524
1666
  * @returns
1525
- * * πŸ‡¬πŸ‡§: The last matching [key, value] pair or undefined.
1526
- * * πŸ‡©πŸ‡ͺ: Das letzte gefundene [key, value] Paar oder undefined.
1667
+ * * The last matching [key, value] pair or undefined.
1527
1668
  */
1528
1669
  last(obj, query, mode = "exact", searchBy = "key") {
1529
1670
  const entries = Object.entries(obj);
1671
+ const queryStr = String(query).toLowerCase();
1530
1672
  return [...entries].reverse().find(([key, val2]) => {
1531
1673
  const target = searchBy === "key" ? key : val2;
1532
- return checkMatch(target, query, mode);
1674
+ const valStr = String(target).toLowerCase();
1675
+ switch (mode) {
1676
+ case "exact":
1677
+ return valStr === queryStr;
1678
+ case "startsWith":
1679
+ return valStr.startsWith(queryStr);
1680
+ case "endsWith":
1681
+ return valStr.endsWith(queryStr);
1682
+ case "contains":
1683
+ return valStr.includes(queryStr);
1684
+ default:
1685
+ return false;
1686
+ }
1533
1687
  });
1534
1688
  },
1535
1689
  /**
1536
- * * πŸ‡¬πŸ‡§: Finds all keys matching the query.
1537
- * * πŸ‡©πŸ‡ͺ: Findet alle SchlΓΌssel (Keys), die auf den Suchbegriff passen.
1690
+ * * Finds all keys matching the query.
1538
1691
  * @example find.key(config, 'api_', 'startsWith')
1539
1692
  * @param obj
1540
- * * πŸ‡¬πŸ‡§: The object to search.
1541
- * * πŸ‡©πŸ‡ͺ: Das zu durchsuchende Objekt.
1693
+ * * The object to search.
1542
1694
  * @param query
1543
- * * πŸ‡¬πŸ‡§: The search query.
1544
- * * πŸ‡©πŸ‡ͺ: Der Suchbegriff.
1695
+ * * The search query.
1545
1696
  * @param mode
1546
- * * πŸ‡¬πŸ‡§: The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1547
- * * πŸ‡©πŸ‡ͺ: Der Vergleichsmodus ('exact', 'contains', 'startsWith', 'endsWith').
1697
+ * * The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1548
1698
  * @returns
1549
- * * πŸ‡¬πŸ‡§: An array of matching keys.
1550
- * * πŸ‡©πŸ‡ͺ: Ein Array mit den passenden SchlΓΌsseln.
1699
+ * * An array of matching keys.
1551
1700
  */
1552
1701
  key(obj, query, mode = "exact") {
1553
- return Object.keys(obj).filter((key) => checkMatch(key, query, mode));
1702
+ const queryStr = String(query).toLowerCase();
1703
+ return Object.keys(obj).filter((key) => {
1704
+ const valStr = String(key).toLowerCase();
1705
+ switch (mode) {
1706
+ case "exact":
1707
+ return valStr === queryStr;
1708
+ case "startsWith":
1709
+ return valStr.startsWith(queryStr);
1710
+ case "endsWith":
1711
+ return valStr.endsWith(queryStr);
1712
+ case "contains":
1713
+ return valStr.includes(queryStr);
1714
+ default:
1715
+ return false;
1716
+ }
1717
+ });
1554
1718
  },
1555
1719
  /**
1556
- * * πŸ‡¬πŸ‡§: Finds all values matching the query.
1557
- * * πŸ‡©πŸ‡ͺ: Findet alle Werte (Values), die auf den Suchbegriff passen.
1720
+ * * Finds all values matching the query.
1558
1721
  * @param obj
1559
- * * πŸ‡¬πŸ‡§: The object to search.
1560
- * * πŸ‡©πŸ‡ͺ: Das zu durchsuchende Objekt.
1722
+ * * The object to search.
1561
1723
  * @param query
1562
- * * πŸ‡¬πŸ‡§: The search query.
1563
- * * πŸ‡©πŸ‡ͺ: Der Suchbegriff.
1724
+ * * The search query.
1564
1725
  * @param mode
1565
- * * πŸ‡¬πŸ‡§: The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1566
- * * πŸ‡©πŸ‡ͺ: Der Vergleichsmodus ('exact', 'contains', 'startsWith', 'endsWith').
1726
+ * * The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1567
1727
  * @returns
1568
- * * πŸ‡¬πŸ‡§: An array of matching values.
1569
- * * πŸ‡©πŸ‡ͺ: Ein Array mit den passenden Werten.
1728
+ * * An array of matching values.
1570
1729
  */
1571
1730
  value(obj, query, mode = "exact") {
1572
- return Object.values(obj).filter((val2) => checkMatch(val2, query, mode));
1731
+ const queryStr = String(query).toLowerCase();
1732
+ return Object.values(obj).filter((val2) => {
1733
+ const valStr = String(val2).toLowerCase();
1734
+ switch (mode) {
1735
+ case "exact":
1736
+ return valStr === queryStr;
1737
+ case "startsWith":
1738
+ return valStr.startsWith(queryStr);
1739
+ case "endsWith":
1740
+ return valStr.endsWith(queryStr);
1741
+ case "contains":
1742
+ return valStr.includes(queryStr);
1743
+ default:
1744
+ return false;
1745
+ }
1746
+ });
1573
1747
  }
1574
1748
  };
1575
1749
  function isObject(item) {
@@ -1587,7 +1761,19 @@ Object.assign(jBase.prototype, cssMethods);
1587
1761
  Object.assign(jBase.prototype, eventMethods);
1588
1762
  Object.assign(jBase.prototype, domMethods);
1589
1763
  Object.assign(jBase.prototype, effectMethods);
1590
- var init = (selector) => new jBase(selector);
1764
+ var init = (selector) => {
1765
+ return new jBase(selector);
1766
+ };
1767
+ var bind = (window2) => {
1768
+ const doc = window2.document;
1769
+ const boundInit = (selector) => new jBase(selector, doc);
1770
+ Object.assign(boundInit, {
1771
+ fn: jBase.prototype,
1772
+ http,
1773
+ data
1774
+ });
1775
+ return boundInit;
1776
+ };
1591
1777
  var $ = init;
1592
1778
  var jB = init;
1593
1779
  var _jB = init;
@@ -1595,13 +1781,16 @@ var __jB = init;
1595
1781
  var _jBase = init;
1596
1782
  var __jBase = init;
1597
1783
  var jBase2 = init;
1784
+ var __ = init;
1598
1785
  export {
1599
1786
  $,
1600
1787
  jBase as JBaseClass,
1788
+ __,
1601
1789
  __jB,
1602
1790
  __jBase,
1603
1791
  _jB,
1604
1792
  _jBase,
1793
+ bind,
1605
1794
  data,
1606
1795
  debounce,
1607
1796
  http,
@@ -1611,508 +1800,419 @@ export {
1611
1800
  };
1612
1801
  /**
1613
1802
  * @file src/core.ts
1614
- * @version 2.0.0
1803
+ * @version 2.0.2
1615
1804
  * @since 2.0.0
1616
1805
  * @license GPL-3.0-or-later
1617
1806
  * @copyright Sven Minio 2026
1618
1807
  * @author Sven Minio <https://sven-minio.de>
1619
1808
  * @category Core
1620
1809
  * @description
1621
- * * πŸ‡¬πŸ‡§: The main jBase class. Handles the selection engine, initialization, and plugin architecture.
1622
- * * πŸ‡©πŸ‡ͺ: Die Haupt-jBase-Klasse. Behandelt die Selektions-Engine, Initialisierung und Plugin-Architektur.
1810
+ * * The main jBase class. Handles the selection engine, initialization, and plugin architecture.
1623
1811
  */
1624
1812
  /**
1625
1813
  * @file src/modules/css/classes.ts
1626
- * @version 2.0.0
1814
+ * @version 2.0.2
1627
1815
  * @since 2.0.0
1628
1816
  * @license GPL-3.0-or-later
1629
1817
  * @copyright Sven Minio 2026
1630
1818
  * @author Sven Minio <https://sven-minio.de>
1631
1819
  * @category CSS
1632
1820
  * @description
1633
- * * πŸ‡¬πŸ‡§: Methods for manipulating CSS classes (add, remove, toggle, has).
1634
- * * πŸ‡©πŸ‡ͺ: Methoden zur Manipulation von CSS-Klassen (add, remove, toggle, has).
1821
+ * * Methods for manipulating CSS classes (add, remove, toggle, has).
1635
1822
  * @requires ../../core
1636
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1637
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
1823
+ * * Depends on the core jBase class for type definitions.
1638
1824
  */
1639
1825
  /**
1640
1826
  * @file src/modules/css/styles.ts
1641
- * @version 2.0.0
1827
+ * @version 2.0.2
1642
1828
  * @since 2.0.0
1643
1829
  * @license GPL-3.0-or-later
1644
1830
  * @copyright Sven Minio 2026
1645
1831
  * @author Sven Minio <https://sven-minio.de>
1646
1832
  * @category CSS
1647
1833
  * @description
1648
- * * πŸ‡¬πŸ‡§: Methods for getting and setting inline CSS styles.
1649
- * * πŸ‡©πŸ‡ͺ: Methoden zum Lesen und Setzen von Inline-CSS-Styles.
1834
+ * * Methods for getting and setting inline CSS styles.
1650
1835
  * @requires ../../core
1651
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1652
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
1836
+ * * Depends on the core jBase class for type definitions.
1653
1837
  */
1654
1838
  /**
1655
1839
  * @file src/modules/css/index.ts
1656
- * @version 2.0.0
1840
+ * @version 2.0.2
1657
1841
  * @since 2.0.0
1658
1842
  * @license GPL-3.0-or-later
1659
1843
  * @copyright Sven Minio 2026
1660
1844
  * @author Sven Minio <https://sven-minio.de>
1661
1845
  * @category CSS
1662
1846
  * @description
1663
- * * πŸ‡¬πŸ‡§: Central entry point for CSS operations. Aggregates class and style manipulation methods.
1664
- * * πŸ‡©πŸ‡ͺ: Zentraler Einstiegspunkt fΓΌr CSS-Operationen. Aggregiert Methoden zur Klassen- und Style-Manipulation.
1847
+ * * Central entry point for CSS operations. Aggregates class and style manipulation methods.
1665
1848
  * @requires ./classes
1666
- * * πŸ‡¬πŸ‡§: Class manipulation methods (addClass, removeClass, etc.).
1667
- * * πŸ‡©πŸ‡ͺ: Methoden zur Klassen-Manipulation (addClass, removeClass, etc.).
1849
+ * * Class manipulation methods (addClass, removeClass, etc.).
1668
1850
  * @requires ./styles
1669
- * * πŸ‡¬πŸ‡§: Style manipulation methods (css).
1670
- * * πŸ‡©πŸ‡ͺ: Methoden zur Style-Manipulation (css).
1851
+ * * Style manipulation methods (css).
1671
1852
  */
1672
1853
  /**
1673
1854
  * @file src/modules/events/binding.ts
1674
- * @version 2.0.0
1855
+ * @version 2.0.2
1675
1856
  * @since 2.0.0
1676
1857
  * @license GPL-3.0-or-later
1677
1858
  * @copyright Sven Minio 2026
1678
1859
  * @author Sven Minio <https://sven-minio.de>
1679
1860
  * @category Events
1680
1861
  * @description
1681
- * * πŸ‡¬πŸ‡§: Core event binding methods (on, off, trigger). Handles event registration and removal.
1682
- * * πŸ‡©πŸ‡ͺ: Kern-Methoden fΓΌr Event-Binding (on, off, trigger). Behandelt die Registrierung und Entfernung von Events.
1862
+ * * Core event binding methods (on, off, trigger). Handles event registration and removal.
1683
1863
  * @requires ../../core
1684
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1685
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
1864
+ * * Depends on the core jBase class for type definitions.
1686
1865
  */
1687
1866
  /**
1688
1867
  * @file src/modules/events/mouse.ts
1689
- * @version 2.0.0
1868
+ * @version 2.0.2
1690
1869
  * @since 2.0.0
1691
1870
  * @license GPL-3.0-or-later
1692
1871
  * @copyright Sven Minio 2026
1693
1872
  * @author Sven Minio <https://sven-minio.de>
1694
1873
  * @category Events
1695
1874
  * @description
1696
- * * πŸ‡¬πŸ‡§: Methods for handling mouse events (click, dblclick, hover, mouseenter, mouseleave).
1697
- * * πŸ‡©πŸ‡ͺ: Methoden zur Behandlung von Maus-Events (click, dblclick, hover, mouseenter, mouseleave).
1875
+ * * Methods for handling mouse events (click, dblclick, hover, mouseenter, mouseleave).
1698
1876
  * @requires ../../core
1699
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1700
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
1877
+ * * Depends on the core jBase class for type definitions.
1701
1878
  */
1702
1879
  /**
1703
1880
  * @file src/modules/events/lifecycle.ts
1704
- * @version 2.0.0
1881
+ * @version 2.0.2
1705
1882
  * @since 2.0.0
1706
1883
  * @license GPL-3.0-or-later
1707
1884
  * @copyright Sven Minio 2026
1708
1885
  * @author Sven Minio <https://sven-minio.de>
1709
1886
  * @category Events
1710
1887
  * @description
1711
- * * πŸ‡¬πŸ‡§: Methods for handling DOM lifecycle events (e.g., ready).
1712
- * * πŸ‡©πŸ‡ͺ: Methoden zur Behandlung von DOM-Lebenszyklus-Events (z.B. ready).
1888
+ * * Methods for handling DOM lifecycle events (e.g., ready).
1713
1889
  * @requires ../../core
1714
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1715
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
1890
+ * * Depends on the core jBase class for type definitions.
1716
1891
  */
1717
1892
  /**
1718
1893
  * @file src/modules/events/keyboard.ts
1719
- * @version 2.0.0
1894
+ * @version 2.0.2
1720
1895
  * @since 2.0.0
1721
1896
  * @license GPL-3.0-or-later
1722
1897
  * @copyright Sven Minio 2026
1723
1898
  * @author Sven Minio <https://sven-minio.de>
1724
1899
  * @category Events
1725
1900
  * @description
1726
- * * πŸ‡¬πŸ‡§: Methods for handling keyboard events (keydown, keyup, keypress).
1727
- * * πŸ‡©πŸ‡ͺ: Methoden zur Behandlung von Tastatur-Events (keydown, keyup, keypress).
1901
+ * * Methods for handling keyboard events (keydown, keyup, keypress).
1728
1902
  * @requires ../../core
1729
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1730
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
1903
+ * * Depends on the core jBase class for type definitions.
1731
1904
  */
1732
1905
  /**
1733
1906
  * @file src/modules/events/form.ts
1734
- * @version 2.0.0
1907
+ * @version 2.0.2
1735
1908
  * @since 2.0.0
1736
1909
  * @license GPL-3.0-or-later
1737
1910
  * @copyright Sven Minio 2026
1738
1911
  * @author Sven Minio <https://sven-minio.de>
1739
1912
  * @category Events
1740
1913
  * @description
1741
- * * πŸ‡¬πŸ‡§: Methods for handling form events (submit, change, focus, blur, input).
1742
- * * πŸ‡©πŸ‡ͺ: Methoden zur Behandlung von Formular-Events (submit, change, focus, blur, input).
1914
+ * * Methods for handling form events (submit, change, focus, blur, input).
1743
1915
  * @requires ../../core
1744
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1745
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
1916
+ * * Depends on the core jBase class for type definitions.
1746
1917
  */
1747
1918
  /**
1748
1919
  * @file src/modules/events/touch.ts
1749
- * @version 2.0.0
1920
+ * @version 2.0.2
1750
1921
  * @since 2.0.0
1751
1922
  * @license GPL-3.0-or-later
1752
1923
  * @copyright Sven Minio 2026
1753
1924
  * @author Sven Minio <https://sven-minio.de>
1754
1925
  * @category Events
1755
1926
  * @description
1756
- * * πŸ‡¬πŸ‡§: Methods for handling touch events (touchstart, touchend, touchmove).
1757
- * * πŸ‡©πŸ‡ͺ: Methoden zur Behandlung von Touch-Events (touchstart, touchend, touchmove).
1927
+ * * Methods for handling touch events (touchstart, touchend, touchmove).
1758
1928
  * @requires ../../core
1759
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1760
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
1929
+ * * Depends on the core jBase class for type definitions.
1761
1930
  */
1762
1931
  /**
1763
1932
  * @file src/modules/events/index.ts
1764
- * @version 2.0.0
1933
+ * @version 2.0.2
1765
1934
  * @since 2.0.0
1766
1935
  * @license GPL-3.0-or-later
1767
1936
  * @copyright Sven Minio 2026
1768
1937
  * @author Sven Minio <https://sven-minio.de>
1769
1938
  * @category Events
1770
1939
  * @description
1771
- * * πŸ‡¬πŸ‡§: Central entry point for event handling. Aggregates binding, mouse, lifecycle, keyboard, form, and touch events.
1772
- * * πŸ‡©πŸ‡ͺ: Zentraler Einstiegspunkt fΓΌr Event-Handling. Aggregiert Binding-, Maus-, Lebenszyklus-, Tastatur-, Formular- und Touch-Events.
1940
+ * * Central entry point for event handling. Aggregates binding, mouse, lifecycle, keyboard, form, and touch events.
1773
1941
  * @requires ./binding
1774
- * * πŸ‡¬πŸ‡§: General event binding (on, off).
1775
- * * πŸ‡©πŸ‡ͺ: Generelle Event-Bindung (on, off).
1942
+ * * General event binding (on, off).
1776
1943
  * @requires ./mouse
1777
- * * πŸ‡¬πŸ‡§: Mouse interaction events (click, hover, etc.).
1778
- * * πŸ‡©πŸ‡ͺ: Maus-Interaktions-Events (click, hover, etc.).
1944
+ * * Mouse interaction events (click, hover, etc.).
1779
1945
  * @requires ./lifecycle
1780
- * * πŸ‡¬πŸ‡§: DOM lifecycle events (ready).
1781
- * * πŸ‡©πŸ‡ͺ: DOM-Lebenszyklus-Events (ready).
1946
+ * * DOM lifecycle events (ready).
1782
1947
  * @requires ./keyboard
1783
- * * πŸ‡¬πŸ‡§: Keyboard interaction events (keydown, keyup).
1784
- * * πŸ‡©πŸ‡ͺ: Tastatur-Interaktions-Events (keydown, keyup).
1948
+ * * Keyboard interaction events (keydown, keyup).
1785
1949
  * @requires ./form
1786
- * * πŸ‡¬πŸ‡§: Form handling events (submit, change, input).
1787
- * * πŸ‡©πŸ‡ͺ: Formular-Verarbeitungs-Events (submit, change, input).
1950
+ * * Form handling events (submit, change, input).
1788
1951
  * @requires ./touch
1789
- * * πŸ‡¬πŸ‡§: Touch interaction events.
1790
- * * πŸ‡©πŸ‡ͺ: Touch-Interaktions-Events.
1952
+ * * Touch interaction events.
1791
1953
  */
1792
1954
  /**
1793
1955
  * @file src/modules/dom/attributes.ts
1794
- * @version 2.0.0
1956
+ * @version 2.0.2
1795
1957
  * @since 2.0.0
1796
1958
  * @license GPL-3.0-or-later
1797
1959
  * @copyright Sven Minio 2026
1798
1960
  * @author Sven Minio <https://sven-minio.de>
1799
1961
  * @category DOM
1800
1962
  * @description
1801
- * * πŸ‡¬πŸ‡§: Methods for getting and setting HTML attributes and properties (attr, data, val).
1802
- * * πŸ‡©πŸ‡ͺ: Methoden zum Lesen und Setzen von HTML-Attributen und Eigenschaften (attr, data, val).
1963
+ * * Methods for getting and setting HTML attributes and properties (attr, data, val).
1803
1964
  * @requires ../../core
1804
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1805
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
1965
+ * * Depends on the core jBase class for type definitions.
1806
1966
  */
1807
1967
  /**
1808
1968
  * @file src/modules/dom/content.ts
1809
- * @version 2.0.0
1969
+ * @version 2.0.2
1810
1970
  * @since 2.0.0
1811
1971
  * @license GPL-3.0-or-later
1812
1972
  * @copyright Sven Minio 2026
1813
1973
  * @author Sven Minio <https://sven-minio.de>
1814
1974
  * @category DOM
1815
1975
  * @description
1816
- * * πŸ‡¬πŸ‡§: Methods for getting and setting element content (html, text, empty, replaceWith).
1817
- * * πŸ‡©πŸ‡ͺ: Methoden zum Lesen und Setzen von Elementinhalten (html, text, empty, replaceWith).
1976
+ * * Methods for getting and setting element content (html, text, empty, replaceWith).
1818
1977
  * @requires ../../core
1819
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1820
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
1978
+ * * Depends on the core jBase class for type definitions.
1821
1979
  */
1822
1980
  /**
1823
1981
  * @file src/modules/dom/manipulation.ts
1824
- * @version 2.0.0
1982
+ * @version 2.0.2
1825
1983
  * @since 2.0.0
1826
1984
  * @license GPL-3.0-or-later
1827
1985
  * @copyright Sven Minio 2026
1828
1986
  * @author Sven Minio <https://sven-minio.de>
1829
1987
  * @category DOM
1830
1988
  * @description
1831
- * * πŸ‡¬πŸ‡§: Methods for inserting, moving, and removing elements (append, prepend, remove).
1832
- * * πŸ‡©πŸ‡ͺ: Methoden zum EinfΓΌgen, Verschieben und Entfernen von Elementen (append, prepend, remove).
1989
+ * * Methods for inserting, moving, and removing elements (append, prepend, remove).
1833
1990
  * @requires ../../core
1834
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1835
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
1991
+ * * Depends on the core jBase class for type definitions.
1836
1992
  */
1837
1993
  /**
1838
1994
  * @file src/modules/dom/traversal.ts
1839
- * @version 2.0.0
1995
+ * @version 2.0.2
1840
1996
  * @since 2.0.0
1841
1997
  * @license GPL-3.0-or-later
1842
1998
  * @copyright Sven Minio 2026
1843
1999
  * @author Sven Minio <https://sven-minio.de>
1844
2000
  * @category DOM
1845
2001
  * @description
1846
- * * πŸ‡¬πŸ‡§: Methods for navigating the DOM tree (find, parent, children, siblings).
1847
- * * πŸ‡©πŸ‡ͺ: Methoden zur Navigation im DOM-Baum (find, parent, children, siblings).
2002
+ * * Methods for navigating the DOM tree (find, parent, children, siblings).
1848
2003
  * @requires ../../core
1849
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1850
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
2004
+ * * Depends on the core jBase class for type definitions.
1851
2005
  */
1852
2006
  /**
1853
2007
  * @file src/modules/dom/states.ts
1854
- * @version 2.0.0
2008
+ * @version 2.0.2
1855
2009
  * @since 2.0.0
1856
2010
  * @license GPL-3.0-or-later
1857
2011
  * @copyright Sven Minio 2026
1858
2012
  * @author Sven Minio <https://sven-minio.de>
1859
2013
  * @category DOM
1860
2014
  * @description
1861
- * * πŸ‡¬πŸ‡§: Methods for checking element states (e.g., visibility, checked, disabled).
1862
- * * πŸ‡©πŸ‡ͺ: Methoden zur PrΓΌfung von Element-ZustΓ€nden (z.B. Sichtbarkeit, checked, disabled).
2015
+ * * Methods for checking element states (e.g., visibility, checked, disabled).
1863
2016
  * @requires ../../core
1864
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1865
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
2017
+ * * Depends on the core jBase class for type definitions.
1866
2018
  */
1867
2019
  /**
1868
2020
  * @file src/modules/dom/index.ts
1869
- * @version 2.0.0
2021
+ * @version 2.0.2
1870
2022
  * @since 2.0.0
1871
2023
  * @license GPL-3.0-or-later
1872
2024
  * @copyright Sven Minio 2026
1873
2025
  * @author Sven Minio <https://sven-minio.de>
1874
2026
  * @category DOM
1875
2027
  * @description
1876
- * * πŸ‡¬πŸ‡§: Central entry point for DOM operations. Aggregates methods for attributes, content, manipulation, traversal, and states.
1877
- * * πŸ‡©πŸ‡ͺ: Zentraler Einstiegspunkt fΓΌr DOM-Operationen. Aggregiert Methoden fΓΌr Attribute, Inhalt, Manipulation, Traversierung und Status.
2028
+ * * Central entry point for DOM operations. Aggregates methods for attributes, content, manipulation, traversal, and states.
1878
2029
  * @requires ./attributes
1879
- * * πŸ‡¬πŸ‡§: Attribute and value manipulation.
1880
- * * πŸ‡©πŸ‡ͺ: Attribut- und Wert-Manipulation.
2030
+ * * Attribute and value manipulation.
1881
2031
  * @requires ./content
1882
- * * πŸ‡¬πŸ‡§: Content handling (html, text).
1883
- * * πŸ‡©πŸ‡ͺ: Inhalts-Steuerung (html, text).
2032
+ * * Content handling (html, text).
1884
2033
  * @requires ./manipulation
1885
- * * πŸ‡¬πŸ‡§: DOM manipulation (append, remove, etc.).
1886
- * * πŸ‡©πŸ‡ͺ: DOM-Manipulation (append, remove, etc.).
2034
+ * * DOM manipulation (append, remove, etc.).
1887
2035
  * @requires ./traversal
1888
- * * πŸ‡¬πŸ‡§: Tree traversal (find, parent, children).
1889
- * * πŸ‡©πŸ‡ͺ: Baum-Durchquerung (find, parent, children).
2036
+ * * Tree traversal (find, parent, children).
1890
2037
  * @requires ./states
1891
- * * πŸ‡¬πŸ‡§: State checks (checked, disabled).
1892
- * * πŸ‡©πŸ‡ͺ: Status-PrΓΌfungen (checked, disabled).
2038
+ * * State checks (checked, disabled).
2039
+ */
2040
+ /**
2041
+ * @file src/utils.ts
2042
+ * @version 2.0.2
2043
+ * @since 2.0.0
2044
+ * @license GPL-3.0-or-later
2045
+ * @copyright Sven Minio 2026
2046
+ * @author Sven Minio <https://sven-minio.de>
2047
+ * @category Utilities
2048
+ * @description
2049
+ * * General utility functions and helpers (e.g., debounce, throttle, type checks).
1893
2050
  */
1894
2051
  /**
1895
2052
  * @file src/modules/effects/slide.ts
1896
- * @version 2.0.0
2053
+ * @version 2.0.2
1897
2054
  * @since 2.0.0
1898
2055
  * @license GPL-3.0-or-later
1899
2056
  * @copyright Sven Minio 2026
1900
2057
  * @author Sven Minio <https://sven-minio.de>
1901
2058
  * @category Effects
1902
2059
  * @description
1903
- * * πŸ‡¬πŸ‡§: Methods for horizontal sliding effects (slideIn, slideOut, slideToggle).
1904
- * * πŸ‡©πŸ‡ͺ: Methoden fΓΌr horizontale Slide-Effekte (slideIn, slideOut, slideToggle).
2060
+ * * Methods for horizontal sliding effects (slideIn, slideOut, slideToggle).
1905
2061
  * @requires ../../core
1906
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1907
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
2062
+ * * Depends on the core jBase class for type definitions.
1908
2063
  */
1909
2064
  /**
1910
2065
  * @file src/modules/effects/vertical.ts
1911
- * @version 2.0.0
2066
+ * @version 2.0.2
1912
2067
  * @since 2.0.0
1913
2068
  * @license GPL-3.0-or-later
1914
2069
  * @copyright Sven Minio 2026
1915
2070
  * @author Sven Minio <https://sven-minio.de>
1916
2071
  * @category Effects
1917
2072
  * @description
1918
- * * πŸ‡¬πŸ‡§: Methods for vertical sliding effects (slideDown, slideUp, slideToggle).
1919
- * * πŸ‡©πŸ‡ͺ: Methoden fΓΌr vertikale Slide-Effekte (slideDown, slideUp, slideToggle).
2073
+ * * Methods for vertical sliding effects (slideDown, slideUp, slideToggle).
1920
2074
  * @requires ../../core
1921
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1922
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
2075
+ * * Depends on the core jBase class for type definitions.
1923
2076
  */
1924
2077
  /**
1925
2078
  * @file src/modules/effects/fade.ts
1926
- * @version 2.0.0
2079
+ * @version 2.0.2
1927
2080
  * @since 2.0.0
1928
2081
  * @license GPL-3.0-or-later
1929
2082
  * @copyright Sven Minio 2026
1930
2083
  * @author Sven Minio <https://sven-minio.de>
1931
2084
  * @category Effects
1932
2085
  * @description
1933
- * * πŸ‡¬πŸ‡§: Methods for fading elements in and out (fadeIn, fadeOut, fadeToggle).
1934
- * * πŸ‡©πŸ‡ͺ: Methoden zum Ein- und Ausblenden von Elementen (fadeIn, fadeOut, fadeToggle).
2086
+ * * Methods for fading elements in and out (fadeIn, fadeOut, fadeToggle).
1935
2087
  * @requires ../../core
1936
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1937
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
2088
+ * * Depends on the core jBase class for type definitions.
1938
2089
  */
1939
2090
  /**
1940
2091
  * @file src/modules/effects/index.ts
1941
- * @version 2.0.0
2092
+ * @version 2.0.2
1942
2093
  * @since 2.0.0
1943
2094
  * @license GPL-3.0-or-later
1944
2095
  * @copyright Sven Minio 2026
1945
2096
  * @author Sven Minio <https://sven-minio.de>
1946
2097
  * @category Effects
1947
2098
  * @description
1948
- * * πŸ‡¬πŸ‡§: Central entry point for visual effects. Aggregates slide, fade, and vertical animation modules.
1949
- * * πŸ‡©πŸ‡ͺ: Zentraler Einstiegspunkt fΓΌr visuelle Effekte. Aggregiert Module fΓΌr Slide-, Fade- und vertikale Animationen.
2099
+ * * Central entry point for visual effects. Aggregates slide, fade, and vertical animation modules.
1950
2100
  * @requires ./slide
1951
- * * πŸ‡¬πŸ‡§: Horizontal slide effects (slideIn, slideOut).
1952
- * * πŸ‡©πŸ‡ͺ: Horizontale Slide-Effekte (slideIn, slideOut).
2101
+ * * Horizontal slide effects (slideIn, slideOut).
1953
2102
  * @requires ./vertical
1954
- * * πŸ‡¬πŸ‡§: Vertical slide effects / Accordion (slideDown, slideUp).
1955
- * * πŸ‡©πŸ‡ͺ: Vertikale Slide-Effekte / Akkordeon (slideDown, slideUp).
2103
+ * * Vertical slide effects / Accordion (slideDown, slideUp).
1956
2104
  * @requires ./fade
1957
- * * πŸ‡¬πŸ‡§: Opacity fade effects (fadeIn, fadeOut).
1958
- * * πŸ‡©πŸ‡ͺ: OpazitΓ€ts-Fade-Effekte (fadeIn, fadeOut).
1959
- */
1960
- /**
1961
- * @file src/utils.ts
1962
- * @version 2.0.0
1963
- * @since 2.0.0
1964
- * @license GPL-3.0-or-later
1965
- * @copyright Sven Minio 2026
1966
- * @author Sven Minio <https://sven-minio.de>
1967
- * @category Utilities
1968
- * @description
1969
- * * πŸ‡¬πŸ‡§: General utility functions and helpers (e.g., debounce, throttle, type checks).
1970
- * * πŸ‡©πŸ‡ͺ: Allgemeine Hilfsfunktionen und Helfer (z.B. debounce, throttle, Typ-PrΓΌfungen).
2105
+ * * Opacity fade effects (fadeIn, fadeOut).
1971
2106
  */
1972
2107
  /**
1973
2108
  * @file src/modules/http/get.ts
1974
- * @version 2.0.0
2109
+ * @version 2.0.2
1975
2110
  * @since 2.0.0
1976
2111
  * @license GPL-3.0-or-later
1977
2112
  * @copyright Sven Minio 2026
1978
2113
  * @author Sven Minio <https://sven-minio.de>
1979
2114
  * @category HTTP
1980
2115
  * @description
1981
- * * πŸ‡¬πŸ‡§: Abstraction for HTTP GET requests.
1982
- * * πŸ‡©πŸ‡ͺ: Abstraktion fΓΌr HTTP GET-Anfragen.
2116
+ * * Abstraction for HTTP GET requests.
1983
2117
  * @requires ../../core
1984
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1985
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
2118
+ * * Depends on the core jBase class for type definitions.
1986
2119
  */
1987
2120
  /**
1988
2121
  * @file src/modules/http/post.ts
1989
- * @version 2.0.0
2122
+ * @version 2.0.2
1990
2123
  * @since 2.0.0
1991
2124
  * @license GPL-3.0-or-later
1992
2125
  * @copyright Sven Minio 2026
1993
2126
  * @author Sven Minio <https://sven-minio.de>
1994
2127
  * @category HTTP
1995
2128
  * * @description
1996
- * * πŸ‡¬πŸ‡§: Abstraction for HTTP POST requests.
1997
- * * πŸ‡©πŸ‡ͺ: Abstraktion fΓΌr HTTP POST-Anfragen.
2129
+ * * Abstraction for HTTP POST requests.
1998
2130
  * @requires ../../core
1999
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
2000
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
2131
+ * * Depends on the core jBase class for type definitions.
2001
2132
  */
2002
2133
  /**
2003
2134
  * @file src/modules/http/index.ts
2004
- * @version 2.0.0
2135
+ * @version 2.0.2
2005
2136
  * @since 2.0.0
2006
2137
  * @license GPL-3.0-or-later
2007
2138
  * @copyright Sven Minio 2026
2008
2139
  * @author Sven Minio <https://sven-minio.de>
2009
2140
  * @category HTTP
2010
2141
  * @description
2011
- * * πŸ‡¬πŸ‡§: Central entry point for HTTP requests. Aggregates GET and POST methods.
2012
- * * πŸ‡©πŸ‡ͺ: Zentraler Einstiegspunkt fΓΌr HTTP-Anfragen. Aggregiert GET- und POST-Methoden.
2142
+ * * Central entry point for HTTP requests. Aggregates GET and POST methods.
2013
2143
  * @requires ./get
2014
- * * πŸ‡¬πŸ‡§: HTTP GET methods (get, getText).
2015
- * * πŸ‡©πŸ‡ͺ: HTTP GET-Methoden (get, getText).
2144
+ * * HTTP GET methods (get, getText).
2016
2145
  * @requires ./post
2017
- * * πŸ‡¬πŸ‡§: HTTP POST methods.
2018
- * * πŸ‡©πŸ‡ͺ: HTTP POST-Methoden.
2019
- */
2020
- /**
2021
- * @file src/modules/data/types.ts
2022
- * @version 2.0.0
2023
- * @since 2.0.0
2024
- * @license GPL-3.0-or-later
2025
- * @copyright Sven Minio 2026
2026
- * @author Sven Minio <https://sven-minio.de>
2027
- * @category Data
2028
- * @description
2029
- * * πŸ‡¬πŸ‡§: Type definitions and validation helpers for data structures.
2030
- * * πŸ‡©πŸ‡ͺ: Typ-Definitionen und Validierungs-Hilfsmittel fΓΌr Datenstrukturen.
2146
+ * * HTTP POST methods.
2031
2147
  */
2032
2148
  /**
2033
2149
  * @file src/modules/data/arrays.ts
2034
- * @version 2.0.0
2150
+ * @version 2.0.2
2035
2151
  * @since 2.0.0
2036
2152
  * @license GPL-3.0-or-later
2037
2153
  * @copyright Sven Minio 2026
2038
2154
  * @author Sven Minio <https://sven-minio.de>
2039
2155
  * @category Data
2040
2156
  * @description
2041
- * * πŸ‡¬πŸ‡§: Utility functions for array manipulation and data processing.
2042
- * * πŸ‡©πŸ‡ͺ: Hilfsfunktionen fΓΌr Array-Manipulation und Datenverarbeitung.
2157
+ * * Utility functions for array manipulation and data processing.
2043
2158
  * @requires ./types
2044
- * * πŸ‡¬πŸ‡§: Depends on match logic and types.
2045
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von Match-Logik und Typen ab.
2159
+ * * Depends on types.
2046
2160
  */
2047
2161
  /**
2048
2162
  * @file src/modules/data/objects.ts
2049
- * @version 2.0.0
2163
+ * @version 2.0.2
2050
2164
  * @since 2.0.0
2051
2165
  * @license GPL-3.0-or-later
2052
2166
  * @copyright Sven Minio 2026
2053
2167
  * @author Sven Minio <https://sven-minio.de>
2054
2168
  * @category Data
2055
2169
  * @description
2056
- * * πŸ‡¬πŸ‡§: Utility functions for object manipulation (e.g., deep merging, extension).
2057
- * * πŸ‡©πŸ‡ͺ: Hilfsfunktionen fΓΌr Objekt-Manipulation (z.B. Deep Merge, Erweiterung).
2170
+ * * Utility functions for object manipulation (e.g., deep merging, extension).
2058
2171
  * @requires ./types
2059
- * * πŸ‡¬πŸ‡§: Depends on match logic and types.
2060
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von Match-Logik und Typen ab.
2172
+ * * Depends on types.
2061
2173
  */
2062
2174
  /**
2063
2175
  * @file src/modules/data/index.ts
2064
- * @version 2.0.0
2176
+ * @version 2.0.2
2065
2177
  * @since 2.0.0
2066
2178
  * * @license GPL-3.0-or-later
2067
2179
  * @copyright Sven Minio 2026
2068
2180
  * @author Sven Minio <https://sven-minio.de>
2069
2181
  * @category Data
2070
2182
  * @description
2071
- * * πŸ‡¬πŸ‡§: Central entry point for data manipulation modules. Aggregates array and object utilities.
2072
- * * πŸ‡©πŸ‡ͺ: Zentraler Einstiegspunkt fΓΌr Datenmanipulations-Module. Aggregiert Array- und Objekt-Hilfsmethoden.
2183
+ * * Central entry point for data manipulation modules. Aggregates array and object utilities.
2073
2184
  * @requires ./arrays
2074
- * * πŸ‡¬πŸ‡§: Array manipulation methods.
2075
- * * πŸ‡©πŸ‡ͺ: Methoden zur Array-Manipulation.
2185
+ * * Array manipulation methods.
2076
2186
  * @requires ./objects
2077
- * * πŸ‡¬πŸ‡§: Object manipulation methods.
2078
- * * πŸ‡©πŸ‡ͺ: Methoden zur Objekt-Manipulation.
2187
+ * * Object manipulation methods.
2079
2188
  */
2080
2189
  /**
2081
2190
  * @file src/index.ts
2082
- * @version 2.0.0
2191
+ * @version 2.0.2
2083
2192
  * @since 2.0.0
2084
2193
  * @license GPL-3.0-or-later
2085
2194
  * @copyright Sven Minio 2026
2086
2195
  * @author Sven Minio <https://sven-minio.de>
2087
2196
  * @category Entry Point
2088
2197
  * @description
2089
- * * πŸ‡¬πŸ‡§: Main library entry point. Aggregates Core, Types, Utils, and all functional modules into a single export.
2090
- * * πŸ‡©πŸ‡ͺ: Haupt-Einstiegspunkt der Bibliothek. Aggregiert Core, Types, Utils und alle funktionalen Module in einen einzigen Export.
2198
+ * * Main library entry point. Aggregates Core, Types, Utils, and all functional modules into a single export.
2091
2199
  * @requires ./core
2092
- * * πŸ‡¬πŸ‡§: Core class logic and inheritance.
2093
- * * πŸ‡©πŸ‡ͺ: Kern-Klassenlogik und Vererbung.
2200
+ * * Core class logic and inheritance.
2094
2201
  * @requires ./types
2095
- * * πŸ‡¬πŸ‡§: TypeScript type definitions and interfaces.
2096
- * * πŸ‡©πŸ‡ͺ: TypeScript Typ-Definitionen und Interfaces.
2202
+ * * TypeScript type definitions and interfaces.
2097
2203
  * @requires ./utils
2098
- * * πŸ‡¬πŸ‡§: Helper functions (throttle, debounce).
2099
- * * πŸ‡©πŸ‡ͺ: Hilfsfunktionen (throttle, debounce).
2204
+ * * Helper functions (throttle, debounce).
2100
2205
  * @requires ./modules/css
2101
- * * πŸ‡¬πŸ‡§: Style manipulation methods.
2102
- * * πŸ‡©πŸ‡ͺ: Style-Manipulations-Methoden.
2206
+ * * Style manipulation methods.
2103
2207
  * @requires ./modules/events
2104
- * * πŸ‡¬πŸ‡§: Event handling logic.
2105
- * * πŸ‡©πŸ‡ͺ: Event-Handling-Logik.
2208
+ * * Event handling logic.
2106
2209
  * @requires ./modules/dom
2107
- * * πŸ‡¬πŸ‡§: DOM traversal and manipulation.
2108
- * * πŸ‡©πŸ‡ͺ: DOM-Traversierung und -Manipulation.
2210
+ * * DOM traversal and manipulation.
2109
2211
  * @requires ./modules/effects
2110
- * * πŸ‡¬πŸ‡§: Visual effects and animations.
2111
- * * πŸ‡©πŸ‡ͺ: Visuelle Effekte und Animationen.
2212
+ * * Visual effects and animations.
2112
2213
  * @requires ./modules/http
2113
- * * πŸ‡¬πŸ‡§: HTTP client for AJAX requests.
2114
- * * πŸ‡©πŸ‡ͺ: HTTP-Client fΓΌr AJAX-Anfragen.
2214
+ * * HTTP client for AJAX requests.
2115
2215
  * @requires ./modules/data
2116
- * * πŸ‡¬πŸ‡§: Data structure utilities.
2117
- * * πŸ‡©πŸ‡ͺ: Datenstruktur-Utilities.
2216
+ * * Data structure utilities.
2118
2217
  */
2218
+ //# sourceMappingURL=index.mjs.map