@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,5 @@
1
+
2
+ // Settings.
3
+ export const Settings = {
4
+ production: "{{PRODUCTION}}" as any as boolean,
5
+ }
@@ -0,0 +1,47 @@
1
+ /*
2
+ * Author: Daan van den Bergh
3
+ * Copyright: © 2022 - 2024 Daan van den Bergh.
4
+ */
5
+
6
+ // Static module
7
+ if ((window as any).volt_statics_aspect_ratios === undefined) {
8
+ (window as any).volt_statics_aspect_ratios = {};
9
+ }
10
+ export const Statics = {
11
+ get aspect_ratios() {
12
+ return (window as any).volt_statics_aspect_ratios
13
+ },
14
+ set aspect_ratios(aspect_ratios) {
15
+ (window as any).volt_statics_aspect_ratios = aspect_ratios;
16
+ },
17
+
18
+ /* @docs:
19
+ @nav: Frontend
20
+ @chapter: Static
21
+ @title: Aspect Ratio
22
+ @desc:
23
+ Retrieve the aspect ratio of a static endpoint.
24
+
25
+ All aspect ratios are embedded into the compiled HTML document.
26
+ @warning:
27
+ This function only works when the endpoint has been defined using the `Endpoint.view` attribute.
28
+ @param:
29
+ @name: endpoint
30
+ @type: string
31
+ @descr: The static image endpoint.
32
+ */
33
+ aspect_ratio(endpoint: string) {
34
+ if (endpoint.charAt(0) !== "/") {
35
+ endpoint = "/" + endpoint;
36
+ }
37
+ const index = endpoint.indexOf("?");
38
+ if (index !== -1) {
39
+ endpoint = endpoint.substring(0, index);
40
+ }
41
+ endpoint = endpoint.replace(/\/\//g, "/");
42
+ while (endpoint.charAt(endpoint.length - 1) === "/") {
43
+ endpoint = endpoint.substring(0, endpoint.length - 1);
44
+ }
45
+ return this.aspect_ratios[endpoint];
46
+ }
47
+ }
@@ -0,0 +1,500 @@
1
+ /*
2
+ * Author: Daan van den Bergh
3
+ * Copyright: © 2022 - 2024 Daan van den Bergh.
4
+ */
5
+ declare global {
6
+
7
+ // String interface extensions
8
+ interface String {
9
+ /**
10
+ * Returns the first character of the string.
11
+ */
12
+ first(): string | undefined;
13
+
14
+ /**
15
+ * Returns the last character of the string.
16
+ */
17
+ last(): string | undefined;
18
+
19
+ /**
20
+ * Gets the first non-whitespace character.
21
+ * @param line_break Whether to consider line breaks as whitespace.
22
+ * @returns The first non-whitespace character or null if none found.
23
+ */
24
+ first_non_whitespace(line_break?: boolean): string | null;
25
+
26
+ /**
27
+ * Gets the last non-whitespace character.
28
+ * @param line_break Whether to consider line breaks as whitespace.
29
+ * @returns The last non-whitespace character or null if none found.
30
+ */
31
+ last_non_whitespace(line_break?: boolean): string | null;
32
+
33
+ /**
34
+ * Finds the first character not in the exclude list.
35
+ * @param exclude An array of characters to exclude.
36
+ * @param start_index The index to start searching from.
37
+ * @returns The first character not excluded or null if none found.
38
+ */
39
+ first_not_of(exclude: string[], start_index?: number): string | null;
40
+
41
+ /**
42
+ * Finds the index of the first character not in the exclude list.
43
+ * @param exclude An array of characters to exclude.
44
+ * @param start_index The index to start searching from.
45
+ * @returns The index or null if none found.
46
+ */
47
+ first_index_not_of(exclude: string[], start_index?: number): number | null;
48
+
49
+ /**
50
+ * Finds the last character not in the exclude list.
51
+ * @param exclude An array of characters to exclude.
52
+ * @param start_index The index to start searching backwards from.
53
+ * @returns The last character not excluded or null if none found.
54
+ */
55
+ last_not_of(exclude: string[], start_index?: number): string | null;
56
+
57
+ /**
58
+ * Finds the index of the last character not in the exclude list.
59
+ * @param exclude An array of characters to exclude.
60
+ * @param start_index The index to start searching backwards from.
61
+ * @returns The index or null if none found.
62
+ */
63
+ last_index_not_of(exclude: string[], start_index?: number): number | null;
64
+
65
+ /**
66
+ * Inserts a substring at the specified index.
67
+ * @param index The index to insert at.
68
+ * @param substr The substring to insert.
69
+ * @returns The new string.
70
+ */
71
+ insert(index: number, substr: string): string;
72
+
73
+ /**
74
+ * Removes a substring between the specified indices.
75
+ * @param start The starting index.
76
+ * @param end The ending index.
77
+ * @returns The new string.
78
+ */
79
+ remove_indices(start: number, end: number): string;
80
+
81
+ /**
82
+ * Replaces a substring between the specified indices with another substring.
83
+ * @param substr The substring to insert.
84
+ * @param start The starting index.
85
+ * @param end The ending index.
86
+ * @returns The new string.
87
+ */
88
+ replace_indices(substr: string, start: number, end: number): string;
89
+
90
+ /**
91
+ * Checks if the string starts with a given substring at a specified index.
92
+ * @param substr The substring to check.
93
+ * @param start_index The index to start checking from.
94
+ * @returns True if equal, false otherwise.
95
+ */
96
+ eq_first(substr: string, start_index?: number): boolean;
97
+
98
+ /**
99
+ * Checks if the string ends with a given substring.
100
+ * @param substr The substring to check.
101
+ * @returns True if equal, false otherwise.
102
+ */
103
+ eq_last(substr: string): boolean;
104
+
105
+ /**
106
+ * Ensures the string ends with one of the specified characters.
107
+ * @param ensure_last A string of characters.
108
+ * @returns The modified string.
109
+ */
110
+ ensure_last(ensure_last: string): string;
111
+
112
+ /**
113
+ * Checks if the string is uppercase.
114
+ * @param allow_digits Whether to allow digits as uppercase.
115
+ * @returns True if uppercase, false otherwise.
116
+ */
117
+ is_uppercase(allow_digits?: boolean): boolean;
118
+
119
+ /**
120
+ * Capitalizes the first letter of the string.
121
+ * @returns The capitalized string.
122
+ */
123
+ capitalize_word(): string;
124
+
125
+ /**
126
+ * Capitalizes the first letter of each word in the string.
127
+ * @returns The string with each word capitalized.
128
+ */
129
+ capitalize_words(): string;
130
+
131
+ /**
132
+ * Removes specified characters from the string.
133
+ * @param char A character or array of characters to remove.
134
+ * @returns The modified string.
135
+ */
136
+ drop(char: string | string[]): string;
137
+
138
+ /**
139
+ * Reverses the string.
140
+ * @returns The reversed string.
141
+ */
142
+ reverse(): string;
143
+
144
+ /**
145
+ * Checks if the string represents an integer.
146
+ * @returns True if it represents an integer, false otherwise.
147
+ */
148
+ is_integer_string(): boolean;
149
+
150
+ /**
151
+ * Checks if the string represents a floating-point number.
152
+ * @returns True if it represents a float, false otherwise.
153
+ */
154
+ is_floating_string(): boolean;
155
+
156
+ /**
157
+ * Checks if the string is numeric.
158
+ * @param info If true, returns an object with details.
159
+ * @returns True if numeric, false otherwise, or an info object.
160
+ */
161
+ is_numeric_string(info?: boolean): boolean | { integer: boolean; floating: boolean };
162
+
163
+ /**
164
+ * Removes surrounding quotes from the string.
165
+ * @returns The unquoted string.
166
+ */
167
+ unquote(): string;
168
+
169
+ /**
170
+ * Adds quotes around the string if not already quoted.
171
+ * @returns The quoted string.
172
+ */
173
+ quote(): string;
174
+
175
+ /**
176
+ * Dedent a string.
177
+ * @returns The dedented string.
178
+ */
179
+ dedent(): string;
180
+ }
181
+
182
+ // StringConstructor extensions
183
+ interface StringConstructor {
184
+ /**
185
+ * Generates a random alphanumeric string.
186
+ * @param length The length of the string. Default is 32.
187
+ * @returns A random string.
188
+ */
189
+ random(length?: number): string;
190
+ }
191
+ }
192
+ export {} // is required.
193
+
194
+ // String prototype functions.
195
+ String.prototype.first = function() {
196
+ return this[0];
197
+ };
198
+ String.prototype.last = function() {
199
+ return this[this.length - 1];
200
+ };
201
+
202
+ // Get the first non whitespace char, does not count \n as whitespace by default.
203
+ String.prototype.first_non_whitespace = function(line_break = false) {
204
+ for (let i = 0; i < this.length; i++) {
205
+ const char = this.charAt(i);
206
+ if (char != " " && char != "\t" && (line_break == false || char != "\n")) {
207
+ return char;
208
+ }
209
+ }
210
+ return null;
211
+ };
212
+
213
+ // Get the last non whitespace char, does not count \n as whitespace by default.
214
+ String.prototype.last_non_whitespace = function(line_break = false) {
215
+ for (let i = this.length - 1; i >= 0; i--) {
216
+ const char = this.charAt(i);
217
+ if (char != " " && char != "\t" && (line_break == false || char != "\n")) {
218
+ return char;
219
+ }
220
+ }
221
+ return null;
222
+ };
223
+
224
+ // Get the first non excluded character (index).
225
+ String.prototype.first_not_of = function(exclude: string[] = [], start_index: number = 0) {
226
+ for (let i: number = start_index; i < this.length; i++) {
227
+ if (!exclude.includes(this.charAt(i))) {
228
+ return this.charAt(i);
229
+ }
230
+ }
231
+ return null;
232
+ };
233
+ String.prototype.first_index_not_of = function(exclude: string[] = [], start_index: number = 0) {
234
+ for (let i: number = start_index; i < this.length; i++) {
235
+ if (!exclude.includes(this.charAt(i))) {
236
+ return i;
237
+ }
238
+ }
239
+ return null;
240
+ };
241
+
242
+ // Get the last non excluded character (index).
243
+ String.prototype.last_not_of = function(exclude: string[] = [], start_index: number = -1) {
244
+ if (start_index === -1 || start_index == null) {
245
+ start_index = this.length - 1;
246
+ }
247
+ for (let i = start_index as any as number; i >= 0; i--) {
248
+ if (!exclude.includes(this.charAt(i))) {
249
+ return this.charAt(i);
250
+ }
251
+ }
252
+ return null;
253
+ };
254
+ String.prototype.last_index_not_of = function(exclude: string[] = [], start_index: number = -1) {
255
+ if (start_index === -1 || start_index == null) {
256
+ start_index = this.length - 1;
257
+ }
258
+ for (let i = start_index as any as number; i >= 0; i--) {
259
+ if (!exclude.includes(this.charAt(i))) {
260
+ return i;
261
+ }
262
+ }
263
+ return null;
264
+ };
265
+
266
+ // Insert substr at index.
267
+ String.prototype.insert = function(index, substr) {
268
+ let edited = this.substr(0, index);
269
+ edited += substr;
270
+ edited += this.substr(index);
271
+ return edited;
272
+ };
273
+
274
+ // Remove substr at index.
275
+ String.prototype.remove_indices = function(start, end) {
276
+ let edited = this.substr(0, start);
277
+ edited += this.substr(end);
278
+ return edited;
279
+ };
280
+
281
+ // Remove substr at index.
282
+ String.prototype.replace_indices = function(substr, start, end) {
283
+ let edited = this.substr(0, start);
284
+ edited += substr;
285
+ edited += this.substr(end);
286
+ return edited;
287
+ };
288
+
289
+ // Check if the first chars of the main string equals a substring, optionally with start index.
290
+ String.prototype.eq_first = function(substr, start_index = 0) {
291
+ if (start_index + substr.length > this.length) {
292
+ return false;
293
+ }
294
+ const end = start_index + substr.length;
295
+ let y = 0;
296
+ for (let x = start_index; x < end; x++) {
297
+ if (this.charAt(x) != substr.charAt(y)) {
298
+ return false;
299
+ }
300
+ ++y;
301
+ }
302
+ return true;
303
+ }
304
+
305
+ // Check if the last chars of the main string equals a substring.
306
+ String.prototype.eq_last = function(substr) {
307
+ if (substr.length > this.length) {
308
+ return false;
309
+ }
310
+ let y = 0;
311
+ for (let x = this.length - substr.length; x < this.length; x++) {
312
+ if (this.charAt(x) != substr.charAt(y)) {
313
+ return false;
314
+ }
315
+ ++y;
316
+ }
317
+ return true;
318
+ }
319
+
320
+ // Ensure last, checks if one of the characters of the `ensure_last` parameter is the last character, if not then it adds the first character of the `ensure_last` parameter to the end of the string.
321
+ // The newly created string will be returned.
322
+ String.prototype.ensure_last = function(ensure_last) {
323
+ if (ensure_last.indexOf(this.charAt(this.length - 1)) === -1) {
324
+ return this + ensure_last.charAt(0);
325
+ }
326
+ if (this instanceof String) {
327
+ return this.toString()
328
+ }
329
+ return this;
330
+ }
331
+
332
+ // Check if a word is uppercase only.
333
+ String.prototype.is_uppercase = function(allow_digits = false) {
334
+ let uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
335
+ if (allow_digits) {
336
+ uppercase += "0123456789";
337
+ }
338
+ for (let i = 0; i < this.length; i++) {
339
+ if (uppercase.indexOf(this.charAt(i)) === -1) {
340
+ return false;
341
+ }
342
+ }
343
+ return true;
344
+ }
345
+
346
+ // Capitalize as a word (only the first letter).
347
+ String.prototype.capitalize_word = function() {
348
+ if ("abcdefghijklmopqrstuvwxyz".includes(this.charAt(0))) {
349
+ return this.charAt(0).toUpperCase() + this.substr(1);
350
+ }
351
+ if (this instanceof String) {
352
+ return this.toString()
353
+ }
354
+ return this;
355
+ }
356
+
357
+ // Capitalize the first letter of each word seperated by whitespace in a string.
358
+ String.prototype.capitalize_words = function() {
359
+ let batch = "";
360
+ let capitalized = "";
361
+ for (let i = 0; i < this.length; i++) {
362
+ const c = this.charAt(i);
363
+ if (c === " " || c === "\t" || c === "\n") {
364
+ capitalized += batch.capitalize_word();
365
+ batch = "";
366
+ capitalized += c;
367
+ } else {
368
+ batch += c;
369
+ }
370
+ }
371
+ capitalized += batch.capitalize_word();
372
+ return capitalized;
373
+ }
374
+
375
+ // Drop a single char or an array of characters.
376
+ String.prototype.drop = function(char) {
377
+ const is_array = Array.isArray(char);
378
+ let dropped = "";
379
+ for (let i = 0; i < this.length; i++) {
380
+ const c = this.charAt(i);
381
+ if (is_array) {
382
+ if (char.includes(c) === false) {
383
+ dropped += c;
384
+ }
385
+ } else {
386
+ if (char !== c) {
387
+ dropped += c;
388
+ }
389
+ }
390
+ }
391
+ return dropped;
392
+ }
393
+
394
+ // Reverse the string.
395
+ String.prototype.reverse = function() {
396
+ let reversed = "";
397
+ for (let i = this.length - 1; i >= 0; i--) {
398
+ reversed += this.charAt(i);
399
+ }
400
+ return reversed;
401
+ }
402
+
403
+ // Generate a random string.
404
+ String.random = function(length = 32) {
405
+ const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
406
+ let result = "";
407
+ for (let i = 0; i < length; i++) {
408
+ result += chars.charAt(Math.floor(Math.random() * chars.length));
409
+ }
410
+ return result;
411
+ }
412
+
413
+ // Check if a string is a integer in string format
414
+ String.prototype.is_integer_string = function() {
415
+ const chars = '0123456789';
416
+ for (let i = 0; i < this.length; i++) {
417
+ if (chars.indexOf(this.charAt(i)) === -1) {
418
+ return false;
419
+ }
420
+ }
421
+ return true;
422
+ }
423
+
424
+ // Check if a string is a floating in string format
425
+ String.prototype.is_floating_string = function() {
426
+ const chars = '0123456789';
427
+ let decimal = false;
428
+ for (let i = 0; i < this.length; i++) {
429
+ const char = this.charAt(i);
430
+ if (char === '.') {
431
+ if (decimal) { return false; }
432
+ decimal = true;
433
+ } else if (chars.indexOf(char) === -1) {
434
+ return false;
435
+ }
436
+ }
437
+ return decimal;
438
+ }
439
+
440
+ // Check if a string is a numeric in string format
441
+ String.prototype.is_numeric_string = function(info = false) {
442
+ const chars = '0123456789';
443
+ let decimal = false;
444
+ for (let i = 0; i < this.length; i++) {
445
+ const char = this.charAt(i);
446
+ if (char === '.') {
447
+ if (decimal) { return false; }
448
+ decimal = true;
449
+ } else if (chars.indexOf(char) === -1) {
450
+ if (info) {
451
+ return {integer: false, floating: false};
452
+ }
453
+ return false;
454
+ }
455
+ }
456
+ if (info) {
457
+ return {integer: decimal === false, floating: decimal === true};
458
+ }
459
+ return true;
460
+ }
461
+
462
+ // Unquote a string.
463
+ String.prototype.unquote = function() {
464
+ if ((this.startsWith('"') && this.endsWith('"')) || (this.startsWith("'") && this.endsWith("'"))) {
465
+ return this.slice(1, -1);
466
+ }
467
+ if (this instanceof String) {
468
+ return this.toString()
469
+ }
470
+ return this;
471
+ }
472
+
473
+ // Quote a string.
474
+ String.prototype.quote = function() {
475
+ if ((this.startsWith('"') && this.endsWith('"')) || (this.startsWith("'") && this.endsWith("'"))) {
476
+ if (this instanceof String) {
477
+ return this.toString()
478
+ }
479
+ return this;
480
+ }
481
+ return `"${this}"`;
482
+ }
483
+
484
+ // Then implement the function
485
+ String.prototype.dedent = function() {
486
+ const lines = this.split('\n');
487
+
488
+ // Find minimum indentation
489
+ const indent = lines
490
+ .filter(line => line.trim())
491
+ .map(line => line.match(/^[ \t]*/)?.[0].length ?? Infinity)
492
+ .reduce((min, curr) => Math.min(min, curr), Infinity);
493
+
494
+ // Remove common indentation
495
+ return lines
496
+ .map(line => line.slice(indent))
497
+ .join('\n')
498
+ .trim();
499
+
500
+ };
@@ -0,0 +1,118 @@
1
+ /*
2
+ * Author: Daan van den Bergh
3
+ * Copyright: © 2022 - 2024 Daan van den Bergh.
4
+ */
5
+
6
+ // Imports.
7
+ import { Utils } from "./utils.js"
8
+
9
+ // Support module.
10
+ const Support = {
11
+
12
+ /* @docs:
13
+ * @nav: Frontend
14
+ * @chapter: Support
15
+ * @title: Submit Support
16
+ * @description:
17
+ * Submit a support contact form. The server will send an email to your registered SMTP mail.
18
+ *
19
+ * All provided argument keys will be included in the support mail, even the undefined parameters.
20
+ * @type: Promise
21
+ * @return: Returns a promise with a successful submit response or a request error on a failed request.
22
+ * @param:
23
+ * @name: subject
24
+ * @desc: The support subject.
25
+ * @required: false
26
+ * @param:
27
+ * @name: type
28
+ * @desc: The support type for internal purpose only.
29
+ * @required: false
30
+ * @type: string
31
+ * @param:
32
+ * @name: support_pin
33
+ * @desc: The user's support pin. This parameter will automatically be assigned when the user is authenticated.
34
+ * @required: false
35
+ * @advised: true
36
+ * @type: string
37
+ * @param:
38
+ * @name: email
39
+ * @desc: The user's email. This parameter will automatically be assigned when the user is authenticated.
40
+ * @required: false
41
+ * @advised: true
42
+ * @type: string
43
+ * @param:
44
+ * @name: first_name
45
+ * @desc: The user's first name. This parameter will automatically be assigned when the user is authenticated.
46
+ * @required: false
47
+ * @advised: true
48
+ * @type: string
49
+ * @param:
50
+ * @name: last_name
51
+ * @desc: The user's last name. This parameter will automatically be assigned when the user is authenticated.
52
+ * @required: false
53
+ * @advised: true
54
+ * @type: string
55
+ * @param:
56
+ * @name: recipient
57
+ * @desc: The recipient email, by default the `Server.smtp_sender` email will be used.
58
+ * @required: false
59
+ * @type: string
60
+ * @param:
61
+ * @name: summary
62
+ * @desc: A summary of the support request.
63
+ * @required: false
64
+ * @type: string
65
+ * @param:
66
+ * @name: detailed
67
+ * @desc: A detailed description of the support request.
68
+ * @required: false
69
+ * @type: string
70
+ * @param:
71
+ * @name: attachments
72
+ * @desc: An object with attachments, assigned as `{file_name: raw_file_data}`.
73
+ * @required: false
74
+ * @type: object
75
+ */
76
+ submit(data: {
77
+ subject?: string;
78
+ type?: string;
79
+ support_pin?: string;
80
+ email?: string;
81
+ first_name?: string;
82
+ last_name?: string;
83
+ recipient?: string;
84
+ summary?: string;
85
+ detailed?: string;
86
+ attachments?: { [fileName: string]: any };
87
+ } = {}) {
88
+ return Utils.request({
89
+ method: "POST",
90
+ url: "/volt/support/submit",
91
+ data: data,
92
+ });
93
+ },
94
+
95
+ /* @docs:
96
+ * @nav: Frontend
97
+ * @chapter: Support
98
+ * @title: Support PIN
99
+ * @description:
100
+ * Get the support pin of an authenticated user.
101
+ * @return:
102
+ * @type: Promise
103
+ * @desc: Returns a promise with a successful submit response or a request error on a failed request.
104
+ * @attribute:
105
+ * @name: pin
106
+ * @desc: The user's support pin.
107
+ * @type: string
108
+ */
109
+ get_pin() {
110
+ return Utils.request({
111
+ method: "GET",
112
+ url: "/volt/support/pin",
113
+ });
114
+ }
115
+ }
116
+
117
+ // Export.
118
+ export { Support };
@@ -0,0 +1,24 @@
1
+ /*
2
+ * Author: Daan van den Bergh
3
+ * Copyright: © 2022 - 2024 Daan van den Bergh.
4
+ */
5
+
6
+ // Define the ThemeElement type for better type safety.
7
+ interface ThemeElement {
8
+ element: any; // Since the element could be of various types, we use 'any' here.
9
+ }
10
+
11
+ // Themes module.
12
+ export const Themes = {
13
+ theme_elements: [] as ThemeElement[],
14
+
15
+ // Call the on-theme-update callbacks on all elements that have it defined.
16
+ apply_theme_update() {
17
+ this.theme_elements.forEach((theme) => {
18
+ const e = theme.element;
19
+ if (e !== undefined && Array.isArray(e._on_theme_updates)) {
20
+ e._on_theme_updates.forEach((func: Function) => func(e));
21
+ }
22
+ });
23
+ }
24
+ };