ziko 0.49.6 → 0.50.1

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 (104) hide show
  1. package/dist/ziko.cjs +374 -363
  2. package/dist/ziko.js +686 -971
  3. package/dist/ziko.min.js +2 -2
  4. package/dist/ziko.mjs +678 -953
  5. package/package.json +4 -1
  6. package/src/{reactivity → --reactivity-deprecated}/hooks/head/useFavIcon.js +4 -4
  7. package/src/{reactivity → --reactivity-deprecated}/hooks/head/useTitle.js +1 -1
  8. package/src/{reactivity → --reactivity-deprecated}/hooks/index.js +3 -3
  9. package/src/{reactivity → --reactivity-deprecated}/index.js +1 -1
  10. package/src/{use → --use-deprecated}/index.js +1 -1
  11. package/src/{use/use-event-emmiter.js → --use-deprecated/use-event-emmiter.js.txt} +3 -3
  12. package/src/__ziko__/__state__.js +1 -1
  13. package/src/app/ziko-app.js +6 -6
  14. package/src/events/binders/custom-event.js +11 -7
  15. package/src/events/binders/index.js +69 -13
  16. package/src/events/details-setter/index.js +2 -0
  17. package/src/events/details-setter/key.js +14 -0
  18. package/src/events/{binders → details-setter}/pointer.js +1 -15
  19. package/src/events/{__Events__.js → events-map/index.js} +7 -3
  20. package/src/events/index.js +1 -1
  21. package/src/events/types/__Shared__.d.ts +3 -3
  22. package/src/events/types/clipboard.d.ts +2 -2
  23. package/src/events/types/focus.d.ts +2 -2
  24. package/src/events/types/pointer.d.ts +2 -2
  25. package/src/events/{__ZikoEvent__.js → ziko-event.js} +17 -16
  26. package/src/hooks/index.js +10 -2
  27. package/src/hooks/use-event-emitter.js +68 -0
  28. package/src/hooks/use-favicon.js +59 -0
  29. package/src/hooks/{use-channel.js → use-ipc.js} +5 -22
  30. package/src/hooks/use-media-query.js +59 -0
  31. package/src/hooks/use-root.js +73 -0
  32. package/src/hooks/use-storage.js +73 -47
  33. package/src/hooks/use-thread.js +55 -0
  34. package/src/hooks/use-title.js +43 -0
  35. package/src/index.js +1 -1
  36. package/src/ui/__methods__/events.js +19 -5
  37. package/src/ui/constructors/UIElement.js +14 -12
  38. package/src/ui/constructors/UIElementCore.js +3 -136
  39. package/types/hooks/index.d.ts +9 -2
  40. package/types/hooks/use-Thread.d.ts +33 -0
  41. package/types/hooks/use-event-emitter.d.ts +46 -0
  42. package/types/hooks/use-favicon.d.ts +41 -0
  43. package/types/hooks/{use-channel.d.ts → use-ipc.d.ts} +2 -2
  44. package/types/hooks/use-media-query.d.ts +24 -0
  45. package/types/hooks/use-root.d.ts +15 -0
  46. package/types/hooks/use-storage.d.ts +47 -0
  47. package/types/hooks/use-title.d.ts +37 -0
  48. package/src/events/binders/click.js +0 -20
  49. package/src/events/binders/clipboard.js +0 -16
  50. package/src/events/binders/drag.js +0 -16
  51. package/src/events/binders/focus.js +0 -16
  52. package/src/events/binders/hash.js +0 -16
  53. package/src/events/binders/key.js +0 -27
  54. package/src/events/binders/mouse.js +0 -16
  55. package/src/events/binders/touch.js +0 -16
  56. package/src/events/binders/wheel.js +0 -16
  57. package/src/events/index.d.ts.txt +0 -3
  58. /package/src/{reactivity → --reactivity-deprecated}/events/Input.js +0 -0
  59. /package/src/{reactivity → --reactivity-deprecated}/events/ZikoEvent.js +0 -0
  60. /package/src/{reactivity → --reactivity-deprecated}/events/__note__ +0 -0
  61. /package/src/{reactivity → --reactivity-deprecated}/events/custom-event.js +0 -0
  62. /package/src/{reactivity → --reactivity-deprecated}/events/hash.js +0 -0
  63. /package/src/{reactivity → --reactivity-deprecated}/events/index.js +0 -0
  64. /package/src/{reactivity → --reactivity-deprecated}/events/media.js +0 -0
  65. /package/src/{reactivity → --reactivity-deprecated}/events/mouse.js +0 -0
  66. /package/src/{reactivity → --reactivity-deprecated}/events/swipe.js +0 -0
  67. /package/src/{reactivity → --reactivity-deprecated}/events/touch.js +0 -0
  68. /package/src/{reactivity → --reactivity-deprecated}/hooks/Contexte/index.js +0 -0
  69. /package/src/{reactivity → --reactivity-deprecated}/hooks/Contexte/useSuccesifKeys.js +0 -0
  70. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/index.js +0 -0
  71. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/useCssLink.js +0 -0
  72. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/useLinearGradient.js +0 -0
  73. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/useMediaQuery.js +0 -0
  74. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/useRadialGradient.js +0 -0
  75. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/useRoot.js +0 -0
  76. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/useStyle.js +0 -0
  77. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/useTheme.js +0 -0
  78. /package/src/{reactivity → --reactivity-deprecated}/hooks/head/_useCssText.js +0 -0
  79. /package/src/{reactivity → --reactivity-deprecated}/hooks/head/index.js +0 -0
  80. /package/src/{reactivity → --reactivity-deprecated}/hooks/head/useHead.js +0 -0
  81. /package/src/{reactivity → --reactivity-deprecated}/hooks/head/useMeta.js +0 -0
  82. /package/src/{reactivity → --reactivity-deprecated}/hooks/todo.md +0 -0
  83. /package/src/{reactivity → --reactivity-deprecated}/idea +0 -0
  84. /package/src/{reactivity → --reactivity-deprecated}/observer/attributes.js +0 -0
  85. /package/src/{reactivity → --reactivity-deprecated}/observer/children.js +0 -0
  86. /package/src/{reactivity → --reactivity-deprecated}/observer/index.js +0 -0
  87. /package/src/{reactivity → --reactivity-deprecated}/observer/intersection.js +0 -0
  88. /package/src/{reactivity → --reactivity-deprecated}/observer/mutation.js +0 -0
  89. /package/src/{reactivity → --reactivity-deprecated}/observer/resize.js +0 -0
  90. /package/src/{reactivity → --reactivity-deprecated}/observer/screen.js +0 -0
  91. /package/src/{reactivity → --reactivity-deprecated}/observer/screen.js.txt +0 -0
  92. /package/src/{reactivity → --reactivity-deprecated}/observer/screen.txt +0 -0
  93. /package/src/{use → --use-deprecated}/use-channel.js.txt +0 -0
  94. /package/src/{use → --use-deprecated}/use-favicon.js +0 -0
  95. /package/src/{use → --use-deprecated}/use-link.js +0 -0
  96. /package/src/{use → --use-deprecated}/use-meta.js +0 -0
  97. /package/src/{use → --use-deprecated}/use-root.js +0 -0
  98. /package/src/{use → --use-deprecated}/use-storage.js.txt +0 -0
  99. /package/src/{use → --use-deprecated}/use-thread.js +0 -0
  100. /package/src/{use → --use-deprecated}/use-title.js +0 -0
  101. /package/src/events/{custom-events → custom-events-registry}/click-away.js +0 -0
  102. /package/src/events/{custom-events → custom-events-registry}/index.js +0 -0
  103. /package/src/events/{custom-events → custom-events-registry}/swipe.js +0 -0
  104. /package/src/events/{custom-events → custom-events-registry}/view.js +0 -0
@@ -0,0 +1,46 @@
1
+ declare class UseEventEmitter {
2
+ constructor(maxListeners?: number);
3
+
4
+ /**
5
+ * Register and listen for an event.
6
+ * The listener will be called every time the event is emitted.
7
+ */
8
+ on(event: string, listener: (...args: any[]) => void): this;
9
+
10
+ /**
11
+ * Register and listen for an event ONCE.
12
+ * After the first call, the listener is automatically removed.
13
+ */
14
+ once(event: string, listener: (...args: any[]) => void): this;
15
+
16
+ /**
17
+ * Remove a specific listener.
18
+ */
19
+ off(event: string, listener: (...args: any[]) => void): this;
20
+
21
+ /**
22
+ * Emit an event and call all listeners associated with it.
23
+ * Returns true if the event had listeners; otherwise false.
24
+ */
25
+ emit(event: string, data?: any): boolean;
26
+
27
+ /**
28
+ * Remove all listeners for a specific event.
29
+ */
30
+ remove(event: string): this;
31
+
32
+ /**
33
+ * Clear all events and their listeners.
34
+ */
35
+ clear(): this;
36
+
37
+ /**
38
+ * Set the maximum number of listeners allowed per event.
39
+ */
40
+ setMaxListeners(max: number): this;
41
+ }
42
+
43
+ /** Create a new event emitter instance */
44
+ declare const useEventEmitter: (maxListeners?: number) => UseEventEmitter;
45
+
46
+ export { UseEventEmitter, useEventEmitter };
@@ -0,0 +1,41 @@
1
+ export declare class UseFavIcon {
2
+ /**
3
+ * Create a favicon manager.
4
+ * @param FavIcon Initial favicon URL.
5
+ * @param withEmitter Whether to enable an internal event emitter (default: true).
6
+ */
7
+ constructor(FavIcon?: string, withEmitter?: boolean);
8
+
9
+ /**
10
+ * Sets the favicon URL.
11
+ * Emits "ziko:favicon-changed" if emitter is enabled.
12
+ */
13
+ setFavicon(href: string): this;
14
+
15
+ /**
16
+ * Returns the current favicon URL.
17
+ */
18
+ readonly current: string;
19
+
20
+ /**
21
+ * Listen for favicon changes.
22
+ * Callback receives the new href as a string.
23
+ */
24
+ onChange(callback: (href: string) => void): this;
25
+
26
+ /**
27
+ * To Do
28
+ * Disable or remove the internal event emitter entirely.
29
+ */
30
+ removeEventEmitter(): this;
31
+
32
+ /**
33
+ * Enable the internal event emitter manually.
34
+ */
35
+ useEventEmitter(): this;
36
+ }
37
+
38
+ /**
39
+ * Factory function to create a `UseFavIcon` instance.
40
+ */
41
+ export declare const useFavIcon: (FavIcon?: string, withEmitter?: boolean) => UseFavIcon;
@@ -1,4 +1,4 @@
1
- export declare class UseChannel {
1
+ export declare class UseIPC {
2
2
  emit(event: string, data: any, rooms?: string[]): this;
3
3
  on(event: string, handler: (data: any) => void, rooms?: string | string[]): this;
4
4
  off(event: string, handler: (data: any) => void): this;
@@ -9,4 +9,4 @@ export declare class UseChannel {
9
9
 
10
10
  }
11
11
 
12
- export declare const useChannel: (name?: string) => UseChannel;
12
+ export declare const useIPC: (name?: string) => UseIPC;
@@ -0,0 +1,24 @@
1
+ export interface MediaQueryRule {
2
+ query: string;
3
+ callback: () => void;
4
+ }
5
+
6
+ export class UseMediaQuery {
7
+ // Private fields (only for type awareness; not accessible)
8
+ private readonly #mediaQueryRules: MediaQueryRule[];
9
+ private readonly #fallback: () => void;
10
+ private #lastCalledCallback: (() => void) | null;
11
+
12
+ constructor(
13
+ mediaQueryRules?: MediaQueryRule[],
14
+ fallback?: () => void
15
+ );
16
+ }
17
+
18
+ /**
19
+ * Helper function to create a UseMediaQuery instance.
20
+ */
21
+ export function useMediaQuery(
22
+ mediaQueryRules?: MediaQueryRule[],
23
+ fallback?: () => void
24
+ ): UseMediaQuery;
@@ -0,0 +1,15 @@
1
+ export declare class UseRoot<PropMap extends Record<string, string>> {
2
+ constructor(PropsMap: PropMap, options?: UseRootOptions);
3
+
4
+ currentPropsMap: PropMap;
5
+ namespace: string;
6
+ ValidateCssProps: boolean;
7
+
8
+ /** Dynamically created CSS variable references */
9
+ [K in keyof PropMap]: string;
10
+
11
+ /**
12
+ * Apply a new set of properties
13
+ */
14
+ use(PropsMap: PropMap): this;
15
+ }
@@ -0,0 +1,47 @@
1
+ // use-storage.d.ts
2
+
3
+ export declare class UseStorage {
4
+ constructor(
5
+ storage: Storage,
6
+ globalKey: string,
7
+ initialValue?: Record<string, any>,
8
+ use_channel?: boolean
9
+ );
10
+
11
+ /** Current stored items */
12
+ readonly items: Record<string, any>;
13
+
14
+ /** Set entire storage */
15
+ set(data: Record<string, any>): this;
16
+
17
+ /** Merge new data into existing storage */
18
+ add(data: Record<string, any>): this;
19
+
20
+ /** Remove keys from storage */
21
+ remove(...keys: string[]): this;
22
+
23
+ /** Get a single key */
24
+ get(key: string): any;
25
+
26
+ /** Clear storage completely */
27
+ clear(): this;
28
+
29
+ /**
30
+ * Listen for any storage updates.
31
+ * Callback receives the data passed to the last .set() / .add() / .remove()
32
+ */
33
+ onStorageUpdated(callback: (data: Record<string, any>) => void): this;
34
+ }
35
+
36
+ /** Factory functions */
37
+ export declare const useLocaleStorage: (
38
+ key: string,
39
+ initialValue?: Record<string, any>,
40
+ use_channel?: boolean
41
+ ) => UseStorage;
42
+
43
+ export declare const useSessionStorage: (
44
+ key: string,
45
+ initialValue?: Record<string, any>,
46
+ use_channel?: boolean
47
+ ) => UseStorage;
@@ -0,0 +1,37 @@
1
+ export declare class UseTitle {
2
+ /**
3
+ * Create a reactive title manager.
4
+ * @param title Initial title. Defaults to `document.title`.
5
+ * @param withEmitter Whether to create an internal event emitter. Default: true.
6
+ */
7
+ constructor(title?: string, withEmitter?: boolean);
8
+
9
+ /**
10
+ * Enables the internal event emitter.
11
+ */
12
+ useEventEmitter(): this;
13
+
14
+ /**
15
+ * Sets the document title.
16
+ * Emits "ziko:title-changed" if emitter is enabled.
17
+ */
18
+ setTitle(title: string): this;
19
+
20
+ /**
21
+ * Returns the current document title.
22
+ */
23
+ readonly current: string;
24
+
25
+ /**
26
+ * Listen for title changes.
27
+ */
28
+ onChange(callback: (title: string) => void): this;
29
+
30
+ /**
31
+ * To Do
32
+ * Disable or remove the internal event emitter entirely.
33
+ */
34
+ removeEventEmitter(): this;
35
+ }
36
+
37
+ export declare const useTitle: (title?: string, withEmitter?: boolean) => UseTitle;
@@ -1,20 +0,0 @@
1
- import { __ZikoEvent__ } from "../__ZikoEvent__.js";
2
- import { Events } from "../__Events__.js";
3
- // import { register_click_away_event } from "./custom-events/click-away.js";
4
- class ZikoEventClick extends __ZikoEvent__{
5
- constructor(target, customizer){
6
- super(target, Events.Click, details_setter, customizer);
7
- // register_click_away_event(target.element)
8
- }
9
- }
10
- function details_setter(){
11
- if(this.currentEvent==="click") this.dx = 0
12
- else this.dx = 1
13
- // console.log(this.currentEvent)
14
- }
15
- const bind_click_event = (target, customizer) => new ZikoEventClick(target, customizer)
16
-
17
- export{
18
- bind_click_event,
19
- ZikoEventClick
20
- }
@@ -1,16 +0,0 @@
1
- import { __ZikoEvent__ } from "../__ZikoEvent__.js";
2
- import { Events } from "../__Events__.js";
3
- class ZikoEventClipboard extends __ZikoEvent__{
4
- constructor(target, customizer){
5
- super(target, Events.Clipboard, details_setter, customizer)
6
- }
7
- }
8
- function details_setter(){
9
-
10
- }
11
- const bind_clipboard_event = (target, customizer) => new ZikoEventClipboard(target, customizer)
12
-
13
- export{
14
- bind_clipboard_event,
15
- ZikoEventClipboard
16
- }
@@ -1,16 +0,0 @@
1
- import { __ZikoEvent__ } from "../__ZikoEvent__.js";
2
- import { Events } from "../__Events__.js";
3
- class ZikoEventDrag extends __ZikoEvent__{
4
- constructor(target, customizer){
5
- super(target, Events.Drag, details_setter, customizer)
6
- }
7
- }
8
- function details_setter(){
9
-
10
- }
11
- const bind_drag_event = (target, customizer) => new ZikoEventDrag(target, customizer)
12
-
13
- export{
14
- bind_drag_event,
15
- ZikoEventDrag
16
- }
@@ -1,16 +0,0 @@
1
- import { __ZikoEvent__ } from "../__ZikoEvent__.js";
2
- import { Events } from "../__Events__.js";
3
- class ZikoEventFocus extends __ZikoEvent__{
4
- constructor(target, customizer){
5
- super(target, Events.Focus, details_setter, customizer)
6
- }
7
- }
8
- function details_setter(){
9
-
10
- }
11
- const bind_focus_event = (target, customizer) => new ZikoEventFocus(target, customizer)
12
-
13
- export{
14
- bind_focus_event,
15
- ZikoEventFocus
16
- }
@@ -1,16 +0,0 @@
1
- import { __ZikoEvent__ } from "../__ZikoEvent__.js";
2
- import { Events } from "../__Events__.js";
3
- class ZikoEventHash extends __ZikoEvent__{
4
- constructor(target, customizer){
5
- super(target, Events.Hash, details_setter, customizer)
6
- }
7
- }
8
- function details_setter(){
9
-
10
- }
11
- const bindHashEvent = (target, customizer) => new ZikoEventHash(target, customizer)
12
-
13
- export{
14
- bindHashEvent,
15
- ZikoEventHash
16
- }
@@ -1,27 +0,0 @@
1
- import { __ZikoEvent__ } from "../__ZikoEvent__.js";
2
- import { Events } from "../__Events__.js";
3
- class ZikoEventKey extends __ZikoEvent__{
4
- constructor(target, customizer){
5
- super(target, Events.Key, details_setter, customizer)
6
- }
7
- }
8
- function details_setter(){
9
- switch(this.currentEvent){
10
- case "keydown" : {
11
- this.kd = this.event.key
12
- }; break;
13
- case "keypress" : {
14
- this.kp = this.event.key
15
- }; break;
16
- case "keyup" : {
17
- this.ku = this.event.key
18
- }; break;
19
-
20
- }
21
- }
22
- const bind_key_event = (target, customizer) => new ZikoEventKey(target, customizer)
23
-
24
- export{
25
- bind_key_event,
26
- ZikoEventKey
27
- }
@@ -1,16 +0,0 @@
1
- import { __ZikoEvent__ } from "../__ZikoEvent__.js";
2
- import { Events } from "../__Events__.js";
3
- class ZikoEventMouse extends __ZikoEvent__{
4
- constructor(target, customizer){
5
- super(target, Events.Mouse, details_setter, customizer)
6
- }
7
- }
8
- function details_setter(){
9
-
10
- }
11
- const bind_mouse_event = (target, customizer) => new ZikoEventMouse(target, customizer)
12
-
13
- export{
14
- bind_mouse_event,
15
- ZikoEventMouse
16
- }
@@ -1,16 +0,0 @@
1
- import { __ZikoEvent__ } from "../__ZikoEvent__.js";
2
- import { Events } from "../__Events__.js";
3
- class ZikoEventTouch extends __ZikoEvent__{
4
- constructor(target, customizer){
5
- super(target, Events.Touch, details_setter, customizer)
6
- }
7
- }
8
- function details_setter(){
9
-
10
- }
11
- const bindTouchEvent = (target, customizer) => new ZikoEventTouch(target, customizer)
12
-
13
- export{
14
- bindTouchEvent,
15
- ZikoEventTouch
16
- }
@@ -1,16 +0,0 @@
1
- import { __ZikoEvent__ } from "../__ZikoEvent__.js";
2
- import { Events } from "../__Events__.js";
3
- class ZikoEventWheel extends __ZikoEvent__{
4
- constructor(target, customizer){
5
- super(target, Events.Wheel, details_setter, customizer)
6
- }
7
- }
8
- function details_setter(){
9
-
10
- }
11
- const bind_wheel_event = (target, customizer) => new ZikoEventWheel(target, customizer)
12
-
13
- export{
14
- bind_wheel_event,
15
- ZikoEventWheel
16
- }
@@ -1,3 +0,0 @@
1
- export type * from "./types/pointer.d.ts"
2
- export type * from "./types/clipboard.d.ts"
3
- export type * from "./types/focus.d.ts"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes