@rvx/ui 0.1.7 → 0.1.9
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/dist/common/theme-test.js +1 -2
- package/dist/common/theme-test.js.map +1 -1
- package/dist/common/theme.d.ts +11 -2
- package/dist/common/theme.js +2 -1
- package/dist/common/theme.js.map +1 -1
- package/dist/components/button.d.ts +1 -1
- package/dist/components/button.js +2 -2
- package/dist/components/button.js.map +1 -1
- package/dist/components/card.d.ts +6 -0
- package/dist/components/card.js +12 -0
- package/dist/components/card.js.map +1 -0
- package/dist/components/checkbox-test.d.ts +3 -0
- package/dist/components/checkbox-test.js +31 -0
- package/dist/components/checkbox-test.js.map +1 -0
- package/dist/components/checkbox.js +5 -8
- package/dist/components/checkbox.js.map +1 -1
- package/dist/components/collapse.d.ts +2 -1
- package/dist/components/collapse.js +2 -2
- package/dist/components/collapse.js.map +1 -1
- package/dist/components/column.js +2 -2
- package/dist/components/column.js.map +1 -1
- package/dist/components/control-group.js +1 -2
- package/dist/components/control-group.js.map +1 -1
- package/dist/components/dialog.js +23 -21
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/dropdown-input.js.map +1 -1
- package/dist/components/dropdown.js +4 -3
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/flex-space.js +2 -2
- package/dist/components/flex-space.js.map +1 -1
- package/dist/components/heading.d.ts +4 -0
- package/dist/components/heading.js +8 -10
- package/dist/components/heading.js.map +1 -1
- package/dist/components/label.js +2 -2
- package/dist/components/label.js.map +1 -1
- package/dist/components/layer.d.ts +4 -4
- package/dist/components/layer.js +7 -13
- package/dist/components/layer.js.map +1 -1
- package/dist/components/link.js +2 -2
- package/dist/components/link.js.map +1 -1
- package/dist/components/page.js +1 -2
- package/dist/components/page.js.map +1 -1
- package/dist/components/popout.d.ts +2 -1
- package/dist/components/popout.js +59 -58
- package/dist/components/popout.js.map +1 -1
- package/dist/components/popover.js +6 -5
- package/dist/components/popover.js.map +1 -1
- package/dist/components/radio-buttons.js +3 -2
- package/dist/components/radio-buttons.js.map +1 -1
- package/dist/components/row.js +3 -3
- package/dist/components/row.js.map +1 -1
- package/dist/components/scroll-view.js +2 -2
- package/dist/components/scroll-view.js.map +1 -1
- package/dist/components/text-input.js +2 -2
- package/dist/components/text-input.js.map +1 -1
- package/dist/components/text.js +1 -2
- package/dist/components/text.js.map +1 -1
- package/dist/components/validation.d.ts +4 -3
- package/dist/components/validation.js +10 -11
- package/dist/components/validation.js.map +1 -1
- package/dist/components/value.js +1 -2
- package/dist/components/value.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/test.d.ts +1 -0
- package/dist/test.js +1 -0
- package/dist/test.js.map +1 -1
- package/dist/theme.module.css +152 -41
- package/dist/theme.module.css.map +1 -1
- package/package.json +2 -2
- package/src/common/theme-test.tsx +1 -3
- package/src/common/theme.tsx +12 -2
- package/src/components/button.tsx +3 -4
- package/src/components/card.tsx +22 -0
- package/src/components/checkbox-test.tsx +35 -0
- package/src/components/checkbox.tsx +5 -7
- package/src/components/collapse.tsx +3 -3
- package/src/components/column.tsx +2 -3
- package/src/components/control-group.tsx +2 -3
- package/src/components/dialog.tsx +23 -22
- package/src/components/dropdown-input.tsx +0 -1
- package/src/components/dropdown.tsx +4 -4
- package/src/components/flex-space.tsx +2 -3
- package/src/components/heading.tsx +18 -11
- package/src/components/label.tsx +3 -2
- package/src/components/layer.tsx +13 -19
- package/src/components/link.tsx +2 -3
- package/src/components/page.tsx +2 -3
- package/src/components/popout.tsx +68 -67
- package/src/components/popover.tsx +5 -5
- package/src/components/radio-buttons.tsx +3 -3
- package/src/components/row.tsx +3 -4
- package/src/components/scroll-view.tsx +2 -3
- package/src/components/text-input.tsx +2 -3
- package/src/components/text.tsx +2 -3
- package/src/components/validation.tsx +11 -13
- package/src/components/value.tsx +2 -3
- package/src/index.tsx +3 -2
- package/src/test.tsx +1 -0
- package/src/theme/base.scss +11 -5
- package/src/theme/components/button.scss +58 -31
- package/src/theme/components/card.scss +31 -0
- package/src/theme/components/column.scss +8 -0
- package/src/theme/components/control-group.scss +6 -1
- package/src/theme/components/link.scss +1 -1
- package/src/theme/components/text-input.scss +2 -2
- package/src/theme/theme.scss +1 -0
package/dist/index.d.ts
CHANGED
|
@@ -5,13 +5,14 @@ export * from "./common/trim.js";
|
|
|
5
5
|
export * from "./common/types.js";
|
|
6
6
|
export * from "./common/writing-mode.js";
|
|
7
7
|
export * from "./components/button.js";
|
|
8
|
+
export * from "./components/card.js";
|
|
8
9
|
export * from "./components/checkbox.js";
|
|
9
10
|
export * from "./components/collapse.js";
|
|
10
11
|
export * from "./components/column.js";
|
|
11
12
|
export * from "./components/control-group.js";
|
|
12
13
|
export * from "./components/dialog.js";
|
|
13
|
-
export * from "./components/dropdown.js";
|
|
14
14
|
export * from "./components/dropdown-input.js";
|
|
15
|
+
export * from "./components/dropdown.js";
|
|
15
16
|
export * from "./components/flex-space.js";
|
|
16
17
|
export * from "./components/heading.js";
|
|
17
18
|
export * from "./components/label.js";
|
|
@@ -23,7 +24,7 @@ export * from "./components/popover.js";
|
|
|
23
24
|
export * from "./components/radio-buttons.js";
|
|
24
25
|
export * from "./components/row.js";
|
|
25
26
|
export * from "./components/scroll-view.js";
|
|
26
|
-
export * from "./components/text.js";
|
|
27
27
|
export * from "./components/text-input.js";
|
|
28
|
+
export * from "./components/text.js";
|
|
28
29
|
export * from "./components/validation.js";
|
|
29
30
|
export * from "./components/value.js";
|
package/dist/index.js
CHANGED
|
@@ -5,13 +5,14 @@ export * from "./common/trim.js";
|
|
|
5
5
|
export * from "./common/types.js";
|
|
6
6
|
export * from "./common/writing-mode.js";
|
|
7
7
|
export * from "./components/button.js";
|
|
8
|
+
export * from "./components/card.js";
|
|
8
9
|
export * from "./components/checkbox.js";
|
|
9
10
|
export * from "./components/collapse.js";
|
|
10
11
|
export * from "./components/column.js";
|
|
11
12
|
export * from "./components/control-group.js";
|
|
12
13
|
export * from "./components/dialog.js";
|
|
13
|
-
export * from "./components/dropdown.js";
|
|
14
14
|
export * from "./components/dropdown-input.js";
|
|
15
|
+
export * from "./components/dropdown.js";
|
|
15
16
|
export * from "./components/flex-space.js";
|
|
16
17
|
export * from "./components/heading.js";
|
|
17
18
|
export * from "./components/label.js";
|
|
@@ -23,8 +24,8 @@ export * from "./components/popover.js";
|
|
|
23
24
|
export * from "./components/radio-buttons.js";
|
|
24
25
|
export * from "./components/row.js";
|
|
25
26
|
export * from "./components/scroll-view.js";
|
|
26
|
-
export * from "./components/text.js";
|
|
27
27
|
export * from "./components/text-input.js";
|
|
28
|
+
export * from "./components/text.js";
|
|
28
29
|
export * from "./components/validation.js";
|
|
29
30
|
export * from "./components/value.js";
|
|
30
31
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC"}
|
package/dist/test.d.ts
CHANGED
package/dist/test.js
CHANGED
package/dist/test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.tsx"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.tsx"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC"}
|
package/dist/theme.module.css
CHANGED
|
@@ -2,18 +2,22 @@
|
|
|
2
2
|
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
|
|
3
3
|
font-size: 0.875rem;
|
|
4
4
|
line-height: 1;
|
|
5
|
+
--accent: rgb(0, 192, 255);
|
|
6
|
+
accent-color: var(--accent);
|
|
5
7
|
--content-column-gap: 1.1428571429rem;
|
|
6
8
|
--content-row-gap: 1.1428571429rem;
|
|
7
9
|
--content-radius: 0.5714285714rem;
|
|
8
10
|
--content-border: 0.1428571429rem;
|
|
11
|
+
--content-shadow: 0 0 1.1428571429rem rgba(0, 0, 0, .2);
|
|
9
12
|
--content-pad-block-start: 1.4285714286rem;
|
|
10
13
|
--content-pad-inline-start: 1.4285714286rem;
|
|
11
14
|
--content-pad-block-end: 1.4285714286rem;
|
|
12
15
|
--content-pad-inline-end: 1.4285714286rem;
|
|
13
16
|
--control-column-gap: 0.5714285714rem;
|
|
14
17
|
--control-row-gap: 0.5714285714rem;
|
|
15
|
-
--control-radius: 0.
|
|
16
|
-
--control-border: 0.
|
|
18
|
+
--control-radius: 0.3571428571rem;
|
|
19
|
+
--control-border: 0.1428571429rem;
|
|
20
|
+
--control-shadow: 0 0 0.2142857143rem rgba(0, 0, 0, .5);
|
|
17
21
|
--control-disabled: opacity(.5);
|
|
18
22
|
--control-pad-block-start: 0.5714285714rem;
|
|
19
23
|
--control-pad-inline-start: 0.7142857143rem;
|
|
@@ -24,13 +28,14 @@
|
|
|
24
28
|
--line-gap: 0.4285714286rem;
|
|
25
29
|
--space-gap: 0.4285714286rem;
|
|
26
30
|
--layout-transition: .15s ease;
|
|
31
|
+
--color-transition: .1s ease;
|
|
27
32
|
}
|
|
28
33
|
|
|
29
34
|
@media (prefers-color-scheme: dark) {
|
|
30
35
|
:root {
|
|
31
|
-
--bg: rgb(
|
|
36
|
+
--bg: rgb(36, 36, 36);
|
|
32
37
|
--fg: white;
|
|
33
|
-
--focus-outline: var(--control-border) dashed
|
|
38
|
+
--focus-outline: var(--control-border) dashed var(--accent);
|
|
34
39
|
color-scheme: dark;
|
|
35
40
|
}
|
|
36
41
|
}
|
|
@@ -53,35 +58,39 @@ body {
|
|
|
53
58
|
}
|
|
54
59
|
|
|
55
60
|
::selection {
|
|
56
|
-
background-color: rgba(0,
|
|
61
|
+
background-color: rgba(0, 150, 200, 0.6);
|
|
57
62
|
}
|
|
58
63
|
|
|
59
64
|
@media (prefers-color-scheme: dark) {
|
|
60
65
|
:root {
|
|
61
|
-
--button-default-bg: rgb(
|
|
62
|
-
--button-default-bg-
|
|
66
|
+
--button-default-bg: rgb(64, 64, 64);
|
|
67
|
+
--button-default-bg-hover: rgb(90, 90, 90);
|
|
63
68
|
--button-default-fg: var(--fg);
|
|
64
|
-
--button-
|
|
65
|
-
--button-primary-bg: rgb(
|
|
66
|
-
--button-primary-
|
|
67
|
-
--button-primary-
|
|
68
|
-
--button-primary-border: rgb(0, 100, 200);
|
|
69
|
+
--button-primary-bg: rgb(0, 192, 255);
|
|
70
|
+
--button-primary-bg-hover: rgb(92, 214, 255);
|
|
71
|
+
--button-primary-fg: black;
|
|
72
|
+
--button-primary-focus: rgb(200, 241, 255);
|
|
69
73
|
--button-success-bg: rgb(0, 200, 100);
|
|
70
|
-
--button-success-bg-
|
|
74
|
+
--button-success-bg-hover: rgb(0, 242, 121);
|
|
71
75
|
--button-success-fg: black;
|
|
72
|
-
--button-success-
|
|
73
|
-
--button-warning-bg: rgb(
|
|
74
|
-
--button-warning-bg-
|
|
76
|
+
--button-success-focus: rgb(200, 255, 228);
|
|
77
|
+
--button-warning-bg: rgb(230, 180, 0);
|
|
78
|
+
--button-warning-bg-hover: rgb(255, 220, 105);
|
|
75
79
|
--button-warning-fg: black;
|
|
76
|
-
--button-warning-
|
|
80
|
+
--button-warning-focus: rgb(255, 243, 200);
|
|
77
81
|
--button-danger-bg: rgb(255, 0, 64);
|
|
78
|
-
--button-danger-bg-
|
|
82
|
+
--button-danger-bg-hover: rgb(255, 70, 100);
|
|
79
83
|
--button-danger-fg: black;
|
|
80
|
-
--button-danger-
|
|
84
|
+
--button-danger-focus: rgb(255, 200, 214);
|
|
81
85
|
--button-input-bg: rgb(16, 16, 16);
|
|
82
|
-
--button-input-bg-
|
|
86
|
+
--button-input-bg-hover: rgb(60, 60, 60);
|
|
87
|
+
--button-input-bg-active: rgb(80, 80, 80);
|
|
83
88
|
--button-input-fg: white;
|
|
84
89
|
--button-input-border: rgb(80, 80, 80);
|
|
90
|
+
--button-text-bg: transparent;
|
|
91
|
+
--button-text-bg-hover: rgb(80, 80, 80);
|
|
92
|
+
--button-text-bg-active: rgb(100, 100, 100);
|
|
93
|
+
--button-text-fg: var(--fg);
|
|
85
94
|
color-scheme: dark;
|
|
86
95
|
}
|
|
87
96
|
}
|
|
@@ -95,6 +104,10 @@ body {
|
|
|
95
104
|
padding-block: calc(var(--control-pad-block-start) - var(--control-border)) calc(var(--control-pad-block-end) - var(--control-border));
|
|
96
105
|
padding-inline: calc(var(--control-pad-inline-start) - var(--control-border)) calc(var(--control-pad-inline-end) - var(--control-border));
|
|
97
106
|
border-radius: var(--control-radius);
|
|
107
|
+
transition: var(--color-transition) background-color, var(--color-transition) border-color;
|
|
108
|
+
}
|
|
109
|
+
.button:not(.button_text) {
|
|
110
|
+
box-shadow: var(--control-shadow);
|
|
98
111
|
}
|
|
99
112
|
.button[disabled] {
|
|
100
113
|
cursor: default;
|
|
@@ -104,61 +117,149 @@ body {
|
|
|
104
117
|
.button_default {
|
|
105
118
|
background-color: var(--button-default-bg);
|
|
106
119
|
color: var(--button-default-fg);
|
|
107
|
-
border: var(--
|
|
120
|
+
border: var(--button-default-border, transparent) solid var(--control-border);
|
|
121
|
+
}
|
|
122
|
+
.button_default:hover:not(:active):not([disabled]) {
|
|
123
|
+
background-color: var(--button-default-bg-hover);
|
|
124
|
+
}
|
|
125
|
+
.button_default:focus-visible {
|
|
126
|
+
border-color: var(--button-default-focus, var(--accent));
|
|
108
127
|
}
|
|
109
|
-
.button_default:
|
|
110
|
-
background-color: var(--button-default-bg-
|
|
128
|
+
.button_default:active {
|
|
129
|
+
background-color: var(--button-default-bg-active, var(--button-default-bg));
|
|
111
130
|
}
|
|
112
131
|
|
|
113
132
|
.button_primary {
|
|
114
133
|
background-color: var(--button-primary-bg);
|
|
115
134
|
color: var(--button-primary-fg);
|
|
116
|
-
border: var(--
|
|
135
|
+
border: var(--button-primary-border, transparent) solid var(--control-border);
|
|
117
136
|
}
|
|
118
|
-
.button_primary:hover:not(:active):not([disabled])
|
|
119
|
-
background-color: var(--button-primary-bg-
|
|
137
|
+
.button_primary:hover:not(:active):not([disabled]) {
|
|
138
|
+
background-color: var(--button-primary-bg-hover);
|
|
139
|
+
}
|
|
140
|
+
.button_primary:focus-visible {
|
|
141
|
+
border-color: var(--button-primary-focus, var(--accent));
|
|
142
|
+
}
|
|
143
|
+
.button_primary:active {
|
|
144
|
+
background-color: var(--button-primary-bg-active, var(--button-primary-bg));
|
|
120
145
|
}
|
|
121
146
|
|
|
122
147
|
.button_success {
|
|
123
148
|
background-color: var(--button-success-bg);
|
|
124
149
|
color: var(--button-success-fg);
|
|
125
|
-
border: var(--
|
|
150
|
+
border: var(--button-success-border, transparent) solid var(--control-border);
|
|
151
|
+
}
|
|
152
|
+
.button_success:hover:not(:active):not([disabled]) {
|
|
153
|
+
background-color: var(--button-success-bg-hover);
|
|
126
154
|
}
|
|
127
|
-
.button_success:
|
|
128
|
-
|
|
155
|
+
.button_success:focus-visible {
|
|
156
|
+
border-color: var(--button-success-focus, var(--accent));
|
|
157
|
+
}
|
|
158
|
+
.button_success:active {
|
|
159
|
+
background-color: var(--button-success-bg-active, var(--button-success-bg));
|
|
129
160
|
}
|
|
130
161
|
|
|
131
162
|
.button_warning {
|
|
132
163
|
background-color: var(--button-warning-bg);
|
|
133
164
|
color: var(--button-warning-fg);
|
|
134
|
-
border: var(--
|
|
165
|
+
border: var(--button-warning-border, transparent) solid var(--control-border);
|
|
166
|
+
}
|
|
167
|
+
.button_warning:hover:not(:active):not([disabled]) {
|
|
168
|
+
background-color: var(--button-warning-bg-hover);
|
|
169
|
+
}
|
|
170
|
+
.button_warning:focus-visible {
|
|
171
|
+
border-color: var(--button-warning-focus, var(--accent));
|
|
135
172
|
}
|
|
136
|
-
.button_warning:
|
|
137
|
-
background-color: var(--button-warning-bg-
|
|
173
|
+
.button_warning:active {
|
|
174
|
+
background-color: var(--button-warning-bg-active, var(--button-warning-bg));
|
|
138
175
|
}
|
|
139
176
|
|
|
140
177
|
.button_danger {
|
|
141
178
|
background-color: var(--button-danger-bg);
|
|
142
179
|
color: var(--button-danger-fg);
|
|
143
|
-
border: var(--
|
|
180
|
+
border: var(--button-danger-border, transparent) solid var(--control-border);
|
|
181
|
+
}
|
|
182
|
+
.button_danger:hover:not(:active):not([disabled]) {
|
|
183
|
+
background-color: var(--button-danger-bg-hover);
|
|
184
|
+
}
|
|
185
|
+
.button_danger:focus-visible {
|
|
186
|
+
border-color: var(--button-danger-focus, var(--accent));
|
|
144
187
|
}
|
|
145
|
-
.button_danger:
|
|
146
|
-
background-color: var(--button-danger-bg-
|
|
188
|
+
.button_danger:active {
|
|
189
|
+
background-color: var(--button-danger-bg-active, var(--button-danger-bg));
|
|
147
190
|
}
|
|
148
191
|
|
|
149
192
|
.button_input {
|
|
150
193
|
background-color: var(--button-input-bg);
|
|
151
194
|
color: var(--button-input-fg);
|
|
152
|
-
border: var(--
|
|
195
|
+
border: var(--button-input-border, transparent) solid var(--control-border);
|
|
153
196
|
}
|
|
154
|
-
.button_input:hover:not(:active):not([disabled])
|
|
155
|
-
background-color: var(--button-input-bg-
|
|
197
|
+
.button_input:hover:not(:active):not([disabled]) {
|
|
198
|
+
background-color: var(--button-input-bg-hover);
|
|
199
|
+
}
|
|
200
|
+
.button_input:focus-visible {
|
|
201
|
+
border-color: var(--button-input-focus, var(--accent));
|
|
202
|
+
}
|
|
203
|
+
.button_input:active {
|
|
204
|
+
background-color: var(--button-input-bg-active, var(--button-input-bg));
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.button_text {
|
|
208
|
+
background-color: var(--button-text-bg);
|
|
209
|
+
color: var(--button-text-fg);
|
|
210
|
+
border: var(--button-text-border, transparent) solid var(--control-border);
|
|
211
|
+
}
|
|
212
|
+
.button_text:hover:not(:active):not([disabled]) {
|
|
213
|
+
background-color: var(--button-text-bg-hover);
|
|
214
|
+
}
|
|
215
|
+
.button_text:focus-visible {
|
|
216
|
+
border-color: var(--button-text-focus, var(--accent));
|
|
217
|
+
}
|
|
218
|
+
.button_text:active {
|
|
219
|
+
background-color: var(--button-text-bg-active, var(--button-text-bg));
|
|
156
220
|
}
|
|
157
221
|
|
|
158
222
|
.button_input {
|
|
159
223
|
text-align: left;
|
|
160
224
|
}
|
|
161
225
|
|
|
226
|
+
@media (prefers-color-scheme: dark) {
|
|
227
|
+
:root {
|
|
228
|
+
--card-default-border: rgb(72, 72, 72);
|
|
229
|
+
--card-info-border: rgb(0, 96, 128);
|
|
230
|
+
--card-success-border: rgb(0, 128, 64);
|
|
231
|
+
--card-warning-border: rgb(150, 117, 0);
|
|
232
|
+
--card-danger-border: rgb(160, 0, 40);
|
|
233
|
+
color-scheme: dark;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
.card {
|
|
237
|
+
box-shadow: var(--content-shadow);
|
|
238
|
+
border-radius: var(--content-radius);
|
|
239
|
+
padding-block: calc(var(--content-pad-block-start) - var(--content-border)) calc(var(--content-pad-block-end) - var(--content-border));
|
|
240
|
+
padding-inline: calc(var(--content-pad-inline-start) - var(--content-border)) calc(var(--content-pad-inline-end) - var(--content-border));
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
.card_default {
|
|
244
|
+
border: var(--content-border) solid var(--card-default-border);
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
.card_info {
|
|
248
|
+
border: var(--content-border) solid var(--card-info-border);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
.card_success {
|
|
252
|
+
border: var(--content-border) solid var(--card-success-border);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
.card_warning {
|
|
256
|
+
border: var(--content-border) solid var(--card-warning-border);
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
.card_danger {
|
|
260
|
+
border: var(--content-border) solid var(--card-danger-border);
|
|
261
|
+
}
|
|
262
|
+
|
|
162
263
|
.checkbox_label {
|
|
163
264
|
display: flex;
|
|
164
265
|
column-gap: var(--control-column-gap);
|
|
@@ -248,9 +349,15 @@ body {
|
|
|
248
349
|
.column > :not(:first-child) {
|
|
249
350
|
margin-block-start: calc((var(--space-above, var(--parent-row-gap)) - var(--parent-row-gap)) * var(--space-scale) + var(--parent-row-gap) * (var(--space-scale) - 1) / 2);
|
|
250
351
|
}
|
|
352
|
+
.column > :first-child {
|
|
353
|
+
margin-block-start: calc(var(--parent-row-gap) * (var(--space-scale) - 1) / 2);
|
|
354
|
+
}
|
|
251
355
|
.column > :not(:last-child) {
|
|
252
356
|
margin-block-end: calc((var(--space-below, var(--parent-row-gap)) - var(--parent-row-gap)) * var(--space-scale) + var(--parent-row-gap) * (var(--space-scale) - 1) / 2);
|
|
253
357
|
}
|
|
358
|
+
.column > :last-child {
|
|
359
|
+
margin-block-end: calc(var(--parent-row-gap) * (var(--space-scale) - 1) / 2);
|
|
360
|
+
}
|
|
254
361
|
|
|
255
362
|
.column_content {
|
|
256
363
|
row-gap: var(--content-row-gap);
|
|
@@ -269,7 +376,10 @@ body {
|
|
|
269
376
|
.control_group {
|
|
270
377
|
display: flex;
|
|
271
378
|
flex-direction: row;
|
|
272
|
-
|
|
379
|
+
box-shadow: var(--control-shadow);
|
|
380
|
+
}
|
|
381
|
+
.control_group * {
|
|
382
|
+
--control-shadow: none;
|
|
273
383
|
}
|
|
274
384
|
.control_group > :not(:first-child) {
|
|
275
385
|
border-start-start-radius: 0;
|
|
@@ -421,7 +531,7 @@ h6.heading {
|
|
|
421
531
|
|
|
422
532
|
@media (prefers-color-scheme: dark) {
|
|
423
533
|
:root {
|
|
424
|
-
--link-fg: rgb(64,
|
|
534
|
+
--link-fg: rgb(64, 208, 255);
|
|
425
535
|
color-scheme: dark;
|
|
426
536
|
}
|
|
427
537
|
}
|
|
@@ -619,7 +729,7 @@ h6.heading {
|
|
|
619
729
|
--text-input-bg: rgb(16, 16, 16);
|
|
620
730
|
--text-input-fg: white;
|
|
621
731
|
--text-input-border: rgb(80, 80, 80);
|
|
622
|
-
--text-input-border-lit:
|
|
732
|
+
--text-input-border-lit: var(--accent);
|
|
623
733
|
color-scheme: dark;
|
|
624
734
|
}
|
|
625
735
|
}
|
|
@@ -633,6 +743,7 @@ h6.heading {
|
|
|
633
743
|
padding-inline: var(--control-pad-inline-start) var(--control-pad-inline-end);
|
|
634
744
|
border: var(--control-border) solid var(--text-input-border);
|
|
635
745
|
border-radius: var(--control-radius);
|
|
746
|
+
box-shadow: var(--control-shadow);
|
|
636
747
|
background-color: var(--text-input-bg);
|
|
637
748
|
color: var(--text-input-fg);
|
|
638
749
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../src/theme/base.scss","../src/theme/common.scss","../src/theme/components/button.scss","../src/theme/components/checkbox.scss","../src/theme/components/collapse.scss","../src/theme/components/column.scss","../src/theme/components/control-group.scss","../src/theme/components/dialog.scss","../src/theme/components/dropdown.scss","../src/theme/components/flex-space.scss","../src/theme/components/heading.scss","../src/theme/components/label.scss","../src/theme/components/link.scss","../src/theme/components/page.scss","../src/theme/components/popover.scss","../src/theme/components/radio-buttons.scss","../src/theme/components/row.scss","../src/theme/components/scroll-view.scss","../src/theme/components/text-input.scss","../src/theme/components/text.scss","../src/theme/components/validation.scss","../src/theme/components/value.scss"],"names":[],"mappings":"AASA;EACC;EACA;EACA;EAEA;EACA;EACA;EACA;
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../src/theme/base.scss","../src/theme/common.scss","../src/theme/components/button.scss","../src/theme/components/card.scss","../src/theme/components/checkbox.scss","../src/theme/components/collapse.scss","../src/theme/components/column.scss","../src/theme/components/control-group.scss","../src/theme/components/dialog.scss","../src/theme/components/dropdown.scss","../src/theme/components/flex-space.scss","../src/theme/components/heading.scss","../src/theme/components/label.scss","../src/theme/components/link.scss","../src/theme/components/page.scss","../src/theme/components/popover.scss","../src/theme/components/radio-buttons.scss","../src/theme/components/row.scss","../src/theme/components/scroll-view.scss","../src/theme/components/text-input.scss","../src/theme/components/text.scss","../src/theme/components/validation.scss","../src/theme/components/value.scss"],"names":[],"mappings":"AASA;EACC;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EACA;ECOA;EACA;EACA;EACA;EDPA;EACA;EACA;EACA;EACA;EACA;ECDA;EACA;EACA;EACA;EDCA;EAEA;EAEA;EACA;EAEA;EACA;;;AC3BC;EAFD;IANE;IAAA;IAAA;IAUA;;;ADwCH;EACC;EACA;EAEA;;AACA;EALD;IAME;;;;AAIF;EACC;EACA;EACA;EACA;;;AAGD;EACC;;;AC5DC;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAUA;;;ACgFH;EACC;EACA;EACA;EACA;EAEA;EAEA;EDnEC,eACC;EAED,gBACC;ECkEF;EACA;;AAGA;EACC;;AAGD;EACC;EACA;;;AAKD;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAKH;EACC;;;ADhIC;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAUA;;;AEKH;EACC;EACA;EFcC,eACC;EAED,gBACC;;;AEbF;EACC;;;AADD;EACC;;;AADD;EACC;;;AADD;EACC;;;AADD;EACC;;;AC3BF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;EACA;;;AAIF;EACC;EACA;EACA;;;ACtBD;EACC;EACA;EACA;;;AAGD;EACC,YACC;;;AAIF;EACC;IAAO;;EACP;IAAM;;EACN;IAAM;;EACN;IAAK;;;AAGN;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;AAEA;EACC,YACC;;AAIF;EACC;EACA;;;AAIF;EACC;EACA;EACA;EACA;;AAEA;EACC,YACC;;AAKF;EACC;EACA;EACA;;;AC5DF;EACC;EACA;;AAEA;EACC;;AAMD;EACC;;AAGD;EACC;;AAMD;EACC;;;AAKD;EACC;;AACA;EACC;;;AAHF;EACC;;AACA;EACC;;;AC/BH;EACC;EACA;EAEA;;AACA;EACC;;AAGD;EACC;EACA;;AAED;EACC;EACA;;;ANHA;EAFD;IANE;IAAA;IAAA;IAAA;IAUA;;;AOEH;EACC;EACA;EAEA;EAEA;EACA;EACA;EAEA;;;AAGD;EACC;EACA;EAEA;EACA;EACA;EACA;EPDC,eACC;EAED,gBACC;;;AOCH;EACC;;;AP7BC;EAFD;IANE;IAAA;IAAA;IAAA;IAUA;;;AQEH;EACC;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;ERPC,eACC;EAED,gBACC;;AQMF;EACC;;;AC9CF;EACC;EACA;EACA;;;ACHD;EACC;EACA;;AAEA;EAEC;EACA;EACA;EACA;;;AAIF;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;EACA;;;AVxBC;EAFD;IANE;IAUA;;;AWPH;EACC;EACA;EAEA;EACA;EACA;;AAEA;EAEC;EACA;EACA;EACA;;;AXRA;EAFD;IANE;IAUA;;;AYPH;EACC;EACA;EAEA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;;ACrBF;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AbPC;EAFD;IANE;IAAA;IAAA;IAUA;;;AcDH;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EAEA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EdnBC,eACC;EAED,gBACC;;;AevCH;EACC;EACA;EACA;;AAEA;EACC;EACA;;;AAIF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;EACA;;;AC5BD;EACC;EACA;EACA;;;AAIA;EACC;EACA;;AACA;EACC;EACA;;;AALF;EACC;EACA;;AACA;EACC;EACA;;;AhBAD;EAFD;IANE;IAAA;IAUA;;;AiBJH;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AjBpCC;EAFD;IANE;IAAA;IAAA;IAAA;IAUA;;;AkBEH;EACC;EACA;EACA;EAEA;EAEA;ElBmBC,eACC;EAED,gBACC;EkBrBF;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;;;AAIF;EACC;;;AC1CD;EACC;;AAEA;EAEC;EACA;EACA;EACA;;;AnBIA;EAFD;IANE;IAUA;;;AoBPH;EACC;;;AAGD;EACC;;;ACZD;EACC","file":"theme.module.css"}
|
package/package.json
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"rvx"
|
|
13
13
|
],
|
|
14
14
|
"license": "MIT",
|
|
15
|
-
"version": "0.1.
|
|
15
|
+
"version": "0.1.9",
|
|
16
16
|
"type": "module",
|
|
17
17
|
"main": "./dist/index.js",
|
|
18
18
|
"sideEffects": false,
|
|
@@ -28,6 +28,6 @@
|
|
|
28
28
|
"./dist/": "./dist/"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"rvx": "^
|
|
31
|
+
"rvx": "^18.6.2"
|
|
32
32
|
}
|
|
33
33
|
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { extract } from "rvx";
|
|
2
|
-
|
|
3
1
|
import { THEME, Theme } from "./theme.js";
|
|
4
2
|
|
|
5
3
|
/**
|
|
@@ -8,7 +6,7 @@ import { THEME, Theme } from "./theme.js";
|
|
|
8
6
|
* @throws An error if the current theme doesn't support the specified key.
|
|
9
7
|
*/
|
|
10
8
|
export function themeClass(key: keyof Theme): string {
|
|
11
|
-
const theme =
|
|
9
|
+
const theme = THEME.current;
|
|
12
10
|
if (!theme) {
|
|
13
11
|
throw new Error("theme is not available in the current context");
|
|
14
12
|
}
|
package/src/common/theme.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Context } from "rvx";
|
|
2
2
|
|
|
3
|
-
export const THEME =
|
|
3
|
+
export const THEME = new Context<Theme | undefined>(undefined);
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* A collection of class names that is used as the theme.
|
|
@@ -37,6 +37,16 @@ export interface Theme {
|
|
|
37
37
|
button_warning?: string;
|
|
38
38
|
/** Additional class for buttons with the "input" variant */
|
|
39
39
|
button_input?: string;
|
|
40
|
+
/** Additional class for buttons with the "text" variant */
|
|
41
|
+
button_text?: string;
|
|
42
|
+
|
|
43
|
+
card?: string;
|
|
44
|
+
card_content?: string;
|
|
45
|
+
card_default?: string;
|
|
46
|
+
card_info?: string;
|
|
47
|
+
card_success?: string;
|
|
48
|
+
card_warning?: string;
|
|
49
|
+
card_danger?: string;
|
|
40
50
|
|
|
41
51
|
/** Class for all checkbox containing labels */
|
|
42
52
|
checkbox_label?: string;
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { ClassValue, Expression,
|
|
1
|
+
import { ClassValue, Expression, get, optionalString, StyleValue } from "rvx";
|
|
2
2
|
import { isPending } from "rvx/async";
|
|
3
|
-
|
|
4
3
|
import { Action, handleActionEvent, keyFor } from "../common/events.js";
|
|
5
4
|
import { THEME } from "../common/theme.js";
|
|
6
5
|
import { Validator } from "./validation.js";
|
|
7
6
|
|
|
8
7
|
export type ButtonType = "button" | "submit" | "reset" | "menu";
|
|
9
|
-
export type ButtonVariant = "default" | "primary" | "success" | "danger" | "warning" | "input";
|
|
8
|
+
export type ButtonVariant = "default" | "primary" | "success" | "danger" | "warning" | "input" | "text";
|
|
10
9
|
|
|
11
10
|
export function Button(props: {
|
|
12
11
|
/**
|
|
@@ -50,7 +49,7 @@ export function Button(props: {
|
|
|
50
49
|
|
|
51
50
|
children?: unknown;
|
|
52
51
|
}): unknown {
|
|
53
|
-
const theme =
|
|
52
|
+
const theme = THEME.current;
|
|
54
53
|
const disabled = () => isPending() || get(props.disabled);
|
|
55
54
|
|
|
56
55
|
function action(event: Event) {
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Expression, get } from "rvx";
|
|
2
|
+
import { THEME } from "../common/theme.js";
|
|
3
|
+
import { Column } from "./column.js";
|
|
4
|
+
|
|
5
|
+
export type CardVariant = "default" | "info" | "success" | "warning" | "danger";
|
|
6
|
+
|
|
7
|
+
export function Card(props: {
|
|
8
|
+
variant?: Expression<CardVariant | undefined>;
|
|
9
|
+
children?: unknown;
|
|
10
|
+
}): unknown {
|
|
11
|
+
const theme = THEME.current;
|
|
12
|
+
return <div
|
|
13
|
+
class={[
|
|
14
|
+
theme?.card,
|
|
15
|
+
() => theme?.[`card_${get(props.variant) ?? "default"}`],
|
|
16
|
+
]}
|
|
17
|
+
>
|
|
18
|
+
<Column class={theme?.card_content}>
|
|
19
|
+
{props.children}
|
|
20
|
+
</Column>
|
|
21
|
+
</div>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { ENV } from "rvx";
|
|
2
|
+
import { themeClass } from "../common/theme-test.js";
|
|
3
|
+
|
|
4
|
+
function assertCheckbox(checkbox: Element): asserts checkbox is HTMLElement {
|
|
5
|
+
if (!checkbox.matches(`.${themeClass("checkbox_label")}`)) {
|
|
6
|
+
throw new Error("checkbox must be a checkbox root element.");
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
function getInput(checkbox: HTMLElement): HTMLInputElement {
|
|
11
|
+
return checkbox.querySelector("input")!;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export function isCheckboxChecked(checkbox: Element): boolean | undefined {
|
|
15
|
+
assertCheckbox(checkbox);
|
|
16
|
+
const input = getInput(checkbox);
|
|
17
|
+
return input.indeterminate ? undefined : input.checked;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export function toggleCheckbox(checkbox: Element, checked?: boolean): void {
|
|
21
|
+
assertCheckbox(checkbox);
|
|
22
|
+
const input = getInput(checkbox);
|
|
23
|
+
if (input.disabled) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
checked ??= !input.checked;
|
|
27
|
+
input.indeterminate = false;
|
|
28
|
+
input.checked = checked;
|
|
29
|
+
input.dispatchEvent(new ENV.current.CustomEvent("input"));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function getCheckboxContent(checkbox: Element): HTMLElement {
|
|
33
|
+
assertCheckbox(checkbox);
|
|
34
|
+
return checkbox.querySelector(`.${themeClass("checkbox_content")}`) as HTMLElement;
|
|
35
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { ClassValue, Expression,
|
|
1
|
+
import { ClassValue, Expression, get, optionalString, Signal, string, StyleValue, watch } from "rvx";
|
|
2
2
|
import { isPending } from "rvx/async";
|
|
3
|
+
import { uniqueId } from "rvx/id";
|
|
3
4
|
|
|
4
5
|
import { THEME } from "../common/theme.js";
|
|
5
6
|
import { Text } from "./text.js";
|
|
@@ -16,7 +17,7 @@ export function Checkbox(props: {
|
|
|
16
17
|
children?: unknown;
|
|
17
18
|
}): unknown {
|
|
18
19
|
const id = uniqueId();
|
|
19
|
-
const theme =
|
|
20
|
+
const theme = THEME.current;
|
|
20
21
|
|
|
21
22
|
const disabled = props.checked instanceof Signal
|
|
22
23
|
? () => isPending() || get(props.disabled)
|
|
@@ -41,11 +42,8 @@ export function Checkbox(props: {
|
|
|
41
42
|
/> as HTMLInputElement;
|
|
42
43
|
|
|
43
44
|
watch(props.checked, checked => {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
} else {
|
|
47
|
-
input.checked = checked;
|
|
48
|
-
}
|
|
45
|
+
input.indeterminate = checked === undefined;
|
|
46
|
+
input.checked = checked === true;
|
|
49
47
|
});
|
|
50
48
|
|
|
51
49
|
return <label
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ClassValue,
|
|
2
|
-
|
|
1
|
+
import { ClassValue, Expression, get, map, optionalString, sig, StyleValue, teardown } from "rvx";
|
|
2
|
+
import { Event } from "rvx/event";
|
|
3
3
|
import { THEME } from "../common/theme.js";
|
|
4
4
|
import { AriaLive, AriaRelevant } from "../common/types.js";
|
|
5
5
|
|
|
@@ -14,7 +14,7 @@ export function Collapse(props: {
|
|
|
14
14
|
"aria-relevant"?: Expression<AriaRelevant | undefined>;
|
|
15
15
|
"aria-atomic"?: Expression<boolean | undefined>;
|
|
16
16
|
}): unknown {
|
|
17
|
-
const theme =
|
|
17
|
+
const theme = THEME.current;
|
|
18
18
|
const visible = map(props.visible, v => v ?? false);
|
|
19
19
|
const alert = sig(false);
|
|
20
20
|
const size = sig<number | undefined>(undefined);
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { ClassValue, Expression,
|
|
2
|
-
|
|
1
|
+
import { ClassValue, Expression, map, StyleValue } from "rvx";
|
|
3
2
|
import { THEME } from "../common/theme.js";
|
|
4
3
|
import { SizeContext } from "../common/types.js";
|
|
5
4
|
|
|
@@ -13,7 +12,7 @@ export function Column(props: {
|
|
|
13
12
|
id?: Expression<string | undefined>;
|
|
14
13
|
children?: unknown;
|
|
15
14
|
}): unknown {
|
|
16
|
-
const theme =
|
|
15
|
+
const theme = THEME.current;
|
|
17
16
|
return <div
|
|
18
17
|
class={[
|
|
19
18
|
theme?.column,
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { ClassValue, Expression,
|
|
2
|
-
|
|
1
|
+
import { ClassValue, Expression, StyleValue } from "rvx";
|
|
3
2
|
import { THEME } from "../common/theme.js";
|
|
4
3
|
|
|
5
4
|
export function ControlGroup(props: {
|
|
@@ -8,7 +7,7 @@ export function ControlGroup(props: {
|
|
|
8
7
|
id?: Expression<string | undefined>;
|
|
9
8
|
children?: unknown;
|
|
10
9
|
}): unknown {
|
|
11
|
-
const theme =
|
|
10
|
+
const theme = THEME.current;
|
|
12
11
|
return <div
|
|
13
12
|
class={[
|
|
14
13
|
theme?.control_group,
|