IInbox

Introduction

A React implementation of the Inbox design system, generated from a Figma file rather than described after the fact.

Inbox is a design system that exists in two places at once: a Figma library, and the React components on this site. The Figma file is the source of truth for colour, type, spacing and elevation — those are exported to design/tokens.json and compiled into CSS custom properties, so a component never hardcodes a hex value and every token carries both a light and a dark value.

What that buys you

A component does not know which theme it is in. bg-raised resolves to white in light and to a lifted grey in dark, so there is no dark: variant to forget and no second set of classes to keep in step.

How the components are organised

Primitives are the pieces with no domain knowledge — buttons, tags, fields, avatars. They take props and render; they never fetch, and they never assume a screen.

Composed components know a little about the product — a stat strip, a task row, a phone frame. They are still presentational, but their shape comes from a specific Figma component rather than from first principles.

The rule this system is built on

Colour means one thing at a time. Green and red are reserved for gain and loss — success and error — so they are never borrowed to tell one category from another. Anything a person acts on is brand blue. When a category needs to be distinguishable, that is an identity hue, and identity hues carry no sentiment at all.

The practical version: if you find yourself reaching for green because a chart needs a fourth colour, reach for an identity hue instead.