@adia-ai/a2ui-corpus 0.3.2 → 0.3.3

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 (182) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +64 -0
  3. package/catalog-a2ui_0_9.json +2 -29
  4. package/chunks/_index.json +5 -5
  5. package/chunks/agent-activity-feed.json +1 -1
  6. package/chunks/agent-reasoning-collapsed.json +1 -1
  7. package/chunks/auth-account-deleted-actions.json +1 -1
  8. package/chunks/auth-account-deleted.json +1 -1
  9. package/chunks/auth-card-content.json +1 -1
  10. package/chunks/auth-card-header.json +1 -1
  11. package/chunks/auth-email-entry.json +1 -1
  12. package/chunks/auth-email-verify-confirm.json +1 -1
  13. package/chunks/auth-email-verify.json +1 -1
  14. package/chunks/auth-forbidden-actions.json +1 -1
  15. package/chunks/auth-forbidden.json +1 -1
  16. package/chunks/auth-invite-actions.json +1 -1
  17. package/chunks/auth-invite-team-card.json +1 -1
  18. package/chunks/auth-link-expired-form.json +1 -1
  19. package/chunks/auth-link-expired.json +1 -1
  20. package/chunks/auth-locked-account.json +1 -1
  21. package/chunks/auth-locked-recovery-options.json +1 -1
  22. package/chunks/auth-mfa-enrollment-submit.json +1 -1
  23. package/chunks/auth-mfa-enrollment.json +1 -1
  24. package/chunks/auth-mfa-fallback-actions.json +1 -1
  25. package/chunks/auth-mfa-recovery.json +1 -1
  26. package/chunks/auth-new-password-form.json +1 -1
  27. package/chunks/auth-new-password.json +1 -1
  28. package/chunks/auth-oauth-fallback-actions.json +1 -1
  29. package/chunks/auth-oauth-interstitial.json +1 -1
  30. package/chunks/auth-password-challenge.json +1 -1
  31. package/chunks/auth-password-reset-form.json +1 -1
  32. package/chunks/auth-password-reset.json +1 -1
  33. package/chunks/auth-profile-form.json +1 -1
  34. package/chunks/auth-profile-setup.json +1 -1
  35. package/chunks/auth-reset-sent.json +1 -1
  36. package/chunks/auth-session-expired-actions.json +1 -1
  37. package/chunks/auth-session-expired.json +1 -1
  38. package/chunks/auth-signin-card-email.json +1 -1
  39. package/chunks/auth-signin-card-magic-link.json +1 -1
  40. package/chunks/auth-signin-card-mfa.json +1 -1
  41. package/chunks/auth-signin-card-otp.json +1 -1
  42. package/chunks/auth-signin-card-password.json +1 -1
  43. package/chunks/auth-signin-card-recovery.json +1 -1
  44. package/chunks/auth-signout-actions.json +1 -1
  45. package/chunks/auth-signout.json +1 -1
  46. package/chunks/auth-signup-email-entry.json +1 -1
  47. package/chunks/auth-signup-entry.json +1 -1
  48. package/chunks/auth-signup-social-auths.json +1 -1
  49. package/chunks/auth-signup-verify.json +1 -1
  50. package/chunks/auth-social-auths.json +1 -1
  51. package/chunks/auth-sso-providers.json +1 -1
  52. package/chunks/auth-sso-required.json +1 -1
  53. package/chunks/auth-team-invite.json +1 -1
  54. package/chunks/chat-streaming-surface.json +1 -1
  55. package/chunks/{command-palette-grouped.json → command-palette.json} +2 -2
  56. package/chunks/commerce-pricing-tiers.json +1 -1
  57. package/chunks/conversion-funnel-6step.json +1 -1
  58. package/chunks/dashboard-acquisition-panel.json +1 -1
  59. package/chunks/dashboard-admin-page.json +2 -2
  60. package/chunks/dashboard-audience-kpis.json +1 -1
  61. package/chunks/dashboard-audience-panel.json +1 -1
  62. package/chunks/dashboard-behavior-panel.json +1 -1
  63. package/chunks/dashboard-chart-recent.json +1 -1
  64. package/chunks/dashboard-cohort-retention.json +1 -1
  65. package/chunks/dashboard-conversion-panel.json +1 -1
  66. package/chunks/dashboard-country-list.json +1 -1
  67. package/chunks/dashboard-filter-bar.json +1 -1
  68. package/chunks/dashboard-funnel.json +1 -1
  69. package/chunks/dashboard-kpi-grid.json +1 -1
  70. package/chunks/dashboard-notifications-feed.json +1 -1
  71. package/chunks/dashboard-notifications-panel.json +1 -1
  72. package/chunks/dashboard-overview-panel.json +1 -1
  73. package/chunks/dashboard-page-header.json +1 -1
  74. package/chunks/dashboard-pages-table.json +1 -1
  75. package/chunks/dashboard-quick-actions.json +1 -1
  76. package/chunks/dashboard-reports-panel.json +1 -1
  77. package/chunks/dashboard-reports-table.json +1 -1
  78. package/chunks/dashboard-spark-cards.json +1 -1
  79. package/chunks/dashboard-storage-card.json +1 -1
  80. package/chunks/dashboard-tabs.json +1 -1
  81. package/chunks/dashboard-team-actions-storage.json +1 -1
  82. package/chunks/dashboard-team-list.json +1 -1
  83. package/chunks/dashboard-traffic-channels.json +1 -1
  84. package/chunks/dashboard-transactions-table.json +1 -1
  85. package/chunks/destructive-confirm-modal.json +1 -1
  86. package/chunks/drawer-2fa-key.json +1 -1
  87. package/chunks/drawer-2fa-sms.json +1 -1
  88. package/chunks/drawer-2fa-totp.json +1 -1
  89. package/chunks/drawer-cancel-sub.json +1 -1
  90. package/chunks/drawer-change-plan.json +1 -1
  91. package/chunks/drawer-custom-roles.json +1 -1
  92. package/chunks/drawer-data-start.json +1 -1
  93. package/chunks/drawer-delete-account.json +1 -1
  94. package/chunks/drawer-delete-workspace.json +1 -1
  95. package/chunks/drawer-discord.json +1 -1
  96. package/chunks/drawer-figma.json +1 -1
  97. package/chunks/drawer-first-dashboard.json +1 -1
  98. package/chunks/drawer-gcal.json +1 -1
  99. package/chunks/drawer-github.json +1 -1
  100. package/chunks/drawer-invite.json +1 -1
  101. package/chunks/drawer-payment-method.json +1 -1
  102. package/chunks/drawer-report.json +1 -1
  103. package/chunks/drawer-revoke-session.json +1 -1
  104. package/chunks/drawer-role.json +1 -1
  105. package/chunks/drawer-slack.json +1 -1
  106. package/chunks/drawer-smtp.json +1 -1
  107. package/chunks/drawer-source.json +1 -1
  108. package/chunks/drawer-transaction.json +1 -1
  109. package/chunks/editor-code-pane.json +1 -1
  110. package/chunks/editor-page-shell.json +1 -1
  111. package/chunks/editor-preview-pane.json +1 -1
  112. package/chunks/error-404-actions.json +1 -1
  113. package/chunks/error-404.json +1 -1
  114. package/chunks/error-500-actions.json +1 -1
  115. package/chunks/error-500.json +1 -1
  116. package/chunks/error-maintenance-actions.json +1 -1
  117. package/chunks/error-maintenance.json +1 -1
  118. package/chunks/error-page-shell.json +1 -1
  119. package/chunks/form-page-shell.json +4 -4
  120. package/chunks/kanban-board-3col.json +1 -1
  121. package/chunks/marketing-hero-cta.json +1 -1
  122. package/chunks/marketing-page-shell.json +1 -1
  123. package/chunks/member-edit-drawer.json +1 -1
  124. package/chunks/onb-completion.json +1 -1
  125. package/chunks/onb-extension-install.json +1 -1
  126. package/chunks/onb-hero-welcome.json +1 -1
  127. package/chunks/onb-import-picker.json +1 -1
  128. package/chunks/onb-mobile-handoff.json +1 -1
  129. package/chunks/onb-notification-prefs.json +1 -1
  130. package/chunks/onb-persona-picker.json +1 -1
  131. package/chunks/onb-provider-tiles.json +1 -1
  132. package/chunks/onb-settings-review.json +1 -1
  133. package/chunks/onb-step-footer.json +1 -1
  134. package/chunks/onb-step-header.json +1 -1
  135. package/chunks/onb-step-progress.json +1 -1
  136. package/chunks/onb-step-shell.json +1 -1
  137. package/chunks/onb-story-pane.json +1 -1
  138. package/chunks/onb-tutorial-steps.json +1 -1
  139. package/chunks/playground-a2ui.json +1 -1
  140. package/chunks/playground-app-shell.json +1 -1
  141. package/chunks/playground-chat.json +1 -1
  142. package/chunks/playground-construct-canvas.json +1 -1
  143. package/chunks/playground-gen-ui.json +1 -1
  144. package/chunks/playground-render-preview.json +1 -1
  145. package/chunks/playground-streams-bridge.json +2 -2
  146. package/chunks/playground-table-toolbar.json +1 -1
  147. package/chunks/reg-address-form.json +1 -1
  148. package/chunks/reg-billing-card.json +1 -1
  149. package/chunks/reg-brand-scrape.json +1 -1
  150. package/chunks/reg-departments-toggle.json +1 -1
  151. package/chunks/reg-extended-profile.json +1 -1
  152. package/chunks/reg-final-done.json +1 -1
  153. package/chunks/reg-helpdesk-grid.json +1 -1
  154. package/chunks/reg-import-picker.json +1 -1
  155. package/chunks/reg-integrations-grid.json +1 -1
  156. package/chunks/reg-invite-form.json +1 -1
  157. package/chunks/reg-legal-entity.json +1 -1
  158. package/chunks/reg-org-chart-review.json +1 -1
  159. package/chunks/reg-profile-identity.json +1 -1
  160. package/chunks/reg-step-footer.json +1 -1
  161. package/chunks/reg-step-header.json +1 -1
  162. package/chunks/reg-step-progress.json +1 -1
  163. package/chunks/reg-step-shell.json +1 -1
  164. package/chunks/reg-story-pane.json +1 -1
  165. package/chunks/reg-success-summary.json +1 -1
  166. package/chunks/reg-team-size.json +1 -1
  167. package/chunks/reg-usecase-picker.json +1 -1
  168. package/chunks/reg-workspace-name.json +1 -1
  169. package/chunks/settings-billing-plan.json +1 -1
  170. package/chunks/settings-general-form.json +1 -1
  171. package/chunks/settings-integrations.json +1 -1
  172. package/chunks/settings-members-invite.json +1 -1
  173. package/chunks/settings-notifications.json +1 -1
  174. package/chunks/settings-page-shell.json +1 -1
  175. package/chunks/settings-profile-security.json +1 -1
  176. package/chunks/user-profile-card.json +1 -1
  177. package/chunks/users-table-badge.json +1 -1
  178. package/compositions/{form → forms}/data-import-wizard.json +1 -1
  179. package/exemplars/README.md +49 -0
  180. package/fragments/layout/auth-card-header.json +64 -0
  181. package/package.json +2 -2
  182. package/scripts/chunk-library.js +14 -6
package/CHANGELOG.md CHANGED
@@ -7,10 +7,82 @@ compositions, exemplars, held-out eval fixtures, feedback registry,
7
7
  gap registry. Consumed by `@adia-ai/a2ui-retrieval` and
8
8
  `@adia-ai/a2ui-mcp`.
9
9
 
10
+ > **Historical note (2026-05-05):** Entries dated before v0.3.0 reference
11
+ > "all 8 published `@adia-ai/*` packages" — that was the package count at
12
+ > the time. The lockstep policy expanded to 9 packages at v0.3.0 when
13
+ > `@adia-ai/llm` joined; see the [0.3.0] entry below for the transition
14
+ > details. References to "8 packages" in older entries are factually
15
+ > correct as of the date they were written and are preserved per
16
+ > Keep-A-Changelog convention (don't rewrite history).
17
+
10
18
  ## [Unreleased]
11
19
 
12
20
  _No pending changes._
13
21
 
22
+ ## [0.3.3] - 2026-05-07
23
+
24
+ **Lockstep cut.** All 9 published `@adia-ai/*` packages now share version `0.3.3`, governed by [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy). Internal `@adia-ai/*` ranges stay at `^0.3.0` (patch-cut asymmetry — caret floats `0.3.x`).
25
+
26
+ ### Added
27
+
28
+ - **`fragments/layout/auth-card-header.json`** — first fragment
29
+ promoted from chunk corpus. Was 23 instances across user-flow auth
30
+ pages (sign-in, sign-up, recovery, account-deleted, email-verify,
31
+ forbidden) + error pages (404, 500, maintenance), all sharing the
32
+ same shape: `Header > Column[align=center,gap=1] >
33
+ [Link>Image, Text(h1), Text]`. 4 slots
34
+ (logo-href, logo-src, title, description). Promotion provides 23×
35
+ leverage over chunk-by-chunk emission. Zettel retrieval test:
36
+ score 88 vs 48 next alternative. (closes backlog #65)
37
+
38
+ - **`A2UI_DISABLE_EMBEDDINGS` env-var override** in
39
+ `scripts/chunk-library.js`. When set, `searchChunksAsync()` falls
40
+ through to keyword-only search instead of attempting embeddings.
41
+ Used by the new top-level `npm run eval:keyword-only` script.
42
+ Latency drops from 100-400ms to 0-1ms with same scores; proves
43
+ keyword path is independently healthy. (closes backlog #11)
44
+
45
+ - **Glossary section** in README.md — chunk vs pattern vs fragment
46
+ vs composition. Four overlapping concepts circulate through this
47
+ package; the glossary disambiguates. (closes backlog #94)
48
+
49
+ - **Catalog manifest documentation** — README updated to clarify
50
+ that `retrieval/catalog.js` is **hand-written** (a CatalogManifest
51
+ module that dynamically reads per-component `<c>.a2ui.json`
52
+ sidecars at runtime), NOT a generated artifact. The actual
53
+ generated artifacts are `traits/_catalog.json` and per-component
54
+ `<name>.a2ui.json` sidecars. (companion to AGENTS.md hard-rule #7
55
+ correction; closes backlog #57)
56
+
57
+ ## [0.3.2] - 2026-05-06
58
+
59
+ **9-package lockstep patch cut to v0.3.2.** All lockstep members share
60
+ one version per [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy).
61
+ Internal `@adia-ai/*` dep ranges unchanged at `^0.3.0`.
62
+
63
+ ### Added
64
+
65
+ - **Corpus re-harvest** — 173 unique chunks (from 160), 322 instances.
66
+ 13 new block patterns (`command-palette-grouped`, `agent-activity-feed`,
67
+ `agent-reasoning-collapsed`, `user-profile-card`, `kanban-board-3col`,
68
+ `chat-streaming-surface`, `settings-notifications`, `marketing-hero-cta`,
69
+ `conversion-funnel-6step`, `users-table-badge`, `destructive-confirm-modal`,
70
+ `editor-code-pane`, `editor-preview-pane`) + 5 new page shells
71
+ (`settings-page-shell`, `form-page-shell`, `marketing-page-shell`,
72
+ `error-page-shell`, `editor-page-shell`).
73
+ - **Harvester source expansion** — `apps/` added alongside `site/pages/`;
74
+ `apps/generic-shells/app/` contributes the 5 generic page shells.
75
+
76
+ ### Fixed
77
+
78
+ - **`data-chunk-slot` preservation** — `stripChunkAttrs()` regex narrowed
79
+ to only strip `data-chunk` + `data-chunk-kind`; no longer strips
80
+ `data-chunk-slot` (composer runtime dependency for slot-finding).
81
+
82
+ ### Changed
83
+
84
+ - `version`: `0.3.1` → `0.3.2`.
85
+
14
86
  ## [0.3.1] - 2026-05-06
15
87
 
16
88
  **9-package lockstep patch cut.** All 9 published `@adia-ai/*` packages bump 0.3.0 → 0.3.1 per [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy). Internal `@adia-ai/*` dep ranges remain at `^0.3.0` (covers `0.3.1` under semver — patch-cut asymmetry).
package/README.md CHANGED
@@ -22,6 +22,30 @@ web-components ◀─reads── a2ui-corpus (exemplars use AdiaUI tags)
22
22
  No back-writes. No circular reads. Web-components ships UI atoms only;
23
23
  corpus lives here; runtime lives in a2ui-compose.
24
24
 
25
+ ## Glossary
26
+
27
+ Four overlapping concepts circulate through this package. Knowing which
28
+ is which prevents reading bugs from creeping into authoring.
29
+
30
+ | Term | Source of truth | Granularity | What it carries | Engine that consumes it |
31
+ | --- | --- | --- | --- | --- |
32
+ | **chunk** | `chunks/<id>.json` (one file per chunk) + `_index.json` | Smallest — a single labeled HTML region, harvested via `data-chunk` markers | `html`, `intent`, `domain`, `kind` (`block` / `data-chunk` / `field`), `keywords` | `chunk-zettel` (retrieve → synthesize) |
33
+ | **pattern** | `patterns/<domain>/<name>.json` | Full-canvas A2UI template (≈whole-page) | A2UI message tree, retrieval keywords, exemplar provenance | `monolithic-instant` / `monolithic-pro` (retrieve → emit verbatim) |
34
+ | **fragment** | `fragments/<domain>/<name>.json` | Atomic shape — re-usable across compositions | A2UI sub-tree, slot bindings, `metrics.leverage` | `zettel` (retrieve → compose into compositions) |
35
+ | **composition** | `compositions/<domain>/<name>.json` | Pre-assembled set of fragments | Ordered fragment refs, slot wiring, keywords + tags, `links.used_by` | `zettel` (retrieve → emit verbatim or refine) |
36
+
37
+ **One-line distinctions:**
38
+
39
+ - **Chunk vs fragment** — chunks are *harvested*, fragments are *authored*. A chunk is whatever HTML region a `data-chunk` marker pointed at; a fragment is a deliberately-shaped A2UI sub-tree with named slots and leverage metrics.
40
+ - **Fragment vs composition** — a fragment is *one shape*; a composition is *several fragments arranged together* into a coherent surface (e.g. `pricing-tiers` composition = header fragment + 3× tier-card fragments + footer fragment).
41
+ - **Composition vs pattern** — both are full-surface, but compositions are *fragment-graph* native (zettel reuses the fragment library) while patterns are *flat A2UI templates* (monolithic emits them whole).
42
+
43
+ **When in doubt, follow the engine:**
44
+
45
+ - Looking at `monolithic-*` retrieval? You want a **pattern**.
46
+ - Looking at `zettel` retrieval? You want a **composition** (or a fragment, if synthesis is composing one).
47
+ - Looking at `chunk-zettel`? You want a **chunk**.
48
+
25
49
  ## Layout
26
50
 
27
51
  ```
@@ -107,6 +131,46 @@ Consumers who want embedding-based retrieval either:
107
131
  fall through to keyword scoring when the index file is absent
108
132
  (`chunk-embedding-retriever.js` returns `null` gracefully).
109
133
 
134
+ ### Embedding model pinning
135
+
136
+ The `provider` and `model` recorded in each `*-embeddings.json` header
137
+ are the **source of truth** at query time. The retrievers
138
+ (`chunk-embedding-retriever.js`, `embedding-retriever.js`) re-resolve
139
+ the same embedder from those header fields — they do **not** auto-pick
140
+ a different provider when the recorded one's API key is unset, because
141
+ cross-model cosine similarity is meaningless and same-provider/
142
+ different-model emits different-dim vectors that `cosine()`
143
+ short-circuits to 0 (silent retrieval failure).
144
+
145
+ Currently pinned defaults:
146
+
147
+ | Provider | Model | Dims | Env |
148
+ |---|---|---:|---|
149
+ | openai | `text-embedding-3-small` | 1536 | `OPENAI_API_KEY` |
150
+ | voyage | `voyage-3-lite` | 1024 | `VOYAGE_API_KEY` |
151
+
152
+ `detectProvider()` (in `packages/a2ui/retrieval/embedding/embedding-provider.js`)
153
+ prefers Voyage when both keys are present (denser vectors, lower cost).
154
+ The `build:embeddings*` scripts record the chosen provider/model into the
155
+ `.json` header, so subsequent reads always re-bind to the same model.
156
+
157
+ When upgrading to a new model (e.g. `text-embedding-3-small` →
158
+ `text-embedding-3-large`):
159
+
160
+ 1. Update the default in `embedding-provider.js`.
161
+ 2. Rebuild **both** indexes (`npm run build:embeddings:all`).
162
+ 3. Verify with `npm run check:embeddings-fresh` that both index headers
163
+ record the new model.
164
+ 4. Re-run `npm run eval:diff -- --engine zettel` to confirm the new
165
+ model doesn't regress retrieval quality (different models score
166
+ queries differently — thresholds in `chunk-synthesizer.js` may
167
+ need a re-look, though the absolute keyword score floor remains
168
+ independent).
169
+
170
+ Don't mix models. If one index records `voyage-3-lite` and the other
171
+ records `text-embedding-3-small`, the retrievers will load both fine
172
+ but the rankings will be incomparable across the two corpora.
173
+
110
174
  ## Scripts
111
175
 
112
176
  All run from repo root via npm:
@@ -11531,7 +11531,7 @@
11531
11531
  },
11532
11532
  "TableToolbar": {
11533
11533
  "title": "TableToolbar",
11534
- "description": "Header / companion bar for a sibling table-ui. Renders title + count badge, filter / sort / columns popovers, and a search input — all wired to the target table via an [for] id-ref. Modeled on chart-legend-ui's [for] binding pattern. Drop next to (or above) any table-ui to add the standard data-grid toolbar without re-implementing search, filter, sort, or column visibility. Filter rows auto-pick a primitive per column: ≤ 50 distinct values → multi- select (searchable above 12 options), id-like keys → free-text contains. The column descriptor's `filter` field overrides the auto-detect: `'select'` forces multi-select even on high-cardinality columns; `'text'` forces a contains input even on small enums.",
11534
+ "description": "Header / companion bar for a sibling table-ui. Renders title + count badge, filter / sort / columns popovers, and a search input — all wired to the target table via an [for] id-ref. Modeled on chart-legend-ui's [for] binding pattern. Drop next to (or above) any table-ui to add the standard data-grid toolbar without re-implementing search, filter, sort, or column visibility. Filter rows auto-pick a primitive per column: ≤ 50 distinct values → multi- select (searchable when 12 options), id-like keys → free-text contains. The column descriptor's `filter` field overrides the auto-detect: `'select'` forces multi-select even on high-cardinality columns; `'text'` forces a contains input even on small enums.",
11535
11535
  "type": "object",
11536
11536
  "allOf": [
11537
11537
  {
@@ -11581,7 +11581,7 @@
11581
11581
  "default": "Search..."
11582
11582
  },
11583
11583
  "text": {
11584
- "description": "Title text shown on the left. Alternative to slotted heading content.",
11584
+ "description": "Title text shown on the left.",
11585
11585
  "type": "string",
11586
11586
  "default": ""
11587
11587
  },
@@ -11646,9 +11646,6 @@
11646
11646
  "popover"
11647
11647
  ],
11648
11648
  "slots": {
11649
- "default": {
11650
- "description": "Optional title content. Used when [text] is empty."
11651
- },
11652
11649
  "actions": {
11653
11650
  "description": "Trailing action area — primary buttons (e.g. \"New row\") rendered after the search input."
11654
11651
  }
@@ -11692,30 +11689,6 @@
11692
11689
  "--table-toolbar-gap": {
11693
11690
  "description": "Gap between toolbar clusters"
11694
11691
  },
11695
- "--table-toolbar-popover-bg": {
11696
- "description": "Popover background"
11697
- },
11698
- "--table-toolbar-popover-border": {
11699
- "description": "Popover border"
11700
- },
11701
- "--table-toolbar-popover-fg": {
11702
- "description": "Popover text color"
11703
- },
11704
- "--table-toolbar-popover-gap": {
11705
- "description": "Popover content gap"
11706
- },
11707
- "--table-toolbar-popover-min": {
11708
- "description": "Popover minimum width"
11709
- },
11710
- "--table-toolbar-popover-pad": {
11711
- "description": "Popover padding"
11712
- },
11713
- "--table-toolbar-popover-radius": {
11714
- "description": "Popover radius"
11715
- },
11716
- "--table-toolbar-popover-shadow": {
11717
- "description": "Popover shadow"
11718
- },
11719
11692
  "--table-toolbar-px": {
11720
11693
  "description": "Horizontal padding"
11721
11694
  },
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "schema": "genui-chunk-index@1",
3
- "captured_at": "2026-05-06T20:26:56.937Z",
3
+ "captured_at": "2026-05-07T15:03:20.693Z",
4
4
  "total_instances": 322,
5
5
  "unique_names": 173,
6
6
  "by_kind": {
7
- "block": 307,
8
- "page": 8,
7
+ "block": 308,
8
+ "page": 7,
9
9
  "panel": 7
10
10
  },
11
11
  "chunks": [
@@ -340,7 +340,7 @@
340
340
  "nested": []
341
341
  },
342
342
  {
343
- "name": "command-palette-grouped",
343
+ "name": "command-palette",
344
344
  "kind": "block",
345
345
  "primary": "modal-ui",
346
346
  "instances": 1,
@@ -451,7 +451,7 @@
451
451
  },
452
452
  {
453
453
  "name": "dashboard-admin-page",
454
- "kind": "page",
454
+ "kind": "block",
455
455
  "primary": "article",
456
456
  "instances": 1,
457
457
  "pages": [
@@ -8,5 +8,5 @@
8
8
  "attrs": {},
9
9
  "html": "<card-ui>\n <header>\n <h3>Agent Activity</h3>\n <text-ui slot=\"description\" color=\"subtle\">Live reasoning trace</text-ui>\n </header>\n <section>\n <col-ui gap=\"3\">\n <agent-trace-ui></agent-trace-ui>\n <agent-reasoning-ui></agent-reasoning-ui>\n <agent-artifact-ui></agent-artifact-ui>\n </col-ui>\n </section>\n</card-ui>",
10
10
  "source": "apps/patterns/app/agent-activity-feed/agent-activity-feed.contents.html",
11
- "captured_at": "2026-05-06T20:26:56.937Z"
11
+ "captured_at": "2026-05-07T15:03:20.693Z"
12
12
  }
@@ -8,5 +8,5 @@
8
8
  "attrs": {},
9
9
  "html": "<card-ui>\n <header>\n <h3>Reasoning</h3>\n <text-ui slot=\"description\" color=\"subtle\">Collapsible intermediate steps</text-ui>\n </header>\n <section>\n <agent-reasoning-ui></agent-reasoning-ui>\n </section>\n</card-ui>",
10
10
  "source": "apps/patterns/app/agent-reasoning-collapsed/agent-reasoning-collapsed.contents.html",
11
- "captured_at": "2026-05-06T20:26:56.937Z"
11
+ "captured_at": "2026-05-07T15:03:20.693Z"
12
12
  }
@@ -11,5 +11,5 @@
11
11
  },
12
12
  "html": "<col-ui gap=\"2\" size=\"lg\">\n <button-ui text=\"Recover account\" icon=\"arrow-counter-clockwise\" variant=\"primary\"></button-ui>\n <button-ui text=\"Sign in with a different account\" icon=\"user-switch\"></button-ui>\n </col-ui>",
13
13
  "source": "apps/user-flow/app/auth/account-deleted/account-deleted.contents.html",
14
- "captured_at": "2026-05-06T20:26:56.937Z"
14
+ "captured_at": "2026-05-07T15:03:20.693Z"
15
15
  }
@@ -14,5 +14,5 @@
14
14
  },
15
15
  "html": "<card-ui raw style=\"max-width: 32rem\">\n <header><!-- nested: auth-card-header --></header>\n\n <section><!-- nested: auth-card-content --></section>\n </card-ui>",
16
16
  "source": "apps/user-flow/app/auth/account-deleted/account-deleted.contents.html",
17
- "captured_at": "2026-05-06T20:26:56.937Z"
17
+ "captured_at": "2026-05-07T15:03:20.693Z"
18
18
  }
@@ -243,5 +243,5 @@
243
243
  "html": "<section>\n <col-ui gap=\"6\">\n <col-ui align=\"center\">\n <otp-input-ui size=\"lg\" length=\"6\" autocomplete=\"one-time-code\"></otp-input-ui>\n </col-ui>\n\n <alert-ui variant=\"warning\" icon=\"warning\">\n <span slot=\"content\">\n Already have an account? If you're still waiting on your code,\n <a href=\"/site/examples/auth/sign-in\">try signing in instead</a>.\n </span>\n </alert-ui>\n\n <text-ui text-align=\"center\">\n <a href=\"/site/examples/auth/sign-up\">← Back</a>\n </text-ui>\n\n <text-ui text-align=\"center\" color=\"subtle\"> Already have an account? <a href=\"/site/examples/auth/sign-in\">Sign in</a> </text-ui>\n </col-ui>\n </section>"
244
244
  }
245
245
  ],
246
- "captured_at": "2026-05-06T20:26:56.937Z"
246
+ "captured_at": "2026-05-07T15:03:20.693Z"
247
247
  }
@@ -188,5 +188,5 @@
188
188
  "html": "<header>\n <col-ui align=\"center\" gap=\"1\">\n <a href=\"/\" aria-label=\"AdiaUI home\">\n <img src=\"/icons/agent-ui-light.svg\" alt=\"Adia Logo\" style=\"height: 5rem\" />\n </a>\n <h1>Verify your email</h1>\n <text-ui> We sent a 6-digit code to <strong color=\"accent\">kim+samples@acme.com</strong>. Enter it below. </text-ui>\n </col-ui>\n </header>"
189
189
  }
190
190
  ],
191
- "captured_at": "2026-05-06T20:26:56.937Z"
191
+ "captured_at": "2026-05-07T15:03:20.693Z"
192
192
  }
@@ -12,5 +12,5 @@
12
12
  },
13
13
  "html": "<form size=\"lg\" action=\"/site/examples/auth/sign-in/password\" method=\"get\">\n <col-ui gap=\"4\">\n <input-ui label=\"Email\" type=\"email\" name=\"email\" autocomplete=\"email\" placeholder=\"you@example.com\" required></input-ui>\n <button-ui text=\"Continue with Email\" variant=\"primary\" type=\"submit\"></button-ui>\n </col-ui>\n </form>",
14
14
  "source": "apps/user-flow/app/auth/sign-in/sign-in.contents.html",
15
- "captured_at": "2026-05-06T20:26:56.937Z"
15
+ "captured_at": "2026-05-07T15:03:20.693Z"
16
16
  }
@@ -12,5 +12,5 @@
12
12
  },
13
13
  "html": "<form size=\"lg\" action=\"/site/examples/profile-security\" method=\"get\">\n <col-ui gap=\"4\">\n <button-ui text=\"Confirm new email\" variant=\"primary\" type=\"submit\"></button-ui>\n </col-ui>\n </form>",
14
14
  "source": "apps/user-flow/app/auth/email-change/verify/verify.contents.html",
15
- "captured_at": "2026-05-06T20:26:56.937Z"
15
+ "captured_at": "2026-05-07T15:03:20.693Z"
16
16
  }
@@ -14,5 +14,5 @@
14
14
  },
15
15
  "html": "<card-ui raw style=\"max-width: 32rem\">\n <header><!-- nested: auth-card-header --></header>\n\n <section><!-- nested: auth-card-content --></section>\n </card-ui>",
16
16
  "source": "apps/user-flow/app/auth/email-change/verify/verify.contents.html",
17
- "captured_at": "2026-05-06T20:26:56.937Z"
17
+ "captured_at": "2026-05-07T15:03:20.693Z"
18
18
  }
@@ -11,5 +11,5 @@
11
11
  },
12
12
  "html": "<col-ui gap=\"2\" size=\"lg\">\n <button-ui text=\"Switch account\" icon=\"user-switch\" variant=\"primary\"></button-ui>\n <button-ui text=\"Request access\" icon=\"paper-plane-tilt\"></button-ui>\n <button-ui text=\"Go home\" icon=\"house\"></button-ui>\n </col-ui>",
13
13
  "source": "apps/user-flow/app/auth/forbidden/forbidden.contents.html",
14
- "captured_at": "2026-05-06T20:26:56.937Z"
14
+ "captured_at": "2026-05-07T15:03:20.693Z"
15
15
  }
@@ -14,5 +14,5 @@
14
14
  },
15
15
  "html": "<card-ui raw style=\"max-width: 32rem\">\n <header><!-- nested: auth-card-header --></header>\n\n <section><!-- nested: auth-card-content --></section>\n </card-ui>",
16
16
  "source": "apps/user-flow/app/auth/forbidden/forbidden.contents.html",
17
- "captured_at": "2026-05-06T20:26:56.937Z"
17
+ "captured_at": "2026-05-07T15:03:20.693Z"
18
18
  }
@@ -11,5 +11,5 @@
11
11
  },
12
12
  "html": "<col-ui gap=\"2\" size=\"lg\">\n <button-ui text=\"Accept invitation\" variant=\"primary\"></button-ui>\n <button-ui text=\"Decline\"></button-ui>\n </col-ui>",
13
13
  "source": "apps/user-flow/app/auth/accept-invite/accept-invite.contents.html",
14
- "captured_at": "2026-05-06T20:26:56.937Z"
14
+ "captured_at": "2026-05-07T15:03:20.693Z"
15
15
  }
@@ -8,5 +8,5 @@
8
8
  "attrs": {},
9
9
  "html": "<card-ui>\n <row-ui gap=\"3\" align=\"center\" padding=\"3\">\n <avatar-ui size=\"lg\" text=\"A\" variant=\"primary\" aria-hidden=\"true\"></avatar-ui>\n <col-ui gap=\"0\">\n <text-ui strong>Acme</text-ui>\n <text-ui color=\"subtle\">acme.adia-ui.app · 24 members</text-ui>\n </col-ui>\n </row-ui>\n </card-ui>",
10
10
  "source": "apps/user-flow/app/auth/accept-invite/accept-invite.contents.html",
11
- "captured_at": "2026-05-06T20:26:56.937Z"
11
+ "captured_at": "2026-05-07T15:03:20.693Z"
12
12
  }
@@ -12,5 +12,5 @@
12
12
  },
13
13
  "html": "<form size=\"lg\" action=\"/site/examples/auth/forgot-password/sent\" method=\"get\">\n <col-ui gap=\"4\">\n <input-ui label=\"Email\" type=\"email\" name=\"email\" autocomplete=\"email\" placeholder=\"you@example.com\" required></input-ui>\n <button-ui text=\"Send a new link\" variant=\"primary\" type=\"submit\"></button-ui>\n </col-ui>\n </form>",
14
14
  "source": "apps/user-flow/app/auth/link-expired/link-expired.contents.html",
15
- "captured_at": "2026-05-06T20:26:56.937Z"
15
+ "captured_at": "2026-05-07T15:03:20.693Z"
16
16
  }
@@ -14,5 +14,5 @@
14
14
  },
15
15
  "html": "<card-ui raw style=\"max-width: 32rem\">\n <header><!-- nested: auth-card-header --></header>\n\n <section><!-- nested: auth-card-content --></section>\n </card-ui>",
16
16
  "source": "apps/user-flow/app/auth/link-expired/link-expired.contents.html",
17
- "captured_at": "2026-05-06T20:26:56.937Z"
17
+ "captured_at": "2026-05-07T15:03:20.693Z"
18
18
  }
@@ -14,5 +14,5 @@
14
14
  },
15
15
  "html": "<card-ui raw style=\"max-width: 32rem\">\n <header><!-- nested: auth-card-header --></header>\n\n <section><!-- nested: auth-card-content --></section>\n </card-ui>",
16
16
  "source": "apps/user-flow/app/auth/account-locked/account-locked.contents.html",
17
- "captured_at": "2026-05-06T20:26:56.937Z"
17
+ "captured_at": "2026-05-07T15:03:20.693Z"
18
18
  }
@@ -10,5 +10,5 @@
10
10
  },
11
11
  "html": "<col-ui gap=\"2\">\n <button-ui text=\"Email a reset link\" icon=\"envelope-simple\" variant=\"outline\"></button-ui>\n <button-ui text=\"Use a backup code\" icon=\"key\" variant=\"outline\"></button-ui>\n <button-ui text=\"Contact support\" icon=\"lifebuoy\" variant=\"outline\"></button-ui>\n </col-ui>",
12
12
  "source": "apps/user-flow/app/auth/account-locked/account-locked.contents.html",
13
- "captured_at": "2026-05-06T20:26:56.937Z"
13
+ "captured_at": "2026-05-07T15:03:20.693Z"
14
14
  }
@@ -12,5 +12,5 @@
12
12
  },
13
13
  "html": "<form size=\"lg\" action=\"/site/examples/dashboard\" method=\"get\">\n <col-ui gap=\"4\">\n <button-ui text=\"Verify and enable\" variant=\"primary\" type=\"submit\"></button-ui>\n </col-ui>\n </form>",
14
14
  "source": "apps/user-flow/app/auth/sign-up/mfa-setup/mfa-setup.contents.html",
15
- "captured_at": "2026-05-06T20:26:56.937Z"
15
+ "captured_at": "2026-05-07T15:03:20.693Z"
16
16
  }
@@ -14,5 +14,5 @@
14
14
  },
15
15
  "html": "<card-ui raw style=\"max-width: 32rem\">\n <header><!-- nested: auth-card-header --></header>\n\n <section><!-- nested: auth-card-content --></section>\n </card-ui>",
16
16
  "source": "apps/user-flow/app/auth/sign-up/mfa-setup/mfa-setup.contents.html",
17
- "captured_at": "2026-05-06T20:26:56.937Z"
17
+ "captured_at": "2026-05-07T15:03:20.693Z"
18
18
  }
@@ -10,5 +10,5 @@
10
10
  },
11
11
  "html": "<col-ui gap=\"2\">\n <button-ui text=\"Send code via SMS\" icon=\"device-mobile\" variant=\"outline\"></button-ui>\n <button-ui text=\"Use security key\" icon=\"key\" variant=\"outline\"></button-ui>\n </col-ui>",
12
12
  "source": "apps/user-flow/app/auth/sign-in/mfa/mfa.contents.html",
13
- "captured_at": "2026-05-06T20:26:56.937Z"
13
+ "captured_at": "2026-05-07T15:03:20.693Z"
14
14
  }
@@ -10,5 +10,5 @@
10
10
  },
11
11
  "html": "<form size=\"lg\">\n <col-ui gap=\"4\">\n <input-ui\n label=\"Backup code\"\n name=\"recovery_code\"\n autocomplete=\"one-time-code\"\n placeholder=\"abcd-efgh\"\n hint=\"Codes look like abcd-efgh. Each code works once.\"\n required\n ></input-ui>\n <button-ui text=\"Verify and continue\" variant=\"primary\" type=\"submit\"></button-ui>\n </col-ui>\n </form>",
12
12
  "source": "apps/user-flow/app/auth/sign-in/mfa/recovery/recovery.contents.html",
13
- "captured_at": "2026-05-06T20:26:56.937Z"
13
+ "captured_at": "2026-05-07T15:03:20.693Z"
14
14
  }
@@ -10,5 +10,5 @@
10
10
  },
11
11
  "html": "<form size=\"lg\">\n <col-ui gap=\"4\">\n <input-ui\n label=\"New password\"\n type=\"password\"\n name=\"password\"\n autocomplete=\"new-password\"\n placeholder=\"••••••••••••\"\n minlength=\"12\"\n hint=\"At least 12 characters, with a number and a symbol.\"\n required\n ></input-ui>\n <input-ui\n label=\"Confirm password\"\n type=\"password\"\n name=\"password_confirm\"\n autocomplete=\"new-password\"\n placeholder=\"••••••••••••\"\n minlength=\"12\"\n required\n ></input-ui>\n <button-ui text=\"Save and sign in\" variant=\"primary\" type=\"submit\"></button-ui>\n </col-ui>\n </form>",
12
12
  "source": "apps/user-flow/app/auth/reset-password/reset-password.contents.html",
13
- "captured_at": "2026-05-06T20:26:56.937Z"
13
+ "captured_at": "2026-05-07T15:03:20.693Z"
14
14
  }
@@ -14,5 +14,5 @@
14
14
  },
15
15
  "html": "<card-ui raw style=\"max-width: 32rem\">\n <header><!-- nested: auth-card-header --></header>\n\n <section><!-- nested: auth-card-content --></section>\n </card-ui>",
16
16
  "source": "apps/user-flow/app/auth/reset-password/reset-password.contents.html",
17
- "captured_at": "2026-05-06T20:26:56.937Z"
17
+ "captured_at": "2026-05-07T15:03:20.693Z"
18
18
  }
@@ -11,5 +11,5 @@
11
11
  },
12
12
  "html": "<col-ui gap=\"2\" size=\"lg\">\n <button-ui text=\"Try again\" icon=\"arrows-clockwise\" variant=\"primary\"></button-ui>\n <button-ui text=\"Back to sign in\" icon=\"arrow-left\"></button-ui>\n </col-ui>",
13
13
  "source": "apps/user-flow/app/auth/oauth/callback/callback.contents.html",
14
- "captured_at": "2026-05-06T20:26:56.937Z"
14
+ "captured_at": "2026-05-07T15:03:20.693Z"
15
15
  }
@@ -13,5 +13,5 @@
13
13
  },
14
14
  "html": "<card-ui raw style=\"max-width: 32rem\">\n <header>\n <col-ui align=\"center\" gap=\"3\">\n <icon-ui\n name=\"spinner\"\n padding=\"4\"\n color=\"primary\"\n aria-hidden=\"true\"\n style=\"animation: spin 1.2s linear infinite; height: 3rem; width: 3rem\"\n ></icon-ui>\n <col-ui align=\"center\" gap=\"1\">\n <h1>Completing sign in…</h1>\n <text-ui>Securing your session with the provider.</text-ui>\n </col-ui>\n </col-ui>\n </header>\n\n <section><!-- nested: auth-card-content --></section>\n </card-ui>",
15
15
  "source": "apps/user-flow/app/auth/oauth/callback/callback.contents.html",
16
- "captured_at": "2026-05-06T20:26:56.937Z"
16
+ "captured_at": "2026-05-07T15:03:20.693Z"
17
17
  }
@@ -10,5 +10,5 @@
10
10
  },
11
11
  "html": "<form size=\"lg\">\n <col-ui gap=\"4\">\n <input-ui label=\"Password\" type=\"password\" name=\"password\" autocomplete=\"current-password\" placeholder=\"••••••••\" required></input-ui>\n\n <row-ui justify=\"space-between\" align=\"center\" size=\"sm\">\n <check-ui name=\"remember\" label=\"Remember me\"></check-ui>\n <a href=\"/site/examples/auth/forgot-password\">Forgot password?</a>\n </row-ui>\n <button-ui text=\"Sign in\" variant=\"primary\" type=\"submit\"></button-ui>\n </col-ui>\n </form>",
12
12
  "source": "apps/user-flow/app/auth/sign-in/password/password.contents.html",
13
- "captured_at": "2026-05-06T20:26:56.937Z"
13
+ "captured_at": "2026-05-07T15:03:20.693Z"
14
14
  }
@@ -12,5 +12,5 @@
12
12
  },
13
13
  "html": "<form size=\"lg\" action=\"/site/examples/auth/forgot-password/sent\" method=\"get\">\n <col-ui gap=\"4\">\n <input-ui label=\"Email\" type=\"email\" name=\"email\" autocomplete=\"email\" placeholder=\"you@example.com\" required></input-ui>\n <button-ui text=\"Send reset link\" variant=\"primary\" type=\"submit\"></button-ui>\n </col-ui>\n </form>",
14
14
  "source": "apps/user-flow/app/auth/forgot-password/forgot-password.contents.html",
15
- "captured_at": "2026-05-06T20:26:56.937Z"
15
+ "captured_at": "2026-05-07T15:03:20.693Z"
16
16
  }
@@ -14,5 +14,5 @@
14
14
  },
15
15
  "html": "<card-ui raw style=\"max-width: 32rem\">\n <header><!-- nested: auth-card-header --></header>\n\n <section><!-- nested: auth-card-content --></section>\n </card-ui>",
16
16
  "source": "apps/user-flow/app/auth/forgot-password/forgot-password.contents.html",
17
- "captured_at": "2026-05-06T20:26:56.937Z"
17
+ "captured_at": "2026-05-07T15:03:20.693Z"
18
18
  }
@@ -10,5 +10,5 @@
10
10
  },
11
11
  "html": "<form size=\"lg\">\n <col-ui gap=\"4\">\n <input-ui\n label=\"Full name\"\n name=\"name\"\n autocomplete=\"name\"\n placeholder=\"Jane Doe\"\n hint=\"Shown to teammates and on shared work.\"\n required\n ></input-ui>\n <input-ui\n label=\"Display name\"\n name=\"username\"\n autocomplete=\"username\"\n prefix=\"@\"\n placeholder=\"janedoe\"\n hint=\"Used for @mentions and signed comments.\"\n required\n ></input-ui>\n <button-ui text=\"Continue\" variant=\"primary\" type=\"submit\"></button-ui>\n </col-ui>\n </form>",
12
12
  "source": "apps/user-flow/app/auth/sign-up/profile/profile.contents.html",
13
- "captured_at": "2026-05-06T20:26:56.937Z"
13
+ "captured_at": "2026-05-07T15:03:20.693Z"
14
14
  }
@@ -14,5 +14,5 @@
14
14
  },
15
15
  "html": "<card-ui raw style=\"max-width: 32rem\">\n <header><!-- nested: auth-card-header --></header>\n\n <section><!-- nested: auth-card-content --></section>\n </card-ui>",
16
16
  "source": "apps/user-flow/app/auth/sign-up/profile/profile.contents.html",
17
- "captured_at": "2026-05-06T20:26:56.937Z"
17
+ "captured_at": "2026-05-07T15:03:20.693Z"
18
18
  }
@@ -13,5 +13,5 @@
13
13
  },
14
14
  "html": "<card-ui raw style=\"max-width: 32rem\">\n <header><!-- nested: auth-card-header --></header>\n\n <section><!-- nested: auth-card-content --></section>\n </card-ui>",
15
15
  "source": "apps/user-flow/app/auth/forgot-password/sent/sent.contents.html",
16
- "captured_at": "2026-05-06T20:26:56.937Z"
16
+ "captured_at": "2026-05-07T15:03:20.693Z"
17
17
  }
@@ -11,5 +11,5 @@
11
11
  },
12
12
  "html": "<col-ui gap=\"2\" size=\"lg\">\n <button-ui text=\"Sign back in\" variant=\"primary\"></button-ui>\n <button-ui text=\"Use a different account\" icon=\"user-switch\"></button-ui>\n </col-ui>",
13
13
  "source": "apps/user-flow/app/auth/session-expired/session-expired.contents.html",
14
- "captured_at": "2026-05-06T20:26:56.937Z"
14
+ "captured_at": "2026-05-07T15:03:20.693Z"
15
15
  }
@@ -14,5 +14,5 @@
14
14
  },
15
15
  "html": "<card-ui raw style=\"max-width: 32rem\">\n <header><!-- nested: auth-card-header --></header>\n\n <section><!-- nested: auth-card-content --></section>\n </card-ui>",
16
16
  "source": "apps/user-flow/app/auth/session-expired/session-expired.contents.html",
17
- "captured_at": "2026-05-06T20:26:56.937Z"
17
+ "captured_at": "2026-05-07T15:03:20.693Z"
18
18
  }
@@ -15,5 +15,5 @@
15
15
  },
16
16
  "html": "<card-ui raw style=\"max-width: 32rem\">\n <header><!-- nested: auth-card-header --></header>\n\n <section><!-- nested: auth-card-content --></section>\n </card-ui>",
17
17
  "source": "apps/user-flow/app/auth/sign-in/sign-in.contents.html",
18
- "captured_at": "2026-05-06T20:26:56.937Z"
18
+ "captured_at": "2026-05-07T15:03:20.693Z"
19
19
  }
@@ -10,5 +10,5 @@
10
10
  },
11
11
  "html": "<card-ui raw style=\"max-width: 32rem\">\n <header>\n <col-ui align=\"center\" gap=\"1\">\n <a href=\"/\" aria-label=\"AdiaUI home\">\n <img src=\"/icons/agent-ui-light.svg\" alt=\"Adia Logo\" style=\"height: 5rem\" />\n </a>\n <h1>Check your email</h1>\n </col-ui>\n </header>\n\n <section>\n <col-ui gap=\"6\">\n <text-ui align=\"center\">\n We sent a one-time sign-in link to\n <strong color=\"accent\">kim@acme.com</strong>. Click the link in that email to finish signing in. The link expires in 10 minutes.\n </text-ui>\n\n <alert-ui variant=\"info\" icon=\"info\">\n <span slot=\"content\">Didn't get the email? Check your spam folder, or wait <strong>30 seconds</strong> before requesting a new link.</span>\n </alert-ui>\n\n <button-ui text=\"Resend link\" icon=\"arrow-clockwise\" variant=\"outline\" disabled></button-ui>\n\n <text-ui text-align=\"center\">\n <a href=\"/site/examples/auth/sign-in\">← Use a different email</a>\n </text-ui>\n </col-ui>\n </section>\n </card-ui>",
12
12
  "source": "apps/user-flow/app/auth/sign-in/magic-link/sent/sent.contents.html",
13
- "captured_at": "2026-05-06T20:26:56.937Z"
13
+ "captured_at": "2026-05-07T15:03:20.693Z"
14
14
  }
@@ -14,5 +14,5 @@
14
14
  },
15
15
  "html": "<card-ui raw style=\"max-width: 32rem\">\n <header><!-- nested: auth-card-header --></header>\n\n <section><!-- nested: auth-card-content --></section>\n </card-ui>",
16
16
  "source": "apps/user-flow/app/auth/sign-in/mfa/mfa.contents.html",
17
- "captured_at": "2026-05-06T20:26:56.937Z"
17
+ "captured_at": "2026-05-07T15:03:20.693Z"
18
18
  }
@@ -10,5 +10,5 @@
10
10
  },
11
11
  "html": "<card-ui raw style=\"max-width: 32rem\">\n <header>\n <col-ui align=\"center\" gap=\"1\">\n <a href=\"/\" aria-label=\"AdiaUI home\">\n <img src=\"/icons/agent-ui-light.svg\" alt=\"Adia Logo\" style=\"height: 5rem\" />\n </a>\n <h1>Enter your code</h1>\n <text-ui>We sent a 6-digit code to <strong color=\"accent\">kim@acme.com</strong>. Enter it below.</text-ui>\n </col-ui>\n </header>\n\n <section>\n <col-ui gap=\"6\">\n <col-ui align=\"center\">\n <otp-input-ui size=\"lg\" length=\"6\" autocomplete=\"one-time-code\"></otp-input-ui>\n </col-ui>\n\n <text-ui text-align=\"center\" color=\"subtle\"> Didn't receive it? <a href=\"#\">Resend in 30s</a> </text-ui>\n\n <text-ui text-align=\"center\">\n <a href=\"/site/examples/auth/sign-in\">← Use a different method</a>\n </text-ui>\n\n <text-ui text-align=\"center\" color=\"subtle\"> Don't have an account? <a href=\"/site/examples/auth/sign-up\">Sign up</a> </text-ui>\n </col-ui>\n </section>\n </card-ui>",
12
12
  "source": "apps/user-flow/app/auth/sign-in/otp/verify/verify.contents.html",
13
- "captured_at": "2026-05-06T20:26:56.937Z"
13
+ "captured_at": "2026-05-07T15:03:20.693Z"
14
14
  }
@@ -14,5 +14,5 @@
14
14
  },
15
15
  "html": "<card-ui raw style=\"max-width: 32rem\">\n <header><!-- nested: auth-card-header --></header>\n\n <section><!-- nested: auth-card-content --></section>\n </card-ui>",
16
16
  "source": "apps/user-flow/app/auth/sign-in/password/password.contents.html",
17
- "captured_at": "2026-05-06T20:26:56.937Z"
17
+ "captured_at": "2026-05-07T15:03:20.693Z"
18
18
  }
@@ -14,5 +14,5 @@
14
14
  },
15
15
  "html": "<card-ui raw style=\"max-width: 32rem\">\n <header><!-- nested: auth-card-header --></header>\n\n <section><!-- nested: auth-card-content --></section>\n </card-ui>",
16
16
  "source": "apps/user-flow/app/auth/sign-in/mfa/recovery/recovery.contents.html",
17
- "captured_at": "2026-05-06T20:26:56.937Z"
17
+ "captured_at": "2026-05-07T15:03:20.693Z"
18
18
  }