{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "skeleton",
  "type": "registry:ui",
  "title": "Skeleton",
  "description": "A placeholder block for content that is loading. Size it with className, e.g. `h-4 w-32`.",
  "registryDependencies": [
    "https://junco.madebytobi.com/r/junco-theme.json",
    "https://junco.madebytobi.com/r/utils.json"
  ],
  "files": [
    {
      "path": "registry/junco/ui/skeleton.tsx",
      "type": "registry:ui",
      "content": "import * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n  /** When true, renders `children` instead of the placeholder. */\n  isLoaded?: boolean;\n}\n\n/** A placeholder block for content that is loading. Size it with className, e.g. `h-4 w-32`. */\nexport const Skeleton = React.forwardRef<HTMLDivElement, SkeletonProps>(\n  ({ className, isLoaded = false, children, ...props }, ref) => {\n    if (isLoaded) return <>{children}</>;\n    return (\n      <div\n        ref={ref}\n        aria-hidden\n        data-slot=\"skeleton\"\n        className={cn(\"animate-skeleton rounded-control bg-muted\", className)}\n        {...props}\n      />\n    );\n  },\n);\nSkeleton.displayName = \"Skeleton\";\n"
    }
  ],
  "docs": "Docs and examples: https://junco.madebytobi.com/docs/components/skeleton",
  "meta": {
    "hash": "41bca8e8a796bce0",
    "source": "packages/react/src/components/skeleton.tsx",
    "exports": [
      "SkeletonProps",
      "Skeleton"
    ],
    "props": {
      "Skeleton": {
        "extends": "React.HTMLAttributes<HTMLDivElement>",
        "props": [
          {
            "name": "isLoaded",
            "optional": true,
            "type": "boolean",
            "description": "When true, renders `children` instead of the placeholder."
          }
        ]
      }
    },
    "docsUrl": "https://junco.madebytobi.com/docs/components/skeleton"
  }
}
