Spacing and sizing draft v0.2.0
The spacing scale and the element sizes from the Figma library, which components pick their paddings, gaps, heights and icon sizes from.
Two scales from the Figma library (Dimension), as they are, measure everything: space, the room inside and between elements, on a 4 px grid; and size, the dimensions of elements such as icons and avatars. Components and the docs site read them directly: each component picks its padding, gaps, heights and icon sizes from them in its own tokens. There is no semantic spacing layer in between.
Tokens
Semantic tokens owned by the foundation (tokens in packages/components/specs/foundations/spacing.spec.json). They live in packages/tokens/src/semantic/ (recreated from the Figma library) or tokens/additions/semantic/ (added by the design system), with their other values in tokens/modes/, tokens/additions/modes/ and tokens/platforms/.
| Token | Type | Value | Resolved | CSS |
|---|---|---|---|---|
space.1
|
dimension |
{"value":1,"unit":"px"}
|
1px
|
--space-1
|
space.2
|
dimension |
{"value":2,"unit":"px"}
|
2px
|
--space-2
|
space.3
|
dimension |
{"value":3,"unit":"px"}
|
3px
|
--space-3
|
space.4
|
dimension |
{"value":4,"unit":"px"}
|
4px
|
--space-4
|
space.5
|
dimension |
{"value":5,"unit":"px"}
|
5px
|
--space-5
|
space.6
|
dimension |
{"value":6,"unit":"px"}
|
6px
|
--space-6
|
space.7
|
dimension |
{"value":7,"unit":"px"}
|
7px
|
--space-7
|
space.8
|
dimension |
{"value":8,"unit":"px"}
|
8px
|
--space-8
|
space.10
|
dimension |
{"value":10,"unit":"px"}
|
10px
|
--space-10
|
space.12
|
dimension |
{"value":12,"unit":"px"}
|
12px
|
--space-12
|
space.14
|
dimension |
{"value":14,"unit":"px"}
|
14px
|
--space-14
|
space.16
|
dimension |
{"value":16,"unit":"px"}
|
16px
|
--space-16
|
space.20
|
dimension |
{"value":20,"unit":"px"}
|
20px
|
--space-20
|
space.24
|
dimension |
{"value":24,"unit":"px"}
|
24px
|
--space-24
|
space.28
|
dimension |
{"value":28,"unit":"px"}
|
28px
|
--space-28
|
space.32
|
dimension |
{"value":32,"unit":"px"}
|
32px
|
--space-32
|
space.36
|
dimension |
{"value":36,"unit":"px"}
|
36px
|
--space-36
|
space.40
|
dimension |
{"value":40,"unit":"px"}
|
40px
|
--space-40
|
space.44
|
dimension |
{"value":44,"unit":"px"}
|
44px
|
--space-44
|
space.48
|
dimension |
{"value":48,"unit":"px"}
|
48px
|
--space-48
|
space.56
|
dimension |
{"value":56,"unit":"px"}
|
56px
|
--space-56
|
space.64
|
dimension |
{"value":64,"unit":"px"}
|
64px
|
--space-64
|
space.72
|
dimension |
{"value":72,"unit":"px"}
|
72px
|
--space-72
|
space.80
|
dimension |
{"value":80,"unit":"px"}
|
80px
|
--space-80
|
space.96
|
dimension |
{"value":96,"unit":"px"}
|
96px
|
--space-96
|
space.112
|
dimension |
{"value":112,"unit":"px"}
|
112px
|
--space-112
|
space.128
|
dimension |
{"value":128,"unit":"px"}
|
128px
|
--space-128
|
space.144
|
dimension |
{"value":144,"unit":"px"}
|
144px
|
--space-144
|
space.160
|
dimension |
{"value":160,"unit":"px"}
|
160px
|
--space-160
|
space.none
|
dimension |
{"value":0,"unit":"px"}
|
0px
|
--space-none
|
size.1
|
dimension |
{"value":8,"unit":"px"}
|
8px
|
--size-1
|
size.2
|
dimension |
{"value":16,"unit":"px"}
|
16px
|
--size-2
|
size.3
|
dimension |
{"value":20,"unit":"px"}
|
20px
|
--size-3
|
size.4
|
dimension |
{"value":24,"unit":"px"}
|
24px
|
--size-4
|
size.5
|
dimension |
{"value":32,"unit":"px"}
|
32px
|
--size-5
|
size.6
|
dimension |
{"value":40,"unit":"px"}
|
40px
|
--size-6
|
size.7
|
dimension |
{"value":56,"unit":"px"}
|
56px
|
--size-7
|
size.8
|
dimension |
{"value":64,"unit":"px"}
|
64px
|
--size-8
|
size.9
|
dimension |
{"value":96,"unit":"px"}
|
96px
|
--size-9
|
size.10
|
dimension |
{"value":128,"unit":"px"}
|
128px
|
--size-10
|
Components following it
Derived from the component tokens aliasing the foundation's tokens.
| Component | Component tokens aliasing the foundation |
|---|---|
| Accordion |
|
| Alert |
|
| Avatar |
|
| Badge |
|
| Breadcrumb |
|
| Button |
|
| Card |
|
| Checkbox group |
|
| Checkbox |
|
| Divider |
|
| Dropdown |
|
| Icon button |
|
| Icon |
|
| Number field |
|
| Pagination |
|
| Progress bar |
|
| Radio group |
|
| Search field |
|
| Select |
|
| Skeleton |
|
| Slider |
|
| Spinner |
|
| Switch |
|
| Text field |
|
| Textarea |
|