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
package/dist/ziko.cjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/*
|
|
3
3
|
Project: ziko.js
|
|
4
4
|
Author: Zakaria Elalaoui
|
|
5
|
-
Date :
|
|
5
|
+
Date : Mon Feb 16 2026 11:34:52 GMT+0000 (UTC)
|
|
6
6
|
Git-Repo : https://github.com/zakarialaoui10/ziko.js
|
|
7
7
|
Git-Wiki : https://github.com/zakarialaoui10/ziko.js/wiki
|
|
8
8
|
Released under MIT License
|
|
@@ -1857,7 +1857,7 @@ class UINode {
|
|
|
1857
1857
|
node
|
|
1858
1858
|
};
|
|
1859
1859
|
}
|
|
1860
|
-
|
|
1860
|
+
isUINode(){
|
|
1861
1861
|
return true
|
|
1862
1862
|
}
|
|
1863
1863
|
get node(){
|
|
@@ -2212,7 +2212,6 @@ class UIElementCore extends UINode{
|
|
|
2212
2212
|
isRoot:false,
|
|
2213
2213
|
isHidden: false,
|
|
2214
2214
|
isFrozzen:false,
|
|
2215
|
-
legacyParent : null,
|
|
2216
2215
|
attributes: {},
|
|
2217
2216
|
filters: {},
|
|
2218
2217
|
temp:{}
|
|
@@ -2235,14 +2234,6 @@ class UIElementCore extends UINode{
|
|
|
2235
2234
|
intersection:null
|
|
2236
2235
|
};
|
|
2237
2236
|
if(element) Object.assign(this.cache,{element});
|
|
2238
|
-
// useDefaultStyle && this.style({
|
|
2239
|
-
// position: "relative",
|
|
2240
|
-
// boxSizing:"border-box",
|
|
2241
|
-
// margin:0,
|
|
2242
|
-
// padding:0,
|
|
2243
|
-
// width : "auto",
|
|
2244
|
-
// height : "auto"
|
|
2245
|
-
// });
|
|
2246
2237
|
this.items = new UIStore();
|
|
2247
2238
|
globalThis.__Ziko__.__UI__[this.cache.name]?globalThis.__Ziko__.__UI__[this.cache.name]?.push(this):globalThis.__Ziko__.__UI__[this.cache.name]=[this];
|
|
2248
2239
|
element && render && this?.render?.();
|
|
@@ -2442,7 +2433,7 @@ async function __addItem__(adder, pusher, ...ele) {
|
|
|
2442
2433
|
}
|
|
2443
2434
|
}
|
|
2444
2435
|
if (typeof globalThis?.Node === "function" && ele[i] instanceof globalThis?.Node) ele[i] = new this.constructor(ele[i]);
|
|
2445
|
-
if (ele[i]?.
|
|
2436
|
+
if (ele[i]?.isUINode) {
|
|
2446
2437
|
ele[i].cache.parent = this;
|
|
2447
2438
|
this.element?.[adder](ele[i].element);
|
|
2448
2439
|
ele[i].target = this.element;
|
|
@@ -2946,7 +2937,6 @@ class ClickAwayEvent extends Event {
|
|
|
2946
2937
|
}
|
|
2947
2938
|
|
|
2948
2939
|
function register_click_away_event(element) {
|
|
2949
|
-
console.log(element);
|
|
2950
2940
|
function handler(e) {
|
|
2951
2941
|
if (!element.contains(e.target)) {
|
|
2952
2942
|
const clickAwayEvent = new ClickAwayEvent(e, element);
|
|
@@ -3346,19 +3336,56 @@ var StyleMethods = /*#__PURE__*/Object.freeze({
|
|
|
3346
3336
|
style: style$1
|
|
3347
3337
|
});
|
|
3348
3338
|
|
|
3349
|
-
|
|
3350
|
-
|
|
3351
|
-
|
|
3352
|
-
|
|
3353
|
-
|
|
3354
|
-
|
|
3355
|
-
|
|
3356
|
-
|
|
3339
|
+
class EventController {
|
|
3340
|
+
constructor(target, category){
|
|
3341
|
+
this.cache = {
|
|
3342
|
+
category,
|
|
3343
|
+
target,
|
|
3344
|
+
listeners : {},
|
|
3345
|
+
currentEvent : null
|
|
3346
|
+
};
|
|
3347
|
+
}
|
|
3348
|
+
get element(){
|
|
3349
|
+
return this.cache.target.element;
|
|
3350
|
+
}
|
|
3351
|
+
get currentEvent(){
|
|
3352
|
+
return this.cache.currentEvent;
|
|
3353
|
+
}
|
|
3354
|
+
addListener(event, callback){
|
|
3355
|
+
this.cache.listeners[event] = {
|
|
3356
|
+
paused : false,
|
|
3357
|
+
callback : ()=>{
|
|
3358
|
+
if(!this.cache.listeners[event].paused) {
|
|
3359
|
+
this.cache.currentEvent = event;
|
|
3360
|
+
callback.call(this, this);
|
|
3361
|
+
}
|
|
3362
|
+
},
|
|
3363
|
+
};
|
|
3364
|
+
this.element.addEventListener(event, this.cache.listeners[event].callback);
|
|
3365
|
+
return this;
|
|
3366
|
+
}
|
|
3367
|
+
removeListener(event){
|
|
3368
|
+
this.element.removeEventListener(event, this.cache.listeners[event].callback);
|
|
3369
|
+
return this;
|
|
3370
|
+
}
|
|
3371
|
+
pause(event){
|
|
3372
|
+
this.cache.listeners[event].paused = true;
|
|
3373
|
+
return this;
|
|
3374
|
+
}
|
|
3375
|
+
resume(event){
|
|
3376
|
+
this.cache.listeners[event].paused = false;
|
|
3377
|
+
return this;
|
|
3378
|
+
}
|
|
3379
|
+
}
|
|
3380
|
+
|
|
3357
3381
|
let UIElement$1 = class UIElement extends UIElementCore{
|
|
3358
3382
|
constructor({element, name ='', type='html', render = __Ziko__.__Config__.default.render}={}){
|
|
3359
3383
|
super();
|
|
3360
|
-
|
|
3361
|
-
|
|
3384
|
+
this.exp = {
|
|
3385
|
+
events : {
|
|
3386
|
+
|
|
3387
|
+
}
|
|
3388
|
+
};
|
|
3362
3389
|
register_to_class(
|
|
3363
3390
|
this,
|
|
3364
3391
|
LifecycleMethods,
|
|
@@ -3369,9 +3396,17 @@ let UIElement$1 = class UIElement extends UIElementCore{
|
|
|
3369
3396
|
EventsMethodes
|
|
3370
3397
|
);
|
|
3371
3398
|
|
|
3372
|
-
// console.log(EventsMethodes)
|
|
3373
3399
|
if(element)this.init(element, name, type, render);
|
|
3374
3400
|
}
|
|
3401
|
+
_on(event, callback, {details_setter, category = 'global'} = {}){
|
|
3402
|
+
if(category && !this.exp.events.hasOwnProperty(category)) this.exp.events[category] = new EventController(this, category);
|
|
3403
|
+
const EVENT = this.exp.events[category];
|
|
3404
|
+
EVENT.addListener(event, callback);
|
|
3405
|
+
if(details_setter) details_setter.call(EVENT);
|
|
3406
|
+
}
|
|
3407
|
+
_off(event, category = 'global'){
|
|
3408
|
+
this.exp.events[category].removeListener(event);
|
|
3409
|
+
}
|
|
3375
3410
|
get element(){
|
|
3376
3411
|
return this.cache.element;
|
|
3377
3412
|
}
|
|
@@ -3387,9 +3422,6 @@ let UIElement$1 = class UIElement extends UIElementCore{
|
|
|
3387
3422
|
if(directive)this.element.setAttribute('data-hydration-directive', directive);
|
|
3388
3423
|
return this;
|
|
3389
3424
|
}
|
|
3390
|
-
// isUIElement(){
|
|
3391
|
-
// return true;
|
|
3392
|
-
// }
|
|
3393
3425
|
get st(){
|
|
3394
3426
|
return this.cache.style;
|
|
3395
3427
|
}
|
|
@@ -3429,84 +3461,6 @@ let UIElement$1 = class UIElement extends UIElementCore{
|
|
|
3429
3461
|
get left(){
|
|
3430
3462
|
return this.element.getBoundingClientRect().left;
|
|
3431
3463
|
}
|
|
3432
|
-
// clone(render=false) {
|
|
3433
|
-
// // UI.__proto__=this.__proto__;
|
|
3434
|
-
// // if(this.items.length){
|
|
3435
|
-
// // const items = [...this.items].map(n=>n.clone());
|
|
3436
|
-
// // UI.append(...items);
|
|
3437
|
-
// // }
|
|
3438
|
-
// // else UI.element=this.element.cloneNode(true);
|
|
3439
|
-
// // return UI.mount(render);
|
|
3440
|
-
// }
|
|
3441
|
-
// [Symbol.iterator]() {
|
|
3442
|
-
// return this.items[Symbol.iterator]();
|
|
3443
|
-
// }
|
|
3444
|
-
// maintain() {
|
|
3445
|
-
// for (let i = 0; i < this.items.length; i++) {
|
|
3446
|
-
// Object.defineProperty(this, i, {
|
|
3447
|
-
// value: this.items[i],
|
|
3448
|
-
// writable: true,
|
|
3449
|
-
// configurable: true,
|
|
3450
|
-
// enumerable: false
|
|
3451
|
-
// });
|
|
3452
|
-
// }
|
|
3453
|
-
// }
|
|
3454
|
-
// freeze(freeze){
|
|
3455
|
-
// this.cache.isFrozzen=freeze;
|
|
3456
|
-
// return this;
|
|
3457
|
-
// }
|
|
3458
|
-
// setTarget(tg) {
|
|
3459
|
-
// if(this.isBody) return ;
|
|
3460
|
-
// if (tg?.isUIElement) tg = tg.element;
|
|
3461
|
-
// this.unmount();
|
|
3462
|
-
// this.target = tg;
|
|
3463
|
-
// this.mount();
|
|
3464
|
-
// return this;
|
|
3465
|
-
// }
|
|
3466
|
-
// describe(label){
|
|
3467
|
-
// if(label)this.setAttr("aria-label",label)
|
|
3468
|
-
// }
|
|
3469
|
-
// get children() {
|
|
3470
|
-
// return [...this.element.children];
|
|
3471
|
-
// }
|
|
3472
|
-
// get cloneElement() {
|
|
3473
|
-
// return this.element.cloneNode(true);
|
|
3474
|
-
// }
|
|
3475
|
-
// setClasses(...value) {
|
|
3476
|
-
// this.setAttr("class", value.join(" "));
|
|
3477
|
-
// return this;
|
|
3478
|
-
// }
|
|
3479
|
-
// get classes(){
|
|
3480
|
-
// const classes=this.element.getAttribute("class");
|
|
3481
|
-
// return classes===null?[]:classes.split(" ");
|
|
3482
|
-
// }
|
|
3483
|
-
// addClass() {
|
|
3484
|
-
// /*this.setAttr("class", value);
|
|
3485
|
-
// return this;*/
|
|
3486
|
-
// }
|
|
3487
|
-
// setId(id) {
|
|
3488
|
-
// this.setAttr("id", id);
|
|
3489
|
-
// return this;
|
|
3490
|
-
// }
|
|
3491
|
-
// get id() {
|
|
3492
|
-
// return this.element.getAttribute("id");
|
|
3493
|
-
// }
|
|
3494
|
-
// To Fix
|
|
3495
|
-
// onKeysDown({keys=[],callback}={}){
|
|
3496
|
-
// if(!this.events.key)this.events.key = useKeyEvent(this);
|
|
3497
|
-
// this.events.key.handleSuccessifKeys({keys,callback});
|
|
3498
|
-
// return this;
|
|
3499
|
-
// }
|
|
3500
|
-
// watchAttr(callback){
|
|
3501
|
-
// if(!this.observer.attr)this.observer.attr = watchAttr(this,callback);
|
|
3502
|
-
// return this;
|
|
3503
|
-
// }
|
|
3504
|
-
// watchChildren(callback){
|
|
3505
|
-
// if(!this.observer.children)this.observer.children = watchChildren(this,callback);
|
|
3506
|
-
// return this;
|
|
3507
|
-
// }
|
|
3508
|
-
// watchSize(callback)Remplaced By on onViewResize
|
|
3509
|
-
// watchIntersection(callback,config) Remplaced By onViewEnter and onViewExit
|
|
3510
3464
|
|
|
3511
3465
|
};
|
|
3512
3466
|
|
|
@@ -3975,7 +3929,7 @@ function svg2dom(svgString) {
|
|
|
3975
3929
|
|
|
3976
3930
|
const SVGWrapper = (content) => new UISVGWrapper(content);
|
|
3977
3931
|
|
|
3978
|
-
function define_wc(name,
|
|
3932
|
+
function define_wc(name, UI_Constructor, props = {}, { mode = 'open'} = {}) {
|
|
3979
3933
|
if (globalThis.customElements?.get(name)) {
|
|
3980
3934
|
console.warn(`Custom element "${name}" is already defined`);
|
|
3981
3935
|
return;
|
|
@@ -4007,7 +3961,7 @@ function define_wc(name, UIElement, props = {}, { mode = 'open'} = {}) {
|
|
|
4007
3961
|
|
|
4008
3962
|
render() {
|
|
4009
3963
|
this.shadowRoot.innerHTML = '';
|
|
4010
|
-
const item =
|
|
3964
|
+
const item = UI_Constructor(this.props);
|
|
4011
3965
|
if(item instanceof Array) item.forEach(n => n.mount(this.shadowRoot));
|
|
4012
3966
|
else item.mount(this.shadowRoot);
|
|
4013
3967
|
}
|
package/dist/ziko.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/*
|
|
3
3
|
Project: ziko.js
|
|
4
4
|
Author: Zakaria Elalaoui
|
|
5
|
-
Date :
|
|
5
|
+
Date : Mon Feb 16 2026 11:34:52 GMT+0000 (UTC)
|
|
6
6
|
Git-Repo : https://github.com/zakarialaoui10/ziko.js
|
|
7
7
|
Git-Wiki : https://github.com/zakarialaoui10/ziko.js/wiki
|
|
8
8
|
Released under MIT License
|
|
@@ -1861,7 +1861,7 @@
|
|
|
1861
1861
|
node
|
|
1862
1862
|
};
|
|
1863
1863
|
}
|
|
1864
|
-
|
|
1864
|
+
isUINode(){
|
|
1865
1865
|
return true
|
|
1866
1866
|
}
|
|
1867
1867
|
get node(){
|
|
@@ -2216,7 +2216,6 @@
|
|
|
2216
2216
|
isRoot:false,
|
|
2217
2217
|
isHidden: false,
|
|
2218
2218
|
isFrozzen:false,
|
|
2219
|
-
legacyParent : null,
|
|
2220
2219
|
attributes: {},
|
|
2221
2220
|
filters: {},
|
|
2222
2221
|
temp:{}
|
|
@@ -2239,14 +2238,6 @@
|
|
|
2239
2238
|
intersection:null
|
|
2240
2239
|
};
|
|
2241
2240
|
if(element) Object.assign(this.cache,{element});
|
|
2242
|
-
// useDefaultStyle && this.style({
|
|
2243
|
-
// position: "relative",
|
|
2244
|
-
// boxSizing:"border-box",
|
|
2245
|
-
// margin:0,
|
|
2246
|
-
// padding:0,
|
|
2247
|
-
// width : "auto",
|
|
2248
|
-
// height : "auto"
|
|
2249
|
-
// });
|
|
2250
2241
|
this.items = new UIStore();
|
|
2251
2242
|
globalThis.__Ziko__.__UI__[this.cache.name]?globalThis.__Ziko__.__UI__[this.cache.name]?.push(this):globalThis.__Ziko__.__UI__[this.cache.name]=[this];
|
|
2252
2243
|
element && render && this?.render?.();
|
|
@@ -2446,7 +2437,7 @@
|
|
|
2446
2437
|
}
|
|
2447
2438
|
}
|
|
2448
2439
|
if (typeof globalThis?.Node === "function" && ele[i] instanceof globalThis?.Node) ele[i] = new this.constructor(ele[i]);
|
|
2449
|
-
if (ele[i]?.
|
|
2440
|
+
if (ele[i]?.isUINode) {
|
|
2450
2441
|
ele[i].cache.parent = this;
|
|
2451
2442
|
this.element?.[adder](ele[i].element);
|
|
2452
2443
|
ele[i].target = this.element;
|
|
@@ -2950,7 +2941,6 @@
|
|
|
2950
2941
|
}
|
|
2951
2942
|
|
|
2952
2943
|
function register_click_away_event(element) {
|
|
2953
|
-
console.log(element);
|
|
2954
2944
|
function handler(e) {
|
|
2955
2945
|
if (!element.contains(e.target)) {
|
|
2956
2946
|
const clickAwayEvent = new ClickAwayEvent(e, element);
|
|
@@ -3350,19 +3340,56 @@
|
|
|
3350
3340
|
style: style$1
|
|
3351
3341
|
});
|
|
3352
3342
|
|
|
3353
|
-
|
|
3354
|
-
|
|
3355
|
-
|
|
3356
|
-
|
|
3357
|
-
|
|
3358
|
-
|
|
3359
|
-
|
|
3360
|
-
|
|
3343
|
+
class EventController {
|
|
3344
|
+
constructor(target, category){
|
|
3345
|
+
this.cache = {
|
|
3346
|
+
category,
|
|
3347
|
+
target,
|
|
3348
|
+
listeners : {},
|
|
3349
|
+
currentEvent : null
|
|
3350
|
+
};
|
|
3351
|
+
}
|
|
3352
|
+
get element(){
|
|
3353
|
+
return this.cache.target.element;
|
|
3354
|
+
}
|
|
3355
|
+
get currentEvent(){
|
|
3356
|
+
return this.cache.currentEvent;
|
|
3357
|
+
}
|
|
3358
|
+
addListener(event, callback){
|
|
3359
|
+
this.cache.listeners[event] = {
|
|
3360
|
+
paused : false,
|
|
3361
|
+
callback : ()=>{
|
|
3362
|
+
if(!this.cache.listeners[event].paused) {
|
|
3363
|
+
this.cache.currentEvent = event;
|
|
3364
|
+
callback.call(this, this);
|
|
3365
|
+
}
|
|
3366
|
+
},
|
|
3367
|
+
};
|
|
3368
|
+
this.element.addEventListener(event, this.cache.listeners[event].callback);
|
|
3369
|
+
return this;
|
|
3370
|
+
}
|
|
3371
|
+
removeListener(event){
|
|
3372
|
+
this.element.removeEventListener(event, this.cache.listeners[event].callback);
|
|
3373
|
+
return this;
|
|
3374
|
+
}
|
|
3375
|
+
pause(event){
|
|
3376
|
+
this.cache.listeners[event].paused = true;
|
|
3377
|
+
return this;
|
|
3378
|
+
}
|
|
3379
|
+
resume(event){
|
|
3380
|
+
this.cache.listeners[event].paused = false;
|
|
3381
|
+
return this;
|
|
3382
|
+
}
|
|
3383
|
+
}
|
|
3384
|
+
|
|
3361
3385
|
let UIElement$1 = class UIElement extends UIElementCore{
|
|
3362
3386
|
constructor({element, name ='', type='html', render = __Ziko__.__Config__.default.render}={}){
|
|
3363
3387
|
super();
|
|
3364
|
-
|
|
3365
|
-
|
|
3388
|
+
this.exp = {
|
|
3389
|
+
events : {
|
|
3390
|
+
|
|
3391
|
+
}
|
|
3392
|
+
};
|
|
3366
3393
|
register_to_class(
|
|
3367
3394
|
this,
|
|
3368
3395
|
LifecycleMethods,
|
|
@@ -3373,9 +3400,17 @@
|
|
|
3373
3400
|
EventsMethodes
|
|
3374
3401
|
);
|
|
3375
3402
|
|
|
3376
|
-
// console.log(EventsMethodes)
|
|
3377
3403
|
if(element)this.init(element, name, type, render);
|
|
3378
3404
|
}
|
|
3405
|
+
_on(event, callback, {details_setter, category = 'global'} = {}){
|
|
3406
|
+
if(category && !this.exp.events.hasOwnProperty(category)) this.exp.events[category] = new EventController(this, category);
|
|
3407
|
+
const EVENT = this.exp.events[category];
|
|
3408
|
+
EVENT.addListener(event, callback);
|
|
3409
|
+
if(details_setter) details_setter.call(EVENT);
|
|
3410
|
+
}
|
|
3411
|
+
_off(event, category = 'global'){
|
|
3412
|
+
this.exp.events[category].removeListener(event);
|
|
3413
|
+
}
|
|
3379
3414
|
get element(){
|
|
3380
3415
|
return this.cache.element;
|
|
3381
3416
|
}
|
|
@@ -3391,9 +3426,6 @@
|
|
|
3391
3426
|
if(directive)this.element.setAttribute('data-hydration-directive', directive);
|
|
3392
3427
|
return this;
|
|
3393
3428
|
}
|
|
3394
|
-
// isUIElement(){
|
|
3395
|
-
// return true;
|
|
3396
|
-
// }
|
|
3397
3429
|
get st(){
|
|
3398
3430
|
return this.cache.style;
|
|
3399
3431
|
}
|
|
@@ -3433,84 +3465,6 @@
|
|
|
3433
3465
|
get left(){
|
|
3434
3466
|
return this.element.getBoundingClientRect().left;
|
|
3435
3467
|
}
|
|
3436
|
-
// clone(render=false) {
|
|
3437
|
-
// // UI.__proto__=this.__proto__;
|
|
3438
|
-
// // if(this.items.length){
|
|
3439
|
-
// // const items = [...this.items].map(n=>n.clone());
|
|
3440
|
-
// // UI.append(...items);
|
|
3441
|
-
// // }
|
|
3442
|
-
// // else UI.element=this.element.cloneNode(true);
|
|
3443
|
-
// // return UI.mount(render);
|
|
3444
|
-
// }
|
|
3445
|
-
// [Symbol.iterator]() {
|
|
3446
|
-
// return this.items[Symbol.iterator]();
|
|
3447
|
-
// }
|
|
3448
|
-
// maintain() {
|
|
3449
|
-
// for (let i = 0; i < this.items.length; i++) {
|
|
3450
|
-
// Object.defineProperty(this, i, {
|
|
3451
|
-
// value: this.items[i],
|
|
3452
|
-
// writable: true,
|
|
3453
|
-
// configurable: true,
|
|
3454
|
-
// enumerable: false
|
|
3455
|
-
// });
|
|
3456
|
-
// }
|
|
3457
|
-
// }
|
|
3458
|
-
// freeze(freeze){
|
|
3459
|
-
// this.cache.isFrozzen=freeze;
|
|
3460
|
-
// return this;
|
|
3461
|
-
// }
|
|
3462
|
-
// setTarget(tg) {
|
|
3463
|
-
// if(this.isBody) return ;
|
|
3464
|
-
// if (tg?.isUIElement) tg = tg.element;
|
|
3465
|
-
// this.unmount();
|
|
3466
|
-
// this.target = tg;
|
|
3467
|
-
// this.mount();
|
|
3468
|
-
// return this;
|
|
3469
|
-
// }
|
|
3470
|
-
// describe(label){
|
|
3471
|
-
// if(label)this.setAttr("aria-label",label)
|
|
3472
|
-
// }
|
|
3473
|
-
// get children() {
|
|
3474
|
-
// return [...this.element.children];
|
|
3475
|
-
// }
|
|
3476
|
-
// get cloneElement() {
|
|
3477
|
-
// return this.element.cloneNode(true);
|
|
3478
|
-
// }
|
|
3479
|
-
// setClasses(...value) {
|
|
3480
|
-
// this.setAttr("class", value.join(" "));
|
|
3481
|
-
// return this;
|
|
3482
|
-
// }
|
|
3483
|
-
// get classes(){
|
|
3484
|
-
// const classes=this.element.getAttribute("class");
|
|
3485
|
-
// return classes===null?[]:classes.split(" ");
|
|
3486
|
-
// }
|
|
3487
|
-
// addClass() {
|
|
3488
|
-
// /*this.setAttr("class", value);
|
|
3489
|
-
// return this;*/
|
|
3490
|
-
// }
|
|
3491
|
-
// setId(id) {
|
|
3492
|
-
// this.setAttr("id", id);
|
|
3493
|
-
// return this;
|
|
3494
|
-
// }
|
|
3495
|
-
// get id() {
|
|
3496
|
-
// return this.element.getAttribute("id");
|
|
3497
|
-
// }
|
|
3498
|
-
// To Fix
|
|
3499
|
-
// onKeysDown({keys=[],callback}={}){
|
|
3500
|
-
// if(!this.events.key)this.events.key = useKeyEvent(this);
|
|
3501
|
-
// this.events.key.handleSuccessifKeys({keys,callback});
|
|
3502
|
-
// return this;
|
|
3503
|
-
// }
|
|
3504
|
-
// watchAttr(callback){
|
|
3505
|
-
// if(!this.observer.attr)this.observer.attr = watchAttr(this,callback);
|
|
3506
|
-
// return this;
|
|
3507
|
-
// }
|
|
3508
|
-
// watchChildren(callback){
|
|
3509
|
-
// if(!this.observer.children)this.observer.children = watchChildren(this,callback);
|
|
3510
|
-
// return this;
|
|
3511
|
-
// }
|
|
3512
|
-
// watchSize(callback)Remplaced By on onViewResize
|
|
3513
|
-
// watchIntersection(callback,config) Remplaced By onViewEnter and onViewExit
|
|
3514
3468
|
|
|
3515
3469
|
};
|
|
3516
3470
|
|
|
@@ -3979,7 +3933,7 @@
|
|
|
3979
3933
|
|
|
3980
3934
|
const SVGWrapper = (content) => new UISVGWrapper(content);
|
|
3981
3935
|
|
|
3982
|
-
function define_wc(name,
|
|
3936
|
+
function define_wc(name, UI_Constructor, props = {}, { mode = 'open'} = {}) {
|
|
3983
3937
|
if (globalThis.customElements?.get(name)) {
|
|
3984
3938
|
console.warn(`Custom element "${name}" is already defined`);
|
|
3985
3939
|
return;
|
|
@@ -4011,7 +3965,7 @@
|
|
|
4011
3965
|
|
|
4012
3966
|
render() {
|
|
4013
3967
|
this.shadowRoot.innerHTML = '';
|
|
4014
|
-
const item =
|
|
3968
|
+
const item = UI_Constructor(this.props);
|
|
4015
3969
|
if(item instanceof Array) item.forEach(n => n.mount(this.shadowRoot));
|
|
4016
3970
|
else item.mount(this.shadowRoot);
|
|
4017
3971
|
}
|