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 spinner && npm 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. |