{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "captions-menu",
  "title": "Captions Menu",
  "description": "A captions button and popup for selecting a text track.",
  "dependencies": [
    "@videojs/react@10.0.0-beta.32",
    "react"
  ],
  "registryDependencies": [
    "@videojs/_button-tooltip",
    "@videojs/_resolve-class-name",
    "@videojs/_style-menus",
    "@videojs/_style-popups",
    "@videojs/_style-theme",
    "@videojs/captions-button",
    "@videojs/radio-item"
  ],
  "files": [
    {
      "path": "ui/files/captions-menu/captions-menu.tsx",
      "content": "/** @jsxImportSource react */\n\nimport '../styles/menus.css';\nimport '../styles/popups.css';\nimport '../styles/theme.css';\nimport { Menu as MenuPrimitive } from '@videojs/react';\nimport { CaptionsRadioGroup } from '@videojs/react/ui/captions-radio-group';\n\nimport { cn } from '@/components/videojs/lib/resolve-class-name';\nimport { ButtonTooltip } from '@/components/videojs/ui/button-tooltip';\nimport { CaptionsButton } from '@/components/videojs/ui/captions-button';\nimport { RadioItem } from '@/components/videojs/ui/radio-item';\n\nexport interface CaptionsMenuProps extends Omit<MenuPrimitive.RootProps, 'children'> {\n  className?: MenuPrimitive.TriggerProps['className'];\n}\n\nexport function CaptionsMenu({ className, ...props }: CaptionsMenuProps = {}) {\n  return (\n    <MenuPrimitive.Root side=\"top\" align=\"center\" boundary=\"viewport\" {...props}>\n      <CaptionsRadioGroup.Root>\n        <ButtonTooltip side=\"top\">\n          <MenuPrimitive.Trigger render={<CaptionsButton />} className={className} />\n        </ButtonTooltip>\n        <MenuPrimitive.Popup className={cn('media-popup', 'media-popup-surface', 'media-menu-popup')}>\n          <MenuPrimitive.Content className={'media-menu-content'}>\n            <CaptionsRadioGroup.Options\n              className={'media-menu-radio-group'}\n              renderItem={(props, item) => (\n                <RadioItem {...props}>\n                  <span>{item.label}</span>\n                </RadioItem>\n              )}\n            ></CaptionsRadioGroup.Options>\n          </MenuPrimitive.Content>\n        </MenuPrimitive.Popup>\n      </CaptionsRadioGroup.Root>\n    </MenuPrimitive.Root>\n  );\n}\n",
      "type": "registry:component",
      "target": "@components/videojs/ui/captions-menu.tsx"
    }
  ],
  "meta": {
    "framework": "react",
    "style": "css",
    "role": "component",
    "styling": "css",
    "public": true
  },
  "docs": "Installs `@/components/videojs/ui/captions-menu.tsx` for use inside a compatible Video.js Player or Skin.\n\n```tsx\nimport { CaptionsMenu } from '@/components/videojs/ui/captions-menu';\n\nexport function Controls() {\n  return <CaptionsMenu />;\n}\n```",
  "categories": [
    "media",
    "menus"
  ],
  "type": "registry:ui"
}