@adia-ai/web-components 0.6.31 → 0.6.32

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 (232) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/components/accordion/accordion-item.a2ui.json +1 -0
  3. package/components/accordion/accordion-item.yaml +1 -0
  4. package/components/accordion/accordion.a2ui.json +1 -0
  5. package/components/accordion/accordion.yaml +1 -0
  6. package/components/action-list/action-item.a2ui.json +1 -0
  7. package/components/action-list/action-item.yaml +1 -0
  8. package/components/action-list/action-list.a2ui.json +1 -0
  9. package/components/action-list/action-list.yaml +1 -0
  10. package/components/agent-artifact/agent-artifact.a2ui.json +1 -0
  11. package/components/agent-artifact/agent-artifact.yaml +1 -0
  12. package/components/agent-feedback-bar/agent-feedback-bar.a2ui.json +1 -0
  13. package/components/agent-feedback-bar/agent-feedback-bar.yaml +1 -0
  14. package/components/agent-questions/agent-questions.a2ui.json +1 -0
  15. package/components/agent-questions/agent-questions.yaml +1 -0
  16. package/components/agent-reasoning/agent-reasoning.a2ui.json +1 -0
  17. package/components/agent-reasoning/agent-reasoning.yaml +1 -0
  18. package/components/agent-suggestions/agent-suggestions.a2ui.json +1 -0
  19. package/components/agent-suggestions/agent-suggestions.yaml +1 -0
  20. package/components/agent-trace/agent-trace.a2ui.json +1 -0
  21. package/components/agent-trace/agent-trace.yaml +1 -0
  22. package/components/alert/alert.a2ui.json +1 -0
  23. package/components/alert/alert.yaml +1 -0
  24. package/components/aside/aside.a2ui.json +1 -0
  25. package/components/aside/aside.yaml +1 -0
  26. package/components/avatar/avatar-group.a2ui.json +1 -0
  27. package/components/avatar/avatar-group.yaml +1 -0
  28. package/components/avatar/avatar.a2ui.json +1 -0
  29. package/components/avatar/avatar.yaml +1 -0
  30. package/components/badge/badge.a2ui.json +3 -1
  31. package/components/badge/badge.css +6 -1
  32. package/components/badge/badge.yaml +2 -0
  33. package/components/block/block.a2ui.json +1 -0
  34. package/components/block/block.yaml +1 -0
  35. package/components/breadcrumb/breadcrumb.a2ui.json +1 -0
  36. package/components/breadcrumb/breadcrumb.yaml +1 -0
  37. package/components/button/button.a2ui.json +1 -0
  38. package/components/button/button.yaml +1 -0
  39. package/components/calendar-picker/calendar-picker.a2ui.json +1 -0
  40. package/components/calendar-picker/calendar-picker.yaml +1 -0
  41. package/components/canvas/canvas.a2ui.json +1 -0
  42. package/components/canvas/canvas.yaml +1 -0
  43. package/components/card/card.a2ui.json +1 -0
  44. package/components/card/card.yaml +1 -0
  45. package/components/chart/chart.a2ui.json +3 -1
  46. package/components/chart/chart.yaml +2 -0
  47. package/components/chart-legend/chart-legend.a2ui.json +1 -0
  48. package/components/chart-legend/chart-legend.yaml +1 -0
  49. package/components/chat-thread/chat-input.a2ui.json +1 -0
  50. package/components/chat-thread/chat-input.yaml +1 -0
  51. package/components/chat-thread/chat-thread.a2ui.json +1 -0
  52. package/components/chat-thread/chat-thread.yaml +1 -0
  53. package/components/check/check.a2ui.json +3 -1
  54. package/components/check/check.yaml +2 -0
  55. package/components/code/code.a2ui.json +1 -0
  56. package/components/code/code.css +1 -1
  57. package/components/code/code.yaml +1 -0
  58. package/components/col/col.a2ui.json +1 -0
  59. package/components/col/col.yaml +1 -0
  60. package/components/color-input/color-input.a2ui.json +1 -0
  61. package/components/color-input/color-input.yaml +1 -0
  62. package/components/color-picker/color-picker.a2ui.json +1 -0
  63. package/components/color-picker/color-picker.yaml +1 -0
  64. package/components/command/command.a2ui.json +1 -0
  65. package/components/command/command.yaml +1 -0
  66. package/components/demo-toggle/demo-toggle.a2ui.json +1 -0
  67. package/components/demo-toggle/demo-toggle.yaml +1 -0
  68. package/components/description-list/description-list.a2ui.json +1 -0
  69. package/components/description-list/description-list.yaml +1 -0
  70. package/components/divider/divider.a2ui.json +1 -0
  71. package/components/divider/divider.yaml +1 -0
  72. package/components/drawer/drawer.a2ui.json +1 -0
  73. package/components/drawer/drawer.yaml +1 -0
  74. package/components/embed/embed.a2ui.json +1 -0
  75. package/components/embed/embed.yaml +1 -0
  76. package/components/empty-state/empty-state.a2ui.json +1 -0
  77. package/components/empty-state/empty-state.yaml +1 -0
  78. package/components/feed/feed-item.a2ui.json +1 -0
  79. package/components/feed/feed-item.yaml +1 -0
  80. package/components/feed/feed.a2ui.json +1 -0
  81. package/components/feed/feed.yaml +1 -0
  82. package/components/field/field.a2ui.json +3 -1
  83. package/components/field/field.yaml +2 -0
  84. package/components/fields/fields.a2ui.json +1 -0
  85. package/components/fields/fields.yaml +1 -0
  86. package/components/footer/footer.a2ui.json +1 -0
  87. package/components/footer/footer.yaml +1 -0
  88. package/components/grid/grid.a2ui.json +1 -0
  89. package/components/grid/grid.yaml +1 -0
  90. package/components/header/header.a2ui.json +1 -0
  91. package/components/header/header.yaml +1 -0
  92. package/components/heatmap/heatmap.a2ui.json +1 -0
  93. package/components/heatmap/heatmap.yaml +1 -0
  94. package/components/icon/icon.a2ui.json +3 -1
  95. package/components/icon/icon.yaml +2 -0
  96. package/components/image/image.a2ui.json +1 -0
  97. package/components/image/image.yaml +1 -0
  98. package/components/input/input.a2ui.json +1 -0
  99. package/components/input/input.yaml +1 -0
  100. package/components/inspector/inspector.a2ui.json +1 -0
  101. package/components/inspector/inspector.yaml +1 -0
  102. package/components/kbd/kbd.a2ui.json +1 -0
  103. package/components/kbd/kbd.yaml +1 -0
  104. package/components/link/link.a2ui.json +1 -0
  105. package/components/link/link.yaml +1 -0
  106. package/components/list/list-item.a2ui.json +1 -0
  107. package/components/list/list-item.yaml +1 -0
  108. package/components/list/list.a2ui.json +1 -0
  109. package/components/list/list.yaml +1 -0
  110. package/components/menu/menu-divider.a2ui.json +1 -0
  111. package/components/menu/menu-divider.yaml +1 -0
  112. package/components/menu/menu-item.a2ui.json +1 -0
  113. package/components/menu/menu-item.yaml +1 -0
  114. package/components/menu/menu.a2ui.json +1 -0
  115. package/components/menu/menu.yaml +1 -0
  116. package/components/modal/modal.a2ui.json +1 -0
  117. package/components/modal/modal.yaml +1 -0
  118. package/components/nav/nav.a2ui.json +1 -0
  119. package/components/nav/nav.yaml +1 -0
  120. package/components/nav-group/nav-group.a2ui.json +1 -0
  121. package/components/nav-group/nav-group.yaml +1 -0
  122. package/components/nav-item/nav-item.a2ui.json +3 -1
  123. package/components/nav-item/nav-item.yaml +2 -0
  124. package/components/noodles/noodles.a2ui.json +1 -0
  125. package/components/noodles/noodles.yaml +1 -0
  126. package/components/option-card/option-card.a2ui.json +1 -0
  127. package/components/option-card/option-card.yaml +1 -0
  128. package/components/otp-input/otp-input.a2ui.json +1 -0
  129. package/components/otp-input/otp-input.yaml +1 -0
  130. package/components/page/page.a2ui.json +1 -0
  131. package/components/page/page.yaml +1 -0
  132. package/components/pagination/pagination.a2ui.json +1 -0
  133. package/components/pagination/pagination.yaml +1 -0
  134. package/components/pane/pane.a2ui.json +1 -0
  135. package/components/pane/pane.yaml +1 -0
  136. package/components/pipeline-status/pipeline-status.a2ui.json +1 -0
  137. package/components/pipeline-status/pipeline-status.yaml +1 -0
  138. package/components/popover/popover.a2ui.json +1 -0
  139. package/components/popover/popover.yaml +1 -0
  140. package/components/progress/progress.a2ui.json +1 -0
  141. package/components/progress/progress.yaml +1 -0
  142. package/components/progress-row/progress-row.a2ui.json +1 -0
  143. package/components/progress-row/progress-row.yaml +1 -0
  144. package/components/radio/radio.a2ui.json +1 -0
  145. package/components/radio/radio.yaml +1 -0
  146. package/components/range/range.a2ui.json +1 -0
  147. package/components/range/range.yaml +1 -0
  148. package/components/rating/rating.a2ui.json +3 -1
  149. package/components/rating/rating.yaml +2 -0
  150. package/components/richtext/richtext.a2ui.json +1 -0
  151. package/components/richtext/richtext.yaml +1 -0
  152. package/components/row/row.a2ui.json +1 -0
  153. package/components/row/row.yaml +1 -0
  154. package/components/search/search.a2ui.json +1 -0
  155. package/components/search/search.yaml +1 -0
  156. package/components/section/section.a2ui.json +1 -0
  157. package/components/section/section.yaml +1 -0
  158. package/components/segment/segment.a2ui.json +1 -0
  159. package/components/segment/segment.css +8 -2
  160. package/components/segment/segment.yaml +1 -0
  161. package/components/segmented/segmented.a2ui.json +1 -0
  162. package/components/segmented/segmented.yaml +1 -0
  163. package/components/select/select.a2ui.json +1 -0
  164. package/components/select/select.yaml +1 -0
  165. package/components/skeleton/skeleton.a2ui.json +1 -0
  166. package/components/skeleton/skeleton.yaml +1 -0
  167. package/components/slider/slider.a2ui.json +1 -0
  168. package/components/slider/slider.yaml +1 -0
  169. package/components/stack/stack.a2ui.json +1 -0
  170. package/components/stack/stack.yaml +1 -0
  171. package/components/stat/stat.a2ui.json +4 -1
  172. package/components/stat/stat.yaml +3 -0
  173. package/components/step-progress/step-progress.a2ui.json +1 -0
  174. package/components/step-progress/step-progress.yaml +1 -0
  175. package/components/stepper/stepper-item.a2ui.json +1 -0
  176. package/components/stepper/stepper-item.yaml +1 -0
  177. package/components/stepper/stepper.a2ui.json +1 -0
  178. package/components/stepper/stepper.yaml +1 -0
  179. package/components/stream/stream.a2ui.json +1 -0
  180. package/components/stream/stream.yaml +1 -0
  181. package/components/swatch/swatch.a2ui.json +1 -0
  182. package/components/swatch/swatch.yaml +1 -0
  183. package/components/swiper/swiper.a2ui.json +1 -0
  184. package/components/swiper/swiper.yaml +1 -0
  185. package/components/switch/switch.a2ui.json +1 -0
  186. package/components/switch/switch.yaml +1 -0
  187. package/components/table/table.a2ui.json +1 -0
  188. package/components/table/table.yaml +1 -0
  189. package/components/table-toolbar/table-toolbar.a2ui.json +1 -0
  190. package/components/table-toolbar/table-toolbar.yaml +1 -0
  191. package/components/tabs/tab.a2ui.json +1 -0
  192. package/components/tabs/tab.yaml +1 -0
  193. package/components/tabs/tabs.a2ui.json +3 -1
  194. package/components/tabs/tabs.yaml +2 -0
  195. package/components/tag/tag.a2ui.json +1 -0
  196. package/components/tag/tag.css +6 -1
  197. package/components/tag/tag.test.js +46 -0
  198. package/components/tag/tag.yaml +1 -0
  199. package/components/text/text.a2ui.json +1 -0
  200. package/components/text/text.yaml +1 -0
  201. package/components/textarea/textarea.a2ui.json +1 -0
  202. package/components/textarea/textarea.yaml +1 -0
  203. package/components/timeline/timeline-item.a2ui.json +1 -0
  204. package/components/timeline/timeline-item.yaml +1 -0
  205. package/components/timeline/timeline.a2ui.json +1 -0
  206. package/components/timeline/timeline.yaml +1 -0
  207. package/components/toast/toast.a2ui.json +1 -0
  208. package/components/toast/toast.yaml +1 -0
  209. package/components/toggle-group/toggle-group.a2ui.json +1 -0
  210. package/components/toggle-group/toggle-group.yaml +1 -0
  211. package/components/toggle-group/toggle-option.a2ui.json +1 -0
  212. package/components/toggle-group/toggle-option.yaml +1 -0
  213. package/components/toggle-scheme/toggle-scheme.a2ui.json +1 -0
  214. package/components/toggle-scheme/toggle-scheme.yaml +1 -0
  215. package/components/toolbar/toolbar-group.a2ui.json +1 -0
  216. package/components/toolbar/toolbar-group.yaml +1 -0
  217. package/components/toolbar/toolbar.a2ui.json +1 -0
  218. package/components/toolbar/toolbar.yaml +1 -0
  219. package/components/tooltip/tooltip.a2ui.json +1 -0
  220. package/components/tooltip/tooltip.yaml +1 -0
  221. package/components/tree/tree-item.a2ui.json +1 -0
  222. package/components/tree/tree-item.yaml +1 -0
  223. package/components/tree/tree.a2ui.json +1 -0
  224. package/components/tree/tree.yaml +1 -0
  225. package/components/upload/upload.a2ui.json +1 -0
  226. package/components/upload/upload.yaml +1 -0
  227. package/core/icons-phosphor.js +9 -3
  228. package/dist/icons-manifest.js +9091 -0
  229. package/dist/web-components.min.css +1 -1
  230. package/dist/web-components.min.js +1 -1
  231. package/package.json +1 -1
  232. package/styles/colors/semantics.css +3 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # Changelog — @adia-ai/web-components
2
2
 
3
+ ## [0.6.32] — 2026-05-23
4
+
5
+ ### Fixed (P0) — `everything.js` CDN bundle now includes all primitives (FB-51)
6
+
7
+ - **`packages/web-modules/everything.js` was shells-only in v0.6.29–v0.6.31** — it registered all four shells but did NOT register the 95+ primitives (`search-ui`, `select-ui`, `field-ui`, `stat-ui`, `row-ui`, etc.). Consumers using the CDN-first "just drop in `everything.min.js`" path hit a hard `TypeError: Cannot read properties of undefined (reading 'toLowerCase')` on any interaction with a primitive element. Root cause: `bundle-js.mjs` assembled the bundle from only the web-modules `index.js`, which re-exports shells but not primitives. Fix: bundle now explicitly includes `web-components/index.js` (all primitives) before web-modules. File: `packages/web-modules/everything.js`.
8
+
9
+ ### Added — `dist/icons-manifest.js` CDN icons-manifest; `core/icons-phosphor.js` CDN prefix (FB-51)
10
+
11
+ - **`packages/web-components/dist/icons-manifest.js`** is now included in the npm tarball's `files:` field and exposed via the `./dist/icons-manifest` export path. Consumers loading via CDN received a 404 on the manifest fetch because the file was excluded from the published package. File: `packages/web-components/dist/icons-manifest.js`.
12
+ - **`core/icons-phosphor.js`** — the non-Vite fallback path now destructures `{ cdn: cdnBase, ...weights }` from the manifest. When `cdnBase` is present (as it is in the new generated manifest), SVG fetches use the CDN URL (`https://cdn.jsdelivr.net/npm/@phosphor-icons/core@X.Y.Z/assets/`) instead of `/node_modules/...` (localhost-only). File: `core/icons-phosphor.js`.
13
+
14
+ ### Added — `site/llms.txt` + `scripts/build/llms.mjs` machine-readable docs
15
+
16
+ - **`site/llms.txt`** is an LLMs.txt-spec document generated by `scripts/build/llms.mjs` and included in every EXE site deploy. It exposes the full component API surface and usage patterns in a format suitable for LLM context injection. Build step wired into `build:site` as a pre-step.
17
+
18
+ ### Added — `status: stable` field on all 141 component YAMLs
19
+
20
+ - Every component YAML now carries `status: stable`, making the stability signal machine-readable in A2UI catalog queries and corpus retrieval. The field is optional in the schema; previously it defaulted to absent (implicitly stable for all released components).
21
+
22
+ ### Documentation — anatomy sections added to all `components/`, `styles/`, and `traits/` example pages
23
+
24
+ - **Canonical anatomy sections** (`data-property="slots|data-attrs|keyboard|css-vars|a2ui|related"`) added to all 124 component example pages, 56 trait example pages, and 10 token (`styles/`) example pages via `scripts/docs/anatomy-sweep.mjs`. The sweep generates slot tables, keyboard interaction tables, CSS custom property tables, A2UI composition rules, and related-component links directly from each component's `.a2ui.json` sidecar data. Existing `properties`, `events`, `CSS Tokens`, and `usage` sections were normalized to the canonical `data-property` vocabulary. Files: `components/**/*.examples.html`, `styles/**/*.examples.html`, `traits/**/*.examples.html`.
25
+
26
+ ### Fixed — `<tag-ui>` / `<badge-ui>` / `<segment-ui>` phantom trailing gap when content is slotted (not `[text]`)
27
+
28
+ - **Three primitives in the same family rendered `::after { content: attr(text) }` unconditionally.** When consumers passed text via the default slot (`<tag-ui>Beta</tag-ui>`) instead of the `[text]` attribute, `attr(text)` resolved to `""` — an empty string IS generated content, so the pseudo-element existed as a flex item. Combined with the host's `display: inline-flex` + `gap`, gap was applied between the slotted text and the empty `::after`, adding a phantom `--{component}-gap`-wide trailing space (~4 px). Fix: gate the rule on `:scope[text]` so the pseudo-element is only generated when the attribute exists — matches the already-correct form in `button.css`. NEW `tag/tag.test.js` (3 cases) pins the contract via source-grep so the ungated form can't drift back. Files: `components/tag/tag.css`, `components/tag/tag.test.js`, `components/badge/badge.css`, `components/segment/segment.css`.
29
+
3
30
  ## [0.6.31] — 2026-05-23
4
31
 
5
32
  ### Documentation — 3 legacy `patterns/*` example files rewritten as canonical hubs
@@ -68,6 +68,7 @@
68
68
  }
69
69
  },
70
70
  "states": [],
71
+ "status": "stable",
71
72
  "synonyms": {
72
73
  "accordion-item": [
73
74
  "collapsible-row",
@@ -11,6 +11,7 @@
11
11
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
12
12
  name: UIAccordionItem
13
13
  tag: accordion-item-ui
14
+ status: stable
14
15
  component: AccordionItem
15
16
  category: layout
16
17
  version: 1
@@ -85,6 +85,7 @@
85
85
  "name": "idle"
86
86
  }
87
87
  ],
88
+ "status": "stable",
88
89
  "synonyms": {
89
90
  "accordion": [
90
91
  "accordion",
@@ -3,6 +3,7 @@
3
3
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
4
4
  name: UIAccordion
5
5
  tag: accordion-ui
6
+ status: stable
6
7
  component: Accordion
7
8
  category: container
8
9
  version: 1
@@ -64,6 +64,7 @@
64
64
  ],
65
65
  "slots": {},
66
66
  "states": [],
67
+ "status": "stable",
67
68
  "synonyms": {
68
69
  "action-item": [
69
70
  "command-item",
@@ -11,6 +11,7 @@
11
11
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
12
12
  name: UIActionItem
13
13
  tag: action-item-ui
14
+ status: stable
14
15
  component: ActionItem
15
16
  category: navigation
16
17
  version: 1
@@ -76,6 +76,7 @@
76
76
  "name": "idle"
77
77
  }
78
78
  ],
79
+ "status": "stable",
79
80
  "synonyms": {
80
81
  "action-list": [
81
82
  "command-list",
@@ -3,6 +3,7 @@
3
3
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
4
4
  name: UIActionList
5
5
  tag: action-list-ui
6
+ status: stable
6
7
  component: ActionList
7
8
  category: navigation
8
9
  version: 1
@@ -100,6 +100,7 @@
100
100
  "name": "idle"
101
101
  }
102
102
  ],
103
+ "status": "stable",
103
104
  "synonyms": {
104
105
  "artifact": [
105
106
  "agent-artifact",
@@ -3,6 +3,7 @@
3
3
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
4
4
  name: UIAgentArtifact
5
5
  tag: agent-artifact-ui
6
+ status: stable
6
7
  component: AgentArtifact
7
8
  category: agent
8
9
  version: 1
@@ -91,6 +91,7 @@
91
91
  "name": "disabled"
92
92
  }
93
93
  ],
94
+ "status": "stable",
94
95
  "synonyms": {
95
96
  "feedback-bar": [
96
97
  "agent-feedback",
@@ -3,6 +3,7 @@
3
3
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
4
4
  name: UIAgentFeedbackBar
5
5
  tag: agent-feedback-bar-ui
6
+ status: stable
6
7
  component: AgentFeedbackBar
7
8
  category: agent
8
9
  version: 1
@@ -93,6 +93,7 @@
93
93
  "name": "idle"
94
94
  }
95
95
  ],
96
+ "status": "stable",
96
97
  "synonyms": {
97
98
  "questions": [
98
99
  "clarifying-questions",
@@ -3,6 +3,7 @@
3
3
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
4
4
  name: UIAgentQuestions
5
5
  tag: agent-questions-ui
6
+ status: stable
6
7
  component: AgentQuestions
7
8
  category: agent
8
9
  version: 1
@@ -120,6 +120,7 @@
120
120
  "name": "idle"
121
121
  }
122
122
  ],
123
+ "status": "stable",
123
124
  "synonyms": {
124
125
  "chain-of-thought-ui": "agent-reasoning-ui",
125
126
  "cot-ui": "agent-reasoning-ui"
@@ -3,6 +3,7 @@
3
3
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
4
4
  name: UIAgentReasoning
5
5
  tag: agent-reasoning-ui
6
+ status: stable
6
7
  component: AgentReasoning
7
8
  category: agent
8
9
  version: 1
@@ -95,6 +95,7 @@
95
95
  "name": "disabled"
96
96
  }
97
97
  ],
98
+ "status": "stable",
98
99
  "synonyms": {
99
100
  "suggestions": [
100
101
  "follow-ups",
@@ -3,6 +3,7 @@
3
3
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
4
4
  name: UIAgentSuggestions
5
5
  tag: agent-suggestions-ui
6
+ status: stable
6
7
  component: AgentSuggestions
7
8
  category: agent
8
9
  version: 1
@@ -76,6 +76,7 @@
76
76
  "name": "idle"
77
77
  }
78
78
  ],
79
+ "status": "stable",
79
80
  "synonyms": {
80
81
  "trace": [
81
82
  "agent-trace",
@@ -3,6 +3,7 @@
3
3
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
4
4
  name: UIAgentTrace
5
5
  tag: agent-trace-ui
6
+ status: stable
6
7
  component: AgentTrace
7
8
  category: agent
8
9
  version: 1
@@ -128,6 +128,7 @@
128
128
  "name": "idle"
129
129
  }
130
130
  ],
131
+ "status": "stable",
131
132
  "synonyms": {
132
133
  "alert": [
133
134
  "alert",
@@ -3,6 +3,7 @@
3
3
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
4
4
  name: UIAlert
5
5
  tag: alert-ui
6
+ status: stable
6
7
  component: Alert
7
8
  category: container
8
9
  version: 1
@@ -76,6 +76,7 @@
76
76
  "name": "idle"
77
77
  }
78
78
  ],
79
+ "status": "stable",
79
80
  "synonyms": {
80
81
  "aside": [
81
82
  "side-region",
@@ -2,6 +2,7 @@
2
2
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
3
3
  name: UIAside
4
4
  tag: aside-ui
5
+ status: stable
5
6
  component: Aside
6
7
  category: container
7
8
  version: 1
@@ -51,6 +51,7 @@
51
51
  ],
52
52
  "slots": {},
53
53
  "states": [],
54
+ "status": "stable",
54
55
  "synonyms": {
55
56
  "avatar-group": [
56
57
  "facepile",
@@ -10,6 +10,7 @@
10
10
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
11
11
  name: UIAvatarGroup
12
12
  tag: avatar-group-ui
13
+ status: stable
13
14
  component: AvatarGroup
14
15
  category: feedback
15
16
  version: 1
@@ -126,6 +126,7 @@
126
126
  "name": "idle"
127
127
  }
128
128
  ],
129
+ "status": "stable",
129
130
  "synonyms": {
130
131
  "avatar": [
131
132
  "user",
@@ -3,6 +3,7 @@
3
3
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
4
4
  name: UIAvatar
5
5
  tag: avatar-ui
6
+ status: stable
6
7
  component: Avatar
7
8
  category: display
8
9
  version: 1
@@ -72,7 +72,8 @@
72
72
  }
73
73
  },
74
74
  "required": [
75
- "component"
75
+ "component",
76
+ "text"
76
77
  ],
77
78
  "unevaluatedProperties": false,
78
79
  "x-adiaui": {
@@ -127,6 +128,7 @@
127
128
  "name": "idle"
128
129
  }
129
130
  ],
131
+ "status": "stable",
130
132
  "synonyms": {
131
133
  "badge": [
132
134
  "badge",
@@ -31,7 +31,12 @@
31
31
  vertical-align: middle;
32
32
  }
33
33
 
34
- :scope::after {
34
+ /* `[text]` attribute selector gates the ::after so consumers using
35
+ slotted content (`<badge-ui>3</badge-ui>`) don't get an empty
36
+ pseudo-element flex item — which would otherwise inherit the
37
+ host's `gap` and add a phantom `--badge-gap`-wide trailing space
38
+ after the slotted content. Mirrors `button.css` / `tag.css`. */
39
+ :scope[text]::after {
35
40
  content: attr(text);
36
41
  }
37
42
 
@@ -3,6 +3,7 @@
3
3
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
4
4
  name: UIBadge
5
5
  tag: badge-ui
6
+ status: stable
6
7
  component: Badge
7
8
  category: display
8
9
  version: 1
@@ -48,6 +49,7 @@ props:
48
49
  - beta
49
50
  text:
50
51
  description: Badge text content. Falls back to existing textContent.
52
+ required: true
51
53
  type: string
52
54
  default: ""
53
55
  textContent:
@@ -84,6 +84,7 @@
84
84
  "name": "idle"
85
85
  }
86
86
  ],
87
+ "status": "stable",
87
88
  "synonyms": {
88
89
  "code": [
89
90
  "code",
@@ -3,6 +3,7 @@
3
3
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
4
4
  name: UIBlock
5
5
  tag: block-ui
6
+ status: stable
6
7
  component: Block
7
8
  category: layout
8
9
  version: 1
@@ -77,6 +77,7 @@
77
77
  "name": "idle"
78
78
  }
79
79
  ],
80
+ "status": "stable",
80
81
  "synonyms": {
81
82
  "back": [
82
83
  "breadcrumb",
@@ -3,6 +3,7 @@
3
3
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
4
4
  name: UIBreadcrumb
5
5
  tag: breadcrumb-ui
6
+ status: stable
6
7
  component: Breadcrumb
7
8
  category: navigation
8
9
  version: 1
@@ -162,6 +162,7 @@
162
162
  "selector": ":active"
163
163
  }
164
164
  ],
165
+ "status": "stable",
165
166
  "synonyms": {
166
167
  "button": [
167
168
  "btn",
@@ -3,6 +3,7 @@
3
3
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
4
4
  name: UIButton
5
5
  tag: button-ui
6
+ status: stable
6
7
  component: Button
7
8
  category: action
8
9
  version: 1
@@ -131,6 +131,7 @@
131
131
  "name": "disabled"
132
132
  }
133
133
  ],
134
+ "status": "stable",
134
135
  "synonyms": {
135
136
  "tags": [
136
137
  "DateTimeInput",
@@ -1,6 +1,7 @@
1
1
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
2
2
  name: UICalendarPicker
3
3
  tag: calendar-picker-ui
4
+ status: stable
4
5
  component: CalendarPicker
5
6
  category: input
6
7
  version: 1
@@ -62,6 +62,7 @@
62
62
  "name": "idle"
63
63
  }
64
64
  ],
65
+ "status": "stable",
65
66
  "synonyms": {
66
67
  "tags": [
67
68
  "render-surface",
@@ -1,6 +1,7 @@
1
1
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
2
2
  name: UICanvas
3
3
  tag: canvas-ui
4
+ status: stable
4
5
  component: Canvas
5
6
  category: agent
6
7
  version: 1
@@ -120,6 +120,7 @@
120
120
  "name": "idle"
121
121
  }
122
122
  ],
123
+ "status": "stable",
123
124
  "synonyms": {
124
125
  "catalog": [
125
126
  "product",
@@ -1,6 +1,7 @@
1
1
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
2
2
  name: UICard
3
3
  tag: card-ui
4
+ status: stable
4
5
  component: Card
5
6
  category: container
6
7
  version: 1
@@ -139,7 +139,8 @@
139
139
  }
140
140
  },
141
141
  "required": [
142
- "component"
142
+ "component",
143
+ "type"
143
144
  ],
144
145
  "unevaluatedProperties": false,
145
146
  "x-adiaui": {
@@ -219,6 +220,7 @@
219
220
  "name": "empty"
220
221
  }
221
222
  ],
223
+ "status": "stable",
222
224
  "synonyms": {
223
225
  "analytics": [
224
226
  "chart",
@@ -3,6 +3,7 @@
3
3
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
4
4
  name: UIChart
5
5
  tag: chart-ui
6
+ status: stable
6
7
  component: Chart
7
8
  category: agent
8
9
  version: 1
@@ -13,6 +14,7 @@ description: >-
13
14
  props:
14
15
  type:
15
16
  description: Chart type. All 18 enum values have dedicated render paths in chart.js.
17
+ required: true
16
18
  type: string
17
19
  default: bar
18
20
  enum:
@@ -140,6 +140,7 @@
140
140
  "name": "static"
141
141
  }
142
142
  ],
143
+ "status": "stable",
143
144
  "synonyms": {
144
145
  "chart": [
145
146
  "chart-legend",
@@ -1,6 +1,7 @@
1
1
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
2
2
  name: UIChartLegend
3
3
  tag: chart-legend-ui
4
+ status: stable
4
5
  component: ChartLegend
5
6
  category: agent
6
7
  version: 1
@@ -143,6 +143,7 @@
143
143
  "name": "loading"
144
144
  }
145
145
  ],
146
+ "status": "stable",
146
147
  "synonyms": {
147
148
  "message-input": [
148
149
  "conversation-input",
@@ -21,6 +21,7 @@
21
21
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
22
22
  name: UIChatInput
23
23
  tag: chat-input-ui
24
+ status: stable
24
25
  component: ChatInput
25
26
  category: agent
26
27
  version: 1
@@ -103,6 +103,7 @@
103
103
  "name": "idle"
104
104
  }
105
105
  ],
106
+ "status": "stable",
106
107
  "synonyms": {
107
108
  "ai": [
108
109
  "chat",
@@ -3,6 +3,7 @@
3
3
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
4
4
  name: UIChatThread
5
5
  tag: chat-thread-ui
6
+ status: stable
6
7
  component: ChatThread
7
8
  category: agent
8
9
  version: 1
@@ -58,7 +58,8 @@
58
58
  }
59
59
  },
60
60
  "required": [
61
- "component"
61
+ "component",
62
+ "label"
62
63
  ],
63
64
  "unevaluatedProperties": false,
64
65
  "x-adiaui": {
@@ -115,6 +116,7 @@
115
116
  "name": "disabled"
116
117
  }
117
118
  ],
119
+ "status": "stable",
118
120
  "synonyms": {
119
121
  "checkbox": [
120
122
  "check",
@@ -3,6 +3,7 @@
3
3
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
4
4
  name: UICheck
5
5
  tag: check-ui
6
+ status: stable
6
7
  component: Check
7
8
  category: layout
8
9
  version: 1
@@ -44,6 +45,7 @@ props:
44
45
  default: false
45
46
  label:
46
47
  description: Label text beside the checkbox
48
+ required: true
47
49
  type: string
48
50
  default: ""
49
51
  value:
@@ -177,6 +177,7 @@
177
177
  "name": "invalid"
178
178
  }
179
179
  ],
180
+ "status": "stable",
180
181
  "synonyms": {
181
182
  "api": [
182
183
  "api",
@@ -313,7 +313,7 @@
313
313
  }
314
314
 
315
315
  :scope .cm-content {
316
- padding: 0;
316
+ padding: var(--code-py) var(--code-px);
317
317
  caret-color: var(--code-cursor);
318
318
  }
319
319
 
@@ -3,6 +3,7 @@
3
3
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
4
4
  name: UICode
5
5
  tag: code-ui
6
+ status: stable
6
7
  component: Code
7
8
  category: display
8
9
  version: 1
@@ -81,6 +81,7 @@
81
81
  "name": "idle"
82
82
  }
83
83
  ],
84
+ "status": "stable",
84
85
  "synonyms": {
85
86
  "column": [
86
87
  "col",
@@ -3,6 +3,7 @@
3
3
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
4
4
  name: UICol
5
5
  tag: col-ui
6
+ status: stable
6
7
  component: Col
7
8
  category: layout
8
9
  version: 1
@@ -198,6 +198,7 @@
198
198
  "name": "disabled"
199
199
  }
200
200
  ],
201
+ "status": "stable",
201
202
  "synonyms": {
202
203
  "color-field": [
203
204
  "color-input"
@@ -1,6 +1,7 @@
1
1
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
2
2
  name: UIColorInput
3
3
  tag: color-input-ui
4
+ status: stable
4
5
  component: ColorInput
5
6
  category: input
6
7
  version: 1