@adia-ai/a2ui-corpus 0.6.18 → 0.6.20

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 (236) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/catalog-a2ui_0_9.json +147 -8
  3. package/catalog-a2ui_0_9_rules.txt +8 -0
  4. package/chunk-embeddings.json +1 -1
  5. package/chunks/_index.json +29 -31
  6. package/chunks/accordion-settings.json +1 -1
  7. package/chunks/agent-activity-feed.json +2 -1
  8. package/chunks/agent-canvas-shell.json +1 -1
  9. package/chunks/agent-command-palette-search.json +8 -2
  10. package/chunks/agent-reasoning-collapsed.json +2 -1
  11. package/chunks/agent-tool-call-result.json +6 -2
  12. package/chunks/agent-trace-timeline.json +24 -2
  13. package/chunks/ai-streaming-response.json +4 -2
  14. package/chunks/alert-banner.json +3 -1
  15. package/chunks/auth-account-deleted-actions.json +1 -1
  16. package/chunks/auth-account-deleted.json +1 -1
  17. package/chunks/auth-card-content.json +1 -1
  18. package/chunks/auth-card-header.json +1 -1
  19. package/chunks/auth-email-entry.json +1 -1
  20. package/chunks/auth-email-verify-confirm.json +1 -1
  21. package/chunks/auth-email-verify.json +1 -1
  22. package/chunks/auth-forbidden-actions.json +1 -1
  23. package/chunks/auth-forbidden.json +1 -1
  24. package/chunks/auth-invite-actions.json +1 -1
  25. package/chunks/auth-invite-team-card.json +1 -1
  26. package/chunks/auth-link-expired-form.json +1 -1
  27. package/chunks/auth-link-expired.json +1 -1
  28. package/chunks/auth-locked-account.json +1 -1
  29. package/chunks/auth-locked-recovery-options.json +1 -1
  30. package/chunks/auth-mfa-enrollment-submit.json +1 -1
  31. package/chunks/auth-mfa-enrollment.json +7 -1
  32. package/chunks/auth-mfa-fallback-actions.json +1 -1
  33. package/chunks/auth-mfa-recovery.json +1 -1
  34. package/chunks/auth-new-password-form.json +1 -1
  35. package/chunks/auth-new-password.json +3 -1
  36. package/chunks/auth-oauth-fallback-actions.json +1 -1
  37. package/chunks/auth-oauth-interstitial.json +1 -1
  38. package/chunks/auth-password-challenge.json +1 -1
  39. package/chunks/auth-password-reset-form.json +1 -1
  40. package/chunks/auth-password-reset.json +3 -1
  41. package/chunks/auth-profile-form.json +1 -1
  42. package/chunks/auth-profile-setup.json +1 -1
  43. package/chunks/auth-reset-sent.json +1 -1
  44. package/chunks/auth-session-expired-actions.json +1 -1
  45. package/chunks/auth-session-expired.json +1 -1
  46. package/chunks/auth-signin-card-email.json +3 -1
  47. package/chunks/auth-signin-card-magic-link.json +2 -1
  48. package/chunks/auth-signin-card-mfa.json +3 -1
  49. package/chunks/auth-signin-card-otp.json +6 -1
  50. package/chunks/auth-signin-card-password.json +2 -1
  51. package/chunks/auth-signin-card-recovery.json +1 -1
  52. package/chunks/auth-signout-actions.json +1 -1
  53. package/chunks/auth-signout.json +1 -1
  54. package/chunks/auth-signup-email-entry.json +1 -1
  55. package/chunks/auth-signup-entry.json +6 -1
  56. package/chunks/auth-signup-social-auths.json +1 -1
  57. package/chunks/auth-signup-verify.json +1 -1
  58. package/chunks/auth-social-auths.json +1 -1
  59. package/chunks/auth-sso-providers.json +1 -1
  60. package/chunks/auth-sso-required.json +1 -1
  61. package/chunks/auth-team-invite.json +1 -1
  62. package/chunks/avatar-group-overflow.json +3 -1
  63. package/chunks/breadcrumb-nav.json +2 -1
  64. package/chunks/calendar-month-view.json +1 -1
  65. package/chunks/card-header-with-description.json +1 -1
  66. package/chunks/chart-with-filter-pills.json +6 -2
  67. package/chunks/chat-page-shell.json +13 -7
  68. package/chunks/chat-streaming-surface.json +1 -1
  69. package/chunks/color-picker-swatches.json +5 -1
  70. package/chunks/command-palette.json +1 -1
  71. package/chunks/commerce-pricing-tiers.json +17 -1
  72. package/chunks/comparison-table.json +34 -1
  73. package/chunks/conversion-funnel-6step.json +4 -1
  74. package/chunks/dashboard-acquisition-panel.json +3 -1
  75. package/chunks/dashboard-admin-page.json +2 -2
  76. package/chunks/dashboard-audience-kpis.json +1 -1
  77. package/chunks/dashboard-audience-panel.json +19 -1
  78. package/chunks/dashboard-behavior-panel.json +2 -1
  79. package/chunks/dashboard-chart-recent.json +13 -1
  80. package/chunks/dashboard-cohort-retention.json +1 -1
  81. package/chunks/dashboard-conversion-panel.json +4 -1
  82. package/chunks/dashboard-country-list.json +2 -2
  83. package/chunks/dashboard-filter-bar.json +3 -1
  84. package/chunks/dashboard-funnel.json +3 -1
  85. package/chunks/dashboard-kpi-grid.json +1 -1
  86. package/chunks/dashboard-notifications-feed.json +1 -1
  87. package/chunks/dashboard-notifications-panel.json +21 -1
  88. package/chunks/dashboard-overview-panel.json +20 -1
  89. package/chunks/dashboard-page-header.json +1 -1
  90. package/chunks/dashboard-pages-table.json +1 -1
  91. package/chunks/dashboard-quick-actions.json +1 -1
  92. package/chunks/dashboard-reports-panel.json +1 -1
  93. package/chunks/dashboard-reports-table.json +1 -1
  94. package/chunks/dashboard-spark-cards.json +1 -1
  95. package/chunks/dashboard-storage-card.json +1 -1
  96. package/chunks/dashboard-tabs.json +1 -1
  97. package/chunks/dashboard-team-actions-storage.json +7 -1
  98. package/chunks/dashboard-team-list.json +1 -1
  99. package/chunks/dashboard-traffic-channels.json +1 -1
  100. package/chunks/dashboard-transactions-table.json +2 -1
  101. package/chunks/date-time-picker-form.json +1 -1
  102. package/chunks/destructive-confirm-modal.json +1 -1
  103. package/chunks/divider-text-label.json +3 -1
  104. package/chunks/doc-editor-shell.json +1 -1
  105. package/chunks/drawer-2fa-key.json +1 -1
  106. package/chunks/drawer-2fa-sms.json +1 -1
  107. package/chunks/drawer-2fa-totp.json +1 -1
  108. package/chunks/drawer-cancel-sub.json +1 -1
  109. package/chunks/drawer-change-plan.json +1 -1
  110. package/chunks/drawer-custom-roles.json +1 -1
  111. package/chunks/drawer-data-start.json +1 -1
  112. package/chunks/drawer-delete-account.json +1 -1
  113. package/chunks/drawer-delete-workspace.json +2 -2
  114. package/chunks/drawer-discord.json +1 -1
  115. package/chunks/drawer-figma.json +1 -1
  116. package/chunks/drawer-first-dashboard.json +1 -1
  117. package/chunks/drawer-gcal.json +1 -1
  118. package/chunks/drawer-github.json +1 -1
  119. package/chunks/drawer-invite.json +1 -1
  120. package/chunks/drawer-payment-method.json +3 -1
  121. package/chunks/drawer-report.json +1 -1
  122. package/chunks/drawer-revoke-session.json +1 -1
  123. package/chunks/drawer-role.json +1 -1
  124. package/chunks/drawer-slack.json +1 -1
  125. package/chunks/drawer-smtp.json +1 -1
  126. package/chunks/drawer-source.json +1 -1
  127. package/chunks/drawer-transaction.json +1 -1
  128. package/chunks/editor-code-pane.json +1 -1
  129. package/chunks/editor-page-shell.json +1 -1
  130. package/chunks/editor-preview-pane.json +3 -1
  131. package/chunks/empty-state.json +3 -1
  132. package/chunks/error-404-actions.json +1 -1
  133. package/chunks/error-404.json +4 -1
  134. package/chunks/error-500-actions.json +1 -1
  135. package/chunks/error-500.json +3 -1
  136. package/chunks/error-maintenance-actions.json +1 -1
  137. package/chunks/error-maintenance.json +4 -1
  138. package/chunks/error-page-shell.json +4 -3
  139. package/chunks/faq-accordion.json +5 -1
  140. package/chunks/file-upload-dnd.json +1 -1
  141. package/chunks/footer-multi-column.json +5 -1
  142. package/chunks/footer-primary-only.json +1 -1
  143. package/chunks/form-page-shell.json +2 -1
  144. package/chunks/gallery-page-shell.json +18 -1
  145. package/chunks/hero-section-split.json +8 -1
  146. package/chunks/icon-text-row.json +1 -1
  147. package/chunks/image-carousel.json +10 -2
  148. package/chunks/image-tile.json +1 -1
  149. package/chunks/image-upload-preview.json +5 -2
  150. package/chunks/inventory-list-stock.json +7 -1
  151. package/chunks/kanban-board-3col.json +4 -1
  152. package/chunks/kanban-page-shell.json +27 -7
  153. package/chunks/kbd-shortcuts.json +1 -1
  154. package/chunks/labeled-textarea.json +1 -1
  155. package/chunks/leaderboard-table.json +3 -1
  156. package/chunks/linked-record-row.json +1 -1
  157. package/chunks/marketing-hero-cta.json +7 -1
  158. package/chunks/marketing-page-shell.json +7 -1
  159. package/chunks/masonry-gallery.json +17 -1
  160. package/chunks/member-edit-drawer.json +1 -1
  161. package/chunks/metadata-description-list.json +1 -1
  162. package/chunks/multi-step-wizard.json +1 -1
  163. package/chunks/notification-toast-row.json +1 -1
  164. package/chunks/onb-completion.json +1 -1
  165. package/chunks/onb-extension-install.json +1 -1
  166. package/chunks/onb-hero-welcome.json +1 -1
  167. package/chunks/onb-import-picker.json +1 -1
  168. package/chunks/onb-mobile-handoff.json +1 -1
  169. package/chunks/onb-notification-prefs.json +1 -1
  170. package/chunks/onb-persona-picker.json +1 -1
  171. package/chunks/onb-provider-tiles.json +1 -1
  172. package/chunks/onb-settings-review.json +1 -1
  173. package/chunks/onb-step-footer.json +1 -1
  174. package/chunks/onb-step-header.json +1 -1
  175. package/chunks/onb-step-progress.json +1 -1
  176. package/chunks/onb-step-shell.json +4 -1
  177. package/chunks/onb-story-pane.json +1 -1
  178. package/chunks/onb-tutorial-steps.json +1 -1
  179. package/chunks/pagination-controls.json +3 -1
  180. package/chunks/playground-a2ui.json +1 -1
  181. package/chunks/playground-app-shell.json +1 -1
  182. package/chunks/playground-chat.json +1 -1
  183. package/chunks/playground-construct-canvas.json +1 -1
  184. package/chunks/playground-gen-ui.json +1 -1
  185. package/chunks/playground-render-preview.json +2 -2
  186. package/chunks/playground-streams-bridge.json +1 -1
  187. package/chunks/playground-table-toolbar.json +1 -1
  188. package/chunks/popover-with-content.json +2 -1
  189. package/chunks/progress-tracker-milestones.json +19 -2
  190. package/chunks/real-time-metrics-dashboard.json +17 -2
  191. package/chunks/reg-address-form.json +5 -3
  192. package/chunks/reg-billing-card.json +1 -1
  193. package/chunks/reg-brand-scrape.json +1 -1
  194. package/chunks/reg-departments-toggle.json +1 -1
  195. package/chunks/reg-extended-profile.json +1 -1
  196. package/chunks/reg-final-done.json +1 -1
  197. package/chunks/reg-helpdesk-grid.json +1 -1
  198. package/chunks/reg-import-picker.json +1 -1
  199. package/chunks/reg-integrations-grid.json +1 -1
  200. package/chunks/reg-invite-form.json +1 -1
  201. package/chunks/reg-legal-entity.json +1 -1
  202. package/chunks/reg-org-chart-review.json +1 -1
  203. package/chunks/reg-profile-identity.json +1 -1
  204. package/chunks/reg-step-footer.json +1 -1
  205. package/chunks/reg-step-header.json +1 -1
  206. package/chunks/reg-step-progress.json +1 -1
  207. package/chunks/reg-step-shell.json +8 -1
  208. package/chunks/reg-story-pane.json +1 -1
  209. package/chunks/reg-success-summary.json +1 -1
  210. package/chunks/reg-team-size.json +1 -1
  211. package/chunks/reg-usecase-picker.json +1 -1
  212. package/chunks/reg-workspace-name.json +2 -1
  213. package/chunks/search-with-filters.json +5 -1
  214. package/chunks/section-with-stack.json +1 -1
  215. package/chunks/settings-admin-page.json +37 -52
  216. package/chunks/settings-appearance.json +61 -23
  217. package/chunks/settings-billing-plan.json +1 -1
  218. package/chunks/settings-general-form.json +1 -1
  219. package/chunks/settings-integrations.json +1 -1
  220. package/chunks/settings-members-invite.json +1 -1
  221. package/chunks/settings-notifications.json +4 -1
  222. package/chunks/settings-page-shell.json +2 -1
  223. package/chunks/settings-profile-security.json +3 -1
  224. package/chunks/sidebar-collapsible-nav.json +4 -2
  225. package/chunks/slider-range-controls.json +1 -1
  226. package/chunks/tabs-with-panels.json +6 -1
  227. package/chunks/testimonial-grid.json +11 -2
  228. package/chunks/text-card.json +1 -1
  229. package/chunks/timeline-events.json +17 -2
  230. package/chunks/toolbar-icons.json +1 -1
  231. package/chunks/toolbar-tooltips.json +1 -1
  232. package/chunks/user-identity-row.json +1 -1
  233. package/chunks/user-profile-card.json +4 -1
  234. package/chunks/users-table-badge.json +8 -1
  235. package/chunks/video-player-controls.json +5 -1
  236. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog — @adia-ai/a2ui-corpus
2
2
 
3
+ ## [0.6.20] — 2026-05-21
4
+
5
+ ### Changed
6
+ - **`catalog-a2ui_0_9.json` + `catalog-a2ui_0_9_rules.txt` regenerated.** Re-emitted to reflect the v0.6.20 primitive-schema changes: the new `<admin-entity-item>` shell primitive (FEEDBACK-38), the `<admin-topbar>` / `<admin-statusbar>` yaml additions (FEEDBACK-37), and the `table-ui` / `select-ui` schema clarifications (FEEDBACK-34/35/36). Keeps the A2UI component catalog in sync with the primitive schemas.
7
+
8
+ ### Note
9
+ - The headline v0.6.20 work shipped in `@adia-ai/web-components` + `@adia-ai/web-modules` — the claims-ui-v5 inbound feedback batch (FEEDBACK-34…39). See `packages/web-modules/CHANGELOG.md#0620--2026-05-21`.
10
+
11
+ ## [0.6.19] — 2026-05-21
12
+
13
+ ### Fixed
14
+ - **Corpus drift remediation — `verify:corpus` 22 findings → 0.** Freshened the stale corpus chunks: ~235 JSON files under `chunks/` re-harvested/reconciled so every chunk matches its current primitive composition, and `catalog-a2ui_0_9.json` regenerated. Companion `chunk-reconcile` triage cleared 38 collisions (all confirmed legitimate). Brings the A2UI training corpus back in sync with the v0.6.18→v0.6.19 primitive-schema state.
15
+
16
+ ### Note
17
+ - The headline v0.6.19 work — claims-ui-v4 inbound feedback batch (FEEDBACK-22…33: `drawer-ui`, `chart-ui`, `segmented-ui`, `UIElement` lifecycle, exports-map `types` conditions) — shipped in `@adia-ai/web-components` + `@adia-ai/web-modules`. See `packages/web-components/CHANGELOG.md#0619--2026-05-21`.
18
+
3
19
  ## [0.6.18] — 2026-05-21
4
20
 
5
21
  ### Changed
@@ -643,6 +643,83 @@
643
643
  "version": 1
644
644
  }
645
645
  },
646
+ "AdminEntityItem": {
647
+ "title": "AdminEntityItem",
648
+ "description": "Module-tier shell identity row. CSS-only — no behavior, no JS.\nA composable icon + label + badge unit: a leading icon (or avatar),\na truncating label, and an optional trailing badge that travel\ntogether as one slottable element.\n\nUse it wherever a shell surface shows an entity identity — workspace\nidentity in an <admin-topbar slot=\"header\">, user identity in an\n<admin-statusbar>, the leading item of a breadcrumb, a flyout header,\nor a user row. Inside a collapsible <admin-sidebar> the label and\nbadge hide when the rail collapses; the icon survives — so the same\nmarkup works expanded and collapsed without authoring two shapes.\n\nGeometry mirrors <select-ui>'s trigger row: [slot=\"icon\"] is fixed\n(like [slot=\"leading\"]), [slot=\"label\"] flexes + truncates (like\n[slot=\"display\"]), [slot=\"badge\"] is fixed trailing (like\n[slot=\"caret\"]).\n",
649
+ "type": "object",
650
+ "allOf": [
651
+ {
652
+ "$ref": "#/$defs/ComponentCommon"
653
+ },
654
+ {
655
+ "$ref": "#/$defs/CatalogComponentCommon"
656
+ }
657
+ ],
658
+ "properties": {
659
+ "component": {
660
+ "const": "AdminEntityItem"
661
+ }
662
+ },
663
+ "required": [
664
+ "component"
665
+ ],
666
+ "unevaluatedProperties": false,
667
+ "x-adiaui": {
668
+ "anti_patterns": [],
669
+ "category": "layout",
670
+ "composes": [],
671
+ "events": {},
672
+ "examples": [],
673
+ "keywords": [
674
+ "admin-entity-item",
675
+ "entity-item",
676
+ "identity-row",
677
+ "workspace-identity",
678
+ "user-identity",
679
+ "icon-label-badge"
680
+ ],
681
+ "name": "AdminEntityItem",
682
+ "related": [
683
+ "AdminTopbar",
684
+ "AdminStatusbar",
685
+ "AdminSidebar",
686
+ "Select",
687
+ "Badge",
688
+ "Icon"
689
+ ],
690
+ "slots": {
691
+ "default": {
692
+ "description": "Default content — unslotted children flow inline. Prefer the named slots for the canonical icon + label + badge composition."
693
+ },
694
+ "badge": {
695
+ "description": "Optional trailing chip — environment (staging / beta) or role badge. Fixed width. Hidden when a collapsible sidebar collapses."
696
+ },
697
+ "icon": {
698
+ "description": "Leading visual — an <icon-ui> glyph or an <img> avatar (img is given a circular crop). Fixed width; survives sidebar collapse."
699
+ },
700
+ "label": {
701
+ "description": "Primary text. Flexes to fill the remaining width and truncates with an ellipsis. Hidden when a collapsible sidebar collapses."
702
+ }
703
+ },
704
+ "states": [
705
+ {
706
+ "description": "Default, the only state.",
707
+ "name": "idle"
708
+ }
709
+ ],
710
+ "synonyms": {
711
+ "entity-item": [
712
+ "identity-row",
713
+ "entity-row",
714
+ "identity-item"
715
+ ]
716
+ },
717
+ "tag": "admin-entity-item",
718
+ "tokens": {},
719
+ "traits": [],
720
+ "version": 1
721
+ }
722
+ },
646
723
  "AdminPage": {
647
724
  "title": "AdminPage",
648
725
  "description": "Module-tier page wrapper. CSS-only — no behavior, no JS. Provides\nthe page-content-root container query (named `page-content`) so\ndescendants can adapt to available content width (sidebars expanded\nvs collapsed) instead of viewport width. Stamps the sticky-band\nlayout: <admin-page-header> + <admin-page-body> + optional footer.\n\nReplaces the legacy <article data-content-root> shape per ADR-0023.\n",
@@ -1075,6 +1152,7 @@
1075
1152
  "AdminShell",
1076
1153
  "AdminContent",
1077
1154
  "AdminTopbar",
1155
+ "AdminEntityItem",
1078
1156
  "Footer"
1079
1157
  ],
1080
1158
  "slots": {
@@ -1156,6 +1234,7 @@
1156
1234
  "AdminContent",
1157
1235
  "AdminSidebar",
1158
1236
  "AdminStatusbar",
1237
+ "AdminEntityItem",
1159
1238
  "Header"
1160
1239
  ],
1161
1240
  "slots": {
@@ -3633,6 +3712,11 @@
3633
3712
  "component": {
3634
3713
  "const": "Chart"
3635
3714
  },
3715
+ "data": {
3716
+ "description": "JS property (set programmatically — `el.data = [...]`). An array of plain objects; each object's keys are named by the `x` and `y` attributes — e.g. `<chart-ui x=\"month\" y=\"revenue\">` consumes `[{month:'Jan', revenue:3200}, {month:'Feb', revenue:4100}]`. The Chart.js `{labels, datasets}` envelope is NOT chart-ui's API — passing it (or any non-array value) renders an empty chart. May also be supplied declaratively as a JSON-array `data=\"[…]\"` attribute, hydrated once at connect. Custom accessor on the element class, not a reflected attribute.",
3717
+ "type": "array",
3718
+ "default": []
3719
+ },
3636
3720
  "format": {
3637
3721
  "description": "Number-format mode applied to axis labels + value overlays + donut total + gauge value + treemap value + funnel value + internal tooltip. `abbr` is the legacy 1.2K / 3M format; `decimal` fixes 2 decimals; `currency` prefixes via `--chart-currency-prefix` token (default \"$\"); `percent` multiplies × 100 and adds a % suffix.",
3638
3722
  "type": "string",
@@ -6357,7 +6441,14 @@
6357
6441
  ],
6358
6442
  "unevaluatedProperties": false,
6359
6443
  "x-adiaui": {
6360
- "anti_patterns": [],
6444
+ "anti_patterns": [
6445
+ {
6446
+ "description": "Replacing a drawer's children wholesale — `drawer.innerHTML = '…'` — wipes the internal <dialog> part UIDrawer stamps and tracks. render() re-stamps and re-binds the dialog defensively (FEEDBACK-30), but the authored header/section/footer skeleton is still destroyed on every mutation, and any consumer-held reference to a former child is stale.",
6447
+ "right": "<drawer-ui><header>Title</header><section id=\"body\"></section></drawer-ui>\n<!-- mutate a stable inner element, never the component host -->\ndocument.getElementById('body').innerHTML = renderFields(claim);\n",
6448
+ "rule": "Never set .innerHTML on a UIElement component host. Keep <header>/<section>/<footer> as persistent children and mutate the content of a plain inner element instead.",
6449
+ "wrong": "drawer.innerHTML = `<header>${title}</header><section>${body}</section>`;\n"
6450
+ }
6451
+ ],
6361
6452
  "category": "container",
6362
6453
  "composes": [],
6363
6454
  "events": {
@@ -6375,6 +6466,9 @@
6375
6466
  ]
6376
6467
  }
6377
6468
  }
6469
+ },
6470
+ "opened": {
6471
+ "description": "Fired after the drawer finishes its open transition — scheduled `--drawer-duration` ms after `showModal()` + `[data-open]`. Lets Playwright (and any consumer code waiting for the drawer to be fully open and interactive) listen for an event instead of guessing with a fixed timeout. Cancelled if the drawer closes before the open transition completes, so a rapid close→open never fires a stale `opened`. Added per FEEDBACK-27."
6378
6472
  }
6379
6473
  },
6380
6474
  "examples": [
@@ -12782,7 +12876,7 @@
12782
12876
  },
12783
12877
  "Segmented": {
12784
12878
  "title": "Segmented",
12785
- "description": "<segmented-ui value=\"tab1\">",
12879
+ "description": "Single-select toggle group with an animated sliding indicator. Children must be segment-ui elements.",
12786
12880
  "type": "object",
12787
12881
  "allOf": [
12788
12882
  {
@@ -12817,8 +12911,8 @@
12817
12911
  },
12818
12912
  "examples": [
12819
12913
  {
12820
- "description": "Basic Segmented usage",
12821
- "a2ui": "[\n {\n \"id\": \"root\",\n \"component\": \"Card\",\n \"children\": [\n \"sec\"\n ]\n },\n {\n \"id\": \"sec\",\n \"component\": \"Section\",\n \"children\": [\n \"comp\"\n ]\n },\n {\n \"id\": \"comp\",\n \"component\": \"Segmented\",\n \"value\": \"\"\n }\n]",
12914
+ "description": "Segmented control with three segment-ui children for view switching.",
12915
+ "a2ui": "[\n {\n \"id\": \"root\",\n \"component\": \"Card\",\n \"children\": [\n \"sec\"\n ]\n },\n {\n \"id\": \"sec\",\n \"component\": \"Section\",\n \"children\": [\n \"comp\"\n ]\n },\n {\n \"id\": \"comp\",\n \"component\": \"Segmented\",\n \"value\": \"daily\",\n \"children\": [\n \"s1\",\n \"s2\",\n \"s3\"\n ]\n },\n {\n \"id\": \"s1\",\n \"component\": \"Segment\",\n \"value\": \"daily\",\n \"text\": \"Daily\"\n },\n {\n \"id\": \"s2\",\n \"component\": \"Segment\",\n \"value\": \"weekly\",\n \"text\": \"Weekly\"\n },\n {\n \"id\": \"s3\",\n \"component\": \"Segment\",\n \"value\": \"monthly\",\n \"text\": \"Monthly\"\n }\n]",
12822
12916
  "name": "basic-segmented"
12823
12917
  }
12824
12918
  ],
@@ -12834,7 +12928,14 @@
12834
12928
  ],
12835
12929
  "name": "UISegmented",
12836
12930
  "related": [],
12837
- "slots": {},
12931
+ "slots": {
12932
+ "default": {
12933
+ "description": "Child segment-ui elements that form the toggle group. Children MUST be segment-ui — bare segment tags render text but are silently ignored for the sliding indicator and role/aria-checked state."
12934
+ },
12935
+ "indicator": {
12936
+ "description": "Auto-created sliding indicator element prepended on first render."
12937
+ }
12938
+ },
12838
12939
  "states": [
12839
12940
  {
12840
12941
  "description": "Default, ready for interaction.",
@@ -13011,7 +13112,7 @@
13011
13112
  "default": "md"
13012
13113
  },
13013
13114
  "value": {
13014
- "description": "Currently selected option value",
13115
+ "description": "Currently selected option value. With declarative <option> children, a child carrying the native `selected` attribute sets the initial value when this attribute is absent (native <select> parity).",
13015
13116
  "type": "string",
13016
13117
  "default": ""
13017
13118
  },
@@ -15031,6 +15132,19 @@
15031
15132
  }
15032
15133
  }
15033
15134
  },
15135
+ "row-click": {
15136
+ "description": "Fired once when any cell in a data row is clicked — the row-level companion to cell-click. Use it for master-detail / open-flyout wiring.",
15137
+ "detail": {
15138
+ "dataIndex": {
15139
+ "description": "Row index in the underlying data array.",
15140
+ "type": "number"
15141
+ },
15142
+ "row": {
15143
+ "description": "Row data object.",
15144
+ "type": "object"
15145
+ }
15146
+ }
15147
+ },
15034
15148
  "row-collapse": {
15035
15149
  "description": "Fired when an already-expanded row's chevron is activated (collapses the row). Mirror of row-expand.",
15036
15150
  "detail": {
@@ -15070,11 +15184,11 @@
15070
15184
  "description": "Fired when sort state changes via header click.",
15071
15185
  "detail": {
15072
15186
  "dir": {
15073
- "description": "Sort direction — \"asc\" / \"desc\" / null (cleared).",
15187
+ "description": "Sort direction — \"asc\" / \"desc\" / null (cleared). The detail field is `dir` (not `direction`).",
15074
15188
  "type": "string"
15075
15189
  },
15076
15190
  "key": {
15077
- "description": "Column key being sorted.",
15191
+ "description": "Column key being sorted — the detail field is `key` (not `column`).",
15078
15192
  "type": "string"
15079
15193
  },
15080
15194
  "sortState": {
@@ -16155,9 +16269,24 @@
16155
16269
  }
16156
16270
  ],
16157
16271
  "properties": {
16272
+ "required": {
16273
+ "description": "Marks the field as required for form validation. Sets aria-required. Inherited from UIFormElement.",
16274
+ "type": "boolean",
16275
+ "default": false
16276
+ },
16158
16277
  "component": {
16159
16278
  "const": "Textarea"
16160
16279
  },
16280
+ "disabled": {
16281
+ "description": "Disables interaction, removes contenteditable, and dims the control. Inherited from UIFormElement.",
16282
+ "type": "boolean",
16283
+ "default": false
16284
+ },
16285
+ "error": {
16286
+ "description": "Validation error message. Set by constraint validation or manually via setInvalid(). Inherited from UIFormElement.",
16287
+ "type": "string",
16288
+ "default": ""
16289
+ },
16161
16290
  "hint": {
16162
16291
  "description": "Help text displayed below the textarea. Hidden when error is set.",
16163
16292
  "type": "string",
@@ -16178,6 +16307,11 @@
16178
16307
  "type": "string",
16179
16308
  "default": ""
16180
16309
  },
16310
+ "readonly": {
16311
+ "description": "Prevents editing while keeping the surface focusable. Sets contenteditable=false. Inherited from UIFormElement.",
16312
+ "type": "boolean",
16313
+ "default": false
16314
+ },
16181
16315
  "resize": {
16182
16316
  "description": "Resize behavior of the textarea.",
16183
16317
  "type": "string",
@@ -16198,6 +16332,11 @@
16198
16332
  "description": "§220 (v0.5.9, FEEDBACK-14 §3). Trailing-debounce on the `input`\nevent in milliseconds. When > 0, value mutates immediately + the UI\nstays responsive, but `input` dispatch is collapsed so only the\nfinal value in the throttle window emits. Useful for expensive\n`input`-driven computation (autosave preview, server-side\nautocomplete, large-doc reflow). `change` fires unthrottled on blur\n/ Enter; any pending `input` flushes before `change` so consumers\nsee input→input→…→input→change ordering. Default 0 preserves\nsynchronous emission.",
16199
16333
  "type": "number",
16200
16334
  "default": 0
16335
+ },
16336
+ "value": {
16337
+ "description": "Current textarea value, synced with the contenteditable text surface. Inherited from UIFormElement.",
16338
+ "type": "string",
16339
+ "default": ""
16201
16340
  }
16202
16341
  },
16203
16342
  "required": [
@@ -103,6 +103,10 @@
103
103
  ## AdminContent
104
104
  - admin-content is the bespoke replacement for raw <main> inside admin-shell. CSS-only; the shell's css/main.css selectors target both shapes via :is(main, admin-content).
105
105
 
106
+ ## AdminEntityItem
107
+ - admin-entity-item is the canonical icon + label + badge identity row for shell surfaces. Slot it whole into [slot="heading"] of an <admin-topbar> / <admin-statusbar> so the icon + label + badge collapse together inside a collapsible <admin-sidebar>. Do NOT re-implement it with a bare <span> or an ad-hoc flex <div> — those have no shared collapse boundary.
108
+ - For an INTERACTIVE workspace switcher use <select-ui variant="ghost"> instead — admin-entity-item is read-only identity display.
109
+
106
110
  ## AdminPageBody
107
111
  - admin-page-body is the centered body band of <admin-page>. Wraps an inner <section-ui> for centered reading-column rhythm; can host full-bleed content directly to opt out.
108
112
 
@@ -124,9 +128,13 @@
124
128
 
125
129
  ## AdminStatusbar
126
130
  - admin-statusbar replaces <footer-ui> at shell-tier. Same slot vocabulary as <admin-topbar>; visual treatment differs (the shell css applies a top-border instead of bottom).
131
+ - When placed inside <admin-sidebar> or <admin-content>, admin-statusbar MUST carry slot="footer". Without it the statusbar lands in the default body slot instead of the chrome footer band. Canonical: <admin-statusbar slot="footer">…</admin-statusbar>. admin-shell logs a one-shot console.warn when the slot is missing.
132
+ - For a user-identity row (avatar + name + role badge), slot a single <admin-entity-item slot="heading"> rather than separate slot="icon" + slot="heading" children — the wrapper collapses the name + badge together inside a collapsible <admin-sidebar>, keeping the avatar.
127
133
 
128
134
  ## AdminTopbar
129
135
  - admin-topbar replaces <header-ui> at shell-tier — use it for chrome bars inside admin-shell, admin-content, admin-sidebar. Use <header-ui> for primitive containers (Card / Drawer / Modal).
136
+ - When placed inside <admin-sidebar> or <admin-content>, admin-topbar MUST carry slot="header". Without it the topbar lands in the default body slot and renders below the content instead of as the chrome header band. Canonical: <admin-topbar slot="header">…</admin-topbar>. admin-shell logs a one-shot console.warn when the slot is missing.
137
+ - For an icon + label (+ optional badge) identity row — workspace or product identity — slot a single <admin-entity-item slot="heading"> rather than separate slot="icon" + slot="heading" children. The wrapper keeps the icon and label as one unit so they truncate and collapse together inside a collapsible <admin-sidebar>.
130
138
 
131
139
  ## SimpleContent
132
140
  - simple-content is the article surface inside simple-shell. Use for primary page body. Sibling to <simple-hero> (optional).