@adia-ai/gen-ui 0.8.39 → 0.8.41
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 +19 -0
- package/README.md +1 -1
- package/compose/transpiler/transpiler-maps.js +54 -4
- package/corpus/chunk-embeddings.json +1 -1
- package/corpus/chunks/_index.json +288 -6
- package/corpus/chunks/_source-hashes.json +57 -57
- package/corpus/chunks/admin-shell-rounded-borderless.json +2 -1
- package/corpus/chunks/admin-topbar-search.json +4 -4
- package/corpus/chunks/agent-activity-feed.json +5 -5
- package/corpus/chunks/agent-prompt-library-grid.json +4 -4
- package/corpus/chunks/agent-rate-limit.json +1 -1
- package/corpus/chunks/agent-reasoning-collapsed.json +7 -7
- package/corpus/chunks/auth-new-password-form.json +1 -1
- package/corpus/chunks/auth-new-password.json +1 -1
- package/corpus/chunks/billing-overview.json +14 -14
- package/corpus/chunks/billing-progress-label.json +16 -16
- package/corpus/chunks/conversion-funnel-4-step-funnel.json +11 -11
- package/corpus/chunks/conversion-funnel-6step.json +17 -17
- package/corpus/chunks/conversion-funnel-wide-summary.json +11 -11
- package/corpus/chunks/conversion-funnel-with-segment-compare.json +11 -11
- package/corpus/chunks/dashboard-admin-page.json +2 -2
- package/corpus/chunks/dashboard-conversion-panel.json +10 -10
- package/corpus/chunks/dashboard-funnel.json +11 -11
- package/corpus/chunks/dashboard-overview-panel.json +13 -13
- package/corpus/chunks/dashboard-storage-card.json +14 -14
- package/corpus/chunks/dashboard-team-actions-storage.json +13 -13
- package/corpus/chunks/date-range-picker-canonical.json +51 -0
- package/corpus/chunks/date-range-picker-comparison.json +50 -0
- package/corpus/chunks/date-time-picker-form.json +5 -6
- package/corpus/chunks/drawer-report.json +5 -6
- package/corpus/chunks/filter-bar-filter-bar-with-table.json +4 -4
- package/corpus/chunks/form-system-live-demo.json +1 -1
- package/corpus/chunks/image-thumbnail-grid.json +5 -5
- package/corpus/chunks/inline-dialog-schedule.json +4 -6
- package/corpus/chunks/list-window-chat-thread.json +76 -0
- package/corpus/chunks/list-window-loading.json +39 -0
- package/corpus/chunks/loading-skeleton-placeholder.json +11 -11
- package/corpus/chunks/map-with-location-list.json +3 -3
- package/corpus/chunks/members-active-table-search-filter.json +4 -6
- package/corpus/chunks/patient-visit-shell.json +1 -1
- package/corpus/chunks/permissions-share-people.json +4 -4
- package/corpus/chunks/playground-app-shell.json +2 -1
- package/corpus/chunks/progress-tracker-milestones.json +1 -1
- package/corpus/chunks/rating-stars-review-summary.json +1 -1
- package/corpus/chunks/real-time-metrics-dashboard.json +1 -1
- package/corpus/chunks/search-with-filters.json +4 -4
- package/corpus/chunks/spinner-button-saving.json +50 -0
- package/corpus/chunks/spinner-button-uploading.json +49 -0
- package/corpus/chunks/spinner-centered-card.json +36 -0
- package/corpus/chunks/spinner-typing-indicator.json +41 -0
- package/corpus/chunks/time-picker-appointment-form.json +126 -0
- package/corpus/chunks/time-picker-min-max.json +50 -0
- package/corpus/chunks/timeline-events.json +3 -3
- package/corpus/chunks/timezone-selector-preview.json +3 -4
- package/corpus/chunks/usage-quota-meter-card.json +1 -1
- package/corpus/chunks/user-onboarding-checklist.json +1 -1
- package/corpus/chunks/video-player-controls.json +1 -1
- package/corpus/manifest.json +4 -4
- package/package.json +1 -1
- package/retrieval/README.md +1 -1
- package/retrieval/catalog.js +67 -40
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "date-range-picker-comparison",
|
|
3
|
+
"kind": "block",
|
|
4
|
+
"primary": "field-ui",
|
|
5
|
+
"page": "/packages/web-components/components/date-range-picker/date-range-picker.examples.html",
|
|
6
|
+
"slots": [],
|
|
7
|
+
"nested": [],
|
|
8
|
+
"attrs": {
|
|
9
|
+
"label": "Analytics period"
|
|
10
|
+
},
|
|
11
|
+
"html": "<field-ui\n label=\"Analytics period\">\n <date-range-picker-ui\n name=\"period\"\n comparison\n value='{\"from\":\"2026-05-01\",\"to\":\"2026-05-31\"}'\n compare-value='{\"from\":\"2026-04-01\",\"to\":\"2026-04-30\"}'>\n </date-range-picker-ui>\n </field-ui>",
|
|
12
|
+
"source": "packages/web-components/components/date-range-picker/date-range-picker.examples.html",
|
|
13
|
+
"metadata": {
|
|
14
|
+
"domain": "data",
|
|
15
|
+
"description": "Analytics comparison filter — field-ui wrapping a comparison-mode date-range-picker, pairing a primary period with a 'Previous period' compare value. Standard analytics/report filter pattern.",
|
|
16
|
+
"keywords": [
|
|
17
|
+
"date",
|
|
18
|
+
"range",
|
|
19
|
+
"picker",
|
|
20
|
+
"comparison",
|
|
21
|
+
"analytics",
|
|
22
|
+
"period",
|
|
23
|
+
"previous",
|
|
24
|
+
"compare",
|
|
25
|
+
"filter",
|
|
26
|
+
"dashboard",
|
|
27
|
+
"report",
|
|
28
|
+
"field"
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
"captured_at": "2026-08-17T03:07:15.316Z",
|
|
32
|
+
"template": [
|
|
33
|
+
{
|
|
34
|
+
"id": "period",
|
|
35
|
+
"component": "DateRangePicker",
|
|
36
|
+
"compareValue": "{\"from\":\"2026-04-01\",\"to\":\"2026-04-30\"}",
|
|
37
|
+
"comparison": true,
|
|
38
|
+
"name": "period",
|
|
39
|
+
"value": "{\"from\":\"2026-05-01\",\"to\":\"2026-05-31\"}"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "root",
|
|
43
|
+
"component": "Field",
|
|
44
|
+
"label": "Analytics period",
|
|
45
|
+
"children": [
|
|
46
|
+
"period"
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"radio-button-group"
|
|
9
9
|
],
|
|
10
10
|
"attrs": {},
|
|
11
|
-
"html": "<card-ui>\n <header>\n <h3>Schedule meeting</h3>\n </header>\n <section>\n <col-ui gap=\"4\">\n <grid-ui columns=\"1 2@sm\" gap=\"3\">\n <field-ui label=\"Date\">\n <calendar-picker-ui></calendar-picker-ui>\n </field-ui>\n <field-ui label=\"Time\">\n <
|
|
11
|
+
"html": "<card-ui>\n <header>\n <h3>Schedule meeting</h3>\n </header>\n <section>\n <col-ui gap=\"4\">\n <grid-ui columns=\"1 2@sm\" gap=\"3\">\n <field-ui label=\"Date\">\n <calendar-picker-ui></calendar-picker-ui>\n </field-ui>\n <field-ui label=\"Time\">\n <time-picker-ui value=\"14:30\"></time-picker-ui>\n </field-ui>\n </grid-ui>\n <field-ui label=\"Timezone\">\n <select-ui>\n <option>America/New_York</option>\n <option>America/Los_Angeles</option>\n <option>Europe/London</option>\n <option>Asia/Tokyo</option>\n </select-ui>\n </field-ui>\n <field-ui label=\"Repeats\"><!-- nested: radio-button-group --></field-ui>\n </col-ui>\n </section>\n <footer>\n <row-ui gap=\"3\">\n <button-ui text=\"Cancel\" variant=\"outline\"></button-ui>\n <button-ui text=\"Schedule\" variant=\"primary\"></button-ui>\n </row-ui>\n </footer>\n </card-ui>",
|
|
12
12
|
"source": "catalog/ui-patterns/v050-form-blocks/v050-form-blocks.contents.html",
|
|
13
13
|
"metadata": {
|
|
14
14
|
"domain": "forms",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"card"
|
|
28
28
|
]
|
|
29
29
|
},
|
|
30
|
-
"captured_at": "2026-
|
|
30
|
+
"captured_at": "2026-08-16T23:54:36.437Z",
|
|
31
31
|
"template": [
|
|
32
32
|
{
|
|
33
33
|
"id": "text",
|
|
@@ -55,9 +55,8 @@
|
|
|
55
55
|
]
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
|
-
"id": "
|
|
59
|
-
"component": "
|
|
60
|
-
"type": "time",
|
|
58
|
+
"id": "time-picker",
|
|
59
|
+
"component": "TimePicker",
|
|
61
60
|
"value": "14:30"
|
|
62
61
|
},
|
|
63
62
|
{
|
|
@@ -65,7 +64,7 @@
|
|
|
65
64
|
"component": "Field",
|
|
66
65
|
"label": "Time",
|
|
67
66
|
"children": [
|
|
68
|
-
"
|
|
67
|
+
"time-picker"
|
|
69
68
|
]
|
|
70
69
|
},
|
|
71
70
|
{
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"side": "right",
|
|
10
10
|
"size": "md"
|
|
11
11
|
},
|
|
12
|
-
"html": "<drawer-ui id=\"drawer-report\" side=\"right\" size=\"md\">\n <header>\n <span slot=\"icon\">\n <avatar-ui icon=\"chart-line\"></avatar-ui>\n </span>\n <span slot=\"heading\">\n <text-ui strong data-report-name>Report</text-ui>\n <badge-ui data-report-status text=\"Active\" variant=\"success\"></badge-ui>\n </span>\n <span slot=\"action\"></span>\n </header>\n <section>\n <text-ui color=\"subtle\" size=\"sm\" data-report-meta>Scheduled delivery configuration.</text-ui>\n </section>\n <section>\n <col-ui gap=\"4\">\n <grid-ui columns=\"1 2@sm\" gap=\"3\">\n <card-ui\n ><section><stat-ui label=\"Last run\" data-report-last value=\"—\"></stat-ui></section\n ></card-ui>\n <card-ui\n ><section><stat-ui label=\"Recipients\" data-report-recipients value=\"—\"></stat-ui></section\n ></card-ui>\n </grid-ui>\n <divider-ui></divider-ui>\n <col-ui gap=\"3\">\n <text-ui strong>Schedule</text-ui>\n <field-ui label=\"Frequency\">\n <select-ui value=\"weekly\">\n <option value=\"hourly\">Hourly</option>\n <option value=\"daily\">Daily</option>\n <option value=\"weekly\">Weekly</option>\n <option value=\"monthly\">Monthly</option>\n <option value=\"realtime\">Real-time (triggered)</option>\n </select-ui>\n </field-ui>\n <row-ui gap=\"2\">\n <field-ui label=\"Day\">\n <select-ui value=\"mon\" grow>\n <option value=\"mon\">Monday</option>\n <option value=\"tue\">Tuesday</option>\n <option value=\"wed\">Wednesday</option>\n <option value=\"thu\">Thursday</option>\n <option value=\"fri\">Friday</option>\n </select-ui>\n </field-ui>\n <field-ui label=\"Time\">\n <
|
|
12
|
+
"html": "<drawer-ui id=\"drawer-report\" side=\"right\" size=\"md\">\n <header>\n <span slot=\"icon\">\n <avatar-ui icon=\"chart-line\"></avatar-ui>\n </span>\n <span slot=\"heading\">\n <text-ui strong data-report-name>Report</text-ui>\n <badge-ui data-report-status text=\"Active\" variant=\"success\"></badge-ui>\n </span>\n <span slot=\"action\"></span>\n </header>\n <section>\n <text-ui color=\"subtle\" size=\"sm\" data-report-meta>Scheduled delivery configuration.</text-ui>\n </section>\n <section>\n <col-ui gap=\"4\">\n <grid-ui columns=\"1 2@sm\" gap=\"3\">\n <card-ui\n ><section><stat-ui label=\"Last run\" data-report-last value=\"—\"></stat-ui></section\n ></card-ui>\n <card-ui\n ><section><stat-ui label=\"Recipients\" data-report-recipients value=\"—\"></stat-ui></section\n ></card-ui>\n </grid-ui>\n <divider-ui></divider-ui>\n <col-ui gap=\"3\">\n <text-ui strong>Schedule</text-ui>\n <field-ui label=\"Frequency\">\n <select-ui value=\"weekly\">\n <option value=\"hourly\">Hourly</option>\n <option value=\"daily\">Daily</option>\n <option value=\"weekly\">Weekly</option>\n <option value=\"monthly\">Monthly</option>\n <option value=\"realtime\">Real-time (triggered)</option>\n </select-ui>\n </field-ui>\n <row-ui gap=\"2\">\n <field-ui label=\"Day\">\n <select-ui value=\"mon\" grow>\n <option value=\"mon\">Monday</option>\n <option value=\"tue\">Tuesday</option>\n <option value=\"wed\">Wednesday</option>\n <option value=\"thu\">Thursday</option>\n <option value=\"fri\">Friday</option>\n </select-ui>\n </field-ui>\n <field-ui label=\"Time\">\n <time-picker-ui value=\"09:00\" grow></time-picker-ui>\n </field-ui>\n <field-ui label=\"Timezone\">\n <select-ui value=\"utc\" grow>\n <option value=\"utc\">UTC</option>\n <option value=\"pst\">PST</option>\n <option value=\"est\">EST</option>\n <option value=\"cet\">CET</option>\n </select-ui>\n </field-ui>\n </row-ui>\n </col-ui>\n <divider-ui></divider-ui>\n <col-ui gap=\"3\">\n <text-ui strong>Delivery</text-ui>\n <field-ui label=\"Recipients\">\n <textarea-ui rows=\"2\" value=\"alex@acme.com, sarah@acme.com, finance@acme.com\" hint=\"Comma-separated email addresses.\"></textarea-ui>\n </field-ui>\n <field-ui label=\"Format\">\n <select-ui value=\"pdf\">\n <option value=\"pdf\">PDF</option>\n <option value=\"csv\">CSV</option>\n <option value=\"xlsx\">Excel (xlsx)</option>\n <option value=\"slack\">Post to Slack</option>\n </select-ui>\n </field-ui>\n <field-ui label=\"Attach raw data export\" inline>\n <switch-ui checked></switch-ui>\n </field-ui>\n <field-ui label=\"Include AI summary\" inline>\n <switch-ui></switch-ui>\n </field-ui>\n </col-ui>\n <divider-ui></divider-ui>\n <col-ui gap=\"3\">\n <text-ui strong>Scope</text-ui>\n <field-ui label=\"Date range\">\n <select-ui value=\"last-7-days\">\n <option value=\"last-24h\">Last 24 hours</option>\n <option value=\"last-7-days\">Last 7 days</option>\n <option value=\"last-30-days\">Last 30 days</option>\n <option value=\"mtd\">Month-to-date</option>\n <option value=\"custom\">Custom range</option>\n </select-ui>\n </field-ui>\n </col-ui>\n </col-ui>\n </section>\n <footer slot=\"footer\">\n <grid-ui>\n <button-ui text=\"Pause\" icon=\"pause\" variant=\"ghost\"></button-ui>\n <button-ui text=\"Run now\" icon=\"play\" variant=\"outline\"></button-ui>\n <button-ui text=\"Save changes\" variant=\"primary\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n </grid-ui>\n </footer>\n</drawer-ui>",
|
|
13
13
|
"source": "apps/saas/app/admin-dashboard/admin-dashboard.contents.html",
|
|
14
14
|
"metadata": {
|
|
15
15
|
"domain": "data",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"analytics"
|
|
25
25
|
]
|
|
26
26
|
},
|
|
27
|
-
"captured_at": "2026-
|
|
27
|
+
"captured_at": "2026-08-16T23:54:36.437Z",
|
|
28
28
|
"template": [
|
|
29
29
|
{
|
|
30
30
|
"id": "avatar",
|
|
@@ -241,9 +241,8 @@
|
|
|
241
241
|
]
|
|
242
242
|
},
|
|
243
243
|
{
|
|
244
|
-
"id": "
|
|
245
|
-
"component": "
|
|
246
|
-
"type": "time",
|
|
244
|
+
"id": "time-picker",
|
|
245
|
+
"component": "TimePicker",
|
|
247
246
|
"value": "09:00"
|
|
248
247
|
},
|
|
249
248
|
{
|
|
@@ -251,7 +250,7 @@
|
|
|
251
250
|
"component": "Field",
|
|
252
251
|
"label": "Time",
|
|
253
252
|
"children": [
|
|
254
|
-
"
|
|
253
|
+
"time-picker"
|
|
255
254
|
]
|
|
256
255
|
},
|
|
257
256
|
{
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"query"
|
|
31
31
|
]
|
|
32
32
|
},
|
|
33
|
-
"captured_at": "2026-08-
|
|
33
|
+
"captured_at": "2026-08-17T00:21:29.018Z",
|
|
34
34
|
"template": [
|
|
35
35
|
{
|
|
36
36
|
"id": "tag",
|
|
@@ -66,8 +66,8 @@
|
|
|
66
66
|
]
|
|
67
67
|
},
|
|
68
68
|
{
|
|
69
|
-
"id": "search
|
|
70
|
-
"component": "
|
|
69
|
+
"id": "search",
|
|
70
|
+
"component": "Search",
|
|
71
71
|
"placeholder": "Search…"
|
|
72
72
|
},
|
|
73
73
|
{
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"overflow": "none",
|
|
77
77
|
"children": [
|
|
78
78
|
"row",
|
|
79
|
-
"search
|
|
79
|
+
"search"
|
|
80
80
|
]
|
|
81
81
|
},
|
|
82
82
|
{
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"columns": "1 3@md",
|
|
10
10
|
"gap": "3"
|
|
11
11
|
},
|
|
12
|
-
"html": "<grid-ui\n columns=\"1 3@md\"\n gap=\"3\">\n <image-ui src=\"https://picsum.photos/seed/rev-1/480/320\" alt=\"Quarterly chart export\" radius=\"md\" style=\"aspect-ratio: 3/2\"></image-ui>\n <image-ui src=\"https://picsum.photos/seed/rev-2/480/320\" alt=\"Top account visualization\" radius=\"md\" style=\"aspect-ratio: 3/2\"></image-ui>\n <image-ui src=\"https://picsum.photos/seed/rev-3/480/320\" alt=\"Regional breakdown\" radius=\"md\" style=\"aspect-ratio: 3/2\"></image-ui>\n </grid-ui>",
|
|
12
|
+
"html": "<grid-ui\n columns=\"1 3@md\"\n gap=\"3\">\n <image-ui src=\"https://picsum.photos/seed/rev-1/480/320\" alt=\"Quarterly chart export\" corner-radius=\"md\" style=\"aspect-ratio: 3/2\"></image-ui>\n <image-ui src=\"https://picsum.photos/seed/rev-2/480/320\" alt=\"Top account visualization\" corner-radius=\"md\" style=\"aspect-ratio: 3/2\"></image-ui>\n <image-ui src=\"https://picsum.photos/seed/rev-3/480/320\" alt=\"Regional breakdown\" corner-radius=\"md\" style=\"aspect-ratio: 3/2\"></image-ui>\n </grid-ui>",
|
|
13
13
|
"source": "apps/genui/app/gen-ui-feed/gen-ui-feed.contents.html",
|
|
14
14
|
"metadata": {
|
|
15
15
|
"domain": "display",
|
|
@@ -39,27 +39,27 @@
|
|
|
39
39
|
"grid"
|
|
40
40
|
]
|
|
41
41
|
},
|
|
42
|
-
"captured_at": "2026-
|
|
42
|
+
"captured_at": "2026-08-17T03:17:46.002Z",
|
|
43
43
|
"template": [
|
|
44
44
|
{
|
|
45
45
|
"id": "image",
|
|
46
46
|
"component": "Image",
|
|
47
47
|
"alt": "Quarterly chart export",
|
|
48
|
-
"
|
|
48
|
+
"cornerRadius": "md",
|
|
49
49
|
"src": "https://picsum.photos/seed/rev-1/480/320"
|
|
50
50
|
},
|
|
51
51
|
{
|
|
52
52
|
"id": "image-2",
|
|
53
53
|
"component": "Image",
|
|
54
54
|
"alt": "Top account visualization",
|
|
55
|
-
"
|
|
55
|
+
"cornerRadius": "md",
|
|
56
56
|
"src": "https://picsum.photos/seed/rev-2/480/320"
|
|
57
57
|
},
|
|
58
58
|
{
|
|
59
59
|
"id": "image-3",
|
|
60
60
|
"component": "Image",
|
|
61
61
|
"alt": "Regional breakdown",
|
|
62
|
-
"
|
|
62
|
+
"cornerRadius": "md",
|
|
63
63
|
"src": "https://picsum.photos/seed/rev-3/480/320"
|
|
64
64
|
},
|
|
65
65
|
{
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"attrs": {
|
|
9
9
|
"placement": "bottom-start"
|
|
10
10
|
},
|
|
11
|
-
"html": "<popover-ui placement=\"bottom-start\">\n <button-ui slot=\"trigger\" icon=\"caret-down\" variant=\"primary\" size=\"sm\" aria-label=\"More send options\"></button-ui>\n <card-ui slot=\"content\" style=\"min-width: 320px;\">\n <header>\n <span slot=\"heading\" variant=\"section\">Schedule send</span>\n <text-ui slot=\"description\" color=\"subtle\">Picks the next available slot in your timezone</text-ui>\n </header>\n <section>\n <col-ui gap=\"3\">\n <field-ui label=\"Date\">\n <
|
|
11
|
+
"html": "<popover-ui placement=\"bottom-start\">\n <button-ui slot=\"trigger\" icon=\"caret-down\" variant=\"primary\" size=\"sm\" aria-label=\"More send options\"></button-ui>\n <card-ui slot=\"content\" style=\"min-width: 320px;\">\n <header>\n <span slot=\"heading\" variant=\"section\">Schedule send</span>\n <text-ui slot=\"description\" color=\"subtle\">Picks the next available slot in your timezone</text-ui>\n </header>\n <section>\n <col-ui gap=\"3\">\n <field-ui label=\"Date\">\n <calendar-picker-ui name=\"date\" value=\"2026-03-15\"></calendar-picker-ui>\n </field-ui>\n <field-ui label=\"Time\">\n <time-picker-ui name=\"time\" value=\"09:00\"></time-picker-ui>\n </field-ui>\n </col-ui>\n </section>\n <footer divider>\n <button-ui slot=\"action\" text=\"Cancel\" variant=\"ghost\" data-popover-close></button-ui>\n <button-ui slot=\"action\" text=\"Schedule\" variant=\"primary\" icon-leading=\"clock\"></button-ui>\n </footer>\n </card-ui>\n </popover-ui>",
|
|
12
12
|
"source": "packages/web-components/patterns/inline-dialog/inline-dialog.examples.html",
|
|
13
13
|
"metadata": {
|
|
14
14
|
"domain": "overlay",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"quick"
|
|
30
30
|
]
|
|
31
31
|
},
|
|
32
|
-
"captured_at": "2026-
|
|
32
|
+
"captured_at": "2026-08-16T23:54:36.437Z",
|
|
33
33
|
"template": [
|
|
34
34
|
{
|
|
35
35
|
"id": "more-send-options",
|
|
@@ -64,8 +64,7 @@
|
|
|
64
64
|
},
|
|
65
65
|
{
|
|
66
66
|
"id": "date",
|
|
67
|
-
"component": "
|
|
68
|
-
"type": "date",
|
|
67
|
+
"component": "CalendarPicker",
|
|
69
68
|
"name": "date",
|
|
70
69
|
"value": "2026-03-15"
|
|
71
70
|
},
|
|
@@ -79,8 +78,7 @@
|
|
|
79
78
|
},
|
|
80
79
|
{
|
|
81
80
|
"id": "time",
|
|
82
|
-
"component": "
|
|
83
|
-
"type": "time",
|
|
81
|
+
"component": "TimePicker",
|
|
84
82
|
"name": "time",
|
|
85
83
|
"value": "09:00"
|
|
86
84
|
},
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "list-window-chat-thread",
|
|
3
|
+
"kind": "block",
|
|
4
|
+
"primary": "list-window-ui",
|
|
5
|
+
"page": "/packages/web-components/components/list-window/list-window.examples.html",
|
|
6
|
+
"slots": [],
|
|
7
|
+
"nested": [],
|
|
8
|
+
"attrs": {
|
|
9
|
+
"item-size": "56",
|
|
10
|
+
"pin-bottom": "",
|
|
11
|
+
"overscan": "4"
|
|
12
|
+
},
|
|
13
|
+
"html": "<list-window-ui id=\"lw-chat-thread\" item-size=\"56\" pin-bottom overscan=\"4\"\n style=\"height: 320px; border: 1px solid var(--md-sys-color-neutral-outline-variant); border-radius: var(--a-radius-md);\">\n <template>\n <row-ui gap=\"2\" style=\"padding: var(--a-space-2) var(--a-space-3);\">\n <col-ui gap=\"0\">\n <text-ui weight=\"medium\" size=\"sm\">${item.author}</text-ui>\n <text-ui size=\"sm\">${item.body}</text-ui>\n </col-ui>\n </row-ui>\n </template>\n <div slot=\"after\" style=\"padding: var(--a-space-2) var(--a-space-3); border-block-start: 1px solid var(--md-sys-color-neutral-outline-variant);\">\n <row-ui gap=\"2\">\n <input-ui placeholder=\"Message…\" style=\"flex:1\"></input-ui>\n <button-ui text=\"Send\" variant=\"primary\" size=\"sm\"></button-ui>\n </row-ui>\n </div>\n </list-window-ui>",
|
|
14
|
+
"source": "packages/web-components/components/list-window/list-window.examples.html",
|
|
15
|
+
"metadata": {
|
|
16
|
+
"domain": "agent",
|
|
17
|
+
"description": "Chat-thread window — pin-bottom virtualized list templated to message rows (author + body), with a docked composer below via the after slot. Canonical pattern for large conversation histories.",
|
|
18
|
+
"keywords": [
|
|
19
|
+
"list",
|
|
20
|
+
"window",
|
|
21
|
+
"chat",
|
|
22
|
+
"thread",
|
|
23
|
+
"messages",
|
|
24
|
+
"conversation",
|
|
25
|
+
"virtualized",
|
|
26
|
+
"pin",
|
|
27
|
+
"bottom",
|
|
28
|
+
"composer",
|
|
29
|
+
"send",
|
|
30
|
+
"scroll",
|
|
31
|
+
"agent"
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
"captured_at": "2026-08-17T03:07:15.316Z",
|
|
35
|
+
"template": [
|
|
36
|
+
{
|
|
37
|
+
"id": "input",
|
|
38
|
+
"component": "Input",
|
|
39
|
+
"placeholder": "Message…"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "button",
|
|
43
|
+
"component": "Button",
|
|
44
|
+
"size": "sm",
|
|
45
|
+
"text": "Send",
|
|
46
|
+
"variant": "primary"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": "row",
|
|
50
|
+
"component": "Row",
|
|
51
|
+
"gap": "2",
|
|
52
|
+
"children": [
|
|
53
|
+
"input",
|
|
54
|
+
"button"
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"id": "column",
|
|
59
|
+
"component": "Column",
|
|
60
|
+
"slot": "after",
|
|
61
|
+
"children": [
|
|
62
|
+
"row"
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"id": "root",
|
|
67
|
+
"component": "ListWindow",
|
|
68
|
+
"itemSize": 56,
|
|
69
|
+
"overscan": 4,
|
|
70
|
+
"pinBottom": true,
|
|
71
|
+
"children": [
|
|
72
|
+
"column"
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "list-window-loading",
|
|
3
|
+
"kind": "block",
|
|
4
|
+
"primary": "list-window-ui",
|
|
5
|
+
"page": "/packages/web-components/components/list-window/list-window.examples.html",
|
|
6
|
+
"slots": [],
|
|
7
|
+
"nested": [],
|
|
8
|
+
"attrs": {
|
|
9
|
+
"item-size": "48",
|
|
10
|
+
"loading": ""
|
|
11
|
+
},
|
|
12
|
+
"html": "<list-window-ui id=\"lw-loading\" item-size=\"48\" loading\n style=\"height: 240px; border: 1px solid var(--md-sys-color-neutral-outline-variant); border-radius: var(--a-radius-md);\"></list-window-ui>",
|
|
13
|
+
"source": "packages/web-components/components/list-window/list-window.examples.html",
|
|
14
|
+
"metadata": {
|
|
15
|
+
"domain": "data",
|
|
16
|
+
"description": "Windowed list loading state — list-window in the [loading] attribute state, rendering skeleton placeholder rows while the backing data fetches. Use for large-list initial-load states.",
|
|
17
|
+
"keywords": [
|
|
18
|
+
"list",
|
|
19
|
+
"window",
|
|
20
|
+
"loading",
|
|
21
|
+
"skeleton",
|
|
22
|
+
"placeholder",
|
|
23
|
+
"fetch",
|
|
24
|
+
"data",
|
|
25
|
+
"virtualized",
|
|
26
|
+
"aria-busy",
|
|
27
|
+
"initial-load"
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
"captured_at": "2026-08-17T03:07:15.316Z",
|
|
31
|
+
"template": [
|
|
32
|
+
{
|
|
33
|
+
"id": "root",
|
|
34
|
+
"component": "ListWindow",
|
|
35
|
+
"itemSize": 48,
|
|
36
|
+
"loading": true
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"slots": [],
|
|
7
7
|
"nested": [],
|
|
8
8
|
"attrs": {},
|
|
9
|
-
"html": "<section>\n <col-ui gap=\"4\">\n <card-ui>\n <header>\n <skeleton-ui slot=\"icon\" width=\"40px\" height=\"40px\" radius=\"full\"></skeleton-ui>\n <span slot=\"heading\"><skeleton-ui width=\"55%\" height=\"1em\"></skeleton-ui></span>\n <span slot=\"description\"><skeleton-ui width=\"35%\" height=\"0.8em\"></skeleton-ui></span>\n </header>\n <section>\n <col-ui gap=\"3\">\n <skeleton-ui width=\"100%\" height=\"1em\"></skeleton-ui>\n <skeleton-ui width=\"92%\" height=\"1em\"></skeleton-ui>\n <skeleton-ui width=\"78%\" height=\"1em\"></skeleton-ui>\n </col-ui>\n </section>\n <footer>\n <row-ui gap=\"2\">\n <skeleton-ui width=\"80px\" height=\"2em\" radius=\"md\"></skeleton-ui>\n <skeleton-ui width=\"80px\" height=\"2em\" radius=\"md\"></skeleton-ui>\n </row-ui>\n </footer>\n </card-ui>\n\n <card-ui>\n <header>\n <span slot=\"heading\"><skeleton-ui width=\"40%\" height=\"1em\"></skeleton-ui></span>\n </header>\n <section bleed>\n <list-ui divider>\n <list-item-ui>\n <row-ui slot=\"content\" gap=\"3\" align=\"center\">\n <skeleton-ui width=\"36px\" height=\"36px\" radius=\"full\"></skeleton-ui>\n <col-ui gap=\"2\" style=\"flex:1\">\n <skeleton-ui width=\"48%\" height=\"0.9em\"></skeleton-ui>\n <skeleton-ui width=\"30%\" height=\"0.75em\"></skeleton-ui>\n </col-ui>\n <skeleton-ui width=\"60px\" height=\"1.5em\" radius=\"md\"></skeleton-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui slot=\"content\" gap=\"3\" align=\"center\">\n <skeleton-ui width=\"36px\" height=\"36px\" radius=\"full\"></skeleton-ui>\n <col-ui gap=\"2\" style=\"flex:1\">\n <skeleton-ui width=\"62%\" height=\"0.9em\"></skeleton-ui>\n <skeleton-ui width=\"40%\" height=\"0.75em\"></skeleton-ui>\n </col-ui>\n <skeleton-ui width=\"60px\" height=\"1.5em\" radius=\"md\"></skeleton-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui slot=\"content\" gap=\"3\" align=\"center\">\n <skeleton-ui width=\"36px\" height=\"36px\" radius=\"full\"></skeleton-ui>\n <col-ui gap=\"2\" style=\"flex:1\">\n <skeleton-ui width=\"52%\" height=\"0.9em\"></skeleton-ui>\n <skeleton-ui width=\"25%\" height=\"0.75em\"></skeleton-ui>\n </col-ui>\n <skeleton-ui width=\"60px\" height=\"1.5em\" radius=\"md\"></skeleton-ui>\n </row-ui>\n </list-item-ui>\n </list-ui>\n </section>\n </card-ui>\n </col-ui>\n</section>",
|
|
9
|
+
"html": "<section>\n <col-ui gap=\"4\">\n <card-ui>\n <header>\n <skeleton-ui slot=\"icon\" width=\"40px\" height=\"40px\" corner-radius=\"full\"></skeleton-ui>\n <span slot=\"heading\"><skeleton-ui width=\"55%\" height=\"1em\"></skeleton-ui></span>\n <span slot=\"description\"><skeleton-ui width=\"35%\" height=\"0.8em\"></skeleton-ui></span>\n </header>\n <section>\n <col-ui gap=\"3\">\n <skeleton-ui width=\"100%\" height=\"1em\"></skeleton-ui>\n <skeleton-ui width=\"92%\" height=\"1em\"></skeleton-ui>\n <skeleton-ui width=\"78%\" height=\"1em\"></skeleton-ui>\n </col-ui>\n </section>\n <footer>\n <row-ui gap=\"2\">\n <skeleton-ui width=\"80px\" height=\"2em\" corner-radius=\"md\"></skeleton-ui>\n <skeleton-ui width=\"80px\" height=\"2em\" corner-radius=\"md\"></skeleton-ui>\n </row-ui>\n </footer>\n </card-ui>\n\n <card-ui>\n <header>\n <span slot=\"heading\"><skeleton-ui width=\"40%\" height=\"1em\"></skeleton-ui></span>\n </header>\n <section bleed>\n <list-ui divider>\n <list-item-ui>\n <row-ui slot=\"content\" gap=\"3\" align=\"center\">\n <skeleton-ui width=\"36px\" height=\"36px\" corner-radius=\"full\"></skeleton-ui>\n <col-ui gap=\"2\" style=\"flex:1\">\n <skeleton-ui width=\"48%\" height=\"0.9em\"></skeleton-ui>\n <skeleton-ui width=\"30%\" height=\"0.75em\"></skeleton-ui>\n </col-ui>\n <skeleton-ui width=\"60px\" height=\"1.5em\" corner-radius=\"md\"></skeleton-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui slot=\"content\" gap=\"3\" align=\"center\">\n <skeleton-ui width=\"36px\" height=\"36px\" corner-radius=\"full\"></skeleton-ui>\n <col-ui gap=\"2\" style=\"flex:1\">\n <skeleton-ui width=\"62%\" height=\"0.9em\"></skeleton-ui>\n <skeleton-ui width=\"40%\" height=\"0.75em\"></skeleton-ui>\n </col-ui>\n <skeleton-ui width=\"60px\" height=\"1.5em\" corner-radius=\"md\"></skeleton-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui slot=\"content\" gap=\"3\" align=\"center\">\n <skeleton-ui width=\"36px\" height=\"36px\" corner-radius=\"full\"></skeleton-ui>\n <col-ui gap=\"2\" style=\"flex:1\">\n <skeleton-ui width=\"52%\" height=\"0.9em\"></skeleton-ui>\n <skeleton-ui width=\"25%\" height=\"0.75em\"></skeleton-ui>\n </col-ui>\n <skeleton-ui width=\"60px\" height=\"1.5em\" corner-radius=\"md\"></skeleton-ui>\n </row-ui>\n </list-item-ui>\n </list-ui>\n </section>\n </card-ui>\n </col-ui>\n</section>",
|
|
10
10
|
"source": "catalog/ui-patterns/app/loading-skeleton-placeholder/loading-skeleton-placeholder.contents.html",
|
|
11
11
|
"metadata": {
|
|
12
12
|
"domain": "agent",
|
|
@@ -27,14 +27,14 @@
|
|
|
27
27
|
"rows"
|
|
28
28
|
]
|
|
29
29
|
},
|
|
30
|
-
"captured_at": "2026-08-
|
|
30
|
+
"captured_at": "2026-08-17T03:17:46.002Z",
|
|
31
31
|
"template": [
|
|
32
32
|
{
|
|
33
33
|
"id": "skeleton",
|
|
34
34
|
"component": "Skeleton",
|
|
35
35
|
"slot": "icon",
|
|
36
|
+
"cornerRadius": "full",
|
|
36
37
|
"height": "40px",
|
|
37
|
-
"radius": "full",
|
|
38
38
|
"width": "40px"
|
|
39
39
|
},
|
|
40
40
|
{
|
|
@@ -114,15 +114,15 @@
|
|
|
114
114
|
{
|
|
115
115
|
"id": "skeleton-7",
|
|
116
116
|
"component": "Skeleton",
|
|
117
|
+
"cornerRadius": "md",
|
|
117
118
|
"height": "2em",
|
|
118
|
-
"radius": "md",
|
|
119
119
|
"width": "80px"
|
|
120
120
|
},
|
|
121
121
|
{
|
|
122
122
|
"id": "skeleton-8",
|
|
123
123
|
"component": "Skeleton",
|
|
124
|
+
"cornerRadius": "md",
|
|
124
125
|
"height": "2em",
|
|
125
|
-
"radius": "md",
|
|
126
126
|
"width": "80px"
|
|
127
127
|
},
|
|
128
128
|
{
|
|
@@ -175,8 +175,8 @@
|
|
|
175
175
|
{
|
|
176
176
|
"id": "skeleton-10",
|
|
177
177
|
"component": "Skeleton",
|
|
178
|
+
"cornerRadius": "full",
|
|
178
179
|
"height": "36px",
|
|
179
|
-
"radius": "full",
|
|
180
180
|
"width": "36px"
|
|
181
181
|
},
|
|
182
182
|
{
|
|
@@ -203,8 +203,8 @@
|
|
|
203
203
|
{
|
|
204
204
|
"id": "skeleton-13",
|
|
205
205
|
"component": "Skeleton",
|
|
206
|
+
"cornerRadius": "md",
|
|
206
207
|
"height": "1.5em",
|
|
207
|
-
"radius": "md",
|
|
208
208
|
"width": "60px"
|
|
209
209
|
},
|
|
210
210
|
{
|
|
@@ -229,8 +229,8 @@
|
|
|
229
229
|
{
|
|
230
230
|
"id": "skeleton-14",
|
|
231
231
|
"component": "Skeleton",
|
|
232
|
+
"cornerRadius": "full",
|
|
232
233
|
"height": "36px",
|
|
233
|
-
"radius": "full",
|
|
234
234
|
"width": "36px"
|
|
235
235
|
},
|
|
236
236
|
{
|
|
@@ -257,8 +257,8 @@
|
|
|
257
257
|
{
|
|
258
258
|
"id": "skeleton-17",
|
|
259
259
|
"component": "Skeleton",
|
|
260
|
+
"cornerRadius": "md",
|
|
260
261
|
"height": "1.5em",
|
|
261
|
-
"radius": "md",
|
|
262
262
|
"width": "60px"
|
|
263
263
|
},
|
|
264
264
|
{
|
|
@@ -283,8 +283,8 @@
|
|
|
283
283
|
{
|
|
284
284
|
"id": "skeleton-18",
|
|
285
285
|
"component": "Skeleton",
|
|
286
|
+
"cornerRadius": "full",
|
|
286
287
|
"height": "36px",
|
|
287
|
-
"radius": "full",
|
|
288
288
|
"width": "36px"
|
|
289
289
|
},
|
|
290
290
|
{
|
|
@@ -311,8 +311,8 @@
|
|
|
311
311
|
{
|
|
312
312
|
"id": "skeleton-21",
|
|
313
313
|
"component": "Skeleton",
|
|
314
|
+
"cornerRadius": "md",
|
|
314
315
|
"height": "1.5em",
|
|
315
|
-
"radius": "md",
|
|
316
316
|
"width": "60px"
|
|
317
317
|
},
|
|
318
318
|
{
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"columns": "1 5@md",
|
|
10
10
|
"gap": "4"
|
|
11
11
|
},
|
|
12
|
-
"html": "<grid-ui\n columns=\"1 5@md\"\n gap=\"4\">\n <image-ui span=\"3\" src=\"https://picsum.photos/seed/map-q4/640/480\" alt=\"Map of field-visit locations\" radius=\"md\" style=\"aspect-ratio: 4/3\"></image-ui>\n <card-ui span=\"2\">\n <header>\n <h3>Field visits · Q4</h3>\n </header>\n <section>\n <list-ui divider>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\">\n <icon-ui name=\"map-pin\" color=\"accent\"></icon-ui>\n <col-ui gap=\"0\">\n <text-ui strong>San Francisco</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">Acme Corp · Globex · 3 more</text-ui>\n </col-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\">\n <icon-ui name=\"map-pin\" color=\"accent\"></icon-ui>\n <col-ui gap=\"0\">\n <text-ui strong>New York</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">Stark Industries · 2 more</text-ui>\n </col-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\">\n <icon-ui name=\"map-pin\" color=\"accent\"></icon-ui>\n <col-ui gap=\"0\">\n <text-ui strong>London</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">Umbrella Corp</text-ui>\n </col-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\">\n <icon-ui name=\"map-pin\" color=\"accent\"></icon-ui>\n <col-ui gap=\"0\">\n <text-ui strong>Berlin</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">Wayne Enterprises</text-ui>\n </col-ui>\n </row-ui>\n </list-item-ui>\n </list-ui>\n </section>\n </card-ui>\n </grid-ui>",
|
|
12
|
+
"html": "<grid-ui\n columns=\"1 5@md\"\n gap=\"4\">\n <image-ui span=\"3\" src=\"https://picsum.photos/seed/map-q4/640/480\" alt=\"Map of field-visit locations\" corner-radius=\"md\" style=\"aspect-ratio: 4/3\"></image-ui>\n <card-ui span=\"2\">\n <header>\n <h3>Field visits · Q4</h3>\n </header>\n <section>\n <list-ui divider>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\">\n <icon-ui name=\"map-pin\" color=\"accent\"></icon-ui>\n <col-ui gap=\"0\">\n <text-ui strong>San Francisco</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">Acme Corp · Globex · 3 more</text-ui>\n </col-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\">\n <icon-ui name=\"map-pin\" color=\"accent\"></icon-ui>\n <col-ui gap=\"0\">\n <text-ui strong>New York</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">Stark Industries · 2 more</text-ui>\n </col-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\">\n <icon-ui name=\"map-pin\" color=\"accent\"></icon-ui>\n <col-ui gap=\"0\">\n <text-ui strong>London</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">Umbrella Corp</text-ui>\n </col-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\">\n <icon-ui name=\"map-pin\" color=\"accent\"></icon-ui>\n <col-ui gap=\"0\">\n <text-ui strong>Berlin</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">Wayne Enterprises</text-ui>\n </col-ui>\n </row-ui>\n </list-item-ui>\n </list-ui>\n </section>\n </card-ui>\n </grid-ui>",
|
|
13
13
|
"source": "apps/genui/app/gen-ui-feed/gen-ui-feed.contents.html",
|
|
14
14
|
"metadata": {
|
|
15
15
|
"domain": "data",
|
|
@@ -46,14 +46,14 @@
|
|
|
46
46
|
"directory"
|
|
47
47
|
]
|
|
48
48
|
},
|
|
49
|
-
"captured_at": "2026-
|
|
49
|
+
"captured_at": "2026-08-17T03:17:46.002Z",
|
|
50
50
|
"template": [
|
|
51
51
|
{
|
|
52
52
|
"id": "image",
|
|
53
53
|
"component": "Image",
|
|
54
54
|
"span": "3",
|
|
55
55
|
"alt": "Map of field-visit locations",
|
|
56
|
-
"
|
|
56
|
+
"cornerRadius": "md",
|
|
57
57
|
"src": "https://picsum.photos/seed/map-q4/640/480"
|
|
58
58
|
},
|
|
59
59
|
{
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"data-members-pane": "",
|
|
11
11
|
"data-members-state": "ready"
|
|
12
12
|
},
|
|
13
|
-
"html": "<div data-col data-members-pane data-members-state=\"ready\">\n <!-- Error: rendered when fetch fails. Spec §11.\n alert-ui only supports `leading|content|close` slots — so the\n retry affordance lives as a sibling button-ui inside a col-ui\n wrapper rather than a (non-existent) `slot=\"action\"`. -->\n <col-ui id=\"members-error-block\" gap=\"2\" hidden>\n <alert-ui id=\"members-error\" variant=\"danger\" icon=\"warning\" text=\"Couldn't load members. Something went wrong fetching your team.\"></alert-ui>\n <row-ui justify=\"end\">\n <button-ui id=\"members-retry\" text=\"Retry\" variant=\"outline\" size=\"sm\" icon=\"arrow-clockwise\"></button-ui>\n </row-ui>\n </col-ui>\n <!-- Empty: rendered when no members have accepted yet. Spec §11.\n Inline anchor matches the established `<a href=\"#…\">` pattern\n in other example pages (registration/invite, auth/sign-up). -->\n <text-ui id=\"members-empty-hint\" color=\"subtle\" size=\"sm\" hidden>\n No one has accepted an invite yet — see <a href=\"#pending\">Pending invites</a> below.\n </text-ui>\n <row-ui align=\"center\" gap=\"2\">\n <
|
|
13
|
+
"html": "<div data-col data-members-pane data-members-state=\"ready\">\n <!-- Error: rendered when fetch fails. Spec §11.\n alert-ui only supports `leading|content|close` slots — so the\n retry affordance lives as a sibling button-ui inside a col-ui\n wrapper rather than a (non-existent) `slot=\"action\"`. -->\n <col-ui id=\"members-error-block\" gap=\"2\" hidden>\n <alert-ui id=\"members-error\" variant=\"danger\" icon=\"warning\" text=\"Couldn't load members. Something went wrong fetching your team.\"></alert-ui>\n <row-ui justify=\"end\">\n <button-ui id=\"members-retry\" text=\"Retry\" variant=\"outline\" size=\"sm\" icon=\"arrow-clockwise\"></button-ui>\n </row-ui>\n </col-ui>\n <!-- Empty: rendered when no members have accepted yet. Spec §11.\n Inline anchor matches the established `<a href=\"#…\">` pattern\n in other example pages (registration/invite, auth/sign-up). -->\n <text-ui id=\"members-empty-hint\" color=\"subtle\" size=\"sm\" hidden>\n No one has accepted an invite yet — see <a href=\"#pending\">Pending invites</a> below.\n </text-ui>\n <row-ui align=\"center\" gap=\"2\">\n <search-ui id=\"members-search\" placeholder=\"Search members…\" grow></search-ui>\n <select-ui id=\"members-role-filter\" value=\"all\">\n <option value=\"all\">All roles</option>\n <option value=\"admin\">Admin</option>\n <option value=\"member\">Member</option>\n <option value=\"viewer\">Viewer</option>\n </select-ui>\n </row-ui>\n <card-ui>\n <section bleed>\n <table-ui id=\"members-table\" sortable striped></table-ui>\n </section>\n </card-ui>\n </div>",
|
|
14
14
|
"source": "apps/saas/app/members/members.contents.html",
|
|
15
15
|
"metadata": {
|
|
16
16
|
"domain": "data",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"data"
|
|
41
41
|
]
|
|
42
42
|
},
|
|
43
|
-
"captured_at": "2026-
|
|
43
|
+
"captured_at": "2026-08-17T00:21:29.018Z",
|
|
44
44
|
"template": [
|
|
45
45
|
{
|
|
46
46
|
"id": "members-error",
|
|
@@ -101,10 +101,8 @@
|
|
|
101
101
|
},
|
|
102
102
|
{
|
|
103
103
|
"id": "members-search",
|
|
104
|
-
"component": "
|
|
105
|
-
"
|
|
106
|
-
"placeholder": "Search members…",
|
|
107
|
-
"prefix": "magnifying-glass"
|
|
104
|
+
"component": "Search",
|
|
105
|
+
"placeholder": "Search members…"
|
|
108
106
|
},
|
|
109
107
|
{
|
|
110
108
|
"id": "members-role-filter",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"manage"
|
|
28
28
|
]
|
|
29
29
|
},
|
|
30
|
-
"captured_at": "2026-08-
|
|
30
|
+
"captured_at": "2026-08-17T00:21:29.018Z",
|
|
31
31
|
"template": [
|
|
32
32
|
{
|
|
33
33
|
"id": "text",
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
]
|
|
45
45
|
},
|
|
46
46
|
{
|
|
47
|
-
"id": "search
|
|
48
|
-
"component": "
|
|
47
|
+
"id": "search",
|
|
48
|
+
"component": "Search",
|
|
49
49
|
"placeholder": "Add by name or email"
|
|
50
50
|
},
|
|
51
51
|
{
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"align": "center",
|
|
82
82
|
"gap": "2",
|
|
83
83
|
"children": [
|
|
84
|
-
"search
|
|
84
|
+
"search",
|
|
85
85
|
"choice-picker",
|
|
86
86
|
"button"
|
|
87
87
|
]
|