{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "card",
  "title": "Card",
  "description": "RN View/Text 기반 유니버설 카드 — Card/Header/Title/Description/Content/Footer 하위 컴포넌트 6종 export.",
  "dependencies": [
    "@unikit-bridge/ui",
    "class-variance-authority",
    "clsx",
    "tailwind-merge",
    "tailwindcss"
  ],
  "registryDependencies": [
    "utils"
  ],
  "files": [
    {
      "path": "registry/ui/card.tsx",
      "content": "// Card — shadcn/ui new-york-v4 card를 UniKit UI 유니버설로 이식. 하위 5종 포함 총 6종 export.\n// 포팅 판단:\n// - Card의 text-card-foreground는 §0.5（상속 차단）로 자식 Text에 닿지 않아 클래스에서\n//   제외 — 대신 CardTitle·Description 내부 Text에 전경색을 이중 지정한다.\n// - 원본 헤더의 @container·grid·has-data-[slot=card-action] 셀렉터는 네이티브에 없어\n//   flex-col items-start로 대응하고, [.border-b]:pb-6 조건 셀렉터는 미지원.\n// - CardAction（col-start-2 등 헤더 grid 셀 배치 전용）은 헤더 grid 없이는 동작하지\n//   않아 미이식 — 로드맵. 소비자는 헤더를 flex-row justify-between으로 조합해 대체.\n// - CardFooter의 [.border-t]:pt-6 조건 셀렉터도 미지원（간격 필요 시 소비자가 지정）.\n// - CardContent 안의 본문 텍스트는 사용처에서 색·폰트를 명시한다（§1.2 표기 규칙）.\nimport { forwardRef } from \"react\";\nimport {\n  Text,\n  View,\n  type BridgeTextRef,\n  type BridgeViewRef,\n  type TextProps,\n  type ViewProps,\n} from \"@unikit-bridge/ui/primitives\";\nimport { cva } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\n\n// 원본 뼈대: flex flex-col gap-6 ... py-6 — 세로 패딩은 루트, 가로 패딩(px-6)은\n// 헤더·콘텐츠·푸터가 담당하고 자식 사이 간격은 루트 gap-6가 낸다.\nconst cardVariants = cva(\n  \"flex flex-col gap-6 rounded-xl border border-border bg-card py-6\",\n);\nconst cardHeaderVariants = cva(\"flex flex-col items-start gap-2 px-6\");\n// 원본은 leading-none font-semibold뿐（크기 클래스 없음 — 상속 크기）. text-2xl·\n// tracking-tight는 구버전 표류로 제거했고, text-foreground만 이중 지정 추가분이다.\nconst cardTitleVariants = cva(\"font-sans text-foreground leading-none font-semibold\");\nconst cardDescriptionVariants = cva(\"font-sans text-sm text-muted-foreground\");\nconst cardContentVariants = cva(\"px-6\");\nconst cardFooterVariants = cva(\"flex flex-row items-center px-6\");\n\nexport type CardProps = ViewProps;\nexport type CardHeaderProps = ViewProps;\nexport type CardTitleProps = TextProps;\nexport type CardDescriptionProps = TextProps;\nexport type CardContentProps = ViewProps;\nexport type CardFooterProps = ViewProps;\n\nconst Card = forwardRef<BridgeViewRef, CardProps>(\n  ({ className, ...props }, ref) => (\n    <View\n      ref={ref}\n      className={cn(cardVariants(), className)}\n      {...props}\n    />\n  ),\n);\nCard.displayName = \"Card\";\n\nconst CardHeader = forwardRef<BridgeViewRef, CardHeaderProps>(\n  ({ className, ...props }, ref) => (\n    <View\n      ref={ref}\n      className={cn(cardHeaderVariants(), className)}\n      {...props}\n    />\n  ),\n);\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = forwardRef<BridgeTextRef, CardTitleProps>(\n  ({ className, ...props }, ref) => (\n    <Text\n      ref={ref}\n      className={cn(cardTitleVariants(), className)}\n      {...props}\n    />\n  ),\n);\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = forwardRef<BridgeTextRef, CardDescriptionProps>(\n  ({ className, ...props }, ref) => (\n    <Text\n      ref={ref}\n      className={cn(cardDescriptionVariants(), className)}\n      {...props}\n    />\n  ),\n);\nCardDescription.displayName = \"CardDescription\";\n\nconst CardContent = forwardRef<BridgeViewRef, CardContentProps>(\n  ({ className, ...props }, ref) => (\n    <View\n      ref={ref}\n      className={cn(cardContentVariants(), className)}\n      {...props}\n    />\n  ),\n);\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = forwardRef<BridgeViewRef, CardFooterProps>(\n  ({ className, ...props }, ref) => (\n    <View\n      ref={ref}\n      className={cn(cardFooterVariants(), className)}\n      {...props}\n    />\n  ),\n);\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n  Card,\n  CardHeader,\n  CardTitle,\n  CardDescription,\n  CardContent,\n  CardFooter,\n  cardVariants,\n  cardHeaderVariants,\n  cardTitleVariants,\n  cardDescriptionVariants,\n  cardContentVariants,\n  cardFooterVariants,\n};\n",
      "type": "registry:ui",
      "target": "components/unikit/card.tsx"
    }
  ],
  "type": "registry:ui"
}
