Skip to content

Themes

eUI ships 4 built-in themes: neutral, exponential, playful, orange. Each one below paints the same surface (the demo fixture, fixtures/demo-surface.json), in the site’s light or dark mode.

A theme defines 129 tokens in 17 groups. A surface references them as $<group>.<name> (for example $color.background, $spacing.lg). Colours and shadows carry one value per mode. The tables list each built-in’s values, generated into docs/themes.generated.json.

Colour (per mode)

TokenNeutralExponentialPlayfulOrange
$color.backgroundlight: #ffffffdark: #0a0a0alight: #ffffffdark: #0a0a0alight: #fffbf5dark: #1a1033light: #ffffffdark: #0a0a0a
$color.foregroundlight: #0a0a0adark: #fafafalight: #0a0a0adark: #fafafalight: #1f1235dark: #f5f3fflight: #0a0a0adark: #fafafa
$color.cardlight: #ffffffdark: #171717light: #ffffffdark: #ffffff0flight: #ffffffdark: #2a1b4dlight: #ffffffdark: #ffffff0f
$color.cardForegroundlight: #0a0a0adark: #fafafalight: #0a0a0adark: #fafafalight: #1f1235dark: #f5f3fflight: #0a0a0adark: #fafafa
$color.popoverlight: #ffffffdark: #171717light: #ffffffdark: #171717light: #ffffffdark: #2a1b4dlight: #ffffffdark: #171717
$color.popoverForegroundlight: #0a0a0adark: #fafafalight: #0a0a0adark: #fafafalight: #1f1235dark: #f5f3fflight: #0a0a0adark: #fafafa
$color.primarylight: #171717dark: #e5e5e5light: #171717dark: #e5e5e5light: #7c3aeddark: #c4b5fdlight: #c2410cdark: #fb923c
$color.primaryForegroundlight: #fafafadark: #171717light: #fafafadark: #171717light: #ffffffdark: #2e1065light: #ffffffdark: #431407
$color.secondarylight: #f5f5f5dark: #262626light: #f5f5f5dark: #ffffff0flight: #ccfbf1dark: #134e4alight: #f5f5f5dark: #ffffff0f
$color.secondaryForegroundlight: #171717dark: #fafafalight: #171717dark: #fafafalight: #134e4adark: #ccfbf1light: #171717dark: #fafafa
$color.mutedlight: #f5f5f5dark: #262626light: #f5f5f5dark: #ffffff0alight: #f3e8ffdark: #3b2a63light: #f5f5f5dark: #ffffff0a
$color.mutedForegroundlight: #737373dark: #a1a1a1light: #737373dark: #a1a1a1light: #6b5b8adark: #c4b5fdlight: #737373dark: #a1a1a1
$color.accentlight: #f5f5f5dark: #262626light: #f5f5f5dark: #ffffff1clight: #ffe4e6dark: #4c1d95light: #ffedd5dark: #431407
$color.accentForegroundlight: #171717dark: #fafafalight: #171717dark: #fafafalight: #881337dark: #f5f3fflight: #7c2d12dark: #fed7aa
$color.destructivelight: #e7000bdark: #ff6467light: #e7000bdark: #ff6467light: #e11d48dark: #fb7185light: #e7000bdark: #ff6467
$color.destructiveForegroundlight: #fafafadark: #fafafalight: #ffffffdark: #0a0a0alight: #ffffffdark: #4c0519light: #ffffffdark: #0a0a0a
$color.successlight: #16a34adark: #22c55elight: #22c55edark: #22c55elight: #059669dark: #34d399light: #22c55edark: #22c55e
$color.successForegroundlight: #ffffffdark: #052e16light: #ffffffdark: #052e16light: #ffffffdark: #022c22light: #ffffffdark: #052e16
$color.warninglight: #d97706dark: #f59e0blight: #facc15dark: #facc15light: #d97706dark: #fbbf24light: #facc15dark: #facc15
$color.warningForegroundlight: #ffffffdark: #1c1917light: #1c1917dark: #1c1917light: #ffffffdark: #451a03light: #1c1917dark: #1c1917
$color.infolight: #2563ebdark: #3b82f6light: #3b82f6dark: #3b82f6light: #0284c7dark: #38bdf8light: #3b82f6dark: #3b82f6
$color.infoForegroundlight: #ffffffdark: #fffffflight: #ffffffdark: #fffffflight: #ffffffdark: #082f49light: #ffffffdark: #ffffff
$color.borderlight: #e5e5e5dark: #ffffff1alight: #e5e5e5dark: #ffffff1alight: #e9d5ffdark: #4c3a7alight: #e5e5e5dark: #ffffff1a
$color.inputlight: #e5e5e5dark: #ffffff26light: #e5e5e5dark: #ffffff26light: #ddd6fedark: #5b4a8alight: #e5e5e5dark: #ffffff26
$color.ringlight: #a1a1a1dark: #737373light: #a1a1a1dark: #737373light: #a78bfadark: #a78bfalight: #ea580cdark: #f97316
$color.chart1light: #f54900dark: #1447e6light: #f54900dark: #1447e6light: #7c3aeddark: #c4b5fdlight: #ea580cdark: #fb923c
$color.chart2light: #009689dark: #00bc7dlight: #009689dark: #00bc7dlight: #14b8a6dark: #5eead4light: #f59e0bdark: #fbbf24
$color.chart3light: #104e64dark: #fe9a00light: #104e64dark: #fe9a00light: #f43f5edark: #fda4aflight: #b91c1cdark: #f87171
$color.chart4light: #ffb900dark: #ad46fflight: #ffb900dark: #ad46fflight: #f59e0bdark: #fcd34dlight: #0ea5e9dark: #38bdf8
$color.chart5light: #fe9a00dark: #ff2056light: #fe9a00dark: #ff2056light: #0ea5e9dark: #7dd3fclight: #7c3aeddark: #a78bfa
$color.chart6light: #7c3aeddark: #a78bfalight: #7c3aeddark: #a78bfalight: #a855f7dark: #d8b4felight: #0d9488dark: #2dd4bf
$color.chart7light: #db2777dark: #f472b6light: #db2777dark: #f472b6light: #ec4899dark: #f9a8d4light: #db2777dark: #f472b6
$color.chart8light: #0891b2dark: #22d3eelight: #0891b2dark: #22d3eelight: #22c55edark: #86efaclight: #65a30ddark: #a3e635

Spacing (px)

TokenNeutralExponentialPlayfulOrange
$spacing.none0000
$spacing.xxs2222
$spacing.xs4444
$spacing.sm8888
$spacing.md12121212
$spacing.lg16161616
$spacing.xl24242424
$spacing.xl232323232
$spacing.xl348484848

Radius (px)

TokenNeutralExponentialPlayfulOrange
$radius.none0000
$radius.sm68108
$radius.md8101410
$radius.lg10121812
$radius.xl14162416
$radius.xl218202820
$radius.xl322243224
$radius.full9999999999999999

Type size (px)

TokenNeutralExponentialPlayfulOrange
$type.size.xs12121212
$type.size.sm14141414
$type.size.base16161616
$type.size.lg18181818
$type.size.xl20202020
$type.size.xl224242424
$type.size.xl330303030

Line height (px)

TokenNeutralExponentialPlayfulOrange
$type.lineHeight.xs16161616
$type.lineHeight.sm20202020
$type.lineHeight.base24242424
$type.lineHeight.lg28282828
$type.lineHeight.xl28282828
$type.lineHeight.xl232323232
$type.lineHeight.xl336363636

Font weight

TokenNeutralExponentialPlayfulOrange
$type.weight.regular400400400400
$type.weight.medium500500600500
$type.weight.semibold600600700600
$type.weight.bold700700700700

Font family

TokenNeutralExponentialPlayfulOrange
$type.family.sansGeistInterNunitoInter
$type.family.monoGeist Monoui-monospaceFira Codeui-monospace
$type.family.serifui-serifui-serifui-serifui-serif

Control heights (px)

TokenNeutralExponentialPlayfulOrange
$control.buttonSm32243224
$control.buttonMd36324032
$control.buttonLg40364836
$control.buttonIcon36324032
$control.input36364436
$control.textarea64646464
$control.row40324432
$control.rowCompact32283228
$control.pill24242824
$control.badge20202220
$control.chip28243224
$control.toggle36324032
$control.switch20202420
$control.checkbox16162016
$control.slider16161616
$control.progress8888
$control.meter8888
$control.avatarSm24242424
$control.avatarMd32323232
$control.avatarLg40404040
$control.iconSm16161616
$control.iconMd20202020
$control.iconLg24242424
$control.hairline1111
$control.appBar56485648
$control.tabBar56565656
$control.toast64566456

Shadow (per mode)

TokenNeutralExponentialPlayfulOrange
$shadow.nonelight: nonedark: nonelight: nonedark: nonelight: nonedark: nonelight: nonedark: none
$shadow.smlight: 0px 1px 2px 0px #0000000ddark: 0px 1px 2px 0px #00000033light: 0px 1px 2px 0px #00000014dark: 0px 1px 2px 0px #00000066light: 0px 2px 4px 0px #7c3aed1adark: 0px 2px 4px 0px #00000040light: 0px 1px 2px 0px #00000014dark: 0px 1px 2px 0px #00000066
$shadow.mdlight: 0px 4px 6px -1px #0000001a, 0px 2px 4px -2px #0000001adark: 0px 4px 6px -1px #00000066, 0px 2px 4px -2px #00000066light: 0px 4px 12px -2px #00000014dark: 0px 4px 12px -2px #00000066light: 0px 6px 12px -2px #7c3aed26dark: 0px 6px 12px -2px #00000059light: 0px 4px 12px -2px #00000014dark: 0px 4px 12px -2px #00000066
$shadow.lglight: 0px 10px 15px -3px #0000001a, 0px 4px 6px -4px #0000001adark: 0px 10px 15px -3px #00000066, 0px 4px 6px -4px #00000066light: 0px 12px 32px -8px #00000014dark: 0px 12px 32px -8px #00000066light: 0px 16px 32px -6px #7c3aed33dark: 0px 16px 32px -6px #00000073light: 0px 12px 32px -8px #00000014dark: 0px 12px 32px -8px #00000066
$shadow.xllight: 0px 20px 25px -5px #0000001a, 0px 8px 10px -6px #0000001adark: 0px 20px 25px -5px #00000080, 0px 8px 10px -6px #00000080light: 0px 20px 48px -12px #00000014dark: 0px 20px 48px -12px #00000066light: 0px 24px 48px -8px #7c3aed40dark: 0px 24px 48px -8px #00000080light: 0px 20px 48px -12px #00000014dark: 0px 20px 48px -12px #00000066

Opacity

TokenNeutralExponentialPlayfulOrange
$opacity.primary1111
$opacity.secondary0.70.70.70.7
$opacity.tertiary0.50.50.50.5
$opacity.quaternary0.30.30.30.3
$opacity.disabled0.50.50.50.5

Border width (px)

TokenNeutralExponentialPlayfulOrange
$border.none0000
$border.hairline1121
$border.thick2232

Motion (ms)

TokenNeutralExponentialPlayfulOrange
$motion.fast120120160120
$motion.standard180180240180
$motion.slow280280360280

Breakpoint (px)

TokenNeutralExponentialPlayfulOrange
$breakpoint.sm640640640640
$breakpoint.md768768768768
$breakpoint.lg1024102410241024
$breakpoint.xl1280128012801280

Easing

TokenNeutralExponentialPlayfulOrange
$ease.standard[0.2,0,0,1][0.2,0,0,1][0.34,1.56,0.64,1][0.2,0,0,1]
$ease.decelerate[0,0,0.2,1][0,0,0.2,1][0,0,0.2,1][0,0,0.2,1]
$ease.accelerate[0.3,0,1,1][0.3,0,1,1][0.3,0,1,1][0.3,0,1,1]

Density scale

TokenNeutralExponentialPlayfulOrange
$density.compact0.8750.8750.90.875
$density.comfortable1.1251.1251.21.125

Backdrop blur (px)

TokenNeutralExponentialPlayfulOrange
$blur.sm4444
$blur.md12121212
$blur.lg16161616
$blur.xl24242424

Motion scale (gpui: fade only)

TokenNeutralExponentialPlayfulOrange
$scale.press10.970.940.97
$scale.popoverFrom0.950.960.90.96