Documentation Index Fetch the complete documentation index at: https://mintlify.com/Conty-App/conty-design-system/llms.txt
Use this file to discover all available pages before exploring further.
Conty’s color system uses the OKLCH color space to provide perceptually uniform, accessible colors that automatically adapt between light and dark themes.
Color Categories
Colors are organized into five semantic categories:
Surface - Background colors for containers and surfaces
Text - Foreground colors for typography and icons
Brand - Primary brand colors for interactive elements
Border - Border and divider colors
Status - State colors for destructive actions and feedback
Surface Colors
Surface tokens define background colors for your application.
Default background color for the application Token
Value (Light)
Value (Dark)
semanticTokens . color . surface . default
CSS Custom Property: --background
Muted/subdued background for secondary containers Token
Value (Light)
Value (Dark)
semanticTokens . color . surface . muted
CSS Custom Property: --muted
Usage Example
React Component
Tailwind/CSS
Real Example
import { semanticTokens } from '@conty/tokens'
function Card ({ children }) {
return (
< div style = { {
backgroundColor: semanticTokens . color . surface . default ,
border: `1px solid ${ semanticTokens . color . border . default } `
} } >
{ children }
</ div >
)
}
Text Colors
Text tokens provide semantic foreground colors for typography.
Primary text color for body content Token
Value (Light)
Value (Dark)
semanticTokens . color . text . default
CSS Custom Property: --foregroundWCAG Contrast Ratio: 16.8:1 (AAA) on default surface
Secondary/muted text for less prominent content Token
Value (Light)
Value (Dark)
semanticTokens . color . text . muted
CSS Custom Property: --muted-foregroundWCAG Contrast Ratio: 6.5:1 (AA) on default surface
Text color when placed on brand-colored backgrounds Token
Value (Light)
Value (Dark)
semanticTokens . color . text . onBrand
CSS Custom Property: --primary-foreground
Usage Example
React Component
Real Example
import { semanticTokens } from '@conty/tokens'
function Text ({ muted , children }) {
const color = muted
? semanticTokens . color . text . muted
: semanticTokens . color . text . default
return < p style = { { color } } > { children } </ p >
}
Brand Colors
Brand tokens represent your primary brand identity.
Primary brand color for buttons, links, and key interactions Token
Value (Light & Dark)
semanticTokens . color . brand . primary
CSS Custom Property: --primaryLightness: 62.48% - Optimized for both light and dark themesChroma: 0.2042 - Saturated but not overwhelmingHue: 257.08° - Blue-violet
Usage Example
React Component
Real Example
import { semanticTokens } from '@conty/tokens'
function PrimaryButton ({ children }) {
return (
< button style = { {
backgroundColor: semanticTokens . color . brand . primary ,
color: semanticTokens . color . text . onBrand
} } >
{ children }
</ button >
)
}
Border Colors
Border tokens provide consistent edge and divider colors.
Standard border color for components Token
Value (Light)
Value (Dark)
semanticTokens . color . border . default
CSS Custom Property: --border
Focus ring color for keyboard navigation Token
Value (Light & Dark)
semanticTokens . color . border . focus
CSS Custom Property: --ring
Usage Example
import { semanticTokens } from '@conty/tokens'
function Input ({ focused }) {
return (
< input style = { {
border: `1px solid ${ focused
? semanticTokens . color . border . focus
: semanticTokens . color . border . default } `
} } />
)
}
Status Colors
Status tokens communicate state and feedback.
Destructive/error color for dangerous actions Token
Value (Light & Dark)
semanticTokens . color . status . destructive
CSS Custom Property: --destructiveLightness: 64.96% - Visible but not alarmingChroma: 0.2362 - High saturation for attentionHue: 26.90° - Warm red-orange
Text color on destructive backgrounds Token
Value (Light & Dark)
semanticTokens . color . status . onDestructive
CSS Custom Property: --destructive-foreground
Usage Example
React Component
Real Example
import { semanticTokens } from '@conty/tokens'
function DeleteButton ({ children }) {
return (
< button style = { {
backgroundColor: semanticTokens . color . status . destructive ,
color: semanticTokens . color . status . onDestructive
} } >
{ children }
</ button >
)
}
Legacy Color Aliases
For backward compatibility, Conty provides legacy aliases that map to semantic tokens:
// packages/tokens/src/index.ts
export const colors = {
background: semanticTokens . color . surface . default ,
foreground: semanticTokens . color . text . default ,
primary: semanticTokens . color . brand . primary ,
primaryForeground: semanticTokens . color . text . onBrand ,
secondary: semanticTokens . color . surface . muted ,
secondaryForeground: semanticTokens . color . text . default ,
muted: semanticTokens . color . surface . muted ,
mutedForeground: semanticTokens . color . text . muted ,
border: semanticTokens . color . border . default ,
ring: semanticTokens . color . border . focus ,
destructive: semanticTokens . color . status . destructive ,
destructiveForeground: semanticTokens . color . status . onDestructive
} as const
New projects should use semantic token paths. Legacy aliases are maintained while teams migrate to the new structure.
Complete Token Reference
All Color Tokens (TypeScript Definition)
// From packages/tokens/src/index.ts
export const semanticTokens = {
color: {
surface: {
default: "oklch(1 0 0)" ,
defaultDark: "#0b0d10" ,
muted: "oklch(0.96 0 0)" ,
mutedDark: "oklch(0.252 0 0)"
},
text: {
default: "oklch(0.2178 0 0)" ,
defaultDark: "oklch(0.9551 0 0)" ,
muted: "oklch(0.5103 0 0)" ,
mutedDark: "oklch(0.683 0 0)" ,
onBrand: "oklch(1 0 0)" ,
onBrandDark: "oklch(0.9551 0 0)"
},
brand: {
primary: "oklch(0.6248 0.2042 257.0818)" ,
primaryDark: "oklch(0.6248 0.2042 257.0818)"
},
border: {
default: "oklch(0.92 0 0)" ,
defaultDark: "oklch(0.28 0 0)" ,
focus: "oklch(0.8452 0 0)"
},
status: {
destructive: "oklch(0.6496 0.2362 26.9032)" ,
onDestructive: "oklch(1 0 0)"
}
}
} as const
CSS Custom Properties
All CSS Variables (theme.css)
/* From packages/tokens/src/theme.css */
:root {
--background : oklch ( 1 0 0 );
--foreground : oklch ( 0.2178 0 0 );
--card : oklch ( 1 0 0 );
--card-foreground : oklch ( 0.2178 0 0 );
--popover : oklch ( 1 0 0 );
--popover-foreground : oklch ( 0.2178 0 0 );
--primary : oklch ( 0.6248 0.2042 257.0818 );
--primary-foreground : oklch ( 1 0 0 );
--secondary : oklch ( 0.96 0 0 );
--secondary-foreground : oklch ( 0.2178 0 0 );
--muted : oklch ( 0.96 0 0 );
--muted-foreground : oklch ( 0.5103 0 0 );
--accent : oklch ( 0.96 0 0 );
--accent-foreground : oklch ( 0.2178 0 0 );
--destructive : oklch ( 0.6496 0.2362 26.9032 );
--destructive-foreground : oklch ( 1 0 0 );
--border : oklch ( 0.92 0 0 );
--input : oklch ( 0.96 0 0 );
--ring : oklch ( 0.8452 0 0 );
}
.dark {
--background : #0b0d10 ;
--foreground : oklch ( 0.9551 0 0 );
--card : oklch ( 0.2 0 0 );
--card-foreground : oklch ( 0.9551 0 0 );
--popover : oklch ( 0.16 0 0 );
--popover-foreground : oklch ( 0.9551 0 0 );
--primary : oklch ( 0.6248 0.2042 257.0818 );
--primary-foreground : oklch ( 0.9551 0 0 );
--secondary : oklch ( 0.2178 0 0 );
--secondary-foreground : oklch ( 0.9551 0 0 );
--muted : oklch ( 0.252 0 0 );
--muted-foreground : oklch ( 0.683 0 0 );
--accent : oklch ( 0.2178 0 0 );
--accent-foreground : oklch ( 0.9551 0 0 );
--destructive : oklch ( 0.6496 0.2362 26.9032 );
--destructive-foreground : oklch ( 1 0 0 );
--border : oklch ( 0.28 0 0 );
--input : oklch ( 0.2178 0 0 );
--ring : oklch ( 0.5103 0 0 );
}
Accessibility
All color combinations in Conty meet WCAG 2.1 Level AA standards:
text.default on surface.default: 16.8:1 (AAA)
text.muted on surface.default: 6.5:1 (AA)
text.onBrand on brand.primary: 4.8:1 (AA)
status.onDestructive on status.destructive: 4.5:1 (AA)
When customizing colors, use a contrast checker to ensure WCAG compliance. Aim for at least 4.5:1 for normal text and 3:1 for large text.
Next Steps
Spacing Tokens Learn about the spacing scale and layout tokens
Theming Guide Implement light/dark mode and create custom themes