Designing
The MiHCM Design System is built on a small set of decisions — semantic tokens, universal primitives, and the same prop surface across web and React Native.
Principles
- Universal first. Every primitive renders on web AND native with the same prop API.
- Semantic tokens, not raw colors. Use
bg-primary, never#0070f3. - WCAG 2.1 AA is a release blocker. Not a stretch goal.
- Mobile first. Design at 375px first, scale up.
- Tailwind 4 + NativeWind. A single utility-first system across both runtimes.
Tokens
Tokens are the source of truth for color, typography, spacing, and motion. They live in @yashiel/mihcm-tokens. See the Tokens section for the full set.
Figma
Figma libraries are coming. The token names match across Figma and code so designers and developers reference the same vocabulary.
States
Every interactive element handles every state — default, hover, focus, active, disabled, loading, error, empty, success. Designers and engineers should both be able to describe each state for any component without ambiguity.
Density
Generous whitespace. We choose the larger of two equally-valid spacing options. Cramped UIs feel cheap.