This page ships a Markdown twin for AI tools.

ComponentsSpinner

displaytexulinot agent-emittableapp

Spinner

spinner

An indeterminate wait indicator, labelled or decorative.

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

Saving

Saving

Loading demo…

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 Spinner
NameKindRequiredDefaultDescription
labelstringno——
sizeenum (sm, md, lg)no"md"—
toneenum (primary, success, warning, destructive, info, neutral)no"primary"—
classstringno——

Keyboard

Keyboard behavior for Spinner
KeyAction
aWith a label it is a live status; without a label it is decorative.

Accessibility

  • With a label it is a live status; without a label it is decorative.

Evidence for spinner

Latest committed gates for spinner (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/spinner · 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

  • Show that a short action is in progress

Don’t use when

Prefer another component

  • A known percent (use progress)
  • A layout placeholder (use skeleton)