@adia-ai/a2ui-corpus 0.5.3 → 0.5.5

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 +89 -0
  2. package/catalog-a2ui_0_9.json +699 -23
  3. package/catalog-a2ui_0_9_rules.txt +5 -0
  4. package/chunk-embeddings.json +1 -1
  5. package/chunks/_index.json +1 -1
  6. package/chunks/accordion-settings.json +32 -11
  7. package/chunks/agent-activity-feed.json +1 -1
  8. package/chunks/agent-canvas-shell.json +1 -1
  9. package/chunks/agent-command-palette-search.json +38 -9
  10. package/chunks/agent-reasoning-collapsed.json +1 -1
  11. package/chunks/agent-tool-call-result.json +12 -3
  12. package/chunks/agent-trace-timeline.json +22 -5
  13. package/chunks/ai-streaming-response.json +16 -5
  14. package/chunks/alert-banner.json +15 -4
  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 +11 -3
  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 +19 -6
  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 +24 -6
  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 +15 -5
  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 +29 -9
  47. package/chunks/auth-signin-card-magic-link.json +11 -4
  48. package/chunks/auth-signin-card-mfa.json +26 -8
  49. package/chunks/auth-signin-card-otp.json +16 -5
  50. package/chunks/auth-signin-card-password.json +29 -9
  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 +25 -8
  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 +19 -9
  63. package/chunks/breadcrumb-nav.json +17 -7
  64. package/chunks/calendar-month-view.json +12 -3
  65. package/chunks/card-header-with-description.json +1 -1
  66. package/chunks/chart-with-filter-pills.json +5 -1
  67. package/chunks/chat-page-shell.json +41 -8
  68. package/chunks/chat-streaming-surface.json +9 -3
  69. package/chunks/color-picker-swatches.json +5 -2
  70. package/chunks/command-palette.json +3 -2
  71. package/chunks/commerce-pricing-tiers.json +31 -5
  72. package/chunks/comparison-table.json +6 -1
  73. package/chunks/conversion-funnel-6step.json +5 -1
  74. package/chunks/dashboard-acquisition-panel.json +22 -6
  75. package/chunks/dashboard-admin-page.json +370 -65
  76. package/chunks/dashboard-audience-kpis.json +1 -1
  77. package/chunks/dashboard-audience-panel.json +56 -7
  78. package/chunks/dashboard-behavior-panel.json +6 -2
  79. package/chunks/dashboard-chart-recent.json +57 -10
  80. package/chunks/dashboard-cohort-retention.json +1 -1
  81. package/chunks/dashboard-conversion-panel.json +8 -2
  82. package/chunks/dashboard-country-list.json +1 -1
  83. package/chunks/dashboard-filter-bar.json +15 -3
  84. package/chunks/dashboard-funnel.json +5 -1
  85. package/chunks/dashboard-kpi-grid.json +30 -5
  86. package/chunks/dashboard-notifications-feed.json +1 -1
  87. package/chunks/dashboard-notifications-panel.json +46 -9
  88. package/chunks/dashboard-overview-panel.json +202 -34
  89. package/chunks/dashboard-page-header.json +31 -10
  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 +6 -2
  93. package/chunks/dashboard-reports-table.json +1 -1
  94. package/chunks/dashboard-spark-cards.json +29 -5
  95. package/chunks/dashboard-storage-card.json +1 -1
  96. package/chunks/dashboard-tabs.json +23 -8
  97. package/chunks/dashboard-team-actions-storage.json +79 -16
  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 +7 -2
  101. package/chunks/date-time-picker-form.json +21 -6
  102. package/chunks/destructive-confirm-modal.json +11 -4
  103. package/chunks/divider-text-label.json +6 -2
  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 +1 -1
  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 +56 -16
  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 +12 -3
  129. package/chunks/editor-page-shell.json +1 -1
  130. package/chunks/editor-preview-pane.json +2 -1
  131. package/chunks/empty-state.json +9 -3
  132. package/chunks/error-404-actions.json +1 -1
  133. package/chunks/error-404.json +15 -5
  134. package/chunks/error-500-actions.json +1 -1
  135. package/chunks/error-500.json +19 -6
  136. package/chunks/error-maintenance-actions.json +1 -1
  137. package/chunks/error-maintenance.json +15 -5
  138. package/chunks/error-page-shell.json +12 -3
  139. package/chunks/faq-accordion.json +5 -1
  140. package/chunks/file-upload-dnd.json +6 -2
  141. package/chunks/footer-multi-column.json +45 -17
  142. package/chunks/footer-primary-only.json +1 -1
  143. package/chunks/form-page-shell.json +16 -5
  144. package/chunks/gallery-page-shell.json +26 -6
  145. package/chunks/hero-section-split.json +12 -3
  146. package/chunks/icon-text-row.json +1 -1
  147. package/chunks/image-carousel.json +12 -3
  148. package/chunks/image-tile.json +1 -1
  149. package/chunks/image-upload-preview.json +18 -4
  150. package/chunks/inventory-list-stock.json +27 -9
  151. package/chunks/kanban-board-3col.json +28 -4
  152. package/chunks/kanban-page-shell.json +95 -19
  153. package/chunks/kbd-shortcuts.json +7 -1
  154. package/chunks/labeled-textarea.json +2 -1
  155. package/chunks/leaderboard-table.json +48 -11
  156. package/chunks/linked-record-row.json +7 -3
  157. package/chunks/marketing-hero-cta.json +12 -3
  158. package/chunks/marketing-page-shell.json +17 -4
  159. package/chunks/masonry-gallery.json +10 -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 +13 -4
  163. package/chunks/notification-toast-row.json +27 -7
  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 +5 -3
  177. package/chunks/onb-story-pane.json +1 -1
  178. package/chunks/onb-tutorial-steps.json +1 -1
  179. package/chunks/pagination-controls.json +6 -2
  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 +1 -1
  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 +6 -2
  189. package/chunks/progress-tracker-milestones.json +24 -7
  190. package/chunks/real-time-metrics-dashboard.json +15 -4
  191. package/chunks/reg-address-form.json +184 -26
  192. package/chunks/reg-billing-card.json +50 -8
  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 +35 -5
  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 +62 -12
  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 +21 -4
  213. package/chunks/search-with-filters.json +19 -8
  214. package/chunks/section-with-stack.json +1 -1
  215. package/chunks/settings-admin-page.json +117 -32
  216. package/chunks/settings-appearance.json +1 -1
  217. package/chunks/settings-billing-plan.json +1 -1
  218. package/chunks/settings-general-form.json +10 -3
  219. package/chunks/settings-integrations.json +4 -1
  220. package/chunks/settings-members-invite.json +1 -1
  221. package/chunks/settings-notifications.json +11 -1
  222. package/chunks/settings-page-shell.json +19 -6
  223. package/chunks/settings-profile-security.json +20 -6
  224. package/chunks/sidebar-collapsible-nav.json +36 -9
  225. package/chunks/slider-range-controls.json +14 -4
  226. package/chunks/tabs-with-panels.json +14 -4
  227. package/chunks/testimonial-grid.json +17 -4
  228. package/chunks/text-card.json +1 -1
  229. package/chunks/timeline-events.json +7 -1
  230. package/chunks/toolbar-icons.json +38 -10
  231. package/chunks/toolbar-tooltips.json +34 -9
  232. package/chunks/user-identity-row.json +1 -1
  233. package/chunks/user-profile-card.json +24 -5
  234. package/chunks/users-table-badge.json +38 -10
  235. package/chunks/video-player-controls.json +21 -5
  236. package/package.json +2 -2
@@ -265,6 +265,115 @@
265
265
  "version": 1
266
266
  }
267
267
  },
268
+ "AccordionItem": {
269
+ "title": "AccordionItem",
270
+ "description": "Child of <accordion-ui>. One collapsible section with header + body. Use inside <accordion-ui> only.",
271
+ "type": "object",
272
+ "allOf": [
273
+ {
274
+ "$ref": "#/$defs/ComponentCommon"
275
+ },
276
+ {
277
+ "$ref": "#/$defs/CatalogComponentCommon"
278
+ }
279
+ ],
280
+ "properties": {
281
+ "component": {
282
+ "const": "AccordionItem"
283
+ },
284
+ "open": {
285
+ "description": "Whether the section is expanded.",
286
+ "type": "boolean",
287
+ "default": false
288
+ },
289
+ "text": {
290
+ "description": "Header text — the clickable label that toggles the section.",
291
+ "type": "string"
292
+ }
293
+ },
294
+ "required": [
295
+ "component"
296
+ ],
297
+ "unevaluatedProperties": false,
298
+ "x-adiaui": {
299
+ "anti_patterns": [],
300
+ "category": "layout",
301
+ "composes": [],
302
+ "events": {},
303
+ "examples": [],
304
+ "keywords": [],
305
+ "name": "UIAccordionItem",
306
+ "related": [],
307
+ "slots": {},
308
+ "states": [],
309
+ "synonyms": {},
310
+ "tag": "accordion-item-ui",
311
+ "tokens": {},
312
+ "traits": [],
313
+ "version": 1
314
+ }
315
+ },
316
+ "ActionItem": {
317
+ "title": "ActionItem",
318
+ "description": "Child of <action-list-ui>. One actionable row — icon + label, forwards activation to the parent action-list.",
319
+ "type": "object",
320
+ "allOf": [
321
+ {
322
+ "$ref": "#/$defs/ComponentCommon"
323
+ },
324
+ {
325
+ "$ref": "#/$defs/CatalogComponentCommon"
326
+ }
327
+ ],
328
+ "properties": {
329
+ "component": {
330
+ "const": "ActionItem"
331
+ },
332
+ "disabled": {
333
+ "description": "Disables click + keyboard activation; aria-disabled is set.",
334
+ "type": "boolean",
335
+ "default": false
336
+ },
337
+ "icon": {
338
+ "description": "Leading icon name (Phosphor).",
339
+ "type": "string"
340
+ },
341
+ "text": {
342
+ "description": "Action label.",
343
+ "type": "string"
344
+ },
345
+ "value": {
346
+ "description": "Identifier passed to the action-list change/activate handlers.",
347
+ "type": "string"
348
+ },
349
+ "variant": {
350
+ "description": "Visual variant (default | accent | danger).",
351
+ "type": "string",
352
+ "default": "default"
353
+ }
354
+ },
355
+ "required": [
356
+ "component"
357
+ ],
358
+ "unevaluatedProperties": false,
359
+ "x-adiaui": {
360
+ "anti_patterns": [],
361
+ "category": "navigation",
362
+ "composes": [],
363
+ "events": {},
364
+ "examples": [],
365
+ "keywords": [],
366
+ "name": "UIActionItem",
367
+ "related": [],
368
+ "slots": {},
369
+ "states": [],
370
+ "synonyms": {},
371
+ "tag": "action-item-ui",
372
+ "tokens": {},
373
+ "traits": [],
374
+ "version": 1
375
+ }
376
+ },
268
377
  "ActionList": {
269
378
  "title": "ActionList",
270
379
  "description": "Inline list of command actions with keyboard navigation. Fires action event when an item is clicked or activated via keyboard.",
@@ -2147,7 +2256,10 @@
2147
2256
  "name": {
2148
2257
  "description": "Deprecated alias for `text` (logs a one-shot console warning; will be removed in a future release). New code should use `text=` instead.",
2149
2258
  "type": "string",
2150
- "default": ""
2259
+ "default": "",
2260
+ "deprecated": true,
2261
+ "deprecated_reason": "Use `text` instead. Will be removed in v0.6.0.",
2262
+ "deprecated_since": "0.4.x"
2151
2263
  },
2152
2264
  "shape": {
2153
2265
  "description": "Avatar shape",
@@ -2329,6 +2441,54 @@
2329
2441
  "version": 1
2330
2442
  }
2331
2443
  },
2444
+ "AvatarGroup": {
2445
+ "title": "AvatarGroup",
2446
+ "description": "Cluster of overlapping <avatar-ui> children. Stacks the first `max` avatars with a negative inline-start margin; if more children are present, renders a +N overflow indicator.",
2447
+ "type": "object",
2448
+ "allOf": [
2449
+ {
2450
+ "$ref": "#/$defs/ComponentCommon"
2451
+ },
2452
+ {
2453
+ "$ref": "#/$defs/CatalogComponentCommon"
2454
+ }
2455
+ ],
2456
+ "properties": {
2457
+ "component": {
2458
+ "const": "AvatarGroup"
2459
+ },
2460
+ "max": {
2461
+ "description": "Maximum avatars to show before the +N overflow indicator.",
2462
+ "type": "number",
2463
+ "default": 5
2464
+ },
2465
+ "size": {
2466
+ "description": "Forwards to each child <avatar-ui> (xs|sm|md|lg|xl). Empty uses the per-avatar size.",
2467
+ "type": "string"
2468
+ }
2469
+ },
2470
+ "required": [
2471
+ "component"
2472
+ ],
2473
+ "unevaluatedProperties": false,
2474
+ "x-adiaui": {
2475
+ "anti_patterns": [],
2476
+ "category": "feedback",
2477
+ "composes": [],
2478
+ "events": {},
2479
+ "examples": [],
2480
+ "keywords": [],
2481
+ "name": "UIAvatarGroup",
2482
+ "related": [],
2483
+ "slots": {},
2484
+ "states": [],
2485
+ "synonyms": {},
2486
+ "tag": "avatar-group-ui",
2487
+ "tokens": {},
2488
+ "traits": [],
2489
+ "version": 1
2490
+ }
2491
+ },
2332
2492
  "Badge": {
2333
2493
  "title": "Badge",
2334
2494
  "description": "Inline pill-shaped badge/tag. Text rendered via CSS attr().",
@@ -3436,7 +3596,8 @@
3436
3596
  "square",
3437
3597
  "tall"
3438
3598
  ],
3439
- "default": "std"
3599
+ "default": "std",
3600
+ "deprecated": true
3440
3601
  },
3441
3602
  "color": {
3442
3603
  "description": "Color scheme",
@@ -3467,7 +3628,8 @@
3467
3628
  "heading": {
3468
3629
  "description": "DEPRECATED (OD-CHART-02). Place chart titles in an enclosing card-ui's `<header><span slot=\"heading\">...</span></header>` instead. Still honored for back-compat; emits a one-shot console.warn per instance when set. Used as the chart's `aria-label` when no explicit label is provided.",
3469
3630
  "type": "string",
3470
- "default": ""
3631
+ "default": "",
3632
+ "deprecated": true
3471
3633
  },
3472
3634
  "hideAverage": {
3473
3635
  "description": "When true, suppress the overlaid average line",
@@ -4118,6 +4280,162 @@
4118
4280
  "version": 1
4119
4281
  }
4120
4282
  },
4283
+ "ChatInput": {
4284
+ "title": "ChatInput",
4285
+ "description": "Composable chat input bar — a self-contained chat-message composer\nthat stamps its OWN inner structure (textarea + model picker + send\nbutton) when authored as a bare `<chat-input-ui>` tag.\n\nIMPORTANT (closes the 2026-05-14 redundant-send-button class): the\ncomponent stamps a built-in send button (paper-plane-right icon,\nprimary variant). DO NOT add a separate Button sibling for \"send\" —\nthe user gets two send buttons. The submit event fires on Enter or\nsend-button click; `detail` is `{ text, model }`.\n\nInner stamped structure (default):\n <chat-input-ui>\n <textarea-ui placeholder=\"Type a message...\" rows=\"1\"></textarea-ui>\n <div slot=\"toolbar\">\n <select-ui slot=\"model\" placeholder=\"Model\">...</select-ui>\n <button-ui icon=\"paper-plane-right\" variant=\"primary\" slot=\"send\"></button-ui>\n </div>\n </chat-input-ui>\n\nLayout:\n ┌──────────────────────────────────┐\n │ textarea (grows vertically) │\n ├──────────────────────────────────┤\n │ [model ▾] [⏎ send] │ ← toolbar (model picker + built-in send)\n └──────────────────────────────────┘\n\nComposite wrapper, not a form field itself. The inner textarea-ui\nis form-associated via UIFormElement and submits through the parent\nform. `chat-input-ui`'s `disabled` / `placeholder` props propagate\nto the inner textarea.\n\nFor module-tier composer surfaces (slot vocabulary for file attach,\nautocomplete, trailing/leading controls), wrap inside\n`<chat-composer>` — see ChatComposer for the module-tier shape.\n",
4286
+ "type": "object",
4287
+ "allOf": [
4288
+ {
4289
+ "$ref": "#/$defs/ComponentCommon"
4290
+ },
4291
+ {
4292
+ "$ref": "#/$defs/CatalogComponentCommon"
4293
+ }
4294
+ ],
4295
+ "properties": {
4296
+ "component": {
4297
+ "const": "ChatInput"
4298
+ },
4299
+ "disabled": {
4300
+ "description": "Disable the entire input. Textarea becomes contenteditable=false;\nsend button disabled.\n",
4301
+ "type": "boolean",
4302
+ "default": false
4303
+ },
4304
+ "loading": {
4305
+ "description": "In-flight / streaming state. Send button disabled, submit events\nsuppressed, but textarea stays editable so the user can draft a\nfollow-up while the model is still responding.\n",
4306
+ "type": "boolean",
4307
+ "default": false
4308
+ },
4309
+ "model": {
4310
+ "description": "Currently selected model value (reflected, two-way with inner\n`<select-ui slot=\"model\">`). Empty when no model picker is shown.\n",
4311
+ "type": "string",
4312
+ "default": ""
4313
+ },
4314
+ "models": {
4315
+ "description": "JSON array of model options for the inner model picker —\n[{value, label}] or [{label, options: [...]}] groups. Empty array\nhides the model picker.\n",
4316
+ "type": "array",
4317
+ "default": []
4318
+ },
4319
+ "placeholder": {
4320
+ "description": "Textarea placeholder. Defaults to \"Type a message...\".",
4321
+ "type": "string",
4322
+ "default": "Type a message..."
4323
+ }
4324
+ },
4325
+ "required": [
4326
+ "component"
4327
+ ],
4328
+ "unevaluatedProperties": false,
4329
+ "x-adiaui": {
4330
+ "anti_patterns": [
4331
+ {
4332
+ "description": "Adding a separate Button(primary) sibling next to ChatInput for \"send\". The component stamps its own send button (paper-plane-right icon). Two send buttons render side-by-side, confusing users."
4333
+ },
4334
+ {
4335
+ "description": "Stamping a Select next to ChatInput for model picker. The component has a built-in model picker driven by the `models` prop. Set `models=[{value, label}, ...]` instead of stamping a separate Select."
4336
+ },
4337
+ {
4338
+ "description": "Wrapping ChatInput inside <field-ui label=\"...\"> for label association. ChatInput is a composite container, not a form field. For a labeled composer surface, use <chat-composer> + slot label markup."
4339
+ }
4340
+ ],
4341
+ "category": "agent",
4342
+ "composes": [],
4343
+ "events": {
4344
+ "submit": {
4345
+ "description": "Fires when the user presses Enter (without Shift) in the textarea OR clicks the built-in send button. The composer suppresses submission while `[loading]` is set.",
4346
+ "detail": {
4347
+ "model": {
4348
+ "description": "Currently selected model value (empty if no model picker).",
4349
+ "type": "string"
4350
+ },
4351
+ "text": {
4352
+ "description": "Submitted message text from the inner textarea.",
4353
+ "type": "string"
4354
+ }
4355
+ }
4356
+ }
4357
+ },
4358
+ "examples": [
4359
+ {
4360
+ "description": "Minimal chat input — placeholder, no model picker. Sits inside a chat shell footer.",
4361
+ "a2ui": "[\n {\"id\": \"root\", \"component\": \"ChatInput\", \"placeholder\": \"Ask me anything...\"}\n]",
4362
+ "name": "basic-chat-input"
4363
+ },
4364
+ {
4365
+ "description": "Chat input with model selection. The `models` prop drives the built-in model picker — DO NOT add a separate Select sibling.",
4366
+ "a2ui": "[\n {\n \"id\": \"root\",\n \"component\": \"ChatInput\",\n \"placeholder\": \"Type a message...\",\n \"model\": \"claude-opus-4-7\",\n \"models\": [\n {\"value\": \"claude-opus-4-7\", \"label\": \"Claude Opus 4.7\"},\n {\"value\": \"claude-haiku-4-5\", \"label\": \"Claude Haiku 4.5\"},\n {\"value\": \"claude-sonnet-4-5\", \"label\": \"Claude Sonnet 4.5\"}\n ]\n }\n]",
4367
+ "name": "chat-input-with-models"
4368
+ },
4369
+ {
4370
+ "description": "Streaming response state. `[loading]` reflects on the host; send button disables; textarea stays editable so the user can draft a follow-up while the LLM is responding.",
4371
+ "a2ui": "[\n {\n \"id\": \"root\",\n \"component\": \"ChatInput\",\n \"placeholder\": \"Drafting follow-up while streaming...\",\n \"loading\": true\n }\n]",
4372
+ "name": "chat-input-loading-state"
4373
+ },
4374
+ {
4375
+ "description": "Full chat shell — header + thread + ChatInput in the footer. Note: ChatInput is the sole footer child; no separate send button.",
4376
+ "a2ui": "[\n {\"id\": \"root\", \"component\": \"ChatShell\", \"children\": [\"header\", \"thread\", \"input\"]},\n {\"id\": \"header\", \"component\": \"ChatHeader\", \"title\": \"Chat\"},\n {\"id\": \"thread\", \"component\": \"ChatThread\"},\n {\"id\": \"input\", \"component\": \"ChatInput\", \"placeholder\": \"Send a message...\"}\n]",
4377
+ "name": "chat-shell-with-chat-input"
4378
+ }
4379
+ ],
4380
+ "keywords": [
4381
+ "chat-input",
4382
+ "chat",
4383
+ "message-input",
4384
+ "composer",
4385
+ "send-message",
4386
+ "conversation",
4387
+ "prompt",
4388
+ "submit"
4389
+ ],
4390
+ "name": "UIChatInput",
4391
+ "related": [
4392
+ "ChatShell",
4393
+ "ChatThread",
4394
+ "ChatComposer",
4395
+ "ChatHeader",
4396
+ "TextArea",
4397
+ "Input"
4398
+ ],
4399
+ "slots": {
4400
+ "model": {
4401
+ "description": "Override slot for the model picker. Most authors should NOT override this — set the `models` prop instead."
4402
+ },
4403
+ "send": {
4404
+ "description": "Override slot for the send button only. The default stamped send button has `[icon=\"paper-plane-right\"] [variant=\"primary\"]`. Most authors should NOT override this — the built-in send button IS the send control. Adding a separate Button sibling for \"send\" duplicates this functionality."
4405
+ },
4406
+ "toolbar": {
4407
+ "description": "Override slot for the entire toolbar row (model picker + send button). Most authors should NOT override this — the built-in toolbar handles model selection + send. Use this only when custom toolbar layout is required."
4408
+ }
4409
+ },
4410
+ "states": [
4411
+ {
4412
+ "description": "Default, accepting input. Send button enabled when textarea has content.",
4413
+ "name": "idle"
4414
+ },
4415
+ {
4416
+ "description": "Input fully disabled (typically during initial form setup).",
4417
+ "attribute": "disabled",
4418
+ "name": "disabled"
4419
+ },
4420
+ {
4421
+ "description": "LLM is responding. Send button disabled + submit events suppressed, but textarea stays editable for follow-up drafts.",
4422
+ "attribute": "loading",
4423
+ "name": "loading"
4424
+ }
4425
+ ],
4426
+ "synonyms": {
4427
+ "message-input": [
4428
+ "conversation-input",
4429
+ "prompt-input",
4430
+ "send-bar"
4431
+ ]
4432
+ },
4433
+ "tag": "chat-input-ui",
4434
+ "tokens": {},
4435
+ "traits": [],
4436
+ "version": 1
4437
+ }
4438
+ },
4121
4439
  "ChatShell": {
4122
4440
  "title": "ChatShell",
4123
4441
  "description": "Behavior-only chat orchestrator (LLM-streaming module). Author supplies the\nDOM structure via [data-chat-messages], [data-chat-input], [data-chat-empty],\n[data-chat-status] elements; chat-shell wires message streaming, markdown\nrendering, code-block upgrades, and an LLM integration path via proxy-url\n(or via external submit).\n",
@@ -6739,21 +7057,104 @@
6739
7057
  "max": {
6740
7058
  "description": "Cap on simultaneously visible items per lane",
6741
7059
  "type": "number",
6742
- "default": 5
7060
+ "default": 5
7061
+ },
7062
+ "position": {
7063
+ "description": "Lane the feed renders into",
7064
+ "type": "string",
7065
+ "enum": [
7066
+ "top-left",
7067
+ "top-center",
7068
+ "top-right",
7069
+ "bottom-left",
7070
+ "bottom-center",
7071
+ "bottom-right",
7072
+ "inline"
7073
+ ],
7074
+ "default": "bottom-right"
7075
+ }
7076
+ },
7077
+ "required": [
7078
+ "component"
7079
+ ],
7080
+ "unevaluatedProperties": false,
7081
+ "x-adiaui": {
7082
+ "anti_patterns": [],
7083
+ "category": "container",
7084
+ "composes": [
7085
+ "button-ui",
7086
+ "feed-item-ui"
7087
+ ],
7088
+ "events": {
7089
+ "close": {
7090
+ "description": "Fired on per-item dismissal (manual close, swipe, or auto-timeout). Bubbles."
7091
+ }
7092
+ },
7093
+ "examples": [],
7094
+ "keywords": [],
7095
+ "name": "UIFeedContainer",
7096
+ "related": [],
7097
+ "slots": {},
7098
+ "states": {},
7099
+ "synonyms": {},
7100
+ "tag": "feed-ui",
7101
+ "tokens": {},
7102
+ "traits": [],
7103
+ "version": 1
7104
+ }
7105
+ },
7106
+ "FeedItem": {
7107
+ "title": "FeedItem",
7108
+ "description": "Atomic feed entry inside a `<feed-ui>` lane. Three dismiss policies are inferred from the prop shape — auto-fade (duration > 0 + no action), sticky-dismissible (duration null/0), action-required (duration null/0 + action; future phase). Posted via `UIFeed.post()` rather than authored directly.",
7109
+ "type": "object",
7110
+ "allOf": [
7111
+ {
7112
+ "$ref": "#/$defs/ComponentCommon"
7113
+ },
7114
+ {
7115
+ "$ref": "#/$defs/CatalogComponentCommon"
7116
+ }
7117
+ ],
7118
+ "properties": {
7119
+ "component": {
7120
+ "const": "FeedItem"
7121
+ },
7122
+ "dismissible": {
7123
+ "description": "Render an x close button (default true for sticky, false for auto-fade)",
7124
+ "type": "boolean",
7125
+ "default": false
7126
+ },
7127
+ "duration": {
7128
+ "description": "Auto-fade timer in ms; null/0 = sticky (requires user input)",
7129
+ "type": "number",
7130
+ "default": 4000
6743
7131
  },
6744
- "position": {
6745
- "description": "Lane the feed renders into",
7132
+ "heading": {
7133
+ "description": "Optional emphasis line above text",
7134
+ "type": "string",
7135
+ "default": ""
7136
+ },
7137
+ "icon": {
7138
+ "description": "Optional leading icon name",
7139
+ "type": "string",
7140
+ "default": ""
7141
+ },
7142
+ "text": {
7143
+ "description": "Body copy",
7144
+ "type": "string",
7145
+ "default": ""
7146
+ },
7147
+ "variant": {
7148
+ "description": "Semantic variant",
6746
7149
  "type": "string",
6747
7150
  "enum": [
6748
- "top-left",
6749
- "top-center",
6750
- "top-right",
6751
- "bottom-left",
6752
- "bottom-center",
6753
- "bottom-right",
6754
- "inline"
7151
+ "default",
7152
+ "info",
7153
+ "success",
7154
+ "warning",
7155
+ "danger"
6755
7156
  ],
6756
- "default": "bottom-right"
7157
+ "default": "default"
6757
7158
  }
6758
7159
  },
6759
7160
  "required": [
@@ -6762,24 +7163,25 @@
6762
7163
  "unevaluatedProperties": false,
6763
7164
  "x-adiaui": {
6764
7165
  "anti_patterns": [],
6765
- "category": "container",
6766
- "composes": [
6767
- "button-ui",
6768
- "feed-item-ui"
6769
- ],
7166
+ "category": "feedback",
7167
+ "composes": [],
6770
7168
  "events": {
6771
7169
  "close": {
6772
- "description": "Fired on per-item dismissal (manual close, swipe, or auto-timeout). Bubbles."
7170
+ "description": "Fired after the item finishes its exit animation"
6773
7171
  }
6774
7172
  },
6775
7173
  "examples": [],
6776
7174
  "keywords": [],
6777
- "name": "UIFeedContainer",
7175
+ "name": "UIFeedItem",
6778
7176
  "related": [],
6779
- "slots": {},
7177
+ "slots": {
7178
+ "body": {
7179
+ "description": "Default content slot (also accepts the `text` / `heading` props)"
7180
+ }
7181
+ },
6780
7182
  "states": {},
6781
7183
  "synonyms": {},
6782
- "tag": "feed-ui",
7184
+ "tag": "feed-item-ui",
6783
7185
  "tokens": {},
6784
7186
  "traits": [],
6785
7187
  "version": 1
@@ -8753,6 +9155,57 @@
8753
9155
  "version": 1
8754
9156
  }
8755
9157
  },
9158
+ "ListItem": {
9159
+ "title": "ListItem",
9160
+ "description": "Child of <list-ui>. One list item with optional icon + text + description, plus arbitrary slotted content (cards, rows). Use inside <list-ui> only.",
9161
+ "type": "object",
9162
+ "allOf": [
9163
+ {
9164
+ "$ref": "#/$defs/ComponentCommon"
9165
+ },
9166
+ {
9167
+ "$ref": "#/$defs/CatalogComponentCommon"
9168
+ }
9169
+ ],
9170
+ "properties": {
9171
+ "description": {
9172
+ "description": "Secondary line below the primary text. Subtle color.",
9173
+ "type": "string"
9174
+ },
9175
+ "component": {
9176
+ "const": "ListItem"
9177
+ },
9178
+ "icon": {
9179
+ "description": "Optional leading icon name (Phosphor).",
9180
+ "type": "string"
9181
+ },
9182
+ "text": {
9183
+ "description": "Primary text. Renders as semibold inline body.",
9184
+ "type": "string"
9185
+ }
9186
+ },
9187
+ "required": [
9188
+ "component"
9189
+ ],
9190
+ "unevaluatedProperties": false,
9191
+ "x-adiaui": {
9192
+ "anti_patterns": [],
9193
+ "category": "layout",
9194
+ "composes": [],
9195
+ "events": {},
9196
+ "examples": [],
9197
+ "keywords": [],
9198
+ "name": "UIListItem",
9199
+ "related": [],
9200
+ "slots": {},
9201
+ "states": [],
9202
+ "synonyms": {},
9203
+ "tag": "list-item-ui",
9204
+ "tokens": {},
9205
+ "traits": [],
9206
+ "version": 1
9207
+ }
9208
+ },
8756
9209
  "Menu": {
8757
9210
  "title": "Menu",
8758
9211
  "description": "Dropdown action menu with roving focus and keyboard navigation. Uses Popover API.",
@@ -11995,6 +12448,11 @@
11995
12448
  "type": "boolean",
11996
12449
  "default": false
11997
12450
  },
12451
+ "hint": {
12452
+ "description": "§184 (v0.5.5, FEEDBACK-08 §7): small caption rendered beneath the select. Sets `aria-describedby` on the host so screen readers announce it as a description (distinct from `aria-label`, which comes from `label`). Does not conflict with the in-component `label`.",
12453
+ "type": "string",
12454
+ "default": ""
12455
+ },
11998
12456
  "icon": {
11999
12457
  "description": "Leading icon name rendered inside the trigger",
12000
12458
  "type": "string",
@@ -12539,6 +12997,11 @@
12539
12997
  "type": "string",
12540
12998
  "default": ""
12541
12999
  },
13000
+ "hint": {
13001
+ "description": "§184 (v0.5.5, FEEDBACK-08 §7): small caption rendered beneath the slider track. Sets `aria-describedby` on the host so screen readers announce it as a description (distinct from `aria-label`, which comes from `label`). Does not conflict with the in-component `label`. Use for semantic clarifications a `<field-ui>` wrapper would be overkill for.",
13002
+ "type": "string",
13003
+ "default": ""
13004
+ },
12542
13005
  "label": {
12543
13006
  "description": "Label text above the slider",
12544
13007
  "type": "string",
@@ -12569,6 +13032,11 @@
12569
13032
  "type": "string",
12570
13033
  "default": ""
12571
13034
  },
13035
+ "throttle": {
13036
+ "description": "§184 (v0.5.5, FEEDBACK-08 §4): when > 0, debounce the `input` event by this many milliseconds. Value updates + visual feedback remain immediate; only event dispatch accumulates. Pending input flushes BEFORE `change` so consumers always see input→…→input→change ordering. throttle=\"0\" (default) preserves the pre-§184 every-pointer-move-fires-input behavior. Common values: 50-100ms for palette regen / shader compile / large list reflow.",
13037
+ "type": "number",
13038
+ "default": 0
13039
+ },
12572
13040
  "value": {
12573
13041
  "description": "Current slider value",
12574
13042
  "type": "number",
@@ -13759,6 +14227,62 @@
13759
14227
  "version": 1
13760
14228
  }
13761
14229
  },
14230
+ "Tab": {
14231
+ "title": "Tab",
14232
+ "description": "Child of <tabs-ui>. One tab panel — the tab BUTTON is rendered by the parent from this child's text/icon. Wraps panel content as light DOM.",
14233
+ "type": "object",
14234
+ "allOf": [
14235
+ {
14236
+ "$ref": "#/$defs/ComponentCommon"
14237
+ },
14238
+ {
14239
+ "$ref": "#/$defs/CatalogComponentCommon"
14240
+ }
14241
+ ],
14242
+ "properties": {
14243
+ "component": {
14244
+ "const": "Tab"
14245
+ },
14246
+ "disabled": {
14247
+ "description": "Whether the tab is selectable.",
14248
+ "type": "boolean",
14249
+ "default": false
14250
+ },
14251
+ "icon": {
14252
+ "description": "Optional leading icon name (Phosphor) for the tab button.",
14253
+ "type": "string"
14254
+ },
14255
+ "text": {
14256
+ "description": "Tab button label (rendered by parent <tabs-ui>).",
14257
+ "type": "string"
14258
+ },
14259
+ "value": {
14260
+ "description": "Stable id for the tab. Parent uses this to coordinate active state.",
14261
+ "type": "string"
14262
+ }
14263
+ },
14264
+ "required": [
14265
+ "component"
14266
+ ],
14267
+ "unevaluatedProperties": false,
14268
+ "x-adiaui": {
14269
+ "anti_patterns": [],
14270
+ "category": "navigation",
14271
+ "composes": [],
14272
+ "events": {},
14273
+ "examples": [],
14274
+ "keywords": [],
14275
+ "name": "UITab",
14276
+ "related": [],
14277
+ "slots": {},
14278
+ "states": [],
14279
+ "synonyms": {},
14280
+ "tag": "tab-ui",
14281
+ "tokens": {},
14282
+ "traits": [],
14283
+ "version": 1
14284
+ }
14285
+ },
13762
14286
  "Table": {
13763
14287
  "title": "Table",
13764
14288
  "description": "Data table with sorting, selection, pagination, search, column resize, keyboard nav, cell types, and CSV export. CSS grid + ARIA grid roles.",
@@ -15323,6 +15847,80 @@
15323
15847
  "version": 1
15324
15848
  }
15325
15849
  },
15850
+ "TimelineItem": {
15851
+ "title": "TimelineItem",
15852
+ "description": "Child of <timeline-ui>. One step in a sequenced reasoning/process timeline. Used heavily by <agent-reasoning-ui> + <agent-trace-ui>.",
15853
+ "type": "object",
15854
+ "allOf": [
15855
+ {
15856
+ "$ref": "#/$defs/ComponentCommon"
15857
+ },
15858
+ {
15859
+ "$ref": "#/$defs/CatalogComponentCommon"
15860
+ }
15861
+ ],
15862
+ "properties": {
15863
+ "description": {
15864
+ "description": "Subtitle below the label.",
15865
+ "type": "string"
15866
+ },
15867
+ "component": {
15868
+ "const": "TimelineItem"
15869
+ },
15870
+ "duration": {
15871
+ "description": "Elapsed time (e.g. \"1.2s\", \"340ms\").",
15872
+ "type": "string"
15873
+ },
15874
+ "icon": {
15875
+ "description": "Optional leading icon name (Phosphor).",
15876
+ "type": "string"
15877
+ },
15878
+ "spinner": {
15879
+ "description": "Show a spinner instead of the icon while status=pending.",
15880
+ "type": "boolean",
15881
+ "default": false
15882
+ },
15883
+ "status": {
15884
+ "description": "Lifecycle state (idle | pending | done | failed).",
15885
+ "type": "string",
15886
+ "default": "idle"
15887
+ },
15888
+ "text": {
15889
+ "description": "Primary step label.",
15890
+ "type": "string"
15891
+ },
15892
+ "time": {
15893
+ "description": "Absolute timestamp (HH:MM or ISO).",
15894
+ "type": "string"
15895
+ },
15896
+ "variant": {
15897
+ "description": "Visual variant (default | accent | success | warning | danger).",
15898
+ "type": "string",
15899
+ "default": "default"
15900
+ }
15901
+ },
15902
+ "required": [
15903
+ "component"
15904
+ ],
15905
+ "unevaluatedProperties": false,
15906
+ "x-adiaui": {
15907
+ "anti_patterns": [],
15908
+ "category": "feedback",
15909
+ "composes": [],
15910
+ "events": {},
15911
+ "examples": [],
15912
+ "keywords": [],
15913
+ "name": "UITimelineItem",
15914
+ "related": [],
15915
+ "slots": {},
15916
+ "states": [],
15917
+ "synonyms": {},
15918
+ "tag": "timeline-item-ui",
15919
+ "tokens": {},
15920
+ "traits": [],
15921
+ "version": 1
15922
+ }
15923
+ },
15326
15924
  "Toast": {
15327
15925
  "title": "Toast",
15328
15926
  "description": "Notification popup with auto-dismiss. Animated enter/exit.",
@@ -16195,6 +16793,21 @@
16195
16793
  "--tree-actions-gap": {
16196
16794
  "description": "Gap between action icons"
16197
16795
  },
16796
+ "--tree-badge-bg": {
16797
+ "description": "Background color for the trailing badge (§184)."
16798
+ },
16799
+ "--tree-badge-fg": {
16800
+ "description": "Foreground color for the trailing badge (§184)."
16801
+ },
16802
+ "--tree-badge-px": {
16803
+ "description": "Inline padding for the trailing badge (§184)."
16804
+ },
16805
+ "--tree-badge-radius": {
16806
+ "description": "Border radius for the trailing badge (§184)."
16807
+ },
16808
+ "--tree-badge-size": {
16809
+ "description": "Font size for the trailing badge (§184)."
16810
+ },
16198
16811
  "--tree-bg-hover": {
16199
16812
  "description": "Background color on hover"
16200
16813
  },
@@ -16245,6 +16858,69 @@
16245
16858
  "version": 1
16246
16859
  }
16247
16860
  },
16861
+ "TreeItem": {
16862
+ "title": "TreeItem",
16863
+ "description": "Child of <tree-ui>. One tree row with optional icon + text + trailing badge, plus nested tree-item-ui children for the collapsible hierarchy. Use inside <tree-ui> only.",
16864
+ "type": "object",
16865
+ "allOf": [
16866
+ {
16867
+ "$ref": "#/$defs/ComponentCommon"
16868
+ },
16869
+ {
16870
+ "$ref": "#/$defs/CatalogComponentCommon"
16871
+ }
16872
+ ],
16873
+ "properties": {
16874
+ "badge": {
16875
+ "description": "Optional trailing badge text (count, label, etc.). Renders muted + small + right-aligned alongside the row, mirroring the nav-item-ui badge API. When empty, the badge slot stays empty.\n\nAdded in §184 (v0.5.5, FEEDBACK-08 §1).",
16876
+ "type": "string"
16877
+ },
16878
+ "component": {
16879
+ "const": "TreeItem"
16880
+ },
16881
+ "icon": {
16882
+ "description": "Optional leading icon name (Phosphor).",
16883
+ "type": "string"
16884
+ },
16885
+ "open": {
16886
+ "description": "When true, the item's children render expanded. Single-instance state; the parent `<tree-ui>` toggles this on click + Enter/Space + ArrowRight/ArrowLeft per tree-view APG.",
16887
+ "type": "boolean"
16888
+ },
16889
+ "selected": {
16890
+ "description": "Reflects the currently-selected item. Exactly one tree-item is selected per `<tree-ui>` parent (managed by the parent).",
16891
+ "type": "boolean"
16892
+ },
16893
+ "text": {
16894
+ "description": "Primary text rendered in the row.",
16895
+ "type": "string"
16896
+ },
16897
+ "value": {
16898
+ "description": "Stable value emitted in `tree-select` event detail.",
16899
+ "type": "string"
16900
+ }
16901
+ },
16902
+ "required": [
16903
+ "component"
16904
+ ],
16905
+ "unevaluatedProperties": false,
16906
+ "x-adiaui": {
16907
+ "anti_patterns": [],
16908
+ "category": "data",
16909
+ "composes": [],
16910
+ "events": {},
16911
+ "examples": [],
16912
+ "keywords": [],
16913
+ "name": "UITreeItem",
16914
+ "related": [],
16915
+ "slots": {},
16916
+ "states": [],
16917
+ "synonyms": {},
16918
+ "tag": "tree-item-ui",
16919
+ "tokens": {},
16920
+ "traits": [],
16921
+ "version": 1
16922
+ }
16923
+ },
16248
16924
  "Upload": {
16249
16925
  "title": "Upload",
16250
16926
  "description": "File upload with drag-and-drop. Uses showOpenFilePicker with input[type=file] fallback. Form-associated.",