@adia-ai/web-components 0.7.27 → 0.8.0

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 (166) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/components/accordion/accordion.css +13 -4
  3. package/components/action-list/action-list.css +3 -3
  4. package/components/agent-artifact/agent-artifact.css +4 -4
  5. package/components/agent-questions/agent-questions.css +8 -8
  6. package/components/agent-reasoning/agent-reasoning.css +6 -6
  7. package/components/agent-trace/agent-trace.css +4 -4
  8. package/components/agent-trace/agent-trace.js +1 -1
  9. package/components/alert/alert.css +16 -16
  10. package/components/avatar/avatar.css +3 -3
  11. package/components/badge/badge.css +32 -32
  12. package/components/blockquote/blockquote.css +1 -1
  13. package/components/breadcrumb/breadcrumb.css +2 -2
  14. package/components/button/button.css +14 -14
  15. package/components/calendar-grid/calendar-grid.a2ui.json +3 -3
  16. package/components/calendar-grid/calendar-grid.css +10 -10
  17. package/components/calendar-grid/calendar-grid.yaml +3 -3
  18. package/components/calendar-picker/calendar-picker.css +11 -11
  19. package/components/canvas/canvas.css +2 -2
  20. package/components/card/card.css +15 -15
  21. package/components/chart/chart.a2ui.json +1 -1
  22. package/components/chart/chart.css +23 -23
  23. package/components/chart/chart.yaml +2 -0
  24. package/components/chart-legend/chart-legend.css +2 -2
  25. package/components/chat-thread/chat-input.css +6 -6
  26. package/components/chat-thread/chat-thread.css +7 -7
  27. package/components/check/check.css +4 -4
  28. package/components/code/code-editor.js +1 -1
  29. package/components/code/code.css +45 -22
  30. package/components/color-picker/color-picker.css +4 -4
  31. package/components/combobox/combobox.css +6 -6
  32. package/components/command/command.class.js +14 -3
  33. package/components/command/command.css +4 -4
  34. package/components/context-menu/context-menu.css +2 -2
  35. package/components/date-range-picker/date-range-picker.a2ui.json +3 -3
  36. package/components/date-range-picker/date-range-picker.css +8 -8
  37. package/components/date-range-picker/date-range-picker.yaml +3 -3
  38. package/components/datetime-picker/datetime-picker.css +6 -6
  39. package/components/demo-toggle/demo-toggle.css +4 -4
  40. package/components/description-list/description-list.css +1 -1
  41. package/components/display-field/display-field.css +2 -2
  42. package/components/divider/divider.css +1 -1
  43. package/components/drawer/drawer.css +7 -7
  44. package/components/embed/embed.css +1 -1
  45. package/components/empty-state/empty-state.css +5 -5
  46. package/components/feed/feed.css +7 -7
  47. package/components/field/field.css +2 -2
  48. package/components/heatmap/heatmap.css +8 -8
  49. package/components/inline-edit/inline-edit.a2ui.json +1 -1
  50. package/components/inline-edit/inline-edit.css +3 -3
  51. package/components/inline-edit/inline-edit.yaml +1 -1
  52. package/components/inline-message/inline-message.css +4 -4
  53. package/components/input/input.css +1 -1
  54. package/components/inspector/inspector.css +1 -1
  55. package/components/integration-card/integration-card.css +3 -3
  56. package/components/kbd/kbd.a2ui.json +4 -0
  57. package/components/kbd/kbd.css +2 -2
  58. package/components/kbd/kbd.d.ts +2 -0
  59. package/components/kbd/kbd.yaml +5 -0
  60. package/components/link/link.css +2 -2
  61. package/components/list/list.css +10 -10
  62. package/components/list-window/list-window.css +2 -2
  63. package/components/mark/mark.css +9 -9
  64. package/components/menu/menu.css +9 -9
  65. package/components/modal/modal.css +4 -4
  66. package/components/nav/nav.css +1 -1
  67. package/components/nav-group/nav-group.css +7 -16
  68. package/components/nav-item/nav-item.css +1 -1
  69. package/components/noodles/noodles.a2ui.json +1 -1
  70. package/components/noodles/noodles.css +3 -3
  71. package/components/noodles/noodles.d.ts +1 -1
  72. package/components/noodles/noodles.yaml +1 -1
  73. package/components/option-card/option-card.css +11 -11
  74. package/components/otp-input/otp-input.css +1 -1
  75. package/components/page/page.css +2 -2
  76. package/components/pane/pane.css +5 -5
  77. package/components/password-strength/password-strength.css +1 -1
  78. package/components/pipeline-status/pipeline-status.css +9 -9
  79. package/components/popover/popover.css +2 -2
  80. package/components/preview/preview.css +14 -3
  81. package/components/progress/progress.a2ui.json +1 -1
  82. package/components/progress/progress.css +1 -1
  83. package/components/progress/progress.d.ts +1 -1
  84. package/components/progress/progress.yaml +1 -1
  85. package/components/progress-row/progress-row.css +2 -2
  86. package/components/radio/radio.css +4 -4
  87. package/components/range/range.css +2 -2
  88. package/components/rating/rating.css +2 -2
  89. package/components/richtext/richtext.class.js +4 -0
  90. package/components/richtext/richtext.css +5 -5
  91. package/components/richtext/richtext.yaml +1 -0
  92. package/components/row/row.css +1 -1
  93. package/components/select/select.css +8 -8
  94. package/components/skip-nav/skip-nav.a2ui.json +2 -2
  95. package/components/skip-nav/skip-nav.css +3 -3
  96. package/components/skip-nav/skip-nav.yaml +2 -2
  97. package/components/slider/slider.css +5 -5
  98. package/components/spinner/spinner.css +2 -2
  99. package/components/spinner/spinner.test.js +4 -2
  100. package/components/stat/stat.css +1 -1
  101. package/components/step-progress/step-progress.a2ui.json +1 -1
  102. package/components/step-progress/step-progress.class.js +1 -1
  103. package/components/step-progress/step-progress.css +2 -2
  104. package/components/step-progress/step-progress.d.ts +1 -1
  105. package/components/step-progress/step-progress.yaml +1 -1
  106. package/components/stepper/stepper.css +22 -22
  107. package/components/stream/stream.css +2 -2
  108. package/components/swatch/swatch.class.js +1 -1
  109. package/components/swatch/swatch.css +11 -11
  110. package/components/swiper/swiper.css +5 -5
  111. package/components/switch/switch.css +5 -5
  112. package/components/table/cell-types.js +32 -3
  113. package/components/table/table.a2ui.json +1 -1
  114. package/components/table/table.css +16 -11
  115. package/components/table/table.test.js +37 -0
  116. package/components/table/table.yaml +2 -0
  117. package/components/table-toolbar/table-toolbar.css +8 -8
  118. package/components/tabs/tabs.css +5 -5
  119. package/components/tag/tag.css +41 -29
  120. package/components/tag/tag.test.js +22 -29
  121. package/components/tags-input/tags-input.a2ui.json +1 -1
  122. package/components/tags-input/tags-input.css +3 -3
  123. package/components/tags-input/tags-input.yaml +5 -3
  124. package/components/text/text.css +4 -4
  125. package/components/textarea/textarea.css +1 -1
  126. package/components/time-picker/time-picker.css +2 -2
  127. package/components/timeline/timeline.css +31 -31
  128. package/components/toast/toast.css +19 -19
  129. package/components/toc/toc.a2ui.json +1 -1
  130. package/components/toc/toc.css +3 -3
  131. package/components/toc/toc.yaml +1 -1
  132. package/components/toggle-group/toggle-group.css +3 -3
  133. package/components/toolbar/toolbar.css +3 -3
  134. package/components/tooltip/tooltip.css +9 -9
  135. package/components/tour/tour.css +3 -3
  136. package/components/tree/tree.css +2 -2
  137. package/components/upload/upload.css +7 -7
  138. package/core/markdown.js +1 -1
  139. package/dist/host.min.css +1 -1
  140. package/dist/host.sheet.js +1 -1
  141. package/dist/theme-provider.min.js +7 -7
  142. package/dist/themes.min.css +1 -1
  143. package/dist/themes.sheet.js +1 -1
  144. package/dist/web-components.min.css +1 -1
  145. package/dist/web-components.min.js +62 -62
  146. package/dist/web-components.sheet.js +1 -1
  147. package/package.json +3 -3
  148. package/styles/api/text.css +1 -1
  149. package/styles/colors/bridges/material-bridge.css +30 -0
  150. package/styles/colors/index.css +19 -1
  151. package/styles/colors/material-static.css +771 -0
  152. package/styles/colors/parameters.css +40 -4
  153. package/styles/colors/primitives-primary.css +89 -0
  154. package/styles/colors/primitives-secondary.css +89 -0
  155. package/styles/colors/primitives-tertiary.css +89 -0
  156. package/styles/colors/primitives.css +3 -1
  157. package/styles/colors/scrims.css +19 -180
  158. package/styles/colors/semantics/aliases.css +25 -11
  159. package/styles/colors/semantics/buckets.css +28 -12
  160. package/styles/colors/semantics/core.css +323 -202
  161. package/styles/colors/semantics/data-viz.css +13 -13
  162. package/styles/colors/semantics/features.css +31 -13
  163. package/styles/colors/surfaces.css +41 -31
  164. package/styles/resets.css +15 -1
  165. package/styles/themes.css +15 -15
  166. package/styles/colors/primitives-accent.css +0 -89
@@ -4,13 +4,13 @@
4
4
  registrations are global, so relocating them here is cascade-inert. */
5
5
 
6
6
  /* ─── Data palette parameterization ───
7
- All 10 slots live in an analogous arc centered on --a-accent-hue,
7
+ All 10 slots live in an analogous arc centered on --a-primary-hue,
8
8
  fanning out in alternating cool/warm pairs with a uniform step
9
9
  (--a-data-delta). Slot 0 is the anchor (accent hue). Slots 1-8 are
10
10
  symmetric pairs at ±1, ±2, ±3, ±4 × delta; slot 9 extends one more
11
11
  step on the warm side (+5 × delta).
12
12
 
13
- Offsets from --a-accent-hue:
13
+ Offsets from --a-primary-hue:
14
14
  0: 0 1: −1Δ 2: +1Δ 3: −2Δ 4: +2Δ
15
15
  5: −3Δ 6: +3Δ 7: −4Δ 8: +4Δ 9: +5Δ
16
16
 
@@ -52,7 +52,7 @@
52
52
  /* ══════════════════════════════════════════════════════════════
53
53
  DATA PALETTE — 10 categorical series colors for charts
54
54
 
55
- All 10 slots are computed as offsets from --a-accent-hue via a
55
+ All 10 slots are computed as offsets from --a-primary-hue via a
56
56
  single --a-data-delta step, so retuning accent or delta shifts the
57
57
  whole palette coherently. Slot 0 is the anchor (accent hue); slots
58
58
  1-8 alternate cool/warm at ±1..±4 × delta; slot 9 extends to +5Δ.
@@ -62,16 +62,16 @@
62
62
  or any --a-data-N-hue to pin an individual slot.
63
63
  ══════════════════════════════════════════════════════════════ */
64
64
 
65
- --a-data-0-hue: var(--a-accent-hue);
66
- --a-data-1-hue: calc(var(--a-accent-hue) - var(--a-data-delta) * 1);
67
- --a-data-2-hue: calc(var(--a-accent-hue) + var(--a-data-delta) * 1);
68
- --a-data-3-hue: calc(var(--a-accent-hue) - var(--a-data-delta) * 2);
69
- --a-data-4-hue: calc(var(--a-accent-hue) + var(--a-data-delta) * 2);
70
- --a-data-5-hue: calc(var(--a-accent-hue) - var(--a-data-delta) * 3);
71
- --a-data-6-hue: calc(var(--a-accent-hue) + var(--a-data-delta) * 3);
72
- --a-data-7-hue: calc(var(--a-accent-hue) - var(--a-data-delta) * 4);
73
- --a-data-8-hue: calc(var(--a-accent-hue) + var(--a-data-delta) * 4);
74
- --a-data-9-hue: calc(var(--a-accent-hue) + var(--a-data-delta) * 5);
65
+ --a-data-0-hue: var(--a-primary-hue);
66
+ --a-data-1-hue: calc(var(--a-primary-hue) - var(--a-data-delta) * 1);
67
+ --a-data-2-hue: calc(var(--a-primary-hue) + var(--a-data-delta) * 1);
68
+ --a-data-3-hue: calc(var(--a-primary-hue) - var(--a-data-delta) * 2);
69
+ --a-data-4-hue: calc(var(--a-primary-hue) + var(--a-data-delta) * 2);
70
+ --a-data-5-hue: calc(var(--a-primary-hue) - var(--a-data-delta) * 3);
71
+ --a-data-6-hue: calc(var(--a-primary-hue) + var(--a-data-delta) * 3);
72
+ --a-data-7-hue: calc(var(--a-primary-hue) - var(--a-data-delta) * 4);
73
+ --a-data-8-hue: calc(var(--a-primary-hue) + var(--a-data-delta) * 4);
74
+ --a-data-9-hue: calc(var(--a-primary-hue) + var(--a-data-delta) * 5);
75
75
 
76
76
  /* Three L phases — each slot's phase is (N mod 3). Two consecutive
77
77
  slots always differ in both hue AND lightness, and any three
@@ -30,7 +30,7 @@
30
30
  pattern — gives per-component override headroom without breaking
31
31
  the canonical default). */
32
32
 
33
- --a-focus-color: var(--a-accent-strong);
33
+ --a-focus-color: var(--a-primary-strong);
34
34
  --a-focus-color-invalid: var(--a-danger);
35
35
  --a-focus-width: 2px;
36
36
  --a-focus-offset: 2px;
@@ -68,25 +68,43 @@
68
68
  --a-ui-text-disabled: var(--a-fg-disabled);
69
69
  --a-ui-text-invalid: var(--a-danger-text);
70
70
 
71
- --a-ui-border: light-dark(var(--a-neutral-85-shade), var(--a-neutral-85-tint));
72
- --a-ui-border-hover: light-dark(var(--a-neutral-75-shade), var(--a-neutral-75-tint));
73
- --a-ui-border-active: var(--a-accent-50);
74
- --a-ui-border-selected: var(--a-accent-50);
75
- --a-ui-border-disabled: var(--a-neutral-30);
76
- --a-ui-border-invalid: var(--a-danger-50);
77
-
78
- --a-ui-caret: var(--a-accent-50);
71
+ /* Re-sourced 2026-07-14 (Material Phase 5): these used to read raw
72
+ fine/coarse primitives directly (--a-neutral-85-shade/-tint,
73
+ --a-primary-50, --a-danger-50), bypassing the semantic layer
74
+ entirely — meaning a focused/selected field border rendered a
75
+ DIFFERENT blue than a primary button once Phase 4 made --a-primary
76
+ static. Re-pointed to the already-static semantic tokens they were
77
+ always equivalent to pre-Phase-4 (`--a-primary-50` was bare
78
+ `--a-primary`'s own raw source; `--a-neutral-85-*` matched
79
+ `--a-border`'s own raw source). */
80
+ --a-ui-border: var(--a-border);
81
+ --a-ui-border-hover: var(--a-border-hover);
82
+ --a-ui-border-active: var(--a-primary);
83
+ --a-ui-border-selected: var(--a-primary);
84
+ --a-ui-border-disabled: var(--md-sys-color-neutral-outline-disabled);
85
+ --a-ui-border-invalid: var(--a-danger);
86
+
87
+ --a-ui-caret: var(--a-primary);
79
88
 
80
89
  /* ══════════════════════════════════════════════════════════════
81
90
  HIGHLIGHT & SELECTION — Text-level emphasis
82
91
  ══════════════════════════════════════════════════════════════ */
83
92
 
84
- --a-highlight-strong: var(--a-warning-30);
85
- --a-highlight: var(--a-warning-20);
86
- --a-highlight-subtle: var(--a-warning-10);
93
+ /* Re-sourced 2026-07-14 (Material Phase 5): the 3-tier ramp
94
+ (strong > default > subtle) now uses the static warning family's
95
+ own translucent container tiers (container-high > container >
96
+ container-low) instead of raw fine-scale primitives at steps
97
+ 30/20/10 — matches the intent tier-for-tier (steps 30/20/10 were
98
+ warning's old border-subtle/subtle/muted anchors, now the same
99
+ roles' static equivalents). */
100
+ --a-highlight-strong: var(--a-warning-subtle);
101
+ --a-highlight: var(--a-warning-muted);
102
+ --a-highlight-subtle: var(--md-sys-color-warning-container-low);
87
103
  --a-highlight-text: var(--a-fg-strong);
88
104
 
89
- --a-selection-bg: var(--a-accent-20);
105
+ /* `--a-primary-20` was bare `--a-primary-subtle`'s own raw source
106
+ pre-Phase-4 — re-pointed to the now-static equivalent. */
107
+ --a-selection-bg: var(--a-primary-subtle);
90
108
  --a-selection-text: var(--a-fg-strong);
91
109
  --a-selection-radius: var(--a-space-1);
92
110
 
@@ -1,31 +1,41 @@
1
1
  /* ═══════════════════════════════════════════════════════════════
2
2
  Color Surfaces — Scheme-aware neutral-surface aliases.
3
- Raw tint/shade primitives live in primitives-{family}.css.
4
- Scrim primitives (0-6 adaptive) live in scrims.css.
5
- Neutral role aliases (--a-scrim-dialog etc.) live in semantics.css.
3
+
4
+ Re-sourced from --md-sys-color-neutral-* (2026-07-14, Material
5
+ "replace the computational layer" Phase 5): the static export
6
+ already ships this exact 7-tier shape twice — a mode-consistent
7
+ dimmest..brightest ladder and a mirrored lowest..highest ladder —
8
+ so this file is now a direct, name-preserving re-route, not a
9
+ re-derivation. Raw tint/shade primitives (still computed) live in
10
+ primitives-{family}.css, kept for the swatch display page only.
11
+ Neutral role aliases (--a-scrim-dialog etc.) live in
12
+ semantics/aliases.css.
6
13
  ═══════════════════════════════════════════════════════════════ */
7
14
 
8
15
  :root, theme-ui, [theme], theme-provider {
9
16
 
10
17
  /* ══════════════════════════════════════════════════════════════
11
- Canvas — neutral surface, semantic alias of --a-neutral-{0-6}
18
+ Canvas — neutral surface, semantic alias of the static
19
+ dimmest→brightest ladder (canvas-0 = brightest/page-level in
20
+ light, darkest/page-level in dark — matches --a-bg exactly;
21
+ canvas-6 = the opposite extreme, deepest own-object tier).
12
22
  Use for: page bg, cards, panels, popovers, dialogs (stacking).
13
23
  ══════════════════════════════════════════════════════════════ */
14
- --a-canvas-0: var(--a-neutral-0);
15
- --a-canvas-1: var(--a-neutral-1);
16
- --a-canvas-2: var(--a-neutral-2);
17
- --a-canvas-3: var(--a-neutral-3);
18
- --a-canvas-4: var(--a-neutral-4);
19
- --a-canvas-5: var(--a-neutral-5);
20
- --a-canvas-6: var(--a-neutral-6);
24
+ --a-canvas-0: var(--md-sys-color-neutral-background);
25
+ --a-canvas-1: var(--md-sys-color-neutral-surface-low);
26
+ --a-canvas-2: var(--md-sys-color-neutral-surface);
27
+ --a-canvas-3: var(--md-sys-color-neutral-surface-high);
28
+ --a-canvas-4: var(--md-sys-color-neutral-surface-higher);
29
+ --a-canvas-5: var(--md-sys-color-neutral-surface-highest);
30
+ --a-canvas-6: var(--md-sys-color-neutral-container);
21
31
 
22
- --a-canvas-0-scrim: var(--a-neutral-0-scrim);
23
- --a-canvas-1-scrim: var(--a-neutral-1-scrim);
24
- --a-canvas-2-scrim: var(--a-neutral-2-scrim);
25
- --a-canvas-3-scrim: var(--a-neutral-3-scrim);
26
- --a-canvas-4-scrim: var(--a-neutral-4-scrim);
27
- --a-canvas-5-scrim: var(--a-neutral-5-scrim);
28
- --a-canvas-6-scrim: var(--a-neutral-6-scrim);
32
+ --a-canvas-0-scrim: var(--md-sys-color-neutral-scrim-weakest);
33
+ --a-canvas-1-scrim: var(--md-sys-color-neutral-scrim-weaker);
34
+ --a-canvas-2-scrim: var(--md-sys-color-neutral-scrim-weak);
35
+ --a-canvas-3-scrim: var(--md-sys-color-neutral-scrim);
36
+ --a-canvas-4-scrim: var(--md-sys-color-neutral-scrim-strong);
37
+ --a-canvas-5-scrim: var(--md-sys-color-neutral-scrim-stronger);
38
+ --a-canvas-6-scrim: var(--md-sys-color-neutral-scrim-strongest);
29
39
 
30
40
  /* ══════════════════════════════════════════════════════════════
31
41
  Canvas luminance aliases — symmetric ramp around `base`.
@@ -33,18 +43,18 @@
33
43
  darkest in light AND in dark; brightest step is lightest in both.
34
44
  Use for: wells, insets, pressed states, sunken panels, code.
35
45
  ══════════════════════════════════════════════════════════════ */
36
- --a-canvas-dimmest: light-dark(var(--a-neutral-6-tint), var(--a-neutral-0-shade));
37
- --a-canvas-dimmer: light-dark(var(--a-neutral-5-tint), var(--a-neutral-1-shade));
38
- --a-canvas-dim: light-dark(var(--a-neutral-4-tint), var(--a-neutral-2-shade));
39
- --a-canvas-base: light-dark(var(--a-neutral-3-tint), var(--a-neutral-3-shade));
40
- --a-canvas-bright: light-dark(var(--a-neutral-2-tint), var(--a-neutral-4-shade));
41
- --a-canvas-brighter: light-dark(var(--a-neutral-1-tint), var(--a-neutral-5-shade));
42
- --a-canvas-brightest: light-dark(var(--a-neutral-0-tint), var(--a-neutral-6-shade));
46
+ --a-canvas-dimmest: var(--md-sys-color-neutral-surface-dimmest);
47
+ --a-canvas-dimmer: var(--md-sys-color-neutral-surface-dimmer);
48
+ --a-canvas-dim: var(--md-sys-color-neutral-surface-dim);
49
+ --a-canvas-base: var(--md-sys-color-neutral-surface);
50
+ --a-canvas-bright: var(--md-sys-color-neutral-surface-bright);
51
+ --a-canvas-brighter: var(--md-sys-color-neutral-surface-brighter);
52
+ --a-canvas-brightest: var(--md-sys-color-neutral-surface-brightest);
43
53
 
44
- --a-canvas-lowest: light-dark(var(--a-neutral-0-tint), var(--a-neutral-0-shade));
45
- --a-canvas-lower: light-dark(var(--a-neutral-1-tint), var(--a-neutral-1-shade));
46
- --a-canvas-low: light-dark(var(--a-neutral-2-tint), var(--a-neutral-2-shade));
47
- --a-canvas-high: light-dark(var(--a-neutral-3-tint), var(--a-neutral-4-shade));
48
- --a-canvas-higher: light-dark(var(--a-neutral-4-tint), var(--a-neutral-5-shade));
49
- --a-canvas-highest: light-dark(var(--a-neutral-5-tint), var(--a-neutral-6-shade));
54
+ --a-canvas-lowest: var(--md-sys-color-neutral-surface-lowest);
55
+ --a-canvas-lower: var(--md-sys-color-neutral-surface-lower);
56
+ --a-canvas-low: var(--md-sys-color-neutral-surface-low);
57
+ --a-canvas-high: var(--md-sys-color-neutral-surface-high);
58
+ --a-canvas-higher: var(--md-sys-color-neutral-surface-higher);
59
+ --a-canvas-highest: var(--md-sys-color-neutral-surface-highest);
50
60
  }
package/styles/resets.css CHANGED
@@ -65,7 +65,6 @@ body {
65
65
 
66
66
  img,
67
67
  picture,
68
- svg,
69
68
  video,
70
69
  canvas {
71
70
  display: block;
@@ -73,6 +72,21 @@ canvas {
73
72
  block-size: auto;
74
73
  }
75
74
 
75
+ /* svg gets its own rule, WITHOUT max-inline-size/block-size — unlike
76
+ img/picture/video/canvas, an SVG has real spec behavior that makes that
77
+ pairing actively harmful: a zero-size viewport (which is exactly what
78
+ max-inline-size:100% computes to inside a zero-intrinsic-size ancestor —
79
+ the common `width:0;height:0;transform:scale(s)` pattern for a CSS-
80
+ scaled canvas/scene) makes the whole element NOT RENDER AT ALL, not
81
+ "render at 0 visual size" — a silent, hard-to-diagnose failure with no
82
+ console warning (consumer-reported, GH #224). Components that embed SVG
83
+ size it explicitly in their own scoped CSS (e.g. icon-ui sets width/
84
+ height on its inner svg directly) and are unaffected by this rule
85
+ either way. */
86
+ svg {
87
+ display: block;
88
+ }
89
+
76
90
  /* The `ul/ol[role="list"]` semantic-list opt-out moved to
77
91
  styles/type/elements.css (with the other element list defaults) during the
78
92
  @layer migration — it's an element-default refinement that must win by
package/styles/themes.css CHANGED
@@ -34,7 +34,7 @@
34
34
  --a-neutral-hue: 225;
35
35
  --a-neutral-c-min: 0.010;
36
36
  --a-brand-hue: 225;
37
- --a-accent-hue: 225;
37
+ --a-primary-hue: 225;
38
38
  --a-success-hue: 145;
39
39
  --a-warning-hue: 65;
40
40
  --a-danger-hue: 25;
@@ -49,12 +49,12 @@
49
49
  --a-neutral-hue: 210;
50
50
  --a-neutral-c-min: 0.020;
51
51
  --a-brand-hue: 200;
52
- --a-accent-hue: 200;
52
+ --a-primary-hue: 200;
53
53
  --a-success-hue: 160;
54
54
  --a-warning-hue: 55;
55
55
  --a-danger-hue: 15;
56
56
  --a-info-hue: 190;
57
- --a-accent-c-max: 0.20;
57
+ --a-primary-c-max: 0.20;
58
58
  --a-brand-c-max: 0.20;
59
59
  --a-radius-k: 1.5;
60
60
  --a-density: 1.1;
@@ -66,12 +66,12 @@
66
66
  --a-neutral-c-min: 0.018;
67
67
  --a-neutral-c-max: 0.030;
68
68
  --a-brand-hue: 140;
69
- --a-accent-hue: 140;
69
+ --a-primary-hue: 140;
70
70
  --a-success-hue: 145;
71
71
  --a-warning-hue: 60;
72
72
  --a-danger-hue: 20;
73
73
  --a-info-hue: 180;
74
- --a-accent-c-max: 0.14;
74
+ --a-primary-c-max: 0.14;
75
75
  --a-brand-c-max: 0.14;
76
76
  --a-radius-k: 0.5;
77
77
  --a-density: 0.9;
@@ -82,12 +82,12 @@
82
82
  --a-neutral-hue: 30;
83
83
  --a-neutral-c-min: 0.022;
84
84
  --a-brand-hue: 20;
85
- --a-accent-hue: 20;
85
+ --a-primary-hue: 20;
86
86
  --a-success-hue: 145;
87
87
  --a-warning-hue: 50;
88
88
  --a-danger-hue: 10;
89
89
  --a-info-hue: 200;
90
- --a-accent-c-max: 0.22;
90
+ --a-primary-c-max: 0.22;
91
91
  --a-brand-c-max: 0.22;
92
92
  --a-radius-k: 0.25;
93
93
  --a-density: 1.1;
@@ -98,12 +98,12 @@
98
98
  --a-neutral-hue: 280;
99
99
  --a-neutral-c-min: 0.018;
100
100
  --a-brand-hue: 270;
101
- --a-accent-hue: 270;
101
+ --a-primary-hue: 270;
102
102
  --a-success-hue: 145;
103
103
  --a-warning-hue: 65;
104
104
  --a-danger-hue: 25;
105
105
  --a-info-hue: 220;
106
- --a-accent-c-max: 0.15;
106
+ --a-primary-c-max: 0.15;
107
107
  --a-brand-c-max: 0.15;
108
108
  --a-radius-k: 2;
109
109
  --a-density: 1.1;
@@ -114,12 +114,12 @@
114
114
  --a-neutral-hue: 350;
115
115
  --a-neutral-c-min: 0.016;
116
116
  --a-brand-hue: 340;
117
- --a-accent-hue: 340;
117
+ --a-primary-hue: 340;
118
118
  --a-success-hue: 145;
119
119
  --a-warning-hue: 55;
120
120
  --a-danger-hue: 15;
121
121
  --a-info-hue: 200;
122
- --a-accent-c-max: 0.17;
122
+ --a-primary-c-max: 0.17;
123
123
  --a-brand-c-max: 0.17;
124
124
  --a-radius-k: 0.75;
125
125
  --a-density: 1;
@@ -131,12 +131,12 @@
131
131
  --a-neutral-c-min: 0.008;
132
132
  --a-neutral-c-max: 0.015;
133
133
  --a-brand-hue: 220;
134
- --a-accent-hue: 220;
134
+ --a-primary-hue: 220;
135
135
  --a-success-hue: 145;
136
136
  --a-warning-hue: 65;
137
137
  --a-danger-hue: 25;
138
138
  --a-info-hue: 200;
139
- --a-accent-c-max: 0.10;
139
+ --a-primary-c-max: 0.10;
140
140
  --a-brand-c-max: 0.10;
141
141
  --a-radius-k: 0.35;
142
142
  --a-density: 0.85;
@@ -148,12 +148,12 @@
148
148
  --a-neutral-hue: 250;
149
149
  --a-neutral-c-min: 0.020;
150
150
  --a-brand-hue: 240;
151
- --a-accent-hue: 240;
151
+ --a-primary-hue: 240;
152
152
  --a-success-hue: 150;
153
153
  --a-warning-hue: 60;
154
154
  --a-danger-hue: 20;
155
155
  --a-info-hue: 210;
156
- --a-accent-c-max: 0.22;
156
+ --a-primary-c-max: 0.22;
157
157
  --a-brand-c-max: 0.22;
158
158
  --a-radius-k: 1.25;
159
159
  --a-density: 1.1;
@@ -1,89 +0,0 @@
1
- /* ═══════════════════════════════════════════════════════════════
2
- Color Primitives — Accent (Fine Scale 05–95)
3
- Tint: light-oriented (05 lightest → 95 darkest).
4
- Shade: dark-oriented (05 darkest → 95 lightest).
5
- Requires primitives-shared.css and parameters.css.
6
- ═══════════════════════════════════════════════════════════════ */
7
-
8
- :root, theme-ui, [theme], theme-provider {
9
- /* ── Accent tints (05 lightest → 95 darkest) ── */
10
- --a-accent-05-tint: oklch(calc(var(--a-color-l-max) - var(--_sf-05) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-05) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
11
- --a-accent-10-tint: oklch(calc(var(--a-color-l-max) - var(--_sf-10) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-10) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
12
- --a-accent-15-tint: oklch(calc(var(--a-color-l-max) - var(--_sf-15) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-15) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
13
- --a-accent-20-tint: oklch(calc(var(--a-color-l-max) - var(--_sf-20) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-20) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
14
- --a-accent-25-tint: oklch(calc(var(--a-color-l-max) - var(--_sf-25) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-25) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
15
- --a-accent-30-tint: oklch(calc(var(--a-color-l-max) - var(--_sf-30) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-30) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
16
- --a-accent-35-tint: oklch(calc(var(--a-color-l-max) - var(--_sf-35) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-35) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
17
- --a-accent-40-tint: oklch(calc(var(--a-color-l-max) - var(--_sf-40) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-40) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
18
- --a-accent-45-tint: oklch(calc(var(--a-color-l-max) - var(--_sf-45) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-45) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
19
- --a-accent-50-tint: oklch(calc(var(--a-color-l-max) - var(--_sf-50) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-50) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
20
- --a-accent-55-tint: oklch(calc(var(--a-color-l-max) - var(--_sf-55) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-55) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
21
- --a-accent-60-tint: oklch(calc(var(--a-color-l-max) - var(--_sf-60) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-60) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
22
- --a-accent-65-tint: oklch(calc(var(--a-color-l-max) - var(--_sf-65) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-65) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
23
- --a-accent-70-tint: oklch(calc(var(--a-color-l-max) - var(--_sf-70) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-70) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
24
- --a-accent-75-tint: oklch(calc(var(--a-color-l-max) - var(--_sf-75) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-75) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
25
- --a-accent-80-tint: oklch(calc(var(--a-color-l-max) - var(--_sf-80) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-80) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
26
- --a-accent-85-tint: oklch(calc(var(--a-color-l-max) - var(--_sf-85) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-85) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
27
- --a-accent-90-tint: oklch(calc(var(--a-color-l-max) - var(--_sf-90) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-90) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
28
- --a-accent-95-tint: oklch(calc(var(--a-color-l-max) - var(--_sf-95) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-95) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
29
-
30
- /* ── Accent shades (05 darkest → 95 lightest) ── */
31
- --a-accent-05-shade: oklch(calc(var(--a-color-l-min) + var(--_sf-05) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-05) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
32
- --a-accent-10-shade: oklch(calc(var(--a-color-l-min) + var(--_sf-10) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-10) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
33
- --a-accent-15-shade: oklch(calc(var(--a-color-l-min) + var(--_sf-15) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-15) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
34
- --a-accent-20-shade: oklch(calc(var(--a-color-l-min) + var(--_sf-20) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-20) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
35
- --a-accent-25-shade: oklch(calc(var(--a-color-l-min) + var(--_sf-25) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-25) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
36
- --a-accent-30-shade: oklch(calc(var(--a-color-l-min) + var(--_sf-30) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-30) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
37
- --a-accent-35-shade: oklch(calc(var(--a-color-l-min) + var(--_sf-35) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-35) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
38
- --a-accent-40-shade: oklch(calc(var(--a-color-l-min) + var(--_sf-40) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-40) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
39
- --a-accent-45-shade: oklch(calc(var(--a-color-l-min) + var(--_sf-45) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-45) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
40
- --a-accent-50-shade: oklch(calc(var(--a-color-l-min) + var(--_sf-50) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-50) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
41
- --a-accent-55-shade: oklch(calc(var(--a-color-l-min) + var(--_sf-55) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-55) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
42
- --a-accent-60-shade: oklch(calc(var(--a-color-l-min) + var(--_sf-60) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-60) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
43
- --a-accent-65-shade: oklch(calc(var(--a-color-l-min) + var(--_sf-65) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-65) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
44
- --a-accent-70-shade: oklch(calc(var(--a-color-l-min) + var(--_sf-70) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-70) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
45
- --a-accent-75-shade: oklch(calc(var(--a-color-l-min) + var(--_sf-75) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-75) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
46
- --a-accent-80-shade: oklch(calc(var(--a-color-l-min) + var(--_sf-80) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-80) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
47
- --a-accent-85-shade: oklch(calc(var(--a-color-l-min) + var(--_sf-85) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-85) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
48
- --a-accent-90-shade: oklch(calc(var(--a-color-l-min) + var(--_sf-90) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-90) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
49
- --a-accent-95-shade: oklch(calc(var(--a-color-l-min) + var(--_sf-95) * (var(--a-color-l-max) - var(--a-color-l-min))) calc(var(--a-accent-c-min) + var(--_cf-95) * (var(--a-accent-c-max) - var(--a-accent-c-min))) var(--a-accent-hue));
50
-
51
- /* ── Coarse surface scale (0-7, linear increment) ── */
52
- --a-accent-0-tint: oklch(calc(var(--a-color-l-max) - 0 * var(--a-color-surface-increment)) var(--a-accent-c-min) var(--a-accent-hue));
53
- --a-accent-1-tint: oklch(calc(var(--a-color-l-max) - 1 * var(--a-color-surface-increment)) var(--a-accent-c-min) var(--a-accent-hue));
54
- --a-accent-2-tint: oklch(calc(var(--a-color-l-max) - 2 * var(--a-color-surface-increment)) var(--a-accent-c-min) var(--a-accent-hue));
55
- --a-accent-3-tint: oklch(calc(var(--a-color-l-max) - 3 * var(--a-color-surface-increment)) var(--a-accent-c-min) var(--a-accent-hue));
56
- --a-accent-4-tint: oklch(calc(var(--a-color-l-max) - 4 * var(--a-color-surface-increment)) var(--a-accent-c-min) var(--a-accent-hue));
57
- --a-accent-5-tint: oklch(calc(var(--a-color-l-max) - 5 * var(--a-color-surface-increment)) var(--a-accent-c-min) var(--a-accent-hue));
58
- --a-accent-6-tint: oklch(calc(var(--a-color-l-max) - 6 * var(--a-color-surface-increment)) var(--a-accent-c-min) var(--a-accent-hue));
59
-
60
- --a-accent-0-shade: oklch(calc(var(--a-color-l-min) + 0 * var(--a-color-surface-increment)) var(--a-accent-c-min) var(--a-accent-hue));
61
- --a-accent-1-shade: oklch(calc(var(--a-color-l-min) + 1 * var(--a-color-surface-increment)) var(--a-accent-c-min) var(--a-accent-hue));
62
- --a-accent-2-shade: oklch(calc(var(--a-color-l-min) + 2 * var(--a-color-surface-increment)) var(--a-accent-c-min) var(--a-accent-hue));
63
- --a-accent-3-shade: oklch(calc(var(--a-color-l-min) + 3 * var(--a-color-surface-increment)) var(--a-accent-c-min) var(--a-accent-hue));
64
- --a-accent-4-shade: oklch(calc(var(--a-color-l-min) + 4 * var(--a-color-surface-increment)) var(--a-accent-c-min) var(--a-accent-hue));
65
- --a-accent-5-shade: oklch(calc(var(--a-color-l-min) + 5 * var(--a-color-surface-increment)) var(--a-accent-c-min) var(--a-accent-hue));
66
- --a-accent-6-shade: oklch(calc(var(--a-color-l-min) + 6 * var(--a-color-surface-increment)) var(--a-accent-c-min) var(--a-accent-hue));
67
-
68
- /* ── Adaptive fine scale (light-dark) ── */
69
- --a-accent-05: light-dark(var(--a-accent-05-tint), var(--a-accent-05-shade));
70
- --a-accent-10: light-dark(var(--a-accent-10-tint), var(--a-accent-10-shade));
71
- --a-accent-20: light-dark(var(--a-accent-20-tint), var(--a-accent-20-shade));
72
- --a-accent-30: light-dark(var(--a-accent-30-tint), var(--a-accent-30-shade));
73
- --a-accent-40: light-dark(var(--a-accent-40-tint), var(--a-accent-40-shade));
74
- --a-accent-50: light-dark(var(--a-accent-50-tint), var(--a-accent-50-shade));
75
- --a-accent-60: light-dark(var(--a-accent-60-tint), var(--a-accent-60-shade));
76
- --a-accent-70: light-dark(var(--a-accent-70-tint), var(--a-accent-70-shade));
77
- --a-accent-80: light-dark(var(--a-accent-80-tint), var(--a-accent-80-shade));
78
- --a-accent-90: light-dark(var(--a-accent-90-tint), var(--a-accent-90-shade));
79
- --a-accent-95: light-dark(var(--a-accent-95-tint), var(--a-accent-95-shade));
80
-
81
- /* ── Adaptive coarse scale (light-dark) ── */
82
- --a-accent-0: light-dark(var(--a-accent-0-tint), var(--a-accent-0-shade));
83
- --a-accent-1: light-dark(var(--a-accent-1-tint), var(--a-accent-1-shade));
84
- --a-accent-2: light-dark(var(--a-accent-2-tint), var(--a-accent-2-shade));
85
- --a-accent-3: light-dark(var(--a-accent-3-tint), var(--a-accent-3-shade));
86
- --a-accent-4: light-dark(var(--a-accent-4-tint), var(--a-accent-4-shade));
87
- --a-accent-5: light-dark(var(--a-accent-5-tint), var(--a-accent-5-shade));
88
- --a-accent-6: light-dark(var(--a-accent-6-tint), var(--a-accent-6-shade));
89
- }