Skip to content

Commit 9e69777

Browse files
bloveclaude
andcommitted
feat(examples-chat): A2UI Pass 1 surface coverage — exercise full catalog
Audit found that the existing 4 GenUI welcome suggestions only reliably exercise 8 of the 18 catalog components (Card, Column, Text, TextField, MultipleChoice, CheckBox, Slider, Button). The other 10 (Row, List, Tabs, Modal, Divider, DateTimeInput, Icon, Image, Video, AudioPlayer) never see daylight. Adds two welcome suggestions designed to elicit LLM-generated surfaces that collectively render 8 of the 10 gap components: - "Demo: render a media-rich product card" — Image + Tabs + Row + Icon + List + Button - "Demo: render a booking surface with modal" — DateTimeInput + Divider + Row + Card + TextField + Modal Remaining gaps (Video, AudioPlayer) are deferred — they're media-heavy and best exercised by a future media-focused suggestion when needed. Updates CHECKLIST.md with an "A2UI catalog coverage" sub-section under Generative UI / A2UI surfaces, mapping each demo prompt to the components it exercises so smoke runs can systematically verify catalog rendering across the full 18-component set. Sets up the visual baseline for the upcoming theming track: - Pass 2 (token contract expansion) audits theming knobs against the fully-exercised catalog - Pass 3 (Material preset) ships token-value CSS files with no new runtime deps Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent caf7a71 commit 9e69777

2 files changed

Lines changed: 23 additions & 0 deletions

File tree

examples/chat/angular/src/app/modes/welcome-suggestions.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,4 +64,14 @@ export const WELCOME_SUGGESTIONS: readonly WelcomeSuggestion[] = [
6464
value:
6565
'Show me a contact form with fields for name, email address, subject, and a multi-line message, plus a Send button.',
6666
},
67+
{
68+
label: 'Demo: render a media-rich product card',
69+
value:
70+
'Render a product card with: a header image at the top, a tab strip with two tabs ("Overview" and "Specs"). Under Overview show a Row containing an icon and a short description Text. Under Specs show a List of feature bullets each prefixed with a small icon. Below the tabs add a primary "Add to cart" Button.',
71+
},
72+
{
73+
label: 'Demo: render a booking surface with modal',
74+
value:
75+
'Render a booking surface: a heading "Book your trip", a DateTimeInput for travel date, a horizontal divider, then a Row containing two Cards (one for departure city, one for return city) each with a TextField. Below the Row add a primary "Continue" Button whose action opens a Modal containing a confirmation Column with a summary Text and Confirm / Cancel Buttons.',
76+
},
6777
];

examples/chat/smoke/CHECKLIST.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,19 @@ renders correctly both during streaming and after completion.
266266
- [ ] In json-render mode: final AI message content is a bare JSON object starting with `{`
267267
- [ ] `curl localhost:2024/threads/<id>/state` confirms the above for both modes
268268

269+
### A2UI catalog coverage
270+
271+
The 18 catalog components must render correctly when the LLM-generated surface includes them. After clicking each demo suggestion below, verify the rendered surface contains the listed component types and that each looks visually correct (no overflow, alignment intact, text legible, interactive controls functional).
272+
273+
- [ ] "Demo: render a feedback form" — `Card` + `Column` + `Text` + `TextField` + (`MultipleChoice` or `Slider`) + `Button`
274+
- [ ] "Demo: render a settings card" — `Card` + `Column` + `Text` + `MultipleChoice` + `CheckBox` + `Button`
275+
- [ ] "Demo: render a poll" — `Card` + `Column` + `Text` + `MultipleChoice` + `Button`
276+
- [ ] "Demo: render a contact form" — `Card` + `Column` + `Text` + `TextField` + `Button`
277+
- [ ] "Demo: render a media-rich product card" — `Image` + `Tabs` + `Row` + `Icon` + `List` + `Button`
278+
- [ ] "Demo: render a booking surface with modal" — `DateTimeInput` + `Divider` + `Row` + `Card` + `TextField` + `Modal`
279+
280+
Components NOT yet exercised by the demo (deferred to future media-focused suggestions): `Video`, `AudioPlayer`.
281+
269282
## Subagents
270283

271284
- [ ] Click "Demo: dispatch a research subagent" welcome suggestion

0 commit comments

Comments
 (0)