@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
@@ -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
@@ -28,27 +28,32 @@
28
28
  "use strict";
29
29
  /**
30
30
  * @file src/core.ts
31
- * @version 2.0.1
31
+ * @version 2.0.2
32
32
  * @since 2.0.0
33
33
  * @license GPL-3.0-or-later
34
34
  * @copyright Sven Minio 2026
35
35
  * @author Sven Minio <https://sven-minio.de>
36
36
  * @category Core
37
37
  * @description
38
- * * πŸ‡¬πŸ‡§: The main jBase class. Handles the selection engine, initialization, and plugin architecture.
39
- * * πŸ‡©πŸ‡ͺ: Die Haupt-jBase-Klasse. Behandelt die Selektions-Engine, Initialisierung und Plugin-Architektur.
38
+ * * The main jBase class. Handles the selection engine, initialization, and plugin architecture.
40
39
  */
41
40
  jBase = class extends Array {
42
41
  selectorSource = "";
42
+ doc;
43
43
  /**
44
- * * πŸ‡¬πŸ‡§: Initializes a new jBase instance. Analyzes the provided selector and populates the internal array with found or created DOM elements.
45
- * * πŸ‡©πŸ‡ͺ: Initialisiert eine neue jBase-Instanz. Analysiert den ΓΌbergebenen Selektor und fΓΌllt das interne Array mit den gefundenen oder erstellten DOM-Elementen.
44
+ * * Initializes a new jBase instance. Analyzes the provided selector and populates the internal array with found or created DOM elements.
46
45
  * @param selector
47
- * * πŸ‡¬πŸ‡§: The input selector (CSS selector, HTML string, DOM element, or collection).
48
- * * πŸ‡©πŸ‡ͺ: Der Eingabe-Selektor (CSS-Selektor, HTML-String, DOM-Element oder Sammlung).
46
+ * * The input selector (CSS selector, HTML string, DOM element, or collection).
49
47
  */
50
- constructor(selector) {
48
+ constructor(selector, context) {
51
49
  super();
50
+ if (context instanceof Document) {
51
+ this.doc = context;
52
+ } else if (context && context.document) {
53
+ this.doc = context.document;
54
+ } else {
55
+ this.doc = typeof document !== "undefined" ? document : null;
56
+ }
52
57
  if (typeof document === "undefined") {
53
58
  return;
54
59
  }
@@ -67,19 +72,31 @@
67
72
  const el = document.getElementById(trimmed.slice(1));
68
73
  if (el)
69
74
  this.push(el);
75
+ } else if (trimmed.startsWith(".") && !trimmed.includes(" ") && !/[:\[#]/.test(trimmed)) {
76
+ const els = document.getElementsByClassName(trimmed.slice(1));
77
+ for (let i = 0; i < els.length; i++) {
78
+ this.push(els[i]);
79
+ }
80
+ } else if (/^[a-zA-Z0-9]+$/.test(trimmed)) {
81
+ const els = document.getElementsByTagName(trimmed);
82
+ for (let i = 0; i < els.length; i++) {
83
+ this.push(els[i]);
84
+ }
70
85
  } else {
71
- this.push(...Array.from(document.querySelectorAll(selector)));
86
+ try {
87
+ this.push(...Array.from(document.querySelectorAll(selector)));
88
+ } catch (e) {
89
+ console.warn(`jBase: Invalid selector "${selector}"`, e);
90
+ }
72
91
  }
73
92
  } else if (selector instanceof NodeList || Array.isArray(selector)) {
74
93
  this.push(...Array.from(selector));
75
94
  }
76
95
  }
77
96
  /**
78
- * * πŸ‡¬πŸ‡§: Custom serializer for JSON.stringify. Prevents circular references and huge outputs by returning a simplified preview.
79
- * * πŸ‡©πŸ‡ͺ: Benutzerdefinierte Serialisierung fΓΌr JSON.stringify. Verhindert ZirkelbezΓΌge und riesige Ausgaben durch RΓΌckgabe einer vereinfachten Vorschau.
97
+ * * Custom serializer for JSON.stringify. Prevents circular references and huge outputs by returning a simplified preview.
80
98
  * @returns
81
- * * πŸ‡¬πŸ‡§: A simplified object representation for debugging.
82
- * * πŸ‡©πŸ‡ͺ: Eine vereinfachte ObjektreprΓ€sentation fΓΌr das Debugging.
99
+ * * A simplified object representation for debugging.
83
100
  */
84
101
  toJSON() {
85
102
  return {
@@ -133,18 +150,16 @@
133
150
  "use strict";
134
151
  /**
135
152
  * @file src/modules/css/classes.ts
136
- * @version 2.0.1
153
+ * @version 2.0.2
137
154
  * @since 2.0.0
138
155
  * @license GPL-3.0-or-later
139
156
  * @copyright Sven Minio 2026
140
157
  * @author Sven Minio <https://sven-minio.de>
141
158
  * @category CSS
142
159
  * @description
143
- * * πŸ‡¬πŸ‡§: Methods for manipulating CSS classes (add, remove, toggle, has).
144
- * * πŸ‡©πŸ‡ͺ: Methoden zur Manipulation von CSS-Klassen (add, remove, toggle, has).
160
+ * * Methods for manipulating CSS classes (add, remove, toggle, has).
145
161
  * @requires ../../core
146
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
147
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
162
+ * * Depends on the core jBase class for type definitions.
148
163
  */
149
164
  }
150
165
  });
@@ -158,7 +173,13 @@
158
173
  if (value === void 0) {
159
174
  const el = this[0];
160
175
  if (el instanceof HTMLElement || el instanceof SVGElement) {
161
- return window.getComputedStyle(el)[property];
176
+ const doc = el.ownerDocument;
177
+ const win = doc ? doc.defaultView : null;
178
+ if (win) {
179
+ return win.getComputedStyle(el)[property];
180
+ } else {
181
+ return el.style[property] || "";
182
+ }
162
183
  }
163
184
  return "";
164
185
  }
@@ -174,18 +195,16 @@
174
195
  "use strict";
175
196
  /**
176
197
  * @file src/modules/css/styles.ts
177
- * @version 2.0.1
198
+ * @version 2.0.2
178
199
  * @since 2.0.0
179
200
  * @license GPL-3.0-or-later
180
201
  * @copyright Sven Minio 2026
181
202
  * @author Sven Minio <https://sven-minio.de>
182
203
  * @category CSS
183
204
  * @description
184
- * * πŸ‡¬πŸ‡§: Methods for getting and setting inline CSS styles.
185
- * * πŸ‡©πŸ‡ͺ: Methoden zum Lesen und Setzen von Inline-CSS-Styles.
205
+ * * Methods for getting and setting inline CSS styles.
186
206
  * @requires ../../core
187
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
188
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
207
+ * * Depends on the core jBase class for type definitions.
189
208
  */
190
209
  }
191
210
  });
@@ -199,21 +218,18 @@
199
218
  init_styles();
200
219
  /**
201
220
  * @file src/modules/css/index.ts
202
- * @version 2.0.1
221
+ * @version 2.0.2
203
222
  * @since 2.0.0
204
223
  * @license GPL-3.0-or-later
205
224
  * @copyright Sven Minio 2026
206
225
  * @author Sven Minio <https://sven-minio.de>
207
226
  * @category CSS
208
227
  * @description
209
- * * πŸ‡¬πŸ‡§: Central entry point for CSS operations. Aggregates class and style manipulation methods.
210
- * * πŸ‡©πŸ‡ͺ: Zentraler Einstiegspunkt fΓΌr CSS-Operationen. Aggregiert Methoden zur Klassen- und Style-Manipulation.
228
+ * * Central entry point for CSS operations. Aggregates class and style manipulation methods.
211
229
  * @requires ./classes
212
- * * πŸ‡¬πŸ‡§: Class manipulation methods (addClass, removeClass, etc.).
213
- * * πŸ‡©πŸ‡ͺ: Methoden zur Klassen-Manipulation (addClass, removeClass, etc.).
230
+ * * Class manipulation methods (addClass, removeClass, etc.).
214
231
  * @requires ./styles
215
- * * πŸ‡¬πŸ‡§: Style manipulation methods (css).
216
- * * πŸ‡©πŸ‡ͺ: Methoden zur Style-Manipulation (css).
232
+ * * Style manipulation methods (css).
217
233
  */
218
234
  cssMethods = {
219
235
  ...classes_exports,
@@ -245,18 +261,16 @@
245
261
  "use strict";
246
262
  /**
247
263
  * @file src/modules/events/binding.ts
248
- * @version 2.0.1
264
+ * @version 2.0.2
249
265
  * @since 2.0.0
250
266
  * @license GPL-3.0-or-later
251
267
  * @copyright Sven Minio 2026
252
268
  * @author Sven Minio <https://sven-minio.de>
253
269
  * @category Events
254
270
  * @description
255
- * * πŸ‡¬πŸ‡§: Core event binding methods (on, off, trigger). Handles event registration and removal.
256
- * * πŸ‡©πŸ‡ͺ: Kern-Methoden fΓΌr Event-Binding (on, off, trigger). Behandelt die Registrierung und Entfernung von Events.
271
+ * * Core event binding methods (on, off, trigger). Handles event registration and removal.
257
272
  * @requires ../../core
258
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
259
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
273
+ * * Depends on the core jBase class for type definitions.
260
274
  */
261
275
  }
262
276
  });
@@ -326,18 +340,16 @@
326
340
  "use strict";
327
341
  /**
328
342
  * @file src/modules/events/mouse.ts
329
- * @version 2.0.1
343
+ * @version 2.0.2
330
344
  * @since 2.0.0
331
345
  * @license GPL-3.0-or-later
332
346
  * @copyright Sven Minio 2026
333
347
  * @author Sven Minio <https://sven-minio.de>
334
348
  * @category Events
335
349
  * @description
336
- * * πŸ‡¬πŸ‡§: Methods for handling mouse events (click, dblclick, hover, mouseenter, mouseleave).
337
- * * πŸ‡©πŸ‡ͺ: Methoden zur Behandlung von Maus-Events (click, dblclick, hover, mouseenter, mouseleave).
350
+ * * Methods for handling mouse events (click, dblclick, hover, mouseenter, mouseleave).
338
351
  * @requires ../../core
339
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
340
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
352
+ * * Depends on the core jBase class for type definitions.
341
353
  */
342
354
  }
343
355
  });
@@ -348,7 +360,8 @@
348
360
  ready: () => ready
349
361
  });
350
362
  function ready(handler) {
351
- if (document.readyState === "complete" || document.readyState === "interactive") {
363
+ const doc = window.document;
364
+ if (doc.readyState === "complete" || doc.readyState === "interactive") {
352
365
  handler();
353
366
  } else {
354
367
  this.on("DOMContentLoaded", handler);
@@ -360,18 +373,16 @@
360
373
  "use strict";
361
374
  /**
362
375
  * @file src/modules/events/lifecycle.ts
363
- * @version 2.0.1
376
+ * @version 2.0.2
364
377
  * @since 2.0.0
365
378
  * @license GPL-3.0-or-later
366
379
  * @copyright Sven Minio 2026
367
380
  * @author Sven Minio <https://sven-minio.de>
368
381
  * @category Events
369
382
  * @description
370
- * * πŸ‡¬πŸ‡§: Methods for handling DOM lifecycle events (e.g., ready).
371
- * * πŸ‡©πŸ‡ͺ: Methoden zur Behandlung von DOM-Lebenszyklus-Events (z.B. ready).
383
+ * * Methods for handling DOM lifecycle events (e.g., ready).
372
384
  * @requires ../../core
373
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
374
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
385
+ * * Depends on the core jBase class for type definitions.
375
386
  */
376
387
  }
377
388
  });
@@ -406,18 +417,16 @@
406
417
  "use strict";
407
418
  /**
408
419
  * @file src/modules/events/keyboard.ts
409
- * @version 2.0.1
420
+ * @version 2.0.2
410
421
  * @since 2.0.0
411
422
  * @license GPL-3.0-or-later
412
423
  * @copyright Sven Minio 2026
413
424
  * @author Sven Minio <https://sven-minio.de>
414
425
  * @category Events
415
426
  * @description
416
- * * πŸ‡¬πŸ‡§: Methods for handling keyboard events (keydown, keyup, keypress).
417
- * * πŸ‡©πŸ‡ͺ: Methoden zur Behandlung von Tastatur-Events (keydown, keyup, keypress).
427
+ * * Methods for handling keyboard events (keydown, keyup, keypress).
418
428
  * @requires ../../core
419
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
420
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
429
+ * * Depends on the core jBase class for type definitions.
421
430
  */
422
431
  }
423
432
  });
@@ -465,18 +474,16 @@
465
474
  "use strict";
466
475
  /**
467
476
  * @file src/modules/events/form.ts
468
- * @version 2.0.1
477
+ * @version 2.0.2
469
478
  * @since 2.0.0
470
479
  * @license GPL-3.0-or-later
471
480
  * @copyright Sven Minio 2026
472
481
  * @author Sven Minio <https://sven-minio.de>
473
482
  * @category Events
474
483
  * @description
475
- * * πŸ‡¬πŸ‡§: Methods for handling form events (submit, change, focus, blur, input).
476
- * * πŸ‡©πŸ‡ͺ: Methoden zur Behandlung von Formular-Events (submit, change, focus, blur, input).
484
+ * * Methods for handling form events (submit, change, focus, blur, input).
477
485
  * @requires ../../core
478
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
479
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
486
+ * * Depends on the core jBase class for type definitions.
480
487
  */
481
488
  }
482
489
  });
@@ -506,18 +513,16 @@
506
513
  "use strict";
507
514
  /**
508
515
  * @file src/modules/events/touch.ts
509
- * @version 2.0.1
516
+ * @version 2.0.2
510
517
  * @since 2.0.0
511
518
  * @license GPL-3.0-or-later
512
519
  * @copyright Sven Minio 2026
513
520
  * @author Sven Minio <https://sven-minio.de>
514
521
  * @category Events
515
522
  * @description
516
- * * πŸ‡¬πŸ‡§: Methods for handling touch events (touchstart, touchend, touchmove).
517
- * * πŸ‡©πŸ‡ͺ: Methoden zur Behandlung von Touch-Events (touchstart, touchend, touchmove).
523
+ * * Methods for handling touch events (touchstart, touchend, touchmove).
518
524
  * @requires ../../core
519
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
520
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
525
+ * * Depends on the core jBase class for type definitions.
521
526
  */
522
527
  }
523
528
  });
@@ -535,33 +540,26 @@
535
540
  init_touch();
536
541
  /**
537
542
  * @file src/modules/events/index.ts
538
- * @version 2.0.1
543
+ * @version 2.0.2
539
544
  * @since 2.0.0
540
545
  * @license GPL-3.0-or-later
541
546
  * @copyright Sven Minio 2026
542
547
  * @author Sven Minio <https://sven-minio.de>
543
548
  * @category Events
544
549
  * @description
545
- * * πŸ‡¬πŸ‡§: Central entry point for event handling. Aggregates binding, mouse, lifecycle, keyboard, form, and touch events.
546
- * * πŸ‡©πŸ‡ͺ: Zentraler Einstiegspunkt fΓΌr Event-Handling. Aggregiert Binding-, Maus-, Lebenszyklus-, Tastatur-, Formular- und Touch-Events.
550
+ * * Central entry point for event handling. Aggregates binding, mouse, lifecycle, keyboard, form, and touch events.
547
551
  * @requires ./binding
548
- * * πŸ‡¬πŸ‡§: General event binding (on, off).
549
- * * πŸ‡©πŸ‡ͺ: Generelle Event-Bindung (on, off).
552
+ * * General event binding (on, off).
550
553
  * @requires ./mouse
551
- * * πŸ‡¬πŸ‡§: Mouse interaction events (click, hover, etc.).
552
- * * πŸ‡©πŸ‡ͺ: Maus-Interaktions-Events (click, hover, etc.).
554
+ * * Mouse interaction events (click, hover, etc.).
553
555
  * @requires ./lifecycle
554
- * * πŸ‡¬πŸ‡§: DOM lifecycle events (ready).
555
- * * πŸ‡©πŸ‡ͺ: DOM-Lebenszyklus-Events (ready).
556
+ * * DOM lifecycle events (ready).
556
557
  * @requires ./keyboard
557
- * * πŸ‡¬πŸ‡§: Keyboard interaction events (keydown, keyup).
558
- * * πŸ‡©πŸ‡ͺ: Tastatur-Interaktions-Events (keydown, keyup).
558
+ * * Keyboard interaction events (keydown, keyup).
559
559
  * @requires ./form
560
- * * πŸ‡¬πŸ‡§: Form handling events (submit, change, input).
561
- * * πŸ‡©πŸ‡ͺ: Formular-Verarbeitungs-Events (submit, change, input).
560
+ * * Form handling events (submit, change, input).
562
561
  * @requires ./touch
563
- * * πŸ‡¬πŸ‡§: Touch interaction events.
564
- * * πŸ‡©πŸ‡ͺ: Touch-Interaktions-Events.
562
+ * * Touch interaction events.
565
563
  */
566
564
  eventMethods = {
567
565
  ...binding_exports,
@@ -610,18 +608,16 @@
610
608
  "use strict";
611
609
  /**
612
610
  * @file src/modules/dom/attributes.ts
613
- * @version 2.0.1
611
+ * @version 2.0.2
614
612
  * @since 2.0.0
615
613
  * @license GPL-3.0-or-later
616
614
  * @copyright Sven Minio 2026
617
615
  * @author Sven Minio <https://sven-minio.de>
618
616
  * @category DOM
619
617
  * @description
620
- * * πŸ‡¬πŸ‡§: Methods for getting and setting HTML attributes and properties (attr, data, val).
621
- * * πŸ‡©πŸ‡ͺ: Methoden zum Lesen und Setzen von HTML-Attributen und Eigenschaften (attr, data, val).
618
+ * * Methods for getting and setting HTML attributes and properties (attr, data, val).
622
619
  * @requires ../../core
623
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
624
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
620
+ * * Depends on the core jBase class for type definitions.
625
621
  */
626
622
  }
627
623
  });
@@ -659,18 +655,16 @@
659
655
  "use strict";
660
656
  /**
661
657
  * @file src/modules/dom/content.ts
662
- * @version 2.0.1
658
+ * @version 2.0.2
663
659
  * @since 2.0.0
664
660
  * @license GPL-3.0-or-later
665
661
  * @copyright Sven Minio 2026
666
662
  * @author Sven Minio <https://sven-minio.de>
667
663
  * @category DOM
668
664
  * @description
669
- * * πŸ‡¬πŸ‡§: Methods for getting and setting element content (html, text, empty, replaceWith).
670
- * * πŸ‡©πŸ‡ͺ: Methoden zum Lesen und Setzen von Elementinhalten (html, text, empty, replaceWith).
665
+ * * Methods for getting and setting element content (html, text, empty, replaceWith).
671
666
  * @requires ../../core
672
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
673
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
667
+ * * Depends on the core jBase class for type definitions.
674
668
  */
675
669
  }
676
670
  });
@@ -693,16 +687,22 @@
693
687
  unwrap: () => unwrap,
694
688
  wrap: () => wrap
695
689
  });
696
- function parseHTML(html2) {
697
- const tmp = document.createElement("div");
690
+ function parseHTML(html2, doc) {
691
+ const tmp = doc.createElement("div");
698
692
  tmp.innerHTML = html2.trim();
699
693
  return tmp.firstElementChild;
700
694
  }
701
- function normalizeToFragment(content) {
702
- const fragment = document.createDocumentFragment();
695
+ function getDoc(collection) {
696
+ if (collection.length > 0 && collection[0] instanceof Element) {
697
+ return collection[0].ownerDocument;
698
+ }
699
+ return typeof document !== "undefined" ? document : null;
700
+ }
701
+ function normalizeToFragment(content, doc) {
702
+ const fragment = doc.createDocumentFragment();
703
703
  const add = (item) => {
704
704
  if (typeof item === "string") {
705
- const temp = document.createElement("div");
705
+ const temp = doc.createElement("div");
706
706
  temp.innerHTML = item.trim();
707
707
  while (temp.firstChild) {
708
708
  fragment.appendChild(temp.firstChild);
@@ -740,7 +740,18 @@
740
740
  return new this.constructor(newElements);
741
741
  }
742
742
  function append(content) {
743
- const fragment = normalizeToFragment(content);
743
+ if (typeof content === "string") {
744
+ this.forEach((el) => {
745
+ if (el instanceof Element) {
746
+ el.insertAdjacentHTML("beforeend", content);
747
+ }
748
+ });
749
+ return this;
750
+ }
751
+ const doc = getDoc(this);
752
+ if (!doc)
753
+ return this;
754
+ const fragment = normalizeToFragment(content, doc);
744
755
  this.forEach((el, i) => {
745
756
  if (el instanceof Element) {
746
757
  const contentToInsert = i < this.length - 1 ? fragment.cloneNode(true) : fragment;
@@ -750,7 +761,18 @@
750
761
  return this;
751
762
  }
752
763
  function prepend(content) {
753
- const fragment = normalizeToFragment(content);
764
+ if (typeof content === "string") {
765
+ this.forEach((el) => {
766
+ if (el instanceof Element) {
767
+ el.insertAdjacentHTML("afterbegin", content);
768
+ }
769
+ });
770
+ return this;
771
+ }
772
+ const doc = getDoc(this);
773
+ if (!doc)
774
+ return this;
775
+ const fragment = normalizeToFragment(content, doc);
754
776
  this.forEach((el, i) => {
755
777
  if (el instanceof Element) {
756
778
  const contentToInsert = i < this.length - 1 ? fragment.cloneNode(true) : fragment;
@@ -760,7 +782,18 @@
760
782
  return this;
761
783
  }
762
784
  function before(content) {
763
- const fragment = normalizeToFragment(content);
785
+ if (typeof content === "string") {
786
+ this.forEach((el) => {
787
+ if (el instanceof Element) {
788
+ el.insertAdjacentHTML("beforebegin", content);
789
+ }
790
+ });
791
+ return this;
792
+ }
793
+ const doc = getDoc(this);
794
+ if (!doc)
795
+ return this;
796
+ const fragment = normalizeToFragment(content, doc);
764
797
  this.forEach((el, i) => {
765
798
  if (el instanceof Element) {
766
799
  const contentToInsert = i < this.length - 1 ? fragment.cloneNode(true) : fragment;
@@ -770,7 +803,18 @@
770
803
  return this;
771
804
  }
772
805
  function after(content) {
773
- const fragment = normalizeToFragment(content);
806
+ if (typeof content === "string") {
807
+ this.forEach((el) => {
808
+ if (el instanceof Element) {
809
+ el.insertAdjacentHTML("afterend", content);
810
+ }
811
+ });
812
+ return this;
813
+ }
814
+ const doc = getDoc(this);
815
+ if (!doc)
816
+ return this;
817
+ const fragment = normalizeToFragment(content, doc);
774
818
  this.forEach((el, i) => {
775
819
  if (el instanceof Element) {
776
820
  const contentToInsert = i < this.length - 1 ? fragment.cloneNode(true) : fragment;
@@ -780,7 +824,10 @@
780
824
  return this;
781
825
  }
782
826
  function replaceWith(content) {
783
- const fragment = normalizeToFragment(content);
827
+ const doc = getDoc(this);
828
+ if (!doc)
829
+ return this;
830
+ const fragment = normalizeToFragment(content, doc);
784
831
  this.forEach((el, i) => {
785
832
  if (el instanceof Element) {
786
833
  const contentToInsert = i < this.length - 1 ? fragment.cloneNode(true) : fragment;
@@ -790,9 +837,12 @@
790
837
  return this;
791
838
  }
792
839
  function appendTo(target) {
793
- const parent2 = typeof target === "string" ? document.querySelector(target) : target;
840
+ const doc = getDoc(this);
841
+ if (!doc)
842
+ return this;
843
+ const parent2 = typeof target === "string" ? doc.querySelector(target) : target;
794
844
  if (parent2 instanceof Element) {
795
- const fragment = document.createDocumentFragment();
845
+ const fragment = doc.createDocumentFragment();
796
846
  this.forEach((el) => {
797
847
  if (el instanceof Node) fragment.appendChild(el);
798
848
  });
@@ -801,9 +851,12 @@
801
851
  return this;
802
852
  }
803
853
  function prependTo(target) {
804
- const parent2 = typeof target === "string" ? document.querySelector(target) : target;
854
+ const doc = getDoc(this);
855
+ if (!doc)
856
+ return this;
857
+ const parent2 = typeof target === "string" ? doc.querySelector(target) : target;
805
858
  if (parent2 instanceof Element) {
806
- const fragment = document.createDocumentFragment();
859
+ const fragment = doc.createDocumentFragment();
807
860
  this.forEach((el) => {
808
861
  if (el instanceof Node) fragment.appendChild(el);
809
862
  });
@@ -812,9 +865,12 @@
812
865
  return this;
813
866
  }
814
867
  function insertBefore(target) {
815
- const targetEl = typeof target === "string" ? document.querySelector(target) : target;
868
+ const doc = getDoc(this);
869
+ if (!doc)
870
+ return this;
871
+ const targetEl = typeof target === "string" ? doc.querySelector(target) : target;
816
872
  if (targetEl instanceof Element) {
817
- const fragment = document.createDocumentFragment();
873
+ const fragment = doc.createDocumentFragment();
818
874
  this.forEach((el) => {
819
875
  if (el instanceof Node) fragment.appendChild(el);
820
876
  });
@@ -823,9 +879,12 @@
823
879
  return this;
824
880
  }
825
881
  function insertAfter(target) {
826
- const targetEl = typeof target === "string" ? document.querySelector(target) : target;
882
+ const doc = getDoc(this);
883
+ if (!doc)
884
+ return this;
885
+ const targetEl = typeof target === "string" ? doc.querySelector(target) : target;
827
886
  if (targetEl instanceof Element) {
828
- const fragment = document.createDocumentFragment();
887
+ const fragment = doc.createDocumentFragment();
829
888
  this.forEach((el) => {
830
889
  if (el instanceof Node) fragment.appendChild(el);
831
890
  });
@@ -834,9 +893,12 @@
834
893
  return this;
835
894
  }
836
895
  function wrap(wrapperHtml) {
896
+ const doc = getDoc(this);
897
+ if (!doc)
898
+ return this;
837
899
  this.forEach((el) => {
838
900
  if (el instanceof Element) {
839
- const wrapper = parseHTML(wrapperHtml);
901
+ const wrapper = parseHTML(wrapperHtml, doc);
840
902
  if (el.parentNode) {
841
903
  el.parentNode.insertBefore(wrapper, el);
842
904
  }
@@ -846,16 +908,22 @@
846
908
  return this;
847
909
  }
848
910
  function unwrap() {
911
+ const doc = getDoc(this);
912
+ if (!doc)
913
+ return this;
914
+ const parents2 = /* @__PURE__ */ new Set();
849
915
  this.forEach((el) => {
850
916
  if (el instanceof Element && el.parentElement) {
851
- const parent2 = el.parentElement;
852
- const fragment = document.createDocumentFragment();
853
- while (parent2.firstChild) {
854
- fragment.appendChild(parent2.firstChild);
855
- }
856
- parent2.replaceWith(fragment);
917
+ parents2.add(el.parentElement);
857
918
  }
858
919
  });
920
+ parents2.forEach((parent2) => {
921
+ const fragment = doc.createDocumentFragment();
922
+ while (parent2.firstChild) {
923
+ fragment.appendChild(parent2.firstChild);
924
+ }
925
+ parent2.replaceWith(fragment);
926
+ });
859
927
  return this;
860
928
  }
861
929
  var init_manipulation = __esm({
@@ -864,18 +932,16 @@
864
932
  init_core();
865
933
  /**
866
934
  * @file src/modules/dom/manipulation.ts
867
- * @version 2.0.1
935
+ * @version 2.0.2
868
936
  * @since 2.0.0
869
937
  * @license GPL-3.0-or-later
870
938
  * @copyright Sven Minio 2026
871
939
  * @author Sven Minio <https://sven-minio.de>
872
940
  * @category DOM
873
941
  * @description
874
- * * πŸ‡¬πŸ‡§: Methods for inserting, moving, and removing elements (append, prepend, remove).
875
- * * πŸ‡©πŸ‡ͺ: Methoden zum EinfΓΌgen, Verschieben und Entfernen von Elementen (append, prepend, remove).
942
+ * * Methods for inserting, moving, and removing elements (append, prepend, remove).
876
943
  * @requires ../../core
877
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
878
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
944
+ * * Depends on the core jBase class for type definitions.
879
945
  */
880
946
  }
881
947
  });
@@ -1181,18 +1247,16 @@
1181
1247
  "use strict";
1182
1248
  /**
1183
1249
  * @file src/modules/dom/traversal.ts
1184
- * @version 2.0.1
1250
+ * @version 2.0.2
1185
1251
  * @since 2.0.0
1186
1252
  * @license GPL-3.0-or-later
1187
1253
  * @copyright Sven Minio 2026
1188
1254
  * @author Sven Minio <https://sven-minio.de>
1189
1255
  * @category DOM
1190
1256
  * @description
1191
- * * πŸ‡¬πŸ‡§: Methods for navigating the DOM tree (find, parent, children, siblings).
1192
- * * πŸ‡©πŸ‡ͺ: Methoden zur Navigation im DOM-Baum (find, parent, children, siblings).
1257
+ * * Methods for navigating the DOM tree (find, parent, children, siblings).
1193
1258
  * @requires ../../core
1194
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1195
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
1259
+ * * Depends on the core jBase class for type definitions.
1196
1260
  */
1197
1261
  }
1198
1262
  });
@@ -1247,18 +1311,16 @@
1247
1311
  "use strict";
1248
1312
  /**
1249
1313
  * @file src/modules/dom/states.ts
1250
- * @version 2.0.1
1314
+ * @version 2.0.2
1251
1315
  * @since 2.0.0
1252
1316
  * @license GPL-3.0-or-later
1253
1317
  * @copyright Sven Minio 2026
1254
1318
  * @author Sven Minio <https://sven-minio.de>
1255
1319
  * @category DOM
1256
1320
  * @description
1257
- * * πŸ‡¬πŸ‡§: Methods for checking element states (e.g., visibility, checked, disabled).
1258
- * * πŸ‡©πŸ‡ͺ: Methoden zur PrΓΌfung von Element-ZustΓ€nden (z.B. Sichtbarkeit, checked, disabled).
1321
+ * * Methods for checking element states (e.g., visibility, checked, disabled).
1259
1322
  * @requires ../../core
1260
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1261
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
1323
+ * * Depends on the core jBase class for type definitions.
1262
1324
  */
1263
1325
  }
1264
1326
  });
@@ -1275,30 +1337,24 @@
1275
1337
  init_states();
1276
1338
  /**
1277
1339
  * @file src/modules/dom/index.ts
1278
- * @version 2.0.1
1340
+ * @version 2.0.2
1279
1341
  * @since 2.0.0
1280
1342
  * @license GPL-3.0-or-later
1281
1343
  * @copyright Sven Minio 2026
1282
1344
  * @author Sven Minio <https://sven-minio.de>
1283
1345
  * @category DOM
1284
1346
  * @description
1285
- * * πŸ‡¬πŸ‡§: Central entry point for DOM operations. Aggregates methods for attributes, content, manipulation, traversal, and states.
1286
- * * πŸ‡©πŸ‡ͺ: Zentraler Einstiegspunkt fΓΌr DOM-Operationen. Aggregiert Methoden fΓΌr Attribute, Inhalt, Manipulation, Traversierung und Status.
1347
+ * * Central entry point for DOM operations. Aggregates methods for attributes, content, manipulation, traversal, and states.
1287
1348
  * @requires ./attributes
1288
- * * πŸ‡¬πŸ‡§: Attribute and value manipulation.
1289
- * * πŸ‡©πŸ‡ͺ: Attribut- und Wert-Manipulation.
1349
+ * * Attribute and value manipulation.
1290
1350
  * @requires ./content
1291
- * * πŸ‡¬πŸ‡§: Content handling (html, text).
1292
- * * πŸ‡©πŸ‡ͺ: Inhalts-Steuerung (html, text).
1351
+ * * Content handling (html, text).
1293
1352
  * @requires ./manipulation
1294
- * * πŸ‡¬πŸ‡§: DOM manipulation (append, remove, etc.).
1295
- * * πŸ‡©πŸ‡ͺ: DOM-Manipulation (append, remove, etc.).
1353
+ * * DOM manipulation (append, remove, etc.).
1296
1354
  * @requires ./traversal
1297
- * * πŸ‡¬πŸ‡§: Tree traversal (find, parent, children).
1298
- * * πŸ‡©πŸ‡ͺ: Baum-Durchquerung (find, parent, children).
1355
+ * * Tree traversal (find, parent, children).
1299
1356
  * @requires ./states
1300
- * * πŸ‡¬πŸ‡§: State checks (checked, disabled).
1301
- * * πŸ‡©πŸ‡ͺ: Status-PrΓΌfungen (checked, disabled).
1357
+ * * State checks (checked, disabled).
1302
1358
  */
1303
1359
  domMethods = {
1304
1360
  ...attributes_exports,
@@ -1310,6 +1366,27 @@
1310
1366
  }
1311
1367
  });
1312
1368
 
1369
+ // src/utils.ts
1370
+ function isBrowser() {
1371
+ return typeof window !== "undefined" && typeof window.requestAnimationFrame !== "undefined";
1372
+ }
1373
+ var init_utils = __esm({
1374
+ "src/utils.ts"() {
1375
+ "use strict";
1376
+ /**
1377
+ * @file src/utils.ts
1378
+ * @version 2.0.2
1379
+ * @since 2.0.0
1380
+ * @license GPL-3.0-or-later
1381
+ * @copyright Sven Minio 2026
1382
+ * @author Sven Minio <https://sven-minio.de>
1383
+ * @category Utilities
1384
+ * @description
1385
+ * * General utility functions and helpers (e.g., debounce, throttle, type checks).
1386
+ */
1387
+ }
1388
+ });
1389
+
1313
1390
  // src/modules/effects/slide.ts
1314
1391
  var slide_exports = {};
1315
1392
  __export(slide_exports, {
@@ -1318,6 +1395,8 @@
1318
1395
  slideToggle: () => slideToggle
1319
1396
  });
1320
1397
  function slideIn(options = {}) {
1398
+ if (!isBrowser())
1399
+ return this;
1321
1400
  const { duration = 300 } = options;
1322
1401
  this.forEach((el) => {
1323
1402
  if (el instanceof HTMLElement) {
@@ -1332,6 +1411,8 @@
1332
1411
  return this;
1333
1412
  }
1334
1413
  function slideOut(options = {}) {
1414
+ if (!isBrowser())
1415
+ return this;
1335
1416
  const { direction = "left", duration = 300 } = options;
1336
1417
  const translateValue = direction === "left" ? "-100%" : "100%";
1337
1418
  this.forEach((el) => {
@@ -1347,11 +1428,13 @@
1347
1428
  return this;
1348
1429
  }
1349
1430
  function slideToggle(options = {}) {
1431
+ if (!isBrowser())
1432
+ return this;
1350
1433
  this.forEach((el) => {
1351
1434
  if (el instanceof HTMLElement) {
1352
1435
  const state = el.getAttribute("data-slide-state");
1353
1436
  const currentTransform = el.style.transform;
1354
- if (state === "open" || currentTransform === "translateX(0%)" || window.getComputedStyle(el).display !== "none") {
1437
+ if (state === "open" || currentTransform === "translateX(0%)") {
1355
1438
  const wrapper = new this.constructor(el);
1356
1439
  wrapper.slideOut(options);
1357
1440
  } else {
@@ -1365,20 +1448,19 @@
1365
1448
  var init_slide = __esm({
1366
1449
  "src/modules/effects/slide.ts"() {
1367
1450
  "use strict";
1451
+ init_utils();
1368
1452
  /**
1369
1453
  * @file src/modules/effects/slide.ts
1370
- * @version 2.0.1
1454
+ * @version 2.0.2
1371
1455
  * @since 2.0.0
1372
1456
  * @license GPL-3.0-or-later
1373
1457
  * @copyright Sven Minio 2026
1374
1458
  * @author Sven Minio <https://sven-minio.de>
1375
1459
  * @category Effects
1376
1460
  * @description
1377
- * * πŸ‡¬πŸ‡§: Methods for horizontal sliding effects (slideIn, slideOut, slideToggle).
1378
- * * πŸ‡©πŸ‡ͺ: Methoden fΓΌr horizontale Slide-Effekte (slideIn, slideOut, slideToggle).
1461
+ * * Methods for horizontal sliding effects (slideIn, slideOut, slideToggle).
1379
1462
  * @requires ../../core
1380
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1381
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
1463
+ * * Depends on the core jBase class for type definitions.
1382
1464
  */
1383
1465
  }
1384
1466
  });
@@ -1391,17 +1473,20 @@
1391
1473
  slideUp: () => slideUp
1392
1474
  });
1393
1475
  function slideDown(options = {}) {
1476
+ if (!isBrowser())
1477
+ return this;
1394
1478
  const { duration = 300, displayType = "block" } = options;
1395
1479
  this.forEach((el) => {
1396
1480
  if (el instanceof HTMLElement) {
1397
- if (window.getComputedStyle(el).display !== "none") return;
1481
+ if (window.getComputedStyle(el).display !== "none")
1482
+ return;
1398
1483
  el.style.display = displayType;
1399
1484
  const height = el.scrollHeight;
1400
1485
  el.style.height = "0px";
1401
1486
  el.style.overflow = "hidden";
1402
1487
  el.style.transition = `height ${duration}ms ease-in-out`;
1403
1488
  void el.offsetHeight;
1404
- el.style.height = height + "px";
1489
+ el.style.height = `${height}px`;
1405
1490
  setTimeout(() => {
1406
1491
  el.style.height = "auto";
1407
1492
  el.style.overflow = "visible";
@@ -1412,10 +1497,12 @@
1412
1497
  return this;
1413
1498
  }
1414
1499
  function slideUp(options = {}) {
1500
+ if (!isBrowser())
1501
+ return this;
1415
1502
  const { duration = 300 } = options;
1416
1503
  this.forEach((el) => {
1417
1504
  if (el instanceof HTMLElement) {
1418
- el.style.height = el.scrollHeight + "px";
1505
+ el.style.height = `${el.scrollHeight}px`;
1419
1506
  el.style.overflow = "hidden";
1420
1507
  el.style.transition = `height ${duration}ms ease-in-out`;
1421
1508
  void el.offsetHeight;
@@ -1431,6 +1518,8 @@
1431
1518
  return this;
1432
1519
  }
1433
1520
  function slideToggleBox(options = {}) {
1521
+ if (!isBrowser())
1522
+ return this;
1434
1523
  this.forEach((el) => {
1435
1524
  if (el instanceof HTMLElement) {
1436
1525
  const display = window.getComputedStyle(el).display;
@@ -1447,20 +1536,19 @@
1447
1536
  var init_vertical = __esm({
1448
1537
  "src/modules/effects/vertical.ts"() {
1449
1538
  "use strict";
1539
+ init_utils();
1450
1540
  /**
1451
1541
  * @file src/modules/effects/vertical.ts
1452
- * @version 2.0.1
1542
+ * @version 2.0.2
1453
1543
  * @since 2.0.0
1454
1544
  * @license GPL-3.0-or-later
1455
1545
  * @copyright Sven Minio 2026
1456
1546
  * @author Sven Minio <https://sven-minio.de>
1457
1547
  * @category Effects
1458
1548
  * @description
1459
- * * πŸ‡¬πŸ‡§: Methods for vertical sliding effects (slideDown, slideUp, slideToggle).
1460
- * * πŸ‡©πŸ‡ͺ: Methoden fΓΌr vertikale Slide-Effekte (slideDown, slideUp, slideToggle).
1549
+ * * Methods for vertical sliding effects (slideDown, slideUp, slideToggle).
1461
1550
  * @requires ../../core
1462
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1463
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
1551
+ * * Depends on the core jBase class for type definitions.
1464
1552
  */
1465
1553
  }
1466
1554
  });
@@ -1473,6 +1561,8 @@
1473
1561
  fadeToggle: () => fadeToggle
1474
1562
  });
1475
1563
  function fadeIn(options = {}) {
1564
+ if (!isBrowser())
1565
+ return this;
1476
1566
  const { duration = 300, displayType = "block" } = options;
1477
1567
  this.forEach((el) => {
1478
1568
  if (el instanceof HTMLElement) {
@@ -1491,6 +1581,8 @@
1491
1581
  return this;
1492
1582
  }
1493
1583
  function fadeOut(options = {}) {
1584
+ if (!isBrowser())
1585
+ return this;
1494
1586
  const { duration = 300 } = options;
1495
1587
  this.forEach((el) => {
1496
1588
  if (el instanceof HTMLElement) {
@@ -1509,6 +1601,8 @@
1509
1601
  return this;
1510
1602
  }
1511
1603
  function fadeToggle(options = {}) {
1604
+ if (!isBrowser())
1605
+ return this;
1512
1606
  this.forEach((el) => {
1513
1607
  if (el instanceof HTMLElement) {
1514
1608
  const display = window.getComputedStyle(el).display;
@@ -1525,20 +1619,19 @@
1525
1619
  var init_fade = __esm({
1526
1620
  "src/modules/effects/fade.ts"() {
1527
1621
  "use strict";
1622
+ init_utils();
1528
1623
  /**
1529
1624
  * @file src/modules/effects/fade.ts
1530
- * @version 2.0.1
1625
+ * @version 2.0.2
1531
1626
  * @since 2.0.0
1532
1627
  * @license GPL-3.0-or-later
1533
1628
  * @copyright Sven Minio 2026
1534
1629
  * @author Sven Minio <https://sven-minio.de>
1535
1630
  * @category Effects
1536
1631
  * @description
1537
- * * πŸ‡¬πŸ‡§: Methods for fading elements in and out (fadeIn, fadeOut, fadeToggle).
1538
- * * πŸ‡©πŸ‡ͺ: Methoden zum Ein- und Ausblenden von Elementen (fadeIn, fadeOut, fadeToggle).
1632
+ * * Methods for fading elements in and out (fadeIn, fadeOut, fadeToggle).
1539
1633
  * @requires ../../core
1540
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1541
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
1634
+ * * Depends on the core jBase class for type definitions.
1542
1635
  */
1543
1636
  }
1544
1637
  });
@@ -1553,24 +1646,20 @@
1553
1646
  init_fade();
1554
1647
  /**
1555
1648
  * @file src/modules/effects/index.ts
1556
- * @version 2.0.1
1649
+ * @version 2.0.2
1557
1650
  * @since 2.0.0
1558
1651
  * @license GPL-3.0-or-later
1559
1652
  * @copyright Sven Minio 2026
1560
1653
  * @author Sven Minio <https://sven-minio.de>
1561
1654
  * @category Effects
1562
1655
  * @description
1563
- * * πŸ‡¬πŸ‡§: Central entry point for visual effects. Aggregates slide, fade, and vertical animation modules.
1564
- * * πŸ‡©πŸ‡ͺ: Zentraler Einstiegspunkt fΓΌr visuelle Effekte. Aggregiert Module fΓΌr Slide-, Fade- und vertikale Animationen.
1656
+ * * Central entry point for visual effects. Aggregates slide, fade, and vertical animation modules.
1565
1657
  * @requires ./slide
1566
- * * πŸ‡¬πŸ‡§: Horizontal slide effects (slideIn, slideOut).
1567
- * * πŸ‡©πŸ‡ͺ: Horizontale Slide-Effekte (slideIn, slideOut).
1658
+ * * Horizontal slide effects (slideIn, slideOut).
1568
1659
  * @requires ./vertical
1569
- * * πŸ‡¬πŸ‡§: Vertical slide effects / Accordion (slideDown, slideUp).
1570
- * * πŸ‡©πŸ‡ͺ: Vertikale Slide-Effekte / Akkordeon (slideDown, slideUp).
1660
+ * * Vertical slide effects / Accordion (slideDown, slideUp).
1571
1661
  * @requires ./fade
1572
- * * πŸ‡¬πŸ‡§: Opacity fade effects (fadeIn, fadeOut).
1573
- * * πŸ‡©πŸ‡ͺ: OpazitΓ€ts-Fade-Effekte (fadeIn, fadeOut).
1662
+ * * Opacity fade effects (fadeIn, fadeOut).
1574
1663
  */
1575
1664
  effectMethods = {
1576
1665
  ...slide_exports,
@@ -1580,64 +1669,61 @@
1580
1669
  }
1581
1670
  });
1582
1671
 
1583
- // src/utils.ts
1584
- var init_utils = __esm({
1585
- "src/utils.ts"() {
1586
- "use strict";
1587
- /**
1588
- * @file src/utils.ts
1589
- * @version 2.0.1
1590
- * @since 2.0.0
1591
- * @license GPL-3.0-or-later
1592
- * @copyright Sven Minio 2026
1593
- * @author Sven Minio <https://sven-minio.de>
1594
- * @category Utilities
1595
- * @description
1596
- * * πŸ‡¬πŸ‡§: General utility functions and helpers (e.g., debounce, throttle, type checks).
1597
- * * πŸ‡©πŸ‡ͺ: Allgemeine Hilfsfunktionen und Helfer (z.B. debounce, throttle, Typ-PrΓΌfungen).
1598
- */
1599
- }
1600
- });
1601
-
1602
1672
  // src/modules/http/get.ts
1603
1673
  var get_exports = {};
1604
1674
  __export(get_exports, {
1605
1675
  get: () => get,
1606
1676
  getText: () => getText
1607
1677
  });
1608
- async function get(url) {
1678
+ async function get(url, option) {
1679
+ const fetchOptions = { ...option };
1680
+ if (fetchOptions.method?.toLowerCase() === "post") {
1681
+ fetchOptions.method = "GET";
1682
+ }
1683
+ if (!fetchOptions.signal) {
1684
+ fetchOptions.signal = AbortSignal.timeout(5e3);
1685
+ }
1609
1686
  const response = await fetch(url, {
1610
- signal: AbortSignal.timeout(5e3)
1687
+ ...fetchOptions
1611
1688
  });
1612
1689
  if (!response.ok) {
1613
1690
  throw new Error(`HTTP Error: ${response.status}`);
1614
1691
  }
1615
- return await response.json();
1692
+ const text2 = await response.text();
1693
+ return text2 ? JSON.parse(text2) : {};
1616
1694
  }
1617
- async function getText(url) {
1618
- const response = await fetch(url);
1695
+ async function getText(url, option) {
1696
+ const fetchOptions = { ...option };
1697
+ if (fetchOptions.method?.toLowerCase() !== "get") {
1698
+ fetchOptions.method = "GET";
1699
+ }
1700
+ if (!fetchOptions.signal) {
1701
+ fetchOptions.signal = AbortSignal.timeout(5e3);
1702
+ }
1703
+ const response = await fetch(url, {
1704
+ ...fetchOptions
1705
+ });
1619
1706
  if (!response.ok) {
1620
1707
  throw new Error(`HTTP Error: ${response.status}`);
1621
1708
  }
1622
- return await response.text();
1709
+ const text2 = await response.text();
1710
+ return text2 ? JSON.parse(text2) : {};
1623
1711
  }
1624
1712
  var init_get = __esm({
1625
1713
  "src/modules/http/get.ts"() {
1626
1714
  "use strict";
1627
1715
  /**
1628
1716
  * @file src/modules/http/get.ts
1629
- * @version 2.0.1
1717
+ * @version 2.0.3
1630
1718
  * @since 2.0.0
1631
1719
  * @license GPL-3.0-or-later
1632
1720
  * @copyright Sven Minio 2026
1633
1721
  * @author Sven Minio <https://sven-minio.de>
1634
1722
  * @category HTTP
1635
1723
  * @description
1636
- * * πŸ‡¬πŸ‡§: Abstraction for HTTP GET requests.
1637
- * * πŸ‡©πŸ‡ͺ: Abstraktion fΓΌr HTTP GET-Anfragen.
1724
+ * * Abstraction for HTTP GET requests.
1638
1725
  * @requires ../../core
1639
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1640
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
1726
+ * * Depends on the core jBase class for type definitions.
1641
1727
  */
1642
1728
  }
1643
1729
  });
@@ -1647,38 +1733,44 @@
1647
1733
  __export(post_exports, {
1648
1734
  post: () => post
1649
1735
  });
1650
- async function post(url, body = {}) {
1736
+ async function post(url, body = {}, option) {
1737
+ const fetchOptions = { ...option };
1738
+ if (fetchOptions.method?.toLowerCase() !== "post") {
1739
+ fetchOptions.method = "post";
1740
+ }
1741
+ if (!fetchOptions.signal) {
1742
+ fetchOptions.signal = AbortSignal.timeout(5e3);
1743
+ }
1651
1744
  const response = await fetch(url, {
1652
- method: "POST",
1745
+ ...fetchOptions,
1653
1746
  headers: { "Content-Type": "application/json" },
1654
1747
  body: JSON.stringify(body)
1655
1748
  });
1656
1749
  if (response.status === 204) {
1657
- const text2 = await response.text();
1658
- return text2 ? JSON.parse(text2) : {};
1750
+ const text3 = await response.text();
1751
+ return text3 ? JSON.parse(text3) : {};
1659
1752
  }
1660
1753
  if (!response.ok) {
1661
1754
  throw new Error(`HTTP Error: ${response.status}`);
1662
1755
  }
1663
- return await response.json();
1756
+ const text2 = await response.text();
1757
+ return text2 ? JSON.parse(text2) : {};
1664
1758
  }
1665
1759
  var init_post = __esm({
1666
1760
  "src/modules/http/post.ts"() {
1667
1761
  "use strict";
1668
1762
  /**
1669
1763
  * @file src/modules/http/post.ts
1670
- * @version 2.0.1
1671
- * @since 2.0.0
1764
+ * @version 2.0.3
1765
+ * @since 2.0.2
1672
1766
  * @license GPL-3.0-or-later
1673
1767
  * @copyright Sven Minio 2026
1674
1768
  * @author Sven Minio <https://sven-minio.de>
1675
1769
  * @category HTTP
1676
1770
  * * @description
1677
- * * πŸ‡¬πŸ‡§: Abstraction for HTTP POST requests.
1678
- * * πŸ‡©πŸ‡ͺ: Abstraktion fΓΌr HTTP POST-Anfragen.
1771
+ * * Abstraction for HTTP POST requests.
1679
1772
  * @requires ../../core
1680
- * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
1681
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
1773
+ * * Depends on the core jBase class for type definitions.
1682
1774
  */
1683
1775
  }
1684
1776
  });
@@ -1692,21 +1784,18 @@
1692
1784
  init_post();
1693
1785
  /**
1694
1786
  * @file src/modules/http/index.ts
1695
- * @version 2.0.1
1787
+ * @version 2.0.2
1696
1788
  * @since 2.0.0
1697
1789
  * @license GPL-3.0-or-later
1698
1790
  * @copyright Sven Minio 2026
1699
1791
  * @author Sven Minio <https://sven-minio.de>
1700
1792
  * @category HTTP
1701
1793
  * @description
1702
- * * πŸ‡¬πŸ‡§: Central entry point for HTTP requests. Aggregates GET and POST methods.
1703
- * * πŸ‡©πŸ‡ͺ: Zentraler Einstiegspunkt fΓΌr HTTP-Anfragen. Aggregiert GET- und POST-Methoden.
1794
+ * * Central entry point for HTTP requests. Aggregates GET and POST methods.
1704
1795
  * @requires ./get
1705
- * * πŸ‡¬πŸ‡§: HTTP GET methods (get, getText).
1706
- * * πŸ‡©πŸ‡ͺ: HTTP GET-Methoden (get, getText).
1796
+ * * HTTP GET methods (get, getText).
1707
1797
  * @requires ./post
1708
- * * πŸ‡¬πŸ‡§: HTTP POST methods.
1709
- * * πŸ‡©πŸ‡ͺ: HTTP POST-Methoden.
1798
+ * * HTTP POST methods.
1710
1799
  */
1711
1800
  http = {
1712
1801
  ...get_exports,
@@ -1715,44 +1804,22 @@
1715
1804
  }
1716
1805
  });
1717
1806
 
1718
- // src/modules/data/types.ts
1719
- var init_types = __esm({
1720
- "src/modules/data/types.ts"() {
1721
- "use strict";
1722
- /**
1723
- * @file src/modules/data/types.ts
1724
- * @version 2.0.1
1725
- * @since 2.0.0
1726
- * @license GPL-3.0-or-later
1727
- * @copyright Sven Minio 2026
1728
- * @author Sven Minio <https://sven-minio.de>
1729
- * @category Data
1730
- * @description
1731
- * * πŸ‡¬πŸ‡§: Type definitions and validation helpers for data structures.
1732
- * * πŸ‡©πŸ‡ͺ: Typ-Definitionen und Validierungs-Hilfsmittel fΓΌr Datenstrukturen.
1733
- */
1734
- }
1735
- });
1736
-
1737
1807
  // src/modules/data/arrays.ts
1738
1808
  var init_arrays = __esm({
1739
1809
  "src/modules/data/arrays.ts"() {
1740
1810
  "use strict";
1741
- init_types();
1742
1811
  /**
1743
1812
  * @file src/modules/data/arrays.ts
1744
- * @version 2.0.1
1813
+ * @version 2.0.2
1745
1814
  * @since 2.0.0
1746
1815
  * @license GPL-3.0-or-later
1747
1816
  * @copyright Sven Minio 2026
1748
1817
  * @author Sven Minio <https://sven-minio.de>
1749
1818
  * @category Data
1750
1819
  * @description
1751
- * * πŸ‡¬πŸ‡§: Utility functions for array manipulation and data processing.
1752
- * * πŸ‡©πŸ‡ͺ: Hilfsfunktionen fΓΌr Array-Manipulation und Datenverarbeitung.
1820
+ * * Utility functions for array manipulation and data processing.
1753
1821
  * @requires ./types
1754
- * * πŸ‡¬πŸ‡§: Depends on match logic and types.
1755
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von Match-Logik und Typen ab.
1822
+ * * Depends on types.
1756
1823
  */
1757
1824
  }
1758
1825
  });
@@ -1761,21 +1828,18 @@
1761
1828
  var init_objects = __esm({
1762
1829
  "src/modules/data/objects.ts"() {
1763
1830
  "use strict";
1764
- init_types();
1765
1831
  /**
1766
1832
  * @file src/modules/data/objects.ts
1767
- * @version 2.0.1
1833
+ * @version 2.0.2
1768
1834
  * @since 2.0.0
1769
1835
  * @license GPL-3.0-or-later
1770
1836
  * @copyright Sven Minio 2026
1771
1837
  * @author Sven Minio <https://sven-minio.de>
1772
1838
  * @category Data
1773
1839
  * @description
1774
- * * πŸ‡¬πŸ‡§: Utility functions for object manipulation (e.g., deep merging, extension).
1775
- * * πŸ‡©πŸ‡ͺ: Hilfsfunktionen fΓΌr Objekt-Manipulation (z.B. Deep Merge, Erweiterung).
1840
+ * * Utility functions for object manipulation (e.g., deep merging, extension).
1776
1841
  * @requires ./types
1777
- * * πŸ‡¬πŸ‡§: Depends on match logic and types.
1778
- * * πŸ‡©πŸ‡ͺ: HΓ€ngt von Match-Logik und Typen ab.
1842
+ * * Depends on types.
1779
1843
  */
1780
1844
  }
1781
1845
  });
@@ -1788,27 +1852,24 @@
1788
1852
  init_objects();
1789
1853
  /**
1790
1854
  * @file src/modules/data/index.ts
1791
- * @version 2.0.1
1855
+ * @version 2.0.2
1792
1856
  * @since 2.0.0
1793
1857
  * * @license GPL-3.0-or-later
1794
1858
  * @copyright Sven Minio 2026
1795
1859
  * @author Sven Minio <https://sven-minio.de>
1796
1860
  * @category Data
1797
1861
  * @description
1798
- * * πŸ‡¬πŸ‡§: Central entry point for data manipulation modules. Aggregates array and object utilities.
1799
- * * πŸ‡©πŸ‡ͺ: Zentraler Einstiegspunkt fΓΌr Datenmanipulations-Module. Aggregiert Array- und Objekt-Hilfsmethoden.
1862
+ * * Central entry point for data manipulation modules. Aggregates array and object utilities.
1800
1863
  * @requires ./arrays
1801
- * * πŸ‡¬πŸ‡§: Array manipulation methods.
1802
- * * πŸ‡©πŸ‡ͺ: Methoden zur Array-Manipulation.
1864
+ * * Array manipulation methods.
1803
1865
  * @requires ./objects
1804
- * * πŸ‡¬πŸ‡§: Object manipulation methods.
1805
- * * πŸ‡©πŸ‡ͺ: Methoden zur Objekt-Manipulation.
1866
+ * * Object manipulation methods.
1806
1867
  */
1807
1868
  }
1808
1869
  });
1809
1870
 
1810
1871
  // src/index.ts
1811
- var init, $, jB, _jB, __jB, _jBase, __jBase, jBase2;
1872
+ var init, $, jB, _jB, __jB, _jBase, __jBase, jBase2, __;
1812
1873
  var init_index = __esm({
1813
1874
  "src/index.ts"() {
1814
1875
  "use strict";
@@ -1817,54 +1878,48 @@
1817
1878
  init_events();
1818
1879
  init_dom();
1819
1880
  init_effects();
1881
+ init_http();
1882
+ init_data();
1820
1883
  init_utils();
1821
1884
  init_utils();
1822
1885
  init_http();
1823
1886
  init_data();
1824
1887
  /**
1825
1888
  * @file src/index.ts
1826
- * @version 2.0.1
1889
+ * @version 2.0.2
1827
1890
  * @since 2.0.0
1828
1891
  * @license GPL-3.0-or-later
1829
1892
  * @copyright Sven Minio 2026
1830
1893
  * @author Sven Minio <https://sven-minio.de>
1831
1894
  * @category Entry Point
1832
1895
  * @description
1833
- * * πŸ‡¬πŸ‡§: Main library entry point. Aggregates Core, Types, Utils, and all functional modules into a single export.
1834
- * * πŸ‡©πŸ‡ͺ: Haupt-Einstiegspunkt der Bibliothek. Aggregiert Core, Types, Utils und alle funktionalen Module in einen einzigen Export.
1896
+ * * Main library entry point. Aggregates Core, Types, Utils, and all functional modules into a single export.
1835
1897
  * @requires ./core
1836
- * * πŸ‡¬πŸ‡§: Core class logic and inheritance.
1837
- * * πŸ‡©πŸ‡ͺ: Kern-Klassenlogik und Vererbung.
1898
+ * * Core class logic and inheritance.
1838
1899
  * @requires ./types
1839
- * * πŸ‡¬πŸ‡§: TypeScript type definitions and interfaces.
1840
- * * πŸ‡©πŸ‡ͺ: TypeScript Typ-Definitionen und Interfaces.
1900
+ * * TypeScript type definitions and interfaces.
1841
1901
  * @requires ./utils
1842
- * * πŸ‡¬πŸ‡§: Helper functions (throttle, debounce).
1843
- * * πŸ‡©πŸ‡ͺ: Hilfsfunktionen (throttle, debounce).
1902
+ * * Helper functions (throttle, debounce).
1844
1903
  * @requires ./modules/css
1845
- * * πŸ‡¬πŸ‡§: Style manipulation methods.
1846
- * * πŸ‡©πŸ‡ͺ: Style-Manipulations-Methoden.
1904
+ * * Style manipulation methods.
1847
1905
  * @requires ./modules/events
1848
- * * πŸ‡¬πŸ‡§: Event handling logic.
1849
- * * πŸ‡©πŸ‡ͺ: Event-Handling-Logik.
1906
+ * * Event handling logic.
1850
1907
  * @requires ./modules/dom
1851
- * * πŸ‡¬πŸ‡§: DOM traversal and manipulation.
1852
- * * πŸ‡©πŸ‡ͺ: DOM-Traversierung und -Manipulation.
1908
+ * * DOM traversal and manipulation.
1853
1909
  * @requires ./modules/effects
1854
- * * πŸ‡¬πŸ‡§: Visual effects and animations.
1855
- * * πŸ‡©πŸ‡ͺ: Visuelle Effekte und Animationen.
1910
+ * * Visual effects and animations.
1856
1911
  * @requires ./modules/http
1857
- * * πŸ‡¬πŸ‡§: HTTP client for AJAX requests.
1858
- * * πŸ‡©πŸ‡ͺ: HTTP-Client fΓΌr AJAX-Anfragen.
1912
+ * * HTTP client for AJAX requests.
1859
1913
  * @requires ./modules/data
1860
- * * πŸ‡¬πŸ‡§: Data structure utilities.
1861
- * * πŸ‡©πŸ‡ͺ: Datenstruktur-Utilities.
1914
+ * * Data structure utilities.
1862
1915
  */
1863
1916
  Object.assign(jBase.prototype, cssMethods);
1864
1917
  Object.assign(jBase.prototype, eventMethods);
1865
1918
  Object.assign(jBase.prototype, domMethods);
1866
1919
  Object.assign(jBase.prototype, effectMethods);
1867
- init = (selector) => new jBase(selector);
1920
+ init = (selector) => {
1921
+ return new jBase(selector);
1922
+ };
1868
1923
  $ = init;
1869
1924
  jB = init;
1870
1925
  _jB = init;
@@ -1872,6 +1927,7 @@
1872
1927
  _jBase = init;
1873
1928
  __jBase = init;
1874
1929
  jBase2 = init;
1930
+ __ = init;
1875
1931
  }
1876
1932
  });
1877
1933
 
@@ -1881,15 +1937,14 @@
1881
1937
  init_index();
1882
1938
  /**
1883
1939
  * @file src/browser.ts
1884
- * @version 2.0.1
1940
+ * @version 2.0.2
1885
1941
  * @since 2.0.0
1886
1942
  * @license GPL-3.0-or-later
1887
1943
  * @copyright Sven Minio 2026
1888
1944
  * @author Sven Minio <https://sven-minio.de>
1889
1945
  * @category Browser
1890
1946
  * @description
1891
- * * πŸ‡¬πŸ‡§: Browser Entry Point. Attaches the jBase library and utilities to the global window object so they can be accessed via `$` or `jBase` in inline scripts.
1892
- * * πŸ‡©πŸ‡ͺ: Browser-Einstiegspunkt. HΓ€ngt die jBase-Bibliothek und Utilities an das globale Window-Objekt an, damit sie ΓΌber `$` oder `jBase` in Inline-Skripten verfΓΌgbar sind.
1947
+ * * Browser Entry Point. Attaches the jBase library and utilities to the global window object so they can be accessed via `$` or `jBase` in inline scripts.
1893
1948
  */
1894
1949
  window.$ = $;
1895
1950
  window.jBase = jBase2;
@@ -1898,9 +1953,11 @@
1898
1953
  window.__jB = __jB;
1899
1954
  window._jBase = _jBase;
1900
1955
  window.__jBase = __jBase;
1956
+ window.__ = __;
1901
1957
  window.http = http;
1902
1958
  console.log("jBase initialized and ready!");
1903
1959
  }
1904
1960
  });
1905
1961
  require_browser();
1906
1962
  })();
1963
+ //# sourceMappingURL=jbase.browser.js.map