{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "skeleton",
  "title": "Skeleton",
  "description": "로딩 자리표시 블록 — web:animate-pulse(웹 전용 펄스, 네이티브는 정적 — uniwind 애니메이션 미보증).",
  "dependencies": [
    "@unikit-bridge/ui",
    "class-variance-authority",
    "clsx",
    "tailwind-merge",
    "tailwindcss"
  ],
  "registryDependencies": [
    "utils"
  ],
  "files": [
    {
      "path": "registry/ui/skeleton.tsx",
      "content": "// Skeleton — shadcn/ui new-york-v4 skeleton 포팅（shadcn-ref/ui/skeleton.tsx）.\n// 포팅 판단:\n// - 원본은 단일 <div className=\"animate-pulse rounded-md bg-accent\"> — 브리지 View\n//   하나로 대응되며 자식 텍스트가 없어 이중 지정 대상도 없다（className 병합만）.\n// - animate-pulse는 web: 접두 — 웹은 CSS keyframes가 맥동을 담당하고 네이티브는\n//   uniwind가 keyframes를 구동 못 해 브리지 LoopPulse（RN Animated useNativeDriver\n//   — CSS animate-pulse와 같은 2s·50% opacity .5·베지어）로 같은 맥동을 구동한다.\nimport { forwardRef } from \"react\";\nimport {\n  LoopPulse,\n  View,\n  type BridgeViewRef,\n  type ViewProps,\n} from \"@unikit-bridge/ui/primitives\";\nimport { cva } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\n\n// dark: 변형 금지 원칙 — 다크 배경은 accent 토큰 값 전환으로 처리한다.\n// （사이클 71 G3: 다크 한정 배경 변형 제거 — 원본 skeleton은 dark: 클래스가 없다）\nconst skeletonVariants = cva(\n  \"rounded-md bg-accent web:animate-pulse\",\n);\n\nexport type SkeletonProps = ViewProps;\n\nconst Skeleton = forwardRef<BridgeViewRef, SkeletonProps>(\n  ({ className, ...props }, ref) => (\n    <LoopPulse>\n      <View\n        ref={ref}\n        className={cn(skeletonVariants(), className)}\n        {...props}\n      />\n    </LoopPulse>\n  ),\n);\nSkeleton.displayName = \"Skeleton\";\n\nexport { Skeleton, skeletonVariants };\n",
      "type": "registry:ui",
      "target": "components/unikit/skeleton.tsx"
    }
  ],
  "type": "registry:ui"
}
