| Tooltip (#648) |
max-width: 400px hardcoded |
| Toast (#647) |
CSS variable fallbacks missing |
| ThemeProvider (#646) |
Scattered hardcoded defaults |
| TextArea (#645) |
Hardcoded icon dimensions 12px |
| Text (#644) |
Hardcoded px in deprecated size variants (13px–28px) |
| Tabs (#643) |
height: 28px, icon 16px hardcoded |
| Table (#642) |
border-bottom: 0.5px, sticky top: 0px |
| Switch (#641) |
Transform 16px/12px, thumb dimensions hardcoded |
| Slider (#639) |
gap: 3px, height: 6px, thumb 24x20px, border: 0.5px |
| Skeleton (#638) |
Inline 50px default width |
| Sidebar (#637) |
220px, 240px, 57px widths hardcoded |
| SidePanel (#636) |
width: 400px fixed |
| Sheet (#635) |
width: 250px, height: 300px hardcoded |
| Select (#633) |
containerWidth - 70 magic number, 0.6 char width, max-height: 320px |
| Search (#632) |
SVG 12px hardcoded, magic number in icon sizing |
| ScrollArea (#631) |
Scrollbar 4px/6px width hardcoded |
| Popover (#629) |
min-width: 120px, max-width: 18rem, animation 400ms |
| Link (#625) |
opacity: 0.8 hover, transition timing |
| InputField (#623) |
line-height: 32px, padding: 6px 0, max-width: 200px, icon 16px |
| Indicator (#622) |
Scale-specific token instead of semantic |
| Headline (#619) |
Hardcoded font size pixel values |
| FilterChip (#616) |
Hardcoded color and spacing values |
| EmptyState (#615) |
Hardcoded padding, gaps, font sizes |
| DropdownMenu (#614) |
Hardcoded pixel values |
| Dialog (#613) |
Hardcoded sizing values |
| Command (#609) |
max-height: 300px, padding: 0 12px, padding: 30px 0 |
| Combobox (#608) |
max-height: 320px hardcoded |
| ColorPicker (#607) |
Hardcoded hue gradient hex colors |
| Callout (#603) |
Hardcoded gradient hex, width: 318px |
| Badge (#598) |
Hardcoded gradient hex values |
| AnnouncementBar (#596) |
Hardcoded gradient hex values |
| Navbar (#576) |
min-height: 48px hardcoded |
Summary
Many components use hardcoded pixel values, hex colors, magic numbers, and fixed dimensions in their CSS instead of referencing the design token system (
var(--rs-*)). This creates inconsistency, makes theming difficult, and increases maintenance burden.Goal
Audit and replace all hardcoded CSS values with appropriate design tokens across the component library. This includes:
var(--rs-space-*)tokensvar(--rs-color-*)semantic tokensvar(--rs-font-size-*)tokensvar(--rs-radius-*),var(--rs-border-width-*)tokensvar(--rs-transition-*)tokensAffected Components
max-width: 400pxhardcoded12pxpxin deprecated size variants (13px–28px)height: 28px, icon16pxhardcodedborder-bottom: 0.5px, stickytop: 0px16px/12px, thumb dimensions hardcodedgap: 3px,height: 6px, thumb24x20px,border: 0.5px50pxdefault width220px,240px,57pxwidths hardcodedwidth: 400pxfixedwidth: 250px,height: 300pxhardcodedcontainerWidth - 70magic number,0.6char width,max-height: 320px12pxhardcoded, magic number in icon sizing4px/6pxwidth hardcodedmin-width: 120px,max-width: 18rem, animation400msopacity: 0.8hover, transition timingline-height: 32px,padding: 6px 0,max-width: 200px, icon16pxmax-height: 300px,padding: 0 12px,padding: 30px 0max-height: 320pxhardcodedwidth: 318pxmin-height: 48pxhardcodedApproach
Acceptance Criteria
0,1pxborders)var(--rs-color-*)tokens