AiStatus

Announces what an AI is doing — thinking, generating, done, failed or stopped — with a shimmering label and an optional Stop button

Category: feedback · WCAG 2.2-AA · ai, status, loading, thinking, generating, progress, stop

States

Props

PropTypeDefaultDescription
status'thinking' | 'generating' | 'complete' | 'error' | 'stopped'—The phase: `thinking` (working, nothing produced yet), `generating` (output is streaming), `complete`, `error`, or `stopped` (the reader pressed Stop).
labelReactNode—Replaces the default text for the current status, e.g. "Searching 12 documents…".
labels{ thinking?: string; generating?: string; complete?: string; error?: string; stopped?: string; stop?: string }—Overrides for the component’s user-visible strings (i18n).
onStop() => void—Called when the reader presses Stop. When set, a Stop button renders while the status is `thinking` or `generating`.

Design tokens

When to use

When not to use

How to build an accessible AiStatus in React →

Examples

Thinking

<AiStatus status="thinking" />

Generating, with Stop

<AiStatus status="generating" onStop={() => {}} />

Custom label

<AiStatus status="thinking" label="Searching 12 documents…" />

Complete

<AiStatus status="complete" />

Error

<AiStatus status="error" />

Related components

← Back to docs