ziko 0.0.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 (226) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +316 -0
  3. package/dist/ziko.cjs +9786 -0
  4. package/dist/ziko.js +9792 -0
  5. package/dist/ziko.min.js +9 -0
  6. package/dist/ziko.mjs +9567 -0
  7. package/package.json +55 -0
  8. package/src/App/Accessibility/index.js +0 -0
  9. package/src/App/Globals/__Target__.js +3 -0
  10. package/src/App/Globals/__UI__.js +38 -0
  11. package/src/App/Globals/__init__.js +8 -0
  12. package/src/App/Globals/index.js +3 -0
  13. package/src/App/Router/index.js +40 -0
  14. package/src/App/Seo/index.js +43 -0
  15. package/src/App/Themes/dark.js +885 -0
  16. package/src/App/Themes/index.js +11 -0
  17. package/src/App/Themes/light.js +255 -0
  18. package/src/App/app.js +37 -0
  19. package/src/App/index.js +11 -0
  20. package/src/Data/Api/fetchdom.js +14 -0
  21. package/src/Data/Api/index.js +4 -0
  22. package/src/Data/Api/preload.js +11 -0
  23. package/src/Data/Converter/canvas.js +25 -0
  24. package/src/Data/Converter/csv.js +33 -0
  25. package/src/Data/Converter/index.js +25 -0
  26. package/src/Data/Converter/json.js +80 -0
  27. package/src/Data/Converter/markdown.js +83 -0
  28. package/src/Data/Converter/svg.js +11 -0
  29. package/src/Data/Parser/markdown.js +0 -0
  30. package/src/Data/Parser/xml.js +47 -0
  31. package/src/Data/Strings/index.js +26 -0
  32. package/src/Data/decorators.js +0 -0
  33. package/src/Data/index.js +64 -0
  34. package/src/Graphics/Canvas/Elements/Basic/arc.js +43 -0
  35. package/src/Graphics/Canvas/Elements/Basic/image.js +0 -0
  36. package/src/Graphics/Canvas/Elements/Basic/line.js +26 -0
  37. package/src/Graphics/Canvas/Elements/Basic/path.js +0 -0
  38. package/src/Graphics/Canvas/Elements/Basic/points.js +48 -0
  39. package/src/Graphics/Canvas/Elements/Basic/polygon.js +7 -0
  40. package/src/Graphics/Canvas/Elements/Basic/polyline.js +0 -0
  41. package/src/Graphics/Canvas/Elements/Basic/rect.js +46 -0
  42. package/src/Graphics/Canvas/Elements/Basic/text.js +0 -0
  43. package/src/Graphics/Canvas/Elements/Chart/histogram.js +0 -0
  44. package/src/Graphics/Canvas/Elements/Chart/plot.js +0 -0
  45. package/src/Graphics/Canvas/Elements/Chart/scatter.js +2 -0
  46. package/src/Graphics/Canvas/Elements/Chart/stem.js +0 -0
  47. package/src/Graphics/Canvas/Elements/Element.js +115 -0
  48. package/src/Graphics/Canvas/Elements/Groupe.js +0 -0
  49. package/src/Graphics/Canvas/Elements/grid.js +0 -0
  50. package/src/Graphics/Canvas/Elements/index.js +13 -0
  51. package/src/Graphics/Canvas/Filter/index.js +0 -0
  52. package/src/Graphics/Canvas/Paint/index.js +0 -0
  53. package/src/Graphics/Canvas/Utils/color.js +8 -0
  54. package/src/Graphics/Canvas/Utils/floodFill.js +58 -0
  55. package/src/Graphics/Canvas/_canvas_offscreen +0 -0
  56. package/src/Graphics/Canvas/canvas.js +189 -0
  57. package/src/Graphics/Canvas/index.js +15 -0
  58. package/src/Graphics/Svg/Elements/ZikoSvgElement.js +28 -0
  59. package/src/Graphics/Svg/Elements/circle.js +34 -0
  60. package/src/Graphics/Svg/Elements/ellipse.js +29 -0
  61. package/src/Graphics/Svg/Elements/foreignObject.js +46 -0
  62. package/src/Graphics/Svg/Elements/grid.js +9 -0
  63. package/src/Graphics/Svg/Elements/groupe.js +29 -0
  64. package/src/Graphics/Svg/Elements/image.js +33 -0
  65. package/src/Graphics/Svg/Elements/line.js +29 -0
  66. package/src/Graphics/Svg/Elements/path.js +59 -0
  67. package/src/Graphics/Svg/Elements/polygon.js +31 -0
  68. package/src/Graphics/Svg/Elements/polyline.js +4 -0
  69. package/src/Graphics/Svg/Elements/rect.js +43 -0
  70. package/src/Graphics/Svg/Elements/text.js +26 -0
  71. package/src/Graphics/Svg/index.js +1 -0
  72. package/src/Graphics/Svg/svg.js +117 -0
  73. package/src/Graphics/index.js +61 -0
  74. package/src/Math/Calculus/Special Functions/bessel.js +31 -0
  75. package/src/Math/Calculus/Special Functions/beta.js +38 -0
  76. package/src/Math/Calculus/Special Functions/gamma.js +30 -0
  77. package/src/Math/Calculus/Special Functions/index.js +4 -0
  78. package/src/Math/Calculus/index.js +1 -0
  79. package/src/Math/Complex/Fractals/julia.js +0 -0
  80. package/src/Math/Complex/index.js +191 -0
  81. package/src/Math/Discret/Combinaison/index.js +34 -0
  82. package/src/Math/Discret/Conversion/index.js +86 -0
  83. package/src/Math/Discret/Logic/index.js +46 -0
  84. package/src/Math/Discret/Permutation/index.js +31 -0
  85. package/src/Math/Discret/Set/index.js +2 -0
  86. package/src/Math/Discret/Set/powerSet.js +15 -0
  87. package/src/Math/Discret/Set/subSet.js +10 -0
  88. package/src/Math/Discret/index.js +23 -0
  89. package/src/Math/Functions/index.js +182 -0
  90. package/src/Math/Matrix/Decomposition.js +90 -0
  91. package/src/Math/Matrix/LinearSystem.js +10 -0
  92. package/src/Math/Matrix/Matrix.js +712 -0
  93. package/src/Math/Matrix/index.js +3 -0
  94. package/src/Math/Numeric/index.js +0 -0
  95. package/src/Math/Random/index.js +173 -0
  96. package/src/Math/Signal/__np.py.txt +40 -0
  97. package/src/Math/Signal/conv.js +175 -0
  98. package/src/Math/Signal/fft.js +55 -0
  99. package/src/Math/Signal/filter.js +39 -0
  100. package/src/Math/Signal/functions.js +146 -0
  101. package/src/Math/Signal/index.js +110 -0
  102. package/src/Math/Statistics/Functions/index.js +100 -0
  103. package/src/Math/Statistics/index.js +16 -0
  104. package/src/Math/Utils/arithmetic.js +139 -0
  105. package/src/Math/Utils/checkers.js +11 -0
  106. package/src/Math/Utils/comparaison.js +1 -0
  107. package/src/Math/Utils/conversions.js +7 -0
  108. package/src/Math/Utils/discret.js +28 -0
  109. package/src/Math/Utils/index.js +102 -0
  110. package/src/Math/Utils/mapfun.js +43 -0
  111. package/src/Math/absract.js +1 -0
  112. package/src/Math/const.js +3 -0
  113. package/src/Math/index.js +193 -0
  114. package/src/Reactivity/Events/Global/Click.js +56 -0
  115. package/src/Reactivity/Events/Global/Clipboard.js +84 -0
  116. package/src/Reactivity/Events/Global/CustomEvent.js +53 -0
  117. package/src/Reactivity/Events/Global/Drag.js +137 -0
  118. package/src/Reactivity/Events/Global/Focus.js +56 -0
  119. package/src/Reactivity/Events/Global/Key.js +104 -0
  120. package/src/Reactivity/Events/Global/Pointer.js +214 -0
  121. package/src/Reactivity/Events/Partiel/Input.js +59 -0
  122. package/src/Reactivity/Events/ZikoEvent.js +91 -0
  123. package/src/Reactivity/Events/index.js +51 -0
  124. package/src/Reactivity/Observer/index.js +3 -0
  125. package/src/Reactivity/Observer/intersection.js +40 -0
  126. package/src/Reactivity/Observer/mutation.js +90 -0
  127. package/src/Reactivity/Observer/resize.js +47 -0
  128. package/src/Reactivity/Use/Contexte/index.js +1 -0
  129. package/src/Reactivity/Use/Contexte/useSuccesifKeys.js +14 -0
  130. package/src/Reactivity/Use/Decorators/index.js +4 -0
  131. package/src/Reactivity/Use/Interactions/index.js +4 -0
  132. package/src/Reactivity/Use/Interactions/useBluetooth.js +48 -0
  133. package/src/Reactivity/Use/Interactions/useChannel.js +50 -0
  134. package/src/Reactivity/Use/Interactions/useEventEmmiter.js +64 -0
  135. package/src/Reactivity/Use/Interactions/useSerial.js +0 -0
  136. package/src/Reactivity/Use/Interactions/useThread.js +44 -0
  137. package/src/Reactivity/Use/Interactions/useUsb.js +0 -0
  138. package/src/Reactivity/Use/Sensors/index.js +2 -0
  139. package/src/Reactivity/Use/Sensors/useBattery.js +36 -0
  140. package/src/Reactivity/Use/Sensors/useCamera.js +0 -0
  141. package/src/Reactivity/Use/Sensors/useGeolocation.js +17 -0
  142. package/src/Reactivity/Use/Sensors/useMicro.js +0 -0
  143. package/src/Reactivity/Use/Sensors/useOrientation.js +0 -0
  144. package/src/Reactivity/Use/Storage/index.js +1 -0
  145. package/src/Reactivity/Use/Storage/useCookie.js +0 -0
  146. package/src/Reactivity/Use/Storage/useIndexedDb.js +0 -0
  147. package/src/Reactivity/Use/Storage/useStorage.js +74 -0
  148. package/src/Reactivity/Use/UI/index.js +4 -0
  149. package/src/Reactivity/Use/UI/useCssLink.js +0 -0
  150. package/src/Reactivity/Use/UI/useCssText.js +21 -0
  151. package/src/Reactivity/Use/UI/useFavIcon.js +38 -0
  152. package/src/Reactivity/Use/UI/useLinearGradient.js +0 -0
  153. package/src/Reactivity/Use/UI/useMediaQuery.js +1 -0
  154. package/src/Reactivity/Use/UI/useRadialGradient.js +0 -0
  155. package/src/Reactivity/Use/UI/useStyle.js +54 -0
  156. package/src/Reactivity/Use/UI/useTheme.js +62 -0
  157. package/src/Reactivity/Use/UI/useTitle.js +30 -0
  158. package/src/Reactivity/Use/index.js +82 -0
  159. package/src/Reactivity/Use/todo.md +26 -0
  160. package/src/Reactivity/index.js +3 -0
  161. package/src/Time/animation.js +76 -0
  162. package/src/Time/index.js +54 -0
  163. package/src/Time/loop.js +83 -0
  164. package/src/Time/utils/decorators.js +17 -0
  165. package/src/Time/utils/ease.js +144 -0
  166. package/src/Time/utils/index.js +18 -0
  167. package/src/Time/utils/performance.js +16 -0
  168. package/src/Time/utils/ui.js +26 -0
  169. package/src/UI/CustomElement/Elements/Accordion/index.js +62 -0
  170. package/src/UI/CustomElement/Elements/Carousel/index.js +47 -0
  171. package/src/UI/CustomElement/Elements/CodeNote/CodeCell.js +176 -0
  172. package/src/UI/CustomElement/Elements/CodeNote/CodeNote.js +69 -0
  173. package/src/UI/CustomElement/Elements/CodeNote/SubElements.js +64 -0
  174. package/src/UI/CustomElement/Elements/CodeNote/index.js +2 -0
  175. package/src/UI/CustomElement/Elements/Columns.js +1 -0
  176. package/src/UI/CustomElement/Elements/FAB.js +0 -0
  177. package/src/UI/CustomElement/Elements/Menu.js +0 -0
  178. package/src/UI/CustomElement/Elements/Notification.js +0 -0
  179. package/src/UI/CustomElement/Elements/Popover.js +0 -0
  180. package/src/UI/CustomElement/Elements/Popup.js +0 -0
  181. package/src/UI/CustomElement/Elements/Swipper.js +4 -0
  182. package/src/UI/CustomElement/Elements/Tabs/index.js +111 -0
  183. package/src/UI/CustomElement/Elements/Timeline.js +0 -0
  184. package/src/UI/CustomElement/Elements/Toast.js +0 -0
  185. package/src/UI/CustomElement/Elements/Treeview.js +0 -0
  186. package/src/UI/CustomElement/Elements/index.js +4 -0
  187. package/src/UI/CustomElement/Flex.js +97 -0
  188. package/src/UI/CustomElement/Grid.js +30 -0
  189. package/src/UI/CustomElement/index.js +3 -0
  190. package/src/UI/Embaded/index.js +1 -0
  191. package/src/UI/Inputs/Primitives/btn.js +31 -0
  192. package/src/UI/Inputs/Primitives/elements.js +28 -0
  193. package/src/UI/Inputs/Primitives/inputs.js +334 -0
  194. package/src/UI/Inputs/Primitives/select.js +15 -0
  195. package/src/UI/Inputs/Primitives/textarea.js +16 -0
  196. package/src/UI/Inputs/camera.js +23 -0
  197. package/src/UI/Inputs/index.js +20 -0
  198. package/src/UI/List/elements.js +0 -0
  199. package/src/UI/List/index.js +130 -0
  200. package/src/UI/Media/Audio/index.js +26 -0
  201. package/src/UI/Media/Image/figure.js +17 -0
  202. package/src/UI/Media/Image/image.js +34 -0
  203. package/src/UI/Media/Image/index.js +2 -0
  204. package/src/UI/Media/Video/index.js +37 -0
  205. package/src/UI/Media/index.js +3 -0
  206. package/src/UI/Misc/index.js +49 -0
  207. package/src/UI/Semantic/index.js +68 -0
  208. package/src/UI/Style/index.js +499 -0
  209. package/src/UI/Table/elements.js +94 -0
  210. package/src/UI/Table/index.js +3 -0
  211. package/src/UI/Table/table.js +113 -0
  212. package/src/UI/Table/utils.js +12 -0
  213. package/src/UI/Text/heading.js +35 -0
  214. package/src/UI/Text/index.js +3 -0
  215. package/src/UI/Text/p.js +37 -0
  216. package/src/UI/Text/pre.js +0 -0
  217. package/src/UI/Text/text.js +66 -0
  218. package/src/UI/Utils/index.js +70 -0
  219. package/src/UI/ZikoUIElement.js +478 -0
  220. package/src/UI/index.js +154 -0
  221. package/src/__proto__/Array.js +74 -0
  222. package/src/__proto__/Function.js +0 -0
  223. package/src/__proto__/Number.js +76 -0
  224. package/src/__proto__/Object.js +0 -0
  225. package/src/__proto__/String.js +0 -0
  226. package/src/index.js +69 -0
@@ -0,0 +1,11 @@
1
+ import LightThemes from "./light";
2
+ import DarkThemes from "./dark";
3
+ const Themes={
4
+ ...LightThemes,
5
+ ...DarkThemes
6
+ }
7
+ export {
8
+ Themes,
9
+ LightThemes,
10
+ DarkThemes,
11
+ };
@@ -0,0 +1,255 @@
1
+ const LightThemes={
2
+ cozyCottonCandy: {
3
+ background: "#FCE4EC",
4
+ currentLine: "#F8BBD0",
5
+ selection: "#FFCDD2",
6
+ foreground: "#673AB7",
7
+ comment: "#9575CD",
8
+ cyan: "#00BCD4",
9
+ green: "#4CAF50",
10
+ orange: "#FF9800",
11
+ pink: "#E91E63",
12
+ purple: "#9C27B0",
13
+ red: "#F44336",
14
+ yellow: "#FFEB3B"
15
+ },
16
+ crystalClear: {
17
+ background: "#F6F8FA",
18
+ currentLine: "#E8F0F5",
19
+ selection: "#D4E9F7",
20
+ foreground: "#485766",
21
+ comment: "#8492A6",
22
+ cyan: "#00ACC1",
23
+ green: "#8BC34A",
24
+ orange: "#FFA726",
25
+ pink: "#FF4081",
26
+ purple: "#7E57C2",
27
+ red: "#EF5350",
28
+ yellow: "#FFD740"
29
+ },
30
+ lightdreamyDusk: {
31
+ background: "#F5F5F5",
32
+ currentLine: "#E8E8E8",
33
+ selection: "#DADADA",
34
+ foreground: "#555555",
35
+ comment: "#999999",
36
+ cyan: "#5FB3B3",
37
+ green: "#68C386",
38
+ orange: "#FFB67A",
39
+ pink: "#FF94B0",
40
+ purple: "#B78BC3",
41
+ red: "#FF6666",
42
+ yellow: "#FFD666"
43
+ },
44
+ luminousLavender: {
45
+ background: "#F3E5F5",
46
+ currentLine: "#E1BEE7",
47
+ selection: "#CE93D8",
48
+ foreground: "#311B92",
49
+ comment: "#673AB7",
50
+ cyan: "#00BCD4",
51
+ green: "#8BC34A",
52
+ orange: "#FF9800",
53
+ pink: "#E91E63",
54
+ purple: "#9C27B0",
55
+ red: "#F44336",
56
+ yellow: "#FFEB3B"
57
+ },
58
+ meadowMornings: {
59
+ background: "#F3E5F5",
60
+ currentLine: "#E1BEE7",
61
+ selection: "#CE93D8",
62
+ foreground: "#311B92",
63
+ comment: "#673AB7",
64
+ cyan: "#00BCD4",
65
+ green: "#8BC34A",
66
+ orange: "#FF9800",
67
+ pink: "#E91E63",
68
+ purple: "#9C27B0",
69
+ red: "#F44336",
70
+ yellow: "#FFEB3B"
71
+ },
72
+ moonlitMauve: {
73
+ background: "#F3E5F5",
74
+ currentLine: "#E1BEE7",
75
+ selection: "#CE93D8",
76
+ foreground: "#311B92",
77
+ comment: "#673AB7",
78
+ cyan: "#00BCD4",
79
+ green: "#8BC34A",
80
+ orange: "#FF9800",
81
+ pink: "#E91E63",
82
+ purple: "#9C27B0",
83
+ red: "#F44336",
84
+ yellow: "#FFEB3B"
85
+ },
86
+ morningMist: {
87
+ background: "#F6F6F6",
88
+ currentLine: "#EAEAEA",
89
+ selection: "#D8D8D8",
90
+ foreground: "#333333",
91
+ comment: "#808080",
92
+ cyan: "#00A6A6",
93
+ green: "#4CAF50",
94
+ orange: "#FFA726",
95
+ pink: "#FF4081",
96
+ purple: "#9C27B0",
97
+ red: "#FF5252",
98
+ yellow: "#FFD740"
99
+ },
100
+ oceanBreeze: {
101
+ background: "#ECF1F4",
102
+ currentLine: "#DDE8ED",
103
+ selection: "#BFD3C1",
104
+ foreground: "#37474F",
105
+ comment: "#607D8B",
106
+ cyan: "#00BCD4",
107
+ green: "#8BC34A",
108
+ orange: "#FF9800",
109
+ pink: "#E91E63",
110
+ purple: "#673AB7",
111
+ red: "#F44336",
112
+ yellow: "#FFEB3B"
113
+ },
114
+ pastelParadise: {
115
+ background: "#F5F5F5",
116
+ currentLine: "#E8E8E8",
117
+ selection: "#DADADA",
118
+ foreground: "#555555",
119
+ comment: "#999999",
120
+ cyan: "#5FB3B3",
121
+ green: "#68C386",
122
+ orange: "#FFB67A",
123
+ pink: "#FF94B0",
124
+ purple: "#B78BC3",
125
+ red: "#FF6666",
126
+ yellow: "#FFD666"
127
+ },
128
+ pastelPetals: {
129
+ background: "#FCE4EC",
130
+ currentLine: "#F8BBD0",
131
+ selection: "#FFCDD2",
132
+ foreground: "#673AB7",
133
+ comment: "#9575CD",
134
+ cyan: "#00BCD4",
135
+ green: "#4CAF50",
136
+ orange: "#FF9800",
137
+ pink: "#E91E63",
138
+ purple: "#9C27B0",
139
+ red: "#F44336",
140
+ yellow: "#FFEB3B"
141
+ },
142
+ sereneSnowfall: {
143
+ background: "#F9F9F9",
144
+ currentLine: "#EDEDED",
145
+ selection: "#D8D8D8",
146
+ foreground: "#454545",
147
+ comment: "#888888",
148
+ cyan: "#5FA5A5",
149
+ green: "#5BC47E",
150
+ orange: "#FFBC8D",
151
+ pink: "#FFA7BF",
152
+ purple: "#B88AAE",
153
+ red: "#FF7575",
154
+ yellow: "#FFD98F"
155
+ },
156
+ softSherbet: {
157
+ background: "#FDF8F3",
158
+ currentLine: "#FAF1EB",
159
+ selection: "#FFEBEE",
160
+ foreground: "#6D4C41",
161
+ comment: "#A1887F",
162
+ cyan: "#00BCD4",
163
+ green: "#689F38",
164
+ orange: "#FFA000",
165
+ pink: "#EC407A",
166
+ purple: "#8E24AA",
167
+ red: "#E53935",
168
+ yellow: "#FFC107"
169
+ },
170
+ subtleSerenity: {
171
+ background: "#F3F5F7",
172
+ currentLine: "#E8EDF2",
173
+ selection: "#D1D9E6",
174
+ foreground: "#2C3E50",
175
+ comment: "#95A5A6",
176
+ cyan: "#3498DB",
177
+ green: "#2ECC71",
178
+ orange: "#F39C12",
179
+ pink: "#E74C3C",
180
+ purple: "#9B59B6",
181
+ red: "#C0392B",
182
+ yellow: "#F1C40F"
183
+ },
184
+ summerSunset: {
185
+ background: "#FCE4EC",
186
+ currentLine: "#F8BBD0",
187
+ selection: "#FFCDD2",
188
+ foreground: "#4E342E",
189
+ comment: "#795548",
190
+ cyan: "#009688",
191
+ green: "#43A047",
192
+ orange: "#FF5722",
193
+ pink: "#E91E63",
194
+ purple: "#9C27B0",
195
+ red: "#F44336",
196
+ yellow: "#FFEB3B"
197
+ },
198
+ sunnyDay: {
199
+ background: "#FFF8E1",
200
+ currentLine: "#FFF3E0",
201
+ selection: "#FFE0B2",
202
+ foreground: "#4E342E",
203
+ comment: "#795548",
204
+ cyan: "#00BCD4",
205
+ green: "#8BC34A",
206
+ orange: "#FF9800",
207
+ pink: "#E91E63",
208
+ purple: "#673AB7",
209
+ red: "#F44336",
210
+ yellow: "#FFEB3B"
211
+ },
212
+ tranquilTwilight: {
213
+ background: "#F9F9F9",
214
+ currentLine: "#EDEDED",
215
+ selection: "#D8D8D8",
216
+ foreground: "#454545",
217
+ comment: "#888888",
218
+ cyan: "#5FA5A5",
219
+ green: "#5BC47E",
220
+ orange: "#FFBC8D",
221
+ pink: "#FFA7BF",
222
+ purple: "#B88AAE",
223
+ red: "#FF7575",
224
+ yellow: "#FFD98F"
225
+ },
226
+ tranquilWaves: {
227
+ background: "#F9F9F9",
228
+ currentLine: "#E4E4E4",
229
+ selection: "#D4D4D4",
230
+ foreground: "#2C3E50",
231
+ comment: "#7F8C8D",
232
+ cyan: "#3498DB",
233
+ green: "#2ECC71",
234
+ orange: "#F39C12",
235
+ pink: "#E74C3C",
236
+ purple: "#9B59B6",
237
+ red: "#C0392B",
238
+ yellow: "#F1C40F"
239
+ },
240
+ whisperingWillow: {
241
+ background: "#F6F8FA",
242
+ currentLine: "#E8F0F5",
243
+ selection: "#D4E9F7",
244
+ foreground: "#485766",
245
+ comment: "#8492A6",
246
+ cyan: "#00ACC1",
247
+ green: "#8BC34A",
248
+ orange: "#FFA726",
249
+ pink: "#FF4081",
250
+ purple: "#7E57C2",
251
+ red: "#EF5350",
252
+ yellow: "#FFD740"
253
+ }
254
+ }
255
+ export default LightThemes;
package/src/App/app.js ADDED
@@ -0,0 +1,37 @@
1
+ import { ZikoUIFlex } from "../UI/CustomElement/Flex.js";
2
+ import { Seo } from "./Seo/index.js";
3
+ class ZikoUIApp extends ZikoUIFlex{
4
+ constructor(){
5
+ super("main");
6
+ this.root=document.documentElement;
7
+ this.head=null;
8
+ this.#init();
9
+ this.seo=Seo(this);
10
+ Object.assign(this.cache,{
11
+ theme:null,
12
+ isRoot:true
13
+ });
14
+ this.render();
15
+ }
16
+ #init(){
17
+ this.root.setAttribute("data-engine","zikojs");
18
+ const head=this.root.getElementsByTagName("head")[0];
19
+ this.head=head?head:this.head=document.createElement("head");
20
+ if(!head)this.root.insertBefore(this.head,document.body);
21
+ const title=this.head.getElementsByTagName("title")[0];
22
+ this.Title=title?title:document.createElement("title");
23
+ if(!title)this.head.append(this.Title);
24
+ }
25
+ title(title=this.title.textContent){
26
+ this.Title.textContent=title;
27
+ return this;
28
+ }
29
+ prefetch(){
30
+
31
+ }
32
+ description(){
33
+
34
+ }
35
+ }
36
+ const App=(...UIElement)=>new ZikoUIApp().append(...UIElement)
37
+ export {App};
@@ -0,0 +1,11 @@
1
+ export{
2
+ App,
3
+ } from "./app.js"
4
+ export {
5
+ Themes,
6
+ LightThemes,
7
+ DarkThemes
8
+ } from "./Themes";
9
+ export {
10
+ __init__,
11
+ } from "./Globals"
@@ -0,0 +1,14 @@
1
+ import { preload } from "./preload"
2
+
3
+ async function fetchdom(url='https://github.com/zakarialaoui10'){
4
+ const data=await fetch(url)
5
+ const html=await data.text()
6
+ const dom= new DOMParser().parseFromString(html,'text/xml')
7
+ return dom.documentElement
8
+ }
9
+ function fetchdomSync(url='https://github.com/zakarialaoui10'){
10
+ const data=preload(url);
11
+ const dom= new DOMParser().parseFromString(data,'text/xml')
12
+ return dom.documentElement;
13
+ }
14
+ export {fetchdom,fetchdomSync}
@@ -0,0 +1,4 @@
1
+ export { preload } from "./preload";
2
+ import { fetchdom ,fetchdomSync } from "./fetchdom";
3
+ globalThis.fetchdom=fetchdom
4
+ globalThis.fetchdomSync=fetchdomSync
@@ -0,0 +1,11 @@
1
+ const preload=(url)=>{
2
+ const xhr = new XMLHttpRequest();
3
+ xhr.open("GET", url, false);
4
+ xhr.send();
5
+ if (xhr.status === 200) {
6
+ return xhr.responseText;
7
+ } else {
8
+ throw new Error(`Failed to fetch data from ${url}. Status: ${xhr.status}`);
9
+ }
10
+ }
11
+ export {preload}
@@ -0,0 +1,25 @@
1
+ const canvas2image = (canvas,format) => {}
2
+ class Canvas2Video {
3
+ constructor(canvas,mimeType="video/webm") {
4
+ this.canvas = canvas;
5
+ this.videoSrc=null;
6
+ this.mediaRecorder = new MediaRecorder(this.canvas.captureStream(), { mimeType: mimeType });
7
+ this.chunks = [];
8
+ this.mediaRecorder.ondataavailable = (e) => {
9
+ this.chunks.push(e.data);
10
+ };
11
+ this.mediaRecorder.onstop = (e) => {
12
+ const blob = new Blob(this.chunks, { type: mimeType });
13
+ this.videoSrc = URL.createObjectURL(blob);
14
+ };
15
+ }
16
+ start() {
17
+ this.mediaRecorder.start();
18
+ return this;
19
+ }
20
+ stop() {
21
+ this.mediaRecorder.stop();
22
+ return this;
23
+ }
24
+ }
25
+ const canvas2video=(canvas)=>new Canvas2Video(canvas)
@@ -0,0 +1,33 @@
1
+ import { Matrix } from "../../Math"
2
+ const csv2arr = (csv, delimiter = ",")=>csv.trim().trimEnd().split("\n").map(n=>n.split(delimiter));
3
+ const csv2matrix = (csv, delimiter = ",")=>new Matrix(csv2arr(csv,delimiter));
4
+ const csv2object = (csv, delimiter = ",") => {
5
+ const [header, ...rows] = csv2arr(csv,delimiter);
6
+ const result = rows.map(row => {
7
+ const obj = {};
8
+ header.forEach((key, index) => {
9
+ obj[key] = row[index];
10
+ });
11
+ return obj;
12
+ });
13
+ return result;
14
+ };
15
+ const csv2json = (csv, delimiter = ",") => JSON.stringify(csv2object(csv,delimiter));
16
+ const csv2sql=(csv, Table)=>{
17
+ const lines = csv.trim().trimEnd().split('\n').filter(n=>n);
18
+ const columns = lines[0].split(',');
19
+ let sqlQuery = `INSERT INTO ${Table} (${columns.join(', ')}) Values `
20
+ let sqlValues = []
21
+ for (let i = 1; i < lines.length; i++) {
22
+ const values = lines[i].split(',');
23
+ sqlValues.push(`(${values})`)
24
+ }
25
+ return sqlQuery+sqlValues.join(",\n");
26
+ }
27
+ export{
28
+ csv2arr,
29
+ csv2matrix,
30
+ csv2object,
31
+ csv2json,
32
+ csv2sql
33
+ }
@@ -0,0 +1,25 @@
1
+ export {
2
+ markdown2html
3
+ } from "./markdown";
4
+ export {
5
+ csv2arr,
6
+ csv2matrix,
7
+ csv2object,
8
+ csv2json,
9
+ csv2sql
10
+ } from "./csv";
11
+ export {
12
+ json2arr,
13
+ json2csv,
14
+ json2csvFile,
15
+ json2yml,
16
+ json2ymlFile,
17
+ json2xml,
18
+ json2xmlFile
19
+ } from "./json";
20
+ export {
21
+ svg2str,
22
+ svg2ascii,
23
+ svg2imgUrl,
24
+ svg2img
25
+ } from "./svg";
@@ -0,0 +1,80 @@
1
+ const _objects2arr=data=>data instanceof Array?[Object.keys(data[0]),...data.map(n=>Object.values(n))]:[Object.keys(data)];
2
+ const _objects2csv=(data,delimiter)=>_objects2arr(data).map(n=>n.join(delimiter)).join("\n")
3
+ const json2arr=json=>json instanceof Object?_objects2arr(json):_objects2arr(JSON.parse(json));
4
+ const json2csv=(json,delimiter=",")=>json instanceof Object?_objects2csv(json,delimiter):_objects2csv(JSON.parse(json),delimiter);
5
+ const json2csvFile=(json,delimiter)=>{
6
+ const str=json2csv(json,delimiter);
7
+ const blob=new Blob([str], { type: 'text/csv;charset=utf-8;' });
8
+ return{
9
+ str,
10
+ blob,
11
+ url:URL.createObjectURL(blob)
12
+ }
13
+ }
14
+ const _processObject=(obj, indent)=>{
15
+ const yml = [];
16
+ if (Array.isArray(obj)) {
17
+ obj.forEach(item => {
18
+ if (typeof item === 'object' && item !== null) {
19
+ yml.push(`${indent}-`);
20
+ const nestedLines = _processObject(item, `${indent} `);
21
+ yml.push(...nestedLines);
22
+ } else yml.push(`${indent}- ${item}`);
23
+ });
24
+ } else {
25
+ for (const key in obj) {
26
+ if (obj.hasOwnProperty(key)) {
27
+ const value = obj[key];
28
+ if (typeof value === 'object' && value !== null) {
29
+ yml.push(`${indent}${key}:`);
30
+ const nestedLines = _processObject(value, `${indent} `);
31
+ yml.push(...nestedLines);
32
+ } else {
33
+ yml.push(`${indent}${key}: ${value}`);
34
+ }
35
+ }
36
+ }
37
+ }
38
+ return yml;
39
+ }
40
+ const _object2yml=(object,indent="")=>_processObject(object,indent).join('\n')
41
+ const json2yml=(json,indent)=>json instanceof Object?_object2yml(json,indent):_object2yml(JSON.parse(json),indent)
42
+ const json2ymlFile=(json,indent)=>{
43
+ const str=json2yml(json,indent);
44
+ const blob=new Blob([str], { type: 'text/yml;charset=utf-8;' });
45
+ return{
46
+ str,
47
+ blob,
48
+ url:URL.createObjectURL(blob)
49
+ }
50
+ }
51
+ const json2xml=(json, indent = 1)=>{
52
+ let xml = '';
53
+ for (const key in json) {
54
+ if (json.hasOwnProperty(key)) {
55
+ const value = json[key];
56
+ xml += '\n' + ' '.repeat(indent) + `<${key}>`;
57
+ (typeof value === 'object') ? xml += json2xml(value, indent + 2) : xml += `${value}`;
58
+ xml += `</${key}>`;
59
+ }
60
+ }
61
+ return xml.trim();
62
+ }
63
+ const json2xmlFile=(json,indent)=>{
64
+ const str=json2xml(json,indent);
65
+ const blob=new Blob([str], { type: 'text/xml;charset=utf-8;' });
66
+ return{
67
+ str,
68
+ blob,
69
+ url:URL.createObjectURL(blob)
70
+ }
71
+ }
72
+ export{
73
+ json2arr,
74
+ json2csv,
75
+ json2csvFile,
76
+ json2yml,
77
+ json2ymlFile,
78
+ json2xml,
79
+ json2xmlFile
80
+ }
@@ -0,0 +1,83 @@
1
+ const parseInlineElements = text => {
2
+ return text
3
+ .replace(/\*\*(.*?)\*\*/g, '<strong>$1</strong>')
4
+ .replace(/\*(.*?)\*/g, '<em>$1</em>')
5
+ .replace(/\[(.*?)\]\((.*?)\)/g, '<a href="$2">$1</a>')
6
+ .replace(/!\[(.*?)\]\((.*?)\)/g, '<img src="$2" alt="$1">');
7
+ };
8
+
9
+ const parseTable = line => {
10
+ const cells = line.split('|').map(cell => cell.trim()).filter(cell => cell !== '');
11
+ const tableRow = cells.map(cell => `<td>${parseInlineElements(cell)}</td>`).join('');
12
+ return `<tr>${tableRow}</tr>\n`;
13
+ };
14
+
15
+ const parseCodeBlock = (lines, language) => {
16
+ const codeContent = lines.slice(1, -1).join('\n'); // Exclude the triple backticks
17
+ const highlightedCode = language ? `<code data-language="${language}">${codeContent}</code>` : `<code>${codeContent}</code>`;
18
+ return `<pre>${highlightedCode}</pre>\n`;
19
+ };
20
+
21
+ const parseList = line => {
22
+ const DIGIT_FOLLOWED_BY_A_DOT_AND_SPACE = /^\d+\.\s/;
23
+ const match = line.match(DIGIT_FOLLOWED_BY_A_DOT_AND_SPACE);
24
+ if (match) {
25
+ let start=+match[1]
26
+ return `<ol${start===1?"":` start=${start}`}>\n<li>${parseInlineElements(line.slice(match[0].length))}</li>\n</ol>\n`;
27
+ }
28
+ return `<ul>\n<li>${parseInlineElements(line)}</li>\n</ul>\n`;
29
+ };
30
+ const markdown2html = markdownText => {
31
+ const lines = markdownText.split('\n');
32
+ let htmlOutput = '';
33
+ let inTable = false;
34
+ let inCodeBlock = false;
35
+ let codeBlockLines = [];
36
+ let codeBlockLanguage = '';
37
+ for (let i = 0; i < lines.length; i++) {
38
+ let line = lines[i];
39
+ // Table
40
+ if (line.startsWith('|')) {
41
+ if (!inTable) {
42
+ inTable = true;
43
+ htmlOutput += '<table>\n';
44
+ }
45
+ htmlOutput += parseTable(line);
46
+ continue;
47
+ } else if (inTable) {
48
+ inTable = false;
49
+ htmlOutput += '</table>\n';
50
+ }
51
+ // Code block
52
+ if (line.startsWith('```')) {
53
+ if (!inCodeBlock) {
54
+ inCodeBlock = true;
55
+ codeBlockLines = [];
56
+ codeBlockLanguage = line.slice(3).trim();
57
+ } else {
58
+ inCodeBlock = false;
59
+ htmlOutput += parseCodeBlock(codeBlockLines, codeBlockLanguage);
60
+ }
61
+ continue;
62
+ } else if (inCodeBlock) {
63
+ codeBlockLines.push(line);
64
+ continue;
65
+ }
66
+ // Headings
67
+ if (line.startsWith('# ')) {
68
+ const headingLevel = line.indexOf(' ');
69
+ const headingText = line.slice(headingLevel + 1);
70
+ htmlOutput += `<h${headingLevel}>${parseInlineElements(headingText)}</h${headingLevel}>\n`;
71
+ continue;
72
+ }
73
+ // Lists
74
+ if (line.startsWith('- ') || line.startsWith('* ') || line.match(/^\d+\.\s/)) {
75
+ htmlOutput += parseList(line);
76
+ continue;
77
+ }
78
+ // Other paragraphs
79
+ htmlOutput += `<p>${parseInlineElements(line)}</p>\n`;
80
+ }
81
+ return htmlOutput;
82
+ };
83
+ export{markdown2html}
@@ -0,0 +1,11 @@
1
+ import { image } from "../../UI/Media"
2
+ const svg2str=svg=>(new XMLSerializer()).serializeToString(svg);
3
+ const svg2ascii=svg=>btoa(svg2str(svg));
4
+ const svg2imgUrl=svg=>'data:image/svg+xml;base64,'+svg2ascii(svg);
5
+ const svg2img=(svg,render=true)=>image(svg2imgUrl(svg)).render(render);
6
+ export{
7
+ svg2str,
8
+ svg2ascii,
9
+ svg2imgUrl,
10
+ svg2img
11
+ }
File without changes
@@ -0,0 +1,47 @@
1
+ function parseXML(xmlString) {
2
+ const parser = new DOMParser();
3
+ const xmlDoc = parser.parseFromString(xmlString, 'text/xml');
4
+ const rootNode = xmlDoc.documentElement;
5
+ const result = parseNode(rootNode);
6
+ return result;
7
+ }
8
+
9
+ function parseNode(node) {
10
+ const obj = {
11
+ type: node.nodeName,
12
+ attributes: {},
13
+ children: []
14
+ };
15
+ for (let i = 0; i < node.attributes.length; i++) {
16
+ const attr = node.attributes[i];
17
+ obj.attributes[attr.name] = attr.value;
18
+ }
19
+ for (let i = 0; i < node.childNodes.length; i++) {
20
+ const child = node.childNodes[i];
21
+ if (child.nodeType === Node.ELEMENT_NODE) {
22
+ obj.children.push(parseNode(child));
23
+ } else if (child.nodeType === Node.TEXT_NODE) {
24
+ obj.text = child.textContent.trim();
25
+ }
26
+ }
27
+ return obj;
28
+ }
29
+ export default parseXML;
30
+
31
+ // function htmlParser(element) {
32
+ // const obj = {
33
+ // type: element.tagName,
34
+ // attributes: {},
35
+ // children: [],
36
+ // };
37
+ // for (let i = 0; i < element.attributes.length; i++) {
38
+ // const attr = element.attributes[i];
39
+ // obj.attributes[attr.name] = attr.value;
40
+ // }
41
+ // for (let i = 0; i < element.children.length; i++) {
42
+ // const child = element.children[i];
43
+ // obj.children.push(htmlParser(child));
44
+ // }
45
+ // return obj;
46
+ // }
47
+
@@ -0,0 +1,26 @@
1
+ const isPalindrome=(str)=>{
2
+ str=str.toLocaleLowerCase();
3
+ let l=str.length,i;
4
+ for(i=0;i<l/2;i++)if(str[i]!=str[l-i-1])return false;
5
+ return true;
6
+ }
7
+ const isAnagrams=(word,words)=>{
8
+ word=word.split("").sort();
9
+ words=words.split("").sort();
10
+ return JSON.stringify(word)===JSON.stringify(words);
11
+ }
12
+ const isIsogram=(str)=>{
13
+ return [...new Set(str.toLowerCase())].length===str.length;
14
+ }
15
+ const removeExtraSpace=str=>str.replace(/\s+/g,' ');
16
+ const count=(str,value)=>str.split("").filter(x => x==value).length;
17
+ const countWords=(str,value)=>str.split(" ").filter(x => x==value).length;
18
+
19
+ export{
20
+ isPalindrome,
21
+ isAnagrams,
22
+ isIsogram,
23
+ removeExtraSpace,
24
+ count,
25
+ countWords
26
+ }
File without changes