@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.
- package/.vrepo +28 -0
- package/.vscode/tasks.json +87 -0
- package/README.md +67 -0
- package/backend/dist/cjs/blacklist.d.ts +10 -0
- package/backend/dist/cjs/blacklist.js +53 -0
- package/backend/dist/cjs/cli.d.ts +2 -0
- package/backend/dist/cjs/cli.js +263 -0
- package/backend/dist/cjs/database.d.ts +364 -0
- package/backend/dist/cjs/database.js +1962 -0
- package/backend/dist/cjs/endpoint.d.ts +57 -0
- package/backend/dist/cjs/endpoint.js +425 -0
- package/backend/dist/cjs/file_watcher.d.ts +44 -0
- package/backend/dist/cjs/file_watcher.js +348 -0
- package/backend/dist/cjs/frontend.d.ts +13 -0
- package/backend/dist/cjs/frontend.js +30 -0
- package/backend/dist/cjs/image_endpoint.d.ts +24 -0
- package/backend/dist/cjs/image_endpoint.js +210 -0
- package/backend/dist/cjs/logger.d.ts +5 -0
- package/backend/dist/cjs/logger.js +16 -0
- package/backend/dist/cjs/meta.d.ts +50 -0
- package/backend/dist/cjs/meta.js +153 -0
- package/backend/dist/cjs/mutex.d.ts +24 -0
- package/backend/dist/cjs/mutex.js +52 -0
- package/backend/dist/cjs/package.json +1 -0
- package/backend/dist/cjs/payments/paddle.d.ts +161 -0
- package/backend/dist/cjs/payments/paddle.js +2301 -0
- package/backend/dist/cjs/plugins/browser.d.ts +36 -0
- package/backend/dist/cjs/plugins/browser.js +183 -0
- package/backend/dist/cjs/plugins/communication.d.ts +70 -0
- package/backend/dist/cjs/plugins/communication.js +177 -0
- package/backend/dist/cjs/plugins/css.d.ts +10 -0
- package/backend/dist/cjs/plugins/css.js +71 -0
- package/backend/dist/cjs/plugins/mail.d.ts +277 -0
- package/backend/dist/cjs/plugins/mail.js +1419 -0
- package/backend/dist/cjs/plugins/pdf.d.ts +757 -0
- package/backend/dist/cjs/plugins/pdf.js +1694 -0
- package/backend/dist/cjs/plugins/thread_monitor.d.ts +18 -0
- package/backend/dist/cjs/plugins/thread_monitor.js +127 -0
- package/backend/dist/cjs/plugins/ts/compiler.d.ts +132 -0
- package/backend/dist/cjs/plugins/ts/compiler.js +944 -0
- package/backend/dist/cjs/plugins/ts/preprocessing.d.ts +14 -0
- package/backend/dist/cjs/plugins/ts/preprocessing.js +762 -0
- package/backend/dist/cjs/rate_limit.d.ts +65 -0
- package/backend/dist/cjs/rate_limit.js +463 -0
- package/backend/dist/cjs/request.deprc.d.ts +48 -0
- package/backend/dist/cjs/request.deprc.js +572 -0
- package/backend/dist/cjs/response.deprc.d.ts +55 -0
- package/backend/dist/cjs/response.deprc.js +275 -0
- package/backend/dist/cjs/server.d.ts +311 -0
- package/backend/dist/cjs/server.js +3475 -0
- package/backend/dist/cjs/splash_screen.d.ts +35 -0
- package/backend/dist/cjs/splash_screen.js +152 -0
- package/backend/dist/cjs/status.d.ts +60 -0
- package/backend/dist/cjs/status.js +199 -0
- package/backend/dist/cjs/stream.d.ts +75 -0
- package/backend/dist/cjs/stream.js +954 -0
- package/backend/dist/cjs/users.d.ts +111 -0
- package/backend/dist/cjs/users.js +1945 -0
- package/backend/dist/cjs/utils.d.ts +27 -0
- package/backend/dist/cjs/utils.js +329 -0
- package/backend/dist/cjs/view.d.ts +52 -0
- package/backend/dist/cjs/view.js +568 -0
- package/backend/dist/cjs/vinc.d.ts +2 -0
- package/backend/dist/cjs/vinc.dev.d.ts +2 -0
- package/backend/dist/cjs/vinc.dev.js +42 -0
- package/backend/dist/cjs/vinc.js +42 -0
- package/backend/dist/cjs/volt.d.ts +15 -0
- package/backend/dist/cjs/volt.js +64 -0
- package/backend/dist/css/adyen.css +92 -0
- package/backend/dist/css/volt.css +65 -0
- package/backend/dist/esm/blacklist.d.ts +10 -0
- package/backend/dist/esm/blacklist.js +49 -0
- package/backend/dist/esm/cli.d.ts +2 -0
- package/backend/dist/esm/cli.js +228 -0
- package/backend/dist/esm/database.d.ts +364 -0
- package/backend/dist/esm/database.js +1957 -0
- package/backend/dist/esm/endpoint.d.ts +57 -0
- package/backend/dist/esm/endpoint.js +421 -0
- package/backend/dist/esm/file_watcher.d.ts +44 -0
- package/backend/dist/esm/file_watcher.js +313 -0
- package/backend/dist/esm/frontend.d.ts +13 -0
- package/backend/dist/esm/frontend.js +27 -0
- package/backend/dist/esm/image_endpoint.d.ts +24 -0
- package/backend/dist/esm/image_endpoint.js +206 -0
- package/backend/dist/esm/logger.d.ts +5 -0
- package/backend/dist/esm/logger.js +13 -0
- package/backend/dist/esm/meta.d.ts +50 -0
- package/backend/dist/esm/meta.js +149 -0
- package/backend/dist/esm/mutex.d.ts +24 -0
- package/backend/dist/esm/mutex.js +48 -0
- package/backend/dist/esm/payments/paddle.d.ts +161 -0
- package/backend/dist/esm/payments/paddle.js +2261 -0
- package/backend/dist/esm/plugins/browser.d.ts +36 -0
- package/backend/dist/esm/plugins/browser.js +176 -0
- package/backend/dist/esm/plugins/communication.d.ts +70 -0
- package/backend/dist/esm/plugins/communication.js +169 -0
- package/backend/dist/esm/plugins/css.d.ts +10 -0
- package/backend/dist/esm/plugins/css.js +64 -0
- package/backend/dist/esm/plugins/mail.d.ts +277 -0
- package/backend/dist/esm/plugins/mail.js +1403 -0
- package/backend/dist/esm/plugins/pdf.d.ts +757 -0
- package/backend/dist/esm/plugins/pdf.js +1694 -0
- package/backend/dist/esm/plugins/thread_monitor.d.ts +18 -0
- package/backend/dist/esm/plugins/thread_monitor.js +120 -0
- package/backend/dist/esm/plugins/ts/compiler.d.ts +132 -0
- package/backend/dist/esm/plugins/ts/compiler.js +907 -0
- package/backend/dist/esm/plugins/ts/preprocessing.d.ts +14 -0
- package/backend/dist/esm/plugins/ts/preprocessing.js +724 -0
- package/backend/dist/esm/rate_limit.d.ts +65 -0
- package/backend/dist/esm/rate_limit.js +425 -0
- package/backend/dist/esm/request.deprc.d.ts +48 -0
- package/backend/dist/esm/request.deprc.js +572 -0
- package/backend/dist/esm/response.deprc.d.ts +55 -0
- package/backend/dist/esm/response.deprc.js +275 -0
- package/backend/dist/esm/server.d.ts +311 -0
- package/backend/dist/esm/server.js +3435 -0
- package/backend/dist/esm/splash_screen.d.ts +35 -0
- package/backend/dist/esm/splash_screen.js +148 -0
- package/backend/dist/esm/status.d.ts +60 -0
- package/backend/dist/esm/status.js +196 -0
- package/backend/dist/esm/stream.d.ts +75 -0
- package/backend/dist/esm/stream.js +947 -0
- package/backend/dist/esm/users.d.ts +111 -0
- package/backend/dist/esm/users.js +1908 -0
- package/backend/dist/esm/utils.d.ts +27 -0
- package/backend/dist/esm/utils.js +324 -0
- package/backend/dist/esm/view.d.ts +52 -0
- package/backend/dist/esm/view.js +561 -0
- package/backend/dist/esm/vinc.d.ts +2 -0
- package/backend/dist/esm/vinc.dev.d.ts +2 -0
- package/backend/dist/esm/vinc.dev.js +6 -0
- package/backend/dist/esm/vinc.js +6 -0
- package/backend/dist/esm/volt.d.ts +15 -0
- package/backend/dist/esm/volt.js +23 -0
- package/backend/dist/esm-dev/blacklist.d.ts +10 -0
- package/backend/dist/esm-dev/blacklist.js +49 -0
- package/backend/dist/esm-dev/cli.d.ts +2 -0
- package/backend/dist/esm-dev/cli.js +228 -0
- package/backend/dist/esm-dev/database.d.ts +364 -0
- package/backend/dist/esm-dev/database.js +1957 -0
- package/backend/dist/esm-dev/endpoint.d.ts +57 -0
- package/backend/dist/esm-dev/endpoint.js +421 -0
- package/backend/dist/esm-dev/file_watcher.d.ts +44 -0
- package/backend/dist/esm-dev/file_watcher.js +313 -0
- package/backend/dist/esm-dev/frontend.d.ts +13 -0
- package/backend/dist/esm-dev/frontend.js +27 -0
- package/backend/dist/esm-dev/image_endpoint.d.ts +24 -0
- package/backend/dist/esm-dev/image_endpoint.js +206 -0
- package/backend/dist/esm-dev/logger.d.ts +5 -0
- package/backend/dist/esm-dev/logger.js +13 -0
- package/backend/dist/esm-dev/meta.d.ts +50 -0
- package/backend/dist/esm-dev/meta.js +149 -0
- package/backend/dist/esm-dev/mutex.d.ts +24 -0
- package/backend/dist/esm-dev/mutex.js +48 -0
- package/backend/dist/esm-dev/payments/paddle.d.ts +161 -0
- package/backend/dist/esm-dev/payments/paddle.js +2261 -0
- package/backend/dist/esm-dev/plugins/browser.d.ts +36 -0
- package/backend/dist/esm-dev/plugins/browser.js +176 -0
- package/backend/dist/esm-dev/plugins/communication.d.ts +70 -0
- package/backend/dist/esm-dev/plugins/communication.js +169 -0
- package/backend/dist/esm-dev/plugins/css.d.ts +10 -0
- package/backend/dist/esm-dev/plugins/css.js +64 -0
- package/backend/dist/esm-dev/plugins/mail.d.ts +277 -0
- package/backend/dist/esm-dev/plugins/mail.js +1403 -0
- package/backend/dist/esm-dev/plugins/pdf.d.ts +757 -0
- package/backend/dist/esm-dev/plugins/pdf.js +1694 -0
- package/backend/dist/esm-dev/plugins/thread_monitor.d.ts +18 -0
- package/backend/dist/esm-dev/plugins/thread_monitor.js +120 -0
- package/backend/dist/esm-dev/plugins/ts/compiler.d.ts +132 -0
- package/backend/dist/esm-dev/plugins/ts/compiler.js +907 -0
- package/backend/dist/esm-dev/plugins/ts/preprocessing.d.ts +14 -0
- package/backend/dist/esm-dev/plugins/ts/preprocessing.js +724 -0
- package/backend/dist/esm-dev/rate_limit.d.ts +65 -0
- package/backend/dist/esm-dev/rate_limit.js +425 -0
- package/backend/dist/esm-dev/request.deprc.d.ts +48 -0
- package/backend/dist/esm-dev/request.deprc.js +572 -0
- package/backend/dist/esm-dev/response.deprc.d.ts +55 -0
- package/backend/dist/esm-dev/response.deprc.js +275 -0
- package/backend/dist/esm-dev/server.d.ts +311 -0
- package/backend/dist/esm-dev/server.js +3435 -0
- package/backend/dist/esm-dev/splash_screen.d.ts +35 -0
- package/backend/dist/esm-dev/splash_screen.js +148 -0
- package/backend/dist/esm-dev/status.d.ts +60 -0
- package/backend/dist/esm-dev/status.js +196 -0
- package/backend/dist/esm-dev/stream.d.ts +75 -0
- package/backend/dist/esm-dev/stream.js +947 -0
- package/backend/dist/esm-dev/users.d.ts +111 -0
- package/backend/dist/esm-dev/users.js +1908 -0
- package/backend/dist/esm-dev/utils.d.ts +27 -0
- package/backend/dist/esm-dev/utils.js +324 -0
- package/backend/dist/esm-dev/view.d.ts +52 -0
- package/backend/dist/esm-dev/view.js +561 -0
- package/backend/dist/esm-dev/vinc.d.ts +2 -0
- package/backend/dist/esm-dev/vinc.dev.d.ts +2 -0
- package/backend/dist/esm-dev/vinc.dev.js +6 -0
- package/backend/dist/esm-dev/vinc.js +6 -0
- package/backend/dist/esm-dev/volt.d.ts +15 -0
- package/backend/dist/esm-dev/volt.js +23 -0
- package/backend/src/blacklist.ts +69 -0
- package/backend/src/cli.js +245 -0
- package/backend/src/database.ts +2241 -0
- package/backend/src/endpoint.ts +494 -0
- package/backend/src/file_watcher.ts +359 -0
- package/backend/src/frontend.ts +35 -0
- package/backend/src/globals.d.ts +8 -0
- package/backend/src/image_endpoint.ts +258 -0
- package/backend/src/logger.ts +18 -0
- package/backend/src/meta.ts +202 -0
- package/backend/src/mutex.ts +51 -0
- package/backend/src/payments/paddle.ts +2659 -0
- package/backend/src/plugins/browser.ts +188 -0
- package/backend/src/plugins/communication.ts +204 -0
- package/backend/src/plugins/css.ts +84 -0
- package/backend/src/plugins/fonts/Menlo-Bold.ttf +0 -0
- package/backend/src/plugins/fonts/Menlo-Regular.ttf +0 -0
- package/backend/src/plugins/mail.ts +1720 -0
- package/backend/src/plugins/pdf.js +1932 -0
- package/backend/src/plugins/thread_monitor.ts +164 -0
- package/backend/src/plugins/ts/compiler.ts +1242 -0
- package/backend/src/plugins/ts/preprocessing.ts +812 -0
- package/backend/src/rate_limit.ts +503 -0
- package/backend/src/request.deprc.js +626 -0
- package/backend/src/response.deprc.js +354 -0
- package/backend/src/server.ts +4149 -0
- package/backend/src/splash_screen.ts +192 -0
- package/backend/src/status.ts +199 -0
- package/backend/src/stream.ts +1070 -0
- package/backend/src/users.ts +2077 -0
- package/backend/src/utils.ts +359 -0
- package/backend/src/view.ts +655 -0
- package/backend/src/vinc.dev.js +6 -0
- package/backend/src/vinc.ts +6 -0
- package/backend/src/volt.js +25 -0
- package/backend/tsconfig.cjs.json +29 -0
- package/backend/tsconfig.esm.dev.json +34 -0
- package/backend/tsconfig.esm.json +30 -0
- package/backend/tsconfig.json +2 -0
- package/frontend/compile.js +436 -0
- package/frontend/dist/elements/base.d.ts +9891 -0
- package/frontend/dist/elements/base.js +8818 -0
- package/frontend/dist/elements/module.d.ts +16 -0
- package/frontend/dist/elements/module.js +178 -0
- package/frontend/dist/modules/array.d.ts +37 -0
- package/frontend/dist/modules/array.js +284 -0
- package/frontend/dist/modules/auth.d.ts +45 -0
- package/frontend/dist/modules/auth.js +138 -0
- package/frontend/dist/modules/colors.d.ts +26 -0
- package/frontend/dist/modules/colors.js +340 -0
- package/frontend/dist/modules/compression.d.ts +6 -0
- package/frontend/dist/modules/compression.js +999 -0
- package/frontend/dist/modules/cookies.d.ts +17 -0
- package/frontend/dist/modules/cookies.js +166 -0
- package/frontend/dist/modules/date.d.ts +142 -0
- package/frontend/dist/modules/date.js +493 -0
- package/frontend/dist/modules/events.d.ts +7 -0
- package/frontend/dist/modules/events.js +90 -0
- package/frontend/dist/modules/google.d.ts +10 -0
- package/frontend/dist/modules/google.js +53 -0
- package/frontend/dist/modules/meta.d.ts +9 -0
- package/frontend/dist/modules/meta.js +45 -0
- package/frontend/dist/modules/mutex.d.ts +8 -0
- package/frontend/dist/modules/mutex.js +52 -0
- package/frontend/dist/modules/number.d.ts +12 -0
- package/frontend/dist/modules/number.js +8 -0
- package/frontend/dist/modules/object.d.ts +50 -0
- package/frontend/dist/modules/object.js +147 -0
- package/frontend/dist/modules/paddle.d.ts +1403 -0
- package/frontend/dist/modules/paddle.js +2641 -0
- package/frontend/dist/modules/scheme.d.ts +207 -0
- package/frontend/dist/modules/scheme.js +649 -0
- package/frontend/dist/modules/settings.d.ts +3 -0
- package/frontend/dist/modules/settings.js +4 -0
- package/frontend/dist/modules/statics.d.ts +4 -0
- package/frontend/dist/modules/statics.js +45 -0
- package/frontend/dist/modules/string.d.ts +163 -0
- package/frontend/dist/modules/string.js +291 -0
- package/frontend/dist/modules/support.d.ts +18 -0
- package/frontend/dist/modules/support.js +102 -0
- package/frontend/dist/modules/themes.d.ts +8 -0
- package/frontend/dist/modules/themes.js +17 -0
- package/frontend/dist/modules/user.d.ts +58 -0
- package/frontend/dist/modules/user.js +279 -0
- package/frontend/dist/modules/utils.d.ts +58 -0
- package/frontend/dist/modules/utils.js +1159 -0
- package/frontend/dist/types/gradient.d.ts +12 -0
- package/frontend/dist/types/gradient.js +79 -0
- package/frontend/dist/ui/border_button.d.ts +177 -0
- package/frontend/dist/ui/border_button.js +235 -0
- package/frontend/dist/ui/button.d.ts +42 -0
- package/frontend/dist/ui/button.js +114 -0
- package/frontend/dist/ui/canvas.d.ts +56 -0
- package/frontend/dist/ui/canvas.js +411 -0
- package/frontend/dist/ui/checkbox.d.ts +72 -0
- package/frontend/dist/ui/checkbox.js +277 -0
- package/frontend/dist/ui/code.d.ts +232 -0
- package/frontend/dist/ui/code.js +977 -0
- package/frontend/dist/ui/color.d.ts +1 -0
- package/frontend/dist/ui/color.js +110 -0
- package/frontend/dist/ui/context_menu.d.ts +30 -0
- package/frontend/dist/ui/context_menu.js +211 -0
- package/frontend/dist/ui/css.d.ts +10 -0
- package/frontend/dist/ui/css.js +44 -0
- package/frontend/dist/ui/divider.d.ts +18 -0
- package/frontend/dist/ui/divider.js +82 -0
- package/frontend/dist/ui/dropdown.d.ts +115 -0
- package/frontend/dist/ui/dropdown.js +446 -0
- package/frontend/dist/ui/for_each.d.ts +38 -0
- package/frontend/dist/ui/for_each.js +97 -0
- package/frontend/dist/ui/form.d.ts +25 -0
- package/frontend/dist/ui/form.js +227 -0
- package/frontend/dist/ui/frame_modes.d.ts +28 -0
- package/frontend/dist/ui/frame_modes.js +116 -0
- package/frontend/dist/ui/google_map.d.ts +31 -0
- package/frontend/dist/ui/google_map.js +111 -0
- package/frontend/dist/ui/gradient.d.ts +24 -0
- package/frontend/dist/ui/gradient.js +115 -0
- package/frontend/dist/ui/image.d.ts +138 -0
- package/frontend/dist/ui/image.js +570 -0
- package/frontend/dist/ui/input.d.ts +316 -0
- package/frontend/dist/ui/input.js +1187 -0
- package/frontend/dist/ui/link.d.ts +39 -0
- package/frontend/dist/ui/link.js +146 -0
- package/frontend/dist/ui/list.d.ts +33 -0
- package/frontend/dist/ui/list.js +161 -0
- package/frontend/dist/ui/loader_button.d.ts +108 -0
- package/frontend/dist/ui/loader_button.js +207 -0
- package/frontend/dist/ui/loaders.d.ts +60 -0
- package/frontend/dist/ui/loaders.js +150 -0
- package/frontend/dist/ui/popup.d.ts +84 -0
- package/frontend/dist/ui/popup.js +331 -0
- package/frontend/dist/ui/pseudo.d.ts +16 -0
- package/frontend/dist/ui/pseudo.js +81 -0
- package/frontend/dist/ui/scroller.d.ts +131 -0
- package/frontend/dist/ui/scroller.js +1251 -0
- package/frontend/dist/ui/slider.d.ts +35 -0
- package/frontend/dist/ui/slider.js +203 -0
- package/frontend/dist/ui/spacer.d.ts +20 -0
- package/frontend/dist/ui/spacer.js +83 -0
- package/frontend/dist/ui/span.d.ts +11 -0
- package/frontend/dist/ui/span.js +75 -0
- package/frontend/dist/ui/stack.d.ts +123 -0
- package/frontend/dist/ui/stack.js +344 -0
- package/frontend/dist/ui/steps.d.ts +72 -0
- package/frontend/dist/ui/steps.js +306 -0
- package/frontend/dist/ui/style.d.ts +12 -0
- package/frontend/dist/ui/style.js +78 -0
- package/frontend/dist/ui/switch.d.ts +44 -0
- package/frontend/dist/ui/switch.js +280 -0
- package/frontend/dist/ui/table.d.ts +118 -0
- package/frontend/dist/ui/table.js +411 -0
- package/frontend/dist/ui/tabs.d.ts +85 -0
- package/frontend/dist/ui/tabs.js +392 -0
- package/frontend/dist/ui/text.d.ts +19 -0
- package/frontend/dist/ui/text.js +88 -0
- package/frontend/dist/ui/theme.d.ts +25 -0
- package/frontend/dist/ui/theme.js +237 -0
- package/frontend/dist/ui/title.d.ts +36 -0
- package/frontend/dist/ui/title.js +127 -0
- package/frontend/dist/ui/ui.d.ts +38 -0
- package/frontend/dist/ui/ui.js +41 -0
- package/frontend/dist/ui/view.d.ts +25 -0
- package/frontend/dist/ui/view.js +93 -0
- package/frontend/dist/volt.d.ts +22 -0
- package/frontend/dist/volt.js +27 -0
- package/frontend/exports.json +1340 -0
- package/frontend/src/css/adyen.css +92 -0
- package/frontend/src/css/volt.css +65 -0
- package/frontend/src/elements/base.ts +16790 -0
- package/frontend/src/elements/module.ts +184 -0
- package/frontend/src/elements/types.d.ts +155 -0
- package/frontend/src/modules/array.ts +366 -0
- package/frontend/src/modules/auth.ts +188 -0
- package/frontend/src/modules/colors.ts +449 -0
- package/frontend/src/modules/compression.ts +67 -0
- package/frontend/src/modules/cookies.ts +182 -0
- package/frontend/src/modules/date.js +535 -0
- package/frontend/src/modules/date.ts +583 -0
- package/frontend/src/modules/events.ts +96 -0
- package/frontend/src/modules/google.ts +60 -0
- package/frontend/src/modules/meta.ts +59 -0
- package/frontend/src/modules/mutex.ts +59 -0
- package/frontend/src/modules/number.ts +20 -0
- package/frontend/src/modules/object.ts +212 -0
- package/frontend/src/modules/paddle.ts +2990 -0
- package/frontend/src/modules/scheme.ts +740 -0
- package/frontend/src/modules/settings.ts +5 -0
- package/frontend/src/modules/statics.ts +47 -0
- package/frontend/src/modules/string.ts +500 -0
- package/frontend/src/modules/support.ts +118 -0
- package/frontend/src/modules/themes.ts +24 -0
- package/frontend/src/modules/user.ts +321 -0
- package/frontend/src/modules/utils.ts +1260 -0
- package/frontend/src/static/admin/admin.png +0 -0
- package/frontend/src/static/admin/password.webp +0 -0
- package/frontend/src/static/icons/copy.webp +0 -0
- package/frontend/src/static/payments/arrow.long.webp +0 -0
- package/frontend/src/static/payments/arrow.long2.webp +0 -0
- package/frontend/src/static/payments/cancelled.webp +0 -0
- package/frontend/src/static/payments/check.sign.webp +0 -0
- package/frontend/src/static/payments/check.webp +0 -0
- package/frontend/src/static/payments/close.webp +0 -0
- package/frontend/src/static/payments/error.webp +0 -0
- package/frontend/src/static/payments/exclamation.webp +0 -0
- package/frontend/src/static/payments/minus.webp +0 -0
- package/frontend/src/static/payments/party.webp +0 -0
- package/frontend/src/static/payments/plus.webp +0 -0
- package/frontend/src/static/payments/shopping_cart.webp +0 -0
- package/frontend/src/static/payments/trash.webp +0 -0
- package/frontend/src/types/global.d.ts +4 -0
- package/frontend/src/types/gradient.ts +87 -0
- package/frontend/src/ui/any_element.d.ts +5 -0
- package/frontend/src/ui/border_button.ts +320 -0
- package/frontend/src/ui/button.ts +62 -0
- package/frontend/src/ui/canvas.ts +431 -0
- package/frontend/src/ui/checkbox.ts +284 -0
- package/frontend/src/ui/code.ts +1049 -0
- package/frontend/src/ui/color.ts +117 -0
- package/frontend/src/ui/context_menu.ts +194 -0
- package/frontend/src/ui/css.ts +57 -0
- package/frontend/src/ui/divider.ts +28 -0
- package/frontend/src/ui/dropdown.ts +503 -0
- package/frontend/src/ui/for_each.ts +71 -0
- package/frontend/src/ui/form.ts +208 -0
- package/frontend/src/ui/frame_modes.ts +140 -0
- package/frontend/src/ui/google_map.ts +70 -0
- package/frontend/src/ui/gradient.ts +73 -0
- package/frontend/src/ui/image.ts +587 -0
- package/frontend/src/ui/input.ts +1284 -0
- package/frontend/src/ui/link.ts +77 -0
- package/frontend/src/ui/list.ts +88 -0
- package/frontend/src/ui/loader_button.ts +192 -0
- package/frontend/src/ui/loaders.ts +126 -0
- package/frontend/src/ui/popup.ts +370 -0
- package/frontend/src/ui/pseudo.ts +33 -0
- package/frontend/src/ui/scroller.ts +1324 -0
- package/frontend/src/ui/slider.ts +215 -0
- package/frontend/src/ui/spacer.ts +29 -0
- package/frontend/src/ui/span.ts +23 -0
- package/frontend/src/ui/stack.ts +238 -0
- package/frontend/src/ui/steps.ts +334 -0
- package/frontend/src/ui/style.ts +26 -0
- package/frontend/src/ui/switch.ts +286 -0
- package/frontend/src/ui/table.ts +323 -0
- package/frontend/src/ui/tabs.ts +441 -0
- package/frontend/src/ui/text.ts +38 -0
- package/frontend/src/ui/theme.ts +279 -0
- package/frontend/src/ui/title.ts +64 -0
- package/frontend/src/ui/ui.ts +47 -0
- package/frontend/src/ui/view.ts +44 -0
- package/frontend/src/volt.ts +31 -0
- package/package.json +58 -0
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Author: Daan van den Bergh
|
|
3
|
+
* Copyright: © 2022 - 2024 Daan van den Bergh.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// Imports.
|
|
7
|
+
import { Elements, VElement, isVElement } from "../elements/module.js"
|
|
8
|
+
import { VStack, VStackElement } from "./stack"
|
|
9
|
+
|
|
10
|
+
// Extended input.
|
|
11
|
+
@Elements.register
|
|
12
|
+
export class FormElement extends VStackElement {
|
|
13
|
+
|
|
14
|
+
// Macros.
|
|
15
|
+
#macro OnSubmit ((element: FormElement, data: Record<string, any>) => any)
|
|
16
|
+
#macro OnSubmitError ((element: FormElement, error: Error) => any)
|
|
17
|
+
|
|
18
|
+
// Attributes.
|
|
19
|
+
public _button?: VElement;
|
|
20
|
+
public fields: Record<string, any>;
|
|
21
|
+
public _on_submit?: OnSubmit;
|
|
22
|
+
public _on_submit_error?: OnSubmitError;
|
|
23
|
+
public _on_append_callback: (child: any) => void;
|
|
24
|
+
|
|
25
|
+
// Constructor.
|
|
26
|
+
constructor(...children: any[]) {
|
|
27
|
+
|
|
28
|
+
// Initialize super.
|
|
29
|
+
super();
|
|
30
|
+
this._init_derived({
|
|
31
|
+
derived: FormElement,
|
|
32
|
+
})
|
|
33
|
+
|
|
34
|
+
// Attributes.
|
|
35
|
+
this._button = undefined;
|
|
36
|
+
this.fields = {};
|
|
37
|
+
|
|
38
|
+
// Set the on append callback.
|
|
39
|
+
const _this = this;
|
|
40
|
+
this._on_append_callback = (child: any) => {
|
|
41
|
+
|
|
42
|
+
// Initialize field.
|
|
43
|
+
if (child.element_type === "ExtendedInput" || child.element_type === "ExtendedSelect" || child.element_type === "CheckBox") {
|
|
44
|
+
const id = child.id();
|
|
45
|
+
if (id != null && id !== "") {
|
|
46
|
+
_this.fields[id] = child;
|
|
47
|
+
child.on_input(() => {
|
|
48
|
+
if (child.missing() === true) {
|
|
49
|
+
child.missing(false);
|
|
50
|
+
}
|
|
51
|
+
})
|
|
52
|
+
child.on_enter(() => _this.submit())
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Initialize button.
|
|
57
|
+
else if (/*_this._button === undefined &&*/ (child.element_type === "Button" || child.element_type === "LoaderButton") && child.on_click() == null) { // && child.attr("submit_button") != "false"
|
|
58
|
+
if (_this._button !== undefined) {
|
|
59
|
+
_this._button.on_click(() => {})
|
|
60
|
+
}
|
|
61
|
+
_this.button(child);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// Parse children.
|
|
65
|
+
if (child.children != null) {
|
|
66
|
+
for (let i = 0; i < child.children.length; i++) {
|
|
67
|
+
_this._on_append_callback(child.children[i]);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
// Append.
|
|
73
|
+
this.append(...children);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// Submit all input elements and get the data inside an object.
|
|
77
|
+
// When a required input is not filled in then an error is thrown.
|
|
78
|
+
// An object will be returned with each input's id as the key and the input's value as value.
|
|
79
|
+
// When an input field does not have an assigned id it will be skipped.
|
|
80
|
+
// Only supported extended input elements like `ExtendedInput`.
|
|
81
|
+
// @ts-expect-error
|
|
82
|
+
data() : Record<string, any> {
|
|
83
|
+
const params: Record<string, any> = {};
|
|
84
|
+
let first_error;
|
|
85
|
+
const ids = Object.keys(this.fields);
|
|
86
|
+
for (let i = 0; i < ids.length; i++) {
|
|
87
|
+
try {
|
|
88
|
+
const id = ids[i];
|
|
89
|
+
const element = this.fields[id];
|
|
90
|
+
if (element.required() !== true) {
|
|
91
|
+
params[id] = element.value();
|
|
92
|
+
} else {
|
|
93
|
+
params[id] = element.submit();
|
|
94
|
+
}
|
|
95
|
+
} catch(e) {
|
|
96
|
+
// always use a try catch to call submit on all inputs to set invalid/missing fields.
|
|
97
|
+
if (first_error === undefined) {
|
|
98
|
+
first_error = e;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
if (first_error) {
|
|
103
|
+
throw first_error;
|
|
104
|
+
}
|
|
105
|
+
return params;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// Submit.
|
|
109
|
+
async submit(): Promise<this> {
|
|
110
|
+
|
|
111
|
+
// Init.
|
|
112
|
+
if (this._button === undefined) {
|
|
113
|
+
throw Error("No submit button has been found, add a button to the form or attach a button using \"Form.button()\".");
|
|
114
|
+
}
|
|
115
|
+
if ((this._button as any).show_loader !== undefined) {
|
|
116
|
+
(this._button as any).show_loader();
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// Submit.
|
|
120
|
+
try {
|
|
121
|
+
const data = this.data();
|
|
122
|
+
if (this._on_submit !== undefined) {
|
|
123
|
+
const res = this._on_submit(this, data);
|
|
124
|
+
if (res instanceof Promise) {
|
|
125
|
+
await res;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
if ((this._button as any).hide_loader !== undefined) {
|
|
129
|
+
(this._button as any).hide_loader();
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// Handle rror.
|
|
134
|
+
catch (error: any) {
|
|
135
|
+
if (!(error instanceof Error)) {
|
|
136
|
+
error = new Error(error.toString());
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// Defined callback.
|
|
140
|
+
if (this._on_submit_error !== undefined) {
|
|
141
|
+
const res = this._on_submit_error(this, error as Error);
|
|
142
|
+
if (res instanceof Promise) {
|
|
143
|
+
await res;
|
|
144
|
+
}
|
|
145
|
+
if ((this._button as any).hide_loader !== undefined) {
|
|
146
|
+
(this._button as any).hide_loader();
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
// No callback so rethrow.
|
|
151
|
+
else {
|
|
152
|
+
if ((this._button as any).hide_loader !== undefined) {
|
|
153
|
+
(this._button as any).hide_loader();
|
|
154
|
+
}
|
|
155
|
+
throw error;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
return this;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
// Set the submit button, by default the last button without a defined callback is used as the submit button.
|
|
163
|
+
button<T = undefined | HTMLElement | VElement>() : T;
|
|
164
|
+
button(element_or_id: VElement | string) : this;
|
|
165
|
+
button<T = undefined | HTMLElement | VElement>(element_or_id?: VElement | string) : this | T {
|
|
166
|
+
if (element_or_id == null) { return this._button as T; }
|
|
167
|
+
else if (typeof element_or_id === "string") {
|
|
168
|
+
const node = document.getElementById(element_or_id);
|
|
169
|
+
if (!isVElement(node)) {
|
|
170
|
+
throw Error(`Specified element is not a VElement.`);
|
|
171
|
+
}
|
|
172
|
+
element_or_id = node as unknown as VElement;
|
|
173
|
+
if (element_or_id == null) {
|
|
174
|
+
throw Error(`Unable to find element "${element_or_id}".`);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
this._button = element_or_id as any as VElement;
|
|
178
|
+
const _this = this;
|
|
179
|
+
this._button.on_click(() => {
|
|
180
|
+
_this.submit().catch(console.error)
|
|
181
|
+
})
|
|
182
|
+
return this;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
// Set the on submit callback, the params for the callback are `(element, data) => {}`.
|
|
186
|
+
// @ts-expect-error
|
|
187
|
+
on_submit() : undefined | OnSubmit
|
|
188
|
+
// @ts-expect-error
|
|
189
|
+
on_submit(callback: OnSubmit) : this;
|
|
190
|
+
// @ts-expect-error
|
|
191
|
+
on_submit(callback?: OnSubmit) : this | undefined | OnSubmit {
|
|
192
|
+
if (callback == null) { return this._on_submit; }
|
|
193
|
+
this._on_submit = callback;
|
|
194
|
+
return this;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
// Set the on submit error callback, the params for the callback are `(element, error) => {}`.
|
|
198
|
+
on_submit_error() : undefined | OnSubmitError
|
|
199
|
+
on_submit_error(callback: OnSubmitError) : this;
|
|
200
|
+
on_submit_error(callback?: OnSubmitError) : this | undefined | OnSubmitError {
|
|
201
|
+
if (callback == null) { return this._on_submit_error; }
|
|
202
|
+
this._on_submit_error = callback;
|
|
203
|
+
return this;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
export const Form = Elements.wrapper(FormElement);
|
|
207
|
+
export const NullForm = Elements.create_null(FormElement);
|
|
208
|
+
declare module './any_element.d.ts' { interface AnyElementMap { FormElement: FormElement }}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Author: Daan van den Bergh
|
|
3
|
+
* Copyright: © 2022 - 2024 Daan van den Bergh.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// Imports.
|
|
7
|
+
import { Elements } from "../elements/module.js"
|
|
8
|
+
|
|
9
|
+
// Nodes type.
|
|
10
|
+
export class FrameNodesType extends Array {
|
|
11
|
+
constructor(...children: any[]) {
|
|
12
|
+
super(...children)
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export const FrameNodes = Elements.wrapper(FrameNodesType);
|
|
16
|
+
export const NullFrameNodes = Elements.create_null(FrameNodesType);
|
|
17
|
+
|
|
18
|
+
type OnSet = (mode: string, nodes: FrameNodesType) => any
|
|
19
|
+
|
|
20
|
+
// Frame mode used to switch easily between frames.
|
|
21
|
+
/* @docs:
|
|
22
|
+
@title: Frame Modes
|
|
23
|
+
@descr:
|
|
24
|
+
Frame modes used to switch easily between frame nodes.
|
|
25
|
+
|
|
26
|
+
Initialize the class with the wanted frame modes, then call `.exec(MyMode.my_mode.push)` on the nodes.
|
|
27
|
+
|
|
28
|
+
Afterwards the mode can be set using `MyMode.set("my_mode")`.
|
|
29
|
+
*/
|
|
30
|
+
export class FrameModesType {
|
|
31
|
+
|
|
32
|
+
// Attributes.
|
|
33
|
+
public modes: Record<string, FrameNodesType> = {};
|
|
34
|
+
public active?: string;
|
|
35
|
+
public _on_set?: OnSet;
|
|
36
|
+
|
|
37
|
+
// Provide mode names as args: `sign_in, sign_up`.
|
|
38
|
+
constructor(...modes: string[]) {
|
|
39
|
+
for (const mode of modes) {
|
|
40
|
+
if (this.active == null) {
|
|
41
|
+
this.active = mode;
|
|
42
|
+
}
|
|
43
|
+
this.modes[mode] = FrameNodes();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Get.
|
|
48
|
+
get(mode: string) : FrameNodesType {
|
|
49
|
+
const nodes = this.modes[mode];
|
|
50
|
+
if (nodes === undefined) {
|
|
51
|
+
throw new Error(`Requested mode "${mode}" does not exist.`);
|
|
52
|
+
}
|
|
53
|
+
return nodes as FrameNodesType;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Set mode.
|
|
57
|
+
set(mode: string) : this {
|
|
58
|
+
this.active = mode;
|
|
59
|
+
for (const m of Object.keys(this.modes)) {
|
|
60
|
+
if (m === mode) {
|
|
61
|
+
for (const node of this.modes[m]) {
|
|
62
|
+
node.show();
|
|
63
|
+
}
|
|
64
|
+
} else {
|
|
65
|
+
for (const node of this.modes[m]) {
|
|
66
|
+
node.hide();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (this._on_set !== undefined) {
|
|
71
|
+
this._on_set(mode, this[mode]);
|
|
72
|
+
}
|
|
73
|
+
return this;
|
|
74
|
+
}
|
|
75
|
+
switch(mode: string) : this { return this.set(mode); }
|
|
76
|
+
|
|
77
|
+
// On switch.
|
|
78
|
+
on_set() : undefined | OnSet;
|
|
79
|
+
on_set(callback: OnSet) : this;
|
|
80
|
+
on_set(callback?: OnSet) : this | undefined | OnSet {
|
|
81
|
+
if (callback == null) { return this._on_set; }
|
|
82
|
+
this._on_set = callback;
|
|
83
|
+
return this;
|
|
84
|
+
}
|
|
85
|
+
on_switch() : undefined | OnSet;
|
|
86
|
+
on_switch(callback: OnSet) : this;
|
|
87
|
+
on_switch(callback?: OnSet) : this | undefined | OnSet {
|
|
88
|
+
if (callback == null) { return this._on_set; }
|
|
89
|
+
this._on_set = callback;
|
|
90
|
+
return this;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
export const FrameModes = Elements.wrapper(FrameModesType);
|
|
94
|
+
export const NullFrameModes = Elements.create_null(FrameModesType);
|
|
95
|
+
|
|
96
|
+
// Extend VElement.
|
|
97
|
+
declare global {
|
|
98
|
+
interface VElementExtensions {
|
|
99
|
+
frame_mode(frame_mode: FrameNodesType): this;
|
|
100
|
+
frame_mode(frame_modes: FrameModesType, mode_name: string): this;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
Elements.extend({
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* @docs:
|
|
107
|
+
* @title: Frame Mode
|
|
108
|
+
* @desc: Adds a node to a FrameMode. Can accept a single argument to push the current instance or two arguments to specify a FrameModesType and an index.
|
|
109
|
+
* @param:
|
|
110
|
+
* @name: args
|
|
111
|
+
* @descr: Arguments to determine the operation to perform for adding a node.
|
|
112
|
+
* @return:
|
|
113
|
+
* @description Returns the instance of the element for chaining.
|
|
114
|
+
*/
|
|
115
|
+
frame_mode(this, ...args) {
|
|
116
|
+
if (args.length === 1) {
|
|
117
|
+
args[0].push(this);
|
|
118
|
+
} else if (args.length === 2 && args[0] instanceof FrameModesType) {
|
|
119
|
+
const frames_mode = args[0];
|
|
120
|
+
const mode_name = args[1];
|
|
121
|
+
if (mode_name !== frames_mode.active) {
|
|
122
|
+
this.hide();
|
|
123
|
+
}
|
|
124
|
+
frames_mode.modes[mode_name].push(this);
|
|
125
|
+
}
|
|
126
|
+
return this;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
// @test
|
|
133
|
+
// import { Form } from "./form"
|
|
134
|
+
// Form()
|
|
135
|
+
// .frame_mode(FrameModes("test"), "test")
|
|
136
|
+
// .on_submit(((e) => {}) as any)
|
|
137
|
+
// Form()
|
|
138
|
+
// .frame_mode(FrameModes("test"), "test")
|
|
139
|
+
// .on_submit2(((e) => {}) as any)
|
|
140
|
+
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Author: Daan van den Bergh
|
|
3
|
+
* Copyright: © 2022 - 2024 Daan van den Bergh.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// Imports.
|
|
7
|
+
import { Elements, VElementTagMap } from "../elements/module.js"
|
|
8
|
+
import { Utils } from "../modules/utils.js"
|
|
9
|
+
import { Google } from "../modules/google"
|
|
10
|
+
|
|
11
|
+
// GoogleMap.
|
|
12
|
+
@Elements.register
|
|
13
|
+
export class GoogleMapElement extends VElementTagMap.iframe {
|
|
14
|
+
|
|
15
|
+
static default_style = {
|
|
16
|
+
"border": "0",
|
|
17
|
+
};
|
|
18
|
+
static default_attributes = {
|
|
19
|
+
"width": "100%",
|
|
20
|
+
"height": "100%",
|
|
21
|
+
"frameborder": "0",
|
|
22
|
+
"style": "border:0",
|
|
23
|
+
"referrerpolicy": "no-referrer-when-downgrade",
|
|
24
|
+
"allowfullscreen": "true",
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
// Constructor.
|
|
28
|
+
constructor({
|
|
29
|
+
location,
|
|
30
|
+
mode = "place",
|
|
31
|
+
api_key,
|
|
32
|
+
}: {
|
|
33
|
+
location: string,
|
|
34
|
+
mode: string,
|
|
35
|
+
api_key?: string,
|
|
36
|
+
}) {
|
|
37
|
+
|
|
38
|
+
// Initialize base class.
|
|
39
|
+
super({
|
|
40
|
+
derived: GoogleMapElement,
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
// Set source.
|
|
44
|
+
this.src("https://www.google.com/maps/embed/v1/" + mode + "?key=" + (api_key ?? Google.cloud.api_key) + "&" + Utils.url_encode({"q": location.replaceAll(' ', '+')}));
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Update.
|
|
48
|
+
// Needs to be called after initialing or changing the loader.
|
|
49
|
+
update() : this {
|
|
50
|
+
this.remove_children();
|
|
51
|
+
const children_style = {
|
|
52
|
+
"width": "calc(" + this.style.width + " * (64.0px / 80.0px))",
|
|
53
|
+
"height": "calc(" + this.style.height + " * (64.0px / 80.0px))",
|
|
54
|
+
"margin": "calc(" + this.style.width + " * (8.0px / 80.0px))",
|
|
55
|
+
"border": "calc(" + this.style.width + " * (8.0px / 80.0px)) solid " + this.style.background,
|
|
56
|
+
"border-color": this.style.background + " transparent transparent transparent",
|
|
57
|
+
}
|
|
58
|
+
for (let i = 0; i < 4; i++) {
|
|
59
|
+
let e = document.createElement("div");
|
|
60
|
+
for (let attr in children_style) {
|
|
61
|
+
e.style[attr] = children_style[attr];
|
|
62
|
+
}
|
|
63
|
+
this.append(e);
|
|
64
|
+
}
|
|
65
|
+
return this;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
export const GoogleMap = Elements.wrapper(GoogleMapElement);
|
|
69
|
+
export const NullGoogleMap = Elements.create_null(GoogleMapElement);
|
|
70
|
+
declare module './any_element.d.ts' { interface AnyElementMap { GoogleMapElement: GoogleMapElement }}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Author: Daan van den Bergh
|
|
3
|
+
* Copyright: © 2022 - 2024 Daan van den Bergh.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// Imports.
|
|
7
|
+
import { Elements, VElementTagMap } from "../elements/module.js"
|
|
8
|
+
import { Utils } from "../modules/utils.js"
|
|
9
|
+
import { GradientType } from "../types/gradient.js"
|
|
10
|
+
|
|
11
|
+
export { GradientType };
|
|
12
|
+
export const Gradient = Elements.wrapper(GradientType);
|
|
13
|
+
export const NullGradient = Elements.create_null(GradientType);
|
|
14
|
+
|
|
15
|
+
// Gradient border.
|
|
16
|
+
@Elements.register
|
|
17
|
+
export class GradientBorderElement extends VElementTagMap.div {
|
|
18
|
+
|
|
19
|
+
static default_style = {
|
|
20
|
+
"--child-border-width": "1px",
|
|
21
|
+
"--child-border-radius": "10px",
|
|
22
|
+
"--child-border-color": "black",
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
// Constructor.
|
|
26
|
+
constructor() {
|
|
27
|
+
|
|
28
|
+
// Initialize base classes.
|
|
29
|
+
super({
|
|
30
|
+
derived: GradientBorderElement,
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
// Styling.
|
|
34
|
+
this
|
|
35
|
+
.content("")
|
|
36
|
+
.position("absolute")
|
|
37
|
+
// .z_index(-1)
|
|
38
|
+
.inset(0)
|
|
39
|
+
.padding(GradientBorderElement.default_style["--child-border-width"] ?? "")
|
|
40
|
+
.border_radius(GradientBorderElement.default_style["--child-border-radius"] ?? "")
|
|
41
|
+
.background(GradientBorderElement.default_style["--child-border-color"] ?? "")
|
|
42
|
+
.mask("linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)")
|
|
43
|
+
.mask_composite("exclude")
|
|
44
|
+
// .mask_composite((navigator.userAgent.includes("Firefox") || navigator.userAgent.includes("Mozilla")) ? "exclude" : "xor")
|
|
45
|
+
.styles({
|
|
46
|
+
"-webkit-mask": "linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)",
|
|
47
|
+
"-webkit-mask-composite": (navigator.userAgent.includes("Firefox") || navigator.userAgent.includes("Mozilla")) ? "exclude" : "xor",
|
|
48
|
+
})
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Border color.
|
|
52
|
+
border_color() : string;
|
|
53
|
+
border_color(val: string) : this;
|
|
54
|
+
border_color(val?: string) : string | this {
|
|
55
|
+
if (val === undefined) { return this.style.background ?? ""; }
|
|
56
|
+
this.style.background = val;
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Set the border width.
|
|
61
|
+
border_width() : string;
|
|
62
|
+
border_width(value: number | string) : this;
|
|
63
|
+
border_width(value?: number | string) : string | this {
|
|
64
|
+
if (value == null) {
|
|
65
|
+
return this.padding() ?? "";
|
|
66
|
+
}
|
|
67
|
+
this.padding(value);
|
|
68
|
+
return this;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
export const GradientBorder = Elements.wrapper(GradientBorderElement);
|
|
72
|
+
export const NullGradientBorder = Elements.create_null(GradientBorderElement);
|
|
73
|
+
declare module './any_element.d.ts' { interface AnyElementMap { GradientBorderElement: GradientBorderElement }}
|