@adia-ai/a2ui-corpus 0.0.1

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 (579) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/README.md +168 -0
  3. package/catalog-a2ui_0_9.json +12554 -0
  4. package/catalog-a2ui_0_9_rules.txt +54 -0
  5. package/compositions/_schema.json +26 -0
  6. package/compositions/agent/ai-streaming-response.json +19 -0
  7. package/compositions/agent/ai-streaming-response.yaml +32 -0
  8. package/compositions/agent/alert-banner.json +23 -0
  9. package/compositions/agent/alert-banner.yaml +34 -0
  10. package/compositions/agent/chat-interface.json +127 -0
  11. package/compositions/agent/chat-interface.yaml +34 -0
  12. package/compositions/agent/command-palette.json +113 -0
  13. package/compositions/agent/command-palette.yaml +30 -0
  14. package/compositions/agent/empty-state.json +22 -0
  15. package/compositions/agent/empty-state.yaml +35 -0
  16. package/compositions/agent/error-state-retry.json +32 -0
  17. package/compositions/agent/loading-skeleton.json +25 -0
  18. package/compositions/agent/loading-skeleton.yaml +31 -0
  19. package/compositions/agent/notification-preferences.json +177 -0
  20. package/compositions/agent/toast-stack.json +17 -0
  21. package/compositions/agent/toast-stack.yaml +28 -0
  22. package/compositions/data/activity-feed.json +31 -0
  23. package/compositions/data/activity-feed.yaml +43 -0
  24. package/compositions/data/audit-log-viewer.json +75 -0
  25. package/compositions/data/bookmark-list.json +32 -0
  26. package/compositions/data/bookmark-list.yaml +41 -0
  27. package/compositions/data/bulk-action-toolbar.json +28 -0
  28. package/compositions/data/changelog-feed.json +54 -0
  29. package/compositions/data/chart-dashboard.json +26 -0
  30. package/compositions/data/chart-dashboard.yaml +34 -0
  31. package/compositions/data/cohort-retention.json +50 -0
  32. package/compositions/data/column-manager.json +321 -0
  33. package/compositions/data/data-table-paginated.json +29 -0
  34. package/compositions/data/data-table-paginated.yaml +36 -0
  35. package/compositions/data/email-inbox-list.json +30 -0
  36. package/compositions/data/email-inbox-list.yaml +41 -0
  37. package/compositions/data/funnel-analytics.json +34 -0
  38. package/compositions/data/heatmap-calendar.json +122 -0
  39. package/compositions/data/invoice-table.json +26 -0
  40. package/compositions/data/invoice-table.yaml +33 -0
  41. package/compositions/data/kpi-overview.json +28 -0
  42. package/compositions/data/kpi-overview.yaml +42 -0
  43. package/compositions/data/notification-center.json +31 -0
  44. package/compositions/data/notification-center.yaml +41 -0
  45. package/compositions/data/object-inspector.json +53 -0
  46. package/compositions/data/product-specs-card.json +19 -0
  47. package/compositions/data/product-specs-card.yaml +35 -0
  48. package/compositions/data/progress-tracker.json +27 -0
  49. package/compositions/data/progress-tracker.yaml +47 -0
  50. package/compositions/data/review-card.json +21 -0
  51. package/compositions/data/review-card.yaml +34 -0
  52. package/compositions/data/saved-views-filter-bar.json +52 -0
  53. package/compositions/data/shopping-cart-summary.json +28 -0
  54. package/compositions/data/shopping-cart-summary.yaml +43 -0
  55. package/compositions/data/stat-card-dashboard.json +30 -0
  56. package/compositions/data/stat-card-dashboard.yaml +44 -0
  57. package/compositions/data/status-page.json +48 -0
  58. package/compositions/data/virtualized-table.json +50 -0
  59. package/compositions/data/weather-widget.json +20 -0
  60. package/compositions/data/weather-widget.yaml +31 -0
  61. package/compositions/form/data-import-wizard.json +217 -0
  62. package/compositions/forms/change-password-form.json +32 -0
  63. package/compositions/forms/change-password-form.yaml +44 -0
  64. package/compositions/forms/color-picker-panel.json +25 -0
  65. package/compositions/forms/color-picker-panel.yaml +36 -0
  66. package/compositions/forms/contact-form.json +49 -0
  67. package/compositions/forms/contact-form.yaml +54 -0
  68. package/compositions/forms/credit-card-payment-form.json +33 -0
  69. package/compositions/forms/credit-card-payment-form.yaml +46 -0
  70. package/compositions/forms/data-import-mapper.json +247 -0
  71. package/compositions/forms/date-time-picker-form.json +23 -0
  72. package/compositions/forms/date-time-picker-form.yaml +38 -0
  73. package/compositions/forms/destructive-confirm.json +43 -0
  74. package/compositions/forms/feedback-form.json +30 -0
  75. package/compositions/forms/feedback-form.yaml +41 -0
  76. package/compositions/forms/file-upload-form.json +28 -0
  77. package/compositions/forms/file-upload-form.yaml +37 -0
  78. package/compositions/forms/login-form.json +71 -0
  79. package/compositions/forms/login-form.yaml +43 -0
  80. package/compositions/forms/multi-step-wizard.json +27 -0
  81. package/compositions/forms/multi-step-wizard.yaml +37 -0
  82. package/compositions/forms/newsletter-subscription-form.json +28 -0
  83. package/compositions/forms/newsletter-subscription-form.yaml +40 -0
  84. package/compositions/forms/otp-verification-form.json +29 -0
  85. package/compositions/forms/otp-verification-form.yaml +42 -0
  86. package/compositions/forms/password-reset-form.json +28 -0
  87. package/compositions/forms/password-reset-form.yaml +40 -0
  88. package/compositions/forms/permission-matrix.json +40 -0
  89. package/compositions/forms/profile-edit-form.json +32 -0
  90. package/compositions/forms/profile-edit-form.yaml +46 -0
  91. package/compositions/forms/radio-group-form.json +30 -0
  92. package/compositions/forms/radio-group-form.yaml +39 -0
  93. package/compositions/forms/search-filters.json +30 -0
  94. package/compositions/forms/search-filters.yaml +41 -0
  95. package/compositions/forms/settings-toggles-page.json +32 -0
  96. package/compositions/forms/settings-toggles-page.yaml +43 -0
  97. package/compositions/forms/signup-form.json +34 -0
  98. package/compositions/forms/signup-form.yaml +48 -0
  99. package/compositions/forms/slider-range-form.json +17 -0
  100. package/compositions/forms/slider-range-form.yaml +34 -0
  101. package/compositions/forms/tag-input-form.json +24 -0
  102. package/compositions/forms/tag-input-form.yaml +31 -0
  103. package/compositions/forms/team-members-rbac.json +279 -0
  104. package/compositions/layout/accordion-settings.json +56 -0
  105. package/compositions/layout/avatar-group-display.json +20 -0
  106. package/compositions/layout/avatar-group-display.yaml +30 -0
  107. package/compositions/layout/badge-variants-display.json +27 -0
  108. package/compositions/layout/badge-variants-display.yaml +31 -0
  109. package/compositions/layout/bento-overview.json +40 -0
  110. package/compositions/layout/calendar-month-view.json +209 -0
  111. package/compositions/layout/calendar-month-view.yaml +29 -0
  112. package/compositions/layout/code-block.json +21 -0
  113. package/compositions/layout/code-block.yaml +30 -0
  114. package/compositions/layout/comparison-table.json +28 -0
  115. package/compositions/layout/comparison-table.yaml +32 -0
  116. package/compositions/layout/divider-with-label.json +17 -0
  117. package/compositions/layout/divider-with-label.yaml +29 -0
  118. package/compositions/layout/drawer-panel.json +23 -0
  119. package/compositions/layout/drawer-panel.yaml +34 -0
  120. package/compositions/layout/embed-iframe.json +19 -0
  121. package/compositions/layout/embed-iframe.yaml +31 -0
  122. package/compositions/layout/faq-accordion.json +85 -0
  123. package/compositions/layout/faq-accordion.yaml +32 -0
  124. package/compositions/layout/feature-grid.json +33 -0
  125. package/compositions/layout/feature-grid.yaml +42 -0
  126. package/compositions/layout/footer-nav.json +30 -0
  127. package/compositions/layout/footer-nav.yaml +35 -0
  128. package/compositions/layout/hero-cta.json +24 -0
  129. package/compositions/layout/hero-cta.yaml +35 -0
  130. package/compositions/layout/image-gallery.json +20 -0
  131. package/compositions/layout/image-gallery.yaml +43 -0
  132. package/compositions/layout/image-with-caption.json +19 -0
  133. package/compositions/layout/image-with-caption.yaml +29 -0
  134. package/compositions/layout/kanban-board.json +38 -0
  135. package/compositions/layout/kanban-board.yaml +37 -0
  136. package/compositions/layout/keyboard-shortcuts.json +26 -0
  137. package/compositions/layout/keyboard-shortcuts.yaml +42 -0
  138. package/compositions/layout/markdown-editor-preview.json +166 -0
  139. package/compositions/layout/media-player.json +22 -0
  140. package/compositions/layout/media-player.yaml +30 -0
  141. package/compositions/layout/modal-form.json +22 -0
  142. package/compositions/layout/modal-form.yaml +34 -0
  143. package/compositions/layout/onboarding-checklist.json +94 -0
  144. package/compositions/layout/onboarding-checklist.yaml +31 -0
  145. package/compositions/layout/popover-tooltip.json +21 -0
  146. package/compositions/layout/popover-tooltip.yaml +31 -0
  147. package/compositions/layout/pricing-tiers.json +42 -0
  148. package/compositions/layout/pricing-tiers.yaml +41 -0
  149. package/compositions/layout/product-card.json +28 -0
  150. package/compositions/layout/product-card.yaml +35 -0
  151. package/compositions/layout/sidebar-layout.json +24 -0
  152. package/compositions/layout/sidebar-layout.yaml +39 -0
  153. package/compositions/layout/split-pane-layout.json +20 -0
  154. package/compositions/layout/split-pane-layout.yaml +31 -0
  155. package/compositions/layout/tabs-panel.json +25 -0
  156. package/compositions/layout/tabs-panel.yaml +34 -0
  157. package/compositions/layout/testimonial-grid.json +42 -0
  158. package/compositions/layout/testimonial-grid.yaml +39 -0
  159. package/compositions/layout/three-pane-shell.json +316 -0
  160. package/compositions/layout/toolbar-actions.json +22 -0
  161. package/compositions/layout/toolbar-actions.yaml +29 -0
  162. package/compositions/navigation/breadcrumb-nav.json +18 -0
  163. package/compositions/navigation/breadcrumb-nav.yaml +29 -0
  164. package/compositions/navigation/nav-menu-with-icons.json +25 -0
  165. package/compositions/navigation/nav-menu-with-icons.yaml +39 -0
  166. package/compositions/navigation/pagination-controls.json +44 -0
  167. package/compositions/navigation/pagination-controls.yaml +34 -0
  168. package/compositions/navigation/segmented-control-tabs.json +17 -0
  169. package/compositions/navigation/segmented-control-tabs.yaml +29 -0
  170. package/compositions/navigation/workspace-switcher.json +29 -0
  171. package/compositions/settings/api-keys.json +57 -0
  172. package/compositions/settings/feature-flags.json +41 -0
  173. package/compositions/settings/integrations-gallery.json +66 -0
  174. package/compositions/settings/session-device-mgmt.json +52 -0
  175. package/compositions/settings/usage-quota-meter.json +47 -0
  176. package/compositions/settings/webhooks.json +62 -0
  177. package/exemplars/AUDIT-REPORT.md +116 -0
  178. package/exemplars/blocks-reference.md +409 -0
  179. package/exemplars/index.html +21 -0
  180. package/exemplars/prose/auth-login/a2ui.json +2143 -0
  181. package/exemplars/prose/auth-login/auth-login.yaml +38 -0
  182. package/exemplars/prose/auth-login/chunks/prose-auth-login-card-1.json +316 -0
  183. package/exemplars/prose/auth-login/chunks/prose-auth-login-card-10.json +102 -0
  184. package/exemplars/prose/auth-login/chunks/prose-auth-login-card-11.json +100 -0
  185. package/exemplars/prose/auth-login/chunks/prose-auth-login-card-12.json +101 -0
  186. package/exemplars/prose/auth-login/chunks/prose-auth-login-card-13.json +117 -0
  187. package/exemplars/prose/auth-login/chunks/prose-auth-login-card-2.json +132 -0
  188. package/exemplars/prose/auth-login/chunks/prose-auth-login-card-3.json +190 -0
  189. package/exemplars/prose/auth-login/chunks/prose-auth-login-card-4.json +64 -0
  190. package/exemplars/prose/auth-login/chunks/prose-auth-login-card-5.json +68 -0
  191. package/exemplars/prose/auth-login/chunks/prose-auth-login-card-6.json +117 -0
  192. package/exemplars/prose/auth-login/chunks/prose-auth-login-card-7.json +86 -0
  193. package/exemplars/prose/auth-login/chunks/prose-auth-login-card-8.json +218 -0
  194. package/exemplars/prose/auth-login/chunks/prose-auth-login-card-9.json +81 -0
  195. package/exemplars/prose/auth-login/index.html +539 -0
  196. package/exemplars/prose/cta/README.md +3 -0
  197. package/exemplars/prose/cta/a2ui.json +570 -0
  198. package/exemplars/prose/cta/chunks/prose-cta-card-1.json +191 -0
  199. package/exemplars/prose/cta/chunks/prose-cta-card-2.json +96 -0
  200. package/exemplars/prose/cta/cta.yaml +38 -0
  201. package/exemplars/prose/cta/data.json +6 -0
  202. package/exemplars/prose/cta/index.html +143 -0
  203. package/exemplars/prose/feature-grid/README.md +3 -0
  204. package/exemplars/prose/feature-grid/a2ui.json +464 -0
  205. package/exemplars/prose/feature-grid/chunks/prose-feature-grid-card-1.json +72 -0
  206. package/exemplars/prose/feature-grid/chunks/prose-feature-grid-card-2.json +72 -0
  207. package/exemplars/prose/feature-grid/chunks/prose-feature-grid-card-3.json +72 -0
  208. package/exemplars/prose/feature-grid/chunks/prose-feature-grid-card-4.json +72 -0
  209. package/exemplars/prose/feature-grid/chunks/prose-feature-grid-card-5.json +72 -0
  210. package/exemplars/prose/feature-grid/chunks/prose-feature-grid-card-6.json +72 -0
  211. package/exemplars/prose/feature-grid/data.json +13 -0
  212. package/exemplars/prose/feature-grid/feature-grid.yaml +35 -0
  213. package/exemplars/prose/feature-grid/index.html +103 -0
  214. package/exemplars/prose/footer/README.md +3 -0
  215. package/exemplars/prose/footer/a2ui.json +359 -0
  216. package/exemplars/prose/footer/data.json +10 -0
  217. package/exemplars/prose/footer/footer.yaml +32 -0
  218. package/exemplars/prose/footer/index.html +110 -0
  219. package/exemplars/prose/hero/README.md +3 -0
  220. package/exemplars/prose/hero/a2ui.json +982 -0
  221. package/exemplars/prose/hero/chunks/prose-hero-card-1.json +52 -0
  222. package/exemplars/prose/hero/chunks/prose-hero-card-2.json +52 -0
  223. package/exemplars/prose/hero/chunks/prose-hero-card-3.json +50 -0
  224. package/exemplars/prose/hero/chunks/prose-hero-card-4.json +50 -0
  225. package/exemplars/prose/hero/chunks/prose-hero-card-5.json +50 -0
  226. package/exemplars/prose/hero/chunks/prose-hero-card-6.json +70 -0
  227. package/exemplars/prose/hero/chunks/prose-hero-card-7.json +70 -0
  228. package/exemplars/prose/hero/chunks/prose-hero-card-8.json +70 -0
  229. package/exemplars/prose/hero/data.json +6 -0
  230. package/exemplars/prose/hero/hero.yaml +38 -0
  231. package/exemplars/prose/hero/index.html +227 -0
  232. package/exemplars/prose/pricing/README.md +3 -0
  233. package/exemplars/prose/pricing/a2ui.json +1367 -0
  234. package/exemplars/prose/pricing/chunks/prose-pricing-card-1.json +240 -0
  235. package/exemplars/prose/pricing/chunks/prose-pricing-card-2.json +312 -0
  236. package/exemplars/prose/pricing/chunks/prose-pricing-card-3.json +333 -0
  237. package/exemplars/prose/pricing/chunks/prose-pricing-card-4.json +51 -0
  238. package/exemplars/prose/pricing/chunks/prose-pricing-card-5.json +51 -0
  239. package/exemplars/prose/pricing/chunks/prose-pricing-card-6.json +51 -0
  240. package/exemplars/prose/pricing/chunks/prose-pricing-card-7.json +51 -0
  241. package/exemplars/prose/pricing/chunks/prose-pricing-card-8.json +80 -0
  242. package/exemplars/prose/pricing/data.json +9 -0
  243. package/exemplars/prose/pricing/index.html +308 -0
  244. package/exemplars/prose/pricing/pricing.yaml +38 -0
  245. package/exemplars/prose/steps/README.md +3 -0
  246. package/exemplars/prose/steps/a2ui.json +662 -0
  247. package/exemplars/prose/steps/chunks/prose-steps-card-1.json +129 -0
  248. package/exemplars/prose/steps/chunks/prose-steps-card-2.json +114 -0
  249. package/exemplars/prose/steps/chunks/prose-steps-card-3.json +182 -0
  250. package/exemplars/prose/steps/chunks/prose-steps-card-4.json +172 -0
  251. package/exemplars/prose/steps/data.json +31 -0
  252. package/exemplars/prose/steps/index.html +173 -0
  253. package/exemplars/prose/steps/setup.js +12 -0
  254. package/exemplars/prose/steps/steps.yaml +38 -0
  255. package/exemplars/prose/testimonials/README.md +3 -0
  256. package/exemplars/prose/testimonials/a2ui.json +1373 -0
  257. package/exemplars/prose/testimonials/chunks/prose-testimonials-card-1.json +182 -0
  258. package/exemplars/prose/testimonials/chunks/prose-testimonials-card-2.json +145 -0
  259. package/exemplars/prose/testimonials/chunks/prose-testimonials-card-3.json +146 -0
  260. package/exemplars/prose/testimonials/chunks/prose-testimonials-card-4.json +146 -0
  261. package/exemplars/prose/testimonials/chunks/prose-testimonials-card-5.json +146 -0
  262. package/exemplars/prose/testimonials/chunks/prose-testimonials-card-6.json +146 -0
  263. package/exemplars/prose/testimonials/chunks/prose-testimonials-card-7.json +146 -0
  264. package/exemplars/prose/testimonials/chunks/prose-testimonials-card-8.json +173 -0
  265. package/exemplars/prose/testimonials/data.json +14 -0
  266. package/exemplars/prose/testimonials/index.html +294 -0
  267. package/exemplars/prose/testimonials/testimonials.yaml +33 -0
  268. package/exemplars/ui/auth-login/a2ui.json +1821 -0
  269. package/exemplars/ui/auth-login/auth-login.yaml +38 -0
  270. package/exemplars/ui/auth-login/chunks/auth-login-card-1.json +172 -0
  271. package/exemplars/ui/auth-login/chunks/auth-login-card-10.json +123 -0
  272. package/exemplars/ui/auth-login/chunks/auth-login-card-11.json +101 -0
  273. package/exemplars/ui/auth-login/chunks/auth-login-card-12.json +108 -0
  274. package/exemplars/ui/auth-login/chunks/auth-login-card-2.json +153 -0
  275. package/exemplars/ui/auth-login/chunks/auth-login-card-3.json +201 -0
  276. package/exemplars/ui/auth-login/chunks/auth-login-card-4.json +148 -0
  277. package/exemplars/ui/auth-login/chunks/auth-login-card-5.json +91 -0
  278. package/exemplars/ui/auth-login/chunks/auth-login-card-6.json +112 -0
  279. package/exemplars/ui/auth-login/chunks/auth-login-card-7.json +100 -0
  280. package/exemplars/ui/auth-login/chunks/auth-login-card-8.json +99 -0
  281. package/exemplars/ui/auth-login/chunks/auth-login-card-9.json +286 -0
  282. package/exemplars/ui/auth-login/index.html +383 -0
  283. package/fragments/_schema.json +72 -0
  284. package/fragments/action/dual-cta-row.json +29 -0
  285. package/fragments/action/dual-cta-row.yaml +34 -0
  286. package/fragments/action/footer-cancel-save.json +31 -0
  287. package/fragments/action/footer-cancel-save.yaml +34 -0
  288. package/fragments/action/footer-primary-only.json +23 -0
  289. package/fragments/action/footer-primary-only.yaml +26 -0
  290. package/fragments/content/calendar-day-cell.json +29 -0
  291. package/fragments/content/chart-legend.json +122 -0
  292. package/fragments/content/column-config-atom.json +121 -0
  293. package/fragments/content/credential-entry-atom.json +128 -0
  294. package/fragments/content/directory-entry-atom.json +150 -0
  295. package/fragments/content/email-row.json +35 -0
  296. package/fragments/content/email-row.yaml +43 -0
  297. package/fragments/content/faq-item.json +54 -0
  298. package/fragments/content/health-entry-atom.json +87 -0
  299. package/fragments/content/icon-text-row.json +29 -0
  300. package/fragments/content/icon-text-row.yaml +36 -0
  301. package/fragments/content/icon-title-description.json +30 -0
  302. package/fragments/content/icon-title-description.yaml +37 -0
  303. package/fragments/content/image-tile.json +28 -0
  304. package/fragments/content/image-tile.yaml +32 -0
  305. package/fragments/content/incident-row.json +109 -0
  306. package/fragments/content/kbd-shortcut-row.json +29 -0
  307. package/fragments/content/kbd-shortcut-row.yaml +33 -0
  308. package/fragments/content/key-value-row.json +29 -0
  309. package/fragments/content/key-value-row.yaml +36 -0
  310. package/fragments/content/labeled-progress.json +29 -0
  311. package/fragments/content/labeled-progress.yaml +33 -0
  312. package/fragments/content/link-list-column.json +33 -0
  313. package/fragments/content/link-list-column.yaml +41 -0
  314. package/fragments/content/linked-record-row.json +95 -0
  315. package/fragments/content/marketplace-tile-atom.json +149 -0
  316. package/fragments/content/metadata-description-list.json +28 -0
  317. package/fragments/content/metadata-description-list.yaml +36 -0
  318. package/fragments/content/pending-invite-row.json +113 -0
  319. package/fragments/content/release-entry.json +159 -0
  320. package/fragments/content/rollout-entry-atom.json +170 -0
  321. package/fragments/content/signed-in-entry-atom.json +159 -0
  322. package/fragments/content/stage-entry-atom.json +117 -0
  323. package/fragments/content/stat-card.json +31 -0
  324. package/fragments/content/stat-card.yaml +39 -0
  325. package/fragments/content/user-identity-row.json +33 -0
  326. package/fragments/content/user-identity-row.yaml +43 -0
  327. package/fragments/content/user-notification-row.json +35 -0
  328. package/fragments/content/user-notification-row.yaml +50 -0
  329. package/fragments/content/wizard-step-row.json +96 -0
  330. package/fragments/form/labeled-checkbox.json +27 -0
  331. package/fragments/form/labeled-checkbox.yaml +36 -0
  332. package/fragments/form/labeled-input.json +28 -0
  333. package/fragments/form/labeled-input.yaml +38 -0
  334. package/fragments/form/labeled-slider.json +34 -0
  335. package/fragments/form/labeled-slider.yaml +50 -0
  336. package/fragments/form/labeled-textarea.json +28 -0
  337. package/fragments/form/labeled-textarea.yaml +39 -0
  338. package/fragments/form/labeled-toggle.json +29 -0
  339. package/fragments/form/labeled-toggle.yaml +43 -0
  340. package/fragments/form/rating-row.json +31 -0
  341. package/fragments/form/rating-row.yaml +40 -0
  342. package/fragments/layout/card-header-heading.json +39 -0
  343. package/fragments/layout/card-header-heading.yaml +27 -0
  344. package/fragments/layout/card-header-with-badge.json +30 -0
  345. package/fragments/layout/card-header-with-badge.yaml +40 -0
  346. package/fragments/layout/card-header-with-description.json +29 -0
  347. package/fragments/layout/card-header-with-description.yaml +32 -0
  348. package/fragments/layout/pricing-tier-card.json +37 -0
  349. package/fragments/layout/pricing-tier-card.yaml +50 -0
  350. package/fragments/layout/text-card.json +28 -0
  351. package/fragments/layout/text-card.yaml +30 -0
  352. package/manifest.json +6 -0
  353. package/package.json +33 -0
  354. package/patterns/_components.json +3320 -0
  355. package/patterns/_index.json +3232 -0
  356. package/patterns/_schema.json +206 -0
  357. package/patterns/_taxonomy.json +1970 -0
  358. package/patterns/agent/_domain.json +27 -0
  359. package/patterns/agent/alert-banner.json +41 -0
  360. package/patterns/agent/alert-banner.yaml +38 -0
  361. package/patterns/agent/chat-interface.json +205 -0
  362. package/patterns/agent/chat-interface.yaml +58 -0
  363. package/patterns/agent/command-palette.json +169 -0
  364. package/patterns/agent/command-palette.yaml +48 -0
  365. package/patterns/agent/empty-state.json +77 -0
  366. package/patterns/agent/empty-state.yaml +44 -0
  367. package/patterns/agent/error-state.json +67 -0
  368. package/patterns/agent/error-state.yaml +43 -0
  369. package/patterns/agent/loading-skeleton.json +101 -0
  370. package/patterns/agent/loading-skeleton.yaml +41 -0
  371. package/patterns/agent/notifications.json +87 -0
  372. package/patterns/agent/notifications.yaml +41 -0
  373. package/patterns/agent/streaming-response.json +58 -0
  374. package/patterns/agent/streaming-response.yaml +41 -0
  375. package/patterns/agent/toast-notification.json +70 -0
  376. package/patterns/agent/toast-notification.yaml +45 -0
  377. package/patterns/data/_domain.json +35 -0
  378. package/patterns/data/admin-dashboard-with-charts.json +755 -0
  379. package/patterns/data/admin-dashboard-with-charts.yaml +79 -0
  380. package/patterns/data/api-key-table.json +131 -0
  381. package/patterns/data/api-key-table.yaml +43 -0
  382. package/patterns/data/bookmark-list-categories.json +143 -0
  383. package/patterns/data/bookmark-list-categories.yaml +53 -0
  384. package/patterns/data/bookmark-list.json +163 -0
  385. package/patterns/data/bookmark-list.yaml +47 -0
  386. package/patterns/data/chart-dashboard.json +335 -0
  387. package/patterns/data/chart-dashboard.yaml +48 -0
  388. package/patterns/data/dashboard.json +153 -0
  389. package/patterns/data/dashboard.yaml +45 -0
  390. package/patterns/data/data-table-view.json +121 -0
  391. package/patterns/data/data-table-view.yaml +61 -0
  392. package/patterns/data/email-inbox.json +272 -0
  393. package/patterns/data/email-inbox.yaml +48 -0
  394. package/patterns/data/event-calendar-details.json +334 -0
  395. package/patterns/data/event-calendar-details.yaml +57 -0
  396. package/patterns/data/inventory-table.json +119 -0
  397. package/patterns/data/inventory-table.yaml +42 -0
  398. package/patterns/data/leaderboard.json +131 -0
  399. package/patterns/data/leaderboard.yaml +41 -0
  400. package/patterns/data/metrics.json +163 -0
  401. package/patterns/data/metrics.yaml +40 -0
  402. package/patterns/data/notification-center.json +264 -0
  403. package/patterns/data/notification-center.yaml +56 -0
  404. package/patterns/data/onboarding-checklist.json +114 -0
  405. package/patterns/data/onboarding-checklist.yaml +43 -0
  406. package/patterns/data/order-tracking.json +167 -0
  407. package/patterns/data/order-tracking.yaml +48 -0
  408. package/patterns/data/pagination-nav.json +48 -0
  409. package/patterns/data/pagination-nav.yaml +42 -0
  410. package/patterns/data/progress-dashboard.json +195 -0
  411. package/patterns/data/progress-dashboard.yaml +50 -0
  412. package/patterns/data/progress-tracker.json +119 -0
  413. package/patterns/data/progress-tracker.yaml +44 -0
  414. package/patterns/data/restaurant-menu.json +271 -0
  415. package/patterns/data/restaurant-menu.yaml +58 -0
  416. package/patterns/data/stat-cards.json +144 -0
  417. package/patterns/data/stat-cards.yaml +42 -0
  418. package/patterns/data/team-activity.json +170 -0
  419. package/patterns/data/team-activity.yaml +46 -0
  420. package/patterns/forms/_domain.json +32 -0
  421. package/patterns/forms/auth-signup.json +221 -0
  422. package/patterns/forms/auth-signup.yaml +55 -0
  423. package/patterns/forms/bleed-design-settings.json +201 -0
  424. package/patterns/forms/bleed-design-settings.yaml +57 -0
  425. package/patterns/forms/color-picker-demo.json +52 -0
  426. package/patterns/forms/color-picker-demo.yaml +43 -0
  427. package/patterns/forms/color-picker-panel.json +48 -0
  428. package/patterns/forms/color-picker-panel.yaml +38 -0
  429. package/patterns/forms/color-theme-builder.json +198 -0
  430. package/patterns/forms/color-theme-builder.yaml +55 -0
  431. package/patterns/forms/create-form.json +191 -0
  432. package/patterns/forms/create-form.yaml +55 -0
  433. package/patterns/forms/credit-card-payment.json +282 -0
  434. package/patterns/forms/credit-card-payment.yaml +61 -0
  435. package/patterns/forms/data-import.json +111 -0
  436. package/patterns/forms/data-import.yaml +49 -0
  437. package/patterns/forms/date-picker.json +85 -0
  438. package/patterns/forms/date-picker.yaml +44 -0
  439. package/patterns/forms/date-range-picker.json +155 -0
  440. package/patterns/forms/date-range-picker.yaml +54 -0
  441. package/patterns/forms/file-upload-form.json +151 -0
  442. package/patterns/forms/file-upload-form.yaml +60 -0
  443. package/patterns/forms/file-upload-gallery.json +174 -0
  444. package/patterns/forms/file-upload-gallery.yaml +56 -0
  445. package/patterns/forms/image-upload-preview.json +72 -0
  446. package/patterns/forms/image-upload-preview.yaml +42 -0
  447. package/patterns/forms/login-form.json +213 -0
  448. package/patterns/forms/login-form.yaml +61 -0
  449. package/patterns/forms/modal-dialog-form.json +233 -0
  450. package/patterns/forms/modal-dialog-form.yaml +52 -0
  451. package/patterns/forms/newsletter-subscribe.json +69 -0
  452. package/patterns/forms/newsletter-subscribe.yaml +47 -0
  453. package/patterns/forms/notification-filters.json +345 -0
  454. package/patterns/forms/notification-filters.yaml +80 -0
  455. package/patterns/forms/notification-preferences.json +302 -0
  456. package/patterns/forms/notification-preferences.yaml +66 -0
  457. package/patterns/forms/otp-form.json +89 -0
  458. package/patterns/forms/otp-form.yaml +46 -0
  459. package/patterns/forms/otp-verification.json +128 -0
  460. package/patterns/forms/otp-verification.yaml +52 -0
  461. package/patterns/forms/password-reset.json +206 -0
  462. package/patterns/forms/password-reset.yaml +56 -0
  463. package/patterns/forms/price-range-filter.json +133 -0
  464. package/patterns/forms/price-range-filter.yaml +51 -0
  465. package/patterns/forms/radio-group-selection.json +209 -0
  466. package/patterns/forms/radio-group-selection.yaml +51 -0
  467. package/patterns/forms/radio-group.json +143 -0
  468. package/patterns/forms/radio-group.yaml +50 -0
  469. package/patterns/forms/search-filters.json +201 -0
  470. package/patterns/forms/search-filters.yaml +60 -0
  471. package/patterns/forms/settings-page.json +364 -0
  472. package/patterns/forms/settings-page.yaml +64 -0
  473. package/patterns/forms/slider-range.json +119 -0
  474. package/patterns/forms/slider-range.yaml +45 -0
  475. package/patterns/forms/survey-rating-scales.json +450 -0
  476. package/patterns/forms/survey-rating-scales.yaml +69 -0
  477. package/patterns/forms/tag-input.json +112 -0
  478. package/patterns/forms/tag-input.yaml +47 -0
  479. package/patterns/forms/theme-customizer.json +180 -0
  480. package/patterns/forms/theme-customizer.yaml +53 -0
  481. package/patterns/forms/two-factor-auth.json +99 -0
  482. package/patterns/forms/two-factor-auth.yaml +62 -0
  483. package/patterns/forms/volume-control.json +99 -0
  484. package/patterns/forms/volume-control.yaml +47 -0
  485. package/patterns/forms/wizard-steps.json +130 -0
  486. package/patterns/forms/wizard-steps.yaml +58 -0
  487. package/patterns/layout/_domain.json +29 -0
  488. package/patterns/layout/accordion-settings.json +345 -0
  489. package/patterns/layout/accordion-settings.yaml +55 -0
  490. package/patterns/layout/avatar-group.json +136 -0
  491. package/patterns/layout/avatar-group.yaml +47 -0
  492. package/patterns/layout/badge-showcase.json +244 -0
  493. package/patterns/layout/badge-showcase.yaml +46 -0
  494. package/patterns/layout/calendar-view.json +88 -0
  495. package/patterns/layout/calendar-view.yaml +42 -0
  496. package/patterns/layout/code-block.json +88 -0
  497. package/patterns/layout/code-block.yaml +47 -0
  498. package/patterns/layout/consent-banner.json +89 -0
  499. package/patterns/layout/consent-banner.yaml +50 -0
  500. package/patterns/layout/cta-banner.json +99 -0
  501. package/patterns/layout/cta-banner.yaml +46 -0
  502. package/patterns/layout/divider-label.json +68 -0
  503. package/patterns/layout/divider-label.yaml +42 -0
  504. package/patterns/layout/drawer-panel.json +220 -0
  505. package/patterns/layout/drawer-panel.yaml +54 -0
  506. package/patterns/layout/embed-content.json +86 -0
  507. package/patterns/layout/embed-content.yaml +46 -0
  508. package/patterns/layout/faq-accordion.json +159 -0
  509. package/patterns/layout/faq-accordion.yaml +47 -0
  510. package/patterns/layout/feature-carousel.json +263 -0
  511. package/patterns/layout/feature-carousel.yaml +47 -0
  512. package/patterns/layout/feature-grid.json +197 -0
  513. package/patterns/layout/feature-grid.yaml +45 -0
  514. package/patterns/layout/hero-section.json +109 -0
  515. package/patterns/layout/hero-section.yaml +46 -0
  516. package/patterns/layout/image-caption.json +48 -0
  517. package/patterns/layout/image-caption.yaml +37 -0
  518. package/patterns/layout/image-carousel.json +173 -0
  519. package/patterns/layout/image-carousel.yaml +47 -0
  520. package/patterns/layout/image-gallery.json +128 -0
  521. package/patterns/layout/image-gallery.yaml +45 -0
  522. package/patterns/layout/kanban-board.json +292 -0
  523. package/patterns/layout/kanban-board.yaml +58 -0
  524. package/patterns/layout/kbd-shortcuts.json +178 -0
  525. package/patterns/layout/kbd-shortcuts.yaml +43 -0
  526. package/patterns/layout/markdown-editor.json +126 -0
  527. package/patterns/layout/markdown-editor.yaml +46 -0
  528. package/patterns/layout/music-player.json +107 -0
  529. package/patterns/layout/music-player.yaml +42 -0
  530. package/patterns/layout/pagination-demo.json +55 -0
  531. package/patterns/layout/pagination-demo.yaml +44 -0
  532. package/patterns/layout/pagination-table.json +107 -0
  533. package/patterns/layout/pagination-table.yaml +59 -0
  534. package/patterns/layout/popover-demo.json +71 -0
  535. package/patterns/layout/popover-demo.yaml +46 -0
  536. package/patterns/layout/popover-menu.json +117 -0
  537. package/patterns/layout/popover-menu.yaml +45 -0
  538. package/patterns/layout/pricing-tiers.json +354 -0
  539. package/patterns/layout/pricing-tiers.yaml +52 -0
  540. package/patterns/layout/product-card.json +89 -0
  541. package/patterns/layout/product-card.yaml +46 -0
  542. package/patterns/layout/product-carousel.json +251 -0
  543. package/patterns/layout/product-carousel.yaml +47 -0
  544. package/patterns/layout/social-post.json +119 -0
  545. package/patterns/layout/social-post.yaml +45 -0
  546. package/patterns/layout/split-pane.json +69 -0
  547. package/patterns/layout/split-pane.yaml +41 -0
  548. package/patterns/layout/swiper-carousel.json +97 -0
  549. package/patterns/layout/swiper-carousel.yaml +55 -0
  550. package/patterns/layout/tabs-panels.json +173 -0
  551. package/patterns/layout/tabs-panels.yaml +46 -0
  552. package/patterns/layout/team-carousel.json +332 -0
  553. package/patterns/layout/team-carousel.yaml +50 -0
  554. package/patterns/layout/testimonials-carousel.json +281 -0
  555. package/patterns/layout/testimonials-carousel.yaml +50 -0
  556. package/patterns/layout/testimonials-grid.json +286 -0
  557. package/patterns/layout/testimonials-grid.yaml +46 -0
  558. package/patterns/layout/toolbar-buttons.json +179 -0
  559. package/patterns/layout/toolbar-buttons.yaml +47 -0
  560. package/patterns/layout/tooltip-buttons.json +127 -0
  561. package/patterns/layout/tooltip-buttons.yaml +44 -0
  562. package/patterns/layout/user-profile.json +123 -0
  563. package/patterns/layout/user-profile.yaml +45 -0
  564. package/patterns/layout/video-player.json +95 -0
  565. package/patterns/layout/video-player.yaml +45 -0
  566. package/patterns/layout/weather-widget.json +127 -0
  567. package/patterns/layout/weather-widget.yaml +46 -0
  568. package/patterns/navigation/_domain.json +25 -0
  569. package/patterns/navigation/breadcrumb-nav.json +57 -0
  570. package/patterns/navigation/breadcrumb-nav.yaml +39 -0
  571. package/patterns/navigation/nav-menu-icons.json +71 -0
  572. package/patterns/navigation/nav-menu-icons.yaml +38 -0
  573. package/patterns/navigation/section-subnav.json +79 -0
  574. package/patterns/navigation/segmented-control.json +56 -0
  575. package/patterns/navigation/segmented-control.yaml +40 -0
  576. package/patterns/navigation/sidebar-nav.json +207 -0
  577. package/patterns/navigation/sidebar-nav.yaml +44 -0
  578. package/patterns/settings/settings-page.json +280 -0
  579. package/patterns/settings/settings-page.yaml +51 -0
@@ -0,0 +1,54 @@
1
+ # AdiaUI Catalog — LLM Rules (v0.9)
2
+
3
+ # Cross-component and contextual constraints that the JSON Schema validator
4
+ # cannot express. Concatenated into the agent system prompt.
5
+ # Generated from each component YAML's `a2ui.rules:` entries.
6
+
7
+ ## Card
8
+ - The card's <header> grid activates only for DIRECT-child slotted elements. If you need an icon column, place the icon element (avatar-ui, icon-ui) directly in the header with slot="icon" — not inside a wrapper.
9
+ - Heading slot accepts inline badges/metadata: <span slot="heading"><text-ui strong>Title</text-ui><badge-ui text="New" variant="accent"></badge-ui></span> renders title + badge on one row.
10
+ - Description slot also accepts bare <p> or <small> elements as siblings of the heading — they participate in the grid's row 2 without needing slot="description".
11
+ - Multiple <section> siblings are allowed and stack vertically. [bleed] on a section removes its margin for edge-to-edge content (tables, charts); [padding] adds a canvas-scrim background for hero regions.
12
+ - Footer with a [slot="description"] + [slot="action"] pair triggers justify-content: space-between — useful for a "Last saved …" note on the left and a Save/Cancel button group on the right.
13
+
14
+ ## Grid
15
+ - For asymmetric column ratios, use [columns="N"] plus [span="M"] on the child that should be wider. Never set grid-template-columns via style — it bypasses the component API and reads as a local hack.
16
+ - Canonical ratios: 1:1 → columns="2"; 2:1 → columns="3" + span="2"; 3:1 → columns="4" + span="3"; 3:2 → columns="5" + span="3"+"2"; 4:1 → columns="5" + span="4". Round unusual ratios (e.g. 7:5) to 3:2.
17
+ - The default (no columns attribute) gives equal auto-columns flowing in a single row. Prefer the explicit numeric attribute for dashboard rows so the layout is predictable when items wrap.
18
+
19
+ ## Chat
20
+ - adia-chat is a behavior wrapper; don't nest col-ui/row-ui inside it directly — author the structural DOM using [data-chat-*] markers instead.
21
+
22
+ ## Editor
23
+ - adia-editor is a layout skeleton. Children must follow the documented structural DOM; the element wires behavior, not content.
24
+
25
+ ## AppNavGroup
26
+ - Must be a direct child of app-nav-ui.
27
+ - Children must be app-nav-item-ui, not arbitrary components.
28
+
29
+ ## AppNavItem
30
+ - Must be a descendant of app-nav-ui (direct child or via app-nav-group-ui).
31
+ - Only one sibling may have selected=true at a time; prefer calling nav.select() over setting the attribute manually.
32
+
33
+ ## AppNav
34
+ - app-nav-ui is the only valid parent of app-nav-group-ui.
35
+ - app-nav-item-ui may be a direct child of app-nav-ui OR nested inside app-nav-group-ui.
36
+
37
+ ## AppShell
38
+ - app-shell-ui is a behavior wrapper; its children are native HTML landmarks (aside, main, header). Don't wrap them in col-ui/row-ui — app-shell.css handles grid layout based on [data-sidebar] attributes.
39
+
40
+ ## GenUI
41
+ - gen-ui-ui is an integration shell. Prefer app-shell-ui for admin UIs; use gen-ui-ui only for chat+canvas tooling.
42
+
43
+ ## SectionNavGroup
44
+ - Must be a direct child of section-nav-ui.
45
+ - Children must be section-nav-item-ui.
46
+
47
+ ## SectionNavItem
48
+ - Must be a descendant of section-nav-ui (direct child or via section-nav-group-ui).
49
+
50
+ ## SectionNav
51
+ - section-nav-ui is the only valid parent of section-nav-group-ui.
52
+ - section-nav-item-ui may be a direct child of section-nav-ui OR nested inside section-nav-group-ui.
53
+ - Use section-nav-ui beside an article inside an app-shell section; don't nest app-nav inside it.
54
+
@@ -0,0 +1,26 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "A2UI Composition",
4
+ "description": "A pattern expressed as references to fragments + inline nodes. Same A2UI flat-adjacency structure as a legacy Pattern, except nodes may carry a `$fragment` field instead of a `component`. At resolve time, the composer expands each $fragment reference into the fragment's template with slot bindings applied, producing a standard A2UI tree.",
5
+ "type": "object",
6
+ "required": ["name", "kind", "domain", "template"],
7
+ "properties": {
8
+ "$schema": { "type": "string" },
9
+ "name": { "type": "string" },
10
+ "version": { "type": "integer", "default": 1 },
11
+ "kind": { "const": "composition" },
12
+ "domain": { "type": "string" },
13
+ "description": { "type": "string" },
14
+ "tags": { "type": "object" },
15
+ "keywords": { "type": "array", "items": { "type": "string" } },
16
+ "related": { "type": "array", "items": { "type": "string" } },
17
+
18
+ "template": {
19
+ "type": "array",
20
+ "description": "Flat A2UI adjacency. A node is either (a) a normal A2UI component node OR (b) a fragment reference: { id, $fragment: 'fragment-name', bindings: { slotName: value }, children?: [...] }. Fragment refs may accept a `children` override to inject extra children into the fragment's root (e.g., adding more form fields to a card section).",
21
+ "items": { "type": "object" }
22
+ },
23
+
24
+ "wiring": { "type": "object" }
25
+ }
26
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "$schema": "../_schema.json",
3
+ "name": "ai-streaming-response",
4
+ "version": 1,
5
+ "kind": "composition",
6
+ "domain": "agent",
7
+ "description": "AI response card with streaming text — shows the agent's answer as it generates.",
8
+ "tags": { "purpose": ["agent", "ai", "stream"], "complexity": "atomic", "layout": "stacked" },
9
+ "keywords": ["ai", "streaming", "response", "agent output", "stream", "llm"],
10
+
11
+ "template": [
12
+ { "id": "root", "component": "Card", "children": ["sec"] },
13
+ { "id": "sec", "component": "Section", "children": ["col"] },
14
+ { "id": "col", "component": "Column", "children": ["label", "stream"], "gap": "2" },
15
+ { "id": "label","component": "Text", "variant": "caption", "color": "muted", "textContent": "Assistant" },
16
+ { "id": "stream","component": "Stream",
17
+ "textContent": "Analyzing your request and generating a response…" }
18
+ ]
19
+ }
@@ -0,0 +1,32 @@
1
+ # Generated by scripts/generate-yaml-scaffolds.mjs
2
+ # Narrative doc — JSON sibling remains the canonical machine source.
3
+ # Fill in TODO sections by hand.
4
+
5
+ $schema: ../../../../../scripts/schemas/composition.yaml.schema.json
6
+ kind: composition
7
+ name: ai-streaming-response
8
+ domain: agent
9
+ description: >-
10
+ AI response card with streaming text — shows the agent's answer as it generates.
11
+ keywords:
12
+ - ai
13
+ - streaming
14
+ - response
15
+ - agent output
16
+ - stream
17
+ - llm
18
+ tags:
19
+ purpose:
20
+ - agent
21
+ - ai
22
+ - stream
23
+ complexity: atomic
24
+ layout: stacked
25
+ related: []
26
+ fragments_used: []
27
+ use-cases:
28
+ - "TODO: primary use case"
29
+ wiring-intent:
30
+ summary: Static composition (no interactive wiring).
31
+ controllers: []
32
+ actions: []
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "../_schema.json",
3
+ "name": "alert-banner",
4
+ "version": 1,
5
+ "kind": "composition",
6
+ "domain": "agent",
7
+ "description": "Dismissible alert banner with message text and an action button — for cookie consent, warnings, notices.",
8
+ "tags": {
9
+ "purpose": ["notice", "warning", "consent"],
10
+ "complexity": "atomic",
11
+ "layout": "row"
12
+ },
13
+ "keywords": ["alert", "banner", "notice", "warning", "cookie consent", "dismiss"],
14
+
15
+ "template": [
16
+ { "id": "root", "component": "Alert", "variant": "info", "children": ["row"] },
17
+ { "id": "row", "component": "Row", "children": ["msg", "actions"], "gap": "3", "align": "center" },
18
+ { "id": "msg", "component": "Text", "variant": "body",
19
+ "textContent": "We use cookies to improve your experience. Read our privacy policy." },
20
+ { "id": "actions", "$fragment": "dual-cta-row",
21
+ "bindings": { "primaryLabel": "Accept", "secondaryLabel": "Dismiss" } }
22
+ ]
23
+ }
@@ -0,0 +1,34 @@
1
+ # Generated by scripts/generate-yaml-scaffolds.mjs
2
+ # Narrative doc — JSON sibling remains the canonical machine source.
3
+ # Fill in TODO sections by hand.
4
+
5
+ $schema: ../../../../../scripts/schemas/composition.yaml.schema.json
6
+ kind: composition
7
+ name: alert-banner
8
+ domain: agent
9
+ description: >-
10
+ Dismissible alert banner with message text and an action button — for cookie consent, warnings, notices.
11
+ keywords:
12
+ - alert
13
+ - banner
14
+ - notice
15
+ - warning
16
+ - cookie consent
17
+ - dismiss
18
+ tags:
19
+ purpose:
20
+ - notice
21
+ - warning
22
+ - consent
23
+ complexity: atomic
24
+ layout: row
25
+ related: []
26
+ fragments_used:
27
+ - fragment: dual-cta-row
28
+ prefix: ""
29
+ use-cases:
30
+ - "TODO: primary use case"
31
+ wiring-intent:
32
+ summary: Static composition (no interactive wiring).
33
+ controllers: []
34
+ actions: []
@@ -0,0 +1,127 @@
1
+ {
2
+ "$schema": "../_schema.json",
3
+ "name": "chat-interface",
4
+ "version": 2,
5
+ "kind": "composition",
6
+ "domain": "agent",
7
+ "description": "Chat interface with message bubbles (sent and received) using the Chat primitive plus a composer row with input and send button. Visually distinguishes user vs agent messages.",
8
+ "tags": {
9
+ "purpose": [
10
+ "chat",
11
+ "messaging",
12
+ "agent"
13
+ ],
14
+ "complexity": "medium",
15
+ "layout": "stacked"
16
+ },
17
+ "keywords": [
18
+ "chat",
19
+ "message",
20
+ "bubbles",
21
+ "conversation",
22
+ "messaging",
23
+ "ai chat",
24
+ "chat interface",
25
+ "message bubbles",
26
+ "sent",
27
+ "received",
28
+ "composer",
29
+ "chat bubbles",
30
+ "chat history",
31
+ "send message",
32
+ "conversation view"
33
+ ],
34
+ "template": [
35
+ {
36
+ "id": "root",
37
+ "component": "Card",
38
+ "children": [
39
+ "hdr",
40
+ "sec",
41
+ "ftr"
42
+ ]
43
+ },
44
+ {
45
+ "id": "hdr",
46
+ "$fragment": "card-header-heading",
47
+ "bindings": {
48
+ "heading": "Chat"
49
+ }
50
+ },
51
+ {
52
+ "id": "sec",
53
+ "component": "Section",
54
+ "children": [
55
+ "chat"
56
+ ]
57
+ },
58
+ {
59
+ "id": "chat",
60
+ "component": "Chat",
61
+ "children": [
62
+ "b1",
63
+ "b2",
64
+ "b3",
65
+ "b4"
66
+ ]
67
+ },
68
+ {
69
+ "id": "b1",
70
+ "component": "Text",
71
+ "role": "assistant",
72
+ "variant": "body",
73
+ "textContent": "Hi \u2014 how can I help you today?"
74
+ },
75
+ {
76
+ "id": "b2",
77
+ "component": "Text",
78
+ "role": "user",
79
+ "variant": "body",
80
+ "textContent": "I'd like to reset my password."
81
+ },
82
+ {
83
+ "id": "b3",
84
+ "component": "Text",
85
+ "role": "assistant",
86
+ "variant": "body",
87
+ "textContent": "Sure \u2014 I just sent a reset link to your email."
88
+ },
89
+ {
90
+ "id": "b4",
91
+ "component": "Text",
92
+ "role": "user",
93
+ "variant": "body",
94
+ "textContent": "Got it, thanks!"
95
+ },
96
+ {
97
+ "id": "ftr",
98
+ "component": "Footer",
99
+ "children": [
100
+ "composer"
101
+ ]
102
+ },
103
+ {
104
+ "id": "composer",
105
+ "component": "Row",
106
+ "children": [
107
+ "input",
108
+ "send"
109
+ ],
110
+ "gap": "2",
111
+ "align": "center"
112
+ },
113
+ {
114
+ "id": "input",
115
+ "component": "Input",
116
+ "name": "message",
117
+ "placeholder": "Type a message\u2026"
118
+ },
119
+ {
120
+ "id": "send",
121
+ "component": "Button",
122
+ "variant": "primary",
123
+ "icon": "send",
124
+ "text": "Send"
125
+ }
126
+ ]
127
+ }
@@ -0,0 +1,34 @@
1
+ # Generated by scripts/generate-yaml-scaffolds.mjs
2
+ # Narrative doc — JSON sibling remains the canonical machine source.
3
+ # Fill in TODO sections by hand.
4
+
5
+ $schema: ../../../../../scripts/schemas/composition.yaml.schema.json
6
+ kind: composition
7
+ name: chat-interface
8
+ domain: agent
9
+ description: >-
10
+ Chat interface with message bubbles from alternating speakers plus a composer input at the bottom.
11
+ keywords:
12
+ - chat
13
+ - message
14
+ - bubbles
15
+ - conversation
16
+ - messaging
17
+ - ai chat
18
+ tags:
19
+ purpose:
20
+ - chat
21
+ - messaging
22
+ - agent
23
+ complexity: medium
24
+ layout: stacked
25
+ related: []
26
+ fragments_used:
27
+ - fragment: card-header-heading
28
+ prefix: ""
29
+ use-cases:
30
+ - "TODO: primary use case"
31
+ wiring-intent:
32
+ summary: Static composition (no interactive wiring).
33
+ controllers: []
34
+ actions: []
@@ -0,0 +1,113 @@
1
+ {
2
+ "$schema": "../_schema.json",
3
+ "name": "command-palette",
4
+ "version": 2,
5
+ "kind": "composition",
6
+ "domain": "agent",
7
+ "description": "Command palette with a search Input for filtering and a keyboard-navigable Command list of executable actions with icons and keyboard shortcut hints.",
8
+ "tags": {
9
+ "purpose": [
10
+ "command",
11
+ "search",
12
+ "quick-action",
13
+ "navigation"
14
+ ],
15
+ "complexity": "medium",
16
+ "layout": "stacked"
17
+ },
18
+ "keywords": [
19
+ "command palette",
20
+ "cmdk",
21
+ "quick action",
22
+ "command search",
23
+ "command list",
24
+ "fuzzy search",
25
+ "cmd+k",
26
+ "ctrl+k",
27
+ "spotlight",
28
+ "quick switcher",
29
+ "launcher",
30
+ "keyboard navigation",
31
+ "keyboard shortcuts",
32
+ "action menu",
33
+ "command menu",
34
+ "palette"
35
+ ],
36
+ "template": [
37
+ {
38
+ "id": "root",
39
+ "component": "Card",
40
+ "children": [
41
+ "hdr",
42
+ "sec"
43
+ ]
44
+ },
45
+ {
46
+ "id": "hdr",
47
+ "component": "Header",
48
+ "children": [
49
+ "input"
50
+ ]
51
+ },
52
+ {
53
+ "id": "input",
54
+ "component": "Input",
55
+ "name": "q",
56
+ "placeholder": "Type a command or search\u2026",
57
+ "icon": "search"
58
+ },
59
+ {
60
+ "id": "sec",
61
+ "component": "Section",
62
+ "children": [
63
+ "cmd"
64
+ ]
65
+ },
66
+ {
67
+ "id": "cmd",
68
+ "component": "Command",
69
+ "children": [
70
+ "c1",
71
+ "c2",
72
+ "c3",
73
+ "c4",
74
+ "c5"
75
+ ]
76
+ },
77
+ {
78
+ "id": "c1",
79
+ "component": "ActionItem",
80
+ "icon": "file-plus",
81
+ "text": "Create new document",
82
+ "shortcut": "\u2318N"
83
+ },
84
+ {
85
+ "id": "c2",
86
+ "component": "ActionItem",
87
+ "icon": "settings",
88
+ "text": "Open settings",
89
+ "shortcut": "\u2318,"
90
+ },
91
+ {
92
+ "id": "c3",
93
+ "component": "ActionItem",
94
+ "icon": "user-plus",
95
+ "text": "Invite teammate",
96
+ "shortcut": "\u2318I"
97
+ },
98
+ {
99
+ "id": "c4",
100
+ "component": "ActionItem",
101
+ "icon": "search",
102
+ "text": "Search help articles",
103
+ "shortcut": "?"
104
+ },
105
+ {
106
+ "id": "c5",
107
+ "component": "ActionItem",
108
+ "icon": "log-out",
109
+ "text": "Sign out",
110
+ "shortcut": "\u2318Q"
111
+ }
112
+ ]
113
+ }
@@ -0,0 +1,30 @@
1
+ # Generated by scripts/generate-yaml-scaffolds.mjs
2
+ # Narrative doc — JSON sibling remains the canonical machine source.
3
+ # Fill in TODO sections by hand.
4
+
5
+ $schema: ../../../../../scripts/schemas/composition.yaml.schema.json
6
+ kind: composition
7
+ name: command-palette
8
+ domain: agent
9
+ description: >-
10
+ Command palette search — universal quick-action input with a list of matching commands.
11
+ keywords:
12
+ - command palette
13
+ - cmdk
14
+ - quick action
15
+ - command search
16
+ tags:
17
+ purpose:
18
+ - command
19
+ - search
20
+ - quick-action
21
+ complexity: simple
22
+ layout: stacked
23
+ related: []
24
+ fragments_used: []
25
+ use-cases:
26
+ - "TODO: primary use case"
27
+ wiring-intent:
28
+ summary: Static composition (no interactive wiring).
29
+ controllers: []
30
+ actions: []
@@ -0,0 +1,22 @@
1
+ {
2
+ "$schema": "../_schema.json",
3
+ "name": "empty-state",
4
+ "version": 1,
5
+ "kind": "composition",
6
+ "domain": "agent",
7
+ "description": "Empty state with illustration, explanation, and a primary action — shown when a list/view has no content or on error recovery.",
8
+ "tags": {
9
+ "purpose": ["empty-state", "error", "onboarding"],
10
+ "complexity": "atomic",
11
+ "layout": "centered"
12
+ },
13
+ "keywords": ["empty", "empty state", "no results", "no data", "no items", "illustration", "nothing", "get started", "onboarding placeholder"],
14
+
15
+ "template": [
16
+ { "id": "root", "component": "EmptyState", "children": ["col"] },
17
+ { "id": "col", "component": "Column", "children": ["tile", "btn"], "gap": "3", "align": "center" },
18
+ { "id": "tile", "$fragment": "icon-title-description",
19
+ "bindings": { "icon": "inbox", "title": "Nothing here yet", "description": "Items you create will appear on this page." } },
20
+ { "id": "btn", "component": "Button", "variant": "primary", "text": "Get started" }
21
+ ]
22
+ }
@@ -0,0 +1,35 @@
1
+ # Generated by scripts/generate-yaml-scaffolds.mjs
2
+ # Narrative doc — JSON sibling remains the canonical machine source.
3
+ # Fill in TODO sections by hand.
4
+
5
+ $schema: ../../../../../scripts/schemas/composition.yaml.schema.json
6
+ kind: composition
7
+ name: empty-state
8
+ domain: agent
9
+ description: >-
10
+ Empty state with illustration, explanation, and a primary action — shown when a list/view has no content or on error recovery.
11
+ keywords:
12
+ - empty
13
+ - empty state
14
+ - no results
15
+ - illustration
16
+ - error state
17
+ - retry
18
+ - nothing
19
+ tags:
20
+ purpose:
21
+ - empty-state
22
+ - error
23
+ - onboarding
24
+ complexity: atomic
25
+ layout: centered
26
+ related: []
27
+ fragments_used:
28
+ - fragment: icon-title-description
29
+ prefix: ""
30
+ use-cases:
31
+ - "TODO: primary use case"
32
+ wiring-intent:
33
+ summary: Static composition (no interactive wiring).
34
+ controllers: []
35
+ actions: []
@@ -0,0 +1,32 @@
1
+ {
2
+ "$schema": "../_schema.json",
3
+ "name": "error-state-retry",
4
+ "version": 1,
5
+ "kind": "composition",
6
+ "domain": "agent",
7
+ "description": "Error state card with an error alert/icon, failure explanation, and prominent Retry button plus a secondary recovery action. Shown when an operation fails and the user can retry.",
8
+ "tags": {
9
+ "purpose": ["error-state", "feedback", "recovery"],
10
+ "complexity": "atomic",
11
+ "layout": "centered"
12
+ },
13
+ "keywords": [
14
+ "error", "error state", "error message", "failure", "failed",
15
+ "retry", "retry button", "try again", "reload", "refresh",
16
+ "something went wrong", "unable to load", "request failed",
17
+ "network error", "connection error", "problem", "alert", "recovery"
18
+ ],
19
+
20
+ "template": [
21
+ { "id": "root", "component": "Card", "children": ["col"] },
22
+ { "id": "col", "component": "Column", "children": ["alert", "tile", "actions"], "gap": "3", "align": "center" },
23
+ { "id": "alert", "component": "Alert", "variant": "danger",
24
+ "title": "Something went wrong",
25
+ "description": "We couldn't complete that request. Check your connection and try again." },
26
+ { "id": "tile", "$fragment": "icon-title-description",
27
+ "bindings": { "icon": "alert-circle", "title": "Request failed", "description": "The server returned an error. Retrying may resolve the issue." } },
28
+ { "id": "actions", "component": "Row", "gap": "2", "align": "center", "children": ["retry", "cancel"] },
29
+ { "id": "retry", "component": "Button", "variant": "primary", "icon": "refresh-cw", "text": "Retry" },
30
+ { "id": "cancel", "component": "Button", "variant": "ghost", "text": "Go back" }
31
+ ]
32
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "$schema": "../_schema.json",
3
+ "name": "loading-skeleton",
4
+ "version": 1,
5
+ "kind": "composition",
6
+ "domain": "agent",
7
+ "description": "Skeleton placeholder mimicking a card layout — shown during data loading for perceived-performance.",
8
+ "tags": {
9
+ "purpose": ["loading", "skeleton", "placeholder"],
10
+ "complexity": "atomic",
11
+ "layout": "stacked"
12
+ },
13
+ "keywords": ["skeleton", "loading", "placeholder", "shimmer", "loader"],
14
+
15
+ "template": [
16
+ { "id": "root", "component": "Card", "children": ["hdr", "sec"] },
17
+ { "id": "hdr", "component": "Header", "children": ["sk-title"] },
18
+ { "id": "sk-title", "component": "Skeleton", "width": "40%", "height": "1.5rem" },
19
+ { "id": "sec", "component": "Section", "children": ["col"] },
20
+ { "id": "col", "component": "Column", "children": ["l1", "l2", "l3"], "gap": "2" },
21
+ { "id": "l1", "component": "Skeleton", "width": "100%", "height": "1rem" },
22
+ { "id": "l2", "component": "Skeleton", "width": "90%", "height": "1rem" },
23
+ { "id": "l3", "component": "Skeleton", "width": "75%", "height": "1rem" }
24
+ ]
25
+ }
@@ -0,0 +1,31 @@
1
+ # Generated by scripts/generate-yaml-scaffolds.mjs
2
+ # Narrative doc — JSON sibling remains the canonical machine source.
3
+ # Fill in TODO sections by hand.
4
+
5
+ $schema: ../../../../../scripts/schemas/composition.yaml.schema.json
6
+ kind: composition
7
+ name: loading-skeleton
8
+ domain: agent
9
+ description: >-
10
+ Skeleton placeholder mimicking a card layout — shown during data loading for perceived-performance.
11
+ keywords:
12
+ - skeleton
13
+ - loading
14
+ - placeholder
15
+ - shimmer
16
+ - loader
17
+ tags:
18
+ purpose:
19
+ - loading
20
+ - skeleton
21
+ - placeholder
22
+ complexity: atomic
23
+ layout: stacked
24
+ related: []
25
+ fragments_used: []
26
+ use-cases:
27
+ - "TODO: primary use case"
28
+ wiring-intent:
29
+ summary: Static composition (no interactive wiring).
30
+ controllers: []
31
+ actions: []