@duskmoon-dev/core 1.12.4 → 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/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/index.css +1583 -409
- package/dist/index.min.css +1 -1
- package/package.json +1 -1
|
@@ -94,6 +94,26 @@ export const css = `/**
|
|
|
94
94
|
color: var(--color-tertiary-content);
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
+
.avatar-info {
|
|
98
|
+
background-color: var(--color-info);
|
|
99
|
+
color: var(--color-info-content);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.avatar-success {
|
|
103
|
+
background-color: var(--color-success);
|
|
104
|
+
color: var(--color-success-content);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.avatar-warning {
|
|
108
|
+
background-color: var(--color-warning);
|
|
109
|
+
color: var(--color-warning-content);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.avatar-error {
|
|
113
|
+
background-color: var(--color-error);
|
|
114
|
+
color: var(--color-error-content);
|
|
115
|
+
}
|
|
116
|
+
|
|
97
117
|
/* Ring */
|
|
98
118
|
.avatar-ring {
|
|
99
119
|
outline: 2px solid var(--color-primary);
|
|
@@ -162,8 +182,8 @@ export const css = `/**
|
|
|
162
182
|
|
|
163
183
|
/* Focus State for Interactive Avatars */
|
|
164
184
|
.avatar:focus-visible {
|
|
165
|
-
outline:
|
|
166
|
-
|
|
185
|
+
outline: none;
|
|
186
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, currentColor 20%, transparent);
|
|
167
187
|
}
|
|
168
188
|
}
|
|
169
189
|
`;
|
|
@@ -45,8 +45,8 @@ export const css = `/**
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
.btn:focus-visible {
|
|
48
|
-
outline:
|
|
49
|
-
|
|
48
|
+
outline: none;
|
|
49
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, currentColor 20%, transparent);
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
.btn:disabled {
|
|
@@ -68,10 +68,6 @@ export const css = `/**
|
|
|
68
68
|
filter: none;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
.btn-primary:focus-visible {
|
|
72
|
-
outline-color: color-mix(in oklch, var(--color-primary), black 10%);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
71
|
/* Secondary Button */
|
|
76
72
|
.btn-secondary {
|
|
77
73
|
--btn-text-color: var(--color-secondary-content);
|
|
@@ -85,10 +81,6 @@ export const css = `/**
|
|
|
85
81
|
filter: none;
|
|
86
82
|
}
|
|
87
83
|
|
|
88
|
-
.btn-secondary:focus-visible {
|
|
89
|
-
outline-color: color-mix(in oklch, var(--color-secondary), black 10%);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
84
|
/* Tertiary Button */
|
|
93
85
|
.btn-tertiary {
|
|
94
86
|
--btn-text-color: var(--color-tertiary-content);
|
|
@@ -102,92 +94,102 @@ export const css = `/**
|
|
|
102
94
|
filter: none;
|
|
103
95
|
}
|
|
104
96
|
|
|
105
|
-
.btn-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
/* Outline Variant */
|
|
110
|
-
.btn-outline {
|
|
97
|
+
/* Outline / Outlined Variant (.btn-outlined is an alias) */
|
|
98
|
+
.btn-outline,
|
|
99
|
+
.btn-outlined {
|
|
111
100
|
--btn-text-color: var(--color-on-surface);
|
|
112
101
|
background-color: transparent;
|
|
113
102
|
border: 1px solid var(--color-outline);
|
|
114
103
|
}
|
|
115
104
|
|
|
116
|
-
.btn-outline:hover
|
|
105
|
+
.btn-outline:hover,
|
|
106
|
+
.btn-outlined:hover {
|
|
117
107
|
background-color: var(--color-surface-container);
|
|
118
108
|
filter: none;
|
|
119
109
|
}
|
|
120
110
|
|
|
121
|
-
.btn-outline.btn-primary
|
|
111
|
+
.btn-outline.btn-primary,
|
|
112
|
+
.btn-outlined.btn-primary {
|
|
122
113
|
--btn-text-color: var(--color-primary);
|
|
123
114
|
border-color: var(--color-primary);
|
|
124
115
|
}
|
|
125
116
|
|
|
126
|
-
.btn-outline.btn-primary:hover
|
|
117
|
+
.btn-outline.btn-primary:hover,
|
|
118
|
+
.btn-outlined.btn-primary:hover {
|
|
127
119
|
--btn-text-color: var(--color-primary-content);
|
|
128
120
|
background-color: var(--color-primary);
|
|
129
121
|
}
|
|
130
122
|
|
|
131
|
-
.btn-outline.btn-secondary
|
|
123
|
+
.btn-outline.btn-secondary,
|
|
124
|
+
.btn-outlined.btn-secondary {
|
|
132
125
|
--btn-text-color: var(--color-secondary);
|
|
133
126
|
border-color: var(--color-secondary);
|
|
134
127
|
}
|
|
135
128
|
|
|
136
|
-
.btn-outline.btn-secondary:hover
|
|
129
|
+
.btn-outline.btn-secondary:hover,
|
|
130
|
+
.btn-outlined.btn-secondary:hover {
|
|
137
131
|
--btn-text-color: var(--color-secondary-content);
|
|
138
132
|
background-color: var(--color-secondary);
|
|
139
133
|
}
|
|
140
134
|
|
|
141
|
-
.btn-outline.btn-tertiary
|
|
135
|
+
.btn-outline.btn-tertiary,
|
|
136
|
+
.btn-outlined.btn-tertiary {
|
|
142
137
|
--btn-text-color: var(--color-tertiary);
|
|
143
138
|
border-color: var(--color-tertiary);
|
|
144
139
|
}
|
|
145
140
|
|
|
146
|
-
.btn-outline.btn-tertiary:hover
|
|
141
|
+
.btn-outline.btn-tertiary:hover,
|
|
142
|
+
.btn-outlined.btn-tertiary:hover {
|
|
147
143
|
--btn-text-color: var(--color-tertiary-content);
|
|
148
144
|
background-color: var(--color-tertiary);
|
|
149
145
|
}
|
|
150
146
|
|
|
151
|
-
|
|
152
|
-
.btn-outlined {
|
|
153
|
-
--btn-text-color: var(--color-
|
|
154
|
-
|
|
155
|
-
border: 1px solid var(--color-outline);
|
|
147
|
+
.btn-outline.btn-info,
|
|
148
|
+
.btn-outlined.btn-info {
|
|
149
|
+
--btn-text-color: var(--color-info);
|
|
150
|
+
border-color: var(--color-info);
|
|
156
151
|
}
|
|
157
152
|
|
|
158
|
-
.btn-
|
|
159
|
-
|
|
160
|
-
|
|
153
|
+
.btn-outline.btn-info:hover,
|
|
154
|
+
.btn-outlined.btn-info:hover {
|
|
155
|
+
--btn-text-color: var(--color-info-content);
|
|
156
|
+
background-color: var(--color-info);
|
|
161
157
|
}
|
|
162
158
|
|
|
163
|
-
.btn-
|
|
164
|
-
|
|
165
|
-
|
|
159
|
+
.btn-outline.btn-success,
|
|
160
|
+
.btn-outlined.btn-success {
|
|
161
|
+
--btn-text-color: var(--color-success);
|
|
162
|
+
border-color: var(--color-success);
|
|
166
163
|
}
|
|
167
164
|
|
|
168
|
-
.btn-
|
|
169
|
-
|
|
170
|
-
|
|
165
|
+
.btn-outline.btn-success:hover,
|
|
166
|
+
.btn-outlined.btn-success:hover {
|
|
167
|
+
--btn-text-color: var(--color-success-content);
|
|
168
|
+
background-color: var(--color-success);
|
|
171
169
|
}
|
|
172
170
|
|
|
173
|
-
.btn-
|
|
174
|
-
|
|
175
|
-
|
|
171
|
+
.btn-outline.btn-warning,
|
|
172
|
+
.btn-outlined.btn-warning {
|
|
173
|
+
--btn-text-color: var(--color-warning);
|
|
174
|
+
border-color: var(--color-warning);
|
|
176
175
|
}
|
|
177
176
|
|
|
178
|
-
.btn-
|
|
179
|
-
|
|
180
|
-
|
|
177
|
+
.btn-outline.btn-warning:hover,
|
|
178
|
+
.btn-outlined.btn-warning:hover {
|
|
179
|
+
--btn-text-color: var(--color-warning-content);
|
|
180
|
+
background-color: var(--color-warning);
|
|
181
181
|
}
|
|
182
182
|
|
|
183
|
-
.btn-
|
|
184
|
-
|
|
185
|
-
|
|
183
|
+
.btn-outline.btn-error,
|
|
184
|
+
.btn-outlined.btn-error {
|
|
185
|
+
--btn-text-color: var(--color-error);
|
|
186
|
+
border-color: var(--color-error);
|
|
186
187
|
}
|
|
187
188
|
|
|
188
|
-
.btn-
|
|
189
|
-
|
|
190
|
-
|
|
189
|
+
.btn-outline.btn-error:hover,
|
|
190
|
+
.btn-outlined.btn-error:hover {
|
|
191
|
+
--btn-text-color: var(--color-error-content);
|
|
192
|
+
background-color: var(--color-error);
|
|
191
193
|
}
|
|
192
194
|
|
|
193
195
|
/* Ghost Variant */
|
|
@@ -229,6 +231,31 @@ export const css = `/**
|
|
|
229
231
|
background-color: var(--color-tertiary-container);
|
|
230
232
|
}
|
|
231
233
|
|
|
234
|
+
.btn-ghost.btn-info { --btn-text-color: var(--color-info); }
|
|
235
|
+
.btn-ghost.btn-success { --btn-text-color: var(--color-success); }
|
|
236
|
+
.btn-ghost.btn-warning { --btn-text-color: var(--color-warning); }
|
|
237
|
+
.btn-ghost.btn-error { --btn-text-color: var(--color-error); }
|
|
238
|
+
|
|
239
|
+
.btn-ghost.btn-info:hover {
|
|
240
|
+
--btn-text-color: var(--color-on-info-container);
|
|
241
|
+
background-color: var(--color-info-container);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.btn-ghost.btn-success:hover {
|
|
245
|
+
--btn-text-color: var(--color-on-success-container);
|
|
246
|
+
background-color: var(--color-success-container);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
.btn-ghost.btn-warning:hover {
|
|
250
|
+
--btn-text-color: var(--color-on-warning-container);
|
|
251
|
+
background-color: var(--color-warning-container);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
.btn-ghost.btn-error:hover {
|
|
255
|
+
--btn-text-color: var(--color-on-error-container);
|
|
256
|
+
background-color: var(--color-error-container);
|
|
257
|
+
}
|
|
258
|
+
|
|
232
259
|
/* Text Variant (alias for .btn-ghost - documentation aligned) */
|
|
233
260
|
.btn-text {
|
|
234
261
|
--btn-text-color: var(--color-on-surface);
|
|
@@ -268,6 +295,31 @@ export const css = `/**
|
|
|
268
295
|
background-color: var(--color-tertiary-container);
|
|
269
296
|
}
|
|
270
297
|
|
|
298
|
+
.btn-text.btn-info { --btn-text-color: var(--color-info); }
|
|
299
|
+
.btn-text.btn-success { --btn-text-color: var(--color-success); }
|
|
300
|
+
.btn-text.btn-warning { --btn-text-color: var(--color-warning); }
|
|
301
|
+
.btn-text.btn-error { --btn-text-color: var(--color-error); }
|
|
302
|
+
|
|
303
|
+
.btn-text.btn-info:hover {
|
|
304
|
+
--btn-text-color: var(--color-on-info-container);
|
|
305
|
+
background-color: var(--color-info-container);
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
.btn-text.btn-success:hover {
|
|
309
|
+
--btn-text-color: var(--color-on-success-container);
|
|
310
|
+
background-color: var(--color-success-container);
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
.btn-text.btn-warning:hover {
|
|
314
|
+
--btn-text-color: var(--color-on-warning-container);
|
|
315
|
+
background-color: var(--color-warning-container);
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
.btn-text.btn-error:hover {
|
|
319
|
+
--btn-text-color: var(--color-on-error-container);
|
|
320
|
+
background-color: var(--color-error-container);
|
|
321
|
+
}
|
|
322
|
+
|
|
271
323
|
/* Tonal Variant - uses container colors for subtle appearance */
|
|
272
324
|
.btn-tonal {
|
|
273
325
|
--btn-text-color: var(--color-on-primary-container);
|
|
@@ -163,6 +163,42 @@ export const css = `/**
|
|
|
163
163
|
color: var(--color-on-tertiary-container);
|
|
164
164
|
}
|
|
165
165
|
|
|
166
|
+
.card-info {
|
|
167
|
+
background-color: var(--color-info-container);
|
|
168
|
+
color: var(--color-on-info-container);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.card-info .card-title {
|
|
172
|
+
color: var(--color-on-info-container);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.card-success {
|
|
176
|
+
background-color: var(--color-success-container);
|
|
177
|
+
color: var(--color-on-success-container);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
.card-success .card-title {
|
|
181
|
+
color: var(--color-on-success-container);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.card-warning {
|
|
185
|
+
background-color: var(--color-warning-container);
|
|
186
|
+
color: var(--color-on-warning-container);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.card-warning .card-title {
|
|
190
|
+
color: var(--color-on-warning-container);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.card-error {
|
|
194
|
+
background-color: var(--color-error-container);
|
|
195
|
+
color: var(--color-on-error-container);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.card-error .card-title {
|
|
199
|
+
color: var(--color-on-error-container);
|
|
200
|
+
}
|
|
201
|
+
|
|
166
202
|
/* Glass Effect */
|
|
167
203
|
.card-glass {
|
|
168
204
|
background-color: rgb(255 255 255 / 0.1);
|
|
@@ -190,8 +226,8 @@ export const css = `/**
|
|
|
190
226
|
}
|
|
191
227
|
|
|
192
228
|
.card-interactive:focus-visible {
|
|
193
|
-
outline:
|
|
194
|
-
|
|
229
|
+
outline: none;
|
|
230
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, currentColor 20%, transparent);
|
|
195
231
|
}
|
|
196
232
|
|
|
197
233
|
/* Full Image Card */
|
|
@@ -24,20 +24,19 @@ export const css = `/**
|
|
|
24
24
|
line-height: 1.5rem;
|
|
25
25
|
color: var(--color-on-surface);
|
|
26
26
|
background-color: var(--color-surface);
|
|
27
|
-
border: 1px solid
|
|
27
|
+
border: 1px solid currentColor;
|
|
28
28
|
border-radius: 0.5rem;
|
|
29
29
|
cursor: pointer;
|
|
30
30
|
transition: border-color 150ms ease-in-out, box-shadow 150ms ease-in-out;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
.cascader-trigger:hover:not(:disabled) {
|
|
34
|
-
|
|
34
|
+
background-color: var(--color-surface-container);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
.cascader-trigger:focus {
|
|
38
38
|
outline: none;
|
|
39
|
-
|
|
40
|
-
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-primary) 10%, transparent);
|
|
39
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, currentColor 20%, transparent);
|
|
41
40
|
}
|
|
42
41
|
|
|
43
42
|
.cascader-trigger:disabled {
|
|
@@ -364,20 +363,71 @@ export const css = `/**
|
|
|
364
363
|
}
|
|
365
364
|
|
|
366
365
|
.cascader-filled .cascader-trigger:focus {
|
|
367
|
-
border-bottom-color:
|
|
366
|
+
border-bottom-color: currentColor;
|
|
368
367
|
box-shadow: none;
|
|
369
368
|
}
|
|
370
369
|
|
|
371
|
-
/*
|
|
372
|
-
.cascader-
|
|
373
|
-
|
|
370
|
+
/* Color Variants */
|
|
371
|
+
.cascader-primary .cascader-trigger {
|
|
372
|
+
color: var(--color-primary);
|
|
373
|
+
}
|
|
374
|
+
.cascader-primary .cascader-trigger:focus {
|
|
375
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-primary) 10%, transparent);
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
.cascader-secondary .cascader-trigger {
|
|
379
|
+
color: var(--color-secondary);
|
|
380
|
+
}
|
|
381
|
+
.cascader-secondary .cascader-trigger:focus {
|
|
382
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-secondary) 10%, transparent);
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
.cascader-tertiary .cascader-trigger {
|
|
386
|
+
color: var(--color-tertiary);
|
|
387
|
+
}
|
|
388
|
+
.cascader-tertiary .cascader-trigger:focus {
|
|
389
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-tertiary) 10%, transparent);
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
.cascader-info .cascader-trigger {
|
|
393
|
+
color: var(--color-info);
|
|
394
|
+
}
|
|
395
|
+
.cascader-info .cascader-trigger:focus {
|
|
396
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-info) 10%, transparent);
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
.cascader-success .cascader-trigger {
|
|
400
|
+
color: var(--color-success);
|
|
401
|
+
}
|
|
402
|
+
.cascader-success .cascader-trigger:focus {
|
|
403
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-success) 10%, transparent);
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
.cascader-warning .cascader-trigger {
|
|
407
|
+
color: var(--color-warning);
|
|
408
|
+
}
|
|
409
|
+
.cascader-warning .cascader-trigger:focus {
|
|
410
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-warning) 10%, transparent);
|
|
374
411
|
}
|
|
375
412
|
|
|
413
|
+
.cascader-error .cascader-trigger {
|
|
414
|
+
color: var(--color-error);
|
|
415
|
+
}
|
|
376
416
|
.cascader-error .cascader-trigger:focus {
|
|
377
|
-
border-color: var(--color-error);
|
|
378
417
|
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-error) 10%, transparent);
|
|
379
418
|
}
|
|
380
419
|
|
|
420
|
+
/* Ghost Variant */
|
|
421
|
+
.cascader-ghost .cascader-trigger {
|
|
422
|
+
background-color: transparent;
|
|
423
|
+
border-color: transparent;
|
|
424
|
+
}
|
|
425
|
+
.cascader-ghost .cascader-trigger:focus {
|
|
426
|
+
background-color: var(--color-surface-container);
|
|
427
|
+
border-color: transparent;
|
|
428
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, currentColor 20%, transparent);
|
|
429
|
+
}
|
|
430
|
+
|
|
381
431
|
/* Disabled State */
|
|
382
432
|
.cascader-disabled .cascader-trigger {
|
|
383
433
|
cursor: not-allowed;
|
|
@@ -13,6 +13,7 @@ export const css = `/**
|
|
|
13
13
|
--checkbox-size: 1.25rem;
|
|
14
14
|
--checkbox-color: var(--color-primary);
|
|
15
15
|
--checkbox-border-color: var(--color-on-surface-variant);
|
|
16
|
+
color: var(--color-on-surface);
|
|
16
17
|
|
|
17
18
|
position: relative;
|
|
18
19
|
display: inline-grid;
|
|
@@ -35,8 +36,8 @@ export const css = `/**
|
|
|
35
36
|
height: 0.35em;
|
|
36
37
|
transform: scale(0) rotate(-45deg);
|
|
37
38
|
transform-origin: center;
|
|
38
|
-
border-bottom: 2px solid var(--color-
|
|
39
|
-
border-left: 2px solid var(--color-
|
|
39
|
+
border-bottom: 2px solid var(--color-primary-content);
|
|
40
|
+
border-left: 2px solid var(--color-primary-content);
|
|
40
41
|
transition: transform 150ms ease-in-out;
|
|
41
42
|
}
|
|
42
43
|
|
|
@@ -59,7 +60,7 @@ export const css = `/**
|
|
|
59
60
|
.checkbox:indeterminate::before {
|
|
60
61
|
width: 0.5em;
|
|
61
62
|
height: 0;
|
|
62
|
-
border-bottom: 2px solid var(--color-
|
|
63
|
+
border-bottom: 2px solid var(--color-primary-content);
|
|
63
64
|
border-left: 0;
|
|
64
65
|
transform: scale(1) rotate(0deg);
|
|
65
66
|
}
|
|
@@ -77,8 +78,8 @@ export const css = `/**
|
|
|
77
78
|
|
|
78
79
|
/* Focus State */
|
|
79
80
|
.checkbox:focus-visible {
|
|
80
|
-
outline:
|
|
81
|
-
|
|
81
|
+
outline: none;
|
|
82
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, var(--checkbox-color) 20%, transparent);
|
|
82
83
|
}
|
|
83
84
|
|
|
84
85
|
/* Disabled State */
|
|
@@ -178,6 +179,15 @@ export const css = `/**
|
|
|
178
179
|
border-color: var(--color-info-content);
|
|
179
180
|
}
|
|
180
181
|
|
|
182
|
+
/* Ghost Variant — borderless unchecked state */
|
|
183
|
+
.checkbox-ghost {
|
|
184
|
+
--checkbox-border-color: transparent;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.checkbox-ghost:hover:not(:disabled):not(:checked) {
|
|
188
|
+
border-color: transparent;
|
|
189
|
+
}
|
|
190
|
+
|
|
181
191
|
/* ========================================
|
|
182
192
|
* Checkbox with Label (wrapper pattern)
|
|
183
193
|
* ======================================== */
|
|
@@ -36,8 +36,8 @@ export const css = `/**
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
.chip:focus-visible {
|
|
39
|
-
outline:
|
|
40
|
-
|
|
39
|
+
outline: none;
|
|
40
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, currentColor 20%, transparent);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
/* Color Variants - Filled */
|
|
@@ -68,6 +68,42 @@ export const css = `/**
|
|
|
68
68
|
background-color: color-mix(in oklch, var(--color-tertiary), black 10%);
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
.chip-info {
|
|
72
|
+
background-color: var(--color-info);
|
|
73
|
+
color: var(--color-info-content);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.chip-info:hover {
|
|
77
|
+
background-color: color-mix(in oklch, var(--color-info), black 10%);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.chip-success {
|
|
81
|
+
background-color: var(--color-success);
|
|
82
|
+
color: var(--color-success-content);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.chip-success:hover {
|
|
86
|
+
background-color: color-mix(in oklch, var(--color-success), black 10%);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.chip-warning {
|
|
90
|
+
background-color: var(--color-warning);
|
|
91
|
+
color: var(--color-warning-content);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.chip-warning:hover {
|
|
95
|
+
background-color: color-mix(in oklch, var(--color-warning), black 10%);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.chip-error {
|
|
99
|
+
background-color: var(--color-error);
|
|
100
|
+
color: var(--color-error-content);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.chip-error:hover {
|
|
104
|
+
background-color: color-mix(in oklch, var(--color-error), black 10%);
|
|
105
|
+
}
|
|
106
|
+
|
|
71
107
|
/* Outlined Variant */
|
|
72
108
|
.chip-outlined {
|
|
73
109
|
background-color: transparent;
|
|
@@ -105,6 +141,42 @@ export const css = `/**
|
|
|
105
141
|
background-color: var(--color-tertiary-container);
|
|
106
142
|
}
|
|
107
143
|
|
|
144
|
+
.chip-outlined.chip-info {
|
|
145
|
+
border-color: var(--color-info);
|
|
146
|
+
color: var(--color-info);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.chip-outlined.chip-info:hover {
|
|
150
|
+
background-color: var(--color-info-container);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.chip-outlined.chip-success {
|
|
154
|
+
border-color: var(--color-success);
|
|
155
|
+
color: var(--color-success);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.chip-outlined.chip-success:hover {
|
|
159
|
+
background-color: var(--color-success-container);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.chip-outlined.chip-warning {
|
|
163
|
+
border-color: var(--color-warning);
|
|
164
|
+
color: var(--color-warning);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.chip-outlined.chip-warning:hover {
|
|
168
|
+
background-color: var(--color-warning-container);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.chip-outlined.chip-error {
|
|
172
|
+
border-color: var(--color-error);
|
|
173
|
+
color: var(--color-error);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.chip-outlined.chip-error:hover {
|
|
177
|
+
background-color: var(--color-error-container);
|
|
178
|
+
}
|
|
179
|
+
|
|
108
180
|
/* Tonal/Soft Variant */
|
|
109
181
|
.chip-tonal {
|
|
110
182
|
background-color: var(--color-surface-container-high);
|
|
@@ -125,6 +197,54 @@ export const css = `/**
|
|
|
125
197
|
color: var(--color-on-tertiary-container);
|
|
126
198
|
}
|
|
127
199
|
|
|
200
|
+
.chip-tonal.chip-info {
|
|
201
|
+
background-color: var(--color-info-container);
|
|
202
|
+
color: var(--color-on-info-container);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
.chip-tonal.chip-success {
|
|
206
|
+
background-color: var(--color-success-container);
|
|
207
|
+
color: var(--color-on-success-container);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
.chip-tonal.chip-warning {
|
|
211
|
+
background-color: var(--color-warning-container);
|
|
212
|
+
color: var(--color-on-warning-container);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.chip-tonal.chip-error {
|
|
216
|
+
background-color: var(--color-error-container);
|
|
217
|
+
color: var(--color-on-error-container);
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
/* Ghost Variant */
|
|
221
|
+
.chip-ghost {
|
|
222
|
+
background-color: transparent;
|
|
223
|
+
border-color: transparent;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
.chip-ghost:hover {
|
|
227
|
+
background-color: var(--color-surface-container);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/* Ghost + color sub-variants: transparent bg/border, colored text.
|
|
231
|
+
Hover uses container color (matches .chip-outlined.chip-*:hover pattern). */
|
|
232
|
+
.chip-ghost.chip-primary { background-color: transparent; color: var(--color-primary); }
|
|
233
|
+
.chip-ghost.chip-secondary { background-color: transparent; color: var(--color-secondary); }
|
|
234
|
+
.chip-ghost.chip-tertiary { background-color: transparent; color: var(--color-tertiary); }
|
|
235
|
+
.chip-ghost.chip-info { background-color: transparent; color: var(--color-info); }
|
|
236
|
+
.chip-ghost.chip-success { background-color: transparent; color: var(--color-success); }
|
|
237
|
+
.chip-ghost.chip-warning { background-color: transparent; color: var(--color-warning); }
|
|
238
|
+
.chip-ghost.chip-error { background-color: transparent; color: var(--color-error); }
|
|
239
|
+
|
|
240
|
+
.chip-ghost.chip-primary:hover { background-color: var(--color-primary-container); }
|
|
241
|
+
.chip-ghost.chip-secondary:hover { background-color: var(--color-secondary-container); }
|
|
242
|
+
.chip-ghost.chip-tertiary:hover { background-color: var(--color-tertiary-container); }
|
|
243
|
+
.chip-ghost.chip-info:hover { background-color: var(--color-info-container); }
|
|
244
|
+
.chip-ghost.chip-success:hover { background-color: var(--color-success-container); }
|
|
245
|
+
.chip-ghost.chip-warning:hover { background-color: var(--color-warning-container); }
|
|
246
|
+
.chip-ghost.chip-error:hover { background-color: var(--color-error-container); }
|
|
247
|
+
|
|
128
248
|
/* Size Variants */
|
|
129
249
|
.chip-sm {
|
|
130
250
|
padding: 0.25rem 0.5rem;
|
|
@@ -220,6 +220,38 @@ export const css = `/**
|
|
|
220
220
|
background-color: var(--color-tertiary-container);
|
|
221
221
|
}
|
|
222
222
|
|
|
223
|
+
.collapse-info .collapse-trigger {
|
|
224
|
+
color: var(--color-info);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
.collapse-info .collapse-trigger:hover {
|
|
228
|
+
background-color: var(--color-info-container);
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
.collapse-success .collapse-trigger {
|
|
232
|
+
color: var(--color-success);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
.collapse-success .collapse-trigger:hover {
|
|
236
|
+
background-color: var(--color-success-container);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
.collapse-warning .collapse-trigger {
|
|
240
|
+
color: var(--color-warning);
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
.collapse-warning .collapse-trigger:hover {
|
|
244
|
+
background-color: var(--color-warning-container);
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
.collapse-error .collapse-trigger {
|
|
248
|
+
color: var(--color-error);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
.collapse-error .collapse-trigger:hover {
|
|
252
|
+
background-color: var(--color-error-container);
|
|
253
|
+
}
|
|
254
|
+
|
|
223
255
|
/* Size Variants */
|
|
224
256
|
.collapse-sm .collapse-trigger {
|
|
225
257
|
padding: 0.5rem 0.75rem;
|