gpui-kit GitHub

Token reference

The JSON documents under crates/gpui-kit-tokens/tokens/ are the authority. These tables are a review aid, and every theme below is validated on each run.

Studio Dark (studio-dark)

Appearance: Dark.

Palette

TokenValue
color.palette.amber.500#ffb900
color.palette.cyan.400#7fb3cf
color.palette.green.500#57c47f
color.palette.indigo.400#7c86ff
color.palette.indigo.600#5865f2
color.palette.loader.blue#b6d3ef
color.palette.loader.orange#edb185
color.palette.loader.pink#f888a0
color.palette.neutral.0#000000
color.palette.neutral.100#151515
color.palette.neutral.150#1c1c1c
color.palette.neutral.200#242424
color.palette.neutral.25#050505
color.palette.neutral.300#303030
color.palette.neutral.50#0a0a0a
color.palette.neutral.500#565656
color.palette.neutral.600#737373
color.palette.neutral.700#a1a1a1
color.palette.neutral.800#e9e9e9
color.palette.neutral.850#ebebeb
color.palette.neutral.900#ffffff
color.palette.neutral.ink#0e0e0e
color.palette.red.400#ff6467

Semantic color

TokenSourceResolved
color.surface.canvas{neutral.50}#0a0a0a
color.surface.panel{neutral.100}#151515
color.surface.raised{neutral.200}#242424
color.surface.overlay{neutral.150}#1c1c1c
color.text.primary{neutral.800}#e9e9e9
color.text.muted{neutral.700}#a1a1a1
color.text.faint{neutral.600}#737373
color.text.onAccent{neutral.ink}#0e0e0e
color.interactive.hover{neutral.850}/24#ebebeb24
color.interactive.active{neutral.850}/29#ebebeb29
color.interactive.selected{neutral.850}/24#ebebeb24
color.interactive.hairline{neutral.900}/14#ffffff14
color.interactive.hairlineStrong{neutral.900}/24#ffffff24
color.interactive.focus{indigo.400}#7c86ff
color.semantic.accent{indigo.400}#7c86ff
color.semantic.accentStrong{indigo.600}#5865f2
color.semantic.danger{red.400}#ff6467
color.semantic.warning{amber.500}#ffb900
color.semantic.success{green.500}#57c47f
color.semantic.info{cyan.400}#7fb3cf
color.loader.gradient.0{loader.blue}#b6d3ef
color.loader.gradient.1{loader.orange}#edb185
color.loader.gradient.2{loader.pink}#f888a0

Spacing

StepPixels
xs4
sm8
md12
lg16
xl24
xxl32

Radius

StepPixels
small5
control8
card12
dialog16
bubble16
pill999

Control scale

StepHeightPadding XGapFontIcon
xs20641112
sm24851214
md281261315
lg341681417

Density

AxisSpaceControlFont
compact0.750.860.94
comfortable111

Elevation

StepYBlurSpreadColor
flat000#00000000
raised26-1#00000059
overlay824-4#00000066
modal1648-8#0000008c

Layers

LayerZ index
Content0
Sticky100
Dock200
Popover300
Tooltip400
Modal500
Toast600

Motion

EasingCurve
linear[0.0, 0.0, 1.0, 1.0]
standard[0.4, 0.0, 0.2, 1.0]
easeIn[0.42, 0.0, 1.0, 1.0]
easeOut[0.0, 0.0, 0.58, 1.0]
easeInOut[0.42, 0.0, 0.58, 1.0]
emphasized[0.2, 0.0, 0.0, 1.0]
overshoot[0.34, 1.56, 0.64, 1.0]
exit[0.0, 0.0, 0.58, 1.0]
settle[0.16, 1.0, 0.3, 1.0]
SpringStiffnessDampingMass
snappy380301
smooth180261
bouncy260161
grab520421
ResponsePixels
motion.pressOffsetPx1
motion.hoverLiftPx1
GestureValue
motion.flickVelocityPxPerSec420
motion.rubberBandTension0.55

Border and opacity

TokenValue
border.hairline1
border.thick2
opacity.disabled0.45
opacity.muted0.68
opacity.scrim0.6

Effects

TokenValue
effect.edgeFadeBand20
effect.selectedRingAlpha0.09
effect.focusRingWidth2
effect.focusRingAlpha0.55

Contrast

ForegroundBackgroundRatioMinimum
text.primarysurface.canvas16.314.5
text.mutedsurface.canvas7.664.5
text.faintsurface.canvas4.183.0
semantic.dangersurface.canvas6.853.0
semantic.warningsurface.canvas11.493.0
semantic.successsurface.canvas9.063.0
semantic.infosurface.canvas8.723.0
semantic.accentsurface.canvas6.333.0
text.primarysurface.panel15.044.5
text.mutedsurface.panel7.074.5
text.faintsurface.panel3.853.0
semantic.dangersurface.panel6.323.0
semantic.warningsurface.panel10.603.0
semantic.successsurface.panel8.353.0
semantic.infosurface.panel8.043.0
semantic.accentsurface.panel5.843.0
text.primarysurface.raised12.794.5
text.mutedsurface.raised6.014.5
text.faintsurface.raised3.273.0
semantic.dangersurface.raised5.373.0
semantic.warningsurface.raised9.013.0
semantic.successsurface.raised7.103.0
semantic.infosurface.raised6.843.0
semantic.accentsurface.raised4.963.0
text.primarysurface.overlay14.044.5
text.mutedsurface.overlay6.604.5
text.faintsurface.overlay3.593.0
semantic.dangersurface.overlay5.903.0
semantic.warningsurface.overlay9.893.0
semantic.successsurface.overlay7.803.0
semantic.infosurface.overlay7.513.0
semantic.accentsurface.overlay5.453.0
text.onAccentsemantic.accent6.174.5

Studio Light (studio-light)

Appearance: Light.

Palette

TokenValue
color.palette.amber.500#a76a00
color.palette.cyan.400#2a6f8f
color.palette.green.500#237a48
color.palette.indigo.400#4f5bd5
color.palette.indigo.600#3b46b8
color.palette.loader.blue#6ba7e0
color.palette.loader.orange#d98442
color.palette.loader.pink#e2557a
color.palette.neutral.0#000000
color.palette.neutral.100#ffffff
color.palette.neutral.150#ffffff
color.palette.neutral.200#ffffff
color.palette.neutral.25#e6e6ea
color.palette.neutral.300#e0e0e5
color.palette.neutral.50#eeeef1
color.palette.neutral.500#a3a3a9
color.palette.neutral.600#86868c
color.palette.neutral.700#55555c
color.palette.neutral.800#17171a
color.palette.neutral.850#0a0a0c
color.palette.neutral.900#ffffff
color.palette.neutral.ink#ffffff
color.palette.red.400#d5322f

Semantic color

TokenSourceResolved
color.surface.canvas{neutral.50}#eeeef1
color.surface.panel{neutral.100}#ffffff
color.surface.raised{neutral.200}#ffffff
color.surface.overlay{neutral.150}#ffffff
color.text.primary{neutral.800}#17171a
color.text.muted{neutral.700}#55555c
color.text.faint{neutral.600}#86868c
color.text.onAccent{neutral.ink}#ffffff
color.interactive.hover{neutral.850}/0f#0a0a0c0f
color.interactive.active{neutral.850}/1a#0a0a0c1a
color.interactive.selected{neutral.850}/0f#0a0a0c0f
color.interactive.hairline{neutral.850}/1a#0a0a0c1a
color.interactive.hairlineStrong{neutral.850}/2e#0a0a0c2e
color.interactive.focus{indigo.400}#4f5bd5
color.semantic.accent{indigo.400}#4f5bd5
color.semantic.accentStrong{indigo.600}#3b46b8
color.semantic.danger{red.400}#d5322f
color.semantic.warning{amber.500}#a76a00
color.semantic.success{green.500}#237a48
color.semantic.info{cyan.400}#2a6f8f
color.loader.gradient.0{loader.blue}#6ba7e0
color.loader.gradient.1{loader.orange}#d98442
color.loader.gradient.2{loader.pink}#e2557a

Spacing

StepPixels
xs4
sm8
md12
lg16
xl24
xxl32

Radius

StepPixels
small5
control8
card12
dialog16
bubble16
pill999

Control scale

StepHeightPadding XGapFontIcon
xs20641112
sm24851214
md281261315
lg341681417

Density

AxisSpaceControlFont
compact0.750.860.94
comfortable111

Elevation

StepYBlurSpreadColor
flat000#00000000
raised26-1#0000001f
overlay824-4#0000001f
modal1648-8#00000029

Layers

LayerZ index
Content0
Sticky100
Dock200
Popover300
Tooltip400
Modal500
Toast600

Motion

EasingCurve
linear[0.0, 0.0, 1.0, 1.0]
standard[0.4, 0.0, 0.2, 1.0]
easeIn[0.42, 0.0, 1.0, 1.0]
easeOut[0.0, 0.0, 0.58, 1.0]
easeInOut[0.42, 0.0, 0.58, 1.0]
emphasized[0.2, 0.0, 0.0, 1.0]
overshoot[0.34, 1.56, 0.64, 1.0]
exit[0.0, 0.0, 0.58, 1.0]
settle[0.16, 1.0, 0.3, 1.0]
SpringStiffnessDampingMass
snappy380301
smooth180261
bouncy260161
grab520421
ResponsePixels
motion.pressOffsetPx1
motion.hoverLiftPx1
GestureValue
motion.flickVelocityPxPerSec420
motion.rubberBandTension0.55

Border and opacity

TokenValue
border.hairline1
border.thick2
opacity.disabled0.45
opacity.muted0.68
opacity.scrim0.35

Effects

TokenValue
effect.edgeFadeBand20
effect.selectedRingAlpha0.12
effect.focusRingWidth2
effect.focusRingAlpha0.45

Contrast

ForegroundBackgroundRatioMinimum
text.primarysurface.canvas15.454.5
text.mutedsurface.canvas6.394.5
text.faintsurface.canvas3.133.0
semantic.dangersurface.canvas4.193.0
semantic.warningsurface.canvas3.853.0
semantic.successsurface.canvas4.593.0
semantic.infosurface.canvas4.813.0
semantic.accentsurface.canvas4.793.0
text.primarysurface.panel17.894.5
text.mutedsurface.panel7.394.5
text.faintsurface.panel3.623.0
semantic.dangersurface.panel4.853.0
semantic.warningsurface.panel4.463.0
semantic.successsurface.panel5.323.0
semantic.infosurface.panel5.573.0
semantic.accentsurface.panel5.543.0
text.primarysurface.raised17.894.5
text.mutedsurface.raised7.394.5
text.faintsurface.raised3.623.0
semantic.dangersurface.raised4.853.0
semantic.warningsurface.raised4.463.0
semantic.successsurface.raised5.323.0
semantic.infosurface.raised5.573.0
semantic.accentsurface.raised5.543.0
text.primarysurface.overlay17.894.5
text.mutedsurface.overlay7.394.5
text.faintsurface.overlay3.623.0
semantic.dangersurface.overlay4.853.0
semantic.warningsurface.overlay4.463.0
semantic.successsurface.overlay5.323.0
semantic.infosurface.overlay5.573.0
semantic.accentsurface.overlay5.543.0
text.onAccentsemantic.accent5.544.5