Spacing
Spacing
Two scales and one rule. A shape never writes a length: it spends a step, which is what keeps two components written a year apart from being two pixels out of rhythm.
Spacing steps
Nine steps, from a hairline to a page margin. Padding, gaps and margins all come from here — a value between two steps is a value that has not been decided.
--space-1
--space-2
--space-3
--space-4
--space-5
--space-6
--space-7
--space-8
--space-9
Sizes
The widths and heights a region is given: a column, a panel, a reading measure. Larger than a spacing step and used for the same reason.
--size-1
--size-2
--size-3
--size-4
--size-5
--size-6
Density
Compactness belongs to a region and not to a widget. A bar declared compact makes what it holds compact too, because the tokens carrying it inherit — no component below is told where it stands.
A toolbar at its own density, and the buttons it holds
The same toolbar declared compact — nothing was said about the buttons
A region declared compact without being a shape of its own