Voice Selector
A searchable dialog for picking an AI voice - preview playback, accent / age / gender metadata, and a compact trigger.
Default
Searchable dialog of AI voices with preview playback, accent, age, and gender metadata.
Loading…
Installation
CLI
Also needs
npx @sonojs/ui@latest add button command dialog spinnernpm i lucide-react@^1.61.0Usage
voice-selector.tsx
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| value / defaultValue / onValueChange | string | - | Selected voice ID (controlled or uncontrolled). |
| open / onOpenChange | boolean | - | Dialog open state. |
| VoiceSelectorPreview | playing? / loading? / onPlay? | - | Play / pause / spinner control for audio previews. |
| VoiceSelectorGender | value?: male · female · … | - | Gender icon (or custom children). |
| VoiceSelectorAccent | value?: american · british · … | - | Accent flag emoji (or custom children). |
| useVoiceSelector() | hook | - | Context: `value`, `setValue`, `open`, `setOpen` inside the tree. |