Spaces:
Running
Running
Token Normalization Log
Tracking the migration from raw Tailwind palette classes and arbitrary values to semantic design tokens.
Completed
-
.darkCSS block now declares all variables from:root(--modal-background,--radius-*,--success,--warning,--info,--gradient-*,--shadow-*,--font-*,--settings-*) - Migrated ~160 raw
stone-*utility classes across 17 component files to semantic tokens (excludingthemeAppClassMap.ts,index.ts, and scrollbar utilities) - Migrated ~44 raw
gray-*utility classes across 10 files to semantic tokens - Migrated ~83 raw
neutral-*classes across 3 files to semantic tokens (preserving VS Code diff mock borders) - Replaced 47 arbitrary border radius values (
rounded-[6px]βrounded-lg,rounded-[100px]βrounded-full,rounded-[12px]βrounded-xl,rounded-[4px]βrounded-md,rounded-r-[100px]βrounded-r-full) - Replaced 74 arbitrary font sizes (
text-[11px]βtext-xs,text-[10px]βtext-xs,text-[12px]βtext-xs) - Standardized 57
hover:bg-mutedopacity variants (/40,/50,/70,/80) to canonical/60 - Replaced 6 unsafe
text-whiteusages with semantic tokens (text-foreground,text-card-foreground) - Replaced
bg-[#141414]βbg-secondary(2 instances) - Migrated ~100+ chromatic palette classes to semantic tokens:
amber/yellowβwarning,blue/skyβinfo,green/emeraldβsuccess,redβdestructive - Unified tooltip backgrounds from
bg-popover/bg-cardtobg-mutedacross all 6 tooltip instances - Fixed 33 inline white buttons (
bg-white text-black hover:bg-muted/60βbg-primary text-primary-foreground hover:bg-primary/85) - Fixed Button
lightvariant frombg-white text-black hover:bg-zinc-200tobg-primary text-primary-foreground hover:bg-primary/85 - Removed Dialog
--ringinline override (0 0% 95%) that caused inconsistent focus ring color in modals - Updated global
--ringfrom0 0% 50%to0 0% 80%for better visibility - Normalized ~50 inline input/textarea/select focus styles to canonical
focus-visible:pattern (from mixedfocus:/focus-visible:with missing offsets) - Changed all focus rings from
ring-2toring-1site-wide (~97 instances across 39 files) - Added
appearance: noneoninput[type="search"]to strip browser default focus chrome - Removed focus ring from dialog close button
- Consolidated
active:scale-95(3 uses) βactive:scale-[0.97]to match Button standard - Migrated
ChatThread.tsxmessageTypeColors:yellow-500βwarning,blue-500βinfo(3 categories). Remaining categorical colors (orange-500,indigo-500,purple-500,pink-500) kept as raw palette β no semantic equivalent for multi-category distinctness - Migrated 14 remaining
bg-whiteusages in non-button contexts to semantic tokens: toggles βbg-primary, resize grips βbg-foreground, badge βbg-primary, attachment previews βbg-foreground/5, CTA buttons βbg-primary text-primary-foreground hover:bg-primary/85, ghost hover buttons βhover:bg-primary hover:text-primary-foreground - Documented
duration-200vsduration-300convention (200ms = local feedback, 300ms = layout/panel motion) -
Migrate legacyβ invalid;index.tsscreens/index.tsandcomponents/workflow/index.tsare barrel files with zero raw color classes
Deferred by Design
-
themeAppClassMap.tsandNewUserExperienceFlowchart.tsxuse rawstone-*/rgb()values β these are theme definition maps that intentionally encode per-theme palettes (dark/light/sepia). Migrating requires defining CSS variables for each theme mode, which is an architectural change -
sepiatheme inthemeAppClassMap.tsuses hardcodedrgb()β requires defining a.theme-sepiaCSS variable block before semantic classes can replace arbitrary values -
ChatThread.tsxcategorical palette (orange-500,indigo-500,purple-500,pink-500) forbug,docs,dependency,gitmessage types β no semantic tokens exist for multi-category distinctness; would need new--chart-*or--category-*CSS variables