@duskmoon-dev/core 1.16.1 → 1.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/components/alert.css +51 -0
  2. package/dist/components/appbar.css +69 -0
  3. package/dist/components/autocomplete.css +21 -0
  4. package/dist/components/avatar.css +15 -0
  5. package/dist/components/badge.css +45 -0
  6. package/dist/components/button.css +123 -0
  7. package/dist/components/card.css +27 -0
  8. package/dist/components/cascader.css +21 -0
  9. package/dist/components/chat.css +436 -0
  10. package/dist/components/checkbox.css +27 -0
  11. package/dist/components/chip.css +75 -0
  12. package/dist/components/circle-menu.css +24 -0
  13. package/dist/components/collapse.css +31 -1
  14. package/dist/components/datepicker.css +42 -0
  15. package/dist/components/divider.css +15 -0
  16. package/dist/components/file-upload.css +21 -0
  17. package/dist/components/form.css +83 -0
  18. package/dist/components/index.css +1677 -75
  19. package/dist/components/input.css +6 -0
  20. package/dist/components/multi-select.css +21 -0
  21. package/dist/components/navigation.css +50 -0
  22. package/dist/components/otp-input.css +24 -0
  23. package/dist/components/pin-input.css +24 -0
  24. package/dist/components/progress.css +12 -0
  25. package/dist/components/radio.css +12 -0
  26. package/dist/components/rating.css +18 -0
  27. package/dist/components/segment-control.css +15 -0
  28. package/dist/components/select.css +6 -0
  29. package/dist/components/slider.css +66 -0
  30. package/dist/components/snackbar.css +15 -0
  31. package/dist/components/switch.css +18 -0
  32. package/dist/components/textarea.css +6 -0
  33. package/dist/components/time-input.css +27 -0
  34. package/dist/components/toast.css +45 -0
  35. package/dist/components/toggle.css +27 -0
  36. package/dist/components/tooltip.css +63 -0
  37. package/dist/components/tree-select.css +21 -0
  38. package/dist/esm/components/alert.js +51 -0
  39. package/dist/esm/components/appbar.js +69 -0
  40. package/dist/esm/components/autocomplete.js +21 -0
  41. package/dist/esm/components/avatar.js +15 -0
  42. package/dist/esm/components/badge.js +45 -0
  43. package/dist/esm/components/button.js +123 -0
  44. package/dist/esm/components/card.js +27 -0
  45. package/dist/esm/components/cascader.js +21 -0
  46. package/dist/esm/components/chat.js +443 -0
  47. package/dist/esm/components/checkbox.js +27 -0
  48. package/dist/esm/components/chip.js +75 -0
  49. package/dist/esm/components/circle-menu.js +24 -0
  50. package/dist/esm/components/collapse.js +31 -1
  51. package/dist/esm/components/datepicker.js +42 -0
  52. package/dist/esm/components/divider.js +15 -0
  53. package/dist/esm/components/file-upload.js +21 -0
  54. package/dist/esm/components/form.js +83 -0
  55. package/dist/esm/components/input.js +6 -0
  56. package/dist/esm/components/multi-select.js +21 -0
  57. package/dist/esm/components/navigation.js +50 -0
  58. package/dist/esm/components/otp-input.js +24 -0
  59. package/dist/esm/components/pin-input.js +24 -0
  60. package/dist/esm/components/progress.js +12 -0
  61. package/dist/esm/components/radio.js +12 -0
  62. package/dist/esm/components/rating.js +18 -0
  63. package/dist/esm/components/segment-control.js +15 -0
  64. package/dist/esm/components/select.js +6 -0
  65. package/dist/esm/components/slider.js +66 -0
  66. package/dist/esm/components/snackbar.js +15 -0
  67. package/dist/esm/components/switch.js +18 -0
  68. package/dist/esm/components/textarea.js +6 -0
  69. package/dist/esm/components/time-input.js +27 -0
  70. package/dist/esm/components/toast.js +45 -0
  71. package/dist/esm/components/toggle.js +27 -0
  72. package/dist/esm/components/tooltip.js +63 -0
  73. package/dist/esm/components/tree-select.js +21 -0
  74. package/dist/index.css +1679 -77
  75. package/dist/index.min.css +1 -1
  76. package/dist/themes/generated/sunshine.css +1 -1
  77. package/package.json +6 -1
@@ -119,6 +119,24 @@
119
119
  border-color: transparent;
120
120
  }
121
121
 
122
+ .alert-accent {
123
+ background-color: color-mix(in oklch, var(--color-accent) 15%, var(--color-surface));
124
+ color: var(--color-on-surface);
125
+ border-color: transparent;
126
+ }
127
+
128
+ .alert-neutral {
129
+ background-color: color-mix(in oklch, var(--color-neutral) 15%, var(--color-surface));
130
+ color: var(--color-on-surface);
131
+ border-color: transparent;
132
+ }
133
+
134
+ .alert-base {
135
+ background-color: var(--color-base-200);
136
+ color: var(--color-base-content);
137
+ border-color: transparent;
138
+ }
139
+
122
140
  /* Filled Variants */
123
141
  .alert-filled.alert-info {
124
142
  background-color: var(--color-info);
@@ -155,6 +173,21 @@
155
173
  color: var(--color-tertiary-content);
156
174
  }
157
175
 
176
+ .alert-filled.alert-accent {
177
+ background-color: var(--color-accent);
178
+ color: var(--color-accent-content);
179
+ }
180
+
181
+ .alert-filled.alert-neutral {
182
+ background-color: var(--color-neutral);
183
+ color: var(--color-neutral-content);
184
+ }
185
+
186
+ .alert-filled.alert-base {
187
+ background-color: var(--color-base-100);
188
+ color: var(--color-base-content);
189
+ }
190
+
158
191
  /* Outlined Variants */
159
192
  .alert-outlined {
160
193
  background-color: transparent;
@@ -195,6 +228,21 @@
195
228
  color: var(--color-tertiary);
196
229
  }
197
230
 
231
+ .alert-outlined.alert-accent {
232
+ border-color: var(--color-accent);
233
+ color: var(--color-accent);
234
+ }
235
+
236
+ .alert-outlined.alert-neutral {
237
+ border-color: var(--color-neutral);
238
+ color: var(--color-neutral);
239
+ }
240
+
241
+ .alert-outlined.alert-base {
242
+ border-color: var(--color-base-content);
243
+ color: var(--color-base-content);
244
+ }
245
+
198
246
  /* Ghost Variant */
199
247
  .alert-ghost {
200
248
  background-color: transparent;
@@ -208,6 +256,9 @@
208
256
  .alert-ghost.alert-success { color: var(--color-success); }
209
257
  .alert-ghost.alert-warning { color: var(--color-warning); }
210
258
  .alert-ghost.alert-error { color: var(--color-error); }
259
+ .alert-ghost.alert-accent { color: var(--color-accent); }
260
+ .alert-ghost.alert-neutral { color: var(--color-neutral); }
261
+ .alert-ghost.alert-base { color: var(--color-base-content); }
211
262
 
212
263
  /* Dismissible */
213
264
  .alert-dismissible {
@@ -380,6 +380,75 @@
380
380
  opacity: 0.8;
381
381
  }
382
382
 
383
+ .appbar-accent {
384
+ background-color: var(--color-accent);
385
+ color: var(--color-accent-content);
386
+ }
387
+
388
+ .appbar-accent .appbar-nav,
389
+ .appbar-accent .appbar-action,
390
+ .appbar-accent .appbar-back {
391
+ color: var(--color-accent-content);
392
+ }
393
+
394
+ .appbar-accent .appbar-nav:hover,
395
+ .appbar-accent .appbar-action:hover,
396
+ .appbar-accent .appbar-back:hover {
397
+ background-color: color-mix(in oklch, var(--color-accent) 15%, var(--color-surface));
398
+ color: var(--color-accent);
399
+ }
400
+
401
+ .appbar-accent .appbar-subtitle {
402
+ color: var(--color-accent-content);
403
+ opacity: 0.8;
404
+ }
405
+
406
+ .appbar-neutral {
407
+ background-color: var(--color-neutral);
408
+ color: var(--color-neutral-content);
409
+ }
410
+
411
+ .appbar-neutral .appbar-nav,
412
+ .appbar-neutral .appbar-action,
413
+ .appbar-neutral .appbar-back {
414
+ color: var(--color-neutral-content);
415
+ }
416
+
417
+ .appbar-neutral .appbar-nav:hover,
418
+ .appbar-neutral .appbar-action:hover,
419
+ .appbar-neutral .appbar-back:hover {
420
+ background-color: color-mix(in oklch, var(--color-neutral) 15%, var(--color-surface));
421
+ color: var(--color-neutral);
422
+ }
423
+
424
+ .appbar-neutral .appbar-subtitle {
425
+ color: var(--color-neutral-content);
426
+ opacity: 0.8;
427
+ }
428
+
429
+ .appbar-base {
430
+ background-color: var(--color-base-100);
431
+ color: var(--color-base-content);
432
+ }
433
+
434
+ .appbar-base .appbar-nav,
435
+ .appbar-base .appbar-action,
436
+ .appbar-base .appbar-back {
437
+ color: var(--color-base-content);
438
+ }
439
+
440
+ .appbar-base .appbar-nav:hover,
441
+ .appbar-base .appbar-action:hover,
442
+ .appbar-base .appbar-back:hover {
443
+ background-color: var(--color-base-200);
444
+ color: var(--color-base-content);
445
+ }
446
+
447
+ .appbar-base .appbar-subtitle {
448
+ color: var(--color-base-content);
449
+ opacity: 0.8;
450
+ }
451
+
383
452
  .appbar-info {
384
453
  background-color: var(--color-info);
385
454
  color: var(--color-info-content);
@@ -298,6 +298,27 @@
298
298
  box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-error) 10%, transparent);
299
299
  }
300
300
 
301
+ .autocomplete-accent .autocomplete-input {
302
+ color: var(--color-accent);
303
+ }
304
+ .autocomplete-accent .autocomplete-input:focus {
305
+ box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-accent) 10%, transparent);
306
+ }
307
+
308
+ .autocomplete-neutral .autocomplete-input {
309
+ color: var(--color-neutral);
310
+ }
311
+ .autocomplete-neutral .autocomplete-input:focus {
312
+ box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-neutral) 10%, transparent);
313
+ }
314
+
315
+ .autocomplete-base .autocomplete-input {
316
+ color: var(--color-base-content);
317
+ }
318
+ .autocomplete-base .autocomplete-input:focus {
319
+ box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-base-content) 10%, transparent);
320
+ }
321
+
301
322
  /* Ghost Variant */
302
323
  .autocomplete-ghost .autocomplete-input {
303
324
  background-color: transparent;
@@ -113,6 +113,21 @@
113
113
  color: var(--color-error-content);
114
114
  }
115
115
 
116
+ .avatar-accent {
117
+ background-color: var(--color-accent);
118
+ color: var(--color-accent-content);
119
+ }
120
+
121
+ .avatar-neutral {
122
+ background-color: var(--color-neutral);
123
+ color: var(--color-neutral-content);
124
+ }
125
+
126
+ .avatar-base {
127
+ background-color: var(--color-base-100);
128
+ color: var(--color-base-content);
129
+ }
130
+
116
131
  /* Ring */
117
132
  .avatar-ring {
118
133
  outline: none;
@@ -35,6 +35,21 @@
35
35
  color: var(--color-tertiary-content);
36
36
  }
37
37
 
38
+ .badge-accent {
39
+ background-color: var(--color-accent);
40
+ color: var(--color-accent-content);
41
+ }
42
+
43
+ .badge-neutral {
44
+ background-color: var(--color-neutral);
45
+ color: var(--color-neutral-content);
46
+ }
47
+
48
+ .badge-base {
49
+ background-color: var(--color-base-100);
50
+ color: var(--color-base-content);
51
+ }
52
+
38
53
  .badge-info {
39
54
  background-color: var(--color-info);
40
55
  color: var(--color-info-content);
@@ -76,6 +91,21 @@
76
91
  border-color: var(--color-tertiary);
77
92
  }
78
93
 
94
+ .badge-outline.badge-accent {
95
+ color: var(--color-accent);
96
+ border-color: var(--color-accent);
97
+ }
98
+
99
+ .badge-outline.badge-neutral {
100
+ color: var(--color-neutral);
101
+ border-color: var(--color-neutral);
102
+ }
103
+
104
+ .badge-outline.badge-base {
105
+ color: var(--color-base-content);
106
+ border-color: var(--color-base-content);
107
+ }
108
+
79
109
  .badge-outline.badge-info {
80
110
  color: var(--color-info);
81
111
  border-color: var(--color-info);
@@ -117,6 +147,21 @@
117
147
  color: var(--color-on-tertiary-container);
118
148
  }
119
149
 
150
+ .badge-soft.badge-accent {
151
+ background-color: color-mix(in oklch, var(--color-accent) 15%, var(--color-surface));
152
+ color: var(--color-on-surface);
153
+ }
154
+
155
+ .badge-soft.badge-neutral {
156
+ background-color: color-mix(in oklch, var(--color-neutral) 15%, var(--color-surface));
157
+ color: var(--color-on-surface);
158
+ }
159
+
160
+ .badge-soft.badge-base {
161
+ background-color: var(--color-base-200);
162
+ color: var(--color-base-content);
163
+ }
164
+
120
165
  .badge-soft.badge-info {
121
166
  background-color: var(--color-info-container);
122
167
  color: var(--color-on-info-container);
@@ -93,6 +93,42 @@
93
93
  filter: none;
94
94
  }
95
95
 
96
+ .btn-accent {
97
+ --btn-text-color: var(--color-accent-content);
98
+ background-color: var(--color-accent);
99
+ border-color: var(--color-accent);
100
+ }
101
+
102
+ .btn-accent:hover {
103
+ background-color: color-mix(in oklch, var(--color-accent), black 10%);
104
+ border-color: color-mix(in oklch, var(--color-accent), black 10%);
105
+ filter: none;
106
+ }
107
+
108
+ .btn-neutral {
109
+ --btn-text-color: var(--color-neutral-content);
110
+ background-color: var(--color-neutral);
111
+ border-color: var(--color-neutral);
112
+ }
113
+
114
+ .btn-neutral:hover {
115
+ background-color: color-mix(in oklch, var(--color-neutral), black 10%);
116
+ border-color: color-mix(in oklch, var(--color-neutral), black 10%);
117
+ filter: none;
118
+ }
119
+
120
+ .btn-base {
121
+ --btn-text-color: var(--color-base-content);
122
+ background-color: var(--color-base-100);
123
+ border-color: var(--color-base-100);
124
+ }
125
+
126
+ .btn-base:hover {
127
+ background-color: var(--color-base-200);
128
+ border-color: var(--color-base-200);
129
+ filter: none;
130
+ }
131
+
96
132
  /* Outline / Outlined Variant (.btn-outlined is an alias) */
97
133
  .btn-outline,
98
134
  .btn-outlined {
@@ -143,6 +179,42 @@
143
179
  background-color: var(--color-tertiary);
144
180
  }
145
181
 
182
+ .btn-outline.btn-accent,
183
+ .btn-outlined.btn-accent {
184
+ --btn-text-color: var(--color-accent);
185
+ border-color: currentColor;
186
+ }
187
+
188
+ .btn-outline.btn-accent:hover,
189
+ .btn-outlined.btn-accent:hover {
190
+ --btn-text-color: var(--color-accent-content);
191
+ background-color: var(--color-accent);
192
+ }
193
+
194
+ .btn-outline.btn-neutral,
195
+ .btn-outlined.btn-neutral {
196
+ --btn-text-color: var(--color-neutral);
197
+ border-color: currentColor;
198
+ }
199
+
200
+ .btn-outline.btn-neutral:hover,
201
+ .btn-outlined.btn-neutral:hover {
202
+ --btn-text-color: var(--color-neutral-content);
203
+ background-color: var(--color-neutral);
204
+ }
205
+
206
+ .btn-outline.btn-base,
207
+ .btn-outlined.btn-base {
208
+ --btn-text-color: var(--color-base-content);
209
+ border-color: currentColor;
210
+ }
211
+
212
+ .btn-outline.btn-base:hover,
213
+ .btn-outlined.btn-base:hover {
214
+ --btn-text-color: var(--color-base-content);
215
+ background-color: var(--color-base-100);
216
+ }
217
+
146
218
  .btn-outline.btn-info,
147
219
  .btn-outlined.btn-info {
148
220
  --btn-text-color: var(--color-info);
@@ -234,6 +306,24 @@
234
306
  .btn-ghost.btn-success { --btn-text-color: var(--color-success); }
235
307
  .btn-ghost.btn-warning { --btn-text-color: var(--color-warning); }
236
308
  .btn-ghost.btn-error { --btn-text-color: var(--color-error); }
309
+ .btn-ghost.btn-accent { --btn-text-color: var(--color-accent); }
310
+ .btn-ghost.btn-neutral { --btn-text-color: var(--color-neutral); }
311
+ .btn-ghost.btn-base { --btn-text-color: var(--color-base-content); }
312
+
313
+ .btn-ghost.btn-accent:hover {
314
+ --btn-text-color: var(--color-accent);
315
+ background-color: color-mix(in oklch, var(--color-accent) 15%, var(--color-surface));
316
+ }
317
+
318
+ .btn-ghost.btn-neutral:hover {
319
+ --btn-text-color: var(--color-neutral);
320
+ background-color: color-mix(in oklch, var(--color-neutral) 15%, var(--color-surface));
321
+ }
322
+
323
+ .btn-ghost.btn-base:hover {
324
+ --btn-text-color: var(--color-base-content);
325
+ background-color: var(--color-base-200);
326
+ }
237
327
 
238
328
  .btn-ghost.btn-info:hover {
239
329
  --btn-text-color: var(--color-on-info-container);
@@ -298,6 +388,24 @@
298
388
  .btn-text.btn-success { --btn-text-color: var(--color-success); }
299
389
  .btn-text.btn-warning { --btn-text-color: var(--color-warning); }
300
390
  .btn-text.btn-error { --btn-text-color: var(--color-error); }
391
+ .btn-text.btn-accent { --btn-text-color: var(--color-accent); }
392
+ .btn-text.btn-neutral { --btn-text-color: var(--color-neutral); }
393
+ .btn-text.btn-base { --btn-text-color: var(--color-base-content); }
394
+
395
+ .btn-text.btn-accent:hover {
396
+ --btn-text-color: var(--color-accent);
397
+ background-color: color-mix(in oklch, var(--color-accent) 15%, var(--color-surface));
398
+ }
399
+
400
+ .btn-text.btn-neutral:hover {
401
+ --btn-text-color: var(--color-neutral);
402
+ background-color: color-mix(in oklch, var(--color-neutral) 15%, var(--color-surface));
403
+ }
404
+
405
+ .btn-text.btn-base:hover {
406
+ --btn-text-color: var(--color-base-content);
407
+ background-color: var(--color-base-200);
408
+ }
301
409
 
302
410
  .btn-text.btn-info:hover {
303
411
  --btn-text-color: var(--color-on-info-container);
@@ -345,6 +453,21 @@
345
453
  background-color: var(--color-tertiary-container);
346
454
  }
347
455
 
456
+ .btn-tonal.btn-accent {
457
+ --btn-text-color: var(--color-on-surface);
458
+ background-color: color-mix(in oklch, var(--color-accent) 15%, var(--color-surface));
459
+ }
460
+
461
+ .btn-tonal.btn-neutral {
462
+ --btn-text-color: var(--color-on-surface);
463
+ background-color: color-mix(in oklch, var(--color-neutral) 15%, var(--color-surface));
464
+ }
465
+
466
+ .btn-tonal.btn-base {
467
+ --btn-text-color: var(--color-base-content);
468
+ background-color: var(--color-base-200);
469
+ }
470
+
348
471
  .btn-tonal.btn-info {
349
472
  --btn-text-color: var(--color-on-info-container);
350
473
  background-color: var(--color-info-container);
@@ -198,6 +198,33 @@
198
198
  color: var(--color-on-error-container);
199
199
  }
200
200
 
201
+ .card-accent {
202
+ background-color: color-mix(in oklch, var(--color-accent) 15%, var(--color-surface));
203
+ color: var(--color-on-surface);
204
+ }
205
+
206
+ .card-accent .card-title {
207
+ color: var(--color-on-surface);
208
+ }
209
+
210
+ .card-neutral {
211
+ background-color: color-mix(in oklch, var(--color-neutral) 15%, var(--color-surface));
212
+ color: var(--color-on-surface);
213
+ }
214
+
215
+ .card-neutral .card-title {
216
+ color: var(--color-on-surface);
217
+ }
218
+
219
+ .card-base {
220
+ background-color: var(--color-base-200);
221
+ color: var(--color-base-content);
222
+ }
223
+
224
+ .card-base .card-title {
225
+ color: var(--color-base-content);
226
+ }
227
+
201
228
  /* Glass Effect */
202
229
  .card-glass {
203
230
  background-color: rgb(255 255 255 / 0.1);
@@ -416,6 +416,27 @@
416
416
  box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-error) 10%, transparent);
417
417
  }
418
418
 
419
+ .cascader-accent .cascader-trigger {
420
+ color: var(--color-accent);
421
+ }
422
+ .cascader-accent .cascader-trigger:focus {
423
+ box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-accent) 10%, transparent);
424
+ }
425
+
426
+ .cascader-neutral .cascader-trigger {
427
+ color: var(--color-neutral);
428
+ }
429
+ .cascader-neutral .cascader-trigger:focus {
430
+ box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-neutral) 10%, transparent);
431
+ }
432
+
433
+ .cascader-base .cascader-trigger {
434
+ color: var(--color-base-content);
435
+ }
436
+ .cascader-base .cascader-trigger:focus {
437
+ box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-base-content) 10%, transparent);
438
+ }
439
+
419
440
  /* Ghost Variant */
420
441
  .cascader-ghost .cascader-trigger {
421
442
  background-color: transparent;