eleva 1.0.1 → 1.1.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/README.md +21 -10
- package/dist/{eleva-plugins.cjs.js → eleva-plugins.cjs} +1002 -292
- package/dist/eleva-plugins.cjs.map +1 -0
- package/dist/eleva-plugins.d.cts +1352 -0
- package/dist/eleva-plugins.d.cts.map +1 -0
- package/dist/eleva-plugins.d.ts +1352 -0
- package/dist/eleva-plugins.d.ts.map +1 -0
- package/dist/{eleva-plugins.esm.js → eleva-plugins.js} +1002 -292
- package/dist/eleva-plugins.js.map +1 -0
- package/dist/eleva-plugins.umd.js +1001 -291
- package/dist/eleva-plugins.umd.js.map +1 -1
- package/dist/eleva-plugins.umd.min.js +1 -1
- package/dist/eleva-plugins.umd.min.js.map +1 -1
- package/dist/{eleva.cjs.js → eleva.cjs} +421 -191
- package/dist/eleva.cjs.map +1 -0
- package/dist/eleva.d.cts +1329 -0
- package/dist/eleva.d.cts.map +1 -0
- package/dist/eleva.d.ts +473 -226
- package/dist/eleva.d.ts.map +1 -0
- package/dist/{eleva.esm.js → eleva.js} +422 -192
- package/dist/eleva.js.map +1 -0
- package/dist/eleva.umd.js +420 -190
- package/dist/eleva.umd.js.map +1 -1
- package/dist/eleva.umd.min.js +1 -1
- package/dist/eleva.umd.min.js.map +1 -1
- package/dist/plugins/attr.cjs +279 -0
- package/dist/plugins/attr.cjs.map +1 -0
- package/dist/plugins/attr.d.cts +101 -0
- package/dist/plugins/attr.d.cts.map +1 -0
- package/dist/plugins/attr.d.ts +101 -0
- package/dist/plugins/attr.d.ts.map +1 -0
- package/dist/plugins/attr.js +276 -0
- package/dist/plugins/attr.js.map +1 -0
- package/dist/plugins/attr.umd.js +111 -22
- package/dist/plugins/attr.umd.js.map +1 -1
- package/dist/plugins/attr.umd.min.js +1 -1
- package/dist/plugins/attr.umd.min.js.map +1 -1
- package/dist/plugins/router.cjs +1873 -0
- package/dist/plugins/router.cjs.map +1 -0
- package/dist/plugins/router.d.cts +1296 -0
- package/dist/plugins/router.d.cts.map +1 -0
- package/dist/plugins/router.d.ts +1296 -0
- package/dist/plugins/router.d.ts.map +1 -0
- package/dist/plugins/router.js +1870 -0
- package/dist/plugins/router.js.map +1 -0
- package/dist/plugins/router.umd.js +482 -186
- package/dist/plugins/router.umd.js.map +1 -1
- package/dist/plugins/router.umd.min.js +1 -1
- package/dist/plugins/router.umd.min.js.map +1 -1
- package/dist/plugins/store.cjs +920 -0
- package/dist/plugins/store.cjs.map +1 -0
- package/dist/plugins/store.d.cts +266 -0
- package/dist/plugins/store.d.cts.map +1 -0
- package/dist/plugins/store.d.ts +266 -0
- package/dist/plugins/store.d.ts.map +1 -0
- package/dist/plugins/store.js +917 -0
- package/dist/plugins/store.js.map +1 -0
- package/dist/plugins/store.umd.js +410 -85
- package/dist/plugins/store.umd.js.map +1 -1
- package/dist/plugins/store.umd.min.js +1 -1
- package/dist/plugins/store.umd.min.js.map +1 -1
- package/package.json +112 -68
- package/src/core/Eleva.js +195 -115
- package/src/index.cjs +10 -0
- package/src/index.js +11 -0
- package/src/modules/Emitter.js +68 -20
- package/src/modules/Renderer.js +82 -20
- package/src/modules/Signal.js +43 -15
- package/src/modules/TemplateEngine.js +50 -9
- package/src/plugins/Attr.js +121 -19
- package/src/plugins/Router.js +526 -181
- package/src/plugins/Store.js +448 -69
- package/src/plugins/index.js +1 -0
- package/types/core/Eleva.d.ts +263 -169
- package/types/core/Eleva.d.ts.map +1 -1
- package/types/index.d.cts +3 -0
- package/types/index.d.cts.map +1 -0
- package/types/index.d.ts +5 -0
- package/types/index.d.ts.map +1 -1
- package/types/modules/Emitter.d.ts +73 -30
- package/types/modules/Emitter.d.ts.map +1 -1
- package/types/modules/Renderer.d.ts +48 -18
- package/types/modules/Renderer.d.ts.map +1 -1
- package/types/modules/Signal.d.ts +44 -16
- package/types/modules/Signal.d.ts.map +1 -1
- package/types/modules/TemplateEngine.d.ts +46 -11
- package/types/modules/TemplateEngine.d.ts.map +1 -1
- package/types/plugins/Attr.d.ts +83 -16
- package/types/plugins/Attr.d.ts.map +1 -1
- package/types/plugins/Router.d.ts +498 -207
- package/types/plugins/Router.d.ts.map +1 -1
- package/types/plugins/Store.d.ts +211 -37
- package/types/plugins/Store.d.ts.map +1 -1
- package/dist/eleva-plugins.cjs.js.map +0 -1
- package/dist/eleva-plugins.esm.js.map +0 -1
- package/dist/eleva.cjs.js.map +0 -1
- package/dist/eleva.esm.js.map +0 -1
package/types/plugins/Attr.d.ts
CHANGED
|
@@ -3,27 +3,94 @@ export namespace AttrPlugin {
|
|
|
3
3
|
let version: string;
|
|
4
4
|
let description: string;
|
|
5
5
|
/**
|
|
6
|
-
* Installs the plugin into the Eleva instance
|
|
6
|
+
* Installs the plugin into the Eleva instance.
|
|
7
7
|
*
|
|
8
|
-
* @
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
8
|
+
* @public
|
|
9
|
+
* Method wrapping behavior:
|
|
10
|
+
* - Stores original `_patchNode` in `renderer._originalPatchNode`
|
|
11
|
+
* - Overrides `renderer._patchNode` to use enhanced attribute handling
|
|
12
|
+
* - Adds `renderer.updateAttributes` and `eleva.updateElementAttributes` helpers
|
|
13
|
+
* - Call `uninstall()` to restore original behavior
|
|
14
|
+
*
|
|
15
|
+
* @param {Eleva} eleva - The Eleva instance to enhance.
|
|
16
|
+
* @param {AttrPluginOptions} options - Plugin configuration options.
|
|
17
|
+
* @param {boolean} [options.enableAria=true] - Enable ARIA attribute handling.
|
|
18
|
+
* Maps aria-* attributes to DOM properties (e.g., aria-expanded → ariaExpanded).
|
|
19
|
+
* @param {boolean} [options.enableData=true] - Enable data attribute handling.
|
|
20
|
+
* Syncs data-* attributes with element.dataset for consistent access.
|
|
21
|
+
* @param {boolean} [options.enableBoolean=true] - Enable boolean attribute handling.
|
|
22
|
+
* Treats empty strings and attribute names as true, "false" string as false.
|
|
23
|
+
* @param {boolean} [options.enableDynamic=true] - Enable dynamic property detection.
|
|
24
|
+
* Searches element prototype chain for property matches (useful for custom elements).
|
|
25
|
+
* @returns {void}
|
|
26
|
+
* @example
|
|
27
|
+
* // Basic installation with defaults
|
|
28
|
+
* app.use(AttrPlugin);
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* // Custom configuration
|
|
32
|
+
* app.use(AttrPlugin, {
|
|
33
|
+
* enableAria: true,
|
|
34
|
+
* enableData: true,
|
|
35
|
+
* enableBoolean: true,
|
|
36
|
+
* enableDynamic: false // Disable for performance
|
|
37
|
+
* });
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* // Using ARIA attributes in templates
|
|
41
|
+
* template: (ctx) => `
|
|
42
|
+
* <div role="dialog" aria-modal="true" aria-labelledby="title">
|
|
43
|
+
* <h2 id="title">Modal Title</h2>
|
|
44
|
+
* <button aria-expanded="${ctx.isOpen.value}">Toggle</button>
|
|
45
|
+
* </div>
|
|
46
|
+
* `
|
|
47
|
+
* @see uninstall - Remove the plugin and restore original behavior.
|
|
14
48
|
*/
|
|
15
|
-
function install(eleva:
|
|
16
|
-
enableAria?: boolean | undefined;
|
|
17
|
-
enableData?: boolean | undefined;
|
|
18
|
-
enableBoolean?: boolean | undefined;
|
|
19
|
-
enableDynamic?: boolean | undefined;
|
|
20
|
-
}): void;
|
|
49
|
+
function install(eleva: Eleva, options?: AttrPluginOptions): void;
|
|
21
50
|
/**
|
|
22
|
-
* Uninstalls the plugin from the Eleva instance
|
|
51
|
+
* Uninstalls the plugin from the Eleva instance.
|
|
23
52
|
*
|
|
24
|
-
* @
|
|
53
|
+
* @public
|
|
54
|
+
* @param {Eleva} eleva - The Eleva instance.
|
|
55
|
+
* @returns {void}
|
|
56
|
+
* @description
|
|
57
|
+
* Restores the original renderer patching behavior and removes
|
|
58
|
+
* `eleva.updateElementAttributes`.
|
|
59
|
+
* @example
|
|
60
|
+
* // Uninstall the plugin
|
|
61
|
+
* AttrPlugin.uninstall(app);
|
|
62
|
+
* @see install - Install the plugin.
|
|
25
63
|
*/
|
|
26
|
-
function uninstall(eleva:
|
|
64
|
+
function uninstall(eleva: Eleva): void;
|
|
27
65
|
}
|
|
28
66
|
export { AttrPlugin as Attr };
|
|
67
|
+
/**
|
|
68
|
+
* Type imports from the Eleva core library.
|
|
69
|
+
*/
|
|
70
|
+
export type Eleva = import("eleva").Eleva;
|
|
71
|
+
/**
|
|
72
|
+
* Configuration options for the AttrPlugin.
|
|
73
|
+
*/
|
|
74
|
+
export type AttrPluginOptions = {
|
|
75
|
+
/**
|
|
76
|
+
* Enable ARIA attribute handling.
|
|
77
|
+
*/
|
|
78
|
+
enableAria?: boolean | undefined;
|
|
79
|
+
/**
|
|
80
|
+
* Enable data attribute handling.
|
|
81
|
+
*/
|
|
82
|
+
enableData?: boolean | undefined;
|
|
83
|
+
/**
|
|
84
|
+
* Enable boolean attribute handling.
|
|
85
|
+
*/
|
|
86
|
+
enableBoolean?: boolean | undefined;
|
|
87
|
+
/**
|
|
88
|
+
* Enable dynamic property detection.
|
|
89
|
+
*/
|
|
90
|
+
enableDynamic?: boolean | undefined;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Function signature for attribute update operations.
|
|
94
|
+
*/
|
|
95
|
+
export type AttributeUpdateFunction = (oldEl: HTMLElement, newEl: HTMLElement) => void;
|
|
29
96
|
//# sourceMappingURL=Attr.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Attr.d.ts","sourceRoot":"","sources":["../../src/plugins/Attr.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Attr.d.ts","sourceRoot":"","sources":["../../src/plugins/Attr.js"],"names":[],"mappings":";cAmFY,MAAM;iBAMN,MAAM;qBAMN,MAAM;IAIhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;IACH,wBAlCW,KAAK,YACL,iBAAiB,GASf,IAAI,CAsMhB;IAED;;;;;;;;;;;;;OAaG;IACH,0BAVW,KAAK,GACH,IAAI,CAuBhB;;;;;;oBA1UU,OAAO,OAAO,EAAE,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;sCAuBrB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI"}
|