AI status
Reflects the lifecycle of an AI response — thinking, processing, done, and error. Each state has its own animation. Transitions between states use AnimatePresence.
Live demo
thinking
Trigger a state
Full lifecycle
Why it animates
Users waiting on an AI response need to know something is happening. Each state communicates a different phase — the dots say 'I am working on it', the checkmark says 'I am finished', without a single word of copy.
Usage
import { AIStatus } from '@/components/ui/AIStatus'
// Reflects the full lifecycle of an AI response
<AIStatus status="thinking" />
<AIStatus status="processing" />
<AIStatus status="done" />
<AIStatus status="error" />