@vandenberghinc/volt 1.1.2

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 (451) hide show
  1. package/.vrepo +28 -0
  2. package/.vscode/tasks.json +87 -0
  3. package/README.md +67 -0
  4. package/backend/dist/cjs/blacklist.d.ts +10 -0
  5. package/backend/dist/cjs/blacklist.js +53 -0
  6. package/backend/dist/cjs/cli.d.ts +2 -0
  7. package/backend/dist/cjs/cli.js +263 -0
  8. package/backend/dist/cjs/database.d.ts +364 -0
  9. package/backend/dist/cjs/database.js +1962 -0
  10. package/backend/dist/cjs/endpoint.d.ts +57 -0
  11. package/backend/dist/cjs/endpoint.js +425 -0
  12. package/backend/dist/cjs/file_watcher.d.ts +44 -0
  13. package/backend/dist/cjs/file_watcher.js +348 -0
  14. package/backend/dist/cjs/frontend.d.ts +13 -0
  15. package/backend/dist/cjs/frontend.js +30 -0
  16. package/backend/dist/cjs/image_endpoint.d.ts +24 -0
  17. package/backend/dist/cjs/image_endpoint.js +210 -0
  18. package/backend/dist/cjs/logger.d.ts +5 -0
  19. package/backend/dist/cjs/logger.js +16 -0
  20. package/backend/dist/cjs/meta.d.ts +50 -0
  21. package/backend/dist/cjs/meta.js +153 -0
  22. package/backend/dist/cjs/mutex.d.ts +24 -0
  23. package/backend/dist/cjs/mutex.js +52 -0
  24. package/backend/dist/cjs/package.json +1 -0
  25. package/backend/dist/cjs/payments/paddle.d.ts +161 -0
  26. package/backend/dist/cjs/payments/paddle.js +2301 -0
  27. package/backend/dist/cjs/plugins/browser.d.ts +36 -0
  28. package/backend/dist/cjs/plugins/browser.js +183 -0
  29. package/backend/dist/cjs/plugins/communication.d.ts +70 -0
  30. package/backend/dist/cjs/plugins/communication.js +177 -0
  31. package/backend/dist/cjs/plugins/css.d.ts +10 -0
  32. package/backend/dist/cjs/plugins/css.js +71 -0
  33. package/backend/dist/cjs/plugins/mail.d.ts +277 -0
  34. package/backend/dist/cjs/plugins/mail.js +1419 -0
  35. package/backend/dist/cjs/plugins/pdf.d.ts +757 -0
  36. package/backend/dist/cjs/plugins/pdf.js +1694 -0
  37. package/backend/dist/cjs/plugins/thread_monitor.d.ts +18 -0
  38. package/backend/dist/cjs/plugins/thread_monitor.js +127 -0
  39. package/backend/dist/cjs/plugins/ts/compiler.d.ts +132 -0
  40. package/backend/dist/cjs/plugins/ts/compiler.js +944 -0
  41. package/backend/dist/cjs/plugins/ts/preprocessing.d.ts +14 -0
  42. package/backend/dist/cjs/plugins/ts/preprocessing.js +762 -0
  43. package/backend/dist/cjs/rate_limit.d.ts +65 -0
  44. package/backend/dist/cjs/rate_limit.js +463 -0
  45. package/backend/dist/cjs/request.deprc.d.ts +48 -0
  46. package/backend/dist/cjs/request.deprc.js +572 -0
  47. package/backend/dist/cjs/response.deprc.d.ts +55 -0
  48. package/backend/dist/cjs/response.deprc.js +275 -0
  49. package/backend/dist/cjs/server.d.ts +311 -0
  50. package/backend/dist/cjs/server.js +3475 -0
  51. package/backend/dist/cjs/splash_screen.d.ts +35 -0
  52. package/backend/dist/cjs/splash_screen.js +152 -0
  53. package/backend/dist/cjs/status.d.ts +60 -0
  54. package/backend/dist/cjs/status.js +199 -0
  55. package/backend/dist/cjs/stream.d.ts +75 -0
  56. package/backend/dist/cjs/stream.js +954 -0
  57. package/backend/dist/cjs/users.d.ts +111 -0
  58. package/backend/dist/cjs/users.js +1945 -0
  59. package/backend/dist/cjs/utils.d.ts +27 -0
  60. package/backend/dist/cjs/utils.js +329 -0
  61. package/backend/dist/cjs/view.d.ts +52 -0
  62. package/backend/dist/cjs/view.js +568 -0
  63. package/backend/dist/cjs/vinc.d.ts +2 -0
  64. package/backend/dist/cjs/vinc.dev.d.ts +2 -0
  65. package/backend/dist/cjs/vinc.dev.js +42 -0
  66. package/backend/dist/cjs/vinc.js +42 -0
  67. package/backend/dist/cjs/volt.d.ts +15 -0
  68. package/backend/dist/cjs/volt.js +64 -0
  69. package/backend/dist/css/adyen.css +92 -0
  70. package/backend/dist/css/volt.css +65 -0
  71. package/backend/dist/esm/blacklist.d.ts +10 -0
  72. package/backend/dist/esm/blacklist.js +49 -0
  73. package/backend/dist/esm/cli.d.ts +2 -0
  74. package/backend/dist/esm/cli.js +228 -0
  75. package/backend/dist/esm/database.d.ts +364 -0
  76. package/backend/dist/esm/database.js +1957 -0
  77. package/backend/dist/esm/endpoint.d.ts +57 -0
  78. package/backend/dist/esm/endpoint.js +421 -0
  79. package/backend/dist/esm/file_watcher.d.ts +44 -0
  80. package/backend/dist/esm/file_watcher.js +313 -0
  81. package/backend/dist/esm/frontend.d.ts +13 -0
  82. package/backend/dist/esm/frontend.js +27 -0
  83. package/backend/dist/esm/image_endpoint.d.ts +24 -0
  84. package/backend/dist/esm/image_endpoint.js +206 -0
  85. package/backend/dist/esm/logger.d.ts +5 -0
  86. package/backend/dist/esm/logger.js +13 -0
  87. package/backend/dist/esm/meta.d.ts +50 -0
  88. package/backend/dist/esm/meta.js +149 -0
  89. package/backend/dist/esm/mutex.d.ts +24 -0
  90. package/backend/dist/esm/mutex.js +48 -0
  91. package/backend/dist/esm/payments/paddle.d.ts +161 -0
  92. package/backend/dist/esm/payments/paddle.js +2261 -0
  93. package/backend/dist/esm/plugins/browser.d.ts +36 -0
  94. package/backend/dist/esm/plugins/browser.js +176 -0
  95. package/backend/dist/esm/plugins/communication.d.ts +70 -0
  96. package/backend/dist/esm/plugins/communication.js +169 -0
  97. package/backend/dist/esm/plugins/css.d.ts +10 -0
  98. package/backend/dist/esm/plugins/css.js +64 -0
  99. package/backend/dist/esm/plugins/mail.d.ts +277 -0
  100. package/backend/dist/esm/plugins/mail.js +1403 -0
  101. package/backend/dist/esm/plugins/pdf.d.ts +757 -0
  102. package/backend/dist/esm/plugins/pdf.js +1694 -0
  103. package/backend/dist/esm/plugins/thread_monitor.d.ts +18 -0
  104. package/backend/dist/esm/plugins/thread_monitor.js +120 -0
  105. package/backend/dist/esm/plugins/ts/compiler.d.ts +132 -0
  106. package/backend/dist/esm/plugins/ts/compiler.js +907 -0
  107. package/backend/dist/esm/plugins/ts/preprocessing.d.ts +14 -0
  108. package/backend/dist/esm/plugins/ts/preprocessing.js +724 -0
  109. package/backend/dist/esm/rate_limit.d.ts +65 -0
  110. package/backend/dist/esm/rate_limit.js +425 -0
  111. package/backend/dist/esm/request.deprc.d.ts +48 -0
  112. package/backend/dist/esm/request.deprc.js +572 -0
  113. package/backend/dist/esm/response.deprc.d.ts +55 -0
  114. package/backend/dist/esm/response.deprc.js +275 -0
  115. package/backend/dist/esm/server.d.ts +311 -0
  116. package/backend/dist/esm/server.js +3435 -0
  117. package/backend/dist/esm/splash_screen.d.ts +35 -0
  118. package/backend/dist/esm/splash_screen.js +148 -0
  119. package/backend/dist/esm/status.d.ts +60 -0
  120. package/backend/dist/esm/status.js +196 -0
  121. package/backend/dist/esm/stream.d.ts +75 -0
  122. package/backend/dist/esm/stream.js +947 -0
  123. package/backend/dist/esm/users.d.ts +111 -0
  124. package/backend/dist/esm/users.js +1908 -0
  125. package/backend/dist/esm/utils.d.ts +27 -0
  126. package/backend/dist/esm/utils.js +324 -0
  127. package/backend/dist/esm/view.d.ts +52 -0
  128. package/backend/dist/esm/view.js +561 -0
  129. package/backend/dist/esm/vinc.d.ts +2 -0
  130. package/backend/dist/esm/vinc.dev.d.ts +2 -0
  131. package/backend/dist/esm/vinc.dev.js +6 -0
  132. package/backend/dist/esm/vinc.js +6 -0
  133. package/backend/dist/esm/volt.d.ts +15 -0
  134. package/backend/dist/esm/volt.js +23 -0
  135. package/backend/dist/esm-dev/blacklist.d.ts +10 -0
  136. package/backend/dist/esm-dev/blacklist.js +49 -0
  137. package/backend/dist/esm-dev/cli.d.ts +2 -0
  138. package/backend/dist/esm-dev/cli.js +228 -0
  139. package/backend/dist/esm-dev/database.d.ts +364 -0
  140. package/backend/dist/esm-dev/database.js +1957 -0
  141. package/backend/dist/esm-dev/endpoint.d.ts +57 -0
  142. package/backend/dist/esm-dev/endpoint.js +421 -0
  143. package/backend/dist/esm-dev/file_watcher.d.ts +44 -0
  144. package/backend/dist/esm-dev/file_watcher.js +313 -0
  145. package/backend/dist/esm-dev/frontend.d.ts +13 -0
  146. package/backend/dist/esm-dev/frontend.js +27 -0
  147. package/backend/dist/esm-dev/image_endpoint.d.ts +24 -0
  148. package/backend/dist/esm-dev/image_endpoint.js +206 -0
  149. package/backend/dist/esm-dev/logger.d.ts +5 -0
  150. package/backend/dist/esm-dev/logger.js +13 -0
  151. package/backend/dist/esm-dev/meta.d.ts +50 -0
  152. package/backend/dist/esm-dev/meta.js +149 -0
  153. package/backend/dist/esm-dev/mutex.d.ts +24 -0
  154. package/backend/dist/esm-dev/mutex.js +48 -0
  155. package/backend/dist/esm-dev/payments/paddle.d.ts +161 -0
  156. package/backend/dist/esm-dev/payments/paddle.js +2261 -0
  157. package/backend/dist/esm-dev/plugins/browser.d.ts +36 -0
  158. package/backend/dist/esm-dev/plugins/browser.js +176 -0
  159. package/backend/dist/esm-dev/plugins/communication.d.ts +70 -0
  160. package/backend/dist/esm-dev/plugins/communication.js +169 -0
  161. package/backend/dist/esm-dev/plugins/css.d.ts +10 -0
  162. package/backend/dist/esm-dev/plugins/css.js +64 -0
  163. package/backend/dist/esm-dev/plugins/mail.d.ts +277 -0
  164. package/backend/dist/esm-dev/plugins/mail.js +1403 -0
  165. package/backend/dist/esm-dev/plugins/pdf.d.ts +757 -0
  166. package/backend/dist/esm-dev/plugins/pdf.js +1694 -0
  167. package/backend/dist/esm-dev/plugins/thread_monitor.d.ts +18 -0
  168. package/backend/dist/esm-dev/plugins/thread_monitor.js +120 -0
  169. package/backend/dist/esm-dev/plugins/ts/compiler.d.ts +132 -0
  170. package/backend/dist/esm-dev/plugins/ts/compiler.js +907 -0
  171. package/backend/dist/esm-dev/plugins/ts/preprocessing.d.ts +14 -0
  172. package/backend/dist/esm-dev/plugins/ts/preprocessing.js +724 -0
  173. package/backend/dist/esm-dev/rate_limit.d.ts +65 -0
  174. package/backend/dist/esm-dev/rate_limit.js +425 -0
  175. package/backend/dist/esm-dev/request.deprc.d.ts +48 -0
  176. package/backend/dist/esm-dev/request.deprc.js +572 -0
  177. package/backend/dist/esm-dev/response.deprc.d.ts +55 -0
  178. package/backend/dist/esm-dev/response.deprc.js +275 -0
  179. package/backend/dist/esm-dev/server.d.ts +311 -0
  180. package/backend/dist/esm-dev/server.js +3435 -0
  181. package/backend/dist/esm-dev/splash_screen.d.ts +35 -0
  182. package/backend/dist/esm-dev/splash_screen.js +148 -0
  183. package/backend/dist/esm-dev/status.d.ts +60 -0
  184. package/backend/dist/esm-dev/status.js +196 -0
  185. package/backend/dist/esm-dev/stream.d.ts +75 -0
  186. package/backend/dist/esm-dev/stream.js +947 -0
  187. package/backend/dist/esm-dev/users.d.ts +111 -0
  188. package/backend/dist/esm-dev/users.js +1908 -0
  189. package/backend/dist/esm-dev/utils.d.ts +27 -0
  190. package/backend/dist/esm-dev/utils.js +324 -0
  191. package/backend/dist/esm-dev/view.d.ts +52 -0
  192. package/backend/dist/esm-dev/view.js +561 -0
  193. package/backend/dist/esm-dev/vinc.d.ts +2 -0
  194. package/backend/dist/esm-dev/vinc.dev.d.ts +2 -0
  195. package/backend/dist/esm-dev/vinc.dev.js +6 -0
  196. package/backend/dist/esm-dev/vinc.js +6 -0
  197. package/backend/dist/esm-dev/volt.d.ts +15 -0
  198. package/backend/dist/esm-dev/volt.js +23 -0
  199. package/backend/src/blacklist.ts +69 -0
  200. package/backend/src/cli.js +245 -0
  201. package/backend/src/database.ts +2241 -0
  202. package/backend/src/endpoint.ts +494 -0
  203. package/backend/src/file_watcher.ts +359 -0
  204. package/backend/src/frontend.ts +35 -0
  205. package/backend/src/globals.d.ts +8 -0
  206. package/backend/src/image_endpoint.ts +258 -0
  207. package/backend/src/logger.ts +18 -0
  208. package/backend/src/meta.ts +202 -0
  209. package/backend/src/mutex.ts +51 -0
  210. package/backend/src/payments/paddle.ts +2659 -0
  211. package/backend/src/plugins/browser.ts +188 -0
  212. package/backend/src/plugins/communication.ts +204 -0
  213. package/backend/src/plugins/css.ts +84 -0
  214. package/backend/src/plugins/fonts/Menlo-Bold.ttf +0 -0
  215. package/backend/src/plugins/fonts/Menlo-Regular.ttf +0 -0
  216. package/backend/src/plugins/mail.ts +1720 -0
  217. package/backend/src/plugins/pdf.js +1932 -0
  218. package/backend/src/plugins/thread_monitor.ts +164 -0
  219. package/backend/src/plugins/ts/compiler.ts +1242 -0
  220. package/backend/src/plugins/ts/preprocessing.ts +812 -0
  221. package/backend/src/rate_limit.ts +503 -0
  222. package/backend/src/request.deprc.js +626 -0
  223. package/backend/src/response.deprc.js +354 -0
  224. package/backend/src/server.ts +4149 -0
  225. package/backend/src/splash_screen.ts +192 -0
  226. package/backend/src/status.ts +199 -0
  227. package/backend/src/stream.ts +1070 -0
  228. package/backend/src/users.ts +2077 -0
  229. package/backend/src/utils.ts +359 -0
  230. package/backend/src/view.ts +655 -0
  231. package/backend/src/vinc.dev.js +6 -0
  232. package/backend/src/vinc.ts +6 -0
  233. package/backend/src/volt.js +25 -0
  234. package/backend/tsconfig.cjs.json +29 -0
  235. package/backend/tsconfig.esm.dev.json +34 -0
  236. package/backend/tsconfig.esm.json +30 -0
  237. package/backend/tsconfig.json +2 -0
  238. package/frontend/compile.js +436 -0
  239. package/frontend/dist/elements/base.d.ts +9891 -0
  240. package/frontend/dist/elements/base.js +8818 -0
  241. package/frontend/dist/elements/module.d.ts +16 -0
  242. package/frontend/dist/elements/module.js +178 -0
  243. package/frontend/dist/modules/array.d.ts +37 -0
  244. package/frontend/dist/modules/array.js +284 -0
  245. package/frontend/dist/modules/auth.d.ts +45 -0
  246. package/frontend/dist/modules/auth.js +138 -0
  247. package/frontend/dist/modules/colors.d.ts +26 -0
  248. package/frontend/dist/modules/colors.js +340 -0
  249. package/frontend/dist/modules/compression.d.ts +6 -0
  250. package/frontend/dist/modules/compression.js +999 -0
  251. package/frontend/dist/modules/cookies.d.ts +17 -0
  252. package/frontend/dist/modules/cookies.js +166 -0
  253. package/frontend/dist/modules/date.d.ts +142 -0
  254. package/frontend/dist/modules/date.js +493 -0
  255. package/frontend/dist/modules/events.d.ts +7 -0
  256. package/frontend/dist/modules/events.js +90 -0
  257. package/frontend/dist/modules/google.d.ts +10 -0
  258. package/frontend/dist/modules/google.js +53 -0
  259. package/frontend/dist/modules/meta.d.ts +9 -0
  260. package/frontend/dist/modules/meta.js +45 -0
  261. package/frontend/dist/modules/mutex.d.ts +8 -0
  262. package/frontend/dist/modules/mutex.js +52 -0
  263. package/frontend/dist/modules/number.d.ts +12 -0
  264. package/frontend/dist/modules/number.js +8 -0
  265. package/frontend/dist/modules/object.d.ts +50 -0
  266. package/frontend/dist/modules/object.js +147 -0
  267. package/frontend/dist/modules/paddle.d.ts +1403 -0
  268. package/frontend/dist/modules/paddle.js +2641 -0
  269. package/frontend/dist/modules/scheme.d.ts +207 -0
  270. package/frontend/dist/modules/scheme.js +649 -0
  271. package/frontend/dist/modules/settings.d.ts +3 -0
  272. package/frontend/dist/modules/settings.js +4 -0
  273. package/frontend/dist/modules/statics.d.ts +4 -0
  274. package/frontend/dist/modules/statics.js +45 -0
  275. package/frontend/dist/modules/string.d.ts +163 -0
  276. package/frontend/dist/modules/string.js +291 -0
  277. package/frontend/dist/modules/support.d.ts +18 -0
  278. package/frontend/dist/modules/support.js +102 -0
  279. package/frontend/dist/modules/themes.d.ts +8 -0
  280. package/frontend/dist/modules/themes.js +17 -0
  281. package/frontend/dist/modules/user.d.ts +58 -0
  282. package/frontend/dist/modules/user.js +279 -0
  283. package/frontend/dist/modules/utils.d.ts +58 -0
  284. package/frontend/dist/modules/utils.js +1159 -0
  285. package/frontend/dist/types/gradient.d.ts +12 -0
  286. package/frontend/dist/types/gradient.js +79 -0
  287. package/frontend/dist/ui/border_button.d.ts +177 -0
  288. package/frontend/dist/ui/border_button.js +235 -0
  289. package/frontend/dist/ui/button.d.ts +42 -0
  290. package/frontend/dist/ui/button.js +114 -0
  291. package/frontend/dist/ui/canvas.d.ts +56 -0
  292. package/frontend/dist/ui/canvas.js +411 -0
  293. package/frontend/dist/ui/checkbox.d.ts +72 -0
  294. package/frontend/dist/ui/checkbox.js +277 -0
  295. package/frontend/dist/ui/code.d.ts +232 -0
  296. package/frontend/dist/ui/code.js +977 -0
  297. package/frontend/dist/ui/color.d.ts +1 -0
  298. package/frontend/dist/ui/color.js +110 -0
  299. package/frontend/dist/ui/context_menu.d.ts +30 -0
  300. package/frontend/dist/ui/context_menu.js +211 -0
  301. package/frontend/dist/ui/css.d.ts +10 -0
  302. package/frontend/dist/ui/css.js +44 -0
  303. package/frontend/dist/ui/divider.d.ts +18 -0
  304. package/frontend/dist/ui/divider.js +82 -0
  305. package/frontend/dist/ui/dropdown.d.ts +115 -0
  306. package/frontend/dist/ui/dropdown.js +446 -0
  307. package/frontend/dist/ui/for_each.d.ts +38 -0
  308. package/frontend/dist/ui/for_each.js +97 -0
  309. package/frontend/dist/ui/form.d.ts +25 -0
  310. package/frontend/dist/ui/form.js +227 -0
  311. package/frontend/dist/ui/frame_modes.d.ts +28 -0
  312. package/frontend/dist/ui/frame_modes.js +116 -0
  313. package/frontend/dist/ui/google_map.d.ts +31 -0
  314. package/frontend/dist/ui/google_map.js +111 -0
  315. package/frontend/dist/ui/gradient.d.ts +24 -0
  316. package/frontend/dist/ui/gradient.js +115 -0
  317. package/frontend/dist/ui/image.d.ts +138 -0
  318. package/frontend/dist/ui/image.js +570 -0
  319. package/frontend/dist/ui/input.d.ts +316 -0
  320. package/frontend/dist/ui/input.js +1187 -0
  321. package/frontend/dist/ui/link.d.ts +39 -0
  322. package/frontend/dist/ui/link.js +146 -0
  323. package/frontend/dist/ui/list.d.ts +33 -0
  324. package/frontend/dist/ui/list.js +161 -0
  325. package/frontend/dist/ui/loader_button.d.ts +108 -0
  326. package/frontend/dist/ui/loader_button.js +207 -0
  327. package/frontend/dist/ui/loaders.d.ts +60 -0
  328. package/frontend/dist/ui/loaders.js +150 -0
  329. package/frontend/dist/ui/popup.d.ts +84 -0
  330. package/frontend/dist/ui/popup.js +331 -0
  331. package/frontend/dist/ui/pseudo.d.ts +16 -0
  332. package/frontend/dist/ui/pseudo.js +81 -0
  333. package/frontend/dist/ui/scroller.d.ts +131 -0
  334. package/frontend/dist/ui/scroller.js +1251 -0
  335. package/frontend/dist/ui/slider.d.ts +35 -0
  336. package/frontend/dist/ui/slider.js +203 -0
  337. package/frontend/dist/ui/spacer.d.ts +20 -0
  338. package/frontend/dist/ui/spacer.js +83 -0
  339. package/frontend/dist/ui/span.d.ts +11 -0
  340. package/frontend/dist/ui/span.js +75 -0
  341. package/frontend/dist/ui/stack.d.ts +123 -0
  342. package/frontend/dist/ui/stack.js +344 -0
  343. package/frontend/dist/ui/steps.d.ts +72 -0
  344. package/frontend/dist/ui/steps.js +306 -0
  345. package/frontend/dist/ui/style.d.ts +12 -0
  346. package/frontend/dist/ui/style.js +78 -0
  347. package/frontend/dist/ui/switch.d.ts +44 -0
  348. package/frontend/dist/ui/switch.js +280 -0
  349. package/frontend/dist/ui/table.d.ts +118 -0
  350. package/frontend/dist/ui/table.js +411 -0
  351. package/frontend/dist/ui/tabs.d.ts +85 -0
  352. package/frontend/dist/ui/tabs.js +392 -0
  353. package/frontend/dist/ui/text.d.ts +19 -0
  354. package/frontend/dist/ui/text.js +88 -0
  355. package/frontend/dist/ui/theme.d.ts +25 -0
  356. package/frontend/dist/ui/theme.js +237 -0
  357. package/frontend/dist/ui/title.d.ts +36 -0
  358. package/frontend/dist/ui/title.js +127 -0
  359. package/frontend/dist/ui/ui.d.ts +38 -0
  360. package/frontend/dist/ui/ui.js +41 -0
  361. package/frontend/dist/ui/view.d.ts +25 -0
  362. package/frontend/dist/ui/view.js +93 -0
  363. package/frontend/dist/volt.d.ts +22 -0
  364. package/frontend/dist/volt.js +27 -0
  365. package/frontend/exports.json +1340 -0
  366. package/frontend/src/css/adyen.css +92 -0
  367. package/frontend/src/css/volt.css +65 -0
  368. package/frontend/src/elements/base.ts +16790 -0
  369. package/frontend/src/elements/module.ts +184 -0
  370. package/frontend/src/elements/types.d.ts +155 -0
  371. package/frontend/src/modules/array.ts +366 -0
  372. package/frontend/src/modules/auth.ts +188 -0
  373. package/frontend/src/modules/colors.ts +449 -0
  374. package/frontend/src/modules/compression.ts +67 -0
  375. package/frontend/src/modules/cookies.ts +182 -0
  376. package/frontend/src/modules/date.js +535 -0
  377. package/frontend/src/modules/date.ts +583 -0
  378. package/frontend/src/modules/events.ts +96 -0
  379. package/frontend/src/modules/google.ts +60 -0
  380. package/frontend/src/modules/meta.ts +59 -0
  381. package/frontend/src/modules/mutex.ts +59 -0
  382. package/frontend/src/modules/number.ts +20 -0
  383. package/frontend/src/modules/object.ts +212 -0
  384. package/frontend/src/modules/paddle.ts +2990 -0
  385. package/frontend/src/modules/scheme.ts +740 -0
  386. package/frontend/src/modules/settings.ts +5 -0
  387. package/frontend/src/modules/statics.ts +47 -0
  388. package/frontend/src/modules/string.ts +500 -0
  389. package/frontend/src/modules/support.ts +118 -0
  390. package/frontend/src/modules/themes.ts +24 -0
  391. package/frontend/src/modules/user.ts +321 -0
  392. package/frontend/src/modules/utils.ts +1260 -0
  393. package/frontend/src/static/admin/admin.png +0 -0
  394. package/frontend/src/static/admin/password.webp +0 -0
  395. package/frontend/src/static/icons/copy.webp +0 -0
  396. package/frontend/src/static/payments/arrow.long.webp +0 -0
  397. package/frontend/src/static/payments/arrow.long2.webp +0 -0
  398. package/frontend/src/static/payments/cancelled.webp +0 -0
  399. package/frontend/src/static/payments/check.sign.webp +0 -0
  400. package/frontend/src/static/payments/check.webp +0 -0
  401. package/frontend/src/static/payments/close.webp +0 -0
  402. package/frontend/src/static/payments/error.webp +0 -0
  403. package/frontend/src/static/payments/exclamation.webp +0 -0
  404. package/frontend/src/static/payments/minus.webp +0 -0
  405. package/frontend/src/static/payments/party.webp +0 -0
  406. package/frontend/src/static/payments/plus.webp +0 -0
  407. package/frontend/src/static/payments/shopping_cart.webp +0 -0
  408. package/frontend/src/static/payments/trash.webp +0 -0
  409. package/frontend/src/types/global.d.ts +4 -0
  410. package/frontend/src/types/gradient.ts +87 -0
  411. package/frontend/src/ui/any_element.d.ts +5 -0
  412. package/frontend/src/ui/border_button.ts +320 -0
  413. package/frontend/src/ui/button.ts +62 -0
  414. package/frontend/src/ui/canvas.ts +431 -0
  415. package/frontend/src/ui/checkbox.ts +284 -0
  416. package/frontend/src/ui/code.ts +1049 -0
  417. package/frontend/src/ui/color.ts +117 -0
  418. package/frontend/src/ui/context_menu.ts +194 -0
  419. package/frontend/src/ui/css.ts +57 -0
  420. package/frontend/src/ui/divider.ts +28 -0
  421. package/frontend/src/ui/dropdown.ts +503 -0
  422. package/frontend/src/ui/for_each.ts +71 -0
  423. package/frontend/src/ui/form.ts +208 -0
  424. package/frontend/src/ui/frame_modes.ts +140 -0
  425. package/frontend/src/ui/google_map.ts +70 -0
  426. package/frontend/src/ui/gradient.ts +73 -0
  427. package/frontend/src/ui/image.ts +587 -0
  428. package/frontend/src/ui/input.ts +1284 -0
  429. package/frontend/src/ui/link.ts +77 -0
  430. package/frontend/src/ui/list.ts +88 -0
  431. package/frontend/src/ui/loader_button.ts +192 -0
  432. package/frontend/src/ui/loaders.ts +126 -0
  433. package/frontend/src/ui/popup.ts +370 -0
  434. package/frontend/src/ui/pseudo.ts +33 -0
  435. package/frontend/src/ui/scroller.ts +1324 -0
  436. package/frontend/src/ui/slider.ts +215 -0
  437. package/frontend/src/ui/spacer.ts +29 -0
  438. package/frontend/src/ui/span.ts +23 -0
  439. package/frontend/src/ui/stack.ts +238 -0
  440. package/frontend/src/ui/steps.ts +334 -0
  441. package/frontend/src/ui/style.ts +26 -0
  442. package/frontend/src/ui/switch.ts +286 -0
  443. package/frontend/src/ui/table.ts +323 -0
  444. package/frontend/src/ui/tabs.ts +441 -0
  445. package/frontend/src/ui/text.ts +38 -0
  446. package/frontend/src/ui/theme.ts +279 -0
  447. package/frontend/src/ui/title.ts +64 -0
  448. package/frontend/src/ui/ui.ts +47 -0
  449. package/frontend/src/ui/view.ts +44 -0
  450. package/frontend/src/volt.ts +31 -0
  451. package/package.json +58 -0
@@ -0,0 +1,446 @@
1
+ /*
2
+ * Author: Daan van den Bergh
3
+ * Copyright: © 2022 - 2024 Daan van den Bergh.
4
+ */
5
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
6
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
7
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
8
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
9
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
10
+ var _, done = false;
11
+ for (var i = decorators.length - 1; i >= 0; i--) {
12
+ var context = {};
13
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
14
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
15
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
16
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
17
+ if (kind === "accessor") {
18
+ if (result === void 0) continue;
19
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
20
+ if (_ = accept(result.get)) descriptor.get = _;
21
+ if (_ = accept(result.set)) descriptor.set = _;
22
+ if (_ = accept(result.init)) initializers.unshift(_);
23
+ }
24
+ else if (_ = accept(result)) {
25
+ if (kind === "field") initializers.unshift(_);
26
+ else descriptor[key] = _;
27
+ }
28
+ }
29
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
30
+ done = true;
31
+ };
32
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
33
+ var useValue = arguments.length > 2;
34
+ for (var i = 0; i < initializers.length; i++) {
35
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
36
+ }
37
+ return useValue ? value : void 0;
38
+ };
39
+ var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
40
+ if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
41
+ return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
42
+ };
43
+ // Imports.
44
+ import { Elements } from "../elements/module.js";
45
+ import { Utils } from "../modules/utils.js";
46
+ import { VStackElement, HStack, AnchorHStack } from "./stack";
47
+ import { ForEach } from "./for_each";
48
+ import { ImageMask } from "./image";
49
+ import { Text } from "./text";
50
+ // Dropdown element.
51
+ /* @docs:
52
+ @nav: Frontend
53
+ @chapter: Elements
54
+ @title: Dropdown element
55
+ @descr: Easily create a dropdown element.
56
+ @param:
57
+ @name: target
58
+ @descr: The target element for where the dropdown will be placed.
59
+ @type: Node
60
+ @param:
61
+ @name: animate
62
+ @descr: Enable animations.
63
+ @type: boolean
64
+ @param:
65
+ @name: duration
66
+ @descr: The animation duration in milliseconds.
67
+ @type: number
68
+ @param:
69
+ @name: side
70
+ @descr: Expand to the `"left"` or `"right"` side relative to the target element.
71
+ @type: string
72
+ @param:
73
+ @name: auto_remove
74
+ @descr: Auto remove the dropdown when it is closed.
75
+ @type: boolean
76
+ @param:
77
+ @name: use_target_min
78
+ @descr: Use the target element for a minimum width of the dropdown.
79
+ @type: boolean
80
+ @param:
81
+ @name: below_target
82
+ @descr: Place the dropdown below the target with by default an `y_offset` of `10`, unless `y_offset` is defined as `false`.
83
+ @type: boolean
84
+ @param:
85
+ @name: x_offset
86
+ @descr: The additional x offset of the dropdown's position, this value will be added the computed x position.
87
+ @type: number
88
+ @param:
89
+ @name: y_offset
90
+ @descr: The additional y offset of the dropdown's position, this value will be added the computed y position.
91
+ @type: number
92
+ @param:
93
+ @name: content
94
+ @descr: Optional content array to easily create a context-menu like dropdown menu.
95
+ @type: object[]
96
+ @attributes_type: Content
97
+ @attr:
98
+ @name: text
99
+ @descr: The content text.
100
+ @required: true
101
+ @type: string
102
+ @attr:
103
+ @name: image
104
+ @descr: The content image source.
105
+ @type: string
106
+ @attr:
107
+ @name: image_padding
108
+ @descr: The image padding.
109
+ @type: number
110
+ @attr:
111
+ @name: image_top
112
+ @descr: The image margin top.
113
+ @type: number
114
+ @attr:
115
+ @name: href
116
+ @descr: The href redirect on click.
117
+ @type: string
118
+ @attr:
119
+ @name: callback / on_click
120
+ @descr: The on click callback.
121
+ @type: function
122
+ @attr:
123
+ @name: on_click_redirect
124
+ @descr: The on click redirect function arguments.
125
+ @type: string
126
+ @attr:
127
+ @name: anchor
128
+ @descr: Flag indicating if the content node should be an anchor.
129
+ @type: boolean
130
+ @default: false
131
+ */
132
+ let DropdownElement = (() => {
133
+ var _a;
134
+ let _classDecorators = [(_a = Elements).register.bind(_a)];
135
+ let _classDescriptor;
136
+ let _classExtraInitializers = [];
137
+ let _classThis;
138
+ let _classSuper = VStackElement;
139
+ var DropdownElement = _classThis = class extends _classSuper {
140
+ constructor({ target, animate = true, duration = 300, side = "left", auto_remove = false, min_width = undefined, max_width = undefined, min_height = undefined, max_height = undefined, use_target_min = false, below_target = false, x_offset = undefined, y_offset = undefined, content = undefined, }) {
141
+ // Base.
142
+ super();
143
+ this._frame_min_width = 0;
144
+ this._frame_min_height = 0;
145
+ this._frame_max_width = 0;
146
+ this._frame_max_height = 0;
147
+ this.expanded = false;
148
+ this._init_derived({
149
+ derived: DropdownElement,
150
+ });
151
+ // Parameters.
152
+ this.target = target;
153
+ this.animate = animate;
154
+ this.duration = duration;
155
+ this.side = side;
156
+ this.use_target_min = use_target_min;
157
+ this.auto_remove = auto_remove;
158
+ this._min_width = min_width;
159
+ this._max_width = max_width;
160
+ this._min_height = min_height;
161
+ this._max_height = max_height;
162
+ this.below_target = below_target;
163
+ this.x_offset = x_offset ?? 0;
164
+ this.y_offset = y_offset ?? 0;
165
+ if (!this.animate) {
166
+ this.duration = 0;
167
+ }
168
+ if (this.below_target && y_offset == null) {
169
+ this.y_offset = 10;
170
+ }
171
+ // Styling.
172
+ this
173
+ .hide()
174
+ .overflow("hidden")
175
+ .background("black")
176
+ .border_radius(10)
177
+ .padding(5, 15)
178
+ .border(1, "grey")
179
+ .z_index(10)
180
+ .position("absolute")
181
+ .box_shadow("0px 0px 5px #00000030")
182
+ .opacity(0)
183
+ .transition(this.animate ? `opacity ${this.duration * 0.8}ms ease-in, max-height ${this.duration}ms ease-in-out, max-width ${this.duration}ms ease-in-out` : "")
184
+ .max_width(0)
185
+ .max_height(0);
186
+ // Add content.
187
+ this.mouse_over_background = "#FFFFFF10";
188
+ this.mouse_out_opacity = 0.8;
189
+ this._content_padding = [7.5, 20];
190
+ this._content_margin = [2.5, 0];
191
+ this.content_items = [];
192
+ if (content) {
193
+ this.padding(10, 0);
194
+ this.append(ForEach(content, (item) => {
195
+ const element = (item.href || item.on_click_redirect || item.anchor) ? AnchorHStack() : HStack();
196
+ element.append(item.image == null ? null : ImageMask(item.image)
197
+ .frame("1em", "1em")
198
+ .mask_color("white")
199
+ .margin_right("1em")
200
+ .flex_shrink(0)
201
+ .padding(item.image_padding == null ? 0 : item.image_padding)
202
+ .margin_top(item.image_top == null ? 0 : item.image_top)
203
+ .assign_to_parent_as("image"), Text(item.text)
204
+ .color("white")
205
+ .font_size("inherit")
206
+ .wrap(false)
207
+ // .ellipsis_overflow(true)
208
+ )
209
+ .text_decoration("none")
210
+ .border("none")
211
+ .outline("none")
212
+ .padding(...this._content_padding)
213
+ .margin(...this._content_margin)
214
+ .transition("background 250ms ease-in-out, opacity 250ms ease-in-out")
215
+ .on_mouse_over(e => e.background(this.mouse_over_background).opacity(1));
216
+ element.on_mouse_out(e => e.background("transparent").opacity(this.mouse_out_opacity));
217
+ element.parent(this);
218
+ if (item.href) {
219
+ element.href(item.href);
220
+ }
221
+ else if (Array.isArray(item.on_click)) {
222
+ element.on_click(...item.on_click);
223
+ }
224
+ else if (item.on_click) {
225
+ element.on_click(item.on_click);
226
+ }
227
+ else if (Array.isArray(item.on_click_redirect)) {
228
+ element.on_click(...item.on_click_redirect);
229
+ }
230
+ else if (item.callback) {
231
+ element.on_click(item.callback);
232
+ }
233
+ this.content_items.append(element);
234
+ return element;
235
+ }));
236
+ }
237
+ }
238
+ // Get frame.
239
+ _get_frame() {
240
+ this.visibility("hidden");
241
+ this.show();
242
+ this.max_width("none");
243
+ this.max_height("none");
244
+ this.getBoundingClientRect();
245
+ if (this.use_target_min) {
246
+ this._frame_min_width = this.target.clientWidth;
247
+ this._frame_min_height = this.target.clientHeight;
248
+ }
249
+ else {
250
+ this._frame_min_width = parseFloat(this.min_width());
251
+ if (typeof this._frame_min_width !== "number") {
252
+ this._frame_min_width = 0;
253
+ }
254
+ if (this._min_width) {
255
+ this._frame_min_width = Math.max(this._frame_min_width, this._min_width);
256
+ }
257
+ this._frame_min_height = parseFloat(this.min_height());
258
+ if (typeof this._frame_min_height !== "number") {
259
+ this._frame_min_height = 0;
260
+ }
261
+ if (this._min_height) {
262
+ this._frame_min_height = Math.max(this._frame_min_height, this._min_height);
263
+ }
264
+ }
265
+ this._frame_max_width = Math.max(this._frame_min_width, this.clientWidth);
266
+ if (this._max_width) {
267
+ this._frame_max_width = Math.min(this._frame_max_width, this._max_width);
268
+ }
269
+ this.max_width(this._frame_max_width); // so height is accurate based on width.
270
+ this._frame_max_height = Math.max(this._frame_min_height, this.clientHeight);
271
+ if (this._max_height) {
272
+ this._frame_max_height = Math.min(this._frame_max_height, this._max_height);
273
+ }
274
+ this.hide();
275
+ this.visibility("visible");
276
+ }
277
+ // Toggle.
278
+ toggle() {
279
+ if (this.expanded) {
280
+ return this.minimize();
281
+ }
282
+ return this.expand();
283
+ }
284
+ // Expand dropdown.
285
+ expand() {
286
+ if (this.next_toggle_allowed !== undefined && Date.now() < this.next_toggle_allowed) {
287
+ return this;
288
+ }
289
+ ; // otherwise it goes glitchy.
290
+ if (this.expanded) {
291
+ return this;
292
+ }
293
+ this.expanded = true;
294
+ // Show.
295
+ clearTimeout(this.animation_timeout);
296
+ this.transition("");
297
+ this._get_frame();
298
+ this.max_width(this._frame_min_width);
299
+ this.max_height(this._frame_min_height);
300
+ this.opacity(0);
301
+ this.transition(this.animate ? `opacity ${this.duration * 0.8}ms ease-in, max-height ${this.duration}ms ease-in-out, max-width ${this.duration}ms ease-in-out` : "");
302
+ this.show().getBoundingClientRect();
303
+ const rect = this.target.getBoundingClientRect();
304
+ this
305
+ .position(rect.top + this.y_offset + (this.below_target ? rect.height : 0), this.side !== "left" ? (window.innerWidth - rect.right - this.x_offset) : undefined, undefined, this.side === "left" ? (rect.left + this.x_offset) : undefined)
306
+ .opacity(1)
307
+ .max_width(this._frame_max_width)
308
+ .max_height(this._frame_max_height);
309
+ // Close handler.
310
+ if (this.close_handler == null) {
311
+ const _this_ = this;
312
+ this.close_handler = (event) => {
313
+ if (this.expanded && !this.is_nested_child(event.target) && !Utils.is_nested_child(this.target, event.target)) { // also prevent on click on target element, otherwise it does this open close buggy thing
314
+ this.minimize();
315
+ }
316
+ };
317
+ }
318
+ document.body.addEventListener("mousedown", this.close_handler);
319
+ this.next_toggle_allowed = Date.now() + Math.max(100, this.duration);
320
+ // Callback.
321
+ if (this.on_expand_callback) {
322
+ this.on_expand_callback(this);
323
+ }
324
+ return this;
325
+ }
326
+ // Minimize dropdown.
327
+ minimize(force = false) {
328
+ if (!force && this.next_toggle_allowed !== undefined && Date.now() < this.next_toggle_allowed) {
329
+ return this;
330
+ }
331
+ ; // otherwise it goes glitchy.
332
+ if (!force && !this.expanded) {
333
+ return this;
334
+ }
335
+ this.expanded = false;
336
+ // Hide.
337
+ this
338
+ .max_width(this._frame_min_width)
339
+ .max_height(this._frame_min_height)
340
+ .opacity(0);
341
+ this.animation_timeout = setTimeout(() => {
342
+ if (this.auto_remove) {
343
+ this.remove();
344
+ }
345
+ else {
346
+ this.hide();
347
+ }
348
+ }, this.duration);
349
+ document.body.removeEventListener("mousedown", this.close_handler);
350
+ this.next_toggle_allowed = Date.now() + Math.max(100, this.duration);
351
+ // Callback.
352
+ if (this.on_minimize_callback) {
353
+ this.on_minimize_callback(this);
354
+ }
355
+ return this;
356
+ }
357
+ on_expand(callback) {
358
+ if (callback == null) {
359
+ return this.on_expand_callback;
360
+ }
361
+ this.on_expand_callback = callback;
362
+ return this;
363
+ }
364
+ on_minimize(callback) {
365
+ if (callback == null) {
366
+ return this.on_minimize_callback;
367
+ }
368
+ this.on_minimize_callback = callback;
369
+ return this;
370
+ }
371
+ font_size(value) {
372
+ if (value == null) {
373
+ return super.font_size();
374
+ }
375
+ super.font_size(value);
376
+ // all font sizes are inherited or Xem based
377
+ return this;
378
+ }
379
+ color(value) {
380
+ if (value == null) {
381
+ return super.color();
382
+ }
383
+ super.color(value);
384
+ this.content_items.iterate(e => {
385
+ e.color(value);
386
+ if (e.image) {
387
+ e.image.mask_color(value);
388
+ }
389
+ });
390
+ return this;
391
+ }
392
+ /* @docs:
393
+ @title: Iterate content nodes.
394
+ @description: Iterate content nodes created by the `content` parameter. When the callback returns any non null value the iteration will be stopped.
395
+ */
396
+ iterate_content(callback) {
397
+ this.content_items.iterate((node) => { callback(node); });
398
+ return this;
399
+ }
400
+ content_padding(...args) {
401
+ if (args == null || args.length === 0) {
402
+ return this._content_padding;
403
+ }
404
+ this._content_padding = args;
405
+ this.content_items.iterate((node) => { node.padding(...args); });
406
+ // this.content_items.iterate((node) => { node.padding(...(args as [number, string])); })
407
+ return this;
408
+ }
409
+ content_margin(...args) {
410
+ if (args == null || args.length === 0) {
411
+ return this._content_margin;
412
+ }
413
+ this._content_margin = args;
414
+ this.content_items.iterate((node) => { node.margin(...args); });
415
+ // this.content_items.iterate((node) => { node.margin(...(args as [number, string])); })
416
+ return this;
417
+ }
418
+ content_background(value) {
419
+ if (value == null) {
420
+ return this.mouse_over_background;
421
+ }
422
+ this.mouse_over_background = value;
423
+ return this;
424
+ }
425
+ content_opacity(value) {
426
+ if (value == null) {
427
+ return this.mouse_out_opacity;
428
+ }
429
+ this.mouse_out_opacity = value;
430
+ this.content_items.iterate((node) => { node.opacity(value); });
431
+ return this;
432
+ }
433
+ };
434
+ __setFunctionName(_classThis, "DropdownElement");
435
+ (() => {
436
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
437
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
438
+ DropdownElement = _classThis = _classDescriptor.value;
439
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
440
+ __runInitializers(_classThis, _classExtraInitializers);
441
+ })();
442
+ return DropdownElement = _classThis;
443
+ })();
444
+ export { DropdownElement };
445
+ export const Dropdown = Elements.wrapper(DropdownElement);
446
+ export const NullDropdown = Elements.create_null(DropdownElement);
@@ -0,0 +1,38 @@
1
+ import { VElementTagMap } from "../elements/module.js";
2
+ type ArrayCallback = ((item: any, index: number, is_last: boolean) => any);
3
+ type ArrayCallback1 = ((item: any, index: number) => any);
4
+ type ArrayCallback2 = ((item: any) => any);
5
+ type ObjectCallback = ((value: any, key: string, index: number, is_last: boolean) => any);
6
+ type ObjectCallback1 = ((value: any, key: string, index: number) => any);
7
+ type ObjectCallback2 = ((value: any, key: string) => any);
8
+ type ObjectCallback3 = ((value: any) => any);
9
+ export declare class ForEachElement extends VElementTagMap.section {
10
+ static default_style: {
11
+ border: string;
12
+ outline: string;
13
+ background: string;
14
+ };
15
+ constructor(items: Array<any>, func: ArrayCallback);
16
+ constructor(items: Array<any>, func: ArrayCallback1);
17
+ constructor(items: Array<any>, func: ArrayCallback2);
18
+ constructor(items: Record<string, any>, func: ObjectCallback);
19
+ constructor(items: Record<string, any>, func: ObjectCallback1);
20
+ constructor(items: Record<string, any>, func: ObjectCallback2);
21
+ constructor(items: Record<string, any>, func: ObjectCallback3);
22
+ }
23
+ export declare const ForEach: {
24
+ (items: Array<any>, func: ArrayCallback): ArrayCallback;
25
+ (items: Array<any>, func: ArrayCallback): ArrayCallback1;
26
+ (items: Array<any>, func: ArrayCallback): ArrayCallback2;
27
+ (items: Record<string, any>, func: ObjectCallback): ObjectCallback;
28
+ (items: Record<string, any>, func: ObjectCallback): ObjectCallback1;
29
+ (items: Record<string, any>, func: ObjectCallback): ObjectCallback2;
30
+ (items: Record<string, any>, func: ObjectCallback): ObjectCallback3;
31
+ };
32
+ export declare const NullForEach: <Extensions extends object = {}>() => ForEachElement & Extensions;
33
+ declare module './any_element.d.ts' {
34
+ interface AnyElementMap {
35
+ ForEachElement: ForEachElement;
36
+ }
37
+ }
38
+ export {};
@@ -0,0 +1,97 @@
1
+ /*
2
+ * Author: Daan van den Bergh
3
+ * Copyright: © 2022 - 2024 Daan van den Bergh.
4
+ */
5
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
6
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
7
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
8
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
9
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
10
+ var _, done = false;
11
+ for (var i = decorators.length - 1; i >= 0; i--) {
12
+ var context = {};
13
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
14
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
15
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
16
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
17
+ if (kind === "accessor") {
18
+ if (result === void 0) continue;
19
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
20
+ if (_ = accept(result.get)) descriptor.get = _;
21
+ if (_ = accept(result.set)) descriptor.set = _;
22
+ if (_ = accept(result.init)) initializers.unshift(_);
23
+ }
24
+ else if (_ = accept(result)) {
25
+ if (kind === "field") initializers.unshift(_);
26
+ else descriptor[key] = _;
27
+ }
28
+ }
29
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
30
+ done = true;
31
+ };
32
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
33
+ var useValue = arguments.length > 2;
34
+ for (var i = 0; i < initializers.length; i++) {
35
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
36
+ }
37
+ return useValue ? value : void 0;
38
+ };
39
+ var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
40
+ if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
41
+ return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
42
+ };
43
+ // Imports.
44
+ import { Elements, VElementTagMap } from "../elements/module.js";
45
+ // ForEach.
46
+ let ForEachElement = (() => {
47
+ var _a;
48
+ let _classDecorators = [(_a = Elements).register.bind(_a)];
49
+ let _classDescriptor;
50
+ let _classExtraInitializers = [];
51
+ let _classThis;
52
+ let _classSuper = VElementTagMap.section;
53
+ var ForEachElement = _classThis = class extends _classSuper {
54
+ constructor(items, func) {
55
+ // Initialize base class.
56
+ super({
57
+ derived: ForEachElement,
58
+ });
59
+ // Iterate.
60
+ if (Array.isArray(items)) {
61
+ for (let i = 0; i < items.length; i++) {
62
+ this.append(func(items[i], i, i === items.length - 1));
63
+ }
64
+ }
65
+ else if (typeof items === "object") {
66
+ let index = 0;
67
+ const keys = Object.keys(items);
68
+ keys.iterate((key) => {
69
+ this.append(func(key, items[key], index, index === keys.length - 1));
70
+ ++index;
71
+ });
72
+ }
73
+ else {
74
+ throw Error(`Parameter "items" has an invalid value type, the valid value types are "array" or "object".`);
75
+ }
76
+ }
77
+ };
78
+ __setFunctionName(_classThis, "ForEachElement");
79
+ (() => {
80
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
81
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
82
+ ForEachElement = _classThis = _classDescriptor.value;
83
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
84
+ })();
85
+ _classThis.default_style = {
86
+ "border": "none",
87
+ "outline": "none",
88
+ "background": "transparent",
89
+ };
90
+ (() => {
91
+ __runInitializers(_classThis, _classExtraInitializers);
92
+ })();
93
+ return ForEachElement = _classThis;
94
+ })();
95
+ export { ForEachElement };
96
+ export const ForEach = Elements.wrapper(ForEachElement);
97
+ export const NullForEach = Elements.create_null(ForEachElement);
@@ -0,0 +1,25 @@
1
+ import { VElement } from "../elements/module.js";
2
+ import { VStackElement } from "./stack";
3
+ export declare class FormElement extends VStackElement {
4
+ _button?: VElement;
5
+ fields: Record<string, any>;
6
+ _on_submit?: ((element: FormElement, data: Record<string, any>) => any);
7
+ _on_submit_error?: ((element: FormElement, error: Error) => any);
8
+ _on_append_callback: (child: any) => void;
9
+ constructor(...children: any[]);
10
+ data(): Record<string, any>;
11
+ submit(): Promise<this>;
12
+ button<T = undefined | HTMLElement | VElement>(): T;
13
+ button(element_or_id: VElement | string): this;
14
+ on_submit(): undefined | ((element: FormElement, data: Record<string, any>) => any);
15
+ on_submit(callback: ((element: FormElement, data: Record<string, any>) => any)): this;
16
+ on_submit_error(): undefined | ((element: FormElement, error: Error) => any);
17
+ on_submit_error(callback: ((element: FormElement, error: Error) => any)): this;
18
+ }
19
+ export declare const Form: <Extensions extends object = {}>(...args: any[]) => FormElement & Extensions;
20
+ export declare const NullForm: <Extensions extends object = {}>() => FormElement & Extensions;
21
+ declare module './any_element.d.ts' {
22
+ interface AnyElementMap {
23
+ FormElement: FormElement;
24
+ }
25
+ }