ziko 0.45.0 → 0.45.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 (46) hide show
  1. package/dist/ziko.js +626 -712
  2. package/dist/ziko.mjs +617 -692
  3. package/package.json +1 -1
  4. package/src/__helpers__/register/index.js +3 -1
  5. package/src/__helpers__/register/register-to-instance.js +17 -5
  6. package/src/app/spa.js +3 -3
  7. package/src/app/ziko-app.js +1 -1
  8. package/src/events/__Events__.js +2 -1
  9. package/src/events/binders/click.js +20 -0
  10. package/src/events/binders/clipboard.js +16 -0
  11. package/src/events/{custom-event.js → binders/custom-event.js} +1 -1
  12. package/src/events/binders/drag.js +16 -0
  13. package/src/events/binders/focus.js +16 -0
  14. package/src/events/{hash.js → binders/hash.js} +2 -2
  15. package/src/events/binders/index.js +16 -0
  16. package/src/events/{key.js → binders/key.js} +4 -4
  17. package/src/events/binders/mouse.js +16 -0
  18. package/src/events/{pointer.js → binders/pointer.js} +4 -4
  19. package/src/events/{touch.js → binders/touch.js} +2 -2
  20. package/src/events/binders/wheel.js +16 -0
  21. package/src/events/custom-events/click-away.js +1 -0
  22. package/src/events/index.js +2 -16
  23. package/src/events/types/clipboard.d.ts +2 -2
  24. package/src/events/types/focus.d.ts +2 -2
  25. package/src/events/types/pointer.d.ts +2 -2
  26. package/src/lite.js +2 -0
  27. package/src/ui/__methods__/attrs.js +29 -45
  28. package/src/ui/__methods__/dom.js +65 -111
  29. package/src/ui/__methods__/events.js +17 -17
  30. package/src/ui/__methods__/index.js +10 -1
  31. package/src/ui/__methods__/indexing.js +14 -15
  32. package/src/ui/__methods__/style.js +28 -30
  33. package/src/ui/__methods__/utils/index.js +64 -0
  34. package/src/ui/constructors/UIElement-lite.js +10 -0
  35. package/src/ui/constructors/UIElement.js +87 -154
  36. package/src/ui/constructors/UIElementCore.js +236 -0
  37. package/src/ui/index.js +3 -3
  38. package/src/ui/suspense/index.js +1 -1
  39. package/src/events/click.js +0 -18
  40. package/src/events/clipboard.js +0 -16
  41. package/src/events/drag.js +0 -16
  42. package/src/events/focus.js +0 -16
  43. package/src/events/mouse.js +0 -16
  44. package/src/events/wheel.js +0 -16
  45. package/src/ui/__methods__/observer.js +0 -0
  46. /package/src/ui/constructors/{ZikoUIElementMethodesToBeMoved-dep.js → _m.js.txt} +0 -0
@@ -0,0 +1,236 @@
1
+ import {UINode} from "./UINode.js";
2
+ import {__init__global__, UIStore} from '../../__ziko__/index.js';
3
+ __init__global__()
4
+ class UIElementCore extends UINode{
5
+ constructor({
6
+ element,
7
+ name ='',
8
+ type="html",
9
+ render = __Ziko__.__Config__.default.render,
10
+ isInteractive = false,
11
+ }={}){
12
+ super()
13
+ this.init(element, name, type, render, isInteractive)
14
+ }
15
+ init(element, name, type, render, isInteractive = [true, false][Math.floor(2*Math.random())]){
16
+ this.target = globalThis.__Ziko__.__Config__.default.target||globalThis?.document?.body;
17
+ if(typeof element === "string") {
18
+ switch(type){
19
+ case "html" : element = globalThis?.document?.createElement(element); break;
20
+ case "svg" : element = globalThis?.document?.createElementNS("http://www.w3.org/2000/svg", element);
21
+ default : throw Error("Not supported")
22
+ }
23
+ }
24
+ else this.target = element?.parentElement;
25
+ Object.assign(this.cache, {
26
+ name,
27
+ isInteractive,
28
+ parent:null,
29
+ isBody:false,
30
+ isRoot:false,
31
+ isHidden: false,
32
+ isFrozzen:false,
33
+ legacyParent : null,
34
+ attributes: {},
35
+ filters: {},
36
+ temp:{}
37
+ })
38
+ this.events = {
39
+ ptr:null,
40
+ mouse:null,
41
+ wheel:null,
42
+ key:null,
43
+ drag:null,
44
+ drop:null,
45
+ click:null,
46
+ clipboard:null,
47
+ focus:null,
48
+ swipe:null,
49
+ custom:null,
50
+ }
51
+ this.observer={
52
+ resize:null,
53
+ intersection:null
54
+ }
55
+ 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
+ this.items = new UIStore();
65
+ globalThis.__Ziko__.__UI__[this.cache.name]?globalThis.__Ziko__.__UI__[this.cache.name]?.push(this):globalThis.__Ziko__.__UI__[this.cache.name]=[this];
66
+ element && render && this?.render?.()
67
+ if(
68
+ // globalThis.__Ziko__.__Config__.renderingMode !== "spa"
69
+ // &&
70
+ // !globalThis.__Ziko__.__Config__.isSSC
71
+ // &&
72
+ this.isInteractive()){
73
+ // this.setAttr("ziko-hydration-index", globalThis.__Ziko__.__HYDRATION__.index);
74
+ this.element.setAttribute('ziko-hydration-index', globalThis.__Ziko__.__HYDRATION__.index)
75
+ globalThis.__Ziko__.__HYDRATION__.register(() => this)
76
+ }
77
+ globalThis.__Ziko__.__UI__.push(this)
78
+ }
79
+ get element(){
80
+ return this.cache.element;
81
+ }
82
+ [Symbol.iterator]() {
83
+ return this.items[Symbol.iterator]();
84
+ }
85
+ maintain() {
86
+ for (let i = 0; i < this.items.length; i++) {
87
+ Object.defineProperty(this, i, {
88
+ value: this.items[i],
89
+ writable: true,
90
+ configurable: true,
91
+ enumerable: false
92
+ });
93
+ }
94
+ }
95
+ isInteractive(){
96
+ return this.cache.isInteractive;
97
+ }
98
+ isUIElement(){
99
+ return true;
100
+ }
101
+ // get st(){
102
+ // return this.cache.style;
103
+ // }
104
+ // get attr(){
105
+ // return this.cache.attributes;
106
+ // }
107
+ // get evt(){
108
+ // return this.events;
109
+ // }
110
+ // get html(){
111
+ // return this.element.innerHTML;
112
+ // }
113
+ // get text(){
114
+ // return this.element.textContent;
115
+ // }
116
+ // get isBody(){
117
+ // return this.element === globalThis?.document.body;
118
+ // }
119
+ // get parent(){
120
+ // return this.cache.parent;
121
+ // }
122
+ // get width(){
123
+ // return this.element.getBoundingClientRect().width;
124
+ // }
125
+ // get height(){
126
+ // return this.element.getBoundingClientRect().height;
127
+ // }
128
+ // get top(){
129
+ // return this.element.getBoundingClientRect().top;
130
+ // }
131
+ // get right(){
132
+ // return this.element.getBoundingClientRect().right;
133
+ // }
134
+ // get bottom(){
135
+ // return this.element.getBoundingClientRect().bottom;
136
+ // }
137
+ // get left(){
138
+ // return this.element.getBoundingClientRect().left;
139
+ // }
140
+ // clone(render=false) {
141
+ // // UI.__proto__=this.__proto__;
142
+ // // if(this.items.length){
143
+ // // const items = [...this.items].map(n=>n.clone());
144
+ // // UI.append(...items);
145
+ // // }
146
+ // // else UI.element=this.element.cloneNode(true);
147
+ // // return UI.render(render);
148
+ // }
149
+
150
+ // freeze(freeze){
151
+ // this.cache.isFrozzen=freeze;
152
+ // return this;
153
+ // }
154
+ // setTarget(tg) {
155
+ // if(this.isBody) return ;
156
+ // if (tg?.isUIElement) tg = tg.element;
157
+ // this.unrender();
158
+ // this.target = tg;
159
+ // this.render();
160
+ // return this;
161
+ // }
162
+ // describe(label){
163
+ // if(label)this.setAttr("aria-label",label)
164
+ // }
165
+ // get children() {
166
+ // return [...this.element.children];
167
+ // }
168
+ // get cloneElement() {
169
+ // return this.element.cloneNode(true);
170
+ // }
171
+ // setClasses(...value) {
172
+ // this.setAttr("class", value.join(" "));
173
+ // return this;
174
+ // }
175
+ // get classes(){
176
+ // const classes=this.element.getAttribute("class");
177
+ // return classes===null?[]:classes.split(" ");
178
+ // }
179
+ // addClass() {
180
+ // /*this.setAttr("class", value);
181
+ // return this;*/
182
+ // }
183
+ // setId(id) {
184
+ // this.setAttr("id", id);
185
+ // return this;
186
+ // }
187
+ // get id() {
188
+ // return this.element.getAttribute("id");
189
+ // }
190
+ // onSwipe(width_threshold, height_threshold,...callbacks){
191
+ // if(!this.events.swipe)this.events.swipe = useSwipeEvent(this, width_threshold, height_threshold);
192
+ // this.events.swipe.onSwipe(...callbacks);
193
+ // return this;
194
+ // }
195
+ // To Fix
196
+ // onKeysDown({keys=[],callback}={}){
197
+ // if(!this.events.key)this.events.key = useKeyEvent(this);
198
+ // this.events.key.handleSuccessifKeys({keys,callback});
199
+ // return this;
200
+ // }
201
+ // onSelect(...callbacks){
202
+ // if(!this.events.clipboard)this.events.clipboard = useClipboardEvent(this);
203
+ // this.events.clipboard.onSelect(...callbacks);
204
+ // return this;
205
+ // }
206
+ // on(event_name,...callbacks){
207
+ // if(!this.events.custom)this.events.custom = useCustomEvent(this);
208
+ // this.events.custom.on(event_name,...callbacks);
209
+ // return this;
210
+ // }
211
+ // emit(event_name,detail={}){
212
+ // if(!this.events.custom)this.events.custom = useCustomEvent(this);
213
+ // this.events.custom.emit(event_name,detail);
214
+ // return this;
215
+ // }
216
+ // watchAttr(callback){
217
+ // if(!this.observer.attr)this.observer.attr = watchAttr(this,callback);
218
+ // return this;
219
+ // }
220
+ // watchChildren(callback){
221
+ // if(!this.observer.children)this.observer.children = watchChildren(this,callback);
222
+ // return this;
223
+ // }
224
+ // watchSize(callback){
225
+ // if(!this.observer.resize)this.observer.resize = watchSize(this,callback);
226
+ // this.observer.resize.start();
227
+ // return this;
228
+ // }
229
+ // watchIntersection(callback,config){
230
+ // if(!this.observer.intersection)this.observer.intersection = watchIntersection(this,callback,config);
231
+ // this.observer.intersection.start();
232
+ // return this;
233
+ // }
234
+
235
+ }
236
+ export { UIElementCore }
package/src/ui/index.js CHANGED
@@ -3,8 +3,8 @@ export * from "./constructors/UINode.js"
3
3
  export * from './tags/index.js';
4
4
  export * from './text/index.js';
5
5
  export * from './flex/index.js';
6
- export * from './grid/index.js';
6
+ // export * from './grid/index.js';
7
7
  export * from './suspense/index.js';
8
- export * from './wrapper/index.js';
9
- export * from './graphics/index.js'
8
+ // export * from './wrapper/index.js';
9
+ // export * from './graphics/index.js'
10
10
  export * from './web-component/index.js'
@@ -1,4 +1,4 @@
1
- import {UIElement} from "../constructors/UIElement";
1
+ import {UIElement} from "../constructors/UIElement-lite.js";
2
2
  class ZikoUISuspense extends UIElement{
3
3
  constructor(fallback_ui, callback){
4
4
  super({element : "div", name : "suspense"})
@@ -1,18 +0,0 @@
1
- import { __ZikoEvent__ } from "./__ZikoEvent__.js";
2
- import { Events } from "./__Events__.js";
3
- class ZikoEventClick extends __ZikoEvent__{
4
- constructor(target, customizer){
5
- super(target, Events.Click, details_setter, customizer)
6
- }
7
- }
8
- function details_setter(){
9
- if(this.currentEvent==="click") this.dx = 0
10
- else this.dx = 1
11
- // console.log(this.currentEvent)
12
- }
13
- const bindClickEvent = (target, customizer) => new ZikoEventClick(target, customizer)
14
-
15
- export{
16
- bindClickEvent,
17
- ZikoEventClick
18
- }
@@ -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 bindClipboardEvent = (target, customizer) => new ZikoEventClipboard(target, customizer)
12
-
13
- export{
14
- bindClipboardEvent,
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 bindDragEvent = (target, customizer) => new ZikoEventDrag(target, customizer)
12
-
13
- export{
14
- bindDragEvent,
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 bindFocusEvent = (target, customizer) => new ZikoEventFocus(target, customizer)
12
-
13
- export{
14
- bindFocusEvent,
15
- ZikoEventFocus
16
- }
@@ -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 bindMouseEvent = (target, customizer) => new ZikoEventMouse(target, customizer)
12
-
13
- export{
14
- bindMouseEvent,
15
- ZikoEventMouse
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 bindWheelEvent = (target, customizer) => new ZikoEventWheel(target, customizer)
12
-
13
- export{
14
- bindWheelEvent,
15
- ZikoEventWheel
16
- }
File without changes