Skip to content

refactor(design-tokens): align dark palette to chat lib (neutral grays)#333

Merged
blove merged 7 commits into
mainfrom
dark-palette-align
May 15, 2026
Merged

refactor(design-tokens): align dark palette to chat lib (neutral grays)#333
blove merged 7 commits into
mainfrom
dark-palette-align

Conversation

@blove
Copy link
Copy Markdown
Contributor

@blove blove commented May 15, 2026

Summary

Sibling of #321 (which aligned the light palette). Refreshes `@ngaf/design-tokens` dark palette to absorb `@ngaf/chat` library's neutral-dark aesthetic. Cockpit dark mode flips from the original brand-blue undertone (`#0e1117` / `#161b25` / `#23293a`) to neutral dark (`rgb(17, 17, 17)` / `rgb(28, 28, 28)` / `rgb(45, 45, 45)`).

This reverses decision D from the original cockpit dark mode brainstorming (#298), where brand-blue undertone was preferred over neutral grays. The trade is design-system cohesion: embedded chat in cockpit dark mode now visually unifies with cockpit chrome (no more color seam at the iframe boundary).

Accent family (`accent`, `accentLight`, `accentHover`, glow/border/surface variants) stays unchanged — brand identity preserved.

Prerequisite for Stage 2 of examples theme sync (separate PR next).

Test plan

  • `pnpm nx run-many -t lint,test -p design-tokens,ui-react,example-layouts,chat,cockpit` — green
  • `pnpm nx e2e cockpit` — green (6/6 including updated dark-mode assertion)
  • `pnpm nx build website` — green
  • `pnpm nx build cockpit-chat-timeline-angular` — green
  • Drift-guard test passes without regenerating `theme.css` (generator emits only light values)

Notes

  • 7 commits (1 spec + 6 implementation). Includes 2 cleanup commits for stale assertions in `libs/example-layouts/src/lib/install-embedded-theme.spec.ts` that PR refactor: website token alignment + design-tokens light palette refresh #321 missed (light `'#fafbfc'` → `'rgb(255, 255, 255)'` carryover).
  • `apps/cockpit/src/app/opengraph-image.tsx` reads `darkOverrides` at request time via Satori — cockpit OG image will reflect the new dark palette on next deploy.

🤖 Generated with Claude Code

blove and others added 7 commits May 15, 2026 11:41
Sibling of #321 (light palette refresh). Aligns design-tokens dark
palette to chat lib's neutral-dark aesthetic (rgb(17,17,17) canvas,
rgb(28,28,28) surface, etc.) instead of the original brand-blue
undertone shipped in #298. Embedded chat in cockpit dark mode now
visually unifies with cockpit chrome.

Reverses decision D from the original cockpit dark mode brainstorming
in favor of design-system cohesion. Accent family stays unchanged
(brand identity preserved).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Reverses #298's brand-blue undertone in dark mode in favor of cohesion
with the @ngaf/chat lib's neutral-dark aesthetic. Embedded chat surfaces
in cockpit dark mode now unify visually with cockpit chrome — no iframe
color seam. Accent family unchanged (brand identity preserved).
Aligns --ds-canvas and --ds-text-primary expectations with the new
neutral-dark palette.
Aligns the default-dark --ds-canvas expectation with the new
neutral-dark palette.
Patch bump for dark palette alignment.
…tion

Aligns the default-dark --ds-canvas expectation with the new
neutral-dark palette.
Pre-existing test drift missed by #321 (light palette refresh —
canvas changed to rgb(255, 255, 255)). Caught while updating the
dark assertion in this PR.
@vercel
Copy link
Copy Markdown

vercel Bot commented May 15, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cacheplane Ready Ready Preview, Comment May 15, 2026 7:56pm

Request Review

@blove blove merged commit afcd4aa into main May 15, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant