@vandenberghinc/volt 1.1.4 → 1.1.6
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 +136 -78
- package/backend/dist/cjs/endpoint.d.ts +23 -9
- package/backend/dist/cjs/endpoint.js +98 -21
- package/backend/dist/cjs/file_watcher.js +2 -2
- 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 +137 -79
- package/backend/dist/esm/endpoint.d.ts +23 -9
- package/backend/dist/esm/endpoint.js +99 -22
- package/backend/dist/esm/file_watcher.js +2 -2
- 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 +138 -80
- 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 +3 -3
- 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 +173 -155
- package/backend/src/endpoint.ts +123 -31
- package/backend/src/file_watcher.ts +2 -2
- 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 +414 -432
- package/frontend/dist/elements/base.js +566 -329
- 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 -340
- 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 +5 -3
- 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 +5 -4
- 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 +7 -6
- 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
|
@@ -4,51 +4,52 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
// Imports.
|
|
7
|
-
import { Elements, VAnchorElement, VDivElement, VDiv, VElementTagMap } from "../elements/module.js";
|
|
7
|
+
import { Elements, VElement, VElementBaseSignature, VAnchorElement, VDivElement, VDiv, VElementTagMap } from "../elements/module.js";
|
|
8
8
|
|
|
9
9
|
// BorderButton.
|
|
10
10
|
/**
|
|
11
11
|
* Supports a gradient color for the border combined with border radius.
|
|
12
12
|
* Warning: this class is still experimental and may be subject to future change.
|
|
13
13
|
*/
|
|
14
|
-
@Elements.
|
|
14
|
+
@Elements.create({
|
|
15
|
+
name: "BorderButtonElement",
|
|
16
|
+
default_style: {
|
|
17
|
+
"margin": "0px 0px 0px 0px",
|
|
18
|
+
"display": "inline-block",
|
|
19
|
+
"color": "inherit",
|
|
20
|
+
"text-align": "center",
|
|
21
|
+
"cursor": "pointer",
|
|
22
|
+
"position": "relative",
|
|
23
|
+
"z-index": "0",
|
|
24
|
+
"background": "none",
|
|
25
|
+
"user-select": "none",
|
|
26
|
+
"outline": "none",
|
|
27
|
+
"border": "none",
|
|
28
|
+
"text-decoration": "none",
|
|
29
|
+
// Custom.
|
|
30
|
+
"--child-color": "black",
|
|
31
|
+
"--child-background": "black",
|
|
32
|
+
"--child-border-width": "2px",
|
|
33
|
+
"--child-border-radius": "10px",
|
|
34
|
+
"--child-padding": "5px 10px 5px 10px",
|
|
35
|
+
},
|
|
36
|
+
default_events: {
|
|
37
|
+
"onmousedown": function (this: any): void {
|
|
38
|
+
this.style.filter = "brightness(80%)";
|
|
39
|
+
},
|
|
40
|
+
"onmouseover": function (this: any): void {
|
|
41
|
+
this.style.filter = "brightness(90%)";
|
|
42
|
+
},
|
|
43
|
+
"onmouseup": function (this: any): void {
|
|
44
|
+
this.style.filter = "brightness(100%)";
|
|
45
|
+
},
|
|
46
|
+
"onmouseout": function (this: any): void {
|
|
47
|
+
this.style.filter = "brightness(100%)";
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
})
|
|
15
51
|
export class BorderButtonElement extends VElementTagMap.a {
|
|
16
52
|
|
|
17
|
-
static default_style = {
|
|
18
|
-
"margin": "0px 0px 0px 0px",
|
|
19
|
-
"display": "inline-block",
|
|
20
|
-
"color": "inherit",
|
|
21
|
-
"text-align": "center",
|
|
22
|
-
"cursor": "pointer",
|
|
23
|
-
"position": "relative",
|
|
24
|
-
"z-index": "0",
|
|
25
|
-
"background": "none",
|
|
26
|
-
"user-select": "none",
|
|
27
|
-
"outline": "none",
|
|
28
|
-
"border": "none",
|
|
29
|
-
"text-decoration": "none",
|
|
30
|
-
// Custom.
|
|
31
|
-
"--child-color": "black",
|
|
32
|
-
"--child-background": "black",
|
|
33
|
-
"--child-border-width": "2px",
|
|
34
|
-
"--child-border-radius": "10px",
|
|
35
|
-
"--child-padding": "5px 10px 5px 10px",
|
|
36
|
-
};
|
|
37
|
-
static default_events = {
|
|
38
|
-
"onmousedown": function (this: any): void {
|
|
39
|
-
this.style.filter = "brightness(80%)";
|
|
40
|
-
},
|
|
41
|
-
"onmouseover": function (this: any): void {
|
|
42
|
-
this.style.filter = "brightness(90%)";
|
|
43
|
-
},
|
|
44
|
-
"onmouseup": function (this: any): void {
|
|
45
|
-
this.style.filter = "brightness(100%)";
|
|
46
|
-
},
|
|
47
|
-
"onmouseout": function (this: any): void {
|
|
48
|
-
this.style.filter = "brightness(100%)";
|
|
49
|
-
},
|
|
50
|
-
};
|
|
51
|
-
|
|
52
53
|
public nodes: {
|
|
53
54
|
border: VDivElement;
|
|
54
55
|
text: VDivElement;
|
|
@@ -311,6 +312,9 @@ export class BorderButtonElement extends VElementTagMap.a {
|
|
|
311
312
|
transition_border_color(val: string): this;
|
|
312
313
|
transition_border_color(val?: string): string | this {
|
|
313
314
|
if (val == null) { return this.nodes.border.transition(); }
|
|
315
|
+
else if (/[0-9]/.test(val.charAt(0))) {
|
|
316
|
+
val = "border-color " + val;
|
|
317
|
+
}
|
|
314
318
|
this.nodes.border.transition(typeof val !== "string" ? val : val.replace("border-color ", "background "));
|
|
315
319
|
return this;
|
|
316
320
|
}
|
|
@@ -4,42 +4,43 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
// Imports.
|
|
7
|
-
import { Elements, VElementTagMap } from "../elements/module.js";
|
|
7
|
+
import { Elements, VElementBaseSignature, VElement, VElementTagMap, VHTMLElement } from "../elements/module.js";
|
|
8
8
|
|
|
9
9
|
// Button.
|
|
10
|
-
@Elements.
|
|
10
|
+
@Elements.create({
|
|
11
|
+
name: "ButtonElement",
|
|
12
|
+
default_style: {
|
|
13
|
+
"margin": "0px 0px 0px",
|
|
14
|
+
"padding": "5px 10px 5px 10px",
|
|
15
|
+
"outline": "none",
|
|
16
|
+
"border": "none",
|
|
17
|
+
"border-radius": "10px",
|
|
18
|
+
"cursor": "pointer",
|
|
19
|
+
"color": "inherit",
|
|
20
|
+
"text-align": "center",
|
|
21
|
+
"display": "grid",
|
|
22
|
+
"align-items": "center",
|
|
23
|
+
"white-space": "nowrap",
|
|
24
|
+
"user-select": "none",
|
|
25
|
+
"text-decoration": "none",
|
|
26
|
+
},
|
|
27
|
+
default_events: {
|
|
28
|
+
"onmousedown": function (this: any): void {
|
|
29
|
+
this.style.filter = "brightness(80%)";
|
|
30
|
+
},
|
|
31
|
+
"onmouseover": function (this: any): void {
|
|
32
|
+
this.style.filter = "brightness(90%)";
|
|
33
|
+
},
|
|
34
|
+
"onmouseup": function (this: any): void {
|
|
35
|
+
this.style.filter = "brightness(100%)";
|
|
36
|
+
},
|
|
37
|
+
"onmouseout": function (this: any): void {
|
|
38
|
+
this.style.filter = "brightness(100%)";
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
})
|
|
11
42
|
export class ButtonElement extends VElementTagMap.a {
|
|
12
43
|
|
|
13
|
-
static default_style = {
|
|
14
|
-
"margin": "0px 0px 0px",
|
|
15
|
-
"padding": "5px 10px 5px 10px",
|
|
16
|
-
"outline": "none",
|
|
17
|
-
"border": "none",
|
|
18
|
-
"border-radius": "10px",
|
|
19
|
-
"cursor": "pointer",
|
|
20
|
-
"color": "inherit",
|
|
21
|
-
"text-align": "center",
|
|
22
|
-
"display": "grid",
|
|
23
|
-
"align-items": "center",
|
|
24
|
-
"white-space": "nowrap",
|
|
25
|
-
"user-select": "none",
|
|
26
|
-
"text-decoration": "none",
|
|
27
|
-
};
|
|
28
|
-
static default_events = {
|
|
29
|
-
"onmousedown": function (this: any): void {
|
|
30
|
-
this.style.filter = "brightness(80%)";
|
|
31
|
-
},
|
|
32
|
-
"onmouseover": function (this: any): void {
|
|
33
|
-
this.style.filter = "brightness(90%)";
|
|
34
|
-
},
|
|
35
|
-
"onmouseup": function (this: any): void {
|
|
36
|
-
this.style.filter = "brightness(100%)";
|
|
37
|
-
},
|
|
38
|
-
"onmouseout": function (this: any): void {
|
|
39
|
-
this.style.filter = "brightness(100%)";
|
|
40
|
-
},
|
|
41
|
-
};
|
|
42
|
-
|
|
43
44
|
/**
|
|
44
45
|
* @docs:
|
|
45
46
|
* @nav: Frontend
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
// Imports.
|
|
7
7
|
import { Utils } from "../modules/utils.js"
|
|
8
|
-
import { Elements, VElementTagMap } from "../elements/module.js"
|
|
8
|
+
import { Elements, VElementBaseSignature, VElement, VElementTagMap } from "../elements/module.js"
|
|
9
9
|
import { GradientType } from "../types/gradient.js"
|
|
10
10
|
|
|
11
11
|
// Types.
|
|
@@ -23,9 +23,12 @@ type DotObject = {x: number, y: number, tension?: number};
|
|
|
23
23
|
* @warning:
|
|
24
24
|
* This class is still experimental and may be subject to future change.
|
|
25
25
|
*/
|
|
26
|
-
@Elements.
|
|
26
|
+
@Elements.create({
|
|
27
|
+
name: "CanvasElement",
|
|
28
|
+
})
|
|
27
29
|
export class CanvasElement extends VElementTagMap.canvas {
|
|
28
30
|
|
|
31
|
+
// Attributes.
|
|
29
32
|
public _e: any;
|
|
30
33
|
public ctx_2d: any;
|
|
31
34
|
|
|
@@ -4,7 +4,7 @@
|
|
|
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 { VStack, VStackElement, HStack, HStackElement } from "./stack"
|
|
9
9
|
import { Text, TextElement } from "./text"
|
|
10
10
|
|
|
@@ -17,23 +17,22 @@ interface CircleExtension {
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
// Extended input.
|
|
20
|
-
@Elements.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
"--missing-color": "#E8454E",
|
|
35
|
-
}
|
|
20
|
+
@Elements.create({
|
|
21
|
+
name: "CheckBoxElement",
|
|
22
|
+
default_style: {
|
|
23
|
+
...VStackElement.default_style,
|
|
24
|
+
"color": "inherit",
|
|
25
|
+
"font-size": "16px",
|
|
26
|
+
// Custom.
|
|
27
|
+
"--circle-border-color": "gray",
|
|
28
|
+
"--circle-inner-bg": "#FFFFFF",
|
|
29
|
+
"--focus-color": "#8EB8EB",
|
|
30
|
+
"--missing-color": "#E8454E",
|
|
31
|
+
},
|
|
32
|
+
})
|
|
33
|
+
export class CheckBoxElement extends (VStackElement as any as VElementBaseSignature) {
|
|
36
34
|
|
|
35
|
+
// Attributes.
|
|
37
36
|
public _border_color: string;
|
|
38
37
|
public _inner_bg: string;
|
|
39
38
|
public _focus_color: string;
|
|
@@ -60,7 +59,7 @@ export class CheckBoxElement extends VStackElement {
|
|
|
60
59
|
|
|
61
60
|
// Initialize super.
|
|
62
61
|
super();
|
|
63
|
-
this.
|
|
62
|
+
this._init({
|
|
64
63
|
derived: CheckBoxElement,
|
|
65
64
|
})
|
|
66
65
|
|
|
@@ -85,8 +84,8 @@ export class CheckBoxElement extends VStackElement {
|
|
|
85
84
|
this.circle = VStack(
|
|
86
85
|
VStack()
|
|
87
86
|
.assign_to_parent_as("inner")
|
|
88
|
-
.border_radius(50%)
|
|
89
|
-
.frame(35
|
|
87
|
+
.border_radius("50%")
|
|
88
|
+
.frame("35%", "35%")
|
|
90
89
|
.background(this._inner_bg)
|
|
91
90
|
.flex_shrink(0)
|
|
92
91
|
)
|
|
@@ -95,7 +94,7 @@ export class CheckBoxElement extends VStackElement {
|
|
|
95
94
|
.border_width(1)
|
|
96
95
|
.border_style("solid")
|
|
97
96
|
.border_color(this._border_color)
|
|
98
|
-
.border_radius(50%)
|
|
97
|
+
.border_radius("50%")
|
|
99
98
|
.frame(15, 15)
|
|
100
99
|
.margin(2.5, 10, 0, 0)
|
|
101
100
|
.background("transparent")
|
|
@@ -137,7 +136,7 @@ export class CheckBoxElement extends VStackElement {
|
|
|
137
136
|
|
|
138
137
|
// The content.
|
|
139
138
|
this.content = HStack(this.circle, this.text)
|
|
140
|
-
.width(100%)
|
|
139
|
+
.width("100%")
|
|
141
140
|
|
|
142
141
|
// The error message.
|
|
143
142
|
this.error = Text("Incomplete field")
|
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,
|