This page ships a Markdown twin for AI tools.

ComponentsText

displaytexulinot agent-emittableapp

Text

text

Body copy, labels and small print with a size, tone and weight from the design system.

One token contract, every theme. Display components take color, radius, density and state styling from the --tx-* token contract — the same variables the theme strip below overrides — so a theme swap re-colors them without per-component fixes.

Live examples

Muted helper text

Muted helper text

Loading demo…

Small print

Small print

Eyebrow (overline)

Eyebrow (overline)

Large figure

Large figure

Nested text that inherits

Nested text that inherits

Struck price

Struck price

In your theme

This page renders in the site theme, enterprise-neutral. Every one of the 210 library themes re-colors every component through the --tx-* contract. The three below carry real token values from the library, rendered at build — no island, no extra requests.

  • Violet

    light mode · AA contrast

    • background
    • surface
    • primary
    • accent
    • border
    Open Theme Studio
  • Monochrome

    light mode · AA contrast

    • background
    • surface
    • primary
    • accent
    • border
    Open Theme Studio
  • Accessible Dark Contrast

    dark mode · AAA contrast

    • background
    • surface
    • primary
    • accent
    • border
    Open Theme Studio

Props

Public props for Text
NameKindRequiredDefaultDescription
asenum (p, span, div, label, small, strong)no"p"—
sizeenum (figure, lg, md, sm, xs, inherit)no"md"figure is a large number outside stat (the title size of the type scale); inherit takes the parent's size and line height
toneenum (default, muted, subtle, primary, success, warning, destructive, info, inherit)no"default"—
weightenum (regular, medium, semibold)no"regular"—
truncatebooleannofalseOne line with an ellipsis
lineClampnumberno—Clamp to 1 to 10 lines with an ellipsis
alignenum (start, center, end)no"start"—
monobooleannofalseThe design system's code family
tabularbooleannofalseTabular figures (font-variant-numeric: tabular-nums) for numbers that line up
transformenum (none, uppercase, lowercase, capitalize)no"none"—
trackingenum (normal, wide)no"normal"Letter spacing; wide is the eyebrow tracking (--tx-letter-spacing-wide)
italicbooleannofalse—
strikethroughbooleannofalseLine-through
forstringno—With as="label": the id of the labelled control
labelstringno—Plain text, escaped; replaces children when both are given
classstringno——
childrenslotno—The text

Keyboard

Keyboard behavior for Text
KeyAction
a, pNever renders a heading element: as is p, span, div, label, small or strong.
AA tone never carries meaning alone; the words say it.

Accessibility

  • Never renders a heading element: as is p, span, div, label, small or strong.
  • A tone never carries meaning alone; the words say it.

Evidence for text

Latest committed gates for text (as of 2026-10-23). Static snapshot — not live CI.

Behavior

n/ano behavior scenario

No dedicated behavior scenario for this catalog id (a styled or display surface, covered by its unit and axe tests).

Size (gzip)

texuli/text · budget 12.0 KiB

Budget from texuli.budgets.json; re-measure with `pnpm size --filter <entry>`.

Axe

documented

  • tests/e2e/site-component-pages.spec.ts
  • docs/quality (a11y-*)

Site component pages axe gate; package-level a11y docs under docs/quality when present.

Browsers

  • chromium
  • webkit
  • mobile

Playwright projects: Desktop Chrome, Desktop Safari, Pixel 7. Firefox is a known gap on this host.

When to use

Use when

  • Body text, helper text, captions, muted or small print
  • Text with a status ink (success, warning, destructive, info) next to a word that says it

Don’t use when

Prefer another component

  • A title or section heading (use heading)
  • Long-form content (use prose)