@k37z3r/jbase 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/LICENSE +621 -0
  2. package/README.md +124 -0
  3. package/dist/browser.d.ts +30 -0
  4. package/dist/browser.d.ts.map +1 -0
  5. package/dist/browser.js +29 -0
  6. package/dist/browser.js.map +1 -0
  7. package/dist/core.d.ts +42 -0
  8. package/dist/core.d.ts.map +1 -0
  9. package/dist/core.js +78 -0
  10. package/dist/core.js.map +1 -0
  11. package/dist/index.cjs +2150 -0
  12. package/dist/index.d.ts +1158 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +100 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/index.mjs +2118 -0
  17. package/dist/jbase.browser.js +1906 -0
  18. package/dist/jbase.js +1898 -0
  19. package/dist/jbase.min.js +9 -0
  20. package/dist/modules/css/classes.d.ts +61 -0
  21. package/dist/modules/css/classes.d.ts.map +1 -0
  22. package/dist/modules/css/classes.js +88 -0
  23. package/dist/modules/css/classes.js.map +1 -0
  24. package/dist/modules/css/index.d.ts +30 -0
  25. package/dist/modules/css/index.d.ts.map +1 -0
  26. package/dist/modules/css/index.js +33 -0
  27. package/dist/modules/css/index.js.map +1 -0
  28. package/dist/modules/css/styles.d.ts +31 -0
  29. package/dist/modules/css/styles.d.ts.map +1 -0
  30. package/dist/modules/css/styles.js +49 -0
  31. package/dist/modules/css/styles.js.map +1 -0
  32. package/dist/modules/data/arrays.d.ts +131 -0
  33. package/dist/modules/data/arrays.d.ts.map +1 -0
  34. package/dist/modules/data/arrays.js +177 -0
  35. package/dist/modules/data/arrays.js.map +1 -0
  36. package/dist/modules/data/index.d.ts +29 -0
  37. package/dist/modules/data/index.d.ts.map +1 -0
  38. package/dist/modules/data/index.js +33 -0
  39. package/dist/modules/data/index.js.map +1 -0
  40. package/dist/modules/data/objects.d.ts +108 -0
  41. package/dist/modules/data/objects.d.ts.map +1 -0
  42. package/dist/modules/data/objects.js +168 -0
  43. package/dist/modules/data/objects.js.map +1 -0
  44. package/dist/modules/data/types.d.ts +35 -0
  45. package/dist/modules/data/types.d.ts.map +1 -0
  46. package/dist/modules/data/types.js +43 -0
  47. package/dist/modules/data/types.js.map +1 -0
  48. package/dist/modules/dom/attributes.d.ts +42 -0
  49. package/dist/modules/dom/attributes.d.ts.map +1 -0
  50. package/dist/modules/dom/attributes.js +69 -0
  51. package/dist/modules/dom/attributes.js.map +1 -0
  52. package/dist/modules/dom/content.d.ts +39 -0
  53. package/dist/modules/dom/content.d.ts.map +1 -0
  54. package/dist/modules/dom/content.js +63 -0
  55. package/dist/modules/dom/content.js.map +1 -0
  56. package/dist/modules/dom/index.d.ts +78 -0
  57. package/dist/modules/dom/index.d.ts.map +1 -0
  58. package/dist/modules/dom/index.js +48 -0
  59. package/dist/modules/dom/index.js.map +1 -0
  60. package/dist/modules/dom/manipulation.d.ts +159 -0
  61. package/dist/modules/dom/manipulation.d.ts.map +1 -0
  62. package/dist/modules/dom/manipulation.js +343 -0
  63. package/dist/modules/dom/manipulation.js.map +1 -0
  64. package/dist/modules/dom/states.d.ts +50 -0
  65. package/dist/modules/dom/states.d.ts.map +1 -0
  66. package/dist/modules/dom/states.js +89 -0
  67. package/dist/modules/dom/states.js.map +1 -0
  68. package/dist/modules/dom/traversal.d.ts +246 -0
  69. package/dist/modules/dom/traversal.d.ts.map +1 -0
  70. package/dist/modules/dom/traversal.js +527 -0
  71. package/dist/modules/dom/traversal.js.map +1 -0
  72. package/dist/modules/effects/fade.d.ts +58 -0
  73. package/dist/modules/effects/fade.d.ts.map +1 -0
  74. package/dist/modules/effects/fade.js +104 -0
  75. package/dist/modules/effects/fade.js.map +1 -0
  76. package/dist/modules/effects/index.d.ts +40 -0
  77. package/dist/modules/effects/index.d.ts.map +1 -0
  78. package/dist/modules/effects/index.js +38 -0
  79. package/dist/modules/effects/index.js.map +1 -0
  80. package/dist/modules/effects/slide.d.ts +58 -0
  81. package/dist/modules/effects/slide.d.ts.map +1 -0
  82. package/dist/modules/effects/slide.js +103 -0
  83. package/dist/modules/effects/slide.js.map +1 -0
  84. package/dist/modules/effects/vertical.d.ts +58 -0
  85. package/dist/modules/effects/vertical.d.ts.map +1 -0
  86. package/dist/modules/effects/vertical.js +118 -0
  87. package/dist/modules/effects/vertical.js.map +1 -0
  88. package/dist/modules/events/binding.d.ts +47 -0
  89. package/dist/modules/events/binding.d.ts.map +1 -0
  90. package/dist/modules/events/binding.js +60 -0
  91. package/dist/modules/events/binding.js.map +1 -0
  92. package/dist/modules/events/form.d.ts +72 -0
  93. package/dist/modules/events/form.d.ts.map +1 -0
  94. package/dist/modules/events/form.js +106 -0
  95. package/dist/modules/events/form.js.map +1 -0
  96. package/dist/modules/events/index.d.ts +62 -0
  97. package/dist/modules/events/index.d.ts.map +1 -0
  98. package/dist/modules/events/index.js +53 -0
  99. package/dist/modules/events/index.js.map +1 -0
  100. package/dist/modules/events/keyboard.d.ts +65 -0
  101. package/dist/modules/events/keyboard.d.ts.map +1 -0
  102. package/dist/modules/events/keyboard.js +83 -0
  103. package/dist/modules/events/keyboard.js.map +1 -0
  104. package/dist/modules/events/lifecycle.d.ts +28 -0
  105. package/dist/modules/events/lifecycle.d.ts.map +1 -0
  106. package/dist/modules/events/lifecycle.js +40 -0
  107. package/dist/modules/events/lifecycle.js.map +1 -0
  108. package/dist/modules/events/mouse.d.ts +120 -0
  109. package/dist/modules/events/mouse.d.ts.map +1 -0
  110. package/dist/modules/events/mouse.js +172 -0
  111. package/dist/modules/events/mouse.js.map +1 -0
  112. package/dist/modules/events/touch.d.ts +61 -0
  113. package/dist/modules/events/touch.d.ts.map +1 -0
  114. package/dist/modules/events/touch.js +74 -0
  115. package/dist/modules/events/touch.js.map +1 -0
  116. package/dist/modules/http/get.d.ts +47 -0
  117. package/dist/modules/http/get.d.ts.map +1 -0
  118. package/dist/modules/http/get.js +65 -0
  119. package/dist/modules/http/get.js.map +1 -0
  120. package/dist/modules/http/index.d.ts +37 -0
  121. package/dist/modules/http/index.d.ts.map +1 -0
  122. package/dist/modules/http/index.js +42 -0
  123. package/dist/modules/http/index.js.map +1 -0
  124. package/dist/modules/http/post.d.ts +36 -0
  125. package/dist/modules/http/post.d.ts.map +1 -0
  126. package/dist/modules/http/post.js +54 -0
  127. package/dist/modules/http/post.js.map +1 -0
  128. package/dist/types.d.ts +61 -0
  129. package/dist/types.d.ts.map +1 -0
  130. package/dist/types.js +15 -0
  131. package/dist/types.js.map +1 -0
  132. package/dist/utils.d.ts +51 -0
  133. package/dist/utils.d.ts.map +1 -0
  134. package/dist/utils.js +71 -0
  135. package/dist/utils.js.map +1 -0
  136. package/package.json +58 -0
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ /**
3
+ * @file src/modules/effects/fade.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 Effects
10
+ * @description
11
+ * * 🇬🇧: Methods for fading elements in and out (fadeIn, fadeOut, fadeToggle).
12
+ * * 🇩🇪: Methoden zum Ein- und Ausblenden von Elementen (fadeIn, fadeOut, fadeToggle).
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.fadeIn = fadeIn;
19
+ exports.fadeOut = fadeOut;
20
+ exports.fadeToggle = fadeToggle;
21
+ /**
22
+ * * 🇬🇧: Fades an element in (Opacity 0 -> 1).
23
+ * * 🇩🇪: Blendet ein Element sanft ein (Opacity 0 -> 1).
24
+ * @param options
25
+ * * 🇬🇧: Duration in ms (default: 300) and display type (default: 'block').
26
+ * * 🇩🇪: Dauer in ms (Standard: 300) und display-Typ (Standard: 'block').
27
+ * @returns
28
+ * * 🇬🇧: The current jBase instance.
29
+ * * 🇩🇪: Die aktuelle jBase-Instanz.
30
+ */
31
+ function fadeIn(options = {}) {
32
+ const { duration = 300, displayType = 'block' } = options;
33
+ this.forEach(el => {
34
+ if (el instanceof HTMLElement) {
35
+ el.style.opacity = '0';
36
+ el.style.display = displayType;
37
+ el.style.transition = `opacity ${duration}ms ease-in-out`;
38
+ // Trigger Reflow
39
+ void el.offsetHeight;
40
+ requestAnimationFrame(() => {
41
+ el.style.opacity = '1';
42
+ });
43
+ setTimeout(() => {
44
+ el.style.transition = '';
45
+ }, duration);
46
+ }
47
+ });
48
+ return this;
49
+ }
50
+ /**
51
+ * * 🇬🇧: Fades an element out (Opacity 1 -> 0) and sets display: none afterwards.
52
+ * * 🇩🇪: Blendet ein Element sanft aus (Opacity 1 -> 0) und setzt danach display: none.
53
+ * @param options
54
+ * * 🇬🇧: Duration in ms (default: 300).
55
+ * * 🇩🇪: Dauer in ms (Standard: 300).
56
+ * @returns
57
+ * * 🇬🇧: The current jBase instance.
58
+ * * 🇩🇪: Die aktuelle jBase-Instanz.
59
+ */
60
+ function fadeOut(options = {}) {
61
+ const { duration = 300 } = options;
62
+ this.forEach(el => {
63
+ if (el instanceof HTMLElement) {
64
+ el.style.opacity = '1';
65
+ el.style.transition = `opacity ${duration}ms ease-in-out`;
66
+ // Trigger Reflow
67
+ void el.offsetHeight;
68
+ requestAnimationFrame(() => {
69
+ el.style.opacity = '0';
70
+ });
71
+ setTimeout(() => {
72
+ el.style.display = 'none';
73
+ el.style.transition = '';
74
+ }, duration);
75
+ }
76
+ });
77
+ return this;
78
+ }
79
+ /**
80
+ * * 🇬🇧: Toggles between fadeIn and fadeOut based on the current display state.
81
+ * * 🇩🇪: Wechselt zwischen fadeIn und fadeOut basierend auf dem aktuellen display-Status.
82
+ * @param options
83
+ * * 🇬🇧: Animation options.
84
+ * * 🇩🇪: Animations-Optionen.
85
+ * @returns
86
+ * * 🇬🇧: The current jBase instance.
87
+ * * 🇩🇪: Die aktuelle jBase-Instanz.
88
+ */
89
+ function fadeToggle(options = {}) {
90
+ this.forEach(el => {
91
+ if (el instanceof HTMLElement) {
92
+ const display = window.getComputedStyle(el).display;
93
+ const wrapper = new this.constructor(el);
94
+ if (display === 'none') {
95
+ wrapper.fadeIn(options);
96
+ }
97
+ else {
98
+ wrapper.fadeOut(options);
99
+ }
100
+ }
101
+ });
102
+ return this;
103
+ }
104
+ //# sourceMappingURL=fade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fade.js","sourceRoot":"","sources":["../../../src/modules/effects/fade.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAuBH,wBAkBC;AAYD,0BAkBC;AAYD,gCAaC;AAnFD;;;;;;;;;GASG;AACH,SAAgB,MAAM,CAAc,UAAuB,EAAE;IACzD,MAAM,EAAE,QAAQ,GAAG,GAAG,EAAE,WAAW,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC;IAC1D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACd,IAAI,EAAE,YAAY,WAAW,EAAE,CAAC;YAC5B,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;YACvB,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,WAAW,CAAC;YAC/B,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,WAAW,QAAQ,gBAAgB,CAAC;YAC1D,iBAAiB;YACjB,KAAK,EAAE,CAAC,YAAY,CAAC;YACrB,qBAAqB,CAAC,GAAG,EAAE;gBACvB,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,UAAU,CAAC,GAAG,EAAE;gBACZ,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;YAC7B,CAAC,EAAE,QAAQ,CAAC,CAAC;QACjB,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,OAAO,CAAc,UAAuB,EAAE;IAC1D,MAAM,EAAE,QAAQ,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC;IACnC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACd,IAAI,EAAE,YAAY,WAAW,EAAE,CAAC;YAC5B,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;YACvB,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,WAAW,QAAQ,gBAAgB,CAAC;YAC1D,iBAAiB;YACjB,KAAK,EAAE,CAAC,YAAY,CAAC;YACrB,qBAAqB,CAAC,GAAG,EAAE;gBACvB,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,UAAU,CAAC,GAAG,EAAE;gBACZ,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBAC1B,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;YAC7B,CAAC,EAAE,QAAQ,CAAC,CAAC;QACjB,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,UAAU,CAAc,UAAuB,EAAE;IAC7D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACd,IAAI,EAAE,YAAY,WAAW,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;YACpD,MAAM,OAAO,GAAG,IAAK,IAAI,CAAC,WAAmB,CAAC,EAAE,CAAC,CAAC;YAClD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBACrB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @file src/modules/effects/index.ts
3
+ * @version 2.0.0
4
+ * @since 2.0.0
5
+ * @license GPL-3.0-or-later
6
+ * @copyright Sven Minio 2026
7
+ * @author Sven Minio <https://sven-minio.de>
8
+ * @category Effects
9
+ * @description
10
+ * * 🇬🇧: Central entry point for visual effects. Aggregates slide, fade, and vertical animation modules.
11
+ * * 🇩🇪: Zentraler Einstiegspunkt für visuelle Effekte. Aggregiert Module für Slide-, Fade- und vertikale Animationen.
12
+ * @requires ./slide
13
+ * * 🇬🇧: Horizontal slide effects (slideIn, slideOut).
14
+ * * 🇩🇪: Horizontale Slide-Effekte (slideIn, slideOut).
15
+ * @requires ./vertical
16
+ * * 🇬🇧: Vertical slide effects / Accordion (slideDown, slideUp).
17
+ * * 🇩🇪: Vertikale Slide-Effekte / Akkordeon (slideDown, slideUp).
18
+ * @requires ./fade
19
+ * * 🇬🇧: Opacity fade effects (fadeIn, fadeOut).
20
+ * * 🇩🇪: Opazitäts-Fade-Effekte (fadeIn, fadeOut).
21
+ */
22
+ import * as slideMethods from './slide';
23
+ import * as verticalMethods from './vertical';
24
+ import * as fadeMethods from './fade';
25
+ /**
26
+ * * 🇬🇧: Aggregation of all visual effect methods. Bundles sliding and fading animations to extend the jBase prototype.
27
+ * * 🇩🇪: Aggregation aller visuellen Effekt-Methoden. Bündelt Slide- und Fade-Animationen zur Erweiterung des jBase-Prototyps.
28
+ */
29
+ export declare const effectMethods: {
30
+ fadeIn(this: import("../..").JBaseClass, options?: fadeMethods.FadeOptions): import("../..").JBaseClass;
31
+ fadeOut(this: import("../..").JBaseClass, options?: fadeMethods.FadeOptions): import("../..").JBaseClass;
32
+ fadeToggle(this: import("../..").JBaseClass, options?: fadeMethods.FadeOptions): import("../..").JBaseClass;
33
+ slideDown(this: import("../..").JBaseClass, options?: verticalMethods.SlideVerticalOptions): import("../..").JBaseClass;
34
+ slideUp(this: import("../..").JBaseClass, options?: verticalMethods.SlideVerticalOptions): import("../..").JBaseClass;
35
+ slideToggleBox(this: import("../..").JBaseClass, options?: verticalMethods.SlideVerticalOptions): import("../..").JBaseClass;
36
+ slideIn(this: import("../..").JBaseClass, options?: slideMethods.SlideOptions): import("../..").JBaseClass;
37
+ slideOut(this: import("../..").JBaseClass, options?: slideMethods.SlideOptions): import("../..").JBaseClass;
38
+ slideToggle(this: import("../..").JBaseClass, options?: slideMethods.SlideOptions): import("../..").JBaseClass;
39
+ };
40
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/effects/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,YAAY,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,eAAe,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,WAAW,MAAM,QAAQ,CAAC;AAEtC;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;CAIzB,CAAC"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ /**
3
+ * @file src/modules/effects/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 Effects
10
+ * @description
11
+ * * 🇬🇧: Central entry point for visual effects. Aggregates slide, fade, and vertical animation modules.
12
+ * * 🇩🇪: Zentraler Einstiegspunkt für visuelle Effekte. Aggregiert Module für Slide-, Fade- und vertikale Animationen.
13
+ * @requires ./slide
14
+ * * 🇬🇧: Horizontal slide effects (slideIn, slideOut).
15
+ * * 🇩🇪: Horizontale Slide-Effekte (slideIn, slideOut).
16
+ * @requires ./vertical
17
+ * * 🇬🇧: Vertical slide effects / Accordion (slideDown, slideUp).
18
+ * * 🇩🇪: Vertikale Slide-Effekte / Akkordeon (slideDown, slideUp).
19
+ * @requires ./fade
20
+ * * 🇬🇧: Opacity fade effects (fadeIn, fadeOut).
21
+ * * 🇩🇪: Opazitäts-Fade-Effekte (fadeIn, fadeOut).
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.effectMethods = void 0;
25
+ const tslib_1 = require("tslib");
26
+ const slideMethods = tslib_1.__importStar(require("./slide"));
27
+ const verticalMethods = tslib_1.__importStar(require("./vertical"));
28
+ const fadeMethods = tslib_1.__importStar(require("./fade"));
29
+ /**
30
+ * * 🇬🇧: Aggregation of all visual effect methods. Bundles sliding and fading animations to extend the jBase prototype.
31
+ * * 🇩🇪: Aggregation aller visuellen Effekt-Methoden. Bündelt Slide- und Fade-Animationen zur Erweiterung des jBase-Prototyps.
32
+ */
33
+ exports.effectMethods = {
34
+ ...slideMethods,
35
+ ...verticalMethods,
36
+ ...fadeMethods
37
+ };
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/effects/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;;AAEH,8DAAwC;AACxC,oEAA8C;AAC9C,4DAAsC;AAEtC;;;GAGG;AACU,QAAA,aAAa,GAAG;IACzB,GAAG,YAAY;IACf,GAAG,eAAe;IAClB,GAAG,WAAW;CACjB,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @file src/modules/effects/slide.ts
3
+ * @version 2.0.0
4
+ * @since 2.0.0
5
+ * @license GPL-3.0-or-later
6
+ * @copyright Sven Minio 2026
7
+ * @author Sven Minio <https://sven-minio.de>
8
+ * @category Effects
9
+ * @description
10
+ * * 🇬🇧: Methods for horizontal sliding effects (slideIn, slideOut, slideToggle).
11
+ * * 🇩🇪: Methoden für horizontale Slide-Effekte (slideIn, slideOut, slideToggle).
12
+ * @requires ../../core
13
+ * * 🇬🇧: Depends on the core jBase class for type definitions.
14
+ * * 🇩🇪: Hängt von der Core-jBase-Klasse für Typ-Definitionen ab.
15
+ */
16
+ import { jBase } from '../../core';
17
+ /**
18
+ * * 🇬🇧: Configuration interface for slide methods.
19
+ * * 🇩🇪: Konfigurations-Interface für die Slide-Methoden.
20
+ */
21
+ export interface SlideOptions {
22
+ direction?: 'left' | 'right';
23
+ duration?: number;
24
+ }
25
+ /**
26
+ * * 🇬🇧: Slides an element (e.g., a menu) into view. Sets `transform: translateX(0)`.
27
+ * * 🇩🇪: Schiebt ein Element (z.B. ein Menü) in den sichtbaren Bereich. Setzt `transform: translateX(0)`.
28
+ * @param options
29
+ * * 🇬🇧: Direction ('left'|'right') and duration in ms.
30
+ * * 🇩🇪: Richtung ('left'|'right') und Dauer in ms.
31
+ * @returns
32
+ * * 🇬🇧: The current jBase instance.
33
+ * * 🇩🇪: Die aktuelle jBase-Instanz.
34
+ */
35
+ export declare function slideIn(this: jBase, options?: SlideOptions): jBase;
36
+ /**
37
+ * * 🇬🇧: Slides an element out of view.
38
+ * * 🇩🇪: Schiebt ein Element aus dem sichtbaren Bereich heraus.
39
+ * @param options
40
+ * * 🇬🇧: Direction ('left'|'right') and duration in ms.
41
+ * * 🇩🇪: Richtung ('left'|'right') und Dauer in ms.
42
+ * @returns
43
+ * * 🇬🇧: The current jBase instance.
44
+ * * 🇩🇪: Die aktuelle jBase-Instanz.
45
+ */
46
+ export declare function slideOut(this: jBase, options?: SlideOptions): jBase;
47
+ /**
48
+ * * 🇬🇧: Toggles between slideIn and slideOut based on the current state.
49
+ * * 🇩🇪: Wechselt zwischen slideIn und slideOut basierend auf dem aktuellen Status.
50
+ * @param options
51
+ * * 🇬🇧: Direction ('left'|'right') and duration in ms.
52
+ * * 🇩🇪: Richtung ('left'|'right') und Dauer in ms.
53
+ * @returns
54
+ * * 🇬🇧: The current jBase instance.
55
+ * * 🇩🇪: Die aktuelle jBase-Instanz.
56
+ */
57
+ export declare function slideToggle(this: jBase, options?: SlideOptions): jBase;
58
+ //# sourceMappingURL=slide.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slide.d.ts","sourceRoot":"","sources":["../../../src/modules/effects/slide.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;GAGG;AACH,MAAM,WAAW,YAAY;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,GAAE,YAAiB,GAAG,KAAK,CAmBtE;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,GAAE,YAAiB,GAAG,KAAK,CAiBvE;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,GAAE,YAAiB,GAAG,KAAK,CAmB1E"}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ /**
3
+ * @file src/modules/effects/slide.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 Effects
10
+ * @description
11
+ * * 🇬🇧: Methods for horizontal sliding effects (slideIn, slideOut, slideToggle).
12
+ * * 🇩🇪: Methoden für horizontale Slide-Effekte (slideIn, slideOut, slideToggle).
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.slideIn = slideIn;
19
+ exports.slideOut = slideOut;
20
+ exports.slideToggle = slideToggle;
21
+ /**
22
+ * * 🇬🇧: Slides an element (e.g., a menu) into view. Sets `transform: translateX(0)`.
23
+ * * 🇩🇪: Schiebt ein Element (z.B. ein Menü) in den sichtbaren Bereich. Setzt `transform: translateX(0)`.
24
+ * @param options
25
+ * * 🇬🇧: Direction ('left'|'right') and duration in ms.
26
+ * * 🇩🇪: Richtung ('left'|'right') und Dauer in ms.
27
+ * @returns
28
+ * * 🇬🇧: The current jBase instance.
29
+ * * 🇩🇪: Die aktuelle jBase-Instanz.
30
+ */
31
+ function slideIn(options = {}) {
32
+ const { duration = 300 } = options;
33
+ this.forEach(el => {
34
+ if (el instanceof HTMLElement) {
35
+ // Performance: Enable hardware acceleration
36
+ el.style.willChange = 'transform';
37
+ el.style.transition = `transform ${duration}ms cubic-bezier(0.4, 0.0, 0.2, 1)`;
38
+ // Move into view
39
+ requestAnimationFrame(() => {
40
+ el.style.transform = 'translateX(0%)';
41
+ });
42
+ // Save state
43
+ el.setAttribute('data-slide-state', 'open');
44
+ }
45
+ });
46
+ return this;
47
+ }
48
+ /**
49
+ * * 🇬🇧: Slides an element out of view.
50
+ * * 🇩🇪: Schiebt ein Element aus dem sichtbaren Bereich heraus.
51
+ * @param options
52
+ * * 🇬🇧: Direction ('left'|'right') and duration in ms.
53
+ * * 🇩🇪: Richtung ('left'|'right') und Dauer in ms.
54
+ * @returns
55
+ * * 🇬🇧: The current jBase instance.
56
+ * * 🇩🇪: Die aktuelle jBase-Instanz.
57
+ */
58
+ function slideOut(options = {}) {
59
+ const { direction = 'left', duration = 300 } = options;
60
+ const translateValue = direction === 'left' ? '-100%' : '100%';
61
+ this.forEach(el => {
62
+ if (el instanceof HTMLElement) {
63
+ el.style.willChange = 'transform';
64
+ el.style.transition = `transform ${duration}ms cubic-bezier(0.4, 0.0, 0.2, 1)`;
65
+ requestAnimationFrame(() => {
66
+ el.style.transform = `translateX(${translateValue})`;
67
+ });
68
+ el.setAttribute('data-slide-state', 'closed');
69
+ }
70
+ });
71
+ return this;
72
+ }
73
+ /**
74
+ * * 🇬🇧: Toggles between slideIn and slideOut based on the current state.
75
+ * * 🇩🇪: Wechselt zwischen slideIn und slideOut basierend auf dem aktuellen Status.
76
+ * @param options
77
+ * * 🇬🇧: Direction ('left'|'right') and duration in ms.
78
+ * * 🇩🇪: Richtung ('left'|'right') und Dauer in ms.
79
+ * @returns
80
+ * * 🇬🇧: The current jBase instance.
81
+ * * 🇩🇪: Die aktuelle jBase-Instanz.
82
+ */
83
+ function slideToggle(options = {}) {
84
+ this.forEach(el => {
85
+ if (el instanceof HTMLElement) {
86
+ // Check our own attribute or guess based on transform property
87
+ const state = el.getAttribute('data-slide-state');
88
+ const currentTransform = el.style.transform;
89
+ // If explicitly 'open' or transform is 0 -> close
90
+ if (state === 'open' || currentTransform === 'translateX(0%)') {
91
+ // Wrap single element to apply slideOut logic correctly
92
+ const wrapper = new this.constructor(el);
93
+ wrapper.slideOut(options);
94
+ }
95
+ else {
96
+ const wrapper = new this.constructor(el);
97
+ wrapper.slideIn(options);
98
+ }
99
+ }
100
+ });
101
+ return this;
102
+ }
103
+ //# sourceMappingURL=slide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slide.js","sourceRoot":"","sources":["../../../src/modules/effects/slide.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAuBH,0BAmBC;AAYD,4BAiBC;AAYD,kCAmBC;AAzFD;;;;;;;;;GASG;AACH,SAAgB,OAAO,CAAc,UAAwB,EAAE;IAC3D,MAAM,EAAE,QAAQ,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC;IAEnC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACd,IAAI,EAAE,YAAY,WAAW,EAAE,CAAC;YAC5B,4CAA4C;YAC5C,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,WAAW,CAAC;YAClC,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,aAAa,QAAQ,mCAAmC,CAAC;YAE/E,iBAAiB;YACjB,qBAAqB,CAAC,GAAG,EAAE;gBACvB,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,gBAAgB,CAAC;YAC1C,CAAC,CAAC,CAAC;YAEH,aAAa;YACb,EAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,QAAQ,CAAc,UAAwB,EAAE;IAC5D,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,QAAQ,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC;IACvD,MAAM,cAAc,GAAG,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAE/D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACd,IAAI,EAAE,YAAY,WAAW,EAAE,CAAC;YAC5B,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,WAAW,CAAC;YAClC,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,aAAa,QAAQ,mCAAmC,CAAC;YAE/E,qBAAqB,CAAC,GAAG,EAAE;gBACvB,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,cAAc,cAAc,GAAG,CAAC;YACzD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,WAAW,CAAc,UAAwB,EAAE;IAC/D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACd,IAAI,EAAE,YAAY,WAAW,EAAE,CAAC;YAC5B,+DAA+D;YAC/D,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;YAClD,MAAM,gBAAgB,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;YAE5C,kDAAkD;YAClD,IAAI,KAAK,KAAK,MAAM,IAAI,gBAAgB,KAAK,gBAAgB,EAAE,CAAC;gBAC5D,wDAAwD;gBACxD,MAAM,OAAO,GAAG,IAAK,IAAI,CAAC,WAAmB,CAAC,EAAE,CAAC,CAAC;gBAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACJ,MAAM,OAAO,GAAG,IAAK,IAAI,CAAC,WAAmB,CAAC,EAAE,CAAC,CAAC;gBAClD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @file src/modules/effects/vertical.ts
3
+ * @version 2.0.0
4
+ * @since 2.0.0
5
+ * @license GPL-3.0-or-later
6
+ * @copyright Sven Minio 2026
7
+ * @author Sven Minio <https://sven-minio.de>
8
+ * @category Effects
9
+ * @description
10
+ * * 🇬🇧: Methods for vertical sliding effects (slideDown, slideUp, slideToggle).
11
+ * * 🇩🇪: Methoden für vertikale Slide-Effekte (slideDown, slideUp, slideToggle).
12
+ * @requires ../../core
13
+ * * 🇬🇧: Depends on the core jBase class for type definitions.
14
+ * * 🇩🇪: Hängt von der Core-jBase-Klasse für Typ-Definitionen ab.
15
+ */
16
+ import { jBase } from '../../core';
17
+ /**
18
+ * * 🇬🇧: Configuration options for vertical slide effects.
19
+ * * 🇩🇪: Konfigurationsoptionen für vertikale Slide-Effekte.
20
+ */
21
+ export interface SlideVerticalOptions {
22
+ duration?: number;
23
+ displayType?: string;
24
+ }
25
+ /**
26
+ * * 🇬🇧: Slides an element down (animates height from 0 to auto). Sets `display` property and animates height.
27
+ * * 🇩🇪: Fährt ein Element vertikal aus (animiert die Höhe von 0 auf auto). Setzt `display` und animiert die Höhe.
28
+ * @param options
29
+ * * 🇬🇧: Animation duration and display type.
30
+ * * 🇩🇪: Dauer der Animation und Display-Typ.
31
+ * @returns
32
+ * * 🇬🇧: The current jBase instance.
33
+ * * 🇩🇪: Die aktuelle jBase-Instanz.
34
+ */
35
+ export declare function slideDown(this: jBase, options?: SlideVerticalOptions): jBase;
36
+ /**
37
+ * * 🇬🇧: Slides an element up (animates height to 0). Sets `display: none` after animation.
38
+ * * 🇩🇪: Fährt ein Element vertikal ein (animiert die Höhe auf 0). Setzt am Ende `display: none`.
39
+ * @param options
40
+ * * 🇬🇧: Animation duration.
41
+ * * 🇩🇪: Dauer der Animation.
42
+ * @returns
43
+ * * 🇬🇧: The current jBase instance.
44
+ * * 🇩🇪: Die aktuelle jBase-Instanz.
45
+ */
46
+ export declare function slideUp(this: jBase, options?: SlideVerticalOptions): jBase;
47
+ /**
48
+ * * 🇬🇧: Toggles between slideDown and slideUp based on the display state.
49
+ * * 🇩🇪: Wechselt zwischen slideDown und slideUp basierend auf dem display-Status.
50
+ * @param options
51
+ * * 🇬🇧: Animation duration.
52
+ * * 🇩🇪: Dauer der Animation.
53
+ * @returns
54
+ * * 🇬🇧: The current jBase instance.
55
+ * * 🇩🇪: Die aktuelle jBase-Instanz.
56
+ */
57
+ export declare function slideToggleBox(this: jBase, options?: SlideVerticalOptions): jBase;
58
+ //# sourceMappingURL=vertical.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vertical.d.ts","sourceRoot":"","sources":["../../../src/modules/effects/vertical.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,GAAE,oBAAyB,GAAG,KAAK,CAgChF;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,GAAE,oBAAyB,GAAG,KAAK,CA0B9E;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,GAAE,oBAAyB,GAAG,KAAK,CAerF"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ /**
3
+ * @file src/modules/effects/vertical.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 Effects
10
+ * @description
11
+ * * 🇬🇧: Methods for vertical sliding effects (slideDown, slideUp, slideToggle).
12
+ * * 🇩🇪: Methoden für vertikale Slide-Effekte (slideDown, slideUp, slideToggle).
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.slideDown = slideDown;
19
+ exports.slideUp = slideUp;
20
+ exports.slideToggleBox = slideToggleBox;
21
+ /**
22
+ * * 🇬🇧: Slides an element down (animates height from 0 to auto). Sets `display` property and animates height.
23
+ * * 🇩🇪: Fährt ein Element vertikal aus (animiert die Höhe von 0 auf auto). Setzt `display` und animiert die Höhe.
24
+ * @param options
25
+ * * 🇬🇧: Animation duration and display type.
26
+ * * 🇩🇪: Dauer der Animation und Display-Typ.
27
+ * @returns
28
+ * * 🇬🇧: The current jBase instance.
29
+ * * 🇩🇪: Die aktuelle jBase-Instanz.
30
+ */
31
+ function slideDown(options = {}) {
32
+ const { duration = 300, displayType = 'block' } = options;
33
+ this.forEach(el => {
34
+ if (el instanceof HTMLElement) {
35
+ // 1. If already visible, abort
36
+ if (window.getComputedStyle(el).display !== 'none')
37
+ return;
38
+ // 2. Make element visible but hidden to measure height
39
+ el.style.display = displayType;
40
+ const height = el.scrollHeight; // Full content height
41
+ // 3. Set start values (height to 0)
42
+ el.style.height = '0px';
43
+ el.style.overflow = 'hidden'; // Important to hide content immediately
44
+ el.style.transition = `height ${duration}ms ease-in-out`;
45
+ // 4. Force Reflow (browser must realize height is 0)
46
+ void el.offsetHeight;
47
+ // 5. Set target value (browser animates now)
48
+ el.style.height = height + 'px';
49
+ // 6. Cleanup after animation
50
+ setTimeout(() => {
51
+ el.style.height = 'auto'; // Allow responsive resizing
52
+ el.style.overflow = 'visible';
53
+ el.style.transition = '';
54
+ }, duration);
55
+ }
56
+ });
57
+ return this;
58
+ }
59
+ /**
60
+ * * 🇬🇧: Slides an element up (animates height to 0). Sets `display: none` after animation.
61
+ * * 🇩🇪: Fährt ein Element vertikal ein (animiert die Höhe auf 0). Setzt am Ende `display: none`.
62
+ * @param options
63
+ * * 🇬🇧: Animation duration.
64
+ * * 🇩🇪: Dauer der Animation.
65
+ * @returns
66
+ * * 🇬🇧: The current jBase instance.
67
+ * * 🇩🇪: Die aktuelle jBase-Instanz.
68
+ */
69
+ function slideUp(options = {}) {
70
+ const { duration = 300 } = options;
71
+ this.forEach(el => {
72
+ if (el instanceof HTMLElement) {
73
+ // 1. Fix current height (in case it is auto)
74
+ el.style.height = el.scrollHeight + 'px';
75
+ el.style.overflow = 'hidden';
76
+ el.style.transition = `height ${duration}ms ease-in-out`;
77
+ // 2. Force Reflow
78
+ void el.offsetHeight;
79
+ // 3. Animate to 0
80
+ el.style.height = '0px';
81
+ // 4. Hide after animation
82
+ setTimeout(() => {
83
+ el.style.display = 'none';
84
+ el.style.height = '';
85
+ el.style.overflow = '';
86
+ el.style.transition = '';
87
+ }, duration);
88
+ }
89
+ });
90
+ return this;
91
+ }
92
+ /**
93
+ * * 🇬🇧: Toggles between slideDown and slideUp based on the display state.
94
+ * * 🇩🇪: Wechselt zwischen slideDown und slideUp basierend auf dem display-Status.
95
+ * @param options
96
+ * * 🇬🇧: Animation duration.
97
+ * * 🇩🇪: Dauer der Animation.
98
+ * @returns
99
+ * * 🇬🇧: The current jBase instance.
100
+ * * 🇩🇪: Die aktuelle jBase-Instanz.
101
+ */
102
+ function slideToggleBox(options = {}) {
103
+ this.forEach(el => {
104
+ if (el instanceof HTMLElement) {
105
+ const display = window.getComputedStyle(el).display;
106
+ // Wrap element in new jBase instance to call slideUp/Down
107
+ const wrapper = new this.constructor(el);
108
+ if (display === 'none') {
109
+ wrapper.slideDown(options);
110
+ }
111
+ else {
112
+ wrapper.slideUp(options);
113
+ }
114
+ }
115
+ });
116
+ return this;
117
+ }
118
+ //# sourceMappingURL=vertical.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vertical.js","sourceRoot":"","sources":["../../../src/modules/effects/vertical.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @file src/modules/events/binding.ts
3
+ * @version 2.0.0
4
+ * @since 2.0.0
5
+ * @license GPL-3.0-or-later
6
+ * @copyright Sven Minio 2026
7
+ * @author Sven Minio <https://sven-minio.de>
8
+ * @category Events
9
+ * @description
10
+ * * 🇬🇧: Core event binding methods (on, off, trigger). Handles event registration and removal.
11
+ * * 🇩🇪: Kern-Methoden für Event-Binding (on, off, trigger). Behandelt die Registrierung und Entfernung von Events.
12
+ * @requires ../../core
13
+ * * 🇬🇧: Depends on the core jBase class for type definitions.
14
+ * * 🇩🇪: Hängt von der Core-jBase-Klasse für Typ-Definitionen ab.
15
+ */
16
+ import { jBase } from '../../core';
17
+ /**
18
+ * * 🇬🇧: Registers an event listener for all elements in the current selection. Uses the native `addEventListener` method internally.
19
+ * * 🇩🇪: Registriert einen Event-Listener für alle Elemente in der aktuellen Auswahl. Nutzt intern die native `addEventListener`-Methode.
20
+ * @param event
21
+ * * 🇬🇧: The name of the event (e.g., 'click', 'mouseenter').
22
+ * * 🇩🇪: Der Name des Events (z.B. 'click', 'mouseenter').
23
+ * @param handler
24
+ * * 🇬🇧: The callback function to execute when the event triggers.
25
+ * * 🇩🇪: Die Callback-Funktion, die beim Auslösen des Events ausgeführt wird.
26
+ * @returns
27
+ * * 🇬🇧: The jBase instance for method chaining.
28
+ * * 🇩🇪: Die jBase-Instanz für Method-Chaining.
29
+ */
30
+ export declare function on(this: jBase, event: string, handler: EventListenerOrEventListenerObject): jBase;
31
+ /**
32
+ * * 🇬🇧: Removes a previously registered event listener from all elements in the current selection. Uses the native `removeEventListener` method internally.
33
+ * Note: The handler passed must be the exact same reference used in `on`.
34
+ * * 🇩🇪: Entfernt einen zuvor registrierten Event-Listener von allen Elementen in der aktuellen Auswahl. Nutzt intern die native `removeEventListener`-Methode.
35
+ * Hinweis: Der übergebene Handler muss exakt dieselbe Referenz sein, die bei `on` verwendet wurde.
36
+ * @param event
37
+ * * 🇬🇧: The name of the event.
38
+ * * 🇩🇪: Der Name des Events.
39
+ * @param handler
40
+ * * 🇬🇧: The reference of the callback function to remove.
41
+ * * 🇩🇪: Die Referenz der Callback-Funktion, die entfernt werden soll.
42
+ * @returns
43
+ * * 🇬🇧: The jBase instance for method chaining.
44
+ * * 🇩🇪: Die jBase-Instanz für Method-Chaining.
45
+ */
46
+ export declare function off(this: jBase, event: string, handler: EventListenerOrEventListenerObject): jBase;
47
+ //# sourceMappingURL=binding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../../../src/modules/events/binding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;;;;;;;;;GAYG;AACH,wBAAgB,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,kCAAkC,GAAG,KAAK,CAKjG;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,kCAAkC,GAAG,KAAK,CAKlG"}