@adia-ai/a2ui-corpus 0.6.23 → 0.6.25

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 (242) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/chunk-embeddings.json +1 -1
  3. package/chunks/_index.json +1882 -134
  4. package/chunks/accordion-settings.json +1 -1
  5. package/chunks/agent-activity-feed.json +1 -1
  6. package/chunks/agent-canvas-shell.json +282 -1
  7. package/chunks/agent-command-palette-search.json +1 -1
  8. package/chunks/agent-reasoning-collapsed.json +1 -1
  9. package/chunks/agent-tool-call-result.json +1 -1
  10. package/chunks/agent-trace-timeline.json +1 -1
  11. package/chunks/ai-streaming-response.json +1 -1
  12. package/chunks/alert-banner.json +1 -1
  13. package/chunks/auth-account-deleted-actions.json +37 -1
  14. package/chunks/auth-account-deleted.json +152 -1
  15. package/chunks/auth-card-content.json +14 -1
  16. package/chunks/auth-card-header.json +14 -1
  17. package/chunks/auth-email-entry.json +1 -1
  18. package/chunks/auth-email-verify-confirm.json +37 -1
  19. package/chunks/auth-email-verify.json +141 -1
  20. package/chunks/auth-forbidden-actions.json +45 -1
  21. package/chunks/auth-forbidden.json +160 -1
  22. package/chunks/auth-invite-actions.json +35 -1
  23. package/chunks/auth-invite-team-card.json +75 -1
  24. package/chunks/auth-link-expired-form.json +50 -1
  25. package/chunks/auth-link-expired.json +163 -1
  26. package/chunks/auth-locked-account.json +162 -1
  27. package/chunks/auth-locked-recovery-options.json +47 -1
  28. package/chunks/auth-mfa-enrollment-submit.json +39 -1
  29. package/chunks/auth-mfa-enrollment.json +1 -1
  30. package/chunks/auth-mfa-fallback-actions.json +39 -1
  31. package/chunks/auth-mfa-recovery.json +48 -1
  32. package/chunks/auth-new-password-form.json +62 -1
  33. package/chunks/auth-new-password.json +1 -1
  34. package/chunks/auth-oauth-fallback-actions.json +38 -1
  35. package/chunks/auth-oauth-interstitial.json +143 -1
  36. package/chunks/auth-password-challenge.json +81 -1
  37. package/chunks/auth-password-reset-form.json +49 -1
  38. package/chunks/auth-password-reset.json +1 -1
  39. package/chunks/auth-profile-form.json +59 -1
  40. package/chunks/auth-profile-setup.json +162 -1
  41. package/chunks/auth-reset-sent.json +137 -1
  42. package/chunks/auth-session-expired-actions.json +38 -1
  43. package/chunks/auth-session-expired.json +153 -1
  44. package/chunks/auth-signin-card-email.json +1 -1
  45. package/chunks/auth-signin-card-magic-link.json +1 -1
  46. package/chunks/auth-signin-card-mfa.json +1 -1
  47. package/chunks/auth-signin-card-otp.json +1 -1
  48. package/chunks/auth-signin-card-password.json +1 -1
  49. package/chunks/auth-signin-card-recovery.json +167 -1
  50. package/chunks/auth-signout-actions.json +37 -1
  51. package/chunks/auth-signout.json +142 -1
  52. package/chunks/auth-signup-email-entry.json +51 -1
  53. package/chunks/auth-signup-entry.json +1 -1
  54. package/chunks/auth-signup-social-auths.json +41 -1
  55. package/chunks/auth-signup-verify.json +149 -1
  56. package/chunks/auth-social-auths.json +49 -1
  57. package/chunks/auth-sso-providers.json +41 -1
  58. package/chunks/auth-sso-required.json +160 -1
  59. package/chunks/auth-team-invite.json +228 -1
  60. package/chunks/avatar-group-overflow.json +1 -1
  61. package/chunks/breadcrumb-nav.json +1 -1
  62. package/chunks/calendar-month-view.json +1 -1
  63. package/chunks/card-header-with-description.json +35 -1
  64. package/chunks/chart-with-filter-pills.json +1 -1
  65. package/chunks/chat-page-shell.json +1 -1
  66. package/chunks/chat-streaming-surface.json +1 -1
  67. package/chunks/color-picker-swatches.json +1 -1
  68. package/chunks/command-palette.json +1 -1
  69. package/chunks/commerce-pricing-tiers.json +1 -1
  70. package/chunks/comparison-table.json +1 -1
  71. package/chunks/conversion-funnel-6step.json +1 -1
  72. package/chunks/dashboard-acquisition-panel.json +1 -1
  73. package/chunks/dashboard-admin-page.json +2 -2
  74. package/chunks/dashboard-audience-kpis.json +1 -1
  75. package/chunks/dashboard-audience-panel.json +1 -1
  76. package/chunks/dashboard-behavior-panel.json +1 -1
  77. package/chunks/dashboard-chart-recent.json +3 -3
  78. package/chunks/dashboard-cohort-retention.json +72 -1
  79. package/chunks/dashboard-conversion-panel.json +1 -1
  80. package/chunks/dashboard-country-list.json +292 -1
  81. package/chunks/dashboard-filter-bar.json +1 -1
  82. package/chunks/dashboard-funnel.json +1 -1
  83. package/chunks/dashboard-kpi-grid.json +1 -1
  84. package/chunks/dashboard-notifications-feed.json +420 -1
  85. package/chunks/dashboard-notifications-panel.json +1 -1
  86. package/chunks/dashboard-overview-panel.json +2 -2
  87. package/chunks/dashboard-page-header.json +1 -1
  88. package/chunks/dashboard-pages-table.json +75 -1
  89. package/chunks/dashboard-quick-actions.json +105 -1
  90. package/chunks/dashboard-reports-panel.json +1 -1
  91. package/chunks/dashboard-reports-table.json +81 -1
  92. package/chunks/dashboard-spark-cards.json +1 -1
  93. package/chunks/dashboard-storage-card.json +93 -1
  94. package/chunks/dashboard-tabs.json +1 -1
  95. package/chunks/dashboard-team-actions-storage.json +1 -1
  96. package/chunks/dashboard-team-list.json +322 -1
  97. package/chunks/dashboard-traffic-channels.json +1 -1
  98. package/chunks/dashboard-transactions-table.json +1 -1
  99. package/chunks/date-time-picker-form.json +3 -3
  100. package/chunks/destructive-confirm-modal.json +1 -1
  101. package/chunks/divider-text-label.json +1 -1
  102. package/chunks/doc-editor-shell.json +334 -1
  103. package/chunks/drawer-2fa-key.json +249 -1
  104. package/chunks/drawer-2fa-sms.json +233 -1
  105. package/chunks/drawer-2fa-totp.json +346 -2
  106. package/chunks/drawer-cancel-sub.json +324 -1
  107. package/chunks/drawer-change-plan.json +467 -1
  108. package/chunks/drawer-custom-roles.json +667 -2
  109. package/chunks/drawer-data-start.json +138 -1
  110. package/chunks/drawer-delete-account.json +308 -1
  111. package/chunks/drawer-delete-workspace.json +323 -2
  112. package/chunks/drawer-discord.json +428 -1
  113. package/chunks/drawer-figma.json +389 -1
  114. package/chunks/drawer-first-dashboard.json +205 -1
  115. package/chunks/drawer-gcal.json +451 -1
  116. package/chunks/drawer-github.json +556 -1
  117. package/chunks/drawer-invite.json +355 -2
  118. package/chunks/drawer-payment-method.json +1 -1
  119. package/chunks/drawer-report.json +556 -2
  120. package/chunks/drawer-revoke-session.json +270 -1
  121. package/chunks/drawer-role.json +157 -1
  122. package/chunks/drawer-slack.json +407 -1
  123. package/chunks/drawer-smtp.json +455 -1
  124. package/chunks/drawer-source.json +272 -1
  125. package/chunks/drawer-transaction.json +452 -2
  126. package/chunks/editor-code-pane.json +1 -1
  127. package/chunks/editor-page-shell.json +127 -1
  128. package/chunks/editor-preview-pane.json +1 -1
  129. package/chunks/empty-state-danger.json +1 -1
  130. package/chunks/empty-state-minimal.json +1 -1
  131. package/chunks/empty-state-warning.json +1 -1
  132. package/chunks/empty-state.json +1 -1
  133. package/chunks/error-404-actions.json +40 -1
  134. package/chunks/error-404.json +1 -1
  135. package/chunks/error-500-actions.json +47 -1
  136. package/chunks/error-500.json +1 -1
  137. package/chunks/error-maintenance-actions.json +39 -1
  138. package/chunks/error-maintenance.json +1 -1
  139. package/chunks/error-page-shell.json +1 -1
  140. package/chunks/faq-accordion.json +1 -1
  141. package/chunks/file-upload-dnd.json +1 -1
  142. package/chunks/footer-multi-column.json +3 -3
  143. package/chunks/footer-primary-only.json +30 -1
  144. package/chunks/form-page-shell.json +1 -1
  145. package/chunks/gallery-page-shell.json +4 -4
  146. package/chunks/hero-section-split.json +3 -3
  147. package/chunks/icon-text-row.json +45 -1
  148. package/chunks/image-carousel.json +1 -1
  149. package/chunks/image-tile.json +78 -1
  150. package/chunks/image-upload-preview.json +1 -1
  151. package/chunks/inventory-list-stock.json +1 -1
  152. package/chunks/kanban-board-3col.json +1 -1
  153. package/chunks/kanban-page-shell.json +1 -1
  154. package/chunks/kbd-shortcuts.json +1 -1
  155. package/chunks/labeled-textarea.json +1 -1
  156. package/chunks/leaderboard-table.json +1 -1
  157. package/chunks/linked-record-row.json +1 -1
  158. package/chunks/marketing-hero-cta.json +1 -1
  159. package/chunks/marketing-page-shell.json +4 -4
  160. package/chunks/masonry-gallery.json +3 -3
  161. package/chunks/member-edit-drawer.json +251 -1
  162. package/chunks/metadata-description-list.json +95 -1
  163. package/chunks/multi-step-wizard.json +1 -1
  164. package/chunks/notification-toast-row.json +1 -1
  165. package/chunks/onb-completion.json +104 -1
  166. package/chunks/onb-extension-install.json +114 -1
  167. package/chunks/onb-hero-welcome.json +53 -1
  168. package/chunks/onb-import-picker.json +73 -1
  169. package/chunks/onb-mobile-handoff.json +108 -1
  170. package/chunks/onb-notification-prefs.json +68 -1
  171. package/chunks/onb-persona-picker.json +69 -1
  172. package/chunks/onb-provider-tiles.json +114 -1
  173. package/chunks/onb-settings-review.json +234 -1
  174. package/chunks/onb-step-footer.json +14 -1
  175. package/chunks/onb-step-header.json +14 -1
  176. package/chunks/onb-step-progress.json +13 -1
  177. package/chunks/onb-step-shell.json +1 -1
  178. package/chunks/onb-story-pane.json +14 -1
  179. package/chunks/onb-tutorial-steps.json +180 -1
  180. package/chunks/pagination-controls.json +1 -1
  181. package/chunks/playground-a2ui.json +169 -1
  182. package/chunks/playground-app-shell.json +421 -1
  183. package/chunks/playground-chat.json +84 -1
  184. package/chunks/playground-construct-canvas.json +107 -1
  185. package/chunks/playground-gen-ui.json +200 -1
  186. package/chunks/playground-render-preview.json +287 -1
  187. package/chunks/playground-streams-bridge.json +353 -1
  188. package/chunks/playground-table-toolbar.json +20 -1
  189. package/chunks/popover-with-content.json +1 -1
  190. package/chunks/progress-tracker-milestones.json +1 -1
  191. package/chunks/real-time-metrics-dashboard.json +3 -3
  192. package/chunks/reg-address-form.json +1 -1
  193. package/chunks/reg-billing-card.json +1 -1
  194. package/chunks/reg-brand-scrape.json +324 -1
  195. package/chunks/reg-departments-toggle.json +246 -2
  196. package/chunks/reg-extended-profile.json +405 -1
  197. package/chunks/reg-final-done.json +357 -1
  198. package/chunks/reg-helpdesk-grid.json +420 -2
  199. package/chunks/reg-import-picker.json +116 -1
  200. package/chunks/reg-integrations-grid.json +280 -2
  201. package/chunks/reg-invite-form.json +1 -1
  202. package/chunks/reg-legal-entity.json +313 -1
  203. package/chunks/reg-org-chart-review.json +501 -1
  204. package/chunks/reg-profile-identity.json +166 -1
  205. package/chunks/reg-step-footer.json +14 -1
  206. package/chunks/reg-step-header.json +13 -1
  207. package/chunks/reg-step-progress.json +13 -1
  208. package/chunks/reg-step-shell.json +2 -2
  209. package/chunks/reg-story-pane.json +14 -1
  210. package/chunks/reg-success-summary.json +157 -1
  211. package/chunks/reg-team-size.json +142 -1
  212. package/chunks/reg-usecase-picker.json +89 -1
  213. package/chunks/reg-workspace-name.json +1 -1
  214. package/chunks/responsive-grid-pattern.json +71 -0
  215. package/chunks/responsive-kpi-grid.json +1 -1
  216. package/chunks/responsive-row-pattern.json +71 -0
  217. package/chunks/responsive-wrap-at-pattern.json +76 -0
  218. package/chunks/search-with-filters.json +1 -1
  219. package/chunks/section-with-stack.json +37 -1
  220. package/chunks/select-multiple-preselected.json +81 -0
  221. package/chunks/settings-admin-page.json +2 -2
  222. package/chunks/settings-appearance.json +1 -1
  223. package/chunks/settings-billing-plan.json +94 -1
  224. package/chunks/settings-general-form.json +1 -1
  225. package/chunks/settings-integrations.json +1 -1
  226. package/chunks/settings-members-invite.json +106 -1
  227. package/chunks/settings-notifications.json +1 -1
  228. package/chunks/settings-page-shell.json +1 -1
  229. package/chunks/settings-profile-security.json +1 -1
  230. package/chunks/sidebar-collapsible-nav.json +1 -1
  231. package/chunks/slider-range-controls.json +1 -1
  232. package/chunks/tabs-with-panels.json +3 -3
  233. package/chunks/testimonial-grid.json +3 -3
  234. package/chunks/text-card.json +42 -1
  235. package/chunks/timeline-events.json +1 -1
  236. package/chunks/toolbar-icons.json +1 -1
  237. package/chunks/toolbar-tooltips.json +1 -1
  238. package/chunks/user-identity-row.json +66 -1
  239. package/chunks/user-profile-card.json +1 -1
  240. package/chunks/users-table-badge.json +1 -1
  241. package/chunks/video-player-controls.json +1 -1
  242. package/package.json +1 -1
@@ -0,0 +1,76 @@
1
+ {
2
+ "name": "responsive-wrap-at-pattern",
3
+ "kind": "block",
4
+ "primary": "div",
5
+ "page": "/site/patterns/responsive.html",
6
+ "slots": [],
7
+ "nested": [],
8
+ "attrs": {},
9
+ "html": "<div>\n <h3>Responsive wrap — <code>wrap-at</code></h3>\n <p>Boolean attributes like <code>wrap</code> can't use <code>@bp</code> value syntax. Use <code>wrap-at=\"bp\"</code> to enable wrapping from a named breakpoint upward. The existing <code>wrap</code> attribute (always-wrap) is unchanged.</p>\n <code-ui language=\"html\">&lt;!-- Toolbar: single-row on desktop, wraps to multiple lines on mobile --&gt;\n&lt;row-ui gap=\"2 3@md\" wrap-at=\"sm\"&gt;\n &lt;input-ui placeholder=\"Search...\"&gt;&lt;/input-ui&gt;\n &lt;select-ui&gt;&lt;option&gt;All statuses&lt;/option&gt;&lt;/select-ui&gt;\n &lt;button-ui text=\"Export\" variant=\"outline\"&gt;&lt;/button-ui&gt;\n &lt;button-ui text=\"+ New\" variant=\"primary\"&gt;&lt;/button-ui&gt;\n&lt;/row-ui&gt;</code-ui>\n <p>Unlike <code>@bp</code> value-annotations, <code>wrap-at</code> is a standalone attribute that takes a single breakpoint name — no multi-value parsing.</p>\n </div>",
10
+ "source": "site/pages/patterns/responsive.html",
11
+ "metadata": {
12
+ "domain": "layout",
13
+ "description": "Responsive flex wrap via wrap-at — enables flex-wrap from named breakpoint upward; for boolean attrs that cannot use @bp value syntax.",
14
+ "keywords": [
15
+ "responsive",
16
+ "wrap-at",
17
+ "flex",
18
+ "wrap",
19
+ "breakpoint",
20
+ "boolean",
21
+ "attribute",
22
+ "toolbar"
23
+ ]
24
+ },
25
+ "captured_at": "2026-05-22T23:31:51.450Z",
26
+ "template": [
27
+ {
28
+ "id": "text",
29
+ "component": "Text",
30
+ "variant": "heading",
31
+ "textContent": "Responsive wrap — wrap-at"
32
+ },
33
+ {
34
+ "id": "text-2",
35
+ "component": "Text",
36
+ "variant": "body",
37
+ "textContent": "Boolean attributes like wrap can't use @bp value syntax. Use wrap-at=\"bp\" to enable wrapping from a named breakpoint upward. The existing wrap attribute (always-wrap) is unchanged."
38
+ },
39
+ {
40
+ "id": "code",
41
+ "component": "Code",
42
+ "language": "html",
43
+ "textContent": "&lt;!-- Toolbar: single-row on desktop, wraps to multiple lines on mobile --&gt; &lt;row-ui gap=\"2 3@md\" wrap-at=\"sm\"&gt; &lt;input-ui placeholder=\"Search...\"&gt;&lt;/input-ui&gt; &lt;select-ui&gt;&lt;option&gt;All statuses&lt;/option&gt;&lt;/select-ui&gt; &lt;button-ui text=\"Export\" variant=\"outline\"&gt;&lt;/button-ui&gt; &lt;button-ui text=\"+ New\" variant=\"primary\"&gt;&lt;/button-ui&gt; &lt;/row-ui&gt;"
44
+ },
45
+ {
46
+ "id": "text-3",
47
+ "component": "Text",
48
+ "variant": "body",
49
+ "textContent": "Unlike @bp value-annotations, wrap-at is a standalone attribute that takes a single breakpoint name — no multi-value parsing."
50
+ },
51
+ {
52
+ "id": "column",
53
+ "component": "Column",
54
+ "children": [
55
+ "text",
56
+ "text-2",
57
+ "code",
58
+ "text-3"
59
+ ]
60
+ },
61
+ {
62
+ "id": "section",
63
+ "component": "Section",
64
+ "children": [
65
+ "column"
66
+ ]
67
+ },
68
+ {
69
+ "id": "root",
70
+ "component": "Card",
71
+ "children": [
72
+ "section"
73
+ ]
74
+ }
75
+ ]
76
+ }
@@ -25,7 +25,7 @@
25
25
  "directory"
26
26
  ]
27
27
  },
28
- "captured_at": "2026-05-22T20:26:33.817Z",
28
+ "captured_at": "2026-05-22T23:31:51.450Z",
29
29
  "template": [
30
30
  {
31
31
  "id": "search-ui",
@@ -8,5 +8,41 @@
8
8
  "attrs": {},
9
9
  "html": "<section>\n <col-ui gap=\"2\">\n <text-ui color=\"subtle\">Embed designs and sync frames.</text-ui>\n </col-ui>\n </section>",
10
10
  "source": "apps/saas/app/integrations/integrations.contents.html",
11
- "captured_at": "2026-05-22T20:26:33.817Z"
11
+ "metadata": {
12
+ "domain": "layout",
13
+ "description": "Section with stack — content section wrapper with embedded stacked card layout.",
14
+ "keywords": [
15
+ "section",
16
+ "stack",
17
+ "content",
18
+ "wrapper",
19
+ "cards",
20
+ "layout",
21
+ "nested"
22
+ ]
23
+ },
24
+ "captured_at": "2026-05-22T23:31:51.450Z",
25
+ "template": [
26
+ {
27
+ "id": "text",
28
+ "component": "Text",
29
+ "color": "subtle",
30
+ "textContent": "Embed designs and sync frames."
31
+ },
32
+ {
33
+ "id": "column",
34
+ "component": "Column",
35
+ "gap": "2",
36
+ "children": [
37
+ "text"
38
+ ]
39
+ },
40
+ {
41
+ "id": "root",
42
+ "component": "Section",
43
+ "children": [
44
+ "column"
45
+ ]
46
+ }
47
+ ]
12
48
  }
@@ -0,0 +1,81 @@
1
+ {
2
+ "name": "select-multiple-preselected",
3
+ "kind": "block",
4
+ "primary": "section",
5
+ "page": "/catalog/ui-patterns/v053-coverage-fill/v053-coverage-fill.contents.html",
6
+ "slots": [],
7
+ "nested": [],
8
+ "attrs": {},
9
+ "html": "<section>\n <field-ui label=\"Labels\">\n <select-ui multiple>\n <option value=\"bug\" selected>Bug</option>\n <option value=\"feature\">Feature</option>\n <option value=\"docs\" selected>Documentation</option>\n <option value=\"urgent\">Urgent</option>\n </select-ui>\n </field-ui>\n </section>",
10
+ "source": "catalog/ui-patterns/v053-coverage-fill/v053-coverage-fill.contents.html",
11
+ "metadata": {
12
+ "domain": "forms",
13
+ "description": "Multi-select field with declaratively pre-selected options via &lt;option selected&gt;. All selected options are captured on init (FB-46 fix); comma-joined value string used for multi-select.",
14
+ "keywords": [
15
+ "select",
16
+ "multiple",
17
+ "pre-selected",
18
+ "option",
19
+ "selected",
20
+ "form",
21
+ "field",
22
+ "multi-value",
23
+ "picker",
24
+ "init",
25
+ "value"
26
+ ]
27
+ },
28
+ "captured_at": "2026-05-22T23:31:51.450Z",
29
+ "template": [
30
+ {
31
+ "id": "text",
32
+ "component": "Text",
33
+ "textContent": "Bug",
34
+ "variant": "body"
35
+ },
36
+ {
37
+ "id": "text-2",
38
+ "component": "Text",
39
+ "textContent": "Feature",
40
+ "variant": "body"
41
+ },
42
+ {
43
+ "id": "text-3",
44
+ "component": "Text",
45
+ "textContent": "Documentation",
46
+ "variant": "body"
47
+ },
48
+ {
49
+ "id": "text-4",
50
+ "component": "Text",
51
+ "textContent": "Urgent",
52
+ "variant": "body"
53
+ },
54
+ {
55
+ "id": "choice-picker",
56
+ "component": "ChoicePicker",
57
+ "multiple": true,
58
+ "children": [
59
+ "text",
60
+ "text-2",
61
+ "text-3",
62
+ "text-4"
63
+ ]
64
+ },
65
+ {
66
+ "id": "field",
67
+ "component": "Field",
68
+ "label": "Labels",
69
+ "children": [
70
+ "choice-picker"
71
+ ]
72
+ },
73
+ {
74
+ "id": "root",
75
+ "component": "Section",
76
+ "children": [
77
+ "field"
78
+ ]
79
+ }
80
+ ]
81
+ }
@@ -42,7 +42,7 @@
42
42
  "layout": "page"
43
43
  }
44
44
  },
45
- "captured_at": "2026-05-22T20:26:33.817Z",
45
+ "captured_at": "2026-05-22T23:31:51.450Z",
46
46
  "template": [
47
47
  {
48
48
  "id": "text",
@@ -867,7 +867,7 @@
867
867
  {
868
868
  "id": "grid-2",
869
869
  "component": "Grid",
870
- "columns": "2",
870
+ "columns": "1 2@sm",
871
871
  "gap": "3",
872
872
  "children": [
873
873
  "card",
@@ -23,7 +23,7 @@
23
23
  "ui-controls"
24
24
  ]
25
25
  },
26
- "captured_at": "2026-05-22T20:26:33.817Z",
26
+ "captured_at": "2026-05-22T23:31:51.450Z",
27
27
  "template": [
28
28
  {
29
29
  "id": "text",
@@ -10,5 +10,98 @@
10
10
  },
11
11
  "html": "<div data-col>\n <card-ui>\n <header>\n <span slot=\"icon\">\n <avatar-ui icon=\"star\"></avatar-ui>\n </span>\n <span slot=\"heading\">\n <text-ui strong>Pro</text-ui>\n <badge-ui text=\"Current\" variant=\"accent\"></badge-ui>\n </span>\n <span slot=\"action\" size=\"sm\">\n <button-ui text=\"Change plan\" variant=\"primary\" size=\"sm\" onclick=\"document.getElementById('drawer-change-plan').open = true\"></button-ui>\n </span>\n <span slot=\"description\">\n <text-ui color=\"subtle\" size=\"sm\">$49/month · billed monthly · Next invoice May 14, 2026</text-ui>\n </span>\n </header>\n </card-ui>\n <field-ui label=\"Billing interval\">\n <segmented-ui value=\"monthly\">\n <segment-ui value=\"monthly\" text=\"Monthly\"></segment-ui>\n <segment-ui value=\"annual\" text=\"Annual · 2 months free\"></segment-ui>\n </segmented-ui>\n </field-ui>\n </div>",
12
12
  "source": "apps/saas/app/billing/billing.contents.html",
13
- "captured_at": "2026-05-22T20:26:33.817Z"
13
+ "metadata": {
14
+ "domain": "settings",
15
+ "description": "Billing plan section — current plan card with usage stats and upgrade CTA.",
16
+ "keywords": [
17
+ "settings",
18
+ "billing",
19
+ "plan",
20
+ "subscription",
21
+ "usage",
22
+ "upgrade",
23
+ "current"
24
+ ]
25
+ },
26
+ "captured_at": "2026-05-22T23:31:51.450Z",
27
+ "template": [
28
+ {
29
+ "id": "text",
30
+ "component": "Text",
31
+ "variant": "body"
32
+ },
33
+ {
34
+ "id": "text-2",
35
+ "component": "Text",
36
+ "variant": "body",
37
+ "textContent": "Pro"
38
+ },
39
+ {
40
+ "id": "text-3",
41
+ "component": "Text",
42
+ "variant": "body",
43
+ "size": "sm"
44
+ },
45
+ {
46
+ "id": "text-4",
47
+ "component": "Text",
48
+ "variant": "body",
49
+ "textContent": "$49/month · billed monthly · Next invoice May 14, 2026"
50
+ },
51
+ {
52
+ "id": "header",
53
+ "component": "Header",
54
+ "children": [
55
+ "text",
56
+ "text-2",
57
+ "text-3",
58
+ "text-4"
59
+ ]
60
+ },
61
+ {
62
+ "id": "card",
63
+ "component": "Card",
64
+ "children": [
65
+ "header"
66
+ ]
67
+ },
68
+ {
69
+ "id": "segment",
70
+ "component": "Segment",
71
+ "text": "Monthly",
72
+ "value": "monthly"
73
+ },
74
+ {
75
+ "id": "segment-2",
76
+ "component": "Segment",
77
+ "text": "Annual · 2 months free",
78
+ "value": "annual"
79
+ },
80
+ {
81
+ "id": "segmented-control",
82
+ "component": "SegmentedControl",
83
+ "value": "monthly",
84
+ "children": [
85
+ "segment",
86
+ "segment-2"
87
+ ]
88
+ },
89
+ {
90
+ "id": "field",
91
+ "component": "Field",
92
+ "label": "Billing interval",
93
+ "children": [
94
+ "segmented-control"
95
+ ]
96
+ },
97
+ {
98
+ "id": "root",
99
+ "component": "Column",
100
+ "data-col": "",
101
+ "children": [
102
+ "card",
103
+ "field"
104
+ ]
105
+ }
106
+ ]
14
107
  }
@@ -25,7 +25,7 @@
25
25
  "identity"
26
26
  ]
27
27
  },
28
- "captured_at": "2026-05-22T20:26:33.817Z",
28
+ "captured_at": "2026-05-22T23:31:51.450Z",
29
29
  "template": [
30
30
  {
31
31
  "id": "input",
@@ -32,7 +32,7 @@
32
32
  "layout": "grid"
33
33
  }
34
34
  },
35
- "captured_at": "2026-05-22T20:26:33.817Z",
35
+ "captured_at": "2026-05-22T23:31:51.450Z",
36
36
  "template": [
37
37
  {
38
38
  "id": "text",
@@ -12,5 +12,110 @@
12
12
  },
13
13
  "html": "<div data-col>\n <field-ui label=\"Email addresses\"><!-- nested: labeled-textarea --></field-ui>\n <field-ui label=\"Default role\">\n <select-ui value=\"member\">\n <option value=\"admin\">Admin · can invite, remove, and billing</option>\n <option value=\"member\">Member · can edit and invite</option>\n <option value=\"viewer\">Viewer · read-only</option>\n </select-ui>\n </field-ui>\n <field-ui label=\"Send welcome email\" inline>\n <switch-ui checked></switch-ui>\n </field-ui>\n <button-ui text=\"Send invites\" variant=\"primary\" icon=\"paper-plane-tilt\"></button-ui>\n </div>",
14
14
  "source": "apps/saas/app/members/members.contents.html",
15
- "captured_at": "2026-05-22T20:26:33.817Z"
15
+ "metadata": {
16
+ "domain": "settings",
17
+ "description": "Members invite section — email input field for inviting team members to the workspace.",
18
+ "keywords": [
19
+ "settings",
20
+ "members",
21
+ "invite",
22
+ "email",
23
+ "team",
24
+ "workspace",
25
+ "add"
26
+ ]
27
+ },
28
+ "captured_at": "2026-05-22T23:31:51.450Z",
29
+ "template": [
30
+ {
31
+ "id": "text-area",
32
+ "component": "TextArea",
33
+ "placeholder": "alex@acme.com, sarah@acme.com (comma or newline separated)",
34
+ "rows": "3"
35
+ },
36
+ {
37
+ "id": "field-2",
38
+ "component": "Field",
39
+ "label": "Email addresses",
40
+ "children": [
41
+ "text-area"
42
+ ]
43
+ },
44
+ {
45
+ "id": "field",
46
+ "component": "Field",
47
+ "label": "Email addresses",
48
+ "children": [
49
+ "field-2"
50
+ ]
51
+ },
52
+ {
53
+ "id": "text",
54
+ "component": "Text",
55
+ "textContent": "Admin · can invite, remove, and billing",
56
+ "variant": "body"
57
+ },
58
+ {
59
+ "id": "text-2",
60
+ "component": "Text",
61
+ "textContent": "Member · can edit and invite",
62
+ "variant": "body"
63
+ },
64
+ {
65
+ "id": "text-3",
66
+ "component": "Text",
67
+ "textContent": "Viewer · read-only",
68
+ "variant": "body"
69
+ },
70
+ {
71
+ "id": "choice-picker",
72
+ "component": "ChoicePicker",
73
+ "value": "member",
74
+ "children": [
75
+ "text",
76
+ "text-2",
77
+ "text-3"
78
+ ]
79
+ },
80
+ {
81
+ "id": "field-3",
82
+ "component": "Field",
83
+ "label": "Default role",
84
+ "children": [
85
+ "choice-picker"
86
+ ]
87
+ },
88
+ {
89
+ "id": "toggle",
90
+ "component": "Toggle",
91
+ "checked": true
92
+ },
93
+ {
94
+ "id": "field-4",
95
+ "component": "Field",
96
+ "inline": true,
97
+ "label": "Send welcome email",
98
+ "children": [
99
+ "toggle"
100
+ ]
101
+ },
102
+ {
103
+ "id": "button",
104
+ "component": "Button",
105
+ "icon": "paper-plane-tilt",
106
+ "text": "Send invites",
107
+ "variant": "primary"
108
+ },
109
+ {
110
+ "id": "root",
111
+ "component": "Column",
112
+ "data-col": "",
113
+ "children": [
114
+ "field",
115
+ "field-3",
116
+ "field-4",
117
+ "button"
118
+ ]
119
+ }
120
+ ]
16
121
  }
@@ -24,7 +24,7 @@
24
24
  "preferences"
25
25
  ]
26
26
  },
27
- "captured_at": "2026-05-22T20:26:33.817Z",
27
+ "captured_at": "2026-05-22T23:31:51.450Z",
28
28
  "template": [
29
29
  {
30
30
  "id": "text",
@@ -39,7 +39,7 @@
39
39
  "panel"
40
40
  ]
41
41
  },
42
- "captured_at": "2026-05-22T20:26:33.817Z",
42
+ "captured_at": "2026-05-22T23:31:51.450Z",
43
43
  "template": [
44
44
  {
45
45
  "id": "text",
@@ -25,7 +25,7 @@
25
25
  "identity"
26
26
  ]
27
27
  },
28
- "captured_at": "2026-05-22T20:26:33.817Z",
28
+ "captured_at": "2026-05-22T23:31:51.450Z",
29
29
  "template": [
30
30
  {
31
31
  "id": "avatar",
@@ -24,7 +24,7 @@
24
24
  "icon-only"
25
25
  ]
26
26
  },
27
- "captured_at": "2026-05-22T20:26:33.817Z",
27
+ "captured_at": "2026-05-22T23:31:51.450Z",
28
28
  "template": [
29
29
  {
30
30
  "id": "text",
@@ -24,7 +24,7 @@
24
24
  "dual-handle"
25
25
  ]
26
26
  },
27
- "captured_at": "2026-05-22T20:26:33.817Z",
27
+ "captured_at": "2026-05-22T23:31:51.450Z",
28
28
  "template": [
29
29
  {
30
30
  "id": "text",
@@ -6,7 +6,7 @@
6
6
  "slots": [],
7
7
  "nested": [],
8
8
  "attrs": {},
9
- "html": "<section>\n <card-ui>\n <header>\n <tabs-ui value=\"overview\">\n <tab-ui value=\"overview\" text=\"Overview\"></tab-ui>\n <tab-ui value=\"usage\" text=\"Usage\"></tab-ui>\n <tab-ui value=\"settings\" text=\"Settings\"></tab-ui>\n </tabs-ui>\n </header>\n <section>\n <col-ui gap=\"3\">\n <h3>Overview</h3>\n <text-ui color=\"subtle\">Welcome to your workspace overview. Quick stats, recent activity, and getting-started shortcuts live here.</text-ui>\n <grid-ui columns=\"2\" gap=\"3\">\n <card-ui><section><text-ui strong>4</text-ui><text-ui size=\"sm\" color=\"subtle\">Active projects</text-ui></section></card-ui>\n <card-ui><section><text-ui strong>28</text-ui><text-ui size=\"sm\" color=\"subtle\">Team members</text-ui></section></card-ui>\n </grid-ui>\n </col-ui>\n </section>\n </card-ui>\n </section>",
9
+ "html": "<section>\n <card-ui>\n <header>\n <tabs-ui value=\"overview\">\n <tab-ui value=\"overview\" text=\"Overview\"></tab-ui>\n <tab-ui value=\"usage\" text=\"Usage\"></tab-ui>\n <tab-ui value=\"settings\" text=\"Settings\"></tab-ui>\n </tabs-ui>\n </header>\n <section>\n <col-ui gap=\"3\">\n <h3>Overview</h3>\n <text-ui color=\"subtle\">Welcome to your workspace overview. Quick stats, recent activity, and getting-started shortcuts live here.</text-ui>\n <grid-ui columns=\"1 2@sm\" gap=\"3\">\n <card-ui><section><text-ui strong>4</text-ui><text-ui size=\"sm\" color=\"subtle\">Active projects</text-ui></section></card-ui>\n <card-ui><section><text-ui strong>28</text-ui><text-ui size=\"sm\" color=\"subtle\">Team members</text-ui></section></card-ui>\n </grid-ui>\n </col-ui>\n </section>\n </card-ui>\n </section>",
10
10
  "source": "catalog/ui-patterns/v050-mode-c-blocks/v050-mode-c-blocks.contents.html",
11
11
  "metadata": {
12
12
  "domain": "layout",
@@ -22,7 +22,7 @@
22
22
  "tab-strip"
23
23
  ]
24
24
  },
25
- "captured_at": "2026-05-22T20:26:33.817Z",
25
+ "captured_at": "2026-05-22T23:31:51.450Z",
26
26
  "template": [
27
27
  {
28
28
  "id": "tab",
@@ -144,7 +144,7 @@
144
144
  {
145
145
  "id": "grid",
146
146
  "component": "Grid",
147
- "columns": "2",
147
+ "columns": "1 2@sm",
148
148
  "gap": "3",
149
149
  "children": [
150
150
  "card-2",
@@ -6,7 +6,7 @@
6
6
  "slots": [],
7
7
  "nested": [],
8
8
  "attrs": {},
9
- "html": "<section>\n <col-ui gap=\"4\">\n <header align=\"center\">\n <h2>What teams are saying</h2>\n </header>\n <grid-ui columns=\"3\" gap=\"4\">\n <card-ui>\n <section>\n <col-ui gap=\"3\">\n <text-ui>\"Cut our GenUI shipping time by 4×. Free-form composer just works.\"</text-ui>\n <row-ui gap=\"2\" align=\"center\">\n <avatar-ui text=\"DS\" size=\"md\"></avatar-ui>\n <col-ui gap=\"0\">\n <text-ui strong size=\"sm\">Diana Singh</text-ui>\n <text-ui size=\"sm\" color=\"subtle\">Eng Lead, Design Tokens Studio</text-ui>\n </col-ui>\n </row-ui>\n </col-ui>\n </section>\n </card-ui>\n <card-ui>\n <section>\n <col-ui gap=\"3\">\n <text-ui>\"The chunk vocabulary made our PM-to-prototype loop instant.\"</text-ui>\n <row-ui gap=\"2\" align=\"center\">\n <avatar-ui text=\"MR\" size=\"md\"></avatar-ui>\n <col-ui gap=\"0\">\n <text-ui strong size=\"sm\">Marco Rossi</text-ui>\n <text-ui size=\"sm\" color=\"subtle\">Head of Product, Anvil</text-ui>\n </col-ui>\n </row-ui>\n </col-ui>\n </section>\n </card-ui>\n <card-ui>\n <section>\n <col-ui gap=\"3\">\n <text-ui>\"We replaced 6 hand-built primitives with one annotated chunk.\"</text-ui>\n <row-ui gap=\"2\" align=\"center\">\n <avatar-ui text=\"JC\" size=\"md\"></avatar-ui>\n <col-ui gap=\"0\">\n <text-ui strong size=\"sm\">June Chen</text-ui>\n <text-ui size=\"sm\" color=\"subtle\">Staff Engineer, Vellum</text-ui>\n </col-ui>\n </row-ui>\n </col-ui>\n </section>\n </card-ui>\n </grid-ui>\n </col-ui>\n </section>",
9
+ "html": "<section>\n <col-ui gap=\"4\">\n <header align=\"center\">\n <h2>What teams are saying</h2>\n </header>\n <grid-ui columns=\"1 3@md\" gap=\"4\">\n <card-ui>\n <section>\n <col-ui gap=\"3\">\n <text-ui>\"Cut our GenUI shipping time by 4×. Free-form composer just works.\"</text-ui>\n <row-ui gap=\"2\" align=\"center\">\n <avatar-ui text=\"DS\" size=\"md\"></avatar-ui>\n <col-ui gap=\"0\">\n <text-ui strong size=\"sm\">Diana Singh</text-ui>\n <text-ui size=\"sm\" color=\"subtle\">Eng Lead, Design Tokens Studio</text-ui>\n </col-ui>\n </row-ui>\n </col-ui>\n </section>\n </card-ui>\n <card-ui>\n <section>\n <col-ui gap=\"3\">\n <text-ui>\"The chunk vocabulary made our PM-to-prototype loop instant.\"</text-ui>\n <row-ui gap=\"2\" align=\"center\">\n <avatar-ui text=\"MR\" size=\"md\"></avatar-ui>\n <col-ui gap=\"0\">\n <text-ui strong size=\"sm\">Marco Rossi</text-ui>\n <text-ui size=\"sm\" color=\"subtle\">Head of Product, Anvil</text-ui>\n </col-ui>\n </row-ui>\n </col-ui>\n </section>\n </card-ui>\n <card-ui>\n <section>\n <col-ui gap=\"3\">\n <text-ui>\"We replaced 6 hand-built primitives with one annotated chunk.\"</text-ui>\n <row-ui gap=\"2\" align=\"center\">\n <avatar-ui text=\"JC\" size=\"md\"></avatar-ui>\n <col-ui gap=\"0\">\n <text-ui strong size=\"sm\">June Chen</text-ui>\n <text-ui size=\"sm\" color=\"subtle\">Staff Engineer, Vellum</text-ui>\n </col-ui>\n </row-ui>\n </col-ui>\n </section>\n </card-ui>\n </grid-ui>\n </col-ui>\n </section>",
10
10
  "source": "catalog/ui-patterns/v050-marketing-blocks/v050-marketing-blocks.contents.html",
11
11
  "metadata": {
12
12
  "domain": "layout",
@@ -22,7 +22,7 @@
22
22
  "marketing"
23
23
  ]
24
24
  },
25
- "captured_at": "2026-05-22T20:26:33.817Z",
25
+ "captured_at": "2026-05-22T23:31:51.450Z",
26
26
  "template": [
27
27
  {
28
28
  "id": "text",
@@ -241,7 +241,7 @@
241
241
  {
242
242
  "id": "grid",
243
243
  "component": "Grid",
244
- "columns": "3",
244
+ "columns": "1 3@md",
245
245
  "gap": "4",
246
246
  "children": [
247
247
  "card",
@@ -8,5 +8,46 @@
8
8
  "attrs": {},
9
9
  "html": "<card-ui><section><text-ui>Design system tokens</text-ui></section></card-ui>",
10
10
  "source": "catalog/ui-patterns/app/kanban-board-3col/kanban-board-3col.contents.html",
11
- "captured_at": "2026-05-22T20:26:33.817Z"
11
+ "metadata": {
12
+ "domain": "display",
13
+ "description": "Text card — minimal card with a single text content block.",
14
+ "keywords": [
15
+ "text",
16
+ "card",
17
+ "content",
18
+ "minimal",
19
+ "simple",
20
+ "block",
21
+ "kanban"
22
+ ]
23
+ },
24
+ "captured_at": "2026-05-22T23:31:51.450Z",
25
+ "template": [
26
+ {
27
+ "id": "text",
28
+ "component": "Text",
29
+ "textContent": "Design system tokens"
30
+ },
31
+ {
32
+ "id": "section",
33
+ "component": "Section",
34
+ "children": [
35
+ "column"
36
+ ]
37
+ },
38
+ {
39
+ "id": "column",
40
+ "component": "Column",
41
+ "children": [
42
+ "text"
43
+ ]
44
+ },
45
+ {
46
+ "id": "root",
47
+ "component": "Card",
48
+ "children": [
49
+ "section"
50
+ ]
51
+ }
52
+ ]
12
53
  }
@@ -23,7 +23,7 @@
23
23
  "releases"
24
24
  ]
25
25
  },
26
- "captured_at": "2026-05-22T20:26:33.817Z",
26
+ "captured_at": "2026-05-22T23:31:51.450Z",
27
27
  "template": [
28
28
  {
29
29
  "id": "text",
@@ -22,7 +22,7 @@
22
22
  "formatting"
23
23
  ]
24
24
  },
25
- "captured_at": "2026-05-22T20:26:33.817Z",
25
+ "captured_at": "2026-05-22T23:31:51.450Z",
26
26
  "template": [
27
27
  {
28
28
  "id": "button",