@duskmoon-dev/core 1.12.3 → 1.13.0
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/cjs/tailwind-plugin.cjs +8 -0
- package/dist/components/alert.css +64 -2
- package/dist/components/appbar.css +119 -21
- package/dist/components/autocomplete.css +63 -3
- package/dist/components/avatar.css +22 -2
- package/dist/components/button.css +101 -49
- package/dist/components/card.css +38 -2
- package/dist/components/cascader.css +59 -9
- package/dist/components/checkbox.css +15 -5
- package/dist/components/chip.css +122 -2
- package/dist/components/collapse.css +32 -0
- package/dist/components/datepicker.css +79 -6
- package/dist/components/file-upload.css +68 -8
- package/dist/components/form.css +2 -1
- package/dist/components/index.css +1583 -409
- package/dist/components/input.css +21 -67
- package/dist/components/multi-select.css +59 -9
- package/dist/components/otp-input.css +48 -16
- package/dist/components/pin-input.css +50 -13
- package/dist/components/radio.css +12 -2
- package/dist/components/rating.css +35 -3
- package/dist/components/segment-control.css +23 -2
- package/dist/components/select.css +21 -37
- package/dist/components/slider.css +130 -6
- package/dist/components/switch.css +27 -4
- package/dist/components/textarea.css +21 -96
- package/dist/components/time-input.css +61 -12
- package/dist/components/toast.css +72 -3
- package/dist/components/toggle.css +63 -6
- package/dist/components/tooltip.css +84 -0
- package/dist/components/tree-select.css +60 -11
- package/dist/esm/components/alert.js +64 -2
- package/dist/esm/components/appbar.js +119 -21
- package/dist/esm/components/autocomplete.js +63 -3
- package/dist/esm/components/avatar.js +22 -2
- package/dist/esm/components/button.js +101 -49
- package/dist/esm/components/card.js +38 -2
- package/dist/esm/components/cascader.js +59 -9
- package/dist/esm/components/checkbox.js +15 -5
- package/dist/esm/components/chip.js +122 -2
- package/dist/esm/components/collapse.js +32 -0
- package/dist/esm/components/datepicker.js +79 -6
- package/dist/esm/components/file-upload.js +68 -8
- package/dist/esm/components/form.js +2 -1
- package/dist/esm/components/input.js +21 -67
- package/dist/esm/components/multi-select.js +59 -9
- package/dist/esm/components/otp-input.js +48 -16
- package/dist/esm/components/pin-input.js +50 -13
- package/dist/esm/components/radio.js +12 -2
- package/dist/esm/components/rating.js +35 -3
- package/dist/esm/components/segment-control.js +23 -2
- package/dist/esm/components/select.js +21 -37
- package/dist/esm/components/slider.js +130 -6
- package/dist/esm/components/switch.js +27 -4
- package/dist/esm/components/textarea.js +21 -96
- package/dist/esm/components/time-input.js +61 -12
- package/dist/esm/components/toast.js +72 -3
- package/dist/esm/components/toggle.js +63 -6
- package/dist/esm/components/tooltip.js +84 -0
- package/dist/esm/components/tree-select.js +60 -11
- package/dist/esm/tailwind-plugin.js +8 -0
- package/dist/index.css +1583 -409
- package/dist/index.min.css +1 -1
- package/dist/types/tailwind-plugin.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
height: 2.5rem;
|
|
14
14
|
touch-action: none;
|
|
15
15
|
user-select: none;
|
|
16
|
+
color: var(--color-on-surface);
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
/* Slider Track */
|
|
@@ -73,7 +74,7 @@
|
|
|
73
74
|
margin-bottom: 0.5rem;
|
|
74
75
|
font-size: 0.75rem;
|
|
75
76
|
font-weight: 500;
|
|
76
|
-
color: var(--color-
|
|
77
|
+
color: var(--color-primary-content);
|
|
77
78
|
background-color: var(--color-primary);
|
|
78
79
|
border-radius: 0.25rem;
|
|
79
80
|
white-space: nowrap;
|
|
@@ -127,7 +128,7 @@
|
|
|
127
128
|
}
|
|
128
129
|
|
|
129
130
|
.slider-mark-active {
|
|
130
|
-
background-color: var(--color-
|
|
131
|
+
background-color: var(--color-primary-content);
|
|
131
132
|
}
|
|
132
133
|
|
|
133
134
|
/* Mark Label */
|
|
@@ -178,6 +179,27 @@
|
|
|
178
179
|
}
|
|
179
180
|
|
|
180
181
|
/* Color Variants */
|
|
182
|
+
.slider-primary .slider-track-filled,
|
|
183
|
+
.slider-primary .slider-thumb {
|
|
184
|
+
background-color: var(--color-primary);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.slider-primary .slider-mark-active { background-color: var(--color-primary-content); }
|
|
188
|
+
|
|
189
|
+
.slider-primary .slider-thumb:hover,
|
|
190
|
+
.slider-primary .slider-thumb:focus-visible {
|
|
191
|
+
box-shadow: 0 0 0 8px var(--color-primary-container), 0 2px 4px rgb(0 0 0 / 0.2);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.slider-primary .slider-thumb-label {
|
|
195
|
+
background-color: var(--color-primary);
|
|
196
|
+
color: var(--color-primary-content);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
.slider-primary .slider-thumb-label::after {
|
|
200
|
+
border-top-color: var(--color-primary);
|
|
201
|
+
}
|
|
202
|
+
|
|
181
203
|
.slider-secondary .slider-track-filled,
|
|
182
204
|
.slider-secondary .slider-thumb {
|
|
183
205
|
background-color: var(--color-secondary);
|
|
@@ -188,9 +210,11 @@
|
|
|
188
210
|
box-shadow: 0 0 0 8px var(--color-secondary-container), 0 2px 4px rgb(0 0 0 / 0.2);
|
|
189
211
|
}
|
|
190
212
|
|
|
213
|
+
.slider-secondary .slider-mark-active { background-color: var(--color-secondary-content); }
|
|
214
|
+
|
|
191
215
|
.slider-secondary .slider-thumb-label {
|
|
192
216
|
background-color: var(--color-secondary);
|
|
193
|
-
color: var(--color-
|
|
217
|
+
color: var(--color-secondary-content);
|
|
194
218
|
}
|
|
195
219
|
|
|
196
220
|
.slider-secondary .slider-thumb-label::after {
|
|
@@ -207,15 +231,105 @@
|
|
|
207
231
|
box-shadow: 0 0 0 8px var(--color-tertiary-container), 0 2px 4px rgb(0 0 0 / 0.2);
|
|
208
232
|
}
|
|
209
233
|
|
|
234
|
+
.slider-tertiary .slider-mark-active { background-color: var(--color-tertiary-content); }
|
|
235
|
+
|
|
210
236
|
.slider-tertiary .slider-thumb-label {
|
|
211
237
|
background-color: var(--color-tertiary);
|
|
212
|
-
color: var(--color-
|
|
238
|
+
color: var(--color-tertiary-content);
|
|
213
239
|
}
|
|
214
240
|
|
|
215
241
|
.slider-tertiary .slider-thumb-label::after {
|
|
216
242
|
border-top-color: var(--color-tertiary);
|
|
217
243
|
}
|
|
218
244
|
|
|
245
|
+
/* Info */
|
|
246
|
+
.slider-info .slider-track-filled,
|
|
247
|
+
.slider-info .slider-thumb {
|
|
248
|
+
background-color: var(--color-info);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
.slider-info .slider-thumb:hover,
|
|
252
|
+
.slider-info .slider-thumb:focus-visible {
|
|
253
|
+
box-shadow: 0 0 0 8px var(--color-info-container), 0 2px 4px rgb(0 0 0 / 0.2);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
.slider-info .slider-mark-active { background-color: var(--color-info-content); }
|
|
257
|
+
|
|
258
|
+
.slider-info .slider-thumb-label {
|
|
259
|
+
background-color: var(--color-info);
|
|
260
|
+
color: var(--color-info-content);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
.slider-info .slider-thumb-label::after {
|
|
264
|
+
border-top-color: var(--color-info);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
/* Success */
|
|
268
|
+
.slider-success .slider-track-filled,
|
|
269
|
+
.slider-success .slider-thumb {
|
|
270
|
+
background-color: var(--color-success);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
.slider-success .slider-thumb:hover,
|
|
274
|
+
.slider-success .slider-thumb:focus-visible {
|
|
275
|
+
box-shadow: 0 0 0 8px var(--color-success-container), 0 2px 4px rgb(0 0 0 / 0.2);
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
.slider-success .slider-mark-active { background-color: var(--color-success-content); }
|
|
279
|
+
|
|
280
|
+
.slider-success .slider-thumb-label {
|
|
281
|
+
background-color: var(--color-success);
|
|
282
|
+
color: var(--color-success-content);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
.slider-success .slider-thumb-label::after {
|
|
286
|
+
border-top-color: var(--color-success);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
/* Warning */
|
|
290
|
+
.slider-warning .slider-track-filled,
|
|
291
|
+
.slider-warning .slider-thumb {
|
|
292
|
+
background-color: var(--color-warning);
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
.slider-warning .slider-thumb:hover,
|
|
296
|
+
.slider-warning .slider-thumb:focus-visible {
|
|
297
|
+
box-shadow: 0 0 0 8px var(--color-warning-container), 0 2px 4px rgb(0 0 0 / 0.2);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
.slider-warning .slider-mark-active { background-color: var(--color-warning-content); }
|
|
301
|
+
|
|
302
|
+
.slider-warning .slider-thumb-label {
|
|
303
|
+
background-color: var(--color-warning);
|
|
304
|
+
color: var(--color-warning-content);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
.slider-warning .slider-thumb-label::after {
|
|
308
|
+
border-top-color: var(--color-warning);
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
/* Error */
|
|
312
|
+
.slider-error .slider-track-filled,
|
|
313
|
+
.slider-error .slider-thumb {
|
|
314
|
+
background-color: var(--color-error);
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
.slider-error .slider-thumb:hover,
|
|
318
|
+
.slider-error .slider-thumb:focus-visible {
|
|
319
|
+
box-shadow: 0 0 0 8px var(--color-error-container), 0 2px 4px rgb(0 0 0 / 0.2);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
.slider-error .slider-mark-active { background-color: var(--color-error-content); }
|
|
323
|
+
|
|
324
|
+
.slider-error .slider-thumb-label {
|
|
325
|
+
background-color: var(--color-error);
|
|
326
|
+
color: var(--color-error-content);
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
.slider-error .slider-thumb-label::after {
|
|
330
|
+
border-top-color: var(--color-error);
|
|
331
|
+
}
|
|
332
|
+
|
|
219
333
|
/* Disabled State */
|
|
220
334
|
.slider-disabled {
|
|
221
335
|
opacity: 0.6;
|
|
@@ -272,9 +386,18 @@
|
|
|
272
386
|
right: 100%;
|
|
273
387
|
transform: translateY(-50%);
|
|
274
388
|
border-top-color: transparent;
|
|
275
|
-
border-right-color: var(--color-primary);
|
|
389
|
+
border-right-color: var(--color-primary); /* overridden per-variant below */
|
|
276
390
|
}
|
|
277
391
|
|
|
392
|
+
/* Variant-specific vertical arrow colors (border-right-color cannot use currentColor
|
|
393
|
+
since it must match the label background, not the text color) */
|
|
394
|
+
.slider-secondary.slider-vertical .slider-thumb-label::after { border-right-color: var(--color-secondary); }
|
|
395
|
+
.slider-tertiary.slider-vertical .slider-thumb-label::after { border-right-color: var(--color-tertiary); }
|
|
396
|
+
.slider-info.slider-vertical .slider-thumb-label::after { border-right-color: var(--color-info); }
|
|
397
|
+
.slider-success.slider-vertical .slider-thumb-label::after { border-right-color: var(--color-success); }
|
|
398
|
+
.slider-warning.slider-vertical .slider-thumb-label::after { border-right-color: var(--color-warning); }
|
|
399
|
+
.slider-error.slider-vertical .slider-thumb-label::after { border-right-color: var(--color-error); }
|
|
400
|
+
|
|
278
401
|
.slider-vertical .slider-marks {
|
|
279
402
|
flex-direction: column;
|
|
280
403
|
top: 0;
|
|
@@ -314,7 +437,8 @@
|
|
|
314
437
|
|
|
315
438
|
.slider-input:focus {
|
|
316
439
|
outline: none;
|
|
317
|
-
border-color:
|
|
440
|
+
border-color: currentColor;
|
|
441
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, currentColor 20%, transparent);
|
|
318
442
|
}
|
|
319
443
|
|
|
320
444
|
/* Reduce Motion */
|
|
@@ -11,8 +11,11 @@
|
|
|
11
11
|
.switch {
|
|
12
12
|
--switch-width: 3.25rem;
|
|
13
13
|
--switch-height: 2rem;
|
|
14
|
+
color: var(--color-on-surface);
|
|
14
15
|
--switch-thumb-size: 1rem;
|
|
15
16
|
--switch-color: var(--color-primary);
|
|
17
|
+
--switch-content-color: var(--color-primary-content);
|
|
18
|
+
--switch-container-color: var(--color-primary-container);
|
|
16
19
|
--switch-track-color: var(--color-surface-container-highest);
|
|
17
20
|
--switch-border-color: var(--color-outline);
|
|
18
21
|
--switch-thumb-color: var(--color-outline);
|
|
@@ -58,7 +61,7 @@
|
|
|
58
61
|
}
|
|
59
62
|
|
|
60
63
|
.switch:checked::before {
|
|
61
|
-
background-color: var(--
|
|
64
|
+
background-color: var(--switch-content-color);
|
|
62
65
|
}
|
|
63
66
|
|
|
64
67
|
/* Hover State (unchecked) */
|
|
@@ -77,13 +80,13 @@
|
|
|
77
80
|
}
|
|
78
81
|
|
|
79
82
|
.switch:checked:hover:not(:disabled)::before {
|
|
80
|
-
background-color: var(--
|
|
83
|
+
background-color: var(--switch-container-color);
|
|
81
84
|
}
|
|
82
85
|
|
|
83
86
|
/* Focus State */
|
|
84
87
|
.switch:focus-visible {
|
|
85
|
-
outline:
|
|
86
|
-
|
|
88
|
+
outline: none;
|
|
89
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, var(--switch-color) 20%, transparent);
|
|
87
90
|
}
|
|
88
91
|
|
|
89
92
|
/* Pressed/Active State - expand thumb slightly */
|
|
@@ -160,30 +163,50 @@
|
|
|
160
163
|
|
|
161
164
|
.switch-primary {
|
|
162
165
|
--switch-color: var(--color-primary);
|
|
166
|
+
--switch-content-color: var(--color-primary-content);
|
|
167
|
+
--switch-container-color: var(--color-primary-container);
|
|
163
168
|
}
|
|
164
169
|
|
|
165
170
|
.switch-secondary {
|
|
166
171
|
--switch-color: var(--color-secondary);
|
|
172
|
+
--switch-content-color: var(--color-secondary-content);
|
|
173
|
+
--switch-container-color: var(--color-secondary-container);
|
|
167
174
|
}
|
|
168
175
|
|
|
169
176
|
.switch-tertiary {
|
|
170
177
|
--switch-color: var(--color-tertiary);
|
|
178
|
+
--switch-content-color: var(--color-tertiary-content);
|
|
179
|
+
--switch-container-color: var(--color-tertiary-container);
|
|
171
180
|
}
|
|
172
181
|
|
|
173
182
|
.switch-success {
|
|
174
183
|
--switch-color: var(--color-success);
|
|
184
|
+
--switch-content-color: var(--color-success-content);
|
|
185
|
+
--switch-container-color: var(--color-success-container);
|
|
175
186
|
}
|
|
176
187
|
|
|
177
188
|
.switch-warning {
|
|
178
189
|
--switch-color: var(--color-warning);
|
|
190
|
+
--switch-content-color: var(--color-warning-content);
|
|
191
|
+
--switch-container-color: var(--color-warning-container);
|
|
179
192
|
}
|
|
180
193
|
|
|
181
194
|
.switch-error {
|
|
182
195
|
--switch-color: var(--color-error);
|
|
196
|
+
--switch-content-color: var(--color-error-content);
|
|
197
|
+
--switch-container-color: var(--color-error-container);
|
|
183
198
|
}
|
|
184
199
|
|
|
185
200
|
.switch-info {
|
|
186
201
|
--switch-color: var(--color-info);
|
|
202
|
+
--switch-content-color: var(--color-info-content);
|
|
203
|
+
--switch-container-color: var(--color-info-container);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/* Ghost Variant — borderless track */
|
|
207
|
+
.switch-ghost {
|
|
208
|
+
--switch-border-color: transparent;
|
|
209
|
+
--switch-track-color: transparent;
|
|
187
210
|
}
|
|
188
211
|
|
|
189
212
|
/* ========================================
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
font-family: inherit;
|
|
93
93
|
color: var(--color-on-surface);
|
|
94
94
|
background-color: var(--color-surface);
|
|
95
|
-
border: 1px solid
|
|
95
|
+
border: 1px solid currentColor;
|
|
96
96
|
border-radius: 0.5rem;
|
|
97
97
|
outline: none;
|
|
98
98
|
resize: vertical;
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
.textarea:hover:not(:disabled) {
|
|
108
|
-
|
|
108
|
+
background-color: var(--color-surface-container);
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
.textarea:focus {
|
|
@@ -113,8 +113,7 @@
|
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
.textarea:focus-visible {
|
|
116
|
-
|
|
117
|
-
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-primary) 10%, transparent);
|
|
116
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, currentColor 20%, transparent);
|
|
118
117
|
}
|
|
119
118
|
|
|
120
119
|
.textarea:disabled {
|
|
@@ -156,6 +155,14 @@
|
|
|
156
155
|
box-shadow: none;
|
|
157
156
|
}
|
|
158
157
|
|
|
158
|
+
.textarea-filled.textarea-primary:focus-visible { border-bottom-color: var(--color-primary); }
|
|
159
|
+
.textarea-filled.textarea-secondary:focus-visible { border-bottom-color: var(--color-secondary); }
|
|
160
|
+
.textarea-filled.textarea-tertiary:focus-visible { border-bottom-color: var(--color-tertiary); }
|
|
161
|
+
.textarea-filled.textarea-info:focus-visible { border-bottom-color: var(--color-info); }
|
|
162
|
+
.textarea-filled.textarea-success:focus-visible { border-bottom-color: var(--color-success); }
|
|
163
|
+
.textarea-filled.textarea-warning:focus-visible { border-bottom-color: var(--color-warning); }
|
|
164
|
+
.textarea-filled.textarea-error:focus-visible { border-bottom-color: var(--color-error); }
|
|
165
|
+
|
|
159
166
|
/* Outlined Variant (default) */
|
|
160
167
|
.textarea-outlined {
|
|
161
168
|
background-color: transparent;
|
|
@@ -177,109 +184,27 @@
|
|
|
177
184
|
.textarea-ghost:focus-visible {
|
|
178
185
|
background-color: var(--color-surface-container);
|
|
179
186
|
border-color: transparent;
|
|
180
|
-
box-shadow:
|
|
187
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, currentColor 20%, transparent);
|
|
181
188
|
}
|
|
182
189
|
|
|
183
190
|
/* ============================================
|
|
184
191
|
* COLOR VARIANTS
|
|
185
192
|
* ============================================ */
|
|
186
193
|
|
|
187
|
-
/*
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
.textarea-primary:focus-visible {
|
|
193
|
-
border-color: var(--color-primary);
|
|
194
|
-
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-primary) 10%, transparent);
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
.textarea-filled.textarea-primary {
|
|
198
|
-
border-bottom-color: var(--color-primary);
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
.textarea-filled.textarea-primary:focus-visible {
|
|
202
|
-
border-bottom-color: var(--color-primary);
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
/* Secondary */
|
|
206
|
-
.textarea-secondary {
|
|
207
|
-
border-color: var(--color-secondary);
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
.textarea-secondary:focus-visible {
|
|
211
|
-
border-color: var(--color-secondary);
|
|
212
|
-
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-secondary) 10%, transparent);
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
.textarea-filled.textarea-secondary {
|
|
216
|
-
border-bottom-color: var(--color-secondary);
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
.textarea-filled.textarea-secondary:focus-visible {
|
|
220
|
-
border-bottom-color: var(--color-secondary);
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
/* Tertiary */
|
|
224
|
-
.textarea-tertiary {
|
|
225
|
-
border-color: var(--color-tertiary);
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
.textarea-tertiary:focus-visible {
|
|
229
|
-
border-color: var(--color-tertiary);
|
|
230
|
-
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-tertiary) 10%, transparent);
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
.textarea-filled.textarea-tertiary {
|
|
234
|
-
border-bottom-color: var(--color-tertiary);
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
.textarea-filled.textarea-tertiary:focus-visible {
|
|
238
|
-
border-bottom-color: var(--color-tertiary);
|
|
239
|
-
}
|
|
194
|
+
/* Color Variants — base .textarea:focus-visible uses currentColor 20%, so no per-variant
|
|
195
|
+
focus-visible overrides needed; setting color: here is sufficient. */
|
|
196
|
+
.textarea-primary { color: var(--color-primary); }
|
|
197
|
+
.textarea-secondary { color: var(--color-secondary); }
|
|
198
|
+
.textarea-tertiary { color: var(--color-tertiary); }
|
|
240
199
|
|
|
241
200
|
/* ============================================
|
|
242
201
|
* SEMANTIC COLORS
|
|
243
202
|
* ============================================ */
|
|
244
203
|
|
|
245
|
-
.textarea-
|
|
246
|
-
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
.textarea-error:focus-visible {
|
|
250
|
-
border-color: var(--color-error);
|
|
251
|
-
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-error) 10%, transparent);
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
.textarea-filled.textarea-error {
|
|
255
|
-
border-bottom-color: var(--color-error);
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
.textarea-success {
|
|
259
|
-
border-color: var(--color-success);
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
.textarea-success:focus-visible {
|
|
263
|
-
border-color: var(--color-success);
|
|
264
|
-
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-success) 10%, transparent);
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
.textarea-filled.textarea-success {
|
|
268
|
-
border-bottom-color: var(--color-success);
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
.textarea-warning {
|
|
272
|
-
border-color: var(--color-warning);
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
.textarea-warning:focus-visible {
|
|
276
|
-
border-color: var(--color-warning);
|
|
277
|
-
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-warning) 10%, transparent);
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
.textarea-filled.textarea-warning {
|
|
281
|
-
border-bottom-color: var(--color-warning);
|
|
282
|
-
}
|
|
204
|
+
.textarea-info { color: var(--color-info); }
|
|
205
|
+
.textarea-success { color: var(--color-success); }
|
|
206
|
+
.textarea-warning { color: var(--color-warning); }
|
|
207
|
+
.textarea-error { color: var(--color-error); }
|
|
283
208
|
|
|
284
209
|
/* ============================================
|
|
285
210
|
* SIZE VARIANTS
|
|
@@ -20,19 +20,18 @@
|
|
|
20
20
|
line-height: 1.5rem;
|
|
21
21
|
color: var(--color-on-surface);
|
|
22
22
|
background-color: var(--color-surface);
|
|
23
|
-
border: 1px solid
|
|
23
|
+
border: 1px solid currentColor;
|
|
24
24
|
border-radius: 0.5rem;
|
|
25
25
|
outline: none;
|
|
26
26
|
transition: border-color 150ms ease-in-out, box-shadow 150ms ease-in-out;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
.time-input-field:hover:not(:disabled) {
|
|
30
|
-
|
|
30
|
+
background-color: var(--color-surface-container);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
.time-input-field:focus {
|
|
34
|
-
|
|
35
|
-
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-primary) 10%, transparent);
|
|
34
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, currentColor 20%, transparent);
|
|
36
35
|
}
|
|
37
36
|
|
|
38
37
|
.time-input-field:disabled {
|
|
@@ -61,7 +60,7 @@
|
|
|
61
60
|
gap: 0.125rem;
|
|
62
61
|
padding: 0.75rem 1rem;
|
|
63
62
|
background-color: var(--color-surface);
|
|
64
|
-
border: 1px solid
|
|
63
|
+
border: 1px solid currentColor;
|
|
65
64
|
border-radius: 0.5rem;
|
|
66
65
|
}
|
|
67
66
|
|
|
@@ -154,37 +153,87 @@
|
|
|
154
153
|
|
|
155
154
|
.time-input-filled .time-input-field:focus,
|
|
156
155
|
.time-input-filled .time-input-segments:focus-within {
|
|
157
|
-
border-bottom-color:
|
|
156
|
+
border-bottom-color: currentColor;
|
|
158
157
|
box-shadow: none;
|
|
159
158
|
}
|
|
160
159
|
|
|
161
160
|
/* Color Variants */
|
|
161
|
+
.time-input-primary .time-input-field,
|
|
162
|
+
.time-input-primary .time-input-segments {
|
|
163
|
+
color: var(--color-primary);
|
|
164
|
+
}
|
|
165
|
+
|
|
162
166
|
.time-input-primary .time-input-field:focus {
|
|
163
|
-
border-color: var(--color-primary);
|
|
164
167
|
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-primary) 10%, transparent);
|
|
165
168
|
}
|
|
166
169
|
|
|
170
|
+
.time-input-secondary .time-input-field,
|
|
171
|
+
.time-input-secondary .time-input-segments {
|
|
172
|
+
color: var(--color-secondary);
|
|
173
|
+
}
|
|
174
|
+
|
|
167
175
|
.time-input-secondary .time-input-field:focus {
|
|
168
|
-
border-color: var(--color-secondary);
|
|
169
176
|
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-secondary) 10%, transparent);
|
|
170
177
|
}
|
|
171
178
|
|
|
179
|
+
.time-input-tertiary .time-input-field,
|
|
180
|
+
.time-input-tertiary .time-input-segments {
|
|
181
|
+
color: var(--color-tertiary);
|
|
182
|
+
}
|
|
183
|
+
|
|
172
184
|
.time-input-tertiary .time-input-field:focus {
|
|
173
|
-
border-color: var(--color-tertiary);
|
|
174
185
|
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-tertiary) 10%, transparent);
|
|
175
186
|
}
|
|
176
187
|
|
|
177
|
-
|
|
188
|
+
.time-input-info .time-input-field,
|
|
189
|
+
.time-input-info .time-input-segments {
|
|
190
|
+
color: var(--color-info);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.time-input-info .time-input-field:focus {
|
|
194
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-info) 10%, transparent);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.time-input-success .time-input-field,
|
|
198
|
+
.time-input-success .time-input-segments {
|
|
199
|
+
color: var(--color-success);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
.time-input-success .time-input-field:focus {
|
|
203
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-success) 10%, transparent);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.time-input-warning .time-input-field,
|
|
207
|
+
.time-input-warning .time-input-segments {
|
|
208
|
+
color: var(--color-warning);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.time-input-warning .time-input-field:focus {
|
|
212
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-warning) 10%, transparent);
|
|
213
|
+
}
|
|
214
|
+
|
|
178
215
|
.time-input-error .time-input-field,
|
|
179
216
|
.time-input-error .time-input-segments {
|
|
180
|
-
|
|
217
|
+
color: var(--color-error);
|
|
181
218
|
}
|
|
182
219
|
|
|
183
220
|
.time-input-error .time-input-field:focus {
|
|
184
|
-
border-color: var(--color-error);
|
|
185
221
|
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-error) 10%, transparent);
|
|
186
222
|
}
|
|
187
223
|
|
|
224
|
+
/* Ghost Variant */
|
|
225
|
+
.time-input-ghost .time-input-field,
|
|
226
|
+
.time-input-ghost .time-input-segments {
|
|
227
|
+
background-color: transparent;
|
|
228
|
+
border-color: transparent;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
.time-input-ghost .time-input-field:focus {
|
|
232
|
+
background-color: var(--color-surface-container);
|
|
233
|
+
border-color: transparent;
|
|
234
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, currentColor 20%, transparent);
|
|
235
|
+
}
|
|
236
|
+
|
|
188
237
|
/* Time Picker Dropdown */
|
|
189
238
|
.time-picker-dropdown {
|
|
190
239
|
position: absolute;
|
|
@@ -148,8 +148,8 @@
|
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
.toast-close:focus-visible {
|
|
151
|
-
outline:
|
|
152
|
-
|
|
151
|
+
outline: none;
|
|
152
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, currentColor 20%, transparent);
|
|
153
153
|
}
|
|
154
154
|
|
|
155
155
|
/* Toast Actions */
|
|
@@ -192,6 +192,30 @@
|
|
|
192
192
|
color: var(--color-error);
|
|
193
193
|
}
|
|
194
194
|
|
|
195
|
+
.toast-primary {
|
|
196
|
+
border-color: var(--color-primary);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
.toast-primary .toast-icon {
|
|
200
|
+
color: var(--color-primary);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
.toast-secondary {
|
|
204
|
+
border-color: var(--color-secondary);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.toast-secondary .toast-icon {
|
|
208
|
+
color: var(--color-secondary);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.toast-tertiary {
|
|
212
|
+
border-color: var(--color-tertiary);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.toast-tertiary .toast-icon {
|
|
216
|
+
color: var(--color-tertiary);
|
|
217
|
+
}
|
|
218
|
+
|
|
195
219
|
/* Filled Variants */
|
|
196
220
|
.toast-filled.toast-info {
|
|
197
221
|
background-color: var(--color-info-container);
|
|
@@ -217,13 +241,58 @@
|
|
|
217
241
|
color: var(--color-on-error-container);
|
|
218
242
|
}
|
|
219
243
|
|
|
244
|
+
.toast-filled.toast-primary {
|
|
245
|
+
background-color: var(--color-primary-container);
|
|
246
|
+
border-color: transparent;
|
|
247
|
+
color: var(--color-on-primary-container);
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
.toast-filled.toast-secondary {
|
|
251
|
+
background-color: var(--color-secondary-container);
|
|
252
|
+
border-color: transparent;
|
|
253
|
+
color: var(--color-on-secondary-container);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
.toast-filled.toast-tertiary {
|
|
257
|
+
background-color: var(--color-tertiary-container);
|
|
258
|
+
border-color: transparent;
|
|
259
|
+
color: var(--color-on-tertiary-container);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
/* Filled variant sub-element color inheritance fix.
|
|
263
|
+
.toast-title and .toast-message have explicit color rules that would otherwise
|
|
264
|
+
override the filled variant's inherited on-container color. */
|
|
265
|
+
.toast-filled .toast-title,
|
|
266
|
+
.toast-filled .toast-message {
|
|
267
|
+
color: inherit;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
/* Ghost Variant */
|
|
271
|
+
.toast-ghost {
|
|
272
|
+
background-color: transparent;
|
|
273
|
+
border-color: transparent;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
.toast-ghost.toast-primary { color: var(--color-primary); }
|
|
277
|
+
.toast-ghost.toast-secondary { color: var(--color-secondary); }
|
|
278
|
+
.toast-ghost.toast-tertiary { color: var(--color-tertiary); }
|
|
279
|
+
.toast-ghost.toast-info { color: var(--color-info); }
|
|
280
|
+
.toast-ghost.toast-success { color: var(--color-success); }
|
|
281
|
+
.toast-ghost.toast-warning { color: var(--color-warning); }
|
|
282
|
+
.toast-ghost.toast-error { color: var(--color-error); }
|
|
283
|
+
|
|
284
|
+
.toast-ghost .toast-title,
|
|
285
|
+
.toast-ghost .toast-message {
|
|
286
|
+
color: inherit;
|
|
287
|
+
}
|
|
288
|
+
|
|
220
289
|
/* Progress Bar (for auto-dismiss) */
|
|
221
290
|
.toast-progress {
|
|
222
291
|
position: absolute;
|
|
223
292
|
bottom: 0;
|
|
224
293
|
left: 0;
|
|
225
294
|
height: 3px;
|
|
226
|
-
background-color:
|
|
295
|
+
background-color: currentColor;
|
|
227
296
|
border-radius: 0 0 0.75rem 0.75rem;
|
|
228
297
|
animation: toast-progress linear forwards;
|
|
229
298
|
}
|