{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "skeleton",
  "type": "registry:ui",
  "title": "Skeleton",
  "description": "Motion-aware loading placeholder for text, avatars, and content blocks.",
  "dependencies": [
    "clsx",
    "tailwind-merge"
  ],
  "devDependencies": [],
  "registryDependencies": [],
  "files": [
    {
      "path": "components/ui/skeleton.tsx",
      "content": "import * as React from 'react'\nimport { cn } from '@/lib/utils'\n\nexport interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n  variant?: 'text' | 'circle' | 'rect'\n  loader?: 'pulse' | 'stripe' | 'shimmer'\n  /** Render as a one-line loading skeleton with icon block + text lines */\n  withHeader?: boolean\n  className?: string\n}\n\nexport const Skeleton = React.forwardRef<HTMLDivElement, SkeletonProps>(\n  ({ className, variant = 'rect', loader = 'pulse', withHeader = false, children, ...props }, ref) => {\n    if (withHeader) {\n      return (\n        <div\n          ref={ref}\n          aria-hidden=\"true\"\n          className={cn('flex w-full items-center gap-3 font-sans', className)}\n          {...props}\n        >\n          <div className=\"h-12 w-12 shrink-0 animate-pulse rounded-full bg-rk-canvas rk-border-sm\" />\n          <div className=\"flex-1 space-y-2\">\n            <div className=\"h-3.5 w-2/3 rounded-full bg-rk-canvas rk-border-sm\" />\n            <div className=\"h-3.5 w-full rounded-full bg-rk-canvas rk-border-sm\" />\n          </div>\n        </div>\n      )\n    }\n\n    return (\n      <div\n        ref={ref}\n        aria-hidden=\"true\"\n        className={cn(\n          'relative overflow-hidden rk-border-sm',\n          loader === 'pulse' && 'animate-pulse bg-rk-canvas',\n          loader === 'stripe' && 'rk-skeleton-stripe bg-rk-primary',\n          loader === 'shimmer' && 'rk-skeleton-shimmer bg-rk-mint',\n          variant === 'text' && 'h-4 rounded-full',\n          variant === 'circle' && 'aspect-square rounded-full',\n          variant === 'rect' && 'rounded-2xl',\n          className\n        )}\n        {...props}\n      />\n    )\n  }\n)\nSkeleton.displayName = 'Skeleton'\n",
      "type": "registry:ui",
      "target": "components/ui/skeleton.tsx"
    }
  ]
}