ziko 0.0.11 → 0.0.13

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 (278) hide show
  1. package/README.md +6 -3
  2. package/dist/ziko.cjs +5640 -4532
  3. package/dist/ziko.js +5640 -4532
  4. package/dist/ziko.min.js +2 -2
  5. package/dist/ziko.mjs +5602 -4532
  6. package/package.json +39 -12
  7. package/src/__helpers__/index.js +41 -0
  8. package/src/app/accessibility/index.js +0 -0
  9. package/src/app/app.js +46 -0
  10. package/src/app/component/index.js +38 -0
  11. package/src/app/globals/index.js +20 -0
  12. package/src/app/index.js +12 -0
  13. package/src/app/params/index.js +40 -0
  14. package/src/app/router/index.js +67 -0
  15. package/src/app/seo/index.js +43 -0
  16. package/src/app/themes/dark.js +885 -0
  17. package/src/app/themes/index.js +11 -0
  18. package/src/app/themes/light.js +255 -0
  19. package/src/data/api/fetchdom.js +14 -0
  20. package/src/data/api/index.js +4 -0
  21. package/src/data/api/preload.js +11 -0
  22. package/src/data/converter/adoc.js +130 -0
  23. package/src/data/converter/array.js +43 -0
  24. package/src/data/converter/canvas.js +25 -0
  25. package/src/data/converter/csv.js +33 -0
  26. package/src/data/converter/idea.txt +10 -0
  27. package/src/data/converter/index.js +34 -0
  28. package/src/data/converter/json.js +80 -0
  29. package/src/data/converter/markdown.js +95 -0
  30. package/src/data/converter/object.js +70 -0
  31. package/src/data/converter/svg.js +11 -0
  32. package/src/data/decorators.js +0 -0
  33. package/src/data/index.js +74 -0
  34. package/src/data/parser/markdown.js +0 -0
  35. package/src/data/parser/xml.js +47 -0
  36. package/src/data/string/index.js +1 -0
  37. package/src/data/string/patterns.js +12 -0
  38. package/src/data/string/string.js +170 -0
  39. package/src/graphics/canvas/_canvas_offscreen +0 -0
  40. package/src/graphics/canvas/canvas.js +189 -0
  41. package/src/graphics/canvas/elements/Basic/arc.js +43 -0
  42. package/src/graphics/canvas/elements/Basic/image.js +0 -0
  43. package/src/graphics/canvas/elements/Basic/line.js +26 -0
  44. package/src/graphics/canvas/elements/Basic/path.js +0 -0
  45. package/src/graphics/canvas/elements/Basic/points.js +48 -0
  46. package/src/graphics/canvas/elements/Basic/polygon.js +7 -0
  47. package/src/graphics/canvas/elements/Basic/polyline.js +0 -0
  48. package/src/graphics/canvas/elements/Basic/rect.js +46 -0
  49. package/src/graphics/canvas/elements/Basic/text.js +0 -0
  50. package/src/graphics/canvas/elements/Chart/histogram.js +0 -0
  51. package/src/graphics/canvas/elements/Chart/plot.js +0 -0
  52. package/src/graphics/canvas/elements/Chart/scatter.js +2 -0
  53. package/src/graphics/canvas/elements/Chart/stem.js +0 -0
  54. package/src/graphics/canvas/elements/Element.js +115 -0
  55. package/src/graphics/canvas/elements/Groupe.js +0 -0
  56. package/src/graphics/canvas/elements/grid.js +0 -0
  57. package/src/graphics/canvas/elements/index.js +13 -0
  58. package/src/graphics/canvas/filter/index.js +0 -0
  59. package/src/graphics/canvas/index.js +15 -0
  60. package/src/graphics/canvas/paint/index.js +0 -0
  61. package/src/graphics/canvas/utils/color.js +8 -0
  62. package/src/graphics/canvas/utils/floodFill.js +58 -0
  63. package/src/graphics/index.js +69 -0
  64. package/src/graphics/svg/Elements/Basic/circle.js +26 -0
  65. package/src/graphics/svg/Elements/Basic/ellipse.js +21 -0
  66. package/src/graphics/svg/Elements/Basic/foreignObject.js +33 -0
  67. package/src/graphics/svg/Elements/Basic/groupe.js +29 -0
  68. package/src/graphics/svg/Elements/Basic/image.js +33 -0
  69. package/src/graphics/svg/Elements/Basic/line.js +29 -0
  70. package/src/graphics/svg/Elements/Basic/link.js +30 -0
  71. package/src/graphics/svg/Elements/Basic/path.js +59 -0
  72. package/src/graphics/svg/Elements/Basic/polygon.js +32 -0
  73. package/src/graphics/svg/Elements/Basic/polyline.js +4 -0
  74. package/src/graphics/svg/Elements/Basic/rect.js +43 -0
  75. package/src/graphics/svg/Elements/Basic/text.js +26 -0
  76. package/src/graphics/svg/Elements/Derived/grid.js +9 -0
  77. package/src/graphics/svg/Elements/ZikoSvgElement.js +46 -0
  78. package/src/graphics/svg/Elements/index.js +14 -0
  79. package/src/graphics/svg/index.js +2 -0
  80. package/src/graphics/svg/svg.js +115 -0
  81. package/src/index.js +88 -0
  82. package/src/math/absract.js +1 -0
  83. package/src/math/calculus/index.js +1 -0
  84. package/src/math/calculus/special-functions/bessel.js +31 -0
  85. package/src/math/calculus/special-functions/beta.js +38 -0
  86. package/src/math/calculus/special-functions/gamma.js +30 -0
  87. package/src/math/calculus/special-functions/index.js +4 -0
  88. package/src/math/complex/Fractals/julia.js +0 -0
  89. package/src/math/complex/index.js +203 -0
  90. package/src/math/const.js +3 -0
  91. package/src/math/discret/Combinaison/index.js +34 -0
  92. package/src/math/discret/Conversion/index.js +86 -0
  93. package/src/math/discret/Logic/index.js +46 -0
  94. package/src/math/discret/Permutation/index.js +31 -0
  95. package/src/math/discret/Set/index.js +2 -0
  96. package/src/math/discret/Set/power-set.js +15 -0
  97. package/src/math/discret/Set/sub-set.js +10 -0
  98. package/src/math/discret/index.js +23 -0
  99. package/src/math/functions/index.js +182 -0
  100. package/src/math/index.js +189 -0
  101. package/src/math/matrix/Decomposition.js +90 -0
  102. package/src/math/matrix/LinearSystem.js +10 -0
  103. package/src/math/matrix/Matrix.js +717 -0
  104. package/src/math/matrix/index.js +3 -0
  105. package/src/math/numeric/index.js +0 -0
  106. package/src/math/random/index.js +173 -0
  107. package/src/math/signal/__np.py.txt +40 -0
  108. package/src/math/signal/conv.js +175 -0
  109. package/src/math/signal/fft.js +55 -0
  110. package/src/math/signal/filter.js +39 -0
  111. package/src/math/signal/functions.js +146 -0
  112. package/src/math/signal/index.js +110 -0
  113. package/src/math/statistics/Functions/index.js +100 -0
  114. package/src/math/statistics/index.js +16 -0
  115. package/src/math/utils/arithmetic.js +139 -0
  116. package/src/math/utils/checkers.js +29 -0
  117. package/src/math/utils/comparaison.js +1 -0
  118. package/src/math/utils/conversions.js +19 -0
  119. package/src/math/utils/discret.js +51 -0
  120. package/src/math/utils/index.js +102 -0
  121. package/src/math/utils/mapfun.js +50 -0
  122. package/src/reactivity/events/Global/Click.js +56 -0
  123. package/src/reactivity/events/Global/Clipboard.js +84 -0
  124. package/src/reactivity/events/Global/CustomEvent.js +53 -0
  125. package/src/reactivity/events/Global/Drag.js +137 -0
  126. package/src/reactivity/events/Global/Focus.js +56 -0
  127. package/src/reactivity/events/Global/Key.js +104 -0
  128. package/src/reactivity/events/Global/Mouse.js +230 -0
  129. package/src/reactivity/events/Global/Pointer.js +234 -0
  130. package/src/reactivity/events/Global/Swipe.js +147 -0
  131. package/src/reactivity/events/Global/Touch.js +0 -0
  132. package/src/reactivity/events/Global/Wheel.js +44 -0
  133. package/src/reactivity/events/Partiel/Hash.js +44 -0
  134. package/src/reactivity/events/Partiel/Input.js +59 -0
  135. package/src/reactivity/events/Partiel/Media.js +1 -0
  136. package/src/reactivity/events/ZikoEvent.js +91 -0
  137. package/src/reactivity/events/index.js +63 -0
  138. package/src/reactivity/hooks/Contexte/index.js +1 -0
  139. package/src/reactivity/hooks/Contexte/useSuccesifKeys.js +14 -0
  140. package/src/reactivity/hooks/Decorators/index.js +6 -0
  141. package/src/reactivity/hooks/Decorators/time.js +17 -0
  142. package/src/reactivity/hooks/Decorators/type.js +88 -0
  143. package/src/reactivity/hooks/Interactions/index.js +4 -0
  144. package/src/reactivity/hooks/Interactions/useBluetooth.js +48 -0
  145. package/src/reactivity/hooks/Interactions/useChannel.js +50 -0
  146. package/src/reactivity/hooks/Interactions/useEventEmmiter.js +64 -0
  147. package/src/reactivity/hooks/Interactions/useSerial.js +0 -0
  148. package/src/reactivity/hooks/Interactions/useThread.js +44 -0
  149. package/src/reactivity/hooks/Interactions/useUsb.js +0 -0
  150. package/src/reactivity/hooks/Sensors/index.js +2 -0
  151. package/src/reactivity/hooks/Sensors/useBattery.js +36 -0
  152. package/src/reactivity/hooks/Sensors/useCamera.js +0 -0
  153. package/src/reactivity/hooks/Sensors/useGeolocation.js +17 -0
  154. package/src/reactivity/hooks/Sensors/useMicro.js +0 -0
  155. package/src/reactivity/hooks/Sensors/useOrientation.js +0 -0
  156. package/src/reactivity/hooks/Storage/index.js +1 -0
  157. package/src/reactivity/hooks/Storage/useCookie.js +0 -0
  158. package/src/reactivity/hooks/Storage/useIndexedDb.js +0 -0
  159. package/src/reactivity/hooks/Storage/useStorage.js +73 -0
  160. package/src/reactivity/hooks/UI/index.js +5 -0
  161. package/src/reactivity/hooks/UI/useCssLink.js +0 -0
  162. package/src/reactivity/hooks/UI/useCssText.js +21 -0
  163. package/src/reactivity/hooks/UI/useFavIcon.js +38 -0
  164. package/src/reactivity/hooks/UI/useLinearGradient.js +0 -0
  165. package/src/reactivity/hooks/UI/useMediaQuery.js +43 -0
  166. package/src/reactivity/hooks/UI/useRadialGradient.js +0 -0
  167. package/src/reactivity/hooks/UI/useStyle.js +79 -0
  168. package/src/reactivity/hooks/UI/useTheme.js +62 -0
  169. package/src/reactivity/hooks/UI/useTitle.js +30 -0
  170. package/src/reactivity/hooks/index.js +85 -0
  171. package/src/reactivity/hooks/todo.md +26 -0
  172. package/src/reactivity/idea +2 -0
  173. package/src/reactivity/index.js +22 -0
  174. package/src/reactivity/observer/attributes.js +28 -0
  175. package/src/reactivity/observer/children.js +37 -0
  176. package/src/reactivity/observer/index.js +44 -0
  177. package/src/reactivity/observer/intersection.js +44 -0
  178. package/src/reactivity/observer/mutation.js +113 -0
  179. package/src/reactivity/observer/resize.js +47 -0
  180. package/src/reactivity/observer/screen.js +45 -0
  181. package/src/reactivity/observer/screen.js.txt +84 -0
  182. package/src/reactivity/observer/screen.txt +13 -0
  183. package/src/time/animation.js +76 -0
  184. package/src/time/index.js +54 -0
  185. package/src/time/loop.js +87 -0
  186. package/src/time/utils/decorators.js +17 -0
  187. package/src/time/utils/ease.js +144 -0
  188. package/src/time/utils/index.js +18 -0
  189. package/src/time/utils/performance.js +16 -0
  190. package/src/time/utils/ui.js +26 -0
  191. package/src/user-interface/elements/derived/Flex.js +103 -0
  192. package/src/user-interface/elements/derived/Grid.js +33 -0
  193. package/src/user-interface/elements/derived/elements/Notification.js +0 -0
  194. package/src/user-interface/elements/derived/elements/Popover.js +0 -0
  195. package/src/user-interface/elements/derived/elements/Popup.js +0 -0
  196. package/src/user-interface/elements/derived/elements/Swipper.js +4 -0
  197. package/src/user-interface/elements/derived/elements/Timeline.js +0 -0
  198. package/src/user-interface/elements/derived/elements/Toast.js +0 -0
  199. package/src/user-interface/elements/derived/elements/Treeview.js +0 -0
  200. package/src/user-interface/elements/derived/elements/accordion/accordion.js +45 -0
  201. package/src/user-interface/elements/derived/elements/accordion/collapsible.js +82 -0
  202. package/src/user-interface/elements/derived/elements/accordion/index.js +2 -0
  203. package/src/user-interface/elements/derived/elements/alert/alert.js +80 -0
  204. package/src/user-interface/elements/derived/elements/alert/index.js +1 -0
  205. package/src/user-interface/elements/derived/elements/alert/palette.js +52 -0
  206. package/src/user-interface/elements/derived/elements/carousel/index.js +50 -0
  207. package/src/user-interface/elements/derived/elements/code-note/SubElements.js.txt +105 -0
  208. package/src/user-interface/elements/derived/elements/code-note/code-cell.js +195 -0
  209. package/src/user-interface/elements/derived/elements/code-note/code-note.js +72 -0
  210. package/src/user-interface/elements/derived/elements/code-note/index.js +2 -0
  211. package/src/user-interface/elements/derived/elements/code-note/sub-elements.js +67 -0
  212. package/src/user-interface/elements/derived/elements/columns.js +1 -0
  213. package/src/user-interface/elements/derived/elements/fab.js +0 -0
  214. package/src/user-interface/elements/derived/elements/index.js +9 -0
  215. package/src/user-interface/elements/derived/elements/menu/index.js +1 -0
  216. package/src/user-interface/elements/derived/elements/menu/menu3d.js +260 -0
  217. package/src/user-interface/elements/derived/elements/modal/index.js +92 -0
  218. package/src/user-interface/elements/derived/elements/pagination/breadcrumbs.js +54 -0
  219. package/src/user-interface/elements/derived/elements/pagination/index.js +1 -0
  220. package/src/user-interface/elements/derived/elements/splitter/__ZikoUISplitter__.js +62 -0
  221. package/src/user-interface/elements/derived/elements/splitter/hsplitter.js +40 -0
  222. package/src/user-interface/elements/derived/elements/splitter/index.js +2 -0
  223. package/src/user-interface/elements/derived/elements/splitter/vsplitter.js +40 -0
  224. package/src/user-interface/elements/derived/elements/tabs/index.js +180 -0
  225. package/src/user-interface/elements/derived/index.js +3 -0
  226. package/src/user-interface/elements/primitives/ZikoUIContainerElement.js +127 -0
  227. package/src/user-interface/elements/primitives/ZikoUIElement.js +478 -0
  228. package/src/user-interface/elements/primitives/embaded/index.js +1 -0
  229. package/src/user-interface/elements/primitives/index.js +8 -0
  230. package/src/user-interface/elements/primitives/io/Form/index.js +42 -0
  231. package/src/user-interface/elements/primitives/io/Form/index.js.txt +104 -0
  232. package/src/user-interface/elements/primitives/io/Inputs/__helpers__.js +52 -0
  233. package/src/user-interface/elements/primitives/io/Inputs/index.js +12 -0
  234. package/src/user-interface/elements/primitives/io/Inputs/input/index.js +98 -0
  235. package/src/user-interface/elements/primitives/io/Inputs/input-camera/index.js +26 -0
  236. package/src/user-interface/elements/primitives/io/Inputs/input-checkbox/index.js +26 -0
  237. package/src/user-interface/elements/primitives/io/Inputs/input-color/index.js +16 -0
  238. package/src/user-interface/elements/primitives/io/Inputs/input-date-time/index.js +3 -0
  239. package/src/user-interface/elements/primitives/io/Inputs/input-date-time/input-date-time.js +14 -0
  240. package/src/user-interface/elements/primitives/io/Inputs/input-date-time/input-date.js +14 -0
  241. package/src/user-interface/elements/primitives/io/Inputs/input-date-time/input-time.js +14 -0
  242. package/src/user-interface/elements/primitives/io/Inputs/input-email-password/index.js +2 -0
  243. package/src/user-interface/elements/primitives/io/Inputs/input-email-password/input-email.js +15 -0
  244. package/src/user-interface/elements/primitives/io/Inputs/input-email-password/input-password.js +14 -0
  245. package/src/user-interface/elements/primitives/io/Inputs/input-file/index.js +1 -0
  246. package/src/user-interface/elements/primitives/io/Inputs/input-file/input-file.js +0 -0
  247. package/src/user-interface/elements/primitives/io/Inputs/input-file/input-image.js +43 -0
  248. package/src/user-interface/elements/primitives/io/Inputs/input-number/index.js +37 -0
  249. package/src/user-interface/elements/primitives/io/Inputs/input-radio/index.js +26 -0
  250. package/src/user-interface/elements/primitives/io/Inputs/input-search/index.js +45 -0
  251. package/src/user-interface/elements/primitives/io/Inputs/input-slider/index.js +34 -0
  252. package/src/user-interface/elements/primitives/io/Select/index.js +20 -0
  253. package/src/user-interface/elements/primitives/io/Textarea/index.js +18 -0
  254. package/src/user-interface/elements/primitives/io/index.js +4 -0
  255. package/src/user-interface/elements/primitives/list/elements.js +0 -0
  256. package/src/user-interface/elements/primitives/list/index.js +139 -0
  257. package/src/user-interface/elements/primitives/media/Audio/index.js +17 -0
  258. package/src/user-interface/elements/primitives/media/Image/figure.js +19 -0
  259. package/src/user-interface/elements/primitives/media/Image/image.js +36 -0
  260. package/src/user-interface/elements/primitives/media/Image/index.js +2 -0
  261. package/src/user-interface/elements/primitives/media/Video/index.js +27 -0
  262. package/src/user-interface/elements/primitives/media/__ZikoUIDynamicMediaELement__.js +47 -0
  263. package/src/user-interface/elements/primitives/media/index.js +3 -0
  264. package/src/user-interface/elements/primitives/misc/index.js +99 -0
  265. package/src/user-interface/elements/primitives/semantic/index.js +82 -0
  266. package/src/user-interface/elements/primitives/table/elements.js +94 -0
  267. package/src/user-interface/elements/primitives/table/index.js +3 -0
  268. package/src/user-interface/elements/primitives/table/table.js +115 -0
  269. package/src/user-interface/elements/primitives/table/utils.js +12 -0
  270. package/src/user-interface/elements/primitives/text/__ZikoUIText__.js +71 -0
  271. package/src/user-interface/elements/primitives/text/heading.js +36 -0
  272. package/src/user-interface/elements/primitives/text/index.js +3 -0
  273. package/src/user-interface/elements/primitives/text/p.js +26 -0
  274. package/src/user-interface/elements/primitives/text/pre.js +0 -0
  275. package/src/user-interface/elements/primitives/text/text.js +81 -0
  276. package/src/user-interface/index.js +188 -0
  277. package/src/user-interface/style/index.js +510 -0
  278. package/src/user-interface/utils/index.js +70 -0
@@ -0,0 +1,98 @@
1
+ import ZikoUIElement from "../../../ZikoUIElement.js";
2
+ import { useInputEvent } from "../../../../../../reactivity/index.js";
3
+ class ZikoUIInput extends ZikoUIElement {
4
+ constructor(type, name , value = "", datalist) {
5
+ super("input", "input");
6
+ Object.assign(this.events, { input: null });
7
+ this.setValue(value);
8
+ this.setAttr("type", type);
9
+ this.setAttr("name", name);
10
+ if (datalist) this.linkDatalist(datalist);
11
+ }
12
+ get isInput() {
13
+ return true;
14
+ }
15
+ setName(name){
16
+ this.setAttr("name", name);
17
+ return this;
18
+ }
19
+ onInput(...callbacks) {
20
+ if (!this.events.input) this.events.input = useInputEvent(this);
21
+ this.events.input.onInput(...callbacks);
22
+ return this;
23
+ }
24
+ onChange(...callbacks) {
25
+ if (!this.events.input) this.events.input = useInputEvent(this);
26
+ this.events.input.onChange(...callbacks);
27
+ return this;
28
+ }
29
+ linkDatalist(datalist) {
30
+ let id;
31
+ if (datalist instanceof ZikoUIInputDatalist) id = datalist.Id;
32
+ else if (datalist instanceof Array) {
33
+ const Datalist = new ZikoUIInputDatalist(...datalist);
34
+ id = Datalist.Id;
35
+ console.log(Datalist);
36
+ } else id = datalist;
37
+ this.element?.setAttribute("list", id);
38
+ return this;
39
+ }
40
+ get value() {
41
+ return this.element.value;
42
+ }
43
+ // _setType(type) {
44
+ // this.element.type = type;
45
+ // return this;
46
+ // }
47
+ setValue(value = "") {
48
+ this.element.value = value;
49
+ return this;
50
+ }
51
+ useState(state) {
52
+ this.setValue(state);
53
+ return [{ value: this.value }, (e) => this.setValue(e)];
54
+ }
55
+ setPlaceholder(value) {
56
+ if (value) this.element.placeholder = value;
57
+ return this;
58
+ }
59
+ get isValide() {
60
+ return this.element.checkValidity();
61
+ }
62
+ setRequired(required = true) {
63
+ this.element.required = required;
64
+ return this;
65
+ }
66
+ select() {
67
+ this.element.select();
68
+ return this;
69
+ }
70
+ copy() {
71
+ this.element.select();
72
+ document.execCommand("copy");
73
+ return this;
74
+ }
75
+ cut() {
76
+ this.element.select();
77
+ document.execCommand("cut");
78
+ return this;
79
+ }
80
+ accept(value) {
81
+ this.element.accept = value;
82
+ return this;
83
+ }
84
+ }
85
+
86
+ const input = (value, datalist) => {
87
+ if (value instanceof Object) {
88
+ const { datalist, placeholder } = value;
89
+ value = value.value ?? "";
90
+ return new ZikoUIInput("text", "input", value, datalist).setPlaceholder(placeholder);
91
+ }
92
+ return new ZikoUIInput("text", "input", value, datalist);
93
+ };
94
+
95
+ export{
96
+ ZikoUIInput,
97
+ input
98
+ }
@@ -0,0 +1,26 @@
1
+ import { ZikoUIVideo } from "../../../media";
2
+ class ZikoUIWebcame extends ZikoUIVideo{
3
+ constructor(){
4
+ super()
5
+ this.element?.setAttribute("src", "");
6
+ this.constraints = { audio: true, video: { width: 1280, height: 720 } };
7
+ //this.video=this.element
8
+ }
9
+ get isInputCamera(){
10
+ return true;
11
+ }
12
+ start(){
13
+ navigator.mediaDevices.getUserMedia(this.constraints).then((mediaStream)=>{
14
+ this.element.srcObject = mediaStream;
15
+ this.element.onloadedmetadata = () =>{
16
+ this.element.play();
17
+ };
18
+ })
19
+ .catch(function(err) { console.log(err.name + ": " + err.message); });
20
+ return this;
21
+ }
22
+ }
23
+ const inputCamera=()=>new ZikoUIWebcame();
24
+ export{
25
+ inputCamera
26
+ }
@@ -0,0 +1,26 @@
1
+ import { ZikoUIInput } from "../input";
2
+ class ZikoUIInputCheckbox extends ZikoUIInput {
3
+ constructor() {
4
+ super("checkbox", "inputCheckbox");
5
+ this.cursor("pointer");
6
+ }
7
+ get isInputCheckbox(){
8
+ return true;
9
+ }
10
+ get checked() {
11
+ return this.element.checked;
12
+ }
13
+ check(checked = true) {
14
+ this.element.checked = checked;
15
+ return this;
16
+ }
17
+ color(color) {
18
+ this.element.style.accentColor = color;
19
+ return this;
20
+ }
21
+ }
22
+ const checkbox = () => new ZikoUIInputCheckbox();
23
+ export{
24
+ ZikoUIInputCheckbox,
25
+ checkbox
26
+ }
@@ -0,0 +1,16 @@
1
+ import { ZikoUIInput } from "../input";
2
+ class ZikoUIInputColor extends ZikoUIInput {
3
+ constructor() {
4
+ super("color", "inputColor");
5
+ this.background(this.value);
6
+ this.onInput(() => this.background(this.value));
7
+ }
8
+ get isInputColor(){
9
+ return true;
10
+ }
11
+ }
12
+ const inputColor = () => new ZikoUIInputColor();
13
+ export{
14
+ ZikoUIInputColor,
15
+ inputColor
16
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./input-date";
2
+ export * from "./input-time";
3
+ export * from "./input-date-time";
@@ -0,0 +1,14 @@
1
+ import { ZikoUIInput } from "../input";
2
+ class ZikoUIInputDateTime extends ZikoUIInput {
3
+ constructor() {
4
+ super("datetime-local", "inputDateTime");
5
+ }
6
+ get isInputDateTime(){
7
+ return true;
8
+ }
9
+ }
10
+ const inputDateTime = () => new ZikoUIInputDateTime();
11
+ export{
12
+ ZikoUIInputDateTime,
13
+ inputDateTime
14
+ }
@@ -0,0 +1,14 @@
1
+ import { ZikoUIInput } from "../input";
2
+ class ZikoUIInputDate extends ZikoUIInput {
3
+ constructor() {
4
+ super("date", "inputDate");
5
+ }
6
+ get isInputDate(){
7
+ return true;
8
+ }
9
+ }
10
+ const inputDate = () => new ZikoUIInputDate();
11
+ export{
12
+ ZikoUIInputDate,
13
+ inputDate
14
+ }
@@ -0,0 +1,14 @@
1
+ import { ZikoUIInput } from "../input";
2
+ class ZikoUIInputTime extends ZikoUIInput {
3
+ constructor() {
4
+ super("time", "inputTime");
5
+ }
6
+ get isInputTime(){
7
+ return true;
8
+ }
9
+ }
10
+ const inputTime = () => new ZikoUIInputTime();
11
+ export{
12
+ ZikoUIInputTime,
13
+ inputTime
14
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./input-email";
2
+ export * from "./input-password";
@@ -0,0 +1,15 @@
1
+
2
+ import { ZikoUIInput } from "../input";
3
+ class ZikoUIInputEmail extends ZikoUIInput {
4
+ constructor() {
5
+ super("email", "inputEmail");
6
+ }
7
+ get isInputEmail(){
8
+ return true;
9
+ }
10
+ }
11
+ const inputEmail = () => new ZikoUIInputEmail();
12
+ export{
13
+ ZikoUIInputEmail,
14
+ inputEmail
15
+ }
@@ -0,0 +1,14 @@
1
+ import { ZikoUIInput } from "../input";
2
+ class ZikoUIInputPassword extends ZikoUIInput {
3
+ constructor() {
4
+ super("password", "inputPassword");
5
+ }
6
+ get isInputPassword(){
7
+ return true;
8
+ }
9
+ }
10
+ const inputPassword = () => new ZikoUIInputPassword();
11
+ export{
12
+ ZikoUIInputPassword,
13
+ inputPassword
14
+ }
@@ -0,0 +1 @@
1
+ export * from "./input-image"
@@ -0,0 +1,43 @@
1
+ import ZikoUIElement from "../../../ZikoUIElement";
2
+ import { btn } from "../../../misc";
3
+ class ZikoUIInputImage extends ZikoUIElement {
4
+ constructor(text = "File") {
5
+ super("inputImage");
6
+ this._aux_element = btn(text).setTarget(this.target);
7
+ this.element = document?.createElement("input");
8
+ this.element?.setAttribute("type", "file");
9
+ this.element?.setAttribute("accept", "image");
10
+ this._aux_element.onClick(() => this.element.click());
11
+ this.element.onChange = this.handleImage.bind(this);
12
+ }
13
+ get isInputImage(){
14
+ return true;
15
+ }
16
+ handleImage(e) {
17
+ const reader = new FileReader();
18
+ const img = new Image();
19
+ reader.onload = function (event) {
20
+ img.src = event.target.result;
21
+ console.log(img.src);
22
+ };
23
+ reader.readAsDataURL(e.target.files[0]);
24
+ this.img = img;
25
+ }
26
+ get value() {
27
+ return this.img;
28
+ }
29
+ render(bool = true) {
30
+ if (bool) this.target.appendChild(this._aux_element.element);
31
+ else this.remove();
32
+ return this;
33
+ }
34
+ remove() {
35
+ if (this.target.children.length) this.target.removeChild(this._aux_element.element);
36
+ return this;
37
+ }
38
+ }
39
+ const inputImage = (text) => new ZikoUIInputImage(text);
40
+ export{
41
+ ZikoUIInputImage,
42
+ inputImage
43
+ }
@@ -0,0 +1,37 @@
1
+ import { ZikoUIInput } from "../input";
2
+ class ZikoUIInputNumber extends ZikoUIInput {
3
+ constructor(min, max, step = 1) {
4
+ super("number", "inpuNumber");
5
+ this.setMin(min).setMax(max).setStep(step);
6
+ }
7
+ get isInputNumber() {
8
+ return true;
9
+ }
10
+ get value() {
11
+ return +this.element.value;
12
+ }
13
+ setMin(min) {
14
+ this.element.min = min;
15
+ return this;
16
+ }
17
+ setMax(max) {
18
+ this.element.max = max;
19
+ return this;
20
+ }
21
+ setStep(step) {
22
+ this.element.step = step;
23
+ return this;
24
+ }
25
+ }
26
+ const inputNumber = (min, max, step) => {
27
+ if (min instanceof Object) {
28
+ const { value, max = 10, step = 1, placeholder = "" } = min;
29
+ min = min?.min ?? 0;
30
+ return new ZikoUIInputSlider(min, max, step)
31
+ .setValue(value)
32
+ .setPlaceholder(placeholder);
33
+ }
34
+ return new ZikoUIInputNumber(min, max, step);
35
+ };
36
+ export { inputNumber, ZikoUIInputNumber };
37
+
@@ -0,0 +1,26 @@
1
+ import { ZikoUIInput } from "../input";
2
+ class ZikoUIInputRadio extends ZikoUIInput {
3
+ constructor() {
4
+ super("radio", "inputRadio");
5
+ this.cursor("pointer");
6
+ }
7
+ get isInputRadio(){
8
+ return true;
9
+ }
10
+ get checked() {
11
+ return this.element.checked;
12
+ }
13
+ check(checked = true) {
14
+ this.element.checked = checked;
15
+ return this;
16
+ }
17
+ color(color) {
18
+ this.element.style.accentColor = color;
19
+ return this;
20
+ }
21
+ }
22
+ const radio = () => new ZikoUIInputRadio();
23
+ export{
24
+ ZikoUIInputRadio,
25
+ radio
26
+ }
@@ -0,0 +1,45 @@
1
+ import { ZikoUIInput } from "../input";
2
+ class ZikoUIInputSearch extends ZikoUIInput {
3
+ constructor() {
4
+ super("search", "inputSearch");
5
+ this.Length = 0;
6
+ }
7
+ get isInputSearch() {
8
+ return true;
9
+ }
10
+ onsearch(callback) {
11
+ this.element?.addEventListener("search", () => callback());
12
+ return this;
13
+ }
14
+ connect(...UIElement) {
15
+ /*
16
+ let memory = new Array(UIElement.length).fill([]);
17
+ UIElement.map((n, i) => {
18
+ //console.log(n)
19
+ n.items.map((m, j) => {
20
+ memory[i][j] = m.element.style.display;
21
+ });
22
+ });
23
+ UIElement.map((n, i) =>
24
+ this.onInput(() => {
25
+ n.filterByTextContent(this.value, memory[i]);
26
+ this.Length = n.children.filter(
27
+ (n) => n.style.display != "none"
28
+ ).length;
29
+ })
30
+ );
31
+ */
32
+ return this;
33
+ }
34
+ displayLength(UIElement) {
35
+ this.element?.addEventListener("keyup", () =>
36
+ UIElement.setValue(this.Length),
37
+ );
38
+ return this;
39
+ }
40
+ }
41
+ const search = (...a) => new ZikoUIInputSearch().connect(...a);
42
+ export {
43
+ ZikoUIInputSearch,
44
+ search
45
+ };
@@ -0,0 +1,34 @@
1
+ import { ZikoUIInput } from "../input";
2
+ class ZikoUIInputSlider extends ZikoUIInput {
3
+ constructor(val = 0, min = 0, max = 10, step = 1) {
4
+ super("range", "inputSlider");
5
+ this.setMin(min).setMax(max).setValue(val).setStep(step);
6
+ }
7
+ get isInputSlider(){
8
+ return true;
9
+ }
10
+ setMin(min) {
11
+ this.element.min = min;
12
+ return this;
13
+ }
14
+ setMax(max) {
15
+ this.element.max = max;
16
+ return this;
17
+ }
18
+ setStep(step) {
19
+ this.element.step = step;
20
+ return this;
21
+ }
22
+ }
23
+ const slider = (value, min, max, step) =>{
24
+ if(value instanceof Object){
25
+ const {min=0,max=10,step=1}=value;
26
+ value=value?.value??5;
27
+ return new ZikoUIInputSlider(value, min, max, step);
28
+ }
29
+ return new ZikoUIInputSlider(value, min, max, step);
30
+ }
31
+ export{
32
+ ZikoUIInputSlider,
33
+ slider
34
+ }
@@ -0,0 +1,20 @@
1
+ import ZikoUIElement from "../../ZikoUIElement";
2
+ import { ZikoUIInputOption } from "../Inputs/__helpers__";
3
+ class ZikoUISelect extends ZikoUIElement {
4
+ constructor(){
5
+ super();
6
+ this.element=document?.createElement("select");
7
+ }
8
+ addOptions(...options) {
9
+ options.map(n => this.append(new ZikoUIInputOption(n)));
10
+ return this;
11
+ }
12
+ get isSelect(){
13
+ return true;
14
+ }
15
+ }
16
+ const select=()=>new ZikoUISelect()
17
+ export{
18
+ select,
19
+ ZikoUISelect
20
+ }
@@ -0,0 +1,18 @@
1
+ import ZikoUIElement from "../../ZikoUIElement";
2
+ class ZikoUITextArea extends ZikoUIElement {
3
+ constructor() {
4
+ super();
5
+ this.element = document?.createElement("textarea");
6
+ }
7
+ get value(){
8
+ return this.element.textContent;
9
+ }
10
+ get isTextArea(){
11
+ return true;
12
+ }
13
+ }
14
+ const textarea =()=> new ZikoUITextArea();
15
+ export {
16
+ ZikoUITextArea,
17
+ textarea
18
+ }
@@ -0,0 +1,4 @@
1
+ export * from "./Inputs";
2
+ export * from "./Select";
3
+ export * from "./Textarea";
4
+ export * from "./Form";
@@ -0,0 +1,139 @@
1
+ import ZikoUIElement from "../ZikoUIElement.js";
2
+ import ZikoUIContainerElement from "../ZikoUIContainerElement.js";
3
+ import {text} from "../text/index.js";
4
+ class ZikoUILI extends ZikoUIContainerElement{
5
+ constructor(UI){
6
+ super("li","li");
7
+ this.append(UI);
8
+ }
9
+ get isLi(){
10
+ return true;
11
+ }
12
+ }
13
+ class ZikoUIList extends ZikoUIContainerElement {
14
+ constructor(element,name) {
15
+ super(element,name);
16
+ delete this.append;
17
+ this.style({ listStylePosition: "inside" });
18
+ }
19
+ get isList(){
20
+ return true;
21
+ }
22
+ append(...arr){
23
+ for (let i = 0; i < arr.length; i++) {
24
+ let li = null;
25
+ if(["string","number"].includes(typeof arr[i]))arr[i]=text(arr[i])
26
+ if (arr[i] instanceof ZikoUIElement)li=new ZikoUILI(arr[i]);
27
+ li.setTarget(this.element)
28
+ this.items.push(li[0]);
29
+ this.maintain();
30
+ }
31
+ }
32
+ remove(...ele) {
33
+ if(ele.length==0){
34
+ if(this.target.children.length) this.target.removeChild(this.element);
35
+ }
36
+ else {
37
+ const remove = (ele) => {
38
+ if(typeof ele === "number") ele=this.items[ele];
39
+ if(ele instanceof ZikoUIElement)this.element?.removeChild(ele.parent.element);
40
+ this.items=this.items.filter(n=>n!==ele);
41
+ };
42
+ for (let i = 0; i < ele.length; i++) remove(ele[i]);
43
+ for (let i = 0; i < this.items.length; i++)
44
+ Object.assign(this, { [[i]]: this.items[i] });
45
+ }
46
+ return this;
47
+ }
48
+ insertAt(index, ...ele) {
49
+ if (index >= this.element.children.length) this.append(...ele);
50
+ else
51
+ for (let i = 0; i < ele.length; i++) {
52
+ let li = null;
53
+ if(["number","string"].includes(typeof ele[i]))ele[i]=text(ele[i]);
54
+ if (ele[i] instanceof ZikoUIElement)li=new ZikoUILI(ele[i]);
55
+ this.element?.insertBefore(li.element, this.items[index].parent.element);
56
+ this.items.splice(index, 0, ele[i][0]);
57
+ }
58
+ return this;
59
+ }
60
+ filterByTextContent(text,exactMatch=false){
61
+ this.items.map(n=>n.parent.render());
62
+ this.items.filter(n=>{
63
+ const content=n.element.textContent
64
+ return !(exactMatch?content===text:content.includes(text))
65
+ }).map(n=>n.parent.render(false));
66
+ return this;
67
+ }
68
+ sortByTextContent(order=1){
69
+ this.items.map(n=>n.parent.render(false));
70
+ // To Fix
71
+ this.sortedItems=this.items.sort((a,b)=>order*a.element.textContent.localeCompare(b.element.textContent))
72
+ this.append(...this.sortedItems);
73
+ return this;
74
+ }
75
+ filterByClass(value) {
76
+ this.items.map(n=>n.parent.render(true));
77
+ this.items.filter(n=>!n.Classes.includes(value)).map(n=>n.parent.render(false));
78
+ return this;
79
+ }
80
+ delete(value) {
81
+ const valueIndex = [...this.element.children].indexOf(value);
82
+ return valueIndex;
83
+ /*if(valueIndex >= 0) {
84
+ return this.list.splice(valueIndex, 1);
85
+ }*/
86
+ }
87
+ push(){
88
+
89
+ }
90
+ pop(){
91
+
92
+ }
93
+ unshift(){
94
+
95
+ }
96
+ shift(){
97
+
98
+ }
99
+ sort(){
100
+
101
+ }
102
+ filter(){
103
+
104
+ }
105
+ slice(){
106
+
107
+ }
108
+ }
109
+ class ZikoUIOList extends ZikoUIList{
110
+ constructor(...arr){
111
+ super("ol","ol");
112
+ this.append(...arr);
113
+ }
114
+ get isOl(){
115
+ return true;
116
+ }
117
+ type(tp = 1) {
118
+ this.element?.setAttribute("type", tp);
119
+ return this;
120
+ }
121
+ start(st = 1) {
122
+ this.element?.setAttribute("start", st);
123
+ return this;
124
+ }
125
+ }
126
+ class ZikoUIUList extends ZikoUIList{
127
+ constructor(...arr){
128
+ super("ul","ul");
129
+ this.append(...arr);
130
+ }
131
+ get isUl(){
132
+ return true;
133
+ }
134
+ }
135
+ const li=UI=>new ZikoUILI(UI)
136
+ const ol = (...arr) => new ZikoUIOList(...arr);
137
+ const ul = (...arr) => new ZikoUIUList(...arr);
138
+
139
+ export{ol,ul,li}
@@ -0,0 +1,17 @@
1
+ import { __ZikoUIDynamicMediaElement__ } from "../__ZikoUIDynamicMediaELement__.js";
2
+ class ZikoUIAudio extends __ZikoUIDynamicMediaElement__ {
3
+ constructor(src) {
4
+ super("audio","audio");
5
+ this.element?.setAttribute("src", src);
6
+ this.size("150px","30px")
7
+ // this.useControls();
8
+ }
9
+ get isAudio(){
10
+ return true;
11
+ }
12
+ }
13
+ const audio = (src) => new ZikoUIAudio(src);
14
+ export {
15
+ audio,
16
+ ZikoUIAudio
17
+ }
@@ -0,0 +1,19 @@
1
+ import ZikoUIElement from "../../ZikoUIElement";
2
+ class ZikoUIFigure extends ZikoUIElement{
3
+ constructor(src,caption){
4
+ super("figure","figure")
5
+ this.img=src.width("100%").element;
6
+ this.caption=document?.createElementt("figcaption");
7
+ this.caption.append(caption.element)
8
+ this.element?.append(this.img);
9
+ this.element?.append(this.caption);
10
+ }
11
+ get isFigure(){
12
+ return true;
13
+ }
14
+ }
15
+ const figure =(image,caption) =>new ZikoUIFigure(image,caption);
16
+ export{
17
+ figure,
18
+ ZikoUIFigure
19
+ }