{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "radio-item",
  "title": "Radio Item",
  "description": "A selectable menu item with an active-state indicator.",
  "dependencies": [
    "@videojs/react@10.0.0-beta.32",
    "react"
  ],
  "registryDependencies": [
    "@videojs/_resolve-class-name",
    "@videojs/_style-theme"
  ],
  "files": [
    {
      "path": "ui/files/radio-item/radio-item.tsx",
      "content": "/** @jsxImportSource react */\n\nimport '../styles/theme.css';\nimport { Menu } from '@videojs/react';\nimport { CheckIcon as CheckIconPrimitive } from '@videojs/react/icons';\n\nimport { cn, resolveClassName } from '@/components/videojs/lib/resolve-class-name';\n\nexport type RadioItemProps = Menu.RadioItemProps;\n\nexport function RadioItem({ children, className, ...props }: RadioItemProps) {\n  return (\n    <Menu.RadioItem\n      className={(state) =>\n        cn(\n          'group/menu-radio-item',\n          'relative flex cursor-pointer select-none items-center gap-1.5 rounded-media-menu-item px-2 py-1.5 text-start whitespace-nowrap',\n          'focus-ring-media',\n          'media-highlighted:highlight-media',\n          'focus-visible:outline-media-ring focus-visible:outline-offset-2',\n          'text-shadow-media',\n          'transition-[background-color,color] duration-media-fast ease-in-out',\n          'media-anchored:duration-media-instant media-anchored:media-highlighted:duration-media-slow',\n          'justify-between tabular-nums text-inherit',\n          'data-[availability=unavailable]:hidden data-[availability=unsupported]:hidden',\n          'aria-disabled:pointer-events-none aria-disabled:cursor-not-allowed aria-disabled:opacity-50',\n          'media-anchored:data-highlighted:[anchor-name:--media-menu-item-highlight-anchor]',\n          'media-anchored:media-highlighted:bg-transparent',\n          resolveClassName(className, state)\n        )\n      }\n      {...props}\n    >\n      {children}\n      <Menu.ItemIndicator\n        forceMount\n        className={'ms-auto -me-1 shrink-0 opacity-0 group-aria-checked/menu-radio-item:opacity-100'}\n      >\n        <CheckIconPrimitive\n          className={\n            'shrink-0 drop-shadow-media-icon text-media-muted-foreground size-media-icon group-media-highlighted/menu-radio-item:text-inherit'\n          }\n        />\n      </Menu.ItemIndicator>\n    </Menu.RadioItem>\n  );\n}\n",
      "type": "registry:component",
      "target": "@components/videojs/ui/radio-item.tsx"
    }
  ],
  "meta": {
    "framework": "react",
    "style": "tailwind",
    "role": "component",
    "styling": "tailwind",
    "public": true
  },
  "docs": "Installs `@/components/videojs/ui/radio-item.tsx` for use inside a compatible Video.js Player or Skin.\n\n```tsx\nimport { RadioItem } from '@/components/videojs/ui/radio-item';\n\nexport function Controls() {\n  return <RadioItem />;\n}\n```",
  "categories": [
    "media",
    "menus"
  ],
  "type": "registry:ui"
}