@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
@@ -120,6 +120,24 @@ export const css = `/**
120
120
  border-color: transparent;
121
121
  }
122
122
 
123
+ .alert-accent {
124
+ background-color: color-mix(in oklch, var(--color-accent) 15%, var(--color-surface));
125
+ color: var(--color-on-surface);
126
+ border-color: transparent;
127
+ }
128
+
129
+ .alert-neutral {
130
+ background-color: color-mix(in oklch, var(--color-neutral) 15%, var(--color-surface));
131
+ color: var(--color-on-surface);
132
+ border-color: transparent;
133
+ }
134
+
135
+ .alert-base {
136
+ background-color: var(--color-base-200);
137
+ color: var(--color-base-content);
138
+ border-color: transparent;
139
+ }
140
+
123
141
  /* Filled Variants */
124
142
  .alert-filled.alert-info {
125
143
  background-color: var(--color-info);
@@ -156,6 +174,21 @@ export const css = `/**
156
174
  color: var(--color-tertiary-content);
157
175
  }
158
176
 
177
+ .alert-filled.alert-accent {
178
+ background-color: var(--color-accent);
179
+ color: var(--color-accent-content);
180
+ }
181
+
182
+ .alert-filled.alert-neutral {
183
+ background-color: var(--color-neutral);
184
+ color: var(--color-neutral-content);
185
+ }
186
+
187
+ .alert-filled.alert-base {
188
+ background-color: var(--color-base-100);
189
+ color: var(--color-base-content);
190
+ }
191
+
159
192
  /* Outlined Variants */
160
193
  .alert-outlined {
161
194
  background-color: transparent;
@@ -196,6 +229,21 @@ export const css = `/**
196
229
  color: var(--color-tertiary);
197
230
  }
198
231
 
232
+ .alert-outlined.alert-accent {
233
+ border-color: var(--color-accent);
234
+ color: var(--color-accent);
235
+ }
236
+
237
+ .alert-outlined.alert-neutral {
238
+ border-color: var(--color-neutral);
239
+ color: var(--color-neutral);
240
+ }
241
+
242
+ .alert-outlined.alert-base {
243
+ border-color: var(--color-base-content);
244
+ color: var(--color-base-content);
245
+ }
246
+
199
247
  /* Ghost Variant */
200
248
  .alert-ghost {
201
249
  background-color: transparent;
@@ -209,6 +257,9 @@ export const css = `/**
209
257
  .alert-ghost.alert-success { color: var(--color-success); }
210
258
  .alert-ghost.alert-warning { color: var(--color-warning); }
211
259
  .alert-ghost.alert-error { color: var(--color-error); }
260
+ .alert-ghost.alert-accent { color: var(--color-accent); }
261
+ .alert-ghost.alert-neutral { color: var(--color-neutral); }
262
+ .alert-ghost.alert-base { color: var(--color-base-content); }
212
263
 
213
264
  /* Dismissible */
214
265
  .alert-dismissible {
@@ -381,6 +381,75 @@ export const css = `/**
381
381
  opacity: 0.8;
382
382
  }
383
383
 
384
+ .appbar-accent {
385
+ background-color: var(--color-accent);
386
+ color: var(--color-accent-content);
387
+ }
388
+
389
+ .appbar-accent .appbar-nav,
390
+ .appbar-accent .appbar-action,
391
+ .appbar-accent .appbar-back {
392
+ color: var(--color-accent-content);
393
+ }
394
+
395
+ .appbar-accent .appbar-nav:hover,
396
+ .appbar-accent .appbar-action:hover,
397
+ .appbar-accent .appbar-back:hover {
398
+ background-color: color-mix(in oklch, var(--color-accent) 15%, var(--color-surface));
399
+ color: var(--color-accent);
400
+ }
401
+
402
+ .appbar-accent .appbar-subtitle {
403
+ color: var(--color-accent-content);
404
+ opacity: 0.8;
405
+ }
406
+
407
+ .appbar-neutral {
408
+ background-color: var(--color-neutral);
409
+ color: var(--color-neutral-content);
410
+ }
411
+
412
+ .appbar-neutral .appbar-nav,
413
+ .appbar-neutral .appbar-action,
414
+ .appbar-neutral .appbar-back {
415
+ color: var(--color-neutral-content);
416
+ }
417
+
418
+ .appbar-neutral .appbar-nav:hover,
419
+ .appbar-neutral .appbar-action:hover,
420
+ .appbar-neutral .appbar-back:hover {
421
+ background-color: color-mix(in oklch, var(--color-neutral) 15%, var(--color-surface));
422
+ color: var(--color-neutral);
423
+ }
424
+
425
+ .appbar-neutral .appbar-subtitle {
426
+ color: var(--color-neutral-content);
427
+ opacity: 0.8;
428
+ }
429
+
430
+ .appbar-base {
431
+ background-color: var(--color-base-100);
432
+ color: var(--color-base-content);
433
+ }
434
+
435
+ .appbar-base .appbar-nav,
436
+ .appbar-base .appbar-action,
437
+ .appbar-base .appbar-back {
438
+ color: var(--color-base-content);
439
+ }
440
+
441
+ .appbar-base .appbar-nav:hover,
442
+ .appbar-base .appbar-action:hover,
443
+ .appbar-base .appbar-back:hover {
444
+ background-color: var(--color-base-200);
445
+ color: var(--color-base-content);
446
+ }
447
+
448
+ .appbar-base .appbar-subtitle {
449
+ color: var(--color-base-content);
450
+ opacity: 0.8;
451
+ }
452
+
384
453
  .appbar-info {
385
454
  background-color: var(--color-info);
386
455
  color: var(--color-info-content);
@@ -299,6 +299,27 @@ export const css = `/**
299
299
  box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-error) 10%, transparent);
300
300
  }
301
301
 
302
+ .autocomplete-accent .autocomplete-input {
303
+ color: var(--color-accent);
304
+ }
305
+ .autocomplete-accent .autocomplete-input:focus {
306
+ box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-accent) 10%, transparent);
307
+ }
308
+
309
+ .autocomplete-neutral .autocomplete-input {
310
+ color: var(--color-neutral);
311
+ }
312
+ .autocomplete-neutral .autocomplete-input:focus {
313
+ box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-neutral) 10%, transparent);
314
+ }
315
+
316
+ .autocomplete-base .autocomplete-input {
317
+ color: var(--color-base-content);
318
+ }
319
+ .autocomplete-base .autocomplete-input:focus {
320
+ box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-base-content) 10%, transparent);
321
+ }
322
+
302
323
  /* Ghost Variant */
303
324
  .autocomplete-ghost .autocomplete-input {
304
325
  background-color: transparent;
@@ -114,6 +114,21 @@ export const css = `/**
114
114
  color: var(--color-error-content);
115
115
  }
116
116
 
117
+ .avatar-accent {
118
+ background-color: var(--color-accent);
119
+ color: var(--color-accent-content);
120
+ }
121
+
122
+ .avatar-neutral {
123
+ background-color: var(--color-neutral);
124
+ color: var(--color-neutral-content);
125
+ }
126
+
127
+ .avatar-base {
128
+ background-color: var(--color-base-100);
129
+ color: var(--color-base-content);
130
+ }
131
+
117
132
  /* Ring */
118
133
  .avatar-ring {
119
134
  outline: none;
@@ -36,6 +36,21 @@ export const css = `/**
36
36
  color: var(--color-tertiary-content);
37
37
  }
38
38
 
39
+ .badge-accent {
40
+ background-color: var(--color-accent);
41
+ color: var(--color-accent-content);
42
+ }
43
+
44
+ .badge-neutral {
45
+ background-color: var(--color-neutral);
46
+ color: var(--color-neutral-content);
47
+ }
48
+
49
+ .badge-base {
50
+ background-color: var(--color-base-100);
51
+ color: var(--color-base-content);
52
+ }
53
+
39
54
  .badge-info {
40
55
  background-color: var(--color-info);
41
56
  color: var(--color-info-content);
@@ -77,6 +92,21 @@ export const css = `/**
77
92
  border-color: var(--color-tertiary);
78
93
  }
79
94
 
95
+ .badge-outline.badge-accent {
96
+ color: var(--color-accent);
97
+ border-color: var(--color-accent);
98
+ }
99
+
100
+ .badge-outline.badge-neutral {
101
+ color: var(--color-neutral);
102
+ border-color: var(--color-neutral);
103
+ }
104
+
105
+ .badge-outline.badge-base {
106
+ color: var(--color-base-content);
107
+ border-color: var(--color-base-content);
108
+ }
109
+
80
110
  .badge-outline.badge-info {
81
111
  color: var(--color-info);
82
112
  border-color: var(--color-info);
@@ -118,6 +148,21 @@ export const css = `/**
118
148
  color: var(--color-on-tertiary-container);
119
149
  }
120
150
 
151
+ .badge-soft.badge-accent {
152
+ background-color: color-mix(in oklch, var(--color-accent) 15%, var(--color-surface));
153
+ color: var(--color-on-surface);
154
+ }
155
+
156
+ .badge-soft.badge-neutral {
157
+ background-color: color-mix(in oklch, var(--color-neutral) 15%, var(--color-surface));
158
+ color: var(--color-on-surface);
159
+ }
160
+
161
+ .badge-soft.badge-base {
162
+ background-color: var(--color-base-200);
163
+ color: var(--color-base-content);
164
+ }
165
+
121
166
  .badge-soft.badge-info {
122
167
  background-color: var(--color-info-container);
123
168
  color: var(--color-on-info-container);
@@ -94,6 +94,42 @@ export const css = `/**
94
94
  filter: none;
95
95
  }
96
96
 
97
+ .btn-accent {
98
+ --btn-text-color: var(--color-accent-content);
99
+ background-color: var(--color-accent);
100
+ border-color: var(--color-accent);
101
+ }
102
+
103
+ .btn-accent:hover {
104
+ background-color: color-mix(in oklch, var(--color-accent), black 10%);
105
+ border-color: color-mix(in oklch, var(--color-accent), black 10%);
106
+ filter: none;
107
+ }
108
+
109
+ .btn-neutral {
110
+ --btn-text-color: var(--color-neutral-content);
111
+ background-color: var(--color-neutral);
112
+ border-color: var(--color-neutral);
113
+ }
114
+
115
+ .btn-neutral:hover {
116
+ background-color: color-mix(in oklch, var(--color-neutral), black 10%);
117
+ border-color: color-mix(in oklch, var(--color-neutral), black 10%);
118
+ filter: none;
119
+ }
120
+
121
+ .btn-base {
122
+ --btn-text-color: var(--color-base-content);
123
+ background-color: var(--color-base-100);
124
+ border-color: var(--color-base-100);
125
+ }
126
+
127
+ .btn-base:hover {
128
+ background-color: var(--color-base-200);
129
+ border-color: var(--color-base-200);
130
+ filter: none;
131
+ }
132
+
97
133
  /* Outline / Outlined Variant (.btn-outlined is an alias) */
98
134
  .btn-outline,
99
135
  .btn-outlined {
@@ -144,6 +180,42 @@ export const css = `/**
144
180
  background-color: var(--color-tertiary);
145
181
  }
146
182
 
183
+ .btn-outline.btn-accent,
184
+ .btn-outlined.btn-accent {
185
+ --btn-text-color: var(--color-accent);
186
+ border-color: currentColor;
187
+ }
188
+
189
+ .btn-outline.btn-accent:hover,
190
+ .btn-outlined.btn-accent:hover {
191
+ --btn-text-color: var(--color-accent-content);
192
+ background-color: var(--color-accent);
193
+ }
194
+
195
+ .btn-outline.btn-neutral,
196
+ .btn-outlined.btn-neutral {
197
+ --btn-text-color: var(--color-neutral);
198
+ border-color: currentColor;
199
+ }
200
+
201
+ .btn-outline.btn-neutral:hover,
202
+ .btn-outlined.btn-neutral:hover {
203
+ --btn-text-color: var(--color-neutral-content);
204
+ background-color: var(--color-neutral);
205
+ }
206
+
207
+ .btn-outline.btn-base,
208
+ .btn-outlined.btn-base {
209
+ --btn-text-color: var(--color-base-content);
210
+ border-color: currentColor;
211
+ }
212
+
213
+ .btn-outline.btn-base:hover,
214
+ .btn-outlined.btn-base:hover {
215
+ --btn-text-color: var(--color-base-content);
216
+ background-color: var(--color-base-100);
217
+ }
218
+
147
219
  .btn-outline.btn-info,
148
220
  .btn-outlined.btn-info {
149
221
  --btn-text-color: var(--color-info);
@@ -235,6 +307,24 @@ export const css = `/**
235
307
  .btn-ghost.btn-success { --btn-text-color: var(--color-success); }
236
308
  .btn-ghost.btn-warning { --btn-text-color: var(--color-warning); }
237
309
  .btn-ghost.btn-error { --btn-text-color: var(--color-error); }
310
+ .btn-ghost.btn-accent { --btn-text-color: var(--color-accent); }
311
+ .btn-ghost.btn-neutral { --btn-text-color: var(--color-neutral); }
312
+ .btn-ghost.btn-base { --btn-text-color: var(--color-base-content); }
313
+
314
+ .btn-ghost.btn-accent:hover {
315
+ --btn-text-color: var(--color-accent);
316
+ background-color: color-mix(in oklch, var(--color-accent) 15%, var(--color-surface));
317
+ }
318
+
319
+ .btn-ghost.btn-neutral:hover {
320
+ --btn-text-color: var(--color-neutral);
321
+ background-color: color-mix(in oklch, var(--color-neutral) 15%, var(--color-surface));
322
+ }
323
+
324
+ .btn-ghost.btn-base:hover {
325
+ --btn-text-color: var(--color-base-content);
326
+ background-color: var(--color-base-200);
327
+ }
238
328
 
239
329
  .btn-ghost.btn-info:hover {
240
330
  --btn-text-color: var(--color-on-info-container);
@@ -299,6 +389,24 @@ export const css = `/**
299
389
  .btn-text.btn-success { --btn-text-color: var(--color-success); }
300
390
  .btn-text.btn-warning { --btn-text-color: var(--color-warning); }
301
391
  .btn-text.btn-error { --btn-text-color: var(--color-error); }
392
+ .btn-text.btn-accent { --btn-text-color: var(--color-accent); }
393
+ .btn-text.btn-neutral { --btn-text-color: var(--color-neutral); }
394
+ .btn-text.btn-base { --btn-text-color: var(--color-base-content); }
395
+
396
+ .btn-text.btn-accent:hover {
397
+ --btn-text-color: var(--color-accent);
398
+ background-color: color-mix(in oklch, var(--color-accent) 15%, var(--color-surface));
399
+ }
400
+
401
+ .btn-text.btn-neutral:hover {
402
+ --btn-text-color: var(--color-neutral);
403
+ background-color: color-mix(in oklch, var(--color-neutral) 15%, var(--color-surface));
404
+ }
405
+
406
+ .btn-text.btn-base:hover {
407
+ --btn-text-color: var(--color-base-content);
408
+ background-color: var(--color-base-200);
409
+ }
302
410
 
303
411
  .btn-text.btn-info:hover {
304
412
  --btn-text-color: var(--color-on-info-container);
@@ -346,6 +454,21 @@ export const css = `/**
346
454
  background-color: var(--color-tertiary-container);
347
455
  }
348
456
 
457
+ .btn-tonal.btn-accent {
458
+ --btn-text-color: var(--color-on-surface);
459
+ background-color: color-mix(in oklch, var(--color-accent) 15%, var(--color-surface));
460
+ }
461
+
462
+ .btn-tonal.btn-neutral {
463
+ --btn-text-color: var(--color-on-surface);
464
+ background-color: color-mix(in oklch, var(--color-neutral) 15%, var(--color-surface));
465
+ }
466
+
467
+ .btn-tonal.btn-base {
468
+ --btn-text-color: var(--color-base-content);
469
+ background-color: var(--color-base-200);
470
+ }
471
+
349
472
  .btn-tonal.btn-info {
350
473
  --btn-text-color: var(--color-on-info-container);
351
474
  background-color: var(--color-info-container);
@@ -199,6 +199,33 @@ export const css = `/**
199
199
  color: var(--color-on-error-container);
200
200
  }
201
201
 
202
+ .card-accent {
203
+ background-color: color-mix(in oklch, var(--color-accent) 15%, var(--color-surface));
204
+ color: var(--color-on-surface);
205
+ }
206
+
207
+ .card-accent .card-title {
208
+ color: var(--color-on-surface);
209
+ }
210
+
211
+ .card-neutral {
212
+ background-color: color-mix(in oklch, var(--color-neutral) 15%, var(--color-surface));
213
+ color: var(--color-on-surface);
214
+ }
215
+
216
+ .card-neutral .card-title {
217
+ color: var(--color-on-surface);
218
+ }
219
+
220
+ .card-base {
221
+ background-color: var(--color-base-200);
222
+ color: var(--color-base-content);
223
+ }
224
+
225
+ .card-base .card-title {
226
+ color: var(--color-base-content);
227
+ }
228
+
202
229
  /* Glass Effect */
203
230
  .card-glass {
204
231
  background-color: rgb(255 255 255 / 0.1);
@@ -417,6 +417,27 @@ export const css = `/**
417
417
  box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-error) 10%, transparent);
418
418
  }
419
419
 
420
+ .cascader-accent .cascader-trigger {
421
+ color: var(--color-accent);
422
+ }
423
+ .cascader-accent .cascader-trigger:focus {
424
+ box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-accent) 10%, transparent);
425
+ }
426
+
427
+ .cascader-neutral .cascader-trigger {
428
+ color: var(--color-neutral);
429
+ }
430
+ .cascader-neutral .cascader-trigger:focus {
431
+ box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-neutral) 10%, transparent);
432
+ }
433
+
434
+ .cascader-base .cascader-trigger {
435
+ color: var(--color-base-content);
436
+ }
437
+ .cascader-base .cascader-trigger:focus {
438
+ box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-base-content) 10%, transparent);
439
+ }
440
+
420
441
  /* Ghost Variant */
421
442
  .cascader-ghost .cascader-trigger {
422
443
  background-color: transparent;