āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā š shadcn/directory/elevenlabs/ui/components/conversation-bar ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā
<ComponentPreview name="conversation-bar-demo" description="A beautiful bar for voice and audio interactions" />
npx @elevenlabs/cli@latest components add conversation-bar
</TabsContent>
<TabsContent value="manual">
<Steps>
<Step>Install the following dependencies:</Step>
npm install @elevenlabs/react
<Step>Copy and paste the following code into your project.</Step>
<ComponentSource name="conversation-bar" title="components/ui/conversation-bar.tsx" />
<Step>Update the import paths to match your project setup.</Step>
</Steps> </TabsContent> </CodeTabs>import { ConversationBar } from "@/components/ui/conversation-bar"
<ConversationBar
agentId="your-agent-id"
onConnect={() => console.log("Connected")}
onDisconnect={() => console.log("Disconnected")}
onMessage={(message) => console.log("Message:", message)}
onError={(error) => console.error("Error:", error)}
/>
<ConversationBar
agentId="your-agent-id"
className="max-w-2xl"
waveformClassName="bg-gradient-to-r from-blue-500 to-purple-500"
onConnect={() => console.log("Connected")}
/>
A complete voice conversation interface with WebRTC support, microphone controls, text input, and real-time waveform visualization.
| Prop | Type | Description |
| ----------------- | ---------------------------------------------------------------- | ----------------------------------------------- |
| agentId | string | Required. ElevenLabs Agent ID to connect to |
| className | string | Optional CSS classes for the container |
| waveformClassName | string | Optional CSS classes for the waveform |
| onConnect | () => void | Callback when conversation connects |
| onDisconnect | () => void | Callback when conversation disconnects |
| onError | (error: Error) => void | Callback when an error occurs |
| onMessage | (message: { source: "user" \| "ai"; message: string }) => void | Callback when a message is received |
@elevenlabs/react package for conversation managementā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā