@duskmoon-dev/core 1.19.3 → 1.19.5
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 +1 -1
- package/dist/base.css +484 -0
- package/dist/components/accordion.css +33 -9
- package/dist/components/alert.css +81 -3
- package/dist/components/autocomplete.css +67 -13
- package/dist/components/avatar.css +39 -15
- package/dist/components/badge.css +15 -3
- package/dist/components/card.css +12 -0
- package/dist/components/carousel.css +28 -0
- package/dist/components/chat.css +15 -11
- package/dist/components/checkbox.css +83 -13
- package/dist/components/collapse.css +67 -16
- package/dist/components/countdown.css +22 -0
- package/dist/components/datepicker.css +76 -0
- package/dist/components/diff.css +33 -0
- package/dist/components/file-input.css +107 -0
- package/dist/components/filter-group.css +452 -0
- package/dist/components/form-group.css +95 -204
- package/dist/components/form.css +1551 -421
- package/dist/components/index.css +6248 -5799
- package/dist/components/input.css +114 -31
- package/dist/components/kbd.css +28 -0
- package/dist/components/list.css +22 -3
- package/dist/components/loading.css +105 -0
- package/dist/components/modal.css +62 -1
- package/dist/components/otp-input.css +124 -6
- package/dist/components/progress.css +74 -0
- package/dist/components/radial-progress.css +47 -0
- package/dist/components/radio.css +70 -0
- package/dist/components/range.css +41 -0
- package/dist/components/rating.css +39 -12
- package/dist/components/select.css +74 -0
- package/dist/components/skeleton.css +13 -1
- package/dist/components/snackbar.css +48 -18
- package/dist/components/stat.css +40 -0
- package/dist/components/switch.css +70 -0
- package/dist/components/table.css +8 -0
- package/dist/components/textarea.css +74 -0
- package/dist/components/timeline.css +40 -25
- package/dist/components/toast.css +188 -34
- package/dist/components/toggle-switch.css +165 -0
- package/dist/components/toggle.css +198 -32
- package/dist/components/tooltip.css +2 -47
- package/dist/components/validator.css +66 -0
- package/dist/effects/aura.css +22 -0
- package/dist/effects/hover-3d.css +8 -0
- package/dist/effects/hover-gallery.css +14 -0
- package/dist/effects/index.css +65 -0
- package/dist/effects/text-rotate.css +16 -0
- package/dist/esm/components/accordion.js +33 -9
- package/dist/esm/components/alert.js +81 -3
- package/dist/esm/components/autocomplete.js +67 -13
- package/dist/esm/components/avatar.js +39 -15
- package/dist/esm/components/badge.js +15 -3
- package/dist/esm/components/card.js +12 -0
- package/dist/esm/components/carousel.d.ts +5 -0
- package/dist/esm/components/carousel.js +37 -0
- package/dist/esm/components/chat.js +15 -11
- package/dist/esm/components/checkbox.js +84 -14
- package/dist/esm/components/collapse.js +67 -16
- package/dist/esm/components/countdown.d.ts +5 -0
- package/dist/esm/components/countdown.js +31 -0
- package/dist/esm/components/datepicker.js +77 -1
- package/dist/esm/components/diff.d.ts +5 -0
- package/dist/esm/components/diff.js +42 -0
- package/dist/esm/components/file-input.d.ts +5 -0
- package/dist/esm/components/file-input.js +116 -0
- package/dist/esm/components/filter-group.d.ts +5 -0
- package/dist/esm/components/filter-group.js +461 -0
- package/dist/esm/components/form-group.js +96 -205
- package/dist/esm/components/form.js +1539 -409
- package/dist/esm/components/input.js +115 -32
- package/dist/esm/components/kbd.d.ts +5 -0
- package/dist/esm/components/kbd.js +37 -0
- package/dist/esm/components/list.js +22 -3
- package/dist/esm/components/loading.d.ts +5 -0
- package/dist/esm/components/loading.js +114 -0
- package/dist/esm/components/modal.js +62 -1
- package/dist/esm/components/otp-input.js +125 -7
- package/dist/esm/components/progress.js +74 -0
- package/dist/esm/components/radial-progress.d.ts +5 -0
- package/dist/esm/components/radial-progress.js +56 -0
- package/dist/esm/components/radio.js +71 -1
- package/dist/esm/components/range.d.ts +5 -0
- package/dist/esm/components/range.js +50 -0
- package/dist/esm/components/rating.js +39 -12
- package/dist/esm/components/select.js +75 -1
- package/dist/esm/components/skeleton.js +13 -1
- package/dist/esm/components/snackbar.js +48 -18
- package/dist/esm/components/stat.d.ts +5 -0
- package/dist/esm/components/stat.js +49 -0
- package/dist/esm/components/switch.js +71 -1
- package/dist/esm/components/table.js +8 -0
- package/dist/esm/components/textarea.js +75 -1
- package/dist/esm/components/timeline.js +40 -25
- package/dist/esm/components/toast.js +188 -34
- package/dist/esm/components/toggle-switch.d.ts +5 -0
- package/dist/esm/components/toggle-switch.js +174 -0
- package/dist/esm/components/toggle.js +198 -32
- package/dist/esm/components/tooltip.js +2 -47
- package/dist/esm/components/validator.d.ts +5 -0
- package/dist/esm/components/validator.js +75 -0
- package/dist/esm/effects/aura.d.ts +5 -0
- package/dist/esm/effects/aura.js +31 -0
- package/dist/esm/effects/hover-3d.d.ts +5 -0
- package/dist/esm/effects/hover-3d.js +17 -0
- package/dist/esm/effects/hover-gallery.d.ts +5 -0
- package/dist/esm/effects/hover-gallery.js +23 -0
- package/dist/esm/effects/index.d.ts +5 -0
- package/dist/esm/effects/index.js +74 -0
- package/dist/esm/effects/text-rotate.d.ts +5 -0
- package/dist/esm/effects/text-rotate.js +25 -0
- package/dist/index.css +7652 -7204
- package/dist/index.min.css +1 -1
- package/dist/standalone/duskmoonui-themes.css +1 -1
- package/dist/standalone/duskmoonui.css +7598 -7141
- package/dist/standalone/duskmoonui.js +18 -16
- package/dist/standalone/duskmoonui.mjs +18 -16
- package/dist/types/types/plugin.d.ts +1 -1
- package/dist/types/types/plugin.d.ts.map +1 -1
- package/package.json +110 -1
|
@@ -6,8 +6,11 @@
|
|
|
6
6
|
@layer components {
|
|
7
7
|
/* Base Alert */
|
|
8
8
|
.alert {
|
|
9
|
-
display:
|
|
10
|
-
|
|
9
|
+
display: grid;
|
|
10
|
+
grid-template-columns: auto minmax(0, 1fr) auto auto;
|
|
11
|
+
grid-template-areas:
|
|
12
|
+
"icon content actions close";
|
|
13
|
+
align-items: center;
|
|
11
14
|
gap: 0.75rem;
|
|
12
15
|
padding: 1rem;
|
|
13
16
|
border-radius: var(--radius-sm);
|
|
@@ -18,6 +21,7 @@
|
|
|
18
21
|
|
|
19
22
|
/* Alert Icon */
|
|
20
23
|
.alert-icon {
|
|
24
|
+
grid-area: icon;
|
|
21
25
|
display: flex;
|
|
22
26
|
align-items: center;
|
|
23
27
|
justify-content: center;
|
|
@@ -25,10 +29,12 @@
|
|
|
25
29
|
height: 1.5rem;
|
|
26
30
|
font-size: 1.25rem;
|
|
27
31
|
flex-shrink: 0;
|
|
32
|
+
align-self: start;
|
|
28
33
|
}
|
|
29
34
|
|
|
30
35
|
/* Alert Content */
|
|
31
36
|
.alert-content {
|
|
37
|
+
grid-area: content;
|
|
32
38
|
display: flex;
|
|
33
39
|
flex-direction: column;
|
|
34
40
|
gap: 0.25rem;
|
|
@@ -36,13 +42,42 @@
|
|
|
36
42
|
min-width: 0;
|
|
37
43
|
}
|
|
38
44
|
|
|
45
|
+
.alert-content > p {
|
|
46
|
+
margin: 0;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/* Keep the compact single-message form vertically balanced against global typography margins. */
|
|
50
|
+
.alert > p {
|
|
51
|
+
margin: 0;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.alert-horizontal { display: grid; }
|
|
55
|
+
.alert-actions-end { grid-template-areas: "icon content actions close"; }
|
|
56
|
+
.alert-actions-bottom {
|
|
57
|
+
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
58
|
+
grid-template-areas:
|
|
59
|
+
"icon content close"
|
|
60
|
+
". actions .";
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.alert-actions-bottom .alert-actions {
|
|
64
|
+
justify-self: start;
|
|
65
|
+
margin-top: 0.5rem;
|
|
66
|
+
}
|
|
67
|
+
.alert-vertical {
|
|
68
|
+
display: flex;
|
|
69
|
+
flex-direction: column;
|
|
70
|
+
}
|
|
71
|
+
|
|
39
72
|
.alert-title {
|
|
73
|
+
margin: 0;
|
|
40
74
|
font-size: 0.875rem;
|
|
41
75
|
font-weight: 600;
|
|
42
76
|
line-height: 1.25rem;
|
|
43
77
|
}
|
|
44
78
|
|
|
45
79
|
.alert-description {
|
|
80
|
+
margin: 0;
|
|
46
81
|
font-size: 0.875rem;
|
|
47
82
|
line-height: 1.25rem;
|
|
48
83
|
opacity: 0.9;
|
|
@@ -50,6 +85,7 @@
|
|
|
50
85
|
|
|
51
86
|
/* Alert Close Button */
|
|
52
87
|
.alert-close {
|
|
88
|
+
grid-area: close;
|
|
53
89
|
display: flex;
|
|
54
90
|
align-items: center;
|
|
55
91
|
justify-content: center;
|
|
@@ -263,6 +299,7 @@
|
|
|
263
299
|
/* Dismissible */
|
|
264
300
|
.alert-dismissible {
|
|
265
301
|
padding-right: 2.5rem;
|
|
302
|
+
padding-inline-end: 2.5rem;
|
|
266
303
|
position: relative;
|
|
267
304
|
}
|
|
268
305
|
|
|
@@ -270,6 +307,7 @@
|
|
|
270
307
|
position: absolute;
|
|
271
308
|
top: 0.75rem;
|
|
272
309
|
right: 0.75rem;
|
|
310
|
+
inset-inline-end: 0.75rem;
|
|
273
311
|
}
|
|
274
312
|
|
|
275
313
|
/* Compact */
|
|
@@ -289,11 +327,25 @@
|
|
|
289
327
|
font-size: 0.8125rem;
|
|
290
328
|
}
|
|
291
329
|
|
|
330
|
+
.alert-comfortable {
|
|
331
|
+
padding: 1.25rem;
|
|
332
|
+
gap: 1rem;
|
|
333
|
+
}
|
|
334
|
+
|
|
292
335
|
/* Alert Actions */
|
|
293
336
|
.alert-actions {
|
|
337
|
+
grid-area: actions;
|
|
294
338
|
display: flex;
|
|
295
339
|
gap: 0.5rem;
|
|
296
|
-
margin-top: 0
|
|
340
|
+
margin-top: 0;
|
|
341
|
+
flex-wrap: wrap;
|
|
342
|
+
align-self: center;
|
|
343
|
+
justify-self: end;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
.alert-vertical .alert-actions {
|
|
347
|
+
align-self: stretch;
|
|
348
|
+
width: 100%;
|
|
297
349
|
}
|
|
298
350
|
|
|
299
351
|
.alert-filled .alert-actions .btn-text {
|
|
@@ -317,4 +369,30 @@
|
|
|
317
369
|
transition: none;
|
|
318
370
|
}
|
|
319
371
|
}
|
|
372
|
+
|
|
373
|
+
@media (max-width: 32rem) {
|
|
374
|
+
.alert:not(.alert-vertical) .alert-content,
|
|
375
|
+
.alert-horizontal .alert-content {
|
|
376
|
+
flex-basis: min(100%, 18rem);
|
|
377
|
+
}
|
|
378
|
+
.alert:not(.alert-vertical),
|
|
379
|
+
.alert-horizontal {
|
|
380
|
+
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
381
|
+
grid-template-areas:
|
|
382
|
+
"icon content close"
|
|
383
|
+
". actions actions";
|
|
384
|
+
}
|
|
385
|
+
.alert:not(.alert-vertical).alert-actions-end,
|
|
386
|
+
.alert-horizontal.alert-actions-end {
|
|
387
|
+
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
388
|
+
grid-template-areas:
|
|
389
|
+
"icon content close"
|
|
390
|
+
". actions actions";
|
|
391
|
+
}
|
|
392
|
+
.alert:not(.alert-vertical) .alert-actions,
|
|
393
|
+
.alert-horizontal .alert-actions {
|
|
394
|
+
justify-self: start;
|
|
395
|
+
margin-top: 0.5rem;
|
|
396
|
+
}
|
|
397
|
+
}
|
|
320
398
|
}
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
@layer components {
|
|
7
|
+
:where(.autocomplete, .autocomplete *) { box-sizing: border-box; }
|
|
8
|
+
|
|
7
9
|
/* Autocomplete Container */
|
|
8
10
|
.autocomplete {
|
|
9
11
|
position: relative;
|
|
@@ -14,6 +16,7 @@
|
|
|
14
16
|
/* Autocomplete Input */
|
|
15
17
|
.autocomplete-input {
|
|
16
18
|
width: 100%;
|
|
19
|
+
min-inline-size: 0;
|
|
17
20
|
padding: 0.75rem 1rem;
|
|
18
21
|
font-size: 0.875rem;
|
|
19
22
|
line-height: 1.5;
|
|
@@ -24,6 +27,37 @@
|
|
|
24
27
|
transition: border-color 150ms ease-in-out, box-shadow 150ms ease-in-out;
|
|
25
28
|
}
|
|
26
29
|
|
|
30
|
+
.autocomplete-input-wrapper {
|
|
31
|
+
position: relative;
|
|
32
|
+
display: flex;
|
|
33
|
+
align-items: center;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.autocomplete-toggle {
|
|
37
|
+
position: absolute;
|
|
38
|
+
inset-inline-end: 0.125rem;
|
|
39
|
+
inset-block-start: 50%;
|
|
40
|
+
transform: translateY(-50%);
|
|
41
|
+
display: grid;
|
|
42
|
+
place-items: center;
|
|
43
|
+
inline-size: 2.75rem;
|
|
44
|
+
block-size: 2.75rem;
|
|
45
|
+
padding: 0;
|
|
46
|
+
font: inherit;
|
|
47
|
+
color: var(--color-on-surface);
|
|
48
|
+
background: transparent;
|
|
49
|
+
border: none;
|
|
50
|
+
border-radius: var(--radius-sm);
|
|
51
|
+
cursor: pointer;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.autocomplete-toggle:hover:not(:disabled) { background-color: var(--color-surface-container); }
|
|
55
|
+
.autocomplete-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: -3px; }
|
|
56
|
+
.autocomplete-toggle:disabled { opacity: 0.38; cursor: not-allowed; }
|
|
57
|
+
.autocomplete-sm .autocomplete-toggle { inline-size: 1.75rem; block-size: 1.75rem; }
|
|
58
|
+
.autocomplete-outlined .autocomplete-input { background-color: transparent; }
|
|
59
|
+
.autocomplete-options { list-style: none; margin: 0; padding: 0.25rem; }
|
|
60
|
+
|
|
27
61
|
.autocomplete-input:focus {
|
|
28
62
|
outline: none;
|
|
29
63
|
box-shadow: 0 0 0 3px color-mix(in oklch, currentColor 20%, transparent);
|
|
@@ -40,8 +74,7 @@
|
|
|
40
74
|
.autocomplete-dropdown {
|
|
41
75
|
position: absolute;
|
|
42
76
|
top: 100%;
|
|
43
|
-
|
|
44
|
-
right: 0;
|
|
77
|
+
inset-inline: 0;
|
|
45
78
|
z-index: 1000;
|
|
46
79
|
max-height: 15rem;
|
|
47
80
|
margin-top: 0.25rem;
|
|
@@ -57,12 +90,18 @@
|
|
|
57
90
|
}
|
|
58
91
|
|
|
59
92
|
.autocomplete.autocomplete-open .autocomplete-dropdown,
|
|
93
|
+
.autocomplete-dropdown.autocomplete-dropdown-open,
|
|
60
94
|
.autocomplete-dropdown.show {
|
|
61
95
|
opacity: 1;
|
|
62
96
|
visibility: visible;
|
|
63
97
|
transform: translateY(0);
|
|
64
98
|
}
|
|
65
99
|
|
|
100
|
+
.autocomplete-dropdown[hidden],
|
|
101
|
+
.autocomplete-option[hidden],
|
|
102
|
+
.autocomplete-no-results[hidden],
|
|
103
|
+
.autocomplete-no-options[hidden] { display: none; }
|
|
104
|
+
|
|
66
105
|
/* Autocomplete Options */
|
|
67
106
|
.autocomplete-option {
|
|
68
107
|
display: flex;
|
|
@@ -77,16 +116,20 @@
|
|
|
77
116
|
|
|
78
117
|
.autocomplete-option:hover,
|
|
79
118
|
.autocomplete-option:focus,
|
|
119
|
+
.autocomplete-option.autocomplete-option-focused,
|
|
80
120
|
.autocomplete-option.highlighted {
|
|
81
121
|
background-color: var(--color-surface-container);
|
|
82
122
|
}
|
|
83
123
|
|
|
84
|
-
.autocomplete-option.selected
|
|
124
|
+
.autocomplete-option.selected,
|
|
125
|
+
.autocomplete-option.autocomplete-option-selected,
|
|
126
|
+
.autocomplete-option[aria-selected="true"] {
|
|
85
127
|
background-color: var(--color-primary-container);
|
|
86
128
|
color: var(--color-on-primary-container);
|
|
87
129
|
}
|
|
88
130
|
|
|
89
131
|
.autocomplete-option:disabled,
|
|
132
|
+
.autocomplete-option[aria-disabled="true"],
|
|
90
133
|
.autocomplete-option.disabled {
|
|
91
134
|
color: var(--color-on-surface-variant);
|
|
92
135
|
cursor: not-allowed;
|
|
@@ -133,7 +176,8 @@
|
|
|
133
176
|
}
|
|
134
177
|
|
|
135
178
|
/* Group Header */
|
|
136
|
-
.autocomplete-group-header
|
|
179
|
+
.autocomplete-group-header,
|
|
180
|
+
.autocomplete-group-label {
|
|
137
181
|
padding: 0.5rem 1rem;
|
|
138
182
|
font-size: 0.75rem;
|
|
139
183
|
font-weight: 600;
|
|
@@ -144,7 +188,8 @@
|
|
|
144
188
|
}
|
|
145
189
|
|
|
146
190
|
/* No Results */
|
|
147
|
-
.autocomplete-no-results
|
|
191
|
+
.autocomplete-no-results,
|
|
192
|
+
.autocomplete-no-options {
|
|
148
193
|
padding: 1rem;
|
|
149
194
|
text-align: center;
|
|
150
195
|
font-size: 0.875rem;
|
|
@@ -164,7 +209,7 @@
|
|
|
164
209
|
/* Clear Button */
|
|
165
210
|
.autocomplete-clear {
|
|
166
211
|
position: absolute;
|
|
167
|
-
|
|
212
|
+
inset-inline-end: 0.75rem;
|
|
168
213
|
top: 50%;
|
|
169
214
|
transform: translateY(-50%);
|
|
170
215
|
display: flex;
|
|
@@ -187,28 +232,31 @@
|
|
|
187
232
|
|
|
188
233
|
/* With Clear Button */
|
|
189
234
|
.autocomplete-clearable .autocomplete-input {
|
|
190
|
-
padding-
|
|
235
|
+
padding-inline-end: 2.5rem;
|
|
191
236
|
}
|
|
192
237
|
|
|
193
238
|
/* Multi-select Tags */
|
|
194
|
-
.autocomplete-tags
|
|
239
|
+
.autocomplete-tags,
|
|
240
|
+
.autocomplete-chips {
|
|
195
241
|
display: flex;
|
|
196
242
|
flex-wrap: wrap;
|
|
197
243
|
gap: 0.25rem;
|
|
198
244
|
padding: 0.375rem;
|
|
199
|
-
padding-
|
|
245
|
+
padding-inline-end: 2.5rem;
|
|
200
246
|
min-height: 2.75rem;
|
|
201
247
|
background-color: var(--color-surface);
|
|
202
248
|
border: 1px solid var(--color-outline);
|
|
203
249
|
border-radius: var(--radius-sm);
|
|
204
250
|
}
|
|
205
251
|
|
|
206
|
-
.autocomplete-tags:focus-within
|
|
252
|
+
.autocomplete-tags:focus-within,
|
|
253
|
+
.autocomplete-chips:focus-within {
|
|
207
254
|
border-color: var(--color-primary);
|
|
208
255
|
box-shadow: 0 0 0 3px var(--color-primary-container);
|
|
209
256
|
}
|
|
210
257
|
|
|
211
|
-
.autocomplete-tag
|
|
258
|
+
.autocomplete-tag,
|
|
259
|
+
.autocomplete-chip {
|
|
212
260
|
display: inline-flex;
|
|
213
261
|
align-items: center;
|
|
214
262
|
gap: 0.25rem;
|
|
@@ -219,7 +267,8 @@
|
|
|
219
267
|
border-radius: var(--radius-xs);
|
|
220
268
|
}
|
|
221
269
|
|
|
222
|
-
.autocomplete-tag-remove
|
|
270
|
+
.autocomplete-tag-remove,
|
|
271
|
+
.autocomplete-chip-remove {
|
|
223
272
|
display: flex;
|
|
224
273
|
align-items: center;
|
|
225
274
|
justify-content: center;
|
|
@@ -233,7 +282,8 @@
|
|
|
233
282
|
transition: background-color 150ms ease-in-out;
|
|
234
283
|
}
|
|
235
284
|
|
|
236
|
-
.autocomplete-tag-remove:hover
|
|
285
|
+
.autocomplete-tag-remove:hover,
|
|
286
|
+
.autocomplete-chip-remove:hover {
|
|
237
287
|
background-color: var(--color-on-primary-container);
|
|
238
288
|
color: var(--color-primary-container);
|
|
239
289
|
}
|
|
@@ -341,6 +391,10 @@
|
|
|
341
391
|
font-size: 1rem;
|
|
342
392
|
}
|
|
343
393
|
|
|
394
|
+
/* Reserve the toggle's space after size shorthands set input padding. */
|
|
395
|
+
.autocomplete-input-wrapper .autocomplete-input { padding-inline-end: 3.25rem; }
|
|
396
|
+
.autocomplete-sm .autocomplete-input-wrapper .autocomplete-input { padding-inline-end: 2.25rem; }
|
|
397
|
+
|
|
344
398
|
/* Reduce Motion */
|
|
345
399
|
@media (prefers-reduced-motion: reduce) {
|
|
346
400
|
.autocomplete-dropdown {
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
width: 3rem;
|
|
14
14
|
height: 3rem;
|
|
15
15
|
border-radius: var(--radius-full);
|
|
16
|
-
overflow:
|
|
16
|
+
overflow: visible;
|
|
17
17
|
background-color: var(--color-surface-container);
|
|
18
18
|
color: var(--color-on-surface);
|
|
19
19
|
font-weight: 500;
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
width: 100%;
|
|
25
25
|
height: 100%;
|
|
26
26
|
object-fit: cover;
|
|
27
|
+
border-radius: inherit;
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
/* Avatar Placeholder */
|
|
@@ -33,7 +34,9 @@
|
|
|
33
34
|
justify-content: center;
|
|
34
35
|
width: 100%;
|
|
35
36
|
height: 100%;
|
|
36
|
-
font-size:
|
|
37
|
+
font-size: inherit;
|
|
38
|
+
border-radius: inherit;
|
|
39
|
+
overflow: hidden;
|
|
37
40
|
text-transform: uppercase;
|
|
38
41
|
}
|
|
39
42
|
|
|
@@ -135,24 +138,28 @@
|
|
|
135
138
|
}
|
|
136
139
|
|
|
137
140
|
.avatar-ring-primary {
|
|
138
|
-
|
|
141
|
+
box-shadow: 0 0 0 3px var(--color-primary);
|
|
139
142
|
}
|
|
140
143
|
|
|
141
144
|
.avatar-ring-secondary {
|
|
142
|
-
|
|
145
|
+
box-shadow: 0 0 0 3px var(--color-secondary);
|
|
143
146
|
}
|
|
144
147
|
|
|
145
148
|
.avatar-ring-tertiary {
|
|
146
|
-
|
|
149
|
+
box-shadow: 0 0 0 3px var(--color-tertiary);
|
|
147
150
|
}
|
|
148
151
|
|
|
149
152
|
/* Online/Offline Indicator */
|
|
150
153
|
.avatar-online::after,
|
|
151
|
-
.avatar-offline::after
|
|
154
|
+
.avatar-offline::after,
|
|
155
|
+
.avatar-status-online::after,
|
|
156
|
+
.avatar-status-offline::after,
|
|
157
|
+
.avatar-status-busy::after,
|
|
158
|
+
.avatar-status-away::after {
|
|
152
159
|
content: '';
|
|
153
160
|
position: absolute;
|
|
154
|
-
|
|
155
|
-
|
|
161
|
+
inset-block-end: 0;
|
|
162
|
+
inset-inline-end: 0;
|
|
156
163
|
width: 25%;
|
|
157
164
|
height: 25%;
|
|
158
165
|
min-width: 0.5rem;
|
|
@@ -161,14 +168,19 @@
|
|
|
161
168
|
border: 2px solid var(--color-surface);
|
|
162
169
|
}
|
|
163
170
|
|
|
164
|
-
.avatar-online::after
|
|
171
|
+
.avatar-online::after,
|
|
172
|
+
.avatar-status-online::after {
|
|
165
173
|
background-color: var(--color-success);
|
|
166
174
|
}
|
|
167
175
|
|
|
168
|
-
.avatar-offline::after
|
|
176
|
+
.avatar-offline::after,
|
|
177
|
+
.avatar-status-offline::after {
|
|
169
178
|
background-color: var(--color-outline);
|
|
170
179
|
}
|
|
171
180
|
|
|
181
|
+
.avatar-status-busy::after { background-color: var(--color-error); }
|
|
182
|
+
.avatar-status-away::after { background-color: var(--color-warning); }
|
|
183
|
+
|
|
172
184
|
/* Avatar Group */
|
|
173
185
|
.avatar-group {
|
|
174
186
|
display: flex;
|
|
@@ -178,21 +190,33 @@
|
|
|
178
190
|
|
|
179
191
|
.avatar-group .avatar {
|
|
180
192
|
border: 2px solid var(--color-surface);
|
|
181
|
-
margin-
|
|
193
|
+
margin-inline-start: -0.75rem;
|
|
182
194
|
}
|
|
183
195
|
|
|
184
196
|
.avatar-group .avatar:last-child {
|
|
185
|
-
margin-
|
|
197
|
+
margin-inline-start: 0;
|
|
186
198
|
}
|
|
187
199
|
|
|
188
200
|
/* Avatar Group Sizes */
|
|
189
201
|
.avatar-group-sm .avatar {
|
|
190
|
-
margin-
|
|
202
|
+
margin-inline-start: -0.5rem;
|
|
191
203
|
}
|
|
192
204
|
|
|
193
205
|
.avatar-group-lg .avatar {
|
|
194
|
-
margin-
|
|
195
|
-
}
|
|
206
|
+
margin-inline-start: -1rem;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/* Historical documented composition classes. */
|
|
210
|
+
.avatar-image { inline-size: 100%; block-size: 100%; border-radius: inherit; overflow: hidden; }
|
|
211
|
+
.avatar-icon { display: inline-flex; align-items: center; justify-content: center; inline-size: 100%; block-size: 100%; }
|
|
212
|
+
.avatar-circle { border-radius: var(--radius-full); }
|
|
213
|
+
.avatar-bordered { border: 2px solid currentColor; }
|
|
214
|
+
.avatar-clickable { cursor: pointer; }
|
|
215
|
+
.avatar-overflow { font-size: 0.875rem; }
|
|
216
|
+
.avatar-group-dense > .avatar { margin-inline-start: -1rem; }
|
|
217
|
+
.avatar-group-xs > .avatar { inline-size: 1.5rem; block-size: 1.5rem; font-size: 0.625rem; }
|
|
218
|
+
.avatar-group-xl > .avatar { inline-size: 6rem; block-size: 6rem; font-size: 2rem; }
|
|
219
|
+
.avatar-group-dense > .avatar:last-child { margin-inline-start: 0; }
|
|
196
220
|
|
|
197
221
|
/* Focus State for Interactive Avatars */
|
|
198
222
|
.avatar:focus-visible {
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
@layer components {
|
|
7
7
|
/* Base Badge */
|
|
8
8
|
.badge {
|
|
9
|
+
box-sizing: border-box;
|
|
9
10
|
display: inline-flex;
|
|
10
11
|
align-items: center;
|
|
11
12
|
justify-content: center;
|
|
@@ -13,7 +14,10 @@
|
|
|
13
14
|
font-size: 0.75rem;
|
|
14
15
|
font-weight: 500;
|
|
15
16
|
line-height: 1rem;
|
|
16
|
-
white-space:
|
|
17
|
+
white-space: normal;
|
|
18
|
+
max-inline-size: 100%;
|
|
19
|
+
overflow-wrap: anywhere;
|
|
20
|
+
min-inline-size: 0;
|
|
17
21
|
border-radius: var(--radius-full);
|
|
18
22
|
background-color: var(--color-surface-container);
|
|
19
23
|
color: var(--color-on-surface);
|
|
@@ -227,13 +231,13 @@
|
|
|
227
231
|
/* Badge with Indicator Dot */
|
|
228
232
|
.badge-indicator {
|
|
229
233
|
position: relative;
|
|
230
|
-
padding-
|
|
234
|
+
padding-inline-start: 1rem;
|
|
231
235
|
}
|
|
232
236
|
|
|
233
237
|
.badge-indicator::before {
|
|
234
238
|
content: '';
|
|
235
239
|
position: absolute;
|
|
236
|
-
|
|
240
|
+
inset-inline-start: 0.375rem;
|
|
237
241
|
top: 50%;
|
|
238
242
|
transform: translateY(-50%);
|
|
239
243
|
width: 0.375rem;
|
|
@@ -242,6 +246,14 @@
|
|
|
242
246
|
background-color: currentColor;
|
|
243
247
|
}
|
|
244
248
|
|
|
249
|
+
.badge-filled { font-weight: 500; }
|
|
250
|
+
.badge-md { padding: 0.125rem 0.5rem; font-size: 0.75rem; line-height: 1rem; }
|
|
251
|
+
.badge-notification { position: absolute; inset-block-start: 0; inset-inline-end: 0; transform: translate(50%, -50%); }
|
|
252
|
+
.badge-notification:dir(rtl) { transform: translate(-50%, -50%); }
|
|
253
|
+
.badge-removable { gap: 0.25rem; }
|
|
254
|
+
.badge-removable > button { display: inline-flex; padding: 0; border: 0; color: inherit; background: transparent; cursor: pointer; }
|
|
255
|
+
.badge-removable > button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
|
|
256
|
+
|
|
245
257
|
/* Empty Badge (just a dot) */
|
|
246
258
|
.badge-dot {
|
|
247
259
|
width: 0.5rem;
|
package/dist/components/card.css
CHANGED
|
@@ -36,6 +36,8 @@
|
|
|
36
36
|
|
|
37
37
|
/* Card Body */
|
|
38
38
|
.card-body {
|
|
39
|
+
min-inline-size: 0;
|
|
40
|
+
overflow-wrap: anywhere;
|
|
39
41
|
--card-p: 1.5rem;
|
|
40
42
|
display: flex;
|
|
41
43
|
flex-direction: column;
|
|
@@ -100,6 +102,16 @@
|
|
|
100
102
|
border: 1px solid var(--color-outline);
|
|
101
103
|
box-shadow: none;
|
|
102
104
|
}
|
|
105
|
+
.card-outlined { border: 1px solid var(--color-outline); box-shadow: none; }
|
|
106
|
+
.card-outlined:hover { box-shadow: none; }
|
|
107
|
+
.card-filled { background: var(--color-surface-container-highest); box-shadow: none; }
|
|
108
|
+
.card-lowest { background: var(--color-surface-container-lowest); box-shadow: none; }
|
|
109
|
+
.card-low { background: var(--color-surface-container-low); box-shadow: var(--shadow-sm); }
|
|
110
|
+
.card-default { background: var(--color-surface-container); box-shadow: var(--shadow-md); }
|
|
111
|
+
.card-high { background: var(--color-surface-container-high); box-shadow: var(--shadow-lg); }
|
|
112
|
+
.card-highest { background: var(--color-surface-container-highest); box-shadow: var(--shadow-xl); }
|
|
113
|
+
.card-subtitle { color: var(--color-on-surface-variant); font-size: 0.875rem; }
|
|
114
|
+
.card-comfortable .card-body { --card-p: 2rem; }
|
|
103
115
|
|
|
104
116
|
.card-bordered:hover {
|
|
105
117
|
box-shadow: none;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.carousel {
|
|
3
|
+
display: flex;
|
|
4
|
+
gap: 1rem;
|
|
5
|
+
max-inline-size: 100%;
|
|
6
|
+
min-inline-size: 0;
|
|
7
|
+
overflow: auto;
|
|
8
|
+
scroll-snap-type: inline mandatory;
|
|
9
|
+
scroll-behavior: smooth;
|
|
10
|
+
color: var(--color-on-surface);
|
|
11
|
+
}
|
|
12
|
+
.carousel-item { flex: none; min-inline-size: 0; max-inline-size: 100%; scroll-snap-align: start; overflow-wrap: anywhere; }
|
|
13
|
+
.carousel-horizontal { flex-direction: row; scroll-snap-type: inline mandatory; }
|
|
14
|
+
.carousel-center > .carousel-item { scroll-snap-align: center; }
|
|
15
|
+
.carousel-end > .carousel-item { scroll-snap-align: end; }
|
|
16
|
+
.carousel-start > .carousel-item { scroll-snap-align: start; }
|
|
17
|
+
.carousel-vertical { flex-direction: column; max-block-size: var(--carousel-height, 24rem); scroll-snap-type: block mandatory; }
|
|
18
|
+
.carousel:focus-visible, .carousel-item:focus-visible { outline: 2px solid var(--color-primary); outline-offset: -2px; }
|
|
19
|
+
@media (prefers-reduced-motion: reduce) { .carousel { scroll-behavior: auto; } }
|
|
20
|
+
@media print { .carousel { flex-wrap: wrap; overflow: visible; max-block-size: none; } }
|
|
21
|
+
.carousel-primary { color: var(--color-primary); }
|
|
22
|
+
.carousel-secondary { color: var(--color-secondary); }
|
|
23
|
+
.carousel-tertiary { color: var(--color-tertiary); }
|
|
24
|
+
.carousel-info { color: var(--color-info); }
|
|
25
|
+
.carousel-success { color: var(--color-success); }
|
|
26
|
+
.carousel-warning { color: var(--color-warning); }
|
|
27
|
+
.carousel-error { color: var(--color-error); }
|
|
28
|
+
}
|
package/dist/components/chat.css
CHANGED
|
@@ -431,6 +431,8 @@
|
|
|
431
431
|
align-items: stretch;
|
|
432
432
|
gap: 0.5rem;
|
|
433
433
|
max-width: min(80ch, 100%);
|
|
434
|
+
min-inline-size: 0;
|
|
435
|
+
box-sizing: border-box;
|
|
434
436
|
padding: 0.625rem 0.875rem;
|
|
435
437
|
border-radius: 1rem;
|
|
436
438
|
background-color: var(--chat-bubble-bg);
|
|
@@ -445,39 +447,41 @@
|
|
|
445
447
|
.chat-bubble-content {
|
|
446
448
|
min-width: 0;
|
|
447
449
|
}
|
|
450
|
+
.chat-bubble pre { max-inline-size: 100%; min-inline-size: 0; overflow: auto; white-space: pre; }
|
|
451
|
+
.chat-bubble a { overflow-wrap: anywhere; text-decoration: underline; }
|
|
448
452
|
|
|
449
453
|
.chat-start .chat-bubble::before,
|
|
450
454
|
.chat-end .chat-bubble::before {
|
|
451
455
|
content: "";
|
|
452
456
|
position: absolute;
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
457
|
+
inset-block-start: 0;
|
|
458
|
+
inline-size: 0.75rem;
|
|
459
|
+
block-size: 1rem;
|
|
456
460
|
background-color: var(--chat-bubble-bg);
|
|
457
|
-
|
|
458
|
-
filter:
|
|
459
|
-
drop-shadow(-1px 0 0 var(--color-outline-variant))
|
|
460
|
-
drop-shadow(0 -1px 0 var(--color-outline-variant));
|
|
461
|
+
mask-image: radial-gradient(ellipse at 0 100%, transparent 68%, black 72%);
|
|
461
462
|
pointer-events: none;
|
|
462
463
|
}
|
|
463
464
|
|
|
464
465
|
.chat-start .chat-bubble::before {
|
|
465
|
-
|
|
466
|
+
inset-inline-start: -0.5rem;
|
|
466
467
|
}
|
|
467
468
|
|
|
468
469
|
.chat-start .chat-bubble {
|
|
469
|
-
border-
|
|
470
|
+
border-start-start-radius: 0;
|
|
470
471
|
}
|
|
471
472
|
|
|
472
473
|
.chat-end .chat-bubble::before {
|
|
473
|
-
|
|
474
|
+
inset-inline-end: -0.5rem;
|
|
474
475
|
transform: scaleX(-1);
|
|
475
476
|
}
|
|
476
477
|
|
|
477
478
|
.chat-end .chat-bubble {
|
|
478
|
-
border-
|
|
479
|
+
border-start-end-radius: 0;
|
|
479
480
|
}
|
|
480
481
|
|
|
482
|
+
.chat-start:dir(rtl) .chat-bubble::before { transform: scaleX(-1); }
|
|
483
|
+
.chat-end:dir(rtl) .chat-bubble::before { transform: none; }
|
|
484
|
+
|
|
481
485
|
.chat-bubble-primary {
|
|
482
486
|
--chat-bubble-bg: var(--color-primary-container);
|
|
483
487
|
--chat-bubble-fg: var(--color-on-primary-container);
|