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