{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "audio-track-menu",
  "title": "Audio Track Menu",
  "description": "A submenu for selecting an available audio track.",
  "dependencies": [
    "@videojs/core@10.0.0-beta.32",
    "@videojs/react@10.0.0-beta.32",
    "react"
  ],
  "registryDependencies": [
    "@videojs/_menu-chevron",
    "@videojs/_resolve-class-name",
    "@videojs/_style-menus",
    "@videojs/_style-theme",
    "@videojs/radio-item"
  ],
  "files": [
    {
      "path": "ui/files/audio-track-menu/audio-track-menu.tsx",
      "content": "/** @jsxImportSource react */\n\nimport '../styles/menus.css';\nimport '../styles/theme.css';\nimport { audioText } from '@videojs/core/i18n/text/menu';\nimport { Menu } from '@videojs/react';\nimport { Text as TextPrimitive } from '@videojs/react';\nimport { SpeechIcon as SpeechIconPrimitive } from '@videojs/react/icons';\nimport { AudioTrackRadioGroup } from '@videojs/react/ui/audio-track-radio-group';\n\nimport { MenuChevron } from '@/components/videojs/ui/menu-chevron';\nimport { RadioItem } from '@/components/videojs/ui/radio-item';\n\nexport type AudioTrackMenuProps = Omit<Menu.RootProps, 'children'>;\n\nexport function AudioTrackMenu({ ...props }: AudioTrackMenuProps = {}) {\n  return (\n    <Menu.Root {...props}>\n      <AudioTrackRadioGroup.Root>\n        <Menu.Trigger className={'media-menu-trigger-item'}>\n          <SpeechIconPrimitive className={'media-menu-trigger-item-icon'} />\n          <TextPrimitive token={audioText.key}>{audioText.text}</TextPrimitive>\n          <span className={'media-menu-hint'}>\n            <AudioTrackRadioGroup.Value className={'media-menu-hint-label'} />\n            <MenuChevron />\n          </span>\n        </Menu.Trigger>\n        <Menu.Content className={'media-menu-content'}>\n          <Menu.Item className={'media-menu-back-item'}>\n            <MenuChevron back />\n            <TextPrimitive token={audioText.key}>{audioText.text}</TextPrimitive>\n          </Menu.Item>\n          <Menu.Separator className={'media-menu-separator'} />\n          <AudioTrackRadioGroup.Options\n            className={'media-menu-radio-group'}\n            renderItem={(props, item) => (\n              <RadioItem {...props}>\n                <span>{item.label}</span>\n              </RadioItem>\n            )}\n          ></AudioTrackRadioGroup.Options>\n        </Menu.Content>\n      </AudioTrackRadioGroup.Root>\n    </Menu.Root>\n  );\n}\n",
      "type": "registry:component",
      "target": "@components/videojs/ui/audio-track-menu.tsx"
    }
  ],
  "meta": {
    "framework": "react",
    "style": "css",
    "role": "component",
    "styling": "css",
    "public": true
  },
  "docs": "Installs `@/components/videojs/ui/audio-track-menu.tsx` for use inside a compatible Video.js Player or Skin.\n\n```tsx\nimport { AudioTrackMenu } from '@/components/videojs/ui/audio-track-menu';\n\nexport function Controls() {\n  return <AudioTrackMenu />;\n}\n```",
  "categories": [
    "media",
    "menus"
  ],
  "type": "registry:ui"
}