Design System

Foundations

The design guidelines behind the system — the principles, standards and best practices for building consistent, accessible HealthMetrics interfaces.

Explore the foundations

The building blocks every interface composes from — each with its own reference page.

Principles

What every HealthMetrics interface should be.

Accessible

Every pattern meets WCAG 2.2 AA. Colour is never the only signal, targets are comfortable, and focus is always visible.

Consistent

One token contract and one component set, so the same control looks and behaves the same in every product.

Branded

The HMS brand is expressed through tokens, not one-off styling — teal leads, coral accents, navy for AI and dark surfaces.

Efficient

Sensible defaults and composable components let teams build quickly without re-deciding the basics.

Standards

The measurable rules the system holds itself to.

StandardRule
ContrastAll foreground/background pairings pass WCAG 2.2 AA in both light and dark themes.
ColourUse semantic tokens (--primary, --destructive, --muted-foreground …) — never hardcoded hex. Coral is a decorative accent, never the destructive red or the primary action.
SpacingAn 8px base grid. Compose with the Tailwind spacing scale; avoid arbitrary pixel values.
RadiusA single --radius (8px) drives the sm/md/lg/xl ramp so corners stay consistent.
TypographyInter across the interface; Material Symbols Rounded for icons. Set weight and size from the scale, not ad hoc.
ThemingLight and dark are first-class. Style with tokens and both themes are covered automatically — never assume a background colour.

Best practices

Practical guidance when composing screens.

Do

  • Use semantic tokens so light/dark and rebrands flow through automatically.
  • Lead each view with a single primary action; support it with secondary/outline/ghost.
  • Pair every input with a <Label> and expose status beyond colour alone.
  • Reuse a component before building a new one; extend via props, not forks.

Don't

  • Hardcode hex values or arbitrary pixel spacing.
  • Use the brand coral as a destructive colour or a primary CTA.
  • Rely on colour as the only way to convey meaning.
  • Reserve the AI palette (stream cyan, navy) for non-AI decoration.

See the brand page for logo and palette specifics, and the full token reference in Storybook → Design Tokens.

On this page