@adia-ai/web-components 0.6.32 → 0.6.34

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 (164) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/components/accordion/accordion.css +2 -2
  3. package/components/action-list/action-list.css +2 -2
  4. package/components/agent-artifact/agent-artifact.css +31 -31
  5. package/components/agent-feedback-bar/agent-feedback-bar.css +10 -10
  6. package/components/agent-questions/agent-questions.css +57 -57
  7. package/components/agent-reasoning/agent-reasoning.css +62 -62
  8. package/components/agent-suggestions/agent-suggestions.css +4 -4
  9. package/components/agent-trace/agent-trace.css +53 -53
  10. package/components/alert/alert.css +41 -41
  11. package/components/avatar/avatar.css +27 -27
  12. package/components/badge/badge.css +27 -27
  13. package/components/block/block.css +16 -16
  14. package/components/breadcrumb/breadcrumb.css +23 -23
  15. package/components/button/button.css +101 -91
  16. package/components/calendar-grid/calendar-grid.a2ui.json +136 -0
  17. package/components/calendar-grid/calendar-grid.css +226 -0
  18. package/components/calendar-grid/calendar-grid.d.ts +37 -0
  19. package/components/calendar-grid/calendar-grid.js +17 -0
  20. package/components/calendar-grid/calendar-grid.yaml +116 -0
  21. package/components/calendar-grid/class.js +300 -0
  22. package/components/calendar-picker/calendar-picker.css +139 -139
  23. package/components/canvas/canvas.css +12 -12
  24. package/components/card/card.css +83 -83
  25. package/components/chart/chart.css +224 -224
  26. package/components/chart-legend/chart-legend.css +26 -26
  27. package/components/check/check.css +40 -40
  28. package/components/code/code.css +125 -125
  29. package/components/col/col.css +15 -15
  30. package/components/color-picker/color-picker.css +55 -55
  31. package/components/combobox/class.js +861 -0
  32. package/components/combobox/combobox.a2ui.json +363 -0
  33. package/components/combobox/combobox.css +244 -0
  34. package/components/combobox/combobox.d.ts +113 -0
  35. package/components/combobox/combobox.examples.md +59 -0
  36. package/components/combobox/combobox.js +17 -0
  37. package/components/combobox/combobox.test.js +181 -0
  38. package/components/combobox/combobox.yaml +369 -0
  39. package/components/command/command.css +90 -90
  40. package/components/date-range-picker/class.js +775 -0
  41. package/components/date-range-picker/date-range-picker.a2ui.json +300 -0
  42. package/components/date-range-picker/date-range-picker.css +178 -0
  43. package/components/date-range-picker/date-range-picker.d.ts +82 -0
  44. package/components/date-range-picker/date-range-picker.examples.md +37 -0
  45. package/components/date-range-picker/date-range-picker.js +17 -0
  46. package/components/date-range-picker/date-range-picker.test.js +387 -0
  47. package/components/date-range-picker/date-range-picker.yaml +285 -0
  48. package/components/datetime-picker/class.js +706 -0
  49. package/components/datetime-picker/datetime-picker.a2ui.json +334 -0
  50. package/components/datetime-picker/datetime-picker.css +150 -0
  51. package/components/datetime-picker/datetime-picker.d.ts +86 -0
  52. package/components/datetime-picker/datetime-picker.examples.md +46 -0
  53. package/components/datetime-picker/datetime-picker.js +17 -0
  54. package/components/datetime-picker/datetime-picker.test.js +454 -0
  55. package/components/datetime-picker/datetime-picker.yaml +332 -0
  56. package/components/demo-toggle/demo-toggle.css +27 -27
  57. package/components/description-list/description-list.css +18 -18
  58. package/components/divider/divider.css +24 -24
  59. package/components/embed/embed.css +6 -6
  60. package/components/empty-state/empty-state.css +27 -27
  61. package/components/feed/feed.css +12 -12
  62. package/components/field/field.css +37 -28
  63. package/components/field/field.test.js +32 -0
  64. package/components/fields/fields.css +5 -5
  65. package/components/grid/grid.css +5 -5
  66. package/components/heatmap/heatmap.css +63 -63
  67. package/components/icon/icon.css +12 -12
  68. package/components/image/image.css +14 -14
  69. package/components/index.js +8 -0
  70. package/components/input/input.css +66 -66
  71. package/components/inspector/inspector.css +6 -6
  72. package/components/integration-card/class.js +410 -0
  73. package/components/integration-card/integration-card.a2ui.json +268 -0
  74. package/components/integration-card/integration-card.css +169 -0
  75. package/components/integration-card/integration-card.d.ts +63 -0
  76. package/components/integration-card/integration-card.examples.md +41 -0
  77. package/components/integration-card/integration-card.js +17 -0
  78. package/components/integration-card/integration-card.test.js +306 -0
  79. package/components/integration-card/integration-card.yaml +280 -0
  80. package/components/kbd/kbd.css +32 -32
  81. package/components/link/link.css +12 -12
  82. package/components/list/list.css +8 -8
  83. package/components/list-window/class.js +688 -0
  84. package/components/list-window/list-window.a2ui.json +277 -0
  85. package/components/list-window/list-window.css +124 -0
  86. package/components/list-window/list-window.d.ts +84 -0
  87. package/components/list-window/list-window.examples.md +73 -0
  88. package/components/list-window/list-window.js +17 -0
  89. package/components/list-window/list-window.test.js +303 -0
  90. package/components/list-window/list-window.yaml +270 -0
  91. package/components/menu/menu.css +8 -8
  92. package/components/modal/modal.css +43 -43
  93. package/components/nav/nav.css +40 -40
  94. package/components/nav-group/nav-group.css +52 -52
  95. package/components/nav-item/nav-item.css +44 -44
  96. package/components/noodles/noodles.css +31 -31
  97. package/components/option-card/option-card.css +69 -69
  98. package/components/otp-input/otp-input.css +30 -30
  99. package/components/page/page.css +18 -18
  100. package/components/pagination/pagination.css +61 -61
  101. package/components/pane/pane.css +57 -57
  102. package/components/pipeline-status/pipeline-status.css +65 -65
  103. package/components/popover/popover.css +17 -17
  104. package/components/progress/progress.css +23 -23
  105. package/components/progress-row/progress-row.css +17 -17
  106. package/components/radio/radio.css +39 -39
  107. package/components/range/range.css +55 -55
  108. package/components/rating/rating.css +28 -28
  109. package/components/richtext/richtext.css +133 -133
  110. package/components/row/row.css +19 -19
  111. package/components/search/search.css +5 -5
  112. package/components/segment/segment.css +24 -24
  113. package/components/segmented/segmented.css +25 -25
  114. package/components/select/select.css +84 -84
  115. package/components/skeleton/skeleton.css +14 -14
  116. package/components/slider/slider.css +46 -46
  117. package/components/spinner/class.js +69 -0
  118. package/components/spinner/spinner.a2ui.json +197 -0
  119. package/components/spinner/spinner.css +165 -0
  120. package/components/spinner/spinner.d.ts +26 -0
  121. package/components/spinner/spinner.examples.md +26 -0
  122. package/components/spinner/spinner.js +17 -0
  123. package/components/spinner/spinner.test.js +234 -0
  124. package/components/spinner/spinner.yaml +230 -0
  125. package/components/stack/stack.css +11 -11
  126. package/components/stat/stat.css +25 -25
  127. package/components/step-progress/step-progress.css +20 -20
  128. package/components/stepper/stepper.css +29 -29
  129. package/components/stream/stream.css +12 -12
  130. package/components/swatch/swatch.css +68 -68
  131. package/components/swiper/swiper.css +57 -57
  132. package/components/switch/switch.css +52 -52
  133. package/components/table/class.js +9 -0
  134. package/components/table/table.a2ui.json +1 -1
  135. package/components/table/table.css +162 -162
  136. package/components/table/table.d.ts +1 -1
  137. package/components/table/table.test.js +53 -0
  138. package/components/table/table.yaml +13 -1
  139. package/components/table-toolbar/table-toolbar.css +32 -32
  140. package/components/tabs/tabs.css +51 -51
  141. package/components/tag/tag.css +48 -48
  142. package/components/text/text.css +44 -44
  143. package/components/textarea/textarea.css +46 -46
  144. package/components/time-picker/class.js +693 -0
  145. package/components/time-picker/time-picker.a2ui.json +267 -0
  146. package/components/time-picker/time-picker.css +122 -0
  147. package/components/time-picker/time-picker.d.ts +75 -0
  148. package/components/time-picker/time-picker.examples.md +35 -0
  149. package/components/time-picker/time-picker.js +17 -0
  150. package/components/time-picker/time-picker.test.js +287 -0
  151. package/components/time-picker/time-picker.yaml +256 -0
  152. package/components/timeline/timeline.css +50 -50
  153. package/components/toast/toast.css +58 -58
  154. package/components/toggle-group/toggle-group.css +6 -6
  155. package/components/toggle-scheme/toggle-scheme.css +2 -2
  156. package/components/toolbar/toolbar.css +17 -17
  157. package/components/tooltip/tooltip.css +2 -2
  158. package/components/tree/tree.css +37 -37
  159. package/components/upload/upload.css +49 -49
  160. package/dist/icons-manifest.js +3 -3
  161. package/dist/web-components.min.css +1 -1
  162. package/dist/web-components.min.js +121 -83
  163. package/package.json +1 -1
  164. package/styles/components.css +8 -0
@@ -7,58 +7,58 @@
7
7
  @scope (card-ui) {
8
8
  :where(:scope) {
9
9
  /* ── Spacing ── */
10
- --card-inset: var(--a-inset);
11
- --card-gap: var(--a-gap);
12
- --card-header-gap: var(--a-space-2);
13
- --card-footer-gap: var(--a-space-2);
10
+ --card-inset-default: var(--a-inset);
11
+ --card-gap-default: var(--a-gap);
12
+ --card-header-gap-default: var(--a-space-2);
13
+ --card-footer-gap-default: var(--a-space-2);
14
14
 
15
15
  /* ── Radius ── */
16
- --card-radius: var(--a-radius-lg);
16
+ --card-radius-default: var(--a-radius-lg);
17
17
 
18
18
  /* ── Typography ── */
19
- --card-font-size: var(--a-body-size);
20
- --card-description-size: var(--a-caption-size);
19
+ --card-font-size-default: var(--a-body-size);
20
+ --card-description-size-default: var(--a-caption-size);
21
21
 
22
22
  /* ── Colors ── */
23
- --card-bg: var(--a-canvas-1);
24
- --card-bg-padded: var(--a-canvas-0-scrim);
25
- --card-fg: var(--a-fg);
26
- --card-heading-fg: var(--a-fg-strong);
27
- --card-description-fg: var(--a-fg-subtle);
28
- --card-border: 1px solid var(--a-border-subtle);
29
- --card-divider: var(--a-border-subtle);
30
- --card-shadow: var(--a-shadow-sm);
23
+ --card-bg-default: var(--a-canvas-1);
24
+ --card-bg-padded-default: var(--a-canvas-0-scrim);
25
+ --card-fg-default: var(--a-fg);
26
+ --card-heading-fg-default: var(--a-fg-strong);
27
+ --card-description-fg-default: var(--a-fg-subtle);
28
+ --card-border-default: 1px solid var(--a-border-subtle);
29
+ --card-divider-default: var(--a-border-subtle);
30
+ --card-shadow-default: var(--a-shadow-sm);
31
31
 
32
32
  /* ── Loading ring ──
33
33
  The mask composition below uses an opaque source (masks are intensity-only,
34
34
  not theme-colored). `--a-chrome-light` is our theme-stable opaque white token.
35
35
  The visible ring color comes from the accent token. */
36
- --card-loading-ring: var(--a-accent-bg);
37
- --card-loading-mask-color: var(--a-chrome-light);
36
+ --card-loading-ring-default: var(--a-accent-bg);
37
+ --card-loading-mask-color-default: var(--a-chrome-light);
38
38
 
39
39
  /* ── Elevation ── */
40
- --card-shadow-0: none;
41
- --card-shadow-1: var(--a-shadow-sm);
42
- --card-shadow-2: var(--a-shadow-md);
43
- --card-shadow-3: var(--a-shadow-lg);
40
+ --card-shadow-0-default: none;
41
+ --card-shadow-1-default: var(--a-shadow-sm);
42
+ --card-shadow-2-default: var(--a-shadow-md);
43
+ --card-shadow-3-default: var(--a-shadow-lg);
44
44
 
45
45
  /* ── Loading motion ── */
46
- --card-loading-duration: 1.5s;
47
- --card-loading-easing: linear;
46
+ --card-loading-duration-default: 1.5s;
47
+ --card-loading-easing-default: linear;
48
48
 
49
49
  /* ── Draggable ── */
50
- --card-drag-bg-active: var(--a-accent-muted);
50
+ --card-drag-bg-active-default: var(--a-accent-muted);
51
51
  }
52
52
 
53
53
  :scope {
54
54
  box-sizing: border-box;
55
55
  display: block;
56
- border-radius: var(--card-radius);
57
- background: var(--card-bg);
58
- color: var(--card-fg);
59
- font-size: var(--card-font-size);
60
- border: var(--card-border);
61
- box-shadow: var(--card-shadow);
56
+ border-radius: var(--card-radius, var(--card-radius-default));
57
+ background: var(--card-bg, var(--card-bg-default));
58
+ color: var(--card-fg, var(--card-fg-default));
59
+ font-size: var(--card-font-size, var(--card-font-size-default));
60
+ border: var(--card-border, var(--card-border-default));
61
+ box-shadow: var(--card-shadow, var(--card-shadow-default));
62
62
  overflow: hidden;
63
63
  corner-shape: superellipse(1.1);
64
64
  width: stretch;
@@ -67,33 +67,33 @@
67
67
  /* ═══════ Variants — token-only overrides ═══════ */
68
68
 
69
69
  :scope[variant="outlined"] {
70
- --card-bg: transparent;
71
- --card-shadow: none;
72
- --card-border: 1px solid var(--a-border);
70
+ --card-bg-default: transparent;
71
+ --card-shadow-default: none;
72
+ --card-border-default: 1px solid var(--a-border);
73
73
  }
74
74
 
75
75
  :scope[variant="filled"] {
76
- --card-shadow: none;
77
- --card-border: none;
76
+ --card-shadow-default: none;
77
+ --card-border-default: none;
78
78
  }
79
79
 
80
80
  :scope[variant="ghost"] {
81
- --card-bg: transparent;
82
- --card-shadow: none;
83
- --card-border: none;
81
+ --card-bg-default: transparent;
82
+ --card-shadow-default: none;
83
+ --card-border-default: none;
84
84
  }
85
85
 
86
86
  /* ═══════ Elevation — token override ═══════ */
87
87
 
88
- :scope[elevation="0"] { --card-shadow: var(--card-shadow-0); }
89
- :scope[elevation="1"] { --card-shadow: var(--card-shadow-1); }
90
- :scope[elevation="2"] { --card-shadow: var(--card-shadow-2); }
91
- :scope[elevation="3"] { --card-shadow: var(--card-shadow-3); }
88
+ :scope[elevation="0"] { --card-shadow-default: var(--card-shadow-0, var(--card-shadow-0-default)); }
89
+ :scope[elevation="1"] { --card-shadow-default: var(--card-shadow-1, var(--card-shadow-1-default)); }
90
+ :scope[elevation="2"] { --card-shadow-default: var(--card-shadow-2, var(--card-shadow-2-default)); }
91
+ :scope[elevation="3"] { --card-shadow-default: var(--card-shadow-3, var(--card-shadow-3-default)); }
92
92
 
93
93
  /* ═══════ Loading ═══════ */
94
94
 
95
95
  :scope[loading] {
96
- --card-border: 1px solid transparent;
96
+ --card-border-default: 1px solid transparent;
97
97
  position: relative;
98
98
  }
99
99
 
@@ -106,14 +106,14 @@
106
106
  background: conic-gradient(
107
107
  from var(--_card-loading-angle, 0deg),
108
108
  transparent 0deg,
109
- var(--card-loading-ring) 90deg,
109
+ var(--card-loading-ring, var(--card-loading-ring-default)) 90deg,
110
110
  transparent 180deg
111
111
  );
112
- -webkit-mask: linear-gradient(var(--card-loading-mask-color) 0 0) content-box, linear-gradient(var(--card-loading-mask-color) 0 0);
113
- mask: linear-gradient(var(--card-loading-mask-color) 0 0) content-box, linear-gradient(var(--card-loading-mask-color) 0 0);
112
+ -webkit-mask: linear-gradient(var(--card-loading-mask-color, var(--card-loading-mask-color-default)) 0 0) content-box, linear-gradient(var(--card-loading-mask-color, var(--card-loading-mask-color-default)) 0 0);
113
+ mask: linear-gradient(var(--card-loading-mask-color, var(--card-loading-mask-color-default)) 0 0) content-box, linear-gradient(var(--card-loading-mask-color, var(--card-loading-mask-color-default)) 0 0);
114
114
  -webkit-mask-composite: xor;
115
115
  mask-composite: exclude;
116
- animation: card-loading-spin var(--card-loading-duration) var(--card-loading-easing) infinite;
116
+ animation: card-loading-spin var(--card-loading-duration, var(--card-loading-duration-default)) var(--card-loading-easing, var(--card-loading-easing-default)) infinite;
117
117
  pointer-events: none;
118
118
  z-index: 1;
119
119
  }
@@ -125,10 +125,10 @@
125
125
  /* ═══════ Raw (no chrome) — token overrides ═══════ */
126
126
 
127
127
  :scope[raw] {
128
- --card-bg: none;
129
- --card-border: none;
130
- --card-radius: 0;
131
- --card-shadow: none;
128
+ --card-bg-default: none;
129
+ --card-border-default: none;
130
+ --card-radius-default: 0;
131
+ --card-shadow-default: none;
132
132
  }
133
133
 
134
134
  /* ═══════ Draggable ═══════ */
@@ -141,7 +141,7 @@
141
141
  :scope[draggable]:active,
142
142
  :scope[draggable][data-draggable-dragging] {
143
143
  cursor: grabbing;
144
- background: var(--card-drag-bg-active);
144
+ background: var(--card-drag-bg-active, var(--card-drag-bg-active-default));
145
145
  }
146
146
 
147
147
  /* ═══════ Header ═══════
@@ -151,7 +151,7 @@
151
151
 
152
152
  & > header {
153
153
  display: block;
154
- margin: var(--card-inset);
154
+ margin: var(--card-inset, var(--card-inset-default));
155
155
  }
156
156
 
157
157
  /* Activate grid layout only when a DIRECT slotted child is present.
@@ -159,19 +159,19 @@
159
159
  [slot="icon"] inside an <avatar-ui>) from falsely activating the grid. */
160
160
  & > header:has(> [slot]) {
161
161
  display: grid;
162
- gap: var(--card-header-gap);
162
+ gap: var(--card-header-gap, var(--card-header-gap-default));
163
163
  align-items: center;
164
164
  }
165
165
 
166
166
  & > header[padding] {
167
167
  margin: 0;
168
- padding: var(--card-inset);
169
- background: var(--card-bg-padded);
168
+ padding: var(--card-inset, var(--card-inset-default));
169
+ background: var(--card-bg-padded, var(--card-bg-padded-default));
170
170
  }
171
171
 
172
172
  & > header[divider] {
173
- padding-bottom: var(--card-inset);
174
- border-bottom: 1px solid var(--card-divider);
173
+ padding-bottom: var(--card-inset, var(--card-inset-default));
174
+ border-bottom: 1px solid var(--card-divider, var(--card-divider-default));
175
175
  }
176
176
 
177
177
  & > header[center] {
@@ -229,7 +229,7 @@
229
229
  & > header > [slot="heading"] {
230
230
  display: flex;
231
231
  align-items: center;
232
- gap: var(--card-header-gap);
232
+ gap: var(--card-header-gap, var(--card-header-gap-default));
233
233
  }
234
234
  & > header:has(> [slot="icon"]) > :is([slot="heading"], h1, h2, h3, h4, h5, h6) { grid-column: 2; }
235
235
  & > header:not(:has(> [slot="icon"])) > :is([slot="heading"], h1, h2, h3, h4, h5, h6) { grid-column: 1; }
@@ -252,7 +252,7 @@
252
252
  grid-column: -2 / -1;
253
253
  display: flex;
254
254
  align-items: center;
255
- gap: var(--card-header-gap);
255
+ gap: var(--card-header-gap, var(--card-header-gap-default));
256
256
  min-width: 0; /* allow flex children (segmented-ui, button) to shrink */
257
257
  }
258
258
 
@@ -262,13 +262,13 @@
262
262
  [bleed] removes all spacing for edge-to-edge content. */
263
263
 
264
264
  & > section {
265
- margin: var(--card-inset);
265
+ margin: var(--card-inset, var(--card-inset-default));
266
266
  }
267
267
 
268
268
  & > section[padding] {
269
269
  margin: 0;
270
- padding: var(--card-inset);
271
- background: var(--card-bg-padded);
270
+ padding: var(--card-inset, var(--card-inset-default));
271
+ background: var(--card-bg-padded, var(--card-bg-padded-default));
272
272
  }
273
273
 
274
274
  & > section[bleed] {
@@ -299,7 +299,7 @@
299
299
 
300
300
  & > footer {
301
301
  display: block;
302
- margin: var(--card-inset);
302
+ margin: var(--card-inset, var(--card-inset-default));
303
303
  }
304
304
 
305
305
  /* Activate flex layout when a direct slotted child or multiple children are
@@ -310,7 +310,7 @@
310
310
  display: flex;
311
311
  flex-wrap: wrap;
312
312
  align-items: center;
313
- gap: var(--card-footer-gap);
313
+ gap: var(--card-footer-gap, var(--card-footer-gap-default));
314
314
  }
315
315
 
316
316
  /* col-ui in footer takes full width (common for stacked footer: button + divider + social) */
@@ -321,15 +321,15 @@
321
321
  }
322
322
 
323
323
  & > footer[divider] {
324
- margin-top: var(--card-inset);
325
- padding-top: var(--card-inset);
326
- border-top: 1px solid var(--card-divider);
324
+ margin-top: var(--card-inset, var(--card-inset-default));
325
+ padding-top: var(--card-inset, var(--card-inset-default));
326
+ border-top: 1px solid var(--card-divider, var(--card-divider-default));
327
327
  }
328
328
 
329
329
  & > footer[padding] {
330
330
  margin: 0;
331
- padding: var(--card-inset);
332
- background: var(--card-bg-padded);
331
+ padding: var(--card-inset, var(--card-inset-default));
332
+ background: var(--card-bg-padded, var(--card-bg-padded-default));
333
333
  }
334
334
 
335
335
  /* Footer with direct-child description + action = space-between */
@@ -338,8 +338,8 @@
338
338
  }
339
339
 
340
340
  & > footer :is([slot="description"], p, small) {
341
- font-size: var(--card-description-size);
342
- color: var(--card-description-fg);
341
+ font-size: var(--card-description-size, var(--card-description-size-default));
342
+ color: var(--card-description-fg, var(--card-description-fg-default));
343
343
  flex: 1;
344
344
  min-width: 0;
345
345
  margin: 0;
@@ -349,9 +349,9 @@
349
349
  Used for chart trend-footer patterns like "Trending up by 5.2% this month".
350
350
  Paired with [slot="description"] for a "Jan – Mar 2024" period caption. */
351
351
  & > footer > [slot="heading"] {
352
- font-size: var(--card-font-size);
352
+ font-size: var(--card-font-size, var(--card-font-size-default));
353
353
  font-weight: var(--a-weight-medium);
354
- color: var(--card-heading-fg);
354
+ color: var(--card-heading-fg, var(--card-heading-fg-default));
355
355
  line-height: 1.3;
356
356
  margin: 0;
357
357
  flex: 0 0 auto;
@@ -377,7 +377,7 @@
377
377
  & > footer [slot="action"] {
378
378
  margin-inline-start: auto;
379
379
  display: flex;
380
- gap: var(--card-footer-gap);
380
+ gap: var(--card-footer-gap, var(--card-footer-gap-default));
381
381
  }
382
382
 
383
383
  /* Multiple direct action-slotted children (A2UI pattern):
@@ -392,7 +392,7 @@
392
392
  & > footer > [slot="action-leading"] {
393
393
  margin-inline-end: auto;
394
394
  display: flex;
395
- gap: var(--card-footer-gap);
395
+ gap: var(--card-footer-gap, var(--card-footer-gap-default));
396
396
  }
397
397
 
398
398
  /* ═══════ Images ═══════ */
@@ -406,17 +406,17 @@
406
406
 
407
407
  & > img:first-child,
408
408
  & > [slot="media"]:first-child {
409
- border-radius: var(--card-radius) var(--card-radius) 0 0;
409
+ border-radius: var(--card-radius, var(--card-radius-default)) var(--card-radius, var(--card-radius-default)) 0 0;
410
410
  }
411
411
 
412
412
  /* ═══════ Nested surface layering ═══════
413
413
  Step background up one canvas level per nesting depth.
414
414
  :scope card-ui has specificity (0,1,1) which beats the
415
415
  :where(:scope) initializer (0,0,0) in each inner scope. */
416
- :scope card-ui { --card-bg: var(--a-canvas-1); --card-border: 1px solid var(--a-border); --a-radius: var(--a-radius-md); }
417
- :scope card-ui card-ui { --card-bg: var(--a-canvas-2); --a-radius: var(--a-radius-sm); }
418
- :scope card-ui card-ui card-ui { --card-bg: var(--a-canvas-3); }
419
- :scope card-ui card-ui card-ui card-ui { --card-bg: var(--a-canvas-4); }
420
- :scope card-ui card-ui card-ui card-ui card-ui { --card-bg: var(--a-canvas-5); }
421
- :scope card-ui card-ui card-ui card-ui card-ui card-ui { --card-bg: var(--a-canvas-6); }
416
+ :scope card-ui { --card-bg-default: var(--a-canvas-1); --card-border-default: 1px solid var(--a-border); --a-radius: var(--a-radius-md); }
417
+ :scope card-ui card-ui { --card-bg-default: var(--a-canvas-2); --a-radius: var(--a-radius-sm); }
418
+ :scope card-ui card-ui card-ui { --card-bg-default: var(--a-canvas-3); }
419
+ :scope card-ui card-ui card-ui card-ui { --card-bg-default: var(--a-canvas-4); }
420
+ :scope card-ui card-ui card-ui card-ui card-ui { --card-bg-default: var(--a-canvas-5); }
421
+ :scope card-ui card-ui card-ui card-ui card-ui card-ui { --card-bg-default: var(--a-canvas-6); }
422
422
  }