@adia-ai/a2ui-corpus 0.4.9 → 0.5.0

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 (215) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/chunks/_index.json +1190 -43
  3. package/chunks/agent-activity-feed.json +74 -1
  4. package/chunks/agent-canvas-shell.json +1 -1
  5. package/chunks/agent-command-palette-search.json +148 -0
  6. package/chunks/agent-reasoning-collapsed.json +55 -1
  7. package/chunks/agent-tool-call-result.json +130 -0
  8. package/chunks/agent-trace-timeline.json +201 -0
  9. package/chunks/ai-streaming-response.json +122 -0
  10. package/chunks/auth-account-deleted-actions.json +1 -1
  11. package/chunks/auth-account-deleted.json +1 -1
  12. package/chunks/auth-card-content.json +2 -2
  13. package/chunks/auth-card-header.json +1 -1
  14. package/chunks/auth-email-entry.json +43 -2
  15. package/chunks/auth-email-verify-confirm.json +1 -1
  16. package/chunks/auth-email-verify.json +1 -1
  17. package/chunks/auth-forbidden-actions.json +1 -1
  18. package/chunks/auth-forbidden.json +1 -1
  19. package/chunks/auth-invite-actions.json +1 -1
  20. package/chunks/auth-invite-team-card.json +1 -1
  21. package/chunks/auth-link-expired-form.json +1 -1
  22. package/chunks/auth-link-expired.json +1 -1
  23. package/chunks/auth-locked-account.json +1 -1
  24. package/chunks/auth-locked-recovery-options.json +1 -1
  25. package/chunks/auth-mfa-enrollment-submit.json +1 -1
  26. package/chunks/auth-mfa-enrollment.json +1 -1
  27. package/chunks/auth-mfa-fallback-actions.json +1 -1
  28. package/chunks/auth-mfa-recovery.json +1 -1
  29. package/chunks/auth-new-password-form.json +1 -1
  30. package/chunks/auth-new-password.json +1 -1
  31. package/chunks/auth-oauth-fallback-actions.json +1 -1
  32. package/chunks/auth-oauth-interstitial.json +1 -1
  33. package/chunks/auth-password-challenge.json +1 -1
  34. package/chunks/auth-password-reset-form.json +1 -1
  35. package/chunks/auth-password-reset.json +1 -1
  36. package/chunks/auth-profile-form.json +1 -1
  37. package/chunks/auth-profile-setup.json +1 -1
  38. package/chunks/auth-reset-sent.json +1 -1
  39. package/chunks/auth-session-expired-actions.json +1 -1
  40. package/chunks/auth-session-expired.json +1 -1
  41. package/chunks/auth-signin-card-email.json +1 -1
  42. package/chunks/auth-signin-card-magic-link.json +1 -1
  43. package/chunks/auth-signin-card-mfa.json +1 -1
  44. package/chunks/auth-signin-card-otp.json +1 -1
  45. package/chunks/auth-signin-card-password.json +1 -1
  46. package/chunks/auth-signin-card-recovery.json +1 -1
  47. package/chunks/auth-signout-actions.json +1 -1
  48. package/chunks/auth-signout.json +1 -1
  49. package/chunks/auth-signup-email-entry.json +1 -1
  50. package/chunks/auth-signup-entry.json +1 -1
  51. package/chunks/auth-signup-social-auths.json +1 -1
  52. package/chunks/auth-signup-verify.json +1 -1
  53. package/chunks/auth-social-auths.json +1 -1
  54. package/chunks/auth-sso-providers.json +1 -1
  55. package/chunks/auth-sso-required.json +1 -1
  56. package/chunks/auth-team-invite.json +1 -1
  57. package/chunks/breadcrumb-nav.json +82 -0
  58. package/chunks/card-header-with-description.json +1 -1
  59. package/chunks/chat-page-shell.json +307 -2
  60. package/chunks/chat-streaming-surface.json +79 -2
  61. package/chunks/command-palette.json +49 -1
  62. package/chunks/commerce-pricing-tiers.json +335 -2
  63. package/chunks/comparison-table.json +208 -0
  64. package/chunks/conversion-funnel-6step.json +117 -1
  65. package/chunks/dashboard-acquisition-panel.json +1 -1
  66. package/chunks/dashboard-admin-page.json +3 -3
  67. package/chunks/dashboard-audience-kpis.json +1 -1
  68. package/chunks/dashboard-audience-panel.json +1 -1
  69. package/chunks/dashboard-behavior-panel.json +1 -1
  70. package/chunks/dashboard-chart-recent.json +1 -1
  71. package/chunks/dashboard-cohort-retention.json +1 -1
  72. package/chunks/dashboard-conversion-panel.json +1 -1
  73. package/chunks/dashboard-country-list.json +1 -1
  74. package/chunks/dashboard-filter-bar.json +89 -1
  75. package/chunks/dashboard-funnel.json +115 -1
  76. package/chunks/dashboard-kpi-grid.json +129 -1
  77. package/chunks/dashboard-notifications-feed.json +1 -1
  78. package/chunks/dashboard-notifications-panel.json +1 -1
  79. package/chunks/dashboard-overview-panel.json +1 -1
  80. package/chunks/dashboard-page-header.json +1 -1
  81. package/chunks/dashboard-pages-table.json +1 -1
  82. package/chunks/dashboard-quick-actions.json +1 -1
  83. package/chunks/dashboard-reports-panel.json +1 -1
  84. package/chunks/dashboard-reports-table.json +1 -1
  85. package/chunks/dashboard-spark-cards.json +210 -1
  86. package/chunks/dashboard-storage-card.json +1 -1
  87. package/chunks/dashboard-tabs.json +58 -1
  88. package/chunks/dashboard-team-actions-storage.json +1 -1
  89. package/chunks/dashboard-team-list.json +1 -1
  90. package/chunks/dashboard-traffic-channels.json +1 -1
  91. package/chunks/dashboard-transactions-table.json +77 -1
  92. package/chunks/date-time-picker-form.json +194 -0
  93. package/chunks/destructive-confirm-modal.json +102 -1
  94. package/chunks/doc-editor-shell.json +1 -1
  95. package/chunks/drawer-2fa-key.json +1 -1
  96. package/chunks/drawer-2fa-sms.json +1 -1
  97. package/chunks/drawer-2fa-totp.json +1 -1
  98. package/chunks/drawer-cancel-sub.json +1 -1
  99. package/chunks/drawer-change-plan.json +1 -1
  100. package/chunks/drawer-custom-roles.json +1 -1
  101. package/chunks/drawer-data-start.json +1 -1
  102. package/chunks/drawer-delete-account.json +1 -1
  103. package/chunks/drawer-delete-workspace.json +1 -1
  104. package/chunks/drawer-discord.json +1 -1
  105. package/chunks/drawer-figma.json +1 -1
  106. package/chunks/drawer-first-dashboard.json +1 -1
  107. package/chunks/drawer-gcal.json +1 -1
  108. package/chunks/drawer-github.json +1 -1
  109. package/chunks/drawer-invite.json +1 -1
  110. package/chunks/drawer-payment-method.json +339 -2
  111. package/chunks/drawer-report.json +1 -1
  112. package/chunks/drawer-revoke-session.json +1 -1
  113. package/chunks/drawer-role.json +1 -1
  114. package/chunks/drawer-slack.json +1 -1
  115. package/chunks/drawer-smtp.json +1 -1
  116. package/chunks/drawer-source.json +1 -1
  117. package/chunks/drawer-transaction.json +1 -1
  118. package/chunks/editor-code-pane.json +63 -2
  119. package/chunks/editor-page-shell.json +1 -1
  120. package/chunks/editor-preview-pane.json +50 -2
  121. package/chunks/error-404-actions.json +1 -1
  122. package/chunks/error-404.json +1 -1
  123. package/chunks/error-500-actions.json +1 -1
  124. package/chunks/error-500.json +1 -1
  125. package/chunks/error-maintenance-actions.json +1 -1
  126. package/chunks/error-maintenance.json +1 -1
  127. package/chunks/error-page-shell.json +100 -1
  128. package/chunks/faq-accordion.json +224 -0
  129. package/chunks/file-upload-dnd.json +47 -0
  130. package/chunks/footer-multi-column.json +210 -0
  131. package/chunks/footer-primary-only.json +1 -1
  132. package/chunks/form-page-shell.json +107 -1
  133. package/chunks/gallery-page-shell.json +400 -2
  134. package/chunks/hero-section-split.json +115 -0
  135. package/chunks/icon-text-row.json +1 -1
  136. package/chunks/image-tile.json +1 -1
  137. package/chunks/inventory-list-stock.json +201 -0
  138. package/chunks/kanban-board-3col.json +377 -1
  139. package/chunks/kanban-page-shell.json +534 -2
  140. package/chunks/labeled-textarea.json +31 -1
  141. package/chunks/leaderboard-table.json +258 -0
  142. package/chunks/linked-record-row.json +1 -1
  143. package/chunks/marketing-hero-cta.json +76 -1
  144. package/chunks/marketing-page-shell.json +279 -1
  145. package/chunks/masonry-gallery.json +289 -0
  146. package/chunks/member-edit-drawer.json +1 -1
  147. package/chunks/metadata-description-list.json +1 -1
  148. package/chunks/multi-step-wizard.json +164 -0
  149. package/chunks/onb-completion.json +1 -1
  150. package/chunks/onb-extension-install.json +1 -1
  151. package/chunks/onb-hero-welcome.json +1 -1
  152. package/chunks/onb-import-picker.json +1 -1
  153. package/chunks/onb-mobile-handoff.json +1 -1
  154. package/chunks/onb-notification-prefs.json +1 -1
  155. package/chunks/onb-persona-picker.json +1 -1
  156. package/chunks/onb-provider-tiles.json +1 -1
  157. package/chunks/onb-settings-review.json +1 -1
  158. package/chunks/onb-step-footer.json +1 -1
  159. package/chunks/onb-step-header.json +1 -1
  160. package/chunks/onb-step-progress.json +1 -1
  161. package/chunks/onb-step-shell.json +1 -1
  162. package/chunks/onb-story-pane.json +1 -1
  163. package/chunks/onb-tutorial-steps.json +1 -1
  164. package/chunks/playground-a2ui.json +1 -1
  165. package/chunks/playground-app-shell.json +1 -1
  166. package/chunks/playground-chat.json +1 -1
  167. package/chunks/playground-construct-canvas.json +1 -1
  168. package/chunks/playground-gen-ui.json +1 -1
  169. package/chunks/playground-render-preview.json +1 -1
  170. package/chunks/playground-streams-bridge.json +1 -1
  171. package/chunks/playground-table-toolbar.json +1 -1
  172. package/chunks/progress-tracker-milestones.json +255 -0
  173. package/chunks/real-time-metrics-dashboard.json +278 -0
  174. package/chunks/reg-address-form.json +753 -1
  175. package/chunks/reg-billing-card.json +173 -1
  176. package/chunks/reg-brand-scrape.json +1 -1
  177. package/chunks/reg-departments-toggle.json +1 -1
  178. package/chunks/reg-extended-profile.json +1 -1
  179. package/chunks/reg-final-done.json +1 -1
  180. package/chunks/reg-helpdesk-grid.json +1 -1
  181. package/chunks/reg-import-picker.json +1 -1
  182. package/chunks/reg-integrations-grid.json +1 -1
  183. package/chunks/reg-invite-form.json +210 -1
  184. package/chunks/reg-legal-entity.json +1 -1
  185. package/chunks/reg-org-chart-review.json +1 -1
  186. package/chunks/reg-profile-identity.json +1 -1
  187. package/chunks/reg-step-footer.json +1 -1
  188. package/chunks/reg-step-header.json +1 -1
  189. package/chunks/reg-step-progress.json +1 -1
  190. package/chunks/reg-step-shell.json +1 -1
  191. package/chunks/reg-story-pane.json +1 -1
  192. package/chunks/reg-success-summary.json +1 -1
  193. package/chunks/reg-team-size.json +1 -1
  194. package/chunks/reg-usecase-picker.json +1 -1
  195. package/chunks/reg-workspace-name.json +120 -2
  196. package/chunks/search-with-filters.json +100 -0
  197. package/chunks/section-with-stack.json +1 -1
  198. package/chunks/settings-admin-page.json +1 -1
  199. package/chunks/settings-appearance.json +16 -1
  200. package/chunks/settings-billing-plan.json +1 -1
  201. package/chunks/settings-general-form.json +49 -1
  202. package/chunks/settings-integrations.json +1 -1
  203. package/chunks/settings-members-invite.json +1 -1
  204. package/chunks/settings-notifications.json +205 -1
  205. package/chunks/settings-page-shell.json +149 -1
  206. package/chunks/settings-profile-security.json +115 -1
  207. package/chunks/sidebar-collapsible-nav.json +120 -0
  208. package/chunks/testimonial-grid.json +247 -0
  209. package/chunks/text-card.json +1 -1
  210. package/chunks/timeline-events.json +209 -0
  211. package/chunks/toolbar-icons.json +97 -0
  212. package/chunks/user-identity-row.json +1 -1
  213. package/chunks/user-profile-card.json +166 -1
  214. package/chunks/users-table-badge.json +234 -1
  215. package/package.json +1 -1
@@ -10,5 +10,5 @@
10
10
  },
11
11
  "html": "<admin-shell mode=\"rounded borderless\">\n <!-- ═══════════════ LEFT SIDEBAR ═══════════════ -->\n <admin-sidebar slot=\"leading\" resizable collapsible>\n <header-ui>\n <select-ui id=\"workspace-select\" avatar=\"/icons/agent-ui-light.svg\" value=\"adia-ui\" variant=\"ghost\" style=\"flex: 1\"></select-ui>\n </header-ui>\n\n <section-ui>\n <nav-ui id=\"nav\">\n <nav-item-ui data-command-trigger icon=\"magnifying-glass\" text=\"Search\" value=\"search\">\n <span slot=\"icon\"><icon-ui name=\"magnifying-glass\"></icon-ui></span>\n <span slot=\"text\">Search</span>\n <kbd slot=\"trailing\">⌘K</kbd>\n </nav-item-ui>\n <hr data-nav-divider />\n <nav-group-ui icon=\"house\" text=\"Home\" open>\n <nav-item-ui text=\"Dashboard\" value=\"dashboard\" selected></nav-item-ui>\n <nav-item-ui text=\"Analytics\" value=\"analytics\"></nav-item-ui>\n <nav-item-ui text=\"Reports\" value=\"reports\"></nav-item-ui>\n </nav-group-ui>\n <nav-group-ui icon=\"gear\" text=\"Settings\">\n <nav-item-ui text=\"General\" value=\"general\"></nav-item-ui>\n <nav-item-ui text=\"Team\" value=\"team\"></nav-item-ui>\n <nav-item-ui text=\"Billing\" value=\"billing\"></nav-item-ui>\n </nav-group-ui>\n </nav-ui>\n </section-ui>\n\n <footer-ui>\n <select-ui id=\"user-select\" avatar=\"https://i.pravatar.cc/32?u=demo\" value=\"demo\" variant=\"ghost\" style=\"flex: 1\"></select-ui>\n </footer-ui>\n <div data-resize></div>\n </admin-sidebar>\n\n <!-- ═══════════════ MAIN ═══════════════ -->\n <main>\n <header-ui>\n <button-ui data-sidebar-toggle=\"leading\" icon=\"sidebar\" variant=\"ghost\" size=\"sm\"></button-ui>\n <breadcrumb-ui>\n <a href=\"#\">AdiaUI</a>\n <span>Dashboard</span>\n </breadcrumb-ui>\n <span slot=\"action\">\n <popover-ui id=\"theme-popover\" placement=\"bottom-end\">\n <button-ui icon=\"palette\" variant=\"ghost\" size=\"sm\" slot=\"trigger\"></button-ui>\n <theme-panel slot=\"content\" parametric presets scheme-toggle></theme-panel>\n </popover-ui>\n </span>\n </header-ui>\n\n <section-ui>\n <aside id=\"subnav-rail\" data-subnav>\n <nav-ui variant=\"section\" id=\"subnav\" heading=\"Dashboard\">\n <nav-item-ui text=\"Overview\" value=\"overview\" selected></nav-item-ui>\n <nav-item-ui text=\"Activity\" value=\"activity\"></nav-item-ui>\n <nav-item-ui text=\"Revenue\" value=\"revenue\"></nav-item-ui>\n <nav-item-ui text=\"Traffic\" value=\"traffic\"></nav-item-ui>\n </nav-ui>\n </aside>\n\n <article data-content-root>\n <div data-content-header>\n <header>\n <div>\n <h1>Dashboard</h1>\n <div data-actions>\n <button-ui text=\"Export\" variant=\"outline\" size=\"sm\"></button-ui>\n </div>\n </div>\n <p>App Shell pattern demo — resize the sidebar, collapse it, toggle theme, or press ⌘K to open the command palette.</p>\n </header>\n </div>\n <div data-content-body>\n <section>\n <p style=\"color: var(--a-fg-muted)\">\n This standalone page mirrors the shape of the main AdiaUI docs shell: leading sidebar with app-nav, topbar with breadcrumb + theme popover +\n command trigger, main content area with an optional subnav rail, and a bottom footer.\n </p>\n </section>\n </div>\n </article>\n </section-ui>\n\n <footer-ui>\n <span slot=\"heading\">AdiaUI App Shell</span>\n <span slot=\"description\">Playground demo</span>\n <span slot=\"action\">v0.1.0</span>\n </footer-ui>\n </main>\n\n <!-- ═══════════════ COMMAND PALETTE ═══════════════ -->\n <admin-command>\n <command-ui id=\"cmd\" placeholder=\"Search pages...\"></command-ui>\n </admin-command>\n </admin-shell>",
12
12
  "source": "playgrounds/admin-shell/app/admin-shell.contents.html",
13
- "captured_at": "2026-05-12T19:23:09.661Z"
13
+ "captured_at": "2026-05-13T20:06:48.496Z"
14
14
  }
@@ -11,5 +11,5 @@
11
11
  },
12
12
  "html": "<chat-shell id=\"chat\" proxy-url=\"/api/chat\" model=\"claude-haiku-4-5-20251001\" style=\"flex: 1; border: none; border-radius: 0\">\n <chat-header>\n <span slot=\"name\">Factory Chat</span>\n <chat-status slot=\"status\"></chat-status>\n <span slot=\"action\" style=\"display: flex; align-items: center; gap: var(--a-space-1)\">\n <button-ui id=\"theme-toggle\" icon=\"moon\" variant=\"ghost\" size=\"sm\"></button-ui>\n <popover-ui id=\"theme-popover\" placement=\"bottom-end\">\n <button-ui icon=\"gear\" variant=\"ghost\" size=\"sm\" slot=\"trigger\"></button-ui>\n <div slot=\"content\" style=\"padding: var(--a-space-3); display: flex; flex-direction: column; gap: var(--a-space-3); min-width: 240px\">\n <text-ui variant=\"label\">Theme</text-ui>\n <div style=\"display: flex; gap: var(--a-space-1); flex-wrap: wrap\">\n <button-ui id=\"theme-default\" text=\"Default\" variant=\"outline\" size=\"sm\"></button-ui>\n <button-ui id=\"theme-ocean\" text=\"Ocean\" variant=\"outline\" size=\"sm\"></button-ui>\n <button-ui id=\"theme-forest\" text=\"Forest\" variant=\"outline\" size=\"sm\"></button-ui>\n <button-ui id=\"theme-sunset\" text=\"Sunset\" variant=\"outline\" size=\"sm\"></button-ui>\n <button-ui id=\"theme-lavender\" text=\"Lavender\" variant=\"outline\" size=\"sm\"></button-ui>\n <button-ui id=\"theme-rose\" text=\"Rose\" variant=\"outline\" size=\"sm\"></button-ui>\n <button-ui id=\"theme-slate\" text=\"Slate\" variant=\"outline\" size=\"sm\"></button-ui>\n <button-ui id=\"theme-midnight\" text=\"Midnight\" variant=\"outline\" size=\"sm\"></button-ui>\n </div>\n <divider-ui></divider-ui>\n <text-ui variant=\"label\">Parametric</text-ui>\n <field-ui label=\"Density\">\n <slider-ui id=\"param-density\" value=\"1\" min=\"0.5\" max=\"1.5\" step=\"0.05\" suffix=\"×\"></slider-ui>\n </field-ui>\n <field-ui label=\"Radius\">\n <slider-ui id=\"param-radius\" value=\"1\" min=\"0\" max=\"2\" step=\"0.1\" suffix=\"×\"></slider-ui>\n </field-ui>\n </div>\n </popover-ui>\n </span>\n </chat-header>\n <chat-thread>\n <chat-empty>\n <empty-state-ui\n icon=\"chat-circle\"\n heading=\"AdiaUI Chat\"\n description=\"Type a message to start a conversation. Connects to LLM model via proxy if available.\">\n </empty-state-ui>\n </chat-empty>\n </chat-thread>\n <chat-composer>\n <chat-input-ui placeholder=\"Message Claude...\"></chat-input-ui>\n </chat-composer>\n</chat-shell>",
13
13
  "source": "playgrounds/chat/app/chat.contents.html",
14
- "captured_at": "2026-05-12T19:23:09.661Z"
14
+ "captured_at": "2026-05-13T20:06:48.496Z"
15
15
  }
@@ -8,5 +8,5 @@
8
8
  "attrs": {},
9
9
  "html": "<editor-canvas>\n <div id=\"canvas-host\" role=\"application\" aria-label=\"Construct canvas — drag, zoom, and connect cards\" tabindex=\"0\">\n <!-- canvas-projection mounts a #cc-pan-frame > <noodles-ui> in here -->\n </div>\n <!-- Floating zoom + pan controls (graph-editor convention: bottom-right).\n toolbar-ui owns the flex/border/bg/role chrome; the .cc-zoom-controls\n class only adds floating positioning + backdrop-blur on top. -->\n <toolbar-ui class=\"cc-zoom-controls\" bordered aria-label=\"Canvas zoom\">\n <button-ui\n id=\"zoom-out\"\n icon=\"minus\"\n variant=\"ghost\"\n size=\"sm\"\n aria-label=\"Zoom out\"\n title=\"Zoom out (-)\"\n data-hotkey=\"-\"\n data-hotkey-global\n ></button-ui>\n <span id=\"zoom-label\" aria-live=\"polite\">100%</span>\n <button-ui id=\"zoom-in\" icon=\"plus\" variant=\"ghost\" size=\"sm\" aria-label=\"Zoom in\" title=\"Zoom in (+)\"></button-ui>\n <divider-ui vertical style=\"height: 16px\"></divider-ui>\n <button-ui\n id=\"zoom-fit\"\n icon=\"frame-corners\"\n variant=\"ghost\"\n size=\"sm\"\n aria-label=\"Fit to content\"\n title=\"Fit to content (1)\"\n data-hotkey=\"1\"\n data-hotkey-global\n ></button-ui>\n <button-ui\n id=\"zoom-reset\"\n icon=\"circle\"\n variant=\"ghost\"\n size=\"sm\"\n aria-label=\"Reset to 100%\"\n title=\"Reset to 100% (0)\"\n data-hotkey=\"0\"\n data-hotkey-global\n ></button-ui>\n <divider-ui vertical style=\"height: 16px\"></divider-ui>\n <button-ui\n id=\"auto-arrange-btn\"\n icon=\"layout\"\n variant=\"ghost\"\n size=\"sm\"\n aria-label=\"Auto-arrange\"\n title=\"Auto-arrange (L)\"\n data-hotkey=\"l\"\n data-hotkey-global\n ></button-ui>\n </toolbar-ui>\n </editor-canvas>",
10
10
  "source": "apps/construct-canvas/app/construct-canvas.contents.html",
11
- "captured_at": "2026-05-12T19:23:09.661Z"
11
+ "captured_at": "2026-05-13T20:06:48.496Z"
12
12
  }
@@ -10,5 +10,5 @@
10
10
  },
11
11
  "html": "<div id=\"gen-ui-shell\" data-view=\"chat\">\n <!-- Chat pane (resizable via pane-ui) -->\n <pane-ui id=\"chat-pane\" resizable min-width=\"280\">\n <section>\n <chat-shell id=\"gen-chat\">\n <chat-thread>\n <chat-empty>\n <empty-state-ui icon=\"magic-wand\" heading=\"AdiaUI Generator\" description=\"Describe a UI and watch it render live.\">\n </empty-state-ui>\n </chat-empty>\n </chat-thread>\n <chat-composer>\n <chat-input-ui placeholder=\"Describe a UI...\"></chat-input-ui>\n </chat-composer>\n </chat-shell>\n </section>\n </pane-ui>\n\n <!-- Canvas panel (plain div — no collapse behavior) -->\n <div id=\"canvas-panel\">\n <div id=\"canvas-toolbar\">\n <row-ui gap=\"2\" align=\"center\">\n <button-ui id=\"btn-toggle-view\" text=\"Chat\" variant=\"ghost\" size=\"sm\" icon=\"chat-circle\"></button-ui>\n <icon-ui name=\"layout\" color=\"muted\"></icon-ui>\n <text-ui strong>Canvas</text-ui>\n <badge-ui id=\"validation-badge\" text=\"\" variant=\"default\" size=\"sm\" hidden></badge-ui>\n </row-ui>\n <row-ui gap=\"1\">\n <button-ui id=\"btn-back\" variant=\"ghost\" size=\"sm\" icon=\"arrow-left\" disabled></button-ui>\n <button-ui id=\"btn-forward\" variant=\"ghost\" size=\"sm\" icon=\"arrow-right\" disabled></button-ui>\n <button-ui id=\"btn-clear\" variant=\"ghost\" size=\"sm\" icon=\"trash\"></button-ui>\n <button-ui id=\"btn-code\" variant=\"ghost\" size=\"sm\" icon=\"code\"></button-ui>\n </row-ui>\n </div>\n <section>\n <canvas-ui id=\"canvas\"></canvas-ui>\n </section>\n <footer id=\"code-panel\" hidden>\n <code-ui id=\"code-view\" language=\"json\" style=\"font-size: var(--a-ui-sm)\"></code-ui>\n </footer>\n </div>\n </div>",
12
12
  "source": "apps/genui/app/gen-ui/gen-ui.contents.html",
13
- "captured_at": "2026-05-12T19:23:09.661Z"
13
+ "captured_at": "2026-05-13T20:06:48.496Z"
14
14
  }
@@ -8,5 +8,5 @@
8
8
  "attrs": {},
9
9
  "html": "<div id=\"pg-shell\">\n <!-- ── Toolbar ───────────────────────────────────────────── -->\n <div id=\"pg-toolbar\">\n <row-ui gap=\"2\" align=\"center\">\n <icon-ui name=\"broadcast\" color=\"muted\"></icon-ui>\n <text-ui strong>Render Preview</text-ui>\n <badge-ui id=\"pg-status-badge\" text=\"ready\" size=\"sm\" variant=\"default\"></badge-ui>\n </row-ui>\n <row-ui gap=\"2\" align=\"center\">\n <select-ui id=\"pg-example-select\" size=\"sm\" placeholder=\"Load example…\" style=\"min-width: 14rem\">\n <option value=\"\">Load example…</option>\n <option value=\"single-card\">Single surface — card + stat</option>\n <option value=\"streamed-list\">Streamed updates — append items</option>\n <option value=\"data-bindings\">Data bindings — updateDataModel</option>\n <option value=\"multi-surface\">Multiple surfaces</option>\n <option value=\"unknown-component\">Unknown component (graceful fallback)</option>\n </select-ui>\n <divider-ui vertical></divider-ui>\n <button-ui id=\"pg-btn-step\" variant=\"ghost\" size=\"sm\" icon=\"skip-forward\" text=\"Step\" disabled></button-ui>\n <button-ui id=\"pg-btn-run\" variant=\"primary\" size=\"sm\" icon=\"play\" text=\"Run all\"></button-ui>\n <button-ui id=\"pg-btn-clear\" variant=\"ghost\" size=\"sm\" icon=\"trash\" text=\"Clear\"></button-ui>\n </row-ui>\n </div>\n\n <!-- ── Body — input | output ─────────────────────────────── -->\n <div id=\"pg-body\">\n <!-- LEFT — message stream input -->\n <section id=\"pg-input-pane\">\n <header class=\"pg-pane-header\">\n <text-ui weight=\"medium\" size=\"sm\">A2UI message stream</text-ui>\n <text-ui size=\"xs\" color=\"muted\" id=\"pg-message-count\">0 messages</text-ui>\n </header>\n <textarea\n id=\"pg-input\"\n spellcheck=\"false\"\n autocomplete=\"off\"\n placeholder='[\n { \"type\": \"createSurface\", \"surfaceId\": \"main\", \"root\": \"root\" },\n { \"type\": \"updateComponents\", \"surfaceId\": \"main\", \"components\": [\n { \"id\": \"root\", \"component\": \"Card\", \"children\": [\"title\"] },\n { \"id\": \"title\", \"component\": \"Text\", \"variant\": \"h2\", \"text\": \"Hello\" }\n ]}\n]'\n ></textarea>\n <footer class=\"pg-pane-footer\" id=\"pg-input-error\" hidden>\n <icon-ui name=\"warning\" size=\"sm\" color=\"danger\"></icon-ui>\n <text-ui size=\"xs\" color=\"danger\" id=\"pg-input-error-text\"></text-ui>\n </footer>\n </section>\n\n <!-- RIGHT — render surface + log -->\n <section id=\"pg-output-pane\">\n <header class=\"pg-pane-header\">\n <text-ui weight=\"medium\" size=\"sm\">Rendered output</text-ui>\n <row-ui gap=\"3\" align=\"center\">\n <text-ui size=\"xs\" color=\"muted\" id=\"pg-surface-count\">0 surfaces</text-ui>\n <text-ui size=\"xs\" color=\"muted\" id=\"pg-component-count\">0 components</text-ui>\n </row-ui>\n </header>\n <div id=\"pg-surface\" aria-live=\"polite\"></div>\n <details id=\"pg-log-panel\">\n <summary>\n <text-ui size=\"xs\" color=\"muted\">Message log</text-ui>\n <text-ui size=\"xs\" color=\"muted\" id=\"pg-log-count\">0</text-ui>\n </summary>\n <ol id=\"pg-log\"></ol>\n </details>\n </section>\n </div>\n </div>",
10
10
  "source": "apps/genui/app/render-preview/render-preview.contents.html",
11
- "captured_at": "2026-05-12T19:23:09.661Z"
11
+ "captured_at": "2026-05-13T20:06:48.496Z"
12
12
  }
@@ -8,5 +8,5 @@
8
8
  "attrs": {},
9
9
  "html": "<div id=\"pg-shell\">\n <div id=\"pg-toolbar\">\n <row-ui gap=\"2\" align=\"center\">\n <icon-ui name=\"plug\" color=\"muted\"></icon-ui>\n <text-ui strong>Streams Bridge</text-ui>\n <badge-ui id=\"pg-source-badge\" text=\"loading…\" variant=\"default\" size=\"sm\"></badge-ui>\n </row-ui>\n <row-ui gap=\"2\">\n <button-ui id=\"pg-btn-refresh\" variant=\"ghost\" size=\"sm\" icon=\"arrows-clockwise\" text=\"Refresh\"></button-ui>\n <a href=\"/site/getting-started/wiring\" target=\"_top\" style=\"text-decoration: none\">\n <button-ui variant=\"ghost\" size=\"sm\" icon=\"book-open\" text=\"Docs\"></button-ui>\n </a>\n </row-ui>\n </div>\n\n <div id=\"pg-content\">\n <div id=\"pg-intro\">\n <h1 style=\"margin: 0 0 var(--a-space-2) 0; font-size: var(--a-ui-lg)\">One stream, two consumers — bridged into A2UI</h1>\n <p style=\"margin: 0; color: var(--a-text-muted); font-size: var(--a-ui-sm); line-height: 1.5\">\n Both tiles below subscribe to the same <code>data-stream-id=\"rev-pg\"</code>, fed from <code>/site/mock/revenue.json</code>. The left tile renders a\n <code>chart-ui</code> driven directly by the <code>data-stream-*</code> attribute trait — the trait writes the parsed response into the chart's\n <code>.data</code> property and re-renders. The right tile is an <strong>A2UI surface</strong> built from <code>updateComponents</code> messages\n whose props use <code>{path: '…'}</code> bindings; <code>bridgeStreamAsync</code> proxies the same stream signal into the surface's data model so\n those bindings resolve — no second fetch (open DevTools' Network tab and confirm only one request per refresh). The bridge piggybacks on the chart's\n refcount rather than holding its own; the DOM source remains the lifecycle owner.\n </p>\n </div>\n\n <div id=\"pg-grid\">\n <!-- LEFT — direct data-stream-* trait -->\n <div class=\"pg-tile\">\n <h3>Direct via <code>data-stream-src</code></h3>\n <div id=\"chart-host\">\n <chart-ui\n id=\"pg-chart\"\n type=\"area\"\n x=\"month\"\n y=\"revenue\"\n data-stream-src=\"/site/mock/revenue.json\"\n data-stream-path=\"data\"\n data-stream-id=\"rev-pg\"\n aria-label=\"Revenue chart fed via data-stream-src\"\n style=\"display: block; width: 100%; height: 280px\"\n ></chart-ui>\n </div>\n </div>\n\n <!-- RIGHT — A2UI surface, bound via bridgeStreamAsync -->\n <div class=\"pg-tile\">\n <h3>Via <code>bridgeStreamAsync</code> → A2UI surface</h3>\n <div id=\"a2ui-host\">\n <empty-state-ui\n icon=\"hourglass\"\n heading=\"Waiting for stream…\"\n description=\"The bridge will populate these bindings once the fetch resolves.\"\n ></empty-state-ui>\n </div>\n </div>\n </div>\n\n <div id=\"pg-status\">\n <div data-pg-status-row><strong>Stream id:</strong> <code id=\"pg-status-id\">id:rev-pg</code></div>\n <div data-pg-status-row><strong>Stream signal:</strong> <span id=\"pg-status-signal\">—</span></div>\n <div data-pg-status-row><strong>Surface dataModel:</strong> <code id=\"pg-status-model\">—</code></div>\n <div data-pg-status-row><strong>DOM consumer refs:</strong> <span id=\"pg-status-refs\">—</span></div>\n <div data-pg-status-row><strong>Last fetch:</strong> <span id=\"pg-status-fetched\">—</span></div>\n </div>\n\n <details id=\"pg-code-panel\">\n <summary>Show the wiring (bridge call + A2UI messages)</summary>\n <div>\n <code-ui language=\"javascript\" id=\"pg-code-block\" style=\"font-size: var(--a-ui-sm)\"></code-ui>\n </div>\n </details>\n </div>\n </div>",
10
10
  "source": "apps/genui/app/streams-bridge/streams-bridge.contents.html",
11
- "captured_at": "2026-05-12T19:23:09.661Z"
11
+ "captured_at": "2026-05-13T20:06:48.496Z"
12
12
  }
@@ -12,5 +12,5 @@
12
12
  },
13
13
  "html": "<table-toolbar-ui for=\"employees\" text=\"All Employees\" count=\"32\"></table-toolbar-ui>",
14
14
  "source": "playgrounds/table-toolbar/app/table-toolbar.contents.html",
15
- "captured_at": "2026-05-12T19:23:09.661Z"
15
+ "captured_at": "2026-05-13T20:06:48.496Z"
16
16
  }
@@ -0,0 +1,255 @@
1
+ {
2
+ "name": "progress-tracker-milestones",
3
+ "kind": "block",
4
+ "primary": "section",
5
+ "page": "/catalog/ui-patterns/v050-data-blocks/v050-data-blocks.contents.html",
6
+ "slots": [],
7
+ "nested": [],
8
+ "attrs": {},
9
+ "html": "<section>\n <card-ui>\n <header>\n <text-ui strong>Project milestones</text-ui>\n <text-ui size=\"sm\" color=\"subtle\">3 of 5 complete</text-ui>\n </header>\n <section>\n <col-ui gap=\"3\">\n <progress-ui value=\"60\" total=\"100\"></progress-ui>\n <col-ui gap=\"2\">\n <row-ui gap=\"3\" align=\"center\">\n <icon-ui name=\"check-circle\" color=\"success\"></icon-ui>\n <col-ui gap=\"0\">\n <text-ui strong size=\"sm\">Discovery phase</text-ui>\n <text-ui size=\"xs\" color=\"subtle\">Completed Mar 12</text-ui>\n </col-ui>\n </row-ui>\n <row-ui gap=\"3\" align=\"center\">\n <icon-ui name=\"check-circle\" color=\"success\"></icon-ui>\n <col-ui gap=\"0\">\n <text-ui strong size=\"sm\">Design system</text-ui>\n <text-ui size=\"xs\" color=\"subtle\">Completed Apr 4</text-ui>\n </col-ui>\n </row-ui>\n <row-ui gap=\"3\" align=\"center\">\n <icon-ui name=\"check-circle\" color=\"success\"></icon-ui>\n <col-ui gap=\"0\">\n <text-ui strong size=\"sm\">Alpha release</text-ui>\n <text-ui size=\"xs\" color=\"subtle\">Completed May 1</text-ui>\n </col-ui>\n </row-ui>\n <row-ui gap=\"3\" align=\"center\">\n <icon-ui name=\"circle-dashed\" color=\"accent\"></icon-ui>\n <col-ui gap=\"0\">\n <text-ui strong size=\"sm\">Beta release</text-ui>\n <text-ui size=\"xs\" color=\"subtle\">In progress · 4 days remaining</text-ui>\n </col-ui>\n </row-ui>\n <row-ui gap=\"3\" align=\"center\">\n <icon-ui name=\"circle\" color=\"subtle\"></icon-ui>\n <col-ui gap=\"0\">\n <text-ui strong size=\"sm\">GA launch</text-ui>\n <text-ui size=\"xs\" color=\"subtle\">Target: Jun 15</text-ui>\n </col-ui>\n </row-ui>\n </col-ui>\n </col-ui>\n </section>\n </card-ui>\n </section>",
10
+ "source": "catalog/ui-patterns/v050-data-blocks/v050-data-blocks.contents.html",
11
+ "metadata": {
12
+ "domain": "data",
13
+ "description": "Progress tracker with milestone checkpoints, current-stage indicator, and remaining-steps preview.",
14
+ "keywords": [
15
+ "progress",
16
+ "milestones",
17
+ "tracker",
18
+ "checkpoints",
19
+ "stage",
20
+ "steps",
21
+ "timeline",
22
+ "completion",
23
+ "remaining",
24
+ "tasks"
25
+ ]
26
+ },
27
+ "captured_at": "2026-05-13T20:06:48.496Z",
28
+ "template": [
29
+ {
30
+ "id": "text",
31
+ "component": "Text",
32
+ "textContent": "Project milestones"
33
+ },
34
+ {
35
+ "id": "text-2",
36
+ "component": "Text",
37
+ "textContent": "3 of 5 complete"
38
+ },
39
+ {
40
+ "id": "header",
41
+ "component": "Header",
42
+ "children": [
43
+ "text",
44
+ "text-2"
45
+ ]
46
+ },
47
+ {
48
+ "id": "progress",
49
+ "component": "Progress"
50
+ },
51
+ {
52
+ "id": "check-circle",
53
+ "component": "Icon"
54
+ },
55
+ {
56
+ "id": "text-3",
57
+ "component": "Text",
58
+ "textContent": "Discovery phase"
59
+ },
60
+ {
61
+ "id": "text-4",
62
+ "component": "Text",
63
+ "textContent": "Completed Mar 12"
64
+ },
65
+ {
66
+ "id": "column-3",
67
+ "component": "Column",
68
+ "gap": "0",
69
+ "children": [
70
+ "text-3",
71
+ "text-4"
72
+ ]
73
+ },
74
+ {
75
+ "id": "row",
76
+ "component": "Row",
77
+ "gap": "3",
78
+ "children": [
79
+ "check-circle",
80
+ "column-3"
81
+ ]
82
+ },
83
+ {
84
+ "id": "icon",
85
+ "component": "Icon"
86
+ },
87
+ {
88
+ "id": "text-5",
89
+ "component": "Text",
90
+ "textContent": "Design system"
91
+ },
92
+ {
93
+ "id": "text-6",
94
+ "component": "Text",
95
+ "textContent": "Completed Apr 4"
96
+ },
97
+ {
98
+ "id": "column-4",
99
+ "component": "Column",
100
+ "gap": "0",
101
+ "children": [
102
+ "text-5",
103
+ "text-6"
104
+ ]
105
+ },
106
+ {
107
+ "id": "row-2",
108
+ "component": "Row",
109
+ "gap": "3",
110
+ "children": [
111
+ "icon",
112
+ "column-4"
113
+ ]
114
+ },
115
+ {
116
+ "id": "icon-2",
117
+ "component": "Icon"
118
+ },
119
+ {
120
+ "id": "text-7",
121
+ "component": "Text",
122
+ "textContent": "Alpha release"
123
+ },
124
+ {
125
+ "id": "text-8",
126
+ "component": "Text",
127
+ "textContent": "Completed May 1"
128
+ },
129
+ {
130
+ "id": "column-5",
131
+ "component": "Column",
132
+ "gap": "0",
133
+ "children": [
134
+ "text-7",
135
+ "text-8"
136
+ ]
137
+ },
138
+ {
139
+ "id": "row-3",
140
+ "component": "Row",
141
+ "gap": "3",
142
+ "children": [
143
+ "icon-2",
144
+ "column-5"
145
+ ]
146
+ },
147
+ {
148
+ "id": "circle-dashed",
149
+ "component": "Icon"
150
+ },
151
+ {
152
+ "id": "text-9",
153
+ "component": "Text",
154
+ "textContent": "Beta release"
155
+ },
156
+ {
157
+ "id": "text-10",
158
+ "component": "Text",
159
+ "textContent": "In progress · 4 days remaining"
160
+ },
161
+ {
162
+ "id": "column-6",
163
+ "component": "Column",
164
+ "gap": "0",
165
+ "children": [
166
+ "text-9",
167
+ "text-10"
168
+ ]
169
+ },
170
+ {
171
+ "id": "row-4",
172
+ "component": "Row",
173
+ "gap": "3",
174
+ "children": [
175
+ "circle-dashed",
176
+ "column-6"
177
+ ]
178
+ },
179
+ {
180
+ "id": "circle",
181
+ "component": "Icon"
182
+ },
183
+ {
184
+ "id": "text-11",
185
+ "component": "Text",
186
+ "textContent": "GA launch"
187
+ },
188
+ {
189
+ "id": "text-12",
190
+ "component": "Text",
191
+ "textContent": "Target: Jun 15"
192
+ },
193
+ {
194
+ "id": "column-7",
195
+ "component": "Column",
196
+ "gap": "0",
197
+ "children": [
198
+ "text-11",
199
+ "text-12"
200
+ ]
201
+ },
202
+ {
203
+ "id": "row-5",
204
+ "component": "Row",
205
+ "gap": "3",
206
+ "children": [
207
+ "circle",
208
+ "column-7"
209
+ ]
210
+ },
211
+ {
212
+ "id": "column-2",
213
+ "component": "Column",
214
+ "gap": "2",
215
+ "children": [
216
+ "row",
217
+ "row-2",
218
+ "row-3",
219
+ "row-4",
220
+ "row-5"
221
+ ]
222
+ },
223
+ {
224
+ "id": "column",
225
+ "component": "Column",
226
+ "gap": "3",
227
+ "children": [
228
+ "progress",
229
+ "column-2"
230
+ ]
231
+ },
232
+ {
233
+ "id": "section",
234
+ "component": "Section",
235
+ "children": [
236
+ "column"
237
+ ]
238
+ },
239
+ {
240
+ "id": "card",
241
+ "component": "Card",
242
+ "children": [
243
+ "header",
244
+ "section"
245
+ ]
246
+ },
247
+ {
248
+ "id": "root",
249
+ "component": "Section",
250
+ "children": [
251
+ "card"
252
+ ]
253
+ }
254
+ ]
255
+ }
@@ -0,0 +1,278 @@
1
+ {
2
+ "name": "real-time-metrics-dashboard",
3
+ "kind": "block",
4
+ "primary": "section",
5
+ "page": "/catalog/ui-patterns/v050-data-blocks/v050-data-blocks.contents.html",
6
+ "slots": [],
7
+ "nested": [],
8
+ "attrs": {},
9
+ "html": "<section>\n <col-ui gap=\"4\">\n <row-ui gap=\"3\" align=\"center\">\n <h3>Live metrics</h3>\n <tag-ui text=\"● Live\" color=\"success\" size=\"sm\"></tag-ui>\n <text-ui size=\"xs\" color=\"subtle\">Updated 2s ago</text-ui>\n </row-ui>\n <grid-ui columns=\"4\" gap=\"3\">\n <card-ui>\n <header><text-ui size=\"sm\" color=\"subtle\">Requests / sec</text-ui></header>\n <section><text-ui size=\"xl\" strong>1,284</text-ui></section>\n </card-ui>\n <card-ui>\n <header><text-ui size=\"sm\" color=\"subtle\">Latency p50</text-ui></header>\n <section><text-ui size=\"xl\" strong>42ms</text-ui></section>\n </card-ui>\n <card-ui>\n <header><text-ui size=\"sm\" color=\"subtle\">Error rate</text-ui></header>\n <section><text-ui size=\"xl\" strong color=\"success\">0.04%</text-ui></section>\n </card-ui>\n <card-ui>\n <header><text-ui size=\"sm\" color=\"subtle\">Active sessions</text-ui></header>\n <section><text-ui size=\"xl\" strong>8,419</text-ui></section>\n </card-ui>\n </grid-ui>\n <card-ui>\n <header><text-ui strong>Throughput (last 60s)</text-ui></header>\n <section>\n <text-ui color=\"subtle\">[ live line chart ]</text-ui>\n </section>\n </card-ui>\n </col-ui>\n </section>",
10
+ "source": "catalog/ui-patterns/v050-data-blocks/v050-data-blocks.contents.html",
11
+ "metadata": {
12
+ "domain": "data",
13
+ "description": "Real-time metrics dashboard with live counters, streaming line charts, and last-updated timestamp.",
14
+ "keywords": [
15
+ "real-time",
16
+ "metrics",
17
+ "live",
18
+ "dashboard",
19
+ "streaming",
20
+ "counters",
21
+ "charts",
22
+ "websocket",
23
+ "telemetry",
24
+ "monitoring"
25
+ ]
26
+ },
27
+ "captured_at": "2026-05-13T20:06:48.496Z",
28
+ "template": [
29
+ {
30
+ "id": "text",
31
+ "component": "Text",
32
+ "variant": "h3",
33
+ "textContent": "Live metrics"
34
+ },
35
+ {
36
+ "id": "tag",
37
+ "component": "Tag"
38
+ },
39
+ {
40
+ "id": "text-2",
41
+ "component": "Text",
42
+ "textContent": "Updated 2s ago"
43
+ },
44
+ {
45
+ "id": "row",
46
+ "component": "Row",
47
+ "gap": "3",
48
+ "children": [
49
+ "text",
50
+ "tag",
51
+ "text-2"
52
+ ]
53
+ },
54
+ {
55
+ "id": "text-3",
56
+ "component": "Text",
57
+ "textContent": "Requests / sec"
58
+ },
59
+ {
60
+ "id": "header",
61
+ "component": "Header",
62
+ "children": [
63
+ "text-3"
64
+ ]
65
+ },
66
+ {
67
+ "id": "text-4",
68
+ "component": "Text",
69
+ "textContent": "1,284"
70
+ },
71
+ {
72
+ "id": "section",
73
+ "component": "Section",
74
+ "children": [
75
+ "column-2"
76
+ ]
77
+ },
78
+ {
79
+ "id": "column-2",
80
+ "component": "Column",
81
+ "children": [
82
+ "text-4"
83
+ ]
84
+ },
85
+ {
86
+ "id": "card",
87
+ "component": "Card",
88
+ "children": [
89
+ "header",
90
+ "section"
91
+ ]
92
+ },
93
+ {
94
+ "id": "text-5",
95
+ "component": "Text",
96
+ "textContent": "Latency p50"
97
+ },
98
+ {
99
+ "id": "header-2",
100
+ "component": "Header",
101
+ "children": [
102
+ "text-5"
103
+ ]
104
+ },
105
+ {
106
+ "id": "text-6",
107
+ "component": "Text",
108
+ "textContent": "42ms"
109
+ },
110
+ {
111
+ "id": "section-2",
112
+ "component": "Section",
113
+ "children": [
114
+ "column-3"
115
+ ]
116
+ },
117
+ {
118
+ "id": "column-3",
119
+ "component": "Column",
120
+ "children": [
121
+ "text-6"
122
+ ]
123
+ },
124
+ {
125
+ "id": "card-2",
126
+ "component": "Card",
127
+ "children": [
128
+ "header-2",
129
+ "section-2"
130
+ ]
131
+ },
132
+ {
133
+ "id": "text-7",
134
+ "component": "Text",
135
+ "textContent": "Error rate"
136
+ },
137
+ {
138
+ "id": "header-3",
139
+ "component": "Header",
140
+ "children": [
141
+ "text-7"
142
+ ]
143
+ },
144
+ {
145
+ "id": "text-8",
146
+ "component": "Text",
147
+ "textContent": "0.04%"
148
+ },
149
+ {
150
+ "id": "section-3",
151
+ "component": "Section",
152
+ "children": [
153
+ "column-4"
154
+ ]
155
+ },
156
+ {
157
+ "id": "column-4",
158
+ "component": "Column",
159
+ "children": [
160
+ "text-8"
161
+ ]
162
+ },
163
+ {
164
+ "id": "card-3",
165
+ "component": "Card",
166
+ "children": [
167
+ "header-3",
168
+ "section-3"
169
+ ]
170
+ },
171
+ {
172
+ "id": "text-9",
173
+ "component": "Text",
174
+ "textContent": "Active sessions"
175
+ },
176
+ {
177
+ "id": "header-4",
178
+ "component": "Header",
179
+ "children": [
180
+ "text-9"
181
+ ]
182
+ },
183
+ {
184
+ "id": "text-10",
185
+ "component": "Text",
186
+ "textContent": "8,419"
187
+ },
188
+ {
189
+ "id": "section-4",
190
+ "component": "Section",
191
+ "children": [
192
+ "column-5"
193
+ ]
194
+ },
195
+ {
196
+ "id": "column-5",
197
+ "component": "Column",
198
+ "children": [
199
+ "text-10"
200
+ ]
201
+ },
202
+ {
203
+ "id": "card-4",
204
+ "component": "Card",
205
+ "children": [
206
+ "header-4",
207
+ "section-4"
208
+ ]
209
+ },
210
+ {
211
+ "id": "grid",
212
+ "component": "Grid",
213
+ "gap": "3",
214
+ "children": [
215
+ "card",
216
+ "card-2",
217
+ "card-3",
218
+ "card-4"
219
+ ]
220
+ },
221
+ {
222
+ "id": "text-11",
223
+ "component": "Text",
224
+ "textContent": "Throughput (last 60s)"
225
+ },
226
+ {
227
+ "id": "header-5",
228
+ "component": "Header",
229
+ "children": [
230
+ "text-11"
231
+ ]
232
+ },
233
+ {
234
+ "id": "text-12",
235
+ "component": "Text",
236
+ "textContent": "[ live line chart ]"
237
+ },
238
+ {
239
+ "id": "section-5",
240
+ "component": "Section",
241
+ "children": [
242
+ "column-6"
243
+ ]
244
+ },
245
+ {
246
+ "id": "column-6",
247
+ "component": "Column",
248
+ "children": [
249
+ "text-12"
250
+ ]
251
+ },
252
+ {
253
+ "id": "card-5",
254
+ "component": "Card",
255
+ "children": [
256
+ "header-5",
257
+ "section-5"
258
+ ]
259
+ },
260
+ {
261
+ "id": "column",
262
+ "component": "Column",
263
+ "gap": "4",
264
+ "children": [
265
+ "row",
266
+ "grid",
267
+ "card-5"
268
+ ]
269
+ },
270
+ {
271
+ "id": "root",
272
+ "component": "Section",
273
+ "children": [
274
+ "column"
275
+ ]
276
+ }
277
+ ]
278
+ }