@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,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"}
|