Components

CVI Provider

The CVIProvider component wraps your app with the Daily.co provider context, enabling all Daily React hooks and components to function.

npx @tavus/cvi-ui@latest add cvi-provider

The CVIProvider component wraps your app with the Daily.co provider context, enabling all Daily React hooks and components to function.

Features:

  • Provides Daily.co context to all child components
  • Required for using Daily React hooks and video/audio components
  • Simple wrapper for app-level integration

Props:

  • children (ReactNode): Components to be wrapped by the provider

AudioWave

The AudioWave component provides real-time audio level visualization for video chat participants, displaying animated bars that respond to audio input levels.

npx @tavus/cvi-ui@latest add audio-wave

The AudioWave component provides real-time audio level visualization for video chat participants, displaying animated bars that respond to audio input levels.

Features:

  • Real-time Audio Visualization: Three animated bars that respond to audio levels
  • Active Speaker Detection: Visual distinction between active and inactive speakers
  • Performance Optimized: Uses requestAnimationFrame for smooth animations
  • Responsive Design: Compact circular design that fits well in video previews
  • Audio Level Scaling: Intelligent volume scaling for consistent visual feedback

Props:

  • id (string): The participant’s session ID to monitor audio levels for

Device Select

The device-select module provides advanced device selection controls, including dropdowns for choosing microphones and cameras, and integrated toggle buttons.

npx @tavus/cvi-ui@latest add device-select

The device-select module provides advanced device selection controls, including dropdowns for choosing microphones and cameras, and integrated toggle buttons.

Exported Components:

  • MicSelectBtn: Microphone toggle button with device selection
  • CameraSelectBtn: Camera toggle button with device selection
  • ScreenShareButton: Button to toggle screen sharing

Features:

  • Integrated device selection and toggling
  • Dropdowns for camera/microphone selection
  • Visual state indicators and accessibility support
  • Uses Daily.co device management hooks
  • CSS modules for styling

Media Controls

The media-controls module provides simple toggle buttons for microphone, camera, and screen sharing, designed for direct use in video chat interfaces.

npx @tavus/cvi-ui@latest add media-controls

The media-controls module provides simple toggle buttons for microphone, camera, and screen sharing, designed for direct use in video chat interfaces.

Exported Components:

  • MicToggleButton: Toggles microphone mute/unmute state
  • CameraToggleButton: Toggles camera on/off
  • ScreenShareButton: Toggles screen sharing on/off

Features:

  • Simple, accessible toggle buttons
  • Visual state indicators (muted, unmuted, on/off)
  • Disabled state when device is not ready
  • Uses Daily.co hooks for device state
  • CSS modules for styling