Skip to Content
SmartUI

Colors

Three layers. Primitives hold raw values, semantic tokens hold meaning, and components only read semantic tokens.

Semantic tokens

Token names say what a color means, not what it looks like. Switching to dark mode only changes this layer.

Background and surface

bg-base
bg-canvas
surface
surface-secondary
surface-tertiary
surface-inverse

Text

text
text-secondary
text-tertiary
text-disabled
text-accent
text-danger
text-success
text-warning

Accent and status

accent
accent-hover
accent-pressed
accent-soft
danger
danger-soft
success
success-soft
warning
warning-soft

Neutral fills and borders

fill
fill-secondary
fill-tertiary
fill-pressed
border
border-strong
border-field

Category and chart

teal
teal-soft
purple
purple-soft
chart-1
chart-2
chart-3
chart-4
chart-5
chart-6

Primitives

Blue 600 (#105ECB) is the SmartMCU brand color. Grays follow the system gray scale so they stay neutral on every platform.

blue-50
blue-100
blue-200
blue-300
blue-400
blue-500
blue-600
blue-700
blue-800
blue-900
blue-950
gray-0
gray-50
gray-100
gray-200
gray-300
gray-400
gray-500
gray-600
gray-700
gray-800
gray-900
gray-950

Usage

.my-card {
  background: var(--sui-surface);
  color: var(--sui-text);
  box-shadow: var(--sui-shadow-surface);
}

Use text-tertiary as the lightest color for text. text-disabled is only for disabled controls.

On this page