Foundations

Tokens first. Then everything else.

Colour, spacing, radius, density, shadow, motion and layout are Figma variables, and every part in the kit is bound to them. Switch a mode on a frame and the whole screen follows, shadows and focus rings included. The same values ship as CSS for your code.

7variable collections
65semantic colour tokens
16text styles
11modes across collections
Modes

Four switches on every frame.

Modes combine freely: a dark, dense, teal phone screen is one click per collection, not a separate file.

Colour

  • Lightdefault
  • Darkevery token

Surfaces, text, borders, status, charts, maps and shadows all have a dark value.

Brand

  • Signal#C8450E · 6/10/4
  • Teal#0E7F75 · 8/12/pill
  • Yoursgenerator below

Seven colour variables plus control, card and chip radius.

Density

  • Compactrow 40 · control 32
  • Comfortablerow 52 · control 40
  • Denserow 32 · control 28

Cell padding and stack gaps move with it.

Layout

  • Desktop1440 · 12 col
  • Laptop1024 · 12 col
  • Tablet768 · 8 col
  • Phone390 · 4 col

Margins, gutters, sidebar, app bar and touch target per width.

White-label

Your brand colour, in one click.

Pick a colour and Propel works out the seven brand variables behind it: the accent, its hover and dark-mode versions, selection tints and focus. Contrast is checked as you go, and this whole site follows, in light and dark.

The kit ships with Signal and Teal. To add yours, paste these values into a new mode of the Brand collection in Figma, or the CSS into tokens.css.


        
Colour

Semantic colour, light and dark.

Name the job, not the hue. Each swatch shows the light value on the left and the dark value on the right.

Background

bg/canvas#F6F7F9 · #0C0E14
bg/surface#FFFFFF · #13161E
bg/subtle#F9FAFB · #1B1F29
bg/muted#EBEDF1 · #252A36

Text

text/primary#13161E · #F9FAFB
text/secondary#4C5466 · #C2C8D2
text/tertiary#676F80 · #8D94A3
text/on-accent#FFFFFF · #0C0E14

Border & icon

border/default#DCE0E7 · #252A36
border/subtle#EBEDF1 · #1B1F29
border/strong#8D94A3 · #676F80
border/control#858C9A · #676F80

Status

status/success-bg#E8F5EC · #0E2C1B
status/success-fg#1B7A45 · #74D39C
status/danger-bg#FDECEF · #43101A
status/danger-fg#C0283E · #F59AA9
Type

Two families, sixteen styles.

Instrument Sans for the interface. IBM Plex Mono for every number, ID and timestamp, so columns of figures line up.

Hero/Display · 36/44Payroll runs
Display · 26/32Vendor risk
Title · 17/24Upcoming renewals
Heading · 14/20Team members
Body/Regular · 14/20Events older than 14 months are deleted.
Body/Strong · 14/20Delete Northwind web app
Small/Regular · 13/18Assessed 12 Oct
Small/Strong · 13/183 selected
Caption · 12/16Shown on the careers page.
Label · 12/16Work email
Section label · 12/16WORKSPACE
Mono/Hero · 36/44$48.2M
Mono/Title · 22/281,026
Mono/Body · 14/20$1,284,300
Mono/Small · 13/18RUN-1048
Mono/Caption · 12/1814:02:11
Space & radius

A 2 px base, ten steps.

Spacing variables from 2 to 64. Radius lives in the Brand collection, so a brand can be sharp or soft without touching a component.

Radius by brand
TokenSignalTeal
radius/control68
radius/card1012
radius/chip4999
space/2
space/4
space/6
space/8
space/12
space/16
space/24
space/32
space/48
space/64
Elevation & focus

Shadows that work in the dark.

Shadow colours are variables too, so elevation stays visible on dark surfaces. The focus ring is its own effect style: a 2 px surface gap and a 2 px ring in the focus colour, at least 3:1 against every surface.

Elevation/Surface
Elevation/Control
Elevation/Popover
Elevation/Panel
Elevation/Scrim blur
Focus/Ring
Motion

Five durations and a stagger.

Every component lists its motion: what animates, how long, which easing. Reduced-motion users get instant state changes.

instant80 ms
fast120 ms
base200 ms
slow320 ms
deliberate480 ms
stagger40 ms
Charts & maps

Data colours with their own rules.

Six categorical series with tints, plus grid, axis, label and highlight tokens. Maps get land, water, park, roads and labels for both themes.

Chart series

chart/1#3B6FD8 · #7FA2EC
chart/2#149A8F · #4FC7BC
chart/3#C98A12 · #E8B24A
chart/4#7457E8 · #A38FF2
chart/5#CF4775 · #E87FA3
chart/6#7D8794 · #A3ACB8
chart/grid#EBEDF1 · #252A36
chart/axis#DCE0E7 · #363C4B
chart/label#676F80 · #8D94A3
chart/track#EBEDF1 · #252A36
chart/highlight#13161E · #F9FAFB

Map

map/land#EDEFF3 · #151922
map/water#CADCF2 · #0F2036
map/park#D9EADB · #16271F
map/road#FFFFFF · #242A36
map/road-major#FFFFFF · #323947
map/road-casing#DCE0E7 · #1B202A
map/building#E2E5EB · #1C212B
map/label#6B7383 · #8D94A3
Icons

113 icons, one stroke.

A 24 px grid with a 1.8 px stroke, set up for instance swap in every component that takes an icon. The skill pack lists each icon's node id.

Show all 113 icon names

alert · arrow-down · arrow-left · arrow-right · arrow-up · arrow-up2 · at · bell · bolt · branch · briefcase · building · bulb · calendar · cap · check · check-circle · chevron-down · chevron-left · chevron-right · chevron-up · clock · close · cloud-off · code · columns · comment · commit · copy · cursor · database · dot · download · external · eye · eye-off · file · filter · fit · flag · folder · globe · grid · grip · hand · hash · heart · history · home · image · inbox · info · kanban · key · laptop · life-buoy · link · list · loader · lock · logout · mail · menu · mic · minus · minus2 · moon · more · new-chat · paperclip · pause · pencil · phone · play · play-circle · plug · plus · receipt · refresh · rocket · search · settings · sheet · shield · sidebar · skip-back · skip-forward · sliders · sort · sparkle · sparkle-ai · square · star · star-fill · stop · sun · table · tag · target · template · thumb-down · thumb-up · trash · trend-down · trend-up · type · upload · user · wallet · x-circle