@adia-ai/gen-ui 0.8.44 → 0.8.46
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.
- package/CHANGELOG.md +16 -0
- package/compose/strategies/free-form-composer/index.js +36 -2
- package/corpus/chunk-embeddings.json +1 -1
- package/corpus/chunks/_index.json +456 -4
- package/corpus/chunks/_source-hashes.json +67 -64
- package/corpus/chunks/chart-in-card-full-bleed-chip-legend.json +115 -0
- package/corpus/chunks/new-enrollments-area.json +158 -0
- package/corpus/chunks/new-enrollments-radial-bar.json +157 -0
- package/corpus/chunks/new-enrollments-sparkline.json +243 -0
- package/corpus/chunks/new-enrollments-stacked-bar.json +182 -0
- package/corpus/chunks/table-footer-client-mode.json +56 -0
- package/corpus/chunks/table-footer-count-only.json +40 -0
- package/corpus/chunks/table-footer-empty.json +49 -0
- package/corpus/chunks/table-footer-server-mode.json +136 -0
- package/corpus/chunks/table-footer-single-page.json +41 -0
- package/corpus/chunks/table-in-card-client-mode.json +115 -0
- package/corpus/chunks/table-in-card-empty.json +123 -0
- package/corpus/chunks/table-in-card-loading.json +111 -0
- package/corpus/chunks/table-in-card-server-mode.json +131 -0
- package/corpus/chunks/table-toolbar-adiav2-row.json +7 -5
- package/corpus/chunks/table-toolbar-chrome-only-empty.json +7 -5
- package/corpus/chunks/table-with-toolbar-in-card-header.json +89 -0
- package/corpus/manifest.json +4 -4
- package/package.json +1 -1
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "table-in-card-server-mode",
|
|
3
|
+
"kind": "block",
|
|
4
|
+
"primary": "div",
|
|
5
|
+
"page": "/packages/web-components/patterns/table-in-card/table-in-card.examples.html",
|
|
6
|
+
"slots": [],
|
|
7
|
+
"nested": [],
|
|
8
|
+
"attrs": {
|
|
9
|
+
"data-artifact-item": "",
|
|
10
|
+
"data-artifact-label": "Metabolic Tests — server-mode, canonical composition"
|
|
11
|
+
},
|
|
12
|
+
"html": "<card-ui style=\"max-width:720px;\">\n <header>\n <span slot=\"heading\">Metabolic Tests</span>\n <button-ui slot=\"action\" variant=\"primary\" size=\"sm\" icon=\"plus\" text=\"New test\"></button-ui>\n </header>\n <section>\n <table-toolbar-ui for=\"pat-tests\" count=\"128\" placeholder=\"Search tests…\"></table-toolbar-ui>\n </section>\n <section bleed>\n <table-ui id=\"pat-tests\" sortable></table-ui>\n </section>\n <footer divider>\n <table-footer-ui for=\"pat-tests\" page=\"1\" page-size=\"10\" range-total=\"128\"></table-footer-ui>\n </footer>\n </card-ui>",
|
|
13
|
+
"source": "packages/web-components/patterns/table-in-card/table-in-card.examples.html",
|
|
14
|
+
"metadata": {
|
|
15
|
+
"domain": "data",
|
|
16
|
+
"description": "Metabolic Tests card — card header with title and New test action, title-less toolbar with count/search/filter/sort/columns, bleed table with status-dot/sortable-name/patient/date/status-badge/tag-chips/kebab-actions columns, and a footer with range label and pager (server-mode, gh#1754 Shape 1).",
|
|
17
|
+
"keywords": [
|
|
18
|
+
"table",
|
|
19
|
+
"card",
|
|
20
|
+
"toolbar",
|
|
21
|
+
"footer",
|
|
22
|
+
"pagination",
|
|
23
|
+
"metabolic",
|
|
24
|
+
"tests",
|
|
25
|
+
"status",
|
|
26
|
+
"dot",
|
|
27
|
+
"badge",
|
|
28
|
+
"tags",
|
|
29
|
+
"kebab",
|
|
30
|
+
"actions",
|
|
31
|
+
"server",
|
|
32
|
+
"mode",
|
|
33
|
+
"data",
|
|
34
|
+
"grid",
|
|
35
|
+
"healthcare"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"captured_at": "2026-08-21T02:53:19.885Z",
|
|
39
|
+
"template": [
|
|
40
|
+
{
|
|
41
|
+
"id": "text",
|
|
42
|
+
"component": "Text",
|
|
43
|
+
"variant": "body",
|
|
44
|
+
"slot": "heading",
|
|
45
|
+
"textContent": "Metabolic Tests"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "button",
|
|
49
|
+
"component": "Button",
|
|
50
|
+
"slot": "action",
|
|
51
|
+
"icon": "plus",
|
|
52
|
+
"size": "sm",
|
|
53
|
+
"text": "New test",
|
|
54
|
+
"variant": "primary"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"id": "header",
|
|
58
|
+
"component": "Header",
|
|
59
|
+
"children": [
|
|
60
|
+
"text",
|
|
61
|
+
"button"
|
|
62
|
+
]
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"id": "table-toolbar",
|
|
66
|
+
"component": "TableToolbar",
|
|
67
|
+
"count": "128",
|
|
68
|
+
"for": "pat-tests",
|
|
69
|
+
"placeholder": "Search tests…"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"id": "section",
|
|
73
|
+
"component": "Section",
|
|
74
|
+
"children": [
|
|
75
|
+
"table-toolbar"
|
|
76
|
+
]
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"id": "pat-tests",
|
|
80
|
+
"component": "Table",
|
|
81
|
+
"sortable": true
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"id": "section-2",
|
|
85
|
+
"component": "Section",
|
|
86
|
+
"bleed": true,
|
|
87
|
+
"children": [
|
|
88
|
+
"pat-tests"
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"id": "table-footer",
|
|
93
|
+
"component": "TableFooter",
|
|
94
|
+
"for": "pat-tests",
|
|
95
|
+
"page": 1,
|
|
96
|
+
"page-size": 10,
|
|
97
|
+
"range-total": 128
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"id": "footer",
|
|
101
|
+
"component": "Footer",
|
|
102
|
+
"children": [
|
|
103
|
+
"table-footer"
|
|
104
|
+
]
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"id": "column",
|
|
108
|
+
"component": "Column",
|
|
109
|
+
"children": [
|
|
110
|
+
"section",
|
|
111
|
+
"section-2"
|
|
112
|
+
]
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"id": "section-3",
|
|
116
|
+
"component": "Section",
|
|
117
|
+
"children": [
|
|
118
|
+
"column"
|
|
119
|
+
]
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"id": "root",
|
|
123
|
+
"component": "Card",
|
|
124
|
+
"children": [
|
|
125
|
+
"header",
|
|
126
|
+
"section-3",
|
|
127
|
+
"footer"
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
]
|
|
131
|
+
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"data-artifact-item": "",
|
|
10
10
|
"data-artifact-label": "adiav2 list-page toolbar row — scope + range summary + actions-leading + page-size"
|
|
11
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\"
|
|
12
|
+
"html": "<col-ui gap=\"0\">\n <table-toolbar-ui for=\"accounts-table\" text=\"Accounts\" 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 <!-- gh#1748: [label]+[label-hidden] (not a raw [aria-label]) is the\n ratified pattern — keeps \"Scope\" as the accessible name while\n suppressing the redundant visible text next to the toolbar's\n own title (mirrors check-ui's [label-hidden], gh#1010). -->\n <select-ui slot=\"scope\" size=\"sm\" label=\"Scope\" label-hidden>\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
13
|
"source": "packages/web-components/components/table-toolbar/table-toolbar.examples.html",
|
|
14
14
|
"metadata": {
|
|
15
15
|
"domain": "data",
|
|
@@ -31,14 +31,15 @@
|
|
|
31
31
|
"page"
|
|
32
32
|
]
|
|
33
33
|
},
|
|
34
|
-
"captured_at": "2026-08-
|
|
34
|
+
"captured_at": "2026-08-20T15:26:08.678Z",
|
|
35
35
|
"template": [
|
|
36
36
|
{
|
|
37
|
-
"id": "
|
|
37
|
+
"id": "choice-picker",
|
|
38
38
|
"component": "ChoicePicker",
|
|
39
39
|
"slot": "scope",
|
|
40
|
-
"size": "sm",
|
|
41
40
|
"label": "Scope",
|
|
41
|
+
"label-hidden": true,
|
|
42
|
+
"size": "sm",
|
|
42
43
|
"options": [
|
|
43
44
|
{
|
|
44
45
|
"value": "all",
|
|
@@ -96,8 +97,9 @@
|
|
|
96
97
|
"rangeEnd": 25,
|
|
97
98
|
"rangeStart": 1,
|
|
98
99
|
"rangeTotal": 320,
|
|
100
|
+
"text": "Accounts",
|
|
99
101
|
"children": [
|
|
100
|
-
"
|
|
102
|
+
"choice-picker",
|
|
101
103
|
"button",
|
|
102
104
|
"button-2",
|
|
103
105
|
"button-3"
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"data-artifact-item": "",
|
|
10
10
|
"data-artifact-label": "chrome-only + empty slot — adiav2 row, zero-results state"
|
|
11
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\"
|
|
12
|
+
"html": "<col-ui gap=\"0\">\n <table-toolbar-ui for=\"accounts-empty-table\" text=\"Accounts\" chrome-only range-total=\"0\">\n <select-ui slot=\"scope\" size=\"sm\" label=\"Scope\" label-hidden>\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
13
|
"source": "packages/web-components/components/table-toolbar/table-toolbar.examples.html",
|
|
14
14
|
"metadata": {
|
|
15
15
|
"domain": "data",
|
|
@@ -32,14 +32,15 @@
|
|
|
32
32
|
"adr-0076"
|
|
33
33
|
]
|
|
34
34
|
},
|
|
35
|
-
"captured_at": "2026-08-
|
|
35
|
+
"captured_at": "2026-08-20T15:26:08.678Z",
|
|
36
36
|
"template": [
|
|
37
37
|
{
|
|
38
|
-
"id": "
|
|
38
|
+
"id": "choice-picker",
|
|
39
39
|
"component": "ChoicePicker",
|
|
40
40
|
"slot": "scope",
|
|
41
|
-
"size": "sm",
|
|
42
41
|
"label": "Scope",
|
|
42
|
+
"label-hidden": true,
|
|
43
|
+
"size": "sm",
|
|
43
44
|
"options": [
|
|
44
45
|
{
|
|
45
46
|
"value": "all",
|
|
@@ -92,8 +93,9 @@
|
|
|
92
93
|
"chromeOnly": true,
|
|
93
94
|
"for": "accounts-empty-table",
|
|
94
95
|
"rangeTotal": 0,
|
|
96
|
+
"text": "Accounts",
|
|
95
97
|
"children": [
|
|
96
|
-
"
|
|
98
|
+
"choice-picker",
|
|
97
99
|
"text",
|
|
98
100
|
"button",
|
|
99
101
|
"button-2",
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "table-with-toolbar-in-card-header",
|
|
3
|
+
"kind": "block",
|
|
4
|
+
"primary": "div",
|
|
5
|
+
"page": "/packages/web-components/components/table/table.examples.html",
|
|
6
|
+
"slots": [],
|
|
7
|
+
"nested": [],
|
|
8
|
+
"attrs": {
|
|
9
|
+
"data-artifact-item": "",
|
|
10
|
+
"data-artifact-label": "table with toolbar inside card header"
|
|
11
|
+
},
|
|
12
|
+
"html": "<col-ui gap=\"0\">\n <card-ui>\n <header>\n <!-- table-toolbar-ui is header's ONLY child here — no\n slot=\"heading\"/\"action\" siblings. card.css's header grid\n only activates via :has(> [slot]); with no slotted sibling\n present the header stays plain block flow, so the toolbar\n (a display:block host) stretches to the header's full\n width exactly as it would as a preceding sibling above the\n card. Pairing it WITH a slot=\"heading\"/\"action\" child flips\n the header into grid mode, where the unslotted-child rule\n (grid-column:1/-1; justify-self:center) shrinks the\n toolbar to its own content width and collapses its\n flex-row layout — verified broken in a real browser, not\n a theoretical conflict. Choose this shape when the toolbar\n IS the header (no separate title/action row needed);\n keep the sibling-above-card pattern above when the card\n header needs its own heading/action slots alongside a\n toolbar. -->\n <table-toolbar-ui id=\"compound-table-header-toolbar\" for=\"compound-table-header\" text=\"Team members\" count=\"24\" placeholder=\"Search members…\"></table-toolbar-ui>\n </header>\n <section bleed>\n <!-- Hydrated by table.examples.js — inline <table> children\n would be foster-parented out of the custom element by the\n HTML parser; columns + data set via JS instead. -->\n <table-ui id=\"compound-table-header\" sortable selectable></table-ui>\n </section>\n </card-ui>\n </col-ui>",
|
|
13
|
+
"source": "packages/web-components/components/table/table.examples.html",
|
|
14
|
+
"metadata": {
|
|
15
|
+
"domain": "data",
|
|
16
|
+
"description": "Data table with the toolbar living INSIDE card-ui's own header — table-toolbar-ui as header's sole child instead of a sibling above the card. Verified in a rendered browser to lay out identically to the sibling-toolbar pattern (full-width, same clusters) as long as the header carries no other slot=heading/action content; mixing table-toolbar-ui with the header's own heading/action slots collapses the toolbar's flex row to zero width (card.css's :has(>[slot]) grid + unslotted-child centering rule) and is NOT supported.",
|
|
17
|
+
"keywords": [
|
|
18
|
+
"table",
|
|
19
|
+
"toolbar",
|
|
20
|
+
"card",
|
|
21
|
+
"header",
|
|
22
|
+
"search",
|
|
23
|
+
"filter",
|
|
24
|
+
"sort",
|
|
25
|
+
"data",
|
|
26
|
+
"grid",
|
|
27
|
+
"employees",
|
|
28
|
+
"members",
|
|
29
|
+
"sortable",
|
|
30
|
+
"selectable",
|
|
31
|
+
"nested"
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
"captured_at": "2026-08-20T15:09:34.912Z",
|
|
35
|
+
"template": [
|
|
36
|
+
{
|
|
37
|
+
"id": "compound-table-header-toolbar",
|
|
38
|
+
"component": "TableToolbar",
|
|
39
|
+
"count": "24",
|
|
40
|
+
"for": "compound-table-header",
|
|
41
|
+
"placeholder": "Search members…",
|
|
42
|
+
"text": "Team members"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": "header",
|
|
46
|
+
"component": "Header",
|
|
47
|
+
"children": [
|
|
48
|
+
"compound-table-header-toolbar"
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"id": "compound-table-header",
|
|
53
|
+
"component": "Table",
|
|
54
|
+
"selectable": true,
|
|
55
|
+
"sortable": true
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"id": "section",
|
|
59
|
+
"component": "Section",
|
|
60
|
+
"bleed": true,
|
|
61
|
+
"children": [
|
|
62
|
+
"column"
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"id": "column",
|
|
67
|
+
"component": "Column",
|
|
68
|
+
"children": [
|
|
69
|
+
"compound-table-header"
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"id": "card",
|
|
74
|
+
"component": "Card",
|
|
75
|
+
"children": [
|
|
76
|
+
"header",
|
|
77
|
+
"section"
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"id": "root",
|
|
82
|
+
"component": "Column",
|
|
83
|
+
"gap": "0",
|
|
84
|
+
"children": [
|
|
85
|
+
"card"
|
|
86
|
+
]
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
}
|
package/corpus/manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adia-ai/gen-ui",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.46",
|
|
4
4
|
"description": "AdiaUI generative-UI system — compose strategies, retrieval, the harvested training corpus, and catalog-aware + LLM-judge validation. Emits A2UI protocol messages; pairs with @adia-ai/a2ui (the protocol runtime). Folded from @adia-ai/a2ui-{compose,retrieval,corpus} + the catalog/semantic halves of the former @adia-ai/a2ui-validator (ADR-0048).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./compose/index.js",
|