@k37z3r/jbase 2.0.1 β†’ 2.0.3

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 +50 -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 +577 -452
  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 +575 -452
  12. package/dist/index.mjs.map +7 -0
  13. package/dist/jbase.browser.js +338 -281
  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 +18 -25
  68. package/dist/modules/http/get.d.ts.map +1 -1
  69. package/dist/modules/http/index.d.ts +11 -15
  70. package/dist/modules/http/index.d.ts.map +1 -1
  71. package/dist/modules/http/post.d.ts +13 -19
  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 +2246 -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.3
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,47 +1272,45 @@ 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, {
1153
1278
  get: () => get,
1154
1279
  getText: () => getText
1155
1280
  });
1156
- async function get(url) {
1281
+ async function get(url, option) {
1282
+ const fetchOptions = { ...option };
1283
+ if (fetchOptions.method?.toLowerCase() === "post") {
1284
+ fetchOptions.method = "GET";
1285
+ }
1286
+ if (!fetchOptions.signal) {
1287
+ fetchOptions.signal = AbortSignal.timeout(5e3);
1288
+ }
1157
1289
  const response = await fetch(url, {
1158
- signal: AbortSignal.timeout(5e3)
1290
+ ...fetchOptions
1159
1291
  });
1160
1292
  if (!response.ok) {
1161
1293
  throw new Error(`HTTP Error: ${response.status}`);
1162
1294
  }
1163
- return await response.json();
1295
+ const text2 = await response.text();
1296
+ return text2 ? JSON.parse(text2) : {};
1164
1297
  }
1165
- async function getText(url) {
1166
- const response = await fetch(url);
1298
+ async function getText(url, option) {
1299
+ const fetchOptions = { ...option };
1300
+ if (fetchOptions.method?.toLowerCase() !== "get") {
1301
+ fetchOptions.method = "GET";
1302
+ }
1303
+ if (!fetchOptions.signal) {
1304
+ fetchOptions.signal = AbortSignal.timeout(5e3);
1305
+ }
1306
+ const response = await fetch(url, {
1307
+ ...fetchOptions
1308
+ });
1167
1309
  if (!response.ok) {
1168
1310
  throw new Error(`HTTP Error: ${response.status}`);
1169
1311
  }
1170
- return await response.text();
1312
+ const text2 = await response.text();
1313
+ return text2 ? JSON.parse(text2) : {};
1171
1314
  }
1172
1315
 
1173
1316
  // src/modules/http/post.ts
@@ -1175,20 +1318,28 @@ var post_exports = {};
1175
1318
  __export(post_exports, {
1176
1319
  post: () => post
1177
1320
  });
1178
- async function post(url, body = {}) {
1321
+ async function post(url, body = {}, option) {
1322
+ const fetchOptions = { ...option };
1323
+ if (fetchOptions.method?.toLowerCase() !== "post") {
1324
+ fetchOptions.method = "post";
1325
+ }
1326
+ if (!fetchOptions.signal) {
1327
+ fetchOptions.signal = AbortSignal.timeout(5e3);
1328
+ }
1179
1329
  const response = await fetch(url, {
1180
- method: "POST",
1330
+ ...fetchOptions,
1181
1331
  headers: { "Content-Type": "application/json" },
1182
1332
  body: JSON.stringify(body)
1183
1333
  });
1184
1334
  if (response.status === 204) {
1185
- const text2 = await response.text();
1186
- return text2 ? JSON.parse(text2) : {};
1335
+ const text3 = await response.text();
1336
+ return text3 ? JSON.parse(text3) : {};
1187
1337
  }
1188
1338
  if (!response.ok) {
1189
1339
  throw new Error(`HTTP Error: ${response.status}`);
1190
1340
  }
1191
- return await response.json();
1341
+ const text2 = await response.text();
1342
+ return text2 ? JSON.parse(text2) : {};
1192
1343
  }
1193
1344
 
1194
1345
  // src/modules/http/index.ts
@@ -1206,26 +1357,6 @@ __export(arrays_exports, {
1206
1357
  mergeArray: () => mergeArray,
1207
1358
  remove: () => remove2
1208
1359
  });
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
1360
  function chunk(array, size) {
1230
1361
  const chunks = [];
1231
1362
  for (let i = 0; i < array.length; i += size) {
@@ -1244,14 +1375,11 @@ function add(array, item, index = array.length) {
1244
1375
  }
1245
1376
  var remove2 = {
1246
1377
  /**
1247
- * * πŸ‡¬πŸ‡§: Removes an element at a specific index.
1248
- * * πŸ‡©πŸ‡ͺ: Entfernt ein Element an einem spezifischen Index.
1378
+ * * Removes an element at a specific index.
1249
1379
  * @param array
1250
- * * πŸ‡¬πŸ‡§: The array.
1251
- * * πŸ‡©πŸ‡ͺ: Das Array.
1380
+ * * The array.
1252
1381
  * @param index
1253
- * * πŸ‡¬πŸ‡§: The index (negative values allowed).
1254
- * * πŸ‡©πŸ‡ͺ: Der Index (negativ mΓΆglich).
1382
+ * * The index (negative values allowed).
1255
1383
  */
1256
1384
  at(array, index) {
1257
1385
  const copy = [...array];
@@ -1262,176 +1390,215 @@ var remove2 = {
1262
1390
  return copy;
1263
1391
  },
1264
1392
  /**
1265
- * * πŸ‡¬πŸ‡§: Removes the first element.
1266
- * * πŸ‡©πŸ‡ͺ: Entfernt das erste Element.
1393
+ * * Removes the first element.
1267
1394
  * @param array
1268
- * * πŸ‡¬πŸ‡§: The array.
1269
- * * πŸ‡©πŸ‡ͺ: Das Array.
1395
+ * * The array.
1270
1396
  */
1271
1397
  first(array) {
1272
1398
  return array.slice(1);
1273
1399
  },
1274
1400
  /**
1275
- * * πŸ‡¬πŸ‡§: Removes the last element.
1276
- * * πŸ‡©πŸ‡ͺ: Entfernt das letzte Element.
1401
+ * * Removes the last element.
1277
1402
  * @param array
1278
- * * πŸ‡¬πŸ‡§: The array.
1279
- * * πŸ‡©πŸ‡ͺ: Das Array.
1403
+ * * The array.
1280
1404
  */
1281
1405
  last(array) {
1282
1406
  return array.slice(0, -1);
1283
1407
  },
1284
1408
  /**
1285
- * * πŸ‡¬πŸ‡§: Removes all elements matching a query condition.
1286
- * * πŸ‡©πŸ‡ͺ: Entfernt alle Elemente, die einer Suchbedingung entsprechen.
1409
+ * * Removes all elements matching a query condition.
1287
1410
  * @example
1288
1411
  * remove.byMatch(users, 'Admin', 'exact', 'role')
1289
1412
  * @param array
1290
- * * πŸ‡¬πŸ‡§: The array.
1291
- * * πŸ‡©πŸ‡ͺ: Das Array.
1413
+ * * The array.
1292
1414
  * @param query
1293
- * * πŸ‡¬πŸ‡§: The search query.
1294
- * * πŸ‡©πŸ‡ͺ: Der Suchbegriff.
1415
+ * * The search query.
1295
1416
  * @param mode
1296
- * * πŸ‡¬πŸ‡§: The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1297
- * * πŸ‡©πŸ‡ͺ: Der Vergleichsmodus ('exact', 'contains', 'startsWith', 'endsWith').
1417
+ * * The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1298
1418
  * @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.
1419
+ * * (Optional) The object key if it is an array of objects.
1301
1420
  */
1302
1421
  byMatch(array, query, mode = "exact", key) {
1422
+ const queryStr = String(query).toLowerCase();
1303
1423
  return array.filter((item) => {
1304
1424
  const val2 = key ? item[key] : item;
1305
- return !checkMatch(val2, query, mode);
1425
+ const valStr = String(val2).toLowerCase();
1426
+ switch (mode) {
1427
+ case "exact":
1428
+ return valStr === queryStr;
1429
+ case "startsWith":
1430
+ return valStr.startsWith(queryStr);
1431
+ case "endsWith":
1432
+ return valStr.endsWith(queryStr);
1433
+ case "contains":
1434
+ return valStr.includes(queryStr);
1435
+ default:
1436
+ return false;
1437
+ }
1306
1438
  });
1307
1439
  }
1308
1440
  };
1309
1441
  var find = {
1310
1442
  /**
1311
- * * πŸ‡¬πŸ‡§: Finds the index of the first match.
1312
- * * πŸ‡©πŸ‡ͺ: Findet den Index des ersten Treffers.
1443
+ * * Finds the index of the first match.
1313
1444
  * @param array
1314
- * * πŸ‡¬πŸ‡§: The array.
1315
- * * πŸ‡©πŸ‡ͺ: Das Array.
1445
+ * * The array.
1316
1446
  * @param query
1317
- * * πŸ‡¬πŸ‡§: The search query.
1318
- * * πŸ‡©πŸ‡ͺ: Der Suchbegriff.
1447
+ * * The search query.
1319
1448
  * @param mode
1320
- * * πŸ‡¬πŸ‡§: The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1321
- * * πŸ‡©πŸ‡ͺ: Der Vergleichsmodus ('exact', 'contains', 'startsWith', 'endsWith').
1449
+ * * The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1322
1450
  * @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.
1451
+ * * (Optional) The object key if it is an array of objects.
1325
1452
  * @returns
1326
- * * πŸ‡¬πŸ‡§: Index or -1.
1327
- * * πŸ‡©πŸ‡ͺ: Index oder -1.
1453
+ * * Index or -1.
1328
1454
  */
1329
1455
  at(array, query, mode = "exact", key) {
1456
+ const queryStr = String(query).toLowerCase();
1330
1457
  return array.findIndex((item) => {
1331
1458
  const val2 = key ? item[key] : item;
1332
- return checkMatch(val2, query, mode);
1459
+ const valStr = String(val2).toLowerCase();
1460
+ switch (mode) {
1461
+ case "exact":
1462
+ return valStr === queryStr;
1463
+ case "startsWith":
1464
+ return valStr.startsWith(queryStr);
1465
+ case "endsWith":
1466
+ return valStr.endsWith(queryStr);
1467
+ case "contains":
1468
+ return valStr.includes(queryStr);
1469
+ default:
1470
+ return false;
1471
+ }
1333
1472
  });
1334
1473
  },
1335
1474
  /**
1336
- * * πŸ‡¬πŸ‡§: Returns all elements matching the condition (Filter).
1337
- * * πŸ‡©πŸ‡ͺ: Gibt alle Elemente zurΓΌck, die der Bedingung entsprechen (Filter).
1475
+ * * Returns all elements matching the condition (Filter).
1338
1476
  * @param array
1339
- * * πŸ‡¬πŸ‡§: The array.
1340
- * * πŸ‡©πŸ‡ͺ: Das Array.
1477
+ * * The array.
1341
1478
  * @param query
1342
- * * πŸ‡¬πŸ‡§: The search query.
1343
- * * πŸ‡©πŸ‡ͺ: Der Suchbegriff.
1479
+ * * The search query.
1344
1480
  * @param mode
1345
- * * πŸ‡¬πŸ‡§: The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1346
- * * πŸ‡©πŸ‡ͺ: Der Vergleichsmodus ('exact', 'contains', 'startsWith', 'endsWith').
1481
+ * * The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1347
1482
  * @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.
1483
+ * * (Optional) The object key if it is an array of objects.
1350
1484
  * @returns
1351
- * * πŸ‡¬πŸ‡§: All matching elements or -1.
1352
- * * πŸ‡©πŸ‡ͺ: Alle passenden Elemente oder -1.
1485
+ * * All matching elements or -1.
1353
1486
  */
1354
1487
  all(array, query, mode = "exact", key) {
1488
+ const queryStr = String(query).toLowerCase();
1355
1489
  return array.filter((item) => {
1356
1490
  const val2 = key ? item[key] : item;
1357
- return checkMatch(val2, query, mode);
1491
+ const valStr = String(val2).toLowerCase();
1492
+ switch (mode) {
1493
+ case "exact":
1494
+ return valStr === queryStr;
1495
+ case "startsWith":
1496
+ return valStr.startsWith(queryStr);
1497
+ case "endsWith":
1498
+ return valStr.endsWith(queryStr);
1499
+ case "contains":
1500
+ return valStr.includes(queryStr);
1501
+ default:
1502
+ return false;
1503
+ }
1358
1504
  });
1359
1505
  },
1360
1506
  /**
1361
- * * πŸ‡¬πŸ‡§: Returns the first matching element (or undefined).
1362
- * * πŸ‡©πŸ‡ͺ: Gibt das erste gefundene Element zurΓΌck (oder undefined).
1507
+ * * Returns the first matching element (or undefined).
1363
1508
  * @param array
1364
- * * πŸ‡¬πŸ‡§: The array.
1365
- * * πŸ‡©πŸ‡ͺ: Das Array.
1509
+ * * The array.
1366
1510
  * @param query
1367
- * * πŸ‡¬πŸ‡§: The search query.
1368
- * * πŸ‡©πŸ‡ͺ: Der Suchbegriff.
1511
+ * * The search query.
1369
1512
  * @param mode
1370
- * * πŸ‡¬πŸ‡§: The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1371
- * * πŸ‡©πŸ‡ͺ: Der Vergleichsmodus ('exact', 'contains', 'startsWith', 'endsWith').
1513
+ * * The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1372
1514
  * @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.
1515
+ * * (Optional) The object key if it is an array of objects.
1375
1516
  * @returns
1376
- * * πŸ‡¬πŸ‡§: Index or -1.
1377
- * * πŸ‡©πŸ‡ͺ: Index oder -1.
1517
+ * * Index or -1.
1378
1518
  */
1379
1519
  first(array, query, mode = "exact", key) {
1520
+ const queryStr = String(query).toLowerCase();
1380
1521
  return array.find((item) => {
1381
1522
  const val2 = key ? item[key] : item;
1382
- return checkMatch(val2, query, mode);
1523
+ const valStr = String(val2).toLowerCase();
1524
+ switch (mode) {
1525
+ case "exact":
1526
+ return valStr === queryStr;
1527
+ case "startsWith":
1528
+ return valStr.startsWith(queryStr);
1529
+ case "endsWith":
1530
+ return valStr.endsWith(queryStr);
1531
+ case "contains":
1532
+ return valStr.includes(queryStr);
1533
+ default:
1534
+ return false;
1535
+ }
1383
1536
  });
1384
1537
  },
1385
1538
  /**
1386
- * * πŸ‡¬πŸ‡§: Returns the last matching element (or undefined).
1387
- * * πŸ‡©πŸ‡ͺ: Gibt das letzte gefundene Element zurΓΌck (oder undefined).
1539
+ * * Returns the last matching element (or undefined).
1388
1540
  * @param array
1389
- * * πŸ‡¬πŸ‡§: The array.
1390
- * * πŸ‡©πŸ‡ͺ: Das Array.
1541
+ * * The array.
1391
1542
  * @param query
1392
- * * πŸ‡¬πŸ‡§: The search query.
1393
- * * πŸ‡©πŸ‡ͺ: Der Suchbegriff.
1543
+ * * The search query.
1394
1544
  * @param mode
1395
- * * πŸ‡¬πŸ‡§: The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1396
- * * πŸ‡©πŸ‡ͺ: Der Vergleichsmodus ('exact', 'contains', 'startsWith', 'endsWith').
1545
+ * * The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1397
1546
  * @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.
1547
+ * * (Optional) The object key if it is an array of objects.
1400
1548
  * @returns
1401
- * * πŸ‡¬πŸ‡§: Index or -1.
1402
- * * πŸ‡©πŸ‡ͺ: Index oder -1.
1549
+ * * Index or -1.
1403
1550
  */
1404
1551
  last(array, query, mode = "exact", key) {
1552
+ const queryStr = String(query).toLowerCase();
1405
1553
  return [...array].reverse().find((item) => {
1406
1554
  const val2 = key ? item[key] : item;
1407
- return checkMatch(val2, query, mode);
1555
+ const valStr = String(val2).toLowerCase();
1556
+ switch (mode) {
1557
+ case "exact":
1558
+ return valStr === queryStr;
1559
+ case "startsWith":
1560
+ return valStr.startsWith(queryStr);
1561
+ case "endsWith":
1562
+ return valStr.endsWith(queryStr);
1563
+ case "contains":
1564
+ return valStr.includes(queryStr);
1565
+ default:
1566
+ return false;
1567
+ }
1408
1568
  });
1409
1569
  },
1410
1570
  /**
1411
- * * πŸ‡¬πŸ‡§: Removes all elements matching a query condition.
1412
- * * πŸ‡©πŸ‡ͺ: Entfernt alle Elemente, die einer Suchbedingung entsprechen.
1571
+ * * Removes all elements matching a query condition.
1413
1572
  * @example
1414
1573
  * find.byMatch(users, 'Admin', 'exact', 'role')
1415
1574
  * @param array
1416
- * * πŸ‡¬πŸ‡§: The array.
1417
- * * πŸ‡©πŸ‡ͺ: Das Array.
1575
+ * * The array.
1418
1576
  * @param query
1419
- * * πŸ‡¬πŸ‡§: The search query.
1420
- * * πŸ‡©πŸ‡ͺ: Der Suchbegriff.
1577
+ * * The search query.
1421
1578
  * @param mode
1422
- * * πŸ‡¬πŸ‡§: The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1423
- * * πŸ‡©πŸ‡ͺ: Der Vergleichsmodus ('exact', 'contains', 'startsWith', 'endsWith').
1579
+ * * The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1424
1580
  * @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.
1581
+ * * (Optional) The object key if it is an array of objects.
1427
1582
  * @returns
1428
- * * πŸ‡¬πŸ‡§: Index or -1.
1429
- * * πŸ‡©πŸ‡ͺ: Index oder -1.
1583
+ * * Index or -1.
1430
1584
  */
1431
1585
  byMatch(array, query, mode = "exact", key) {
1586
+ const queryStr = String(query).toLowerCase();
1432
1587
  return array.findIndex((item) => {
1433
1588
  const val2 = key ? item[key] : item;
1434
- return checkMatch(val2, query, mode);
1589
+ const valStr = String(val2).toLowerCase();
1590
+ switch (mode) {
1591
+ case "exact":
1592
+ return valStr === queryStr;
1593
+ case "startsWith":
1594
+ return valStr.startsWith(queryStr);
1595
+ case "endsWith":
1596
+ return valStr.endsWith(queryStr);
1597
+ case "contains":
1598
+ return valStr.includes(queryStr);
1599
+ default:
1600
+ return false;
1601
+ }
1435
1602
  });
1436
1603
  }
1437
1604
  };
@@ -1447,16 +1614,18 @@ __export(objects_exports, {
1447
1614
  set: () => set
1448
1615
  });
1449
1616
  function mergeObjects(target, ...sources) {
1450
- if (!sources.length) return target;
1617
+ if (!sources.length)
1618
+ return target;
1451
1619
  const source = sources.shift();
1452
1620
  if (isObject(target) && isObject(source)) {
1453
1621
  for (const key in source) {
1454
- if (key === "__proto__" || key === "constructor") continue;
1622
+ if (key === "__proto__" || key === "constructor")
1623
+ continue;
1455
1624
  if (isObject(source[key])) {
1456
- if (!target[key]) Object.assign(target, { [key]: {} });
1625
+ if (!target[key]) target[key] = {};
1457
1626
  mergeObjects(target[key], source[key]);
1458
1627
  } else {
1459
- Object.assign(target, { [key]: source[key] });
1628
+ target[key] = source[key];
1460
1629
  }
1461
1630
  }
1462
1631
  }
@@ -1491,18 +1660,14 @@ function set(obj, path, value) {
1491
1660
  }
1492
1661
  var find2 = {
1493
1662
  /**
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]
1663
+ * * Returns the n-th entry of an object as a [key, value] pair. Supports negative indices.
1664
+ * @example find.at({ a: 1, b: 2 }, 1) => ['b', 2]
1497
1665
  * @param obj
1498
- * * πŸ‡¬πŸ‡§: The object to search.
1499
- * * πŸ‡©πŸ‡ͺ: Das zu durchsuchende Objekt.
1666
+ * * The object to search.
1500
1667
  * @param index
1501
- * * πŸ‡¬πŸ‡§: The index (0-based, negative counts from the back).
1502
- * * πŸ‡©πŸ‡ͺ: Der Index (0-basiert, negativ zΓ€hlt von hinten).
1668
+ * * The index (0-based, negative counts from the back).
1503
1669
  * @returns
1504
- * * πŸ‡¬πŸ‡§: A [key, value] tuple or undefined.
1505
- * * πŸ‡©πŸ‡ͺ: Ein [Key, Value]-Paar oder undefined.
1670
+ * * A [key, value] tuple or undefined.
1506
1671
  */
1507
1672
  at(obj, index) {
1508
1673
  const entries = Object.entries(obj);
@@ -1510,97 +1675,131 @@ var find2 = {
1510
1675
  return entries[idx];
1511
1676
  },
1512
1677
  /**
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.
1678
+ * * Finds the first entry where the key or value matches the query.
1515
1679
  * @example find.first(config, 'admin', 'exact', 'key')
1516
1680
  * @param obj
1517
- * * πŸ‡¬πŸ‡§: The object to search.
1518
- * * πŸ‡©πŸ‡ͺ: Das zu durchsuchende Objekt.
1681
+ * * The object to search.
1519
1682
  * @param query
1520
- * * πŸ‡¬πŸ‡§: The search query.
1521
- * * πŸ‡©πŸ‡ͺ: Der Suchbegriff.
1683
+ * * The search query.
1522
1684
  * @param mode
1523
- * * πŸ‡¬πŸ‡§: The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1524
- * * πŸ‡©πŸ‡ͺ: Der Vergleichsmodus ('exact', 'contains', 'startsWith', 'endsWith').
1685
+ * * The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1525
1686
  * @param searchBy
1526
- * * πŸ‡¬πŸ‡§: Whether to search by 'key' or 'value'.
1527
- * * πŸ‡©πŸ‡ͺ: Ob nach 'key' oder 'value' gesucht werden soll.
1687
+ * * Whether to search by 'key' or 'value'.
1528
1688
  * @returns
1529
- * * πŸ‡¬πŸ‡§: The first matching [key, value] pair or undefined.
1530
- * * πŸ‡©πŸ‡ͺ: Das erste gefundene [key, value] Paar oder undefined.
1689
+ * * The first matching [key, value] pair or undefined.
1531
1690
  */
1532
1691
  first(obj, query, mode = "exact", searchBy = "key") {
1533
1692
  const entries = Object.entries(obj);
1693
+ const queryStr = String(query).toLowerCase();
1534
1694
  return entries.find(([key, val2]) => {
1535
1695
  const target = searchBy === "key" ? key : val2;
1536
- return checkMatch(target, query, mode);
1696
+ const valStr = String(target).toLowerCase();
1697
+ switch (mode) {
1698
+ case "exact":
1699
+ return valStr === queryStr;
1700
+ case "startsWith":
1701
+ return valStr.startsWith(queryStr);
1702
+ case "endsWith":
1703
+ return valStr.endsWith(queryStr);
1704
+ case "contains":
1705
+ return valStr.includes(queryStr);
1706
+ default:
1707
+ return false;
1708
+ }
1537
1709
  });
1538
1710
  },
1539
1711
  /**
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.
1712
+ * * Finds the last entry where the key or value matches the query.
1542
1713
  * @example find.last(config, '.php', 'endsWith', 'key')
1543
1714
  * @param obj
1544
- * * πŸ‡¬πŸ‡§: The object to search.
1545
- * * πŸ‡©πŸ‡ͺ: Das zu durchsuchende Objekt.
1715
+ * * The object to search.
1546
1716
  * @param query
1547
- * * πŸ‡¬πŸ‡§: The search query.
1548
- * * πŸ‡©πŸ‡ͺ: Der Suchbegriff.
1717
+ * * The search query.
1549
1718
  * @param mode
1550
- * * πŸ‡¬πŸ‡§: The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1551
- * * πŸ‡©πŸ‡ͺ: Der Vergleichsmodus ('exact', 'contains', 'startsWith', 'endsWith').
1719
+ * * The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1552
1720
  * @param searchBy
1553
- * * πŸ‡¬πŸ‡§: Whether to search by 'key' or 'value'.
1554
- * * πŸ‡©πŸ‡ͺ: Ob nach 'key' oder 'value' gesucht werden soll.
1721
+ * * Whether to search by 'key' or 'value'.
1555
1722
  * @returns
1556
- * * πŸ‡¬πŸ‡§: The last matching [key, value] pair or undefined.
1557
- * * πŸ‡©πŸ‡ͺ: Das letzte gefundene [key, value] Paar oder undefined.
1723
+ * * The last matching [key, value] pair or undefined.
1558
1724
  */
1559
1725
  last(obj, query, mode = "exact", searchBy = "key") {
1560
1726
  const entries = Object.entries(obj);
1727
+ const queryStr = String(query).toLowerCase();
1561
1728
  return [...entries].reverse().find(([key, val2]) => {
1562
1729
  const target = searchBy === "key" ? key : val2;
1563
- return checkMatch(target, query, mode);
1730
+ const valStr = String(target).toLowerCase();
1731
+ switch (mode) {
1732
+ case "exact":
1733
+ return valStr === queryStr;
1734
+ case "startsWith":
1735
+ return valStr.startsWith(queryStr);
1736
+ case "endsWith":
1737
+ return valStr.endsWith(queryStr);
1738
+ case "contains":
1739
+ return valStr.includes(queryStr);
1740
+ default:
1741
+ return false;
1742
+ }
1564
1743
  });
1565
1744
  },
1566
1745
  /**
1567
- * * πŸ‡¬πŸ‡§: Finds all keys matching the query.
1568
- * * πŸ‡©πŸ‡ͺ: Findet alle SchlΓΌssel (Keys), die auf den Suchbegriff passen.
1746
+ * * Finds all keys matching the query.
1569
1747
  * @example find.key(config, 'api_', 'startsWith')
1570
1748
  * @param obj
1571
- * * πŸ‡¬πŸ‡§: The object to search.
1572
- * * πŸ‡©πŸ‡ͺ: Das zu durchsuchende Objekt.
1749
+ * * The object to search.
1573
1750
  * @param query
1574
- * * πŸ‡¬πŸ‡§: The search query.
1575
- * * πŸ‡©πŸ‡ͺ: Der Suchbegriff.
1751
+ * * The search query.
1576
1752
  * @param mode
1577
- * * πŸ‡¬πŸ‡§: The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1578
- * * πŸ‡©πŸ‡ͺ: Der Vergleichsmodus ('exact', 'contains', 'startsWith', 'endsWith').
1753
+ * * The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1579
1754
  * @returns
1580
- * * πŸ‡¬πŸ‡§: An array of matching keys.
1581
- * * πŸ‡©πŸ‡ͺ: Ein Array mit den passenden SchlΓΌsseln.
1755
+ * * An array of matching keys.
1582
1756
  */
1583
1757
  key(obj, query, mode = "exact") {
1584
- return Object.keys(obj).filter((key) => checkMatch(key, query, mode));
1758
+ const queryStr = String(query).toLowerCase();
1759
+ return Object.keys(obj).filter((key) => {
1760
+ const valStr = String(key).toLowerCase();
1761
+ switch (mode) {
1762
+ case "exact":
1763
+ return valStr === queryStr;
1764
+ case "startsWith":
1765
+ return valStr.startsWith(queryStr);
1766
+ case "endsWith":
1767
+ return valStr.endsWith(queryStr);
1768
+ case "contains":
1769
+ return valStr.includes(queryStr);
1770
+ default:
1771
+ return false;
1772
+ }
1773
+ });
1585
1774
  },
1586
1775
  /**
1587
- * * πŸ‡¬πŸ‡§: Finds all values matching the query.
1588
- * * πŸ‡©πŸ‡ͺ: Findet alle Werte (Values), die auf den Suchbegriff passen.
1776
+ * * Finds all values matching the query.
1589
1777
  * @param obj
1590
- * * πŸ‡¬πŸ‡§: The object to search.
1591
- * * πŸ‡©πŸ‡ͺ: Das zu durchsuchende Objekt.
1778
+ * * The object to search.
1592
1779
  * @param query
1593
- * * πŸ‡¬πŸ‡§: The search query.
1594
- * * πŸ‡©πŸ‡ͺ: Der Suchbegriff.
1780
+ * * The search query.
1595
1781
  * @param mode
1596
- * * πŸ‡¬πŸ‡§: The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1597
- * * πŸ‡©πŸ‡ͺ: Der Vergleichsmodus ('exact', 'contains', 'startsWith', 'endsWith').
1782
+ * * The comparison mode ('exact', 'contains', 'startsWith', 'endsWith').
1598
1783
  * @returns
1599
- * * πŸ‡¬πŸ‡§: An array of matching values.
1600
- * * πŸ‡©πŸ‡ͺ: Ein Array mit den passenden Werten.
1784
+ * * An array of matching values.
1601
1785
  */
1602
1786
  value(obj, query, mode = "exact") {
1603
- return Object.values(obj).filter((val2) => checkMatch(val2, query, mode));
1787
+ const queryStr = String(query).toLowerCase();
1788
+ return Object.values(obj).filter((val2) => {
1789
+ const valStr = String(val2).toLowerCase();
1790
+ switch (mode) {
1791
+ case "exact":
1792
+ return valStr === queryStr;
1793
+ case "startsWith":
1794
+ return valStr.startsWith(queryStr);
1795
+ case "endsWith":
1796
+ return valStr.endsWith(queryStr);
1797
+ case "contains":
1798
+ return valStr.includes(queryStr);
1799
+ default:
1800
+ return false;
1801
+ }
1802
+ });
1604
1803
  }
1605
1804
  };
1606
1805
  function isObject(item) {
@@ -1618,7 +1817,19 @@ Object.assign(jBase.prototype, cssMethods);
1618
1817
  Object.assign(jBase.prototype, eventMethods);
1619
1818
  Object.assign(jBase.prototype, domMethods);
1620
1819
  Object.assign(jBase.prototype, effectMethods);
1621
- var init = (selector) => new jBase(selector);
1820
+ var init = (selector) => {
1821
+ return new jBase(selector);
1822
+ };
1823
+ var bind = (window2) => {
1824
+ const doc = window2.document;
1825
+ const boundInit = (selector) => new jBase(selector, doc);
1826
+ Object.assign(boundInit, {
1827
+ fn: jBase.prototype,
1828
+ http,
1829
+ data
1830
+ });
1831
+ return boundInit;
1832
+ };
1622
1833
  var $ = init;
1623
1834
  var jB = init;
1624
1835
  var _jB = init;
@@ -1626,14 +1837,17 @@ var __jB = init;
1626
1837
  var _jBase = init;
1627
1838
  var __jBase = init;
1628
1839
  var jBase2 = init;
1840
+ var __ = init;
1629
1841
  // Annotate the CommonJS export names for ESM import in node:
1630
1842
  0 && (module.exports = {
1631
1843
  $,
1632
1844
  JBaseClass,
1845
+ __,
1633
1846
  __jB,
1634
1847
  __jBase,
1635
1848
  _jB,
1636
1849
  _jBase,
1850
+ bind,
1637
1851
  data,
1638
1852
  debounce,
1639
1853
  http,
@@ -1643,508 +1857,419 @@ var jBase2 = init;
1643
1857
  });
1644
1858
  /**
1645
1859
  * @file src/core.ts
1646
- * @version 2.0.1
1860
+ * @version 2.0.2
1647
1861
  * @since 2.0.0
1648
1862
  * @license GPL-3.0-or-later
1649
1863
  * @copyright Sven Minio 2026
1650
1864
  * @author Sven Minio <https://sven-minio.de>
1651
1865
  * @category Core
1652
1866
  * @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.
1867
+ * * The main jBase class. Handles the selection engine, initialization, and plugin architecture.
1655
1868
  */
1656
1869
  /**
1657
1870
  * @file src/modules/css/classes.ts
1658
- * @version 2.0.1
1871
+ * @version 2.0.2
1659
1872
  * @since 2.0.0
1660
1873
  * @license GPL-3.0-or-later
1661
1874
  * @copyright Sven Minio 2026
1662
1875
  * @author Sven Minio <https://sven-minio.de>
1663
1876
  * @category CSS
1664
1877
  * @description
1665
- * * πŸ‡¬πŸ‡§: Methods for manipulating CSS classes (add, remove, toggle, has).
1666
- * * πŸ‡©πŸ‡ͺ: Methoden zur Manipulation von CSS-Klassen (add, remove, toggle, has).
1878
+ * * Methods for manipulating CSS classes (add, remove, toggle, has).
1667
1879
  * @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.
1880
+ * * Depends on the core jBase class for type definitions.
1670
1881
  */
1671
1882
  /**
1672
1883
  * @file src/modules/css/styles.ts
1673
- * @version 2.0.1
1884
+ * @version 2.0.2
1674
1885
  * @since 2.0.0
1675
1886
  * @license GPL-3.0-or-later
1676
1887
  * @copyright Sven Minio 2026
1677
1888
  * @author Sven Minio <https://sven-minio.de>
1678
1889
  * @category CSS
1679
1890
  * @description
1680
- * * πŸ‡¬πŸ‡§: Methods for getting and setting inline CSS styles.
1681
- * * πŸ‡©πŸ‡ͺ: Methoden zum Lesen und Setzen von Inline-CSS-Styles.
1891
+ * * Methods for getting and setting inline CSS styles.
1682
1892
  * @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.
1893
+ * * Depends on the core jBase class for type definitions.
1685
1894
  */
1686
1895
  /**
1687
1896
  * @file src/modules/css/index.ts
1688
- * @version 2.0.1
1897
+ * @version 2.0.2
1689
1898
  * @since 2.0.0
1690
1899
  * @license GPL-3.0-or-later
1691
1900
  * @copyright Sven Minio 2026
1692
1901
  * @author Sven Minio <https://sven-minio.de>
1693
1902
  * @category CSS
1694
1903
  * @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.
1904
+ * * Central entry point for CSS operations. Aggregates class and style manipulation methods.
1697
1905
  * @requires ./classes
1698
- * * πŸ‡¬πŸ‡§: Class manipulation methods (addClass, removeClass, etc.).
1699
- * * πŸ‡©πŸ‡ͺ: Methoden zur Klassen-Manipulation (addClass, removeClass, etc.).
1906
+ * * Class manipulation methods (addClass, removeClass, etc.).
1700
1907
  * @requires ./styles
1701
- * * πŸ‡¬πŸ‡§: Style manipulation methods (css).
1702
- * * πŸ‡©πŸ‡ͺ: Methoden zur Style-Manipulation (css).
1908
+ * * Style manipulation methods (css).
1703
1909
  */
1704
1910
  /**
1705
1911
  * @file src/modules/events/binding.ts
1706
- * @version 2.0.1
1912
+ * @version 2.0.2
1707
1913
  * @since 2.0.0
1708
1914
  * @license GPL-3.0-or-later
1709
1915
  * @copyright Sven Minio 2026
1710
1916
  * @author Sven Minio <https://sven-minio.de>
1711
1917
  * @category Events
1712
1918
  * @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.
1919
+ * * Core event binding methods (on, off, trigger). Handles event registration and removal.
1715
1920
  * @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.
1921
+ * * Depends on the core jBase class for type definitions.
1718
1922
  */
1719
1923
  /**
1720
1924
  * @file src/modules/events/mouse.ts
1721
- * @version 2.0.1
1925
+ * @version 2.0.2
1722
1926
  * @since 2.0.0
1723
1927
  * @license GPL-3.0-or-later
1724
1928
  * @copyright Sven Minio 2026
1725
1929
  * @author Sven Minio <https://sven-minio.de>
1726
1930
  * @category Events
1727
1931
  * @description
1728
- * * πŸ‡¬πŸ‡§: Methods for handling mouse events (click, dblclick, hover, mouseenter, mouseleave).
1729
- * * πŸ‡©πŸ‡ͺ: Methoden zur Behandlung von Maus-Events (click, dblclick, hover, mouseenter, mouseleave).
1932
+ * * Methods for handling mouse events (click, dblclick, hover, mouseenter, mouseleave).
1730
1933
  * @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.
1934
+ * * Depends on the core jBase class for type definitions.
1733
1935
  */
1734
1936
  /**
1735
1937
  * @file src/modules/events/lifecycle.ts
1736
- * @version 2.0.1
1938
+ * @version 2.0.2
1737
1939
  * @since 2.0.0
1738
1940
  * @license GPL-3.0-or-later
1739
1941
  * @copyright Sven Minio 2026
1740
1942
  * @author Sven Minio <https://sven-minio.de>
1741
1943
  * @category Events
1742
1944
  * @description
1743
- * * πŸ‡¬πŸ‡§: Methods for handling DOM lifecycle events (e.g., ready).
1744
- * * πŸ‡©πŸ‡ͺ: Methoden zur Behandlung von DOM-Lebenszyklus-Events (z.B. ready).
1945
+ * * Methods for handling DOM lifecycle events (e.g., ready).
1745
1946
  * @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.
1947
+ * * Depends on the core jBase class for type definitions.
1748
1948
  */
1749
1949
  /**
1750
1950
  * @file src/modules/events/keyboard.ts
1751
- * @version 2.0.1
1951
+ * @version 2.0.2
1752
1952
  * @since 2.0.0
1753
1953
  * @license GPL-3.0-or-later
1754
1954
  * @copyright Sven Minio 2026
1755
1955
  * @author Sven Minio <https://sven-minio.de>
1756
1956
  * @category Events
1757
1957
  * @description
1758
- * * πŸ‡¬πŸ‡§: Methods for handling keyboard events (keydown, keyup, keypress).
1759
- * * πŸ‡©πŸ‡ͺ: Methoden zur Behandlung von Tastatur-Events (keydown, keyup, keypress).
1958
+ * * Methods for handling keyboard events (keydown, keyup, keypress).
1760
1959
  * @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.
1960
+ * * Depends on the core jBase class for type definitions.
1763
1961
  */
1764
1962
  /**
1765
1963
  * @file src/modules/events/form.ts
1766
- * @version 2.0.1
1964
+ * @version 2.0.2
1767
1965
  * @since 2.0.0
1768
1966
  * @license GPL-3.0-or-later
1769
1967
  * @copyright Sven Minio 2026
1770
1968
  * @author Sven Minio <https://sven-minio.de>
1771
1969
  * @category Events
1772
1970
  * @description
1773
- * * πŸ‡¬πŸ‡§: Methods for handling form events (submit, change, focus, blur, input).
1774
- * * πŸ‡©πŸ‡ͺ: Methoden zur Behandlung von Formular-Events (submit, change, focus, blur, input).
1971
+ * * Methods for handling form events (submit, change, focus, blur, input).
1775
1972
  * @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.
1973
+ * * Depends on the core jBase class for type definitions.
1778
1974
  */
1779
1975
  /**
1780
1976
  * @file src/modules/events/touch.ts
1781
- * @version 2.0.1
1977
+ * @version 2.0.2
1782
1978
  * @since 2.0.0
1783
1979
  * @license GPL-3.0-or-later
1784
1980
  * @copyright Sven Minio 2026
1785
1981
  * @author Sven Minio <https://sven-minio.de>
1786
1982
  * @category Events
1787
1983
  * @description
1788
- * * πŸ‡¬πŸ‡§: Methods for handling touch events (touchstart, touchend, touchmove).
1789
- * * πŸ‡©πŸ‡ͺ: Methoden zur Behandlung von Touch-Events (touchstart, touchend, touchmove).
1984
+ * * Methods for handling touch events (touchstart, touchend, touchmove).
1790
1985
  * @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.
1986
+ * * Depends on the core jBase class for type definitions.
1793
1987
  */
1794
1988
  /**
1795
1989
  * @file src/modules/events/index.ts
1796
- * @version 2.0.1
1990
+ * @version 2.0.2
1797
1991
  * @since 2.0.0
1798
1992
  * @license GPL-3.0-or-later
1799
1993
  * @copyright Sven Minio 2026
1800
1994
  * @author Sven Minio <https://sven-minio.de>
1801
1995
  * @category Events
1802
1996
  * @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.
1997
+ * * Central entry point for event handling. Aggregates binding, mouse, lifecycle, keyboard, form, and touch events.
1805
1998
  * @requires ./binding
1806
- * * πŸ‡¬πŸ‡§: General event binding (on, off).
1807
- * * πŸ‡©πŸ‡ͺ: Generelle Event-Bindung (on, off).
1999
+ * * General event binding (on, off).
1808
2000
  * @requires ./mouse
1809
- * * πŸ‡¬πŸ‡§: Mouse interaction events (click, hover, etc.).
1810
- * * πŸ‡©πŸ‡ͺ: Maus-Interaktions-Events (click, hover, etc.).
2001
+ * * Mouse interaction events (click, hover, etc.).
1811
2002
  * @requires ./lifecycle
1812
- * * πŸ‡¬πŸ‡§: DOM lifecycle events (ready).
1813
- * * πŸ‡©πŸ‡ͺ: DOM-Lebenszyklus-Events (ready).
2003
+ * * DOM lifecycle events (ready).
1814
2004
  * @requires ./keyboard
1815
- * * πŸ‡¬πŸ‡§: Keyboard interaction events (keydown, keyup).
1816
- * * πŸ‡©πŸ‡ͺ: Tastatur-Interaktions-Events (keydown, keyup).
2005
+ * * Keyboard interaction events (keydown, keyup).
1817
2006
  * @requires ./form
1818
- * * πŸ‡¬πŸ‡§: Form handling events (submit, change, input).
1819
- * * πŸ‡©πŸ‡ͺ: Formular-Verarbeitungs-Events (submit, change, input).
2007
+ * * Form handling events (submit, change, input).
1820
2008
  * @requires ./touch
1821
- * * πŸ‡¬πŸ‡§: Touch interaction events.
1822
- * * πŸ‡©πŸ‡ͺ: Touch-Interaktions-Events.
2009
+ * * Touch interaction events.
1823
2010
  */
1824
2011
  /**
1825
2012
  * @file src/modules/dom/attributes.ts
1826
- * @version 2.0.1
2013
+ * @version 2.0.2
1827
2014
  * @since 2.0.0
1828
2015
  * @license GPL-3.0-or-later
1829
2016
  * @copyright Sven Minio 2026
1830
2017
  * @author Sven Minio <https://sven-minio.de>
1831
2018
  * @category DOM
1832
2019
  * @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).
2020
+ * * Methods for getting and setting HTML attributes and properties (attr, data, val).
1835
2021
  * @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.
2022
+ * * Depends on the core jBase class for type definitions.
1838
2023
  */
1839
2024
  /**
1840
2025
  * @file src/modules/dom/content.ts
1841
- * @version 2.0.1
2026
+ * @version 2.0.2
1842
2027
  * @since 2.0.0
1843
2028
  * @license GPL-3.0-or-later
1844
2029
  * @copyright Sven Minio 2026
1845
2030
  * @author Sven Minio <https://sven-minio.de>
1846
2031
  * @category DOM
1847
2032
  * @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).
2033
+ * * Methods for getting and setting element content (html, text, empty, replaceWith).
1850
2034
  * @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.
2035
+ * * Depends on the core jBase class for type definitions.
1853
2036
  */
1854
2037
  /**
1855
2038
  * @file src/modules/dom/manipulation.ts
1856
- * @version 2.0.1
2039
+ * @version 2.0.2
1857
2040
  * @since 2.0.0
1858
2041
  * @license GPL-3.0-or-later
1859
2042
  * @copyright Sven Minio 2026
1860
2043
  * @author Sven Minio <https://sven-minio.de>
1861
2044
  * @category DOM
1862
2045
  * @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).
2046
+ * * Methods for inserting, moving, and removing elements (append, prepend, remove).
1865
2047
  * @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.
2048
+ * * Depends on the core jBase class for type definitions.
1868
2049
  */
1869
2050
  /**
1870
2051
  * @file src/modules/dom/traversal.ts
1871
- * @version 2.0.1
2052
+ * @version 2.0.2
1872
2053
  * @since 2.0.0
1873
2054
  * @license GPL-3.0-or-later
1874
2055
  * @copyright Sven Minio 2026
1875
2056
  * @author Sven Minio <https://sven-minio.de>
1876
2057
  * @category DOM
1877
2058
  * @description
1878
- * * πŸ‡¬πŸ‡§: Methods for navigating the DOM tree (find, parent, children, siblings).
1879
- * * πŸ‡©πŸ‡ͺ: Methoden zur Navigation im DOM-Baum (find, parent, children, siblings).
2059
+ * * Methods for navigating the DOM tree (find, parent, children, siblings).
1880
2060
  * @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.
2061
+ * * Depends on the core jBase class for type definitions.
1883
2062
  */
1884
2063
  /**
1885
2064
  * @file src/modules/dom/states.ts
1886
- * @version 2.0.1
2065
+ * @version 2.0.2
1887
2066
  * @since 2.0.0
1888
2067
  * @license GPL-3.0-or-later
1889
2068
  * @copyright Sven Minio 2026
1890
2069
  * @author Sven Minio <https://sven-minio.de>
1891
2070
  * @category DOM
1892
2071
  * @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).
2072
+ * * Methods for checking element states (e.g., visibility, checked, disabled).
1895
2073
  * @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.
2074
+ * * Depends on the core jBase class for type definitions.
1898
2075
  */
1899
2076
  /**
1900
2077
  * @file src/modules/dom/index.ts
1901
- * @version 2.0.1
2078
+ * @version 2.0.2
1902
2079
  * @since 2.0.0
1903
2080
  * @license GPL-3.0-or-later
1904
2081
  * @copyright Sven Minio 2026
1905
2082
  * @author Sven Minio <https://sven-minio.de>
1906
2083
  * @category DOM
1907
2084
  * @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.
2085
+ * * Central entry point for DOM operations. Aggregates methods for attributes, content, manipulation, traversal, and states.
1910
2086
  * @requires ./attributes
1911
- * * πŸ‡¬πŸ‡§: Attribute and value manipulation.
1912
- * * πŸ‡©πŸ‡ͺ: Attribut- und Wert-Manipulation.
2087
+ * * Attribute and value manipulation.
1913
2088
  * @requires ./content
1914
- * * πŸ‡¬πŸ‡§: Content handling (html, text).
1915
- * * πŸ‡©πŸ‡ͺ: Inhalts-Steuerung (html, text).
2089
+ * * Content handling (html, text).
1916
2090
  * @requires ./manipulation
1917
- * * πŸ‡¬πŸ‡§: DOM manipulation (append, remove, etc.).
1918
- * * πŸ‡©πŸ‡ͺ: DOM-Manipulation (append, remove, etc.).
2091
+ * * DOM manipulation (append, remove, etc.).
1919
2092
  * @requires ./traversal
1920
- * * πŸ‡¬πŸ‡§: Tree traversal (find, parent, children).
1921
- * * πŸ‡©πŸ‡ͺ: Baum-Durchquerung (find, parent, children).
2093
+ * * Tree traversal (find, parent, children).
1922
2094
  * @requires ./states
1923
- * * πŸ‡¬πŸ‡§: State checks (checked, disabled).
1924
- * * πŸ‡©πŸ‡ͺ: Status-PrΓΌfungen (checked, disabled).
2095
+ * * State checks (checked, disabled).
2096
+ */
2097
+ /**
2098
+ * @file src/utils.ts
2099
+ * @version 2.0.2
2100
+ * @since 2.0.0
2101
+ * @license GPL-3.0-or-later
2102
+ * @copyright Sven Minio 2026
2103
+ * @author Sven Minio <https://sven-minio.de>
2104
+ * @category Utilities
2105
+ * @description
2106
+ * * General utility functions and helpers (e.g., debounce, throttle, type checks).
1925
2107
  */
1926
2108
  /**
1927
2109
  * @file src/modules/effects/slide.ts
1928
- * @version 2.0.1
2110
+ * @version 2.0.2
1929
2111
  * @since 2.0.0
1930
2112
  * @license GPL-3.0-or-later
1931
2113
  * @copyright Sven Minio 2026
1932
2114
  * @author Sven Minio <https://sven-minio.de>
1933
2115
  * @category Effects
1934
2116
  * @description
1935
- * * πŸ‡¬πŸ‡§: Methods for horizontal sliding effects (slideIn, slideOut, slideToggle).
1936
- * * πŸ‡©πŸ‡ͺ: Methoden fΓΌr horizontale Slide-Effekte (slideIn, slideOut, slideToggle).
2117
+ * * Methods for horizontal sliding effects (slideIn, slideOut, slideToggle).
1937
2118
  * @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.
2119
+ * * Depends on the core jBase class for type definitions.
1940
2120
  */
1941
2121
  /**
1942
2122
  * @file src/modules/effects/vertical.ts
1943
- * @version 2.0.1
2123
+ * @version 2.0.2
1944
2124
  * @since 2.0.0
1945
2125
  * @license GPL-3.0-or-later
1946
2126
  * @copyright Sven Minio 2026
1947
2127
  * @author Sven Minio <https://sven-minio.de>
1948
2128
  * @category Effects
1949
2129
  * @description
1950
- * * πŸ‡¬πŸ‡§: Methods for vertical sliding effects (slideDown, slideUp, slideToggle).
1951
- * * πŸ‡©πŸ‡ͺ: Methoden fΓΌr vertikale Slide-Effekte (slideDown, slideUp, slideToggle).
2130
+ * * Methods for vertical sliding effects (slideDown, slideUp, slideToggle).
1952
2131
  * @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.
2132
+ * * Depends on the core jBase class for type definitions.
1955
2133
  */
1956
2134
  /**
1957
2135
  * @file src/modules/effects/fade.ts
1958
- * @version 2.0.1
2136
+ * @version 2.0.2
1959
2137
  * @since 2.0.0
1960
2138
  * @license GPL-3.0-or-later
1961
2139
  * @copyright Sven Minio 2026
1962
2140
  * @author Sven Minio <https://sven-minio.de>
1963
2141
  * @category Effects
1964
2142
  * @description
1965
- * * πŸ‡¬πŸ‡§: Methods for fading elements in and out (fadeIn, fadeOut, fadeToggle).
1966
- * * πŸ‡©πŸ‡ͺ: Methoden zum Ein- und Ausblenden von Elementen (fadeIn, fadeOut, fadeToggle).
2143
+ * * Methods for fading elements in and out (fadeIn, fadeOut, fadeToggle).
1967
2144
  * @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.
2145
+ * * Depends on the core jBase class for type definitions.
1970
2146
  */
1971
2147
  /**
1972
2148
  * @file src/modules/effects/index.ts
1973
- * @version 2.0.1
2149
+ * @version 2.0.2
1974
2150
  * @since 2.0.0
1975
2151
  * @license GPL-3.0-or-later
1976
2152
  * @copyright Sven Minio 2026
1977
2153
  * @author Sven Minio <https://sven-minio.de>
1978
2154
  * @category Effects
1979
2155
  * @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.
2156
+ * * Central entry point for visual effects. Aggregates slide, fade, and vertical animation modules.
1982
2157
  * @requires ./slide
1983
- * * πŸ‡¬πŸ‡§: Horizontal slide effects (slideIn, slideOut).
1984
- * * πŸ‡©πŸ‡ͺ: Horizontale Slide-Effekte (slideIn, slideOut).
2158
+ * * Horizontal slide effects (slideIn, slideOut).
1985
2159
  * @requires ./vertical
1986
- * * πŸ‡¬πŸ‡§: Vertical slide effects / Accordion (slideDown, slideUp).
1987
- * * πŸ‡©πŸ‡ͺ: Vertikale Slide-Effekte / Akkordeon (slideDown, slideUp).
2160
+ * * Vertical slide effects / Accordion (slideDown, slideUp).
1988
2161
  * @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).
2162
+ * * Opacity fade effects (fadeIn, fadeOut).
2003
2163
  */
2004
2164
  /**
2005
2165
  * @file src/modules/http/get.ts
2006
- * @version 2.0.1
2166
+ * @version 2.0.3
2007
2167
  * @since 2.0.0
2008
2168
  * @license GPL-3.0-or-later
2009
2169
  * @copyright Sven Minio 2026
2010
2170
  * @author Sven Minio <https://sven-minio.de>
2011
2171
  * @category HTTP
2012
2172
  * @description
2013
- * * πŸ‡¬πŸ‡§: Abstraction for HTTP GET requests.
2014
- * * πŸ‡©πŸ‡ͺ: Abstraktion fΓΌr HTTP GET-Anfragen.
2173
+ * * Abstraction for HTTP GET requests.
2015
2174
  * @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.
2175
+ * * Depends on the core jBase class for type definitions.
2018
2176
  */
2019
2177
  /**
2020
2178
  * @file src/modules/http/post.ts
2021
- * @version 2.0.1
2022
- * @since 2.0.0
2179
+ * @version 2.0.3
2180
+ * @since 2.0.2
2023
2181
  * @license GPL-3.0-or-later
2024
2182
  * @copyright Sven Minio 2026
2025
2183
  * @author Sven Minio <https://sven-minio.de>
2026
2184
  * @category HTTP
2027
2185
  * * @description
2028
- * * πŸ‡¬πŸ‡§: Abstraction for HTTP POST requests.
2029
- * * πŸ‡©πŸ‡ͺ: Abstraktion fΓΌr HTTP POST-Anfragen.
2186
+ * * Abstraction for HTTP POST requests.
2030
2187
  * @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.
2188
+ * * Depends on the core jBase class for type definitions.
2033
2189
  */
2034
2190
  /**
2035
2191
  * @file src/modules/http/index.ts
2036
- * @version 2.0.1
2192
+ * @version 2.0.2
2037
2193
  * @since 2.0.0
2038
2194
  * @license GPL-3.0-or-later
2039
2195
  * @copyright Sven Minio 2026
2040
2196
  * @author Sven Minio <https://sven-minio.de>
2041
2197
  * @category HTTP
2042
2198
  * @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.
2199
+ * * Central entry point for HTTP requests. Aggregates GET and POST methods.
2045
2200
  * @requires ./get
2046
- * * πŸ‡¬πŸ‡§: HTTP GET methods (get, getText).
2047
- * * πŸ‡©πŸ‡ͺ: HTTP GET-Methoden (get, getText).
2201
+ * * HTTP GET methods (get, getText).
2048
2202
  * @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.
2203
+ * * HTTP POST methods.
2063
2204
  */
2064
2205
  /**
2065
2206
  * @file src/modules/data/arrays.ts
2066
- * @version 2.0.1
2207
+ * @version 2.0.2
2067
2208
  * @since 2.0.0
2068
2209
  * @license GPL-3.0-or-later
2069
2210
  * @copyright Sven Minio 2026
2070
2211
  * @author Sven Minio <https://sven-minio.de>
2071
2212
  * @category Data
2072
2213
  * @description
2073
- * * πŸ‡¬πŸ‡§: Utility functions for array manipulation and data processing.
2074
- * * πŸ‡©πŸ‡ͺ: Hilfsfunktionen fΓΌr Array-Manipulation und Datenverarbeitung.
2214
+ * * Utility functions for array manipulation and data processing.
2075
2215
  * @requires ./types
2076
- * * πŸ‡¬πŸ‡§: Depends on match logic and types.
2077
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von Match-Logik und Typen ab.
2216
+ * * Depends on types.
2078
2217
  */
2079
2218
  /**
2080
2219
  * @file src/modules/data/objects.ts
2081
- * @version 2.0.1
2220
+ * @version 2.0.2
2082
2221
  * @since 2.0.0
2083
2222
  * @license GPL-3.0-or-later
2084
2223
  * @copyright Sven Minio 2026
2085
2224
  * @author Sven Minio <https://sven-minio.de>
2086
2225
  * @category Data
2087
2226
  * @description
2088
- * * πŸ‡¬πŸ‡§: Utility functions for object manipulation (e.g., deep merging, extension).
2089
- * * πŸ‡©πŸ‡ͺ: Hilfsfunktionen fΓΌr Objekt-Manipulation (z.B. Deep Merge, Erweiterung).
2227
+ * * Utility functions for object manipulation (e.g., deep merging, extension).
2090
2228
  * @requires ./types
2091
- * * πŸ‡¬πŸ‡§: Depends on match logic and types.
2092
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von Match-Logik und Typen ab.
2229
+ * * Depends on types.
2093
2230
  */
2094
2231
  /**
2095
2232
  * @file src/modules/data/index.ts
2096
- * @version 2.0.1
2233
+ * @version 2.0.2
2097
2234
  * @since 2.0.0
2098
2235
  * * @license GPL-3.0-or-later
2099
2236
  * @copyright Sven Minio 2026
2100
2237
  * @author Sven Minio <https://sven-minio.de>
2101
2238
  * @category Data
2102
2239
  * @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.
2240
+ * * Central entry point for data manipulation modules. Aggregates array and object utilities.
2105
2241
  * @requires ./arrays
2106
- * * πŸ‡¬πŸ‡§: Array manipulation methods.
2107
- * * πŸ‡©πŸ‡ͺ: Methoden zur Array-Manipulation.
2242
+ * * Array manipulation methods.
2108
2243
  * @requires ./objects
2109
- * * πŸ‡¬πŸ‡§: Object manipulation methods.
2110
- * * πŸ‡©πŸ‡ͺ: Methoden zur Objekt-Manipulation.
2244
+ * * Object manipulation methods.
2111
2245
  */
2112
2246
  /**
2113
2247
  * @file src/index.ts
2114
- * @version 2.0.1
2248
+ * @version 2.0.2
2115
2249
  * @since 2.0.0
2116
2250
  * @license GPL-3.0-or-later
2117
2251
  * @copyright Sven Minio 2026
2118
2252
  * @author Sven Minio <https://sven-minio.de>
2119
2253
  * @category Entry Point
2120
2254
  * @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.
2255
+ * * Main library entry point. Aggregates Core, Types, Utils, and all functional modules into a single export.
2123
2256
  * @requires ./core
2124
- * * πŸ‡¬πŸ‡§: Core class logic and inheritance.
2125
- * * πŸ‡©πŸ‡ͺ: Kern-Klassenlogik und Vererbung.
2257
+ * * Core class logic and inheritance.
2126
2258
  * @requires ./types
2127
- * * πŸ‡¬πŸ‡§: TypeScript type definitions and interfaces.
2128
- * * πŸ‡©πŸ‡ͺ: TypeScript Typ-Definitionen und Interfaces.
2259
+ * * TypeScript type definitions and interfaces.
2129
2260
  * @requires ./utils
2130
- * * πŸ‡¬πŸ‡§: Helper functions (throttle, debounce).
2131
- * * πŸ‡©πŸ‡ͺ: Hilfsfunktionen (throttle, debounce).
2261
+ * * Helper functions (throttle, debounce).
2132
2262
  * @requires ./modules/css
2133
- * * πŸ‡¬πŸ‡§: Style manipulation methods.
2134
- * * πŸ‡©πŸ‡ͺ: Style-Manipulations-Methoden.
2263
+ * * Style manipulation methods.
2135
2264
  * @requires ./modules/events
2136
- * * πŸ‡¬πŸ‡§: Event handling logic.
2137
- * * πŸ‡©πŸ‡ͺ: Event-Handling-Logik.
2265
+ * * Event handling logic.
2138
2266
  * @requires ./modules/dom
2139
- * * πŸ‡¬πŸ‡§: DOM traversal and manipulation.
2140
- * * πŸ‡©πŸ‡ͺ: DOM-Traversierung und -Manipulation.
2267
+ * * DOM traversal and manipulation.
2141
2268
  * @requires ./modules/effects
2142
- * * πŸ‡¬πŸ‡§: Visual effects and animations.
2143
- * * πŸ‡©πŸ‡ͺ: Visuelle Effekte und Animationen.
2269
+ * * Visual effects and animations.
2144
2270
  * @requires ./modules/http
2145
- * * πŸ‡¬πŸ‡§: HTTP client for AJAX requests.
2146
- * * πŸ‡©πŸ‡ͺ: HTTP-Client fΓΌr AJAX-Anfragen.
2271
+ * * HTTP client for AJAX requests.
2147
2272
  * @requires ./modules/data
2148
- * * πŸ‡¬πŸ‡§: Data structure utilities.
2149
- * * πŸ‡©πŸ‡ͺ: Datenstruktur-Utilities.
2273
+ * * Data structure utilities.
2150
2274
  */
2275
+ //# sourceMappingURL=index.cjs.map