@adia-ai/a2ui-corpus 0.4.0 → 0.4.2

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 (76) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/catalog-a2ui_0_9.json +446 -6
  3. package/catalog-a2ui_0_9_rules.txt +15 -0
  4. package/chunks/_index.json +26 -26
  5. package/chunks/agent-activity-feed.json +2 -2
  6. package/chunks/agent-canvas-shell.json +2 -2
  7. package/chunks/agent-reasoning-collapsed.json +2 -2
  8. package/chunks/chat-page-shell.json +2 -2
  9. package/chunks/chat-streaming-surface.json +2 -2
  10. package/chunks/command-palette.json +2 -2
  11. package/chunks/conversion-funnel-6step.json +2 -2
  12. package/chunks/destructive-confirm-modal.json +2 -2
  13. package/chunks/doc-editor-shell.json +2 -2
  14. package/chunks/editor-code-pane.json +2 -2
  15. package/chunks/editor-page-shell.json +2 -2
  16. package/chunks/editor-preview-pane.json +2 -2
  17. package/chunks/error-page-shell.json +2 -2
  18. package/chunks/form-page-shell.json +2 -2
  19. package/chunks/gallery-page-shell.json +2 -2
  20. package/chunks/kanban-board-3col.json +2 -2
  21. package/chunks/kanban-page-shell.json +2 -2
  22. package/chunks/marketing-hero-cta.json +2 -2
  23. package/chunks/marketing-page-shell.json +2 -2
  24. package/chunks/playground-app-shell.json +4 -4
  25. package/chunks/playground-chat.json +2 -2
  26. package/chunks/playground-table-toolbar.json +2 -2
  27. package/chunks/settings-notifications.json +2 -2
  28. package/chunks/settings-page-shell.json +2 -2
  29. package/chunks/user-profile-card.json +2 -2
  30. package/chunks/users-table-badge.json +2 -2
  31. package/fragments/action/footer-cancel-save.json +1 -1
  32. package/fragments/action/footer-cancel-save.yaml +1 -1
  33. package/fragments/action/footer-primary-only.json +1 -1
  34. package/fragments/action/footer-primary-only.yaml +1 -1
  35. package/fragments/content/calendar-day-cell.json +1 -1
  36. package/fragments/content/credential-entry-atom.json +1 -3
  37. package/fragments/content/directory-entry-atom.json +1 -3
  38. package/fragments/content/health-entry-atom.json +1 -3
  39. package/fragments/content/icon-text-row.json +1 -1
  40. package/fragments/content/icon-text-row.yaml +1 -1
  41. package/fragments/content/icon-title-description.json +1 -1
  42. package/fragments/content/icon-title-description.yaml +1 -1
  43. package/fragments/content/incident-row.json +1 -3
  44. package/fragments/content/key-value-row.json +1 -1
  45. package/fragments/content/key-value-row.yaml +1 -1
  46. package/fragments/content/labeled-progress.json +1 -1
  47. package/fragments/content/labeled-progress.yaml +1 -1
  48. package/fragments/content/marketplace-tile-atom.json +1 -3
  49. package/fragments/content/release-entry.json +1 -5
  50. package/fragments/content/rollout-entry-atom.json +1 -3
  51. package/fragments/content/signed-in-entry-atom.json +1 -3
  52. package/fragments/content/stage-entry-atom.json +1 -3
  53. package/fragments/content/stat-card.json +1 -1
  54. package/fragments/content/stat-card.yaml +1 -1
  55. package/fragments/content/user-identity-row.json +1 -1
  56. package/fragments/content/user-identity-row.yaml +1 -1
  57. package/fragments/content/user-notification-row.json +1 -1
  58. package/fragments/content/user-notification-row.yaml +1 -1
  59. package/fragments/form/labeled-checkbox.json +1 -1
  60. package/fragments/form/labeled-checkbox.yaml +1 -1
  61. package/fragments/form/labeled-input.json +1 -1
  62. package/fragments/form/labeled-input.yaml +1 -1
  63. package/fragments/form/labeled-textarea.json +1 -1
  64. package/fragments/form/labeled-textarea.yaml +1 -1
  65. package/fragments/form/labeled-toggle.json +1 -1
  66. package/fragments/form/labeled-toggle.yaml +1 -1
  67. package/fragments/layout/card-header-heading.json +1 -5
  68. package/fragments/layout/card-header-heading.yaml +1 -1
  69. package/fragments/layout/card-header-with-badge.json +1 -1
  70. package/fragments/layout/card-header-with-badge.yaml +1 -1
  71. package/fragments/layout/card-header-with-description.json +1 -1
  72. package/fragments/layout/card-header-with-description.yaml +1 -1
  73. package/fragments/layout/text-card.json +1 -1
  74. package/fragments/layout/text-card.yaml +1 -1
  75. package/package.json +1 -1
  76. package/fragments/layout/auth-card-header.json +0 -64
@@ -2,13 +2,13 @@
2
2
  "name": "playground-app-shell",
3
3
  "kind": "block",
4
4
  "primary": "admin-shell",
5
- "page": "/apps/app-shell/app/app-shell.contents.html",
5
+ "page": "/playgrounds/admin-shell/app/admin-shell.contents.html",
6
6
  "slots": [],
7
7
  "nested": [],
8
8
  "attrs": {
9
9
  "mode": "rounded borderless"
10
10
  },
11
- "html": "<admin-shell mode=\"rounded borderless\">\n <!-- ═══════════════ LEFT SIDEBAR ═══════════════ -->\n <aside-ui slot=\"leading\">\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 </aside-ui>\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 <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=\"palette\" variant=\"ghost\" size=\"sm\" slot=\"trigger\"></button-ui>\n <div\n slot=\"content\"\n id=\"theme-panel\"\n style=\"padding: var(--a-space-3); display: flex; flex-direction: column; gap: var(--a-space-3); min-width: 260px\"\n >\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 <divider-ui></divider-ui>\n <div style=\"display: flex; gap: var(--a-space-2); flex-wrap: wrap\">\n <button-ui id=\"preset-compact\" text=\"Compact\" variant=\"outline\" size=\"sm\"></button-ui>\n <button-ui id=\"preset-default\" text=\"Reset\" variant=\"outline\" size=\"sm\"></button-ui>\n <button-ui id=\"preset-spacious\" text=\"Spacious\" variant=\"outline\" size=\"sm\"></button-ui>\n </div>\n </div>\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 <dialog id=\"cmd-dialog\" data-command>\n <command-ui id=\"cmd\" placeholder=\"Search pages...\"></command-ui>\n </dialog>\n </admin-shell>",
12
- "source": "apps/app-shell/app/app-shell.contents.html",
13
- "captured_at": "2026-05-10T17:53:43.459Z"
11
+ "html": "<admin-shell mode=\"rounded borderless\">\n <!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 LEFT SIDEBAR \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n <aside-ui slot=\"leading\">\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\">\u2318K</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 </aside-ui>\n\n <!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 MAIN \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\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 \u2014 resize the sidebar, collapse it, toggle theme, or press \u2318K 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 <!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 COMMAND PALETTE \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n <dialog id=\"cmd-dialog\" data-command>\n <command-ui id=\"cmd\" placeholder=\"Search pages...\"></command-ui>\n </dialog>\n </admin-shell>",
12
+ "source": "playgrounds/admin-shell/app/admin-shell.contents.html",
13
+ "captured_at": "2026-05-11T17:52:49.288Z"
14
14
  }
@@ -2,7 +2,7 @@
2
2
  "name": "playground-chat",
3
3
  "kind": "block",
4
4
  "primary": "chat-shell",
5
- "page": "/apps/chat/app/chat.contents.html",
5
+ "page": "/playgrounds/chat/app/chat.contents.html",
6
6
  "slots": [],
7
7
  "nested": [],
8
8
  "attrs": {
@@ -10,6 +10,6 @@
10
10
  "model": "claude-haiku-4-5-20251001"
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 <header>\n <span data-chat-name>Factory Chat</span>\n <span data-chat-status></span>\n <span style=\"margin-inline-start: auto; 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 </header>\n <section data-chat-messages>\n <empty-state-ui\n data-chat-empty\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 >\n </empty-state-ui>\n </section>\n <footer>\n <chat-input-ui data-chat-input placeholder=\"Message Claude...\"></chat-input-ui>\n </footer>\n</chat-shell>",
13
- "source": "apps/chat/app/chat.contents.html",
13
+ "source": "playgrounds/chat/app/chat.contents.html",
14
14
  "captured_at": "2026-05-10T17:53:43.459Z"
15
15
  }
@@ -2,7 +2,7 @@
2
2
  "name": "playground-table-toolbar",
3
3
  "kind": "block",
4
4
  "primary": "table-toolbar-ui",
5
- "page": "/apps/table-toolbar/app/table-toolbar.contents.html",
5
+ "page": "/playgrounds/table-toolbar/app/table-toolbar.contents.html",
6
6
  "slots": [],
7
7
  "nested": [],
8
8
  "attrs": {
@@ -11,6 +11,6 @@
11
11
  "count": "32"
12
12
  },
13
13
  "html": "<table-toolbar-ui for=\"employees\" text=\"All Employees\" count=\"32\"></table-toolbar-ui>",
14
- "source": "apps/table-toolbar/app/table-toolbar.contents.html",
14
+ "source": "playgrounds/table-toolbar/app/table-toolbar.contents.html",
15
15
  "captured_at": "2026-05-10T17:53:43.459Z"
16
16
  }
@@ -2,11 +2,11 @@
2
2
  "name": "settings-notifications",
3
3
  "kind": "block",
4
4
  "primary": "card-ui",
5
- "page": "/apps/patterns/app/settings-notifications/settings-notifications.contents.html",
5
+ "page": "/catalog/ui-patterns/app/settings-notifications/settings-notifications.contents.html",
6
6
  "slots": [],
7
7
  "nested": [],
8
8
  "attrs": {},
9
9
  "html": "<card-ui>\n <header>\n <h3>Notifications</h3>\n <text-ui slot=\"description\" color=\"subtle\">Choose what you want to be notified about</text-ui>\n </header>\n <section>\n <col-ui gap=\"4\">\n <section>\n <text-ui weight=\"semibold\">Email</text-ui>\n <col-ui gap=\"2\">\n <row-ui gap=\"2\" align=\"center\" justify=\"space-between\">\n <text-ui>Weekly digest</text-ui>\n <switch-ui checked></switch-ui>\n </row-ui>\n <row-ui gap=\"2\" align=\"center\" justify=\"space-between\">\n <text-ui>New mentions</text-ui>\n <switch-ui checked></switch-ui>\n </row-ui>\n <row-ui gap=\"2\" align=\"center\" justify=\"space-between\">\n <text-ui>Product updates</text-ui>\n <switch-ui></switch-ui>\n </row-ui>\n </col-ui>\n </section>\n <divider-ui></divider-ui>\n <section>\n <text-ui weight=\"semibold\">Push</text-ui>\n <col-ui gap=\"2\">\n <row-ui gap=\"2\" align=\"center\" justify=\"space-between\">\n <text-ui>Direct messages</text-ui>\n <switch-ui checked></switch-ui>\n </row-ui>\n <row-ui gap=\"2\" align=\"center\" justify=\"space-between\">\n <text-ui>Team alerts</text-ui>\n <switch-ui></switch-ui>\n </row-ui>\n </col-ui>\n </section>\n </col-ui>\n </section>\n</card-ui>",
10
- "source": "apps/patterns/app/settings-notifications/settings-notifications.contents.html",
10
+ "source": "catalog/ui-patterns/app/settings-notifications/settings-notifications.contents.html",
11
11
  "captured_at": "2026-05-10T17:53:43.459Z"
12
12
  }
@@ -2,7 +2,7 @@
2
2
  "name": "settings-page-shell",
3
3
  "kind": "page",
4
4
  "primary": "article",
5
- "page": "/apps/generic-shells/app/settings-page/settings-page.contents.html",
5
+ "page": "/catalog/page-shells/app/settings-page/settings-page.contents.html",
6
6
  "slots": [
7
7
  {
8
8
  "name": "page-header",
@@ -23,6 +23,6 @@
23
23
  "nested": [],
24
24
  "attrs": {},
25
25
  "html": "<article>\n <header data-chunk-slot=\"page-header\">\n <h1>Settings</h1>\n <text-ui color=\"subtle\">Manage your account preferences</text-ui>\n </header>\n\n <tabs-ui value=\"general\" data-chunk-slot=\"page-tabs\">\n <tab-ui value=\"general\" text=\"General\"></tab-ui>\n <tab-ui value=\"integrations\" text=\"Integrations\"></tab-ui>\n <tab-ui value=\"billing\" text=\"Billing\"></tab-ui>\n </tabs-ui>\n\n <section data-chunk-slot=\"page-content\">\n <card-ui>\n <header><h3>General settings</h3></header>\n <section>\n <field-ui label=\"Display name\">\n <input-ui value=\"Jane Doe\"></input-ui>\n </field-ui>\n <field-ui label=\"Email\" hint=\"Used for notifications\">\n <input-ui type=\"email\" value=\"jane@example.com\"></input-ui>\n </field-ui>\n </section>\n </card-ui>\n </section>\n</article>",
26
- "source": "apps/generic-shells/app/settings-page/settings-page.contents.html",
26
+ "source": "catalog/page-shells/app/settings-page/settings-page.contents.html",
27
27
  "captured_at": "2026-05-10T17:53:43.459Z"
28
28
  }
@@ -2,11 +2,11 @@
2
2
  "name": "user-profile-card",
3
3
  "kind": "block",
4
4
  "primary": "card-ui",
5
- "page": "/apps/patterns/app/user-profile-card/user-profile-card.contents.html",
5
+ "page": "/catalog/ui-patterns/app/user-profile-card/user-profile-card.contents.html",
6
6
  "slots": [],
7
7
  "nested": [],
8
8
  "attrs": {},
9
9
  "html": "<card-ui>\n <header>\n <row-ui gap=\"3\" align=\"center\">\n <avatar-ui text=\"Jane Doe\" size=\"lg\"></avatar-ui>\n <col-ui gap=\"0\">\n <text-ui weight=\"semibold\" size=\"lg\">Jane Doe</text-ui>\n <text-ui color=\"subtle\">Product Designer</text-ui>\n </col-ui>\n </row-ui>\n </header>\n <section>\n <col-ui gap=\"3\">\n <field-ui label=\"Email\" inline>\n <input-ui type=\"email\" value=\"jane@example.com\"></input-ui>\n </field-ui>\n <field-ui label=\"Role\" inline>\n <select-ui value=\"designer\">\n <option value=\"designer\">Designer</option>\n <option value=\"engineer\">Engineer</option>\n <option value=\"manager\">Manager</option>\n </select-ui>\n </field-ui>\n <field-ui label=\"Bio\" inline>\n <textarea-ui rows=\"2\">Building design systems at AdiaUI</textarea-ui>\n </field-ui>\n </col-ui>\n </section>\n <footer>\n <row-ui gap=\"2\" justify=\"end\">\n <button-ui text=\"Cancel\" variant=\"ghost\" size=\"sm\"></button-ui>\n <button-ui text=\"Save\" variant=\"primary\" size=\"sm\"></button-ui>\n </row-ui>\n </footer>\n</card-ui>",
10
- "source": "apps/patterns/app/user-profile-card/user-profile-card.contents.html",
10
+ "source": "catalog/ui-patterns/app/user-profile-card/user-profile-card.contents.html",
11
11
  "captured_at": "2026-05-10T17:53:43.459Z"
12
12
  }
@@ -2,11 +2,11 @@
2
2
  "name": "users-table-badge",
3
3
  "kind": "block",
4
4
  "primary": "card-ui",
5
- "page": "/apps/patterns/app/users-table-badge/users-table-badge.contents.html",
5
+ "page": "/catalog/ui-patterns/app/users-table-badge/users-table-badge.contents.html",
6
6
  "slots": [],
7
7
  "nested": [],
8
8
  "attrs": {},
9
9
  "html": "<card-ui>\n <header>\n <h3>Users</h3>\n <text-ui slot=\"description\" color=\"subtle\">Team members and their roles</text-ui>\n </header>\n <section bleed>\n <table-ui>\n <thead>\n <tr>\n <th>User</th>\n <th>Role</th>\n <th>Status</th>\n <th>Last active</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td><row-ui gap=\"2\" align=\"center\"><avatar-ui text=\"Alex Chen\" size=\"sm\"></avatar-ui><text-ui>Alex Chen</text-ui></row-ui></td>\n <td><badge-ui text=\"Admin\" variant=\"accent\" size=\"sm\"></badge-ui></td>\n <td><badge-ui text=\"Online\" variant=\"success\" size=\"sm\"></badge-ui></td>\n <td><text-ui color=\"subtle\" size=\"sm\">2m ago</text-ui></td>\n </tr>\n <tr>\n <td><row-ui gap=\"2\" align=\"center\"><avatar-ui text=\"Sarah Miller\" size=\"sm\"></avatar-ui><text-ui>Sarah Miller</text-ui></row-ui></td>\n <td><badge-ui text=\"Editor\" variant=\"info\" size=\"sm\"></badge-ui></td>\n <td><badge-ui text=\"Away\" variant=\"warning\" size=\"sm\"></badge-ui></td>\n <td><text-ui color=\"subtle\" size=\"sm\">1h ago</text-ui></td>\n </tr>\n <tr>\n <td><row-ui gap=\"2\" align=\"center\"><avatar-ui text=\"James Park\" size=\"sm\"></avatar-ui><text-ui>James Park</text-ui></row-ui></td>\n <td><badge-ui text=\"Viewer\" variant=\"muted\" size=\"sm\"></badge-ui></td>\n <td><badge-ui text=\"Offline\" variant=\"muted\" size=\"sm\"></badge-ui></td>\n <td><text-ui color=\"subtle\" size=\"sm\">3h ago</text-ui></td>\n </tr>\n </tbody>\n </table-ui>\n </section>\n</card-ui>",
10
- "source": "apps/patterns/app/users-table-badge/users-table-badge.contents.html",
10
+ "source": "catalog/ui-patterns/app/users-table-badge/users-table-badge.contents.html",
11
11
  "captured_at": "2026-05-10T17:53:43.459Z"
12
12
  }
@@ -27,5 +27,5 @@
27
27
  "used_by": [],
28
28
  "related": ["footer-primary-only"]
29
29
  },
30
- "metrics": { "leverage": 16.0, "pattern_count": 4, "instance_count": 4 }
30
+ "metrics": { "leverage": 18, "pattern_count": 0, "instance_count": 18 }
31
31
  }
@@ -24,7 +24,7 @@ slots:
24
24
  required: true
25
25
  target: f-btn-save.text
26
26
  description: "TODO: describe 'confirmLabel' slot"
27
- leverage: 0
27
+ leverage: 18
28
28
  used_by: []
29
29
  use-cases:
30
30
  - "TODO: describe when to reach for this fragment"
@@ -19,5 +19,5 @@
19
19
  "uses_components": ["Footer", "Button"],
20
20
  "related": ["footer-cancel-save"]
21
21
  },
22
- "metrics": { "leverage": 8.0, "pattern_count": 4, "instance_count": 4 }
22
+ "metrics": { "leverage": 8, "pattern_count": 0, "instance_count": 8 }
23
23
  }
@@ -17,7 +17,7 @@ slots:
17
17
  required: true
18
18
  target: fp-btn.text
19
19
  description: "TODO: describe 'label' slot"
20
- leverage: 0
20
+ leverage: 8
21
21
  used_by: []
22
22
  use-cases:
23
23
  - "TODO: describe when to reach for this fragment"
@@ -25,5 +25,5 @@
25
25
  "used_by": [],
26
26
  "related": []
27
27
  },
28
- "metrics": { "leverage": 35.0, "pattern_count": 1, "instance_count": 35 }
28
+ "metrics": { "leverage": 5, "pattern_count": 0, "instance_count": 5 }
29
29
  }
@@ -122,7 +122,5 @@
122
122
  "Button"
123
123
  ]
124
124
  },
125
- "metrics": {
126
- "leverage": 3.0
127
- }
125
+ "metrics": { "leverage": 3, "pattern_count": 0, "instance_count": 3 }
128
126
  }
@@ -144,7 +144,5 @@
144
144
  "Button"
145
145
  ]
146
146
  },
147
- "metrics": {
148
- "leverage": 5.0
149
- }
147
+ "metrics": { "leverage": 5, "pattern_count": 0, "instance_count": 5 }
150
148
  }
@@ -81,7 +81,5 @@
81
81
  "Badge"
82
82
  ]
83
83
  },
84
- "metrics": {
85
- "leverage": 5.0
86
- }
84
+ "metrics": { "leverage": 5, "pattern_count": 0, "instance_count": 5 }
87
85
  }
@@ -25,5 +25,5 @@
25
25
  "used_by": [],
26
26
  "related": ["user-identity-row"]
27
27
  },
28
- "metrics": { "leverage": 16.0, "pattern_count": 2, "instance_count": 8 }
28
+ "metrics": { "leverage": 19, "pattern_count": 0, "instance_count": 19 }
29
29
  }
@@ -26,7 +26,7 @@ slots:
26
26
  required: true
27
27
  target: ir-label.textContent
28
28
  description: "TODO: describe 'label' slot"
29
- leverage: 0
29
+ leverage: 19
30
30
  used_by: []
31
31
  use-cases:
32
32
  - "TODO: describe when to reach for this fragment"
@@ -26,5 +26,5 @@
26
26
  "uses_components": ["Column", "Icon", "Text"],
27
27
  "related": []
28
28
  },
29
- "metrics": { "leverage": 8.0, "pattern_count": 2, "instance_count": 8 }
29
+ "metrics": { "leverage": 6, "pattern_count": 0, "instance_count": 6 }
30
30
  }
@@ -27,7 +27,7 @@ slots:
27
27
  required: true
28
28
  target: ft-desc.textContent
29
29
  description: "TODO: describe 'description' slot"
30
- leverage: 0
30
+ leverage: 6
31
31
  used_by: []
32
32
  use-cases:
33
33
  - "TODO: describe when to reach for this fragment"
@@ -103,7 +103,5 @@
103
103
  "Text"
104
104
  ]
105
105
  },
106
- "metrics": {
107
- "leverage": 3.0
108
- }
106
+ "metrics": { "leverage": 3, "pattern_count": 0, "instance_count": 3 }
109
107
  }
@@ -25,5 +25,5 @@
25
25
  "used_by": [],
26
26
  "related": []
27
27
  },
28
- "metrics": { "leverage": 6.0, "pattern_count": 2, "instance_count": 2 }
28
+ "metrics": { "leverage": 13, "pattern_count": 0, "instance_count": 13 }
29
29
  }
@@ -27,7 +27,7 @@ slots:
27
27
  required: true
28
28
  target: kv-value.textContent
29
29
  description: "TODO: describe 'value' slot"
30
- leverage: 0
30
+ leverage: 13
31
31
  used_by: []
32
32
  use-cases:
33
33
  - "TODO: describe when to reach for this fragment"
@@ -25,5 +25,5 @@
25
25
  "used_by": [],
26
26
  "related": ["progress-row"]
27
27
  },
28
- "metrics": { "leverage": 4.0, "pattern_count": 1, "instance_count": 4 }
28
+ "metrics": { "leverage": 9, "pattern_count": 0, "instance_count": 9 }
29
29
  }
@@ -23,7 +23,7 @@ slots:
23
23
  required: true
24
24
  target: lp-progress.value
25
25
  description: "TODO: describe 'value' slot"
26
- leverage: 0
26
+ leverage: 9
27
27
  used_by: []
28
28
  use-cases:
29
29
  - "TODO: describe when to reach for this fragment"
@@ -143,7 +143,5 @@
143
143
  "Button"
144
144
  ]
145
145
  },
146
- "metrics": {
147
- "leverage": 8.0
148
- }
146
+ "metrics": { "leverage": 12, "pattern_count": 0, "instance_count": 12 }
149
147
  }
@@ -151,9 +151,5 @@
151
151
  "card-header-with-badge"
152
152
  ]
153
153
  },
154
- "metrics": {
155
- "leverage": 3,
156
- "pattern_count": 1,
157
- "instance_count": 3
158
- }
154
+ "metrics": { "leverage": 2, "pattern_count": 0, "instance_count": 2 }
159
155
  }
@@ -164,7 +164,5 @@
164
164
  "Slider"
165
165
  ]
166
166
  },
167
- "metrics": {
168
- "leverage": 5.0
169
- }
167
+ "metrics": { "leverage": 5, "pattern_count": 0, "instance_count": 5 }
170
168
  }
@@ -153,7 +153,5 @@
153
153
  "Button"
154
154
  ]
155
155
  },
156
- "metrics": {
157
- "leverage": 4.0
158
- }
156
+ "metrics": { "leverage": 4, "pattern_count": 0, "instance_count": 4 }
159
157
  }
@@ -111,7 +111,5 @@
111
111
  "Badge"
112
112
  ]
113
113
  },
114
- "metrics": {
115
- "leverage": 5.0
116
- }
114
+ "metrics": { "leverage": 5, "pattern_count": 0, "instance_count": 5 }
117
115
  }
@@ -27,5 +27,5 @@
27
27
  "links": {
28
28
  "uses_components": ["Card", "Section", "Column", "Text"]
29
29
  },
30
- "metrics": { "leverage": 10.0 }
30
+ "metrics": { "leverage": 33, "pattern_count": 0, "instance_count": 33 }
31
31
  }
@@ -28,7 +28,7 @@ slots:
28
28
  required: false
29
29
  target: sc-trend.textContent
30
30
  description: "TODO: describe 'trend' slot"
31
- leverage: 0
31
+ leverage: 33
32
32
  used_by: []
33
33
  use-cases:
34
34
  - "TODO: describe when to reach for this fragment"
@@ -29,5 +29,5 @@
29
29
  "used_by": [],
30
30
  "related": []
31
31
  },
32
- "metrics": { "leverage": 15.0, "pattern_count": 3, "instance_count": 8 }
32
+ "metrics": { "leverage": 15, "pattern_count": 0, "instance_count": 15 }
33
33
  }
@@ -32,7 +32,7 @@ slots:
32
32
  required: false
33
33
  target: u-s.textContent
34
34
  description: "Role, email, or timestamp"
35
- leverage: 0
35
+ leverage: 15
36
36
  used_by: []
37
37
  use-cases:
38
38
  - "TODO: describe when to reach for this fragment"
@@ -31,5 +31,5 @@
31
31
  "used_by": [],
32
32
  "related": ["user-identity-row"]
33
33
  },
34
- "metrics": { "leverage": 6.0, "pattern_count": 2, "instance_count": 2 }
34
+ "metrics": { "leverage": 15, "pattern_count": 0, "instance_count": 15 }
35
35
  }
@@ -38,7 +38,7 @@ slots:
38
38
  required: false
39
39
  target: unr-badge.variant
40
40
  description: "TODO: describe 'badgeVariant' slot"
41
- leverage: 0
41
+ leverage: 15
42
42
  used_by: []
43
43
  use-cases:
44
44
  - "TODO: describe when to reach for this fragment"
@@ -22,5 +22,5 @@
22
22
  "links": {
23
23
  "uses_components": ["CheckBox"]
24
24
  },
25
- "metrics": { "leverage": 4.0 }
25
+ "metrics": { "leverage": 8, "pattern_count": 0, "instance_count": 8 }
26
26
  }
@@ -28,7 +28,7 @@ slots:
28
28
  required: false
29
29
  target: fcb-in.checked
30
30
  description: "TODO: describe 'checked' slot"
31
- leverage: 0
31
+ leverage: 8
32
32
  used_by: []
33
33
  use-cases:
34
34
  - "TODO: describe when to reach for this fragment"
@@ -24,5 +24,5 @@
24
24
  "links": {
25
25
  "uses_components": ["Field", "Input"]
26
26
  },
27
- "metrics": { "leverage": 20.0, "pattern_count": 12, "instance_count": 40 }
27
+ "metrics": { "leverage": 45, "pattern_count": 0, "instance_count": 45 }
28
28
  }
@@ -30,7 +30,7 @@ slots:
30
30
  required: false
31
31
  target: fi-in.type
32
32
  description: "TODO: describe 'type' slot"
33
- leverage: 0
33
+ leverage: 45
34
34
  used_by: []
35
35
  use-cases:
36
36
  - "TODO: describe when to reach for this fragment"
@@ -24,5 +24,5 @@
24
24
  "links": {
25
25
  "uses_components": ["Field", "TextArea"]
26
26
  },
27
- "metrics": { "leverage": 8.0 }
27
+ "metrics": { "leverage": 7, "pattern_count": 0, "instance_count": 7 }
28
28
  }
@@ -31,7 +31,7 @@ slots:
31
31
  required: false
32
32
  target: fta-in.rows
33
33
  description: "TODO: describe 'rows' slot"
34
- leverage: 0
34
+ leverage: 7
35
35
  used_by: []
36
36
  use-cases:
37
37
  - "TODO: describe when to reach for this fragment"
@@ -25,5 +25,5 @@
25
25
  { "id": "tg-sw", "component": "Toggle", "name": "field", "checked": false }
26
26
  ],
27
27
  "links": { "uses_components": ["Row", "Column", "Text", "Toggle"] },
28
- "metrics": { "leverage": 6.0 }
28
+ "metrics": { "leverage": 17, "pattern_count": 0, "instance_count": 17 }
29
29
  }
@@ -32,7 +32,7 @@ slots:
32
32
  required: false
33
33
  target: tg-sw.checked
34
34
  description: "TODO: describe 'checked' slot"
35
- leverage: 0
35
+ leverage: 17
36
36
  used_by: []
37
37
  use-cases:
38
38
  - "TODO: describe when to reach for this fragment"
@@ -31,9 +31,5 @@
31
31
  "related": ["card-header-with-description"],
32
32
  "spawned_from": []
33
33
  },
34
- "metrics": {
35
- "leverage": 32.0,
36
- "pattern_count": 16,
37
- "instance_count": 25
38
- }
34
+ "metrics": { "leverage": 9, "pattern_count": 0, "instance_count": 9 }
39
35
  }
@@ -18,7 +18,7 @@ slots:
18
18
  required: true
19
19
  target: h-text.textContent
20
20
  description: "The card's title text"
21
- leverage: 0
21
+ leverage: 9
22
22
  used_by: []
23
23
  use-cases:
24
24
  - "TODO: describe when to reach for this fragment"
@@ -26,5 +26,5 @@
26
26
  "used_by": [],
27
27
  "related": ["card-header-heading", "card-header-with-description"]
28
28
  },
29
- "metrics": { "leverage": 6.0, "pattern_count": 2, "instance_count": 2 }
29
+ "metrics": { "leverage": 4, "pattern_count": 0, "instance_count": 4 }
30
30
  }
@@ -30,7 +30,7 @@ slots:
30
30
  required: false
31
31
  target: hb-badge.variant
32
32
  description: "TODO: describe 'badgeVariant' slot"
33
- leverage: 0
33
+ leverage: 4
34
34
  used_by: []
35
35
  use-cases:
36
36
  - "TODO: describe when to reach for this fragment"
@@ -25,5 +25,5 @@
25
25
  "used_by": [],
26
26
  "related": ["card-header-heading"]
27
27
  },
28
- "metrics": { "leverage": 24.0, "pattern_count": 8, "instance_count": 8 }
28
+ "metrics": { "leverage": 60, "pattern_count": 0, "instance_count": 60 }
29
29
  }
@@ -23,7 +23,7 @@ slots:
23
23
  required: true
24
24
  target: h-desc.textContent
25
25
  description: "TODO: describe 'description' slot"
26
- leverage: 0
26
+ leverage: 60
27
27
  used_by: []
28
28
  use-cases:
29
29
  - "TODO: describe when to reach for this fragment"
@@ -24,5 +24,5 @@
24
24
  "used_by": [],
25
25
  "related": ["card-header-with-description"]
26
26
  },
27
- "metrics": { "leverage": 9.0, "pattern_count": 3, "instance_count": 8 }
27
+ "metrics": { "leverage": 3, "pattern_count": 0, "instance_count": 3 }
28
28
  }
@@ -20,7 +20,7 @@ slots:
20
20
  required: true
21
21
  target: tc-text.textContent
22
22
  description: "TODO: describe 'text' slot"
23
- leverage: 0
23
+ leverage: 3
24
24
  used_by: []
25
25
  use-cases:
26
26
  - "TODO: describe when to reach for this fragment"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adia-ai/a2ui-corpus",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "type": "module",
5
5
  "description": "AdiaUI A2UI training corpus \u2014 patterns, fragments, compositions, exemplars, eval fixtures, feedback, gap registry. Consumed by the compose engine's retrieval layer + the MCP pipeline.",
6
6
  "exports": {