MMDS
Building blocks

Components

Eight primitives, deliberately few. Each supports dark mode, works mobile-first, is keyboard accessible, and is typed end to end. Compose them into patterns.

Text

@/components/Text

The single entry point for typography. Pick a variant; get the right font and scale.

Display

Heading

Body — comfortable to read at any length.

Label · monospace

Caption — secondary detail and helper text.

Icon

@/components/Icon

A calibrated wrapper around Lucide with locked stroke and three sizes.

Button

@/components/Button

Four variants, three sizes, plus loading and icon slots. Tactile on press.

Input

@/components/Input

Labelled fields with hints, errors, and an optional leading icon. Fully wired for screen readers.

We'll never share it.

That name is taken.

Card · Surface · Stack

@/components

Structured content, neutral elevation, and the layout primitive that ties them together.

Interactive card

Lifts gently on hover. Built for tappable rows.

Surface · inset

Sheet

@/components/Sheet

A focused overlay built on Base UI's Dialog — focus-trapped, scroll-locked, reduced-motion aware.