ziko 0.65.0 → 0.67.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/dist/ziko.cjs +61 -107
- package/dist/ziko.js +61 -107
- package/dist/ziko.min.js +2 -2
- package/dist/ziko.mjs +61 -107
- package/package.json +2 -2
- package/src/events/custom-events-registry/click-away.js +0 -1
- package/src/exp-events/controller/index.js +41 -0
- package/src/exp-events/custom-events-registry/click-away.js +39 -0
- package/src/exp-events/custom-events-registry/index.js +3 -0
- package/src/exp-events/custom-events-registry/swipe.js +76 -0
- package/src/exp-events/custom-events-registry/view.js +74 -0
- package/src/exp-events/details-setter/index.js +4 -0
- package/src/exp-events/details-setter/key.js +14 -0
- package/src/exp-events/details-setter/mouse.js +35 -0
- package/src/exp-events/details-setter/pointer.js +35 -0
- package/src/exp-events/details-setter/touch.js +37 -0
- package/src/exp-events/index.js +1 -0
- package/src/hooks/index.d.ts +11 -0
- package/src/hooks/use-derived.d.ts +14 -0
- package/src/hooks/use-event-emitter.d.ts +46 -0
- package/src/hooks/use-favicon.d.ts +41 -0
- package/src/hooks/use-ipc.d.ts +12 -0
- package/src/hooks/use-media-query.d.ts +24 -0
- package/src/hooks/use-reactive.d.ts +14 -0
- package/src/hooks/use-root.d.ts +15 -0
- package/src/hooks/use-state.d.ts +25 -0
- package/src/hooks/use-storage.d.ts +47 -0
- package/src/hooks/use-thread.d.ts +33 -0
- package/src/hooks/use-title.d.ts +37 -0
- package/src/index.d.ts +5 -0
- package/src/math/complex/index.d.ts +54 -0
- package/src/math/functions/index.d.ts +140 -0
- package/src/math/functions/logic/index.d.ts +11 -0
- package/src/math/functions/mapfun/index.d.ts +87 -0
- package/src/math/functions/utils/index.d.ts +1 -0
- package/src/math/functions/utils/mapfun.d.ts +43 -0
- package/src/math/index.d.ts +5 -0
- package/src/time/clocks/clock.d.ts +28 -0
- package/src/time/clocks/index.d.ts +3 -0
- package/src/time/clocks/scheduler.d.ts +42 -0
- package/src/time/clocks/tick.d.ts +26 -0
- package/src/time/decorators/index.d.ts +9 -0
- package/src/time/delay/index.d.ts +12 -0
- package/src/time/ease/index.d.ts +103 -0
- package/src/time/index.d.ts +4 -0
- package/src/time/loop/index.d.ts +50 -0
- package/src/ui/constructors/UIElement.js +19 -93
- package/src/ui/constructors/UIElementCore.d.ts +59 -0
- package/src/ui/constructors/UIElementCore.js +0 -9
- package/src/ui/constructors/UINode.d.ts +11 -0
- package/src/ui/constructors/UINode.js +1 -1
- package/src/ui/{__methods__ → constructors/mixins}/dom.js +1 -1
- package/src/ui/{__methods__ → constructors/mixins}/events.js +3 -3
- package/src/ui/{__methods__ → constructors/mixins}/style.js +1 -1
- package/src/ui/{__methods__ → constructors/mixins}/utils/index.js +4 -4
- package/src/ui/web-component/index.d.ts +14 -0
- package/src/ui/web-component/index.js +2 -2
- package/README.dep.md +0 -137
- package/src/--reactivity-deprecated/events/Input.js +0 -62
- package/src/--reactivity-deprecated/events/ZikoEvent.js +0 -92
- package/src/--reactivity-deprecated/events/__note__ +0 -1
- package/src/--reactivity-deprecated/events/custom-event.js +0 -57
- package/src/--reactivity-deprecated/events/hash.js +0 -47
- package/src/--reactivity-deprecated/events/index.js +0 -12
- package/src/--reactivity-deprecated/events/media.js +0 -1
- package/src/--reactivity-deprecated/events/mouse.js +0 -233
- package/src/--reactivity-deprecated/events/swipe.js +0 -149
- package/src/--reactivity-deprecated/events/touch.js +0 -0
- package/src/--reactivity-deprecated/hooks/Contexte/index.js +0 -1
- package/src/--reactivity-deprecated/hooks/Contexte/useSuccesifKeys.js +0 -14
- package/src/--reactivity-deprecated/hooks/UI/index.js +0 -6
- package/src/--reactivity-deprecated/hooks/UI/useCssLink.js +0 -0
- package/src/--reactivity-deprecated/hooks/UI/useLinearGradient.js +0 -0
- package/src/--reactivity-deprecated/hooks/UI/useMediaQuery.js +0 -43
- package/src/--reactivity-deprecated/hooks/UI/useRadialGradient.js +0 -0
- package/src/--reactivity-deprecated/hooks/UI/useRoot.js +0 -39
- package/src/--reactivity-deprecated/hooks/UI/useStyle.js +0 -79
- package/src/--reactivity-deprecated/hooks/UI/useTheme.js +0 -62
- package/src/--reactivity-deprecated/hooks/head/_useCssText.js +0 -21
- package/src/--reactivity-deprecated/hooks/head/index.js +0 -5
- package/src/--reactivity-deprecated/hooks/head/useFavIcon.js +0 -38
- package/src/--reactivity-deprecated/hooks/head/useHead.js +0 -28
- package/src/--reactivity-deprecated/hooks/head/useMeta.js +0 -52
- package/src/--reactivity-deprecated/hooks/head/useTitle.js +0 -30
- package/src/--reactivity-deprecated/hooks/index.js +0 -8
- package/src/--reactivity-deprecated/hooks/todo.md +0 -26
- package/src/--reactivity-deprecated/idea +0 -1
- package/src/--reactivity-deprecated/index.js +0 -3
- package/src/--reactivity-deprecated/observer/attributes.js +0 -28
- package/src/--reactivity-deprecated/observer/children.js +0 -37
- package/src/--reactivity-deprecated/observer/index.js +0 -6
- package/src/--reactivity-deprecated/observer/intersection.js +0 -44
- package/src/--reactivity-deprecated/observer/mutation.js +0 -113
- package/src/--reactivity-deprecated/observer/resize.js +0 -47
- package/src/--reactivity-deprecated/observer/screen.js +0 -45
- package/src/--reactivity-deprecated/observer/screen.js.txt +0 -84
- package/src/--reactivity-deprecated/observer/screen.txt +0 -13
- package/src/--use-deprecated/index.js +0 -11
- package/src/--use-deprecated/use-channel.js.txt +0 -61
- package/src/--use-deprecated/use-event-emmiter.js.txt +0 -64
- package/src/--use-deprecated/use-favicon.js +0 -0
- package/src/--use-deprecated/use-link.js +0 -0
- package/src/--use-deprecated/use-meta.js +0 -0
- package/src/--use-deprecated/use-root.js +0 -77
- package/src/--use-deprecated/use-storage.js.txt +0 -73
- package/src/--use-deprecated/use-thread.js +0 -44
- package/src/--use-deprecated/use-title.js +0 -0
- package/src/ui/constructors/_m.js.txt +0 -96
- package/src/ui/constructors/style/index.js +0 -506
- /package/src/ui/{__methods__ → constructors/mixins}/attrs.js +0 -0
- /package/src/ui/{__methods__ → constructors/mixins}/index.js +0 -0
- /package/src/ui/{__methods__ → constructors/mixins}/indexing.js +0 -0
- /package/src/ui/{__methods__ → constructors/mixins}/lifecycle.js +0 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export interface TimeTask {
|
|
2
|
+
fn: () => Promise<any> | any;
|
|
3
|
+
delay?: number;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export type ParallelTasks = TimeTask[];
|
|
7
|
+
|
|
8
|
+
export interface TimeSchedulerOptions {
|
|
9
|
+
repeat?: number;
|
|
10
|
+
loop?: boolean;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export declare class TimeScheduler {
|
|
14
|
+
tasks: (TimeTask | ParallelTasks)[];
|
|
15
|
+
repeat: number;
|
|
16
|
+
loop: boolean;
|
|
17
|
+
|
|
18
|
+
stopped: boolean;
|
|
19
|
+
running: boolean;
|
|
20
|
+
|
|
21
|
+
onStart: (() => void) | null;
|
|
22
|
+
onTask: ((fn: () => Promise<any> | any) => void) | null;
|
|
23
|
+
onEnd: (() => void) | null;
|
|
24
|
+
|
|
25
|
+
constructor(
|
|
26
|
+
tasks?: (TimeTask | ParallelTasks)[],
|
|
27
|
+
options?: TimeSchedulerOptions
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
run(): Promise<void>;
|
|
31
|
+
|
|
32
|
+
stop(): void;
|
|
33
|
+
|
|
34
|
+
addTask(task: TimeTask | ParallelTasks): void;
|
|
35
|
+
|
|
36
|
+
clearTasks(): void;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export declare function Scheduler(
|
|
40
|
+
tasks?: (TimeTask | ParallelTasks)[],
|
|
41
|
+
options?: { repeat?: number | null }
|
|
42
|
+
): TimeScheduler;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare class Tick {
|
|
2
|
+
ms: number;
|
|
3
|
+
fn: (self: Tick) => void;
|
|
4
|
+
count: number;
|
|
5
|
+
frame: number;
|
|
6
|
+
id: ReturnType<typeof setInterval> | null;
|
|
7
|
+
running: boolean;
|
|
8
|
+
|
|
9
|
+
constructor(
|
|
10
|
+
fn: (self: Tick) => void,
|
|
11
|
+
ms: number,
|
|
12
|
+
count?: number,
|
|
13
|
+
start?: boolean
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
start(): this;
|
|
17
|
+
stop(): this;
|
|
18
|
+
isRunning(): boolean;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export declare function tick(
|
|
22
|
+
fn: (self: Tick) => void,
|
|
23
|
+
ms: number,
|
|
24
|
+
count?: number,
|
|
25
|
+
start?: boolean
|
|
26
|
+
): Tick;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function debounce<T extends (...args: any[]) => any>(
|
|
2
|
+
fn: T,
|
|
3
|
+
delay?: number
|
|
4
|
+
): (...args: Parameters<T>) => void;
|
|
5
|
+
|
|
6
|
+
export declare function throttle<T extends (...args: any[]) => any>(
|
|
7
|
+
fn: T,
|
|
8
|
+
delay: number
|
|
9
|
+
): (...args: Parameters<T>) => void;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const sleep: (ms: number) => Promise<void>;
|
|
2
|
+
|
|
3
|
+
export interface TimeoutResult {
|
|
4
|
+
id: ReturnType<typeof setTimeout>;
|
|
5
|
+
clear: () => void;
|
|
6
|
+
promise: Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export declare function timeout(
|
|
10
|
+
ms: number,
|
|
11
|
+
fn?: () => any
|
|
12
|
+
): TimeoutResult;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
declare const linear: (t: number) => number;
|
|
2
|
+
|
|
3
|
+
// --- Sin ---
|
|
4
|
+
declare const in_sin: (t: number) => number;
|
|
5
|
+
declare const out_sin: (t: number) => number;
|
|
6
|
+
declare const in_out_sin: (t: number) => number;
|
|
7
|
+
|
|
8
|
+
// --- Quad ---
|
|
9
|
+
declare const in_quad: (t: number) => number;
|
|
10
|
+
declare const out_quad: (t: number) => number;
|
|
11
|
+
declare const in_out_quad: (t: number) => number;
|
|
12
|
+
|
|
13
|
+
// --- Cubic ---
|
|
14
|
+
declare const in_cubic: (t: number) => number;
|
|
15
|
+
declare const out_cubic: (t: number) => number;
|
|
16
|
+
declare const in_out_cubic: (t: number) => number;
|
|
17
|
+
|
|
18
|
+
// --- Quart ---
|
|
19
|
+
declare const in_quart: (t: number) => number;
|
|
20
|
+
declare const out_quart: (t: number) => number;
|
|
21
|
+
declare const in_out_quart: (t: number) => number;
|
|
22
|
+
|
|
23
|
+
// --- Quint ---
|
|
24
|
+
declare const in_quint: (t: number) => number;
|
|
25
|
+
declare const out_quint: (t: number) => number;
|
|
26
|
+
declare const in_out_quint: (t: number) => number;
|
|
27
|
+
|
|
28
|
+
// --- Expo ---
|
|
29
|
+
declare const in_expo: (t: number) => number;
|
|
30
|
+
declare const out_expo: (t: number) => number;
|
|
31
|
+
declare const in_out_expo: (t: number) => number;
|
|
32
|
+
|
|
33
|
+
// --- Circ ---
|
|
34
|
+
declare const in_circ: (t: number) => number;
|
|
35
|
+
declare const out_circ: (t: number) => number;
|
|
36
|
+
declare const in_out_circ: (t: number) => number;
|
|
37
|
+
|
|
38
|
+
// --- Arc ---
|
|
39
|
+
declare const arc: (t: number) => number;
|
|
40
|
+
|
|
41
|
+
// --- Back ---
|
|
42
|
+
declare const back: (t: number, x?: number) => number;
|
|
43
|
+
|
|
44
|
+
// --- Elastic ---
|
|
45
|
+
declare const elastic: (t: number) => number;
|
|
46
|
+
|
|
47
|
+
// --- Back variations ---
|
|
48
|
+
declare const in_back: (t: number, c1?: number, c3?: number) => number;
|
|
49
|
+
declare const out_back: (t: number, c1?: number, c3?: number) => number;
|
|
50
|
+
declare const in_out_back: (t: number, c1?: number, c2?: number) => number;
|
|
51
|
+
|
|
52
|
+
// --- Elastic variations ---
|
|
53
|
+
declare const in_elastic: (t: number, c4?: number) => number;
|
|
54
|
+
declare const out_elastic: (t: number, c4?: number) => number;
|
|
55
|
+
declare const in_out_elastic: (t: number, c5?: number) => number;
|
|
56
|
+
|
|
57
|
+
// --- Bounce ---
|
|
58
|
+
declare const in_bounce: (t: number, n1?: number, d1?: number) => number;
|
|
59
|
+
declare const out_bounce: (t: number, n1?: number, d1?: number) => number;
|
|
60
|
+
declare const in_out_bounce: (t: number, n1?: number, d1?: number) => number;
|
|
61
|
+
|
|
62
|
+
// --- Step & Discret ---
|
|
63
|
+
declare const step: (t: number, steps?: number) => number;
|
|
64
|
+
declare const discret: (t: number, segments?: number) => number;
|
|
65
|
+
|
|
66
|
+
export {
|
|
67
|
+
linear,
|
|
68
|
+
in_sin,
|
|
69
|
+
out_sin,
|
|
70
|
+
in_out_sin,
|
|
71
|
+
in_quad,
|
|
72
|
+
out_quad,
|
|
73
|
+
in_out_quad,
|
|
74
|
+
in_cubic,
|
|
75
|
+
out_cubic,
|
|
76
|
+
in_out_cubic,
|
|
77
|
+
in_quart,
|
|
78
|
+
out_quart,
|
|
79
|
+
in_out_quart,
|
|
80
|
+
in_quint,
|
|
81
|
+
out_quint,
|
|
82
|
+
in_out_quint,
|
|
83
|
+
in_expo,
|
|
84
|
+
out_expo,
|
|
85
|
+
in_out_expo,
|
|
86
|
+
in_circ,
|
|
87
|
+
out_circ,
|
|
88
|
+
in_out_circ,
|
|
89
|
+
arc,
|
|
90
|
+
back,
|
|
91
|
+
elastic,
|
|
92
|
+
in_back,
|
|
93
|
+
out_back,
|
|
94
|
+
in_out_back,
|
|
95
|
+
in_elastic,
|
|
96
|
+
out_elastic,
|
|
97
|
+
in_out_elastic,
|
|
98
|
+
in_bounce,
|
|
99
|
+
out_bounce,
|
|
100
|
+
in_out_bounce,
|
|
101
|
+
step,
|
|
102
|
+
discret
|
|
103
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export declare class TimeLoop {
|
|
2
|
+
callback: (self: TimeLoop) => void;
|
|
3
|
+
|
|
4
|
+
protected cache: {
|
|
5
|
+
isRunning: boolean;
|
|
6
|
+
id: ReturnType<typeof setTimeout> | null;
|
|
7
|
+
last_tick: number | null;
|
|
8
|
+
step: number;
|
|
9
|
+
t0: number;
|
|
10
|
+
t1: number;
|
|
11
|
+
autoplay: boolean;
|
|
12
|
+
pauseTime: number | null;
|
|
13
|
+
frame: number;
|
|
14
|
+
elapsed?: number;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
constructor(
|
|
18
|
+
callback: (self: TimeLoop) => void,
|
|
19
|
+
options?: {
|
|
20
|
+
step?: number;
|
|
21
|
+
t0?: number;
|
|
22
|
+
t1?: number;
|
|
23
|
+
autoplay?: boolean;
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
get frame(): number;
|
|
28
|
+
|
|
29
|
+
get elapsed(): number | undefined;
|
|
30
|
+
|
|
31
|
+
start(): this;
|
|
32
|
+
pause(): this;
|
|
33
|
+
resume(): this;
|
|
34
|
+
stop(): this;
|
|
35
|
+
|
|
36
|
+
startAfter(t?: number): this;
|
|
37
|
+
stopAfter(t?: number): this;
|
|
38
|
+
|
|
39
|
+
protected animate: () => void;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export declare function loop(
|
|
43
|
+
callback: (self: TimeLoop) => void,
|
|
44
|
+
options?: {
|
|
45
|
+
step?: number;
|
|
46
|
+
t0?: number;
|
|
47
|
+
t1?: number;
|
|
48
|
+
autoplay?: boolean;
|
|
49
|
+
}
|
|
50
|
+
): TimeLoop;
|
|
@@ -7,20 +7,19 @@ import {
|
|
|
7
7
|
IndexingMethods,
|
|
8
8
|
EventsMethodes,
|
|
9
9
|
StyleMethods
|
|
10
|
-
} from "
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
// // watchSize,
|
|
16
|
-
// // watchAttr,
|
|
17
|
-
// // watchChildren
|
|
18
|
-
// } from "../../--reactivity-deprecated/events/custom-event.js"
|
|
10
|
+
} from "./mixins/index.js";
|
|
11
|
+
|
|
12
|
+
import {
|
|
13
|
+
EventController
|
|
14
|
+
} from '../../exp-events/index.js'
|
|
19
15
|
class UIElement extends UIElementCore{
|
|
20
16
|
constructor({element, name ='', type='html', render = __Ziko__.__Config__.default.render}={}){
|
|
21
17
|
super()
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
this.exp = {
|
|
19
|
+
events : {
|
|
20
|
+
|
|
21
|
+
}
|
|
22
|
+
}
|
|
24
23
|
register_to_class(
|
|
25
24
|
this,
|
|
26
25
|
LifecycleMethods,
|
|
@@ -31,9 +30,17 @@ class UIElement extends UIElementCore{
|
|
|
31
30
|
EventsMethodes
|
|
32
31
|
);
|
|
33
32
|
|
|
34
|
-
// console.log(EventsMethodes)
|
|
35
33
|
if(element)this.init(element, name, type, render)
|
|
36
34
|
}
|
|
35
|
+
_on(event, callback, {details_setter, category = 'global'} = {}){
|
|
36
|
+
if(category && !this.exp.events.hasOwnProperty(category)) this.exp.events[category] = new EventController(this, category);
|
|
37
|
+
const EVENT = this.exp.events[category]
|
|
38
|
+
EVENT.addListener(event, callback);
|
|
39
|
+
if(details_setter) details_setter.call(EVENT);
|
|
40
|
+
}
|
|
41
|
+
_off(event, category = 'global'){
|
|
42
|
+
this.exp.events[category].removeListener(event)
|
|
43
|
+
}
|
|
37
44
|
get element(){
|
|
38
45
|
return this.cache.element;
|
|
39
46
|
}
|
|
@@ -49,9 +56,6 @@ class UIElement extends UIElementCore{
|
|
|
49
56
|
if(directive)this.element.setAttribute('data-hydration-directive', directive);
|
|
50
57
|
return this;
|
|
51
58
|
}
|
|
52
|
-
// isUIElement(){
|
|
53
|
-
// return true;
|
|
54
|
-
// }
|
|
55
59
|
get st(){
|
|
56
60
|
return this.cache.style;
|
|
57
61
|
}
|
|
@@ -91,84 +95,6 @@ class UIElement extends UIElementCore{
|
|
|
91
95
|
get left(){
|
|
92
96
|
return this.element.getBoundingClientRect().left;
|
|
93
97
|
}
|
|
94
|
-
// clone(render=false) {
|
|
95
|
-
// // UI.__proto__=this.__proto__;
|
|
96
|
-
// // if(this.items.length){
|
|
97
|
-
// // const items = [...this.items].map(n=>n.clone());
|
|
98
|
-
// // UI.append(...items);
|
|
99
|
-
// // }
|
|
100
|
-
// // else UI.element=this.element.cloneNode(true);
|
|
101
|
-
// // return UI.mount(render);
|
|
102
|
-
// }
|
|
103
|
-
// [Symbol.iterator]() {
|
|
104
|
-
// return this.items[Symbol.iterator]();
|
|
105
|
-
// }
|
|
106
|
-
// maintain() {
|
|
107
|
-
// for (let i = 0; i < this.items.length; i++) {
|
|
108
|
-
// Object.defineProperty(this, i, {
|
|
109
|
-
// value: this.items[i],
|
|
110
|
-
// writable: true,
|
|
111
|
-
// configurable: true,
|
|
112
|
-
// enumerable: false
|
|
113
|
-
// });
|
|
114
|
-
// }
|
|
115
|
-
// }
|
|
116
|
-
// freeze(freeze){
|
|
117
|
-
// this.cache.isFrozzen=freeze;
|
|
118
|
-
// return this;
|
|
119
|
-
// }
|
|
120
|
-
// setTarget(tg) {
|
|
121
|
-
// if(this.isBody) return ;
|
|
122
|
-
// if (tg?.isUIElement) tg = tg.element;
|
|
123
|
-
// this.unmount();
|
|
124
|
-
// this.target = tg;
|
|
125
|
-
// this.mount();
|
|
126
|
-
// return this;
|
|
127
|
-
// }
|
|
128
|
-
// describe(label){
|
|
129
|
-
// if(label)this.setAttr("aria-label",label)
|
|
130
|
-
// }
|
|
131
|
-
// get children() {
|
|
132
|
-
// return [...this.element.children];
|
|
133
|
-
// }
|
|
134
|
-
// get cloneElement() {
|
|
135
|
-
// return this.element.cloneNode(true);
|
|
136
|
-
// }
|
|
137
|
-
// setClasses(...value) {
|
|
138
|
-
// this.setAttr("class", value.join(" "));
|
|
139
|
-
// return this;
|
|
140
|
-
// }
|
|
141
|
-
// get classes(){
|
|
142
|
-
// const classes=this.element.getAttribute("class");
|
|
143
|
-
// return classes===null?[]:classes.split(" ");
|
|
144
|
-
// }
|
|
145
|
-
// addClass() {
|
|
146
|
-
// /*this.setAttr("class", value);
|
|
147
|
-
// return this;*/
|
|
148
|
-
// }
|
|
149
|
-
// setId(id) {
|
|
150
|
-
// this.setAttr("id", id);
|
|
151
|
-
// return this;
|
|
152
|
-
// }
|
|
153
|
-
// get id() {
|
|
154
|
-
// return this.element.getAttribute("id");
|
|
155
|
-
// }
|
|
156
|
-
// To Fix
|
|
157
|
-
// onKeysDown({keys=[],callback}={}){
|
|
158
|
-
// if(!this.events.key)this.events.key = useKeyEvent(this);
|
|
159
|
-
// this.events.key.handleSuccessifKeys({keys,callback});
|
|
160
|
-
// return this;
|
|
161
|
-
// }
|
|
162
|
-
// watchAttr(callback){
|
|
163
|
-
// if(!this.observer.attr)this.observer.attr = watchAttr(this,callback);
|
|
164
|
-
// return this;
|
|
165
|
-
// }
|
|
166
|
-
// watchChildren(callback){
|
|
167
|
-
// if(!this.observer.children)this.observer.children = watchChildren(this,callback);
|
|
168
|
-
// return this;
|
|
169
|
-
// }
|
|
170
|
-
// watchSize(callback)Remplaced By on onViewResize
|
|
171
|
-
// watchIntersection(callback,config) Remplaced By onViewEnter and onViewExit
|
|
172
98
|
|
|
173
99
|
}
|
|
174
100
|
export { UIElement }
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { UINode } from "./UINode.js";
|
|
2
|
+
import { UIStore } from "../../__ziko__/__ui__.js";
|
|
3
|
+
|
|
4
|
+
export declare class UIElementCore extends UINode {
|
|
5
|
+
cache: {
|
|
6
|
+
node: Node;
|
|
7
|
+
name?: string;
|
|
8
|
+
isInteractive?: boolean;
|
|
9
|
+
parent?: UIElementCore | null;
|
|
10
|
+
isBody?: boolean;
|
|
11
|
+
isRoot?: boolean;
|
|
12
|
+
isHidden?: boolean;
|
|
13
|
+
isFrozzen?: boolean;
|
|
14
|
+
attributes?: Record<string, any>;
|
|
15
|
+
filters?: Record<string, any>;
|
|
16
|
+
temp?: Record<string, any>;
|
|
17
|
+
element?: HTMLElement | SVGElement;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
events: {
|
|
21
|
+
ptr: any | null;
|
|
22
|
+
mouse: any | null;
|
|
23
|
+
wheel: any | null;
|
|
24
|
+
key: any | null;
|
|
25
|
+
drag: any | null;
|
|
26
|
+
drop: any | null;
|
|
27
|
+
click: any | null;
|
|
28
|
+
clipboard: any | null;
|
|
29
|
+
focus: any | null;
|
|
30
|
+
swipe: any | null;
|
|
31
|
+
custom: any | null;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
observer: {
|
|
35
|
+
resize: any | null;
|
|
36
|
+
intersection: any | null;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
items: UIStore;
|
|
40
|
+
|
|
41
|
+
constructor();
|
|
42
|
+
|
|
43
|
+
init(
|
|
44
|
+
element: string | HTMLElement | SVGElement | null,
|
|
45
|
+
name: string,
|
|
46
|
+
type: "html" | "svg",
|
|
47
|
+
render?: boolean
|
|
48
|
+
): void;
|
|
49
|
+
|
|
50
|
+
get element(): HTMLElement | SVGElement | undefined;
|
|
51
|
+
|
|
52
|
+
[Symbol.iterator](): Iterator<any>;
|
|
53
|
+
|
|
54
|
+
maintain(): void;
|
|
55
|
+
|
|
56
|
+
isInteractive(): boolean;
|
|
57
|
+
|
|
58
|
+
isUIElement(): true;
|
|
59
|
+
}
|
|
@@ -30,7 +30,6 @@ class UIElementCore extends UINode{
|
|
|
30
30
|
isRoot:false,
|
|
31
31
|
isHidden: false,
|
|
32
32
|
isFrozzen:false,
|
|
33
|
-
legacyParent : null,
|
|
34
33
|
attributes: {},
|
|
35
34
|
filters: {},
|
|
36
35
|
temp:{}
|
|
@@ -53,14 +52,6 @@ class UIElementCore extends UINode{
|
|
|
53
52
|
intersection:null
|
|
54
53
|
}
|
|
55
54
|
if(element) Object.assign(this.cache,{element});
|
|
56
|
-
// useDefaultStyle && this.style({
|
|
57
|
-
// position: "relative",
|
|
58
|
-
// boxSizing:"border-box",
|
|
59
|
-
// margin:0,
|
|
60
|
-
// padding:0,
|
|
61
|
-
// width : "auto",
|
|
62
|
-
// height : "auto"
|
|
63
|
-
// });
|
|
64
55
|
this.items = new UIStore();
|
|
65
56
|
globalThis.__Ziko__.__UI__[this.cache.name]?globalThis.__Ziko__.__UI__[this.cache.name]?.push(this):globalThis.__Ziko__.__UI__[this.cache.name]=[this];
|
|
66
57
|
element && render && this?.render?.()
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EventsMap } from "
|
|
1
|
+
import { EventsMap } from "../../../events/events-map/index.js";
|
|
2
2
|
import {
|
|
3
3
|
bind_pointer_event,
|
|
4
4
|
bind_mouse_event,
|
|
@@ -10,9 +10,9 @@ import {
|
|
|
10
10
|
bind_wheel_event,
|
|
11
11
|
bind_view_event,
|
|
12
12
|
bind_swipe_event
|
|
13
|
-
} from "
|
|
13
|
+
} from "../../../events/binders/index.js";
|
|
14
14
|
|
|
15
|
-
import { bind_custom_event } from "
|
|
15
|
+
import { bind_custom_event } from "../../../events/binders/custom-event.js";
|
|
16
16
|
|
|
17
17
|
const binderMap = {
|
|
18
18
|
ptr: bind_pointer_event,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { isStateGetter } from "
|
|
1
|
+
import { isStateGetter } from "../../../../hooks/use-state.js";
|
|
2
2
|
import {
|
|
3
3
|
is_camelcase,
|
|
4
4
|
camel2hyphencase
|
|
5
|
-
} from '
|
|
6
|
-
import { text } from "
|
|
5
|
+
} from '../../../../data/string/index.js'
|
|
6
|
+
import { text } from "../../../text/index.js";
|
|
7
7
|
export async function __addItem__(adder, pusher, ...ele) {
|
|
8
8
|
if (this.cache.isFrozzen) {
|
|
9
9
|
console.warn("You can't append new item to frozzen element");
|
|
@@ -24,7 +24,7 @@ export async function __addItem__(adder, pusher, ...ele) {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
if (typeof globalThis?.Node === "function" && ele[i] instanceof globalThis?.Node) ele[i] = new this.constructor(ele[i]);
|
|
27
|
-
if (ele[i]?.
|
|
27
|
+
if (ele[i]?.isUINode) {
|
|
28
28
|
ele[i].cache.parent = this;
|
|
29
29
|
this.element?.[adder](ele[i].element);
|
|
30
30
|
ele[i].target = this.element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { UIElement } from "../constructors/UIElement";
|
|
2
|
+
|
|
3
|
+
export interface WCPropDefinition {
|
|
4
|
+
type: (value: any) => any; // function to convert attribute string to prop value
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export declare function define_wc(
|
|
8
|
+
name: `${string}-${string}`,
|
|
9
|
+
UI_Constructor: (props: Record<string, any>) => UIElement | UIElement[],
|
|
10
|
+
props?: Record<string, WCPropDefinition>,
|
|
11
|
+
options?: {
|
|
12
|
+
mode? : ShadowRootMode
|
|
13
|
+
}
|
|
14
|
+
): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export function define_wc(name,
|
|
1
|
+
export function define_wc(name, UI_Constructor, props = {}, { mode = 'open'} = {}) {
|
|
2
2
|
if (globalThis.customElements?.get(name)) {
|
|
3
3
|
console.warn(`Custom element "${name}" is already defined`);
|
|
4
4
|
return;
|
|
@@ -30,7 +30,7 @@ export function define_wc(name, UIElement, props = {}, { mode = 'open'} = {}) {
|
|
|
30
30
|
|
|
31
31
|
render() {
|
|
32
32
|
this.shadowRoot.innerHTML = '';
|
|
33
|
-
const item =
|
|
33
|
+
const item = UI_Constructor(this.props);
|
|
34
34
|
if(item instanceof Array) item.forEach(n => n.mount(this.shadowRoot))
|
|
35
35
|
else item.mount(this.shadowRoot)
|
|
36
36
|
}
|