@vandenberghinc/volt 1.1.26 → 1.1.28
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/backend/dist/cjs/{blacklist.d.ts → backend/src/blacklist.d.ts} +5 -3
- package/backend/dist/cjs/{blacklist.js → backend/src/blacklist.js} +8 -5
- package/backend/dist/cjs/{cli.js → backend/src/cli.js} +29 -47
- package/backend/dist/cjs/backend/src/database/collection.d.ts +1543 -0
- package/backend/dist/cjs/backend/src/database/collection.js +3042 -0
- package/backend/dist/cjs/backend/src/database/database.d.ts +66 -0
- package/backend/dist/cjs/{database → backend/src/database}/database.js +48 -43
- package/backend/dist/cjs/backend/src/database/filters/filters.d.ts +6 -0
- package/backend/dist/cjs/backend/src/database/filters/filters.js +15 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter.d.ts +223 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter.js +15 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter_test.js +443 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter_test_v0.js +15 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter_v0.d.ts +50 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter_v0.js +15 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter_v1.d.ts +76 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter_v1.js +15 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter_v2.d.ts +75 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter_v2.js +15 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter_v3.d.ts +219 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_filter_v3.js +15 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_update_filter.d.ts +165 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_update_filter.js +15 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_update_filter_test.d.ts +5 -0
- package/backend/dist/cjs/backend/src/database/filters/strict_update_filter_test.js +355 -0
- package/backend/dist/cjs/backend/src/database/flatten.d.ts +75 -0
- package/backend/dist/cjs/{logger.js → backend/src/database/flatten.js} +18 -7
- package/backend/dist/cjs/backend/src/database/flatten_test.js +175 -0
- package/backend/dist/cjs/backend/src/database/quota/quota.d.ts +461 -0
- package/backend/dist/cjs/backend/src/database/quota/quota.js +1014 -0
- package/backend/dist/cjs/backend/src/database/quota/quota_v1.d.ts +534 -0
- package/backend/dist/cjs/backend/src/database/quota/quota_v1.js +1087 -0
- package/backend/dist/cjs/backend/src/database/quota/safe_int.d.ts +293 -0
- package/backend/dist/cjs/backend/src/database/quota/safe_int.js +573 -0
- package/backend/dist/{esm → cjs/backend/src}/endpoint.d.ts +69 -46
- package/backend/dist/cjs/{endpoint.js → backend/src/endpoint.js} +87 -101
- package/backend/dist/cjs/backend/src/errors/index.d.ts +7 -0
- package/backend/dist/cjs/backend/src/errors/index.js +25 -0
- package/backend/dist/{esm/utils.d.ts → cjs/backend/src/errors/internal_external.d.ts} +14 -22
- package/backend/dist/cjs/backend/src/errors/internal_external.js +85 -0
- package/backend/dist/cjs/backend/src/errors/invalid_usage_error.d.ts +38 -0
- package/backend/dist/cjs/{mutex.js → backend/src/errors/invalid_usage_error.js} +20 -37
- package/backend/dist/cjs/backend/src/errors/system_error.d.ts +230 -0
- package/backend/dist/cjs/backend/src/errors/system_error.js +393 -0
- package/backend/dist/cjs/backend/src/events.d.ts +54 -0
- package/backend/dist/cjs/backend/src/events.js +15 -0
- package/backend/dist/cjs/{frontend.js → backend/src/frontend.js} +1 -1
- package/backend/dist/cjs/{image_endpoint.d.ts → backend/src/image_endpoint.d.ts} +16 -1
- package/backend/dist/cjs/{image_endpoint.js → backend/src/image_endpoint.js} +3 -5
- package/backend/dist/cjs/backend/src/logger.d.ts +5 -0
- package/backend/dist/cjs/backend/src/logger.js +15 -0
- package/backend/dist/cjs/backend/src/meta.d.ts +64 -0
- package/backend/dist/cjs/{meta.js → backend/src/meta.js} +9 -12
- package/backend/dist/cjs/backend/src/payments/paddle.d.ts +326 -0
- package/backend/dist/cjs/{payments → backend/src/payments}/paddle.js +377 -327
- package/backend/dist/cjs/backend/src/plugins/browser.d.ts +1 -0
- package/backend/dist/cjs/backend/src/plugins/browser.js +15 -0
- package/backend/dist/cjs/backend/src/plugins/mail/mail.d.ts +248 -0
- package/backend/dist/cjs/backend/src/plugins/mail/mail.js +379 -0
- package/backend/dist/{esm → cjs/backend/src}/plugins/mail/ui.d.ts +23 -0
- package/backend/dist/cjs/backend/src/plugins/pdf.d.ts +1 -0
- package/backend/dist/cjs/backend/src/rate_limit.d.ts +145 -0
- package/backend/dist/cjs/backend/src/rate_limit.js +549 -0
- package/backend/dist/cjs/{route.d.ts → backend/src/route.d.ts} +3 -10
- package/backend/dist/cjs/{route.js → backend/src/route.js} +23 -21
- package/backend/dist/cjs/backend/src/server.d.ts +485 -0
- package/backend/dist/cjs/{server.js → backend/src/server.js} +688 -873
- package/backend/dist/cjs/backend/src/splash_screen.d.ts +80 -0
- package/backend/dist/cjs/{splash_screen.js → backend/src/splash_screen.js} +24 -3
- package/backend/dist/cjs/backend/src/status.d.ts +74 -0
- package/backend/dist/cjs/{status.js → backend/src/status.js} +64 -64
- package/backend/dist/cjs/backend/src/stream.d.ts +376 -0
- package/backend/dist/cjs/{stream.js → backend/src/stream.js} +299 -276
- package/backend/dist/cjs/backend/src/users.d.ts +807 -0
- package/backend/dist/cjs/backend/src/users.js +1971 -0
- package/backend/dist/cjs/backend/src/utils.d.ts +16 -0
- package/backend/dist/cjs/{utils.js → backend/src/utils.js} +14 -77
- package/backend/dist/{esm → cjs/backend/src}/view.d.ts +33 -11
- package/backend/dist/cjs/backend/src/view.js +508 -0
- package/backend/dist/{esm → cjs/backend/src}/volt.d.ts +10 -1
- package/backend/dist/cjs/{volt.js → backend/src/volt.js} +8 -5
- package/backend/dist/cjs/frontend/src/modules/request.d.ts +70 -0
- package/backend/dist/cjs/frontend/src/modules/request.js +99 -0
- package/backend/dist/esm/{blacklist.d.ts → backend/src/blacklist.d.ts} +5 -3
- package/backend/dist/esm/{blacklist.js → backend/src/blacklist.js} +9 -6
- package/backend/dist/esm/{cli.js → backend/src/cli.js} +43 -60
- package/backend/dist/esm/backend/src/database/collection.d.ts +1543 -0
- package/backend/dist/esm/backend/src/database/collection.js +3510 -0
- package/backend/dist/esm/backend/src/database/database.d.ts +66 -0
- package/backend/dist/esm/{database → backend/src/database}/database.js +62 -103
- package/backend/dist/esm/backend/src/database/document.d.ts +1 -0
- package/backend/dist/esm/backend/src/database/document.js +558 -0
- package/backend/dist/esm/backend/src/database/filters/filters.d.ts +6 -0
- package/backend/dist/esm/backend/src/database/filters/filters.js +1 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter.d.ts +223 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter.js +3 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_test.d.ts +1 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_test.js +505 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_test_v0.d.ts +1 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_test_v0.js +712 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_v0.d.ts +50 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_v0.js +5 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_v1.d.ts +76 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_v1.js +44 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_v2.d.ts +75 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_v2.js +5 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_v3.d.ts +219 -0
- package/backend/dist/esm/backend/src/database/filters/strict_filter_v3.js +1 -0
- package/backend/dist/esm/backend/src/database/filters/strict_update_filter.d.ts +165 -0
- package/backend/dist/esm/backend/src/database/filters/strict_update_filter.js +5 -0
- package/backend/dist/esm/backend/src/database/filters/strict_update_filter_test.d.ts +5 -0
- package/backend/dist/esm/backend/src/database/filters/strict_update_filter_test.js +405 -0
- package/backend/dist/esm/backend/src/database/flatten.d.ts +75 -0
- package/backend/dist/esm/backend/src/database/flatten.js +22 -0
- package/backend/dist/esm/backend/src/database/flatten_test.d.ts +1 -0
- package/backend/dist/esm/backend/src/database/flatten_test.js +174 -0
- package/backend/dist/esm/backend/src/database/quota/quota.d.ts +461 -0
- package/backend/dist/esm/backend/src/database/quota/quota.js +1118 -0
- package/backend/dist/esm/backend/src/database/quota/quota_v1.d.ts +534 -0
- package/backend/dist/esm/backend/src/database/quota/quota_v1.js +1242 -0
- package/backend/dist/esm/backend/src/database/quota/safe_int.d.ts +293 -0
- package/backend/dist/esm/backend/src/database/quota/safe_int.js +602 -0
- package/backend/dist/{cjs → esm/backend/src}/endpoint.d.ts +69 -46
- package/backend/dist/esm/{endpoint.js → backend/src/endpoint.js} +136 -127
- package/backend/dist/esm/backend/src/errors/index.d.ts +7 -0
- package/backend/dist/esm/backend/src/errors/index.js +7 -0
- package/backend/dist/{cjs/utils.d.ts → esm/backend/src/errors/internal_external.d.ts} +14 -22
- package/backend/dist/esm/backend/src/errors/internal_external.js +70 -0
- package/backend/dist/esm/backend/src/errors/invalid_usage_error.d.ts +38 -0
- package/backend/dist/esm/backend/src/errors/invalid_usage_error.js +30 -0
- package/backend/dist/esm/backend/src/errors/system_error.d.ts +230 -0
- package/backend/dist/esm/backend/src/errors/system_error.js +402 -0
- package/backend/dist/esm/backend/src/events.d.ts +54 -0
- package/backend/dist/esm/backend/src/events.js +5 -0
- package/backend/dist/esm/{frontend.js → backend/src/frontend.js} +1 -1
- package/backend/dist/esm/{image_endpoint.d.ts → backend/src/image_endpoint.d.ts} +16 -1
- package/backend/dist/esm/{image_endpoint.js → backend/src/image_endpoint.js} +16 -20
- package/backend/dist/esm/backend/src/logger.d.ts +5 -0
- package/backend/dist/esm/backend/src/logger.js +8 -0
- package/backend/dist/esm/backend/src/meta.d.ts +64 -0
- package/backend/dist/esm/{meta.js → backend/src/meta.js} +15 -54
- package/backend/dist/esm/backend/src/payments/paddle.d.ts +326 -0
- package/backend/dist/esm/{payments → backend/src/payments}/paddle.js +417 -452
- package/backend/dist/esm/backend/src/plugins/browser.d.ts +1 -0
- package/backend/dist/esm/backend/src/plugins/browser.js +170 -0
- package/backend/dist/esm/backend/src/plugins/mail/mail.d.ts +248 -0
- package/backend/dist/esm/backend/src/plugins/mail/mail.js +389 -0
- package/backend/dist/{cjs → esm/backend/src}/plugins/mail/ui.d.ts +23 -0
- package/backend/dist/esm/{plugins → backend/src/plugins}/mail/ui.js +3 -6
- package/backend/dist/esm/backend/src/plugins/pdf.d.ts +1 -0
- package/backend/dist/esm/{plugins → backend/src/plugins}/pdf.js +3 -3
- package/backend/dist/esm/backend/src/rate_limit.d.ts +145 -0
- package/backend/dist/esm/backend/src/rate_limit.js +667 -0
- package/backend/dist/esm/{route.d.ts → backend/src/route.d.ts} +3 -10
- package/backend/dist/esm/{route.js → backend/src/route.js} +26 -21
- package/backend/dist/esm/backend/src/server.d.ts +485 -0
- package/backend/dist/esm/{server.js → backend/src/server.js} +891 -1441
- package/backend/dist/esm/backend/src/splash_screen.d.ts +80 -0
- package/backend/dist/esm/{splash_screen.js → backend/src/splash_screen.js} +42 -55
- package/backend/dist/esm/backend/src/status.d.ts +74 -0
- package/backend/dist/esm/backend/src/status.js +199 -0
- package/backend/dist/esm/backend/src/stream.d.ts +376 -0
- package/backend/dist/esm/{stream.js → backend/src/stream.js} +327 -292
- package/backend/dist/esm/backend/src/users.d.ts +809 -0
- package/backend/dist/esm/backend/src/users.js +2140 -0
- package/backend/dist/esm/backend/src/utils.d.ts +16 -0
- package/backend/dist/esm/{utils.js → backend/src/utils.js} +20 -81
- package/backend/dist/{cjs → esm/backend/src}/view.d.ts +33 -11
- package/backend/dist/esm/{view.js → backend/src/view.js} +266 -86
- package/backend/dist/{cjs → esm/backend/src}/volt.d.ts +10 -1
- package/backend/dist/esm/{volt.js → backend/src/volt.js} +7 -4
- package/backend/dist/esm/frontend/src/modules/request.d.ts +70 -0
- package/backend/dist/esm/frontend/src/modules/request.js +117 -0
- package/frontend/dist/backend/src/database/collection.d.ts +1543 -0
- package/frontend/dist/backend/src/database/collection.js +3510 -0
- package/frontend/dist/backend/src/database/database.d.ts +66 -0
- package/frontend/dist/backend/src/database/database.js +196 -0
- package/frontend/dist/backend/src/database/filters/filters.d.ts +6 -0
- package/frontend/dist/backend/src/database/filters/filters.js +1 -0
- package/frontend/dist/backend/src/database/filters/strict_filter.d.ts +223 -0
- package/frontend/dist/backend/src/database/filters/strict_filter.js +3 -0
- package/frontend/dist/backend/src/database/filters/strict_update_filter.d.ts +165 -0
- package/frontend/dist/backend/src/database/filters/strict_update_filter.js +5 -0
- package/frontend/dist/backend/src/database/flatten.d.ts +75 -0
- package/frontend/dist/backend/src/database/flatten.js +22 -0
- package/frontend/dist/backend/src/endpoint.d.ts +204 -0
- package/frontend/dist/backend/src/endpoint.js +570 -0
- package/frontend/dist/backend/src/errors/index.d.ts +7 -0
- package/frontend/dist/backend/src/errors/index.js +7 -0
- package/frontend/dist/backend/src/errors/internal_external.d.ts +38 -0
- package/frontend/dist/backend/src/errors/internal_external.js +70 -0
- package/frontend/dist/backend/src/errors/invalid_usage_error.d.ts +38 -0
- package/frontend/dist/backend/src/errors/invalid_usage_error.js +30 -0
- package/frontend/dist/backend/src/errors/system_error.d.ts +230 -0
- package/frontend/dist/backend/src/errors/system_error.js +402 -0
- package/frontend/dist/backend/src/events.d.ts +54 -0
- package/frontend/dist/backend/src/events.js +5 -0
- package/frontend/dist/backend/src/frontend.d.ts +11 -0
- package/frontend/dist/backend/src/frontend.js +12 -0
- package/frontend/dist/backend/src/image_endpoint.d.ts +39 -0
- package/frontend/dist/backend/src/image_endpoint.js +202 -0
- package/frontend/dist/backend/src/meta.d.ts +64 -0
- package/frontend/dist/backend/src/meta.js +110 -0
- package/frontend/dist/backend/src/payments/paddle.d.ts +326 -0
- package/frontend/dist/backend/src/payments/paddle.js +2256 -0
- package/frontend/dist/backend/src/plugins/mail/mail.d.ts +248 -0
- package/frontend/dist/backend/src/plugins/mail/mail.js +389 -0
- package/{backend/dist/esm/plugins/mail.d.ts → frontend/dist/backend/src/plugins/mail/ui.d.ts} +23 -0
- package/{backend/dist/esm/plugins/mail.js → frontend/dist/backend/src/plugins/mail/ui.js} +3 -6
- package/frontend/dist/backend/src/rate_limit.d.ts +145 -0
- package/frontend/dist/backend/src/rate_limit.js +673 -0
- package/frontend/dist/backend/src/route.d.ts +35 -0
- package/frontend/dist/backend/src/route.js +212 -0
- package/frontend/dist/backend/src/server.d.ts +485 -0
- package/frontend/dist/backend/src/server.js +2670 -0
- package/frontend/dist/backend/src/splash_screen.d.ts +80 -0
- package/frontend/dist/backend/src/splash_screen.js +135 -0
- package/frontend/dist/backend/src/status.d.ts +74 -0
- package/frontend/dist/backend/src/status.js +199 -0
- package/frontend/dist/backend/src/stream.d.ts +376 -0
- package/frontend/dist/backend/src/stream.js +1007 -0
- package/frontend/dist/backend/src/users.d.ts +807 -0
- package/frontend/dist/backend/src/users.js +2118 -0
- package/frontend/dist/backend/src/utils.d.ts +16 -0
- package/frontend/dist/backend/src/utils.js +241 -0
- package/frontend/dist/backend/src/view.d.ts +162 -0
- package/frontend/dist/backend/src/view.js +720 -0
- package/frontend/dist/frontend/src/elements/base.d.ts +4414 -0
- package/frontend/dist/{elements → frontend/src/elements}/base.js +3624 -260
- package/frontend/dist/frontend/src/elements/module.d.ts +95 -0
- package/frontend/dist/{elements → frontend/src/elements}/module.js +53 -52
- package/frontend/dist/frontend/src/elements/types.d.ts +52 -0
- package/frontend/dist/frontend/src/elements/types.js +5 -0
- package/frontend/dist/frontend/src/modules/attachment.d.ts +126 -0
- package/frontend/dist/frontend/src/modules/attachment.js +306 -0
- package/frontend/dist/frontend/src/modules/auth.d.ts +44 -0
- package/frontend/dist/frontend/src/modules/auth.js +80 -0
- package/frontend/dist/{modules → frontend/src/modules}/color.js +2 -2
- package/frontend/dist/frontend/src/modules/compression.d.ts +39 -0
- package/frontend/dist/frontend/src/modules/compression.js +102 -0
- package/frontend/dist/frontend/src/modules/cookies.d.ts +44 -0
- package/frontend/dist/frontend/src/modules/cookies.js +143 -0
- package/frontend/dist/frontend/src/modules/events.d.ts +31 -0
- package/frontend/dist/frontend/src/modules/events.js +74 -0
- package/frontend/dist/frontend/src/modules/google.d.ts +23 -0
- package/frontend/dist/frontend/src/modules/google.js +52 -0
- package/frontend/dist/frontend/src/modules/meta.d.ts +14 -0
- package/frontend/dist/{modules → frontend/src/modules}/meta.js +9 -7
- package/frontend/dist/{modules → frontend/src/modules}/paddle.d.ts +37 -134
- package/frontend/dist/{modules → frontend/src/modules}/paddle.js +620 -568
- package/frontend/dist/frontend/src/modules/request.d.ts +70 -0
- package/frontend/dist/frontend/src/modules/request.js +117 -0
- package/frontend/dist/frontend/src/modules/settings.d.ts +3 -0
- package/frontend/dist/frontend/src/modules/settings.js +5 -0
- package/frontend/dist/frontend/src/modules/statics.d.ts +21 -0
- package/frontend/dist/{modules → frontend/src/modules}/statics.js +15 -18
- package/frontend/dist/frontend/src/modules/support.d.ts +30 -0
- package/frontend/dist/frontend/src/modules/support.js +53 -0
- package/frontend/dist/{modules → frontend/src/modules}/theme.d.ts +67 -0
- package/frontend/dist/{modules → frontend/src/modules}/theme.js +68 -38
- package/frontend/dist/frontend/src/modules/themes.d.ts +12 -0
- package/frontend/dist/frontend/src/modules/themes.js +22 -0
- package/frontend/dist/frontend/src/modules/user.d.ts +164 -0
- package/frontend/dist/frontend/src/modules/user.js +268 -0
- package/frontend/dist/frontend/src/modules/utils.d.ts +176 -0
- package/frontend/dist/frontend/src/modules/utils.js +569 -0
- package/frontend/dist/frontend/src/types/gradient.d.ts +29 -0
- package/frontend/dist/{types → frontend/src/types}/gradient.js +14 -18
- package/frontend/dist/frontend/src/ui/border_button.d.ts +94 -0
- package/frontend/dist/{ui → frontend/src/ui}/border_button.js +7 -13
- package/frontend/dist/frontend/src/ui/button.d.ts +28 -0
- package/frontend/dist/{ui → frontend/src/ui}/button.js +21 -12
- package/frontend/dist/frontend/src/ui/canvas.d.ts +138 -0
- package/frontend/dist/{ui → frontend/src/ui}/canvas.js +88 -55
- package/frontend/dist/frontend/src/ui/checkbox.d.ts +74 -0
- package/frontend/dist/{ui → frontend/src/ui}/checkbox.js +80 -41
- package/frontend/dist/{ui → frontend/src/ui}/code.d.ts +73 -6
- package/frontend/dist/{ui → frontend/src/ui}/code.js +55 -52
- package/frontend/dist/{ui → frontend/src/ui}/context_menu.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/context_menu.js +12 -17
- package/frontend/dist/{ui → frontend/src/ui}/css.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/css.js +3 -3
- package/frontend/dist/{ui → frontend/src/ui}/divider.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/divider.js +3 -3
- package/frontend/dist/{ui → frontend/src/ui}/dropdown.d.ts +57 -2
- package/frontend/dist/{ui → frontend/src/ui}/dropdown.js +87 -94
- package/frontend/dist/{ui → frontend/src/ui}/for_each.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/for_each.js +3 -3
- package/frontend/dist/{ui → frontend/src/ui}/form.d.ts +6 -2
- package/frontend/dist/{ui → frontend/src/ui}/form.js +10 -7
- package/frontend/dist/frontend/src/ui/frame_modes.d.ts +37 -0
- package/frontend/dist/{ui → frontend/src/ui}/frame_modes.js +16 -22
- package/frontend/dist/{ui → frontend/src/ui}/google_map.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/google_map.js +4 -4
- package/frontend/dist/{ui → frontend/src/ui}/gradient.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/gradient.js +3 -3
- package/frontend/dist/{ui → frontend/src/ui}/image.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/image.js +5 -5
- package/frontend/dist/frontend/src/ui/input.d.ts +392 -0
- package/frontend/dist/{ui → frontend/src/ui}/input.js +346 -360
- package/frontend/dist/{ui → frontend/src/ui}/link.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/link.js +3 -3
- package/frontend/dist/{ui → frontend/src/ui}/list.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/list.js +12 -6
- package/frontend/dist/frontend/src/ui/loader_button.d.ts +80 -0
- package/frontend/dist/{ui → frontend/src/ui}/loader_button.js +35 -47
- package/frontend/dist/frontend/src/ui/loaders.d.ts +57 -0
- package/frontend/dist/{ui → frontend/src/ui}/loaders.js +11 -11
- package/frontend/dist/{ui → frontend/src/ui}/popup.d.ts +11 -6
- package/frontend/dist/{ui → frontend/src/ui}/popup.js +32 -18
- package/frontend/dist/frontend/src/ui/pseudo.d.ts +44 -0
- package/frontend/dist/{ui → frontend/src/ui}/pseudo.js +84 -8
- package/frontend/dist/{ui → frontend/src/ui}/scroller.d.ts +14 -2
- package/frontend/dist/{ui → frontend/src/ui}/scroller.js +37 -43
- package/frontend/dist/{ui → frontend/src/ui}/slider.d.ts +5 -1
- package/frontend/dist/{ui → frontend/src/ui}/slider.js +4 -4
- package/frontend/dist/{ui → frontend/src/ui}/spacer.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/spacer.js +3 -3
- package/frontend/dist/{ui → frontend/src/ui}/span.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/span.js +3 -3
- package/frontend/dist/{ui → frontend/src/ui}/stack.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/stack.js +3 -9
- package/frontend/dist/frontend/src/ui/steps.d.ts +131 -0
- package/frontend/dist/{ui → frontend/src/ui}/steps.js +30 -45
- package/frontend/dist/{ui → frontend/src/ui}/style.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/style.js +3 -3
- package/frontend/dist/{ui → frontend/src/ui}/switch.d.ts +5 -1
- package/frontend/dist/{ui → frontend/src/ui}/switch.js +4 -4
- package/frontend/dist/{ui → frontend/src/ui}/table.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/table.js +6 -6
- package/frontend/dist/{ui → frontend/src/ui}/tabs.d.ts +45 -3
- package/frontend/dist/{ui → frontend/src/ui}/tabs.js +65 -40
- package/frontend/dist/{ui → frontend/src/ui}/text.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/text.js +3 -3
- package/frontend/dist/frontend/src/ui/title.d.ts +91 -0
- package/frontend/dist/frontend/src/ui/title.js +272 -0
- package/frontend/dist/{ui → frontend/src/ui}/view.d.ts +4 -0
- package/frontend/dist/{ui → frontend/src/ui}/view.js +3 -3
- package/frontend/dist/{volt.d.ts → frontend/src/volt.d.ts} +3 -0
- package/frontend/dist/{volt.js → frontend/src/volt.js} +4 -0
- package/frontend/tools/bundle_d_ts.js +71 -0
- package/frontend/tools/convert_to_jsdoc_input.txt +9452 -0
- package/frontend/tools/convert_to_jsdoc_output.txt +7626 -0
- package/frontend/tools/convert_to_jsdoc_tmp.js +345 -0
- package/package.json +11 -12
- package/backend/dist/cjs/database/collection.d.ts +0 -160
- package/backend/dist/cjs/database/collection.js +0 -842
- package/backend/dist/cjs/database/database.d.ts +0 -121
- package/backend/dist/cjs/database/document.d.ts +0 -131
- package/backend/dist/cjs/database/document.js +0 -224
- package/backend/dist/cjs/database.d.ts +0 -502
- package/backend/dist/cjs/database.js +0 -2248
- package/backend/dist/cjs/logger.d.ts +0 -3
- package/backend/dist/cjs/meta.d.ts +0 -50
- package/backend/dist/cjs/mutex.d.ts +0 -24
- package/backend/dist/cjs/payments/paddle.d.ts +0 -160
- package/backend/dist/cjs/plugins/browser.d.ts +0 -36
- package/backend/dist/cjs/plugins/browser.js +0 -198
- package/backend/dist/cjs/plugins/css.d.ts +0 -11
- package/backend/dist/cjs/plugins/css.js +0 -80
- package/backend/dist/cjs/plugins/mail.d.ts +0 -277
- package/backend/dist/cjs/plugins/mail.js +0 -1370
- package/backend/dist/cjs/plugins/ts/compiler.d.ts +0 -139
- package/backend/dist/cjs/plugins/ts/compiler.js +0 -750
- package/backend/dist/cjs/plugins/ts/preprocessing.d.ts +0 -14
- package/backend/dist/cjs/plugins/ts/preprocessing.js +0 -440
- package/backend/dist/cjs/rate_limit.d.ts +0 -63
- package/backend/dist/cjs/rate_limit.js +0 -348
- package/backend/dist/cjs/request.deprc.d.ts +0 -48
- package/backend/dist/cjs/request.deprc.js +0 -572
- package/backend/dist/cjs/response.deprc.d.ts +0 -55
- package/backend/dist/cjs/response.deprc.js +0 -275
- package/backend/dist/cjs/server.d.ts +0 -342
- package/backend/dist/cjs/splash_screen.d.ts +0 -35
- package/backend/dist/cjs/status.d.ts +0 -61
- package/backend/dist/cjs/stream.d.ts +0 -79
- package/backend/dist/cjs/users.d.ts +0 -111
- package/backend/dist/cjs/users.js +0 -1817
- package/backend/dist/cjs/view.js +0 -352
- package/backend/dist/cjs/vinc.dev.d.ts +0 -3
- package/backend/dist/cjs/vinc.dev.js +0 -7
- package/backend/dist/css/adyen.css +0 -92
- package/backend/dist/css/volt.css +0 -70
- package/backend/dist/esm/database/collection.d.ts +0 -160
- package/backend/dist/esm/database/collection.js +0 -1328
- package/backend/dist/esm/database/database.d.ts +0 -121
- package/backend/dist/esm/database/document.d.ts +0 -131
- package/backend/dist/esm/database/document.js +0 -247
- package/backend/dist/esm/database.d.ts +0 -502
- package/backend/dist/esm/database.js +0 -2423
- package/backend/dist/esm/file_watcher.js +0 -329
- package/backend/dist/esm/logger.d.ts +0 -3
- package/backend/dist/esm/logger.js +0 -11
- package/backend/dist/esm/meta.d.ts +0 -50
- package/backend/dist/esm/mutex.d.ts +0 -24
- package/backend/dist/esm/mutex.js +0 -48
- package/backend/dist/esm/payments/paddle.d.ts +0 -160
- package/backend/dist/esm/plugins/browser.d.ts +0 -36
- package/backend/dist/esm/plugins/browser.js +0 -176
- package/backend/dist/esm/plugins/css.d.ts +0 -11
- package/backend/dist/esm/plugins/css.js +0 -90
- package/backend/dist/esm/plugins/ts/compiler.d.ts +0 -139
- package/backend/dist/esm/plugins/ts/compiler.js +0 -1194
- package/backend/dist/esm/plugins/ts/preprocessing.d.ts +0 -14
- package/backend/dist/esm/plugins/ts/preprocessing.js +0 -726
- package/backend/dist/esm/rate_limit.d.ts +0 -63
- package/backend/dist/esm/rate_limit.js +0 -417
- package/backend/dist/esm/request.deprc.d.ts +0 -48
- package/backend/dist/esm/request.deprc.js +0 -572
- package/backend/dist/esm/response.deprc.d.ts +0 -55
- package/backend/dist/esm/response.deprc.js +0 -275
- package/backend/dist/esm/server.d.ts +0 -342
- package/backend/dist/esm/splash_screen.d.ts +0 -35
- package/backend/dist/esm/status.d.ts +0 -61
- package/backend/dist/esm/status.js +0 -197
- package/backend/dist/esm/stream.d.ts +0 -79
- package/backend/dist/esm/users.d.ts +0 -111
- package/backend/dist/esm/users.js +0 -1935
- package/backend/dist/esm/vinc.dev.d.ts +0 -3
- package/backend/dist/esm/vinc.dev.js +0 -7
- package/frontend/dist/elements/base.d.ts +0 -9889
- package/frontend/dist/elements/module.d.ts +0 -30
- package/frontend/dist/modules/array.d.ts +0 -94
- package/frontend/dist/modules/array.js +0 -634
- package/frontend/dist/modules/auth.d.ts +0 -46
- package/frontend/dist/modules/auth.js +0 -139
- package/frontend/dist/modules/colors.d.ts +0 -1
- package/frontend/dist/modules/colors.js +0 -417
- package/frontend/dist/modules/compression.d.ts +0 -6
- package/frontend/dist/modules/compression.js +0 -999
- package/frontend/dist/modules/cookies.d.ts +0 -18
- package/frontend/dist/modules/cookies.js +0 -167
- package/frontend/dist/modules/date.d.ts +0 -142
- package/frontend/dist/modules/date.js +0 -493
- package/frontend/dist/modules/events.d.ts +0 -8
- package/frontend/dist/modules/events.js +0 -91
- package/frontend/dist/modules/google.d.ts +0 -11
- package/frontend/dist/modules/google.js +0 -54
- package/frontend/dist/modules/meta.d.ts +0 -10
- package/frontend/dist/modules/mutex.d.ts +0 -7
- package/frontend/dist/modules/mutex.js +0 -51
- package/frontend/dist/modules/number.d.ts +0 -16
- package/frontend/dist/modules/number.js +0 -23
- package/frontend/dist/modules/object.d.ts +0 -52
- package/frontend/dist/modules/object.js +0 -383
- package/frontend/dist/modules/scheme.d.ts +0 -227
- package/frontend/dist/modules/scheme.js +0 -531
- package/frontend/dist/modules/settings.d.ts +0 -3
- package/frontend/dist/modules/settings.js +0 -4
- package/frontend/dist/modules/statics.d.ts +0 -5
- package/frontend/dist/modules/string.d.ts +0 -124
- package/frontend/dist/modules/string.js +0 -745
- package/frontend/dist/modules/support.d.ts +0 -19
- package/frontend/dist/modules/support.js +0 -103
- package/frontend/dist/modules/themes.d.ts +0 -8
- package/frontend/dist/modules/themes.js +0 -18
- package/frontend/dist/modules/user.d.ts +0 -59
- package/frontend/dist/modules/user.js +0 -280
- package/frontend/dist/modules/utils.d.ts +0 -87
- package/frontend/dist/modules/utils.js +0 -923
- package/frontend/dist/types/gradient.d.ts +0 -12
- package/frontend/dist/ui/border_button.d.ts +0 -152
- package/frontend/dist/ui/button.d.ts +0 -21
- package/frontend/dist/ui/canvas.d.ts +0 -56
- package/frontend/dist/ui/checkbox.d.ts +0 -52
- package/frontend/dist/ui/frame_modes.d.ts +0 -25
- package/frontend/dist/ui/input.d.ts +0 -241
- package/frontend/dist/ui/loader_button.d.ts +0 -93
- package/frontend/dist/ui/loaders.d.ts +0 -57
- package/frontend/dist/ui/pseudo.d.ts +0 -16
- package/frontend/dist/ui/steps.d.ts +0 -59
- package/frontend/dist/ui/title.d.ts +0 -21
- package/frontend/dist/ui/title.js +0 -121
- package/frontend/examples/dashboard/dashboard.ts +0 -776
- /package/backend/dist/cjs/{cli.d.ts → backend/src/cli.d.ts} +0 -0
- /package/backend/dist/cjs/{file_watcher.d.ts → backend/src/database/document.d.ts} +0 -0
- /package/backend/dist/cjs/{file_watcher.js → backend/src/database/document.js} +0 -0
- /package/backend/dist/cjs/{plugins/pdf.d.ts → backend/src/database/filters/strict_filter_test.d.ts} +0 -0
- /package/backend/dist/{esm/file_watcher.d.ts → cjs/backend/src/database/filters/strict_filter_test_v0.d.ts} +0 -0
- /package/backend/dist/{esm/plugins/pdf.d.ts → cjs/backend/src/database/flatten_test.d.ts} +0 -0
- /package/backend/dist/cjs/{frontend.d.ts → backend/src/frontend.d.ts} +0 -0
- /package/backend/dist/cjs/{plugins → backend/src/plugins}/communication.d.ts +0 -0
- /package/backend/dist/cjs/{plugins → backend/src/plugins}/communication.js +0 -0
- /package/backend/dist/cjs/{plugins → backend/src/plugins}/mail/ui.js +0 -0
- /package/backend/dist/cjs/{plugins → backend/src/plugins}/pdf.js +0 -0
- /package/backend/dist/cjs/{plugins → backend/src/plugins}/thread_monitor.d.ts +0 -0
- /package/backend/dist/cjs/{plugins → backend/src/plugins}/thread_monitor.js +0 -0
- /package/backend/dist/cjs/{vinc.d.ts → backend/src/vinc.d.ts} +0 -0
- /package/backend/dist/cjs/{vinc.js → backend/src/vinc.js} +0 -0
- /package/backend/dist/esm/{cli.d.ts → backend/src/cli.d.ts} +0 -0
- /package/backend/dist/esm/{frontend.d.ts → backend/src/frontend.d.ts} +0 -0
- /package/backend/dist/esm/{plugins → backend/src/plugins}/communication.d.ts +0 -0
- /package/backend/dist/esm/{plugins → backend/src/plugins}/communication.js +0 -0
- /package/backend/dist/esm/{plugins → backend/src/plugins}/thread_monitor.d.ts +0 -0
- /package/backend/dist/esm/{plugins → backend/src/plugins}/thread_monitor.js +0 -0
- /package/backend/dist/esm/{vinc.d.ts → backend/src/vinc.d.ts} +0 -0
- /package/backend/dist/esm/{vinc.js → backend/src/vinc.js} +0 -0
- /package/frontend/dist/{elements → frontend/src/elements}/register_element.d.ts +0 -0
- /package/frontend/dist/{elements → frontend/src/elements}/register_element.js +0 -0
- /package/frontend/dist/{modules → frontend/src/modules}/color.d.ts +0 -0
- /package/frontend/dist/{ui → frontend/src/ui}/ui.d.ts +0 -0
- /package/frontend/dist/{ui → frontend/src/ui}/ui.js +0 -0
|
@@ -0,0 +1,569 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author Daan van den Bergh
|
|
3
|
+
* @copyright © 2022 - 2025 Daan van den Bergh. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
/** Utils module. */
|
|
6
|
+
export var Utils;
|
|
7
|
+
(function (Utils) {
|
|
8
|
+
/** True if the current browser's vendor string indicates Apple (e.g., Safari on iOS/macOS). */
|
|
9
|
+
Utils.is_apple = navigator?.vendor?.includes('Apple');
|
|
10
|
+
/** True if the current browser is identified via vendor as Safari/Apple (same check as {@link is_apple}). */
|
|
11
|
+
Utils.is_safari = navigator?.vendor?.includes('Apple');
|
|
12
|
+
/**
|
|
13
|
+
* Determine whether the provided value is a string.
|
|
14
|
+
* @param value The value to check.
|
|
15
|
+
* @returns Returns true if the value is a string, otherwise false.
|
|
16
|
+
* @docs
|
|
17
|
+
*/
|
|
18
|
+
function is_string(value) {
|
|
19
|
+
return typeof value === 'string' || value instanceof String;
|
|
20
|
+
}
|
|
21
|
+
Utils.is_string = is_string;
|
|
22
|
+
;
|
|
23
|
+
/**
|
|
24
|
+
* Determine whether the provided value is a finite number.
|
|
25
|
+
* @param value The value to check.
|
|
26
|
+
* @returns Returns true if the value is a finite number, otherwise false.
|
|
27
|
+
* @docs
|
|
28
|
+
*/
|
|
29
|
+
function is_numeric(value) {
|
|
30
|
+
return typeof value === 'number' && Number.isFinite(value);
|
|
31
|
+
}
|
|
32
|
+
Utils.is_numeric = is_numeric;
|
|
33
|
+
;
|
|
34
|
+
/**
|
|
35
|
+
* Determine whether the provided value is an integer.
|
|
36
|
+
* @param value The value to check.
|
|
37
|
+
* @returns Returns true if the value is an integer, otherwise false.
|
|
38
|
+
* @docs
|
|
39
|
+
*/
|
|
40
|
+
function is_int(value) {
|
|
41
|
+
return typeof value === 'number' && Number.isInteger(value);
|
|
42
|
+
}
|
|
43
|
+
Utils.is_int = is_int;
|
|
44
|
+
;
|
|
45
|
+
/**
|
|
46
|
+
* Determine whether the provided value is a floating-point number.
|
|
47
|
+
* @param value The value to check.
|
|
48
|
+
* @returns Returns true if the value is a float, otherwise false.
|
|
49
|
+
* @docs
|
|
50
|
+
*/
|
|
51
|
+
function is_float(value) {
|
|
52
|
+
return typeof value === 'number' && !Number.isNaN(value) && !Number.isInteger(value);
|
|
53
|
+
}
|
|
54
|
+
Utils.is_float = is_float;
|
|
55
|
+
;
|
|
56
|
+
/**
|
|
57
|
+
* Determine whether the provided value is a function.
|
|
58
|
+
* @param value The value to check.
|
|
59
|
+
* @returns Returns true if the value is a function, otherwise false.
|
|
60
|
+
* @docs
|
|
61
|
+
*/
|
|
62
|
+
function is_func(value) {
|
|
63
|
+
return typeof value === 'function';
|
|
64
|
+
}
|
|
65
|
+
Utils.is_func = is_func;
|
|
66
|
+
;
|
|
67
|
+
/**
|
|
68
|
+
* Determine whether the provided value is an array.
|
|
69
|
+
* @param value The value to check.
|
|
70
|
+
* @returns Returns true if the value is an array, otherwise false.
|
|
71
|
+
* @docs
|
|
72
|
+
*/
|
|
73
|
+
function is_array(value) {
|
|
74
|
+
return Array.isArray(value);
|
|
75
|
+
}
|
|
76
|
+
Utils.is_array = is_array;
|
|
77
|
+
;
|
|
78
|
+
/**
|
|
79
|
+
* Determine whether the provided value is a non-array object.
|
|
80
|
+
* @param value The value to check.
|
|
81
|
+
* @returns Returns true if the value is an object and not an array, otherwise false.
|
|
82
|
+
* @docs
|
|
83
|
+
*/
|
|
84
|
+
function is_obj(value) {
|
|
85
|
+
return value != null && typeof value === 'object' && !Array.isArray(value);
|
|
86
|
+
}
|
|
87
|
+
Utils.is_obj = is_obj;
|
|
88
|
+
;
|
|
89
|
+
/**
|
|
90
|
+
* Determine whether the provided number is even.
|
|
91
|
+
* @param number The number to check.
|
|
92
|
+
* @returns Returns true if the number is even, otherwise false.
|
|
93
|
+
* @docs
|
|
94
|
+
*/
|
|
95
|
+
function is_even(number) {
|
|
96
|
+
return number % 2 === 0;
|
|
97
|
+
}
|
|
98
|
+
Utils.is_even = is_even;
|
|
99
|
+
;
|
|
100
|
+
/**
|
|
101
|
+
* Check if the user agent is a mobile device.
|
|
102
|
+
* @returns Returns true when a mobile user agent is detected.
|
|
103
|
+
* @docs
|
|
104
|
+
*/
|
|
105
|
+
function is_mobile() {
|
|
106
|
+
return (!!navigator.userAgent.match(/Android/i) ||
|
|
107
|
+
!!navigator.userAgent.match(/webOS/i) ||
|
|
108
|
+
!!navigator.userAgent.match(/iPhone/i) ||
|
|
109
|
+
!!navigator.userAgent.match(/iPad/i) ||
|
|
110
|
+
!!navigator.userAgent.match(/iPod/i) ||
|
|
111
|
+
!!navigator.userAgent.match(/BlackBerry/i) ||
|
|
112
|
+
!!navigator.userAgent.match(/Windows Phone/i));
|
|
113
|
+
}
|
|
114
|
+
Utils.is_mobile = is_mobile;
|
|
115
|
+
;
|
|
116
|
+
/**
|
|
117
|
+
* Make all objects of an array or object immutable. All nested objects will also be made immutable recursively.
|
|
118
|
+
* @param object The array or object to freeze.
|
|
119
|
+
* @docs
|
|
120
|
+
*/
|
|
121
|
+
function make_immutable(object) {
|
|
122
|
+
if (Array.isArray(object)) {
|
|
123
|
+
object.forEach((item, index) => {
|
|
124
|
+
if (item != null && typeof item === "object") {
|
|
125
|
+
object[index] = Utils.make_immutable(item);
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
Object.freeze(object);
|
|
129
|
+
}
|
|
130
|
+
else if (object != null && typeof object === "object") {
|
|
131
|
+
Object.keys(object).forEach((key) => {
|
|
132
|
+
if (object[key] != null && typeof object[key] === "object") {
|
|
133
|
+
object[key] = Utils.make_immutable(object[key]);
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
Object.freeze(object);
|
|
137
|
+
}
|
|
138
|
+
return object;
|
|
139
|
+
}
|
|
140
|
+
Utils.make_immutable = make_immutable;
|
|
141
|
+
;
|
|
142
|
+
/**
|
|
143
|
+
* Check if an element is a direct child of an element or the parent element itself.
|
|
144
|
+
* @param parent The parent element to test.
|
|
145
|
+
* @param target The target element to test.
|
|
146
|
+
* @docs
|
|
147
|
+
*/
|
|
148
|
+
function is_child(parent, target) {
|
|
149
|
+
for (let i = 0; i < parent.children.length; i++) {
|
|
150
|
+
if (target === parent.children[i]) {
|
|
151
|
+
return true;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
return false;
|
|
155
|
+
}
|
|
156
|
+
Utils.is_child = is_child;
|
|
157
|
+
;
|
|
158
|
+
/**
|
|
159
|
+
* Check if an element is a recursively nested child of an element or the parent element itself.
|
|
160
|
+
* @param parent The parent element to test.
|
|
161
|
+
* @param target The target element to test.
|
|
162
|
+
* @param stop_node A node at which to stop checking if target is a parent of the current element.
|
|
163
|
+
* @docs
|
|
164
|
+
*/
|
|
165
|
+
function is_nested_child(parent, target, stop_node = null) {
|
|
166
|
+
let e = target instanceof Element ? target : null;
|
|
167
|
+
while (e != null) {
|
|
168
|
+
if (e === parent) {
|
|
169
|
+
return true;
|
|
170
|
+
}
|
|
171
|
+
else if (e === stop_node) {
|
|
172
|
+
return false;
|
|
173
|
+
}
|
|
174
|
+
e = e.parentElement;
|
|
175
|
+
}
|
|
176
|
+
return false;
|
|
177
|
+
}
|
|
178
|
+
Utils.is_nested_child = is_nested_child;
|
|
179
|
+
;
|
|
180
|
+
// Equals.
|
|
181
|
+
// eq(x, y) { return x == y; }
|
|
182
|
+
// not_eq(x, y) { return x != y; }
|
|
183
|
+
// Greater than.
|
|
184
|
+
// gt(x, y) { return x > y; }
|
|
185
|
+
// gt_eq(x, y) { return x >= y; }
|
|
186
|
+
// Lesser than.
|
|
187
|
+
// lt(x, y) { return x < y; }
|
|
188
|
+
// lt_eq(x, y) { return x <= y; }
|
|
189
|
+
/**
|
|
190
|
+
* Round a number to a specified number of decimal places.
|
|
191
|
+
* @param value The number to round.
|
|
192
|
+
* @param decimals The number of decimal places.
|
|
193
|
+
* @returns The rounded number.
|
|
194
|
+
* @docs
|
|
195
|
+
*/
|
|
196
|
+
function round(value, decimals) {
|
|
197
|
+
const factor = 10 ** decimals;
|
|
198
|
+
return Math.round(value * factor) / factor;
|
|
199
|
+
}
|
|
200
|
+
Utils.round = round;
|
|
201
|
+
;
|
|
202
|
+
/**
|
|
203
|
+
* Get the width of the device's viewport.
|
|
204
|
+
* @returns The width of the device's viewport.
|
|
205
|
+
* @docs
|
|
206
|
+
*/
|
|
207
|
+
function device_width() {
|
|
208
|
+
return (window.innerWidth > 0) ? window.innerWidth : screen.width;
|
|
209
|
+
}
|
|
210
|
+
Utils.device_width = device_width;
|
|
211
|
+
;
|
|
212
|
+
/**
|
|
213
|
+
* Get the height of the device's viewport.
|
|
214
|
+
* @returns The height of the device's viewport.
|
|
215
|
+
* @docs
|
|
216
|
+
*/
|
|
217
|
+
function device_height() {
|
|
218
|
+
return (window.innerHeight > 0) ? window.innerHeight : screen.height;
|
|
219
|
+
}
|
|
220
|
+
Utils.device_height = device_height;
|
|
221
|
+
;
|
|
222
|
+
/**
|
|
223
|
+
* Get the endpoint sub URL of a full domain URL. When parameter "url" is undefined, it uses the current URL.
|
|
224
|
+
* @param url The full domain URL.
|
|
225
|
+
* @returns The endpoint sub URL.
|
|
226
|
+
* @docs
|
|
227
|
+
*/
|
|
228
|
+
function endpoint(url = null) {
|
|
229
|
+
if (url == null) {
|
|
230
|
+
return Utils.endpoint(window.location.href);
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
// Strip http:// or https://
|
|
234
|
+
let endpoint = url.replace(/^https?:\/\//, "");
|
|
235
|
+
// Remove domain.
|
|
236
|
+
const firstSlash = endpoint.indexOf('/');
|
|
237
|
+
endpoint = firstSlash !== -1 ? endpoint.substring(firstSlash) : '/';
|
|
238
|
+
// Strip query.
|
|
239
|
+
const queryIndex = endpoint.indexOf("?");
|
|
240
|
+
if (queryIndex !== -1) {
|
|
241
|
+
endpoint = endpoint.substring(0, queryIndex);
|
|
242
|
+
}
|
|
243
|
+
// Clean.
|
|
244
|
+
endpoint = endpoint.replaceAll("//", "/");
|
|
245
|
+
// Remove trailing slashes.
|
|
246
|
+
if (endpoint.length === 0) {
|
|
247
|
+
return '/';
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
while (endpoint.length > 1 && endpoint.endsWith('/')) {
|
|
251
|
+
endpoint = endpoint.slice(0, -1);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
return endpoint;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
Utils.endpoint = endpoint;
|
|
258
|
+
;
|
|
259
|
+
/**
|
|
260
|
+
* Execute a function when the content is loaded, optionally handling a splash screen.
|
|
261
|
+
* @param func The function to execute when the content is loaded.
|
|
262
|
+
* @returns void
|
|
263
|
+
* @docs
|
|
264
|
+
*/
|
|
265
|
+
async function on_load(func) {
|
|
266
|
+
// document.addEventListener("DOMContentLoaded", async () => {
|
|
267
|
+
const splash = document.getElementById("__volt_splash_screen");
|
|
268
|
+
if (splash != null) {
|
|
269
|
+
splash.remove();
|
|
270
|
+
}
|
|
271
|
+
let e = func();
|
|
272
|
+
if (e instanceof Promise) {
|
|
273
|
+
try {
|
|
274
|
+
e = await e;
|
|
275
|
+
}
|
|
276
|
+
catch (err) {
|
|
277
|
+
console.error(err);
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
if (e != null && e instanceof HTMLElement) {
|
|
282
|
+
document.body.appendChild(e);
|
|
283
|
+
}
|
|
284
|
+
// });
|
|
285
|
+
}
|
|
286
|
+
Utils.on_load = on_load;
|
|
287
|
+
/**
|
|
288
|
+
* Redirect to a specified URL, optionally forcing the redirect even if the endpoint is the same.
|
|
289
|
+
* @param url The URL to redirect to.
|
|
290
|
+
* @param forced Whether to force the redirect even if the current endpoint is the same as the target URL.
|
|
291
|
+
* @docs
|
|
292
|
+
*/
|
|
293
|
+
function redirect(url, forced = false) {
|
|
294
|
+
if (forced || Utils.endpoint() !== url) {
|
|
295
|
+
window.location.href = url;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
Utils.redirect = redirect;
|
|
299
|
+
/**
|
|
300
|
+
* Get a URL parameter by name, with an optional default value.
|
|
301
|
+
* @param name The name of the URL parameter.
|
|
302
|
+
* @param def The default value to return if the parameter is not found.
|
|
303
|
+
* @returns The value of the URL parameter or the default value.
|
|
304
|
+
* @docs
|
|
305
|
+
*/
|
|
306
|
+
function url_param(name, def = null) {
|
|
307
|
+
const params = new URLSearchParams(window.location.search);
|
|
308
|
+
const param = params.get(name);
|
|
309
|
+
if (param == null || param === "") {
|
|
310
|
+
return def;
|
|
311
|
+
}
|
|
312
|
+
switch (param.toLowerCase()) {
|
|
313
|
+
case "true": return true;
|
|
314
|
+
case "false": return false;
|
|
315
|
+
case "null": return null;
|
|
316
|
+
default: return param;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
Utils.url_param = url_param;
|
|
320
|
+
/**
|
|
321
|
+
* Encode an object into a URL-encoded query string.
|
|
322
|
+
* @param params The parameters to encode.
|
|
323
|
+
* @returns The URL-encoded query string.
|
|
324
|
+
* @docs
|
|
325
|
+
*/
|
|
326
|
+
function url_encode(params) {
|
|
327
|
+
const encodedParams = [];
|
|
328
|
+
Object.keys(params).forEach((key) => {
|
|
329
|
+
const encodedKey = encodeURIComponent(key);
|
|
330
|
+
const encodedValue = encodeURIComponent(params[key]);
|
|
331
|
+
encodedParams.push(`${encodedKey}=${encodedValue}`);
|
|
332
|
+
});
|
|
333
|
+
return encodedParams.join('&');
|
|
334
|
+
}
|
|
335
|
+
Utils.url_encode = url_encode;
|
|
336
|
+
/**
|
|
337
|
+
* Copy text to the clipboard.
|
|
338
|
+
* @param text The text to copy.
|
|
339
|
+
* @returns A Promise that resolves when the text is copied.
|
|
340
|
+
* @docs
|
|
341
|
+
*/
|
|
342
|
+
async function copy_to_clipboard(text) {
|
|
343
|
+
return new Promise((resolve, reject) => {
|
|
344
|
+
navigator.clipboard.writeText(text)
|
|
345
|
+
.then(() => {
|
|
346
|
+
resolve();
|
|
347
|
+
})
|
|
348
|
+
.catch((err) => {
|
|
349
|
+
reject(err);
|
|
350
|
+
});
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
Utils.copy_to_clipboard = copy_to_clipboard;
|
|
354
|
+
// /**
|
|
355
|
+
// * Make a request with a specific generic typing, optionally passing
|
|
356
|
+
// * the request method, endpoint, request body and response body types.
|
|
357
|
+
// */
|
|
358
|
+
// export function request<Info extends RequestInfo>(
|
|
359
|
+
// options: Info extends RequestInfo<infer M, infer E, infer P>
|
|
360
|
+
// ? RequestOpts<M, E, P>
|
|
361
|
+
// : never
|
|
362
|
+
// ): Promise<Info extends RequestInfo<any, any, any, infer S, infer E> ? RequestResult<S, E> : never>;
|
|
363
|
+
// /** Request with success body. */
|
|
364
|
+
// export function request<
|
|
365
|
+
// SuccessBody extends ResponseBodyBase,
|
|
366
|
+
// >(
|
|
367
|
+
// options: RequestOpts<Utils.Method, string, unknown>
|
|
368
|
+
// ): Promise<RequestResult<SuccessBody, unknown>>;
|
|
369
|
+
// /** Request with success body & request body generics. */
|
|
370
|
+
// export function request<
|
|
371
|
+
// SuccessBody extends ResponseBodyBase,
|
|
372
|
+
// RequestBody extends RequestBodyBase
|
|
373
|
+
// >(
|
|
374
|
+
// options: RequestOpts<Utils.Method, string, RequestBody>
|
|
375
|
+
// ): Promise<RequestResult<SuccessBody, unknown>>;
|
|
376
|
+
// /** Request with success body & request info generics. */
|
|
377
|
+
// export function request<
|
|
378
|
+
// SuccessBody extends ResponseBodyBase,
|
|
379
|
+
// RequestInfo extends RegisteredEndpoint,
|
|
380
|
+
// >(
|
|
381
|
+
// options: RequestInfo extends RegisteredEndpoint<infer M, infer E, infer P>
|
|
382
|
+
// ? RequestOpts<M extends undefined ? "GET" : M, E, P>
|
|
383
|
+
// : RequestOpts<Utils.Method, string, unknown>
|
|
384
|
+
// ): Promise<RequestResult<SuccessBody, unknown>>;
|
|
385
|
+
// /** Request with success body, error body & request body generics. */
|
|
386
|
+
// export function request<
|
|
387
|
+
// SuccessBody extends ResponseBodyBase,
|
|
388
|
+
// ErrorBody extends ResponseBodyBase,
|
|
389
|
+
// RequestBody extends RequestBodyBase
|
|
390
|
+
// >(
|
|
391
|
+
// options: RequestOpts<Utils.Method, string, RequestBody>
|
|
392
|
+
// ): Promise<RequestResult<SuccessBody, ErrorBody>>;
|
|
393
|
+
// /** New request method. */
|
|
394
|
+
// export async function request(options: RequestOpts<Utils.Method, string, any>): Promise<RequestResult<any, any>> {
|
|
395
|
+
/**
|
|
396
|
+
* Create a debounced version of a function that delays invoking it until after a specified delay.
|
|
397
|
+
* @param delay The number of milliseconds to delay.
|
|
398
|
+
* @param func The function to debounce.
|
|
399
|
+
* @returns The debounced function.
|
|
400
|
+
* @docs
|
|
401
|
+
*/
|
|
402
|
+
function debounce(delay, func) {
|
|
403
|
+
let timeout;
|
|
404
|
+
return function (...args) {
|
|
405
|
+
if (timeout !== undefined) {
|
|
406
|
+
clearTimeout(timeout);
|
|
407
|
+
}
|
|
408
|
+
timeout = window.setTimeout(() => func.apply(this, args), delay);
|
|
409
|
+
};
|
|
410
|
+
}
|
|
411
|
+
Utils.debounce = debounce;
|
|
412
|
+
/**
|
|
413
|
+
* @deprecated Use vlib.VDate instead.
|
|
414
|
+
* Convert a Unix timestamp in seconds or milliseconds to the user's date format.
|
|
415
|
+
* @param unix The Unix timestamp.
|
|
416
|
+
* @param mseconds Optional. Whether the Unix timestamp is in milliseconds.
|
|
417
|
+
* @returns The formatted date string.
|
|
418
|
+
* @docs
|
|
419
|
+
*/
|
|
420
|
+
function unix_to_date(unix, mseconds = null) {
|
|
421
|
+
// Guess msec or sec.
|
|
422
|
+
if (mseconds == null) {
|
|
423
|
+
// As of now, Unix time in milliseconds is 13 digits and in seconds is 10 digits
|
|
424
|
+
const str = unix.toString();
|
|
425
|
+
if (str.length === 13) {
|
|
426
|
+
mseconds = true;
|
|
427
|
+
}
|
|
428
|
+
else if (str.length === 10) {
|
|
429
|
+
mseconds = false;
|
|
430
|
+
}
|
|
431
|
+
else {
|
|
432
|
+
// Future-proofing: When second-based timestamps eventually reach 11 digits
|
|
433
|
+
if (str.length > 10 && str.length < 13) {
|
|
434
|
+
// Check if adding three zeroes (to simulate milliseconds) results in a plausible future date
|
|
435
|
+
// This is a rough estimation and might not be accurate
|
|
436
|
+
const futureCheck = new Date(parseInt(str + "000", 10));
|
|
437
|
+
if (futureCheck.getFullYear() > new Date().getFullYear() && futureCheck.getFullYear() < 3000) {
|
|
438
|
+
mseconds = false;
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
// Format.
|
|
444
|
+
const date = new Date(mseconds ? unix : unix * 1000);
|
|
445
|
+
const lang = navigator.language || navigator.userLanguage;
|
|
446
|
+
const tz = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
447
|
+
let options = {
|
|
448
|
+
year: "numeric",
|
|
449
|
+
month: "2-digit",
|
|
450
|
+
day: "2-digit",
|
|
451
|
+
timeZone: tz,
|
|
452
|
+
};
|
|
453
|
+
const date_format = new Intl.DateTimeFormat(lang, options).format(date);
|
|
454
|
+
options = {
|
|
455
|
+
hour: "2-digit",
|
|
456
|
+
minute: "2-digit",
|
|
457
|
+
second: "2-digit",
|
|
458
|
+
hour12: lang.toLowerCase().includes("en"),
|
|
459
|
+
timeZone: tz,
|
|
460
|
+
};
|
|
461
|
+
const time_format = new Intl.DateTimeFormat(lang, options).format(date);
|
|
462
|
+
return `${date_format} ${time_format}`;
|
|
463
|
+
}
|
|
464
|
+
Utils.unix_to_date = unix_to_date;
|
|
465
|
+
// Get the brightness of a hex color (0.0 white 1.0 dark).
|
|
466
|
+
// @deprecated moved to `Colors`
|
|
467
|
+
// hex_brightness(color: string): number {
|
|
468
|
+
// // Remove the hash symbol if present
|
|
469
|
+
// color = color.replace(/^#/, '');
|
|
470
|
+
// // Convert hex to RGB
|
|
471
|
+
// const bigint = parseInt(color, 16);
|
|
472
|
+
// const r = (bigint >> 16) & 255;
|
|
473
|
+
// const g = (bigint >> 8) & 255;
|
|
474
|
+
// const b = bigint & 255;
|
|
475
|
+
// // Calculate perceived brightness using the relative luminance formula
|
|
476
|
+
// const brightness = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
|
|
477
|
+
// return brightness;
|
|
478
|
+
// },
|
|
479
|
+
// Hex to rgbA.
|
|
480
|
+
// @deprecated moved to `Colors`
|
|
481
|
+
// hex_to_rgb(hex: string): { r: number, g: number, b: number, a: number } {
|
|
482
|
+
// let index = hex.indexOf("#");
|
|
483
|
+
// if (index !== -1) {
|
|
484
|
+
// hex = hex.substr(index + 1);
|
|
485
|
+
// }
|
|
486
|
+
// let r = parseInt(hex.substring(0, 2), 16);
|
|
487
|
+
// let g = parseInt(hex.substring(2, 4), 16);
|
|
488
|
+
// let b = parseInt(hex.substring(4, 6), 16);
|
|
489
|
+
// let a = 1;
|
|
490
|
+
// if (hex.length > 6) {
|
|
491
|
+
// a = parseInt(hex.substring(6, 8)) / 100;
|
|
492
|
+
// }
|
|
493
|
+
// return { r, g, b, a };
|
|
494
|
+
// },
|
|
495
|
+
// Aggregate multiple classes into a single class, can be used to extend more than one class.
|
|
496
|
+
// aggregate(
|
|
497
|
+
// BaseClass: new (...args: any[]) => any,
|
|
498
|
+
// ...Mixins: Array<new (...args: any[]) => any>
|
|
499
|
+
// ) {
|
|
500
|
+
// class AggregatedClass extends BaseClass {
|
|
501
|
+
// constructor(...args: any[]) {
|
|
502
|
+
// super(...args);
|
|
503
|
+
// // Additional initialization if needed
|
|
504
|
+
// }
|
|
505
|
+
// }
|
|
506
|
+
// // Copy methods and properties from mixin classes to the AggregatedClass prototype
|
|
507
|
+
// Mixins.forEach(MixinClass => {
|
|
508
|
+
// // Copy instance methods and properties
|
|
509
|
+
// Object.getOwnPropertyNames(MixinClass.prototype).forEach(name => {
|
|
510
|
+
// if (name !== 'constructor') {
|
|
511
|
+
// Object.defineProperty(
|
|
512
|
+
// AggregatedClass.prototype,
|
|
513
|
+
// name,
|
|
514
|
+
// Object.getOwnPropertyDescriptor(MixinClass.prototype, name)!
|
|
515
|
+
// );
|
|
516
|
+
// }
|
|
517
|
+
// });
|
|
518
|
+
// // Copy static methods and properties if needed
|
|
519
|
+
// Object.getOwnPropertyNames(MixinClass).forEach(name => {
|
|
520
|
+
// if (name !== 'prototype' && name !== 'name' && name !== 'length') {
|
|
521
|
+
// Object.defineProperty(
|
|
522
|
+
// AggregatedClass,
|
|
523
|
+
// name,
|
|
524
|
+
// Object.getOwnPropertyDescriptor(MixinClass, name)!
|
|
525
|
+
// );
|
|
526
|
+
// }
|
|
527
|
+
// });
|
|
528
|
+
// });
|
|
529
|
+
// return AggregatedClass;
|
|
530
|
+
// },
|
|
531
|
+
})(Utils || (Utils = {}));
|
|
532
|
+
export { Utils as utils }; // also export as lowercase for compatibility.
|
|
533
|
+
// // ---------------------------------------
|
|
534
|
+
// // SMALL REQUESTS TESTS
|
|
535
|
+
// // 2 generics: <Success, Body> -> Error = unknown
|
|
536
|
+
// const res_1 = await Utils.request<
|
|
537
|
+
// { uid: string },
|
|
538
|
+
// { name: string }
|
|
539
|
+
// >({ method: 'POST', url: '/users', data: { name: 'Ada' } });
|
|
540
|
+
// if (res_1.error) {
|
|
541
|
+
// const e = res_1.error;
|
|
542
|
+
// } else {
|
|
543
|
+
// const d = res_1.data;
|
|
544
|
+
// }
|
|
545
|
+
// // 3 generics: <Success, Error, Body>
|
|
546
|
+
// const res_2 = await Utils.request<{ uid: string }, { unknown_uid: string }, { name: string }>({ method: 'POST', url: '/users', data: { name: 'Ada' } });
|
|
547
|
+
// if (res_2.error) {
|
|
548
|
+
// const e = res_2.error;
|
|
549
|
+
// const d = res_2.data;
|
|
550
|
+
// } else {
|
|
551
|
+
// const d = res_2.data;
|
|
552
|
+
// }
|
|
553
|
+
// // 1 generic: <Success> -> Body inferred from `data`, Error = unknown
|
|
554
|
+
// const res_3 = await Utils.request<{ uid: string }>({ method: 'POST', url: '/users', data: { name: 'Ada' } });
|
|
555
|
+
// if (res_3.error) {
|
|
556
|
+
// const e = res_3.error;
|
|
557
|
+
// } else {
|
|
558
|
+
// const d = res_3.data;
|
|
559
|
+
// }
|
|
560
|
+
// // missing data attr
|
|
561
|
+
// const res_4 = await Utils.request<
|
|
562
|
+
// { uid: string },
|
|
563
|
+
// { name: string, age: number }
|
|
564
|
+
// >({
|
|
565
|
+
// method: 'POST',
|
|
566
|
+
// url: '/users',
|
|
567
|
+
// // @ts-expect-error
|
|
568
|
+
// data: { name: 'Ada' }
|
|
569
|
+
// });
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author Daan van den Bergh
|
|
3
|
+
* @copyright © 2022 - 2025 Daan van den Bergh. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Create a gradient object.
|
|
7
|
+
*
|
|
8
|
+
* Can also be constructed with wrapper function `Gradient`.
|
|
9
|
+
* @nav Frontend/Styling
|
|
10
|
+
* @returns Returns the `GradientType` object.
|
|
11
|
+
* @param ...args The arguments can either be of length 1, containing the full gradient string `new GradientType("linear-gradient(...)")`. Or the arguments can be as `new GradientType("linear", "black", "0%", "white", "100%")`.
|
|
12
|
+
* @docs
|
|
13
|
+
*/
|
|
14
|
+
export declare class GradientType {
|
|
15
|
+
gradient?: string;
|
|
16
|
+
type?: string;
|
|
17
|
+
degree?: string;
|
|
18
|
+
colors?: {
|
|
19
|
+
color: string;
|
|
20
|
+
stop?: string;
|
|
21
|
+
}[];
|
|
22
|
+
constructor(gradient: string);
|
|
23
|
+
constructor(type: string, ...colors: string[]);
|
|
24
|
+
/**
|
|
25
|
+
* Cast to a CSS `*-gradient(...)` string. If `gradient` is unset but `colors` exist, it is built from `type`, `degree`, and `colors`, then cached.
|
|
26
|
+
* @returns The CSS gradient string, or an empty string when insufficient data is available.
|
|
27
|
+
*/
|
|
28
|
+
toString(): string;
|
|
29
|
+
}
|
|
@@ -1,23 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
*
|
|
3
|
-
*
|
|
1
|
+
/**
|
|
2
|
+
* @author Daan van den Bergh
|
|
3
|
+
* @copyright © 2022 - 2025 Daan van den Bergh. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
* @nav: Frontend
|
|
8
|
-
* @chapter: Styling
|
|
9
|
-
* @title: Gradient
|
|
10
|
-
* @description:
|
|
11
|
-
* Create a gradient object.
|
|
5
|
+
/**
|
|
6
|
+
* Create a gradient object.
|
|
12
7
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* @description:
|
|
19
|
-
* The arguments can either be of length 1, containing the full gradient string `new GradientType ("linear-gradient(...)")`.
|
|
20
|
-
* Or the arguments can be as `new GradientType("linear", "black", "0%", "white", "100%")`.
|
|
8
|
+
* Can also be constructed with wrapper function `Gradient`.
|
|
9
|
+
* @nav Frontend/Styling
|
|
10
|
+
* @returns Returns the `GradientType` object.
|
|
11
|
+
* @param ...args The arguments can either be of length 1, containing the full gradient string `new GradientType("linear-gradient(...)")`. Or the arguments can be as `new GradientType("linear", "black", "0%", "white", "100%")`.
|
|
12
|
+
* @docs
|
|
21
13
|
*/
|
|
22
14
|
export class GradientType {
|
|
23
15
|
gradient;
|
|
@@ -55,6 +47,10 @@ export class GradientType {
|
|
|
55
47
|
console.error("Invalid number of arguments for class \"Gradient()\".");
|
|
56
48
|
}
|
|
57
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Cast to a CSS `*-gradient(...)` string. If `gradient` is unset but `colors` exist, it is built from `type`, `degree`, and `colors`, then cached.
|
|
52
|
+
* @returns The CSS gradient string, or an empty string when insufficient data is available.
|
|
53
|
+
*/
|
|
58
54
|
// Cast to string.
|
|
59
55
|
toString() {
|
|
60
56
|
if (this.gradient == null && this.colors !== undefined) {
|