Typography

Semantic heading, text, and inline elements with consistent sizing and spacing.

Display

Sourdough

H1

The Beginner's Loaf

H2

Ingredients

H3

Bulk Ferment

H4

Shaping Notes

Installation

CLI

Install the component using the StarUI CLI:

star add typography

Examples

Text Variants

Lead, P, Large, Small, Muted, and Caption — each maps to a text_variants CVA variant

Lead

The longest-running experiment in physics began in 1927, when Professor Parnell heated a lump of pitch and poured it into a funnel.

P

Nine drops have fallen since then. The eighth drop fell in November 2000, but nobody saw it happen — the webcam installed to catch it had suffered an outage twenty minutes earlier.

Large
One drop per decade.
Small
University of Queensland · Est. 1927
Muted

The ninth drop fell on 24 April 2014.

Caption
Fluid Dynamics

Inline Elements

InlineCode, Kbd, and Mark for code references, keyboard shortcuts, and highlights

Install the package with pip install starui and import what you need.

Press + K to open the command palette, or Esc to close it.

The search index will highlight matching terms across all results so you can scan quickly.

Blockquote & Lists

Blockquote for callouts — List auto-wraps children in li elements and supports ordered mode

After all, all he did was string together a bunch of alien quotations and was that any way to write a story?

— James Michener
  1. Preheat the oven to 260°C with the Dutch oven inside
  2. Score the dough with a razor blade or lame
  3. Bake covered for 20 minutes, then remove the lid
  4. Continue baking until the crust is deep brown, about 25 more minutes
  • Bread flour (12–13% protein)
  • Fine sea salt
  • Filtered water at 30°C

Changelog

Real-world composition — Caption, headings, InlineCode, and List for release notes in a Card

December 15, 2025

v2.4.0

New calendar component and date picker improvements.

Added

  • Calendar — standalone month-view date picker
  • DatePicker now supports range selection
  • Keyboard navigation for all date components

Fixed

  • Popover positioning on scroll (#412)
  • Select dropdown closing on outside click

Full changelog on GitHub

Settings Section

H3/H4 with Muted descriptions and Hr dividers — typical app settings layout

Notifications

Choose which events trigger email or push notifications.


Email Digest

Receive a daily summary of activity in your workspace.

Mentions

Get notified when someone mentions you in a comment.

Security Alerts

Immediate notification for login attempts and permission changes.

Prose Sizes

Prose wraps content with @tailwindcss/typography — sm, base, and lg for comparison

prose-sm

Tartine Method

Mix 200g leaven with 700g water. Add 900g bread flour and 100g whole wheat. Autolyse 25–40 minutes, then add 20g salt with 50g warm water.

prose (default)

Why Autolyse Matters

During autolyse, flour absorbs water and enzymes begin breaking down starch into sugar. Gluten strands start forming on their own, which means less kneading later and a more extensible dough.

The window is 25–40 minutes. Shorter and you miss the benefit; longer and the dough starts to degrade.

prose-lg

The Crumb

An open, irregular crumb comes from high hydration, gentle handling, and a strong starter. If your crumb is tight and even, try increasing hydration by 5% and using coil folds instead of stretch-and-folds.

Article Opening

Caption, H2, Lead, Hr, P, and Small composed as a natural article header with body text

Field Notes · March 2026

Scoring Patterns and Oven Spring

How blade angle, depth, and steam timing affect the final shape of your loaf.


The score is not decorative. It controls where steam escapes during the first ten minutes of baking, and that escape path determines the shape of the ear and the overall rise. A shallow score at 30° produces a wide, flat ear. A deep score at 90° splits the loaf open symmetrically.

Most bakers score too timidly. The blade should pass through the skin of the dough in a single, confident stroke — hesitation creates drag, which tears rather than cuts.

8 min read

API Reference

Props

Prop Type Default Description
cls str '' Additional CSS classes merged via cn()
Component Description
Display Renders <h1> with responsive text-4xl/5xl/6xl. For hero headings and page titles.
H1 Renders <h1> with text-3xl/4xl/5xl font-extrabold. Primary page heading.
H2 Renders <h2> with border-b by default. Section headings.
H3 Renders <h3> with text-2xl font-semibold.
H4 Renders <h4> with text-xl font-semibold.
P Renders <p> with leading-7 and [&:not(:first-child)]:mt-6 spacing.
Lead Renders <p> with text-xl text-muted-foreground. For introductory paragraphs.
Large Renders <div> with text-lg font-semibold. Inline callouts.
Small Renders <small> with text-sm font-medium. Metadata and fine print.
Muted Renders <p> with text-sm text-muted-foreground. Secondary text.
Caption Renders <div> with uppercase tracking-wider font-medium. Category labels and eyebrows.
InlineCode Renders <code> with bg-muted rounded mono styling.
Blockquote Renders <blockquote> with border-l-2 italic styling.
List Renders <ul> or <ol>. Auto-wraps non-li children in <li> elements.
Prose Renders <div> with @tailwindcss/typography classes. For markdown/long-form content.
Kbd Renders <kbd> with bordered badge styling for keyboard shortcuts.
Mark Renders <mark> with primary-tinted highlight. Same hue in light and dark mode.
Hr Renders <hr> with my-8 border-t border-border. Pass cls='my-4' for tighter spacing.
Figure Renders <figure> with my-8 and space-y-3 for contained content.
Figcaption Renders <figcaption> with centered italic muted text.