@adia-ai/web-components 0.7.3 → 0.7.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 (136) hide show
  1. package/CHANGELOG.md +22 -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 +59 -57
  7. package/components/agent-reasoning/agent-reasoning.css +54 -54
  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 +53 -53
  11. package/components/avatar/avatar.css +27 -27
  12. package/components/badge/badge.css +56 -53
  13. package/components/block/block.css +16 -16
  14. package/components/blockquote/blockquote.css +16 -16
  15. package/components/breadcrumb/breadcrumb.css +23 -23
  16. package/components/button/button.css +99 -100
  17. package/components/calendar-grid/calendar-grid.css +95 -92
  18. package/components/calendar-picker/calendar-picker.css +141 -139
  19. package/components/canvas/canvas.css +12 -12
  20. package/components/card/card.css +83 -83
  21. package/components/chart/chart.css +218 -218
  22. package/components/chart-legend/chart-legend.css +26 -26
  23. package/components/check/check.css +40 -40
  24. package/components/code/code.css +125 -125
  25. package/components/col/col.css +15 -15
  26. package/components/color-picker/color-picker.css +55 -55
  27. package/components/combobox/combobox.css +64 -62
  28. package/components/command/command.css +91 -91
  29. package/components/context-menu/context-menu.css +1 -1
  30. package/components/date-range-picker/date-range-picker.css +59 -59
  31. package/components/datetime-picker/datetime-picker.css +25 -25
  32. package/components/demo-toggle/demo-toggle.css +27 -27
  33. package/components/description-list/description-list.css +18 -18
  34. package/components/divider/divider.css +24 -24
  35. package/components/embed/embed.css +6 -6
  36. package/components/empty-state/empty-state.css +29 -29
  37. package/components/feed/feed.css +12 -12
  38. package/components/field/field.css +28 -28
  39. package/components/field/field.test.js +2 -2
  40. package/components/fields/fields.css +5 -5
  41. package/components/grid/grid.a2ui.json +10 -0
  42. package/components/grid/grid.css +23 -5
  43. package/components/grid/grid.d.ts +4 -0
  44. package/components/grid/grid.yaml +13 -0
  45. package/components/heatmap/heatmap.css +61 -61
  46. package/components/icon/icon.css +12 -12
  47. package/components/image/image.css +14 -14
  48. package/components/inline-edit/inline-edit.css +16 -16
  49. package/components/inline-message/inline-message.css +16 -16
  50. package/components/input/input.css +69 -66
  51. package/components/inspector/inspector.css +6 -6
  52. package/components/integration-card/integration-card.css +41 -41
  53. package/components/integration-card/integration-card.test.js +4 -4
  54. package/components/kbd/kbd.css +47 -40
  55. package/components/link/link.css +12 -12
  56. package/components/list/list.css +8 -8
  57. package/components/list-window/list-window.css +10 -10
  58. package/components/loading-overlay/loading-overlay.css +17 -18
  59. package/components/loading-overlay/loading-overlay.test.js +8 -8
  60. package/components/mark/mark.css +16 -16
  61. package/components/menu/menu.css +9 -9
  62. package/components/modal/modal.class.js +5 -9
  63. package/components/modal/modal.css +43 -43
  64. package/components/nav/nav.css +40 -40
  65. package/components/nav-group/nav-group.css +54 -54
  66. package/components/nav-item/nav-item.css +44 -44
  67. package/components/noodles/noodles.css +31 -31
  68. package/components/number-format/number-format.css +4 -4
  69. package/components/option-card/option-card.css +70 -70
  70. package/components/otp-input/otp-input.css +29 -29
  71. package/components/page/page.a2ui.json +1 -1
  72. package/components/page/page.css +27 -27
  73. package/components/page/page.d.ts +1 -1
  74. package/components/page/page.yaml +1 -1
  75. package/components/pagination/pagination.css +6 -6
  76. package/components/pane/pane.css +57 -57
  77. package/components/password-strength/password-strength.css +32 -32
  78. package/components/pipeline-status/pipeline-status.css +67 -67
  79. package/components/popover/popover.css +11 -11
  80. package/components/preview/preview.css +21 -21
  81. package/components/progress/progress.css +23 -23
  82. package/components/progress-row/progress-row.css +17 -17
  83. package/components/qr-code/qr-code.css +4 -4
  84. package/components/radio/radio.css +39 -39
  85. package/components/range/range.css +58 -55
  86. package/components/rating/rating.css +28 -28
  87. package/components/relative-time/relative-time.css +6 -6
  88. package/components/richtext/richtext.css +133 -133
  89. package/components/row/row.css +19 -19
  90. package/components/search/search.css +5 -5
  91. package/components/segment/segment.css +29 -24
  92. package/components/segmented/segmented.css +30 -25
  93. package/components/select/select.css +95 -93
  94. package/components/skeleton/skeleton.css +14 -14
  95. package/components/skip-nav/skip-nav.css +4 -4
  96. package/components/slider/slider.css +61 -61
  97. package/components/spinner/spinner.css +40 -40
  98. package/components/spinner/spinner.test.js +10 -12
  99. package/components/stack/stack.css +11 -11
  100. package/components/stat/stat.css +27 -27
  101. package/components/step-progress/step-progress.css +20 -20
  102. package/components/stepper/stepper.css +29 -29
  103. package/components/stream/stream.css +12 -12
  104. package/components/swatch/swatch.css +68 -68
  105. package/components/swiper/swiper.class.js +5 -12
  106. package/components/swiper/swiper.css +57 -57
  107. package/components/switch/switch.css +53 -53
  108. package/components/table/table.css +166 -163
  109. package/components/table-toolbar/table-toolbar.css +33 -33
  110. package/components/tabs/tabs.css +54 -51
  111. package/components/tag/tag.css +74 -71
  112. package/components/tag/tag.test.js +14 -14
  113. package/components/tags-input/tags-input.css +51 -49
  114. package/components/text/text.css +44 -44
  115. package/components/textarea/textarea.css +49 -46
  116. package/components/time-picker/time-picker.css +47 -47
  117. package/components/timeline/timeline.css +54 -54
  118. package/components/toast/toast.css +58 -58
  119. package/components/toc/toc.css +28 -28
  120. package/components/toggle-group/toggle-group.css +9 -6
  121. package/components/toggle-scheme/toggle-scheme.css +2 -2
  122. package/components/toolbar/toolbar.css +18 -18
  123. package/components/tooltip/tooltip.css +2 -2
  124. package/components/tour/tour.css +4 -4
  125. package/components/tree/tree.css +37 -37
  126. package/components/upload/upload.css +49 -49
  127. package/dist/host.min.css +1 -0
  128. package/dist/web-components.min.css +1 -1
  129. package/dist/web-components.min.js +2 -2
  130. package/package.json +1 -1
  131. package/styles/foundation/space.css +19 -18
  132. package/styles/host.css +48 -0
  133. package/styles/prose.css +187 -173
  134. package/styles/type/scale.css +6 -0
  135. package/styles/typography.css +10 -5
  136. package/styles/verse.css +122 -0
@@ -1,64 +1,64 @@
1
1
  @scope (chart-ui) {
2
2
  :where(:scope) {
3
3
  /* ── Tokens ── */
4
- --chart-font-default: var(--a-font-family);
5
- --chart-font-size-default: var(--a-ui-sm);
4
+ --chart-font: var(--a-font-family);
5
+ --chart-font-size: var(--a-ui-sm);
6
6
  /* NOTE — `--chart-currency-prefix` is intentionally NOT declared here.
7
7
  Declaring a default at `:where(:scope)` would shadow ancestor values
8
8
  via the cascade (the child's explicit declaration wins over an
9
9
  inherited ancestor value, regardless of specificity). Instead,
10
10
  chart.js's `#fmtValue()` falls back to `'$'` when the computed
11
- value is empty — so ancestors can set `--chart-currency-prefix-default: "€"`
11
+ value is empty — so ancestors can set `--chart-currency-prefix: "€"`
12
12
  and the chart inherits that value naturally. To register the
13
13
  default formally (and enable transitions), add an `@property` rule
14
14
  at `:root` in a global stylesheet. */
15
- --chart-fg-default: var(--a-fg);
16
- --chart-bar-default: var(--a-accent);
17
- --chart-bar-hover-default: var(--a-accent-bg-hover);
18
- --chart-line-default: var(--a-accent);
19
- --chart-dot-default: var(--a-accent);
20
- --chart-grid-default: var(--a-border-subtle);
21
- --chart-axis-default: var(--a-fg-muted);
22
- --chart-label-default: var(--a-fg-subtle);
23
- --chart-value-default: var(--a-fg);
24
- --chart-avg-default: var(--a-warning);
25
- --chart-area-opacity-default: 0.15;
26
- --chart-line-width-default: 2;
27
- --chart-radius-default: 4;
15
+ --chart-fg: var(--a-fg);
16
+ --chart-bar: var(--a-accent);
17
+ --chart-bar-hover: var(--a-accent-bg-hover);
18
+ --chart-line: var(--a-accent);
19
+ --chart-dot: var(--a-accent);
20
+ --chart-grid: var(--a-border-subtle);
21
+ --chart-axis: var(--a-fg-muted);
22
+ --chart-label: var(--a-fg-subtle);
23
+ --chart-value: var(--a-fg);
24
+ --chart-avg: var(--a-warning);
25
+ --chart-area-opacity: 0.15;
26
+ --chart-line-width: 2;
27
+ --chart-radius: 4;
28
28
 
29
29
  /* Layout */
30
- --chart-border-default: var(--a-border-subtle);
31
- --chart-space-sm-default: var(--a-space-1);
32
- --chart-space-md-default: var(--a-space-2);
33
- --chart-space-lg-default: var(--a-space-3);
34
- --chart-dot-stroke-default: var(--a-bg);
35
- --chart-max-height-default: 28rem;
30
+ --chart-border: var(--a-border-subtle);
31
+ --chart-space-sm: var(--a-space-1);
32
+ --chart-space-md: var(--a-space-2);
33
+ --chart-space-lg: var(--a-space-3);
34
+ --chart-dot-stroke: var(--a-bg);
35
+ --chart-max-height: 28rem;
36
36
 
37
37
  /* Legend */
38
- --chart-legend-size-default: var(--a-ui-tiny);
39
- --chart-legend-dot-size-default: var(--a-space-2-5);
38
+ --chart-legend-size: var(--a-ui-tiny);
39
+ --chart-legend-dot-size: var(--a-space-2-5);
40
40
 
41
41
  /* Gap between slices. Read from JS at render time (getComputedStyle) — intentional cross-layer parameter. */
42
- --chart-segments-gap-default: 2px;
43
- --chart-pie-gap-default: 1.25px;
42
+ --chart-segments-gap: 2px;
43
+ --chart-pie-gap: 1.25px;
44
44
 
45
45
  /* Transitions */
46
- --chart-duration-default: var(--a-duration-fast);
47
- --chart-easing-default: var(--a-easing);
46
+ --chart-duration: var(--a-duration-fast);
47
+ --chart-easing: var(--a-easing);
48
48
 
49
49
  /* ── Categorical palette (10 slots) ──
50
50
  All 10 slots alias the shared data palette in tokens.css. See
51
51
  `--a-data-*` for the rationale behind theme-stable data colors. */
52
- --chart-0-default: var(--a-data-0);
53
- --chart-1-default: var(--a-data-1);
54
- --chart-2-default: var(--a-data-2);
55
- --chart-3-default: var(--a-data-3);
56
- --chart-4-default: var(--a-data-4);
57
- --chart-5-default: var(--a-data-5);
58
- --chart-6-default: var(--a-data-6);
59
- --chart-7-default: var(--a-data-7);
60
- --chart-8-default: var(--a-data-8);
61
- --chart-9-default: var(--a-data-9);
52
+ --chart-0: var(--a-data-0);
53
+ --chart-1: var(--a-data-1);
54
+ --chart-2: var(--a-data-2);
55
+ --chart-3: var(--a-data-3);
56
+ --chart-4: var(--a-data-4);
57
+ --chart-5: var(--a-data-5);
58
+ --chart-6: var(--a-data-6);
59
+ --chart-7: var(--a-data-7);
60
+ --chart-8: var(--a-data-8);
61
+ --chart-9: var(--a-data-9);
62
62
  }
63
63
 
64
64
  /* ── Base ── */
@@ -68,9 +68,9 @@
68
68
  display: flex;
69
69
  flex-direction: column;
70
70
  width: 100%;
71
- max-height: var(--chart-max-height, var(--chart-max-height-default));
71
+ max-height: var(--chart-max-height);
72
72
  min-height: 0;
73
- font-family: var(--chart-font, var(--chart-font-default));
73
+ font-family: var(--chart-font);
74
74
  position: relative;
75
75
  container-type: inline-size;
76
76
  container-name: chart;
@@ -131,8 +131,8 @@
131
131
  :scope[resize] {
132
132
  resize: both;
133
133
  overflow: hidden;
134
- border: 1px dashed var(--chart-border, var(--chart-border-default));
135
- padding: var(--chart-space-md, var(--chart-space-md-default));
134
+ border: 1px dashed var(--chart-border);
135
+ padding: var(--chart-space-md);
136
136
  }
137
137
 
138
138
  /* ── SVG ── */
@@ -148,7 +148,7 @@
148
148
  /* ── Grid lines ── */
149
149
 
150
150
  [data-grid] {
151
- stroke: var(--chart-grid, var(--chart-grid-default));
151
+ stroke: var(--chart-grid);
152
152
  stroke-width: 1;
153
153
  fill: none;
154
154
  }
@@ -156,33 +156,33 @@
156
156
  /* ── Y-axis labels ── */
157
157
 
158
158
  [data-y-label] {
159
- font-size: var(--chart-font-size, var(--chart-font-size-default));
160
- fill: var(--chart-axis, var(--chart-axis-default));
161
- font-family: var(--chart-font, var(--chart-font-default));
159
+ font-size: var(--chart-font-size);
160
+ fill: var(--chart-axis);
161
+ font-family: var(--chart-font);
162
162
  }
163
163
 
164
164
  /* ── X-axis labels ── */
165
165
 
166
166
  [data-x-label] {
167
- font-size: var(--chart-font-size, var(--chart-font-size-default));
168
- fill: var(--chart-label, var(--chart-label-default));
169
- font-family: var(--chart-font, var(--chart-font-default));
167
+ font-size: var(--chart-font-size);
168
+ fill: var(--chart-label);
169
+ font-family: var(--chart-font);
170
170
  }
171
171
 
172
172
  /* ── Value labels ── */
173
173
 
174
174
  [data-value] {
175
- font-size: var(--chart-font-size, var(--chart-font-size-default));
175
+ font-size: var(--chart-font-size);
176
176
  font-weight: 600;
177
- fill: var(--chart-value, var(--chart-value-default));
178
- font-family: var(--chart-font, var(--chart-font-default));
177
+ fill: var(--chart-value);
178
+ font-family: var(--chart-font);
179
179
  }
180
180
 
181
181
  /* ── Bar ── */
182
182
 
183
183
  [data-bar] {
184
- fill: var(--chart-bar, var(--chart-bar-default));
185
- transition: opacity var(--chart-duration, var(--chart-duration-default)) var(--chart-easing, var(--chart-easing-default));
184
+ fill: var(--chart-bar);
185
+ transition: opacity var(--chart-duration) var(--chart-easing);
186
186
  }
187
187
 
188
188
  [data-bar]:hover {
@@ -192,8 +192,8 @@
192
192
  /* ── Line ── */
193
193
 
194
194
  [data-line] {
195
- stroke: var(--chart-line, var(--chart-line-default));
196
- stroke-width: var(--chart-line-width, var(--chart-line-width-default));
195
+ stroke: var(--chart-line);
196
+ stroke-width: var(--chart-line-width);
197
197
  fill: none;
198
198
  stroke-linejoin: round;
199
199
  stroke-linecap: round;
@@ -206,9 +206,9 @@
206
206
  controls the top stop's strength. */
207
207
 
208
208
  [data-area] {
209
- fill: var(--chart-line, var(--chart-line-default));
209
+ fill: var(--chart-line);
210
210
  stroke: none;
211
- opacity: var(--chart-area-opacity, var(--chart-area-opacity-default));
211
+ opacity: var(--chart-area-opacity);
212
212
  mask-image: linear-gradient(to bottom, black, transparent);
213
213
  -webkit-mask-image: linear-gradient(to bottom, black, transparent);
214
214
  }
@@ -216,11 +216,11 @@
216
216
  /* ── Dots ── */
217
217
 
218
218
  [data-dot] {
219
- fill: var(--chart-dot, var(--chart-dot-default));
220
- stroke: var(--chart-dot-stroke, var(--chart-dot-stroke-default));
219
+ fill: var(--chart-dot);
220
+ stroke: var(--chart-dot-stroke);
221
221
  stroke-width: 2;
222
222
  r: 3;
223
- transition: r var(--chart-duration, var(--chart-duration-default)) var(--chart-easing, var(--chart-easing-default));
223
+ transition: r var(--chart-duration) var(--chart-easing);
224
224
  }
225
225
 
226
226
  [data-dot]:hover {
@@ -230,49 +230,49 @@
230
230
  /* ── Average line ── */
231
231
 
232
232
  [data-avg] {
233
- stroke: var(--chart-avg, var(--chart-avg-default));
233
+ stroke: var(--chart-avg);
234
234
  stroke-dasharray: 6 3;
235
235
  stroke-width: 1.5;
236
236
  }
237
237
 
238
238
  [data-avg-label] {
239
- fill: var(--chart-avg, var(--chart-avg-default));
240
- font-family: var(--chart-font, var(--chart-font-default));
239
+ fill: var(--chart-avg);
240
+ font-family: var(--chart-font);
241
241
  font-weight: 600;
242
242
  }
243
243
 
244
244
  /* ── Radar ── */
245
245
 
246
246
  [data-radar-fill] {
247
- fill: var(--chart-line, var(--chart-line-default));
248
- opacity: var(--chart-area-opacity, var(--chart-area-opacity-default));
247
+ fill: var(--chart-line);
248
+ opacity: var(--chart-area-opacity);
249
249
  stroke: none;
250
250
  }
251
251
 
252
252
  [data-radar-line] {
253
- stroke: var(--chart-line, var(--chart-line-default));
254
- stroke-width: var(--chart-line-width, var(--chart-line-width-default));
253
+ stroke: var(--chart-line);
254
+ stroke-width: var(--chart-line-width);
255
255
  fill: none;
256
256
  stroke-linejoin: round;
257
257
  }
258
258
 
259
259
  /* ═══════ Pie / Donut slices ═══════ */
260
260
 
261
- [data-slice="0"] { fill: var(--chart-0, var(--chart-0-default)); }
262
- [data-slice="1"] { fill: var(--chart-1, var(--chart-1-default)); }
263
- [data-slice="2"] { fill: var(--chart-2, var(--chart-2-default)); }
264
- [data-slice="3"] { fill: var(--chart-3, var(--chart-3-default)); }
265
- [data-slice="4"] { fill: var(--chart-4, var(--chart-4-default)); }
266
- [data-slice="5"] { fill: var(--chart-5, var(--chart-5-default)); }
267
- [data-slice="6"] { fill: var(--chart-6, var(--chart-6-default)); }
268
- [data-slice="7"] { fill: var(--chart-7, var(--chart-7-default)); }
269
- [data-slice="8"] { fill: var(--chart-8, var(--chart-8-default)); }
270
- [data-slice="9"] { fill: var(--chart-9, var(--chart-9-default)); }
261
+ [data-slice="0"] { fill: var(--chart-0); }
262
+ [data-slice="1"] { fill: var(--chart-1); }
263
+ [data-slice="2"] { fill: var(--chart-2); }
264
+ [data-slice="3"] { fill: var(--chart-3); }
265
+ [data-slice="4"] { fill: var(--chart-4); }
266
+ [data-slice="5"] { fill: var(--chart-5); }
267
+ [data-slice="6"] { fill: var(--chart-6); }
268
+ [data-slice="7"] { fill: var(--chart-7); }
269
+ [data-slice="8"] { fill: var(--chart-8); }
270
+ [data-slice="9"] { fill: var(--chart-9); }
271
271
 
272
272
  path[data-slice],
273
273
  circle[data-slice] {
274
274
  stroke: none;
275
- transition: opacity var(--chart-duration, var(--chart-duration-default)) var(--chart-easing, var(--chart-easing-default));
275
+ transition: opacity var(--chart-duration) var(--chart-easing);
276
276
  }
277
277
 
278
278
  path[data-slice]:hover,
@@ -282,7 +282,7 @@
282
282
 
283
283
  /* Slice-colored bars (stacked/grouped) */
284
284
  rect[data-slice] {
285
- transition: opacity var(--chart-duration, var(--chart-duration-default)) var(--chart-easing, var(--chart-easing-default));
285
+ transition: opacity var(--chart-duration) var(--chart-easing);
286
286
  }
287
287
 
288
288
  rect[data-slice]:hover {
@@ -290,55 +290,55 @@
290
290
  }
291
291
 
292
292
  /* Slice-colored lines (multi-line) */
293
- [data-line][data-slice="0"] { stroke: var(--chart-0, var(--chart-0-default)); }
294
- [data-line][data-slice="1"] { stroke: var(--chart-1, var(--chart-1-default)); }
295
- [data-line][data-slice="2"] { stroke: var(--chart-2, var(--chart-2-default)); }
296
- [data-line][data-slice="3"] { stroke: var(--chart-3, var(--chart-3-default)); }
297
- [data-line][data-slice="4"] { stroke: var(--chart-4, var(--chart-4-default)); }
298
- [data-line][data-slice="5"] { stroke: var(--chart-5, var(--chart-5-default)); }
299
- [data-line][data-slice="6"] { stroke: var(--chart-6, var(--chart-6-default)); }
300
- [data-line][data-slice="7"] { stroke: var(--chart-7, var(--chart-7-default)); }
301
- [data-line][data-slice="8"] { stroke: var(--chart-8, var(--chart-8-default)); }
302
- [data-line][data-slice="9"] { stroke: var(--chart-9, var(--chart-9-default)); }
293
+ [data-line][data-slice="0"] { stroke: var(--chart-0); }
294
+ [data-line][data-slice="1"] { stroke: var(--chart-1); }
295
+ [data-line][data-slice="2"] { stroke: var(--chart-2); }
296
+ [data-line][data-slice="3"] { stroke: var(--chart-3); }
297
+ [data-line][data-slice="4"] { stroke: var(--chart-4); }
298
+ [data-line][data-slice="5"] { stroke: var(--chart-5); }
299
+ [data-line][data-slice="6"] { stroke: var(--chart-6); }
300
+ [data-line][data-slice="7"] { stroke: var(--chart-7); }
301
+ [data-line][data-slice="8"] { stroke: var(--chart-8); }
302
+ [data-line][data-slice="9"] { stroke: var(--chart-9); }
303
303
 
304
304
  [data-line][data-slice] {
305
305
  fill: none;
306
- stroke-width: var(--chart-line-width, var(--chart-line-width-default));
306
+ stroke-width: var(--chart-line-width);
307
307
  stroke-linejoin: round;
308
308
  stroke-linecap: round;
309
309
  }
310
310
 
311
311
  /* Slice-colored areas (multi-line) */
312
- [data-area][data-slice="0"] { fill: var(--chart-0, var(--chart-0-default)); }
313
- [data-area][data-slice="1"] { fill: var(--chart-1, var(--chart-1-default)); }
314
- [data-area][data-slice="2"] { fill: var(--chart-2, var(--chart-2-default)); }
315
- [data-area][data-slice="3"] { fill: var(--chart-3, var(--chart-3-default)); }
316
- [data-area][data-slice="4"] { fill: var(--chart-4, var(--chart-4-default)); }
317
- [data-area][data-slice="5"] { fill: var(--chart-5, var(--chart-5-default)); }
318
- [data-area][data-slice="6"] { fill: var(--chart-6, var(--chart-6-default)); }
319
- [data-area][data-slice="7"] { fill: var(--chart-7, var(--chart-7-default)); }
320
- [data-area][data-slice="8"] { fill: var(--chart-8, var(--chart-8-default)); }
321
- [data-area][data-slice="9"] { fill: var(--chart-9, var(--chart-9-default)); }
312
+ [data-area][data-slice="0"] { fill: var(--chart-0); }
313
+ [data-area][data-slice="1"] { fill: var(--chart-1); }
314
+ [data-area][data-slice="2"] { fill: var(--chart-2); }
315
+ [data-area][data-slice="3"] { fill: var(--chart-3); }
316
+ [data-area][data-slice="4"] { fill: var(--chart-4); }
317
+ [data-area][data-slice="5"] { fill: var(--chart-5); }
318
+ [data-area][data-slice="6"] { fill: var(--chart-6); }
319
+ [data-area][data-slice="7"] { fill: var(--chart-7); }
320
+ [data-area][data-slice="8"] { fill: var(--chart-8); }
321
+ [data-area][data-slice="9"] { fill: var(--chart-9); }
322
322
 
323
323
  [data-area][data-slice] {
324
- opacity: var(--chart-area-opacity, var(--chart-area-opacity-default));
324
+ opacity: var(--chart-area-opacity);
325
325
  stroke: none;
326
326
  }
327
327
 
328
328
  /* Slice-colored dots (multi-line) */
329
- circle[data-slice="0"] { fill: var(--chart-0, var(--chart-0-default)); }
330
- circle[data-slice="1"] { fill: var(--chart-1, var(--chart-1-default)); }
331
- circle[data-slice="2"] { fill: var(--chart-2, var(--chart-2-default)); }
332
- circle[data-slice="3"] { fill: var(--chart-3, var(--chart-3-default)); }
333
- circle[data-slice="4"] { fill: var(--chart-4, var(--chart-4-default)); }
334
- circle[data-slice="5"] { fill: var(--chart-5, var(--chart-5-default)); }
335
- circle[data-slice="6"] { fill: var(--chart-6, var(--chart-6-default)); }
336
- circle[data-slice="7"] { fill: var(--chart-7, var(--chart-7-default)); }
337
- circle[data-slice="8"] { fill: var(--chart-8, var(--chart-8-default)); }
338
- circle[data-slice="9"] { fill: var(--chart-9, var(--chart-9-default)); }
329
+ circle[data-slice="0"] { fill: var(--chart-0); }
330
+ circle[data-slice="1"] { fill: var(--chart-1); }
331
+ circle[data-slice="2"] { fill: var(--chart-2); }
332
+ circle[data-slice="3"] { fill: var(--chart-3); }
333
+ circle[data-slice="4"] { fill: var(--chart-4); }
334
+ circle[data-slice="5"] { fill: var(--chart-5); }
335
+ circle[data-slice="6"] { fill: var(--chart-6); }
336
+ circle[data-slice="7"] { fill: var(--chart-7); }
337
+ circle[data-slice="8"] { fill: var(--chart-8); }
338
+ circle[data-slice="9"] { fill: var(--chart-9); }
339
339
 
340
340
  circle[data-dot][data-slice] {
341
- stroke: var(--chart-dot-stroke, var(--chart-dot-stroke-default));
341
+ stroke: var(--chart-dot-stroke);
342
342
  stroke-width: 2;
343
343
  }
344
344
 
@@ -346,8 +346,8 @@
346
346
  between slices. Same knob shape as --chart-segments-gap. */
347
347
  :scope[type="pie"] [data-slice]:not([data-dot]):not([data-hit]),
348
348
  :scope[type="donut"] [data-slice]:not([data-dot]):not([data-hit]) {
349
- stroke: var(--chart-dot-stroke, var(--chart-dot-stroke-default));
350
- stroke-width: var(--chart-pie-gap, var(--chart-pie-gap-default));
349
+ stroke: var(--chart-dot-stroke);
350
+ stroke-width: var(--chart-pie-gap);
351
351
  stroke-linejoin: round;
352
352
  }
353
353
 
@@ -362,14 +362,14 @@
362
362
 
363
363
  [data-donut-total] {
364
364
  font-weight: 700;
365
- fill: var(--chart-fg, var(--chart-fg-default));
366
- font-family: var(--chart-font, var(--chart-font-default));
365
+ fill: var(--chart-fg);
366
+ font-family: var(--chart-font);
367
367
  /* font-size set by JS on the element — scales with donut radius */
368
368
  }
369
369
 
370
370
  [data-donut-label] {
371
- fill: var(--chart-axis, var(--chart-axis-default));
372
- font-family: var(--chart-font, var(--chart-font-default));
371
+ fill: var(--chart-axis);
372
+ font-family: var(--chart-font);
373
373
  /* font-size set by JS on the element — scales with donut radius */
374
374
  }
375
375
 
@@ -378,11 +378,11 @@
378
378
  [data-legend] {
379
379
  display: flex;
380
380
  flex-flow: row wrap;
381
- gap: var(--chart-space-md, var(--chart-space-md-default)) var(--chart-space-lg, var(--chart-space-lg-default));
382
- font-size: var(--chart-legend-size, var(--chart-legend-size-default));
383
- color: var(--chart-fg, var(--chart-fg-default));
384
- margin-top: var(--chart-space-md, var(--chart-space-md-default));
385
- font-family: var(--chart-font, var(--chart-font-default));
381
+ gap: var(--chart-space-md) var(--chart-space-lg);
382
+ font-size: var(--chart-legend-size);
383
+ color: var(--chart-fg);
384
+ margin-top: var(--chart-space-md);
385
+ font-family: var(--chart-font);
386
386
  }
387
387
 
388
388
  /* Container query — the chart element provides `container-type: inline-size`
@@ -398,26 +398,26 @@
398
398
  display: flex;
399
399
  flex-direction: row;
400
400
  align-items: center;
401
- gap: var(--chart-space-sm, var(--chart-space-sm-default));
401
+ gap: var(--chart-space-sm);
402
402
  }
403
403
 
404
404
  [data-legend-dot] {
405
- width: var(--chart-legend-dot-size, var(--chart-legend-dot-size-default));
406
- height: var(--chart-legend-dot-size, var(--chart-legend-dot-size-default));
407
- border-radius: var(--chart-radius, var(--chart-radius-default));
405
+ width: var(--chart-legend-dot-size);
406
+ height: var(--chart-legend-dot-size);
407
+ border-radius: var(--chart-radius);
408
408
  flex-shrink: 0;
409
409
  }
410
410
 
411
- [data-legend-dot][data-slice="0"] { background: var(--chart-0, var(--chart-0-default)); }
412
- [data-legend-dot][data-slice="1"] { background: var(--chart-1, var(--chart-1-default)); }
413
- [data-legend-dot][data-slice="2"] { background: var(--chart-2, var(--chart-2-default)); }
414
- [data-legend-dot][data-slice="3"] { background: var(--chart-3, var(--chart-3-default)); }
415
- [data-legend-dot][data-slice="4"] { background: var(--chart-4, var(--chart-4-default)); }
416
- [data-legend-dot][data-slice="5"] { background: var(--chart-5, var(--chart-5-default)); }
417
- [data-legend-dot][data-slice="6"] { background: var(--chart-6, var(--chart-6-default)); }
418
- [data-legend-dot][data-slice="7"] { background: var(--chart-7, var(--chart-7-default)); }
419
- [data-legend-dot][data-slice="8"] { background: var(--chart-8, var(--chart-8-default)); }
420
- [data-legend-dot][data-slice="9"] { background: var(--chart-9, var(--chart-9-default)); }
411
+ [data-legend-dot][data-slice="0"] { background: var(--chart-0); }
412
+ [data-legend-dot][data-slice="1"] { background: var(--chart-1); }
413
+ [data-legend-dot][data-slice="2"] { background: var(--chart-2); }
414
+ [data-legend-dot][data-slice="3"] { background: var(--chart-3); }
415
+ [data-legend-dot][data-slice="4"] { background: var(--chart-4); }
416
+ [data-legend-dot][data-slice="5"] { background: var(--chart-5); }
417
+ [data-legend-dot][data-slice="6"] { background: var(--chart-6); }
418
+ [data-legend-dot][data-slice="7"] { background: var(--chart-7); }
419
+ [data-legend-dot][data-slice="8"] { background: var(--chart-8); }
420
+ [data-legend-dot][data-slice="9"] { background: var(--chart-9); }
421
421
 
422
422
  /* ── Area chart ──
423
423
  Reuses #renderLine() but emphasizes the filled region. Overrides the
@@ -429,20 +429,20 @@
429
429
  --chart-area-fill-opacity: 0.35;
430
430
  }
431
431
  :scope[type="area"] [data-area] {
432
- fill: var(--chart-line, var(--chart-line-default));
432
+ fill: var(--chart-line);
433
433
  opacity: var(--chart-area-fill-opacity);
434
434
  stroke: none;
435
435
  }
436
436
  :scope[type="area"] [data-line] {
437
- stroke-width: var(--chart-line-width, var(--chart-line-width-default));
437
+ stroke-width: var(--chart-line-width);
438
438
  }
439
439
 
440
440
  /* ── Scatter ──
441
441
  Only dots emitted (no line/area paths). Dots are slightly larger than
442
442
  line-chart dots by default for readability. */
443
443
  :scope[type="scatter"] [data-dot][data-scatter] {
444
- fill: var(--chart-dot, var(--chart-dot-default));
445
- stroke: var(--chart-dot-stroke, var(--chart-dot-stroke-default));
444
+ fill: var(--chart-dot);
445
+ stroke: var(--chart-dot-stroke);
446
446
  stroke-width: 1.5;
447
447
  }
448
448
 
@@ -461,19 +461,19 @@
461
461
  fill: none;
462
462
  }
463
463
  circle[data-radial-bar] {
464
- stroke: var(--chart-bar, var(--chart-bar-default));
464
+ stroke: var(--chart-bar);
465
465
  fill: none;
466
466
  }
467
- circle[data-radial-bar][data-slice="0"] { stroke: var(--chart-0, var(--chart-0-default)); }
468
- circle[data-radial-bar][data-slice="1"] { stroke: var(--chart-1, var(--chart-1-default)); }
469
- circle[data-radial-bar][data-slice="2"] { stroke: var(--chart-2, var(--chart-2-default)); }
470
- circle[data-radial-bar][data-slice="3"] { stroke: var(--chart-3, var(--chart-3-default)); }
471
- circle[data-radial-bar][data-slice="4"] { stroke: var(--chart-4, var(--chart-4-default)); }
472
- circle[data-radial-bar][data-slice="5"] { stroke: var(--chart-5, var(--chart-5-default)); }
473
- circle[data-radial-bar][data-slice="6"] { stroke: var(--chart-6, var(--chart-6-default)); }
474
- circle[data-radial-bar][data-slice="7"] { stroke: var(--chart-7, var(--chart-7-default)); }
475
- circle[data-radial-bar][data-slice="8"] { stroke: var(--chart-8, var(--chart-8-default)); }
476
- circle[data-radial-bar][data-slice="9"] { stroke: var(--chart-9, var(--chart-9-default)); }
467
+ circle[data-radial-bar][data-slice="0"] { stroke: var(--chart-0); }
468
+ circle[data-radial-bar][data-slice="1"] { stroke: var(--chart-1); }
469
+ circle[data-radial-bar][data-slice="2"] { stroke: var(--chart-2); }
470
+ circle[data-radial-bar][data-slice="3"] { stroke: var(--chart-3); }
471
+ circle[data-radial-bar][data-slice="4"] { stroke: var(--chart-4); }
472
+ circle[data-radial-bar][data-slice="5"] { stroke: var(--chart-5); }
473
+ circle[data-radial-bar][data-slice="6"] { stroke: var(--chart-6); }
474
+ circle[data-radial-bar][data-slice="7"] { stroke: var(--chart-7); }
475
+ circle[data-radial-bar][data-slice="8"] { stroke: var(--chart-8); }
476
+ circle[data-radial-bar][data-slice="9"] { stroke: var(--chart-9); }
477
477
 
478
478
  /* ── Gauge ──
479
479
  Half-donut — track is faint backing, fill reads as primary accent. */
@@ -482,16 +482,16 @@
482
482
  stroke: none;
483
483
  }
484
484
  :scope[type="gauge"] [data-gauge-fill] {
485
- fill: var(--chart-bar, var(--chart-bar-default));
485
+ fill: var(--chart-bar);
486
486
  stroke: none;
487
487
  }
488
488
  [data-gauge-value] {
489
489
  font-weight: var(--a-weight-semibold);
490
- fill: var(--chart-fg, var(--chart-fg-default));
490
+ fill: var(--chart-fg);
491
491
  }
492
492
  [data-gauge-max] {
493
- fill: var(--chart-label, var(--chart-label-default));
494
- font-family: var(--chart-font, var(--chart-font-default));
493
+ fill: var(--chart-label);
494
+ font-family: var(--chart-font);
495
495
  }
496
496
 
497
497
  /* ── Funnel ──
@@ -499,29 +499,29 @@
499
499
  the data palette colors each stage. Labels live outside the
500
500
  funnel body — left (stage name) and right (value + drop %). */
501
501
  [data-funnel-stage] {
502
- fill: var(--chart-bar, var(--chart-bar-default));
503
- }
504
- [data-funnel-stage][data-slice="0"] { fill: var(--chart-0, var(--chart-0-default)); }
505
- [data-funnel-stage][data-slice="1"] { fill: var(--chart-1, var(--chart-1-default)); }
506
- [data-funnel-stage][data-slice="2"] { fill: var(--chart-2, var(--chart-2-default)); }
507
- [data-funnel-stage][data-slice="3"] { fill: var(--chart-3, var(--chart-3-default)); }
508
- [data-funnel-stage][data-slice="4"] { fill: var(--chart-4, var(--chart-4-default)); }
509
- [data-funnel-stage][data-slice="5"] { fill: var(--chart-5, var(--chart-5-default)); }
510
- [data-funnel-stage][data-slice="6"] { fill: var(--chart-6, var(--chart-6-default)); }
511
- [data-funnel-stage][data-slice="7"] { fill: var(--chart-7, var(--chart-7-default)); }
512
- [data-funnel-stage][data-slice="8"] { fill: var(--chart-8, var(--chart-8-default)); }
513
- [data-funnel-stage][data-slice="9"] { fill: var(--chart-9, var(--chart-9-default)); }
502
+ fill: var(--chart-bar);
503
+ }
504
+ [data-funnel-stage][data-slice="0"] { fill: var(--chart-0); }
505
+ [data-funnel-stage][data-slice="1"] { fill: var(--chart-1); }
506
+ [data-funnel-stage][data-slice="2"] { fill: var(--chart-2); }
507
+ [data-funnel-stage][data-slice="3"] { fill: var(--chart-3); }
508
+ [data-funnel-stage][data-slice="4"] { fill: var(--chart-4); }
509
+ [data-funnel-stage][data-slice="5"] { fill: var(--chart-5); }
510
+ [data-funnel-stage][data-slice="6"] { fill: var(--chart-6); }
511
+ [data-funnel-stage][data-slice="7"] { fill: var(--chart-7); }
512
+ [data-funnel-stage][data-slice="8"] { fill: var(--chart-8); }
513
+ [data-funnel-stage][data-slice="9"] { fill: var(--chart-9); }
514
514
 
515
515
  [data-funnel-label] {
516
- fill: var(--chart-fg, var(--chart-fg-default));
516
+ fill: var(--chart-fg);
517
517
  font-weight: var(--a-weight-medium);
518
518
  }
519
519
  [data-funnel-value] {
520
- fill: var(--chart-fg, var(--chart-fg-default));
520
+ fill: var(--chart-fg);
521
521
  font-weight: var(--a-weight-semibold);
522
522
  }
523
523
  [data-funnel-drop] {
524
- fill: var(--chart-label, var(--chart-label-default));
524
+ fill: var(--chart-label);
525
525
  }
526
526
 
527
527
  /* ── Treemap ──
@@ -530,19 +530,19 @@
530
530
  check done in JS). Rounded corners pick up the standard
531
531
  --a-radius via #resolveRadius(). */
532
532
  [data-treemap-tile] {
533
- stroke: var(--chart-dot-stroke, var(--chart-dot-stroke-default));
533
+ stroke: var(--chart-dot-stroke);
534
534
  stroke-width: 0;
535
535
  }
536
- [data-treemap-tile][data-slice="0"] { fill: var(--chart-0, var(--chart-0-default)); }
537
- [data-treemap-tile][data-slice="1"] { fill: var(--chart-1, var(--chart-1-default)); }
538
- [data-treemap-tile][data-slice="2"] { fill: var(--chart-2, var(--chart-2-default)); }
539
- [data-treemap-tile][data-slice="3"] { fill: var(--chart-3, var(--chart-3-default)); }
540
- [data-treemap-tile][data-slice="4"] { fill: var(--chart-4, var(--chart-4-default)); }
541
- [data-treemap-tile][data-slice="5"] { fill: var(--chart-5, var(--chart-5-default)); }
542
- [data-treemap-tile][data-slice="6"] { fill: var(--chart-6, var(--chart-6-default)); }
543
- [data-treemap-tile][data-slice="7"] { fill: var(--chart-7, var(--chart-7-default)); }
544
- [data-treemap-tile][data-slice="8"] { fill: var(--chart-8, var(--chart-8-default)); }
545
- [data-treemap-tile][data-slice="9"] { fill: var(--chart-9, var(--chart-9-default)); }
536
+ [data-treemap-tile][data-slice="0"] { fill: var(--chart-0); }
537
+ [data-treemap-tile][data-slice="1"] { fill: var(--chart-1); }
538
+ [data-treemap-tile][data-slice="2"] { fill: var(--chart-2); }
539
+ [data-treemap-tile][data-slice="3"] { fill: var(--chart-3); }
540
+ [data-treemap-tile][data-slice="4"] { fill: var(--chart-4); }
541
+ [data-treemap-tile][data-slice="5"] { fill: var(--chart-5); }
542
+ [data-treemap-tile][data-slice="6"] { fill: var(--chart-6); }
543
+ [data-treemap-tile][data-slice="7"] { fill: var(--chart-7); }
544
+ [data-treemap-tile][data-slice="8"] { fill: var(--chart-8); }
545
+ [data-treemap-tile][data-slice="9"] { fill: var(--chart-9); }
546
546
 
547
547
  [data-treemap-label] {
548
548
  fill: var(--a-canvas-0);
@@ -558,18 +558,18 @@
558
558
  bands render semi-transparent so overlapping routes remain
559
559
  distinguishable. Nodes adopt the data palette. */
560
560
  [data-sankey-node] {
561
- fill: var(--chart-bar, var(--chart-bar-default));
562
- }
563
- [data-sankey-node][data-slice="0"] { fill: var(--chart-0, var(--chart-0-default)); }
564
- [data-sankey-node][data-slice="1"] { fill: var(--chart-1, var(--chart-1-default)); }
565
- [data-sankey-node][data-slice="2"] { fill: var(--chart-2, var(--chart-2-default)); }
566
- [data-sankey-node][data-slice="3"] { fill: var(--chart-3, var(--chart-3-default)); }
567
- [data-sankey-node][data-slice="4"] { fill: var(--chart-4, var(--chart-4-default)); }
568
- [data-sankey-node][data-slice="5"] { fill: var(--chart-5, var(--chart-5-default)); }
569
- [data-sankey-node][data-slice="6"] { fill: var(--chart-6, var(--chart-6-default)); }
570
- [data-sankey-node][data-slice="7"] { fill: var(--chart-7, var(--chart-7-default)); }
571
- [data-sankey-node][data-slice="8"] { fill: var(--chart-8, var(--chart-8-default)); }
572
- [data-sankey-node][data-slice="9"] { fill: var(--chart-9, var(--chart-9-default)); }
561
+ fill: var(--chart-bar);
562
+ }
563
+ [data-sankey-node][data-slice="0"] { fill: var(--chart-0); }
564
+ [data-sankey-node][data-slice="1"] { fill: var(--chart-1); }
565
+ [data-sankey-node][data-slice="2"] { fill: var(--chart-2); }
566
+ [data-sankey-node][data-slice="3"] { fill: var(--chart-3); }
567
+ [data-sankey-node][data-slice="4"] { fill: var(--chart-4); }
568
+ [data-sankey-node][data-slice="5"] { fill: var(--chart-5); }
569
+ [data-sankey-node][data-slice="6"] { fill: var(--chart-6); }
570
+ [data-sankey-node][data-slice="7"] { fill: var(--chart-7); }
571
+ [data-sankey-node][data-slice="8"] { fill: var(--chart-8); }
572
+ [data-sankey-node][data-slice="9"] { fill: var(--chart-9); }
573
573
 
574
574
  [data-sankey-link] {
575
575
  fill: var(--a-fg-subtle);
@@ -579,7 +579,7 @@
579
579
  opacity: 0.6;
580
580
  }
581
581
  [data-sankey-label] {
582
- fill: var(--chart-fg, var(--chart-fg-default));
582
+ fill: var(--chart-fg);
583
583
  font-weight: var(--a-weight-medium);
584
584
  }
585
585
 
@@ -589,10 +589,10 @@
589
589
  the line reads over the bar visually — the line's data-line
590
590
  element already picks up existing [data-line] styling. */
591
591
  :scope[type="composed"] [data-line] {
592
- stroke-width: calc(var(--chart-line-width, var(--chart-line-width-default)) + 1);
592
+ stroke-width: calc(var(--chart-line-width) + 1);
593
593
  }
594
594
  :scope[type="composed"] [data-dot] {
595
- stroke: var(--chart-dot-stroke, var(--chart-dot-stroke-default));
595
+ stroke: var(--chart-dot-stroke);
596
596
  stroke-width: 2;
597
597
  }
598
598
 
@@ -625,38 +625,38 @@
625
625
  /* ═══════ Color variants ═══════ */
626
626
 
627
627
  :scope[color="success"] {
628
- --chart-bar-default: var(--a-success-strong);
629
- --chart-bar-hover-default: var(--a-success-bg-hover);
630
- --chart-line-default: var(--a-success-strong);
631
- --chart-dot-default: var(--a-success-strong);
628
+ --chart-bar: var(--a-success-strong);
629
+ --chart-bar-hover: var(--a-success-bg-hover);
630
+ --chart-line: var(--a-success-strong);
631
+ --chart-dot: var(--a-success-strong);
632
632
  }
633
633
 
634
634
  :scope[color="warning"] {
635
- --chart-bar-default: var(--a-warning-strong);
636
- --chart-bar-hover-default: var(--a-warning-bg-hover);
637
- --chart-line-default: var(--a-warning-strong);
638
- --chart-dot-default: var(--a-warning-strong);
635
+ --chart-bar: var(--a-warning-strong);
636
+ --chart-bar-hover: var(--a-warning-bg-hover);
637
+ --chart-line: var(--a-warning-strong);
638
+ --chart-dot: var(--a-warning-strong);
639
639
  }
640
640
 
641
641
  :scope[color="danger"] {
642
- --chart-bar-default: var(--a-danger-strong);
643
- --chart-bar-hover-default: var(--a-danger-bg-hover);
644
- --chart-line-default: var(--a-danger-strong);
645
- --chart-dot-default: var(--a-danger-strong);
642
+ --chart-bar: var(--a-danger-strong);
643
+ --chart-bar-hover: var(--a-danger-bg-hover);
644
+ --chart-line: var(--a-danger-strong);
645
+ --chart-dot: var(--a-danger-strong);
646
646
  }
647
647
 
648
648
  :scope[color="info"] {
649
- --chart-bar-default: var(--a-info);
650
- --chart-bar-hover-default: var(--a-info-bg-hover);
651
- --chart-line-default: var(--a-info);
652
- --chart-dot-default: var(--a-info);
649
+ --chart-bar: var(--a-info);
650
+ --chart-bar-hover: var(--a-info-bg-hover);
651
+ --chart-line: var(--a-info);
652
+ --chart-dot: var(--a-info);
653
653
  }
654
654
 
655
655
  :scope[color="accent"] {
656
- --chart-bar-default: var(--a-accent);
657
- --chart-bar-hover-default: var(--a-accent-bg-hover);
658
- --chart-line-default: var(--a-accent);
659
- --chart-dot-default: var(--a-accent);
656
+ --chart-bar: var(--a-accent);
657
+ --chart-bar-hover: var(--a-accent-bg-hover);
658
+ --chart-line: var(--a-accent);
659
+ --chart-dot: var(--a-accent);
660
660
  }
661
661
 
662
662
  /* ── Tooltip hit-target cursor ──