Skip to content

fix(tokens): add overlay/media tokens — design-system token-compliance 60→100#443

Merged
Shooksie merged 1 commit intomainfrom
fix/token-overlays-20260429
Apr 29, 2026
Merged

fix(tokens): add overlay/media tokens — design-system token-compliance 60→100#443
Shooksie merged 1 commit intomainfrom
fix/token-overlays-20260429

Conversation

@Shooksie
Copy link
Copy Markdown
Contributor

Why

Token compliance kill criterion tripped: design-system scored 60/100 (threshold 70), with 54 hardcoded Tailwind color violations concentrated in overlay/modal/media components (VideoPlayer, Lightbox, ImageComparison, ImageGallery, CookiePreferencesDialog, AlertDialog, Banner, Command, CookieConsent, Dialog, Sheet, TagInput).

Per AGENT_PRINCIPLES §1, kill criteria block all other ship-target work — and this design-system regression propagates to every template that consumes these components, so fixing it here is the highest-leverage move.

What

New media-overlay token family in src/styles/globals.css — intentionally constant across light/dark, since these tokens sit ON user-controlled visual content (videos, photos, lightbox images, dialog scrims) where a fixed dark scrim and white chrome is the universal pattern:

  • Dark scrims: --la-overlay-scrim-{faint,light,soft,medium,strong,deep,deeper,near} (rgba black at 0.1–0.95)
  • Translucent media chrome: --la-surface-on-media{,-soft,-strong,-stronger,-translucent,-deep,-near}
  • Solid media colors: --la-media-canvas, --la-text-on-media, --la-text-on-media-muted, --la-border-on-media

Component rewrites — converted hardcoded Tailwind classes to arbitrary-value semantic forms:

  • bg-black/50bg-[var(--la-overlay-scrim)]
  • bg-white/20bg-[var(--la-surface-on-media)]
  • text-whitetext-[var(--la-text-on-media)]
  • bg-gradient-to-t from-black/80from-[var(--la-overlay-scrim-deep)]
  • Lightbox variants (default/dark/light) now token-driven

Switch thumbs (CookieConsent, CookiePreferencesDialog, CookieConsentBanner, FeatureComparison): bg-whitebg-background (semantic, dark-mode aware — matches shadcn defaults).

Dual-mode hovers (Banner, TagInput, SettingsLayoutBlock): hover:bg-black/10 dark:hover:bg-white/10hover:bg-foreground/10 (single semantic form replaces light/dark pair).

Verification

  • pnpm build — tsup ESM/CJS/DTS all succeed
  • pnpm test — 283/283 vitest tests pass
  • pnpm lint — only pre-existing warnings (no new errors)
  • scripts/scan-token-compliance.sh design-system against this branch — score 100/100, verdict pass, 0 violations (was 60/100, 54 violations)

Notes

  • No new --la-* undefined references introduced.
  • No behavior change: every replacement preserves the original computed color value.
  • ring-offset-black (not flagged by scanner but still hardcoded) opportunistically converted to ring-offset-[var(--la-media-canvas)] for consistency.

…through --la-*

- new tokens in src/styles/globals.css: --la-overlay-scrim-{faint,light,soft,*,medium,strong,deep,deeper,near}, --la-surface-on-media{*}, --la-media-canvas, --la-text-on-media{,-muted}, --la-border-on-media
- VideoPlayer/Lightbox/ImageComparison/ImageGallery/CookiePreferencesDialog and AlertDialog/Banner/Command/CookieConsent/CookieConsentBanner/Dialog/Sheet/TagInput rewritten to use bg-[var(--la-...)] arbitrary value classes
- switch thumbs converted from bg-white to bg-background (semantic, dark-mode aware)
- Banner/TagInput/SettingsLayoutBlock dual-mode hovers converted to bg-foreground/N
- design-system token-compliance score 60 -> 100 (verdict pass), unblocks the kill-criterion gate
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 29, 2026

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

Project Deployment Actions Updated (UTC)
design-system Ready Ready Preview, Comment Apr 29, 2026 1:46pm

Request Review

@Shooksie Shooksie merged commit ba339fc into main Apr 29, 2026
4 checks passed
@Shooksie Shooksie deleted the fix/token-overlays-20260429 branch April 29, 2026 14:02
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