Chat primitives

TypingIndicator

Three-dot animated typing indicator. Pure CSS keyframes — zero runtime cost — and respects prefers-reduced-motion.

Sourcesrc/components/ai/typing-indicator.tsx

Bubble (default)

Wraps the dots in an assistant-style rounded bubble. Drop between messages while the model streams.

Assistant is typing

Inline with label

No container; shows a uppercase mono label next to the dots. Good for chat headers and tool-call rows.

Thinking

Inline, no label

Pass label="" to get just the animated dots.