Skip to content

VoiceInputButton

stablev1.0.0

Microphone trigger with integrated waveform animation. States: idle, listening (agency red), processing (temporal blue), done, error. Waveform bars animate to real or simulated audio amplitude while listening; freeze and pulse during STT processing.

ConversationInteractivesince S22/Storybook ↗
import { VoiceInputButton } from "@danagraph/design-system/patterns"
Loading demo…
Interactive Preview — StorybookOpen in Storybook ↗

Props

state
Type "idle" | "listening" | "processing" | "done" | "error"Default "idle"

Current voice capture state.

amplitudes
Type number[]Default —

7 amplitude values 0–1 from real audio analysis. Falls back to simulation when omitted.

onStart
Type () => voidDefault —

Called when user clicks to start recording.

onStop
Type () => voidDefault —

Called when user clicks to stop recording.

errorMessage
Type stringDefault —

Error message shown in error state.

disabled
Type booleanDefault false

Disable the button entirely.

label
Type stringDefault —

Accessible label override.

idlelisteningprocessingdoneerrorsemantictypebordermotion
Design Rationale

This component was designed to express:

Explore Related

Was this helpful?