POST Design System Using the system
Digital

Design tokens

Every value below is read out of the stylesheet that ships. If it is not here, it is not in the system.

Tokens are named for how big they are, never for what uses them. space/m and stroke/m and icon-size/m all mean "the middle step", so a layout reads on one scale instead of a dozen component-specific ones.

Spacing

The 4-based ramp. Outer padding on a control is uniform; the label carries its own inset.

TokenValue at base
--space-1212px
--space-128128px
--space-1616px
--space-2020px
--space-2424px
--space-3232px
--space-44px
--space-4040px
--space-4848px
--space-6464px
--space-88px
--space-8080px
--space-9696px
--space-66px
--space-lvar(--space-12)
--space-mvar(--space-8)
--space-svar(--space-6)
--space-xsvar(--space-4)
--space-xlvar(--space-16)

Stroke

Stroke is altitude, not component: detail, component, section.

TokenValue at base
--stroke-11px
--stroke-22px
--stroke-33px
--stroke-lvar(--stroke-2)
--stroke-mvar(--stroke-1)
--stroke-svar(--stroke-1)

Icon size

The tier a control's height comes from - never its text.

TokenValue at base
--icon-size-1616px
--icon-size-2424px
--icon-size-3232px
--icon-size-4848px
--icon-size-lvar(--icon-size-32)
--icon-size-mvar(--icon-size-24)
--icon-size-svar(--icon-size-16)

Type size

Responsive roles. These step at the breakpoints; the raw sizes behind them do not.

TokenValue at base
--text-displayvar(--font-size-48)
--text-display-inset-3.7px
--text-herovar(--font-size-40)
--text-lgvar(--font-size-24)
--text-mdvar(--font-size-18)
--text-smvar(--font-size-16)
--text-xlvar(--font-size-28)
--text-xsvar(--font-size-16)
--text-xxlvar(--font-size-32)

Layout

Gutters and margins for the page grid.

TokenValue at base
--layout-guttervar(--space-16)
--layout-max-widthvar(--size-content-max)
--layout-pagevar(--space-16)
--layout-sectionvar(--space-64)

Semantic colour

Colour tokens resolve through two axes and are documented on the Colour page, where you can switch both and watch them move.