ziko 0.49.7 → 0.50.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/dist/ziko.cjs +123 -156
  2. package/dist/ziko.js +519 -848
  3. package/dist/ziko.min.js +2 -2
  4. package/dist/ziko.mjs +514 -833
  5. package/package.json +4 -1
  6. package/src/{reactivity → --reactivity-deprecated}/hooks/index.js +3 -3
  7. package/src/{reactivity → --reactivity-deprecated}/index.js +1 -1
  8. package/src/__ziko__/__state__.js +1 -1
  9. package/src/app/ziko-app.js +6 -6
  10. package/src/events/binders/custom-event.js +11 -7
  11. package/src/events/binders/index.js +69 -13
  12. package/src/events/details-setter/index.js +2 -0
  13. package/src/events/details-setter/key.js +14 -0
  14. package/src/events/{binders → details-setter}/pointer.js +1 -15
  15. package/src/events/{__Events__.js → events-map/index.js} +7 -3
  16. package/src/events/index.js +1 -1
  17. package/src/events/types/__Shared__.d.ts +3 -3
  18. package/src/events/types/clipboard.d.ts +2 -2
  19. package/src/events/types/focus.d.ts +2 -2
  20. package/src/events/types/pointer.d.ts +2 -2
  21. package/src/events/{__ZikoEvent__.js → ziko-event.js} +17 -16
  22. package/src/hooks/index.js +1 -1
  23. package/src/hooks/{use-channel.js → use-ipc.js} +3 -3
  24. package/src/hooks/use-storage.js +2 -2
  25. package/src/index.js +1 -1
  26. package/src/ui/__methods__/events.js +19 -5
  27. package/src/ui/constructors/UIElement.js +14 -12
  28. package/src/ui/constructors/UIElementCore.js +3 -136
  29. package/types/hooks/index.d.ts +1 -1
  30. package/types/hooks/{use-channel.d.ts → use-ipc.d.ts} +2 -2
  31. package/src/events/binders/click.js +0 -20
  32. package/src/events/binders/clipboard.js +0 -16
  33. package/src/events/binders/drag.js +0 -16
  34. package/src/events/binders/focus.js +0 -16
  35. package/src/events/binders/hash.js +0 -16
  36. package/src/events/binders/key.js +0 -27
  37. package/src/events/binders/mouse.js +0 -16
  38. package/src/events/binders/touch.js +0 -16
  39. package/src/events/binders/wheel.js +0 -16
  40. package/src/events/index.d.ts.txt +0 -3
  41. /package/src/{reactivity → --reactivity-deprecated}/events/Input.js +0 -0
  42. /package/src/{reactivity → --reactivity-deprecated}/events/ZikoEvent.js +0 -0
  43. /package/src/{reactivity → --reactivity-deprecated}/events/__note__ +0 -0
  44. /package/src/{reactivity → --reactivity-deprecated}/events/custom-event.js +0 -0
  45. /package/src/{reactivity → --reactivity-deprecated}/events/hash.js +0 -0
  46. /package/src/{reactivity → --reactivity-deprecated}/events/index.js +0 -0
  47. /package/src/{reactivity → --reactivity-deprecated}/events/media.js +0 -0
  48. /package/src/{reactivity → --reactivity-deprecated}/events/mouse.js +0 -0
  49. /package/src/{reactivity → --reactivity-deprecated}/events/swipe.js +0 -0
  50. /package/src/{reactivity → --reactivity-deprecated}/events/touch.js +0 -0
  51. /package/src/{reactivity → --reactivity-deprecated}/hooks/Contexte/index.js +0 -0
  52. /package/src/{reactivity → --reactivity-deprecated}/hooks/Contexte/useSuccesifKeys.js +0 -0
  53. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/index.js +0 -0
  54. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/useCssLink.js +0 -0
  55. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/useLinearGradient.js +0 -0
  56. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/useMediaQuery.js +0 -0
  57. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/useRadialGradient.js +0 -0
  58. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/useRoot.js +0 -0
  59. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/useStyle.js +0 -0
  60. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/useTheme.js +0 -0
  61. /package/src/{reactivity → --reactivity-deprecated}/hooks/head/_useCssText.js +0 -0
  62. /package/src/{reactivity → --reactivity-deprecated}/hooks/head/index.js +0 -0
  63. /package/src/{reactivity → --reactivity-deprecated}/hooks/head/useFavIcon.js +0 -0
  64. /package/src/{reactivity → --reactivity-deprecated}/hooks/head/useHead.js +0 -0
  65. /package/src/{reactivity → --reactivity-deprecated}/hooks/head/useMeta.js +0 -0
  66. /package/src/{reactivity → --reactivity-deprecated}/hooks/head/useTitle.js +0 -0
  67. /package/src/{reactivity → --reactivity-deprecated}/hooks/todo.md +0 -0
  68. /package/src/{reactivity → --reactivity-deprecated}/idea +0 -0
  69. /package/src/{reactivity → --reactivity-deprecated}/observer/attributes.js +0 -0
  70. /package/src/{reactivity → --reactivity-deprecated}/observer/children.js +0 -0
  71. /package/src/{reactivity → --reactivity-deprecated}/observer/index.js +0 -0
  72. /package/src/{reactivity → --reactivity-deprecated}/observer/intersection.js +0 -0
  73. /package/src/{reactivity → --reactivity-deprecated}/observer/mutation.js +0 -0
  74. /package/src/{reactivity → --reactivity-deprecated}/observer/resize.js +0 -0
  75. /package/src/{reactivity → --reactivity-deprecated}/observer/screen.js +0 -0
  76. /package/src/{reactivity → --reactivity-deprecated}/observer/screen.js.txt +0 -0
  77. /package/src/{reactivity → --reactivity-deprecated}/observer/screen.txt +0 -0
  78. /package/src/{use → --use-deprecated}/index.js +0 -0
  79. /package/src/{use → --use-deprecated}/use-channel.js.txt +0 -0
  80. /package/src/{use → --use-deprecated}/use-event-emmiter.js.txt +0 -0
  81. /package/src/{use → --use-deprecated}/use-favicon.js +0 -0
  82. /package/src/{use → --use-deprecated}/use-link.js +0 -0
  83. /package/src/{use → --use-deprecated}/use-meta.js +0 -0
  84. /package/src/{use → --use-deprecated}/use-root.js +0 -0
  85. /package/src/{use → --use-deprecated}/use-storage.js.txt +0 -0
  86. /package/src/{use → --use-deprecated}/use-thread.js +0 -0
  87. /package/src/{use → --use-deprecated}/use-title.js +0 -0
  88. /package/src/events/{custom-events → custom-events-registry}/click-away.js +0 -0
  89. /package/src/events/{custom-events → custom-events-registry}/index.js +0 -0
  90. /package/src/events/{custom-events → custom-events-registry}/swipe.js +0 -0
  91. /package/src/events/{custom-events → custom-events-registry}/view.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 Nov 29 2025 19:48:11 GMT+0100 (UTC+01:00)
5
+ Date : Tue Dec 02 2025 12:55:22 GMT+0100 (UTC+01:00)
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
@@ -1179,7 +1179,7 @@ const __CACHE__ = {
1179
1179
  }
1180
1180
  };
1181
1181
 
1182
- class UseChannel {
1182
+ class UseIPC {
1183
1183
  #channel;
1184
1184
  #eventData;
1185
1185
  #handlers;
@@ -1260,14 +1260,14 @@ class UseChannel {
1260
1260
  }
1261
1261
  }
1262
1262
 
1263
- const useChannel = (name) => new UseChannel(name);
1263
+ const useIPC = (name) => new UseIPC(name);
1264
1264
 
1265
1265
  class UseStorage {
1266
1266
  constructor(storage, globalKey, initialValue, use_channel = true) {
1267
1267
  this.cache = {
1268
1268
  storage,
1269
1269
  globalKey,
1270
- channel: use_channel ? useChannel(`Ziko:useStorage-${globalKey}`) : null,
1270
+ channel: use_channel ? useIPC(`Ziko:useStorage-${globalKey}`) : null,
1271
1271
  oldItemKeys: new Set()
1272
1272
  };
1273
1273
 
@@ -1889,7 +1889,7 @@ var DomMethods = /*#__PURE__*/Object.freeze({
1889
1889
  unrenderAfter: unrenderAfter
1890
1890
  });
1891
1891
 
1892
- const Events = {
1892
+ const EventsMap = {
1893
1893
  'Click' : [
1894
1894
  'Click',
1895
1895
  'DblClick',
@@ -1949,21 +1949,7 @@ const getEvent=(event = "")=>{
1949
1949
  return event.toLowerCase()
1950
1950
  };
1951
1951
 
1952
- function event_controller(e, event_name, details_setter, customizer, push_object){
1953
- this.cache.currentEvent = event_name;
1954
- this.cache.event = e;
1955
- details_setter?.call(this);
1956
- customizer?.hasOwnProperty("prototype") ? customizer?.call(this) : customizer?.call(null, this);
1957
- // if(customizer?.hasOwnProperty("prototype")) customizer?.call(this)
1958
- // else customizer?.call(null, this)
1959
- if(this.cache.preventDefault[event_name]) e.preventDefault();
1960
- if(this.cache.stopPropagation[event_name]) e.stopPropagation();
1961
- if(this.cache.stopImmediatePropagation[event_name]) e.stopImmediatePropagation();
1962
-
1963
- if(this.cache.stream.enabled[event_name]&&push_object)this.cache.stream.history[event_name].push(push_object);
1964
- this.cache.callbacks[event_name]?.map(n=>n(this));
1965
- }
1966
- class __ZikoEvent__ {
1952
+ let ZikoEvent$1 = class ZikoEvent {
1967
1953
  constructor(target = null, Events = [], details_setter, customizer){
1968
1954
  this.target = target;
1969
1955
  this.cache = {
@@ -2107,92 +2093,24 @@ class __ZikoEvent__ {
2107
2093
 
2108
2094
  return this;
2109
2095
  }
2110
- }
2111
-
2112
- // import { register_click_away_event } from "./custom-events/click-away.js";
2113
- class ZikoEventClick extends __ZikoEvent__{
2114
- constructor(target, customizer){
2115
- super(target, Events.Click, details_setter$a, customizer);
2116
- // register_click_away_event(target.element)
2117
- }
2118
- }
2119
- function details_setter$a(){
2120
- if(this.currentEvent==="click") this.dx = 0;
2121
- else this.dx = 1;
2122
- // console.log(this.currentEvent)
2123
- }
2124
- const bind_click_event = (target, customizer) => new ZikoEventClick(target, customizer);
2125
-
2126
- class ZikoEventClipboard extends __ZikoEvent__{
2127
- constructor(target, customizer){
2128
- super(target, Events.Clipboard, details_setter$9, customizer);
2129
- }
2130
- }
2131
- function details_setter$9(){
2132
-
2133
- }
2134
- const bind_clipboard_event = (target, customizer) => new ZikoEventClipboard(target, customizer);
2135
-
2136
- class ZikoEventCustom extends __ZikoEvent__{
2137
- constructor(target, events, customizer){
2138
- super(target, events, details_setter$8, customizer);
2139
- }
2140
- _register_events(events){
2141
- super._register_events(events, null, null, false);
2142
- return this;
2143
- }
2144
- emit(event_name, details = {}){
2145
- const event=new Event(event_name);
2146
- this.targetElement.dispatchEvent(event);
2147
- return this;
2148
- }
2149
- on(event_name, ...callbacks){
2150
- if(!this.cache.options.hasOwnProperty(event_name)) this._register_events([event_name]);
2151
- this.__onEvent(event_name, this.cache.options[event_name], {}, ...callbacks);
2152
- return this;
2153
- }
2154
- }
2155
- function details_setter$8(){
2156
-
2157
- }
2158
- const bindCustomEvent = (target, events, customizer) => new ZikoEventCustom(target, events, customizer);
2159
-
2160
- class ZikoEventDrag extends __ZikoEvent__{
2161
- constructor(target, customizer){
2162
- super(target, Events.Drag, details_setter$7, customizer);
2163
- }
2164
- }
2165
- function details_setter$7(){
2166
-
2167
- }
2168
- const bind_drag_event = (target, customizer) => new ZikoEventDrag(target, customizer);
2169
-
2170
- class ZikoEventFocus extends __ZikoEvent__{
2171
- constructor(target, customizer){
2172
- super(target, Events.Focus, details_setter$6, customizer);
2173
- }
2174
- }
2175
- function details_setter$6(){
2176
-
2177
- }
2178
- const bind_focus_event = (target, customizer) => new ZikoEventFocus(target, customizer);
2179
-
2180
- class ZikoEventHash extends __ZikoEvent__{
2181
- constructor(target, customizer){
2182
- super(target, Events.Hash, details_setter$5, customizer);
2183
- }
2184
- }
2185
- function details_setter$5(){
2096
+ };
2186
2097
 
2187
- }
2188
- const bindHashEvent = (target, customizer) => new ZikoEventHash(target, customizer);
2098
+ function event_controller(e, event_name, details_setter, customizer, push_object){
2099
+ this.cache.currentEvent = event_name;
2100
+ this.cache.event = e;
2101
+ details_setter?.call(this);
2102
+ customizer?.hasOwnProperty("prototype") ? customizer?.call(this) : customizer?.call(null, this);
2103
+ // if(customizer?.hasOwnProperty("prototype")) customizer?.call(this)
2104
+ // else customizer?.call(null, this)
2105
+ if(this.cache.preventDefault[event_name]) e.preventDefault();
2106
+ if(this.cache.stopPropagation[event_name]) e.stopPropagation();
2107
+ if(this.cache.stopImmediatePropagation[event_name]) e.stopImmediatePropagation();
2108
+
2109
+ if(this.cache.stream.enabled[event_name]&&push_object)this.cache.stream.history[event_name].push(push_object);
2110
+ this.cache.callbacks[event_name]?.map(n=>n(this));
2111
+ }
2189
2112
 
2190
- class ZikoEventKey extends __ZikoEvent__{
2191
- constructor(target, customizer){
2192
- super(target, Events.Key, details_setter$4, customizer);
2193
- }
2194
- }
2195
- function details_setter$4(){
2113
+ function key_details_setter(){
2196
2114
  switch(this.currentEvent){
2197
2115
  case "keydown" : {
2198
2116
  this.kd = this.event.key;
@@ -2205,26 +2123,9 @@ function details_setter$4(){
2205
2123
  } break;
2206
2124
 
2207
2125
  }
2208
- }
2209
- const bind_key_event = (target, customizer) => new ZikoEventKey(target, customizer);
2210
-
2211
- class ZikoEventMouse extends __ZikoEvent__{
2212
- constructor(target, customizer){
2213
- super(target, Events.Mouse, details_setter$3, customizer);
2214
- }
2215
- }
2216
- function details_setter$3(){
2217
-
2218
- }
2219
- const bind_mouse_event = (target, customizer) => new ZikoEventMouse(target, customizer);
2126
+ }
2220
2127
 
2221
- class ZikoEventPointer extends __ZikoEvent__{
2222
- constructor(target, customizer){
2223
- super(target, Events.Ptr, details_setter$2, customizer);
2224
- this.isDown = false;
2225
- }
2226
- }
2227
- function details_setter$2(){
2128
+ function ptr_details_setter(){
2228
2129
  switch(this.currentEvent){
2229
2130
  case "pointerdown" : {
2230
2131
  this.dx = parseInt(this.event.offsetX);
@@ -2256,28 +2157,107 @@ function details_setter$2(){
2256
2157
  // if(this.currentEvent==="click") this.dx = 0
2257
2158
  // else this.dx = 1
2258
2159
  // console.log(this.currentEvent)
2259
- }
2260
- const bind_pointer_event = (target, customizer) => new ZikoEventPointer(target, customizer);
2160
+ }
2261
2161
 
2262
- class ZikoEventTouch extends __ZikoEvent__{
2263
- constructor(target, customizer){
2264
- super(target, Events.Touch, details_setter$1, customizer);
2265
- }
2162
+ class ClickAwayEvent extends Event {
2163
+ constructor(originalEvent, targetElement) {
2164
+ super("clickaway", { bubbles: true, cancelable: true });
2165
+ this.originalEvent = originalEvent;
2166
+ this.targetElement = targetElement;
2167
+ }
2266
2168
  }
2267
- function details_setter$1(){
2268
2169
 
2269
- }
2270
- const bindTouchEvent = (target, customizer) => new ZikoEventTouch(target, customizer);
2271
-
2272
- class ZikoEventWheel extends __ZikoEvent__{
2273
- constructor(target, customizer){
2274
- super(target, Events.Wheel, details_setter, customizer);
2170
+ function register_click_away_event(element) {
2171
+ console.log(element);
2172
+ function handler(e) {
2173
+ if (!element.contains(e.target)) {
2174
+ const clickAwayEvent = new ClickAwayEvent(e, element);
2175
+ element.dispatchEvent(clickAwayEvent);
2275
2176
  }
2276
- }
2277
- function details_setter(){
2177
+ }
2178
+
2179
+ globalThis?.document?.addEventListener("click", handler);
2278
2180
 
2181
+ return () => globalThis?.document?.removeEventListener("click", handler);
2182
+
2279
2183
  }
2280
- const bind_wheel_event = (target, customizer) => new ZikoEventWheel(target, customizer);
2184
+
2185
+ // // Example usage
2186
+ // const box = document.querySelector("#my-box");
2187
+
2188
+ // const stop = listenClickAway(box);
2189
+
2190
+ // box.addEventListener("clickaway", (e) => {
2191
+ // console.log("Clicked outside box!", e);
2192
+ // });
2193
+
2194
+ // // later, you can stop listening:
2195
+ // // stop();
2196
+
2197
+ const bind_click_event = (target, customizer) => {
2198
+ register_click_away_event(target.element);
2199
+ return new ZikoEvent$1(
2200
+ target,
2201
+ EventsMap.Click,
2202
+ null,
2203
+ customizer
2204
+ );
2205
+ };
2206
+ const bind_clipboard_event = (target, customizer) => new ZikoEvent$1(
2207
+ target,
2208
+ EventsMap.Clipboard,
2209
+ null,
2210
+ customizer
2211
+ );
2212
+ const bind_drag_event = (target, customizer) => new ZikoEvent$1(
2213
+ target,
2214
+ EventsMap.Drag,
2215
+ null,
2216
+ customizer
2217
+ );
2218
+ const bind_focus_event = (target, customizer) => new ZikoEvent$1(
2219
+ target,
2220
+ EventsMap.Focus,
2221
+ null,
2222
+ customizer
2223
+ );
2224
+ const bind_key_event = (target, customizer) => new ZikoEvent$1(
2225
+ target,
2226
+ EventsMap.Key,
2227
+ key_details_setter,
2228
+ customizer
2229
+ );
2230
+ const bind_mouse_event = (target, customizer) => new ZikoEvent$1(
2231
+ target,
2232
+ EventsMap.Mouse,
2233
+ null,
2234
+ customizer
2235
+ );
2236
+ const bind_pointer_event = (target, customizer) => new ZikoEvent$1(
2237
+ target,
2238
+ EventsMap.Ptr,
2239
+ ptr_details_setter,
2240
+ customizer
2241
+ );
2242
+ const bind_touch_event = (target, customizer) => new ZikoEvent$1(
2243
+ target,
2244
+ EventsMap.Touch,
2245
+ null,
2246
+ customizer
2247
+ );
2248
+ const bind_wheel_event = (target, customizer) => new ZikoEvent$1(
2249
+ target,
2250
+ EventsMap.Wheel,
2251
+ null,
2252
+ customizer
2253
+ );
2254
+
2255
+
2256
+ // function details_setter(){
2257
+ // if(this.currentEvent==="click") this.dx = 0
2258
+ // else this.dx = 1
2259
+ // // console.log(this.currentEvent)
2260
+ // }
2281
2261
 
2282
2262
  const binderMap = {
2283
2263
  ptr: bind_pointer_event,
@@ -2292,7 +2272,7 @@ const binderMap = {
2292
2272
 
2293
2273
  const EventsMethodes = {};
2294
2274
 
2295
- Object.entries(Events).forEach(([name, eventList]) => {
2275
+ Object.entries(EventsMap).forEach(([name, eventList]) => {
2296
2276
  eventList.forEach(event => {
2297
2277
  const methodName = `on${event}`;
2298
2278
  EventsMethodes[methodName] = function (...callbacks) {
@@ -5507,22 +5487,11 @@ exports.UseThread = UseThread;
5507
5487
  exports.Utils = Utils;
5508
5488
  exports.View = View;
5509
5489
  exports.ZikoApp = ZikoApp;
5510
- exports.ZikoEventClick = ZikoEventClick;
5511
- exports.ZikoEventClipboard = ZikoEventClipboard;
5512
- exports.ZikoEventCustom = ZikoEventCustom;
5513
- exports.ZikoEventDrag = ZikoEventDrag;
5514
- exports.ZikoEventFocus = ZikoEventFocus;
5515
- exports.ZikoEventHash = ZikoEventHash;
5516
- exports.ZikoEventKey = ZikoEventKey;
5517
- exports.ZikoEventMouse = ZikoEventMouse;
5518
- exports.ZikoEventPointer = ZikoEventPointer;
5519
- exports.ZikoEventTouch = ZikoEventTouch;
5520
- exports.ZikoEventWheel = ZikoEventWheel;
5490
+ exports.ZikoEvent = ZikoEvent$1;
5521
5491
  exports.ZikoSPA = ZikoSPA;
5522
5492
  exports.ZikoUIFlex = ZikoUIFlex;
5523
5493
  exports.ZikoUISuspense = ZikoUISuspense;
5524
5494
  exports.ZikoUIText = ZikoUIText;
5525
- exports.__ZikoEvent__ = __ZikoEvent__;
5526
5495
  exports.abs = abs;
5527
5496
  exports.accum = accum;
5528
5497
  exports.acos = acos$1;
@@ -5539,9 +5508,6 @@ exports.atan = atan;
5539
5508
  exports.atan2 = atan2;
5540
5509
  exports.atanh = atanh;
5541
5510
  exports.back = back;
5542
- exports.bindCustomEvent = bindCustomEvent;
5543
- exports.bindHashEvent = bindHashEvent;
5544
- exports.bindTouchEvent = bindTouchEvent;
5545
5511
  exports.bind_click_event = bind_click_event;
5546
5512
  exports.bind_clipboard_event = bind_clipboard_event;
5547
5513
  exports.bind_drag_event = bind_drag_event;
@@ -5549,6 +5515,7 @@ exports.bind_focus_event = bind_focus_event;
5549
5515
  exports.bind_key_event = bind_key_event;
5550
5516
  exports.bind_mouse_event = bind_mouse_event;
5551
5517
  exports.bind_pointer_event = bind_pointer_event;
5518
+ exports.bind_touch_event = bind_touch_event;
5552
5519
  exports.bind_wheel_event = bind_wheel_event;
5553
5520
  exports.cartesianProduct = cartesianProduct;
5554
5521
  exports.ceil = ceil;
@@ -5675,9 +5642,9 @@ exports.tick = tick;
5675
5642
  exports.timeTaken = timeTaken;
5676
5643
  exports.time_memory_Taken = time_memory_Taken;
5677
5644
  exports.timeout = timeout;
5678
- exports.useChannel = useChannel;
5679
5645
  exports.useDerived = useDerived;
5680
5646
  exports.useEventEmitter = useEventEmitter;
5647
+ exports.useIPC = useIPC;
5681
5648
  exports.useLocaleStorage = useLocaleStorage;
5682
5649
  exports.useMediaQuery = useMediaQuery;
5683
5650
  exports.useReactive = useReactive;