systems

Primitive token

A raw value in the token system – `blue-500`, `space-4` – with no meaning attached yet. The full set of available Lego bricks, before any are assigned a job.

Primitives are the bottom layer of a token architecture: every possible value the system could use, named by what it is (blue-500 is the fifth step of the blue scale) rather than what it’s for. Nothing should reference a primitive directly from a component – that’s the semantic layer’s job.

The separation is what makes change safe. If red-600 gets retired for a more accessible red, the semantic token color-status-error is repointed once, and nothing that uses the semantic name has to change. On this site, the grey and indigo scales at the top of the token file are the primitive layer – the numbers even encode which interface state each step is tuned for.