style: complete Royal Neo-Deco sweep — eliminate slate-* (Rule 27)#11
Merged
Conversation
Replace all forbidden slate-* utilities in components/guards with on-brand Royal Neo-Deco classes (text-ink / text-ink-muted / text-royal, bg-[var(--neutral-faint)], border-[var(--neutral-border)]). Heading text maps to text-royal; primary body to text-ink; secondary/helper to text-ink-muted; faint fills/borders to royal-tinted neutral vars. Visual/ className only — no logic or behavior changes; all 208 tests green. Refs CLAUDE.md Rule 27 (§4 Royal Neo-Deco design law). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace all slate-* utilities in web/src/components/ui and web/src/components/skeletons with on-brand Royal Neo-Deco tokens (royal-tinted neutrals + ink/ink-muted), removing forbidden grey. - Borders slate-50/100/200/300 -> border-[var(--neutral-border)] / border-[var(--neutral-faint)] (hairline royal-tinted neutrals) - Faint fills bg-slate-50 -> bg-[var(--neutral-faint)] - Skeleton pulse bg-slate-200/60 -> bg-[color-mix(in_srgb,var(--neutral-border)_60%,transparent)] - select-with-other input value text text-slate-900 -> text-ink - README design-rule note updated to royal-tinted neutrals Visual/className only; logic + behavior unchanged (208 tests green, build green). Refs Rule 27 (Royal Neo-Deco design law). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace all slate-* utilities across the estates.$estateId.* route subtree with on-brand Royal Neo-Deco tokens per DESIGN LAW (Rule 27 / §4): - Headings (Cinzel / h1-h6 / *Title) text-slate-900/800 -> text-royal - Body/value text text-slate-900/800/700 -> text-ink (opacity preserved) - Secondary/helper text-slate-600/500/400/300 -> text-ink-muted - Light-on-dark text-slate-200 -> text-white/70 - Faint fills bg-slate-50/100 -> bg-neutral-faint (#F4F6FB) - Dividers/borders slate-100/200/300 -> --neutral-border (#DCE3EE) - Dark fills bg-slate-800/900 -> bg-royal-blue / bg-royal - Hover border highlights -> gold/40-50 (Neo-Deco gold halo) Visual/className-only sweep: zero logic changes, all 208 tests green, production build passes. No grey/slate or emerald anywhere. Refs: CLAUDE.md Rule 27 / §4 Royal Neo-Deco Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace all forbidden slate-* utilities with on-brand Royal Neo-Deco classes across the shell/onboarding routes (__root 404, dashboard redirect, accept-invite states, estates.create wizard). Slate text -> royal-tinted ink/ink-muted (headings -> royal), slate fills/borders -> neutral-faint/neutral-border var tokens, dark-surface text -> white/70, interactive hover borders -> gold halo. No emerald, no grey. Visual/className only -- zero logic or behavior change. Build green, 208/208 vitest pass. Refs CLAUDE.md Rule 27 / §4 Royal Neo-Deco. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace all slate-* utilities with on-brand Royal Neo-Deco classes across index, about, privacy, terms, and memorial routes (178 occurrences). Cinzel headings + stat displays -> text-royal; primary body -> text-ink; secondary/helper -> text-ink-muted; faint panel fills -> bg-[var(--neutral-faint)]; hairline borders -> border-[var(--neutral-border)]; dividers preserve opacity. No grey, no emerald. Visual/className-only; logic, behavior, and tests unchanged (208 vitest pass, build green). Refs CLAUDE.md Rule 27 / Sec.4 Royal Neo-Deco design law. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace all slate-* utilities with on-brand Royal Neo-Deco classes across the layout, landing, and ErrorBoundary components. Headings -> text-royal, body/values -> text-ink, secondary/labels -> text-ink-muted, dark chrome fills -> bg-royal/bg-royal-blue, faint fills/borders -> --neutral-faint/--neutral-border. No slate or emerald remains. Visual/ className-only; logic and behavior unchanged (208 tests green, build OK). Refs CLAUDE.md Rule 27 (§4 Royal Neo-Deco design law). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace all slate-* utilities in web/src/components/estate components with on-brand Royal Neo-Deco classes per the canonical mapping — royal-tinted ink for text (text-ink / text-ink-muted), text-royal for Cinzel headings, royal/gold accents for borders, and neutral-faint/neutral-border vars for fills and hairlines. Slate/grey is forbidden for FinalWishes per Design Law. Visual-only: no logic or behavior changed; build green, 208 tests pass. Refs Rule 27 (§4 Royal Neo-Deco). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Visit the preview URL for this PR (updated for commit 5bd74e4): https://finalwishes-prod--pr11-wave3-royal-sweep-4v46llbc.web.app (expires Sun, 21 Jun 2026 19:00:55 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 Sign: 6c224b6590e2084ad0c46f0efd6a68ed08b63fa3 |
Owner
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Royal Neo-Deco Sweep — Wave 3 Integration
Completes the §4 / Rule 27 Royal Neo-Deco design-law sweep across the
web/surface. Visual/className only — zero logic changes, all behavior + tests preserved.Slate elimination
slate-*color classes onwave2/hardening(before)slate-*color classes after sweep (real)git grep -c "slate-"residual (after)The 30 residual
git grep "slate-"hits are not slate color tokens. Every one is either:translate-*transform utility (-translate-x-1/2,group-hover:translate-x-0.5, etc.) — the substringslate-appears insidetran**slate-**, andestates.$estateId.obituary.lazy.tsxdocumenting whyvar(--color-slate-*)was removed.Precise check
git grep -nE "(^|[^a-zA-Z-])slate-" -- web/src | grep -vE "translate-"returns empty. Effective residual slate = 0.Integrated branches (disjoint globs, no conflicts)
w3/routes-toplevel-marketing— index, about, memorial, privacy, termsw3/routes-shell-onboarding— __root, accept-invite, dashboard, estates.createw3/routes-estate-detail-subtree— 17 estate-detail route filesw3/components-estate— Invite/Quorum/RSVP/Settlement/Share/Shepherd panelsw3/components-guards— AuthGuard, IdentityGate, OwnerWelcomew3/components-layout-landing— ErrorBoundary, ProductShowcase, NotificationBell, Sidebarw3/components-ui-skeletons— skeletons + ui (select-with-other, skeleton)Greys/slates mapped to Royal Blue (
--royal/--sapphire/--royal-blue), Metallic Gold (--gold), and ink tokens. No emerald introduced (Sirsi brand, not FinalWishes).Verification
npm run build— ✅ green (only pre-existing chunk-size advisory)npx vitest run— ✅ 208 passed / 14 filesapi/untouched.🤖 Generated with Claude Code