Skip to content
Zuno UI
Explore components
EXPLORE
Actions
Forms
Layout
Navigation
Data display
Feedback
Overlays
RESOURCES
Components/Typography

Typography

Text recipes on the ZUNO scale over semantic HTML, with no hidden margins.

Shipping a design system

Notes from moving three products onto one set of components.

Start with tokens

Every surface reads bg-background, so dark mode came for free.

Consistency is a feature your users never ask for and always notice.
  • Tokens before components
  • Compositions before variants
  • Docs before release

Installation

Run it from the root of a project already set up with zunoui init.

npx zunoui@latest add typography

Dependencies

What add typography installs alongside the component. The CLI skips any you already have in a compatible version.

ZUNO registry

  • @zuno/utils

Examples

3 examples · 1 component
typography

Shipping a design system

Notes from moving three products onto one set of components.

Start with tokens

Every surface reads bg-background, so dark mode came for free.

Consistency is a feature your users never ask for and always notice.
  • Tokens before components
  • Compositions before variants
  • Docs before release

Article

Headings, a lead, reading text with inline code, a quote and a list, spaced by the parent.

typography

Billing

Payment method

Visa ending in 4242

Level and look

The outline decides the element; the typography map decides the size.

typography
Email address

We only use it for receipts.

Updated 2 min ago

  1. Create a project
  2. Invite your team
  3. Connect a domain

Small text and lists

Label, muted and caption sizes, and a numbered list.

API reference

Forwards props and ref to the container element; it only adds composition utilities.

PropTypeDefault
TypographyH1 … TypographyH4

Page title (28 → 32 px), section (20), card (18) and subsection (16), weight 600, balanced wrapping.

h1 … h4—
TypographyP / TypographyLead

Reading text (16 / 24 px) and a muted 18 px introduction.

p—
TypographySmall / TypographyMuted

14 px label weight and 14 px muted interface text.

small / p—
TypographyBlockquote

Quote with a start-edge rule; mirrors in RTL.

blockquote—
TypographyInlineCode

Monospace on a muted chip, sized relative to the text around it.

code—
TypographyList

Bulleted or numbered list with muted markers and 8 px between items.

ul / olordered = false
typography

The same recipes as class strings, to style another element or level: <h2 className={typography.h1}>.

Record<string, string>—

Accessibility

Each recipe renders the matching HTML element, so headings, quotes, code and lists keep their meaning for screen readers and reader modes.

Choose the heading level from the page outline, not from the size: when a section needs a bigger look, use the typography map on the right element (<h2 className={typography.h1}>).

Reading text is 16 px and essential text never drops to 12 px; the caption recipe is for non-critical metadata.

Headings use scroll-margin, so anchor links land below a sticky header.

No margins are built in: spacing comes from Stack or gap, so a recipe never adds space you can't see in the markup.