Brik Design System
Primitives

Spacing

The 4-point grid, semantic padding and gap tokens, and the primitive scale.

Spacing tokens control padding, margins, and gaps. BDS uses two spacing modes — Base (compact, used in product apps) and Spacious (expanded, used in marketing sites).

All spacing values must be multiples of 4px. The 4-point grid is enforced by npm run lint-tokens:grid, which blocks PRs that introduce off-grid values. This holds across every consuming project.

Semantic padding tokens

Purpose-bound spacing used in components. These values change between Base and Spacious modes.

Padding

PreviewTokenCSS VariableMaps to
padding-none--padding-nonevar(--space-0)
padding-tiny--padding-tinyvar(--space-200)
padding-xs--padding-xsvar(--space-250)
padding-sm--padding-smvar(--space-300)
padding-md--padding-mdvar(--space-400)
padding-lg--padding-lgvar(--space-600)
padding-xl--padding-xlvar(--space-800)
padding-huge--padding-hugevar(--space-1200)

Semantic gap tokens

Gap tokens for flex and grid layouts. Typically smaller than the equivalent padding tokens.

Gap

PreviewTokenCSS VariableMaps to
gap-none--gap-nonevar(--space-0)
gap-tiny--gap-tinyvar(--space-50)
gap-xs--gap-xsvar(--space-100)
gap-sm--gap-smvar(--space-150)
gap-md--gap-mdvar(--space-200)
gap-lg--gap-lgvar(--space-400)
gap-xl--gap-xlvar(--space-600)
gap-huge--gap-hugevar(--space-800)

Component spacing

Dedicated spacing tokens for specific component types.

TokenCSS VariableMaps to
Button--padding-buttonvar(--space-200)
Input--padding-inputvar(--space-200)

Spacing modes

TokenBase modeSpacious mode
--padding-tiny8px24px
--padding-xs10px24px
--padding-sm12px24px
--padding-md16px32px
--padding-lg24px52px
--padding-xl32px52px
--padding-huge48px88px

Product apps default to Base mode. Marketing sites apply Spacious via .body class.

Space scale (primitives)

The raw spacing scale from 0 to 176px. Semantic tokens reference these steps.

--space-0
0px
--space-25
1px
--space-50
2px
--space-100
4px
--space-150
6px
--space-200
8px
--space-250
10px
--space-300
12px
--space-350
14px
--space-400
16px
--space-450
18px
--space-500
20px
--space-600
24px
--space-700
28px
--space-800
32px
--space-900
36px
--space-1000
40px
--space-1100
44px
--space-1200
48px
--space-1300
52px
--space-1400
56px
--space-1500
60px
--space-1600
64px
--space-1700
72px
--space-1800
80px
--space-1900
84px
--space-2000
88px
--space-2100
96px
--space-2200
104px
--space-2300
112px
--space-2400
128px
--space-2500
136px
--space-2600
144px
--space-2700
152px
--space-2800
160px
--space-2900
168px
--space-3000
176px

On this page