@duskmoon-dev/core 1.12.4 → 1.14.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/divider.css +196 -121
- package/dist/components/file-upload.css +68 -8
- package/dist/components/form.css +2 -1
- package/dist/components/index.css +1835 -586
- package/dist/components/input.css +21 -67
- package/dist/components/multi-select.css +59 -9
- package/dist/components/navigation.css +1 -1
- 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/divider.js +196 -121
- 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/navigation.js +1 -1
- 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 +1835 -586
- package/dist/index.min.css +1 -1
- package/package.json +1 -1
|
@@ -103,8 +103,8 @@ export const css = `/**
|
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
.appbar-nav:focus-visible {
|
|
106
|
-
outline:
|
|
107
|
-
|
|
106
|
+
outline: none;
|
|
107
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, currentColor 20%, transparent);
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
/* App Bar Title */
|
|
@@ -166,8 +166,8 @@ export const css = `/**
|
|
|
166
166
|
}
|
|
167
167
|
|
|
168
168
|
.appbar-action:focus-visible {
|
|
169
|
-
outline:
|
|
170
|
-
|
|
169
|
+
outline: none;
|
|
170
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, currentColor 20%, transparent);
|
|
171
171
|
}
|
|
172
172
|
|
|
173
173
|
/* App Bar Logo/Brand */
|
|
@@ -282,8 +282,8 @@ export const css = `/**
|
|
|
282
282
|
}
|
|
283
283
|
|
|
284
284
|
.appbar-back:focus-visible {
|
|
285
|
-
outline:
|
|
286
|
-
|
|
285
|
+
outline: none;
|
|
286
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, currentColor 20%, transparent);
|
|
287
287
|
}
|
|
288
288
|
|
|
289
289
|
/* Search Input (direct on element) */
|
|
@@ -314,64 +314,162 @@ export const css = `/**
|
|
|
314
314
|
/* Color Variants */
|
|
315
315
|
.appbar-primary {
|
|
316
316
|
background-color: var(--color-primary);
|
|
317
|
-
color: var(--color-
|
|
317
|
+
color: var(--color-primary-content);
|
|
318
318
|
}
|
|
319
319
|
|
|
320
320
|
.appbar-primary .appbar-nav,
|
|
321
|
-
.appbar-primary .appbar-action
|
|
322
|
-
|
|
321
|
+
.appbar-primary .appbar-action,
|
|
322
|
+
.appbar-primary .appbar-back {
|
|
323
|
+
color: var(--color-primary-content);
|
|
323
324
|
}
|
|
324
325
|
|
|
325
326
|
.appbar-primary .appbar-nav:hover,
|
|
326
|
-
.appbar-primary .appbar-action:hover
|
|
327
|
+
.appbar-primary .appbar-action:hover,
|
|
328
|
+
.appbar-primary .appbar-back:hover {
|
|
327
329
|
background-color: var(--color-primary-container);
|
|
328
330
|
color: var(--color-on-primary-container);
|
|
329
331
|
}
|
|
330
332
|
|
|
331
333
|
.appbar-primary .appbar-subtitle {
|
|
332
|
-
color: var(--color-
|
|
334
|
+
color: var(--color-primary-content);
|
|
333
335
|
opacity: 0.8;
|
|
334
336
|
}
|
|
335
337
|
|
|
336
338
|
.appbar-secondary {
|
|
337
339
|
background-color: var(--color-secondary);
|
|
338
|
-
color: var(--color-
|
|
340
|
+
color: var(--color-secondary-content);
|
|
339
341
|
}
|
|
340
342
|
|
|
341
343
|
.appbar-secondary .appbar-nav,
|
|
342
|
-
.appbar-secondary .appbar-action
|
|
343
|
-
|
|
344
|
+
.appbar-secondary .appbar-action,
|
|
345
|
+
.appbar-secondary .appbar-back {
|
|
346
|
+
color: var(--color-secondary-content);
|
|
344
347
|
}
|
|
345
348
|
|
|
346
349
|
.appbar-secondary .appbar-nav:hover,
|
|
347
|
-
.appbar-secondary .appbar-action:hover
|
|
350
|
+
.appbar-secondary .appbar-action:hover,
|
|
351
|
+
.appbar-secondary .appbar-back:hover {
|
|
348
352
|
background-color: var(--color-secondary-container);
|
|
349
353
|
color: var(--color-on-secondary-container);
|
|
350
354
|
}
|
|
351
355
|
|
|
352
356
|
.appbar-secondary .appbar-subtitle {
|
|
353
|
-
color: var(--color-
|
|
357
|
+
color: var(--color-secondary-content);
|
|
354
358
|
opacity: 0.8;
|
|
355
359
|
}
|
|
356
360
|
|
|
357
361
|
.appbar-tertiary {
|
|
358
362
|
background-color: var(--color-tertiary);
|
|
359
|
-
color: var(--color-
|
|
363
|
+
color: var(--color-tertiary-content);
|
|
360
364
|
}
|
|
361
365
|
|
|
362
366
|
.appbar-tertiary .appbar-nav,
|
|
363
|
-
.appbar-tertiary .appbar-action
|
|
364
|
-
|
|
367
|
+
.appbar-tertiary .appbar-action,
|
|
368
|
+
.appbar-tertiary .appbar-back {
|
|
369
|
+
color: var(--color-tertiary-content);
|
|
365
370
|
}
|
|
366
371
|
|
|
367
372
|
.appbar-tertiary .appbar-nav:hover,
|
|
368
|
-
.appbar-tertiary .appbar-action:hover
|
|
373
|
+
.appbar-tertiary .appbar-action:hover,
|
|
374
|
+
.appbar-tertiary .appbar-back:hover {
|
|
369
375
|
background-color: var(--color-tertiary-container);
|
|
370
376
|
color: var(--color-on-tertiary-container);
|
|
371
377
|
}
|
|
372
378
|
|
|
373
379
|
.appbar-tertiary .appbar-subtitle {
|
|
374
|
-
color: var(--color-
|
|
380
|
+
color: var(--color-tertiary-content);
|
|
381
|
+
opacity: 0.8;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
.appbar-info {
|
|
385
|
+
background-color: var(--color-info);
|
|
386
|
+
color: var(--color-info-content);
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
.appbar-info .appbar-nav,
|
|
390
|
+
.appbar-info .appbar-action,
|
|
391
|
+
.appbar-info .appbar-back {
|
|
392
|
+
color: var(--color-info-content);
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
.appbar-info .appbar-nav:hover,
|
|
396
|
+
.appbar-info .appbar-action:hover,
|
|
397
|
+
.appbar-info .appbar-back:hover {
|
|
398
|
+
background-color: var(--color-info-container);
|
|
399
|
+
color: var(--color-on-info-container);
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
.appbar-info .appbar-subtitle {
|
|
403
|
+
color: var(--color-info-content);
|
|
404
|
+
opacity: 0.8;
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
.appbar-success {
|
|
408
|
+
background-color: var(--color-success);
|
|
409
|
+
color: var(--color-success-content);
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
.appbar-success .appbar-nav,
|
|
413
|
+
.appbar-success .appbar-action,
|
|
414
|
+
.appbar-success .appbar-back {
|
|
415
|
+
color: var(--color-success-content);
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
.appbar-success .appbar-nav:hover,
|
|
419
|
+
.appbar-success .appbar-action:hover,
|
|
420
|
+
.appbar-success .appbar-back:hover {
|
|
421
|
+
background-color: var(--color-success-container);
|
|
422
|
+
color: var(--color-on-success-container);
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
.appbar-success .appbar-subtitle {
|
|
426
|
+
color: var(--color-success-content);
|
|
427
|
+
opacity: 0.8;
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
.appbar-warning {
|
|
431
|
+
background-color: var(--color-warning);
|
|
432
|
+
color: var(--color-warning-content);
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
.appbar-warning .appbar-nav,
|
|
436
|
+
.appbar-warning .appbar-action,
|
|
437
|
+
.appbar-warning .appbar-back {
|
|
438
|
+
color: var(--color-warning-content);
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
.appbar-warning .appbar-nav:hover,
|
|
442
|
+
.appbar-warning .appbar-action:hover,
|
|
443
|
+
.appbar-warning .appbar-back:hover {
|
|
444
|
+
background-color: var(--color-warning-container);
|
|
445
|
+
color: var(--color-on-warning-container);
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
.appbar-warning .appbar-subtitle {
|
|
449
|
+
color: var(--color-warning-content);
|
|
450
|
+
opacity: 0.8;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
.appbar-error {
|
|
454
|
+
background-color: var(--color-error);
|
|
455
|
+
color: var(--color-error-content);
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
.appbar-error .appbar-nav,
|
|
459
|
+
.appbar-error .appbar-action,
|
|
460
|
+
.appbar-error .appbar-back {
|
|
461
|
+
color: var(--color-error-content);
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
.appbar-error .appbar-nav:hover,
|
|
465
|
+
.appbar-error .appbar-action:hover,
|
|
466
|
+
.appbar-error .appbar-back:hover {
|
|
467
|
+
background-color: var(--color-error-container);
|
|
468
|
+
color: var(--color-on-error-container);
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
.appbar-error .appbar-subtitle {
|
|
472
|
+
color: var(--color-error-content);
|
|
375
473
|
opacity: 0.8;
|
|
376
474
|
}
|
|
377
475
|
|
|
@@ -20,15 +20,14 @@ export const css = `/**
|
|
|
20
20
|
line-height: 1.5;
|
|
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
|
transition: border-color 150ms ease-in-out, box-shadow 150ms ease-in-out;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
.autocomplete-input:focus {
|
|
29
29
|
outline: none;
|
|
30
|
-
|
|
31
|
-
box-shadow: 0 0 0 3px var(--color-primary-container);
|
|
30
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, currentColor 20%, transparent);
|
|
32
31
|
}
|
|
33
32
|
|
|
34
33
|
.autocomplete-input:disabled {
|
|
@@ -250,6 +249,67 @@ export const css = `/**
|
|
|
250
249
|
outline: none;
|
|
251
250
|
}
|
|
252
251
|
|
|
252
|
+
/* Color Variants */
|
|
253
|
+
.autocomplete-primary .autocomplete-input {
|
|
254
|
+
color: var(--color-primary);
|
|
255
|
+
}
|
|
256
|
+
.autocomplete-primary .autocomplete-input:focus {
|
|
257
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-primary) 10%, transparent);
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
.autocomplete-secondary .autocomplete-input {
|
|
261
|
+
color: var(--color-secondary);
|
|
262
|
+
}
|
|
263
|
+
.autocomplete-secondary .autocomplete-input:focus {
|
|
264
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-secondary) 10%, transparent);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
.autocomplete-tertiary .autocomplete-input {
|
|
268
|
+
color: var(--color-tertiary);
|
|
269
|
+
}
|
|
270
|
+
.autocomplete-tertiary .autocomplete-input:focus {
|
|
271
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-tertiary) 10%, transparent);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
.autocomplete-info .autocomplete-input {
|
|
275
|
+
color: var(--color-info);
|
|
276
|
+
}
|
|
277
|
+
.autocomplete-info .autocomplete-input:focus {
|
|
278
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-info) 10%, transparent);
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
.autocomplete-success .autocomplete-input {
|
|
282
|
+
color: var(--color-success);
|
|
283
|
+
}
|
|
284
|
+
.autocomplete-success .autocomplete-input:focus {
|
|
285
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-success) 10%, transparent);
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
.autocomplete-warning .autocomplete-input {
|
|
289
|
+
color: var(--color-warning);
|
|
290
|
+
}
|
|
291
|
+
.autocomplete-warning .autocomplete-input:focus {
|
|
292
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-warning) 10%, transparent);
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
.autocomplete-error .autocomplete-input {
|
|
296
|
+
color: var(--color-error);
|
|
297
|
+
}
|
|
298
|
+
.autocomplete-error .autocomplete-input:focus {
|
|
299
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-error) 10%, transparent);
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
/* Ghost Variant */
|
|
303
|
+
.autocomplete-ghost .autocomplete-input {
|
|
304
|
+
background-color: transparent;
|
|
305
|
+
border-color: transparent;
|
|
306
|
+
}
|
|
307
|
+
.autocomplete-ghost .autocomplete-input:focus {
|
|
308
|
+
background-color: var(--color-surface-container);
|
|
309
|
+
border-color: transparent;
|
|
310
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, currentColor 20%, transparent);
|
|
311
|
+
}
|
|
312
|
+
|
|
253
313
|
/* Size Variants */
|
|
254
314
|
.autocomplete-sm .autocomplete-input {
|
|
255
315
|
padding: 0.5rem 0.75rem;
|
|
@@ -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 */
|