diff --git a/examples/chat/smoke/CHECKLIST.md b/examples/chat/smoke/CHECKLIST.md index 24cd0e10..7a1190fa 100644 --- a/examples/chat/smoke/CHECKLIST.md +++ b/examples/chat/smoke/CHECKLIST.md @@ -136,6 +136,20 @@ renders correctly both during streaming and after completion. - [ ] Palette never overlaps the chat input - [ ] Palette stays above any popup/sidebar in z-order +## Color scheme (Light / Dark) + +- [ ] Palette → APPEARANCE section shows a `Light` / `Dark` segmented control above the existing `Theme` dropdown +- [ ] Default is `Dark` on first load +- [ ] Toggle to `Light` — `` flips to `data-color-scheme="light"` and `data-ngaf-chat-theme="light"` +- [ ] Page background flips to white; chat composition + sidenav backgrounds flip to light +- [ ] A2UI surface text colors invert correctly (no white-on-white or black-on-black) +- [ ] Toggle back to `Dark` — all of the above restore +- [ ] When A2UI theme dropdown is on `default-dark` or `default-light`, it auto-syncs with the color scheme toggle +- [ ] When A2UI theme is on a `material-*` preset, color scheme toggle does NOT change the A2UI theme (user override wins) +- [ ] Selection persists across reload (`localStorage.ngaf-chat-demo:palette.colorScheme`) +- [ ] No FOUC on initial load — inline `` script reads the persisted value before bootstrap +- [ ] No `console.error` on toggle + ## Keyboard & accessibility - [ ] Tab order reaches: input, send button, suggestions (when shown), @@ -219,6 +233,9 @@ renders correctly both during streaming and after completion. - [ ] After tool completes: card collapses to "complete" pill - [ ] Click the card — args + result panels expand - [ ] AI response references documents inline (e.g. "Signals are... [1]") +- [ ] Tool call card name (`.tcc__name`) is rendered in `--ngaf-chat-text-muted` color and `font-size-sm` (NOT full-brightness text) +- [ ] Tool call status pill (`.tcc__pill`) uses muted monochrome (`--ngaf-chat-text-muted`) regardless of status — NO saturated green/red for complete/error states +- [ ] `` host has `margin-bottom >= 16px` so the next sibling (A2UI surface or markdown) has clear breathing room ## Interrupts / human-in-the-loop @@ -328,9 +345,11 @@ Components NOT yet exercised by the demo (deferred to future media-focused sugge ## Sidenav (thread management) - [ ] Left sidenav renders by default as a semantic `