@adia-ai/gen-ui 0.8.42 → 0.8.44

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 (102) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/compose/strategies/monolithic/_shared.js +2 -2
  3. package/compose/transpiler/transpiler-maps.js +1 -1
  4. package/compose/transpiler/transpiler.js +1 -1
  5. package/corpus/chunk-embeddings.json +1 -1
  6. package/corpus/chunks/_index.json +255 -4
  7. package/corpus/chunks/_source-hashes.json +74 -77
  8. package/corpus/chunks/access-denied-with-request.json +3 -2
  9. package/corpus/chunks/achievement-unlock.json +3 -2
  10. package/corpus/chunks/agent-canvas-shell.json +3 -3
  11. package/corpus/chunks/agent-cost-detailed.json +5 -2
  12. package/corpus/chunks/agent-cost-inline.json +2 -2
  13. package/corpus/chunks/agent-memory-detail.json +4 -2
  14. package/corpus/chunks/agent-memory-list.json +3 -2
  15. package/corpus/chunks/agent-prompt-card.json +5 -2
  16. package/corpus/chunks/agent-prompt-library-grid.json +7 -2
  17. package/corpus/chunks/agent-tool-call-result.json +2 -2
  18. package/corpus/chunks/agent-tool-call-running.json +2 -2
  19. package/corpus/chunks/analytics-chart.json +4 -4
  20. package/corpus/chunks/anchor-bar-selection-bar.json +2 -2
  21. package/corpus/chunks/api-keys-create.json +4 -3
  22. package/corpus/chunks/api-keys-list.json +5 -4
  23. package/corpus/chunks/approvals-detail.json +3 -2
  24. package/corpus/chunks/approvals-queue.json +7 -2
  25. package/corpus/chunks/audit-log-basic.json +3 -2
  26. package/corpus/chunks/auth-card-content.json +5 -5
  27. package/corpus/chunks/auth-mfa-recovery.json +3 -2
  28. package/corpus/chunks/auth-new-password-form.json +3 -2
  29. package/corpus/chunks/auth-new-password.json +2 -1
  30. package/corpus/chunks/auth-profile-form.json +4 -2
  31. package/corpus/chunks/auth-profile-setup.json +3 -1
  32. package/corpus/chunks/auth-signin-card-otp.json +2 -2
  33. package/corpus/chunks/auth-signin-card-recovery.json +2 -1
  34. package/corpus/chunks/auth-team-invite.json +2 -1
  35. package/corpus/chunks/blog-post-card.json +3 -3
  36. package/corpus/chunks/bulk-action-toolbar-floating.json +2 -2
  37. package/corpus/chunks/card-with-sparkline.json +2 -2
  38. package/corpus/chunks/chart-in-card-chart-plus-breakdown.json +3 -3
  39. package/corpus/chunks/chart-in-card-chart-plus-stat.json +3 -3
  40. package/corpus/chunks/chart-in-card-chart-with-filter-pills.json +3 -3
  41. package/corpus/chunks/chart-in-card-full-bleed-bar-tall.json +66 -0
  42. package/corpus/chunks/chart-in-card-full-bleed-bar-wide.json +65 -0
  43. package/corpus/chunks/chart-in-card-full-bleed-legend-composed-square.json +110 -0
  44. package/corpus/chunks/chart-in-card-full-bleed-legend-grouped-tall.json +111 -0
  45. package/corpus/chunks/chart-in-card-full-bleed-legend-stacked-wide.json +110 -0
  46. package/corpus/chunks/chart-in-card-full-bleed-legend.json +4 -4
  47. package/corpus/chunks/chart-in-card-full-bleed-line-square.json +66 -0
  48. package/corpus/chunks/chart-in-card-full-chart.json +3 -3
  49. package/corpus/chunks/chart-in-card-trend-footer.json +3 -3
  50. package/corpus/chunks/chart-with-filter-pills.json +3 -3
  51. package/corpus/chunks/comments-thread.json +3 -2
  52. package/corpus/chunks/cta-banner-centered.json +3 -4
  53. package/corpus/chunks/dashboard-acquisition-panel.json +3 -3
  54. package/corpus/chunks/dashboard-admin-page.json +2 -2
  55. package/corpus/chunks/dashboard-audience-panel.json +3 -3
  56. package/corpus/chunks/dashboard-chart-recent.json +3 -3
  57. package/corpus/chunks/dashboard-overview-panel.json +2 -2
  58. package/corpus/chunks/dashboard-traffic-channels.json +4 -4
  59. package/corpus/chunks/data-export-history.json +3 -2
  60. package/corpus/chunks/diff-structured.json +2 -2
  61. package/corpus/chunks/digest-email-preview.json +3 -2
  62. package/corpus/chunks/export-flow-delivery.json +3 -2
  63. package/corpus/chunks/export-flow-sync.json +3 -2
  64. package/corpus/chunks/filter-bar-active-filters.json +2 -2
  65. package/corpus/chunks/forms-address-autocomplete.json +3 -2
  66. package/corpus/chunks/forms-address-fields.json +3 -2
  67. package/corpus/chunks/gallery-page-shell.json +5 -4
  68. package/corpus/chunks/hero-section-split.json +2 -2
  69. package/corpus/chunks/inline-dialog-rename.json +3 -2
  70. package/corpus/chunks/inline-dialog-schedule.json +3 -2
  71. package/corpus/chunks/integrations-grid.json +6 -2
  72. package/corpus/chunks/kanban-page-shell.json +5 -4
  73. package/corpus/chunks/logo-cloud-trusted-by.json +37 -32
  74. package/corpus/chunks/map-with-location-list.json +1 -1
  75. package/corpus/chunks/marketing-page-shell.json +3 -3
  76. package/corpus/chunks/member-edit-drawer.json +4 -3
  77. package/corpus/chunks/patient-visit-shell.json +3 -2
  78. package/corpus/chunks/permissions-matrix-grid.json +3 -2
  79. package/corpus/chunks/permissions-share-link.json +4 -2
  80. package/corpus/chunks/playground-agent-admin.json +11 -3
  81. package/corpus/chunks/profile-public.json +3 -2
  82. package/corpus/chunks/reactions-picker.json +4 -3
  83. package/corpus/chunks/real-time-metrics-dashboard.json +3 -3
  84. package/corpus/chunks/referral-share-link.json +5 -2
  85. package/corpus/chunks/reg-brand-scrape.json +3 -3
  86. package/corpus/chunks/reg-final-done.json +5 -5
  87. package/corpus/chunks/reg-step-footer.json +5 -5
  88. package/corpus/chunks/reg-success-summary.json +5 -5
  89. package/corpus/chunks/revenue-heatmap.json +2 -1
  90. package/corpus/chunks/search-recents-menu.json +3 -2
  91. package/corpus/chunks/search-saved-views.json +3 -2
  92. package/corpus/chunks/sidebar-nav.json +3 -2
  93. package/corpus/chunks/split-pane-editor.json +4 -4
  94. package/corpus/chunks/table-inline-edit-row.json +3 -2
  95. package/corpus/chunks/table-spreadsheet-cells.json +3 -2
  96. package/corpus/chunks/table-toolbar-adiav2-row.json +272 -0
  97. package/corpus/chunks/table-toolbar-chrome-only-empty.json +183 -0
  98. package/corpus/chunks/testimonial-pull-quote.json +2 -2
  99. package/corpus/chunks/url-import-form.json +2 -2
  100. package/corpus/chunks/webhooks-list.json +3 -2
  101. package/corpus/manifest.json +3 -3
  102. package/package.json +1 -1
@@ -6,7 +6,7 @@
6
6
  "slots": [],
7
7
  "nested": [],
8
8
  "attrs": {},
9
- "html": "<nav-ui\n style=\"max-width:220px\">\n <nav-group-ui text=\"Main\" icon=\"grid-four\" open>\n <nav-item-ui icon=\"house\" text=\"Home\" active></nav-item-ui>\n <nav-item-ui icon=\"chart-bar\" text=\"Dashboard\"></nav-item-ui>\n <nav-item-ui icon=\"users\" text=\"Members\"></nav-item-ui>\n <nav-item-ui icon=\"gear\" text=\"Settings\"></nav-item-ui>\n </nav-group-ui>\n <nav-group-ui text=\"Projects\" icon=\"folders\" open>\n <nav-item-ui icon=\"folder\" text=\"Marketing site\"></nav-item-ui>\n <nav-item-ui icon=\"folder\" text=\"Admin app\"></nav-item-ui>\n <nav-item-ui icon=\"plus\" text=\"New project\"></nav-item-ui>\n </nav-group-ui>\n <divider-ui></divider-ui>\n <nav-item-ui icon=\"user-circle\" text=\"Kim Granlund\"></nav-item-ui>\n</nav-ui>",
9
+ "html": "<nav-ui\n style=\"max-width:220px\">\n <nav-group-ui text=\"Main\" icon=\"grid-four\" open>\n <nav-item-ui icon=\"house\" text=\"Home\" selected></nav-item-ui>\n <nav-item-ui icon=\"chart-bar\" text=\"Dashboard\"></nav-item-ui>\n <nav-item-ui icon=\"users\" text=\"Members\"></nav-item-ui>\n <nav-item-ui icon=\"gear\" text=\"Settings\"></nav-item-ui>\n </nav-group-ui>\n <nav-group-ui text=\"Projects\" icon=\"folders\" open>\n <nav-item-ui icon=\"folder\" text=\"Marketing site\"></nav-item-ui>\n <nav-item-ui icon=\"folder\" text=\"Admin app\"></nav-item-ui>\n <nav-item-ui icon=\"plus\" text=\"New project\"></nav-item-ui>\n </nav-group-ui>\n <divider-ui></divider-ui>\n <nav-item-ui icon=\"user-circle\" text=\"Kim Granlund\"></nav-item-ui>\n</nav-ui>",
10
10
  "source": "apps/saas/app/admin-dashboard/admin-dashboard.contents.html",
11
11
  "metadata": {
12
12
  "domain": "navigation",
@@ -27,12 +27,13 @@
27
27
  "vertical-nav"
28
28
  ]
29
29
  },
30
- "captured_at": "2026-07-17T20:08:04.842Z",
30
+ "captured_at": "2026-08-19T03:56:11.704Z",
31
31
  "template": [
32
32
  {
33
33
  "id": "nav-item",
34
34
  "component": "NavItem",
35
35
  "icon": "house",
36
+ "selected": true,
36
37
  "text": "Home"
37
38
  },
38
39
  {
@@ -6,7 +6,7 @@
6
6
  "slots": [],
7
7
  "nested": [],
8
8
  "attrs": {},
9
- "html": "<div\n style=\"display:flex; height:420px;\">\n <pane-ui side=\"leading\" resizable min-width=\"240\" max-width=\"640\" style=\"width:50%;\">\n <header>\n <row-ui gap=\"2\" align=\"center\">\n <button-ui text=\"Run\" variant=\"primary\" size=\"sm\" icon=\"play\"></button-ui>\n <button-ui text=\"Save\" variant=\"outline\" size=\"sm\" icon=\"floppy-disk\"></button-ui>\n </row-ui>\n </header>\n <section>\n <textarea-ui\n placeholder=\"// Write your code here\"\n style=\"height:100%; width:100%; font-family:monospace;\"\n ></textarea-ui>\n </section>\n </pane-ui>\n <pane-ui side=\"trailing\" style=\"flex:1;\">\n <header>\n <row-ui gap=\"2\" align=\"center\">\n <text-ui strong size=\"sm\">Preview</text-ui>\n </row-ui>\n </header>\n <section>\n <text-ui color=\"subtle\">Live preview will appear here</text-ui>\n </section>\n </pane-ui>\n</div>",
9
+ "html": "<div\n style=\"display:flex; height:420px;\">\n <pane-ui edge=\"leading\" resizable min-width=\"240\" max-width=\"640\" style=\"width:50%;\">\n <header>\n <row-ui gap=\"2\" align=\"center\">\n <button-ui text=\"Run\" variant=\"primary\" size=\"sm\" icon=\"play\"></button-ui>\n <button-ui text=\"Save\" variant=\"outline\" size=\"sm\" icon=\"floppy-disk\"></button-ui>\n </row-ui>\n </header>\n <section>\n <textarea-ui\n placeholder=\"// Write your code here\"\n style=\"height:100%; width:100%; font-family:monospace;\"\n ></textarea-ui>\n </section>\n </pane-ui>\n <pane-ui edge=\"trailing\" style=\"flex:1;\">\n <header>\n <row-ui gap=\"2\" align=\"center\">\n <text-ui strong size=\"sm\">Preview</text-ui>\n </row-ui>\n </header>\n <section>\n <text-ui color=\"subtle\">Live preview will appear here</text-ui>\n </section>\n </pane-ui>\n</div>",
10
10
  "source": "catalog/ui-patterns/app/split-pane-editor/split-pane-editor.contents.html",
11
11
  "metadata": {
12
12
  "domain": "layout",
@@ -30,7 +30,7 @@
30
30
  "ide"
31
31
  ]
32
32
  },
33
- "captured_at": "2026-08-10T18:10:27.206Z",
33
+ "captured_at": "2026-08-18T04:03:31.540Z",
34
34
  "template": [
35
35
  {
36
36
  "id": "button",
@@ -80,10 +80,10 @@
80
80
  {
81
81
  "id": "panel",
82
82
  "component": "Panel",
83
+ "edge": "leading",
83
84
  "maxWidth": 640,
84
85
  "minWidth": 240,
85
86
  "resizable": true,
86
- "side": "leading",
87
87
  "children": [
88
88
  "header",
89
89
  "section"
@@ -128,7 +128,7 @@
128
128
  {
129
129
  "id": "panel-2",
130
130
  "component": "Panel",
131
- "side": "trailing",
131
+ "edge": "trailing",
132
132
  "children": [
133
133
  "header-2",
134
134
  "section-2"
@@ -6,7 +6,7 @@
6
6
  "slots": [],
7
7
  "nested": [],
8
8
  "attrs": {},
9
- "html": "<card-ui>\n <header>\n <span slot=\"heading\" variant=\"section\">Pricing matrix</span>\n <text-ui slot=\"description\" color=\"subtle\">12 rows · 1 unsaved</text-ui>\n <button-ui slot=\"action\" text=\"Add row\" variant=\"ghost\" size=\"sm\" icon-leading=\"plus\"></button-ui>\n </header>\n <section bleed>\n <!-- A real <table> in <table-ui frameless raw> (consumer-owns-body mode) gives\n true column alignment; the editing row (Pro) swaps its Price/Limits\n cells for <input-ui> and its action cell for Save/Cancel. -->\n <table-ui frameless raw>\n <table>\n <thead>\n <tr><th>Plan</th><th>Price</th><th>Limits</th><th></th></tr>\n </thead>\n <tbody>\n <tr>\n <td><text-ui strong>Starter</text-ui></td>\n <td><text-ui color=\"subtle\">$0 / month</text-ui></td>\n <td><text-ui color=\"subtle\">5 seats · 1k requests</text-ui></td>\n <td><button-ui icon=\"pencil-simple\" variant=\"ghost\" size=\"sm\" aria-label=\"Edit\"></button-ui></td>\n </tr>\n <tr style=\"background: var(--a-bg-subtle);\">\n <td><text-ui strong>Pro</text-ui></td>\n <td><input-ui name=\"pro_price\" value=\"$29\" size=\"sm\"></input-ui></td>\n <td><input-ui name=\"pro_features\" value=\"50 seats · 100k requests\" size=\"sm\"></input-ui></td>\n <td>\n <row-ui gap=\"2\" align=\"center\">\n <button-ui text=\"Save\" variant=\"primary\" size=\"sm\"></button-ui>\n <button-ui text=\"Cancel\" variant=\"ghost\" size=\"sm\"></button-ui>\n </row-ui>\n </td>\n </tr>\n <tr>\n <td><text-ui strong>Enterprise</text-ui></td>\n <td><text-ui color=\"subtle\">Custom</text-ui></td>\n <td><text-ui color=\"subtle\">Unlimited · SSO · SLA</text-ui></td>\n <td><button-ui icon=\"pencil-simple\" variant=\"ghost\" size=\"sm\" aria-label=\"Edit\"></button-ui></td>\n </tr>\n </tbody>\n </table>\n </table-ui>\n </section>\n </card-ui>",
9
+ "html": "<card-ui>\n <header>\n <span slot=\"heading\" variant=\"section\">Pricing matrix</span>\n <text-ui slot=\"description\" color=\"subtle\">12 rows · 1 unsaved</text-ui>\n <button-ui slot=\"action\" text=\"Add row\" variant=\"ghost\" size=\"sm\" icon=\"plus\"></button-ui>\n </header>\n <section bleed>\n <!-- A real <table> in <table-ui frameless raw> (consumer-owns-body mode) gives\n true column alignment; the editing row (Pro) swaps its Price/Limits\n cells for <input-ui> and its action cell for Save/Cancel. -->\n <table-ui frameless raw>\n <table>\n <thead>\n <tr><th>Plan</th><th>Price</th><th>Limits</th><th></th></tr>\n </thead>\n <tbody>\n <tr>\n <td><text-ui strong>Starter</text-ui></td>\n <td><text-ui color=\"subtle\">$0 / month</text-ui></td>\n <td><text-ui color=\"subtle\">5 seats · 1k requests</text-ui></td>\n <td><button-ui icon=\"pencil-simple\" variant=\"ghost\" size=\"sm\" aria-label=\"Edit\"></button-ui></td>\n </tr>\n <tr style=\"background: var(--a-bg-subtle);\">\n <td><text-ui strong>Pro</text-ui></td>\n <td><input-ui name=\"pro_price\" value=\"$29\" size=\"sm\"></input-ui></td>\n <td><input-ui name=\"pro_features\" value=\"50 seats · 100k requests\" size=\"sm\"></input-ui></td>\n <td>\n <row-ui gap=\"2\" align=\"center\">\n <button-ui text=\"Save\" variant=\"primary\" size=\"sm\"></button-ui>\n <button-ui text=\"Cancel\" variant=\"ghost\" size=\"sm\"></button-ui>\n </row-ui>\n </td>\n </tr>\n <tr>\n <td><text-ui strong>Enterprise</text-ui></td>\n <td><text-ui color=\"subtle\">Custom</text-ui></td>\n <td><text-ui color=\"subtle\">Unlimited · SSO · SLA</text-ui></td>\n <td><button-ui icon=\"pencil-simple\" variant=\"ghost\" size=\"sm\" aria-label=\"Edit\"></button-ui></td>\n </tr>\n </tbody>\n </table>\n </table-ui>\n </section>\n </card-ui>",
10
10
  "source": "packages/web-components/patterns/data-tables-inline-edit-and-tree/data-tables-inline-edit-and-tree.examples.html",
11
11
  "metadata": {
12
12
  "domain": "data",
@@ -27,7 +27,7 @@
27
27
  "grid"
28
28
  ]
29
29
  },
30
- "captured_at": "2026-07-30T08:15:39.398Z",
30
+ "captured_at": "2026-08-19T03:56:11.704Z",
31
31
  "template": [
32
32
  {
33
33
  "id": "text",
@@ -47,6 +47,7 @@
47
47
  "id": "button",
48
48
  "component": "Button",
49
49
  "slot": "action",
50
+ "icon": "plus",
50
51
  "size": "sm",
51
52
  "text": "Add row",
52
53
  "variant": "ghost"
@@ -6,7 +6,7 @@
6
6
  "slots": [],
7
7
  "nested": [],
8
8
  "attrs": {},
9
- "html": "<card-ui>\n <header>\n <span slot=\"heading\" variant=\"section\">Inventory — Q4 forecast</span>\n <text-ui slot=\"description\" color=\"subtle\">Auto-saving · 3 cells dirty</text-ui>\n <row-ui slot=\"action\" gap=\"2\">\n <button-ui text=\"Undo\" variant=\"ghost\" size=\"sm\" icon-leading=\"arrow-counter-clockwise\"></button-ui>\n <button-ui text=\"Save now\" variant=\"primary\" size=\"sm\"></button-ui>\n </row-ui>\n </header>\n <section bleed>\n <!-- Every cell is an <input-ui>; a real <table> gives the Excel-style\n column alignment the list-item flex layout couldn't. The per-row\n dirty/clean state sits in its own Status column. -->\n <table-ui frameless raw>\n <table>\n <thead>\n <tr><th>Item</th><th>Oct</th><th>Nov</th><th>Dec</th><th>Status</th></tr>\n </thead>\n <tbody>\n <tr>\n <td><text-ui strong>Widget A</text-ui></td>\n <td><input-ui type=\"number\" value=\"124\" size=\"sm\"></input-ui></td>\n <td><input-ui type=\"number\" value=\"98\" size=\"sm\"></input-ui></td>\n <td><input-ui type=\"number\" value=\"156\" size=\"sm\"></input-ui></td>\n <td><tag-ui variant=\"default\">clean</tag-ui></td>\n </tr>\n <tr>\n <td><text-ui strong>Widget B</text-ui></td>\n <td><input-ui type=\"number\" value=\"42\" size=\"sm\"></input-ui></td>\n <td><input-ui type=\"number\" value=\"51\" size=\"sm\"></input-ui></td>\n <td><input-ui type=\"number\" value=\"78\" size=\"sm\"></input-ui></td>\n <td><tag-ui variant=\"warning\">dirty</tag-ui></td>\n </tr>\n <tr>\n <td><text-ui strong>Widget C</text-ui></td>\n <td><input-ui type=\"number\" value=\"0\" size=\"sm\"></input-ui></td>\n <td><input-ui type=\"number\" value=\"0\" size=\"sm\"></input-ui></td>\n <td><input-ui type=\"number\" value=\"320\" size=\"sm\"></input-ui></td>\n <td><tag-ui variant=\"warning\">dirty</tag-ui></td>\n </tr>\n <tr>\n <td><text-ui strong>Widget D</text-ui></td>\n <td><input-ui type=\"number\" value=\"200\" size=\"sm\"></input-ui></td>\n <td><input-ui type=\"number\" value=\"245\" size=\"sm\"></input-ui></td>\n <td><input-ui type=\"number\" value=\"280\" size=\"sm\"></input-ui></td>\n <td><tag-ui variant=\"default\">clean</tag-ui></td>\n </tr>\n </tbody>\n </table>\n </table-ui>\n </section>\n </card-ui>",
9
+ "html": "<card-ui>\n <header>\n <span slot=\"heading\" variant=\"section\">Inventory — Q4 forecast</span>\n <text-ui slot=\"description\" color=\"subtle\">Auto-saving · 3 cells dirty</text-ui>\n <row-ui slot=\"action\" gap=\"2\">\n <button-ui text=\"Undo\" variant=\"ghost\" size=\"sm\" icon=\"arrow-counter-clockwise\"></button-ui>\n <button-ui text=\"Save now\" variant=\"primary\" size=\"sm\"></button-ui>\n </row-ui>\n </header>\n <section bleed>\n <!-- Every cell is an <input-ui>; a real <table> gives the Excel-style\n column alignment the list-item flex layout couldn't. The per-row\n dirty/clean state sits in its own Status column. -->\n <table-ui frameless raw>\n <table>\n <thead>\n <tr><th>Item</th><th>Oct</th><th>Nov</th><th>Dec</th><th>Status</th></tr>\n </thead>\n <tbody>\n <tr>\n <td><text-ui strong>Widget A</text-ui></td>\n <td><input-ui type=\"number\" value=\"124\" size=\"sm\"></input-ui></td>\n <td><input-ui type=\"number\" value=\"98\" size=\"sm\"></input-ui></td>\n <td><input-ui type=\"number\" value=\"156\" size=\"sm\"></input-ui></td>\n <td><tag-ui variant=\"default\">clean</tag-ui></td>\n </tr>\n <tr>\n <td><text-ui strong>Widget B</text-ui></td>\n <td><input-ui type=\"number\" value=\"42\" size=\"sm\"></input-ui></td>\n <td><input-ui type=\"number\" value=\"51\" size=\"sm\"></input-ui></td>\n <td><input-ui type=\"number\" value=\"78\" size=\"sm\"></input-ui></td>\n <td><tag-ui variant=\"warning\">dirty</tag-ui></td>\n </tr>\n <tr>\n <td><text-ui strong>Widget C</text-ui></td>\n <td><input-ui type=\"number\" value=\"0\" size=\"sm\"></input-ui></td>\n <td><input-ui type=\"number\" value=\"0\" size=\"sm\"></input-ui></td>\n <td><input-ui type=\"number\" value=\"320\" size=\"sm\"></input-ui></td>\n <td><tag-ui variant=\"warning\">dirty</tag-ui></td>\n </tr>\n <tr>\n <td><text-ui strong>Widget D</text-ui></td>\n <td><input-ui type=\"number\" value=\"200\" size=\"sm\"></input-ui></td>\n <td><input-ui type=\"number\" value=\"245\" size=\"sm\"></input-ui></td>\n <td><input-ui type=\"number\" value=\"280\" size=\"sm\"></input-ui></td>\n <td><tag-ui variant=\"default\">clean</tag-ui></td>\n </tr>\n </tbody>\n </table>\n </table-ui>\n </section>\n </card-ui>",
10
10
  "source": "packages/web-components/patterns/data-tables-inline-edit-and-tree/data-tables-inline-edit-and-tree.examples.html",
11
11
  "metadata": {
12
12
  "domain": "data",
@@ -26,7 +26,7 @@
26
26
  "excel"
27
27
  ]
28
28
  },
29
- "captured_at": "2026-08-13T16:17:52.286Z",
29
+ "captured_at": "2026-08-19T03:56:11.704Z",
30
30
  "template": [
31
31
  {
32
32
  "id": "text",
@@ -45,6 +45,7 @@
45
45
  {
46
46
  "id": "button",
47
47
  "component": "Button",
48
+ "icon": "arrow-counter-clockwise",
48
49
  "size": "sm",
49
50
  "text": "Undo",
50
51
  "variant": "ghost"
@@ -0,0 +1,272 @@
1
+ {
2
+ "name": "table-toolbar-adiav2-row",
3
+ "kind": "block",
4
+ "primary": "div",
5
+ "page": "/packages/web-components/components/table-toolbar/table-toolbar.examples.html",
6
+ "slots": [],
7
+ "nested": [],
8
+ "attrs": {
9
+ "data-artifact-item": "",
10
+ "data-artifact-label": "adiav2 list-page toolbar row — scope + range summary + actions-leading + page-size"
11
+ },
12
+ "html": "<col-ui gap=\"0\">\n <table-toolbar-ui for=\"accounts-table\" no-filter no-sort no-columns no-search\n range-start=\"1\" range-end=\"25\" range-total=\"320\"\n page-size-options=\"[10,25,50,100]\" page-size=\"25\">\n <select-ui slot=\"scope\" size=\"sm\" aria-label=\"Scope\">\n <option value=\"all\" selected>All accounts</option>\n <option value=\"mine\">My accounts</option>\n </select-ui>\n <button-ui slot=\"actions-leading\" text=\"Filter\" icon=\"funnel-simple\" variant=\"ghost\" size=\"sm\"></button-ui>\n <button-ui slot=\"actions-leading\" text=\"Columns\" icon=\"columns\" variant=\"ghost\" size=\"sm\"></button-ui>\n <button-ui slot=\"actions\" text=\"New account\" icon=\"plus\" variant=\"primary\" size=\"sm\"></button-ui>\n </table-toolbar-ui>\n <card-ui>\n <section bleed>\n <table-ui id=\"accounts-table\" sortable raw>\n <table>\n <thead><tr><th>Account</th><th>Owner</th><th>Status</th></tr></thead>\n <tbody>\n <tr><td>Acme Health</td><td>Maya Chen</td><td><tag-ui variant=\"success\">Active</tag-ui></td></tr>\n <tr><td>Northwind Clinics</td><td>Alex Park</td><td><tag-ui variant=\"success\">Active</tag-ui></td></tr>\n <tr><td>Globex Medical</td><td>Jordan Lee</td><td><tag-ui variant=\"warning\">Trial</tag-ui></td></tr>\n </tbody>\n </table>\n </table-ui>\n </section>\n </card-ui>\n </col-ui>",
13
+ "source": "packages/web-components/components/table-toolbar/table-toolbar.examples.html",
14
+ "metadata": {
15
+ "domain": "data",
16
+ "description": "The ratified adiav2 list-page toolbar row (ADIA2-9123, gh#1649): a leading scope/view-switcher slot, a &quot;Showing X-Y of N&quot; range summary, app-owned Filter and Columns triggers (their own filter drawer, not the native popovers — no-filter/no-sort/no-columns/no-search drop every native affordance) in the actions-leading slot so they land BEFORE the page-size select, and a primary CTA in the trailing actions slot AFTER page-size.",
17
+ "keywords": [
18
+ "table",
19
+ "toolbar",
20
+ "scope",
21
+ "range",
22
+ "summary",
23
+ "showing",
24
+ "pagination",
25
+ "page",
26
+ "size",
27
+ "select",
28
+ "actions-leading",
29
+ "adiav2",
30
+ "list",
31
+ "page"
32
+ ]
33
+ },
34
+ "captured_at": "2026-08-18T14:49:22.879Z",
35
+ "template": [
36
+ {
37
+ "id": "scope",
38
+ "component": "ChoicePicker",
39
+ "slot": "scope",
40
+ "size": "sm",
41
+ "label": "Scope",
42
+ "options": [
43
+ {
44
+ "value": "all",
45
+ "label": "All accounts"
46
+ },
47
+ {
48
+ "value": "mine",
49
+ "label": "My accounts"
50
+ }
51
+ ],
52
+ "value": "all"
53
+ },
54
+ {
55
+ "id": "button",
56
+ "component": "Button",
57
+ "slot": "actions-leading",
58
+ "icon": "funnel-simple",
59
+ "size": "sm",
60
+ "text": "Filter",
61
+ "variant": "ghost"
62
+ },
63
+ {
64
+ "id": "button-2",
65
+ "component": "Button",
66
+ "slot": "actions-leading",
67
+ "icon": "columns",
68
+ "size": "sm",
69
+ "text": "Columns",
70
+ "variant": "ghost"
71
+ },
72
+ {
73
+ "id": "button-3",
74
+ "component": "Button",
75
+ "slot": "actions",
76
+ "icon": "plus",
77
+ "size": "sm",
78
+ "text": "New account",
79
+ "variant": "primary"
80
+ },
81
+ {
82
+ "id": "table-toolbar",
83
+ "component": "TableToolbar",
84
+ "for": "accounts-table",
85
+ "noColumns": true,
86
+ "noFilter": true,
87
+ "noSearch": true,
88
+ "noSort": true,
89
+ "pageSize": 25,
90
+ "pageSizeOptions": [
91
+ 10,
92
+ 25,
93
+ 50,
94
+ 100
95
+ ],
96
+ "rangeEnd": 25,
97
+ "rangeStart": 1,
98
+ "rangeTotal": 320,
99
+ "children": [
100
+ "scope",
101
+ "button",
102
+ "button-2",
103
+ "button-3"
104
+ ]
105
+ },
106
+ {
107
+ "id": "text",
108
+ "component": "Text",
109
+ "textContent": "Account",
110
+ "variant": "body"
111
+ },
112
+ {
113
+ "id": "text-2",
114
+ "component": "Text",
115
+ "textContent": "Owner",
116
+ "variant": "body"
117
+ },
118
+ {
119
+ "id": "text-3",
120
+ "component": "Text",
121
+ "textContent": "Status",
122
+ "variant": "body"
123
+ },
124
+ {
125
+ "id": "column-2",
126
+ "component": "Column",
127
+ "children": [
128
+ "text",
129
+ "text-2",
130
+ "text-3"
131
+ ]
132
+ },
133
+ {
134
+ "id": "text-4",
135
+ "component": "Text",
136
+ "textContent": "Acme Health",
137
+ "variant": "body"
138
+ },
139
+ {
140
+ "id": "text-5",
141
+ "component": "Text",
142
+ "textContent": "Maya Chen",
143
+ "variant": "body"
144
+ },
145
+ {
146
+ "id": "tag",
147
+ "component": "Tag",
148
+ "variant": "success",
149
+ "text": "Active"
150
+ },
151
+ {
152
+ "id": "column-7",
153
+ "component": "Column",
154
+ "children": [
155
+ "text-4",
156
+ "text-5",
157
+ "tag"
158
+ ]
159
+ },
160
+ {
161
+ "id": "text-6",
162
+ "component": "Text",
163
+ "textContent": "Northwind Clinics",
164
+ "variant": "body"
165
+ },
166
+ {
167
+ "id": "text-7",
168
+ "component": "Text",
169
+ "textContent": "Alex Park",
170
+ "variant": "body"
171
+ },
172
+ {
173
+ "id": "tag-2",
174
+ "component": "Tag",
175
+ "variant": "success",
176
+ "text": "Active"
177
+ },
178
+ {
179
+ "id": "column-11",
180
+ "component": "Column",
181
+ "children": [
182
+ "text-6",
183
+ "text-7",
184
+ "tag-2"
185
+ ]
186
+ },
187
+ {
188
+ "id": "text-8",
189
+ "component": "Text",
190
+ "textContent": "Globex Medical",
191
+ "variant": "body"
192
+ },
193
+ {
194
+ "id": "text-9",
195
+ "component": "Text",
196
+ "textContent": "Jordan Lee",
197
+ "variant": "body"
198
+ },
199
+ {
200
+ "id": "tag-3",
201
+ "component": "Tag",
202
+ "variant": "warning",
203
+ "text": "Trial"
204
+ },
205
+ {
206
+ "id": "column-15",
207
+ "component": "Column",
208
+ "children": [
209
+ "text-8",
210
+ "text-9",
211
+ "tag-3"
212
+ ]
213
+ },
214
+ {
215
+ "id": "column-6",
216
+ "component": "Column",
217
+ "children": [
218
+ "column-7",
219
+ "column-11",
220
+ "column-15"
221
+ ]
222
+ },
223
+ {
224
+ "id": "table",
225
+ "component": "Table",
226
+ "children": [
227
+ "column-2",
228
+ "column-6"
229
+ ]
230
+ },
231
+ {
232
+ "id": "accounts-table",
233
+ "component": "Table",
234
+ "raw": true,
235
+ "sortable": true,
236
+ "children": [
237
+ "table"
238
+ ]
239
+ },
240
+ {
241
+ "id": "section",
242
+ "component": "Section",
243
+ "bleed": true,
244
+ "children": [
245
+ "column-19"
246
+ ]
247
+ },
248
+ {
249
+ "id": "column-19",
250
+ "component": "Column",
251
+ "children": [
252
+ "accounts-table"
253
+ ]
254
+ },
255
+ {
256
+ "id": "card",
257
+ "component": "Card",
258
+ "children": [
259
+ "section"
260
+ ]
261
+ },
262
+ {
263
+ "id": "root",
264
+ "component": "Column",
265
+ "gap": "0",
266
+ "children": [
267
+ "table-toolbar",
268
+ "card"
269
+ ]
270
+ }
271
+ ]
272
+ }
@@ -0,0 +1,183 @@
1
+ {
2
+ "name": "table-toolbar-chrome-only-empty",
3
+ "kind": "block",
4
+ "primary": "div",
5
+ "page": "/packages/web-components/components/table-toolbar/table-toolbar.examples.html",
6
+ "slots": [],
7
+ "nested": [],
8
+ "attrs": {
9
+ "data-artifact-item": "",
10
+ "data-artifact-label": "chrome-only + empty slot — adiav2 row, zero-results state"
11
+ },
12
+ "html": "<col-ui gap=\"0\">\n <table-toolbar-ui for=\"accounts-empty-table\" chrome-only range-total=\"0\">\n <select-ui slot=\"scope\" size=\"sm\" aria-label=\"Scope\">\n <option value=\"all\" selected>All accounts</option>\n <option value=\"mine\">My accounts</option>\n </select-ui>\n <span slot=\"empty\">No accounts match your filters.</span>\n <button-ui slot=\"actions-leading\" text=\"Filter\" icon=\"funnel-simple\" variant=\"ghost\" size=\"sm\"></button-ui>\n <button-ui slot=\"actions-leading\" text=\"Columns\" icon=\"columns\" variant=\"ghost\" size=\"sm\"></button-ui>\n <button-ui slot=\"actions\" text=\"New account\" icon=\"plus\" variant=\"primary\" size=\"sm\"></button-ui>\n </table-toolbar-ui>\n <card-ui>\n <section bleed>\n <table-ui id=\"accounts-empty-table\" sortable raw>\n <table>\n <thead><tr><th>Account</th><th>Owner</th><th>Status</th></tr></thead>\n <tbody></tbody>\n </table>\n </table-ui>\n </section>\n </card-ui>\n </col-ui>",
13
+ "source": "packages/web-components/components/table-toolbar/table-toolbar.examples.html",
14
+ "metadata": {
15
+ "domain": "data",
16
+ "description": "ADR-0076's chrome-only attribute (ADIA2-9123) replacing the stacked no-filter/no-sort/no-columns/no-search on the ratified adiav2 row — one attribute suppresses all four native controls/search at once, pure absolute OR, no partial re-enable while set. Also demonstrates the empty slot (REQ-E): range-total=&quot;0&quot; explicitly present renders the slotted message in the range-summary's own position, never a layout shift versus the normal Showing X-Y of N text. The actions-leading Filter/Columns triggers still render and stay pushed to the trailing edge (REQ-C-004's margin-inline-start:auto invariant, AC-010b).",
17
+ "keywords": [
18
+ "table",
19
+ "toolbar",
20
+ "chrome-only",
21
+ "empty",
22
+ "slot",
23
+ "zero",
24
+ "results",
25
+ "no",
26
+ "results",
27
+ "adiav2",
28
+ "pure",
29
+ "or",
30
+ "attribute",
31
+ "grammar",
32
+ "adr-0076"
33
+ ]
34
+ },
35
+ "captured_at": "2026-08-18T21:15:20.635Z",
36
+ "template": [
37
+ {
38
+ "id": "scope",
39
+ "component": "ChoicePicker",
40
+ "slot": "scope",
41
+ "size": "sm",
42
+ "label": "Scope",
43
+ "options": [
44
+ {
45
+ "value": "all",
46
+ "label": "All accounts"
47
+ },
48
+ {
49
+ "value": "mine",
50
+ "label": "My accounts"
51
+ }
52
+ ],
53
+ "value": "all"
54
+ },
55
+ {
56
+ "id": "text",
57
+ "component": "Text",
58
+ "variant": "body",
59
+ "slot": "empty",
60
+ "textContent": "No accounts match your filters."
61
+ },
62
+ {
63
+ "id": "button",
64
+ "component": "Button",
65
+ "slot": "actions-leading",
66
+ "icon": "funnel-simple",
67
+ "size": "sm",
68
+ "text": "Filter",
69
+ "variant": "ghost"
70
+ },
71
+ {
72
+ "id": "button-2",
73
+ "component": "Button",
74
+ "slot": "actions-leading",
75
+ "icon": "columns",
76
+ "size": "sm",
77
+ "text": "Columns",
78
+ "variant": "ghost"
79
+ },
80
+ {
81
+ "id": "button-3",
82
+ "component": "Button",
83
+ "slot": "actions",
84
+ "icon": "plus",
85
+ "size": "sm",
86
+ "text": "New account",
87
+ "variant": "primary"
88
+ },
89
+ {
90
+ "id": "table-toolbar",
91
+ "component": "TableToolbar",
92
+ "chromeOnly": true,
93
+ "for": "accounts-empty-table",
94
+ "rangeTotal": 0,
95
+ "children": [
96
+ "scope",
97
+ "text",
98
+ "button",
99
+ "button-2",
100
+ "button-3"
101
+ ]
102
+ },
103
+ {
104
+ "id": "text-2",
105
+ "component": "Text",
106
+ "textContent": "Account",
107
+ "variant": "body"
108
+ },
109
+ {
110
+ "id": "text-3",
111
+ "component": "Text",
112
+ "textContent": "Owner",
113
+ "variant": "body"
114
+ },
115
+ {
116
+ "id": "text-4",
117
+ "component": "Text",
118
+ "textContent": "Status",
119
+ "variant": "body"
120
+ },
121
+ {
122
+ "id": "column-2",
123
+ "component": "Column",
124
+ "children": [
125
+ "text-2",
126
+ "text-3",
127
+ "text-4"
128
+ ]
129
+ },
130
+ {
131
+ "id": "column-6",
132
+ "component": "Column"
133
+ },
134
+ {
135
+ "id": "table",
136
+ "component": "Table",
137
+ "children": [
138
+ "column-2",
139
+ "column-6"
140
+ ]
141
+ },
142
+ {
143
+ "id": "accounts-empty-table",
144
+ "component": "Table",
145
+ "raw": true,
146
+ "sortable": true,
147
+ "children": [
148
+ "table"
149
+ ]
150
+ },
151
+ {
152
+ "id": "section",
153
+ "component": "Section",
154
+ "bleed": true,
155
+ "children": [
156
+ "column-7"
157
+ ]
158
+ },
159
+ {
160
+ "id": "column-7",
161
+ "component": "Column",
162
+ "children": [
163
+ "accounts-empty-table"
164
+ ]
165
+ },
166
+ {
167
+ "id": "card",
168
+ "component": "Card",
169
+ "children": [
170
+ "section"
171
+ ]
172
+ },
173
+ {
174
+ "id": "root",
175
+ "component": "Column",
176
+ "gap": "0",
177
+ "children": [
178
+ "table-toolbar",
179
+ "card"
180
+ ]
181
+ }
182
+ ]
183
+ }
@@ -6,7 +6,7 @@
6
6
  "slots": [],
7
7
  "nested": [],
8
8
  "attrs": {},
9
- "html": "<section>\n <card-ui raw align=\"center\">\n <section>\n <col-ui gap=\"4\" align=\"center\">\n <blockquote-ui cite=\"Marco Rossi, VP Engineering at Globex\">\n <text-ui size=\"lg\">Shipping a polished generative-UI surface used to take us a sprint. With AdiaUI it takes an afternoon — the primitives just compose, and the output is production-grade on the first pass.</text-ui>\n </blockquote-ui>\n <row-ui gap=\"3\" align=\"center\">\n <avatar-ui text=\"Marco Rossi\" size=\"md\"></avatar-ui>\n <col-ui gap=\"0\">\n <text-ui strong size=\"sm\">Marco Rossi</text-ui>\n <text-ui size=\"sm\" color=\"subtle\">VP Engineering, Globex</text-ui>\n </col-ui>\n </row-ui>\n </col-ui>\n </section>\n </card-ui>\n </section>",
9
+ "html": "<section>\n <card-ui raw>\n <section>\n <col-ui gap=\"4\" align=\"center\">\n <blockquote-ui cite=\"Marco Rossi, VP Engineering at Globex\">\n <text-ui size=\"lg\">Shipping a polished generative-UI surface used to take us a sprint. With AdiaUI it takes an afternoon — the primitives just compose, and the output is production-grade on the first pass.</text-ui>\n </blockquote-ui>\n <row-ui gap=\"3\" align=\"center\">\n <avatar-ui text=\"Marco Rossi\" size=\"md\"></avatar-ui>\n <col-ui gap=\"0\">\n <text-ui strong size=\"sm\">Marco Rossi</text-ui>\n <text-ui size=\"sm\" color=\"subtle\">VP Engineering, Globex</text-ui>\n </col-ui>\n </row-ui>\n </col-ui>\n </section>\n </card-ui>\n </section>",
10
10
  "source": "catalog/ui-patterns/v050-content-blocks/v050-content-blocks.contents.html",
11
11
  "metadata": {
12
12
  "domain": "marketing",
@@ -46,7 +46,7 @@
46
46
  "mouth"
47
47
  ]
48
48
  },
49
- "captured_at": "2026-08-15T04:10:49.553Z",
49
+ "captured_at": "2026-08-18T02:07:20.228Z",
50
50
  "template": [
51
51
  {
52
52
  "id": "text",
@@ -52,7 +52,7 @@
52
52
  "form": "url-import"
53
53
  }
54
54
  },
55
- "captured_at": "2026-08-10T18:10:27.206Z",
55
+ "captured_at": "2026-08-19T03:56:11.704Z",
56
56
  "template": [
57
57
  {
58
58
  "id": "text",
@@ -584,7 +584,7 @@
584
584
  "component": "Button",
585
585
  "slot": "action",
586
586
  "type": "button",
587
- "icon": "arrow-right",
587
+ "icon-trailing": "arrow-right",
588
588
  "text": "Set up",
589
589
  "variant": "ghost",
590
590
  "data-edit": "typography"