@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.
- package/LICENSE +621 -0
- package/README.md +124 -0
- package/dist/browser.d.ts +30 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +29 -0
- package/dist/browser.js.map +1 -0
- package/dist/core.d.ts +42 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +78 -0
- package/dist/core.js.map +1 -0
- package/dist/index.cjs +2150 -0
- package/dist/index.d.ts +1158 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +100 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2118 -0
- package/dist/jbase.browser.js +1906 -0
- package/dist/jbase.js +1898 -0
- package/dist/jbase.min.js +9 -0
- package/dist/modules/css/classes.d.ts +61 -0
- package/dist/modules/css/classes.d.ts.map +1 -0
- package/dist/modules/css/classes.js +88 -0
- package/dist/modules/css/classes.js.map +1 -0
- package/dist/modules/css/index.d.ts +30 -0
- package/dist/modules/css/index.d.ts.map +1 -0
- package/dist/modules/css/index.js +33 -0
- package/dist/modules/css/index.js.map +1 -0
- package/dist/modules/css/styles.d.ts +31 -0
- package/dist/modules/css/styles.d.ts.map +1 -0
- package/dist/modules/css/styles.js +49 -0
- package/dist/modules/css/styles.js.map +1 -0
- package/dist/modules/data/arrays.d.ts +131 -0
- package/dist/modules/data/arrays.d.ts.map +1 -0
- package/dist/modules/data/arrays.js +177 -0
- package/dist/modules/data/arrays.js.map +1 -0
- package/dist/modules/data/index.d.ts +29 -0
- package/dist/modules/data/index.d.ts.map +1 -0
- package/dist/modules/data/index.js +33 -0
- package/dist/modules/data/index.js.map +1 -0
- package/dist/modules/data/objects.d.ts +108 -0
- package/dist/modules/data/objects.d.ts.map +1 -0
- package/dist/modules/data/objects.js +168 -0
- package/dist/modules/data/objects.js.map +1 -0
- package/dist/modules/data/types.d.ts +35 -0
- package/dist/modules/data/types.d.ts.map +1 -0
- package/dist/modules/data/types.js +43 -0
- package/dist/modules/data/types.js.map +1 -0
- package/dist/modules/dom/attributes.d.ts +42 -0
- package/dist/modules/dom/attributes.d.ts.map +1 -0
- package/dist/modules/dom/attributes.js +69 -0
- package/dist/modules/dom/attributes.js.map +1 -0
- package/dist/modules/dom/content.d.ts +39 -0
- package/dist/modules/dom/content.d.ts.map +1 -0
- package/dist/modules/dom/content.js +63 -0
- package/dist/modules/dom/content.js.map +1 -0
- package/dist/modules/dom/index.d.ts +78 -0
- package/dist/modules/dom/index.d.ts.map +1 -0
- package/dist/modules/dom/index.js +48 -0
- package/dist/modules/dom/index.js.map +1 -0
- package/dist/modules/dom/manipulation.d.ts +159 -0
- package/dist/modules/dom/manipulation.d.ts.map +1 -0
- package/dist/modules/dom/manipulation.js +343 -0
- package/dist/modules/dom/manipulation.js.map +1 -0
- package/dist/modules/dom/states.d.ts +50 -0
- package/dist/modules/dom/states.d.ts.map +1 -0
- package/dist/modules/dom/states.js +89 -0
- package/dist/modules/dom/states.js.map +1 -0
- package/dist/modules/dom/traversal.d.ts +246 -0
- package/dist/modules/dom/traversal.d.ts.map +1 -0
- package/dist/modules/dom/traversal.js +527 -0
- package/dist/modules/dom/traversal.js.map +1 -0
- package/dist/modules/effects/fade.d.ts +58 -0
- package/dist/modules/effects/fade.d.ts.map +1 -0
- package/dist/modules/effects/fade.js +104 -0
- package/dist/modules/effects/fade.js.map +1 -0
- package/dist/modules/effects/index.d.ts +40 -0
- package/dist/modules/effects/index.d.ts.map +1 -0
- package/dist/modules/effects/index.js +38 -0
- package/dist/modules/effects/index.js.map +1 -0
- package/dist/modules/effects/slide.d.ts +58 -0
- package/dist/modules/effects/slide.d.ts.map +1 -0
- package/dist/modules/effects/slide.js +103 -0
- package/dist/modules/effects/slide.js.map +1 -0
- package/dist/modules/effects/vertical.d.ts +58 -0
- package/dist/modules/effects/vertical.d.ts.map +1 -0
- package/dist/modules/effects/vertical.js +118 -0
- package/dist/modules/effects/vertical.js.map +1 -0
- package/dist/modules/events/binding.d.ts +47 -0
- package/dist/modules/events/binding.d.ts.map +1 -0
- package/dist/modules/events/binding.js +60 -0
- package/dist/modules/events/binding.js.map +1 -0
- package/dist/modules/events/form.d.ts +72 -0
- package/dist/modules/events/form.d.ts.map +1 -0
- package/dist/modules/events/form.js +106 -0
- package/dist/modules/events/form.js.map +1 -0
- package/dist/modules/events/index.d.ts +62 -0
- package/dist/modules/events/index.d.ts.map +1 -0
- package/dist/modules/events/index.js +53 -0
- package/dist/modules/events/index.js.map +1 -0
- package/dist/modules/events/keyboard.d.ts +65 -0
- package/dist/modules/events/keyboard.d.ts.map +1 -0
- package/dist/modules/events/keyboard.js +83 -0
- package/dist/modules/events/keyboard.js.map +1 -0
- package/dist/modules/events/lifecycle.d.ts +28 -0
- package/dist/modules/events/lifecycle.d.ts.map +1 -0
- package/dist/modules/events/lifecycle.js +40 -0
- package/dist/modules/events/lifecycle.js.map +1 -0
- package/dist/modules/events/mouse.d.ts +120 -0
- package/dist/modules/events/mouse.d.ts.map +1 -0
- package/dist/modules/events/mouse.js +172 -0
- package/dist/modules/events/mouse.js.map +1 -0
- package/dist/modules/events/touch.d.ts +61 -0
- package/dist/modules/events/touch.d.ts.map +1 -0
- package/dist/modules/events/touch.js +74 -0
- package/dist/modules/events/touch.js.map +1 -0
- package/dist/modules/http/get.d.ts +47 -0
- package/dist/modules/http/get.d.ts.map +1 -0
- package/dist/modules/http/get.js +65 -0
- package/dist/modules/http/get.js.map +1 -0
- package/dist/modules/http/index.d.ts +37 -0
- package/dist/modules/http/index.d.ts.map +1 -0
- package/dist/modules/http/index.js +42 -0
- package/dist/modules/http/index.js.map +1 -0
- package/dist/modules/http/post.d.ts +36 -0
- package/dist/modules/http/post.d.ts.map +1 -0
- package/dist/modules/http/post.js +54 -0
- package/dist/modules/http/post.js.map +1 -0
- package/dist/types.d.ts +61 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +15 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +51 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +71 -0
- package/dist/utils.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,1906 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @k37z3r/jbase - A modern micro-framework for the web: jBase offers the familiar syntax of classic DOM libraries, but without their baggage. Fully typed, modular, and optimized for modern browser engines.
|
|
3
|
+
* @version 2.0.0
|
|
4
|
+
* @homepage https://github.com/k37z3r/jBase-2.0
|
|
5
|
+
* @author Sven Minio (https://github.com/k37z3r/jBase-2.0)
|
|
6
|
+
* @license GPL-3.0-or-later
|
|
7
|
+
* @copyright 2026 Sven Minio (https://github.com/k37z3r/jBase-2.0)
|
|
8
|
+
*/
|
|
9
|
+
"use strict";
|
|
10
|
+
(() => {
|
|
11
|
+
var __defProp = Object.defineProperty;
|
|
12
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
13
|
+
var __esm = (fn, res) => function __init() {
|
|
14
|
+
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
15
|
+
};
|
|
16
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
17
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
18
|
+
};
|
|
19
|
+
var __export = (target, all) => {
|
|
20
|
+
for (var name in all)
|
|
21
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// src/core.ts
|
|
25
|
+
var jBase;
|
|
26
|
+
var init_core = __esm({
|
|
27
|
+
"src/core.ts"() {
|
|
28
|
+
"use strict";
|
|
29
|
+
/**
|
|
30
|
+
* @file src/core.ts
|
|
31
|
+
* @version 2.0.0
|
|
32
|
+
* @since 2.0.0
|
|
33
|
+
* @license GPL-3.0-or-later
|
|
34
|
+
* @copyright Sven Minio 2026
|
|
35
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
36
|
+
* @category Core
|
|
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.
|
|
40
|
+
*/
|
|
41
|
+
jBase = class extends Array {
|
|
42
|
+
selectorSource = "";
|
|
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.
|
|
46
|
+
* @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).
|
|
49
|
+
*/
|
|
50
|
+
constructor(selector) {
|
|
51
|
+
super();
|
|
52
|
+
if (typeof document === "undefined") {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
this.selectorSource = typeof selector === "string" ? selector : "<DOM Object/Array>";
|
|
56
|
+
if (!selector)
|
|
57
|
+
return;
|
|
58
|
+
if (selector instanceof HTMLElement || selector === document || selector === window || selector instanceof Element) {
|
|
59
|
+
this.push(selector);
|
|
60
|
+
} else if (typeof selector === "string") {
|
|
61
|
+
const trimmed = selector.trim();
|
|
62
|
+
if (trimmed.startsWith("<") && trimmed.endsWith(">")) {
|
|
63
|
+
const tempDiv = document.createElement("div");
|
|
64
|
+
tempDiv.innerHTML = trimmed;
|
|
65
|
+
this.push(...Array.from(tempDiv.children));
|
|
66
|
+
} else if (trimmed.startsWith("#") && !trimmed.includes(" ") && !trimmed.includes(".")) {
|
|
67
|
+
const el = document.getElementById(trimmed.slice(1));
|
|
68
|
+
if (el)
|
|
69
|
+
this.push(el);
|
|
70
|
+
} else {
|
|
71
|
+
this.push(...Array.from(document.querySelectorAll(selector)));
|
|
72
|
+
}
|
|
73
|
+
} else if (selector instanceof NodeList || Array.isArray(selector)) {
|
|
74
|
+
this.push(...Array.from(selector));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
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.
|
|
80
|
+
* @returns
|
|
81
|
+
* * π¬π§: A simplified object representation for debugging.
|
|
82
|
+
* * π©πͺ: Eine vereinfachte ObjektreprΓ€sentation fΓΌr das Debugging.
|
|
83
|
+
*/
|
|
84
|
+
toJSON() {
|
|
85
|
+
return {
|
|
86
|
+
meta: "jBase Wrapper",
|
|
87
|
+
query: this.selectorSource,
|
|
88
|
+
count: this.length,
|
|
89
|
+
preview: this.slice(0, 10).map((el) => {
|
|
90
|
+
if (el instanceof Element)
|
|
91
|
+
return el.tagName.toLowerCase();
|
|
92
|
+
return typeof el;
|
|
93
|
+
})
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
// src/modules/css/classes.ts
|
|
101
|
+
var classes_exports = {};
|
|
102
|
+
__export(classes_exports, {
|
|
103
|
+
addClass: () => addClass,
|
|
104
|
+
hasClass: () => hasClass,
|
|
105
|
+
removeClass: () => removeClass,
|
|
106
|
+
toggleClass: () => toggleClass
|
|
107
|
+
});
|
|
108
|
+
function addClass(...classNames) {
|
|
109
|
+
this.forEach((el) => {
|
|
110
|
+
if (el instanceof Element) el.classList.add(...classNames);
|
|
111
|
+
});
|
|
112
|
+
return this;
|
|
113
|
+
}
|
|
114
|
+
function removeClass(...classNames) {
|
|
115
|
+
this.forEach((el) => {
|
|
116
|
+
if (el instanceof Element) el.classList.remove(...classNames);
|
|
117
|
+
});
|
|
118
|
+
return this;
|
|
119
|
+
}
|
|
120
|
+
function toggleClass(className) {
|
|
121
|
+
this.forEach((el) => {
|
|
122
|
+
if (el instanceof Element) el.classList.toggle(className);
|
|
123
|
+
});
|
|
124
|
+
return this;
|
|
125
|
+
}
|
|
126
|
+
function hasClass(className) {
|
|
127
|
+
return this.some((el) => {
|
|
128
|
+
return el instanceof Element && el.classList.contains(className);
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
var init_classes = __esm({
|
|
132
|
+
"src/modules/css/classes.ts"() {
|
|
133
|
+
"use strict";
|
|
134
|
+
/**
|
|
135
|
+
* @file src/modules/css/classes.ts
|
|
136
|
+
* @version 2.0.0
|
|
137
|
+
* @since 2.0.0
|
|
138
|
+
* @license GPL-3.0-or-later
|
|
139
|
+
* @copyright Sven Minio 2026
|
|
140
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
141
|
+
* @category CSS
|
|
142
|
+
* @description
|
|
143
|
+
* * π¬π§: Methods for manipulating CSS classes (add, remove, toggle, has).
|
|
144
|
+
* * π©πͺ: Methoden zur Manipulation von CSS-Klassen (add, remove, toggle, has).
|
|
145
|
+
* @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.
|
|
148
|
+
*/
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
|
|
152
|
+
// src/modules/css/styles.ts
|
|
153
|
+
var styles_exports = {};
|
|
154
|
+
__export(styles_exports, {
|
|
155
|
+
css: () => css
|
|
156
|
+
});
|
|
157
|
+
function css(property, value) {
|
|
158
|
+
if (value === void 0) {
|
|
159
|
+
const el = this[0];
|
|
160
|
+
if (el instanceof HTMLElement || el instanceof SVGElement) {
|
|
161
|
+
return window.getComputedStyle(el)[property];
|
|
162
|
+
}
|
|
163
|
+
return "";
|
|
164
|
+
}
|
|
165
|
+
this.forEach((el) => {
|
|
166
|
+
if (el instanceof HTMLElement || el instanceof SVGElement) {
|
|
167
|
+
el.style[property] = value;
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
return this;
|
|
171
|
+
}
|
|
172
|
+
var init_styles = __esm({
|
|
173
|
+
"src/modules/css/styles.ts"() {
|
|
174
|
+
"use strict";
|
|
175
|
+
/**
|
|
176
|
+
* @file src/modules/css/styles.ts
|
|
177
|
+
* @version 2.0.0
|
|
178
|
+
* @since 2.0.0
|
|
179
|
+
* @license GPL-3.0-or-later
|
|
180
|
+
* @copyright Sven Minio 2026
|
|
181
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
182
|
+
* @category CSS
|
|
183
|
+
* @description
|
|
184
|
+
* * π¬π§: Methods for getting and setting inline CSS styles.
|
|
185
|
+
* * π©πͺ: Methoden zum Lesen und Setzen von Inline-CSS-Styles.
|
|
186
|
+
* @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.
|
|
189
|
+
*/
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
|
|
193
|
+
// src/modules/css/index.ts
|
|
194
|
+
var cssMethods;
|
|
195
|
+
var init_css = __esm({
|
|
196
|
+
"src/modules/css/index.ts"() {
|
|
197
|
+
"use strict";
|
|
198
|
+
init_classes();
|
|
199
|
+
init_styles();
|
|
200
|
+
/**
|
|
201
|
+
* @file src/modules/css/index.ts
|
|
202
|
+
* @version 2.0.0
|
|
203
|
+
* @since 2.0.0
|
|
204
|
+
* @license GPL-3.0-or-later
|
|
205
|
+
* @copyright Sven Minio 2026
|
|
206
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
207
|
+
* @category CSS
|
|
208
|
+
* @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.
|
|
211
|
+
* @requires ./classes
|
|
212
|
+
* * π¬π§: Class manipulation methods (addClass, removeClass, etc.).
|
|
213
|
+
* * π©πͺ: Methoden zur Klassen-Manipulation (addClass, removeClass, etc.).
|
|
214
|
+
* @requires ./styles
|
|
215
|
+
* * π¬π§: Style manipulation methods (css).
|
|
216
|
+
* * π©πͺ: Methoden zur Style-Manipulation (css).
|
|
217
|
+
*/
|
|
218
|
+
cssMethods = {
|
|
219
|
+
...classes_exports,
|
|
220
|
+
...styles_exports
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
|
|
225
|
+
// src/modules/events/binding.ts
|
|
226
|
+
var binding_exports = {};
|
|
227
|
+
__export(binding_exports, {
|
|
228
|
+
off: () => off,
|
|
229
|
+
on: () => on
|
|
230
|
+
});
|
|
231
|
+
function on(event, handler) {
|
|
232
|
+
this.forEach((el) => {
|
|
233
|
+
el.addEventListener(event, handler);
|
|
234
|
+
});
|
|
235
|
+
return this;
|
|
236
|
+
}
|
|
237
|
+
function off(event, handler) {
|
|
238
|
+
this.forEach((el) => {
|
|
239
|
+
el.removeEventListener(event, handler);
|
|
240
|
+
});
|
|
241
|
+
return this;
|
|
242
|
+
}
|
|
243
|
+
var init_binding = __esm({
|
|
244
|
+
"src/modules/events/binding.ts"() {
|
|
245
|
+
"use strict";
|
|
246
|
+
/**
|
|
247
|
+
* @file src/modules/events/binding.ts
|
|
248
|
+
* @version 2.0.0
|
|
249
|
+
* @since 2.0.0
|
|
250
|
+
* @license GPL-3.0-or-later
|
|
251
|
+
* @copyright Sven Minio 2026
|
|
252
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
253
|
+
* @category Events
|
|
254
|
+
* @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.
|
|
257
|
+
* @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.
|
|
260
|
+
*/
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
// src/modules/events/mouse.ts
|
|
265
|
+
var mouse_exports = {};
|
|
266
|
+
__export(mouse_exports, {
|
|
267
|
+
click: () => click,
|
|
268
|
+
dblclick: () => dblclick,
|
|
269
|
+
mousedown: () => mousedown,
|
|
270
|
+
mouseenter: () => mouseenter,
|
|
271
|
+
mouseleave: () => mouseleave,
|
|
272
|
+
mousemove: () => mousemove,
|
|
273
|
+
mouseout: () => mouseout,
|
|
274
|
+
mouseover: () => mouseover,
|
|
275
|
+
mouseup: () => mouseup
|
|
276
|
+
});
|
|
277
|
+
function click(handler) {
|
|
278
|
+
if (handler) {
|
|
279
|
+
return this.on("click", handler);
|
|
280
|
+
} else {
|
|
281
|
+
this.forEach((el) => {
|
|
282
|
+
if (el instanceof HTMLElement) el.click();
|
|
283
|
+
});
|
|
284
|
+
return this;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
function mousemove(handler) {
|
|
288
|
+
return this.on("mousemove", handler);
|
|
289
|
+
}
|
|
290
|
+
function mouseleave(handler) {
|
|
291
|
+
return this.on("mouseleave", handler);
|
|
292
|
+
}
|
|
293
|
+
function mouseenter(handler) {
|
|
294
|
+
return this.on("mouseenter", handler);
|
|
295
|
+
}
|
|
296
|
+
function mousedown(handler) {
|
|
297
|
+
return this.on("mousedown", handler);
|
|
298
|
+
}
|
|
299
|
+
function mouseup(handler) {
|
|
300
|
+
return this.on("mouseup", handler);
|
|
301
|
+
}
|
|
302
|
+
function dblclick(handler) {
|
|
303
|
+
if (handler) {
|
|
304
|
+
return this.on("dblclick", handler);
|
|
305
|
+
} else {
|
|
306
|
+
this.forEach((el) => {
|
|
307
|
+
if (el instanceof HTMLElement) {
|
|
308
|
+
el.dispatchEvent(new MouseEvent("dblclick", {
|
|
309
|
+
bubbles: true,
|
|
310
|
+
cancelable: true,
|
|
311
|
+
view: window
|
|
312
|
+
}));
|
|
313
|
+
}
|
|
314
|
+
});
|
|
315
|
+
return this;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
function mouseout(handler) {
|
|
319
|
+
return this.on("mouseout", handler);
|
|
320
|
+
}
|
|
321
|
+
function mouseover(handler) {
|
|
322
|
+
return this.on("mouseover", handler);
|
|
323
|
+
}
|
|
324
|
+
var init_mouse = __esm({
|
|
325
|
+
"src/modules/events/mouse.ts"() {
|
|
326
|
+
"use strict";
|
|
327
|
+
/**
|
|
328
|
+
* @file src/modules/events/mouse.ts
|
|
329
|
+
* @version 2.0.0
|
|
330
|
+
* @since 2.0.0
|
|
331
|
+
* @license GPL-3.0-or-later
|
|
332
|
+
* @copyright Sven Minio 2026
|
|
333
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
334
|
+
* @category Events
|
|
335
|
+
* @description
|
|
336
|
+
* * π¬π§: Methods for handling mouse events (click, dblclick, hover, mouseenter, mouseleave).
|
|
337
|
+
* * π©πͺ: Methoden zur Behandlung von Maus-Events (click, dblclick, hover, mouseenter, mouseleave).
|
|
338
|
+
* @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.
|
|
341
|
+
*/
|
|
342
|
+
}
|
|
343
|
+
});
|
|
344
|
+
|
|
345
|
+
// src/modules/events/lifecycle.ts
|
|
346
|
+
var lifecycle_exports = {};
|
|
347
|
+
__export(lifecycle_exports, {
|
|
348
|
+
ready: () => ready
|
|
349
|
+
});
|
|
350
|
+
function ready(handler) {
|
|
351
|
+
if (document.readyState === "complete" || document.readyState === "interactive") {
|
|
352
|
+
handler();
|
|
353
|
+
} else {
|
|
354
|
+
this.on("DOMContentLoaded", handler);
|
|
355
|
+
}
|
|
356
|
+
return this;
|
|
357
|
+
}
|
|
358
|
+
var init_lifecycle = __esm({
|
|
359
|
+
"src/modules/events/lifecycle.ts"() {
|
|
360
|
+
"use strict";
|
|
361
|
+
/**
|
|
362
|
+
* @file src/modules/events/lifecycle.ts
|
|
363
|
+
* @version 2.0.0
|
|
364
|
+
* @since 2.0.0
|
|
365
|
+
* @license GPL-3.0-or-later
|
|
366
|
+
* @copyright Sven Minio 2026
|
|
367
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
368
|
+
* @category Events
|
|
369
|
+
* @description
|
|
370
|
+
* * π¬π§: Methods for handling DOM lifecycle events (e.g., ready).
|
|
371
|
+
* * π©πͺ: Methoden zur Behandlung von DOM-Lebenszyklus-Events (z.B. ready).
|
|
372
|
+
* @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.
|
|
375
|
+
*/
|
|
376
|
+
}
|
|
377
|
+
});
|
|
378
|
+
|
|
379
|
+
// src/modules/events/keyboard.ts
|
|
380
|
+
var keyboard_exports = {};
|
|
381
|
+
__export(keyboard_exports, {
|
|
382
|
+
keydown: () => keydown,
|
|
383
|
+
keypress: () => keypress,
|
|
384
|
+
keyup: () => keyup,
|
|
385
|
+
pressedKey: () => pressedKey
|
|
386
|
+
});
|
|
387
|
+
function keydown(handler) {
|
|
388
|
+
return this.on("keydown", handler);
|
|
389
|
+
}
|
|
390
|
+
function keyup(handler) {
|
|
391
|
+
return this.on("keyup", handler);
|
|
392
|
+
}
|
|
393
|
+
function keypress(handler) {
|
|
394
|
+
return this.on("keypress", handler);
|
|
395
|
+
}
|
|
396
|
+
function pressedKey(targetKey, handler) {
|
|
397
|
+
return this.on("keydown", (e) => {
|
|
398
|
+
const event = e;
|
|
399
|
+
if (event.key.toLowerCase() === targetKey.toLowerCase()) {
|
|
400
|
+
handler(event);
|
|
401
|
+
}
|
|
402
|
+
});
|
|
403
|
+
}
|
|
404
|
+
var init_keyboard = __esm({
|
|
405
|
+
"src/modules/events/keyboard.ts"() {
|
|
406
|
+
"use strict";
|
|
407
|
+
/**
|
|
408
|
+
* @file src/modules/events/keyboard.ts
|
|
409
|
+
* @version 2.0.0
|
|
410
|
+
* @since 2.0.0
|
|
411
|
+
* @license GPL-3.0-or-later
|
|
412
|
+
* @copyright Sven Minio 2026
|
|
413
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
414
|
+
* @category Events
|
|
415
|
+
* @description
|
|
416
|
+
* * π¬π§: Methods for handling keyboard events (keydown, keyup, keypress).
|
|
417
|
+
* * π©πͺ: Methoden zur Behandlung von Tastatur-Events (keydown, keyup, keypress).
|
|
418
|
+
* @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.
|
|
421
|
+
*/
|
|
422
|
+
}
|
|
423
|
+
});
|
|
424
|
+
|
|
425
|
+
// src/modules/events/form.ts
|
|
426
|
+
var form_exports = {};
|
|
427
|
+
__export(form_exports, {
|
|
428
|
+
blur: () => blur,
|
|
429
|
+
change: () => change,
|
|
430
|
+
focus: () => focus,
|
|
431
|
+
input: () => input,
|
|
432
|
+
submit: () => submit
|
|
433
|
+
});
|
|
434
|
+
function submit(handler) {
|
|
435
|
+
return this.on("submit", handler);
|
|
436
|
+
}
|
|
437
|
+
function change(handler) {
|
|
438
|
+
return this.on("change", handler);
|
|
439
|
+
}
|
|
440
|
+
function input(handler) {
|
|
441
|
+
return this.on("input", handler);
|
|
442
|
+
}
|
|
443
|
+
function focus(handler) {
|
|
444
|
+
if (handler) {
|
|
445
|
+
return this.on("focus", handler);
|
|
446
|
+
} else {
|
|
447
|
+
this.forEach((el) => {
|
|
448
|
+
if (el instanceof HTMLElement) el.focus();
|
|
449
|
+
});
|
|
450
|
+
return this;
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
function blur(handler) {
|
|
454
|
+
if (handler) {
|
|
455
|
+
return this.on("blur", handler);
|
|
456
|
+
} else {
|
|
457
|
+
this.forEach((el) => {
|
|
458
|
+
if (el instanceof HTMLElement) el.blur();
|
|
459
|
+
});
|
|
460
|
+
return this;
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
var init_form = __esm({
|
|
464
|
+
"src/modules/events/form.ts"() {
|
|
465
|
+
"use strict";
|
|
466
|
+
/**
|
|
467
|
+
* @file src/modules/events/form.ts
|
|
468
|
+
* @version 2.0.0
|
|
469
|
+
* @since 2.0.0
|
|
470
|
+
* @license GPL-3.0-or-later
|
|
471
|
+
* @copyright Sven Minio 2026
|
|
472
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
473
|
+
* @category Events
|
|
474
|
+
* @description
|
|
475
|
+
* * π¬π§: Methods for handling form events (submit, change, focus, blur, input).
|
|
476
|
+
* * π©πͺ: Methoden zur Behandlung von Formular-Events (submit, change, focus, blur, input).
|
|
477
|
+
* @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.
|
|
480
|
+
*/
|
|
481
|
+
}
|
|
482
|
+
});
|
|
483
|
+
|
|
484
|
+
// src/modules/events/touch.ts
|
|
485
|
+
var touch_exports = {};
|
|
486
|
+
__export(touch_exports, {
|
|
487
|
+
touchcancel: () => touchcancel,
|
|
488
|
+
touchend: () => touchend,
|
|
489
|
+
touchmove: () => touchmove,
|
|
490
|
+
touchstart: () => touchstart
|
|
491
|
+
});
|
|
492
|
+
function touchstart(handler) {
|
|
493
|
+
return this.on("touchstart", handler);
|
|
494
|
+
}
|
|
495
|
+
function touchend(handler) {
|
|
496
|
+
return this.on("touchend", handler);
|
|
497
|
+
}
|
|
498
|
+
function touchmove(handler) {
|
|
499
|
+
return this.on("touchmove", handler);
|
|
500
|
+
}
|
|
501
|
+
function touchcancel(handler) {
|
|
502
|
+
return this.on("touchcancel", handler);
|
|
503
|
+
}
|
|
504
|
+
var init_touch = __esm({
|
|
505
|
+
"src/modules/events/touch.ts"() {
|
|
506
|
+
"use strict";
|
|
507
|
+
/**
|
|
508
|
+
* @file src/modules/events/touch.ts
|
|
509
|
+
* @version 2.0.0
|
|
510
|
+
* @since 2.0.0
|
|
511
|
+
* @license GPL-3.0-or-later
|
|
512
|
+
* @copyright Sven Minio 2026
|
|
513
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
514
|
+
* @category Events
|
|
515
|
+
* @description
|
|
516
|
+
* * π¬π§: Methods for handling touch events (touchstart, touchend, touchmove).
|
|
517
|
+
* * π©πͺ: Methoden zur Behandlung von Touch-Events (touchstart, touchend, touchmove).
|
|
518
|
+
* @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.
|
|
521
|
+
*/
|
|
522
|
+
}
|
|
523
|
+
});
|
|
524
|
+
|
|
525
|
+
// src/modules/events/index.ts
|
|
526
|
+
var eventMethods;
|
|
527
|
+
var init_events = __esm({
|
|
528
|
+
"src/modules/events/index.ts"() {
|
|
529
|
+
"use strict";
|
|
530
|
+
init_binding();
|
|
531
|
+
init_mouse();
|
|
532
|
+
init_lifecycle();
|
|
533
|
+
init_keyboard();
|
|
534
|
+
init_form();
|
|
535
|
+
init_touch();
|
|
536
|
+
/**
|
|
537
|
+
* @file src/modules/events/index.ts
|
|
538
|
+
* @version 2.0.0
|
|
539
|
+
* @since 2.0.0
|
|
540
|
+
* @license GPL-3.0-or-later
|
|
541
|
+
* @copyright Sven Minio 2026
|
|
542
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
543
|
+
* @category Events
|
|
544
|
+
* @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.
|
|
547
|
+
* @requires ./binding
|
|
548
|
+
* * π¬π§: General event binding (on, off).
|
|
549
|
+
* * π©πͺ: Generelle Event-Bindung (on, off).
|
|
550
|
+
* @requires ./mouse
|
|
551
|
+
* * π¬π§: Mouse interaction events (click, hover, etc.).
|
|
552
|
+
* * π©πͺ: Maus-Interaktions-Events (click, hover, etc.).
|
|
553
|
+
* @requires ./lifecycle
|
|
554
|
+
* * π¬π§: DOM lifecycle events (ready).
|
|
555
|
+
* * π©πͺ: DOM-Lebenszyklus-Events (ready).
|
|
556
|
+
* @requires ./keyboard
|
|
557
|
+
* * π¬π§: Keyboard interaction events (keydown, keyup).
|
|
558
|
+
* * π©πͺ: Tastatur-Interaktions-Events (keydown, keyup).
|
|
559
|
+
* @requires ./form
|
|
560
|
+
* * π¬π§: Form handling events (submit, change, input).
|
|
561
|
+
* * π©πͺ: Formular-Verarbeitungs-Events (submit, change, input).
|
|
562
|
+
* @requires ./touch
|
|
563
|
+
* * π¬π§: Touch interaction events.
|
|
564
|
+
* * π©πͺ: Touch-Interaktions-Events.
|
|
565
|
+
*/
|
|
566
|
+
eventMethods = {
|
|
567
|
+
...binding_exports,
|
|
568
|
+
...mouse_exports,
|
|
569
|
+
...lifecycle_exports,
|
|
570
|
+
...keyboard_exports,
|
|
571
|
+
...form_exports,
|
|
572
|
+
...touch_exports
|
|
573
|
+
};
|
|
574
|
+
}
|
|
575
|
+
});
|
|
576
|
+
|
|
577
|
+
// src/modules/dom/attributes.ts
|
|
578
|
+
var attributes_exports = {};
|
|
579
|
+
__export(attributes_exports, {
|
|
580
|
+
attr: () => attr,
|
|
581
|
+
val: () => val
|
|
582
|
+
});
|
|
583
|
+
function attr(name, value) {
|
|
584
|
+
if (value === void 0) {
|
|
585
|
+
const el = this[0];
|
|
586
|
+
return el instanceof Element ? el.getAttribute(name) : null;
|
|
587
|
+
}
|
|
588
|
+
this.forEach((el) => {
|
|
589
|
+
if (el instanceof Element) el.setAttribute(name, value);
|
|
590
|
+
});
|
|
591
|
+
return this;
|
|
592
|
+
}
|
|
593
|
+
function val(value) {
|
|
594
|
+
if (value === void 0) {
|
|
595
|
+
const el = this[0];
|
|
596
|
+
if (el instanceof HTMLInputElement || el instanceof HTMLTextAreaElement || el instanceof HTMLSelectElement) {
|
|
597
|
+
return el.value;
|
|
598
|
+
}
|
|
599
|
+
return "";
|
|
600
|
+
}
|
|
601
|
+
this.forEach((el) => {
|
|
602
|
+
if (el instanceof HTMLInputElement || el instanceof HTMLTextAreaElement || el instanceof HTMLSelectElement) {
|
|
603
|
+
el.value = value;
|
|
604
|
+
}
|
|
605
|
+
});
|
|
606
|
+
return this;
|
|
607
|
+
}
|
|
608
|
+
var init_attributes = __esm({
|
|
609
|
+
"src/modules/dom/attributes.ts"() {
|
|
610
|
+
"use strict";
|
|
611
|
+
/**
|
|
612
|
+
* @file src/modules/dom/attributes.ts
|
|
613
|
+
* @version 2.0.0
|
|
614
|
+
* @since 2.0.0
|
|
615
|
+
* @license GPL-3.0-or-later
|
|
616
|
+
* @copyright Sven Minio 2026
|
|
617
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
618
|
+
* @category DOM
|
|
619
|
+
* @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).
|
|
622
|
+
* @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.
|
|
625
|
+
*/
|
|
626
|
+
}
|
|
627
|
+
});
|
|
628
|
+
|
|
629
|
+
// src/modules/dom/content.ts
|
|
630
|
+
var content_exports = {};
|
|
631
|
+
__export(content_exports, {
|
|
632
|
+
html: () => html,
|
|
633
|
+
text: () => text
|
|
634
|
+
});
|
|
635
|
+
function html(content) {
|
|
636
|
+
if (content === void 0) {
|
|
637
|
+
const el = this[0];
|
|
638
|
+
return el instanceof Element ? el.innerHTML : "";
|
|
639
|
+
}
|
|
640
|
+
this.forEach((el) => {
|
|
641
|
+
if (el instanceof Element) el.innerHTML = content;
|
|
642
|
+
});
|
|
643
|
+
return this;
|
|
644
|
+
}
|
|
645
|
+
function text(content) {
|
|
646
|
+
if (content === void 0) {
|
|
647
|
+
const el = this[0];
|
|
648
|
+
return el instanceof Node ? el.textContent || "" : "";
|
|
649
|
+
}
|
|
650
|
+
this.forEach((el) => {
|
|
651
|
+
if (el instanceof HTMLElement) {
|
|
652
|
+
el.textContent = content;
|
|
653
|
+
}
|
|
654
|
+
});
|
|
655
|
+
return this;
|
|
656
|
+
}
|
|
657
|
+
var init_content = __esm({
|
|
658
|
+
"src/modules/dom/content.ts"() {
|
|
659
|
+
"use strict";
|
|
660
|
+
/**
|
|
661
|
+
* @file src/modules/dom/content.ts
|
|
662
|
+
* @version 2.0.0
|
|
663
|
+
* @since 2.0.0
|
|
664
|
+
* @license GPL-3.0-or-later
|
|
665
|
+
* @copyright Sven Minio 2026
|
|
666
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
667
|
+
* @category DOM
|
|
668
|
+
* @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).
|
|
671
|
+
* @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.
|
|
674
|
+
*/
|
|
675
|
+
}
|
|
676
|
+
});
|
|
677
|
+
|
|
678
|
+
// src/modules/dom/manipulation.ts
|
|
679
|
+
var manipulation_exports = {};
|
|
680
|
+
__export(manipulation_exports, {
|
|
681
|
+
after: () => after,
|
|
682
|
+
append: () => append,
|
|
683
|
+
appendTo: () => appendTo,
|
|
684
|
+
before: () => before,
|
|
685
|
+
empty: () => empty,
|
|
686
|
+
insertAfter: () => insertAfter,
|
|
687
|
+
insertBefore: () => insertBefore,
|
|
688
|
+
prepend: () => prepend,
|
|
689
|
+
prependTo: () => prependTo,
|
|
690
|
+
remove: () => remove,
|
|
691
|
+
replaceWith: () => replaceWith,
|
|
692
|
+
replaceWithClone: () => replaceWithClone,
|
|
693
|
+
unwrap: () => unwrap,
|
|
694
|
+
wrap: () => wrap
|
|
695
|
+
});
|
|
696
|
+
function parseHTML(html2) {
|
|
697
|
+
const tmp = document.createElement("div");
|
|
698
|
+
tmp.innerHTML = html2.trim();
|
|
699
|
+
return tmp.firstElementChild;
|
|
700
|
+
}
|
|
701
|
+
function normalizeToFragment(content) {
|
|
702
|
+
const fragment = document.createDocumentFragment();
|
|
703
|
+
const add = (item) => {
|
|
704
|
+
if (typeof item === "string") {
|
|
705
|
+
const temp = document.createElement("div");
|
|
706
|
+
temp.innerHTML = item.trim();
|
|
707
|
+
while (temp.firstChild) {
|
|
708
|
+
fragment.appendChild(temp.firstChild);
|
|
709
|
+
}
|
|
710
|
+
} else if (item instanceof Node) {
|
|
711
|
+
fragment.appendChild(item);
|
|
712
|
+
} else if (item instanceof jBase || Array.isArray(item) || item instanceof NodeList) {
|
|
713
|
+
Array.from(item).forEach((child) => add(child));
|
|
714
|
+
}
|
|
715
|
+
};
|
|
716
|
+
add(content);
|
|
717
|
+
return fragment;
|
|
718
|
+
}
|
|
719
|
+
function remove() {
|
|
720
|
+
this.forEach((el) => {
|
|
721
|
+
if (el instanceof Element) el.remove();
|
|
722
|
+
});
|
|
723
|
+
return this;
|
|
724
|
+
}
|
|
725
|
+
function empty() {
|
|
726
|
+
this.forEach((el) => {
|
|
727
|
+
if (el instanceof Element) el.innerHTML = "";
|
|
728
|
+
});
|
|
729
|
+
return this;
|
|
730
|
+
}
|
|
731
|
+
function replaceWithClone() {
|
|
732
|
+
const newElements = [];
|
|
733
|
+
this.forEach((el) => {
|
|
734
|
+
if (el instanceof Element) {
|
|
735
|
+
const clone = el.cloneNode(true);
|
|
736
|
+
el.replaceWith(clone);
|
|
737
|
+
newElements.push(clone);
|
|
738
|
+
}
|
|
739
|
+
});
|
|
740
|
+
return new this.constructor(newElements);
|
|
741
|
+
}
|
|
742
|
+
function append(content) {
|
|
743
|
+
const fragment = normalizeToFragment(content);
|
|
744
|
+
this.forEach((el, i) => {
|
|
745
|
+
if (el instanceof Element) {
|
|
746
|
+
const contentToInsert = i < this.length - 1 ? fragment.cloneNode(true) : fragment;
|
|
747
|
+
el.appendChild(contentToInsert);
|
|
748
|
+
}
|
|
749
|
+
});
|
|
750
|
+
return this;
|
|
751
|
+
}
|
|
752
|
+
function prepend(content) {
|
|
753
|
+
const fragment = normalizeToFragment(content);
|
|
754
|
+
this.forEach((el, i) => {
|
|
755
|
+
if (el instanceof Element) {
|
|
756
|
+
const contentToInsert = i < this.length - 1 ? fragment.cloneNode(true) : fragment;
|
|
757
|
+
el.prepend(contentToInsert);
|
|
758
|
+
}
|
|
759
|
+
});
|
|
760
|
+
return this;
|
|
761
|
+
}
|
|
762
|
+
function before(content) {
|
|
763
|
+
const fragment = normalizeToFragment(content);
|
|
764
|
+
this.forEach((el, i) => {
|
|
765
|
+
if (el instanceof Element) {
|
|
766
|
+
const contentToInsert = i < this.length - 1 ? fragment.cloneNode(true) : fragment;
|
|
767
|
+
el.before(contentToInsert);
|
|
768
|
+
}
|
|
769
|
+
});
|
|
770
|
+
return this;
|
|
771
|
+
}
|
|
772
|
+
function after(content) {
|
|
773
|
+
const fragment = normalizeToFragment(content);
|
|
774
|
+
this.forEach((el, i) => {
|
|
775
|
+
if (el instanceof Element) {
|
|
776
|
+
const contentToInsert = i < this.length - 1 ? fragment.cloneNode(true) : fragment;
|
|
777
|
+
el.after(contentToInsert);
|
|
778
|
+
}
|
|
779
|
+
});
|
|
780
|
+
return this;
|
|
781
|
+
}
|
|
782
|
+
function replaceWith(content) {
|
|
783
|
+
const fragment = normalizeToFragment(content);
|
|
784
|
+
this.forEach((el, i) => {
|
|
785
|
+
if (el instanceof Element) {
|
|
786
|
+
const contentToInsert = i < this.length - 1 ? fragment.cloneNode(true) : fragment;
|
|
787
|
+
el.replaceWith(contentToInsert);
|
|
788
|
+
}
|
|
789
|
+
});
|
|
790
|
+
return this;
|
|
791
|
+
}
|
|
792
|
+
function appendTo(target) {
|
|
793
|
+
const parent2 = typeof target === "string" ? document.querySelector(target) : target;
|
|
794
|
+
if (parent2 instanceof Element) {
|
|
795
|
+
const fragment = document.createDocumentFragment();
|
|
796
|
+
this.forEach((el) => {
|
|
797
|
+
if (el instanceof Node) fragment.appendChild(el);
|
|
798
|
+
});
|
|
799
|
+
parent2.appendChild(fragment);
|
|
800
|
+
}
|
|
801
|
+
return this;
|
|
802
|
+
}
|
|
803
|
+
function prependTo(target) {
|
|
804
|
+
const parent2 = typeof target === "string" ? document.querySelector(target) : target;
|
|
805
|
+
if (parent2 instanceof Element) {
|
|
806
|
+
const fragment = document.createDocumentFragment();
|
|
807
|
+
this.forEach((el) => {
|
|
808
|
+
if (el instanceof Node) fragment.appendChild(el);
|
|
809
|
+
});
|
|
810
|
+
parent2.prepend(fragment);
|
|
811
|
+
}
|
|
812
|
+
return this;
|
|
813
|
+
}
|
|
814
|
+
function insertBefore(target) {
|
|
815
|
+
const targetEl = typeof target === "string" ? document.querySelector(target) : target;
|
|
816
|
+
if (targetEl instanceof Element) {
|
|
817
|
+
const fragment = document.createDocumentFragment();
|
|
818
|
+
this.forEach((el) => {
|
|
819
|
+
if (el instanceof Node) fragment.appendChild(el);
|
|
820
|
+
});
|
|
821
|
+
targetEl.before(fragment);
|
|
822
|
+
}
|
|
823
|
+
return this;
|
|
824
|
+
}
|
|
825
|
+
function insertAfter(target) {
|
|
826
|
+
const targetEl = typeof target === "string" ? document.querySelector(target) : target;
|
|
827
|
+
if (targetEl instanceof Element) {
|
|
828
|
+
const fragment = document.createDocumentFragment();
|
|
829
|
+
this.forEach((el) => {
|
|
830
|
+
if (el instanceof Node) fragment.appendChild(el);
|
|
831
|
+
});
|
|
832
|
+
targetEl.after(fragment);
|
|
833
|
+
}
|
|
834
|
+
return this;
|
|
835
|
+
}
|
|
836
|
+
function wrap(wrapperHtml) {
|
|
837
|
+
this.forEach((el) => {
|
|
838
|
+
if (el instanceof Element) {
|
|
839
|
+
const wrapper = parseHTML(wrapperHtml);
|
|
840
|
+
if (el.parentNode) {
|
|
841
|
+
el.parentNode.insertBefore(wrapper, el);
|
|
842
|
+
}
|
|
843
|
+
wrapper.appendChild(el);
|
|
844
|
+
}
|
|
845
|
+
});
|
|
846
|
+
return this;
|
|
847
|
+
}
|
|
848
|
+
function unwrap() {
|
|
849
|
+
this.forEach((el) => {
|
|
850
|
+
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);
|
|
857
|
+
}
|
|
858
|
+
});
|
|
859
|
+
return this;
|
|
860
|
+
}
|
|
861
|
+
var init_manipulation = __esm({
|
|
862
|
+
"src/modules/dom/manipulation.ts"() {
|
|
863
|
+
"use strict";
|
|
864
|
+
init_core();
|
|
865
|
+
/**
|
|
866
|
+
* @file src/modules/dom/manipulation.ts
|
|
867
|
+
* @version 2.0.0
|
|
868
|
+
* @since 2.0.0
|
|
869
|
+
* @license GPL-3.0-or-later
|
|
870
|
+
* @copyright Sven Minio 2026
|
|
871
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
872
|
+
* @category DOM
|
|
873
|
+
* @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).
|
|
876
|
+
* @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.
|
|
879
|
+
*/
|
|
880
|
+
}
|
|
881
|
+
});
|
|
882
|
+
|
|
883
|
+
// src/modules/dom/traversal.ts
|
|
884
|
+
var traversal_exports = {};
|
|
885
|
+
__export(traversal_exports, {
|
|
886
|
+
children: () => children,
|
|
887
|
+
closest: () => closest,
|
|
888
|
+
descendants: () => descendants,
|
|
889
|
+
descendantsUntil: () => descendantsUntil,
|
|
890
|
+
eq: () => eq,
|
|
891
|
+
filterBy: () => filterBy,
|
|
892
|
+
findAll: () => findAll,
|
|
893
|
+
first: () => first,
|
|
894
|
+
last: () => last,
|
|
895
|
+
next: () => next,
|
|
896
|
+
nextAll: () => nextAll,
|
|
897
|
+
nextSibling: () => nextSibling,
|
|
898
|
+
nextUntil: () => nextUntil,
|
|
899
|
+
not: () => not,
|
|
900
|
+
parent: () => parent,
|
|
901
|
+
parents: () => parents,
|
|
902
|
+
parentsUntil: () => parentsUntil,
|
|
903
|
+
prev: () => prev,
|
|
904
|
+
prevAll: () => prevAll,
|
|
905
|
+
prevSibling: () => prevSibling,
|
|
906
|
+
prevUntil: () => prevUntil,
|
|
907
|
+
sibling: () => sibling,
|
|
908
|
+
siblings: () => siblings
|
|
909
|
+
});
|
|
910
|
+
function closest(selector) {
|
|
911
|
+
const found = [];
|
|
912
|
+
this.forEach((el) => {
|
|
913
|
+
if (el instanceof Element) {
|
|
914
|
+
const match = el.closest(selector);
|
|
915
|
+
if (match) {
|
|
916
|
+
found.push(match);
|
|
917
|
+
}
|
|
918
|
+
}
|
|
919
|
+
});
|
|
920
|
+
const Construction = this.constructor;
|
|
921
|
+
return new Construction([...new Set(found)]);
|
|
922
|
+
}
|
|
923
|
+
function parent() {
|
|
924
|
+
const parents2 = [];
|
|
925
|
+
this.forEach((el) => {
|
|
926
|
+
if (el instanceof Element && el.parentElement) {
|
|
927
|
+
parents2.push(el.parentElement);
|
|
928
|
+
}
|
|
929
|
+
});
|
|
930
|
+
const Construction = this.constructor;
|
|
931
|
+
return new Construction([...new Set(parents2)]);
|
|
932
|
+
}
|
|
933
|
+
function children(selector) {
|
|
934
|
+
let allChildren = [];
|
|
935
|
+
this.forEach((el) => {
|
|
936
|
+
if (el instanceof Element) {
|
|
937
|
+
const kids = Array.from(el.children);
|
|
938
|
+
allChildren = allChildren.concat(kids);
|
|
939
|
+
}
|
|
940
|
+
});
|
|
941
|
+
if (selector) {
|
|
942
|
+
allChildren = allChildren.filter((child) => child.matches(selector));
|
|
943
|
+
}
|
|
944
|
+
const Construction = this.constructor;
|
|
945
|
+
return new Construction(allChildren);
|
|
946
|
+
}
|
|
947
|
+
function findAll(selector) {
|
|
948
|
+
const found = [];
|
|
949
|
+
this.forEach((el) => {
|
|
950
|
+
if (el instanceof Element || el instanceof Document) {
|
|
951
|
+
const matches = el.querySelectorAll(selector);
|
|
952
|
+
matches.forEach((m) => found.push(m));
|
|
953
|
+
}
|
|
954
|
+
});
|
|
955
|
+
const Construction = this.constructor;
|
|
956
|
+
return new Construction([...new Set(found)]);
|
|
957
|
+
}
|
|
958
|
+
function descendants() {
|
|
959
|
+
return this.findAll("*");
|
|
960
|
+
}
|
|
961
|
+
function parents(selector) {
|
|
962
|
+
const ancestors = [];
|
|
963
|
+
this.forEach((el) => {
|
|
964
|
+
if (el instanceof Element) {
|
|
965
|
+
let curr = el.parentElement;
|
|
966
|
+
while (curr) {
|
|
967
|
+
if (!selector || curr.matches(selector)) {
|
|
968
|
+
ancestors.push(curr);
|
|
969
|
+
}
|
|
970
|
+
curr = curr.parentElement;
|
|
971
|
+
}
|
|
972
|
+
}
|
|
973
|
+
});
|
|
974
|
+
const Construction = this.constructor;
|
|
975
|
+
return new Construction([...new Set(ancestors)]);
|
|
976
|
+
}
|
|
977
|
+
function parentsUntil(selector, filter) {
|
|
978
|
+
const ancestors = [];
|
|
979
|
+
this.forEach((el) => {
|
|
980
|
+
if (el instanceof Element) {
|
|
981
|
+
let curr = el.parentElement;
|
|
982
|
+
while (curr && !curr.matches(selector)) {
|
|
983
|
+
if (!filter || curr.matches(filter)) {
|
|
984
|
+
ancestors.push(curr);
|
|
985
|
+
}
|
|
986
|
+
curr = curr.parentElement;
|
|
987
|
+
}
|
|
988
|
+
}
|
|
989
|
+
});
|
|
990
|
+
const Construction = this.constructor;
|
|
991
|
+
return new Construction([...new Set(ancestors)]);
|
|
992
|
+
}
|
|
993
|
+
function descendantsUntil(untilSelector, filter) {
|
|
994
|
+
const found = [];
|
|
995
|
+
const traverse = (parent2) => {
|
|
996
|
+
const kids = parent2.children;
|
|
997
|
+
for (let i = 0; i < kids.length; i++) {
|
|
998
|
+
const child = kids[i];
|
|
999
|
+
if (child.matches(untilSelector)) {
|
|
1000
|
+
continue;
|
|
1001
|
+
}
|
|
1002
|
+
if (!filter || child.matches(filter)) {
|
|
1003
|
+
found.push(child);
|
|
1004
|
+
}
|
|
1005
|
+
traverse(child);
|
|
1006
|
+
}
|
|
1007
|
+
};
|
|
1008
|
+
this.forEach((el) => {
|
|
1009
|
+
if (el instanceof Element) traverse(el);
|
|
1010
|
+
});
|
|
1011
|
+
const Construction = this.constructor;
|
|
1012
|
+
return new Construction([...new Set(found)]);
|
|
1013
|
+
}
|
|
1014
|
+
function next(selector) {
|
|
1015
|
+
const found = [];
|
|
1016
|
+
this.forEach((el) => {
|
|
1017
|
+
if (el instanceof Element && el.nextElementSibling) {
|
|
1018
|
+
const nextEl = el.nextElementSibling;
|
|
1019
|
+
if (!selector || nextEl.matches(selector)) {
|
|
1020
|
+
found.push(nextEl);
|
|
1021
|
+
}
|
|
1022
|
+
}
|
|
1023
|
+
});
|
|
1024
|
+
const Construction = this.constructor;
|
|
1025
|
+
return new Construction([...new Set(found)]);
|
|
1026
|
+
}
|
|
1027
|
+
function prev(selector) {
|
|
1028
|
+
const found = [];
|
|
1029
|
+
this.forEach((el) => {
|
|
1030
|
+
if (el instanceof Element && el.previousElementSibling) {
|
|
1031
|
+
const prevEl = el.previousElementSibling;
|
|
1032
|
+
if (!selector || prevEl.matches(selector)) {
|
|
1033
|
+
found.push(prevEl);
|
|
1034
|
+
}
|
|
1035
|
+
}
|
|
1036
|
+
});
|
|
1037
|
+
const Construction = this.constructor;
|
|
1038
|
+
return new Construction([...new Set(found)]);
|
|
1039
|
+
}
|
|
1040
|
+
function nextSibling(selector) {
|
|
1041
|
+
return this.next(selector);
|
|
1042
|
+
}
|
|
1043
|
+
function prevSibling(selector) {
|
|
1044
|
+
return this.prev(selector);
|
|
1045
|
+
}
|
|
1046
|
+
function sibling(selector) {
|
|
1047
|
+
return this.next(selector);
|
|
1048
|
+
}
|
|
1049
|
+
function nextAll(selector) {
|
|
1050
|
+
const found = [];
|
|
1051
|
+
this.forEach((el) => {
|
|
1052
|
+
if (el instanceof Element) {
|
|
1053
|
+
let curr = el.nextElementSibling;
|
|
1054
|
+
while (curr) {
|
|
1055
|
+
if (!selector || curr.matches(selector)) {
|
|
1056
|
+
found.push(curr);
|
|
1057
|
+
}
|
|
1058
|
+
curr = curr.nextElementSibling;
|
|
1059
|
+
}
|
|
1060
|
+
}
|
|
1061
|
+
});
|
|
1062
|
+
const Construction = this.constructor;
|
|
1063
|
+
return new Construction([...new Set(found)]);
|
|
1064
|
+
}
|
|
1065
|
+
function prevAll(selector) {
|
|
1066
|
+
const found = [];
|
|
1067
|
+
this.forEach((el) => {
|
|
1068
|
+
if (el instanceof Element) {
|
|
1069
|
+
let curr = el.previousElementSibling;
|
|
1070
|
+
while (curr) {
|
|
1071
|
+
if (!selector || curr.matches(selector)) {
|
|
1072
|
+
found.push(curr);
|
|
1073
|
+
}
|
|
1074
|
+
curr = curr.previousElementSibling;
|
|
1075
|
+
}
|
|
1076
|
+
}
|
|
1077
|
+
});
|
|
1078
|
+
const Construction = this.constructor;
|
|
1079
|
+
return new Construction([...new Set(found)]);
|
|
1080
|
+
}
|
|
1081
|
+
function siblings(selector) {
|
|
1082
|
+
const found = [];
|
|
1083
|
+
this.forEach((el) => {
|
|
1084
|
+
if (el instanceof Element && el.parentElement) {
|
|
1085
|
+
const children2 = Array.from(el.parentElement.children);
|
|
1086
|
+
children2.forEach((child) => {
|
|
1087
|
+
if (child !== el) {
|
|
1088
|
+
if (!selector || child.matches(selector)) {
|
|
1089
|
+
found.push(child);
|
|
1090
|
+
}
|
|
1091
|
+
}
|
|
1092
|
+
});
|
|
1093
|
+
}
|
|
1094
|
+
});
|
|
1095
|
+
const Construction = this.constructor;
|
|
1096
|
+
return new Construction([...new Set(found)]);
|
|
1097
|
+
}
|
|
1098
|
+
function nextUntil(untilSelector, filter) {
|
|
1099
|
+
const found = [];
|
|
1100
|
+
this.forEach((el) => {
|
|
1101
|
+
if (el instanceof Element) {
|
|
1102
|
+
let curr = el.nextElementSibling;
|
|
1103
|
+
while (curr && !curr.matches(untilSelector)) {
|
|
1104
|
+
if (!filter || curr.matches(filter)) {
|
|
1105
|
+
found.push(curr);
|
|
1106
|
+
}
|
|
1107
|
+
curr = curr.nextElementSibling;
|
|
1108
|
+
}
|
|
1109
|
+
}
|
|
1110
|
+
});
|
|
1111
|
+
const Construction = this.constructor;
|
|
1112
|
+
return new Construction([...new Set(found)]);
|
|
1113
|
+
}
|
|
1114
|
+
function prevUntil(untilSelector, filter) {
|
|
1115
|
+
const found = [];
|
|
1116
|
+
this.forEach((el) => {
|
|
1117
|
+
if (el instanceof Element) {
|
|
1118
|
+
let curr = el.previousElementSibling;
|
|
1119
|
+
while (curr && !curr.matches(untilSelector)) {
|
|
1120
|
+
if (!filter || curr.matches(filter)) {
|
|
1121
|
+
found.push(curr);
|
|
1122
|
+
}
|
|
1123
|
+
curr = curr.previousElementSibling;
|
|
1124
|
+
}
|
|
1125
|
+
}
|
|
1126
|
+
});
|
|
1127
|
+
const Construction = this.constructor;
|
|
1128
|
+
return new Construction([...new Set(found)]);
|
|
1129
|
+
}
|
|
1130
|
+
function eq(index) {
|
|
1131
|
+
const len = this.length;
|
|
1132
|
+
const idx = index < 0 ? len + index : index;
|
|
1133
|
+
const el = this[idx];
|
|
1134
|
+
const Construction = this.constructor;
|
|
1135
|
+
return new Construction(el ? [el] : []);
|
|
1136
|
+
}
|
|
1137
|
+
function first() {
|
|
1138
|
+
return this.eq(0);
|
|
1139
|
+
}
|
|
1140
|
+
function last() {
|
|
1141
|
+
return this.eq(-1);
|
|
1142
|
+
}
|
|
1143
|
+
function filterBy(selectorOrFn) {
|
|
1144
|
+
const found = [];
|
|
1145
|
+
this.forEach((el, index) => {
|
|
1146
|
+
if (el instanceof Element) {
|
|
1147
|
+
if (typeof selectorOrFn === "string") {
|
|
1148
|
+
if (el.matches(selectorOrFn)) {
|
|
1149
|
+
found.push(el);
|
|
1150
|
+
}
|
|
1151
|
+
} else if (typeof selectorOrFn === "function") {
|
|
1152
|
+
if (selectorOrFn.call(el, index, el)) {
|
|
1153
|
+
found.push(el);
|
|
1154
|
+
}
|
|
1155
|
+
}
|
|
1156
|
+
}
|
|
1157
|
+
});
|
|
1158
|
+
const Construction = this.constructor;
|
|
1159
|
+
return new Construction(found);
|
|
1160
|
+
}
|
|
1161
|
+
function not(selectorOrFn) {
|
|
1162
|
+
const found = [];
|
|
1163
|
+
this.forEach((el, index) => {
|
|
1164
|
+
if (el instanceof Element) {
|
|
1165
|
+
if (typeof selectorOrFn === "string") {
|
|
1166
|
+
if (!el.matches(selectorOrFn)) {
|
|
1167
|
+
found.push(el);
|
|
1168
|
+
}
|
|
1169
|
+
} else if (typeof selectorOrFn === "function") {
|
|
1170
|
+
if (!selectorOrFn.call(el, index, el)) {
|
|
1171
|
+
found.push(el);
|
|
1172
|
+
}
|
|
1173
|
+
}
|
|
1174
|
+
}
|
|
1175
|
+
});
|
|
1176
|
+
const Construction = this.constructor;
|
|
1177
|
+
return new Construction(found);
|
|
1178
|
+
}
|
|
1179
|
+
var init_traversal = __esm({
|
|
1180
|
+
"src/modules/dom/traversal.ts"() {
|
|
1181
|
+
"use strict";
|
|
1182
|
+
/**
|
|
1183
|
+
* @file src/modules/dom/traversal.ts
|
|
1184
|
+
* @version 2.0.0
|
|
1185
|
+
* @since 2.0.0
|
|
1186
|
+
* @license GPL-3.0-or-later
|
|
1187
|
+
* @copyright Sven Minio 2026
|
|
1188
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
1189
|
+
* @category DOM
|
|
1190
|
+
* @description
|
|
1191
|
+
* * π¬π§: Methods for navigating the DOM tree (find, parent, children, siblings).
|
|
1192
|
+
* * π©πͺ: Methoden zur Navigation im DOM-Baum (find, parent, children, siblings).
|
|
1193
|
+
* @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.
|
|
1196
|
+
*/
|
|
1197
|
+
}
|
|
1198
|
+
});
|
|
1199
|
+
|
|
1200
|
+
// src/modules/dom/states.ts
|
|
1201
|
+
var states_exports = {};
|
|
1202
|
+
__export(states_exports, {
|
|
1203
|
+
checked: () => checked,
|
|
1204
|
+
disabled: () => disabled,
|
|
1205
|
+
selected: () => selected
|
|
1206
|
+
});
|
|
1207
|
+
function checked(state) {
|
|
1208
|
+
if (state === void 0) {
|
|
1209
|
+
const el = this[0];
|
|
1210
|
+
return el instanceof HTMLInputElement ? el.checked : false;
|
|
1211
|
+
}
|
|
1212
|
+
this.forEach((el) => {
|
|
1213
|
+
if (el instanceof HTMLInputElement)
|
|
1214
|
+
el.checked = state;
|
|
1215
|
+
});
|
|
1216
|
+
return this;
|
|
1217
|
+
}
|
|
1218
|
+
function selected(state) {
|
|
1219
|
+
if (state === void 0) {
|
|
1220
|
+
const el = this[0];
|
|
1221
|
+
return el instanceof HTMLOptionElement ? el.selected : false;
|
|
1222
|
+
}
|
|
1223
|
+
this.forEach((el) => {
|
|
1224
|
+
if (el instanceof HTMLOptionElement)
|
|
1225
|
+
el.selected = state;
|
|
1226
|
+
});
|
|
1227
|
+
return this;
|
|
1228
|
+
}
|
|
1229
|
+
function disabled(state) {
|
|
1230
|
+
if (state === void 0) {
|
|
1231
|
+
const el = this[0];
|
|
1232
|
+
return el instanceof HTMLElement && "disabled" in el ? el.disabled : false;
|
|
1233
|
+
}
|
|
1234
|
+
this.forEach((el) => {
|
|
1235
|
+
if (el instanceof HTMLElement && "disabled" in el) {
|
|
1236
|
+
el.disabled = state;
|
|
1237
|
+
if (state)
|
|
1238
|
+
el.classList.add("disabled");
|
|
1239
|
+
else
|
|
1240
|
+
el.classList.remove("disabled");
|
|
1241
|
+
}
|
|
1242
|
+
});
|
|
1243
|
+
return this;
|
|
1244
|
+
}
|
|
1245
|
+
var init_states = __esm({
|
|
1246
|
+
"src/modules/dom/states.ts"() {
|
|
1247
|
+
"use strict";
|
|
1248
|
+
/**
|
|
1249
|
+
* @file src/modules/dom/states.ts
|
|
1250
|
+
* @version 2.0.0
|
|
1251
|
+
* @since 2.0.0
|
|
1252
|
+
* @license GPL-3.0-or-later
|
|
1253
|
+
* @copyright Sven Minio 2026
|
|
1254
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
1255
|
+
* @category DOM
|
|
1256
|
+
* @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).
|
|
1259
|
+
* @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.
|
|
1262
|
+
*/
|
|
1263
|
+
}
|
|
1264
|
+
});
|
|
1265
|
+
|
|
1266
|
+
// src/modules/dom/index.ts
|
|
1267
|
+
var domMethods;
|
|
1268
|
+
var init_dom = __esm({
|
|
1269
|
+
"src/modules/dom/index.ts"() {
|
|
1270
|
+
"use strict";
|
|
1271
|
+
init_attributes();
|
|
1272
|
+
init_content();
|
|
1273
|
+
init_manipulation();
|
|
1274
|
+
init_traversal();
|
|
1275
|
+
init_states();
|
|
1276
|
+
/**
|
|
1277
|
+
* @file src/modules/dom/index.ts
|
|
1278
|
+
* @version 2.0.0
|
|
1279
|
+
* @since 2.0.0
|
|
1280
|
+
* @license GPL-3.0-or-later
|
|
1281
|
+
* @copyright Sven Minio 2026
|
|
1282
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
1283
|
+
* @category DOM
|
|
1284
|
+
* @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.
|
|
1287
|
+
* @requires ./attributes
|
|
1288
|
+
* * π¬π§: Attribute and value manipulation.
|
|
1289
|
+
* * π©πͺ: Attribut- und Wert-Manipulation.
|
|
1290
|
+
* @requires ./content
|
|
1291
|
+
* * π¬π§: Content handling (html, text).
|
|
1292
|
+
* * π©πͺ: Inhalts-Steuerung (html, text).
|
|
1293
|
+
* @requires ./manipulation
|
|
1294
|
+
* * π¬π§: DOM manipulation (append, remove, etc.).
|
|
1295
|
+
* * π©πͺ: DOM-Manipulation (append, remove, etc.).
|
|
1296
|
+
* @requires ./traversal
|
|
1297
|
+
* * π¬π§: Tree traversal (find, parent, children).
|
|
1298
|
+
* * π©πͺ: Baum-Durchquerung (find, parent, children).
|
|
1299
|
+
* @requires ./states
|
|
1300
|
+
* * π¬π§: State checks (checked, disabled).
|
|
1301
|
+
* * π©πͺ: Status-PrΓΌfungen (checked, disabled).
|
|
1302
|
+
*/
|
|
1303
|
+
domMethods = {
|
|
1304
|
+
...attributes_exports,
|
|
1305
|
+
...content_exports,
|
|
1306
|
+
...manipulation_exports,
|
|
1307
|
+
...traversal_exports,
|
|
1308
|
+
...states_exports
|
|
1309
|
+
};
|
|
1310
|
+
}
|
|
1311
|
+
});
|
|
1312
|
+
|
|
1313
|
+
// src/modules/effects/slide.ts
|
|
1314
|
+
var slide_exports = {};
|
|
1315
|
+
__export(slide_exports, {
|
|
1316
|
+
slideIn: () => slideIn,
|
|
1317
|
+
slideOut: () => slideOut,
|
|
1318
|
+
slideToggle: () => slideToggle
|
|
1319
|
+
});
|
|
1320
|
+
function slideIn(options = {}) {
|
|
1321
|
+
const { duration = 300 } = options;
|
|
1322
|
+
this.forEach((el) => {
|
|
1323
|
+
if (el instanceof HTMLElement) {
|
|
1324
|
+
el.style.willChange = "transform";
|
|
1325
|
+
el.style.transition = `transform ${duration}ms cubic-bezier(0.4, 0.0, 0.2, 1)`;
|
|
1326
|
+
requestAnimationFrame(() => {
|
|
1327
|
+
el.style.transform = "translateX(0%)";
|
|
1328
|
+
});
|
|
1329
|
+
el.setAttribute("data-slide-state", "open");
|
|
1330
|
+
}
|
|
1331
|
+
});
|
|
1332
|
+
return this;
|
|
1333
|
+
}
|
|
1334
|
+
function slideOut(options = {}) {
|
|
1335
|
+
const { direction = "left", duration = 300 } = options;
|
|
1336
|
+
const translateValue = direction === "left" ? "-100%" : "100%";
|
|
1337
|
+
this.forEach((el) => {
|
|
1338
|
+
if (el instanceof HTMLElement) {
|
|
1339
|
+
el.style.willChange = "transform";
|
|
1340
|
+
el.style.transition = `transform ${duration}ms cubic-bezier(0.4, 0.0, 0.2, 1)`;
|
|
1341
|
+
requestAnimationFrame(() => {
|
|
1342
|
+
el.style.transform = `translateX(${translateValue})`;
|
|
1343
|
+
});
|
|
1344
|
+
el.setAttribute("data-slide-state", "closed");
|
|
1345
|
+
}
|
|
1346
|
+
});
|
|
1347
|
+
return this;
|
|
1348
|
+
}
|
|
1349
|
+
function slideToggle(options = {}) {
|
|
1350
|
+
this.forEach((el) => {
|
|
1351
|
+
if (el instanceof HTMLElement) {
|
|
1352
|
+
const state = el.getAttribute("data-slide-state");
|
|
1353
|
+
const currentTransform = el.style.transform;
|
|
1354
|
+
if (state === "open" || currentTransform === "translateX(0%)" || window.getComputedStyle(el).display !== "none") {
|
|
1355
|
+
const wrapper = new this.constructor(el);
|
|
1356
|
+
wrapper.slideOut(options);
|
|
1357
|
+
} else {
|
|
1358
|
+
const wrapper = new this.constructor(el);
|
|
1359
|
+
wrapper.slideIn(options);
|
|
1360
|
+
}
|
|
1361
|
+
}
|
|
1362
|
+
});
|
|
1363
|
+
return this;
|
|
1364
|
+
}
|
|
1365
|
+
var init_slide = __esm({
|
|
1366
|
+
"src/modules/effects/slide.ts"() {
|
|
1367
|
+
"use strict";
|
|
1368
|
+
/**
|
|
1369
|
+
* @file src/modules/effects/slide.ts
|
|
1370
|
+
* @version 2.0.0
|
|
1371
|
+
* @since 2.0.0
|
|
1372
|
+
* @license GPL-3.0-or-later
|
|
1373
|
+
* @copyright Sven Minio 2026
|
|
1374
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
1375
|
+
* @category Effects
|
|
1376
|
+
* @description
|
|
1377
|
+
* * π¬π§: Methods for horizontal sliding effects (slideIn, slideOut, slideToggle).
|
|
1378
|
+
* * π©πͺ: Methoden fΓΌr horizontale Slide-Effekte (slideIn, slideOut, slideToggle).
|
|
1379
|
+
* @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.
|
|
1382
|
+
*/
|
|
1383
|
+
}
|
|
1384
|
+
});
|
|
1385
|
+
|
|
1386
|
+
// src/modules/effects/vertical.ts
|
|
1387
|
+
var vertical_exports = {};
|
|
1388
|
+
__export(vertical_exports, {
|
|
1389
|
+
slideDown: () => slideDown,
|
|
1390
|
+
slideToggleBox: () => slideToggleBox,
|
|
1391
|
+
slideUp: () => slideUp
|
|
1392
|
+
});
|
|
1393
|
+
function slideDown(options = {}) {
|
|
1394
|
+
const { duration = 300, displayType = "block" } = options;
|
|
1395
|
+
this.forEach((el) => {
|
|
1396
|
+
if (el instanceof HTMLElement) {
|
|
1397
|
+
if (window.getComputedStyle(el).display !== "none") return;
|
|
1398
|
+
el.style.display = displayType;
|
|
1399
|
+
const height = el.scrollHeight;
|
|
1400
|
+
el.style.height = "0px";
|
|
1401
|
+
el.style.overflow = "hidden";
|
|
1402
|
+
el.style.transition = `height ${duration}ms ease-in-out`;
|
|
1403
|
+
void el.offsetHeight;
|
|
1404
|
+
el.style.height = height + "px";
|
|
1405
|
+
setTimeout(() => {
|
|
1406
|
+
el.style.height = "auto";
|
|
1407
|
+
el.style.overflow = "visible";
|
|
1408
|
+
el.style.transition = "";
|
|
1409
|
+
}, duration);
|
|
1410
|
+
}
|
|
1411
|
+
});
|
|
1412
|
+
return this;
|
|
1413
|
+
}
|
|
1414
|
+
function slideUp(options = {}) {
|
|
1415
|
+
const { duration = 300 } = options;
|
|
1416
|
+
this.forEach((el) => {
|
|
1417
|
+
if (el instanceof HTMLElement) {
|
|
1418
|
+
el.style.height = el.scrollHeight + "px";
|
|
1419
|
+
el.style.overflow = "hidden";
|
|
1420
|
+
el.style.transition = `height ${duration}ms ease-in-out`;
|
|
1421
|
+
void el.offsetHeight;
|
|
1422
|
+
el.style.height = "0px";
|
|
1423
|
+
setTimeout(() => {
|
|
1424
|
+
el.style.display = "none";
|
|
1425
|
+
el.style.height = "";
|
|
1426
|
+
el.style.overflow = "";
|
|
1427
|
+
el.style.transition = "";
|
|
1428
|
+
}, duration);
|
|
1429
|
+
}
|
|
1430
|
+
});
|
|
1431
|
+
return this;
|
|
1432
|
+
}
|
|
1433
|
+
function slideToggleBox(options = {}) {
|
|
1434
|
+
this.forEach((el) => {
|
|
1435
|
+
if (el instanceof HTMLElement) {
|
|
1436
|
+
const display = window.getComputedStyle(el).display;
|
|
1437
|
+
const wrapper = new this.constructor(el);
|
|
1438
|
+
if (display === "none") {
|
|
1439
|
+
wrapper.slideDown(options);
|
|
1440
|
+
} else {
|
|
1441
|
+
wrapper.slideUp(options);
|
|
1442
|
+
}
|
|
1443
|
+
}
|
|
1444
|
+
});
|
|
1445
|
+
return this;
|
|
1446
|
+
}
|
|
1447
|
+
var init_vertical = __esm({
|
|
1448
|
+
"src/modules/effects/vertical.ts"() {
|
|
1449
|
+
"use strict";
|
|
1450
|
+
/**
|
|
1451
|
+
* @file src/modules/effects/vertical.ts
|
|
1452
|
+
* @version 2.0.0
|
|
1453
|
+
* @since 2.0.0
|
|
1454
|
+
* @license GPL-3.0-or-later
|
|
1455
|
+
* @copyright Sven Minio 2026
|
|
1456
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
1457
|
+
* @category Effects
|
|
1458
|
+
* @description
|
|
1459
|
+
* * π¬π§: Methods for vertical sliding effects (slideDown, slideUp, slideToggle).
|
|
1460
|
+
* * π©πͺ: Methoden fΓΌr vertikale Slide-Effekte (slideDown, slideUp, slideToggle).
|
|
1461
|
+
* @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.
|
|
1464
|
+
*/
|
|
1465
|
+
}
|
|
1466
|
+
});
|
|
1467
|
+
|
|
1468
|
+
// src/modules/effects/fade.ts
|
|
1469
|
+
var fade_exports = {};
|
|
1470
|
+
__export(fade_exports, {
|
|
1471
|
+
fadeIn: () => fadeIn,
|
|
1472
|
+
fadeOut: () => fadeOut,
|
|
1473
|
+
fadeToggle: () => fadeToggle
|
|
1474
|
+
});
|
|
1475
|
+
function fadeIn(options = {}) {
|
|
1476
|
+
const { duration = 300, displayType = "block" } = options;
|
|
1477
|
+
this.forEach((el) => {
|
|
1478
|
+
if (el instanceof HTMLElement) {
|
|
1479
|
+
el.style.opacity = "0";
|
|
1480
|
+
el.style.display = displayType;
|
|
1481
|
+
el.style.transition = `opacity ${duration}ms ease-in-out`;
|
|
1482
|
+
void el.offsetHeight;
|
|
1483
|
+
requestAnimationFrame(() => {
|
|
1484
|
+
el.style.opacity = "1";
|
|
1485
|
+
});
|
|
1486
|
+
setTimeout(() => {
|
|
1487
|
+
el.style.transition = "";
|
|
1488
|
+
}, duration);
|
|
1489
|
+
}
|
|
1490
|
+
});
|
|
1491
|
+
return this;
|
|
1492
|
+
}
|
|
1493
|
+
function fadeOut(options = {}) {
|
|
1494
|
+
const { duration = 300 } = options;
|
|
1495
|
+
this.forEach((el) => {
|
|
1496
|
+
if (el instanceof HTMLElement) {
|
|
1497
|
+
el.style.opacity = "1";
|
|
1498
|
+
el.style.transition = `opacity ${duration}ms ease-in-out`;
|
|
1499
|
+
void el.offsetHeight;
|
|
1500
|
+
requestAnimationFrame(() => {
|
|
1501
|
+
el.style.opacity = "0";
|
|
1502
|
+
});
|
|
1503
|
+
setTimeout(() => {
|
|
1504
|
+
el.style.display = "none";
|
|
1505
|
+
el.style.transition = "";
|
|
1506
|
+
}, duration);
|
|
1507
|
+
}
|
|
1508
|
+
});
|
|
1509
|
+
return this;
|
|
1510
|
+
}
|
|
1511
|
+
function fadeToggle(options = {}) {
|
|
1512
|
+
this.forEach((el) => {
|
|
1513
|
+
if (el instanceof HTMLElement) {
|
|
1514
|
+
const display = window.getComputedStyle(el).display;
|
|
1515
|
+
const wrapper = new this.constructor(el);
|
|
1516
|
+
if (display === "none") {
|
|
1517
|
+
wrapper.fadeIn(options);
|
|
1518
|
+
} else {
|
|
1519
|
+
wrapper.fadeOut(options);
|
|
1520
|
+
}
|
|
1521
|
+
}
|
|
1522
|
+
});
|
|
1523
|
+
return this;
|
|
1524
|
+
}
|
|
1525
|
+
var init_fade = __esm({
|
|
1526
|
+
"src/modules/effects/fade.ts"() {
|
|
1527
|
+
"use strict";
|
|
1528
|
+
/**
|
|
1529
|
+
* @file src/modules/effects/fade.ts
|
|
1530
|
+
* @version 2.0.0
|
|
1531
|
+
* @since 2.0.0
|
|
1532
|
+
* @license GPL-3.0-or-later
|
|
1533
|
+
* @copyright Sven Minio 2026
|
|
1534
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
1535
|
+
* @category Effects
|
|
1536
|
+
* @description
|
|
1537
|
+
* * π¬π§: Methods for fading elements in and out (fadeIn, fadeOut, fadeToggle).
|
|
1538
|
+
* * π©πͺ: Methoden zum Ein- und Ausblenden von Elementen (fadeIn, fadeOut, fadeToggle).
|
|
1539
|
+
* @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.
|
|
1542
|
+
*/
|
|
1543
|
+
}
|
|
1544
|
+
});
|
|
1545
|
+
|
|
1546
|
+
// src/modules/effects/index.ts
|
|
1547
|
+
var effectMethods;
|
|
1548
|
+
var init_effects = __esm({
|
|
1549
|
+
"src/modules/effects/index.ts"() {
|
|
1550
|
+
"use strict";
|
|
1551
|
+
init_slide();
|
|
1552
|
+
init_vertical();
|
|
1553
|
+
init_fade();
|
|
1554
|
+
/**
|
|
1555
|
+
* @file src/modules/effects/index.ts
|
|
1556
|
+
* @version 2.0.0
|
|
1557
|
+
* @since 2.0.0
|
|
1558
|
+
* @license GPL-3.0-or-later
|
|
1559
|
+
* @copyright Sven Minio 2026
|
|
1560
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
1561
|
+
* @category Effects
|
|
1562
|
+
* @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.
|
|
1565
|
+
* @requires ./slide
|
|
1566
|
+
* * π¬π§: Horizontal slide effects (slideIn, slideOut).
|
|
1567
|
+
* * π©πͺ: Horizontale Slide-Effekte (slideIn, slideOut).
|
|
1568
|
+
* @requires ./vertical
|
|
1569
|
+
* * π¬π§: Vertical slide effects / Accordion (slideDown, slideUp).
|
|
1570
|
+
* * π©πͺ: Vertikale Slide-Effekte / Akkordeon (slideDown, slideUp).
|
|
1571
|
+
* @requires ./fade
|
|
1572
|
+
* * π¬π§: Opacity fade effects (fadeIn, fadeOut).
|
|
1573
|
+
* * π©πͺ: OpazitΓ€ts-Fade-Effekte (fadeIn, fadeOut).
|
|
1574
|
+
*/
|
|
1575
|
+
effectMethods = {
|
|
1576
|
+
...slide_exports,
|
|
1577
|
+
...vertical_exports,
|
|
1578
|
+
...fade_exports
|
|
1579
|
+
};
|
|
1580
|
+
}
|
|
1581
|
+
});
|
|
1582
|
+
|
|
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.0
|
|
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
|
+
// src/modules/http/get.ts
|
|
1603
|
+
var get_exports = {};
|
|
1604
|
+
__export(get_exports, {
|
|
1605
|
+
get: () => get,
|
|
1606
|
+
getText: () => getText
|
|
1607
|
+
});
|
|
1608
|
+
async function get(url) {
|
|
1609
|
+
const response = await fetch(url, {
|
|
1610
|
+
signal: AbortSignal.timeout(5e3)
|
|
1611
|
+
});
|
|
1612
|
+
if (!response.ok) {
|
|
1613
|
+
throw new Error(`HTTP Error: ${response.status}`);
|
|
1614
|
+
}
|
|
1615
|
+
return await response.json();
|
|
1616
|
+
}
|
|
1617
|
+
async function getText(url) {
|
|
1618
|
+
const response = await fetch(url);
|
|
1619
|
+
if (!response.ok) {
|
|
1620
|
+
throw new Error(`HTTP Error: ${response.status}`);
|
|
1621
|
+
}
|
|
1622
|
+
return await response.text();
|
|
1623
|
+
}
|
|
1624
|
+
var init_get = __esm({
|
|
1625
|
+
"src/modules/http/get.ts"() {
|
|
1626
|
+
"use strict";
|
|
1627
|
+
/**
|
|
1628
|
+
* @file src/modules/http/get.ts
|
|
1629
|
+
* @version 2.0.0
|
|
1630
|
+
* @since 2.0.0
|
|
1631
|
+
* @license GPL-3.0-or-later
|
|
1632
|
+
* @copyright Sven Minio 2026
|
|
1633
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
1634
|
+
* @category HTTP
|
|
1635
|
+
* @description
|
|
1636
|
+
* * π¬π§: Abstraction for HTTP GET requests.
|
|
1637
|
+
* * π©πͺ: Abstraktion fΓΌr HTTP GET-Anfragen.
|
|
1638
|
+
* @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.
|
|
1641
|
+
*/
|
|
1642
|
+
}
|
|
1643
|
+
});
|
|
1644
|
+
|
|
1645
|
+
// src/modules/http/post.ts
|
|
1646
|
+
var post_exports = {};
|
|
1647
|
+
__export(post_exports, {
|
|
1648
|
+
post: () => post
|
|
1649
|
+
});
|
|
1650
|
+
async function post(url, body = {}) {
|
|
1651
|
+
const response = await fetch(url, {
|
|
1652
|
+
method: "POST",
|
|
1653
|
+
headers: { "Content-Type": "application/json" },
|
|
1654
|
+
body: JSON.stringify(body)
|
|
1655
|
+
});
|
|
1656
|
+
if (response.status === 204) {
|
|
1657
|
+
const text2 = await response.text();
|
|
1658
|
+
return text2 ? JSON.parse(text2) : {};
|
|
1659
|
+
}
|
|
1660
|
+
if (!response.ok) {
|
|
1661
|
+
throw new Error(`HTTP Error: ${response.status}`);
|
|
1662
|
+
}
|
|
1663
|
+
return await response.json();
|
|
1664
|
+
}
|
|
1665
|
+
var init_post = __esm({
|
|
1666
|
+
"src/modules/http/post.ts"() {
|
|
1667
|
+
"use strict";
|
|
1668
|
+
/**
|
|
1669
|
+
* @file src/modules/http/post.ts
|
|
1670
|
+
* @version 2.0.0
|
|
1671
|
+
* @since 2.0.0
|
|
1672
|
+
* @license GPL-3.0-or-later
|
|
1673
|
+
* @copyright Sven Minio 2026
|
|
1674
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
1675
|
+
* @category HTTP
|
|
1676
|
+
* * @description
|
|
1677
|
+
* * π¬π§: Abstraction for HTTP POST requests.
|
|
1678
|
+
* * π©πͺ: Abstraktion fΓΌr HTTP POST-Anfragen.
|
|
1679
|
+
* @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.
|
|
1682
|
+
*/
|
|
1683
|
+
}
|
|
1684
|
+
});
|
|
1685
|
+
|
|
1686
|
+
// src/modules/http/index.ts
|
|
1687
|
+
var http;
|
|
1688
|
+
var init_http = __esm({
|
|
1689
|
+
"src/modules/http/index.ts"() {
|
|
1690
|
+
"use strict";
|
|
1691
|
+
init_get();
|
|
1692
|
+
init_post();
|
|
1693
|
+
/**
|
|
1694
|
+
* @file src/modules/http/index.ts
|
|
1695
|
+
* @version 2.0.0
|
|
1696
|
+
* @since 2.0.0
|
|
1697
|
+
* @license GPL-3.0-or-later
|
|
1698
|
+
* @copyright Sven Minio 2026
|
|
1699
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
1700
|
+
* @category HTTP
|
|
1701
|
+
* @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.
|
|
1704
|
+
* @requires ./get
|
|
1705
|
+
* * π¬π§: HTTP GET methods (get, getText).
|
|
1706
|
+
* * π©πͺ: HTTP GET-Methoden (get, getText).
|
|
1707
|
+
* @requires ./post
|
|
1708
|
+
* * π¬π§: HTTP POST methods.
|
|
1709
|
+
* * π©πͺ: HTTP POST-Methoden.
|
|
1710
|
+
*/
|
|
1711
|
+
http = {
|
|
1712
|
+
...get_exports,
|
|
1713
|
+
...post_exports
|
|
1714
|
+
};
|
|
1715
|
+
}
|
|
1716
|
+
});
|
|
1717
|
+
|
|
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.0
|
|
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
|
+
// src/modules/data/arrays.ts
|
|
1738
|
+
var init_arrays = __esm({
|
|
1739
|
+
"src/modules/data/arrays.ts"() {
|
|
1740
|
+
"use strict";
|
|
1741
|
+
init_types();
|
|
1742
|
+
/**
|
|
1743
|
+
* @file src/modules/data/arrays.ts
|
|
1744
|
+
* @version 2.0.0
|
|
1745
|
+
* @since 2.0.0
|
|
1746
|
+
* @license GPL-3.0-or-later
|
|
1747
|
+
* @copyright Sven Minio 2026
|
|
1748
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
1749
|
+
* @category Data
|
|
1750
|
+
* @description
|
|
1751
|
+
* * π¬π§: Utility functions for array manipulation and data processing.
|
|
1752
|
+
* * π©πͺ: Hilfsfunktionen fΓΌr Array-Manipulation und Datenverarbeitung.
|
|
1753
|
+
* @requires ./types
|
|
1754
|
+
* * π¬π§: Depends on match logic and types.
|
|
1755
|
+
* * π©πͺ: HΓ€ngt von Match-Logik und Typen ab.
|
|
1756
|
+
*/
|
|
1757
|
+
}
|
|
1758
|
+
});
|
|
1759
|
+
|
|
1760
|
+
// src/modules/data/objects.ts
|
|
1761
|
+
var init_objects = __esm({
|
|
1762
|
+
"src/modules/data/objects.ts"() {
|
|
1763
|
+
"use strict";
|
|
1764
|
+
init_types();
|
|
1765
|
+
/**
|
|
1766
|
+
* @file src/modules/data/objects.ts
|
|
1767
|
+
* @version 2.0.0
|
|
1768
|
+
* @since 2.0.0
|
|
1769
|
+
* @license GPL-3.0-or-later
|
|
1770
|
+
* @copyright Sven Minio 2026
|
|
1771
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
1772
|
+
* @category Data
|
|
1773
|
+
* @description
|
|
1774
|
+
* * π¬π§: Utility functions for object manipulation (e.g., deep merging, extension).
|
|
1775
|
+
* * π©πͺ: Hilfsfunktionen fΓΌr Objekt-Manipulation (z.B. Deep Merge, Erweiterung).
|
|
1776
|
+
* @requires ./types
|
|
1777
|
+
* * π¬π§: Depends on match logic and types.
|
|
1778
|
+
* * π©πͺ: HΓ€ngt von Match-Logik und Typen ab.
|
|
1779
|
+
*/
|
|
1780
|
+
}
|
|
1781
|
+
});
|
|
1782
|
+
|
|
1783
|
+
// src/modules/data/index.ts
|
|
1784
|
+
var init_data = __esm({
|
|
1785
|
+
"src/modules/data/index.ts"() {
|
|
1786
|
+
"use strict";
|
|
1787
|
+
init_arrays();
|
|
1788
|
+
init_objects();
|
|
1789
|
+
/**
|
|
1790
|
+
* @file src/modules/data/index.ts
|
|
1791
|
+
* @version 2.0.0
|
|
1792
|
+
* @since 2.0.0
|
|
1793
|
+
* * @license GPL-3.0-or-later
|
|
1794
|
+
* @copyright Sven Minio 2026
|
|
1795
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
1796
|
+
* @category Data
|
|
1797
|
+
* @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.
|
|
1800
|
+
* @requires ./arrays
|
|
1801
|
+
* * π¬π§: Array manipulation methods.
|
|
1802
|
+
* * π©πͺ: Methoden zur Array-Manipulation.
|
|
1803
|
+
* @requires ./objects
|
|
1804
|
+
* * π¬π§: Object manipulation methods.
|
|
1805
|
+
* * π©πͺ: Methoden zur Objekt-Manipulation.
|
|
1806
|
+
*/
|
|
1807
|
+
}
|
|
1808
|
+
});
|
|
1809
|
+
|
|
1810
|
+
// src/index.ts
|
|
1811
|
+
var init, $, jB, _jB, __jB, _jBase, __jBase, jBase2;
|
|
1812
|
+
var init_index = __esm({
|
|
1813
|
+
"src/index.ts"() {
|
|
1814
|
+
"use strict";
|
|
1815
|
+
init_core();
|
|
1816
|
+
init_css();
|
|
1817
|
+
init_events();
|
|
1818
|
+
init_dom();
|
|
1819
|
+
init_effects();
|
|
1820
|
+
init_utils();
|
|
1821
|
+
init_utils();
|
|
1822
|
+
init_http();
|
|
1823
|
+
init_data();
|
|
1824
|
+
/**
|
|
1825
|
+
* @file src/index.ts
|
|
1826
|
+
* @version 2.0.0
|
|
1827
|
+
* @since 2.0.0
|
|
1828
|
+
* @license GPL-3.0-or-later
|
|
1829
|
+
* @copyright Sven Minio 2026
|
|
1830
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
1831
|
+
* @category Entry Point
|
|
1832
|
+
* @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.
|
|
1835
|
+
* @requires ./core
|
|
1836
|
+
* * π¬π§: Core class logic and inheritance.
|
|
1837
|
+
* * π©πͺ: Kern-Klassenlogik und Vererbung.
|
|
1838
|
+
* @requires ./types
|
|
1839
|
+
* * π¬π§: TypeScript type definitions and interfaces.
|
|
1840
|
+
* * π©πͺ: TypeScript Typ-Definitionen und Interfaces.
|
|
1841
|
+
* @requires ./utils
|
|
1842
|
+
* * π¬π§: Helper functions (throttle, debounce).
|
|
1843
|
+
* * π©πͺ: Hilfsfunktionen (throttle, debounce).
|
|
1844
|
+
* @requires ./modules/css
|
|
1845
|
+
* * π¬π§: Style manipulation methods.
|
|
1846
|
+
* * π©πͺ: Style-Manipulations-Methoden.
|
|
1847
|
+
* @requires ./modules/events
|
|
1848
|
+
* * π¬π§: Event handling logic.
|
|
1849
|
+
* * π©πͺ: Event-Handling-Logik.
|
|
1850
|
+
* @requires ./modules/dom
|
|
1851
|
+
* * π¬π§: DOM traversal and manipulation.
|
|
1852
|
+
* * π©πͺ: DOM-Traversierung und -Manipulation.
|
|
1853
|
+
* @requires ./modules/effects
|
|
1854
|
+
* * π¬π§: Visual effects and animations.
|
|
1855
|
+
* * π©πͺ: Visuelle Effekte und Animationen.
|
|
1856
|
+
* @requires ./modules/http
|
|
1857
|
+
* * π¬π§: HTTP client for AJAX requests.
|
|
1858
|
+
* * π©πͺ: HTTP-Client fΓΌr AJAX-Anfragen.
|
|
1859
|
+
* @requires ./modules/data
|
|
1860
|
+
* * π¬π§: Data structure utilities.
|
|
1861
|
+
* * π©πͺ: Datenstruktur-Utilities.
|
|
1862
|
+
*/
|
|
1863
|
+
Object.assign(jBase.prototype, cssMethods);
|
|
1864
|
+
Object.assign(jBase.prototype, eventMethods);
|
|
1865
|
+
Object.assign(jBase.prototype, domMethods);
|
|
1866
|
+
Object.assign(jBase.prototype, effectMethods);
|
|
1867
|
+
init = (selector) => new jBase(selector);
|
|
1868
|
+
$ = init;
|
|
1869
|
+
jB = init;
|
|
1870
|
+
_jB = init;
|
|
1871
|
+
__jB = init;
|
|
1872
|
+
_jBase = init;
|
|
1873
|
+
__jBase = init;
|
|
1874
|
+
jBase2 = init;
|
|
1875
|
+
}
|
|
1876
|
+
});
|
|
1877
|
+
|
|
1878
|
+
// src/browser.ts
|
|
1879
|
+
var require_browser = __commonJS({
|
|
1880
|
+
"src/browser.ts"() {
|
|
1881
|
+
init_index();
|
|
1882
|
+
/**
|
|
1883
|
+
* @file src/browser.ts
|
|
1884
|
+
* @version 2.0.0
|
|
1885
|
+
* @since 2.0.0
|
|
1886
|
+
* @license GPL-3.0-or-later
|
|
1887
|
+
* @copyright Sven Minio 2026
|
|
1888
|
+
* @author Sven Minio <https://sven-minio.de>
|
|
1889
|
+
* @category Browser
|
|
1890
|
+
* @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.
|
|
1893
|
+
*/
|
|
1894
|
+
window.$ = $;
|
|
1895
|
+
window.jBase = jBase2;
|
|
1896
|
+
window.jB = jB;
|
|
1897
|
+
window._jB = _jB;
|
|
1898
|
+
window.__jB = __jB;
|
|
1899
|
+
window._jBase = _jBase;
|
|
1900
|
+
window.__jBase = __jBase;
|
|
1901
|
+
window.http = http;
|
|
1902
|
+
console.log("jBase initialized and ready!");
|
|
1903
|
+
}
|
|
1904
|
+
});
|
|
1905
|
+
require_browser();
|
|
1906
|
+
})();
|