{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "aspect-ratio",
  "title": "AspectRatio",
  "description": "가로세로 비율 컨테이너 — ratio prop(기본 1)을 동적 style 계약으로 적용, overflow-hidden.",
  "dependencies": [
    "@unikit-bridge/ui",
    "clsx",
    "tailwind-merge",
    "tailwindcss"
  ],
  "registryDependencies": [
    "utils"
  ],
  "files": [
    {
      "path": "registry/ui/aspect-ratio.tsx",
      "content": "// AspectRatio — shadcn/ui（new-york-v4） aspect-ratio.tsx 유니버설 포팅 （사이클 30, T-3b）.\n// 원본: shadcn-ref/ui/aspect-ratio.tsx — radix AspectRatio 엔진을\n// 제거하고 비율은 BridgeStyle 동적 인라인 스타일 계약으로 표현한다.\n//\n// 포팅 판단（원본 대비 차이）:\n// - 원본（radix）은 웹 구형 호환을 위해 패딩 핵으로 비율을 만들었다. 브리지 계약의\n//   aspectRatio는 숫자 값이 웹 DOM（단위 없는 비율）·RN（원시 프로퍼티） 양쪽에\n//   유효해 style 지정으로 대체한다（정적 스타일이 아닌 사용자 지정 비율 값이므로\n//   className 원칙의 동적 값 예외에 해당）.\n// - 원본의 overflow hidden은 className（overflow-hidden）으로 유지.\nimport { forwardRef } from \"react\";\nimport {\n  View,\n  type BridgeViewRef,\n  type ViewProps,\n} from \"@unikit-bridge/ui/primitives\";\n\nimport { cn } from \"@/lib/utils\";\n\nexport type AspectRatioProps = ViewProps & {\n  /** 가로세로 비율（가로 ÷ 세로, 기본 1 — 정사각형） */\n  ratio?: number;\n};\n\nconst AspectRatio = forwardRef<BridgeViewRef, AspectRatioProps>(\n  ({ ratio = 1, className, style, children, ...props }, ref) => (\n    <View\n      ref={ref}\n      className={cn(\"overflow-hidden\", className)}\n      // 사용자 style이 있으면 병합 — 비율은 컴포넌트 계약값이 우선한다.\n      style={{ ...style, aspectRatio: ratio }}\n      {...props}\n    >\n      {children}\n    </View>\n  ),\n);\nAspectRatio.displayName = \"AspectRatio\";\n\nexport { AspectRatio };\n",
      "type": "registry:ui",
      "target": "components/unikit/aspect-ratio.tsx"
    }
  ],
  "type": "registry:ui"
}
