@vandenberghinc/volt 1.1.5 → 1.1.7
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/database.d.ts +41 -68
- package/backend/dist/cjs/database.js +127 -76
- package/backend/dist/cjs/endpoint.d.ts +23 -9
- package/backend/dist/cjs/endpoint.js +98 -21
- package/backend/dist/cjs/frontend.d.ts +0 -2
- package/backend/dist/cjs/frontend.js +9 -9
- package/backend/dist/cjs/image_endpoint.d.ts +3 -1
- package/backend/dist/cjs/image_endpoint.js +2 -1
- package/backend/dist/cjs/payments/paddle.js +10 -2
- package/backend/dist/cjs/plugins/css.d.ts +6 -5
- package/backend/dist/cjs/plugins/css.js +32 -7
- package/backend/dist/cjs/plugins/ts/compiler.d.ts +6 -1
- package/backend/dist/cjs/plugins/ts/compiler.js +26 -2
- package/backend/dist/cjs/plugins/ts/preprocessing.js +5 -3
- package/backend/dist/cjs/server.d.ts +7 -13
- package/backend/dist/cjs/server.js +184 -303
- package/backend/dist/cjs/status.d.ts +1 -0
- package/backend/dist/cjs/status.js +2 -1
- package/backend/dist/cjs/stream.d.ts +5 -3
- package/backend/dist/cjs/stream.js +13 -4
- package/backend/dist/cjs/users.d.ts +1 -1
- package/backend/dist/cjs/users.js +87 -72
- package/backend/dist/cjs/utils.d.ts +17 -9
- package/backend/dist/cjs/utils.js +22 -64
- package/backend/dist/cjs/view.d.ts +2 -2
- package/backend/dist/cjs/view.js +38 -40
- package/backend/dist/cjs/volt.d.ts +3 -2
- package/backend/dist/cjs/volt.js +2 -2
- package/backend/dist/css/volt.css +5 -0
- package/backend/dist/esm/database.d.ts +41 -68
- package/backend/dist/esm/database.js +127 -76
- package/backend/dist/esm/endpoint.d.ts +23 -9
- package/backend/dist/esm/endpoint.js +99 -22
- package/backend/dist/esm/frontend.d.ts +0 -2
- package/backend/dist/esm/frontend.js +9 -9
- package/backend/dist/esm/image_endpoint.d.ts +3 -1
- package/backend/dist/esm/image_endpoint.js +2 -1
- package/backend/dist/esm/payments/paddle.js +11 -3
- package/backend/dist/esm/plugins/css.d.ts +6 -5
- package/backend/dist/esm/plugins/css.js +32 -6
- package/backend/dist/esm/plugins/ts/compiler.d.ts +6 -1
- package/backend/dist/esm/plugins/ts/compiler.js +26 -2
- package/backend/dist/esm/plugins/ts/preprocessing.js +5 -3
- package/backend/dist/esm/server.d.ts +7 -13
- package/backend/dist/esm/server.js +182 -301
- package/backend/dist/esm/status.d.ts +1 -0
- package/backend/dist/esm/status.js +1 -0
- package/backend/dist/esm/stream.d.ts +5 -3
- package/backend/dist/esm/stream.js +13 -4
- package/backend/dist/esm/users.d.ts +1 -1
- package/backend/dist/esm/users.js +87 -72
- package/backend/dist/esm/utils.d.ts +17 -9
- package/backend/dist/esm/utils.js +21 -62
- package/backend/dist/esm/view.d.ts +2 -2
- package/backend/dist/esm/view.js +38 -40
- package/backend/dist/esm/volt.d.ts +3 -2
- package/backend/dist/esm/volt.js +2 -1
- package/backend/dist/esm-dev/blacklist.js +1 -1
- package/backend/dist/esm-dev/cli.js +2 -2
- package/backend/dist/esm-dev/database.d.ts +41 -68
- package/backend/dist/esm-dev/database.js +128 -77
- package/backend/dist/esm-dev/endpoint.d.ts +23 -9
- package/backend/dist/esm-dev/endpoint.js +100 -23
- package/backend/dist/esm-dev/file_watcher.js +1 -1
- package/backend/dist/esm-dev/frontend.d.ts +0 -2
- package/backend/dist/esm-dev/frontend.js +9 -9
- package/backend/dist/esm-dev/image_endpoint.d.ts +3 -1
- package/backend/dist/esm-dev/image_endpoint.js +2 -1
- package/backend/dist/esm-dev/logger.js +1 -1
- package/backend/dist/esm-dev/payments/paddle.js +12 -4
- package/backend/dist/esm-dev/plugins/css.d.ts +6 -5
- package/backend/dist/esm-dev/plugins/css.js +33 -7
- package/backend/dist/esm-dev/plugins/ts/compiler.d.ts +6 -1
- package/backend/dist/esm-dev/plugins/ts/compiler.js +27 -3
- package/backend/dist/esm-dev/plugins/ts/preprocessing.js +7 -5
- package/backend/dist/esm-dev/rate_limit.js +1 -1
- package/backend/dist/esm-dev/server.d.ts +7 -13
- package/backend/dist/esm-dev/server.js +184 -303
- package/backend/dist/esm-dev/status.d.ts +1 -0
- package/backend/dist/esm-dev/status.js +1 -0
- package/backend/dist/esm-dev/stream.d.ts +5 -3
- package/backend/dist/esm-dev/stream.js +13 -4
- package/backend/dist/esm-dev/users.d.ts +1 -1
- package/backend/dist/esm-dev/users.js +88 -73
- package/backend/dist/esm-dev/utils.d.ts +17 -9
- package/backend/dist/esm-dev/utils.js +22 -63
- package/backend/dist/esm-dev/view.d.ts +2 -2
- package/backend/dist/esm-dev/view.js +39 -41
- package/backend/dist/esm-dev/volt.d.ts +3 -2
- package/backend/dist/esm-dev/volt.js +2 -1
- package/backend/src/database.ts +163 -152
- package/backend/src/endpoint.ts +123 -31
- package/backend/src/frontend.ts +9 -8
- package/backend/src/image_endpoint.ts +4 -0
- package/backend/src/payments/paddle.ts +11 -3
- package/backend/src/plugins/css.ts +36 -8
- package/backend/src/plugins/ts/compiler.ts +37 -1
- package/backend/src/plugins/ts/preprocessing.ts +5 -3
- package/backend/src/server.ts +167 -306
- package/backend/src/status.ts +1 -0
- package/backend/src/stream.ts +28 -8
- package/backend/src/users.ts +87 -72
- package/backend/src/utils.ts +58 -25
- package/backend/src/view.ts +30 -28
- package/backend/src/{volt.js → volt.ts} +2 -1
- package/backend/tsconfig.cjs.json +3 -3
- package/backend/tsconfig.esm.json +3 -3
- package/frontend/dist/elements/base.d.ts +397 -415
- package/frontend/dist/elements/base.js +565 -328
- package/frontend/dist/elements/module.d.ts +26 -12
- package/frontend/dist/elements/module.js +69 -32
- package/frontend/dist/elements/register_element.d.ts +3 -0
- package/frontend/dist/elements/register_element.js +22 -0
- package/frontend/dist/modules/auth.d.ts +1 -0
- package/frontend/dist/modules/auth.js +6 -5
- package/frontend/dist/modules/color.d.ts +159 -0
- package/frontend/dist/modules/color.js +315 -0
- package/frontend/dist/modules/colors.d.ts +1 -26
- package/frontend/dist/modules/colors.js +417 -338
- package/frontend/dist/modules/cookies.d.ts +1 -0
- package/frontend/dist/modules/cookies.js +1 -0
- package/frontend/dist/modules/events.d.ts +1 -0
- package/frontend/dist/modules/events.js +1 -0
- package/frontend/dist/modules/google.d.ts +1 -0
- package/frontend/dist/modules/google.js +1 -0
- package/frontend/dist/modules/meta.d.ts +1 -0
- package/frontend/dist/modules/meta.js +1 -0
- package/frontend/dist/modules/mutex.d.ts +1 -2
- package/frontend/dist/modules/mutex.js +3 -4
- package/frontend/dist/modules/paddle.d.ts +1 -0
- package/frontend/dist/modules/paddle.js +14 -13
- package/frontend/dist/modules/scheme.d.ts +1 -0
- package/frontend/dist/modules/scheme.js +4 -2
- package/frontend/dist/modules/statics.d.ts +1 -0
- package/frontend/dist/modules/statics.js +1 -0
- package/frontend/dist/modules/support.d.ts +1 -0
- package/frontend/dist/modules/support.js +3 -2
- package/frontend/dist/modules/theme.d.ts +56 -0
- package/frontend/dist/{ui → modules}/theme.js +186 -75
- package/frontend/dist/modules/themes.d.ts +1 -1
- package/frontend/dist/modules/themes.js +1 -0
- package/frontend/dist/modules/user.d.ts +1 -0
- package/frontend/dist/modules/user.js +11 -10
- package/frontend/dist/modules/utils.d.ts +23 -2
- package/frontend/dist/modules/utils.js +93 -1
- package/frontend/dist/types/gradient.js +4 -0
- package/frontend/dist/ui/border_button.d.ts +0 -25
- package/frontend/dist/ui/border_button.js +50 -51
- package/frontend/dist/ui/button.d.ts +0 -21
- package/frontend/dist/ui/button.js +41 -46
- package/frontend/dist/ui/canvas.js +15 -15
- package/frontend/dist/ui/checkbox.d.ts +3 -17
- package/frontend/dist/ui/checkbox.js +36 -30
- package/frontend/dist/ui/code.d.ts +15 -82
- package/frontend/dist/ui/code.js +150 -125
- package/frontend/dist/ui/color.d.ts +0 -1
- package/frontend/dist/ui/color.js +1 -1
- package/frontend/dist/ui/context_menu.d.ts +4 -2
- package/frontend/dist/ui/context_menu.js +16 -17
- package/frontend/dist/ui/css.js +2 -0
- package/frontend/dist/ui/divider.d.ts +0 -7
- package/frontend/dist/ui/divider.js +21 -25
- package/frontend/dist/ui/dropdown.d.ts +13 -7
- package/frontend/dist/ui/dropdown.js +65 -30
- package/frontend/dist/ui/for_each.d.ts +0 -5
- package/frontend/dist/ui/for_each.js +17 -22
- package/frontend/dist/ui/form.d.ts +17 -12
- package/frontend/dist/ui/form.js +21 -18
- package/frontend/dist/ui/frame_modes.d.ts +9 -12
- package/frontend/dist/ui/frame_modes.js +8 -10
- package/frontend/dist/ui/google_map.d.ts +0 -11
- package/frontend/dist/ui/google_map.js +23 -28
- package/frontend/dist/ui/gradient.d.ts +0 -5
- package/frontend/dist/ui/gradient.js +17 -22
- package/frontend/dist/ui/image.d.ts +27 -58
- package/frontend/dist/ui/image.js +99 -93
- package/frontend/dist/ui/input.d.ts +20 -97
- package/frontend/dist/ui/input.js +192 -170
- package/frontend/dist/ui/link.d.ts +0 -18
- package/frontend/dist/ui/link.js +42 -48
- package/frontend/dist/ui/list.js +36 -37
- package/frontend/dist/ui/loader_button.d.ts +4 -19
- package/frontend/dist/ui/loader_button.js +35 -37
- package/frontend/dist/ui/loaders.d.ts +0 -8
- package/frontend/dist/ui/loaders.js +20 -25
- package/frontend/dist/ui/popup.d.ts +11 -8
- package/frontend/dist/ui/popup.js +183 -24
- package/frontend/dist/ui/pseudo.d.ts +3 -3
- package/frontend/dist/ui/pseudo.js +14 -17
- package/frontend/dist/ui/scroller.d.ts +10 -48
- package/frontend/dist/ui/scroller.js +306 -300
- package/frontend/dist/ui/slider.d.ts +9 -3
- package/frontend/dist/ui/slider.js +31 -17
- package/frontend/dist/ui/spacer.d.ts +0 -9
- package/frontend/dist/ui/spacer.js +21 -26
- package/frontend/dist/ui/span.js +13 -15
- package/frontend/dist/ui/stack.d.ts +14 -75
- package/frontend/dist/ui/stack.js +166 -169
- package/frontend/dist/ui/steps.d.ts +10 -23
- package/frontend/dist/ui/steps.js +47 -34
- package/frontend/dist/ui/style.d.ts +4 -3
- package/frontend/dist/ui/style.js +13 -18
- package/frontend/dist/ui/switch.d.ts +10 -4
- package/frontend/dist/ui/switch.js +24 -16
- package/frontend/dist/ui/table.d.ts +0 -23
- package/frontend/dist/ui/table.js +113 -119
- package/frontend/dist/ui/tabs.d.ts +3 -19
- package/frontend/dist/ui/tabs.js +35 -29
- package/frontend/dist/ui/text.d.ts +0 -8
- package/frontend/dist/ui/text.js +20 -25
- package/frontend/dist/ui/title.d.ts +0 -15
- package/frontend/dist/ui/title.js +39 -45
- package/frontend/dist/ui/ui.d.ts +0 -2
- package/frontend/dist/ui/ui.js +0 -2
- package/frontend/dist/ui/view.d.ts +3 -17
- package/frontend/dist/ui/view.js +27 -32
- package/frontend/dist/volt.d.ts +2 -1
- package/frontend/dist/volt.js +3 -1
- package/frontend/examples/dashboard/dashboard.ts +774 -0
- package/frontend/examples/theme/theme.ts +58 -0
- package/frontend/src/css/volt.css +5 -0
- package/frontend/src/elements/base.ts +767 -545
- package/frontend/src/elements/module.ts +90 -29
- package/frontend/src/elements/register_element.ts +24 -0
- package/frontend/src/modules/auth.ts +7 -6
- package/frontend/src/modules/color.ts +348 -0
- package/frontend/src/modules/colors.ts +468 -449
- package/frontend/src/modules/cookies.ts +1 -0
- package/frontend/src/modules/events.ts +1 -0
- package/frontend/src/modules/google.ts +1 -0
- package/frontend/src/modules/meta.ts +2 -1
- package/frontend/src/modules/mutex.ts +2 -4
- package/frontend/src/modules/paddle.ts +21 -20
- package/frontend/src/modules/scheme.ts +4 -3
- package/frontend/src/modules/statics.ts +2 -1
- package/frontend/src/modules/support.ts +3 -2
- package/frontend/src/modules/theme.ts +413 -0
- package/frontend/src/modules/themes.ts +2 -1
- package/frontend/src/modules/user.ts +12 -11
- package/frontend/src/modules/utils.ts +125 -2
- package/frontend/src/ui/border_button.ts +41 -37
- package/frontend/src/ui/button.ts +33 -32
- package/frontend/src/ui/canvas.ts +5 -2
- package/frontend/src/ui/checkbox.ts +21 -22
- package/frontend/src/ui/code.ts +92 -86
- package/frontend/src/ui/context_menu.ts +7 -5
- package/frontend/src/ui/css.ts +1 -1
- package/frontend/src/ui/divider.ts +15 -10
- package/frontend/src/ui/dropdown.ts +38 -21
- package/frontend/src/ui/for_each.ts +9 -8
- package/frontend/src/ui/form.ts +26 -21
- package/frontend/src/ui/frame_modes.ts +13 -17
- package/frontend/src/ui/google_map.ts +15 -13
- package/frontend/src/ui/gradient.ts +9 -8
- package/frontend/src/ui/image.ts +108 -86
- package/frontend/src/ui/input.ts +145 -144
- package/frontend/src/ui/link.ts +25 -23
- package/frontend/src/ui/list.ts +12 -6
- package/frontend/src/ui/loader_button.ts +26 -25
- package/frontend/src/ui/loaders.ts +12 -11
- package/frontend/src/ui/popup.ts +168 -14
- package/frontend/src/ui/pseudo.ts +5 -3
- package/frontend/src/ui/scroller.ts +303 -294
- package/frontend/src/ui/slider.ts +15 -10
- package/frontend/src/ui/spacer.ts +14 -11
- package/frontend/src/ui/span.ts +6 -2
- package/frontend/src/ui/stack.ts +196 -183
- package/frontend/src/ui/steps.ts +38 -22
- package/frontend/src/ui/style.ts +7 -4
- package/frontend/src/ui/switch.ts +16 -11
- package/frontend/src/ui/table.ts +42 -34
- package/frontend/src/ui/tabs.ts +20 -19
- package/frontend/src/ui/text.ts +12 -11
- package/frontend/src/ui/title.ts +22 -20
- package/frontend/src/ui/ui.ts +0 -2
- package/frontend/src/ui/view.ts +20 -19
- package/frontend/src/volt.ts +3 -1
- package/frontend/{compile.js → tools/compile.old.js} +2 -2
- package/frontend/tools/embed_scripts.js +69 -0
- package/frontend/tsconfig.json +26 -0
- package/package.json +8 -8
- package/frontend/dist/ui/theme.d.ts +0 -25
- package/frontend/exports.json +0 -1340
- package/frontend/src/modules/date.js +0 -535
- package/frontend/src/ui/color.ts +0 -117
- package/frontend/src/ui/theme.ts +0 -279
- /package/backend/src/{vinc.dev.js → vinc.dev.ts} +0 -0
package/frontend/src/ui/code.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
// Imports.
|
|
9
9
|
import { Utils } from "../modules/utils.js"
|
|
10
|
-
import { Elements, VElementTagMap, VHTMLElement, VPreElement, VSpanElement, VDiv, VDivElement } from "../elements/module.js"
|
|
10
|
+
import { Elements, VElementBaseSignature, VElement, VElementTagMap, VHTMLElement, VPreElement, VSpanElement, VDiv, VDivElement } from "../elements/module.js"
|
|
11
11
|
import { Span } from "./span"
|
|
12
12
|
import { VStack, VStackElement, HStack, HStackElement } from "./stack"
|
|
13
13
|
import { ImageMaskElement, ImageMask } from "./image"
|
|
@@ -22,31 +22,33 @@ import * as vhighlight from "vhighlight"
|
|
|
22
22
|
const language_codeblocks = [];
|
|
23
23
|
|
|
24
24
|
// CodeBlock.
|
|
25
|
-
@Elements.
|
|
25
|
+
@Elements.create({
|
|
26
|
+
name: "CodeBlockElement",
|
|
27
|
+
default_style: {
|
|
28
|
+
"display": "flex",
|
|
29
|
+
"flex-direction": "column",
|
|
30
|
+
"margin": "0px 0px 0px 0px",
|
|
31
|
+
"padding": "15px 20px 15px 20px",
|
|
32
|
+
"text-align": "start",
|
|
33
|
+
"white-space": "pre",
|
|
34
|
+
"font-family": "'Menlo', 'Consolas', monospace",
|
|
35
|
+
"font-size": "13px",
|
|
36
|
+
"font-weight": "500",
|
|
37
|
+
"line-height": "18px",
|
|
38
|
+
"border-radius": "15px",
|
|
39
|
+
"color": "#FFFFFF",
|
|
40
|
+
"background": "#262F3D",
|
|
41
|
+
"overflow": "hidden", // only the content should scroll so the header remains fixed.
|
|
42
|
+
"width": "100%",
|
|
43
|
+
"min-width": "100%",
|
|
44
|
+
"--header-color": "inherit",
|
|
45
|
+
"--header-border": "#00000010",
|
|
46
|
+
"--header-background": "inherit",
|
|
47
|
+
"--selected-language-color": "inherit",
|
|
48
|
+
},
|
|
49
|
+
})
|
|
26
50
|
export class CodeBlockElement extends VElementTagMap.code {
|
|
27
51
|
|
|
28
|
-
static default_style = {
|
|
29
|
-
"display": "flex",
|
|
30
|
-
"flex-direction": "column",
|
|
31
|
-
"margin": "0px 0px 0px 0px",
|
|
32
|
-
"padding": "15px 20px 15px 20px",
|
|
33
|
-
"text-align": "start",
|
|
34
|
-
"white-space": "pre",
|
|
35
|
-
"font-family": "'Menlo', 'Consolas', monospace",
|
|
36
|
-
"font-size": "13px",
|
|
37
|
-
"font-weight": "500",
|
|
38
|
-
"line-height": "18px",
|
|
39
|
-
"border-radius": "15px",
|
|
40
|
-
"color": "#FFFFFF",
|
|
41
|
-
"background": "#262F3D",
|
|
42
|
-
"overflow": "hidden", // only the content should scroll so the header remains fixed.
|
|
43
|
-
"width": "100%",
|
|
44
|
-
"min-width": "100%",
|
|
45
|
-
"--header-color": "inherit",
|
|
46
|
-
"--header-border": "#00000010",
|
|
47
|
-
"--header-background": "inherit",
|
|
48
|
-
"--selected-language-color": "inherit",
|
|
49
|
-
};
|
|
50
52
|
|
|
51
53
|
// Attributes.
|
|
52
54
|
public language?: string;
|
|
@@ -71,13 +73,13 @@ export class CodeBlockElement extends VElementTagMap.code {
|
|
|
71
73
|
constructor(code_or_opts: string | {
|
|
72
74
|
code: string,
|
|
73
75
|
language?: string,
|
|
74
|
-
line_numbers
|
|
75
|
-
line_divider
|
|
76
|
-
animate
|
|
77
|
-
delay
|
|
76
|
+
line_numbers?: boolean,
|
|
77
|
+
line_divider?: boolean,
|
|
78
|
+
animate?: boolean,
|
|
79
|
+
delay?: number,
|
|
78
80
|
duration?: number,
|
|
79
|
-
already_highlighted
|
|
80
|
-
opts
|
|
81
|
+
already_highlighted?: boolean,
|
|
82
|
+
opts?: Record<string, any>,
|
|
81
83
|
} = {
|
|
82
84
|
code: "", // the code data.
|
|
83
85
|
language: undefined, // the language.
|
|
@@ -161,7 +163,7 @@ export class CodeBlockElement extends VElementTagMap.code {
|
|
|
161
163
|
// The content.
|
|
162
164
|
this.content = HStack(this.lines, this.lines_divider, this.pre)
|
|
163
165
|
.parent(this)
|
|
164
|
-
.padding(CodeBlockElement.default_style.padding)
|
|
166
|
+
// .padding(CodeBlockElement.default_style.padding)
|
|
165
167
|
.flex_wrap("nowrap")
|
|
166
168
|
.overflow("auto visible")
|
|
167
169
|
|
|
@@ -171,7 +173,8 @@ export class CodeBlockElement extends VElementTagMap.code {
|
|
|
171
173
|
);
|
|
172
174
|
|
|
173
175
|
// Set padding.
|
|
174
|
-
this.padding(0)
|
|
176
|
+
// this.padding(0)
|
|
177
|
+
this.padding(CodeBlockElement.default_style.padding)
|
|
175
178
|
|
|
176
179
|
|
|
177
180
|
}
|
|
@@ -261,25 +264,26 @@ export const NullCodeBlock = Elements.create_null(CodeBlockElement);
|
|
|
261
264
|
declare module './any_element.d.ts' { interface AnyElementMap { CodeBlockElement: CodeBlockElement }}
|
|
262
265
|
|
|
263
266
|
// CodePre.
|
|
264
|
-
@Elements.
|
|
267
|
+
@Elements.create({
|
|
268
|
+
name: "CodePreElement",
|
|
269
|
+
default_style: {
|
|
270
|
+
"margin": "0px 0px 0px 0px",
|
|
271
|
+
"padding": "15px 20px 15px 20px",
|
|
272
|
+
"text-align": "start",
|
|
273
|
+
"white-space": "pre",
|
|
274
|
+
"font-family": "'Menlo', 'Consolas', monospace",
|
|
275
|
+
"font-size": "13px",
|
|
276
|
+
"font-weight": "500",
|
|
277
|
+
"line-height": "16px",
|
|
278
|
+
"border-radius": "15px",
|
|
279
|
+
"color": "#FFFFFF",
|
|
280
|
+
"background": "#262F3D",
|
|
281
|
+
"tab-size": 4,
|
|
282
|
+
"overflow": "scroll visible",
|
|
283
|
+
},
|
|
284
|
+
})
|
|
265
285
|
export class CodePreElement extends VElementTagMap.pre {
|
|
266
286
|
|
|
267
|
-
static default_style = {
|
|
268
|
-
"margin": "0px 0px 0px 0px",
|
|
269
|
-
"padding": "15px 20px 15px 20px",
|
|
270
|
-
"text-align": "start",
|
|
271
|
-
"white-space": "pre",
|
|
272
|
-
"font-family": "'Menlo', 'Consolas', monospace",
|
|
273
|
-
"font-size": "13px",
|
|
274
|
-
"font-weight": "500",
|
|
275
|
-
"line-height": "16px",
|
|
276
|
-
"border-radius": "15px",
|
|
277
|
-
"color": "#FFFFFF",
|
|
278
|
-
"background": "#262F3D",
|
|
279
|
-
"tab-size": 4,
|
|
280
|
-
"overflow": "scroll visible",
|
|
281
|
-
}
|
|
282
|
-
|
|
283
287
|
// Attributes.
|
|
284
288
|
public code: string;
|
|
285
289
|
public tokens: any = null;
|
|
@@ -587,19 +591,20 @@ declare module './any_element.d.ts' { interface AnyElementMap { CodePreElement:
|
|
|
587
591
|
@type: string
|
|
588
592
|
@descr: The code line content.
|
|
589
593
|
*/
|
|
590
|
-
@Elements.
|
|
594
|
+
@Elements.create({
|
|
595
|
+
name: "CodeLineElement",
|
|
596
|
+
default_style: {
|
|
597
|
+
"font-family": "\"Menlo\", \"Consolas\", monospace",
|
|
598
|
+
"font-size": "0.90em",
|
|
599
|
+
"font-style": "italic",
|
|
600
|
+
"background": "#000000",
|
|
601
|
+
"color": "#FFFFFF",
|
|
602
|
+
"border-radius": "10px",
|
|
603
|
+
"white-space": "pre",
|
|
604
|
+
"padding": "2.5px 7.5px 2.5px 7.5px",
|
|
605
|
+
}
|
|
606
|
+
})
|
|
591
607
|
export class CodeLineElement extends VElementTagMap.span {
|
|
592
|
-
|
|
593
|
-
static default_style = {
|
|
594
|
-
"font-family": "\"Menlo\", \"Consolas\", monospace",
|
|
595
|
-
"font-size": "0.90em",
|
|
596
|
-
"font-style": "italic",
|
|
597
|
-
"background": "#000000",
|
|
598
|
-
"color": "#FFFFFF",
|
|
599
|
-
"border-radius": "10px",
|
|
600
|
-
"white-space": "pre",
|
|
601
|
-
"padding": "2.5px 7.5px 2.5px 7.5px",
|
|
602
|
-
};
|
|
603
608
|
|
|
604
609
|
// Constructor.
|
|
605
610
|
constructor(text?: string) {
|
|
@@ -680,23 +685,24 @@ interface HeaderExtension {
|
|
|
680
685
|
@type: boolean
|
|
681
686
|
@descr: Highlight the code content.
|
|
682
687
|
*/
|
|
683
|
-
@Elements.
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
688
|
+
@Elements.create({
|
|
689
|
+
name: "MultiLanguageCodeBlockElement",
|
|
690
|
+
default_style: {
|
|
691
|
+
...VStackElement.default_style,
|
|
692
|
+
"font-family": "'Menlo', 'Consolas', monospace",
|
|
693
|
+
"background": "black",
|
|
694
|
+
"color": "white",
|
|
695
|
+
"box-shadow": "0px 0px 5px #00000005",
|
|
696
|
+
"font-size": "13px",
|
|
697
|
+
"line-height": "18px",
|
|
698
|
+
"border-radius": "10px",
|
|
699
|
+
"tab-size": 4,
|
|
700
|
+
"--mlcb-tint": "white",
|
|
701
|
+
"--mlcb-div-bg": "grey",
|
|
702
|
+
"--mlcb-title-opac": 0.7,
|
|
703
|
+
},
|
|
704
|
+
})
|
|
705
|
+
export class MultiLanguageCodeBlockElement extends (VStackElement as any as VElementBaseSignature) {
|
|
700
706
|
|
|
701
707
|
// Attributes.
|
|
702
708
|
public _fg: string;
|
|
@@ -722,7 +728,7 @@ export class MultiLanguageCodeBlockElement extends VStackElement {
|
|
|
722
728
|
|
|
723
729
|
// Inherit.
|
|
724
730
|
super();
|
|
725
|
-
this.
|
|
731
|
+
this._init({
|
|
726
732
|
derived: MultiLanguageCodeBlockElement,
|
|
727
733
|
})
|
|
728
734
|
|
|
@@ -769,7 +775,7 @@ export class MultiLanguageCodeBlockElement extends VStackElement {
|
|
|
769
775
|
.font_weight(500)
|
|
770
776
|
.ellipsis_overflow(true),
|
|
771
777
|
VStack()
|
|
772
|
-
.width(100%)
|
|
778
|
+
.width("100%")
|
|
773
779
|
.height(2)
|
|
774
780
|
.border_radius(2)
|
|
775
781
|
.transition("background 300ms ease-in-out")
|
|
@@ -782,7 +788,7 @@ export class MultiLanguageCodeBlockElement extends VStackElement {
|
|
|
782
788
|
.padding(0, 2)
|
|
783
789
|
.flex_shrink(0)
|
|
784
790
|
.center_vertical()
|
|
785
|
-
.height(100%)
|
|
791
|
+
.height("100%")
|
|
786
792
|
.position("relative")
|
|
787
793
|
.margin_right(20)
|
|
788
794
|
.on_mouse_over(() => {
|
|
@@ -805,12 +811,12 @@ export class MultiLanguageCodeBlockElement extends VStackElement {
|
|
|
805
811
|
}),
|
|
806
812
|
)
|
|
807
813
|
.parent(this)
|
|
808
|
-
.height(100%)
|
|
814
|
+
.height("100%")
|
|
809
815
|
.class("hide_scrollbar")
|
|
810
816
|
.wrap(false)
|
|
811
817
|
.overflow("visible")
|
|
812
818
|
// .flex("1 1 0"),
|
|
813
|
-
.width(100%),
|
|
819
|
+
.width("100%"),
|
|
814
820
|
|
|
815
821
|
// Spacer.
|
|
816
822
|
code.length > 1 ? null : Spacer(),
|
|
@@ -847,7 +853,7 @@ export class MultiLanguageCodeBlockElement extends VStackElement {
|
|
|
847
853
|
}
|
|
848
854
|
}),
|
|
849
855
|
)
|
|
850
|
-
.width(100%)
|
|
856
|
+
.width("100%")
|
|
851
857
|
.overflow("hidden")
|
|
852
858
|
.height(42.5)
|
|
853
859
|
.padding(0, 15, 0, 15)
|
|
@@ -932,7 +938,7 @@ export class MultiLanguageCodeBlockElement extends VStackElement {
|
|
|
932
938
|
|
|
933
939
|
// Add the code items.
|
|
934
940
|
this.content = HStack() // keep as hstack, for some reason the right side of the pre's will have padding as well then.
|
|
935
|
-
.width(100%)
|
|
941
|
+
.width("100%")
|
|
936
942
|
.overflow("scroll")
|
|
937
943
|
let index = 0;
|
|
938
944
|
code.iterate((item) => {
|
|
@@ -965,7 +971,7 @@ export class MultiLanguageCodeBlockElement extends VStackElement {
|
|
|
965
971
|
.display("block")
|
|
966
972
|
.white_space("pre")
|
|
967
973
|
.class("hide_scrollbar")
|
|
968
|
-
.max_width(100%)
|
|
974
|
+
.max_width("100%")
|
|
969
975
|
.border(1, this._div_bg)
|
|
970
976
|
.position("relative")
|
|
971
977
|
.append(
|
|
@@ -4,13 +4,15 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
// Imports.
|
|
7
|
-
import { Elements } from "../elements/module.js"
|
|
7
|
+
import { Elements, VElementBaseSignature, VElement } from "../elements/module.js"
|
|
8
8
|
import { Button } from "./button"
|
|
9
9
|
import { VStackElement, VStack } from "./stack"
|
|
10
10
|
|
|
11
11
|
// Context Menu.
|
|
12
|
-
@Elements.
|
|
13
|
-
|
|
12
|
+
@Elements.create({
|
|
13
|
+
name: "ContextMenuElement",
|
|
14
|
+
})
|
|
15
|
+
export class ContextMenuElement extends (VStackElement as any as VElementBaseSignature) {
|
|
14
16
|
|
|
15
17
|
// Attributes.
|
|
16
18
|
public remove_child_callback: any;
|
|
@@ -26,7 +28,7 @@ export class ContextMenuElement extends VStackElement {
|
|
|
26
28
|
|
|
27
29
|
// Initialize base classes.
|
|
28
30
|
super();
|
|
29
|
-
|
|
31
|
+
this._init({
|
|
30
32
|
derived: ContextMenuElement,
|
|
31
33
|
})
|
|
32
34
|
|
|
@@ -163,7 +165,7 @@ Elements.extend({
|
|
|
163
165
|
return this.oncontextmenu ?? undefined;
|
|
164
166
|
}
|
|
165
167
|
}
|
|
166
|
-
|
|
168
|
+
if (callback instanceof ContextMenuElement || (callback as any).element_name === "ContextMenuElement") {
|
|
167
169
|
this._context_menu = callback as ContextMenuElement;
|
|
168
170
|
const _this_ = this;
|
|
169
171
|
this.oncontextmenu = (event) => {
|
package/frontend/src/ui/css.ts
CHANGED
|
@@ -4,19 +4,24 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
// Imports.
|
|
7
|
-
import { Elements, VElementTagMap } from "../elements/module.js"
|
|
7
|
+
import { Elements, VElementBaseSignature, VElement, VHTMLElement, VElementTagMap } from "../elements/module.js"
|
|
8
8
|
|
|
9
9
|
// Divider.
|
|
10
|
-
@Elements.
|
|
10
|
+
@Elements.create({
|
|
11
|
+
name: "DividerElement",
|
|
12
|
+
default_style: {
|
|
13
|
+
"margin": "0px",
|
|
14
|
+
"padding": "0px",
|
|
15
|
+
"width": "100%",
|
|
16
|
+
"height": "1px",
|
|
17
|
+
"min-height": "1px",
|
|
18
|
+
// "background": "black",
|
|
19
|
+
},
|
|
20
|
+
})
|
|
11
21
|
export class DividerElement extends VElementTagMap.div {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
"width": "100%",
|
|
16
|
-
"height": "1px",
|
|
17
|
-
"min-height": "1px",
|
|
18
|
-
// "background": "black",
|
|
19
|
-
}
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
// Constructor.
|
|
20
25
|
constructor() {
|
|
21
26
|
super({
|
|
22
27
|
derived: DividerElement,
|
|
@@ -4,12 +4,13 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
// Imports.
|
|
7
|
-
import { Elements } from "../elements/module.js"
|
|
7
|
+
import { Elements, VElementBaseSignature, VElement } from "../elements/module.js"
|
|
8
8
|
import { Utils } from "../modules/utils.js"
|
|
9
9
|
import { VStack, VStackElement, AnchorVStack, AnchorVStackElement, HStack, HStackElement, AnchorHStack, AnchorHStackElement } from "./stack"
|
|
10
10
|
import { ForEach } from "./for_each"
|
|
11
11
|
import { ImageMask, ImageMaskElement } from "./image"
|
|
12
12
|
import { Text } from "./text"
|
|
13
|
+
import { AnyElement } from "./any_element.js"
|
|
13
14
|
|
|
14
15
|
type DropdownCallback = (element: DropdownElement) => void;
|
|
15
16
|
|
|
@@ -95,11 +96,16 @@ type DropdownCallback = (element: DropdownElement) => void;
|
|
|
95
96
|
@type: boolean
|
|
96
97
|
@default: false
|
|
97
98
|
*/
|
|
98
|
-
@Elements.
|
|
99
|
-
|
|
99
|
+
@Elements.create({
|
|
100
|
+
name: "DropdownElement",
|
|
101
|
+
})
|
|
102
|
+
export class DropdownElement extends (VStackElement as any as VElementBaseSignature) {
|
|
103
|
+
|
|
104
|
+
// Static attributes.
|
|
105
|
+
static element_name = "DropdownElement";
|
|
100
106
|
|
|
101
107
|
// @ts-expect-error
|
|
102
|
-
|
|
108
|
+
public target: AnyElement | HTMLElement;
|
|
103
109
|
// @ts-expect-error
|
|
104
110
|
public animate: boolean;
|
|
105
111
|
// @ts-expect-error
|
|
@@ -151,7 +157,7 @@ export class DropdownElement extends VStackElement {
|
|
|
151
157
|
y_offset = undefined,
|
|
152
158
|
content = undefined,
|
|
153
159
|
}: {
|
|
154
|
-
target: HTMLElement,
|
|
160
|
+
target: AnyElement | HTMLElement,
|
|
155
161
|
animate?: boolean,
|
|
156
162
|
duration?: number,
|
|
157
163
|
side?: string,
|
|
@@ -174,12 +180,13 @@ export class DropdownElement extends VStackElement {
|
|
|
174
180
|
on_click?: Function,
|
|
175
181
|
on_click_redirect?: string,
|
|
176
182
|
anchor?: boolean,
|
|
177
|
-
|
|
183
|
+
ellipsis_overflow?: boolean;
|
|
184
|
+
}[],
|
|
178
185
|
}) {
|
|
179
186
|
|
|
180
187
|
// Base.
|
|
181
188
|
super();
|
|
182
|
-
this.
|
|
189
|
+
this._init({
|
|
183
190
|
derived: DropdownElement,
|
|
184
191
|
})
|
|
185
192
|
|
|
@@ -243,7 +250,12 @@ export class DropdownElement extends VStackElement {
|
|
|
243
250
|
.color("white")
|
|
244
251
|
.font_size("inherit")
|
|
245
252
|
.wrap(false)
|
|
246
|
-
|
|
253
|
+
.margin(0)
|
|
254
|
+
.exec(e => {
|
|
255
|
+
if (item.ellipsis_overflow) {
|
|
256
|
+
e.ellipsis_overflow(item.ellipsis_overflow);
|
|
257
|
+
}
|
|
258
|
+
})
|
|
247
259
|
)
|
|
248
260
|
.text_decoration("none")
|
|
249
261
|
.border("none")
|
|
@@ -320,24 +332,29 @@ export class DropdownElement extends VStackElement {
|
|
|
320
332
|
|
|
321
333
|
// Show.
|
|
322
334
|
clearTimeout(this.animation_timeout);
|
|
335
|
+
|
|
323
336
|
this.transition("");
|
|
324
337
|
this._get_frame();
|
|
338
|
+
this.hide();
|
|
325
339
|
this.max_width(this._frame_min_width)
|
|
326
340
|
this.max_height(this._frame_min_height)
|
|
327
341
|
this.opacity(0)
|
|
328
|
-
|
|
329
|
-
this.show()
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
342
|
+
this.transition(this.animate ? `opacity ${this.duration * 0.8}ms ease-in, max-height ${this.duration}ms ease-in-out, max-width ${this.duration}ms ease-in-out` : "").getBoundingClientRect()
|
|
343
|
+
this.show()
|
|
344
|
+
const rect = this.target.getBoundingClientRect();
|
|
345
|
+
this.position(
|
|
346
|
+
rect.top + this.y_offset + (this.below_target ? rect.height : 0),
|
|
347
|
+
this.side !== "left" ? (window.innerWidth - rect.right - this.x_offset) : undefined,
|
|
348
|
+
undefined,
|
|
349
|
+
this.side === "left" ? (rect.left + this.x_offset) : undefined
|
|
350
|
+
)
|
|
351
|
+
this.getBoundingClientRect();
|
|
352
|
+
setTimeout(() => {
|
|
353
|
+
this
|
|
354
|
+
.opacity(1)
|
|
355
|
+
.max_width(this._frame_max_width)
|
|
356
|
+
.max_height(this._frame_max_height)
|
|
357
|
+
}, 25)
|
|
341
358
|
|
|
342
359
|
// Close handler.
|
|
343
360
|
if (this.close_handler == null) {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
// Imports.
|
|
7
|
-
import { Elements, VElementTagMap } from "../elements/module.js"
|
|
7
|
+
import { Elements, VElementBaseSignature, VElement, VElementTagMap } from "../elements/module.js"
|
|
8
8
|
|
|
9
9
|
// Marcros.
|
|
10
10
|
type ArrayCallback = ((item: any, index: number, is_last: boolean) => any);
|
|
@@ -16,15 +16,16 @@ type ObjectCallback2 = ((value: any, key: string) => any);
|
|
|
16
16
|
type ObjectCallback3 = ((value: any) => any);
|
|
17
17
|
|
|
18
18
|
// ForEach.
|
|
19
|
-
@Elements.
|
|
19
|
+
@Elements.create({
|
|
20
|
+
name: "ForEachElement",
|
|
21
|
+
default_style: {
|
|
22
|
+
"border": "none",
|
|
23
|
+
"outline": "none",
|
|
24
|
+
"background": "transparent",
|
|
25
|
+
},
|
|
26
|
+
})
|
|
20
27
|
export class ForEachElement extends VElementTagMap.section {
|
|
21
28
|
|
|
22
|
-
static default_style = {
|
|
23
|
-
"border": "none",
|
|
24
|
-
"outline": "none",
|
|
25
|
-
"background": "transparent",
|
|
26
|
-
};
|
|
27
|
-
|
|
28
29
|
// Constructor.
|
|
29
30
|
constructor(items: Array<any>, func: ArrayCallback);
|
|
30
31
|
constructor(items: Array<any>, func: ArrayCallback1);
|
package/frontend/src/ui/form.ts
CHANGED
|
@@ -4,30 +4,35 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
// Imports.
|
|
7
|
-
import { Elements, VElement, isVElement } from "../elements/module.js"
|
|
7
|
+
import { Elements, VElementBaseSignature, VElement, isVElement, AppendType } from "../elements/module.js"
|
|
8
|
+
import { AnyElement } from "./any_element.js"
|
|
9
|
+
import { CheckBoxElement } from "./checkbox.js"
|
|
10
|
+
import { ExtendedInputElement, ExtendedSelectElement, InputElement } from "./input.js"
|
|
8
11
|
import { VStack, VStackElement } from "./stack"
|
|
9
12
|
|
|
10
|
-
//
|
|
11
|
-
|
|
12
|
-
export
|
|
13
|
+
// Macros.
|
|
14
|
+
export type OnSubmit<This> = (element: This, data: Record<string, any>) => any;
|
|
15
|
+
export type OnSubmitError<This> = (element: This, error: Error) => any;
|
|
13
16
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
+
// Extended input.
|
|
18
|
+
@Elements.create({
|
|
19
|
+
name: "FormElement",
|
|
20
|
+
})
|
|
21
|
+
export class FormElement extends (VStackElement as any as VElementBaseSignature) {
|
|
17
22
|
|
|
18
23
|
// Attributes.
|
|
19
24
|
public _button?: VElement;
|
|
20
|
-
public fields: Record<string,
|
|
21
|
-
public _on_submit?: OnSubmit
|
|
22
|
-
public _on_submit_error?: OnSubmitError
|
|
25
|
+
public fields: Record<string, ExtendedInputElement | ExtendedSelectElement | CheckBoxElement>;
|
|
26
|
+
public _on_submit?: OnSubmit<this>;
|
|
27
|
+
public _on_submit_error?: OnSubmitError<this>;
|
|
23
28
|
public _on_append_callback: (child: any) => void;
|
|
24
29
|
|
|
25
30
|
// Constructor.
|
|
26
|
-
constructor(...children:
|
|
31
|
+
constructor(...children: AppendType[]) {
|
|
27
32
|
|
|
28
33
|
// Initialize super.
|
|
29
34
|
super();
|
|
30
|
-
this.
|
|
35
|
+
this._init({
|
|
31
36
|
derived: FormElement,
|
|
32
37
|
})
|
|
33
38
|
|
|
@@ -40,10 +45,10 @@ export class FormElement extends VStackElement {
|
|
|
40
45
|
this._on_append_callback = (child: any) => {
|
|
41
46
|
|
|
42
47
|
// Initialize field.
|
|
43
|
-
if (child.
|
|
48
|
+
if (child.element_name === "ExtendedInputElement" || child.element_name === "ExtendedSelectElement" || child.element_name === "CheckBoxElement") {
|
|
44
49
|
const id = child.id();
|
|
45
50
|
if (id != null && id !== "") {
|
|
46
|
-
_this.fields[id] = child;
|
|
51
|
+
_this.fields[id] = child as any;
|
|
47
52
|
child.on_input(() => {
|
|
48
53
|
if (child.missing() === true) {
|
|
49
54
|
child.missing(false);
|
|
@@ -54,7 +59,7 @@ export class FormElement extends VStackElement {
|
|
|
54
59
|
}
|
|
55
60
|
|
|
56
61
|
// Initialize button.
|
|
57
|
-
else if (/*_this._button === undefined &&*/ (child.
|
|
62
|
+
else if (/*_this._button === undefined &&*/ (child.element_name === "ButtonElement" || child.element_name === "LoaderButtonElement") && child.on_click() == null) { // && child.attr("submit_button") != "false"
|
|
58
63
|
if (_this._button !== undefined) {
|
|
59
64
|
_this._button.on_click(() => {})
|
|
60
65
|
}
|
|
@@ -184,20 +189,20 @@ export class FormElement extends VStackElement {
|
|
|
184
189
|
|
|
185
190
|
// Set the on submit callback, the params for the callback are `(element, data) => {}`.
|
|
186
191
|
// @ts-expect-error
|
|
187
|
-
on_submit() : undefined | OnSubmit
|
|
192
|
+
on_submit() : undefined | OnSubmit<this>
|
|
188
193
|
// @ts-expect-error
|
|
189
|
-
on_submit(callback: OnSubmit) : this;
|
|
194
|
+
on_submit(callback: OnSubmit<this>) : this;
|
|
190
195
|
// @ts-expect-error
|
|
191
|
-
on_submit(callback?: OnSubmit) : this | undefined | OnSubmit {
|
|
196
|
+
on_submit(callback?: OnSubmit<this>) : this | undefined | OnSubmit<this> {
|
|
192
197
|
if (callback == null) { return this._on_submit; }
|
|
193
198
|
this._on_submit = callback;
|
|
194
199
|
return this;
|
|
195
200
|
}
|
|
196
201
|
|
|
197
202
|
// 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 {
|
|
203
|
+
on_submit_error() : undefined | OnSubmitError<this>
|
|
204
|
+
on_submit_error(callback: OnSubmitError<this>) : this;
|
|
205
|
+
on_submit_error(callback?: OnSubmitError<this>) : this | undefined | OnSubmitError<this> {
|
|
201
206
|
if (callback == null) { return this._on_submit_error; }
|
|
202
207
|
this._on_submit_error = callback;
|
|
203
208
|
return this;
|