@k37z3r/jbase 2.0.1 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +59 -43
  3. package/dist/browser.d.ts +5 -6
  4. package/dist/browser.d.ts.map +1 -1
  5. package/dist/core.d.ts +9 -14
  6. package/dist/core.d.ts.map +1 -1
  7. package/dist/index.cjs +577 -452
  8. package/dist/index.cjs.map +7 -0
  9. package/dist/index.d.ts +304 -603
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.mjs +575 -452
  12. package/dist/index.mjs.map +7 -0
  13. package/dist/jbase.browser.js +338 -281
  14. package/dist/jbase.browser.js.map +7 -0
  15. package/dist/jbase.min.js +3 -2
  16. package/dist/jbase.min.js.map +7 -0
  17. package/dist/modules/css/classes.d.ts +15 -29
  18. package/dist/modules/css/classes.d.ts.map +1 -1
  19. package/dist/modules/css/index.d.ts +5 -9
  20. package/dist/modules/css/index.d.ts.map +1 -1
  21. package/dist/modules/css/styles.d.ts +7 -13
  22. package/dist/modules/css/styles.d.ts.map +1 -1
  23. package/dist/modules/data/arrays.d.ts +96 -64
  24. package/dist/modules/data/arrays.d.ts.map +1 -1
  25. package/dist/modules/data/index.d.ts +5 -9
  26. package/dist/modules/data/index.d.ts.map +1 -1
  27. package/dist/modules/data/objects.d.ts +86 -54
  28. package/dist/modules/data/objects.d.ts.map +1 -1
  29. package/dist/modules/data/types.d.ts +3 -22
  30. package/dist/modules/data/types.d.ts.map +1 -1
  31. package/dist/modules/dom/attributes.d.ts +10 -19
  32. package/dist/modules/dom/attributes.d.ts.map +1 -1
  33. package/dist/modules/dom/content.d.ts +9 -17
  34. package/dist/modules/dom/content.d.ts.map +1 -1
  35. package/dist/modules/dom/index.d.ts +8 -15
  36. package/dist/modules/dom/index.d.ts.map +1 -1
  37. package/dist/modules/dom/manipulation.d.ts +41 -81
  38. package/dist/modules/dom/manipulation.d.ts.map +1 -1
  39. package/dist/modules/dom/states.d.ts +12 -23
  40. package/dist/modules/dom/states.d.ts.map +1 -1
  41. package/dist/modules/dom/traversal.d.ts +64 -127
  42. package/dist/modules/dom/traversal.d.ts.map +1 -1
  43. package/dist/modules/effects/fade.d.ts +13 -31
  44. package/dist/modules/effects/fade.d.ts.map +1 -1
  45. package/dist/modules/effects/index.d.ts +15 -23
  46. package/dist/modules/effects/index.d.ts.map +1 -1
  47. package/dist/modules/effects/slide.d.ts +13 -31
  48. package/dist/modules/effects/slide.d.ts.map +1 -1
  49. package/dist/modules/effects/types.d.ts +33 -0
  50. package/dist/modules/effects/types.d.ts.map +1 -0
  51. package/dist/modules/effects/vertical.d.ts +13 -31
  52. package/dist/modules/effects/vertical.d.ts.map +1 -1
  53. package/dist/modules/events/binding.d.ts +11 -21
  54. package/dist/modules/events/binding.d.ts.map +1 -1
  55. package/dist/modules/events/form.d.ts +18 -35
  56. package/dist/modules/events/form.d.ts.map +1 -1
  57. package/dist/modules/events/index.d.ts +9 -17
  58. package/dist/modules/events/index.d.ts.map +1 -1
  59. package/dist/modules/events/keyboard.d.ts +16 -31
  60. package/dist/modules/events/keyboard.d.ts.map +1 -1
  61. package/dist/modules/events/lifecycle.d.ts +6 -11
  62. package/dist/modules/events/lifecycle.d.ts.map +1 -1
  63. package/dist/modules/events/mouse.d.ts +30 -59
  64. package/dist/modules/events/mouse.d.ts.map +1 -1
  65. package/dist/modules/events/touch.d.ts +15 -29
  66. package/dist/modules/events/touch.d.ts.map +1 -1
  67. package/dist/modules/http/get.d.ts +18 -25
  68. package/dist/modules/http/get.d.ts.map +1 -1
  69. package/dist/modules/http/index.d.ts +11 -15
  70. package/dist/modules/http/index.d.ts.map +1 -1
  71. package/dist/modules/http/post.d.ts +13 -19
  72. package/dist/modules/http/post.d.ts.map +1 -1
  73. package/dist/server.d.ts +15 -0
  74. package/dist/server.d.ts.map +1 -0
  75. package/dist/server.js +2246 -0
  76. package/dist/server.js.map +7 -0
  77. package/dist/types.d.ts +11 -21
  78. package/dist/types.d.ts.map +1 -1
  79. package/dist/utils.d.ts +20 -23
  80. package/dist/utils.d.ts.map +1 -1
  81. package/package.json +14 -4
  82. package/wiki/CSS-Classes-&-Styles.md +128 -0
  83. package/wiki/DATA-Utilities-(Arrays).md +332 -0
  84. package/wiki/DATA-Utilities-(Objects).md +263 -0
  85. package/wiki/DOM-Attributes.md +56 -0
  86. package/wiki/DOM-Content.md +48 -0
  87. package/wiki/DOM-Manipulation.md +272 -0
  88. package/wiki/DOM-States.md +73 -0
  89. package/wiki/DOM-Traversal.md +529 -0
  90. package/wiki/EFFECTS-Fade.md +76 -0
  91. package/wiki/EFFECTS-Slide-(horizontal).md +70 -0
  92. package/wiki/EFFECTS-Slide-(vertical).md +75 -0
  93. package/wiki/EVENTS-Bindings.md +55 -0
  94. package/wiki/EVENTS-Form.md +122 -0
  95. package/wiki/EVENTS-Keyboard.md +98 -0
  96. package/wiki/EVENTS-Lifecycle.md +25 -0
  97. package/wiki/EVENTS-Mouse.md +218 -0
  98. package/wiki/EVENTS-Touch.md +98 -0
  99. package/wiki/HTTP-Requests.md +93 -0
  100. package/wiki/Home.md +118 -0
  101. package/wiki/Installation.md +44 -0
  102. package/wiki/Quick-Start.md +139 -0
  103. package/dist/browser.js +0 -29
  104. package/dist/browser.js.map +0 -1
  105. package/dist/core.js +0 -78
  106. package/dist/core.js.map +0 -1
  107. package/dist/index.js +0 -100
  108. package/dist/index.js.map +0 -1
  109. package/dist/jbase.js +0 -1898
  110. package/dist/modules/css/classes.js +0 -88
  111. package/dist/modules/css/classes.js.map +0 -1
  112. package/dist/modules/css/index.js +0 -33
  113. package/dist/modules/css/index.js.map +0 -1
  114. package/dist/modules/css/styles.js +0 -49
  115. package/dist/modules/css/styles.js.map +0 -1
  116. package/dist/modules/data/arrays.js +0 -177
  117. package/dist/modules/data/arrays.js.map +0 -1
  118. package/dist/modules/data/index.js +0 -33
  119. package/dist/modules/data/index.js.map +0 -1
  120. package/dist/modules/data/objects.js +0 -168
  121. package/dist/modules/data/objects.js.map +0 -1
  122. package/dist/modules/data/types.js +0 -43
  123. package/dist/modules/data/types.js.map +0 -1
  124. package/dist/modules/dom/attributes.js +0 -69
  125. package/dist/modules/dom/attributes.js.map +0 -1
  126. package/dist/modules/dom/content.js +0 -63
  127. package/dist/modules/dom/content.js.map +0 -1
  128. package/dist/modules/dom/index.js +0 -48
  129. package/dist/modules/dom/index.js.map +0 -1
  130. package/dist/modules/dom/manipulation.js +0 -343
  131. package/dist/modules/dom/manipulation.js.map +0 -1
  132. package/dist/modules/dom/states.js +0 -89
  133. package/dist/modules/dom/states.js.map +0 -1
  134. package/dist/modules/dom/traversal.js +0 -527
  135. package/dist/modules/dom/traversal.js.map +0 -1
  136. package/dist/modules/effects/fade.js +0 -104
  137. package/dist/modules/effects/fade.js.map +0 -1
  138. package/dist/modules/effects/index.js +0 -38
  139. package/dist/modules/effects/index.js.map +0 -1
  140. package/dist/modules/effects/slide.js +0 -103
  141. package/dist/modules/effects/slide.js.map +0 -1
  142. package/dist/modules/effects/vertical.js +0 -118
  143. package/dist/modules/effects/vertical.js.map +0 -1
  144. package/dist/modules/events/binding.js +0 -60
  145. package/dist/modules/events/binding.js.map +0 -1
  146. package/dist/modules/events/form.js +0 -106
  147. package/dist/modules/events/form.js.map +0 -1
  148. package/dist/modules/events/index.js +0 -53
  149. package/dist/modules/events/index.js.map +0 -1
  150. package/dist/modules/events/keyboard.js +0 -83
  151. package/dist/modules/events/keyboard.js.map +0 -1
  152. package/dist/modules/events/lifecycle.js +0 -40
  153. package/dist/modules/events/lifecycle.js.map +0 -1
  154. package/dist/modules/events/mouse.js +0 -172
  155. package/dist/modules/events/mouse.js.map +0 -1
  156. package/dist/modules/events/touch.js +0 -74
  157. package/dist/modules/events/touch.js.map +0 -1
  158. package/dist/modules/http/get.js +0 -65
  159. package/dist/modules/http/get.js.map +0 -1
  160. package/dist/modules/http/index.js +0 -42
  161. package/dist/modules/http/index.js.map +0 -1
  162. package/dist/modules/http/post.js +0 -54
  163. package/dist/modules/http/post.js.map +0 -1
  164. package/dist/types.js +0 -15
  165. package/dist/types.js.map +0 -1
  166. package/dist/utils.js +0 -71
  167. package/dist/utils.js.map +0 -1
@@ -1,69 +0,0 @@
1
- "use strict";
2
- /**
3
- * @file src/modules/dom/attributes.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 getting and setting HTML attributes and properties (attr, data, val).
12
- * * 🇩🇪: Methoden zum Lesen und Setzen von HTML-Attributen und Eigenschaften (attr, data, val).
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.attr = attr;
19
- exports.val = val;
20
- /**
21
- * * 🇬🇧: Gets an attribute from the first element or sets it for all elements in the selection.
22
- * * 🇩🇪: Liest ein Attribut vom ersten Element oder setzt es für alle Elemente in der Auswahl.
23
- * @param name
24
- * * 🇬🇧: The name of the attribute (e.g., 'href', 'data-id').
25
- * * 🇩🇪: Der Name des Attributs (z.B. 'href', 'data-id').
26
- * @param value
27
- * * 🇬🇧: (Optional) The value to set. If undefined, acts as a getter.
28
- * * 🇩🇪: (Optional) Der zu setzende Wert. Wenn nicht angegeben, wird gelesen.
29
- * @returns
30
- * * 🇬🇧: The attribute value (string/null) when reading, or the jBase instance when writing.
31
- * * 🇩🇪: Beim Lesen: Der Wert des Attributs (string/null). Beim Schreiben: Die jBase-Instanz.
32
- */
33
- function attr(name, value) {
34
- if (value === undefined) {
35
- const el = this[0];
36
- return (el instanceof Element) ? el.getAttribute(name) : null;
37
- }
38
- this.forEach(el => {
39
- if (el instanceof Element)
40
- el.setAttribute(name, value);
41
- });
42
- return this;
43
- }
44
- /**
45
- * * 🇬🇧: Gets the 'value' from the first form element or sets it for all elements. Supports Input, Textarea, and Select elements.
46
- * * 🇩🇪: Liest den 'value' vom ersten Formularelement oder setzt ihn für alle Elemente. Unterstützt Input-, Textarea- und Select-Elemente.
47
- * @param value
48
- * * 🇬🇧: (Optional) The value to set. If undefined, acts as a getter.
49
- * * 🇩🇪: (Optional) Der zu setzende Wert. Wenn nicht angegeben, wird gelesen.
50
- * @returns
51
- * * 🇬🇧: The current value as a string when reading, or the jBase instance when writing.
52
- * * 🇩🇪: Beim Lesen: Der aktuelle Wert als String. Beim Schreiben: Die jBase-Instanz.
53
- */
54
- function val(value) {
55
- if (value === undefined) {
56
- const el = this[0];
57
- if (el instanceof HTMLInputElement || el instanceof HTMLTextAreaElement || el instanceof HTMLSelectElement) {
58
- return el.value;
59
- }
60
- return '';
61
- }
62
- this.forEach(el => {
63
- if (el instanceof HTMLInputElement || el instanceof HTMLTextAreaElement || el instanceof HTMLSelectElement) {
64
- el.value = value;
65
- }
66
- });
67
- return this;
68
- }
69
- //# sourceMappingURL=attributes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attributes.js","sourceRoot":"","sources":["../../../src/modules/dom/attributes.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAiBH,oBAUC;AAYD,kBAeC;AAlDD;;;;;;;;;;;;GAYG;AACH,SAAgB,IAAI,CAAc,IAAY,EAAE,KAAc;IAC1D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,OAAO,CAAC,EAAE,YAAY,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACd,IAAI,EAAE,YAAY,OAAO;YAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,GAAG,CAAc,KAAc;IAC3C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,EAAE,YAAY,gBAAgB,IAAI,EAAE,YAAY,mBAAmB,IAAI,EAAE,YAAY,iBAAiB,EAAE,CAAC;YACzG,OAAO,EAAE,CAAC,KAAK,CAAC;QACpB,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACd,IAAI,EAAE,YAAY,gBAAgB,IAAI,EAAE,YAAY,mBAAmB,IAAI,EAAE,YAAY,iBAAiB,EAAE,CAAC;YACzG,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -1,63 +0,0 @@
1
- "use strict";
2
- /**
3
- * @file src/modules/dom/content.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 getting and setting element content (html, text, empty, replaceWith).
12
- * * 🇩🇪: Methoden zum Lesen und Setzen von Elementinhalten (html, text, empty, replaceWith).
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.html = html;
19
- exports.text = text;
20
- /**
21
- * * 🇬🇧: Gets the HTML content of the first element or sets the HTML content for all elements in the selection.
22
- * * 🇩🇪: Ruft den HTML-Inhalt des ersten Elements ab oder setzt den HTML-Inhalt für alle Elemente in der Auswahl.
23
- * @param content
24
- * * 🇬🇧: (Optional) The HTML string to set.
25
- * * 🇩🇪: (Optional) Der HTML-String, der gesetzt werden soll.
26
- * @returns
27
- * * 🇬🇧: The HTML string (getter) or the current jBase instance (setter).
28
- * * 🇩🇪: Der HTML-String (Getter) oder die aktuelle jBase-Instanz (Setter).
29
- */
30
- function html(content) {
31
- if (content === undefined) {
32
- const el = this[0];
33
- return (el instanceof Element) ? el.innerHTML : '';
34
- }
35
- this.forEach(el => {
36
- if (el instanceof Element)
37
- el.innerHTML = content;
38
- });
39
- return this;
40
- }
41
- /**
42
- * * 🇬🇧: Gets the text content of the first element or sets it for all elements. Safe against XSS attacks.
43
- * * 🇩🇪: Ruft den reinen Text-Inhalt des ersten Elements ab oder setzt ihn für alle Elemente. Sicher gegen XSS-Angriffe.
44
- * @param content
45
- * * 🇬🇧: (Optional) The text content to set.
46
- * * 🇩🇪: (Optional) Der Text, der gesetzt werden soll.
47
- * @returns
48
- * * 🇬🇧: The text content (getter) or the current jBase instance (setter).
49
- * * 🇩🇪: Der Text-Inhalt (Getter) oder die aktuelle jBase-Instanz (Setter).
50
- */
51
- function text(content) {
52
- if (content === undefined) {
53
- const el = this[0];
54
- return (el instanceof Node) ? (el.textContent || '') : '';
55
- }
56
- this.forEach(el => {
57
- if (el instanceof HTMLElement) {
58
- el.textContent = content;
59
- }
60
- });
61
- return this;
62
- }
63
- //# sourceMappingURL=content.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/modules/dom/content.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAcH,oBASC;AAYD,oBAYC;AA3CD;;;;;;;;;GASG;AACH,SAAgB,IAAI,CAAc,OAAgB;IAC9C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,OAAO,CAAC,EAAE,YAAY,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACd,IAAI,EAAE,YAAY,OAAO;YAAE,EAAE,CAAC,SAAS,GAAG,OAAO,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,IAAI,CAAc,OAAgB;IAC9C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,OAAO,CAAC,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACd,IAAI,EAAE,YAAY,WAAW,EAAE,CAAC;YAC5B,EAAE,CAAC,WAAW,GAAG,OAAO,CAAC;QAC7B,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -1,48 +0,0 @@
1
- "use strict";
2
- /**
3
- * @file src/modules/dom/index.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
- * * 🇬🇧: Central entry point for DOM operations. Aggregates methods for attributes, content, manipulation, traversal, and states.
12
- * * 🇩🇪: Zentraler Einstiegspunkt für DOM-Operationen. Aggregiert Methoden für Attribute, Inhalt, Manipulation, Traversierung und Status.
13
- * @requires ./attributes
14
- * * 🇬🇧: Attribute and value manipulation.
15
- * * 🇩🇪: Attribut- und Wert-Manipulation.
16
- * @requires ./content
17
- * * 🇬🇧: Content handling (html, text).
18
- * * 🇩🇪: Inhalts-Steuerung (html, text).
19
- * @requires ./manipulation
20
- * * 🇬🇧: DOM manipulation (append, remove, etc.).
21
- * * 🇩🇪: DOM-Manipulation (append, remove, etc.).
22
- * @requires ./traversal
23
- * * 🇬🇧: Tree traversal (find, parent, children).
24
- * * 🇩🇪: Baum-Durchquerung (find, parent, children).
25
- * @requires ./states
26
- * * 🇬🇧: State checks (checked, disabled).
27
- * * 🇩🇪: Status-Prüfungen (checked, disabled).
28
- */
29
- Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.domMethods = void 0;
31
- const tslib_1 = require("tslib");
32
- const attributeMethods = tslib_1.__importStar(require("./attributes"));
33
- const contentMethods = tslib_1.__importStar(require("./content"));
34
- const manipulationMethods = tslib_1.__importStar(require("./manipulation"));
35
- const traversalMethods = tslib_1.__importStar(require("./traversal"));
36
- const stateMethods = tslib_1.__importStar(require("./states"));
37
- /**
38
- * * 🇬🇧: Aggregation of all DOM methods. Bundles specialized sub-modules into a single interface. Used to extend the jBase prototype centrally via Object.assign.
39
- * * 🇩🇪: Aggregation aller DOM-Methoden. Bündelt spezialisierte Untermodule in einer einzigen Schnittstelle. Dient als Quelle für das Object.assign zur zentralen Erweiterung des jBase-Prototyps.
40
- */
41
- exports.domMethods = {
42
- ...attributeMethods,
43
- ...contentMethods,
44
- ...manipulationMethods,
45
- ...traversalMethods,
46
- ...stateMethods
47
- };
48
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/dom/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;;;;AAEH,uEAAiD;AACjD,kEAA4C;AAC5C,4EAAsD;AACtD,sEAAgD;AAChD,+DAAyC;AAEzC;;;GAGG;AACU,QAAA,UAAU,GAAG;IACtB,GAAG,gBAAgB;IACnB,GAAG,cAAc;IACjB,GAAG,mBAAmB;IACtB,GAAG,gBAAgB;IACnB,GAAG,YAAY;CAClB,CAAC"}
@@ -1,343 +0,0 @@
1
- "use strict";
2
- /**
3
- * @file src/modules/dom/manipulation.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 inserting, moving, and removing elements (append, prepend, remove).
12
- * * 🇩🇪: Methoden zum Einfügen, Verschieben und Entfernen von Elementen (append, prepend, remove).
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.remove = remove;
19
- exports.empty = empty;
20
- exports.replaceWithClone = replaceWithClone;
21
- exports.append = append;
22
- exports.prepend = prepend;
23
- exports.before = before;
24
- exports.after = after;
25
- exports.replaceWith = replaceWith;
26
- exports.appendTo = appendTo;
27
- exports.prependTo = prependTo;
28
- exports.insertBefore = insertBefore;
29
- exports.insertAfter = insertAfter;
30
- exports.wrap = wrap;
31
- exports.unwrap = unwrap;
32
- const core_1 = require("../../core");
33
- /**
34
- * * 🇬🇧: Internal Helper: Converts a string into a DOM Node.
35
- * * 🇩🇪: Interner Helper: Wandelt einen String in eine DOM Node um.
36
- */
37
- function parseHTML(html) {
38
- const tmp = document.createElement('div');
39
- tmp.innerHTML = html.trim();
40
- return tmp.firstElementChild;
41
- }
42
- /**
43
- * * 🇬🇧: Internal Helper: Converts arbitrary input into a DocumentFragment to minimize reflows.
44
- * * 🇩🇪: Interner Helper: Wandelt beliebigen Input in ein DocumentFragment um, um Reflows zu minimieren.
45
- */
46
- function normalizeToFragment(content) {
47
- const fragment = document.createDocumentFragment();
48
- const add = (item) => {
49
- if (typeof item === 'string') {
50
- const temp = document.createElement('div');
51
- temp.innerHTML = item.trim();
52
- while (temp.firstChild) {
53
- fragment.appendChild(temp.firstChild);
54
- }
55
- }
56
- else if (item instanceof Node) {
57
- fragment.appendChild(item);
58
- }
59
- else if (item instanceof core_1.jBase || Array.isArray(item) || item instanceof NodeList) {
60
- Array.from(item).forEach(child => add(child));
61
- }
62
- };
63
- add(content);
64
- return fragment;
65
- }
66
- /**
67
- * * 🇬🇧: Removes the selected elements from the DOM.
68
- * * 🇩🇪: Entfernt die ausgewählten Elemente vollständig aus dem DOM.
69
- * @returns
70
- * * 🇬🇧: The current jBase instance.
71
- * * 🇩🇪: Die aktuelle jBase-Instanz.
72
- */
73
- function remove() {
74
- this.forEach(el => {
75
- if (el instanceof Element)
76
- el.remove();
77
- });
78
- return this;
79
- }
80
- /**
81
- * * 🇬🇧: Removes all child nodes and text content from the selected elements.
82
- * * 🇩🇪: Entfernt alle Kind-Elemente und Textknoten aus den ausgewählten Elementen.
83
- * @returns
84
- * * 🇬🇧: The current jBase instance.
85
- * * 🇩🇪: Die aktuelle jBase-Instanz.
86
- */
87
- function empty() {
88
- this.forEach(el => {
89
- if (el instanceof Element)
90
- el.innerHTML = '';
91
- });
92
- return this;
93
- }
94
- /**
95
- * * 🇬🇧: Replaces each element with a deep clone of itself. Useful for removing all event listeners ("Nuke" strategy).
96
- * * 🇩🇪: Ersetzt jedes Element durch eine tiefe Kopie seiner selbst. Nützlich, um alle Event-Listener hart zu entfernen.
97
- * @returns
98
- * * 🇬🇧: A new jBase instance containing the cloned elements.
99
- * * 🇩🇪: Eine neue jBase-Instanz, die die geklonten Elemente enthält.
100
- */
101
- function replaceWithClone() {
102
- const newElements = [];
103
- this.forEach(el => {
104
- if (el instanceof Element) {
105
- const clone = el.cloneNode(true);
106
- el.replaceWith(clone);
107
- newElements.push(clone);
108
- }
109
- });
110
- return new this.constructor(newElements);
111
- }
112
- /**
113
- * * 🇬🇧: Inserts content at the end of each selected element (inside).
114
- * * 🇩🇪: Fügt Inhalt am Ende jedes Elements in der Sammlung ein (innerhalb).
115
- * @param content
116
- * * 🇬🇧: HTML string, DOM Node, or jBase collection.
117
- * * 🇩🇪: HTML-String, DOM-Node oder jBase-Sammlung.
118
- * @returns
119
- * * 🇬🇧: The current jBase instance.
120
- * * 🇩🇪: Die aktuelle jBase-Instanz.
121
- */
122
- function append(content) {
123
- const fragment = normalizeToFragment(content);
124
- this.forEach((el, i) => {
125
- if (el instanceof Element) {
126
- // Clone fragment for multiple targets, retain original for the last one
127
- const contentToInsert = (i < this.length - 1) ? fragment.cloneNode(true) : fragment;
128
- el.appendChild(contentToInsert);
129
- }
130
- });
131
- return this;
132
- }
133
- /**
134
- * * 🇬🇧: Inserts content at the beginning of each selected element (inside).
135
- * * 🇩🇪: Fügt Inhalt am Anfang jedes Elements in der Sammlung ein (innerhalb).
136
- * @param content
137
- * * 🇬🇧: HTML string, DOM Node, or jBase collection.
138
- * * 🇩🇪: HTML-String, DOM-Node oder jBase-Sammlung.
139
- * @returns
140
- * * 🇬🇧: The current jBase instance.
141
- * * 🇩🇪: Die aktuelle jBase-Instanz.
142
- */
143
- function prepend(content) {
144
- const fragment = normalizeToFragment(content);
145
- this.forEach((el, i) => {
146
- if (el instanceof Element) {
147
- const contentToInsert = (i < this.length - 1) ? fragment.cloneNode(true) : fragment;
148
- el.prepend(contentToInsert);
149
- }
150
- });
151
- return this;
152
- }
153
- /**
154
- * * 🇬🇧: Inserts content before the element (outside).
155
- * * 🇩🇪: Fügt Inhalt VOR dem Element ein (außerhalb).
156
- * @param content
157
- * * 🇬🇧: HTML string, DOM Node, or jBase collection.
158
- * * 🇩🇪: HTML-String, DOM-Node oder jBase-Sammlung.
159
- * @returns
160
- * * 🇬🇧: The current jBase instance.
161
- * * 🇩🇪: Die aktuelle jBase-Instanz.
162
- */
163
- function before(content) {
164
- const fragment = normalizeToFragment(content);
165
- this.forEach((el, i) => {
166
- if (el instanceof Element) {
167
- const contentToInsert = (i < this.length - 1) ? fragment.cloneNode(true) : fragment;
168
- el.before(contentToInsert);
169
- }
170
- });
171
- return this;
172
- }
173
- /**
174
- * * 🇬🇧: Inserts content after the element (outside).
175
- * * 🇩🇪: Fügt Inhalt NACH dem Element ein (außerhalb).
176
- * @param content
177
- * * 🇬🇧: HTML string, DOM Node, or jBase collection.
178
- * * 🇩🇪: HTML-String, DOM-Node oder jBase-Sammlung.
179
- * @returns
180
- * * 🇬🇧: The current jBase instance.
181
- * * 🇩🇪: Die aktuelle jBase-Instanz.
182
- */
183
- function after(content) {
184
- const fragment = normalizeToFragment(content);
185
- this.forEach((el, i) => {
186
- if (el instanceof Element) {
187
- const contentToInsert = (i < this.length - 1) ? fragment.cloneNode(true) : fragment;
188
- el.after(contentToInsert);
189
- }
190
- });
191
- return this;
192
- }
193
- /**
194
- * * 🇬🇧: Replaces the element with new content.
195
- * * 🇩🇪: Ersetzt das Element durch neuen Inhalt.
196
- * @param content
197
- * * 🇬🇧: The new content.
198
- * * 🇩🇪: Der neue Inhalt.
199
- * @returns
200
- * * 🇬🇧: The current jBase instance.
201
- * * 🇩🇪: Die aktuelle jBase-Instanz.
202
- */
203
- function replaceWith(content) {
204
- const fragment = normalizeToFragment(content);
205
- this.forEach((el, i) => {
206
- if (el instanceof Element) {
207
- const contentToInsert = (i < this.length - 1) ? fragment.cloneNode(true) : fragment;
208
- el.replaceWith(contentToInsert);
209
- }
210
- });
211
- return this;
212
- }
213
- /**
214
- * * 🇬🇧: Appends the selected elements to the end of a target element.
215
- * * 🇩🇪: Hängt die aktuellen Elemente an das Ende des Ziel-Elements an.
216
- * @param target
217
- * * 🇬🇧: CSS selector or DOM element.
218
- * * 🇩🇪: Der CSS-Selektor oder das DOM-Element.
219
- * @returns
220
- * * 🇬🇧: The current jBase instance.
221
- * * 🇩🇪: Die aktuelle jBase-Instanz.
222
- */
223
- function appendTo(target) {
224
- const parent = typeof target === 'string' ? document.querySelector(target) : target;
225
- if (parent instanceof Element) {
226
- const fragment = document.createDocumentFragment();
227
- this.forEach(el => {
228
- if (el instanceof Node)
229
- fragment.appendChild(el);
230
- });
231
- parent.appendChild(fragment);
232
- }
233
- return this;
234
- }
235
- /**
236
- * * 🇬🇧: Prepends the selected elements to the beginning of a target element.
237
- * * 🇩🇪: Fügt die aktuellen Elemente am Anfang des Ziel-Elements ein.
238
- * @param target
239
- * * 🇬🇧: CSS selector or DOM element.
240
- * * 🇩🇪: Der CSS-Selektor oder das DOM-Element.
241
- * @returns
242
- * * 🇬🇧: The current jBase instance.
243
- * * 🇩🇪: Die aktuelle jBase-Instanz.
244
- */
245
- function prependTo(target) {
246
- const parent = typeof target === 'string' ? document.querySelector(target) : target;
247
- if (parent instanceof Element) {
248
- const fragment = document.createDocumentFragment();
249
- this.forEach(el => {
250
- if (el instanceof Node)
251
- fragment.appendChild(el);
252
- });
253
- parent.prepend(fragment);
254
- }
255
- return this;
256
- }
257
- /**
258
- * * 🇬🇧: Inserts the selected elements immediately before the target element.
259
- * * 🇩🇪: Fügt die aktuellen Elemente unmittelbar VOR dem Ziel-Element ein.
260
- * @param target
261
- * * 🇬🇧: CSS selector or DOM element.
262
- * * 🇩🇪: Der CSS-Selektor oder das DOM-Element.
263
- * @returns
264
- * * 🇬🇧: The current jBase instance.
265
- * * 🇩🇪: Die aktuelle jBase-Instanz.
266
- */
267
- function insertBefore(target) {
268
- const targetEl = typeof target === 'string' ? document.querySelector(target) : target;
269
- if (targetEl instanceof Element) {
270
- const fragment = document.createDocumentFragment();
271
- this.forEach(el => {
272
- if (el instanceof Node)
273
- fragment.appendChild(el);
274
- });
275
- targetEl.before(fragment);
276
- }
277
- return this;
278
- }
279
- /**
280
- * * 🇬🇧: Inserts the selected elements immediately after the target element.
281
- * * 🇩🇪: Fügt die aktuellen Elemente unmittelbar NACH dem Ziel-Element ein.
282
- * @param target
283
- * * 🇬🇧: CSS selector or DOM element.
284
- * * 🇩🇪: Der CSS-Selektor oder das DOM-Element.
285
- * @returns
286
- * * 🇬🇧: The current jBase instance.
287
- * * 🇩🇪: Die aktuelle jBase-Instanz.
288
- */
289
- function insertAfter(target) {
290
- const targetEl = typeof target === 'string' ? document.querySelector(target) : target;
291
- if (targetEl instanceof Element) {
292
- const fragment = document.createDocumentFragment();
293
- this.forEach(el => {
294
- if (el instanceof Node)
295
- fragment.appendChild(el);
296
- });
297
- targetEl.after(fragment);
298
- }
299
- return this;
300
- }
301
- /**
302
- * * 🇬🇧: Wraps each selected element with the specified HTML structure.
303
- * * 🇩🇪: Umschließt jedes Element in der Auswahl mit der angegebenen HTML-Struktur.
304
- * @param wrapperHtml
305
- * * 🇬🇧: HTML string defining the wrapper (e.g., `<div class="box"></div>`).
306
- * * 🇩🇪: Ein HTML-String, der die Wrapper-Struktur definiert (z.B. `<div class="box"></div>`).
307
- * @returns
308
- * * 🇬🇧: The current jBase instance.
309
- * * 🇩🇪: Die aktuelle jBase-Instanz.
310
- */
311
- function wrap(wrapperHtml) {
312
- this.forEach(el => {
313
- if (el instanceof Element) {
314
- const wrapper = parseHTML(wrapperHtml);
315
- if (el.parentNode) {
316
- el.parentNode.insertBefore(wrapper, el);
317
- }
318
- wrapper.appendChild(el);
319
- }
320
- });
321
- return this;
322
- }
323
- /**
324
- * * 🇬🇧: Removes the direct parent of the selected elements from the DOM.
325
- * * 🇩🇪: Entfernt das direkte Elternelement der ausgewählten Elemente aus dem DOM.
326
- * @returns
327
- * * 🇬🇧: The current jBase instance.
328
- * * 🇩🇪: Die aktuelle jBase-Instanz.
329
- */
330
- function unwrap() {
331
- this.forEach(el => {
332
- if (el instanceof Element && el.parentElement) {
333
- const parent = el.parentElement;
334
- const fragment = document.createDocumentFragment();
335
- while (parent.firstChild) {
336
- fragment.appendChild(parent.firstChild);
337
- }
338
- parent.replaceWith(fragment);
339
- }
340
- });
341
- return this;
342
- }
343
- //# sourceMappingURL=manipulation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manipulation.js","sourceRoot":"","sources":["../../../src/modules/dom/manipulation.ts"],"names":[],"mappings":"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"}
@@ -1,89 +0,0 @@
1
- "use strict";
2
- /**
3
- * @file src/modules/dom/states.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 checking element states (e.g., visibility, checked, disabled).
12
- * * 🇩🇪: Methoden zur Prüfung von Element-Zuständen (z.B. Sichtbarkeit, checked, disabled).
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.checked = checked;
19
- exports.selected = selected;
20
- exports.disabled = disabled;
21
- /**
22
- * * 🇬🇧: Gets or sets the 'checked' state of checkboxes and radio buttons.
23
- * * 🇩🇪: Liest oder setzt den 'checked'-Status von Checkboxen und Radiobuttons.
24
- * @param state
25
- * * 🇬🇧: (Optional) `true` to check, `false` to uncheck. If undefined, acts as a getter.
26
- * * 🇩🇪: (Optional) `true` zum Anhaken, `false` zum Deselektieren. Wenn nicht angegeben, wird gelesen.
27
- * @returns
28
- * * 🇬🇧: Boolean (getter) or the current jBase instance (setter).
29
- * * 🇩🇪: Boolean (Getter) oder die aktuelle jBase-Instanz (Setter).
30
- */
31
- function checked(state) {
32
- if (state === undefined) {
33
- const el = this[0];
34
- return (el instanceof HTMLInputElement) ? el.checked : false;
35
- }
36
- this.forEach(el => {
37
- if (el instanceof HTMLInputElement)
38
- el.checked = state;
39
- });
40
- return this;
41
- }
42
- /**
43
- * * 🇬🇧: Gets or sets the 'selected' state of `<option>` elements.
44
- * * 🇩🇪: Liest oder setzt den 'selected'-Status von `<option>`-Elementen.
45
- * @param state
46
- * * 🇬🇧: (Optional) `true` to select, `false` to deselect. If undefined, acts as a getter.
47
- * * 🇩🇪: (Optional) `true` zum Auswählen, `false` zum Abwählen. Wenn nicht angegeben, wird gelesen.
48
- * @returns
49
- * * 🇬🇧: Boolean (getter) or the current jBase instance (setter).
50
- * * 🇩🇪: Boolean (Getter) oder die aktuelle jBase-Instanz (Setter).
51
- */
52
- function selected(state) {
53
- if (state === undefined) {
54
- const el = this[0];
55
- return (el instanceof HTMLOptionElement) ? el.selected : false;
56
- }
57
- this.forEach(el => {
58
- if (el instanceof HTMLOptionElement)
59
- el.selected = state;
60
- });
61
- return this;
62
- }
63
- /**
64
- * * 🇬🇧: Enables or disables form fields and buttons. Additionally toggles the CSS class `.disabled`.
65
- * * 🇩🇪: Aktiviert oder deaktiviert Formularfelder und Buttons. Toggelt zusätzlich die CSS-Klasse `.disabled`.
66
- * @param state
67
- * * 🇬🇧: (Optional) `true` to disable, `false` to enable. If undefined, acts as a getter.
68
- * * 🇩🇪: (Optional) `true` zum Deaktivieren, `false` zum Aktivieren. Wenn nicht angegeben, wird gelesen.
69
- * @returns
70
- * * 🇬🇧: Boolean (getter) or the current jBase instance (setter).
71
- * * 🇩🇪: Boolean (Getter) oder die aktuelle jBase-Instanz (Setter).
72
- */
73
- function disabled(state) {
74
- if (state === undefined) {
75
- const el = this[0];
76
- return (el instanceof HTMLElement && 'disabled' in el) ? el.disabled : false;
77
- }
78
- this.forEach(el => {
79
- if (el instanceof HTMLElement && 'disabled' in el) {
80
- el.disabled = state;
81
- if (state)
82
- el.classList.add('disabled');
83
- else
84
- el.classList.remove('disabled');
85
- }
86
- });
87
- return this;
88
- }
89
- //# sourceMappingURL=states.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"states.js","sourceRoot":"","sources":["../../../src/modules/dom/states.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAcH,0BAUC;AAYD,4BAUC;AAYD,4BAeC;AArED;;;;;;;;;GASG;AACH,SAAgB,OAAO,CAAc,KAAe;IAChD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,OAAO,CAAC,EAAE,YAAY,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACd,IAAI,EAAE,YAAY,gBAAgB;YAC9B,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,QAAQ,CAAc,KAAe;IACjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,OAAO,CAAC,EAAE,YAAY,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IACnE,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACd,IAAI,EAAE,YAAY,iBAAiB;YAC/B,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,QAAQ,CAAc,KAAe;IACjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,OAAO,CAAC,EAAE,YAAY,WAAW,IAAI,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,CAAE,EAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1F,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACd,IAAI,EAAE,YAAY,WAAW,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;YAC/C,EAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC7B,IAAI,KAAK;gBACL,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;;gBAE7B,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AAChB,CAAC"}