ziko 0.0.2 → 0.0.5

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 (235) hide show
  1. package/README.md +11 -15
  2. package/core/App/Globals/index.js +18 -0
  3. package/{src → core}/App/app.js +10 -1
  4. package/{src → core}/App/index.js +1 -0
  5. package/{src → core}/Graphics/Canvas/canvas.js +1 -1
  6. package/{src → core}/Reactivity/Events/Global/CustomEvent.js +2 -2
  7. package/core/Reactivity/Events/Global/Mouse.js +230 -0
  8. package/core/Reactivity/Events/Global/Wheel.js +44 -0
  9. package/core/Reactivity/Events/Partiel/Hash.js +44 -0
  10. package/core/Reactivity/Events/Partiel/MediaEvent.js +1 -0
  11. package/{src → core}/Reactivity/Events/index.js +12 -3
  12. package/{src → core}/UI/CustomElement/Elements/Accordion/index.js +2 -2
  13. package/{src → core}/UI/CustomElement/Elements/CodeNote/CodeCell.js +1 -1
  14. package/{src → core}/UI/CustomElement/Elements/CodeNote/SubElements.js +4 -4
  15. package/{src → core}/UI/CustomElement/Flex.js +22 -22
  16. package/{src → core}/UI/Inputs/Primitives/btn.js +1 -2
  17. package/{src → core}/UI/Inputs/Primitives/inputs.js +0 -10
  18. package/{src → core}/UI/Inputs/Primitives/select.js +0 -1
  19. package/{src → core}/UI/Inputs/Primitives/textarea.js +0 -1
  20. package/{src → core}/UI/List/index.js +0 -3
  21. package/{src → core}/UI/Media/Audio/index.js +14 -2
  22. package/{src → core}/UI/Media/Image/figure.js +0 -1
  23. package/{src → core}/UI/Media/Image/image.js +0 -1
  24. package/{src → core}/UI/Media/Video/index.js +13 -1
  25. package/{src → core}/UI/Misc/index.js +5 -9
  26. package/{src → core}/UI/Semantic/index.js +0 -7
  27. package/{src → core}/UI/Table/table.js +0 -1
  28. package/{src → core}/UI/Text/heading.js +0 -1
  29. package/{src → core}/UI/Text/p.js +0 -1
  30. package/{src → core}/UI/Text/text.js +0 -1
  31. package/{src → core}/UI/ZikoUIElement.js +55 -30
  32. package/{src → core}/UI/index.js +3 -3
  33. package/core/__proto__/String.js +0 -0
  34. package/{src → core}/index.js +3 -1
  35. package/dist/ziko.cjs +491 -134
  36. package/dist/ziko.js +491 -134
  37. package/dist/ziko.min.js +2 -2
  38. package/dist/ziko.mjs +490 -134
  39. package/package.json +9 -9
  40. package/wrapper/react/index.jsx +16 -0
  41. package/wrapper/react/readme.md +19 -0
  42. package/wrapper/vue/ZikoUI.vue +17 -0
  43. package/src/App/Globals/index.js +0 -3
  44. package/starter/bin/index.js +0 -10
  45. /package/{src → core}/App/Accessibility/index.js +0 -0
  46. /package/{src → core}/App/Globals/__Target__.js +0 -0
  47. /package/{src → core}/App/Globals/__UI__.js +0 -0
  48. /package/{src → core}/App/Globals/__init__.js +0 -0
  49. /package/{src → core}/App/Router/index.js +0 -0
  50. /package/{src → core}/App/Seo/index.js +0 -0
  51. /package/{src → core}/App/Themes/dark.js +0 -0
  52. /package/{src → core}/App/Themes/index.js +0 -0
  53. /package/{src → core}/App/Themes/light.js +0 -0
  54. /package/{src → core}/Data/Api/fetchdom.js +0 -0
  55. /package/{src → core}/Data/Api/index.js +0 -0
  56. /package/{src → core}/Data/Api/preload.js +0 -0
  57. /package/{src → core}/Data/Converter/canvas.js +0 -0
  58. /package/{src → core}/Data/Converter/csv.js +0 -0
  59. /package/{src → core}/Data/Converter/index.js +0 -0
  60. /package/{src → core}/Data/Converter/json.js +0 -0
  61. /package/{src → core}/Data/Converter/markdown.js +0 -0
  62. /package/{src → core}/Data/Converter/svg.js +0 -0
  63. /package/{src → core}/Data/Parser/markdown.js +0 -0
  64. /package/{src → core}/Data/Parser/xml.js +0 -0
  65. /package/{src → core}/Data/Strings/index.js +0 -0
  66. /package/{src → core}/Data/decorators.js +0 -0
  67. /package/{src → core}/Data/index.js +0 -0
  68. /package/{src → core}/Graphics/Canvas/Elements/Basic/arc.js +0 -0
  69. /package/{src → core}/Graphics/Canvas/Elements/Basic/image.js +0 -0
  70. /package/{src → core}/Graphics/Canvas/Elements/Basic/line.js +0 -0
  71. /package/{src → core}/Graphics/Canvas/Elements/Basic/path.js +0 -0
  72. /package/{src → core}/Graphics/Canvas/Elements/Basic/points.js +0 -0
  73. /package/{src → core}/Graphics/Canvas/Elements/Basic/polygon.js +0 -0
  74. /package/{src → core}/Graphics/Canvas/Elements/Basic/polyline.js +0 -0
  75. /package/{src → core}/Graphics/Canvas/Elements/Basic/rect.js +0 -0
  76. /package/{src → core}/Graphics/Canvas/Elements/Basic/text.js +0 -0
  77. /package/{src → core}/Graphics/Canvas/Elements/Chart/histogram.js +0 -0
  78. /package/{src → core}/Graphics/Canvas/Elements/Chart/plot.js +0 -0
  79. /package/{src → core}/Graphics/Canvas/Elements/Chart/scatter.js +0 -0
  80. /package/{src → core}/Graphics/Canvas/Elements/Chart/stem.js +0 -0
  81. /package/{src → core}/Graphics/Canvas/Elements/Element.js +0 -0
  82. /package/{src → core}/Graphics/Canvas/Elements/Groupe.js +0 -0
  83. /package/{src → core}/Graphics/Canvas/Elements/grid.js +0 -0
  84. /package/{src → core}/Graphics/Canvas/Elements/index.js +0 -0
  85. /package/{src → core}/Graphics/Canvas/Filter/index.js +0 -0
  86. /package/{src → core}/Graphics/Canvas/Paint/index.js +0 -0
  87. /package/{src → core}/Graphics/Canvas/Utils/color.js +0 -0
  88. /package/{src → core}/Graphics/Canvas/Utils/floodFill.js +0 -0
  89. /package/{src → core}/Graphics/Canvas/_canvas_offscreen +0 -0
  90. /package/{src → core}/Graphics/Canvas/index.js +0 -0
  91. /package/{src → core}/Graphics/Svg/Elements/ZikoSvgElement.js +0 -0
  92. /package/{src → core}/Graphics/Svg/Elements/circle.js +0 -0
  93. /package/{src → core}/Graphics/Svg/Elements/ellipse.js +0 -0
  94. /package/{src → core}/Graphics/Svg/Elements/foreignObject.js +0 -0
  95. /package/{src → core}/Graphics/Svg/Elements/grid.js +0 -0
  96. /package/{src → core}/Graphics/Svg/Elements/groupe.js +0 -0
  97. /package/{src → core}/Graphics/Svg/Elements/image.js +0 -0
  98. /package/{src → core}/Graphics/Svg/Elements/line.js +0 -0
  99. /package/{src → core}/Graphics/Svg/Elements/path.js +0 -0
  100. /package/{src → core}/Graphics/Svg/Elements/polygon.js +0 -0
  101. /package/{src → core}/Graphics/Svg/Elements/polyline.js +0 -0
  102. /package/{src → core}/Graphics/Svg/Elements/rect.js +0 -0
  103. /package/{src → core}/Graphics/Svg/Elements/text.js +0 -0
  104. /package/{src → core}/Graphics/Svg/index.js +0 -0
  105. /package/{src → core}/Graphics/Svg/svg.js +0 -0
  106. /package/{src → core}/Graphics/index.js +0 -0
  107. /package/{src → core}/Math/Calculus/Special Functions/bessel.js +0 -0
  108. /package/{src → core}/Math/Calculus/Special Functions/beta.js +0 -0
  109. /package/{src → core}/Math/Calculus/Special Functions/gamma.js +0 -0
  110. /package/{src → core}/Math/Calculus/Special Functions/index.js +0 -0
  111. /package/{src → core}/Math/Calculus/index.js +0 -0
  112. /package/{src → core}/Math/Complex/Fractals/julia.js +0 -0
  113. /package/{src → core}/Math/Complex/index.js +0 -0
  114. /package/{src → core}/Math/Discret/Combinaison/index.js +0 -0
  115. /package/{src → core}/Math/Discret/Conversion/index.js +0 -0
  116. /package/{src → core}/Math/Discret/Logic/index.js +0 -0
  117. /package/{src → core}/Math/Discret/Permutation/index.js +0 -0
  118. /package/{src → core}/Math/Discret/Set/index.js +0 -0
  119. /package/{src → core}/Math/Discret/Set/powerSet.js +0 -0
  120. /package/{src → core}/Math/Discret/Set/subSet.js +0 -0
  121. /package/{src → core}/Math/Discret/index.js +0 -0
  122. /package/{src → core}/Math/Functions/index.js +0 -0
  123. /package/{src → core}/Math/Matrix/Decomposition.js +0 -0
  124. /package/{src → core}/Math/Matrix/LinearSystem.js +0 -0
  125. /package/{src → core}/Math/Matrix/Matrix.js +0 -0
  126. /package/{src → core}/Math/Matrix/index.js +0 -0
  127. /package/{src → core}/Math/Numeric/index.js +0 -0
  128. /package/{src → core}/Math/Random/index.js +0 -0
  129. /package/{src → core}/Math/Signal/__np.py.txt +0 -0
  130. /package/{src → core}/Math/Signal/conv.js +0 -0
  131. /package/{src → core}/Math/Signal/fft.js +0 -0
  132. /package/{src → core}/Math/Signal/filter.js +0 -0
  133. /package/{src → core}/Math/Signal/functions.js +0 -0
  134. /package/{src → core}/Math/Signal/index.js +0 -0
  135. /package/{src → core}/Math/Statistics/Functions/index.js +0 -0
  136. /package/{src → core}/Math/Statistics/index.js +0 -0
  137. /package/{src → core}/Math/Utils/arithmetic.js +0 -0
  138. /package/{src → core}/Math/Utils/checkers.js +0 -0
  139. /package/{src → core}/Math/Utils/comparaison.js +0 -0
  140. /package/{src → core}/Math/Utils/conversions.js +0 -0
  141. /package/{src → core}/Math/Utils/discret.js +0 -0
  142. /package/{src → core}/Math/Utils/index.js +0 -0
  143. /package/{src → core}/Math/Utils/mapfun.js +0 -0
  144. /package/{src → core}/Math/absract.js +0 -0
  145. /package/{src → core}/Math/const.js +0 -0
  146. /package/{src → core}/Math/index.js +0 -0
  147. /package/{src → core}/Reactivity/Events/Global/Click.js +0 -0
  148. /package/{src → core}/Reactivity/Events/Global/Clipboard.js +0 -0
  149. /package/{src → core}/Reactivity/Events/Global/Drag.js +0 -0
  150. /package/{src → core}/Reactivity/Events/Global/Focus.js +0 -0
  151. /package/{src → core}/Reactivity/Events/Global/Key.js +0 -0
  152. /package/{src → core}/Reactivity/Events/Global/Pointer.js +0 -0
  153. /package/{src/Reactivity/Use/Interactions/useSerial.js → core/Reactivity/Events/Global/Touch.js} +0 -0
  154. /package/{src → core}/Reactivity/Events/Partiel/Input.js +0 -0
  155. /package/{src → core}/Reactivity/Events/ZikoEvent.js +0 -0
  156. /package/{src → core}/Reactivity/Observer/index.js +0 -0
  157. /package/{src → core}/Reactivity/Observer/intersection.js +0 -0
  158. /package/{src → core}/Reactivity/Observer/mutation.js +0 -0
  159. /package/{src → core}/Reactivity/Observer/resize.js +0 -0
  160. /package/{src → core}/Reactivity/Use/Contexte/index.js +0 -0
  161. /package/{src → core}/Reactivity/Use/Contexte/useSuccesifKeys.js +0 -0
  162. /package/{src → core}/Reactivity/Use/Decorators/index.js +0 -0
  163. /package/{src → core}/Reactivity/Use/Interactions/index.js +0 -0
  164. /package/{src → core}/Reactivity/Use/Interactions/useBluetooth.js +0 -0
  165. /package/{src → core}/Reactivity/Use/Interactions/useChannel.js +0 -0
  166. /package/{src → core}/Reactivity/Use/Interactions/useEventEmmiter.js +0 -0
  167. /package/{src/Reactivity/Use/Interactions/useUsb.js → core/Reactivity/Use/Interactions/useSerial.js} +0 -0
  168. /package/{src → core}/Reactivity/Use/Interactions/useThread.js +0 -0
  169. /package/{src/Reactivity/Use/Sensors/useCamera.js → core/Reactivity/Use/Interactions/useUsb.js} +0 -0
  170. /package/{src → core}/Reactivity/Use/Sensors/index.js +0 -0
  171. /package/{src → core}/Reactivity/Use/Sensors/useBattery.js +0 -0
  172. /package/{src/Reactivity/Use/Sensors/useMicro.js → core/Reactivity/Use/Sensors/useCamera.js} +0 -0
  173. /package/{src → core}/Reactivity/Use/Sensors/useGeolocation.js +0 -0
  174. /package/{src/Reactivity/Use/Sensors/useOrientation.js → core/Reactivity/Use/Sensors/useMicro.js} +0 -0
  175. /package/{src/Reactivity/Use/Storage/useCookie.js → core/Reactivity/Use/Sensors/useOrientation.js} +0 -0
  176. /package/{src → core}/Reactivity/Use/Storage/index.js +0 -0
  177. /package/{src/Reactivity/Use/Storage/useIndexedDb.js → core/Reactivity/Use/Storage/useCookie.js} +0 -0
  178. /package/{src/Reactivity/Use/UI/useCssLink.js → core/Reactivity/Use/Storage/useIndexedDb.js} +0 -0
  179. /package/{src → core}/Reactivity/Use/Storage/useStorage.js +0 -0
  180. /package/{src → core}/Reactivity/Use/UI/index.js +0 -0
  181. /package/{src/Reactivity/Use/UI/useLinearGradient.js → core/Reactivity/Use/UI/useCssLink.js} +0 -0
  182. /package/{src → core}/Reactivity/Use/UI/useCssText.js +0 -0
  183. /package/{src → core}/Reactivity/Use/UI/useFavIcon.js +0 -0
  184. /package/{src/Reactivity/Use/UI/useRadialGradient.js → core/Reactivity/Use/UI/useLinearGradient.js} +0 -0
  185. /package/{src → core}/Reactivity/Use/UI/useMediaQuery.js +0 -0
  186. /package/{src/UI/CustomElement/Elements/FAB.js → core/Reactivity/Use/UI/useRadialGradient.js} +0 -0
  187. /package/{src → core}/Reactivity/Use/UI/useStyle.js +0 -0
  188. /package/{src → core}/Reactivity/Use/UI/useTheme.js +0 -0
  189. /package/{src → core}/Reactivity/Use/UI/useTitle.js +0 -0
  190. /package/{src → core}/Reactivity/Use/index.js +0 -0
  191. /package/{src → core}/Reactivity/Use/todo.md +0 -0
  192. /package/{src → core}/Reactivity/index.js +0 -0
  193. /package/{src → core}/Time/animation.js +0 -0
  194. /package/{src → core}/Time/index.js +0 -0
  195. /package/{src → core}/Time/loop.js +0 -0
  196. /package/{src → core}/Time/utils/decorators.js +0 -0
  197. /package/{src → core}/Time/utils/ease.js +0 -0
  198. /package/{src → core}/Time/utils/index.js +0 -0
  199. /package/{src → core}/Time/utils/performance.js +0 -0
  200. /package/{src → core}/Time/utils/ui.js +0 -0
  201. /package/{src → core}/UI/CustomElement/Elements/Carousel/index.js +0 -0
  202. /package/{src → core}/UI/CustomElement/Elements/CodeNote/CodeNote.js +0 -0
  203. /package/{src → core}/UI/CustomElement/Elements/CodeNote/index.js +0 -0
  204. /package/{src → core}/UI/CustomElement/Elements/Columns.js +0 -0
  205. /package/{src/UI/CustomElement/Elements/Menu.js → core/UI/CustomElement/Elements/FAB.js} +0 -0
  206. /package/{src/UI/CustomElement/Elements/Notification.js → core/UI/CustomElement/Elements/Menu.js} +0 -0
  207. /package/{src/UI/CustomElement/Elements/Popover.js → core/UI/CustomElement/Elements/Notification.js} +0 -0
  208. /package/{src/UI/CustomElement/Elements/Popup.js → core/UI/CustomElement/Elements/Popover.js} +0 -0
  209. /package/{src/UI/CustomElement/Elements/Timeline.js → core/UI/CustomElement/Elements/Popup.js} +0 -0
  210. /package/{src → core}/UI/CustomElement/Elements/Swipper.js +0 -0
  211. /package/{src → core}/UI/CustomElement/Elements/Tabs/index.js +0 -0
  212. /package/{src/UI/CustomElement/Elements/Toast.js → core/UI/CustomElement/Elements/Timeline.js} +0 -0
  213. /package/{src/UI/CustomElement/Elements/Treeview.js → core/UI/CustomElement/Elements/Toast.js} +0 -0
  214. /package/{src/UI/List/elements.js → core/UI/CustomElement/Elements/Treeview.js} +0 -0
  215. /package/{src → core}/UI/CustomElement/Elements/index.js +0 -0
  216. /package/{src → core}/UI/CustomElement/Grid.js +0 -0
  217. /package/{src → core}/UI/CustomElement/index.js +0 -0
  218. /package/{src → core}/UI/Embaded/index.js +0 -0
  219. /package/{src → core}/UI/Inputs/Primitives/elements.js +0 -0
  220. /package/{src → core}/UI/Inputs/camera.js +0 -0
  221. /package/{src → core}/UI/Inputs/index.js +0 -0
  222. /package/{src/UI/Text/pre.js → core/UI/List/elements.js} +0 -0
  223. /package/{src → core}/UI/Media/Image/index.js +0 -0
  224. /package/{src → core}/UI/Media/index.js +0 -0
  225. /package/{src → core}/UI/Style/index.js +0 -0
  226. /package/{src → core}/UI/Table/elements.js +0 -0
  227. /package/{src → core}/UI/Table/index.js +0 -0
  228. /package/{src → core}/UI/Table/utils.js +0 -0
  229. /package/{src → core}/UI/Text/index.js +0 -0
  230. /package/{src/__proto__/Function.js → core/UI/Text/pre.js} +0 -0
  231. /package/{src → core}/UI/Utils/index.js +0 -0
  232. /package/{src → core}/__proto__/Array.js +0 -0
  233. /package/{src/__proto__/Object.js → core/__proto__/Function.js} +0 -0
  234. /package/{src → core}/__proto__/Number.js +0 -0
  235. /package/{src/__proto__/String.js → core/__proto__/Object.js} +0 -0
package/dist/ziko.mjs CHANGED
@@ -2,7 +2,7 @@
2
2
  /*
3
3
  Project: ziko.js
4
4
  Author: Zakaria Elalaoui
5
- Date : Sun Mar 10 2024 11:12:39 GMT+0000 (UTC)
5
+ Date : Thu Mar 21 2024 19:27:32 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
@@ -3380,6 +3380,332 @@ class ZikoEventPointer extends ZikoEvent {
3380
3380
  }
3381
3381
  var Pointer = target => new ZikoEventPointer(target);
3382
3382
 
3383
+ class ZikoEventMouse extends ZikoEvent {
3384
+ constructor(target) {
3385
+ super(target);
3386
+ this.event = null;
3387
+ this.dx = 0;
3388
+ this.dy = 0;
3389
+ this.dt = 0;
3390
+ this.mx = 0;
3391
+ this.my = 0;
3392
+ this.mt = 0;
3393
+ this.ux = 0;
3394
+ this.uy = 0;
3395
+ this.ut = 0;
3396
+ this.swippe = {
3397
+ h: null,
3398
+ v: null,
3399
+ delta_x: 0,
3400
+ delta_y: 0
3401
+ };
3402
+ this.isMoving = false;
3403
+ this.isDown = false;
3404
+ this.cache = {
3405
+ prefixe: "mouse",
3406
+ preventDefault: {
3407
+ down: false,
3408
+ move: false,
3409
+ up: false,
3410
+ enter: false,
3411
+ out: false,
3412
+ leave: false,
3413
+ over: false
3414
+ },
3415
+ paused: {
3416
+ down: false,
3417
+ move: false,
3418
+ up: false,
3419
+ enter: false,
3420
+ out: false,
3421
+ leave: false,
3422
+ over: false
3423
+ },
3424
+ stream: {
3425
+ enabled: {
3426
+ down: false,
3427
+ move: false,
3428
+ up: false,
3429
+ enter: false,
3430
+ out: false,
3431
+ leave: false,
3432
+ over: false
3433
+ },
3434
+ clear: {
3435
+ down: false,
3436
+ move: false,
3437
+ up: false,
3438
+ enter: false,
3439
+ out: false,
3440
+ leave: false,
3441
+ over: false
3442
+ },
3443
+ history: {
3444
+ down: [],
3445
+ move: [],
3446
+ up: [],
3447
+ enter: [],
3448
+ out: [],
3449
+ leave: [],
3450
+ over: []
3451
+ }
3452
+ },
3453
+ callbacks: {
3454
+ down: [self => console.log({
3455
+ dx: self.dx,
3456
+ dy: self.dy,
3457
+ down: self.down,
3458
+ move: self.move,
3459
+ t: self.dt
3460
+ })],
3461
+ move: [self => console.log({
3462
+ mx: self.mx,
3463
+ my: self.my,
3464
+ down: self.down,
3465
+ move: self.move,
3466
+ t: self.dt
3467
+ })],
3468
+ up: [self => console.log({
3469
+ ux: self.ux,
3470
+ uy: self.uy,
3471
+ down: self.down,
3472
+ move: self.move,
3473
+ t: self.dt
3474
+ })],
3475
+ enter: [self => console.log({
3476
+ dx: self.dx,
3477
+ dy: self.dy,
3478
+ down: self.down,
3479
+ move: self.move,
3480
+ t: self.dt
3481
+ })],
3482
+ out: [self => console.log({
3483
+ mx: self.mx,
3484
+ my: self.my,
3485
+ down: self.down,
3486
+ move: self.move,
3487
+ t: self.dt
3488
+ })],
3489
+ leave: [self => console.log({
3490
+ ux: self.ux,
3491
+ uy: self.uy,
3492
+ down: self.down,
3493
+ move: self.move,
3494
+ t: self.dt
3495
+ })],
3496
+ over: [self => console.log({
3497
+ ux: self.ux,
3498
+ uy: self.uy,
3499
+ down: self.down,
3500
+ move: self.move,
3501
+ t: self.dt
3502
+ })]
3503
+ }
3504
+ };
3505
+ this.__controller = {
3506
+ down: mousedown_controller.bind(this),
3507
+ move: mousemove_controller.bind(this),
3508
+ up: mouseup_controller.bind(this),
3509
+ enter: mouseenter_controller.bind(this),
3510
+ out: mouseout_controller.bind(this),
3511
+ leave: mouseleave_controller.bind(this),
3512
+ over: mouseover_controller.bind(this)
3513
+ };
3514
+ }
3515
+ onDown(...callbacks) {
3516
+ if (callbacks.length === 0) callbacks = [() => {}];
3517
+ this.__onEvent("down", {
3518
+ down: true,
3519
+ move: false,
3520
+ up: false,
3521
+ enter: false,
3522
+ out: false,
3523
+ leave: false,
3524
+ over: false
3525
+ }, ...callbacks);
3526
+ return this;
3527
+ }
3528
+ onMove(...callbacks) {
3529
+ if (callbacks.length === 0) callbacks = [() => {}];
3530
+ this.__onEvent("move", {
3531
+ down: false,
3532
+ move: true,
3533
+ up: false,
3534
+ enter: false,
3535
+ out: false,
3536
+ leave: false,
3537
+ over: false
3538
+ }, ...callbacks);
3539
+ return this;
3540
+ }
3541
+ onUp(...callbacks) {
3542
+ if (callbacks.length === 0) callbacks = [() => {}];
3543
+ this.__onEvent("up", {
3544
+ down: false,
3545
+ move: false,
3546
+ up: true,
3547
+ enter: false,
3548
+ out: false,
3549
+ leave: false,
3550
+ over: false
3551
+ }, ...callbacks);
3552
+ return this;
3553
+ }
3554
+ onEnter(...callbacks) {
3555
+ if (callbacks.length === 0) callbacks = [() => {}];
3556
+ this.__onEvent("enter", {
3557
+ down: false,
3558
+ move: false,
3559
+ up: false,
3560
+ enter: true,
3561
+ out: false,
3562
+ leave: false,
3563
+ over: false
3564
+ }, ...callbacks);
3565
+ return this;
3566
+ }
3567
+ onOut(...callbacks) {
3568
+ if (callbacks.length === 0) callbacks = [() => {}];
3569
+ this.__onEvent("out", {
3570
+ down: false,
3571
+ move: false,
3572
+ up: false,
3573
+ enter: false,
3574
+ out: true,
3575
+ leave: false,
3576
+ over: false
3577
+ }, ...callbacks);
3578
+ return this;
3579
+ }
3580
+ onLeave(...callbacks) {
3581
+ if (callbacks.length === 0) callbacks = [() => {}];
3582
+ this.__onEvent("leave", {
3583
+ down: false,
3584
+ move: false,
3585
+ up: false,
3586
+ enter: false,
3587
+ out: false,
3588
+ leave: true,
3589
+ over: false
3590
+ }, ...callbacks);
3591
+ return this;
3592
+ }
3593
+ onOver(...callbacks) {
3594
+ if (callbacks.length === 0) callbacks = [() => {}];
3595
+ this.__onEvent("over", {
3596
+ down: false,
3597
+ move: false,
3598
+ up: false,
3599
+ enter: false,
3600
+ out: false,
3601
+ leave: false,
3602
+ over: true
3603
+ }, ...callbacks);
3604
+ return this;
3605
+ }
3606
+ }
3607
+ function mousedown_controller(e) {
3608
+ EVENT_CONTROLLER.call(this, e, "down", () => {
3609
+ this.dx = parseInt(e.offsetX);
3610
+ this.dy = parseInt(e.offsetY);
3611
+ this.isDown = true;
3612
+ }, {
3613
+ x: this.dx,
3614
+ y: this.dy,
3615
+ t: Date.now() - this.cache.stream.t0
3616
+ });
3617
+ }
3618
+ function mousemove_controller(e) {
3619
+ EVENT_CONTROLLER.call(this, e, "move", () => {
3620
+ this.mx = parseInt(e.offsetX);
3621
+ this.my = parseInt(e.offsetY);
3622
+ this.isMoving = true;
3623
+ }, {
3624
+ x: this.mx,
3625
+ y: this.my,
3626
+ t: Date.now() - this.cache.stream.t0
3627
+ });
3628
+ }
3629
+ function mouseup_controller(e) {
3630
+ EVENT_CONTROLLER.call(this, e, "up", () => {
3631
+ this.ux = parseInt(e.offsetX);
3632
+ this.uy = parseInt(e.offsetY);
3633
+ this.isDown = false;
3634
+ const dx = this.dx;
3635
+ const dy = this.dy;
3636
+ const ux = this.ux;
3637
+ const uy = this.uy;
3638
+ const delta_x = (ux - dx) / this.target.Width;
3639
+ const delta_y = (dy - uy) / this.target.Height;
3640
+ const HORIZONTAL_SWIPPE = delta_x < 0 ? "left" : delta_x > 0 ? "right" : "none";
3641
+ const VERTICAL_SWIPPE = delta_y < 0 ? "bottom" : delta_y > 0 ? "top" : "none";
3642
+ this.swippe = {
3643
+ h: HORIZONTAL_SWIPPE,
3644
+ v: VERTICAL_SWIPPE,
3645
+ delta_x,
3646
+ delta_y
3647
+ };
3648
+ }, {
3649
+ x: this.ux,
3650
+ y: this.uy,
3651
+ t: Date.now() - this.cache.stream.t0
3652
+ });
3653
+ }
3654
+ function mouseenter_controller(e) {
3655
+ EVENT_CONTROLLER.call(this, e, "enter", null, null);
3656
+ }
3657
+ function mouseleave_controller(e) {
3658
+ EVENT_CONTROLLER.call(this, e, "leave", null, null);
3659
+ }
3660
+ function mouseout_controller(e) {
3661
+ EVENT_CONTROLLER.call(this, e, "out", null, null);
3662
+ }
3663
+ function mouseover_controller(e) {
3664
+ EVENT_CONTROLLER.call(this, e, "out", null, null);
3665
+ }
3666
+ const Mouse = target => new ZikoEventMouse(target);
3667
+
3668
+ function wheel_controller(e) {
3669
+ EVENT_CONTROLLER.call(this, e, "wheel", null, null);
3670
+ }
3671
+ class ZikoEventWheel extends ZikoEvent {
3672
+ constructor(target) {
3673
+ super(target);
3674
+ this.event = null;
3675
+ this.cache = {
3676
+ prefixe: "",
3677
+ preventDefault: {
3678
+ wheel: false
3679
+ },
3680
+ paused: {
3681
+ wheel: false
3682
+ },
3683
+ stream: {
3684
+ enabled: {
3685
+ wheel: false
3686
+ },
3687
+ clear: {
3688
+ wheel: false
3689
+ },
3690
+ history: {
3691
+ wheel: []
3692
+ }
3693
+ },
3694
+ callbacks: {
3695
+ click: []
3696
+ }
3697
+ };
3698
+ this.__controller = {
3699
+ wheel: wheel_controller.bind(this)
3700
+ };
3701
+ }
3702
+ onWheel(...callbacks) {
3703
+ this.__onEvent("wheel", {}, ...callbacks);
3704
+ return this;
3705
+ }
3706
+ }
3707
+ const Wheel = Target => new ZikoEventWheel(Target);
3708
+
3383
3709
  function keydown_controller(e) {
3384
3710
  EVENT_CONTROLLER.call(this, e, "down", () => this.kd = e.key, {
3385
3711
  key: e.key,
@@ -3870,53 +4196,53 @@ class ZikoEventInput extends ZikoEvent {
3870
4196
  }
3871
4197
  const Input$1 = Target => new ZikoEventInput(Target);
3872
4198
 
3873
- const custom_event_controller = event_name => function (e) {
3874
- EVENT_CONTROLLER.call(this, e, event_name, null, null);
3875
- };
3876
- class ZikoCustomEvent extends ZikoEvent {
4199
+ function hashchange_controller(e) {
4200
+ EVENT_CONTROLLER.call(this, e, "hashchange", null, null);
4201
+ }
4202
+ class ZikoEventHash extends ZikoEvent {
3877
4203
  constructor(target) {
3878
4204
  super(target);
3879
4205
  this.event = null;
3880
4206
  this.cache = {
3881
4207
  prefixe: "",
3882
- preventDefault: {},
3883
- paused: {},
4208
+ preventDefault: {
4209
+ hashchange: false
4210
+ },
4211
+ paused: {
4212
+ hashchange: false
4213
+ },
3884
4214
  stream: {
3885
- enabled: {},
3886
- clear: {},
3887
- history: {}
4215
+ enabled: {
4216
+ hashchange: false
4217
+ },
4218
+ clear: {
4219
+ hashchange: false
4220
+ },
4221
+ history: {
4222
+ hashchange: []
4223
+ }
3888
4224
  },
3889
- callbacks: {}
4225
+ callbacks: {
4226
+ hashchange: []
4227
+ }
4228
+ };
4229
+ this.__controller = {
4230
+ hashchange: hashchange_controller.bind(this)
3890
4231
  };
3891
- this.__controller = {};
3892
- }
3893
- #init(event_name) {
3894
- this.cache.preventDefault[event_name] = false;
3895
- this.cache.paused[event_name] = false;
3896
- this.cache.stream.enabled = false;
3897
- this.cache.stream.clear = false;
3898
- this.cache.stream.history = [];
3899
- this.cache.callbacks[event_name] = [];
3900
- this.__controller[event_name] = custom_event_controller(event_name).bind(this);
3901
- return this;
3902
- }
3903
- on(event_name, ...callbacks) {
3904
- if (!this.__controller[event_name]) this.#init(event_name);
3905
- this.__onEvent(event_name, {}, ...callbacks);
3906
- return this;
3907
4232
  }
3908
- emit(event_name, detail = {}) {
3909
- if (!this.__controller[event_name]) this.#init(event_name);
3910
- this.detail = detail;
3911
- const event = new Event(event_name);
3912
- this.targetElement.dispatchEvent(event);
4233
+ onChange(...callbacks) {
4234
+ this.__onEvent("hashchange", {}, ...callbacks);
3913
4235
  return this;
3914
4236
  }
3915
4237
  }
3916
- const CustomEvent = Target => new ZikoCustomEvent(Target);
4238
+ const HashEvent = Target => new ZikoEventHash(Target);
4239
+
4240
+ const customEvent = Target => new customEvent();
3917
4241
 
3918
4242
  const Events = {
3919
4243
  Pointer,
4244
+ Mouse,
4245
+ Wheel,
3920
4246
  Key,
3921
4247
  Drag,
3922
4248
  Drop,
@@ -3924,7 +4250,8 @@ const Events = {
3924
4250
  Clipboard,
3925
4251
  Focus,
3926
4252
  Input: Input$1,
3927
- CustomEvent,
4253
+ HashEvent,
4254
+ customEvent,
3928
4255
  ExtractAll: function () {
3929
4256
  const keys = Object.keys(this);
3930
4257
  for (let i = 0; i < keys.length; i++) {
@@ -6101,7 +6428,8 @@ const Use = {
6101
6428
 
6102
6429
  class ZikoUIElement {
6103
6430
  constructor(element, name = "") {
6104
- this.target = globalThis.__Target__ || globalThis.document.body;
6431
+ //this.target = globalThis.__Target__||globalThis.document.body;
6432
+ this.target = globalThis.__ZikoConfig__.default.target || globalThis.document.body;
6105
6433
  if (typeof element === "string") element = globalThis.document.createElement(element);
6106
6434
  this.element = element;
6107
6435
  this.uuid = this.constructor.name + "-" + Random.string(10);
@@ -6111,18 +6439,16 @@ class ZikoUIElement {
6111
6439
  isRoot: false,
6112
6440
  isHidden: false,
6113
6441
  isFrozzen: false,
6114
- // transformMatrix:matrix([
6115
- // [0,0,0],
6116
- // [0,0,0],
6117
- // [1,1,0]
6118
- // ]),
6119
6442
  style: ZikoStyle({}),
6120
6443
  attributes: {},
6121
- filters: {}
6444
+ filters: {},
6445
+ temp: {}
6122
6446
  };
6123
6447
  this.items = [];
6124
6448
  this.events = {
6125
6449
  ptr: null,
6450
+ mouse: null,
6451
+ Wheel: null,
6126
6452
  key: null,
6127
6453
  drag: null,
6128
6454
  drop: null,
@@ -6145,6 +6471,7 @@ class ZikoUIElement {
6145
6471
  });
6146
6472
  this.size("auto", "auto");
6147
6473
  globalThis.__UI__[this.cache.name]?.push(this);
6474
+ this.render(globalThis.__ZikoConfig__.default.render);
6148
6475
  }
6149
6476
  get st() {
6150
6477
  return this.cache.style;
@@ -6167,7 +6494,7 @@ class ZikoUIElement {
6167
6494
  root = root.parent;
6168
6495
  }
6169
6496
  }
6170
- clone() {
6497
+ clone(render = false) {
6171
6498
  // Not working For Table
6172
6499
  const UI = new this.constructor();
6173
6500
  UI.__proto__ = this.__proto__;
@@ -6175,7 +6502,7 @@ class ZikoUIElement {
6175
6502
  const items = [...this.items].map(n => n.clone());
6176
6503
  UI.append(...items);
6177
6504
  } else UI.element = this.element.cloneNode(true);
6178
- return UI;
6505
+ return UI.render(render);
6179
6506
  }
6180
6507
  style(styles, {
6181
6508
  target = "parent",
@@ -6351,10 +6678,13 @@ class ZikoUIElement {
6351
6678
  this.items.forEach(callback);
6352
6679
  return this;
6353
6680
  }
6354
- filter(condition_callback, if_callback, else_callback) {
6681
+ where(condition_callback, if_callback, else_callback) {
6355
6682
  this.items.filter(condition_callback).forEach(if_callback);
6356
6683
  return this;
6357
6684
  }
6685
+ filter(condition) {
6686
+ return this.items.filter(condition);
6687
+ }
6358
6688
  filterByTextContent(text, exactMatch = false) {
6359
6689
  this.items.map(n => n.render());
6360
6690
  this.items.filter(n => {
@@ -6408,6 +6738,41 @@ class ZikoUIElement {
6408
6738
  this.events.ptr.onOut(...callbacks);
6409
6739
  return this;
6410
6740
  }
6741
+ onMouseMove(...callbacks) {
6742
+ if (!this.events.mouse) this.events.mouse = Mouse(this);
6743
+ this.events.mouse.onMove(...callbacks);
6744
+ return this;
6745
+ }
6746
+ onMouseDown(...callbacks) {
6747
+ if (!this.events.mouse) this.events.mouse = Mouse(this);
6748
+ this.events.mouse.onDown(...callbacks);
6749
+ return this;
6750
+ }
6751
+ onMouseUp(...callbacks) {
6752
+ if (!this.events.mouse) this.events.mouse = Mouse(this);
6753
+ this.events.mouse.onUp(...callbacks);
6754
+ return this;
6755
+ }
6756
+ onMouseEnter(...callbacks) {
6757
+ if (!this.events.mouse) this.events.mouse = Mouse(this);
6758
+ this.events.mouse.onEnter(...callbacks);
6759
+ return this;
6760
+ }
6761
+ onMouseLeave(...callbacks) {
6762
+ if (!this.events.mouse) this.events.mouse = Mouse(this);
6763
+ this.events.mouse.onLeave(...callbacks);
6764
+ return this;
6765
+ }
6766
+ onMouseOut(...callbacks) {
6767
+ if (!this.events.mouse) this.events.mouse = Mouse(this);
6768
+ this.events.mouse.onOut(...callbacks);
6769
+ return this;
6770
+ }
6771
+ onWheel(...callbacks) {
6772
+ if (!this.events.wheel) this.events.wheel = Wheel(this);
6773
+ this.events.wheel.onWheel(...callbacks);
6774
+ return this;
6775
+ }
6411
6776
  onKeyDown(...callbacks) {
6412
6777
  if (!this.events.key) this.events.key = Key(this);
6413
6778
  this.events.key.onDown(...callbacks);
@@ -6495,12 +6860,12 @@ class ZikoUIElement {
6495
6860
  return this;
6496
6861
  }
6497
6862
  on(event_name, ...callbacks) {
6498
- if (!this.events.custom) this.events.custom = CustomEvent(this);
6863
+ if (!this.events.custom) this.events.custom = customEvent();
6499
6864
  this.events.custom.on(event_name, ...callbacks);
6500
6865
  return this;
6501
6866
  }
6502
6867
  emit(event_name, detail = {}) {
6503
- if (!this.events.custom) this.events.custom = CustomEvent(this);
6868
+ if (!this.events.custom) this.events.custom = customEvent();
6504
6869
  this.events.custom.emit(event_name, detail);
6505
6870
  return this;
6506
6871
  }
@@ -6533,18 +6898,6 @@ class ZikoUIElement {
6533
6898
  isVisible: topVisible || bottomVisible || rightVisible || leftVisible
6534
6899
  };
6535
6900
  }
6536
-
6537
- // toggleSlide() {}
6538
-
6539
- // Glassmorphism(background = "rgba(255,255,255,0.1)", blur = "1px") {
6540
- // this.style({ background: background, backdropFilter: blur });
6541
- // return this;
6542
- // }
6543
- // Neumorphism(r = "50px", bg = "cyan", box = "13px -13px 49px #5d8fac") {
6544
- // this.style({ borderRadius: r, background: bg, boxShadow: box });
6545
- // return this;
6546
- // }
6547
-
6548
6901
  setFullScreen(set = true, e) {
6549
6902
  if (!this.element.requestFullscreen) {
6550
6903
  console.error("Fullscreen API is not supported in this browser.");
@@ -6604,7 +6957,6 @@ class ZikoUIText extends ZikoUIElement {
6604
6957
  this.text = "";
6605
6958
  this.addValue(...value);
6606
6959
  this.st.display("inline-block");
6607
- this.render();
6608
6960
  }
6609
6961
  clear() {
6610
6962
  this.element.textContent = "";
@@ -6661,7 +7013,6 @@ class ZikoUIParagraphe extends ZikoUIElement {
6661
7013
  margin: 0,
6662
7014
  padding: 0
6663
7015
  });
6664
- this.render();
6665
7016
  }
6666
7017
  addValue(...value) {
6667
7018
  for (let i = 0; i < value.length; i++) {
@@ -6689,7 +7040,6 @@ class ZikoUIHeading extends ZikoUIElement {
6689
7040
  super(`h${type}`, `h${type}`);
6690
7041
  this.element = document.createElement("h" + type);
6691
7042
  this.element.textContent = value;
6692
- this.render();
6693
7043
  }
6694
7044
  get value() {
6695
7045
  return this.element.innerText;
@@ -6712,21 +7062,18 @@ const h6 = (text = "") => new ZikoUIHeading(6, text);
6712
7062
 
6713
7063
  class ZikoUIHtmlTag extends ZikoUIElement {
6714
7064
  constructor(element) {
6715
- super(element, "ZikoHtml");
6716
- this.render();
7065
+ super(element, "html");
6717
7066
  }
6718
7067
  }
6719
7068
  class ZikoUIBr extends ZikoUIElement {
6720
7069
  constructor() {
6721
7070
  super("br", "br");
6722
- this.render();
6723
7071
  delete this.append;
6724
7072
  }
6725
7073
  }
6726
7074
  class ZikoUIHr extends ZikoUIElement {
6727
7075
  constructor() {
6728
7076
  super("hr", "hr");
6729
- this.render();
6730
7077
  delete this.append;
6731
7078
  }
6732
7079
  }
@@ -6734,7 +7081,6 @@ class ZikoUILink extends ZikoUIElement {
6734
7081
  constructor(href) {
6735
7082
  super("a", "link");
6736
7083
  this.setHref(href);
6737
- this.render();
6738
7084
  }
6739
7085
  setHref(href) {
6740
7086
  this.element.href = href;
@@ -6745,14 +7091,13 @@ const hr = () => new ZikoUIHr();
6745
7091
  const brs = (n = 1) => new Array(n).fill(new ZikoUIBr());
6746
7092
  const hrs = (n = 1) => new Array(n).fill(new ZikoUIHr());
6747
7093
  const link = (href, ...UIElement) => new ZikoUILink(href).append(...UIElement);
6748
- const ZikoHtml = (tag, ...UIElement) => new ZikoUIHtmlTag(tag).append(...UIElement);
7094
+ const html = (tag, ...UIElement) => new ZikoUIHtmlTag(tag).append(...UIElement);
6749
7095
 
6750
7096
  class ZikoUILI extends ZikoUIElement {
6751
7097
  constructor(UI) {
6752
7098
  super();
6753
7099
  this.element = document.createElement("li");
6754
7100
  this.append(UI);
6755
- this.render();
6756
7101
  }
6757
7102
  }
6758
7103
  class ZikoUIList extends ZikoUIElement {
@@ -6836,7 +7181,6 @@ class ZikoUIOList extends ZikoUIList {
6836
7181
  constructor(...arr) {
6837
7182
  super("ol", "ol");
6838
7183
  this.append(...arr);
6839
- this.render();
6840
7184
  }
6841
7185
  type(tp = 1) {
6842
7186
  this.element.setAttribute("type", tp);
@@ -6851,7 +7195,6 @@ class ZikoUIUList extends ZikoUIList {
6851
7195
  constructor(...arr) {
6852
7196
  super("ul", "ul");
6853
7197
  this.append(...arr);
6854
- this.render();
6855
7198
  }
6856
7199
  }
6857
7200
  const li = UI => new ZikoUILI(UI);
@@ -6860,10 +7203,9 @@ const ul = (...arr) => new ZikoUIUList(...arr);
6860
7203
 
6861
7204
  class ZikoUIBtn extends ZikoUIElement {
6862
7205
  constructor(value = "button") {
6863
- super();
7206
+ super("button", "btn");
6864
7207
  this.element = document.createElement("button");
6865
7208
  this.setValue(value);
6866
- this.render();
6867
7209
  this.st.cursor("pointer");
6868
7210
  }
6869
7211
  setValue(value) {
@@ -6909,7 +7251,6 @@ class ZikoUITextArea extends ZikoUIElement {
6909
7251
  super();
6910
7252
  this.element = document.createElement("textarea");
6911
7253
  //Object.assign(this,inputComposer.call(this));
6912
- this.render();
6913
7254
  }
6914
7255
  get value() {
6915
7256
  return this.element.textContent;
@@ -6929,7 +7270,6 @@ class ZikoUIInput extends ZikoUIElement {
6929
7270
  });
6930
7271
  this.setValue(value);
6931
7272
  if (datalist) this.linkDatalist(datalist);
6932
- this.render();
6933
7273
  }
6934
7274
  onInput(...callbacks) {
6935
7275
  if (!this.events.input) this.events.input = Input$1(this);
@@ -7038,7 +7378,6 @@ class ZikoUIInputNumber extends ZikoUIInput {
7038
7378
  super();
7039
7379
  this._setType("number");
7040
7380
  this.setMin(min).setMax(max).setStep(step);
7041
- this.render();
7042
7381
  }
7043
7382
  get value() {
7044
7383
  return +this.element.value;
@@ -7061,7 +7400,6 @@ class ZikoUIInputSlider extends ZikoUIInputNumber {
7061
7400
  super();
7062
7401
  this._setType("range");
7063
7402
  this.setMin(min).setMax(max).setValue(val).setStep(step);
7064
- this.render();
7065
7403
  }
7066
7404
  }
7067
7405
  class ZikoUIInputColor extends ZikoUIInput {
@@ -7069,7 +7407,6 @@ class ZikoUIInputColor extends ZikoUIInput {
7069
7407
  super();
7070
7408
  this._setType("color");
7071
7409
  this.background(this.value);
7072
- this.render();
7073
7410
  this.onInput(() => this.background(this.value));
7074
7411
  }
7075
7412
  }
@@ -7077,35 +7414,30 @@ class ZikoUIInputPassword extends ZikoUIInput {
7077
7414
  constructor() {
7078
7415
  super();
7079
7416
  this._setType("password");
7080
- this.render();
7081
7417
  }
7082
7418
  }
7083
7419
  class ZikoUIInputEmail extends ZikoUIInput {
7084
7420
  constructor() {
7085
7421
  super();
7086
7422
  this._setType("email");
7087
- this.render();
7088
7423
  }
7089
7424
  }
7090
7425
  class ZikoUIInputTime extends ZikoUIInput {
7091
7426
  constructor() {
7092
7427
  super();
7093
7428
  this._setType("time");
7094
- this.render();
7095
7429
  }
7096
7430
  }
7097
7431
  class ZikoUIInputDate extends ZikoUIInput {
7098
7432
  constructor() {
7099
7433
  super();
7100
7434
  this._setType("date");
7101
- this.render();
7102
7435
  }
7103
7436
  }
7104
7437
  class ZikoUIInputDateTime extends ZikoUIInput {
7105
7438
  constructor() {
7106
7439
  super();
7107
7440
  this._setType("datetime-local");
7108
- this.render();
7109
7441
  }
7110
7442
  }
7111
7443
  class ZikoUIInputCheckbox extends ZikoUIInput {
@@ -7181,7 +7513,6 @@ class ZikoUIInputDatalist extends ZikoUIElement {
7181
7513
  super();
7182
7514
  this.element = document.createElement("datalist");
7183
7515
  this.addOptions(...options).setId("ziko-datalist-id" + Random.string(10));
7184
- this.render();
7185
7516
  }
7186
7517
  addOptions(...options) {
7187
7518
  options.map(n => this.append(new ZikoUIInputOption(n)));
@@ -7240,7 +7571,6 @@ class ZikoUISelect extends ZikoUIElement {
7240
7571
  constructor() {
7241
7572
  super();
7242
7573
  this.element = document.createElement("select");
7243
- this.render();
7244
7574
  }
7245
7575
  addOptions(...options) {
7246
7576
  options.map(n => this.append(new ZikoUIInputOption(n)));
@@ -7261,7 +7591,6 @@ class ZikoUIImage extends ZikoUIElement {
7261
7591
  width: w,
7262
7592
  height: h
7263
7593
  });
7264
- this.render();
7265
7594
  }
7266
7595
  updateSrc(url) {
7267
7596
  this.value = url;
@@ -7289,7 +7618,6 @@ class ZikoUIFigure extends ZikoUIElement {
7289
7618
  this.caption.append(caption.element);
7290
7619
  this.element.append(this.img);
7291
7620
  this.element.append(this.caption);
7292
- this.render();
7293
7621
  }
7294
7622
  }
7295
7623
  const figure = (image, caption) => new ZikoUIFigure(image, caption);
@@ -7304,7 +7632,9 @@ class ZikoUIVideo extends ZikoUIElement {
7304
7632
  width: w,
7305
7633
  height: h
7306
7634
  });
7307
- this.render();
7635
+ }
7636
+ get t() {
7637
+ return this.element.currentTime;
7308
7638
  }
7309
7639
  useControls(enabled = true) {
7310
7640
  this.element.controls = enabled;
@@ -7326,6 +7656,12 @@ class ZikoUIVideo extends ZikoUIElement {
7326
7656
  this.element.requestPictureInPicture(e);
7327
7657
  return this;
7328
7658
  }
7659
+ seekTo(time) {
7660
+ this.element.currentTime = time;
7661
+ return this;
7662
+ }
7663
+ onPlay() {}
7664
+ onPause() {}
7329
7665
  }
7330
7666
  const video = (src, width, height) => new ZikoUIVideo(src, width, height);
7331
7667
 
@@ -7333,8 +7669,10 @@ class ZikoUIAudio extends ZikoUIElement {
7333
7669
  constructor(src) {
7334
7670
  super("audio", "audio");
7335
7671
  this.element.setAttribute("src", src);
7336
- this.render();
7337
- this.controls();
7672
+ this.useControls();
7673
+ }
7674
+ get t() {
7675
+ return this.element.currentTime;
7338
7676
  }
7339
7677
  useControls(enabled = true) {
7340
7678
  this.element.controls = enabled;
@@ -7348,6 +7686,12 @@ class ZikoUIAudio extends ZikoUIElement {
7348
7686
  this.element.pause();
7349
7687
  return this;
7350
7688
  }
7689
+ seekTo(time) {
7690
+ this.element.currentTime = time;
7691
+ return this;
7692
+ }
7693
+ onPlay() {}
7694
+ onPause() {}
7351
7695
  }
7352
7696
  const audio = src => new ZikoUIAudio(src);
7353
7697
 
@@ -7378,32 +7722,8 @@ class ZikoUIWebcame extends ZikoUIVideo {
7378
7722
  }
7379
7723
  const inputCamera = () => new ZikoUIWebcame();
7380
7724
 
7381
- function set_vertical(direction) {
7382
- direction == 1 ? this.style({
7383
- flexDirection: "column"
7384
- }) : direction == -1 && this.style({
7385
- flexDirection: "column-reverse"
7386
- });
7387
- return this;
7388
- }
7389
- function set_horizontal(direction) {
7390
- direction == 1 ? this.style({
7391
- flexDirection: "row"
7392
- }) : direction == -1 && this.style({
7393
- flexDirection: "row-reverse"
7394
- });
7395
- return this;
7396
- }
7397
- function map_pos_x(align) {
7398
- let pos = ["flex-start", "center", "flex-end"];
7399
- if (typeof align === "number") align = pos[align + 1];
7400
- return align;
7401
- }
7402
- function map_pos_y(align) {
7403
- return map_pos_x(-align);
7404
- }
7405
7725
  class ZikoUIFlex extends ZikoUIElement {
7406
- constructor(tag, w = "100%", h = "100%") {
7726
+ constructor(tag = "div", w = "100%", h = "100%") {
7407
7727
  super(tag, "Flex");
7408
7728
  this.direction = "cols";
7409
7729
  if (typeof w == "number") w += "%";
@@ -7493,6 +7813,30 @@ const Flex = (...ZikoUIElement) => {
7493
7813
  }
7494
7814
  return new ZikoUIFlex(tag).append(...ZikoUIElement);
7495
7815
  };
7816
+ function set_vertical(direction) {
7817
+ direction == 1 ? this.style({
7818
+ flexDirection: "column"
7819
+ }) : direction == -1 && this.style({
7820
+ flexDirection: "column-reverse"
7821
+ });
7822
+ return this;
7823
+ }
7824
+ function set_horizontal(direction) {
7825
+ direction == 1 ? this.style({
7826
+ flexDirection: "row"
7827
+ }) : direction == -1 && this.style({
7828
+ flexDirection: "row-reverse"
7829
+ });
7830
+ return this;
7831
+ }
7832
+ function map_pos_x(align) {
7833
+ let pos = ["flex-start", "center", "flex-end"];
7834
+ if (typeof align === "number") align = pos[align + 1];
7835
+ return align;
7836
+ }
7837
+ function map_pos_y(align) {
7838
+ return map_pos_x(-align);
7839
+ }
7496
7840
 
7497
7841
  class ZikoUIGrid extends ZikoUIElement {
7498
7842
  constructor(tag = "div", w = "50vw", h = "50vh") {
@@ -7537,7 +7881,7 @@ const Grid$1 = (...ZikoUIElement) => new ZikoUIGrid("div").append(...ZikoUIEleme
7537
7881
  class ZikoUIAccordion extends ZikoUIElement {
7538
7882
  constructor(summary, content, icon = "😁") {
7539
7883
  super("details", "Accordion");
7540
- this.summary = ZikoHtml("summary", summary).style({
7884
+ this.summary = html("summary", summary).style({
7541
7885
  fontSize: "1.1em",
7542
7886
  padding: "0.625rem",
7543
7887
  fontWeight: "bold",
@@ -7689,7 +8033,7 @@ class ZikoUICodeNote extends ZikoUIFlex {
7689
8033
  }
7690
8034
  const CodeNote = () => new ZikoUICodeNote();
7691
8035
 
7692
- const Input = (codeText = "") => ZikoHtml("code", codeText).style({
8036
+ const Input = (codeText = "") => html("code", codeText).style({
7693
8037
  width: "100%",
7694
8038
  height: "auto",
7695
8039
  padding: "10px",
@@ -7703,7 +8047,7 @@ const Input = (codeText = "") => ZikoHtml("code", codeText).style({
7703
8047
  background: "#f6f8fa",
7704
8048
  color: "#0062C3"
7705
8049
  }).setAttr("contenteditable", true).setAttr("spellcheck", false);
7706
- const Output = () => ZikoHtml("output").style({
8050
+ const Output = () => html("output").style({
7707
8051
  width: "100%",
7708
8052
  height: "auto",
7709
8053
  padding: "5px 0"
@@ -7727,7 +8071,7 @@ const BTN_STYLE = {
7727
8071
  const Right = ctx => Flex(text$1('▶️').style(BTN_STYLE).onClick(e => {
7728
8072
  if (ctx.parent instanceof ZikoUICodeNote) ctx.parent.setCurrentNote(ctx);
7729
8073
  ctx.execute();
7730
- globalThis.__Target__ = e.target.parent.parent[1][1];
8074
+ globalThis.__ZikoConfig__.default.target = e.target.parent.parent[1][1];
7731
8075
  }), text$1('📋').style(BTN_STYLE).onClick(() => {
7732
8076
  navigator.clipboard.writeText(ctx.codeText);
7733
8077
  }), text$1('✖️').style(BTN_STYLE).onClick(() => ctx.remove()), text$1('✖️').style(BTN_STYLE).onClick(() => ctx.remove())).style({
@@ -7859,7 +8203,7 @@ class ZikoUICodeCell extends ZikoUIFlex {
7859
8203
  #evaluateMd() {}
7860
8204
  #evaluateHtml() {}
7861
8205
  evaluate(order) {
7862
- globalThis.__Target__ = this.Output.element;
8206
+ globalThis.__ZikoConfig__.default.target = this.Output.element;
7863
8207
  switch (this.cache.type) {
7864
8208
  case "js":
7865
8209
  this.#evaluateJs(order);
@@ -7996,19 +8340,16 @@ const Tabs = (Controllers, Contents) => new ZikoUITabs(Controllers, Contents);
7996
8340
  class ZikoUIMain extends ZikoUIElement {
7997
8341
  constructor() {
7998
8342
  super("main", "Main");
7999
- this.render();
8000
8343
  }
8001
8344
  }
8002
8345
  class ZikoUIHeader extends ZikoUIElement {
8003
8346
  constructor() {
8004
8347
  super("header", "Header");
8005
- this.render();
8006
8348
  }
8007
8349
  }
8008
8350
  class ZikoUINav extends ZikoUIElement {
8009
8351
  constructor() {
8010
8352
  super("nav", "Nav");
8011
- this.render();
8012
8353
  }
8013
8354
  }
8014
8355
  class ZikoUISection extends ZikoUIElement {
@@ -8017,26 +8358,22 @@ class ZikoUISection extends ZikoUIElement {
8017
8358
  this.style({
8018
8359
  position: "relative"
8019
8360
  });
8020
- this.render();
8021
8361
  }
8022
8362
  }
8023
8363
  class ZikoUIArticle extends ZikoUIElement {
8024
8364
  constructor() {
8025
8365
  super("article", "Article");
8026
- this.render();
8027
8366
  }
8028
8367
  }
8029
8368
  class ZikoUIAside extends ZikoUIElement {
8030
8369
  constructor() {
8031
8370
  super("aside", "Aside");
8032
- this.render();
8033
8371
  }
8034
8372
  }
8035
8373
  class ZikoUIFooter extends ZikoUIElement {
8036
8374
  constructor() {
8037
8375
  super("footer", "Footer");
8038
8376
  this.element = document.createElement("footer");
8039
- this.render();
8040
8377
  }
8041
8378
  }
8042
8379
  const Section$1 = (...ZikoUIElement) => new ZikoUISection().append(...ZikoUIElement);
@@ -8127,7 +8464,6 @@ class ZikoUITable extends ZikoUIElement {
8127
8464
  };
8128
8465
  if (body) this.fromMatrix(body);
8129
8466
  if (caption) this.setCaption(caption);
8130
- this.render();
8131
8467
  }
8132
8468
  get caption() {
8133
8469
  return this.structure.caption;
@@ -8226,7 +8562,7 @@ class ZikoUITable extends ZikoUIElement {
8226
8562
  const Table = (matrix, config) => new ZikoUITable(matrix, config);
8227
8563
 
8228
8564
  const UI$1 = {
8229
- ZikoHtml,
8565
+ html,
8230
8566
  text: text$1,
8231
8567
  p,
8232
8568
  h1,
@@ -8957,7 +9293,7 @@ class ZikoUICanvas extends ZikoUIElement {
8957
9293
  });
8958
9294
  this.transformMatrix = new Matrix([[1, 0, 0], [0, 1, 0], [0, 0, 1]]);
8959
9295
  this.axisMatrix = new Matrix([[-10, -10], [10, 10]]);
8960
- this.render();
9296
+ this.render(globalThis.__ZikoConfig__.default.render);
8961
9297
  setTimeout(() => this.resize(w, h), 0);
8962
9298
  this.on("sizeupdated", () => this.adjust());
8963
9299
  }
@@ -9453,8 +9789,20 @@ const SPA = (root_UI, routes, patterns) => new ZikoSPA(root_UI, routes, patterns
9453
9789
 
9454
9790
  const __init__ = () => document.documentElement.setAttribute("data-engine", "zikojs");
9455
9791
 
9456
- var __Target__ = null;
9457
- if (globalThis?.document?.body) __Target__ = document.body;
9792
+ // var __Target__=null;
9793
+ // if(globalThis?.document?.body)__Target__=document.body;
9794
+ const __ZikoConfig__ = {
9795
+ default: {
9796
+ target: null,
9797
+ render: true
9798
+ },
9799
+ setDefault: function (pairs) {
9800
+ const keys = Object.keys(pairs);
9801
+ const values = Object.values(pairs);
9802
+ for (let i = 0; i < keys.length; i++) this.default[keys[i]] = values[i];
9803
+ },
9804
+ init: () => document.documentElement.setAttribute("data-engine", "zikojs")
9805
+ };
9458
9806
 
9459
9807
  class ZikoSeo {
9460
9808
  constructor(app) {
@@ -9506,11 +9854,14 @@ class ZikoUIApp extends ZikoUIFlex {
9506
9854
  this.head = null;
9507
9855
  this.#init();
9508
9856
  this.seo = Seo(this);
9857
+ Object.assign(this.events, {
9858
+ hash: null
9859
+ });
9509
9860
  Object.assign(this.cache, {
9510
9861
  theme: null,
9511
9862
  isRoot: true
9512
9863
  });
9513
- this.render();
9864
+ this.render(globalThis.__ZikoConfig__.default.render);
9514
9865
  }
9515
9866
  #init() {
9516
9867
  this.root.setAttribute("data-engine", "zikojs");
@@ -9527,6 +9878,11 @@ class ZikoUIApp extends ZikoUIFlex {
9527
9878
  }
9528
9879
  prefetch() {}
9529
9880
  description() {}
9881
+ onHashChange(...callbacks) {
9882
+ if (!this.events.hash) this.events.hash = HashEvent(this);
9883
+ this.events.hash.onChange(...callbacks);
9884
+ return this;
9885
+ }
9530
9886
  }
9531
9887
  const App = (...UIElement) => new ZikoUIApp().append(...UIElement);
9532
9888
 
@@ -9543,7 +9899,7 @@ const Ziko = {
9543
9899
  };
9544
9900
  globalThis.__Ziko__ = Ziko;
9545
9901
  globalThis.__UI__ = __UI__;
9546
- globalThis.__Target__ = __Target__;
9902
+ globalThis.__ZikoConfig__ = __ZikoConfig__;
9547
9903
  function ExtractAll() {
9548
9904
  UI$1.ExtractAll();
9549
9905
  Math$1.ExtractAll();
@@ -9564,4 +9920,4 @@ function RemoveAll() {
9564
9920
  Data.RemoveAll();
9565
9921
  }
9566
9922
 
9567
- export { Accordion, App, Article, Aside, Base, Canvas, Carousel, CodeCell, CodeNote, Combinaison, Complex, DarkThemes, Data, E, EPSILON, Ease, Events, ExtractAll, Fixed, Flex, Footer, Graphics, Grid$1 as Grid, Header, LightThemes, LinearSystem, Logic$1 as Logic, Main, Math$1 as Math, Matrix, Nav, PI, Permutation, Random, RemoveAll, SPA, Section$1 as Section, Signal, Svg, Table, Tabs, Themes, Time, UI$1 as UI, Utils, ZikoHtml, ZikoUIArticle, ZikoUIAside, ZikoUIAudio, ZikoUIBr, ZikoUICanvas, ZikoUICodeNote, ZikoUIElement, ZikoUIFigure, ZikoUIFooter, ZikoUIHeader, ZikoUIHr, ZikoUIHtmlTag, ZikoUIImage, ZikoUILink, ZikoUIMain, ZikoUINav, ZikoUISection, ZikoUISvg, ZikoUIVideo, __init__, abs, accum, acos, acosh, acot, add, animation, arange, asin, asinh, atan, atan2, atanh, audio, bessel, beta, br, brs, btn, canvasArc, canvasCircle, canvasLine, canvasPoints, canvasRect, cartesianProduct, ceil, checkbox, choleskyDecomposition, clamp, complex, cos, cosh, cot, coth, csc, csv2arr, csv2json, csv2matrix, csv2object, csv2sql, datalist, Ziko as default, deg2rad, div, e, fact, figure, floor, gamma, geomspace, h1, h2, h3, h4, h5, h6, hr, hrs, hypot, image, inRange, input, inputCamera, inputColor, inputDate, inputDateTime, inputEmail, inputImage, inputNumber, inputPassword, inputTime, isApproximatlyEqual, json2arr, json2csv, json2csvFile, json2xml, json2xmlFile, json2yml, json2ymlFile, lerp, li, link, linspace, ln, logspace, loop, luDecomposition, map, mapfun, markdown2html, matrix, matrix2, matrix3, matrix4, max, min, modulo, mul, norm, nums, ol, ones, p, pgcd, pow, powerSet, ppcm, prod, qrDecomposition, rad2deg, radio, round, search, sec, select, sig, sign, sin, sinc, sinh, slider, sqrt, sqrtn, sub, subSet, sum, svg2ascii, svg2img, svg2imgUrl, svg2str, svgCircle, svgEllipse, svgGroupe, svgImage, svgLine, svgPolygon, svgRect, svgText, tan, tanh, text$1 as text, textarea, timeTaken, time_memory_Taken, ul, useDebounce, useThrottle, video, wait, waitForUIElm, waitForUIElmSync, zeros };
9923
+ export { Accordion, App, Article, Aside, Base, Canvas, Carousel, CodeCell, CodeNote, Combinaison, Complex, DarkThemes, Data, E, EPSILON, Ease, Events, ExtractAll, Fixed, Flex, Footer, Graphics, Grid$1 as Grid, Header, LightThemes, LinearSystem, Logic$1 as Logic, Main, Math$1 as Math, Matrix, Nav, PI, Permutation, Random, RemoveAll, SPA, Section$1 as Section, Signal, Svg, Table, Tabs, Themes, Time, UI$1 as UI, Utils, ZikoUIArticle, ZikoUIAside, ZikoUIAudio, ZikoUIBr, ZikoUICanvas, ZikoUICodeNote, ZikoUIElement, ZikoUIFigure, ZikoUIFooter, ZikoUIHeader, ZikoUIHr, ZikoUIHtmlTag, ZikoUIImage, ZikoUILink, ZikoUIMain, ZikoUINav, ZikoUISection, ZikoUISvg, ZikoUIVideo, __ZikoConfig__, __init__, abs, accum, acos, acosh, acot, add, animation, arange, asin, asinh, atan, atan2, atanh, audio, bessel, beta, br, brs, btn, canvasArc, canvasCircle, canvasLine, canvasPoints, canvasRect, cartesianProduct, ceil, checkbox, choleskyDecomposition, clamp, complex, cos, cosh, cot, coth, csc, csv2arr, csv2json, csv2matrix, csv2object, csv2sql, datalist, Ziko as default, deg2rad, div, e, fact, figure, floor, gamma, geomspace, h1, h2, h3, h4, h5, h6, hr, hrs, html, hypot, image, inRange, input, inputCamera, inputColor, inputDate, inputDateTime, inputEmail, inputImage, inputNumber, inputPassword, inputTime, isApproximatlyEqual, json2arr, json2csv, json2csvFile, json2xml, json2xmlFile, json2yml, json2ymlFile, lerp, li, link, linspace, ln, logspace, loop, luDecomposition, map, mapfun, markdown2html, matrix, matrix2, matrix3, matrix4, max, min, modulo, mul, norm, nums, ol, ones, p, pgcd, pow, powerSet, ppcm, prod, qrDecomposition, rad2deg, radio, round, search, sec, select, sig, sign, sin, sinc, sinh, slider, sqrt, sqrtn, sub, subSet, sum, svg2ascii, svg2img, svg2imgUrl, svg2str, svgCircle, svgEllipse, svgGroupe, svgImage, svgLine, svgPolygon, svgRect, svgText, tan, tanh, text$1 as text, textarea, timeTaken, time_memory_Taken, ul, useDebounce, useThrottle, video, wait, waitForUIElm, waitForUIElmSync, zeros };