ziko 0.66.0 → 0.68.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.
Files changed (96) hide show
  1. package/dist/ziko.cjs +315 -789
  2. package/dist/ziko.js +315 -789
  3. package/dist/ziko.min.js +2 -2
  4. package/dist/ziko.mjs +315 -775
  5. package/package.json +2 -2
  6. package/src/events/controller/index.js +57 -0
  7. package/src/events/custom-events-registry/click-away.js +1 -1
  8. package/src/events/index.js +1 -3
  9. package/src/events-dep/custom-events-registry/click-away.js +38 -0
  10. package/src/events-dep/custom-events-registry/index.js +3 -0
  11. package/src/events-dep/custom-events-registry/swipe.js +76 -0
  12. package/src/events-dep/custom-events-registry/view.js +74 -0
  13. package/src/events-dep/details-setter/index.js +4 -0
  14. package/src/events-dep/details-setter/key.js +14 -0
  15. package/src/events-dep/details-setter/mouse.js +35 -0
  16. package/src/events-dep/details-setter/pointer.js +35 -0
  17. package/src/events-dep/details-setter/touch.js +37 -0
  18. package/src/events-dep/index.js +3 -0
  19. package/src/ui/constructors/UIElement.js +32 -4
  20. package/src/ui/{__methods__ → constructors/mixins}/attrs.js +19 -5
  21. package/src/ui/constructors/mixins/dom.js +108 -0
  22. package/src/ui/constructors/mixins/events/click.js +22 -0
  23. package/src/ui/constructors/mixins/events/index.js +3 -0
  24. package/src/ui/constructors/mixins/events/key.js +24 -0
  25. package/src/ui/constructors/mixins/events/ptr.js +44 -0
  26. package/src/ui/constructors/mixins/events/utils/index.js +15 -0
  27. package/src/ui/{__methods__ → constructors/mixins}/index.js +4 -2
  28. package/src/ui/{__methods__ → constructors/mixins}/style.js +1 -1
  29. package/README.dep.md +0 -137
  30. package/src/--reactivity-deprecated/events/Input.js +0 -62
  31. package/src/--reactivity-deprecated/events/ZikoEvent.js +0 -92
  32. package/src/--reactivity-deprecated/events/__note__ +0 -1
  33. package/src/--reactivity-deprecated/events/custom-event.js +0 -57
  34. package/src/--reactivity-deprecated/events/hash.js +0 -47
  35. package/src/--reactivity-deprecated/events/index.js +0 -12
  36. package/src/--reactivity-deprecated/events/media.js +0 -1
  37. package/src/--reactivity-deprecated/events/mouse.js +0 -233
  38. package/src/--reactivity-deprecated/events/swipe.js +0 -149
  39. package/src/--reactivity-deprecated/events/touch.js +0 -0
  40. package/src/--reactivity-deprecated/hooks/Contexte/index.js +0 -1
  41. package/src/--reactivity-deprecated/hooks/Contexte/useSuccesifKeys.js +0 -14
  42. package/src/--reactivity-deprecated/hooks/UI/index.js +0 -6
  43. package/src/--reactivity-deprecated/hooks/UI/useCssLink.js +0 -0
  44. package/src/--reactivity-deprecated/hooks/UI/useLinearGradient.js +0 -0
  45. package/src/--reactivity-deprecated/hooks/UI/useMediaQuery.js +0 -43
  46. package/src/--reactivity-deprecated/hooks/UI/useRadialGradient.js +0 -0
  47. package/src/--reactivity-deprecated/hooks/UI/useRoot.js +0 -39
  48. package/src/--reactivity-deprecated/hooks/UI/useStyle.js +0 -79
  49. package/src/--reactivity-deprecated/hooks/UI/useTheme.js +0 -62
  50. package/src/--reactivity-deprecated/hooks/head/_useCssText.js +0 -21
  51. package/src/--reactivity-deprecated/hooks/head/index.js +0 -5
  52. package/src/--reactivity-deprecated/hooks/head/useFavIcon.js +0 -38
  53. package/src/--reactivity-deprecated/hooks/head/useHead.js +0 -28
  54. package/src/--reactivity-deprecated/hooks/head/useMeta.js +0 -52
  55. package/src/--reactivity-deprecated/hooks/head/useTitle.js +0 -30
  56. package/src/--reactivity-deprecated/hooks/index.js +0 -8
  57. package/src/--reactivity-deprecated/hooks/todo.md +0 -26
  58. package/src/--reactivity-deprecated/idea +0 -1
  59. package/src/--reactivity-deprecated/index.js +0 -3
  60. package/src/--reactivity-deprecated/observer/attributes.js +0 -28
  61. package/src/--reactivity-deprecated/observer/children.js +0 -37
  62. package/src/--reactivity-deprecated/observer/index.js +0 -6
  63. package/src/--reactivity-deprecated/observer/intersection.js +0 -44
  64. package/src/--reactivity-deprecated/observer/mutation.js +0 -113
  65. package/src/--reactivity-deprecated/observer/resize.js +0 -47
  66. package/src/--reactivity-deprecated/observer/screen.js +0 -45
  67. package/src/--reactivity-deprecated/observer/screen.js.txt +0 -84
  68. package/src/--reactivity-deprecated/observer/screen.txt +0 -13
  69. package/src/--use-deprecated/index.js +0 -11
  70. package/src/--use-deprecated/use-channel.js.txt +0 -61
  71. package/src/--use-deprecated/use-event-emmiter.js.txt +0 -64
  72. package/src/--use-deprecated/use-favicon.js +0 -0
  73. package/src/--use-deprecated/use-link.js +0 -0
  74. package/src/--use-deprecated/use-meta.js +0 -0
  75. package/src/--use-deprecated/use-root.js +0 -77
  76. package/src/--use-deprecated/use-storage.js.txt +0 -73
  77. package/src/--use-deprecated/use-thread.js +0 -44
  78. package/src/--use-deprecated/use-title.js +0 -0
  79. package/src/ui/__methods__/dom.js +0 -56
  80. package/src/ui/__methods__/events.js +0 -57
  81. package/src/ui/__methods__/utils/index.js +0 -64
  82. package/src/ui/constructors/_m.js.txt +0 -96
  83. package/src/ui/constructors/style/index.js +0 -506
  84. /package/src/{events → events-dep}/binders/coordinates-based-event.js +0 -0
  85. /package/src/{events → events-dep}/binders/custom-event.js +0 -0
  86. /package/src/{events → events-dep}/binders/index.js +0 -0
  87. /package/src/{events → events-dep}/customizers/normalise-coordinates.js +0 -0
  88. /package/src/{events → events-dep}/events-map/index.js +0 -0
  89. /package/src/{events → events-dep}/types/__Shared__.d.ts +0 -0
  90. /package/src/{events → events-dep}/types/clipboard.d.ts +0 -0
  91. /package/src/{events → events-dep}/types/focus.d.ts +0 -0
  92. /package/src/{events → events-dep}/types/pointer.d.ts +0 -0
  93. /package/src/{events → events-dep}/utils.js +0 -0
  94. /package/src/{events → events-dep}/ziko-event.js +0 -0
  95. /package/src/ui/{__methods__ → constructors/mixins}/indexing.js +0 -0
  96. /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 : Sat Feb 14 2026 15:12:05 GMT+0100 (UTC+01:00)
5
+ Date : Fri Feb 20 2026 11:36:37 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
@@ -2394,89 +2394,14 @@ const isStateGetter = (arg) => {
2394
2394
  return typeof arg === 'function' && arg?.()?.isStateGetter?.();
2395
2395
  };
2396
2396
 
2397
- const camel2hyphencase$1 = (text = '') => text.replace(/[A-Z]/g, match => '-' + match.toLowerCase());
2397
+ const camel2hyphencase = (text = '') => text.replace(/[A-Z]/g, match => '-' + match.toLowerCase());
2398
2398
 
2399
- const is_camelcase$1 = (text = '') =>{
2399
+ const is_camelcase = (text = '') =>{
2400
2400
  if (text.length === 0) return false;
2401
2401
  const camelCasePattern = /^[a-z][a-zA-Z0-9]*$/;
2402
2402
  return camelCasePattern.test(text);
2403
2403
  };
2404
2404
 
2405
- class ZikoUIText extends UINode {
2406
- constructor(...value) {
2407
- super("span", "text", false, ...value);
2408
- this.element = globalThis?.document?.createTextNode(...value);
2409
- }
2410
- isText(){
2411
- return true
2412
- }
2413
- }
2414
- const text = (...str) => new ZikoUIText(...str);
2415
-
2416
- async function __addItem__(adder, pusher, ...ele) {
2417
- if (this.cache.isFrozzen) {
2418
- console.warn("You can't append new item to frozzen element");
2419
- return this;
2420
- }
2421
- for (let i = 0; i < ele.length; i++) {
2422
- if (["number", "string"].includes(typeof ele[i])) ele[i] = text(ele[i]);
2423
- // Fix Items Latter
2424
- if (ele[i] instanceof Function) {
2425
- const getter = ele[i]();
2426
- if (getter.isStateGetter) {
2427
- ele[i] = text(getter.value);
2428
- getter._subscribe(
2429
- (newValue) => (ele[i].element.textContent = newValue),
2430
- ele[i]
2431
- );
2432
- // this.element.appendChild(textNode);
2433
- }
2434
- }
2435
- if (typeof globalThis?.Node === "function" && ele[i] instanceof globalThis?.Node) ele[i] = new this.constructor(ele[i]);
2436
- if (ele[i]?.isUINode) {
2437
- ele[i].cache.parent = this;
2438
- this.element?.[adder](ele[i].element);
2439
- ele[i].target = this.element;
2440
- this.items[pusher](ele[i]);
2441
- }
2442
- else if(ele[i] instanceof Promise){
2443
- const UIEle = await ele[i];
2444
- UIEle.cache.parent = this;
2445
- this.element?.[adder](UIEle.element);
2446
- UIEle.target = this.element;
2447
- this.items[pusher](UIEle);
2448
- }
2449
- else if (ele[i] instanceof Object) {
2450
- if (ele[i]?.style) this.style(ele[i]?.style);
2451
- if (ele[i]?.attr) {
2452
- Object.entries(ele[i].attr).forEach((n) =>
2453
- this.setAttr("" + n[0], n[1]),
2454
- );
2455
- }
2456
- }
2457
- }
2458
- this.maintain();
2459
- return this;
2460
- }
2461
- function _set_attrs_(name, value){
2462
- if(globalThis.SVGAElement && this.element instanceof globalThis.SVGAElement) name = is_camelcase$1(name) ? camel2hyphencase$1(name) : name;
2463
- if(this?.attr[name] && this?.attr[name]===value) return;
2464
- if(isStateGetter(value)){
2465
- const getter = value();
2466
- getter._subscribe(
2467
- (newValue) => this.element?.setAttribute(name, newValue),
2468
- this
2469
- );
2470
- }
2471
- else this.element?.setAttribute(name, value);
2472
- Object.assign(this.cache.attributes, {[name]:value});
2473
- }
2474
-
2475
- // import {
2476
- // is_camelcase,
2477
- // camel2hyphencase
2478
- // } from '../../data/string/index.js'
2479
-
2480
2405
  function setAttr(name, value) {
2481
2406
  if(name instanceof Object){
2482
2407
  const [names,values]=[Object.keys(name),Object.values(name)];
@@ -2502,16 +2427,49 @@ function getAttr(name){
2502
2427
  function setContentEditable(bool = true) {
2503
2428
  this.setAttr("contenteditable", bool);
2504
2429
  return this;
2430
+ }
2431
+
2432
+
2433
+ function _set_attrs_(name, value){
2434
+ if(globalThis.SVGAElement && this.element instanceof globalThis.SVGAElement) name = is_camelcase(name) ? camel2hyphencase(name) : name;
2435
+ if(this?.attr[name] && this?.attr[name]===value) return;
2436
+ if(isStateGetter(value)){
2437
+ const getter = value();
2438
+ getter._subscribe(
2439
+ (newValue) => this.element?.setAttribute(name, newValue),
2440
+ this
2441
+ );
2442
+ }
2443
+ else this.element?.setAttribute(name, value);
2444
+ Object.assign(this.cache.attributes, {[name]:value});
2505
2445
  }
2506
2446
 
2507
2447
  var AttrsMethods = /*#__PURE__*/Object.freeze({
2508
2448
  __proto__: null,
2449
+ _set_attrs_: _set_attrs_,
2509
2450
  getAttr: getAttr,
2510
2451
  removeAttr: removeAttr,
2511
2452
  setAttr: setAttr,
2512
2453
  setContentEditable: setContentEditable
2513
2454
  });
2514
2455
 
2456
+ class ZikoUIText extends UINode {
2457
+ constructor(...value) {
2458
+ super("span", "text", false, ...value);
2459
+ this.element = globalThis?.document?.createTextNode(...value);
2460
+ }
2461
+ isText(){
2462
+ return true
2463
+ }
2464
+ }
2465
+ const text = (...str) => new ZikoUIText(...str);
2466
+
2467
+ // import { isStateGetter } from "../../../hooks/use-state.js";
2468
+ // import {
2469
+ // is_camelcase,
2470
+ // camel2hyphencase
2471
+ // } from '../../../data/string/index.js';
2472
+
2515
2473
  function append(...ele) {
2516
2474
  __addItem__.call(this, "append", "push", ...ele);
2517
2475
  return this;
@@ -2563,714 +2521,68 @@ function before(ui){
2563
2521
  if(ui?.isUIElement) ui=ui.element;
2564
2522
  this.element?.before(ui);
2565
2523
  return this;
2566
- }
2567
-
2568
- var DomMethods = /*#__PURE__*/Object.freeze({
2569
- __proto__: null,
2570
- after: after,
2571
- append: append,
2572
- before: before,
2573
- clear: clear,
2574
- insertAt: insertAt,
2575
- prepend: prepend,
2576
- remove: remove,
2577
- replaceElementWith: replaceElementWith
2578
- });
2579
-
2580
- const EventsMap = {
2581
- 'Click' : [
2582
- 'Click',
2583
- 'DblClick',
2584
- 'ClickAway'
2585
- ],
2586
- 'Ptr' : [
2587
- 'PtrMove',
2588
- 'PtrDown',
2589
- 'PtrUp',
2590
- 'PtrLeave',
2591
- 'PtrEnter',
2592
- 'PtrOut',
2593
- 'PtrCancel'
2594
- ],
2595
- 'Mouse' : [
2596
- 'MouseMove',
2597
- 'MouseDown',
2598
- 'MouseUp',
2599
- 'MouseEnter',
2600
- 'MouseLeave',
2601
- 'MouseOut'
2602
- ],
2603
- // 'Touch' : [],
2604
- 'Key' : [
2605
- 'KeyDown',
2606
- 'KeyPress',
2607
- 'KeyUp'
2608
- ],
2609
- 'Clipboard':[
2610
- 'Copy',
2611
- 'Cut',
2612
- 'Paste'
2613
- ],
2614
- 'Focus':[
2615
- 'focus',
2616
- 'blur'
2617
- ],
2618
- 'Drag':[
2619
- "Drag",
2620
- "DragStart",
2621
- "DragEnd",
2622
- "Drop"
2623
- ],
2624
- 'Wheel': [
2625
- 'Wheel'
2626
- ],
2627
- // 'Media':[
2628
-
2629
- // ],
2630
- // 'Hash':[
2631
- // "HashChange"
2632
- // ]
2633
-
2634
- 'View':[
2635
- 'EnterView',
2636
- 'ExitView',
2637
- 'ResizeView'
2638
- ],
2639
- 'Swipe':[
2640
- 'SwipeLeft',
2641
- 'SwipeUp',
2642
- 'SwipeRight',
2643
- 'SwipeDown'
2644
- ]
2645
- };
2646
-
2647
- function event_controller(e, event_name, details_setter, customizer) {
2648
- this.cache.currentEvent = event_name;
2649
- this.cache.event = e;
2650
-
2651
- details_setter?.call(this);
2652
- if (customizer?.hasOwnProperty('prototype')) customizer?.call(this);
2653
- else customizer?.call(null, this);
2654
-
2655
- if (this.cache.preventDefault[event_name]) e.preventDefault();
2656
- if (this.cache.stopPropagation[event_name]) e.stopPropagation();
2657
- if (this.cache.stopImmediatePropagation[event_name]) e.stopImmediatePropagation();
2658
-
2659
- // Call the single callback if it exists
2660
- this.cache.callbacks[event_name]?.(this);
2661
- }
2662
-
2663
- function toggle_event_listener(method, ...events) {
2664
- const keys = events.length === 0
2665
- ? Object.keys(this.cache.paused)
2666
- : events;
2667
- keys.forEach(key => {
2668
- if (!this.cache.paused.hasOwnProperty(key)) return;
2669
- this.targetElement?.[method](
2670
- key,
2671
- this.cache.__controllers__[key],
2672
- this.cache.options[key]
2673
- );
2674
- this.cache.paused[key] = method === 'removeEventListener';
2675
- });
2676
- return this;
2677
2524
  }
2678
- const getEvent=(event = "")=>{
2679
- if(event.startsWith("Ptr"))return `pointer${event.split("Ptr")[1].toLowerCase()}`;
2680
- return event.toLowerCase()
2681
- };
2682
-
2683
- class ZikoEvent {
2684
- constructor(signature, target = null, Events = [], details_setter, customizer){
2685
- this.target = target;
2686
- this.cache = {
2687
- signature,
2688
- currentEvent : null,
2689
- event: null,
2690
- options : {},
2691
- preventDefault : {},
2692
- stopPropagation : {},
2693
- stopImmediatePropagation : {},
2694
- paused : {},
2695
- callbacks : {},
2696
- __controllers__:{}
2697
- };
2698
- if (Events) this._register_events(Events, details_setter, customizer);
2699
- }
2700
- _register_events(Events, details_setter, customizer, REGISTER_METHODES = true) {
2701
- const events = Events?.map(n => getEvent(n));
2702
- events?.forEach((event, i) => {
2703
- this.cache.preventDefault[event] = false;
2704
- this.cache.options[event] = {};
2705
- this.cache.paused[event] = false;
2706
- this.cache.__controllers__[event] = (e) =>
2707
- event_controller.call(this, e, event, details_setter, customizer);
2708
- if (REGISTER_METHODES) {
2709
- this[`on${Events[i]}`] = (callback) =>
2710
- this.__onEvent(event, this.cache.options[event], {}, callback);
2711
- }
2712
- });
2713
- return this;
2714
- }
2715
- __onEvent(event, options, dispose, callback) {
2716
- if (!callback) return this;
2717
- this.cache.callbacks[event] = callback;
2718
- this.__handle(event, this.cache.__controllers__[event], options, dispose);
2719
- return this;
2720
- }
2721
- get targetElement(){
2722
- return this.target?.element;
2723
- }
2724
- get isParent(){
2725
- return this.target?.element === this.event?.srcElement;
2726
- }
2727
- get item(){
2728
- return this.target.find(n => n.element == this.event?.srcElement)?.[0];
2729
- }
2730
- get currentEvent(){
2731
- return this.cache.currentEvent;
2732
- }
2733
- get event(){
2734
- return this.cache.event;
2735
- }
2736
- get detail(){
2737
- return this.cache.event.detail
2738
- }
2739
- setTarget(UI){
2740
- this.target = UI;
2741
- return this;
2742
- }
2743
- __handle(event, handler, options){
2744
- this.targetElement?.addEventListener(event, handler, options);
2745
- return this;
2746
- }
2747
- #override(method, ...events) {
2748
- const keys = events.length === 0 ? Object.keys(this.cache[method]) : events;
2749
- keys.forEach(e => {
2750
- if (this.cache[method].hasOwnProperty(e)) this.cache[method][e] = true;
2751
- });
2752
- return this;
2753
- }
2754
- preventDefault(...events) {
2755
- return this.#override('preventDefault', ...events);
2756
- }
2757
- stopPropagation(...events) {
2758
- return this.#override('stopPropagation', ...events);
2759
- }
2760
- stopImmediatePropagation(...events) {
2761
- return this.#override('stopImmediatePropagation', ...events);
2762
- }
2763
- setEventOptions(event, options){
2764
- const evt = getEvent(event);
2765
- this.pause();
2766
- Object.assign(this.cache.options[evt], options);
2767
- this.resume();
2768
- return this;
2769
- }
2770
- pause(...events) {
2771
- return toggle_event_listener.call(this, 'removeEventListener', ...events)
2772
- }
2773
- resume(...events) {
2774
- return toggle_event_listener.call(this, 'addEventListener', ...events);
2775
- }
2776
- dispose(){
2777
- this.pause();
2778
- this.target.events[this.cache.signature] = null;
2779
- return this;
2780
- }
2781
- }
2782
-
2783
- function key_details_setter(){
2784
- switch(this.currentEvent){
2785
- case "keydown" : {
2786
- this.kd = this.event.key;
2787
- } break;
2788
- case "keypress" : {
2789
- this.kp = this.event.key;
2790
- } break;
2791
- case "keyup" : {
2792
- this.ku = this.event.key;
2793
- } break;
2794
-
2795
- }
2796
- }
2797
-
2798
- function ptr_details_setter() {
2799
- const rect = this.targetElement.getBoundingClientRect();
2800
- const e = this.event;
2801
- let x = (e.clientX - rect.left) | 0;
2802
- let y = (e.clientY - rect.top) | 0;
2803
-
2804
- if(this.cache.useNormalisedCoordinates){
2805
- const w = this.targetElement.clientWidth;
2806
- const h = this.targetElement.clientHeight;
2807
- x = +((x / w) * 2 - 1).toFixed(8);
2808
- y = +((y / h) * -2 + 1).toFixed(8);
2809
- }
2810
- switch (this.currentEvent) {
2811
-
2812
- case "pointerdown":
2813
- this.dx = x;
2814
- this.dy = y;
2815
- this.isDown = true;
2816
- break;
2817
-
2818
- case "pointermove":
2819
- this.mx = x;
2820
- this.my = y;
2821
- this.isMoving = true;
2822
- break;
2823
-
2824
- case "pointerup":
2825
- this.ux = x;
2826
- this.uy = y;
2827
- this.isDown = false;
2828
- this.isMoving = false;
2829
- break;
2830
- }
2831
- }
2832
-
2833
- function mouse_details_setter() {
2834
- const rect = this.targetElement.getBoundingClientRect();
2835
- const e = this.event;
2836
- let x = (e.clientX - rect.left) | 0;
2837
- let y = (e.clientY - rect.top) | 0;
2838
-
2839
- if(this.cache.useNormalisedCoordinates){
2840
- const w = this.targetElement.clientWidth;
2841
- const h = this.targetElement.clientHeight;
2842
- x = +((x / w) * 2 - 1).toFixed(8);
2843
- y = +((y / h) * -2 + 1).toFixed(8);
2844
- }
2845
-
2846
- switch (this.currentEvent) {
2847
2525
 
2848
- case "mousedown":
2849
- this.dx = x;
2850
- this.dy = y;
2851
- this.isDown = true;
2852
- break;
2853
-
2854
- case "mousemove":
2855
- this.mx = x;
2856
- this.my = y;
2857
- this.isMoving = true;
2858
- break;
2859
-
2860
- case "mouserup":
2861
- this.ux = x;
2862
- this.uy = y;
2863
- this.isDown = false;
2864
- this.isMoving = false;
2865
- break;
2866
- }
2867
- }
2868
-
2869
- function touch_details_setter() {
2870
- const e = this.event;
2871
- const touch = e.touches?.[0] || e.changedTouches?.[0];
2872
-
2873
- if (!touch) return; // should never happen but safe
2874
-
2875
- const rect = this.targetElement.getBoundingClientRect();
2876
- let x = touch.clientX - rect.left;
2877
- let y = touch.clientY - rect.top;
2878
-
2879
- if(this.cache.useNormalisedCoordinates){
2880
- const w = this.targetElement.clientWidth;
2881
- const h = this.targetElement.clientHeight;
2882
- x = +((x / w) * 2 - 1).toFixed(8);
2883
- y = +((y / h) * -2 + 1).toFixed(8);
2884
- }
2885
2526
 
2886
- switch (this.currentEvent) {
2887
- case "touchstart":
2888
- this.dx = x;
2889
- this.dy = y;
2890
- this.isDown = true;
2891
- break;
2892
2527
 
2893
- case "touchmove":
2894
- this.mx = x;
2895
- this.my = y;
2896
- this.isMoving = true;
2897
- break;
2898
2528
 
2899
- case "touchend":
2900
- this.ux = x;
2901
- this.uy = y;
2902
- this.isDown = false;
2903
- break;
2904
- }
2905
- }
2906
-
2907
- class CoordinatesBasedEvent extends ZikoEvent{
2908
- constructor(signature, target = null, Events = [], details_setter, customizer){
2909
- super(signature, target, Events, details_setter, customizer);
2910
- Object.assign(this.cache,{
2911
- useNormalisedCoordinates : false
2912
- });
2913
- this.isDown = false;
2914
- this.isMoving = false;
2915
- this.dx = 0;
2916
- this.dy = 0;
2917
- this.mx = 0;
2918
- this.my = 0;
2919
- this.ux = 0;
2920
- this.uy = 0;
2921
- }
2922
- get isDragging(){
2923
- return this.isDown && this.isMoving
2924
- }
2925
- useNormalisedCoordinates(enable = true){
2926
- this.cache.useNormalisedCoordinates = enable;
2927
- return this;
2928
- }
2929
- }
2930
-
2931
- class ClickAwayEvent extends Event {
2932
- constructor(originalEvent, targetElement) {
2933
- super("clickaway", { bubbles: true, cancelable: true });
2934
- this.originalEvent = originalEvent;
2935
- this.targetElement = targetElement;
2936
- }
2937
- }
2938
-
2939
- function register_click_away_event(element) {
2940
- console.log(element);
2941
- function handler(e) {
2942
- if (!element.contains(e.target)) {
2943
- const clickAwayEvent = new ClickAwayEvent(e, element);
2944
- element.dispatchEvent(clickAwayEvent);
2945
- }
2529
+ async function __addItem__(adder, pusher, ...ele) {
2530
+ if (this.cache.isFrozzen) {
2531
+ console.warn("You can't append new item to frozzen element");
2532
+ return this;
2946
2533
  }
2947
-
2948
- globalThis?.document?.addEventListener("click", handler);
2949
-
2950
- return () => globalThis?.document?.removeEventListener("click", handler);
2951
-
2952
- }
2953
-
2954
- // // Example usage
2955
- // const box = document.querySelector("#my-box");
2956
-
2957
- // const stop = listenClickAway(box);
2958
-
2959
- // box.addEventListener("clickaway", (e) => {
2960
- // console.log("Clicked outside box!", e);
2961
- // });
2962
-
2963
- // // later, you can stop listening:
2964
- // // stop();
2965
-
2966
- const debounce=(fn,delay=1000)=>{
2967
- let id;
2968
- return (...args) => id ? clearTimeout(id) : setTimeout(()=>fn(...args),delay);
2969
- };
2970
- const throttle=(fn,delay)=>{
2971
- let lastTime=0;
2972
- return (...args) => {
2973
- const now = new Date().getTime();
2974
- if(now-lastTime < delay) return;
2975
- lastTime = now;
2976
- fn(...args);
2977
- }
2978
- };
2979
-
2980
- class ViewEvent extends CustomEvent {
2981
- constructor(type, detail, { bubbles = true, cancelable = true } = {}) {
2982
- super(type, { detail, bubbles, cancelable });
2983
- }
2984
- }
2985
-
2986
- function register_view_event(
2987
- element,
2988
- {
2989
- intersection = true,
2990
- resize = true,
2991
- threshold = 0,
2992
- throttleResize = 100,
2993
- throttleEnterExit = 0
2994
- } = {}
2995
- ) {
2996
- let intersectionObserver, resizeObserver;
2997
- const resizeCallback = entries => {
2998
- for (let entry of entries) {
2999
- const { width, height } = entry.contentRect;
3000
-
3001
- element.dispatchEvent(
3002
- new ViewEvent("resizeview", {
3003
- width,
3004
- height,
3005
- entry
3006
- })
3007
- );
3008
- }
3009
- };
3010
-
3011
- const throttledResize = throttleResize > 0
3012
- ? throttle(resizeCallback, throttleResize)
3013
- : resizeCallback;
3014
-
3015
- const intersectionCallback = entries => {
3016
- for (let entry of entries) {
3017
- const type = entry.isIntersecting ? "enterview" : "exitview";
3018
- element.dispatchEvent(new ViewEvent(type, entry));
3019
- }
3020
- };
3021
-
3022
- const throttledIntersections = throttleEnterExit > 0
3023
- ? throttle(intersectionCallback, throttleEnterExit)
3024
- : intersectionCallback;
3025
-
3026
- if (intersection) {
3027
- intersectionObserver = new IntersectionObserver(throttledIntersections, { threshold });
3028
- intersectionObserver.observe(element);
2534
+ for (let i = 0; i < ele.length; i++) {
2535
+ if (["number", "string"].includes(typeof ele[i])) ele[i] = text(ele[i]);
2536
+ // Fix Items Latter
2537
+ if (ele[i] instanceof Function) {
2538
+ const getter = ele[i]();
2539
+ if (getter.isStateGetter) {
2540
+ ele[i] = text(getter.value);
2541
+ getter._subscribe(
2542
+ (newValue) => (ele[i].element.textContent = newValue),
2543
+ ele[i]
2544
+ );
2545
+ // this.element.appendChild(textNode);
2546
+ }
3029
2547
  }
3030
-
3031
- if (resize) {
3032
- resizeObserver = new ResizeObserver(throttledResize);
3033
- resizeObserver.observe(element);
2548
+ if (typeof globalThis?.Node === "function" && ele[i] instanceof globalThis?.Node) ele[i] = new this.constructor(ele[i]);
2549
+ if (ele[i]?.isUINode) {
2550
+ ele[i].cache.parent = this;
2551
+ this.element?.[adder](ele[i].element);
2552
+ ele[i].target = this.element;
2553
+ this.items[pusher](ele[i]);
2554
+ }
2555
+ else if(ele[i] instanceof Promise){
2556
+ const UIEle = await ele[i];
2557
+ UIEle.cache.parent = this;
2558
+ this.element?.[adder](UIEle.element);
2559
+ UIEle.target = this.element;
2560
+ this.items[pusher](UIEle);
3034
2561
  }
3035
-
3036
- // ---- UNREGISTER ----
3037
- return () => {
3038
- if (intersectionObserver) {
3039
- intersectionObserver.unobserve(element);
3040
- intersectionObserver.disconnect();
3041
- }
3042
- if (resizeObserver) {
3043
- resizeObserver.unobserve(element);
3044
- resizeObserver.disconnect();
3045
- }
3046
- };
3047
- }
3048
-
3049
- class SwipeEvent extends CustomEvent {
3050
- constructor(type, detail) {
3051
- super(type, {
3052
- detail,
3053
- bubbles: true,
3054
- cancelable: true
3055
- });
3056
- }
3057
- }
3058
-
3059
- function register_swipe_event(
3060
- element,
3061
- threshold = 50,
3062
- restraint = 100,
3063
- allowedTime = 500
3064
- ) {
3065
- let startX = 0,
3066
- startY = 0,
3067
- startTime = 0,
3068
- isPointerDown = false;
3069
-
3070
- function onPointerDown(e) {
3071
- startX = e.clientX;
3072
- startY = e.clientY;
3073
- startTime = performance.now();
3074
- isPointerDown = true;
3075
- }
3076
-
3077
- function onPointerUp(e) {
3078
- if (!isPointerDown) return;
3079
- isPointerDown = false;
3080
-
3081
- const distX = e.clientX - startX;
3082
- const distY = e.clientY - startY;
3083
- const elapsed = performance.now() - startTime;
3084
-
3085
- let direction = null;
3086
- let eventName = null;
3087
-
3088
- if (elapsed <= allowedTime) {
3089
- if (Math.abs(distX) >= threshold && Math.abs(distY) <= restraint) {
3090
- direction = distX < 0 ? "left" : "right";
3091
- eventName = "swipe" + direction;
3092
- }
3093
- else if (Math.abs(distY) >= threshold && Math.abs(distX) <= restraint) {
3094
- direction = distY < 0 ? "up" : "down";
3095
- eventName = "swipe" + direction;
2562
+ else if (ele[i] instanceof Object) {
2563
+ if (ele[i]?.style) this.style(ele[i]?.style);
2564
+ if (ele[i]?.attr) {
2565
+ Object.entries(ele[i].attr).forEach((n) =>
2566
+ this.setAttr("" + n[0], n[1]),
2567
+ );
3096
2568
  }
3097
2569
  }
3098
-
3099
- // Emit event
3100
- if (eventName) {
3101
- element.dispatchEvent(
3102
- new SwipeEvent(eventName, {
3103
- direction,
3104
- distX,
3105
- distY,
3106
- originalEvent: e
3107
- })
3108
- );
3109
- }
3110
2570
  }
3111
-
3112
- element.addEventListener("pointerdown", onPointerDown, { passive: true });
3113
- element.addEventListener("pointerup", onPointerUp, { passive: true });
3114
-
3115
- return () => {
3116
- element.removeEventListener("pointerdown", onPointerDown);
3117
- element.removeEventListener("pointerup", onPointerUp);
3118
- };
2571
+ this.maintain();
2572
+ return this;
3119
2573
  }
3120
2574
 
3121
- const bind_click_event = (target, customizer) => {
3122
- register_click_away_event(target.element);
3123
- return new ZikoEvent(
3124
- 'click',
3125
- target,
3126
- EventsMap.Click,
3127
- null,
3128
- customizer
3129
- );
3130
- };
3131
- const bind_clipboard_event = (target, customizer) => new ZikoEvent(
3132
- 'clipboard',
3133
- target,
3134
- EventsMap.Clipboard,
3135
- null,
3136
- customizer
3137
- );
3138
- const bind_drag_event = (target, customizer) => new ZikoEvent(
3139
- 'drag',
3140
- target,
3141
- EventsMap.Drag,
3142
- null,
3143
- customizer
3144
- );
3145
- const bind_focus_event = (target, customizer) => new ZikoEvent(
3146
- 'focus',
3147
- target,
3148
- EventsMap.Focus,
3149
- null,
3150
- customizer
3151
- );
3152
- const bind_key_event = (target, customizer) => new ZikoEvent(
3153
- 'key',
3154
- target,
3155
- EventsMap.Key,
3156
- key_details_setter,
3157
- customizer
3158
- );
3159
- const bind_mouse_event = (target, customizer) => new CoordinatesBasedEvent(
3160
- 'mouse',
3161
- target,
3162
- EventsMap.Mouse,
3163
- mouse_details_setter,
3164
- customizer
3165
- );
3166
- const bind_pointer_event = (target, customizer) => new CoordinatesBasedEvent(
3167
- 'ptr',
3168
- target,
3169
- EventsMap.Ptr,
3170
- ptr_details_setter,
3171
- customizer
3172
- );
3173
- const bind_touch_event = (target, customizer) => new CoordinatesBasedEvent(
3174
- 'touch',
3175
- target,
3176
- EventsMap.Touch,
3177
- touch_details_setter,
3178
- customizer
3179
- );
3180
- const bind_wheel_event = (target, customizer) => new ZikoEvent(
3181
- 'wheel',
3182
- target,
3183
- EventsMap.Wheel,
3184
- null,
3185
- customizer
3186
- );
3187
-
3188
- const bind_view_event = (target, customizer) => {
3189
- register_view_event(target.element);
3190
- return new ZikoEvent(
3191
- 'view',
3192
- target,
3193
- EventsMap.View,
3194
- null,
3195
- customizer
3196
- )
3197
- };
3198
-
3199
- const bind_swipe_event = (target, customizer) => {
3200
- register_swipe_event(target.element);
3201
- return new ZikoEvent(
3202
- 'swipe',
3203
- target,
3204
- EventsMap.Swipe,
3205
- null,
3206
- customizer
3207
- )
3208
- };
3209
-
3210
- class ZikoCustomEvent extends ZikoEvent{
3211
- constructor(target, events, customizer){
3212
- super('custom', target, events, details_setter, customizer);
3213
- }
3214
- _register_events(events){
3215
- super._register_events(events, null, null, false);
3216
- return this;
3217
- }
3218
- emit(event_name, detail = {}){
3219
- const event = new CustomEvent(event_name, {
3220
- detail,
3221
- bubbles: true,
3222
- cancelable: true
3223
- });
3224
- this.targetElement.dispatchEvent(event);
3225
- return this;
3226
- }
3227
- on(event_name, ...callbacks){
3228
- if(!this.cache.options.hasOwnProperty(event_name)) this._register_events([event_name]);
3229
- this.__onEvent(event_name, this.cache.options[event_name], {}, ...callbacks);
3230
- return this;
3231
- }
3232
- }
3233
- function details_setter(){
3234
-
3235
- }
3236
- const bind_custom_event = (target, events, customizer) => new ZikoCustomEvent(target, events, customizer);
3237
-
3238
- const binderMap = {
3239
- ptr: bind_pointer_event,
3240
- mouse : bind_mouse_event,
3241
- key: bind_key_event,
3242
- click : bind_click_event,
3243
- drag : bind_drag_event,
3244
- clipboard : bind_clipboard_event,
3245
- focus : bind_focus_event,
3246
- wheel : bind_wheel_event,
3247
- view : bind_view_event,
3248
- swipe : bind_swipe_event
3249
- };
3250
-
3251
- const EventsMethodes = {
3252
- on(event_name,...callbacks){
3253
- if(!this.events.custom)this.events.custom = bind_custom_event(this);
3254
- this.events.custom.on(event_name,...callbacks);
3255
- return this;
3256
- },
3257
- emit(event_name,detail={}){
3258
- if(!this.events.custom)this.events.custom = bind_custom_event(this);
3259
- this.events.custom.emit(event_name,detail);
3260
- return this;
3261
- }
3262
- };
3263
-
3264
- Object.entries(EventsMap).forEach(([name, eventList]) => {
3265
- const lname = name.toLowerCase();
3266
- eventList.forEach(event => {
3267
- const methodName = `on${event}`;
3268
- EventsMethodes[methodName] = function (callbacks) {
3269
- if (!this.events[lname]) this.events[lname] = binderMap[lname](this);
3270
- this.events[lname][methodName](callbacks);
3271
- return this;
3272
- };
3273
- });
2575
+ var DomMethods = /*#__PURE__*/Object.freeze({
2576
+ __proto__: null,
2577
+ __addItem__: __addItem__,
2578
+ after: after,
2579
+ append: append,
2580
+ before: before,
2581
+ clear: clear,
2582
+ insertAt: insertAt,
2583
+ prepend: prepend,
2584
+ remove: remove,
2585
+ replaceElementWith: replaceElementWith
3274
2586
  });
3275
2587
 
3276
2588
  function at(index) {
@@ -3337,9 +2649,207 @@ var StyleMethods = /*#__PURE__*/Object.freeze({
3337
2649
  style: style$1
3338
2650
  });
3339
2651
 
2652
+ class ClickAwayEvent extends Event {
2653
+ constructor(originalEvent, targetElement) {
2654
+ super("clickaway", { bubbles: true, cancelable: true });
2655
+ this.originalEvent = originalEvent;
2656
+ this.targetElement = targetElement;
2657
+ }
2658
+ }
2659
+
2660
+ function register_click_away_event(element) {
2661
+ // console.log(element)
2662
+ function handler(e) {
2663
+ if (!element.contains(e.target)) {
2664
+ const clickAwayEvent = new ClickAwayEvent(e, element);
2665
+ element.dispatchEvent(clickAwayEvent);
2666
+ }
2667
+ }
2668
+
2669
+ globalThis?.document?.addEventListener("click", handler);
2670
+
2671
+ return () => globalThis?.document?.removeEventListener("click", handler);
2672
+
2673
+ }
2674
+
2675
+ // // Example usage
2676
+ // const box = document.querySelector("#my-box");
2677
+
2678
+ // const stop = listenClickAway(box);
2679
+
2680
+ // box.addEventListener("clickaway", (e) => {
2681
+ // console.log("Clicked outside box!", e);
2682
+ // });
2683
+
2684
+ // // later, you can stop listening:
2685
+ // // stop();
2686
+
2687
+ const CATEGORY$2 = 'click';
2688
+ const ClickListeners = {
2689
+ onClick(callback){
2690
+ this._on(
2691
+ 'click', callback,
2692
+ { category : CATEGORY$2 });
2693
+ },
2694
+ onDblClick(callback){
2695
+ this._on(
2696
+ 'dblclick', callback,
2697
+ { category : CATEGORY$2});
2698
+ },
2699
+ onClickAway(callback){
2700
+ register_click_away_event(this.element);
2701
+ this._on(
2702
+ 'clickaway', callback,
2703
+ { category : CATEGORY$2});
2704
+ },
2705
+ };
2706
+
2707
+ const getCoordinates = (ctx, normalized = false) =>{
2708
+ const rect = ctx.element.getBoundingClientRect();
2709
+ const e = ctx.event;
2710
+ let x = (e?.clientX - rect.left) | 0;
2711
+ let y = (e?.clientY - rect.top) | 0;
2712
+
2713
+ if(normalized){
2714
+ const w = ctx.element.clientWidth;
2715
+ const h = ctx.element.clientHeight;
2716
+ x = +((x / w) * 2 - 1).toFixed(8);
2717
+ y = +((y / h) * -2 + 1).toFixed(8);
2718
+ }
2719
+
2720
+ return {x, y};
2721
+ };
2722
+
2723
+ const CATEGORY$1 = 'ptr';
2724
+ const PtrListeners = {
2725
+ onPtrDown(callback, useNormalizedCoordinates = false){
2726
+ this._on(
2727
+ 'pointerdown', callback,
2728
+ { category : CATEGORY$1, details_setter : (ctx)=> {
2729
+ const {x, y} = getCoordinates(ctx, useNormalizedCoordinates);
2730
+ ctx.dx = x;
2731
+ ctx.dy = y;
2732
+ ctx.isDown = true;
2733
+ ctx.isDragging = ctx.isMoving ?? false;
2734
+ }}
2735
+ );
2736
+ },
2737
+ onPtrMove(callback, useNormalizedCoordinates = false){
2738
+ this._on(
2739
+ 'pointermove', callback,
2740
+ { category : CATEGORY$1, details_setter : (ctx)=> {
2741
+ const {x, y} = getCoordinates(ctx, useNormalizedCoordinates);
2742
+ ctx.mx = x;
2743
+ ctx.my = y;
2744
+ ctx.isMoving = true;
2745
+ ctx.isDragging = ctx.isDown ?? false;
2746
+ }}
2747
+ );
2748
+ },
2749
+ onPtrUp(callback, useNormalizedCoordinates = false){
2750
+ this._on(
2751
+ 'pointerup', callback,
2752
+ { category : CATEGORY$1, details_setter : (ctx)=> {
2753
+ const {x, y} = getCoordinates(ctx, useNormalizedCoordinates);
2754
+ ctx.ux = x;
2755
+ ctx.uy = y;
2756
+ ctx.isDown = false;
2757
+ ctx.isMoving = false;
2758
+ ctx.isDragging = false;
2759
+ }}
2760
+ );
2761
+ }
2762
+ };
2763
+
2764
+ const CATEGORY = 'key';
2765
+ const KeyListeners = {
2766
+ onKeyDown(callback){
2767
+ this._on(
2768
+ 'keydown', callback,
2769
+ { category : CATEGORY, details_setter : ctx=> { ctx.kd = ctx.event.key; }
2770
+ });
2771
+ },
2772
+ onKeyPress(callback){
2773
+ this._on(
2774
+ 'keypress', callback,
2775
+ { category : CATEGORY, details_setter : ctx=> { ctx.kp = ctx.event.key; }
2776
+ });
2777
+ },
2778
+ onKeyUp(callback){
2779
+ this._on(
2780
+ 'keydown', callback,
2781
+ { category : CATEGORY, details_setter : ctx=> { ctx.ku = ctx.event.key; }
2782
+ });
2783
+ },
2784
+
2785
+ };
2786
+
2787
+ class EventController {
2788
+ constructor(target, category){
2789
+ this.cache = {
2790
+ category,
2791
+ target,
2792
+ listeners : {},
2793
+ currentEvent : null,
2794
+ event : null
2795
+ };
2796
+ }
2797
+ get event(){
2798
+ return this.cache.event
2799
+ }
2800
+ get element(){
2801
+ return this.cache.target.element;
2802
+ }
2803
+ get currentEvent(){
2804
+ return this.cache.currentEvent;
2805
+ }
2806
+ addListener(event_name, callback, {preventDefault = false, paused = false} = {}){
2807
+ this.cache.listeners[event_name] = {
2808
+ callback : e =>{
2809
+ this.cache.event = e;
2810
+ if(this.cache.listeners[event_name].preventDefault) e.preventDefault();
2811
+ if(!this.cache.listeners[event_name].paused) {
2812
+ this.cache.currentEvent = event_name;
2813
+ callback.call(this, this);
2814
+ }
2815
+ },
2816
+ preventDefault,
2817
+ paused,
2818
+ };
2819
+ this.element.addEventListener(event_name, this.cache.listeners[event_name].callback);
2820
+ return this;
2821
+ }
2822
+ removeListener(event_name){
2823
+ this.element.removeEventListener(event_name, this.cache.listeners[event_name].callback);
2824
+ return this;
2825
+ }
2826
+ pause(event_name){
2827
+ this.cache.listeners[event_name].paused = true;
2828
+ return this;
2829
+ }
2830
+ resume(event_name){
2831
+ this.cache.listeners[event_name].paused = false;
2832
+ return this;
2833
+ }
2834
+ preventDefault(event_name){
2835
+ // if(!event_name)
2836
+ this.cache.listeners[event_name].preventDefault = true;
2837
+ return this;
2838
+ }
2839
+ useDefault(event_name){
2840
+ this.cache.listeners[event_name].preventDefault = false;
2841
+ return this;
2842
+ }
2843
+ }
2844
+
3340
2845
  let UIElement$1 = class UIElement extends UIElementCore{
3341
2846
  constructor({element, name ='', type='html', render = __Ziko__.__Config__.default.render}={}){
3342
2847
  super();
2848
+ this.exp = {
2849
+ events : {
2850
+
2851
+ }
2852
+ };
3343
2853
  register_to_class(
3344
2854
  this,
3345
2855
  LifecycleMethods,
@@ -3347,11 +2857,27 @@ let UIElement$1 = class UIElement extends UIElementCore{
3347
2857
  DomMethods,
3348
2858
  StyleMethods,
3349
2859
  IndexingMethods,
3350
- EventsMethodes
2860
+ PtrListeners,
2861
+ ClickListeners,
2862
+ KeyListeners
3351
2863
  );
3352
2864
 
3353
2865
  if(element)this.init(element, name, type, render);
3354
2866
  }
2867
+ _on(event, callback, {details_setter, category = 'global', preventDefault = false} = {}){
2868
+ if(category && !this.exp.events.hasOwnProperty(category)) this.exp.events[category] = new EventController(this, category);
2869
+ const EVENT = this.exp.events[category];
2870
+ EVENT.addListener(event, (e)=>{
2871
+ if(details_setter) details_setter(EVENT);
2872
+ callback(e);
2873
+ },{
2874
+ preventDefault
2875
+ });
2876
+
2877
+ }
2878
+ _off(event, category = 'global'){
2879
+ this.exp.events[category].removeListener(event);
2880
+ }
3355
2881
  get element(){
3356
2882
  return this.cache.element;
3357
2883
  }
@@ -4335,6 +3861,20 @@ const Scheduler = (tasks, { repeat = null} = {}) => new TimeScheduler(tasks, { r
4335
3861
 
4336
3862
  const step_fps = (step_or_fps) => 1000 / step_or_fps;
4337
3863
 
3864
+ const debounce=(fn,delay=1000)=>{
3865
+ let id;
3866
+ return (...args) => id ? clearTimeout(id) : setTimeout(()=>fn(...args),delay);
3867
+ };
3868
+ const throttle=(fn,delay)=>{
3869
+ let lastTime=0;
3870
+ return (...args) => {
3871
+ const now = new Date().getTime();
3872
+ if(now-lastTime < delay) return;
3873
+ lastTime = now;
3874
+ fn(...args);
3875
+ }
3876
+ };
3877
+
4338
3878
  const sleep= ms => new Promise(res => setTimeout(res, ms));
4339
3879
  function timeout(ms, fn) {
4340
3880
  let id;
@@ -5357,6 +4897,7 @@ exports.CloneElement = CloneElement;
5357
4897
  exports.Complex = Complex;
5358
4898
  exports.E = E;
5359
4899
  exports.EPSILON = EPSILON;
4900
+ exports.EventController = EventController;
5360
4901
  exports.FileBasedRouting = FileBasedRouting;
5361
4902
  exports.Flex = Flex;
5362
4903
  exports.HTMLWrapper = HTMLWrapper;
@@ -5384,7 +4925,6 @@ exports.UseThread = UseThread;
5384
4925
  exports.Utils = Utils;
5385
4926
  exports.View = View;
5386
4927
  exports.ZikoApp = ZikoApp;
5387
- exports.ZikoEvent = ZikoEvent;
5388
4928
  exports.ZikoSPA = ZikoSPA;
5389
4929
  exports.ZikoUISuspense = ZikoUISuspense;
5390
4930
  exports.ZikoUIText = ZikoUIText;
@@ -5409,17 +4949,6 @@ exports.atan = atan;
5409
4949
  exports.atan2 = atan2;
5410
4950
  exports.atanh = atanh;
5411
4951
  exports.back = back;
5412
- exports.bind_click_event = bind_click_event;
5413
- exports.bind_clipboard_event = bind_clipboard_event;
5414
- exports.bind_drag_event = bind_drag_event;
5415
- exports.bind_focus_event = bind_focus_event;
5416
- exports.bind_key_event = bind_key_event;
5417
- exports.bind_mouse_event = bind_mouse_event;
5418
- exports.bind_pointer_event = bind_pointer_event;
5419
- exports.bind_swipe_event = bind_swipe_event;
5420
- exports.bind_touch_event = bind_touch_event;
5421
- exports.bind_view_event = bind_view_event;
5422
- exports.bind_wheel_event = bind_wheel_event;
5423
4952
  exports.binomial = binomial;
5424
4953
  exports.call_with_optional_props = call_with_optional_props;
5425
4954
  exports.cartesianProduct = cartesianProduct;
@@ -5445,12 +4974,10 @@ exports.deg2rad = deg2rad;
5445
4974
  exports.discret = discret;
5446
4975
  exports.div = div;
5447
4976
  exports.elastic = elastic;
5448
- exports.event_controller = event_controller;
5449
4977
  exports.exp = exp$1;
5450
4978
  exports.floor = floor;
5451
4979
  exports.fract = fract;
5452
4980
  exports.geomspace = geomspace;
5453
- exports.getEvent = getEvent;
5454
4981
  exports.hypot = hypot;
5455
4982
  exports.inRange = inRange;
5456
4983
  exports.in_back = in_back;
@@ -5555,7 +5082,6 @@ exports.tick = tick;
5555
5082
  exports.timeTaken = timeTaken;
5556
5083
  exports.time_memory_Taken = time_memory_Taken;
5557
5084
  exports.timeout = timeout;
5558
- exports.toggle_event_listener = toggle_event_listener;
5559
5085
  exports.trunc = trunc;
5560
5086
  exports.useDerived = useDerived;
5561
5087
  exports.useEventEmitter = useEventEmitter;