@duskmoon-dev/core 1.19.3 → 1.19.4

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 (101) hide show
  1. package/README.md +1 -1
  2. package/dist/base.css +484 -0
  3. package/dist/components/accordion.css +33 -9
  4. package/dist/components/autocomplete.css +67 -13
  5. package/dist/components/avatar.css +39 -15
  6. package/dist/components/badge.css +15 -3
  7. package/dist/components/card.css +12 -0
  8. package/dist/components/carousel.css +28 -0
  9. package/dist/components/chat.css +15 -11
  10. package/dist/components/checkbox.css +83 -13
  11. package/dist/components/collapse.css +67 -16
  12. package/dist/components/countdown.css +22 -0
  13. package/dist/components/datepicker.css +76 -0
  14. package/dist/components/diff.css +33 -0
  15. package/dist/components/file-input.css +107 -0
  16. package/dist/components/filter-group.css +452 -0
  17. package/dist/components/form-group.css +95 -204
  18. package/dist/components/form.css +1551 -421
  19. package/dist/components/index.css +5991 -6060
  20. package/dist/components/input.css +114 -31
  21. package/dist/components/kbd.css +28 -0
  22. package/dist/components/list.css +22 -3
  23. package/dist/components/otp-input.css +124 -6
  24. package/dist/components/radio.css +70 -0
  25. package/dist/components/range.css +41 -0
  26. package/dist/components/rating.css +39 -12
  27. package/dist/components/select.css +74 -0
  28. package/dist/components/stat.css +40 -0
  29. package/dist/components/switch.css +70 -0
  30. package/dist/components/table.css +8 -0
  31. package/dist/components/textarea.css +74 -0
  32. package/dist/components/timeline.css +40 -25
  33. package/dist/components/toggle-switch.css +165 -0
  34. package/dist/components/toggle.css +198 -32
  35. package/dist/components/validator.css +66 -0
  36. package/dist/effects/aura.css +22 -0
  37. package/dist/effects/hover-3d.css +8 -0
  38. package/dist/effects/hover-gallery.css +14 -0
  39. package/dist/effects/index.css +65 -0
  40. package/dist/effects/text-rotate.css +16 -0
  41. package/dist/esm/components/accordion.js +33 -9
  42. package/dist/esm/components/autocomplete.js +67 -13
  43. package/dist/esm/components/avatar.js +39 -15
  44. package/dist/esm/components/badge.js +15 -3
  45. package/dist/esm/components/card.js +12 -0
  46. package/dist/esm/components/carousel.d.ts +5 -0
  47. package/dist/esm/components/carousel.js +37 -0
  48. package/dist/esm/components/chat.js +15 -11
  49. package/dist/esm/components/checkbox.js +84 -14
  50. package/dist/esm/components/collapse.js +67 -16
  51. package/dist/esm/components/countdown.d.ts +5 -0
  52. package/dist/esm/components/countdown.js +31 -0
  53. package/dist/esm/components/datepicker.js +77 -1
  54. package/dist/esm/components/diff.d.ts +5 -0
  55. package/dist/esm/components/diff.js +42 -0
  56. package/dist/esm/components/file-input.d.ts +5 -0
  57. package/dist/esm/components/file-input.js +116 -0
  58. package/dist/esm/components/filter-group.d.ts +5 -0
  59. package/dist/esm/components/filter-group.js +461 -0
  60. package/dist/esm/components/form-group.js +96 -205
  61. package/dist/esm/components/form.js +1539 -409
  62. package/dist/esm/components/input.js +115 -32
  63. package/dist/esm/components/kbd.d.ts +5 -0
  64. package/dist/esm/components/kbd.js +37 -0
  65. package/dist/esm/components/list.js +22 -3
  66. package/dist/esm/components/otp-input.js +125 -7
  67. package/dist/esm/components/radio.js +71 -1
  68. package/dist/esm/components/range.d.ts +5 -0
  69. package/dist/esm/components/range.js +50 -0
  70. package/dist/esm/components/rating.js +39 -12
  71. package/dist/esm/components/select.js +75 -1
  72. package/dist/esm/components/stat.d.ts +5 -0
  73. package/dist/esm/components/stat.js +49 -0
  74. package/dist/esm/components/switch.js +71 -1
  75. package/dist/esm/components/table.js +8 -0
  76. package/dist/esm/components/textarea.js +75 -1
  77. package/dist/esm/components/timeline.js +40 -25
  78. package/dist/esm/components/toggle-switch.d.ts +5 -0
  79. package/dist/esm/components/toggle-switch.js +174 -0
  80. package/dist/esm/components/toggle.js +198 -32
  81. package/dist/esm/components/validator.d.ts +5 -0
  82. package/dist/esm/components/validator.js +75 -0
  83. package/dist/esm/effects/aura.d.ts +5 -0
  84. package/dist/esm/effects/aura.js +31 -0
  85. package/dist/esm/effects/hover-3d.d.ts +5 -0
  86. package/dist/esm/effects/hover-3d.js +17 -0
  87. package/dist/esm/effects/hover-gallery.d.ts +5 -0
  88. package/dist/esm/effects/hover-gallery.js +23 -0
  89. package/dist/esm/effects/index.d.ts +5 -0
  90. package/dist/esm/effects/index.js +74 -0
  91. package/dist/esm/effects/text-rotate.d.ts +5 -0
  92. package/dist/esm/effects/text-rotate.js +25 -0
  93. package/dist/index.css +5977 -6047
  94. package/dist/index.min.css +1 -1
  95. package/dist/standalone/duskmoonui-themes.css +1 -1
  96. package/dist/standalone/duskmoonui.css +6967 -7028
  97. package/dist/standalone/duskmoonui.js +11 -12
  98. package/dist/standalone/duskmoonui.mjs +11 -12
  99. package/dist/types/types/plugin.d.ts +1 -1
  100. package/dist/types/types/plugin.d.ts.map +1 -1
  101. package/package.json +98 -1
package/README.md CHANGED
@@ -442,4 +442,4 @@ See [specs/004-oklch-color-system/quickstart.md](./specs/004-oklch-color-system/
442
442
 
443
443
  MIT
444
444
 
445
- <!-- release 34867104439 -->
445
+ <!-- release 35341084904 -->
package/dist/base.css ADDED
@@ -0,0 +1,484 @@
1
+ /* Individual-control prerequisite, matching the generated base.css export. */
2
+ /**
3
+ * Base styles
4
+ * Core styling and color token definitions
5
+ */
6
+
7
+ /* Root styles */
8
+ /**
9
+ * Root styles and CSS reset
10
+ * Applied to all pages using the plugin
11
+ */
12
+
13
+ /* Smooth scrolling for anchors */
14
+ html {
15
+ scroll-behavior: smooth;
16
+ }
17
+
18
+ /* Prevent text inflation on mobile */
19
+ html {
20
+ -webkit-text-size-adjust: 100%;
21
+ text-size-adjust: 100%;
22
+ }
23
+
24
+ /* Use theme color scheme - OKLCH format */
25
+ :root,
26
+ [data-theme] {
27
+ background-color: var(--color-base-100);
28
+ color: var(--color-base-content);
29
+ }
30
+
31
+ /* Focus ring utility */
32
+ :focus-visible {
33
+ outline: 2px solid var(--color-primary);
34
+ outline-offset: 2px;
35
+ }
36
+
37
+ /* Disabled state utility */
38
+ [disabled],
39
+ .disabled {
40
+ pointer-events: none;
41
+ opacity: 0.5;
42
+ }
43
+
44
+ /* Selection color */
45
+ ::selection {
46
+ background-color: color-mix(in oklch, var(--color-primary) 20%, transparent);
47
+ color: var(--color-base-content);
48
+ }
49
+
50
+ /* Scrollbar styling for webkit browsers */
51
+ ::-webkit-scrollbar {
52
+ width: 8px;
53
+ height: 8px;
54
+ }
55
+
56
+ ::-webkit-scrollbar-track {
57
+ background: var(--color-base-200);
58
+ }
59
+
60
+ ::-webkit-scrollbar-thumb {
61
+ background: var(--color-base-300);
62
+ border-radius: 4px;
63
+ }
64
+
65
+ ::-webkit-scrollbar-thumb:hover {
66
+ background: color-mix(in oklch, var(--color-base-content) 30%, transparent);
67
+ }
68
+
69
+ /* Firefox scrollbar */
70
+ * {
71
+ scrollbar-width: thin;
72
+ scrollbar-color: var(--color-base-300) var(--color-base-200);
73
+ }
74
+
75
+ /* Reduce motion for users who prefer it */
76
+ @media (prefers-reduced-motion: reduce) {
77
+ *,
78
+ *::before,
79
+ *::after {
80
+ animation-duration: 0.01ms !important;
81
+ animation-iteration-count: 1 !important;
82
+ transition-duration: 0.01ms !important;
83
+ scroll-behavior: auto !important;
84
+ }
85
+ }
86
+
87
+
88
+ /* Color token definitions */
89
+ /**
90
+ * Color Token Definitions
91
+ * 65+ Material Design 3 color tokens using CSS custom properties
92
+ * Format: OKLCH from codegen (e.g., "oklch(72% 0.17 75)")
93
+ */
94
+
95
+ @theme {
96
+ /* ============================================
97
+ * THEME METADATA (5 tokens)
98
+ * Set by generated theme CSS files (e.g., sunshine.css)
99
+ * Enables data-driven theme switching via --theme-pair
100
+ * ============================================ */
101
+
102
+ --theme-name: initial;
103
+ --theme-mode: initial;
104
+ --theme-family: initial;
105
+ --theme-pair: initial;
106
+ --theme-description: initial;
107
+
108
+ /* ============================================
109
+ * BRAND COLORS (12 tokens)
110
+ * ============================================ */
111
+
112
+ /* Primary Color Family */
113
+ --color-primary: initial;
114
+ --color-primary-content: initial;
115
+ --color-primary-container: initial;
116
+ --color-on-primary-container: initial;
117
+
118
+ /* Secondary Color Family */
119
+ --color-secondary: initial;
120
+ --color-secondary-content: initial;
121
+ --color-secondary-container: initial;
122
+ --color-on-secondary-container: initial;
123
+
124
+ /* Tertiary Color Family */
125
+ --color-tertiary: initial;
126
+ --color-tertiary-content: initial;
127
+ --color-tertiary-container: initial;
128
+ --color-on-tertiary-container: initial;
129
+
130
+ /* ============================================
131
+ * ACCENT COLORS (2 tokens)
132
+ * ============================================ */
133
+
134
+ --color-accent: initial;
135
+ --color-accent-content: initial;
136
+
137
+ /* ============================================
138
+ * NEUTRAL COLORS (3 tokens)
139
+ * ============================================ */
140
+
141
+ --color-neutral: initial;
142
+ --color-neutral-content: initial;
143
+ --color-neutral-variant: initial;
144
+
145
+ /* ============================================
146
+ * SURFACE COLORS (11 tokens)
147
+ * ============================================ */
148
+
149
+ --color-surface: initial;
150
+ --color-surface-dim: initial;
151
+ --color-surface-bright: initial;
152
+ --color-surface-container-lowest: initial;
153
+ --color-surface-container-low: initial;
154
+ --color-surface-container: initial;
155
+ --color-surface-container-high: initial;
156
+ --color-surface-container-highest: initial;
157
+ --color-surface-variant: initial;
158
+ --color-on-surface: initial;
159
+ --color-on-surface-variant: initial;
160
+
161
+ /* ============================================
162
+ * SEMANTIC COLORS (16 tokens)
163
+ * ============================================ */
164
+
165
+ /* Info */
166
+ --color-info: initial;
167
+ --color-info-content: initial;
168
+ --color-info-container: initial;
169
+ --color-on-info-container: initial;
170
+
171
+ /* Success */
172
+ --color-success: initial;
173
+ --color-success-content: initial;
174
+ --color-success-container: initial;
175
+ --color-on-success-container: initial;
176
+
177
+ /* Warning */
178
+ --color-warning: initial;
179
+ --color-warning-content: initial;
180
+ --color-warning-container: initial;
181
+ --color-on-warning-container: initial;
182
+
183
+ /* Error */
184
+ --color-error: initial;
185
+ --color-error-content: initial;
186
+ --color-error-container: initial;
187
+ --color-on-error-container: initial;
188
+
189
+ /* ============================================
190
+ * BASE SCALE (10 tokens)
191
+ * ============================================ */
192
+
193
+ --color-base-100: initial;
194
+ --color-base-200: initial;
195
+ --color-base-300: initial;
196
+ --color-base-400: initial;
197
+ --color-base-500: initial;
198
+ --color-base-600: initial;
199
+ --color-base-700: initial;
200
+ --color-base-800: initial;
201
+ --color-base-900: initial;
202
+ --color-base-content: initial;
203
+
204
+ /* ============================================
205
+ * OUTLINE COLORS (2 tokens)
206
+ * ============================================ */
207
+
208
+ --color-outline: initial;
209
+ --color-outline-variant: initial;
210
+
211
+ /* ============================================
212
+ * INVERSE COLORS (3 tokens)
213
+ * ============================================ */
214
+
215
+ --color-inverse-surface: initial;
216
+ --color-inverse-on-surface: initial;
217
+ --color-inverse-primary: initial;
218
+
219
+ /* ============================================
220
+ * SHADOW & SCRIM (2 tokens)
221
+ * ============================================ */
222
+
223
+ --color-shadow: initial;
224
+ --color-scrim: initial;
225
+
226
+ /* ============================================
227
+ * ELEVATION SHADOWS (6 + 6 tokens)
228
+ * Computed from --color-shadow (theme-provided) via color-mix()
229
+ * Registered in @theme so Tailwind v4 generates shadow-* utilities natively
230
+ * ============================================ */
231
+
232
+ --shadow-xs: 0 1px 2px 0 color-mix(in srgb, var(--color-shadow) 5%, transparent);
233
+ --shadow-sm: 0 1px 3px 0 color-mix(in srgb, var(--color-shadow) 10%, transparent), 0 1px 2px -1px color-mix(in srgb, var(--color-shadow) 10%, transparent);
234
+ --shadow-md: 0 4px 6px -1px color-mix(in srgb, var(--color-shadow) 10%, transparent), 0 2px 4px -2px color-mix(in srgb, var(--color-shadow) 10%, transparent);
235
+ --shadow-lg: 0 10px 15px -3px color-mix(in srgb, var(--color-shadow) 10%, transparent), 0 4px 6px -4px color-mix(in srgb, var(--color-shadow) 10%, transparent);
236
+ --shadow-xl: 0 20px 25px -5px color-mix(in srgb, var(--color-shadow) 10%, transparent), 0 8px 10px -6px color-mix(in srgb, var(--color-shadow) 10%, transparent);
237
+ --shadow-2xl: 0 25px 50px -12px color-mix(in srgb, var(--color-shadow) 25%, transparent);
238
+
239
+ /* MD3 Elevation Levels — semantic shadow aliases */
240
+ --shadow-elevation-0: none;
241
+ --shadow-elevation-1: var(--shadow-xs);
242
+ --shadow-elevation-2: var(--shadow-sm);
243
+ --shadow-elevation-3: var(--shadow-md);
244
+ --shadow-elevation-4: var(--shadow-lg);
245
+ --shadow-elevation-5: var(--shadow-xl);
246
+
247
+ /* ============================================
248
+ * SHAPE / BORDER RADIUS (8 tokens)
249
+ * Values provided by generated/spacing.css
250
+ * ============================================ */
251
+
252
+ --radius-none: initial;
253
+ --radius-xs: initial;
254
+ --radius-sm: initial;
255
+ --radius-md: initial;
256
+ --radius-lg: initial;
257
+ --radius-xl: initial;
258
+ --radius-2xl: initial;
259
+ --radius-full: initial;
260
+
261
+ /* ============================================
262
+ * THEME SHAPE TOKENS (8 tokens)
263
+ * Per-theme shape values from codegen
264
+ * ============================================ */
265
+
266
+ --radius-selector: initial;
267
+ --radius-field: initial;
268
+ --radius-box: initial;
269
+ --size-selector: initial;
270
+ --size-field: initial;
271
+ --border: initial;
272
+ --depth: initial;
273
+ --noise: initial;
274
+ }
275
+
276
+ /* Utility classes for colors — token references + color-mix() for states */
277
+ @layer utilities {
278
+ /* Background Colors */
279
+ .bg-primary { background-color: var(--color-primary); }
280
+ .bg-primary-focus { background-color: color-mix(in oklch, var(--color-primary), black 10%); }
281
+ .bg-primary-container { background-color: var(--color-primary-container); }
282
+
283
+ .bg-secondary { background-color: var(--color-secondary); }
284
+ .bg-secondary-focus { background-color: color-mix(in oklch, var(--color-secondary), black 10%); }
285
+ .bg-secondary-container { background-color: var(--color-secondary-container); }
286
+
287
+ .bg-tertiary { background-color: var(--color-tertiary); }
288
+ .bg-tertiary-focus { background-color: color-mix(in oklch, var(--color-tertiary), black 10%); }
289
+ .bg-tertiary-container { background-color: var(--color-tertiary-container); }
290
+
291
+ .bg-surface { background-color: var(--color-surface); }
292
+ .bg-surface-dim { background-color: var(--color-surface-dim); }
293
+ .bg-surface-bright { background-color: var(--color-surface-bright); }
294
+ .bg-surface-container-lowest { background-color: var(--color-surface-container-lowest); }
295
+ .bg-surface-container-low { background-color: var(--color-surface-container-low); }
296
+ .bg-surface-container { background-color: var(--color-surface-container); }
297
+ .bg-surface-container-high { background-color: var(--color-surface-container-high); }
298
+ .bg-surface-container-highest { background-color: var(--color-surface-container-highest); }
299
+
300
+ .bg-info { background-color: var(--color-info); }
301
+ .bg-info-container { background-color: var(--color-info-container); }
302
+ .bg-success { background-color: var(--color-success); }
303
+ .bg-success-container { background-color: var(--color-success-container); }
304
+ .bg-warning { background-color: var(--color-warning); }
305
+ .bg-warning-container { background-color: var(--color-warning-container); }
306
+ .bg-error { background-color: var(--color-error); }
307
+ .bg-error-container { background-color: var(--color-error-container); }
308
+
309
+ .bg-base-100 { background-color: var(--color-base-100); }
310
+ .bg-base-200 { background-color: var(--color-base-200); }
311
+ .bg-base-300 { background-color: var(--color-base-300); }
312
+ .bg-base-400 { background-color: var(--color-base-400); }
313
+ .bg-base-500 { background-color: var(--color-base-500); }
314
+ .bg-base-600 { background-color: var(--color-base-600); }
315
+ .bg-base-700 { background-color: var(--color-base-700); }
316
+ .bg-base-800 { background-color: var(--color-base-800); }
317
+ .bg-base-900 { background-color: var(--color-base-900); }
318
+
319
+ /* Text Colors */
320
+ .text-primary { color: var(--color-primary); }
321
+ .text-primary-content { color: var(--color-primary-content); }
322
+ .text-on-primary-container { color: var(--color-on-primary-container); }
323
+
324
+ .text-secondary { color: var(--color-secondary); }
325
+ .text-secondary-content { color: var(--color-secondary-content); }
326
+ .text-on-secondary-container { color: var(--color-on-secondary-container); }
327
+
328
+ .text-tertiary { color: var(--color-tertiary); }
329
+ .text-tertiary-content { color: var(--color-tertiary-content); }
330
+ .text-on-tertiary-container { color: var(--color-on-tertiary-container); }
331
+
332
+ .text-on-surface { color: var(--color-on-surface); }
333
+ .text-on-surface-variant { color: var(--color-on-surface-variant); }
334
+
335
+ .text-info { color: var(--color-info); }
336
+ .text-info-content { color: var(--color-info-content); }
337
+ .text-on-info-container { color: var(--color-on-info-container); }
338
+
339
+ .text-success { color: var(--color-success); }
340
+ .text-success-content { color: var(--color-success-content); }
341
+ .text-on-success-container { color: var(--color-on-success-container); }
342
+
343
+ .text-warning { color: var(--color-warning); }
344
+ .text-warning-content { color: var(--color-warning-content); }
345
+ .text-on-warning-container { color: var(--color-on-warning-container); }
346
+
347
+ .text-error { color: var(--color-error); }
348
+ .text-error-content { color: var(--color-error-content); }
349
+ .text-on-error-container { color: var(--color-on-error-container); }
350
+
351
+ .text-base-content { color: var(--color-base-content); }
352
+
353
+ /* Border Colors */
354
+ .border-primary { border-color: var(--color-primary); }
355
+ .border-secondary { border-color: var(--color-secondary); }
356
+ .border-tertiary { border-color: var(--color-tertiary); }
357
+ .border-outline { border-color: var(--color-outline); }
358
+ .border-outline-variant { border-color: var(--color-outline-variant); }
359
+ .border-info { border-color: var(--color-info); }
360
+ .border-success { border-color: var(--color-success); }
361
+ .border-warning { border-color: var(--color-warning); }
362
+ .border-error { border-color: var(--color-error); }
363
+
364
+ /* Ring Colors */
365
+ .ring-primary { --tw-ring-color: var(--color-primary); }
366
+ .ring-secondary { --tw-ring-color: var(--color-secondary); }
367
+ .ring-tertiary { --tw-ring-color: var(--color-tertiary); }
368
+ .ring-info { --tw-ring-color: var(--color-info); }
369
+ .ring-success { --tw-ring-color: var(--color-success); }
370
+ .ring-warning { --tw-ring-color: var(--color-warning); }
371
+ .ring-error { --tw-ring-color: var(--color-error); }
372
+
373
+ /* Accent Colors */
374
+ .bg-accent { background-color: var(--color-accent); }
375
+ .bg-accent-focus { background-color: color-mix(in oklch, var(--color-accent), black 10%); }
376
+ .text-accent { color: var(--color-accent); }
377
+ .text-accent-content { color: var(--color-accent-content); }
378
+ .border-accent { border-color: var(--color-accent); }
379
+ .ring-accent { --tw-ring-color: var(--color-accent); }
380
+
381
+ /* Neutral Colors */
382
+ .bg-neutral { background-color: var(--color-neutral); }
383
+ .bg-neutral-focus { background-color: color-mix(in oklch, var(--color-neutral), black 10%); }
384
+ .text-neutral { color: var(--color-neutral); }
385
+ .text-neutral-content { color: var(--color-neutral-content); }
386
+ .border-neutral { border-color: var(--color-neutral); }
387
+ .ring-neutral { --tw-ring-color: var(--color-neutral); }
388
+
389
+ /* Surface Variant */
390
+ .bg-surface-variant { background-color: var(--color-surface-variant); }
391
+
392
+ /* Inverse Colors */
393
+ .bg-inverse-surface { background-color: var(--color-inverse-surface); }
394
+ .text-inverse-on-surface { color: var(--color-inverse-on-surface); }
395
+ .text-inverse-primary { color: var(--color-inverse-primary); }
396
+
397
+ /* MD3 Elevation Utilities — semantic shadow levels */
398
+ .elevation-0 { box-shadow: var(--shadow-elevation-0); }
399
+ .elevation-1 { box-shadow: var(--shadow-elevation-1); }
400
+ .elevation-2 { box-shadow: var(--shadow-elevation-2); }
401
+ .elevation-3 { box-shadow: var(--shadow-elevation-3); }
402
+ .elevation-4 { box-shadow: var(--shadow-elevation-4); }
403
+ .elevation-5 { box-shadow: var(--shadow-elevation-5); }
404
+ }
405
+
406
+
407
+ /* Custom utilities */
408
+ /**
409
+ * Custom utility classes
410
+ * Extends Tailwind CSS v4 with additional utilities
411
+ */
412
+
413
+ /* Responsive grid utilities with auto-fill/auto-fit */
414
+ @utility grid-cols-auto-fill-* {
415
+ grid-template-columns: repeat(auto-fill, minmax(min(calc(--value(integer) * 0.25rem), 100%), 1fr));
416
+ }
417
+
418
+ @utility grid-cols-auto-fit-* {
419
+ grid-template-columns: repeat(auto-fit, minmax(min(calc(--value(integer) * 0.25rem), 100%), 1fr));
420
+ }
421
+
422
+ /* Screen reader only utility - visually hidden but accessible */
423
+ .sr-only {
424
+ position: absolute;
425
+ width: 1px;
426
+ height: 1px;
427
+ padding: 0;
428
+ margin: -1px;
429
+ overflow: hidden;
430
+ clip: rect(0, 0, 0, 0);
431
+ white-space: nowrap;
432
+ border: 0;
433
+ }
434
+
435
+ /* Undo sr-only for focus states (useful for skip links) */
436
+ .not-sr-only {
437
+ position: static;
438
+ width: auto;
439
+ height: auto;
440
+ padding: 0;
441
+ margin: 0;
442
+ overflow: visible;
443
+ clip: auto;
444
+ white-space: normal;
445
+ }
446
+
447
+
448
+ /* GENERATED — DO NOT EDIT */
449
+ /* Source: tokens/_spacing.yaml */
450
+ /* Generator: duskmoon-codegen v2.0.0 */
451
+
452
+ :root {
453
+ --spacing-0: 0px;
454
+ --spacing-1: 4px;
455
+ --spacing-2: 8px;
456
+ --spacing-3: 12px;
457
+ --spacing-4: 16px;
458
+ --spacing-5: 20px;
459
+ --spacing-6: 24px;
460
+ --spacing-7: 28px;
461
+ --spacing-8: 32px;
462
+ --spacing-10: 40px;
463
+ --spacing-12: 48px;
464
+ --spacing-16: 64px;
465
+ --spacing-20: 80px;
466
+ --spacing-24: 96px;
467
+
468
+ --radius-none: 0px;
469
+ --radius-xs: 4px;
470
+ --radius-sm: 8px;
471
+ --radius-md: 12px;
472
+ --radius-lg: 16px;
473
+ --radius-xl: 20px;
474
+ --radius-2xl: 28px;
475
+ --radius-full: 9999px;
476
+
477
+ --elevation-level0: 0px;
478
+ --elevation-level1: 1px;
479
+ --elevation-level2: 3px;
480
+ --elevation-level3: 6px;
481
+ --elevation-level4: 8px;
482
+ --elevation-level5: 12px;
483
+ }
484
+
@@ -42,7 +42,7 @@
42
42
  background-color: transparent;
43
43
  border: none;
44
44
  cursor: pointer;
45
- text-align: left;
45
+ text-align: start;
46
46
  transition: background-color 150ms ease-in-out;
47
47
  }
48
48
 
@@ -56,7 +56,8 @@
56
56
  box-shadow: 0 0 0 3px color-mix(in oklch, currentColor 20%, transparent);
57
57
  }
58
58
 
59
- .accordion-item.open .accordion-header {
59
+ .accordion-item:not(details):is(.open, .accordion-item-open) > .accordion-header,
60
+ details.accordion-item[open] > .accordion-header {
60
61
  background-color: var(--color-surface-container);
61
62
  }
62
63
 
@@ -67,7 +68,7 @@
67
68
  justify-content: center;
68
69
  width: 1.5rem;
69
70
  height: 1.5rem;
70
- margin-right: 0.75rem;
71
+ margin-inline-end: 0.75rem;
71
72
  color: var(--color-on-surface-variant);
72
73
  flex-shrink: 0;
73
74
  }
@@ -92,13 +93,14 @@
92
93
  justify-content: center;
93
94
  width: 1.5rem;
94
95
  height: 1.5rem;
95
- margin-left: auto;
96
+ margin-inline-start: auto;
96
97
  color: var(--color-on-surface-variant);
97
98
  transition: transform 200ms ease-in-out;
98
99
  flex-shrink: 0;
99
100
  }
100
101
 
101
- .accordion-item.open .accordion-expand {
102
+ .accordion-item:not(details):is(.open, .accordion-item-open) > .accordion-header > .accordion-expand,
103
+ details.accordion-item[open] > .accordion-header > .accordion-expand {
102
104
  transform: rotate(180deg);
103
105
  }
104
106
 
@@ -109,12 +111,14 @@
109
111
  transition: grid-template-rows 200ms ease-in-out;
110
112
  }
111
113
 
112
- .accordion-item.open .accordion-content {
114
+ .accordion-item:not(details):is(.open, .accordion-item-open) > .accordion-content,
115
+ details.accordion-item[open] > .accordion-content {
113
116
  grid-template-rows: 1fr;
114
117
  }
115
118
 
116
119
  .accordion-body {
117
120
  overflow: hidden;
121
+ min-block-size: 0;
118
122
  }
119
123
 
120
124
  .accordion-body-inner {
@@ -152,7 +156,8 @@
152
156
  }
153
157
 
154
158
  .accordion-filled .accordion-header:hover,
155
- .accordion-filled .accordion-item.open .accordion-header {
159
+ .accordion-filled > .accordion-item:not(details):is(.open, .accordion-item-open) > .accordion-header,
160
+ .accordion-filled > details.accordion-item[open] > .accordion-header {
156
161
  background-color: var(--color-surface-container-high);
157
162
  }
158
163
 
@@ -224,15 +229,34 @@
224
229
  }
225
230
 
226
231
  /* Color Variants */
227
- .accordion-primary .accordion-item.open .accordion-header {
232
+ .accordion-primary > .accordion-item:not(details):is(.open, .accordion-item-open) > .accordion-header,
233
+ .accordion-primary > details.accordion-item[open] > .accordion-header {
228
234
  background-color: var(--color-primary-container);
229
235
  color: var(--color-on-primary-container);
230
236
  }
231
237
 
232
- .accordion-primary .accordion-item.open .accordion-expand {
238
+ .accordion-primary > .accordion-item:not(details):is(.open, .accordion-item-open) > .accordion-header > .accordion-expand,
239
+ .accordion-primary > details.accordion-item[open] > .accordion-header > .accordion-expand {
233
240
  color: var(--color-on-primary-container);
234
241
  }
235
242
 
243
+ .accordion-outlined { border: 1px solid var(--color-outline-variant); }
244
+ .accordion-comfortable .accordion-header { padding: 1.25rem; }
245
+ .accordion-header-icon { display: flex; align-items: center; gap: 0.75rem; }
246
+ .accordion-header-icon-leading { inline-size: 1.25rem; block-size: 1.25rem; flex: none; }
247
+ .accordion-item-disabled > .accordion-header { opacity: 0.6; cursor: not-allowed; }
248
+ .accordion-no-animation .accordion-content, .accordion-no-animation .accordion-expand { transition: none; }
249
+ .accordion-secondary > .accordion-item:not(details):is(.open, .accordion-item-open) > .accordion-header,
250
+ .accordion-secondary > details.accordion-item[open] > .accordion-header { color: var(--color-secondary); }
251
+ .accordion-tertiary > .accordion-item:not(details):is(.open, .accordion-item-open) > .accordion-header,
252
+ .accordion-tertiary > details.accordion-item[open] > .accordion-header { color: var(--color-tertiary); }
253
+ details.accordion-item > summary { list-style: none; }
254
+ details.accordion-item > summary::-webkit-details-marker { display: none; }
255
+ details.accordion-item:not([open]) > .accordion-content,
256
+ .accordion-item:not(details):not(.open):not(.accordion-item-open) > .accordion-content,
257
+ .accordion-content[hidden] { display: none; }
258
+ .accordion-title, .accordion-body-inner { min-inline-size: 0; overflow-wrap: anywhere; }
259
+
236
260
  /* Reduce Motion */
237
261
  @media (prefers-reduced-motion: reduce) {
238
262
  .accordion-content,