@k37z3r/jbase 2.0.0

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 (136) hide show
  1. package/LICENSE +621 -0
  2. package/README.md +124 -0
  3. package/dist/browser.d.ts +30 -0
  4. package/dist/browser.d.ts.map +1 -0
  5. package/dist/browser.js +29 -0
  6. package/dist/browser.js.map +1 -0
  7. package/dist/core.d.ts +42 -0
  8. package/dist/core.d.ts.map +1 -0
  9. package/dist/core.js +78 -0
  10. package/dist/core.js.map +1 -0
  11. package/dist/index.cjs +2150 -0
  12. package/dist/index.d.ts +1158 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +100 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/index.mjs +2118 -0
  17. package/dist/jbase.browser.js +1906 -0
  18. package/dist/jbase.js +1898 -0
  19. package/dist/jbase.min.js +9 -0
  20. package/dist/modules/css/classes.d.ts +61 -0
  21. package/dist/modules/css/classes.d.ts.map +1 -0
  22. package/dist/modules/css/classes.js +88 -0
  23. package/dist/modules/css/classes.js.map +1 -0
  24. package/dist/modules/css/index.d.ts +30 -0
  25. package/dist/modules/css/index.d.ts.map +1 -0
  26. package/dist/modules/css/index.js +33 -0
  27. package/dist/modules/css/index.js.map +1 -0
  28. package/dist/modules/css/styles.d.ts +31 -0
  29. package/dist/modules/css/styles.d.ts.map +1 -0
  30. package/dist/modules/css/styles.js +49 -0
  31. package/dist/modules/css/styles.js.map +1 -0
  32. package/dist/modules/data/arrays.d.ts +131 -0
  33. package/dist/modules/data/arrays.d.ts.map +1 -0
  34. package/dist/modules/data/arrays.js +177 -0
  35. package/dist/modules/data/arrays.js.map +1 -0
  36. package/dist/modules/data/index.d.ts +29 -0
  37. package/dist/modules/data/index.d.ts.map +1 -0
  38. package/dist/modules/data/index.js +33 -0
  39. package/dist/modules/data/index.js.map +1 -0
  40. package/dist/modules/data/objects.d.ts +108 -0
  41. package/dist/modules/data/objects.d.ts.map +1 -0
  42. package/dist/modules/data/objects.js +168 -0
  43. package/dist/modules/data/objects.js.map +1 -0
  44. package/dist/modules/data/types.d.ts +35 -0
  45. package/dist/modules/data/types.d.ts.map +1 -0
  46. package/dist/modules/data/types.js +43 -0
  47. package/dist/modules/data/types.js.map +1 -0
  48. package/dist/modules/dom/attributes.d.ts +42 -0
  49. package/dist/modules/dom/attributes.d.ts.map +1 -0
  50. package/dist/modules/dom/attributes.js +69 -0
  51. package/dist/modules/dom/attributes.js.map +1 -0
  52. package/dist/modules/dom/content.d.ts +39 -0
  53. package/dist/modules/dom/content.d.ts.map +1 -0
  54. package/dist/modules/dom/content.js +63 -0
  55. package/dist/modules/dom/content.js.map +1 -0
  56. package/dist/modules/dom/index.d.ts +78 -0
  57. package/dist/modules/dom/index.d.ts.map +1 -0
  58. package/dist/modules/dom/index.js +48 -0
  59. package/dist/modules/dom/index.js.map +1 -0
  60. package/dist/modules/dom/manipulation.d.ts +159 -0
  61. package/dist/modules/dom/manipulation.d.ts.map +1 -0
  62. package/dist/modules/dom/manipulation.js +343 -0
  63. package/dist/modules/dom/manipulation.js.map +1 -0
  64. package/dist/modules/dom/states.d.ts +50 -0
  65. package/dist/modules/dom/states.d.ts.map +1 -0
  66. package/dist/modules/dom/states.js +89 -0
  67. package/dist/modules/dom/states.js.map +1 -0
  68. package/dist/modules/dom/traversal.d.ts +246 -0
  69. package/dist/modules/dom/traversal.d.ts.map +1 -0
  70. package/dist/modules/dom/traversal.js +527 -0
  71. package/dist/modules/dom/traversal.js.map +1 -0
  72. package/dist/modules/effects/fade.d.ts +58 -0
  73. package/dist/modules/effects/fade.d.ts.map +1 -0
  74. package/dist/modules/effects/fade.js +104 -0
  75. package/dist/modules/effects/fade.js.map +1 -0
  76. package/dist/modules/effects/index.d.ts +40 -0
  77. package/dist/modules/effects/index.d.ts.map +1 -0
  78. package/dist/modules/effects/index.js +38 -0
  79. package/dist/modules/effects/index.js.map +1 -0
  80. package/dist/modules/effects/slide.d.ts +58 -0
  81. package/dist/modules/effects/slide.d.ts.map +1 -0
  82. package/dist/modules/effects/slide.js +103 -0
  83. package/dist/modules/effects/slide.js.map +1 -0
  84. package/dist/modules/effects/vertical.d.ts +58 -0
  85. package/dist/modules/effects/vertical.d.ts.map +1 -0
  86. package/dist/modules/effects/vertical.js +118 -0
  87. package/dist/modules/effects/vertical.js.map +1 -0
  88. package/dist/modules/events/binding.d.ts +47 -0
  89. package/dist/modules/events/binding.d.ts.map +1 -0
  90. package/dist/modules/events/binding.js +60 -0
  91. package/dist/modules/events/binding.js.map +1 -0
  92. package/dist/modules/events/form.d.ts +72 -0
  93. package/dist/modules/events/form.d.ts.map +1 -0
  94. package/dist/modules/events/form.js +106 -0
  95. package/dist/modules/events/form.js.map +1 -0
  96. package/dist/modules/events/index.d.ts +62 -0
  97. package/dist/modules/events/index.d.ts.map +1 -0
  98. package/dist/modules/events/index.js +53 -0
  99. package/dist/modules/events/index.js.map +1 -0
  100. package/dist/modules/events/keyboard.d.ts +65 -0
  101. package/dist/modules/events/keyboard.d.ts.map +1 -0
  102. package/dist/modules/events/keyboard.js +83 -0
  103. package/dist/modules/events/keyboard.js.map +1 -0
  104. package/dist/modules/events/lifecycle.d.ts +28 -0
  105. package/dist/modules/events/lifecycle.d.ts.map +1 -0
  106. package/dist/modules/events/lifecycle.js +40 -0
  107. package/dist/modules/events/lifecycle.js.map +1 -0
  108. package/dist/modules/events/mouse.d.ts +120 -0
  109. package/dist/modules/events/mouse.d.ts.map +1 -0
  110. package/dist/modules/events/mouse.js +172 -0
  111. package/dist/modules/events/mouse.js.map +1 -0
  112. package/dist/modules/events/touch.d.ts +61 -0
  113. package/dist/modules/events/touch.d.ts.map +1 -0
  114. package/dist/modules/events/touch.js +74 -0
  115. package/dist/modules/events/touch.js.map +1 -0
  116. package/dist/modules/http/get.d.ts +47 -0
  117. package/dist/modules/http/get.d.ts.map +1 -0
  118. package/dist/modules/http/get.js +65 -0
  119. package/dist/modules/http/get.js.map +1 -0
  120. package/dist/modules/http/index.d.ts +37 -0
  121. package/dist/modules/http/index.d.ts.map +1 -0
  122. package/dist/modules/http/index.js +42 -0
  123. package/dist/modules/http/index.js.map +1 -0
  124. package/dist/modules/http/post.d.ts +36 -0
  125. package/dist/modules/http/post.d.ts.map +1 -0
  126. package/dist/modules/http/post.js +54 -0
  127. package/dist/modules/http/post.js.map +1 -0
  128. package/dist/types.d.ts +61 -0
  129. package/dist/types.d.ts.map +1 -0
  130. package/dist/types.js +15 -0
  131. package/dist/types.js.map +1 -0
  132. package/dist/utils.d.ts +51 -0
  133. package/dist/utils.d.ts.map +1 -0
  134. package/dist/utils.js +71 -0
  135. package/dist/utils.js.map +1 -0
  136. package/package.json +58 -0
@@ -0,0 +1,527 @@
1
+ "use strict";
2
+ /**
3
+ * @file src/modules/dom/traversal.ts
4
+ * @version 2.0.0
5
+ * @since 2.0.0
6
+ * @license GPL-3.0-or-later
7
+ * @copyright Sven Minio 2026
8
+ * @author Sven Minio <https://sven-minio.de>
9
+ * @category DOM
10
+ * @description
11
+ * * πŸ‡¬πŸ‡§: Methods for navigating the DOM tree (find, parent, children, siblings).
12
+ * * πŸ‡©πŸ‡ͺ: Methoden zur Navigation im DOM-Baum (find, parent, children, siblings).
13
+ * @requires ../../core
14
+ * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
15
+ * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.closest = closest;
19
+ exports.parent = parent;
20
+ exports.children = children;
21
+ exports.findAll = findAll;
22
+ exports.descendants = descendants;
23
+ exports.parents = parents;
24
+ exports.parentsUntil = parentsUntil;
25
+ exports.descendantsUntil = descendantsUntil;
26
+ exports.next = next;
27
+ exports.prev = prev;
28
+ exports.nextSibling = nextSibling;
29
+ exports.prevSibling = prevSibling;
30
+ exports.sibling = sibling;
31
+ exports.nextAll = nextAll;
32
+ exports.prevAll = prevAll;
33
+ exports.siblings = siblings;
34
+ exports.nextUntil = nextUntil;
35
+ exports.prevUntil = prevUntil;
36
+ exports.eq = eq;
37
+ exports.first = first;
38
+ exports.last = last;
39
+ exports.filterBy = filterBy;
40
+ exports.not = not;
41
+ /**
42
+ * * πŸ‡¬πŸ‡§: Traverses the parents (heading toward the document root) of each element and finds the first element that matches the specified selector.
43
+ * * πŸ‡©πŸ‡ͺ: DurchlΓ€uft die Elternelemente (in Richtung Document Root) jedes Elements und findet das erste Element, das dem angegebenen Selektor entspricht.
44
+ * @param selector
45
+ * * πŸ‡¬πŸ‡§: A string containing a selector expression.
46
+ * * πŸ‡©πŸ‡ͺ: Ein String, der einen Selektor-Ausdruck enthΓ€lt.
47
+ * @returns
48
+ * * πŸ‡¬πŸ‡§: A new jBase instance containing the matched elements.
49
+ * * πŸ‡©πŸ‡ͺ: Eine neue jBase-Instanz mit den gefundenen Elementen.
50
+ */
51
+ function closest(selector) {
52
+ const found = [];
53
+ this.forEach(el => {
54
+ if (el instanceof Element) {
55
+ const match = el.closest(selector);
56
+ if (match) {
57
+ found.push(match);
58
+ }
59
+ }
60
+ });
61
+ const Construction = this.constructor;
62
+ return new Construction([...new Set(found)]);
63
+ }
64
+ /**
65
+ * * πŸ‡¬πŸ‡§: Gets the direct parent of each element in the current set. Deduplicates results.
66
+ * * πŸ‡©πŸ‡ͺ: Gibt das direkte Elternelement jedes Elements in der aktuellen Auswahl zurΓΌck. Entfernt Duplikate.
67
+ * @returns
68
+ * * πŸ‡¬πŸ‡§: A new jBase instance containing the parent elements.
69
+ * * πŸ‡©πŸ‡ͺ: Eine neue jBase-Instanz mit den Elternelementen.
70
+ */
71
+ function parent() {
72
+ const parents = [];
73
+ this.forEach(el => {
74
+ if (el instanceof Element && el.parentElement) {
75
+ parents.push(el.parentElement);
76
+ }
77
+ });
78
+ const Construction = this.constructor;
79
+ return new Construction([...new Set(parents)]);
80
+ }
81
+ /**
82
+ * * πŸ‡¬πŸ‡§: Gets the direct children of each element in the set, optionally filtered by a selector.
83
+ * * πŸ‡©πŸ‡ͺ: Gibt die direkten Kinder jedes Elements zurΓΌck, optional gefiltert durch einen Selektor.
84
+ * @param selector
85
+ * * πŸ‡¬πŸ‡§: (Optional) Filter selector.
86
+ * * πŸ‡©πŸ‡ͺ: (Optional) Filter-Selektor.
87
+ * @returns
88
+ * * πŸ‡¬πŸ‡§: A new jBase instance containing the children.
89
+ * * πŸ‡©πŸ‡ͺ: Eine neue jBase-Instanz mit den Kindern.
90
+ */
91
+ function children(selector) {
92
+ let allChildren = [];
93
+ this.forEach(el => {
94
+ if (el instanceof Element) {
95
+ const kids = Array.from(el.children);
96
+ allChildren = allChildren.concat(kids);
97
+ }
98
+ });
99
+ if (selector) {
100
+ allChildren = allChildren.filter(child => child.matches(selector));
101
+ }
102
+ const Construction = this.constructor;
103
+ return new Construction(allChildren);
104
+ }
105
+ /**
106
+ * * πŸ‡¬πŸ‡§: Finds descendants (deep) that match the selector using `querySelectorAll`.
107
+ * * πŸ‡©πŸ‡ͺ: Findet Nachfahren (tief), die dem Selektor entsprechen. Nutzt `querySelectorAll`.
108
+ * @param selector
109
+ * * πŸ‡¬πŸ‡§: The CSS selector to search for.
110
+ * * πŸ‡©πŸ‡ͺ: Der CSS-Selektor fΓΌr die Suche.
111
+ * @returns
112
+ * * πŸ‡¬πŸ‡§: A new jBase instance with the found elements.
113
+ * * πŸ‡©πŸ‡ͺ: Eine neue jBase-Instanz mit den gefundenen Elementen.
114
+ */
115
+ function findAll(selector) {
116
+ const found = [];
117
+ this.forEach(el => {
118
+ if (el instanceof Element || el instanceof Document) {
119
+ const matches = el.querySelectorAll(selector);
120
+ matches.forEach(m => found.push(m));
121
+ }
122
+ });
123
+ const Construction = this.constructor;
124
+ return new Construction([...new Set(found)]);
125
+ }
126
+ /**
127
+ * * πŸ‡¬πŸ‡§: Recursively gets ALL descendants (not just direct children).
128
+ * * πŸ‡©πŸ‡ͺ: Gibt rekursiv ALLE Nachfahren zurΓΌck (nicht nur direkte Kinder).
129
+ * @returns
130
+ * * πŸ‡¬πŸ‡§: A new jBase instance with all descendants.
131
+ * * πŸ‡©πŸ‡ͺ: Eine neue jBase-Instanz mit allen Nachfahren.
132
+ */
133
+ function descendants() {
134
+ return this.findAll('*');
135
+ }
136
+ /**
137
+ * * πŸ‡¬πŸ‡§: Gets all ancestors (parents, grandparents...) up to the root. Optionally filtered.
138
+ * * πŸ‡©πŸ‡ͺ: Gibt alle Vorfahren (Eltern, Großeltern...) zurΓΌck bis zum Root-Element. Optional gefiltert.
139
+ * @param selector
140
+ * * πŸ‡¬πŸ‡§: (Optional) Filter selector for ancestors.
141
+ * * πŸ‡©πŸ‡ͺ: (Optional) Selektor zum Filtern der Vorfahren.
142
+ * @returns
143
+ * * πŸ‡¬πŸ‡§: A new jBase instance with the ancestors.
144
+ * * πŸ‡©πŸ‡ͺ: Eine neue jBase-Instanz mit den Vorfahren.
145
+ */
146
+ function parents(selector) {
147
+ const ancestors = [];
148
+ this.forEach(el => {
149
+ if (el instanceof Element) {
150
+ let curr = el.parentElement;
151
+ while (curr) {
152
+ if (!selector || curr.matches(selector)) {
153
+ ancestors.push(curr);
154
+ }
155
+ curr = curr.parentElement;
156
+ }
157
+ }
158
+ });
159
+ const Construction = this.constructor;
160
+ return new Construction([...new Set(ancestors)]);
161
+ }
162
+ /**
163
+ * * πŸ‡¬πŸ‡§: Gets all ancestors UP TO (but not including) an element matching the selector.
164
+ * * πŸ‡©πŸ‡ͺ: Gibt alle Vorfahren zurΓΌck, BIS (aber nicht einschließlich) ein Element dem Selektor entspricht.
165
+ * @param selector
166
+ * * πŸ‡¬πŸ‡§: The selector where traversal stops.
167
+ * * πŸ‡©πŸ‡ͺ: Der Selektor, bei dem gestoppt wird.
168
+ * @param filter
169
+ * * πŸ‡¬πŸ‡§: (Optional) Filter for the collected elements.
170
+ * * πŸ‡©πŸ‡ͺ: (Optional) ZusΓ€tzlicher Filter fΓΌr die gefundenen Elemente.
171
+ * @returns
172
+ * * πŸ‡¬πŸ‡§: A new jBase instance.
173
+ * * πŸ‡©πŸ‡ͺ: Eine neue jBase-Instanz.
174
+ */
175
+ function parentsUntil(selector, filter) {
176
+ const ancestors = [];
177
+ this.forEach(el => {
178
+ if (el instanceof Element) {
179
+ let curr = el.parentElement;
180
+ while (curr && !curr.matches(selector)) {
181
+ if (!filter || curr.matches(filter)) {
182
+ ancestors.push(curr);
183
+ }
184
+ curr = curr.parentElement;
185
+ }
186
+ }
187
+ });
188
+ const Construction = this.constructor;
189
+ return new Construction([...new Set(ancestors)]);
190
+ }
191
+ /**
192
+ * * πŸ‡¬πŸ‡§: Recursively finds descendants but stops traversing a branch if `untilSelector` is met. Useful for finding nested elements without going too deep (e.g., nested forms).
193
+ * * πŸ‡©πŸ‡ͺ: Sucht rekursiv nach Nachfahren, stoppt aber den "Tiefgang" in einem Zweig, sobald ein Element dem `untilSelector` entspricht.
194
+ * @param untilSelector
195
+ * * πŸ‡¬πŸ‡§: The selector that stops recursion in a branch.
196
+ * * πŸ‡©πŸ‡ͺ: Der Selektor, der die Rekursion in diesem Zweig stoppt.
197
+ * @param filter
198
+ * * πŸ‡¬πŸ‡§: (Optional) Selector to filter collected elements.
199
+ * * πŸ‡©πŸ‡ͺ: (Optional) Selektor, welche Elemente gesammelt werden sollen.
200
+ * @returns
201
+ * * πŸ‡¬πŸ‡§: A new jBase instance.
202
+ * * πŸ‡©πŸ‡ͺ: Eine neue jBase-Instanz.
203
+ */
204
+ function descendantsUntil(untilSelector, filter) {
205
+ const found = [];
206
+ const traverse = (parent) => {
207
+ const kids = parent.children;
208
+ for (let i = 0; i < kids.length; i++) {
209
+ const child = kids[i];
210
+ if (child.matches(untilSelector)) {
211
+ continue;
212
+ }
213
+ if (!filter || child.matches(filter)) {
214
+ found.push(child);
215
+ }
216
+ traverse(child);
217
+ }
218
+ };
219
+ this.forEach(el => {
220
+ if (el instanceof Element)
221
+ traverse(el);
222
+ });
223
+ const Construction = this.constructor;
224
+ return new Construction([...new Set(found)]);
225
+ }
226
+ /**
227
+ * * πŸ‡¬πŸ‡§: Gets the immediately following sibling.
228
+ * * πŸ‡©πŸ‡ͺ: Holt das unmittelbar folgende Geschwisterelement.
229
+ * @param selector
230
+ * * πŸ‡¬πŸ‡§: (Optional) Filter selector.
231
+ * * πŸ‡©πŸ‡ͺ: (Optional) Filter-Selektor.
232
+ * @returns
233
+ * * πŸ‡¬πŸ‡§: A new jBase instance.
234
+ * * πŸ‡©πŸ‡ͺ: Eine neue jBase-Instanz.
235
+ */
236
+ function next(selector) {
237
+ const found = [];
238
+ this.forEach(el => {
239
+ if (el instanceof Element && el.nextElementSibling) {
240
+ const nextEl = el.nextElementSibling;
241
+ if (!selector || nextEl.matches(selector)) {
242
+ found.push(nextEl);
243
+ }
244
+ }
245
+ });
246
+ const Construction = this.constructor;
247
+ return new Construction([...new Set(found)]);
248
+ }
249
+ /**
250
+ * * πŸ‡¬πŸ‡§: Gets the immediately preceding sibling.
251
+ * * πŸ‡©πŸ‡ͺ: Holt das unmittelbar vorhergehende Geschwisterelement.
252
+ * @param selector
253
+ * * πŸ‡¬πŸ‡§: (Optional) Filter selector.
254
+ * * πŸ‡©πŸ‡ͺ: (Optional) Filter-Selektor.
255
+ * @returns
256
+ * * πŸ‡¬πŸ‡§: A new jBase instance.
257
+ * * πŸ‡©πŸ‡ͺ: Eine neue jBase-Instanz.
258
+ */
259
+ function prev(selector) {
260
+ const found = [];
261
+ this.forEach(el => {
262
+ if (el instanceof Element && el.previousElementSibling) {
263
+ const prevEl = el.previousElementSibling;
264
+ if (!selector || prevEl.matches(selector)) {
265
+ found.push(prevEl);
266
+ }
267
+ }
268
+ });
269
+ const Construction = this.constructor;
270
+ return new Construction([...new Set(found)]);
271
+ }
272
+ /**
273
+ * * πŸ‡¬πŸ‡§: Alias for `next()`.
274
+ * * πŸ‡©πŸ‡ͺ: Alias fΓΌr `next()`.
275
+ */
276
+ function nextSibling(selector) {
277
+ return this.next(selector);
278
+ }
279
+ /**
280
+ * * πŸ‡¬πŸ‡§: Alias for `prev()`.
281
+ * * πŸ‡©πŸ‡ͺ: Alias fΓΌr `prev()`.
282
+ */
283
+ function prevSibling(selector) {
284
+ return this.prev(selector);
285
+ }
286
+ /**
287
+ * * πŸ‡¬πŸ‡§: Alias for `next()`.
288
+ * * πŸ‡©πŸ‡ͺ: Alias fΓΌr `next()`.
289
+ */
290
+ function sibling(selector) {
291
+ return this.next(selector);
292
+ }
293
+ /**
294
+ * * πŸ‡¬πŸ‡§: Gets ALL following siblings.
295
+ * * πŸ‡©πŸ‡ͺ: Holt ALLE nachfolgenden Geschwisterelemente.
296
+ * @param selector
297
+ * * πŸ‡¬πŸ‡§: (Optional) Filter selector.
298
+ * * πŸ‡©πŸ‡ͺ: (Optional) Filter-Selektor.
299
+ * @returns
300
+ * * πŸ‡¬πŸ‡§: A new jBase instance.
301
+ * * πŸ‡©πŸ‡ͺ: Eine neue jBase-Instanz.
302
+ */
303
+ function nextAll(selector) {
304
+ const found = [];
305
+ this.forEach(el => {
306
+ if (el instanceof Element) {
307
+ let curr = el.nextElementSibling;
308
+ while (curr) {
309
+ if (!selector || curr.matches(selector)) {
310
+ found.push(curr);
311
+ }
312
+ curr = curr.nextElementSibling;
313
+ }
314
+ }
315
+ });
316
+ const Construction = this.constructor;
317
+ return new Construction([...new Set(found)]);
318
+ }
319
+ /**
320
+ * * πŸ‡¬πŸ‡§: Gets ALL preceding siblings.
321
+ * * πŸ‡©πŸ‡ͺ: Holt ALLE vorhergehenden Geschwisterelemente.
322
+ * @param selector
323
+ * * πŸ‡¬πŸ‡§: (Optional) Filter selector.
324
+ * * πŸ‡©πŸ‡ͺ: (Optional) Filter-Selektor.
325
+ * @returns
326
+ * * πŸ‡¬πŸ‡§: A new jBase instance.
327
+ * * πŸ‡©πŸ‡ͺ: Eine neue jBase-Instanz.
328
+ */
329
+ function prevAll(selector) {
330
+ const found = [];
331
+ this.forEach(el => {
332
+ if (el instanceof Element) {
333
+ let curr = el.previousElementSibling;
334
+ while (curr) {
335
+ if (!selector || curr.matches(selector)) {
336
+ found.push(curr);
337
+ }
338
+ curr = curr.previousElementSibling;
339
+ }
340
+ }
341
+ });
342
+ const Construction = this.constructor;
343
+ return new Construction([...new Set(found)]);
344
+ }
345
+ /**
346
+ * * πŸ‡¬πŸ‡§: Gets ALL siblings (previous and next), excluding itself.
347
+ * * πŸ‡©πŸ‡ͺ: Holt ALLE Geschwisterelemente (vorherige UND nachfolgende), außer sich selbst.
348
+ * @param selector
349
+ * * πŸ‡¬πŸ‡§: (Optional) Filter selector.
350
+ * * πŸ‡©πŸ‡ͺ: (Optional) Filter-Selektor.
351
+ * @returns
352
+ * * πŸ‡¬πŸ‡§: A new jBase instance.
353
+ * * πŸ‡©πŸ‡ͺ: Eine neue jBase-Instanz.
354
+ */
355
+ function siblings(selector) {
356
+ const found = [];
357
+ this.forEach(el => {
358
+ if (el instanceof Element && el.parentElement) {
359
+ const children = Array.from(el.parentElement.children);
360
+ children.forEach(child => {
361
+ if (child !== el) { // Exclude self
362
+ if (!selector || child.matches(selector)) {
363
+ found.push(child);
364
+ }
365
+ }
366
+ });
367
+ }
368
+ });
369
+ const Construction = this.constructor;
370
+ return new Construction([...new Set(found)]);
371
+ }
372
+ /**
373
+ * * πŸ‡¬πŸ‡§: Gets all following siblings UNTIL a selector is met (exclusive).
374
+ * * πŸ‡©πŸ‡ͺ: Holt alle nachfolgenden Elemente BIS ein Selektor zutrifft (exklusive).
375
+ * @param untilSelector
376
+ * * πŸ‡¬πŸ‡§: The selector that stops the search.
377
+ * * πŸ‡©πŸ‡ͺ: Der Selektor, der die Suche stoppt.
378
+ * @param filter
379
+ * * πŸ‡¬πŸ‡§: (Optional) Filter for the found elements.
380
+ * * πŸ‡©πŸ‡ͺ: (Optional) Filter fΓΌr die gefundenen Elemente.
381
+ * @returns
382
+ * * πŸ‡¬πŸ‡§: A new jBase instance.
383
+ * * πŸ‡©πŸ‡ͺ: Eine neue jBase-Instanz.
384
+ */
385
+ function nextUntil(untilSelector, filter) {
386
+ const found = [];
387
+ this.forEach(el => {
388
+ if (el instanceof Element) {
389
+ let curr = el.nextElementSibling;
390
+ while (curr && !curr.matches(untilSelector)) {
391
+ if (!filter || curr.matches(filter)) {
392
+ found.push(curr);
393
+ }
394
+ curr = curr.nextElementSibling;
395
+ }
396
+ }
397
+ });
398
+ const Construction = this.constructor;
399
+ return new Construction([...new Set(found)]);
400
+ }
401
+ /**
402
+ * * πŸ‡¬πŸ‡§: Gets all preceding siblings UNTIL a selector is met (exclusive).
403
+ * * πŸ‡©πŸ‡ͺ: Holt alle vorhergehenden Elemente BIS ein Selektor zutrifft (exklusive).
404
+ * @param untilSelector
405
+ * * πŸ‡¬πŸ‡§: The selector that stops the search.
406
+ * * πŸ‡©πŸ‡ͺ: Der Selektor, der die Suche stoppt.
407
+ * @param filter
408
+ * * πŸ‡¬πŸ‡§: (Optional) Filter for the found elements.
409
+ * * πŸ‡©πŸ‡ͺ: (Optional) Filter fΓΌr die gefundenen Elemente.
410
+ * @returns
411
+ * * πŸ‡¬πŸ‡§: A new jBase instance.
412
+ * * πŸ‡©πŸ‡ͺ: Eine neue jBase-Instanz.
413
+ */
414
+ function prevUntil(untilSelector, filter) {
415
+ const found = [];
416
+ this.forEach(el => {
417
+ if (el instanceof Element) {
418
+ let curr = el.previousElementSibling;
419
+ while (curr && !curr.matches(untilSelector)) {
420
+ if (!filter || curr.matches(filter)) {
421
+ found.push(curr);
422
+ }
423
+ curr = curr.previousElementSibling;
424
+ }
425
+ }
426
+ });
427
+ const Construction = this.constructor;
428
+ return new Construction([...new Set(found)]);
429
+ }
430
+ /**
431
+ * * πŸ‡¬πŸ‡§: Reduces the set to the element at the specified index. Supports negative indices.
432
+ * * πŸ‡©πŸ‡ͺ: Reduziert das Set auf das Element am angegebenen Index. UnterstΓΌtzt negative Indizes.
433
+ * @param index
434
+ * * πŸ‡¬πŸ‡§: The position (0-based). Negative values count from the end.
435
+ * * πŸ‡©πŸ‡ͺ: Die Position (0-basiert). Negative Werte zΓ€hlen vom Ende.
436
+ * @returns
437
+ * * πŸ‡¬πŸ‡§: A new jBase instance containing the single element (or empty).
438
+ * * πŸ‡©πŸ‡ͺ: Eine neue jBase-Instanz mit dem einzelnen Element (oder leer).
439
+ */
440
+ function eq(index) {
441
+ const len = this.length;
442
+ // Calculate negative indices: -1 becomes len - 1
443
+ const idx = index < 0 ? len + index : index;
444
+ // Get element (or undefined)
445
+ const el = this[idx];
446
+ const Construction = this.constructor;
447
+ // If element exists, wrap in array, else empty array
448
+ return new Construction(el ? [el] : []);
449
+ }
450
+ /**
451
+ * * πŸ‡¬πŸ‡§: Reduces the set to the first element.
452
+ * * πŸ‡©πŸ‡ͺ: Reduziert das Set auf das erste Element.
453
+ */
454
+ function first() {
455
+ return this.eq(0);
456
+ }
457
+ /**
458
+ * * πŸ‡¬πŸ‡§: Reduces the set to the last element.
459
+ * * πŸ‡©πŸ‡ͺ: Reduziert das Set auf das letzte Element.
460
+ */
461
+ function last() {
462
+ return this.eq(-1);
463
+ }
464
+ /**
465
+ * * πŸ‡¬πŸ‡§: Filters elements based on a selector or a function.
466
+ * * πŸ‡©πŸ‡ͺ: Filtert die Elemente basierend auf einem Selektor oder einer Funktion.
467
+ * @param selectorOrFn
468
+ * * πŸ‡¬πŸ‡§: CSS selector string or filter function.
469
+ * * πŸ‡©πŸ‡ͺ: CSS-Selektor (String) oder Filter-Funktion.
470
+ * @returns
471
+ * * πŸ‡¬πŸ‡§: A new jBase instance with filtered elements.
472
+ * * πŸ‡©πŸ‡ͺ: Eine neue jBase-Instanz mit den gefilterten Elementen.
473
+ */
474
+ function filterBy(selectorOrFn) {
475
+ const found = [];
476
+ this.forEach((el, index) => {
477
+ if (el instanceof Element) {
478
+ if (typeof selectorOrFn === 'string') {
479
+ // String filter: Check matches()
480
+ if (el.matches(selectorOrFn)) {
481
+ found.push(el);
482
+ }
483
+ }
484
+ else if (typeof selectorOrFn === 'function') {
485
+ // Function filter: Check return value (true/false)
486
+ // 'this' inside the function is the element itself (jQuery Style)
487
+ if (selectorOrFn.call(el, index, el)) {
488
+ found.push(el);
489
+ }
490
+ }
491
+ }
492
+ });
493
+ const Construction = this.constructor;
494
+ return new Construction(found);
495
+ }
496
+ /**
497
+ * * πŸ‡¬πŸ‡§: Removes elements from the set that match the selector or function (Inverse of filterBy).
498
+ * * πŸ‡©πŸ‡ͺ: Entfernt Elemente aus dem Set, die dem Selektor oder der Funktion entsprechen (Das Gegenteil von filterBy).
499
+ * @param selectorOrFn
500
+ * * πŸ‡¬πŸ‡§: CSS selector string or filter function.
501
+ * * πŸ‡©πŸ‡ͺ: CSS-Selektor (String) oder Filter-Funktion.
502
+ * @returns
503
+ * * πŸ‡¬πŸ‡§: A new jBase instance with remaining elements.
504
+ * * πŸ‡©πŸ‡ͺ: Eine neue jBase-Instanz mit den verbleibenden Elementen.
505
+ */
506
+ function not(selectorOrFn) {
507
+ const found = [];
508
+ this.forEach((el, index) => {
509
+ if (el instanceof Element) {
510
+ if (typeof selectorOrFn === 'string') {
511
+ // Keep if it does NOT match
512
+ if (!el.matches(selectorOrFn)) {
513
+ found.push(el);
514
+ }
515
+ }
516
+ else if (typeof selectorOrFn === 'function') {
517
+ // Keep if function returns FALSE
518
+ if (!selectorOrFn.call(el, index, el)) {
519
+ found.push(el);
520
+ }
521
+ }
522
+ }
523
+ });
524
+ const Construction = this.constructor;
525
+ return new Construction(found);
526
+ }
527
+ //# sourceMappingURL=traversal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traversal.js","sourceRoot":"","sources":["../../../src/modules/dom/traversal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @file src/modules/effects/fade.ts
3
+ * @version 2.0.0
4
+ * @since 2.0.0
5
+ * @license GPL-3.0-or-later
6
+ * @copyright Sven Minio 2026
7
+ * @author Sven Minio <https://sven-minio.de>
8
+ * @category Effects
9
+ * @description
10
+ * * πŸ‡¬πŸ‡§: Methods for fading elements in and out (fadeIn, fadeOut, fadeToggle).
11
+ * * πŸ‡©πŸ‡ͺ: Methoden zum Ein- und Ausblenden von Elementen (fadeIn, fadeOut, fadeToggle).
12
+ * @requires ../../core
13
+ * * πŸ‡¬πŸ‡§: Depends on the core jBase class for type definitions.
14
+ * * πŸ‡©πŸ‡ͺ: HΓ€ngt von der Core-jBase-Klasse fΓΌr Typ-Definitionen ab.
15
+ */
16
+ import { jBase } from '../../core';
17
+ /**
18
+ * * πŸ‡¬πŸ‡§: Configuration options for fade effects.
19
+ * * πŸ‡©πŸ‡ͺ: Konfigurationsoptionen fΓΌr Fade-Effekte.
20
+ */
21
+ export interface FadeOptions {
22
+ duration?: number;
23
+ displayType?: string;
24
+ }
25
+ /**
26
+ * * πŸ‡¬πŸ‡§: Fades an element in (Opacity 0 -> 1).
27
+ * * πŸ‡©πŸ‡ͺ: Blendet ein Element sanft ein (Opacity 0 -> 1).
28
+ * @param options
29
+ * * πŸ‡¬πŸ‡§: Duration in ms (default: 300) and display type (default: 'block').
30
+ * * πŸ‡©πŸ‡ͺ: Dauer in ms (Standard: 300) und display-Typ (Standard: 'block').
31
+ * @returns
32
+ * * πŸ‡¬πŸ‡§: The current jBase instance.
33
+ * * πŸ‡©πŸ‡ͺ: Die aktuelle jBase-Instanz.
34
+ */
35
+ export declare function fadeIn(this: jBase, options?: FadeOptions): jBase;
36
+ /**
37
+ * * πŸ‡¬πŸ‡§: Fades an element out (Opacity 1 -> 0) and sets display: none afterwards.
38
+ * * πŸ‡©πŸ‡ͺ: Blendet ein Element sanft aus (Opacity 1 -> 0) und setzt danach display: none.
39
+ * @param options
40
+ * * πŸ‡¬πŸ‡§: Duration in ms (default: 300).
41
+ * * πŸ‡©πŸ‡ͺ: Dauer in ms (Standard: 300).
42
+ * @returns
43
+ * * πŸ‡¬πŸ‡§: The current jBase instance.
44
+ * * πŸ‡©πŸ‡ͺ: Die aktuelle jBase-Instanz.
45
+ */
46
+ export declare function fadeOut(this: jBase, options?: FadeOptions): jBase;
47
+ /**
48
+ * * πŸ‡¬πŸ‡§: Toggles between fadeIn and fadeOut based on the current display state.
49
+ * * πŸ‡©πŸ‡ͺ: Wechselt zwischen fadeIn und fadeOut basierend auf dem aktuellen display-Status.
50
+ * @param options
51
+ * * πŸ‡¬πŸ‡§: Animation options.
52
+ * * πŸ‡©πŸ‡ͺ: Animations-Optionen.
53
+ * @returns
54
+ * * πŸ‡¬πŸ‡§: The current jBase instance.
55
+ * * πŸ‡©πŸ‡ͺ: Die aktuelle jBase-Instanz.
56
+ */
57
+ export declare function fadeToggle(this: jBase, options?: FadeOptions): jBase;
58
+ //# sourceMappingURL=fade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fade.d.ts","sourceRoot":"","sources":["../../../src/modules/effects/fade.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;GAGG;AACH,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,GAAE,WAAgB,GAAG,KAAK,CAkBpE;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,GAAE,WAAgB,GAAG,KAAK,CAkBrE;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,GAAE,WAAgB,GAAG,KAAK,CAaxE"}