Commit Graph

1 Commits

Author SHA1 Message Date
Marcel
d56d80617c feat(redesign): close out design-token foundation (#854)
All checks were successful
CI / Unit & Component Tests (pull_request) Successful in 5m1s
CI / OCR Service Tests (pull_request) Successful in 26s
CI / Backend Unit Tests (pull_request) Successful in 6m32s
CI / fail2ban Regex (pull_request) Successful in 46s
CI / Semgrep Security Scan (pull_request) Successful in 22s
CI / Compose Bucket Idempotency (pull_request) Successful in 1m8s
SDD Gate / RTM Check (pull_request) Successful in 15s
SDD Gate / Contract Validate (pull_request) Successful in 22s
SDD Gate / Constitution Impact (pull_request) Successful in 19s
Completes DESIGN_RULES §1 so the rest of the Mappe shared components have a full token
substrate:

- Add --radius-sm/md/full and --shadow-sm/md as first-class :root tokens in layout.css.
  Radius is theme-invariant; --shadow-sm/md get distinct, stronger dark values in BOTH
  dark blocks (the @media and [data-theme='dark'] selectors stay in sync) because the
  light navy-on-sand shadow is invisible on dark surfaces.
- Add $lib/shared/avatarPalette.ts: the canonical 10-color person/avatar palette as a
  single exported constant (single source of truth for <Avatar>, issue #855). Three §5
  hues failed the >=4.5:1 white-initials contrast floor and ship as AA-darkened variants
  (sage #527e61, amber #a46800, sand #897239); the bright hues stay the decorative
  tag-dot colors in layout.css. Guarded by avatarPalette.spec.ts (length, hex, distinct,
  WCAG AA).

Tag-sand naming and the theme storage key were already correct in layout.css/app.html;
this only closed the remaining token gaps. No consumer rewiring (deferred to #855).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 17:15:53 +02:00