Typography

Atom
Type scale classes for headings, body text, and helper styles.

Playground

Every control sets a real prop of TypographyProps. The JSX below updates as you go.

Made of light

Props
Style
pick one
Tone
pick one
semibold
boolean
underline
boolean
tabular
boolean
uppercase
boolean
center
boolean
children
string
JSX · TypographyProps
<Typography h2>Made of light</Typography>

Variants

21 examples from src/atoms/typography/typography.md, each rendered live from its own JSX.

The quick brown fox

Display
<Typography display>The quick brown fox</Typography>

The quick brown fox

H1
<Typography h1>The quick brown fox</Typography>

The quick brown fox

H2
<Typography h2>The quick brown fox</Typography>

The quick brown fox

H3
<Typography h3>The quick brown fox</Typography>

The quick brown fox

H4
<Typography h4>The quick brown fox</Typography>
The quick brown fox
H5
<Typography h5>The quick brown fox</Typography>
The quick brown fox
Lead
<Typography lead>The quick brown fox</Typography>
The quick brown fox
Body
<Typography body>The quick brown fox</Typography>
The quick brown fox
Small
<Typography small>The quick brown fox</Typography>
The quick brown fox
Tiny
<Typography tiny>The quick brown fox</Typography>
The quick brown fox
Muted
<Typography muted>The quick brown fox</Typography>
The quick brown fox
Caption
<Typography caption>The quick brown fox</Typography>
The quick brown fox
Code
<Typography code>The quick brown fox</Typography>
The quick brown fox
Mono
<Typography mono>The quick brown fox</Typography>
The quick brown fox
Semibold
<Typography semibold>The quick brown fox</Typography>
View invoices
Primary
<Typography primary>View invoices</Typography>
+12.4% this week
Success
<Typography success>+12.4% this week</Typography>
Payment failed
Destructive
<Typography destructive>Payment failed</Typography>
View invoices
Underline
<Typography underline>View invoices</Typography>
Canvas
design system
Tight leading
<Column flush>
<Typography lead tightLeading>Canvas</Typography>
<Typography tiny tightLeading>design system</Typography>
</Column>
Requests
1,204,118
Errors
11,407
Tabular
<Column tight>
<Row alignCenter between relaxed>
<Typography small>Requests</Typography>
<Typography tabular>1,204,118</Typography>
</Row>
<Row alignCenter between relaxed>
<Typography small>Errors</Typography>
<Typography tabular>11,407</Typography>
</Row>
</Column>

Anatomy

Made of light

1
Text run
Dimmed parts appear only in some states or variants.

Props

129 props on TypographyProps, grouped as they are declared in source. Required props are marked *.
Prop
Type
Default
Description
Props
53 props
section
boolean
false
A section heading owning its count, metadata and trailing actions.
count
number | string
–
description
string
–
actions
ReactNode
–
subheading
boolean
false
Exact Argus reading roles; these preserve the original dense web type.
label
boolean
false
micro
boolean
false
tag
boolean
false
eyebrow
boolean
false
eyebrowLg
boolean
false
stageLabel
boolean
false
statValue
boolean
false
metricValue
boolean
false
formValue
boolean
false
extraBold
boolean
false
uppercase
boolean
false
foreground
boolean
false
inverse
boolean
false
action
boolean
false
actionForeground
boolean
false
info
boolean
false
hue
number
–
Hue-keyed stage text; deep in light schemes, pastel in dark.
inverseHint
boolean
false
De-emphasized white ink over branded surfaces.
inverseSubtle
boolean
false
inverseMuted
boolean
false
inverseSoft
boolean
false
inverseFaint
boolean
false
right
boolean
false

Accessibility and keyboard

Keyboard
Not focusable. It has no interaction of its own and takes the semantics of what it wraps.
Semantics
Roles
header
link
ARIA on web
aria-level
From the docs
foreground, inverse, action, actionForeground, and info name the ink; hue gives a stage its theme-aware identity text. inverseHint, inverseSubtle, inverseMuted, inverseSoft, and inverseFaint express the reference's hierarchy on branded surfaces. numberOfLines truncates a reading block, and accessible labels and roles stay with the text. Existing roles and defaults keep working.
Inline text that NAVIGATES should be a real link, not pressable text that sets location: pass href and the web render becomes a genuine browser link (middle-click, new tab, crawlers, and assistive tech all treat it as one). Native platforms ignore href, so pair it with an onPress that runs the same navigation through your router; underline supplies the conventional link look, and hrefAttrs forwards target / rel / download on the web.

Platform skins

The playground's props on each platform: same tree, native shapes, type and touch sizes.
A button that navigates renders a real link on the web, so middle-click and open-in-new-tab work.
Web
control 10 · field 10 · card 16 · Instrument Sans
A button that navigates renders a real link on the web, so middle-click and open-in-new-tab work.
iOS
capsule controls · field 8 · card 12 · SF Pro · 44 pt
A button that navigates renders a real link on the web, so middle-click and open-in-new-tab work.
Android
Material 3 stadium · field 4 · card 12 · Roboto · 48 dp

Usage

<Typography>The quick brown fox</Typography>
Argus reading roles include subheading, label, micro, tag, eyebrow, eyebrowLg, stageLabel, statValue, metricValue, and formValue. These extend Typography itself. Semantic leading and tracking props preserve the reference's fractional web metrics; for example labelLeading is the compact label line box and wideTracking its uppercase eyebrow tracking. extraBold selects the 800 face. The owner's exact-reference directive preserves the existing 9.5px eyebrows.
foreground, inverse, action, actionForeground, and info name the ink; hue gives a stage its theme-aware identity text. inverseHint, inverseSubtle, inverseMuted, inverseSoft, and inverseFaint express the reference's hierarchy on branded surfaces. numberOfLines truncates a reading block, and accessible labels and roles stay with the text. Existing roles and defaults keep working.
section lets a heading own its count, muted description and trailing actions. They wrap along a shared baseline, preserving dense section anatomy. Pair it with h5 bold labelLeading or subheading bold labelLeading; the latter uses the compact metadata metrics. Actions move to the far edge and wrap below on narrow surfaces.

Inline links (href)

Inline text that NAVIGATES should be a real link, not pressable text that sets location: pass href and the web render becomes a genuine browser link (middle-click, new tab, crawlers, and assistive tech all treat it as one). Native platforms ignore href, so pair it with an onPress that runs the same navigation through your router; underline supplies the conventional link look, and hrefAttrs forwards target / rel / download on the web.
<Typography small>
Read the <Typography small underline href="https://canvas.nannier.com">Canvas docs</Typography> for the full component list.
</Typography>

Tokens

Read from the playground render. Values follow the scheme and the ion hue.
--f-dp
--fd
--ft

Related components