Chat extensions

VoiceInputButton

Microphone button with three visual states — idle, recording (pulse + waveform + timer), and processing. Fully controlled; parent owns the Web Audio wiring.

Sourcesrc/components/ai/voice-input-button.tsx

State machine

Flip between the three states to see idle, recording (with a 7s timer), and processing.

Idle / recording / processing

All three visual states rendered side-by-side for reference.

00:12

Sizes

Three preset sizes for different composer densities.

00:05
00:05
00:05

Live audio levels

Pass a 0–1 array via audioLevels to drive the five bars directly from your analyser node.

00:03