{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"start-audio-button","title":"Start Audio Button","description":"A button for starting the agent session's audio track when the browser blocks audio playback.","dependencies":["livekit-client@^2.0.0","@livekit/components-react@^2.0.0"],"registryDependencies":["button"],"files":[{"path":"components/agents-ui/start-audio-button.tsx","content":"import { type ComponentProps } from 'react';\nimport { useEnsureRoom, useStartAudio } from '@livekit/components-react';\nimport { Button } from '@/components/ui/button';\nimport { type Room } from 'livekit-client';\n\n/**\n * Props for the StartAudioButton component.\n */\nexport interface StartAudioButtonProps extends ComponentProps<'button'> {\n  /**\n   * The size of the button.\n   * @defaultValue 'default'\n   */\n  size?: 'default' | 'sm' | 'lg' | 'icon' | 'icon-sm' | 'icon-lg';\n  /**\n   * The variant of the button.\n   * @defaultValue 'default'\n   */\n  variant?: 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link';\n  /**\n   * The LiveKit room instance. If not provided, uses the room from context.\n   */\n  room?: Room;\n  /**\n   * The label text to display on the button.\n   */\n  label: string;\n}\n\n/**\n * A button that allows users to start audio playback.\n * Required for browsers that block autoplay of audio.\n * Only renders when audio playback is blocked.\n *\n * @extends ComponentProps<'button'>\n *\n * @example\n * ```tsx\n * <StartAudioButton label=\"Click to allow audio playback\" />\n * ```\n */\nexport function StartAudioButton({\n  size = 'default',\n  variant = 'default',\n  label,\n  room,\n  className,\n  ...props\n}: StartAudioButtonProps) {\n  const roomEnsured = useEnsureRoom(room);\n  const { mergedProps } = useStartAudio({ room: roomEnsured, props });\n\n  return (\n    <Button\n      size={size}\n      variant={variant}\n      {...props}\n      {...mergedProps}\n      // don't merge useStartAudio className\n      className={className}\n    >\n      {label}\n    </Button>\n  );\n}\n","type":"registry:component"}],"type":"registry:component"}