NeoTheme via theme.colors, theme.spacings, theme.radii, theme.shadows, theme.textStyles, and theme.durations.
Token Categories
Neo organizes design tokens into six main categories onNeoTheme:
Color Tokens
Class
Semantic colors. Access via
theme.colors. Widgets compose from these tokens and handle hover/press themselves. For global primary-button tinting, set the nullable buttonPrimaryBg / buttonPrimaryBgInteraction / buttonPrimaryFg overrides when needed.brandfgOnBrand
ink— the mode foreground pigmentfgOnInk— text/icons on ink surfaces (toasts, tooltips, etc.)
fg* uses a per-mode ink alpha ladder.
fgPrimaryfgSecondaryfgTertiary
bgPrimarybgSecondarybgTertiary
fillSubtle / fillStrong are interaction washes (not part of the fg/border ladder).
fillSubtlefillStrong
borderPrimary, borderSecondary, and borderTertiary are alpha-on-ink values. They blend with whatever surface sits behind them — verify appearance when drawing borders on non-default backgrounds.
borderPrimaryborderSecondaryborderTertiary
transparentscrim— dimmed overlay wash for modals and similar surfaces (typically pure black at call-site alpha)
success/onSuccesswarning/onWarningdanger/onDanger
buttonPrimaryBg/buttonPrimaryBgInteraction/buttonPrimaryFgcheckboxCheckedBg/checkboxCheckedFg
codeBlockBg/codeBlockFg
Spacing Tokens
Class
Consistent spacing values for layouts and component padding. Access via
theme.spacings.extraSmallsmallmediumlargeextraLarge
Border Radius Tokens
Class
Corner radius values that maintain visual consistency. Access via
theme.radii.extraSmallsmallmediumlargefull
Shadow Tokens
Class
Elevation and depth definitions for components and overlays. Access via
theme.shadows.extraSmallsmallmedium
Typography Tokens
Class
Complete type scale for clear information hierarchy. Access via
theme.textStyles.header1header2header3header4body1body2labelbuttoncode
Duration Tokens
Class
Animation durations for consistent timing and smooth interactions. Access via
theme.durations.shortmediumlong
Using Design Tokens
Access design tokens through theneoCurrentThemeProvider:
Benefits
- Consistency: Ensures visual harmony across your application
- Maintainability: Update designs by changing token values, not individual components
- Scalability: Easy to maintain consistent design at any application size
- Flexibility: Switch between light/dark themes or completely different brand themes
- Developer Experience: Clear, semantic names make code more readable

