@vanduo-oss/framework 1.3.9 → 1.4.1
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/README.md +89 -42
- package/css/components/affix.css +12 -12
- package/css/components/alerts.css +70 -70
- package/css/components/avatar.css +78 -78
- package/css/components/badges.css +67 -67
- package/css/components/breadcrumbs.css +32 -32
- package/css/components/bubble.css +40 -40
- package/css/components/button-group.css +2 -2
- package/css/components/buttons.css +157 -157
- package/css/components/cards.css +79 -79
- package/css/components/chips.css +50 -50
- package/css/components/code-snippet.css +132 -132
- package/css/components/collapsible.css +67 -67
- package/css/components/collections.css +68 -68
- package/css/components/datepicker.css +54 -54
- package/css/components/doc-search.css +96 -103
- package/css/components/doc-tabs.css +11 -11
- package/css/components/draggable.css +77 -77
- package/css/components/dropdown.css +50 -50
- package/css/components/expanding-cards.css +1 -1
- package/css/components/fab.css +61 -61
- package/css/components/flow.css +55 -55
- package/css/components/footer.css +62 -62
- package/css/components/forms.css +437 -425
- package/css/components/image-box.css +50 -54
- package/css/components/modals.css +51 -51
- package/css/components/music-player.css +150 -150
- package/css/components/navbar.css +80 -80
- package/css/components/pagination.css +51 -51
- package/css/components/preloader.css +19 -19
- package/css/components/progress.css +20 -20
- package/css/components/rating.css +19 -19
- package/css/components/ripple.css +10 -10
- package/css/components/sidenav.css +72 -72
- package/css/components/skeleton.css +17 -16
- package/css/components/spinner.css +33 -33
- package/css/components/spotlight.css +33 -33
- package/css/components/stepper.css +39 -39
- package/css/components/suggest.css +37 -37
- package/css/components/tabs.css +60 -60
- package/css/components/theme-customizer.css +154 -154
- package/css/components/timeline.css +50 -50
- package/css/components/timepicker.css +29 -29
- package/css/components/toast.css +53 -53
- package/css/components/tooltips.css +78 -78
- package/css/components/transfer.css +37 -37
- package/css/components/tree.css +28 -28
- package/css/components/waypoint.css +12 -12
- package/css/core/colors.css +640 -640
- package/css/core/grid.css +127 -132
- package/css/core/helpers.css +349 -349
- package/css/core/tokens.css +133 -67
- package/css/core/typography.css +105 -103
- package/css/effects/morph.css +21 -21
- package/css/effects/parallax.css +6 -6
- package/css/utilities/color-utilities.css +273 -273
- package/css/utilities/media.css +4 -4
- package/css/utilities/shadow.css +75 -75
- package/css/utilities/table.css +64 -64
- package/css/utilities/transitions.css +53 -41
- package/css/vanduo.css +14 -35
- package/dist/build-info.json +3 -3
- package/dist/vanduo.cjs.js +947 -307
- package/dist/vanduo.cjs.js.map +3 -3
- package/dist/vanduo.cjs.min.js +7 -7
- package/dist/vanduo.cjs.min.js.map +3 -3
- package/dist/vanduo.css +9650 -9656
- package/dist/vanduo.css.map +1 -1
- package/dist/vanduo.esm.js +947 -307
- package/dist/vanduo.esm.js.map +3 -3
- package/dist/vanduo.esm.min.js +7 -7
- package/dist/vanduo.esm.min.js.map +3 -3
- package/dist/vanduo.js +947 -307
- package/dist/vanduo.js.map +3 -3
- package/dist/vanduo.min.css +2 -2
- package/dist/vanduo.min.css.map +1 -1
- package/dist/vanduo.min.js +7 -7
- package/dist/vanduo.min.js.map +3 -3
- package/js/components/affix.js +4 -4
- package/js/components/bubble.js +3 -3
- package/js/components/code-snippet.js +129 -5
- package/js/components/collapsible.js +2 -3
- package/js/components/datepicker.js +2 -2
- package/js/components/doc-search.js +69 -11
- package/js/components/draggable.js +4 -4
- package/js/components/dropdown.js +2 -3
- package/js/components/expanding-cards.js +2 -2
- package/js/components/flow.js +2 -2
- package/js/components/font-switcher.js +23 -13
- package/js/components/glass.js +2 -2
- package/js/components/grid.js +19 -8
- package/js/components/image-box.js +51 -12
- package/js/components/lazy-load.js +81 -9
- package/js/components/modals.js +28 -12
- package/js/components/morph.js +3 -3
- package/js/components/music-player.js +13 -13
- package/js/components/navbar.js +3 -3
- package/js/components/pagination.js +2 -3
- package/js/components/parallax.js +9 -10
- package/js/components/preloader.js +15 -6
- package/js/components/rating.js +2 -2
- package/js/components/ripple.js +2 -2
- package/js/components/select.js +2 -3
- package/js/components/sidenav.js +43 -14
- package/js/components/spotlight.js +2 -2
- package/js/components/stepper.js +2 -2
- package/js/components/suggest.js +9 -3
- package/js/components/tabs.js +2 -2
- package/js/components/theme-customizer.js +155 -25
- package/js/components/theme-switcher.js +27 -16
- package/js/components/timeline.js +41 -12
- package/js/components/timepicker.js +2 -2
- package/js/components/toast.js +1 -1
- package/js/components/tooltips.js +4 -4
- package/js/components/transfer.js +2 -2
- package/js/components/tree.js +2 -2
- package/js/components/validate.js +2 -2
- package/js/components/vd-hex.js +10 -6
- package/js/components/waypoint.js +2 -2
- package/js/utils/helpers.js +7 -4
- package/js/utils/lifecycle.js +158 -83
- package/js/vanduo.js +203 -34
- package/package.json +2 -1
- package/css/core/vd-aliases.css +0 -60
package/css/components/forms.css
CHANGED
|
@@ -3,62 +3,67 @@
|
|
|
3
3
|
* Form components: inputs, textareas, labels, and validation
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
/* stylelint-disable-next-line no-duplicate-selectors -- control-specific tokens stay grouped near their rules. */
|
|
6
7
|
:root {
|
|
7
8
|
/* Input Padding (Fibonacci pairs: x/y ratio ~ phi)
|
|
8
9
|
* sm: 8px/5px = 1.6 ~ phi
|
|
9
10
|
* base: 13px/8px = 1.625 ~ phi
|
|
10
11
|
* lg: 21px/13px = 1.615 ~ phi */
|
|
11
|
-
--input-padding-x-sm: 0.5rem;
|
|
12
|
+
--vd-input-padding-x-sm: 0.5rem;
|
|
12
13
|
/* 8px - fib */
|
|
13
|
-
--input-padding-y-sm: 0.3125rem;
|
|
14
|
+
--vd-input-padding-y-sm: 0.3125rem;
|
|
14
15
|
/* 5px - fib */
|
|
15
|
-
--input-padding-x: 0.8125rem;
|
|
16
|
+
--vd-input-padding-x: 0.8125rem;
|
|
16
17
|
/* 13px - fib */
|
|
17
|
-
--input-padding-y: 0.5rem;
|
|
18
|
+
--vd-input-padding-y: 0.5rem;
|
|
18
19
|
/* 8px - fib */
|
|
19
|
-
--input-padding-x-lg: 1.3125rem;
|
|
20
|
+
--vd-input-padding-x-lg: 1.3125rem;
|
|
20
21
|
/* 21px - fib */
|
|
21
|
-
--input-padding-y-lg: 0.8125rem;
|
|
22
|
+
--vd-input-padding-y-lg: 0.8125rem;
|
|
22
23
|
/* 13px - fib */
|
|
23
24
|
|
|
24
25
|
/* Input Font Sizes */
|
|
25
|
-
--input-font-size-sm: var(--font-size-sm);
|
|
26
|
-
--input-font-size: var(--font-size-base);
|
|
27
|
-
--input-font-size-lg: var(--font-size-lg);
|
|
26
|
+
--vd-input-font-size-sm: var(--vd-font-size-sm);
|
|
27
|
+
--vd-input-font-size: var(--vd-font-size-base);
|
|
28
|
+
--vd-input-font-size-lg: var(--vd-font-size-lg);
|
|
28
29
|
|
|
29
30
|
/* Input Border */
|
|
30
|
-
--input-border-width: 1px;
|
|
31
|
-
--input-border-color: var(--border-color);
|
|
32
|
-
--input-border-radius: var(--btn-border-radius);
|
|
33
|
-
--input-border-radius-sm: var(--btn-border-radius-sm);
|
|
34
|
-
--input-border-radius-lg: var(--btn-border-radius-lg);
|
|
31
|
+
--vd-input-border-width: 1px;
|
|
32
|
+
--vd-input-border-color: var(--vd-border-color);
|
|
33
|
+
--vd-input-border-radius: var(--vd-btn-border-radius);
|
|
34
|
+
--vd-input-border-radius-sm: var(--vd-btn-border-radius-sm);
|
|
35
|
+
--vd-input-border-radius-lg: var(--vd-btn-border-radius-lg);
|
|
35
36
|
|
|
36
37
|
/* Input Background */
|
|
37
|
-
--input-bg: var(--color-white);
|
|
38
|
-
--input-bg-disabled: var(--bg-secondary);
|
|
38
|
+
--vd-input-bg: var(--vd-color-white);
|
|
39
|
+
--vd-input-bg-disabled: var(--vd-bg-secondary);
|
|
39
40
|
|
|
40
41
|
/* Input Focus */
|
|
41
|
-
--input-focus-border-color: var(--color-primary);
|
|
42
|
-
--input-focus-box-shadow: 0 0 0 3px var(--color-primary-alpha-20);
|
|
42
|
+
--vd-input-focus-border-color: var(--vd-color-primary);
|
|
43
|
+
--vd-input-focus-box-shadow: 0 0 0 3px var(--vd-color-primary-alpha-20);
|
|
43
44
|
|
|
44
45
|
/* Input Transitions */
|
|
45
|
-
--input-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
|
|
46
|
+
--vd-input-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
/* Dark Theme Overrides */
|
|
49
50
|
[data-theme="dark"] {
|
|
50
|
-
--input-bg: var(--bg-secondary);
|
|
51
|
-
--input-bg-disabled: var(--bg-tertiary);
|
|
51
|
+
--vd-input-bg: var(--vd-bg-secondary);
|
|
52
|
+
--vd-input-bg-disabled: var(--vd-bg-tertiary);
|
|
52
53
|
}
|
|
53
54
|
|
|
54
55
|
@media (prefers-color-scheme: dark) {
|
|
55
56
|
:root:not([data-theme]) {
|
|
56
|
-
--input-bg: var(--bg-secondary);
|
|
57
|
-
--input-bg-disabled: var(--bg-tertiary);
|
|
57
|
+
--vd-input-bg: var(--vd-bg-secondary);
|
|
58
|
+
--vd-input-bg-disabled: var(--vd-bg-tertiary);
|
|
58
59
|
}
|
|
59
60
|
}
|
|
60
61
|
|
|
61
|
-
/* Base Input
|
|
62
|
+
/* Base Input
|
|
63
|
+
* The main bundle intentionally styles both `.vd-*` controls and native form
|
|
64
|
+
* elements for full-page framework usage. Keep new raw element selectors in
|
|
65
|
+
* reset/base layers; component-specific styling should prefer `.vd-*` hooks.
|
|
66
|
+
*/
|
|
62
67
|
.vd-input,
|
|
63
68
|
input[type="text"],
|
|
64
69
|
input[type="email"],
|
|
@@ -72,16 +77,16 @@ input[type="time"],
|
|
|
72
77
|
input[type="datetime-local"] {
|
|
73
78
|
display: block;
|
|
74
79
|
width: 100%;
|
|
75
|
-
padding: var(--input-padding-y) var(--input-padding-x);
|
|
76
|
-
font-family: var(--font-family-sans);
|
|
77
|
-
font-size: var(--input-font-size);
|
|
78
|
-
font-weight: var(--font-weight-normal);
|
|
79
|
-
line-height: var(--line-height-normal);
|
|
80
|
-
color: var(--text-primary);
|
|
81
|
-
background-color: var(--input-bg);
|
|
82
|
-
border: var(--input-border-width) solid var(--input-border-color);
|
|
83
|
-
border-radius: var(--input-border-radius);
|
|
84
|
-
transition: var(--input-transition);
|
|
80
|
+
padding: var(--vd-input-padding-y) var(--vd-input-padding-x);
|
|
81
|
+
font-family: var(--vd-font-family-sans);
|
|
82
|
+
font-size: var(--vd-input-font-size);
|
|
83
|
+
font-weight: var(--vd-font-weight-normal);
|
|
84
|
+
line-height: var(--vd-line-height-normal);
|
|
85
|
+
color: var(--vd-text-primary);
|
|
86
|
+
background-color: var(--vd-input-bg);
|
|
87
|
+
border: var(--vd-input-border-width) solid var(--vd-input-border-color);
|
|
88
|
+
border-radius: var(--vd-input-border-radius);
|
|
89
|
+
transition: var(--vd-input-transition);
|
|
85
90
|
appearance: none;
|
|
86
91
|
}
|
|
87
92
|
|
|
@@ -97,13 +102,13 @@ input[type="date"]:focus,
|
|
|
97
102
|
input[type="time"]:focus,
|
|
98
103
|
input[type="datetime-local"]:focus {
|
|
99
104
|
outline: 0;
|
|
100
|
-
border-color: var(--input-focus-border-color);
|
|
101
|
-
box-shadow: var(--input-focus-box-shadow);
|
|
105
|
+
border-color: var(--vd-input-focus-border-color);
|
|
106
|
+
box-shadow: var(--vd-input-focus-box-shadow);
|
|
102
107
|
}
|
|
103
108
|
|
|
104
109
|
.vd-input::placeholder,
|
|
105
110
|
input::placeholder {
|
|
106
|
-
color: var(--text-muted);
|
|
111
|
+
color: var(--vd-text-muted);
|
|
107
112
|
opacity: 1;
|
|
108
113
|
}
|
|
109
114
|
|
|
@@ -111,7 +116,7 @@ input::placeholder {
|
|
|
111
116
|
input:disabled,
|
|
112
117
|
.vd-input.disabled,
|
|
113
118
|
input.disabled {
|
|
114
|
-
background-color: var(--input-bg-disabled);
|
|
119
|
+
background-color: var(--vd-input-bg-disabled);
|
|
115
120
|
opacity: 0.6;
|
|
116
121
|
cursor: not-allowed;
|
|
117
122
|
}
|
|
@@ -121,16 +126,16 @@ input.disabled {
|
|
|
121
126
|
textarea {
|
|
122
127
|
display: block;
|
|
123
128
|
width: 100%;
|
|
124
|
-
padding: var(--input-padding-y) var(--input-padding-x);
|
|
125
|
-
font-family: var(--font-family-sans);
|
|
126
|
-
font-size: var(--input-font-size);
|
|
127
|
-
font-weight: var(--font-weight-normal);
|
|
128
|
-
line-height: var(--line-height-normal);
|
|
129
|
-
color: var(--text-primary);
|
|
130
|
-
background-color: var(--input-bg);
|
|
131
|
-
border: var(--input-border-width) solid var(--input-border-color);
|
|
132
|
-
border-radius: var(--input-border-radius);
|
|
133
|
-
transition: var(--input-transition);
|
|
129
|
+
padding: var(--vd-input-padding-y) var(--vd-input-padding-x);
|
|
130
|
+
font-family: var(--vd-font-family-sans);
|
|
131
|
+
font-size: var(--vd-input-font-size);
|
|
132
|
+
font-weight: var(--vd-font-weight-normal);
|
|
133
|
+
line-height: var(--vd-line-height-normal);
|
|
134
|
+
color: var(--vd-text-primary);
|
|
135
|
+
background-color: var(--vd-input-bg);
|
|
136
|
+
border: var(--vd-input-border-width) solid var(--vd-input-border-color);
|
|
137
|
+
border-radius: var(--vd-input-border-radius);
|
|
138
|
+
transition: var(--vd-input-transition);
|
|
134
139
|
resize: vertical;
|
|
135
140
|
min-height: 100px;
|
|
136
141
|
}
|
|
@@ -138,13 +143,13 @@ textarea {
|
|
|
138
143
|
.textarea:focus,
|
|
139
144
|
textarea:focus {
|
|
140
145
|
outline: 0;
|
|
141
|
-
border-color: var(--input-focus-border-color);
|
|
142
|
-
box-shadow: var(--input-focus-box-shadow);
|
|
146
|
+
border-color: var(--vd-input-focus-border-color);
|
|
147
|
+
box-shadow: var(--vd-input-focus-box-shadow);
|
|
143
148
|
}
|
|
144
149
|
|
|
145
150
|
.textarea::placeholder,
|
|
146
151
|
textarea::placeholder {
|
|
147
|
-
color: var(--text-muted);
|
|
152
|
+
color: var(--vd-text-muted);
|
|
148
153
|
opacity: 1;
|
|
149
154
|
}
|
|
150
155
|
|
|
@@ -152,7 +157,7 @@ textarea::placeholder {
|
|
|
152
157
|
textarea:disabled,
|
|
153
158
|
.textarea.disabled,
|
|
154
159
|
textarea.disabled {
|
|
155
|
-
background-color: var(--input-bg-disabled);
|
|
160
|
+
background-color: var(--vd-input-bg-disabled);
|
|
156
161
|
opacity: 0.6;
|
|
157
162
|
cursor: not-allowed;
|
|
158
163
|
}
|
|
@@ -165,31 +170,31 @@ textarea.no-resize {
|
|
|
165
170
|
/* Input Sizes - Small */
|
|
166
171
|
.vd-input-sm,
|
|
167
172
|
input.vd-input-sm {
|
|
168
|
-
padding: var(--input-padding-y-sm) var(--input-padding-x-sm);
|
|
169
|
-
font-size: var(--input-font-size-sm);
|
|
170
|
-
border-radius: var(--input-border-radius-sm);
|
|
173
|
+
padding: var(--vd-input-padding-y-sm) var(--vd-input-padding-x-sm);
|
|
174
|
+
font-size: var(--vd-input-font-size-sm);
|
|
175
|
+
border-radius: var(--vd-input-border-radius-sm);
|
|
171
176
|
}
|
|
172
177
|
|
|
173
178
|
.textarea-sm,
|
|
174
179
|
textarea.textarea-sm {
|
|
175
|
-
padding: var(--input-padding-y-sm) var(--input-padding-x-sm);
|
|
176
|
-
font-size: var(--input-font-size-sm);
|
|
177
|
-
border-radius: var(--input-border-radius-sm);
|
|
180
|
+
padding: var(--vd-input-padding-y-sm) var(--vd-input-padding-x-sm);
|
|
181
|
+
font-size: var(--vd-input-font-size-sm);
|
|
182
|
+
border-radius: var(--vd-input-border-radius-sm);
|
|
178
183
|
}
|
|
179
184
|
|
|
180
185
|
/* Input Sizes - Large */
|
|
181
186
|
.vd-input-lg,
|
|
182
187
|
input.vd-input-lg {
|
|
183
|
-
padding: var(--input-padding-y-lg) var(--input-padding-x-lg);
|
|
184
|
-
font-size: var(--input-font-size-lg);
|
|
185
|
-
border-radius: var(--input-border-radius-lg);
|
|
188
|
+
padding: var(--vd-input-padding-y-lg) var(--vd-input-padding-x-lg);
|
|
189
|
+
font-size: var(--vd-input-font-size-lg);
|
|
190
|
+
border-radius: var(--vd-input-border-radius-lg);
|
|
186
191
|
}
|
|
187
192
|
|
|
188
193
|
.textarea-lg,
|
|
189
194
|
textarea.textarea-lg {
|
|
190
|
-
padding: var(--input-padding-y-lg) var(--input-padding-x-lg);
|
|
191
|
-
font-size: var(--input-font-size-lg);
|
|
192
|
-
border-radius: var(--input-border-radius-lg);
|
|
195
|
+
padding: var(--vd-input-padding-y-lg) var(--vd-input-padding-x-lg);
|
|
196
|
+
font-size: var(--vd-input-font-size-lg);
|
|
197
|
+
border-radius: var(--vd-input-border-radius-lg);
|
|
193
198
|
}
|
|
194
199
|
|
|
195
200
|
/* Input States - Error */
|
|
@@ -197,41 +202,41 @@ textarea.textarea-lg {
|
|
|
197
202
|
input.vd-input-error,
|
|
198
203
|
.vd-input.is-error,
|
|
199
204
|
input.is-error {
|
|
200
|
-
border-color: var(--color-error);
|
|
205
|
+
border-color: var(--vd-color-error);
|
|
201
206
|
}
|
|
202
207
|
|
|
203
208
|
.vd-input-invalid,
|
|
204
209
|
input.vd-input-invalid {
|
|
205
|
-
border-color: var(--color-error);
|
|
210
|
+
border-color: var(--vd-color-error);
|
|
206
211
|
}
|
|
207
212
|
|
|
208
213
|
.vd-input-error:focus,
|
|
209
214
|
input.vd-input-error:focus,
|
|
210
215
|
.vd-input.is-error:focus,
|
|
211
216
|
input.is-error:focus {
|
|
212
|
-
border-color: var(--color-error);
|
|
213
|
-
box-shadow: 0 0 0 3px var(--color-error-alpha-10);
|
|
217
|
+
border-color: var(--vd-color-error);
|
|
218
|
+
box-shadow: 0 0 0 3px var(--vd-color-error-alpha-10);
|
|
214
219
|
}
|
|
215
220
|
|
|
216
221
|
.vd-input-invalid:focus,
|
|
217
222
|
input.vd-input-invalid:focus {
|
|
218
|
-
border-color: var(--color-error);
|
|
219
|
-
box-shadow: 0 0 0 3px var(--color-error-alpha-10);
|
|
223
|
+
border-color: var(--vd-color-error);
|
|
224
|
+
box-shadow: 0 0 0 3px var(--vd-color-error-alpha-10);
|
|
220
225
|
}
|
|
221
226
|
|
|
222
227
|
.textarea-error,
|
|
223
228
|
textarea.textarea-error,
|
|
224
229
|
.textarea.is-error,
|
|
225
230
|
textarea.is-error {
|
|
226
|
-
border-color: var(--color-error);
|
|
231
|
+
border-color: var(--vd-color-error);
|
|
227
232
|
}
|
|
228
233
|
|
|
229
234
|
.textarea-error:focus,
|
|
230
235
|
textarea.textarea-error:focus,
|
|
231
236
|
.textarea.is-error:focus,
|
|
232
237
|
textarea.is-error:focus {
|
|
233
|
-
border-color: var(--color-error);
|
|
234
|
-
box-shadow: 0 0 0 3px var(--color-error-alpha-10);
|
|
238
|
+
border-color: var(--vd-color-error);
|
|
239
|
+
box-shadow: 0 0 0 3px var(--vd-color-error-alpha-10);
|
|
235
240
|
}
|
|
236
241
|
|
|
237
242
|
/* Input States - Success */
|
|
@@ -239,41 +244,41 @@ textarea.is-error:focus {
|
|
|
239
244
|
input.vd-input-success,
|
|
240
245
|
.vd-input.is-success,
|
|
241
246
|
input.is-success {
|
|
242
|
-
border-color: var(--color-success);
|
|
247
|
+
border-color: var(--vd-color-success);
|
|
243
248
|
}
|
|
244
249
|
|
|
245
250
|
.vd-input-valid,
|
|
246
251
|
input.vd-input-valid {
|
|
247
|
-
border-color: var(--color-success);
|
|
252
|
+
border-color: var(--vd-color-success);
|
|
248
253
|
}
|
|
249
254
|
|
|
250
255
|
.vd-input-success:focus,
|
|
251
256
|
input.vd-input-success:focus,
|
|
252
257
|
.vd-input.is-success:focus,
|
|
253
258
|
input.is-success:focus {
|
|
254
|
-
border-color: var(--color-success);
|
|
255
|
-
box-shadow: 0 0 0 3px var(--color-success-alpha-10);
|
|
259
|
+
border-color: var(--vd-color-success);
|
|
260
|
+
box-shadow: 0 0 0 3px var(--vd-color-success-alpha-10);
|
|
256
261
|
}
|
|
257
262
|
|
|
258
263
|
.vd-input-valid:focus,
|
|
259
264
|
input.vd-input-valid:focus {
|
|
260
|
-
border-color: var(--color-success);
|
|
261
|
-
box-shadow: 0 0 0 3px var(--color-success-alpha-10);
|
|
265
|
+
border-color: var(--vd-color-success);
|
|
266
|
+
box-shadow: 0 0 0 3px var(--vd-color-success-alpha-10);
|
|
262
267
|
}
|
|
263
268
|
|
|
264
269
|
.textarea-success,
|
|
265
270
|
textarea.textarea-success,
|
|
266
271
|
.textarea.is-success,
|
|
267
272
|
textarea.is-success {
|
|
268
|
-
border-color: var(--color-success);
|
|
273
|
+
border-color: var(--vd-color-success);
|
|
269
274
|
}
|
|
270
275
|
|
|
271
276
|
.textarea-success:focus,
|
|
272
277
|
textarea.textarea-success:focus,
|
|
273
278
|
.textarea.is-success:focus,
|
|
274
279
|
textarea.is-success:focus {
|
|
275
|
-
border-color: var(--color-success);
|
|
276
|
-
box-shadow: 0 0 0 3px var(--color-success-alpha-10);
|
|
280
|
+
border-color: var(--vd-color-success);
|
|
281
|
+
box-shadow: 0 0 0 3px var(--vd-color-success-alpha-10);
|
|
277
282
|
}
|
|
278
283
|
|
|
279
284
|
/* Labels */
|
|
@@ -281,26 +286,26 @@ textarea.is-success:focus {
|
|
|
281
286
|
label {
|
|
282
287
|
display: inline-block;
|
|
283
288
|
margin-bottom: 0.5rem;
|
|
284
|
-
font-size: var(--font-size-sm);
|
|
285
|
-
font-weight: var(--font-weight-medium);
|
|
286
|
-
color: var(--text-primary);
|
|
287
|
-
line-height: var(--line-height-normal);
|
|
289
|
+
font-size: var(--vd-font-size-sm);
|
|
290
|
+
font-weight: var(--vd-font-weight-medium);
|
|
291
|
+
color: var(--vd-text-primary);
|
|
292
|
+
line-height: var(--vd-line-height-normal);
|
|
288
293
|
}
|
|
289
294
|
|
|
290
295
|
.label-required::after,
|
|
291
296
|
label.required::after {
|
|
292
297
|
content: " *";
|
|
293
|
-
color: var(--color-error);
|
|
298
|
+
color: var(--vd-color-error);
|
|
294
299
|
}
|
|
295
300
|
|
|
296
301
|
.label-sm,
|
|
297
302
|
label.label-sm {
|
|
298
|
-
font-size: var(--font-size-xs);
|
|
303
|
+
font-size: var(--vd-font-size-xs);
|
|
299
304
|
}
|
|
300
305
|
|
|
301
306
|
.label-lg,
|
|
302
307
|
label.label-lg {
|
|
303
|
-
font-size: var(--font-size-base);
|
|
308
|
+
font-size: var(--vd-font-size-base);
|
|
304
309
|
}
|
|
305
310
|
|
|
306
311
|
/* Form Groups */
|
|
@@ -318,38 +323,38 @@ label.label-lg {
|
|
|
318
323
|
.error-message {
|
|
319
324
|
display: block;
|
|
320
325
|
margin-top: 0.5rem;
|
|
321
|
-
font-size: var(--font-size-sm);
|
|
322
|
-
color: var(--color-error);
|
|
326
|
+
font-size: var(--vd-font-size-sm);
|
|
327
|
+
color: var(--vd-color-error);
|
|
323
328
|
}
|
|
324
329
|
|
|
325
330
|
.vd-form-feedback {
|
|
326
331
|
display: block;
|
|
327
332
|
margin-top: 0.5rem;
|
|
328
|
-
font-size: var(--font-size-sm);
|
|
333
|
+
font-size: var(--vd-font-size-sm);
|
|
329
334
|
}
|
|
330
335
|
|
|
331
336
|
.vd-form-feedback-invalid {
|
|
332
|
-
color: var(--color-error);
|
|
337
|
+
color: var(--vd-color-error);
|
|
333
338
|
}
|
|
334
339
|
|
|
335
340
|
.vd-form-success,
|
|
336
341
|
.success-message {
|
|
337
342
|
display: block;
|
|
338
343
|
margin-top: 0.5rem;
|
|
339
|
-
font-size: var(--font-size-sm);
|
|
340
|
-
color: var(--color-success);
|
|
344
|
+
font-size: var(--vd-font-size-sm);
|
|
345
|
+
color: var(--vd-color-success);
|
|
341
346
|
}
|
|
342
347
|
|
|
343
348
|
.vd-form-feedback-valid {
|
|
344
|
-
color: var(--color-success);
|
|
349
|
+
color: var(--vd-color-success);
|
|
345
350
|
}
|
|
346
351
|
|
|
347
352
|
.vd-form-help,
|
|
348
353
|
.help-text {
|
|
349
354
|
display: block;
|
|
350
355
|
margin-top: 0.5rem;
|
|
351
|
-
font-size: var(--font-size-sm);
|
|
352
|
-
color: var(--text-muted);
|
|
356
|
+
font-size: var(--vd-font-size-sm);
|
|
357
|
+
color: var(--vd-text-muted);
|
|
353
358
|
}
|
|
354
359
|
|
|
355
360
|
/* Input Groups (with prefix/suffix) */
|
|
@@ -384,25 +389,25 @@ label.label-lg {
|
|
|
384
389
|
.vd-input-group-suffix {
|
|
385
390
|
display: flex;
|
|
386
391
|
align-items: center;
|
|
387
|
-
padding: var(--input-padding-y) var(--input-padding-x);
|
|
388
|
-
font-size: var(--input-font-size);
|
|
389
|
-
font-weight: var(--font-weight-normal);
|
|
390
|
-
line-height: var(--line-height-normal);
|
|
391
|
-
color: var(--text-secondary);
|
|
392
|
+
padding: var(--vd-input-padding-y) var(--vd-input-padding-x);
|
|
393
|
+
font-size: var(--vd-input-font-size);
|
|
394
|
+
font-weight: var(--vd-font-weight-normal);
|
|
395
|
+
line-height: var(--vd-line-height-normal);
|
|
396
|
+
color: var(--vd-text-secondary);
|
|
392
397
|
text-align: center;
|
|
393
398
|
white-space: nowrap;
|
|
394
|
-
background-color: var(--bg-secondary);
|
|
395
|
-
border: var(--input-border-width) solid var(--input-border-color);
|
|
399
|
+
background-color: var(--vd-bg-secondary);
|
|
400
|
+
border: var(--vd-input-border-width) solid var(--vd-input-border-color);
|
|
396
401
|
}
|
|
397
402
|
|
|
398
403
|
.vd-input-group-prefix {
|
|
399
404
|
border-right: 0;
|
|
400
|
-
border-radius: var(--input-border-radius) 0 0 var(--input-border-radius);
|
|
405
|
+
border-radius: var(--vd-input-border-radius) 0 0 var(--vd-input-border-radius);
|
|
401
406
|
}
|
|
402
407
|
|
|
403
408
|
.vd-input-group-suffix {
|
|
404
409
|
border-left: 0;
|
|
405
|
-
border-radius: 0 var(--input-border-radius) var(--input-border-radius) 0;
|
|
410
|
+
border-radius: 0 var(--vd-input-border-radius) var(--vd-input-border-radius) 0;
|
|
406
411
|
}
|
|
407
412
|
|
|
408
413
|
.vd-input-group>.vd-input-group-prefix+.vd-input,
|
|
@@ -420,22 +425,23 @@ label.label-lg {
|
|
|
420
425
|
============================================ */
|
|
421
426
|
|
|
422
427
|
/* Checkbox Variables */
|
|
428
|
+
/* stylelint-disable-next-line no-duplicate-selectors -- control-specific tokens stay grouped near their rules. */
|
|
423
429
|
:root {
|
|
424
|
-
--checkbox-size: 1.3125rem;
|
|
430
|
+
--vd-checkbox-size: 1.3125rem;
|
|
425
431
|
/* 21px - fib */
|
|
426
|
-
--checkbox-size-sm: 0.8125rem;
|
|
432
|
+
--vd-checkbox-size-sm: 0.8125rem;
|
|
427
433
|
/* 13px - fib */
|
|
428
|
-
--checkbox-size-lg: 2.125rem;
|
|
434
|
+
--vd-checkbox-size-lg: 2.125rem;
|
|
429
435
|
/* 34px - fib */
|
|
430
|
-
--checkbox-border-width: 2px;
|
|
436
|
+
--vd-checkbox-border-width: 2px;
|
|
431
437
|
/* fib(2) */
|
|
432
|
-
--checkbox-border-radius: var(--radius-fib-3);
|
|
438
|
+
--vd-checkbox-border-radius: var(--vd-radius-fib-3);
|
|
433
439
|
/* 3px */
|
|
434
|
-
--checkbox-check-color: var(--color-white);
|
|
435
|
-
--checkbox-bg-checked: var(--color-primary);
|
|
436
|
-
--checkbox-bg-indeterminate: var(--color-primary);
|
|
437
|
-
--checkbox-border-color: var(--input-border-color);
|
|
438
|
-
--checkbox-transition: var(--transition-base);
|
|
440
|
+
--vd-checkbox-check-color: var(--vd-color-white);
|
|
441
|
+
--vd-checkbox-bg-checked: var(--vd-color-primary);
|
|
442
|
+
--vd-checkbox-bg-indeterminate: var(--vd-color-primary);
|
|
443
|
+
--vd-checkbox-border-color: var(--vd-input-border-color);
|
|
444
|
+
--vd-checkbox-transition: var(--vd-transition-base);
|
|
439
445
|
}
|
|
440
446
|
|
|
441
447
|
/* Checkbox Wrapper */
|
|
@@ -447,9 +453,9 @@ label.label-lg {
|
|
|
447
453
|
/* 13px - fib */
|
|
448
454
|
position: relative;
|
|
449
455
|
cursor: pointer;
|
|
450
|
-
font-size: var(--input-font-size);
|
|
451
|
-
line-height: var(--line-height-normal);
|
|
452
|
-
color: var(--text-primary);
|
|
456
|
+
font-size: var(--vd-input-font-size);
|
|
457
|
+
line-height: var(--vd-line-height-normal);
|
|
458
|
+
color: var(--vd-text-primary);
|
|
453
459
|
user-select: none;
|
|
454
460
|
gap: 0.5rem;
|
|
455
461
|
/* 8px - fib */
|
|
@@ -460,22 +466,22 @@ label.label-lg {
|
|
|
460
466
|
.vd-form-check>input[type="checkbox"] {
|
|
461
467
|
appearance: none;
|
|
462
468
|
-webkit-appearance: none;
|
|
463
|
-
width: var(--checkbox-size);
|
|
464
|
-
height: var(--checkbox-size);
|
|
465
|
-
border: var(--checkbox-border-width) solid var(--checkbox-border-color);
|
|
466
|
-
border-radius: var(--checkbox-border-radius);
|
|
467
|
-
background-color: var(--input-bg);
|
|
469
|
+
width: var(--vd-checkbox-size);
|
|
470
|
+
height: var(--vd-checkbox-size);
|
|
471
|
+
border: var(--vd-checkbox-border-width) solid var(--vd-checkbox-border-color);
|
|
472
|
+
border-radius: var(--vd-checkbox-border-radius);
|
|
473
|
+
background-color: var(--vd-input-bg);
|
|
468
474
|
cursor: pointer;
|
|
469
475
|
flex-shrink: 0;
|
|
470
476
|
margin: 0;
|
|
471
477
|
position: relative;
|
|
472
|
-
transition: var(--checkbox-transition);
|
|
478
|
+
transition: var(--vd-checkbox-transition);
|
|
473
479
|
}
|
|
474
480
|
|
|
475
481
|
.checkbox>input[type="checkbox"]:checked,
|
|
476
482
|
.vd-form-check>input[type="checkbox"]:checked {
|
|
477
|
-
background-color: var(--checkbox-bg-checked);
|
|
478
|
-
border-color: var(--checkbox-bg-checked);
|
|
483
|
+
background-color: var(--vd-checkbox-bg-checked);
|
|
484
|
+
border-color: var(--vd-checkbox-bg-checked);
|
|
479
485
|
}
|
|
480
486
|
|
|
481
487
|
.checkbox>input[type="checkbox"]:checked::after,
|
|
@@ -487,13 +493,13 @@ label.label-lg {
|
|
|
487
493
|
transform: translate(-50%, -50%) rotate(45deg);
|
|
488
494
|
width: 0.3rem;
|
|
489
495
|
height: 0.6rem;
|
|
490
|
-
border: solid var(--checkbox-check-color);
|
|
496
|
+
border: solid var(--vd-checkbox-check-color);
|
|
491
497
|
border-width: 0 2px 2px 0;
|
|
492
498
|
}
|
|
493
499
|
|
|
494
500
|
.checkbox>input[type="checkbox"]:disabled,
|
|
495
501
|
.vd-form-check>input[type="checkbox"]:disabled {
|
|
496
|
-
background-color: var(--input-bg-disabled);
|
|
502
|
+
background-color: var(--vd-input-bg-disabled);
|
|
497
503
|
cursor: not-allowed;
|
|
498
504
|
opacity: 0.6;
|
|
499
505
|
}
|
|
@@ -506,7 +512,7 @@ label.label-lg {
|
|
|
506
512
|
|
|
507
513
|
.checkbox>input[type="checkbox"]:focus-visible,
|
|
508
514
|
.vd-form-check>input[type="checkbox"]:focus-visible {
|
|
509
|
-
outline: 2px solid var(--input-focus-border-color);
|
|
515
|
+
outline: 2px solid var(--vd-input-focus-border-color);
|
|
510
516
|
outline-offset: 2px;
|
|
511
517
|
}
|
|
512
518
|
|
|
@@ -534,13 +540,13 @@ label.label-lg {
|
|
|
534
540
|
display: inline-flex;
|
|
535
541
|
align-items: center;
|
|
536
542
|
cursor: pointer;
|
|
537
|
-
font-size: var(--input-font-size);
|
|
538
|
-
line-height: var(--line-height-normal);
|
|
539
|
-
color: var(--text-primary);
|
|
543
|
+
font-size: var(--vd-input-font-size);
|
|
544
|
+
line-height: var(--vd-line-height-normal);
|
|
545
|
+
color: var(--vd-text-primary);
|
|
540
546
|
user-select: none;
|
|
541
|
-
padding-left: calc(var(--checkbox-size) + 0.5rem);
|
|
547
|
+
padding-left: calc(var(--vd-checkbox-size) + 0.5rem);
|
|
542
548
|
position: relative;
|
|
543
|
-
min-height: var(--checkbox-size);
|
|
549
|
+
min-height: var(--vd-checkbox-size);
|
|
544
550
|
}
|
|
545
551
|
|
|
546
552
|
.checkbox-label::before,
|
|
@@ -550,20 +556,20 @@ label.label-lg {
|
|
|
550
556
|
left: 0;
|
|
551
557
|
top: 50%;
|
|
552
558
|
transform: translateY(-50%);
|
|
553
|
-
width: var(--checkbox-size);
|
|
554
|
-
height: var(--checkbox-size);
|
|
555
|
-
border: var(--checkbox-border-width) solid var(--checkbox-border-color);
|
|
556
|
-
border-radius: var(--checkbox-border-radius);
|
|
557
|
-
background-color: var(--input-bg);
|
|
558
|
-
transition: var(--checkbox-transition);
|
|
559
|
+
width: var(--vd-checkbox-size);
|
|
560
|
+
height: var(--vd-checkbox-size);
|
|
561
|
+
border: var(--vd-checkbox-border-width) solid var(--vd-checkbox-border-color);
|
|
562
|
+
border-radius: var(--vd-checkbox-border-radius);
|
|
563
|
+
background-color: var(--vd-input-bg);
|
|
564
|
+
transition: var(--vd-checkbox-transition);
|
|
559
565
|
flex-shrink: 0;
|
|
560
566
|
}
|
|
561
567
|
|
|
562
568
|
.checkbox-input:checked+.checkbox-label::before,
|
|
563
569
|
.checkbox-input:checked~.checkbox-label::before,
|
|
564
570
|
.vd-form-check-input:checked+.vd-form-check-label::before {
|
|
565
|
-
background-color: var(--checkbox-bg-checked);
|
|
566
|
-
border-color: var(--checkbox-bg-checked);
|
|
571
|
+
background-color: var(--vd-checkbox-bg-checked);
|
|
572
|
+
border-color: var(--vd-checkbox-bg-checked);
|
|
567
573
|
}
|
|
568
574
|
|
|
569
575
|
.checkbox-input:checked+.checkbox-label::after,
|
|
@@ -571,12 +577,12 @@ label.label-lg {
|
|
|
571
577
|
.vd-form-check-input:checked+.vd-form-check-label::after {
|
|
572
578
|
content: '';
|
|
573
579
|
position: absolute;
|
|
574
|
-
left: calc(var(--checkbox-size) / 2);
|
|
580
|
+
left: calc(var(--vd-checkbox-size) / 2);
|
|
575
581
|
top: 50%;
|
|
576
582
|
transform: translate(-50%, -60%) rotate(45deg);
|
|
577
583
|
width: 0.375rem;
|
|
578
584
|
height: 0.75rem;
|
|
579
|
-
border: solid var(--checkbox-check-color);
|
|
585
|
+
border: solid var(--vd-checkbox-check-color);
|
|
580
586
|
border-width: 0 2px 2px 0;
|
|
581
587
|
opacity: 1;
|
|
582
588
|
}
|
|
@@ -584,8 +590,8 @@ label.label-lg {
|
|
|
584
590
|
.checkbox-input:indeterminate+.checkbox-label::before,
|
|
585
591
|
.checkbox-input:indeterminate~.checkbox-label::before,
|
|
586
592
|
.vd-form-check-input:indeterminate+.vd-form-check-label::before {
|
|
587
|
-
background-color: var(--checkbox-bg-indeterminate);
|
|
588
|
-
border-color: var(--checkbox-bg-indeterminate);
|
|
593
|
+
background-color: var(--vd-checkbox-bg-indeterminate);
|
|
594
|
+
border-color: var(--vd-checkbox-bg-indeterminate);
|
|
589
595
|
}
|
|
590
596
|
|
|
591
597
|
.checkbox-input:indeterminate+.checkbox-label::after,
|
|
@@ -593,12 +599,12 @@ label.label-lg {
|
|
|
593
599
|
.vd-form-check-input:indeterminate+.vd-form-check-label::after {
|
|
594
600
|
content: '';
|
|
595
601
|
position: absolute;
|
|
596
|
-
left: calc(var(--checkbox-size) / 2);
|
|
602
|
+
left: calc(var(--vd-checkbox-size) / 2);
|
|
597
603
|
top: 50%;
|
|
598
604
|
transform: translate(-50%, -50%);
|
|
599
605
|
width: 0.5rem;
|
|
600
606
|
height: 2px;
|
|
601
|
-
background-color: var(--checkbox-check-color);
|
|
607
|
+
background-color: var(--vd-checkbox-check-color);
|
|
602
608
|
border: none;
|
|
603
609
|
opacity: 1;
|
|
604
610
|
}
|
|
@@ -606,7 +612,7 @@ label.label-lg {
|
|
|
606
612
|
.checkbox-input:focus-visible+.checkbox-label::before,
|
|
607
613
|
.checkbox-input:focus-visible~.checkbox-label::before,
|
|
608
614
|
.vd-form-check-input:focus-visible+.vd-form-check-label::before {
|
|
609
|
-
outline: 2px solid var(--input-focus-border-color);
|
|
615
|
+
outline: 2px solid var(--vd-input-focus-border-color);
|
|
610
616
|
outline-offset: 2px;
|
|
611
617
|
}
|
|
612
618
|
|
|
@@ -620,8 +626,8 @@ label.label-lg {
|
|
|
620
626
|
.checkbox-input:disabled+.checkbox-label::before,
|
|
621
627
|
.checkbox-input:disabled~.checkbox-label::before,
|
|
622
628
|
.vd-form-check-input:disabled+.vd-form-check-label::before {
|
|
623
|
-
background-color: var(--input-bg-disabled);
|
|
624
|
-
border-color: var(--checkbox-border-color);
|
|
629
|
+
background-color: var(--vd-input-bg-disabled);
|
|
630
|
+
border-color: var(--vd-checkbox-border-color);
|
|
625
631
|
cursor: not-allowed;
|
|
626
632
|
}
|
|
627
633
|
|
|
@@ -630,34 +636,34 @@ label.label-lg {
|
|
|
630
636
|
.checkbox-sm .vd-form-check-label,
|
|
631
637
|
.vd-form-check-sm .checkbox-label,
|
|
632
638
|
.vd-form-check-sm .vd-form-check-label {
|
|
633
|
-
font-size: var(--input-font-size-sm);
|
|
634
|
-
padding-left: calc(var(--checkbox-size-sm) + 0.625rem);
|
|
635
|
-
min-height: var(--checkbox-size-sm);
|
|
639
|
+
font-size: var(--vd-input-font-size-sm);
|
|
640
|
+
padding-left: calc(var(--vd-checkbox-size-sm) + 0.625rem);
|
|
641
|
+
min-height: var(--vd-checkbox-size-sm);
|
|
636
642
|
}
|
|
637
643
|
|
|
638
644
|
.checkbox-sm .checkbox-label::before,
|
|
639
645
|
.checkbox-sm .vd-form-check-label::before,
|
|
640
646
|
.vd-form-check-sm .checkbox-label::before,
|
|
641
647
|
.vd-form-check-sm .vd-form-check-label::before {
|
|
642
|
-
width: var(--checkbox-size-sm);
|
|
643
|
-
height: var(--checkbox-size-sm);
|
|
648
|
+
width: var(--vd-checkbox-size-sm);
|
|
649
|
+
height: var(--vd-checkbox-size-sm);
|
|
644
650
|
}
|
|
645
651
|
|
|
646
652
|
.checkbox-lg .checkbox-label,
|
|
647
653
|
.checkbox-lg .vd-form-check-label,
|
|
648
654
|
.vd-form-check-lg .checkbox-label,
|
|
649
655
|
.vd-form-check-lg .vd-form-check-label {
|
|
650
|
-
font-size: var(--input-font-size-lg);
|
|
651
|
-
padding-left: calc(var(--checkbox-size-lg) + 0.875rem);
|
|
652
|
-
min-height: var(--checkbox-size-lg);
|
|
656
|
+
font-size: var(--vd-input-font-size-lg);
|
|
657
|
+
padding-left: calc(var(--vd-checkbox-size-lg) + 0.875rem);
|
|
658
|
+
min-height: var(--vd-checkbox-size-lg);
|
|
653
659
|
}
|
|
654
660
|
|
|
655
661
|
.checkbox-lg .checkbox-label::before,
|
|
656
662
|
.checkbox-lg .vd-form-check-label::before,
|
|
657
663
|
.vd-form-check-lg .checkbox-label::before,
|
|
658
664
|
.vd-form-check-lg .vd-form-check-label::before {
|
|
659
|
-
width: var(--checkbox-size-lg);
|
|
660
|
-
height: var(--checkbox-size-lg);
|
|
665
|
+
width: var(--vd-checkbox-size-lg);
|
|
666
|
+
height: var(--vd-checkbox-size-lg);
|
|
661
667
|
}
|
|
662
668
|
|
|
663
669
|
/* Checkbox Groups */
|
|
@@ -675,24 +681,25 @@ label.label-lg {
|
|
|
675
681
|
}
|
|
676
682
|
|
|
677
683
|
/* Radio Button Variables */
|
|
684
|
+
/* stylelint-disable-next-line no-duplicate-selectors -- control-specific tokens stay grouped near their rules. */
|
|
678
685
|
:root {
|
|
679
|
-
--radio-size: 1.3125rem;
|
|
686
|
+
--vd-radio-size: 1.3125rem;
|
|
680
687
|
/* 21px - fib */
|
|
681
|
-
--radio-size-sm: 0.8125rem;
|
|
688
|
+
--vd-radio-size-sm: 0.8125rem;
|
|
682
689
|
/* 13px - fib */
|
|
683
|
-
--radio-size-lg: 2.125rem;
|
|
690
|
+
--vd-radio-size-lg: 2.125rem;
|
|
684
691
|
/* 34px - fib */
|
|
685
|
-
--radio-border-width: 2px;
|
|
692
|
+
--vd-radio-border-width: 2px;
|
|
686
693
|
/* fib(2) */
|
|
687
|
-
--radio-dot-size: 0.5rem;
|
|
694
|
+
--vd-radio-dot-size: 0.5rem;
|
|
688
695
|
/* 8px - fib */
|
|
689
|
-
--radio-dot-size-sm: 0.3125rem;
|
|
696
|
+
--vd-radio-dot-size-sm: 0.3125rem;
|
|
690
697
|
/* 5px - fib */
|
|
691
|
-
--radio-dot-size-lg: 0.8125rem;
|
|
698
|
+
--vd-radio-dot-size-lg: 0.8125rem;
|
|
692
699
|
/* 13px - fib */
|
|
693
|
-
--radio-bg-checked: var(--color-primary);
|
|
694
|
-
--radio-border-color: var(--input-border-color);
|
|
695
|
-
--radio-transition: var(--transition-base);
|
|
700
|
+
--vd-radio-bg-checked: var(--vd-color-primary);
|
|
701
|
+
--vd-radio-border-color: var(--vd-input-border-color);
|
|
702
|
+
--vd-radio-transition: var(--vd-transition-base);
|
|
696
703
|
}
|
|
697
704
|
|
|
698
705
|
/* Radio Wrapper */
|
|
@@ -703,9 +710,9 @@ label.label-lg {
|
|
|
703
710
|
margin-bottom: 0.75rem;
|
|
704
711
|
position: relative;
|
|
705
712
|
cursor: pointer;
|
|
706
|
-
font-size: var(--input-font-size);
|
|
707
|
-
line-height: var(--line-height-normal);
|
|
708
|
-
color: var(--text-primary);
|
|
713
|
+
font-size: var(--vd-input-font-size);
|
|
714
|
+
line-height: var(--vd-line-height-normal);
|
|
715
|
+
color: var(--vd-text-primary);
|
|
709
716
|
user-select: none;
|
|
710
717
|
gap: 0.5rem;
|
|
711
718
|
}
|
|
@@ -715,21 +722,21 @@ label.label-lg {
|
|
|
715
722
|
.vd-form-radio>input[type="radio"] {
|
|
716
723
|
appearance: none;
|
|
717
724
|
-webkit-appearance: none;
|
|
718
|
-
width: var(--radio-size);
|
|
719
|
-
height: var(--radio-size);
|
|
720
|
-
border: var(--radio-border-width) solid var(--radio-border-color);
|
|
725
|
+
width: var(--vd-radio-size);
|
|
726
|
+
height: var(--vd-radio-size);
|
|
727
|
+
border: var(--vd-radio-border-width) solid var(--vd-radio-border-color);
|
|
721
728
|
border-radius: 50%;
|
|
722
|
-
background-color: var(--input-bg);
|
|
729
|
+
background-color: var(--vd-input-bg);
|
|
723
730
|
cursor: pointer;
|
|
724
731
|
flex-shrink: 0;
|
|
725
732
|
margin: 0;
|
|
726
733
|
position: relative;
|
|
727
|
-
transition: var(--radio-transition);
|
|
734
|
+
transition: var(--vd-radio-transition);
|
|
728
735
|
}
|
|
729
736
|
|
|
730
737
|
.radio>input[type="radio"]:checked,
|
|
731
738
|
.vd-form-radio>input[type="radio"]:checked {
|
|
732
|
-
border-color: var(--radio-bg-checked);
|
|
739
|
+
border-color: var(--vd-radio-bg-checked);
|
|
733
740
|
}
|
|
734
741
|
|
|
735
742
|
.radio>input[type="radio"]:checked::after,
|
|
@@ -739,15 +746,15 @@ label.label-lg {
|
|
|
739
746
|
left: 50%;
|
|
740
747
|
top: 50%;
|
|
741
748
|
transform: translate(-50%, -50%);
|
|
742
|
-
width: var(--radio-dot-size);
|
|
743
|
-
height: var(--radio-dot-size);
|
|
749
|
+
width: var(--vd-radio-dot-size);
|
|
750
|
+
height: var(--vd-radio-dot-size);
|
|
744
751
|
border-radius: 50%;
|
|
745
|
-
background-color: var(--radio-bg-checked);
|
|
752
|
+
background-color: var(--vd-radio-bg-checked);
|
|
746
753
|
}
|
|
747
754
|
|
|
748
755
|
.radio>input[type="radio"]:disabled,
|
|
749
756
|
.vd-form-radio>input[type="radio"]:disabled {
|
|
750
|
-
background-color: var(--input-bg-disabled);
|
|
757
|
+
background-color: var(--vd-input-bg-disabled);
|
|
751
758
|
cursor: not-allowed;
|
|
752
759
|
opacity: 0.6;
|
|
753
760
|
}
|
|
@@ -760,7 +767,7 @@ label.label-lg {
|
|
|
760
767
|
|
|
761
768
|
.radio>input[type="radio"]:focus-visible,
|
|
762
769
|
.vd-form-radio>input[type="radio"]:focus-visible {
|
|
763
|
-
outline: 2px solid var(--input-focus-border-color);
|
|
770
|
+
outline: 2px solid var(--vd-input-focus-border-color);
|
|
764
771
|
outline-offset: 2px;
|
|
765
772
|
}
|
|
766
773
|
|
|
@@ -788,13 +795,13 @@ label.label-lg {
|
|
|
788
795
|
display: inline-flex;
|
|
789
796
|
align-items: center;
|
|
790
797
|
cursor: pointer;
|
|
791
|
-
font-size: var(--input-font-size);
|
|
792
|
-
line-height: var(--line-height-normal);
|
|
793
|
-
color: var(--text-primary);
|
|
798
|
+
font-size: var(--vd-input-font-size);
|
|
799
|
+
line-height: var(--vd-line-height-normal);
|
|
800
|
+
color: var(--vd-text-primary);
|
|
794
801
|
user-select: none;
|
|
795
|
-
padding-left: calc(var(--radio-size) + 0.5rem);
|
|
802
|
+
padding-left: calc(var(--vd-radio-size) + 0.5rem);
|
|
796
803
|
position: relative;
|
|
797
|
-
min-height: var(--radio-size);
|
|
804
|
+
min-height: var(--vd-radio-size);
|
|
798
805
|
}
|
|
799
806
|
|
|
800
807
|
.radio-label::before,
|
|
@@ -804,19 +811,19 @@ label.label-lg {
|
|
|
804
811
|
left: 0;
|
|
805
812
|
top: 50%;
|
|
806
813
|
transform: translateY(-50%);
|
|
807
|
-
width: var(--radio-size);
|
|
808
|
-
height: var(--radio-size);
|
|
809
|
-
border: var(--radio-border-width) solid var(--radio-border-color);
|
|
814
|
+
width: var(--vd-radio-size);
|
|
815
|
+
height: var(--vd-radio-size);
|
|
816
|
+
border: var(--vd-radio-border-width) solid var(--vd-radio-border-color);
|
|
810
817
|
border-radius: 50%;
|
|
811
|
-
background-color: var(--input-bg);
|
|
812
|
-
transition: var(--radio-transition);
|
|
818
|
+
background-color: var(--vd-input-bg);
|
|
819
|
+
transition: var(--vd-radio-transition);
|
|
813
820
|
flex-shrink: 0;
|
|
814
821
|
}
|
|
815
822
|
|
|
816
823
|
.radio-input:checked+.radio-label::before,
|
|
817
824
|
.radio-input:checked~.radio-label::before,
|
|
818
825
|
.vd-form-radio-input:checked+.vd-form-radio-label::before {
|
|
819
|
-
border-color: var(--radio-bg-checked);
|
|
826
|
+
border-color: var(--vd-radio-bg-checked);
|
|
820
827
|
}
|
|
821
828
|
|
|
822
829
|
.radio-input:checked+.radio-label::after,
|
|
@@ -824,20 +831,20 @@ label.label-lg {
|
|
|
824
831
|
.vd-form-radio-input:checked+.vd-form-radio-label::after {
|
|
825
832
|
content: '';
|
|
826
833
|
position: absolute;
|
|
827
|
-
left: calc(var(--radio-size) / 2);
|
|
834
|
+
left: calc(var(--vd-radio-size) / 2);
|
|
828
835
|
top: 50%;
|
|
829
836
|
transform: translate(-50%, -50%);
|
|
830
|
-
width: var(--radio-dot-size);
|
|
831
|
-
height: var(--radio-dot-size);
|
|
837
|
+
width: var(--vd-radio-dot-size);
|
|
838
|
+
height: var(--vd-radio-dot-size);
|
|
832
839
|
border-radius: 50%;
|
|
833
|
-
background-color: var(--radio-bg-checked);
|
|
840
|
+
background-color: var(--vd-radio-bg-checked);
|
|
834
841
|
opacity: 1;
|
|
835
842
|
}
|
|
836
843
|
|
|
837
844
|
.radio-input:focus-visible+.radio-label::before,
|
|
838
845
|
.radio-input:focus-visible~.radio-label::before,
|
|
839
846
|
.vd-form-radio-input:focus-visible+.vd-form-radio-label::before {
|
|
840
|
-
outline: 2px solid var(--input-focus-border-color);
|
|
847
|
+
outline: 2px solid var(--vd-input-focus-border-color);
|
|
841
848
|
outline-offset: 2px;
|
|
842
849
|
}
|
|
843
850
|
|
|
@@ -851,8 +858,8 @@ label.label-lg {
|
|
|
851
858
|
.radio-input:disabled+.radio-label::before,
|
|
852
859
|
.radio-input:disabled~.radio-label::before,
|
|
853
860
|
.vd-form-radio-input:disabled+.vd-form-radio-label::before {
|
|
854
|
-
background-color: var(--input-bg-disabled);
|
|
855
|
-
border-color: var(--radio-border-color);
|
|
861
|
+
background-color: var(--vd-input-bg-disabled);
|
|
862
|
+
border-color: var(--vd-radio-border-color);
|
|
856
863
|
cursor: not-allowed;
|
|
857
864
|
}
|
|
858
865
|
|
|
@@ -861,50 +868,50 @@ label.label-lg {
|
|
|
861
868
|
.radio-sm .vd-form-radio-label,
|
|
862
869
|
.vd-form-radio-sm .radio-label,
|
|
863
870
|
.vd-form-radio-sm .vd-form-radio-label {
|
|
864
|
-
font-size: var(--input-font-size-sm);
|
|
865
|
-
padding-left: calc(var(--radio-size-sm) + 0.625rem);
|
|
866
|
-
min-height: var(--radio-size-sm);
|
|
871
|
+
font-size: var(--vd-input-font-size-sm);
|
|
872
|
+
padding-left: calc(var(--vd-radio-size-sm) + 0.625rem);
|
|
873
|
+
min-height: var(--vd-radio-size-sm);
|
|
867
874
|
}
|
|
868
875
|
|
|
869
876
|
.radio-sm .radio-label::before,
|
|
870
877
|
.radio-sm .vd-form-radio-label::before,
|
|
871
878
|
.vd-form-radio-sm .radio-label::before,
|
|
872
879
|
.vd-form-radio-sm .vd-form-radio-label::before {
|
|
873
|
-
width: var(--radio-size-sm);
|
|
874
|
-
height: var(--radio-size-sm);
|
|
880
|
+
width: var(--vd-radio-size-sm);
|
|
881
|
+
height: var(--vd-radio-size-sm);
|
|
875
882
|
}
|
|
876
883
|
|
|
877
884
|
.radio-sm .radio-label::after,
|
|
878
885
|
.radio-sm .vd-form-radio-label::after,
|
|
879
886
|
.vd-form-radio-sm .radio-label::after,
|
|
880
887
|
.vd-form-radio-sm .vd-form-radio-label::after {
|
|
881
|
-
width: var(--radio-dot-size-sm);
|
|
882
|
-
height: var(--radio-dot-size-sm);
|
|
888
|
+
width: var(--vd-radio-dot-size-sm);
|
|
889
|
+
height: var(--vd-radio-dot-size-sm);
|
|
883
890
|
}
|
|
884
891
|
|
|
885
892
|
.radio-lg .radio-label,
|
|
886
893
|
.radio-lg .vd-form-radio-label,
|
|
887
894
|
.vd-form-radio-lg .radio-label,
|
|
888
895
|
.vd-form-radio-lg .vd-form-radio-label {
|
|
889
|
-
font-size: var(--input-font-size-lg);
|
|
890
|
-
padding-left: calc(var(--radio-size-lg) + 0.875rem);
|
|
891
|
-
min-height: var(--radio-size-lg);
|
|
896
|
+
font-size: var(--vd-input-font-size-lg);
|
|
897
|
+
padding-left: calc(var(--vd-radio-size-lg) + 0.875rem);
|
|
898
|
+
min-height: var(--vd-radio-size-lg);
|
|
892
899
|
}
|
|
893
900
|
|
|
894
901
|
.radio-lg .radio-label::before,
|
|
895
902
|
.radio-lg .vd-form-radio-label::before,
|
|
896
903
|
.vd-form-radio-lg .radio-label::before,
|
|
897
904
|
.vd-form-radio-lg .vd-form-radio-label::before {
|
|
898
|
-
width: var(--radio-size-lg);
|
|
899
|
-
height: var(--radio-size-lg);
|
|
905
|
+
width: var(--vd-radio-size-lg);
|
|
906
|
+
height: var(--vd-radio-size-lg);
|
|
900
907
|
}
|
|
901
908
|
|
|
902
909
|
.radio-lg .radio-label::after,
|
|
903
910
|
.radio-lg .vd-form-radio-label::after,
|
|
904
911
|
.vd-form-radio-lg .radio-label::after,
|
|
905
912
|
.vd-form-radio-lg .vd-form-radio-label::after {
|
|
906
|
-
width: var(--radio-dot-size-lg);
|
|
907
|
-
height: var(--radio-dot-size-lg);
|
|
913
|
+
width: var(--vd-radio-dot-size-lg);
|
|
914
|
+
height: var(--vd-radio-dot-size-lg);
|
|
908
915
|
}
|
|
909
916
|
|
|
910
917
|
/* Radio Groups */
|
|
@@ -922,29 +929,31 @@ label.label-lg {
|
|
|
922
929
|
}
|
|
923
930
|
|
|
924
931
|
/* Range Variables */
|
|
932
|
+
/* stylelint-disable-next-line no-duplicate-selectors -- range tokens stay grouped with range control styles. */
|
|
925
933
|
:root {
|
|
926
|
-
--range-track-height: 0.5rem;
|
|
927
|
-
--range-track-height-sm: 0.375rem;
|
|
928
|
-
--range-track-height-lg: 0.625rem;
|
|
929
|
-
--range-thumb-size: 1.25rem;
|
|
930
|
-
--range-thumb-size-sm: 1rem;
|
|
931
|
-
--range-thumb-size-lg: 1.5rem;
|
|
932
|
-
--range-track-bg: var(--color-gray-300);
|
|
933
|
-
--range-track-border: none;
|
|
934
|
-
--range-track-fill: var(--color-primary);
|
|
935
|
-
--range-thumb-bg: var(--color-primary);
|
|
936
|
-
--range-thumb-border: 2px solid var(--color-white);
|
|
937
|
-
--range-thumb-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
|
934
|
+
--vd-range-track-height: 0.5rem;
|
|
935
|
+
--vd-range-track-height-sm: 0.375rem;
|
|
936
|
+
--vd-range-track-height-lg: 0.625rem;
|
|
937
|
+
--vd-range-thumb-size: 1.25rem;
|
|
938
|
+
--vd-range-thumb-size-sm: 1rem;
|
|
939
|
+
--vd-range-thumb-size-lg: 1.5rem;
|
|
940
|
+
--vd-range-track-bg: var(--vd-color-gray-300);
|
|
941
|
+
--vd-range-track-border: none;
|
|
942
|
+
--vd-range-track-fill: var(--vd-color-primary);
|
|
943
|
+
--vd-range-thumb-bg: var(--vd-color-primary);
|
|
944
|
+
--vd-range-thumb-border: 2px solid var(--vd-color-white);
|
|
945
|
+
--vd-range-thumb-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
|
938
946
|
}
|
|
939
947
|
|
|
940
948
|
/* Dark Theme Range Overrides - more visible track */
|
|
949
|
+
/* stylelint-disable-next-line no-duplicate-selectors -- dark-mode token overrides stay adjacent to range styles. */
|
|
941
950
|
[data-theme="dark"] {
|
|
942
|
-
--range-track-bg: var(--color-gray-400);
|
|
951
|
+
--vd-range-track-bg: var(--vd-color-gray-400);
|
|
943
952
|
}
|
|
944
953
|
|
|
945
954
|
@media (prefers-color-scheme: dark) {
|
|
946
955
|
:root:not([data-theme]) {
|
|
947
|
-
--range-track-bg: var(--color-gray-400);
|
|
956
|
+
--vd-range-track-bg: var(--vd-color-gray-400);
|
|
948
957
|
}
|
|
949
958
|
}
|
|
950
959
|
|
|
@@ -960,7 +969,7 @@ label.label-lg {
|
|
|
960
969
|
input[type="range"].range-input,
|
|
961
970
|
input[type="range"] {
|
|
962
971
|
width: 100%;
|
|
963
|
-
height: var(--range-track-height);
|
|
972
|
+
height: var(--vd-range-track-height);
|
|
964
973
|
-webkit-appearance: none;
|
|
965
974
|
appearance: none;
|
|
966
975
|
background: transparent;
|
|
@@ -977,29 +986,29 @@ input[type="range"]:focus {
|
|
|
977
986
|
|
|
978
987
|
input[type="range"].range-input:focus::-webkit-slider-thumb,
|
|
979
988
|
input[type="range"]:focus::-webkit-slider-thumb {
|
|
980
|
-
box-shadow: var(--range-thumb-shadow), 0 0 0 3px var(--color-primary-alpha-10);
|
|
989
|
+
box-shadow: var(--vd-range-thumb-shadow), 0 0 0 3px var(--vd-color-primary-alpha-10);
|
|
981
990
|
}
|
|
982
991
|
|
|
983
992
|
input[type="range"].range-input:focus::-moz-range-thumb,
|
|
984
993
|
input[type="range"]:focus::-moz-range-thumb {
|
|
985
|
-
box-shadow: var(--range-thumb-shadow), 0 0 0 3px var(--color-primary-alpha-10);
|
|
994
|
+
box-shadow: var(--vd-range-thumb-shadow), 0 0 0 3px var(--vd-color-primary-alpha-10);
|
|
986
995
|
}
|
|
987
996
|
|
|
988
997
|
/* Range Track (Webkit - Chrome, Safari, Edge) */
|
|
989
998
|
input[type="range"]::-webkit-slider-runnable-track {
|
|
990
999
|
width: 100%;
|
|
991
|
-
height: var(--range-track-height);
|
|
992
|
-
background: var(--range-track-bg);
|
|
993
|
-
border: var(--range-track-border);
|
|
1000
|
+
height: var(--vd-range-track-height);
|
|
1001
|
+
background: var(--vd-range-track-bg);
|
|
1002
|
+
border: var(--vd-range-track-border);
|
|
994
1003
|
border-radius: 0.5rem;
|
|
995
1004
|
cursor: pointer;
|
|
996
1005
|
}
|
|
997
1006
|
|
|
998
1007
|
input[type="range"].range-input::-webkit-slider-runnable-track {
|
|
999
1008
|
width: 100%;
|
|
1000
|
-
height: var(--range-track-height);
|
|
1001
|
-
background: var(--range-track-bg);
|
|
1002
|
-
border: var(--range-track-border);
|
|
1009
|
+
height: var(--vd-range-track-height);
|
|
1010
|
+
background: var(--vd-range-track-bg);
|
|
1011
|
+
border: var(--vd-range-track-border);
|
|
1003
1012
|
border-radius: 0.5rem;
|
|
1004
1013
|
cursor: pointer;
|
|
1005
1014
|
}
|
|
@@ -1008,18 +1017,18 @@ input[type="range"].range-input::-webkit-slider-runnable-track {
|
|
|
1008
1017
|
input[type="range"].range-input::-moz-range-track,
|
|
1009
1018
|
input[type="range"]::-moz-range-track {
|
|
1010
1019
|
width: 100%;
|
|
1011
|
-
height: var(--range-track-height);
|
|
1012
|
-
background: var(--range-track-bg);
|
|
1013
|
-
border: var(--range-track-border);
|
|
1020
|
+
height: var(--vd-range-track-height);
|
|
1021
|
+
background: var(--vd-range-track-bg);
|
|
1022
|
+
border: var(--vd-range-track-border);
|
|
1014
1023
|
border-radius: 0.5rem;
|
|
1015
1024
|
cursor: pointer;
|
|
1016
1025
|
}
|
|
1017
1026
|
|
|
1018
|
-
/* Range Progress/Fill (Firefox) - uses --range-track-fill */
|
|
1027
|
+
/* Range Progress/Fill (Firefox) - uses --vd-range-track-fill */
|
|
1019
1028
|
input[type="range"].range-input::-moz-range-progress,
|
|
1020
1029
|
input[type="range"]::-moz-range-progress {
|
|
1021
|
-
height: var(--range-track-height);
|
|
1022
|
-
background: var(--range-track-fill);
|
|
1030
|
+
height: var(--vd-range-track-height);
|
|
1031
|
+
background: var(--vd-range-track-fill);
|
|
1023
1032
|
border-radius: 0.5rem 0 0 0.5rem;
|
|
1024
1033
|
}
|
|
1025
1034
|
|
|
@@ -1028,15 +1037,15 @@ input[type="range"].range-input::-webkit-slider-thumb,
|
|
|
1028
1037
|
input[type="range"]::-webkit-slider-thumb {
|
|
1029
1038
|
-webkit-appearance: none;
|
|
1030
1039
|
appearance: none;
|
|
1031
|
-
width: var(--range-thumb-size);
|
|
1032
|
-
height: var(--range-thumb-size);
|
|
1033
|
-
background: var(--range-thumb-bg);
|
|
1034
|
-
border: var(--range-thumb-border);
|
|
1040
|
+
width: var(--vd-range-thumb-size);
|
|
1041
|
+
height: var(--vd-range-thumb-size);
|
|
1042
|
+
background: var(--vd-range-thumb-bg);
|
|
1043
|
+
border: var(--vd-range-thumb-border);
|
|
1035
1044
|
border-radius: 50%;
|
|
1036
1045
|
cursor: pointer;
|
|
1037
|
-
box-shadow: var(--range-thumb-shadow);
|
|
1038
|
-
transition: var(--transition-base);
|
|
1039
|
-
margin-top: calc((var(--range-track-height) - var(--range-thumb-size)) / 2);
|
|
1046
|
+
box-shadow: var(--vd-range-thumb-shadow);
|
|
1047
|
+
transition: var(--vd-transition-base);
|
|
1048
|
+
margin-top: calc((var(--vd-range-track-height) - var(--vd-range-thumb-size)) / 2);
|
|
1040
1049
|
}
|
|
1041
1050
|
|
|
1042
1051
|
input[type="range"].range-input::-webkit-slider-thumb:hover,
|
|
@@ -1047,14 +1056,14 @@ input[type="range"]::-webkit-slider-thumb:hover {
|
|
|
1047
1056
|
/* Range Thumb (Firefox) */
|
|
1048
1057
|
input[type="range"].range-input::-moz-range-thumb,
|
|
1049
1058
|
input[type="range"]::-moz-range-thumb {
|
|
1050
|
-
width: var(--range-thumb-size);
|
|
1051
|
-
height: var(--range-thumb-size);
|
|
1052
|
-
background: var(--range-thumb-bg);
|
|
1053
|
-
border: var(--range-thumb-border);
|
|
1059
|
+
width: var(--vd-range-thumb-size);
|
|
1060
|
+
height: var(--vd-range-thumb-size);
|
|
1061
|
+
background: var(--vd-range-thumb-bg);
|
|
1062
|
+
border: var(--vd-range-thumb-border);
|
|
1054
1063
|
border-radius: 50%;
|
|
1055
1064
|
cursor: pointer;
|
|
1056
|
-
box-shadow: var(--range-thumb-shadow);
|
|
1057
|
-
transition: var(--transition-base);
|
|
1065
|
+
box-shadow: var(--vd-range-thumb-shadow);
|
|
1066
|
+
transition: var(--vd-transition-base);
|
|
1058
1067
|
}
|
|
1059
1068
|
|
|
1060
1069
|
input[type="range"].range-input::-moz-range-thumb:hover,
|
|
@@ -1081,58 +1090,58 @@ input[type="range"]:disabled::-moz-range-thumb {
|
|
|
1081
1090
|
/* Range Sizes */
|
|
1082
1091
|
.range-sm input[type="range"],
|
|
1083
1092
|
input[type="range"].range-sm {
|
|
1084
|
-
height: var(--range-track-height-sm);
|
|
1093
|
+
height: var(--vd-range-track-height-sm);
|
|
1085
1094
|
}
|
|
1086
1095
|
|
|
1087
1096
|
.range-sm input[type="range"]::-webkit-slider-track,
|
|
1088
1097
|
input[type="range"].range-sm::-webkit-slider-track {
|
|
1089
|
-
height: var(--range-track-height-sm);
|
|
1098
|
+
height: var(--vd-range-track-height-sm);
|
|
1090
1099
|
}
|
|
1091
1100
|
|
|
1092
1101
|
.range-sm input[type="range"]::-moz-range-track,
|
|
1093
1102
|
input[type="range"].range-sm::-moz-range-track {
|
|
1094
|
-
height: var(--range-track-height-sm);
|
|
1103
|
+
height: var(--vd-range-track-height-sm);
|
|
1095
1104
|
}
|
|
1096
1105
|
|
|
1097
1106
|
.range-sm input[type="range"]::-webkit-slider-thumb,
|
|
1098
1107
|
input[type="range"].range-sm::-webkit-slider-thumb {
|
|
1099
|
-
width: var(--range-thumb-size-sm);
|
|
1100
|
-
height: var(--range-thumb-size-sm);
|
|
1101
|
-
margin-top: calc((var(--range-track-height-sm) - var(--range-thumb-size-sm)) / 2);
|
|
1108
|
+
width: var(--vd-range-thumb-size-sm);
|
|
1109
|
+
height: var(--vd-range-thumb-size-sm);
|
|
1110
|
+
margin-top: calc((var(--vd-range-track-height-sm) - var(--vd-range-thumb-size-sm)) / 2);
|
|
1102
1111
|
}
|
|
1103
1112
|
|
|
1104
1113
|
.range-sm input[type="range"]::-moz-range-thumb,
|
|
1105
1114
|
input[type="range"].range-sm::-moz-range-thumb {
|
|
1106
|
-
width: var(--range-thumb-size-sm);
|
|
1107
|
-
height: var(--range-thumb-size-sm);
|
|
1115
|
+
width: var(--vd-range-thumb-size-sm);
|
|
1116
|
+
height: var(--vd-range-thumb-size-sm);
|
|
1108
1117
|
}
|
|
1109
1118
|
|
|
1110
1119
|
.range-lg input[type="range"],
|
|
1111
1120
|
input[type="range"].range-lg {
|
|
1112
|
-
height: var(--range-track-height-lg);
|
|
1121
|
+
height: var(--vd-range-track-height-lg);
|
|
1113
1122
|
}
|
|
1114
1123
|
|
|
1115
1124
|
.range-lg input[type="range"]::-webkit-slider-track,
|
|
1116
1125
|
input[type="range"].range-lg::-webkit-slider-track {
|
|
1117
|
-
height: var(--range-track-height-lg);
|
|
1126
|
+
height: var(--vd-range-track-height-lg);
|
|
1118
1127
|
}
|
|
1119
1128
|
|
|
1120
1129
|
.range-lg input[type="range"]::-moz-range-track,
|
|
1121
1130
|
input[type="range"].range-lg::-moz-range-track {
|
|
1122
|
-
height: var(--range-track-height-lg);
|
|
1131
|
+
height: var(--vd-range-track-height-lg);
|
|
1123
1132
|
}
|
|
1124
1133
|
|
|
1125
1134
|
.range-lg input[type="range"]::-webkit-slider-thumb,
|
|
1126
1135
|
input[type="range"].range-lg::-webkit-slider-thumb {
|
|
1127
|
-
width: var(--range-thumb-size-lg);
|
|
1128
|
-
height: var(--range-thumb-size-lg);
|
|
1129
|
-
margin-top: calc((var(--range-track-height-lg) - var(--range-thumb-size-lg)) / 2);
|
|
1136
|
+
width: var(--vd-range-thumb-size-lg);
|
|
1137
|
+
height: var(--vd-range-thumb-size-lg);
|
|
1138
|
+
margin-top: calc((var(--vd-range-track-height-lg) - var(--vd-range-thumb-size-lg)) / 2);
|
|
1130
1139
|
}
|
|
1131
1140
|
|
|
1132
1141
|
.range-lg input[type="range"]::-moz-range-thumb,
|
|
1133
1142
|
input[type="range"].range-lg::-moz-range-thumb {
|
|
1134
|
-
width: var(--range-thumb-size-lg);
|
|
1135
|
-
height: var(--range-thumb-size-lg);
|
|
1143
|
+
width: var(--vd-range-thumb-size-lg);
|
|
1144
|
+
height: var(--vd-range-thumb-size-lg);
|
|
1136
1145
|
}
|
|
1137
1146
|
|
|
1138
1147
|
/* Range Value Display */
|
|
@@ -1140,11 +1149,11 @@ input[type="range"].range-lg::-moz-range-thumb {
|
|
|
1140
1149
|
display: inline-block;
|
|
1141
1150
|
margin-left: 0.5rem;
|
|
1142
1151
|
padding: 0.25rem 0.5rem;
|
|
1143
|
-
background-color: var(--bg-secondary);
|
|
1144
|
-
border-radius: var(--btn-border-radius-sm);
|
|
1145
|
-
font-size: var(--font-size-sm);
|
|
1146
|
-
font-weight: var(--font-weight-medium);
|
|
1147
|
-
color: var(--text-primary);
|
|
1152
|
+
background-color: var(--vd-bg-secondary);
|
|
1153
|
+
border-radius: var(--vd-btn-border-radius-sm);
|
|
1154
|
+
font-size: var(--vd-font-size-sm);
|
|
1155
|
+
font-weight: var(--vd-font-weight-medium);
|
|
1156
|
+
color: var(--vd-text-primary);
|
|
1148
1157
|
min-width: 3rem;
|
|
1149
1158
|
text-align: center;
|
|
1150
1159
|
}
|
|
@@ -1153,59 +1162,61 @@ input[type="range"].range-lg::-moz-range-thumb {
|
|
|
1153
1162
|
display: flex;
|
|
1154
1163
|
align-items: center;
|
|
1155
1164
|
margin-bottom: 0.5rem;
|
|
1156
|
-
font-size: var(--font-size-sm);
|
|
1157
|
-
font-weight: var(--font-weight-medium);
|
|
1158
|
-
color: var(--text-primary);
|
|
1165
|
+
font-size: var(--vd-font-size-sm);
|
|
1166
|
+
font-weight: var(--vd-font-weight-medium);
|
|
1167
|
+
color: var(--vd-text-primary);
|
|
1159
1168
|
}
|
|
1160
1169
|
|
|
1161
1170
|
.range-min-max {
|
|
1162
1171
|
display: flex;
|
|
1163
1172
|
justify-content: space-between;
|
|
1164
1173
|
margin-top: 0.25rem;
|
|
1165
|
-
font-size: var(--font-size-xs);
|
|
1166
|
-
color: var(--text-muted);
|
|
1174
|
+
font-size: var(--vd-font-size-xs);
|
|
1175
|
+
color: var(--vd-text-muted);
|
|
1167
1176
|
}
|
|
1168
1177
|
|
|
1169
1178
|
/* Switch Variables */
|
|
1179
|
+
/* stylelint-disable-next-line no-duplicate-selectors -- control-specific tokens stay grouped near their rules. */
|
|
1170
1180
|
:root {
|
|
1171
1181
|
/* Switch: golden rectangle (55x34 outer, 21px thumb) */
|
|
1172
|
-
--switch-width: 3.4375rem;
|
|
1182
|
+
--vd-switch-width: 3.4375rem;
|
|
1173
1183
|
/* 55px - fib */
|
|
1174
|
-
--switch-width-sm: 2.125rem;
|
|
1184
|
+
--vd-switch-width-sm: 2.125rem;
|
|
1175
1185
|
/* 34px - fib */
|
|
1176
|
-
--switch-width-lg: 5.5625rem;
|
|
1186
|
+
--vd-switch-width-lg: 5.5625rem;
|
|
1177
1187
|
/* 89px - fib */
|
|
1178
|
-
--switch-height: 2.125rem;
|
|
1188
|
+
--vd-switch-height: 2.125rem;
|
|
1179
1189
|
/* 34px - fib (55/34 ~ phi) */
|
|
1180
|
-
--switch-height-sm: 1.3125rem;
|
|
1190
|
+
--vd-switch-height-sm: 1.3125rem;
|
|
1181
1191
|
/* 21px - fib (34/21 ~ phi) */
|
|
1182
|
-
--switch-height-lg: 3.4375rem;
|
|
1192
|
+
--vd-switch-height-lg: 3.4375rem;
|
|
1183
1193
|
/* 55px - fib (89/55 ~ phi) */
|
|
1184
|
-
--switch-thumb-size: 1.3125rem;
|
|
1194
|
+
--vd-switch-thumb-size: 1.3125rem;
|
|
1185
1195
|
/* 21px - fib */
|
|
1186
|
-
--switch-thumb-size-sm: 0.8125rem;
|
|
1196
|
+
--vd-switch-thumb-size-sm: 0.8125rem;
|
|
1187
1197
|
/* 13px - fib */
|
|
1188
|
-
--switch-thumb-size-lg: 2.125rem;
|
|
1198
|
+
--vd-switch-thumb-size-lg: 2.125rem;
|
|
1189
1199
|
/* 34px - fib */
|
|
1190
|
-
--switch-thumb-offset: 0.1875rem;
|
|
1200
|
+
--vd-switch-thumb-offset: 0.1875rem;
|
|
1191
1201
|
/* 3px - fib */
|
|
1192
|
-
--switch-bg-off: var(--color-gray-300);
|
|
1193
|
-
--switch-bg-on: var(--color-primary);
|
|
1194
|
-
--switch-bg-on-success: var(--color-success);
|
|
1195
|
-
--switch-bg-on-warning: var(--color-warning);
|
|
1196
|
-
--switch-bg-on-error: var(--color-error);
|
|
1197
|
-
--switch-thumb-bg: var(--color-white);
|
|
1198
|
-
--switch-transition: var(--transition-base);
|
|
1202
|
+
--vd-switch-bg-off: var(--vd-color-gray-300);
|
|
1203
|
+
--vd-switch-bg-on: var(--vd-color-primary);
|
|
1204
|
+
--vd-switch-bg-on-success: var(--vd-color-success);
|
|
1205
|
+
--vd-switch-bg-on-warning: var(--vd-color-warning);
|
|
1206
|
+
--vd-switch-bg-on-error: var(--vd-color-error);
|
|
1207
|
+
--vd-switch-thumb-bg: var(--vd-color-white);
|
|
1208
|
+
--vd-switch-transition: var(--vd-transition-base);
|
|
1199
1209
|
}
|
|
1200
1210
|
|
|
1201
1211
|
/* Dark Theme Switch Overrides */
|
|
1212
|
+
/* stylelint-disable-next-line no-duplicate-selectors -- dark-mode token overrides stay adjacent to switch styles. */
|
|
1202
1213
|
[data-theme="dark"] {
|
|
1203
|
-
--switch-bg-off: var(--color-gray-600);
|
|
1214
|
+
--vd-switch-bg-off: var(--vd-color-gray-600);
|
|
1204
1215
|
}
|
|
1205
1216
|
|
|
1206
1217
|
@media (prefers-color-scheme: dark) {
|
|
1207
1218
|
:root:not([data-theme]) {
|
|
1208
|
-
--switch-bg-off: var(--color-gray-600);
|
|
1219
|
+
--vd-switch-bg-off: var(--vd-color-gray-600);
|
|
1209
1220
|
}
|
|
1210
1221
|
}
|
|
1211
1222
|
|
|
@@ -1217,9 +1228,9 @@ input[type="range"].range-lg::-moz-range-thumb {
|
|
|
1217
1228
|
margin-bottom: 0.75rem;
|
|
1218
1229
|
position: relative;
|
|
1219
1230
|
cursor: pointer;
|
|
1220
|
-
font-size: var(--input-font-size);
|
|
1221
|
-
line-height: var(--line-height-normal);
|
|
1222
|
-
color: var(--text-primary);
|
|
1231
|
+
font-size: var(--vd-input-font-size);
|
|
1232
|
+
line-height: var(--vd-line-height-normal);
|
|
1233
|
+
color: var(--vd-text-primary);
|
|
1223
1234
|
user-select: none;
|
|
1224
1235
|
gap: 0.75rem;
|
|
1225
1236
|
}
|
|
@@ -1234,38 +1245,38 @@ input[type="range"].range-lg::-moz-range-thumb {
|
|
|
1234
1245
|
|
|
1235
1246
|
.switch-slider {
|
|
1236
1247
|
position: relative;
|
|
1237
|
-
width: var(--switch-width);
|
|
1238
|
-
height: var(--switch-height);
|
|
1239
|
-
background-color: var(--switch-bg-off);
|
|
1240
|
-
border-radius: calc(var(--switch-height) / 2);
|
|
1241
|
-
transition: var(--switch-transition);
|
|
1248
|
+
width: var(--vd-switch-width);
|
|
1249
|
+
height: var(--vd-switch-height);
|
|
1250
|
+
background-color: var(--vd-switch-bg-off);
|
|
1251
|
+
border-radius: calc(var(--vd-switch-height) / 2);
|
|
1252
|
+
transition: var(--vd-switch-transition);
|
|
1242
1253
|
flex-shrink: 0;
|
|
1243
1254
|
}
|
|
1244
1255
|
|
|
1245
1256
|
.switch-slider::after {
|
|
1246
1257
|
content: '';
|
|
1247
1258
|
position: absolute;
|
|
1248
|
-
left: var(--switch-thumb-offset);
|
|
1259
|
+
left: var(--vd-switch-thumb-offset);
|
|
1249
1260
|
top: 50%;
|
|
1250
1261
|
transform: translateY(-50%);
|
|
1251
|
-
width: var(--switch-thumb-size);
|
|
1252
|
-
height: var(--switch-thumb-size);
|
|
1253
|
-
background-color: var(--switch-thumb-bg);
|
|
1262
|
+
width: var(--vd-switch-thumb-size);
|
|
1263
|
+
height: var(--vd-switch-thumb-size);
|
|
1264
|
+
background-color: var(--vd-switch-thumb-bg);
|
|
1254
1265
|
border-radius: 50%;
|
|
1255
|
-
box-shadow: var(--shadow-sm);
|
|
1256
|
-
transition: var(--switch-transition);
|
|
1266
|
+
box-shadow: var(--vd-shadow-sm);
|
|
1267
|
+
transition: var(--vd-switch-transition);
|
|
1257
1268
|
}
|
|
1258
1269
|
|
|
1259
1270
|
.switch>input[type="checkbox"]:checked+.switch-slider {
|
|
1260
|
-
background-color: var(--switch-bg-on);
|
|
1271
|
+
background-color: var(--vd-switch-bg-on);
|
|
1261
1272
|
}
|
|
1262
1273
|
|
|
1263
1274
|
.switch>input[type="checkbox"]:checked+.switch-slider::after {
|
|
1264
|
-
left: calc(var(--switch-width) - var(--switch-thumb-size) - var(--switch-thumb-offset));
|
|
1275
|
+
left: calc(var(--vd-switch-width) - var(--vd-switch-thumb-size) - var(--vd-switch-thumb-offset));
|
|
1265
1276
|
}
|
|
1266
1277
|
|
|
1267
1278
|
.switch>input[type="checkbox"]:focus-visible+.switch-slider {
|
|
1268
|
-
outline: 2px solid var(--input-focus-border-color);
|
|
1279
|
+
outline: 2px solid var(--vd-input-focus-border-color);
|
|
1269
1280
|
outline-offset: 2px;
|
|
1270
1281
|
}
|
|
1271
1282
|
|
|
@@ -1304,9 +1315,9 @@ input[type="range"].range-lg::-moz-range-thumb {
|
|
|
1304
1315
|
display: flex;
|
|
1305
1316
|
align-items: center;
|
|
1306
1317
|
cursor: pointer;
|
|
1307
|
-
font-size: var(--input-font-size);
|
|
1308
|
-
line-height: var(--line-height-normal);
|
|
1309
|
-
color: var(--text-primary);
|
|
1318
|
+
font-size: var(--vd-input-font-size);
|
|
1319
|
+
line-height: var(--vd-line-height-normal);
|
|
1320
|
+
color: var(--vd-text-primary);
|
|
1310
1321
|
user-select: none;
|
|
1311
1322
|
position: relative;
|
|
1312
1323
|
}
|
|
@@ -1316,11 +1327,11 @@ input[type="range"].range-lg::-moz-range-thumb {
|
|
|
1316
1327
|
.vd-form-switch-label::before {
|
|
1317
1328
|
content: '';
|
|
1318
1329
|
position: relative;
|
|
1319
|
-
width: var(--switch-width);
|
|
1320
|
-
height: var(--switch-height);
|
|
1321
|
-
background-color: var(--switch-bg-off);
|
|
1322
|
-
border-radius: calc(var(--switch-height) / 2);
|
|
1323
|
-
transition: var(--switch-transition);
|
|
1330
|
+
width: var(--vd-switch-width);
|
|
1331
|
+
height: var(--vd-switch-height);
|
|
1332
|
+
background-color: var(--vd-switch-bg-off);
|
|
1333
|
+
border-radius: calc(var(--vd-switch-height) / 2);
|
|
1334
|
+
transition: var(--vd-switch-transition);
|
|
1324
1335
|
flex-shrink: 0;
|
|
1325
1336
|
margin-right: 0.75rem;
|
|
1326
1337
|
}
|
|
@@ -1330,34 +1341,34 @@ input[type="range"].range-lg::-moz-range-thumb {
|
|
|
1330
1341
|
.vd-form-switch-label::after {
|
|
1331
1342
|
content: '';
|
|
1332
1343
|
position: absolute;
|
|
1333
|
-
left: var(--switch-thumb-offset);
|
|
1344
|
+
left: var(--vd-switch-thumb-offset);
|
|
1334
1345
|
top: 50%;
|
|
1335
1346
|
transform: translateY(-50%);
|
|
1336
|
-
width: var(--switch-thumb-size);
|
|
1337
|
-
height: var(--switch-thumb-size);
|
|
1338
|
-
background-color: var(--switch-thumb-bg);
|
|
1347
|
+
width: var(--vd-switch-thumb-size);
|
|
1348
|
+
height: var(--vd-switch-thumb-size);
|
|
1349
|
+
background-color: var(--vd-switch-thumb-bg);
|
|
1339
1350
|
border-radius: 50%;
|
|
1340
|
-
box-shadow: var(--shadow-sm);
|
|
1341
|
-
transition: var(--switch-transition);
|
|
1351
|
+
box-shadow: var(--vd-shadow-sm);
|
|
1352
|
+
transition: var(--vd-switch-transition);
|
|
1342
1353
|
pointer-events: none;
|
|
1343
1354
|
}
|
|
1344
1355
|
|
|
1345
1356
|
.switch-input:checked+.switch-label::before,
|
|
1346
1357
|
.switch-input:checked~.switch-label::before,
|
|
1347
1358
|
.vd-form-switch-input:checked+.vd-form-switch-label::before {
|
|
1348
|
-
background-color: var(--switch-bg-on);
|
|
1359
|
+
background-color: var(--vd-switch-bg-on);
|
|
1349
1360
|
}
|
|
1350
1361
|
|
|
1351
1362
|
.switch-input:checked+.switch-label::after,
|
|
1352
1363
|
.switch-input:checked~.switch-label::after,
|
|
1353
1364
|
.vd-form-switch-input:checked+.vd-form-switch-label::after {
|
|
1354
|
-
left: calc(var(--switch-width) - var(--switch-thumb-size) - var(--switch-thumb-offset));
|
|
1365
|
+
left: calc(var(--vd-switch-width) - var(--vd-switch-thumb-size) - var(--vd-switch-thumb-offset));
|
|
1355
1366
|
}
|
|
1356
1367
|
|
|
1357
1368
|
.switch-input:focus-visible+.switch-label::before,
|
|
1358
1369
|
.switch-input:focus-visible~.switch-label::before,
|
|
1359
1370
|
.vd-form-switch-input:focus-visible+.vd-form-switch-label::before {
|
|
1360
|
-
outline: 2px solid var(--input-focus-border-color);
|
|
1371
|
+
outline: 2px solid var(--vd-input-focus-border-color);
|
|
1361
1372
|
outline-offset: 2px;
|
|
1362
1373
|
}
|
|
1363
1374
|
|
|
@@ -1371,7 +1382,7 @@ input[type="range"].range-lg::-moz-range-thumb {
|
|
|
1371
1382
|
.switch-input:disabled+.switch-label::before,
|
|
1372
1383
|
.switch-input:disabled~.switch-label::before,
|
|
1373
1384
|
.vd-form-switch-input:disabled+.vd-form-switch-label::before {
|
|
1374
|
-
background-color: var(--input-bg-disabled);
|
|
1385
|
+
background-color: var(--vd-input-bg-disabled);
|
|
1375
1386
|
cursor: not-allowed;
|
|
1376
1387
|
}
|
|
1377
1388
|
|
|
@@ -1390,13 +1401,13 @@ input[type="range"].range-lg::-moz-range-thumb {
|
|
|
1390
1401
|
.switch-label-right .switch-label::after,
|
|
1391
1402
|
.switch-label-right .vd-form-switch-label::after {
|
|
1392
1403
|
left: auto;
|
|
1393
|
-
right: var(--switch-thumb-offset);
|
|
1404
|
+
right: var(--vd-switch-thumb-offset);
|
|
1394
1405
|
}
|
|
1395
1406
|
|
|
1396
1407
|
.switch-label-right .switch-input:checked+.switch-label::after,
|
|
1397
1408
|
.switch-label-right .switch-input:checked~.switch-label::after,
|
|
1398
1409
|
.switch-label-right .vd-form-switch-input:checked+.vd-form-switch-label::after {
|
|
1399
|
-
right: calc(var(--switch-width) - var(--switch-thumb-size) - var(--switch-thumb-offset));
|
|
1410
|
+
right: calc(var(--vd-switch-width) - var(--vd-switch-thumb-size) - var(--vd-switch-thumb-offset));
|
|
1400
1411
|
left: auto;
|
|
1401
1412
|
}
|
|
1402
1413
|
|
|
@@ -1405,84 +1416,85 @@ input[type="range"].range-lg::-moz-range-thumb {
|
|
|
1405
1416
|
.switch-sm .vd-form-switch-label,
|
|
1406
1417
|
.vd-form-switch-sm .switch-label,
|
|
1407
1418
|
.vd-form-switch-sm .vd-form-switch-label {
|
|
1408
|
-
font-size: var(--input-font-size-sm);
|
|
1419
|
+
font-size: var(--vd-input-font-size-sm);
|
|
1409
1420
|
}
|
|
1410
1421
|
|
|
1411
1422
|
.switch-sm .switch-label::before,
|
|
1412
1423
|
.switch-sm .vd-form-switch-label::before,
|
|
1413
1424
|
.vd-form-switch-sm .switch-label::before,
|
|
1414
1425
|
.vd-form-switch-sm .vd-form-switch-label::before {
|
|
1415
|
-
width: var(--switch-width-sm);
|
|
1416
|
-
height: var(--switch-height-sm);
|
|
1426
|
+
width: var(--vd-switch-width-sm);
|
|
1427
|
+
height: var(--vd-switch-height-sm);
|
|
1417
1428
|
}
|
|
1418
1429
|
|
|
1419
1430
|
.switch-sm .switch-label::after,
|
|
1420
1431
|
.switch-sm .vd-form-switch-label::after,
|
|
1421
1432
|
.vd-form-switch-sm .switch-label::after,
|
|
1422
1433
|
.vd-form-switch-sm .vd-form-switch-label::after {
|
|
1423
|
-
width: var(--switch-thumb-size-sm);
|
|
1424
|
-
height: var(--switch-thumb-size-sm);
|
|
1434
|
+
width: var(--vd-switch-thumb-size-sm);
|
|
1435
|
+
height: var(--vd-switch-thumb-size-sm);
|
|
1425
1436
|
}
|
|
1426
1437
|
|
|
1427
1438
|
.switch-sm .switch-input:checked+.switch-label::after,
|
|
1428
1439
|
.switch-sm .switch-input:checked~.switch-label::after,
|
|
1429
1440
|
.vd-form-switch-sm .vd-form-switch-input:checked+.vd-form-switch-label::after {
|
|
1430
|
-
left: calc(var(--switch-width-sm) - var(--switch-thumb-size-sm) - var(--switch-thumb-offset));
|
|
1441
|
+
left: calc(var(--vd-switch-width-sm) - var(--vd-switch-thumb-size-sm) - var(--vd-switch-thumb-offset));
|
|
1431
1442
|
}
|
|
1432
1443
|
|
|
1433
1444
|
.switch-lg .switch-label,
|
|
1434
1445
|
.switch-lg .vd-form-switch-label,
|
|
1435
1446
|
.vd-form-switch-lg .switch-label,
|
|
1436
1447
|
.vd-form-switch-lg .vd-form-switch-label {
|
|
1437
|
-
font-size: var(--input-font-size-lg);
|
|
1448
|
+
font-size: var(--vd-input-font-size-lg);
|
|
1438
1449
|
}
|
|
1439
1450
|
|
|
1440
1451
|
.switch-lg .switch-label::before,
|
|
1441
1452
|
.switch-lg .vd-form-switch-label::before,
|
|
1442
1453
|
.vd-form-switch-lg .switch-label::before,
|
|
1443
1454
|
.vd-form-switch-lg .vd-form-switch-label::before {
|
|
1444
|
-
width: var(--switch-width-lg);
|
|
1445
|
-
height: var(--switch-height-lg);
|
|
1455
|
+
width: var(--vd-switch-width-lg);
|
|
1456
|
+
height: var(--vd-switch-height-lg);
|
|
1446
1457
|
}
|
|
1447
1458
|
|
|
1448
1459
|
.switch-lg .switch-label::after,
|
|
1449
1460
|
.switch-lg .vd-form-switch-label::after,
|
|
1450
1461
|
.vd-form-switch-lg .switch-label::after,
|
|
1451
1462
|
.vd-form-switch-lg .vd-form-switch-label::after {
|
|
1452
|
-
width: var(--switch-thumb-size-lg);
|
|
1453
|
-
height: var(--switch-thumb-size-lg);
|
|
1463
|
+
width: var(--vd-switch-thumb-size-lg);
|
|
1464
|
+
height: var(--vd-switch-thumb-size-lg);
|
|
1454
1465
|
}
|
|
1455
1466
|
|
|
1456
1467
|
.switch-lg .switch-input:checked+.switch-label::after,
|
|
1457
1468
|
.switch-lg .switch-input:checked~.switch-label::after,
|
|
1458
1469
|
.vd-form-switch-lg .vd-form-switch-input:checked+.vd-form-switch-label::after {
|
|
1459
|
-
left: calc(var(--switch-width-lg) - var(--switch-thumb-size-lg) - var(--switch-thumb-offset));
|
|
1470
|
+
left: calc(var(--vd-switch-width-lg) - var(--vd-switch-thumb-size-lg) - var(--vd-switch-thumb-offset));
|
|
1460
1471
|
}
|
|
1461
1472
|
|
|
1462
1473
|
/* Switch Variants */
|
|
1463
1474
|
.switch-success .switch-input:checked+.switch-label::before,
|
|
1464
1475
|
.switch-success .switch-input:checked~.switch-label::before,
|
|
1465
1476
|
.vd-form-switch-success .vd-form-switch-input:checked+.vd-form-switch-label::before {
|
|
1466
|
-
background-color: var(--switch-bg-on-success);
|
|
1477
|
+
background-color: var(--vd-switch-bg-on-success);
|
|
1467
1478
|
}
|
|
1468
1479
|
|
|
1469
1480
|
.switch-warning .switch-input:checked+.switch-label::before,
|
|
1470
1481
|
.switch-warning .switch-input:checked~.switch-label::before,
|
|
1471
1482
|
.vd-form-switch-warning .vd-form-switch-input:checked+.vd-form-switch-label::before {
|
|
1472
|
-
background-color: var(--switch-bg-on-warning);
|
|
1483
|
+
background-color: var(--vd-switch-bg-on-warning);
|
|
1473
1484
|
}
|
|
1474
1485
|
|
|
1475
1486
|
.switch-error .switch-input:checked+.switch-label::before,
|
|
1476
1487
|
.switch-error .switch-input:checked~.switch-label::before,
|
|
1477
1488
|
.vd-form-switch-error .vd-form-switch-input:checked+.vd-form-switch-label::before {
|
|
1478
|
-
background-color: var(--switch-bg-on-error);
|
|
1489
|
+
background-color: var(--vd-switch-bg-on-error);
|
|
1479
1490
|
}
|
|
1480
1491
|
|
|
1481
1492
|
/* Select Variables */
|
|
1493
|
+
/* stylelint-disable-next-line no-duplicate-selectors -- control-specific tokens stay grouped near their rules. */
|
|
1482
1494
|
:root {
|
|
1483
|
-
--select-arrow-size: 16px;
|
|
1484
|
-
--select-arrow-color: var(--text-secondary);
|
|
1485
|
-
--select-arrow-color-focus: var(--color-primary);
|
|
1495
|
+
--vd-select-arrow-size: 16px;
|
|
1496
|
+
--vd-select-arrow-color: var(--vd-text-secondary);
|
|
1497
|
+
--vd-select-arrow-color-focus: var(--vd-color-primary);
|
|
1486
1498
|
}
|
|
1487
1499
|
|
|
1488
1500
|
/* Select Wrapper */
|
|
@@ -1498,34 +1510,34 @@ input[type="range"].range-lg::-moz-range-thumb {
|
|
|
1498
1510
|
.custom-select-button {
|
|
1499
1511
|
display: block;
|
|
1500
1512
|
width: 100%;
|
|
1501
|
-
padding: var(--input-padding-y) var(--input-padding-x);
|
|
1502
|
-
padding-right: calc(var(--input-padding-x) + var(--select-arrow-size) + 0.5rem);
|
|
1503
|
-
font-family: var(--font-family-sans);
|
|
1504
|
-
font-size: var(--input-font-size);
|
|
1505
|
-
font-weight: var(--font-weight-normal);
|
|
1506
|
-
line-height: var(--line-height-normal);
|
|
1507
|
-
color: var(--text-primary);
|
|
1513
|
+
padding: var(--vd-input-padding-y) var(--vd-input-padding-x);
|
|
1514
|
+
padding-right: calc(var(--vd-input-padding-x) + var(--vd-select-arrow-size) + 0.5rem);
|
|
1515
|
+
font-family: var(--vd-font-family-sans);
|
|
1516
|
+
font-size: var(--vd-input-font-size);
|
|
1517
|
+
font-weight: var(--vd-font-weight-normal);
|
|
1518
|
+
line-height: var(--vd-line-height-normal);
|
|
1519
|
+
color: var(--vd-text-primary);
|
|
1508
1520
|
text-align: left;
|
|
1509
|
-
background-color: var(--input-bg);
|
|
1521
|
+
background-color: var(--vd-input-bg);
|
|
1510
1522
|
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23495057' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
|
|
1511
1523
|
background-repeat: no-repeat;
|
|
1512
1524
|
background-position: right 0.75rem center;
|
|
1513
|
-
background-size: var(--select-arrow-size) 12px;
|
|
1514
|
-
border: var(--input-border-width) solid var(--input-border-color);
|
|
1515
|
-
border-radius: var(--input-border-radius);
|
|
1516
|
-
transition: var(--input-transition);
|
|
1525
|
+
background-size: var(--vd-select-arrow-size) 12px;
|
|
1526
|
+
border: var(--vd-input-border-width) solid var(--vd-input-border-color);
|
|
1527
|
+
border-radius: var(--vd-input-border-radius);
|
|
1528
|
+
transition: var(--vd-input-transition);
|
|
1517
1529
|
cursor: pointer;
|
|
1518
1530
|
appearance: none;
|
|
1519
1531
|
}
|
|
1520
1532
|
|
|
1521
1533
|
.custom-select-button:hover {
|
|
1522
|
-
border-color: var(--input-focus-border-color);
|
|
1534
|
+
border-color: var(--vd-input-focus-border-color);
|
|
1523
1535
|
}
|
|
1524
1536
|
|
|
1525
1537
|
.custom-select-button:focus {
|
|
1526
1538
|
outline: 0;
|
|
1527
|
-
border-color: var(--input-focus-border-color);
|
|
1528
|
-
box-shadow: var(--input-focus-box-shadow);
|
|
1539
|
+
border-color: var(--vd-input-focus-border-color);
|
|
1540
|
+
box-shadow: var(--vd-input-focus-box-shadow);
|
|
1529
1541
|
}
|
|
1530
1542
|
|
|
1531
1543
|
.custom-select-wrapper select {
|
|
@@ -1543,21 +1555,21 @@ select,
|
|
|
1543
1555
|
.custom-select-input {
|
|
1544
1556
|
display: block;
|
|
1545
1557
|
width: 100%;
|
|
1546
|
-
padding: var(--input-padding-y) var(--input-padding-x);
|
|
1547
|
-
padding-right: calc(var(--input-padding-x) + var(--select-arrow-size) + 0.5rem);
|
|
1548
|
-
font-family: var(--font-family-sans);
|
|
1549
|
-
font-size: var(--input-font-size);
|
|
1550
|
-
font-weight: var(--font-weight-normal);
|
|
1551
|
-
line-height: var(--line-height-normal);
|
|
1552
|
-
color: var(--text-primary);
|
|
1553
|
-
background-color: var(--input-bg);
|
|
1558
|
+
padding: var(--vd-input-padding-y) var(--vd-input-padding-x);
|
|
1559
|
+
padding-right: calc(var(--vd-input-padding-x) + var(--vd-select-arrow-size) + 0.5rem);
|
|
1560
|
+
font-family: var(--vd-font-family-sans);
|
|
1561
|
+
font-size: var(--vd-input-font-size);
|
|
1562
|
+
font-weight: var(--vd-font-weight-normal);
|
|
1563
|
+
line-height: var(--vd-line-height-normal);
|
|
1564
|
+
color: var(--vd-text-primary);
|
|
1565
|
+
background-color: var(--vd-input-bg);
|
|
1554
1566
|
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23495057' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
|
|
1555
1567
|
background-repeat: no-repeat;
|
|
1556
1568
|
background-position: right 0.75rem center;
|
|
1557
|
-
background-size: var(--select-arrow-size) 12px;
|
|
1558
|
-
border: var(--input-border-width) solid var(--input-border-color);
|
|
1559
|
-
border-radius: var(--input-border-radius);
|
|
1560
|
-
transition: var(--input-transition);
|
|
1569
|
+
background-size: var(--vd-select-arrow-size) 12px;
|
|
1570
|
+
border: var(--vd-input-border-width) solid var(--vd-input-border-color);
|
|
1571
|
+
border-radius: var(--vd-input-border-radius);
|
|
1572
|
+
transition: var(--vd-input-transition);
|
|
1561
1573
|
appearance: none;
|
|
1562
1574
|
cursor: pointer;
|
|
1563
1575
|
}
|
|
@@ -1567,8 +1579,8 @@ select:focus,
|
|
|
1567
1579
|
.select-input:focus,
|
|
1568
1580
|
.custom-select-input:focus {
|
|
1569
1581
|
outline: 0;
|
|
1570
|
-
border-color: var(--input-focus-border-color);
|
|
1571
|
-
box-shadow: var(--input-focus-box-shadow);
|
|
1582
|
+
border-color: var(--vd-input-focus-border-color);
|
|
1583
|
+
box-shadow: var(--vd-input-focus-box-shadow);
|
|
1572
1584
|
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2322b8cf' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
|
|
1573
1585
|
}
|
|
1574
1586
|
|
|
@@ -1576,7 +1588,7 @@ select.vd-input:disabled,
|
|
|
1576
1588
|
select:disabled,
|
|
1577
1589
|
.select-input:disabled,
|
|
1578
1590
|
.custom-select-input:disabled {
|
|
1579
|
-
background-color: var(--input-bg-disabled);
|
|
1591
|
+
background-color: var(--vd-input-bg-disabled);
|
|
1580
1592
|
opacity: 0.6;
|
|
1581
1593
|
cursor: not-allowed;
|
|
1582
1594
|
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23868e96' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
|
|
@@ -1587,34 +1599,34 @@ select.vd-input.vd-input-error,
|
|
|
1587
1599
|
select.vd-input.is-error,
|
|
1588
1600
|
.select-input.vd-input-error,
|
|
1589
1601
|
.select-input.is-error {
|
|
1590
|
-
border-color: var(--color-error);
|
|
1602
|
+
border-color: var(--vd-color-error);
|
|
1591
1603
|
}
|
|
1592
1604
|
|
|
1593
1605
|
select.vd-input.vd-input-success,
|
|
1594
1606
|
select.vd-input.is-success,
|
|
1595
1607
|
.select-input.vd-input-success,
|
|
1596
1608
|
.select-input.is-success {
|
|
1597
|
-
border-color: var(--color-success);
|
|
1609
|
+
border-color: var(--vd-color-success);
|
|
1598
1610
|
}
|
|
1599
1611
|
|
|
1600
1612
|
/* Select Sizes */
|
|
1601
1613
|
select.vd-input-sm,
|
|
1602
1614
|
.select-input-sm,
|
|
1603
1615
|
.custom-select-sm {
|
|
1604
|
-
padding: var(--input-padding-y-sm) var(--input-padding-x-sm);
|
|
1605
|
-
padding-right: calc(var(--input-padding-x-sm) + var(--select-arrow-size) + 0.5rem);
|
|
1606
|
-
font-size: var(--input-font-size-sm);
|
|
1607
|
-
border-radius: var(--input-border-radius-sm);
|
|
1616
|
+
padding: var(--vd-input-padding-y-sm) var(--vd-input-padding-x-sm);
|
|
1617
|
+
padding-right: calc(var(--vd-input-padding-x-sm) + var(--vd-select-arrow-size) + 0.5rem);
|
|
1618
|
+
font-size: var(--vd-input-font-size-sm);
|
|
1619
|
+
border-radius: var(--vd-input-border-radius-sm);
|
|
1608
1620
|
background-size: 14px 10px;
|
|
1609
1621
|
}
|
|
1610
1622
|
|
|
1611
1623
|
select.vd-input-lg,
|
|
1612
1624
|
.select-input-lg,
|
|
1613
1625
|
.custom-select-lg {
|
|
1614
|
-
padding: var(--input-padding-y-lg) var(--input-padding-x-lg);
|
|
1615
|
-
padding-right: calc(var(--input-padding-x-lg) + var(--select-arrow-size) + 0.5rem);
|
|
1616
|
-
font-size: var(--input-font-size-lg);
|
|
1617
|
-
border-radius: var(--input-border-radius-lg);
|
|
1626
|
+
padding: var(--vd-input-padding-y-lg) var(--vd-input-padding-x-lg);
|
|
1627
|
+
padding-right: calc(var(--vd-input-padding-x-lg) + var(--vd-select-arrow-size) + 0.5rem);
|
|
1628
|
+
font-size: var(--vd-input-font-size-lg);
|
|
1629
|
+
border-radius: var(--vd-input-border-radius-lg);
|
|
1618
1630
|
background-size: 18px 14px;
|
|
1619
1631
|
}
|
|
1620
1632
|
|
|
@@ -1623,8 +1635,8 @@ select[multiple].vd-input,
|
|
|
1623
1635
|
select[multiple],
|
|
1624
1636
|
.select-input[multiple],
|
|
1625
1637
|
.custom-select-input[multiple] {
|
|
1626
|
-
padding: var(--input-padding-y) var(--input-padding-x);
|
|
1627
|
-
padding-right: var(--input-padding-x);
|
|
1638
|
+
padding: var(--vd-input-padding-y) var(--vd-input-padding-x);
|
|
1639
|
+
padding-right: var(--vd-input-padding-x);
|
|
1628
1640
|
background-image: none;
|
|
1629
1641
|
min-height: 120px;
|
|
1630
1642
|
}
|
|
@@ -1645,10 +1657,10 @@ select[multiple] option,
|
|
|
1645
1657
|
z-index: 1000;
|
|
1646
1658
|
display: none;
|
|
1647
1659
|
margin-top: 0.25rem;
|
|
1648
|
-
background-color: var(--input-bg);
|
|
1649
|
-
border: 1px solid var(--input-border-color);
|
|
1650
|
-
border-radius: var(--input-border-radius);
|
|
1651
|
-
box-shadow: var(--shadow-lg);
|
|
1660
|
+
background-color: var(--vd-input-bg);
|
|
1661
|
+
border: 1px solid var(--vd-input-border-color);
|
|
1662
|
+
border-radius: var(--vd-input-border-radius);
|
|
1663
|
+
box-shadow: var(--vd-shadow-lg);
|
|
1652
1664
|
max-height: 300px;
|
|
1653
1665
|
overflow-y: auto;
|
|
1654
1666
|
}
|
|
@@ -1660,55 +1672,55 @@ select[multiple] option,
|
|
|
1660
1672
|
.custom-select-option {
|
|
1661
1673
|
display: block;
|
|
1662
1674
|
width: 100%;
|
|
1663
|
-
padding: var(--input-padding-y) var(--input-padding-x);
|
|
1664
|
-
font-size: var(--input-font-size);
|
|
1665
|
-
color: var(--text-primary);
|
|
1675
|
+
padding: var(--vd-input-padding-y) var(--vd-input-padding-x);
|
|
1676
|
+
font-size: var(--vd-input-font-size);
|
|
1677
|
+
color: var(--vd-text-primary);
|
|
1666
1678
|
background-color: transparent;
|
|
1667
1679
|
border: none;
|
|
1668
1680
|
text-align: left;
|
|
1669
1681
|
cursor: pointer;
|
|
1670
|
-
transition: var(--transition-bg);
|
|
1682
|
+
transition: var(--vd-transition-bg);
|
|
1671
1683
|
}
|
|
1672
1684
|
|
|
1673
1685
|
.custom-select-option:hover,
|
|
1674
1686
|
.custom-select-option:focus {
|
|
1675
|
-
background-color: var(--color-primary-alpha-10);
|
|
1687
|
+
background-color: var(--vd-color-primary-alpha-10);
|
|
1676
1688
|
outline: none;
|
|
1677
1689
|
}
|
|
1678
1690
|
|
|
1679
1691
|
.custom-select-option.is-selected {
|
|
1680
|
-
background-color: var(--color-primary-alpha-10);
|
|
1681
|
-
color: var(--color-primary);
|
|
1682
|
-
font-weight: var(--font-weight-medium);
|
|
1692
|
+
background-color: var(--vd-color-primary-alpha-10);
|
|
1693
|
+
color: var(--vd-color-primary);
|
|
1694
|
+
font-weight: var(--vd-font-weight-medium);
|
|
1683
1695
|
}
|
|
1684
1696
|
|
|
1685
1697
|
.custom-select-option.is-disabled,
|
|
1686
1698
|
.custom-select-option[data-value=""] {
|
|
1687
1699
|
opacity: 0.6;
|
|
1688
1700
|
cursor: not-allowed;
|
|
1689
|
-
color: var(--text-muted);
|
|
1701
|
+
color: var(--vd-text-muted);
|
|
1690
1702
|
}
|
|
1691
1703
|
|
|
1692
1704
|
.custom-select-option-group {
|
|
1693
|
-
padding: 0.5rem var(--input-padding-x);
|
|
1694
|
-
font-size: var(--font-size-sm);
|
|
1695
|
-
font-weight: var(--font-weight-semibold);
|
|
1696
|
-
color: var(--text-muted);
|
|
1705
|
+
padding: 0.5rem var(--vd-input-padding-x);
|
|
1706
|
+
font-size: var(--vd-font-size-sm);
|
|
1707
|
+
font-weight: var(--vd-font-weight-semibold);
|
|
1708
|
+
color: var(--vd-text-muted);
|
|
1697
1709
|
text-transform: uppercase;
|
|
1698
1710
|
letter-spacing: 0.05em;
|
|
1699
1711
|
}
|
|
1700
1712
|
|
|
1701
1713
|
.custom-select-search {
|
|
1702
|
-
padding: var(--input-padding-y) var(--input-padding-x);
|
|
1703
|
-
border-bottom: 1px solid var(--input-border-color);
|
|
1714
|
+
padding: var(--vd-input-padding-y) var(--vd-input-padding-x);
|
|
1715
|
+
border-bottom: 1px solid var(--vd-input-border-color);
|
|
1704
1716
|
}
|
|
1705
1717
|
|
|
1706
1718
|
.custom-select-search input {
|
|
1707
1719
|
width: 100%;
|
|
1708
1720
|
padding: 0.5rem;
|
|
1709
|
-
font-size: var(--input-font-size-sm);
|
|
1710
|
-
border: 1px solid var(--input-border-color);
|
|
1711
|
-
border-radius: var(--input-border-radius-sm);
|
|
1721
|
+
font-size: var(--vd-input-font-size-sm);
|
|
1722
|
+
border: 1px solid var(--vd-input-border-color);
|
|
1723
|
+
border-radius: var(--vd-input-border-radius-sm);
|
|
1712
1724
|
}
|
|
1713
1725
|
|
|
1714
1726
|
/* Dark Mode - Select Arrow Colors */
|