Skip to content
Alpha

Hololink UI is under active development. Components, APIs and these docs may change without notice.

Typography

Hololink UI uses two families, exposed as semantic tokens:

TokenValuePreview
--s-font-sans'Outfit', 'Inter', system-ui, -apple-system, sans-serifAa Bb 0123
TokenValuePreview
--s-font-mono'JetBrains Mono', 'Fira Code', monospaceAa Bb 0123
  • --s-font-sans is Outfit, falling back to Inter, then the system UI font.
  • --s-font-mono is JetBrains Mono, falling back to Fira Code, then the system monospace.

The package does not bundle the font files. If Outfit or JetBrains Mono are not loaded by your app, the browser uses the next family in the stack.

Sans: The quick brown fox jumps over the lazy dog

Mono: const tokens = await load(‘tokens.css’);

body {
font-family: var(--s-font-sans);
}
code {
font-family: var(--s-font-mono);
}

Use the semantic size tokens. They map to the primitive scale (12, 14, 16, 18, 20, 24 and 30px; the primitive scale also defines a 36px --p-font-size-4xl that has no semantic alias yet). Sizes are in rem, so they respect the user’s font-size setting.

TokenValuePreview
--s-font-size-caption0.75remAa
--s-font-size-label0.875remAa
--s-font-size-body1remAa
--s-font-size-lead1.125remAa
--s-font-size-title1.25remAa
--s-font-size-headline1.5remAa
--s-font-size-display1.875remAa
Display (--s-font-size-display)Headline (--s-font-size-headline)Title (--s-font-size-title)Lead paragraph (--s-font-size-lead)Body text (--s-font-size-body)Label (--s-font-size-label)Caption (--s-font-size-caption)
.page-title {
font-size: var(--s-font-size-display);
font-weight: 600;
}
.hint {
font-size: var(--s-font-size-caption);
color: var(--s-color-text-tertiary);
}
Role Size token Weight Use
Display --s-font-size-display 600 Hero, page title
Headline --s-font-size-headline 600 Section headings
Title --s-font-size-title 600 Card and dialog titles
Lead --s-font-size-lead 400 Lead paragraphs
Body --s-font-size-body 400 Default text, inputs
Label --s-font-size-label 600 Buttons (uppercase, 0.05em tracking), field labels
Body small --s-font-size-label 400 Secondary text
Caption --s-font-size-caption 400 Metadata, tooltips
Label small --s-font-size-caption 600 Badges, tags, error text
Code --s-font-size-label in --s-font-mono 400 Code, tokens, keyboard hints

Weights, line heights and letter spacing are design guidance. tokens.css defines sizes and families only, so set the rest in your own CSS.

Do not set text below 12px (--s-font-size-caption).