{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "poster",
  "title": "Poster",
  "description": "The video poster and its presentation styling shared by Skin compositions.",
  "dependencies": [
    "@videojs/react@10.0.0-beta.32",
    "react"
  ],
  "registryDependencies": [
    "@videojs/_resolve-class-name",
    "@videojs/_style-theme"
  ],
  "files": [
    {
      "path": "ui/files/poster/poster.tsx",
      "content": "/** @jsxImportSource react */\n\nimport '../styles/theme.css';\nimport { Poster as PosterPrimitive } from '@videojs/react';\n\nimport { cn, resolveClassName } from '@/components/videojs/lib/resolve-class-name';\n\nexport interface PosterProps extends Omit<PosterPrimitive.Props, 'children' | 'render'> {\n  children?: PosterPrimitive.Props['render'];\n}\n\nexport function Poster({ children, className, src, ...props }: PosterProps = {}) {\n  return (\n    <PosterPrimitive\n      render={children}\n      className={(state) =>\n        cn(\n          'pointer-events-none layer-media object-media',\n          'transition-opacity duration-media-slower not-data-visible:opacity-0',\n          '[&:is(img):not([src]):not([srcset])]:invisible',\n          '[&_img]:layer-media [&_img]:object-media',\n          resolveClassName(className, state)\n        )\n      }\n      src={src}\n      {...props}\n    />\n  );\n}\n",
      "type": "registry:component",
      "target": "@components/videojs/ui/poster.tsx"
    }
  ],
  "meta": {
    "framework": "react",
    "style": "tailwind",
    "role": "component",
    "styling": "tailwind",
    "public": true
  },
  "docs": "Installs `@/components/videojs/ui/poster.tsx` for use inside a compatible Video.js Player or Skin.\n\n```tsx\nimport { Poster } from '@/components/videojs/ui/poster';\n\nexport function Controls() {\n  return <Poster />;\n}\n```",
  "categories": [
    "media",
    "layout"
  ],
  "type": "registry:ui"
}