@adia-ai/gen-ui 0.8.40 → 0.8.42

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 (64) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +1 -1
  3. package/compose/transpiler/transpiler-maps.js +45 -4
  4. package/corpus/chunk-embeddings.json +1 -1
  5. package/corpus/chunks/_index.json +288 -6
  6. package/corpus/chunks/_source-hashes.json +70 -69
  7. package/corpus/chunks/admin-shell-rounded-borderless.json +2 -1
  8. package/corpus/chunks/admin-topbar-search.json +4 -4
  9. package/corpus/chunks/agent-activity-feed.json +5 -5
  10. package/corpus/chunks/agent-prompt-library-grid.json +4 -4
  11. package/corpus/chunks/agent-rate-limit.json +1 -1
  12. package/corpus/chunks/agent-reasoning-collapsed.json +7 -7
  13. package/corpus/chunks/auth-new-password-form.json +1 -1
  14. package/corpus/chunks/auth-new-password.json +1 -1
  15. package/corpus/chunks/billing-overview.json +14 -14
  16. package/corpus/chunks/billing-progress-label.json +16 -16
  17. package/corpus/chunks/card-with-empty-state.json +3 -2
  18. package/corpus/chunks/color-picker-swatches.json +5 -5
  19. package/corpus/chunks/conversion-funnel-4-step-funnel.json +11 -11
  20. package/corpus/chunks/conversion-funnel-6step.json +17 -17
  21. package/corpus/chunks/conversion-funnel-wide-summary.json +11 -11
  22. package/corpus/chunks/conversion-funnel-with-segment-compare.json +11 -11
  23. package/corpus/chunks/dashboard-admin-page.json +2 -2
  24. package/corpus/chunks/dashboard-conversion-panel.json +10 -10
  25. package/corpus/chunks/dashboard-funnel.json +11 -11
  26. package/corpus/chunks/dashboard-overview-panel.json +13 -13
  27. package/corpus/chunks/dashboard-storage-card.json +14 -14
  28. package/corpus/chunks/dashboard-team-actions-storage.json +13 -13
  29. package/corpus/chunks/date-range-picker-canonical.json +51 -0
  30. package/corpus/chunks/date-range-picker-comparison.json +50 -0
  31. package/corpus/chunks/date-time-picker-form.json +5 -6
  32. package/corpus/chunks/drawer-report.json +5 -6
  33. package/corpus/chunks/filter-bar-filter-bar-with-table.json +4 -4
  34. package/corpus/chunks/form-system-live-demo.json +1 -1
  35. package/corpus/chunks/image-carousel.json +2 -3
  36. package/corpus/chunks/image-thumbnail-grid.json +5 -5
  37. package/corpus/chunks/inline-dialog-schedule.json +4 -6
  38. package/corpus/chunks/list-window-chat-thread.json +76 -0
  39. package/corpus/chunks/list-window-loading.json +39 -0
  40. package/corpus/chunks/loading-skeleton-placeholder.json +11 -11
  41. package/corpus/chunks/map-with-location-list.json +3 -3
  42. package/corpus/chunks/members-active-table-search-filter.json +4 -6
  43. package/corpus/chunks/patient-visit-shell.json +1 -1
  44. package/corpus/chunks/permissions-share-people.json +4 -4
  45. package/corpus/chunks/playground-app-shell.json +4 -3
  46. package/corpus/chunks/progress-tracker-milestones.json +1 -1
  47. package/corpus/chunks/rating-stars-review-summary.json +1 -1
  48. package/corpus/chunks/real-time-metrics-dashboard.json +1 -1
  49. package/corpus/chunks/search-with-filters.json +4 -4
  50. package/corpus/chunks/spinner-button-saving.json +50 -0
  51. package/corpus/chunks/spinner-button-uploading.json +49 -0
  52. package/corpus/chunks/spinner-centered-card.json +36 -0
  53. package/corpus/chunks/spinner-typing-indicator.json +41 -0
  54. package/corpus/chunks/time-picker-appointment-form.json +126 -0
  55. package/corpus/chunks/time-picker-min-max.json +50 -0
  56. package/corpus/chunks/timeline-events.json +3 -3
  57. package/corpus/chunks/timezone-selector-preview.json +3 -4
  58. package/corpus/chunks/usage-quota-meter-card.json +1 -1
  59. package/corpus/chunks/user-onboarding-checklist.json +1 -1
  60. package/corpus/chunks/video-player-controls.json +1 -1
  61. package/corpus/manifest.json +4 -4
  62. package/package.json +1 -1
  63. package/retrieval/README.md +1 -1
  64. package/retrieval/catalog.js +67 -40
@@ -27,7 +27,7 @@
27
27
  "manage"
28
28
  ]
29
29
  },
30
- "captured_at": "2026-08-13T16:17:52.286Z",
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-ui",
48
- "component": "search-ui",
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-ui",
84
+ "search",
85
85
  "choice-picker",
86
86
  "button"
87
87
  ]
@@ -8,7 +8,7 @@
8
8
  "attrs": {
9
9
  "mode": "rounded borderless"
10
10
  },
11
- "html": "<admin-shell mode=\"rounded borderless\">\n <!-- ═══════════════ LEFT SIDEBAR ═══════════════ -->\n <admin-sidebar slot=\"leading\" resizable collapsible>\n <admin-topbar slot=\"header\">\n <select-ui id=\"workspace-select\" mark no-radio value=\"adia-ui\" variant=\"ghost\" style=\"flex: 1\"></select-ui>\n </admin-topbar>\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 <admin-statusbar slot=\"footer\">\n <select-ui id=\"user-select\" avatar=\"https://i.pravatar.cc/32?u=demo\" value=\"demo\" variant=\"ghost\" style=\"flex: 1\"></select-ui>\n </admin-statusbar>\n <div data-resize></div>\n </admin-sidebar>\n\n <!-- ═══════════════ MAIN ═══════════════ -->\n <admin-content>\n <admin-topbar>\n <button-ui data-sidebar-toggle=\"leading\" icon=\"sidebar\" title=\"Toggle navigation 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\" size=\"sm\">\n <popover-ui id=\"theme-popover\" placement=\"bottom-end\">\n <button-ui icon=\"palette\" title=\"Choose theme\" 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 </admin-topbar>\n\n <admin-scroll>\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 <admin-page>\n <admin-page-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 </admin-page-header>\n <admin-page-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 </admin-page-body>\n </admin-page>\n </admin-scroll>\n\n <admin-statusbar>\n <span slot=\"heading\">AdiaUI App Shell</span>\n <span slot=\"description\">Playground demo</span>\n <span slot=\"action\" size=\"sm\">v0.1.0</span>\n </admin-statusbar>\n </admin-content>\n\n <!-- ═══════════════ COMMAND PALETTE ═══════════════ -->\n <admin-command>\n <command-ui id=\"cmd\" placeholder=\"Search pages...\"></command-ui>\n </admin-command>\n </admin-shell>",
11
+ "html": "<admin-shell mode=\"rounded borderless\">\n <!-- ═══════════════ LEFT SIDEBAR ═══════════════ -->\n <admin-sidebar slot=\"leading\" resizable collapsible>\n <admin-topbar slot=\"header\">\n <select-ui id=\"workspace-select\" mark no-radio value=\"adia-ui\" variant=\"ghost\" style=\"flex: 1\"></select-ui>\n </admin-topbar>\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 <admin-statusbar slot=\"footer\">\n <select-ui id=\"user-select\" avatar=\"https://i.pravatar.cc/32?u=demo\" value=\"demo\" variant=\"ghost\" style=\"flex: 1\"></select-ui>\n </admin-statusbar>\n <div data-sidebar-resize></div>\n </admin-sidebar>\n\n <!-- ═══════════════ MAIN ═══════════════ -->\n <admin-content>\n <admin-topbar>\n <button-ui data-sidebar-toggle=\"leading\" icon=\"sidebar\" title=\"Toggle navigation 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\" size=\"sm\">\n <popover-ui id=\"theme-popover\" placement=\"bottom-end\">\n <button-ui icon=\"palette\" title=\"Choose theme\" 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 </admin-topbar>\n\n <admin-scroll>\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 <admin-page>\n <admin-page-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 </admin-page-header>\n <admin-page-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 </admin-page-body>\n </admin-page>\n </admin-scroll>\n\n <admin-statusbar>\n <span slot=\"heading\">AdiaUI App Shell</span>\n <span slot=\"description\">Playground demo</span>\n <span slot=\"action\" size=\"sm\">v0.1.0</span>\n </admin-statusbar>\n </admin-content>\n\n <!-- ═══════════════ COMMAND PALETTE ═══════════════ -->\n <admin-command>\n <command-ui id=\"cmd\" placeholder=\"Search pages...\"></command-ui>\n </admin-command>\n </admin-shell>",
12
12
  "source": "playgrounds/admin-shell/app/admin-shell.contents.html",
13
13
  "metadata": {
14
14
  "domain": "layout",
@@ -24,7 +24,7 @@
24
24
  "topbar"
25
25
  ]
26
26
  },
27
- "captured_at": "2026-08-10T04:15:18.619Z",
27
+ "captured_at": "2026-08-17T19:35:08.145Z",
28
28
  "template": [
29
29
  {
30
30
  "id": "workspace-select",
@@ -182,7 +182,7 @@
182
182
  {
183
183
  "id": "column",
184
184
  "component": "Column",
185
- "data-resize": ""
185
+ "data-sidebar-resize": ""
186
186
  },
187
187
  {
188
188
  "id": "sidebar",
@@ -478,6 +478,7 @@
478
478
  {
479
479
  "id": "root",
480
480
  "component": "AdminShell",
481
+ "mode": "rounded borderless",
481
482
  "children": [
482
483
  "sidebar",
483
484
  "admin-content",
@@ -24,7 +24,7 @@
24
24
  "tasks"
25
25
  ]
26
26
  },
27
- "captured_at": "2026-08-11T15:04:02.567Z",
27
+ "captured_at": "2026-08-17T04:06:20.963Z",
28
28
  "template": [
29
29
  {
30
30
  "id": "text",
@@ -46,7 +46,7 @@
46
46
  "panel"
47
47
  ]
48
48
  },
49
- "captured_at": "2026-08-11T15:04:02.567Z",
49
+ "captured_at": "2026-08-17T04:06:20.963Z",
50
50
  "template": [
51
51
  {
52
52
  "id": "text",
@@ -25,7 +25,7 @@
25
25
  "progress"
26
26
  ]
27
27
  },
28
- "captured_at": "2026-08-11T15:04:02.567Z",
28
+ "captured_at": "2026-08-17T04:06:20.963Z",
29
29
  "template": [
30
30
  {
31
31
  "id": "text",
@@ -35,11 +35,11 @@
35
35
  "discovery"
36
36
  ]
37
37
  },
38
- "captured_at": "2026-08-12T02:59:58.757Z",
38
+ "captured_at": "2026-08-17T00:21:29.018Z",
39
39
  "template": [
40
40
  {
41
- "id": "search-ui",
42
- "component": "search-ui",
41
+ "id": "search",
42
+ "component": "Search",
43
43
  "placeholder": "Search components, traits, patterns…"
44
44
  },
45
45
  {
@@ -301,7 +301,7 @@
301
301
  "component": "Column",
302
302
  "gap": "3",
303
303
  "children": [
304
- "search-ui",
304
+ "search",
305
305
  "row",
306
306
  "text-2",
307
307
  "column"
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "spinner-button-saving",
3
+ "kind": "block",
4
+ "primary": "button-ui",
5
+ "page": "/packages/web-components/components/spinner/spinner.examples.html",
6
+ "slots": [],
7
+ "nested": [],
8
+ "attrs": {
9
+ "variant": "primary",
10
+ "disabled": ""
11
+ },
12
+ "html": "<button-ui\n variant=\"primary\" disabled>\n <spinner-ui size=\"sm\" tone=\"current\" label=\"Saving\"></spinner-ui>\n Saving\n </button-ui>",
13
+ "source": "packages/web-components/components/spinner/spinner.examples.html",
14
+ "metadata": {
15
+ "domain": "forms",
16
+ "description": "Loading button — primary CTA disabled with an inline spinner (tone=current) and a 'Saving' label while a save operation runs.",
17
+ "keywords": [
18
+ "spinner",
19
+ "button",
20
+ "loading",
21
+ "saving",
22
+ "disabled",
23
+ "primary",
24
+ "cta",
25
+ "inline",
26
+ "submit",
27
+ "form"
28
+ ]
29
+ },
30
+ "captured_at": "2026-08-17T03:07:15.316Z",
31
+ "template": [
32
+ {
33
+ "id": "spinner",
34
+ "component": "Spinner",
35
+ "label": "Saving",
36
+ "size": "sm",
37
+ "tone": "current"
38
+ },
39
+ {
40
+ "id": "root",
41
+ "component": "Button",
42
+ "disabled": true,
43
+ "variant": "primary",
44
+ "text": "Saving",
45
+ "children": [
46
+ "spinner"
47
+ ]
48
+ }
49
+ ]
50
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "spinner-button-uploading",
3
+ "kind": "block",
4
+ "primary": "button-ui",
5
+ "page": "/packages/web-components/components/spinner/spinner.examples.html",
6
+ "slots": [],
7
+ "nested": [],
8
+ "attrs": {
9
+ "variant": "tonal",
10
+ "disabled": ""
11
+ },
12
+ "html": "<button-ui\n variant=\"tonal\" disabled>\n <spinner-ui size=\"sm\" tone=\"current\" label=\"Uploading\"></spinner-ui>\n Uploading\n </button-ui>",
13
+ "source": "packages/web-components/components/spinner/spinner.examples.html",
14
+ "metadata": {
15
+ "domain": "forms",
16
+ "description": "Loading button — secondary action disabled with an inline spinner and an 'Uploading' label while an upload runs.",
17
+ "keywords": [
18
+ "spinner",
19
+ "button",
20
+ "loading",
21
+ "uploading",
22
+ "disabled",
23
+ "secondary",
24
+ "upload",
25
+ "file",
26
+ "inline"
27
+ ]
28
+ },
29
+ "captured_at": "2026-08-17T03:07:15.316Z",
30
+ "template": [
31
+ {
32
+ "id": "spinner",
33
+ "component": "Spinner",
34
+ "label": "Uploading",
35
+ "size": "sm",
36
+ "tone": "current"
37
+ },
38
+ {
39
+ "id": "root",
40
+ "component": "Button",
41
+ "disabled": true,
42
+ "variant": "tonal",
43
+ "text": "Uploading",
44
+ "children": [
45
+ "spinner"
46
+ ]
47
+ }
48
+ ]
49
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "spinner-centered-card",
3
+ "kind": "block",
4
+ "primary": "div",
5
+ "page": "/packages/web-components/components/spinner/spinner.examples.html",
6
+ "slots": [],
7
+ "nested": [],
8
+ "attrs": {},
9
+ "html": "<div\n style=\"display:flex; align-items:center; justify-content:center; min-height: 8rem; min-width: 16rem; padding:var(--a-space-4); border:1px solid var(--md-sys-color-neutral-outline); border-radius:var(--a-radius-md);\">\n <spinner-ui size=\"lg\" tone=\"subtle\" label=\"Loading dashboard\"></spinner-ui>\n </div>",
10
+ "source": "packages/web-components/components/spinner/spinner.examples.html",
11
+ "metadata": {
12
+ "domain": "layout",
13
+ "description": "Centered card loader — full-bleed spinner centered inside a bordered panel while body content is fetching, sized lg with a 'Loading dashboard' label.",
14
+ "keywords": [
15
+ "spinner",
16
+ "centered",
17
+ "card",
18
+ "loader",
19
+ "loading",
20
+ "dashboard",
21
+ "panel",
22
+ "fetch",
23
+ "placeholder"
24
+ ]
25
+ },
26
+ "captured_at": "2026-08-17T03:07:15.316Z",
27
+ "template": [
28
+ {
29
+ "id": "root",
30
+ "component": "Spinner",
31
+ "label": "Loading dashboard",
32
+ "size": "lg",
33
+ "tone": "subtle"
34
+ }
35
+ ]
36
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "spinner-typing-indicator",
3
+ "kind": "block",
4
+ "primary": "spinner-ui",
5
+ "page": "/packages/web-components/components/spinner/spinner.examples.html",
6
+ "slots": [],
7
+ "nested": [],
8
+ "attrs": {
9
+ "variant": "dots",
10
+ "tone": "subtle",
11
+ "label": "Assistant is typing"
12
+ },
13
+ "html": "<spinner-ui\n variant=\"dots\" tone=\"subtle\" label=\"Assistant is typing\"></spinner-ui>",
14
+ "source": "packages/web-components/components/spinner/spinner.examples.html",
15
+ "metadata": {
16
+ "domain": "agent",
17
+ "description": "Typing indicator — bouncing-dots spinner with a subtle tone announcing 'Assistant is typing' for chat/agent surfaces.",
18
+ "keywords": [
19
+ "spinner",
20
+ "typing",
21
+ "indicator",
22
+ "dots",
23
+ "chat",
24
+ "agent",
25
+ "assistant",
26
+ "conversation",
27
+ "bouncing",
28
+ "waiting"
29
+ ]
30
+ },
31
+ "captured_at": "2026-08-17T03:07:15.316Z",
32
+ "template": [
33
+ {
34
+ "id": "root",
35
+ "component": "Spinner",
36
+ "label": "Assistant is typing",
37
+ "tone": "subtle",
38
+ "variant": "dots"
39
+ }
40
+ ]
41
+ }
@@ -0,0 +1,126 @@
1
+ {
2
+ "name": "time-picker-appointment-form",
3
+ "kind": "block",
4
+ "primary": "card-ui",
5
+ "page": "/packages/web-components/components/time-picker/time-picker.examples.html",
6
+ "slots": [],
7
+ "nested": [],
8
+ "attrs": {},
9
+ "html": "<card-ui style=\"max-width:360px\">\n <header>\n <h3>Book appointment</h3>\n </header>\n <section>\n <col-ui 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=\"09:00\" step=\"900\"></time-picker-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\"></button-ui>\n <button-ui text=\"Book\" variant=\"primary\"></button-ui>\n </row-ui>\n </footer>\n </card-ui>",
10
+ "source": "packages/web-components/components/time-picker/time-picker.examples.html",
11
+ "metadata": {
12
+ "domain": "forms",
13
+ "description": "Appointment scheduling form — card pairing a calendar-picker date field with a time-picker time field, plus a book action. Canonical date+time scheduling composition.",
14
+ "keywords": [
15
+ "time",
16
+ "picker",
17
+ "appointment",
18
+ "scheduling",
19
+ "booking",
20
+ "calendar",
21
+ "date",
22
+ "hour",
23
+ "minute",
24
+ "meeting",
25
+ "form",
26
+ "book",
27
+ "card"
28
+ ]
29
+ },
30
+ "captured_at": "2026-08-17T03:07:15.316Z",
31
+ "template": [
32
+ {
33
+ "id": "text",
34
+ "component": "Text",
35
+ "variant": "heading",
36
+ "textContent": "Book appointment"
37
+ },
38
+ {
39
+ "id": "header",
40
+ "component": "Header",
41
+ "children": [
42
+ "text"
43
+ ]
44
+ },
45
+ {
46
+ "id": "calendar-picker",
47
+ "component": "CalendarPicker"
48
+ },
49
+ {
50
+ "id": "field",
51
+ "component": "Field",
52
+ "label": "Date",
53
+ "children": [
54
+ "calendar-picker"
55
+ ]
56
+ },
57
+ {
58
+ "id": "time-picker",
59
+ "component": "TimePicker",
60
+ "step": 900,
61
+ "value": "09:00"
62
+ },
63
+ {
64
+ "id": "field-2",
65
+ "component": "Field",
66
+ "label": "Time",
67
+ "children": [
68
+ "time-picker"
69
+ ]
70
+ },
71
+ {
72
+ "id": "column",
73
+ "component": "Column",
74
+ "gap": "3",
75
+ "children": [
76
+ "field",
77
+ "field-2"
78
+ ]
79
+ },
80
+ {
81
+ "id": "section",
82
+ "component": "Section",
83
+ "children": [
84
+ "column"
85
+ ]
86
+ },
87
+ {
88
+ "id": "button",
89
+ "component": "Button",
90
+ "text": "Cancel",
91
+ "variant": "ghost"
92
+ },
93
+ {
94
+ "id": "button-2",
95
+ "component": "Button",
96
+ "text": "Book",
97
+ "variant": "primary"
98
+ },
99
+ {
100
+ "id": "row",
101
+ "component": "Row",
102
+ "gap": "2",
103
+ "justify": "end",
104
+ "children": [
105
+ "button",
106
+ "button-2"
107
+ ]
108
+ },
109
+ {
110
+ "id": "footer",
111
+ "component": "Footer",
112
+ "children": [
113
+ "row"
114
+ ]
115
+ },
116
+ {
117
+ "id": "root",
118
+ "component": "Card",
119
+ "children": [
120
+ "header",
121
+ "section",
122
+ "footer"
123
+ ]
124
+ }
125
+ ]
126
+ }
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "time-picker-min-max",
3
+ "kind": "block",
4
+ "primary": "field-ui",
5
+ "page": "/packages/web-components/components/time-picker/time-picker.examples.html",
6
+ "slots": [],
7
+ "nested": [],
8
+ "attrs": {
9
+ "label": "Start time"
10
+ },
11
+ "html": "<field-ui\n label=\"Start time\">\n <time-picker-ui value=\"09:30\" min=\"08:00\" max=\"18:00\" step=\"900\"></time-picker-ui>\n </field-ui>",
12
+ "source": "packages/web-components/components/time-picker/time-picker.examples.html",
13
+ "metadata": {
14
+ "domain": "settings",
15
+ "description": "Bounded time field — field-ui wrapping a time-picker constrained to business hours (08:00–18:00) at 15-minute steps. Standard scheduling-constraint pattern.",
16
+ "keywords": [
17
+ "time",
18
+ "picker",
19
+ "business",
20
+ "hours",
21
+ "min",
22
+ "max",
23
+ "constraint",
24
+ "schedule",
25
+ "step",
26
+ "quarter-hour",
27
+ "field",
28
+ "bounded"
29
+ ]
30
+ },
31
+ "captured_at": "2026-08-17T03:07:15.316Z",
32
+ "template": [
33
+ {
34
+ "id": "time-picker",
35
+ "component": "TimePicker",
36
+ "max": "18:00",
37
+ "min": "08:00",
38
+ "step": 900,
39
+ "value": "09:30"
40
+ },
41
+ {
42
+ "id": "root",
43
+ "component": "Field",
44
+ "label": "Start time",
45
+ "children": [
46
+ "time-picker"
47
+ ]
48
+ }
49
+ ]
50
+ }
@@ -6,7 +6,7 @@
6
6
  "slots": [],
7
7
  "nested": [],
8
8
  "attrs": {},
9
- "html": "<section>\n <col-ui gap=\"3\">\n <header>\n <h3>Recent activity</h3>\n </header>\n <timeline-ui>\n <timeline-item-ui text=\"Diana shipped v0.5.0\" description=\"Free-form composer + corpus regrowth\" time=\"10:42 AM\" status=\"done\"></timeline-item-ui>\n <timeline-item-ui text=\"Marco approved PR #1428\" description=\"Hero section split layout\" time=\"9:18 AM\"></timeline-item-ui>\n <timeline-item-ui text=\"June published release notes\" description=\"v0.4.9 closeout cycle\" time=\"Yesterday\"></timeline-item-ui>\n </timeline-ui>\n </col-ui>\n </section>",
9
+ "html": "<section>\n <col-ui gap=\"3\">\n <header>\n <h3>Recent activity</h3>\n </header>\n <timeline-ui>\n <timeline-item-ui text=\"Diana shipped v0.5.0\" description=\"Free-form composer + corpus regrowth\" time=\"10:42 AM\" status=\"completed\"></timeline-item-ui>\n <timeline-item-ui text=\"Marco approved PR #1428\" description=\"Hero section split layout\" time=\"9:18 AM\"></timeline-item-ui>\n <timeline-item-ui text=\"June published release notes\" description=\"v0.4.9 closeout cycle\" time=\"Yesterday\"></timeline-item-ui>\n </timeline-ui>\n </col-ui>\n </section>",
10
10
  "source": "catalog/ui-patterns/v050-content-blocks/v050-content-blocks.contents.html",
11
11
  "metadata": {
12
12
  "domain": "layout",
@@ -23,7 +23,7 @@
23
23
  "releases"
24
24
  ]
25
25
  },
26
- "captured_at": "2026-08-11T15:04:02.567Z",
26
+ "captured_at": "2026-08-17T01:13:25.228Z",
27
27
  "template": [
28
28
  {
29
29
  "id": "text",
@@ -42,7 +42,7 @@
42
42
  "id": "timeline-item",
43
43
  "component": "TimelineItem",
44
44
  "description": "Free-form composer + corpus regrowth",
45
- "status": "done",
45
+ "status": "completed",
46
46
  "text": "Diana shipped v0.5.0",
47
47
  "time": "10:42 AM"
48
48
  },
@@ -6,7 +6,7 @@
6
6
  "slots": [],
7
7
  "nested": [],
8
8
  "attrs": {},
9
- "html": "<card-ui style=\"max-width: 480px;\">\n <header>\n <span slot=\"heading\" variant=\"section\">Schedule report</span>\n </header>\n <section>\n <col-ui gap=\"3\">\n <field-ui label=\"Time zone\">\n <select-ui id=\"tz-select-preview\" searchable></select-ui>\n </field-ui>\n <field-ui label=\"Send at\">\n <input-ui type=\"time\" name=\"send-at\" value=\"09:00\"></input-ui>\n </field-ui>\n <text-ui id=\"tz-preview\" color=\"subtle\" size=\"sm\"></text-ui>\n </col-ui>\n </section>\n </card-ui>",
9
+ "html": "<card-ui style=\"max-width: 480px;\">\n <header>\n <span slot=\"heading\" variant=\"section\">Schedule report</span>\n </header>\n <section>\n <col-ui gap=\"3\">\n <field-ui label=\"Time zone\">\n <select-ui id=\"tz-select-preview\" searchable></select-ui>\n </field-ui>\n <field-ui label=\"Send at\">\n <time-picker-ui name=\"send-at\" value=\"09:00\"></time-picker-ui>\n </field-ui>\n <text-ui id=\"tz-preview\" color=\"subtle\" size=\"sm\"></text-ui>\n </col-ui>\n </section>\n </card-ui>",
10
10
  "source": "packages/web-components/patterns/timezone-selector/timezone-selector.examples.html",
11
11
  "metadata": {
12
12
  "domain": "settings",
@@ -25,7 +25,7 @@
25
25
  "convert"
26
26
  ]
27
27
  },
28
- "captured_at": "2026-07-29T09:15:19.217Z",
28
+ "captured_at": "2026-08-16T23:54:36.437Z",
29
29
  "template": [
30
30
  {
31
31
  "id": "text",
@@ -56,8 +56,7 @@
56
56
  },
57
57
  {
58
58
  "id": "send-at",
59
- "component": "Input",
60
- "type": "time",
59
+ "component": "TimePicker",
61
60
  "name": "send-at",
62
61
  "value": "09:00"
63
62
  },
@@ -44,7 +44,7 @@
44
44
  "period"
45
45
  ]
46
46
  },
47
- "captured_at": "2026-08-15T04:10:49.553Z",
47
+ "captured_at": "2026-08-17T04:06:20.963Z",
48
48
  "template": [
49
49
  {
50
50
  "id": "text",
@@ -28,7 +28,7 @@
28
28
  "welcome"
29
29
  ]
30
30
  },
31
- "captured_at": "2026-08-12T03:08:04.736Z",
31
+ "captured_at": "2026-08-17T04:06:20.963Z",
32
32
  "template": [
33
33
  {
34
34
  "id": "text",
@@ -25,7 +25,7 @@
25
25
  "controls"
26
26
  ]
27
27
  },
28
- "captured_at": "2026-08-12T13:38:30.181Z",
28
+ "captured_at": "2026-08-17T04:06:20.963Z",
29
29
  "template": [
30
30
  {
31
31
  "id": "image",
@@ -1,6 +1,6 @@
1
1
  {
2
- "timestamp": "2026-08-15T03:21:22.954Z",
3
- "pages": 205,
4
- "chunks": 526,
5
- "skipped": 1568
2
+ "timestamp": "2026-08-17T22:21:13.118Z",
3
+ "pages": 209,
4
+ "chunks": 536,
5
+ "skipped": 1566
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adia-ai/gen-ui",
3
- "version": "0.8.40",
3
+ "version": "0.8.42",
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",
@@ -67,5 +67,5 @@ for the A2UI registry + runtime primitives.
67
67
  ## Links
68
68
 
69
69
  - Repo: [`adiahealth/gen-ui-kit`](https://github.com/adiahealth/gen-ui-kit)
70
- - Architecture: [`.claude/docs/specs/package-architecture.md`](https://github.com/adiahealth/gen-ui-kit/blob/main/docs/specs/package-architecture.md)
70
+ - Architecture: [`.claude/docs/specs/package-architecture.md`](https://github.com/adiahealth/gen-ui-kit/blob/main/.claude/docs/specs/package-architecture.md)
71
71
  - CHANGELOG: [`CHANGELOG.md`](./CHANGELOG.md)