{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "volume-indicator",
  "title": "Volume Indicator",
  "description": "Visual feedback for mute and volume changes.",
  "dependencies": [
    "@videojs/react@10.0.0-beta.32",
    "react"
  ],
  "registryDependencies": [
    "@videojs/_resolve-class-name",
    "@videojs/_style-indicators",
    "@videojs/_style-theme"
  ],
  "files": [
    {
      "path": "ui/files/volume-indicator/volume-indicator.tsx",
      "content": "/** @jsxImportSource react */\n\nimport '../styles/indicators.css';\nimport '../styles/theme.css';\nimport { VolumeIndicator as VolumeIndicatorPrimitive } from '@videojs/react';\nimport {\n  VolumeHighIcon as VolumeHighIconPrimitive,\n  VolumeLowIcon as VolumeLowIconPrimitive,\n  VolumeOffIcon as VolumeOffIconPrimitive,\n} from '@videojs/react/icons';\n\nimport { cn, resolveClassName } from '@/components/videojs/lib/resolve-class-name';\n\nexport type VolumeIndicatorProps = Omit<VolumeIndicatorPrimitive.RootProps, 'children'>;\n\nexport function VolumeIndicator({ className, ...props }: VolumeIndicatorProps = {}) {\n  return (\n    <VolumeIndicatorPrimitive.Root\n      className={(state) => cn('media-indicator', 'media-volume-indicator', resolveClassName(className, state))}\n      {...props}\n    >\n      <VolumeIndicatorPrimitive.Fill className={cn('media-indicator-content', 'media-volume-indicator-fill')}>\n        <VolumeHighIconPrimitive className={'media-volume-indicator-high-icon'} />\n        <VolumeLowIconPrimitive className={'media-volume-indicator-low-icon'} />\n        <VolumeOffIconPrimitive className={'media-volume-indicator-off-icon'} />\n        <VolumeIndicatorPrimitive.Value className={'media-volume-indicator-value'} />\n      </VolumeIndicatorPrimitive.Fill>\n    </VolumeIndicatorPrimitive.Root>\n  );\n}\n",
      "type": "registry:component",
      "target": "@components/videojs/ui/volume-indicator.tsx"
    }
  ],
  "meta": {
    "framework": "react",
    "style": "css",
    "role": "component",
    "styling": "css",
    "public": true
  },
  "docs": "Installs `@/components/videojs/ui/volume-indicator.tsx` for use inside a compatible Video.js Player or Skin.\n\n```tsx\nimport { VolumeIndicator } from '@/components/videojs/ui/volume-indicator';\n\nexport function Controls() {\n  return <VolumeIndicator />;\n}\n```",
  "categories": [
    "media",
    "feedback"
  ],
  "type": "registry:ui"
}