{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "skeleton",
  "title": "Skeleton",
  "description": "Used to show a placeholder while content is loading",
  "dependencies": [],
  "registryDependencies": [
    "@boldkit/utils",
    "@boldkit/motion"
  ],
  "files": [
    {
      "path": "registry/default/ui/skeleton.tsx",
      "content": "/* eslint-disable react-refresh/only-export-components */\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '@/lib/utils'\n\nconst skeletonVariants = cva('bg-muted border-2 border-foreground/20', {\n  variants: {\n    variant: {\n      /** Soft opacity breathe. The pre-v3.5 default. */\n      pulse: 'animate-pulse',\n      /** Hard on/off — no interpolated fade. */\n      stamp: 'bk-skeleton-stamp',\n      /** Marching cells on a stepped loop. */\n      blocks: 'bk-skeleton-blocks',\n      /** A hard bar sweeping across the block. */\n      scan: 'bk-skeleton-scan',\n      /** No motion at all. */\n      none: '',\n    },\n  },\n  defaultVariants: {\n    variant: 'pulse',\n  },\n})\n\nexport interface SkeletonProps\n  extends React.HTMLAttributes<HTMLDivElement>,\n    VariantProps<typeof skeletonVariants> {}\n\nfunction Skeleton({ className, variant, ...props }: SkeletonProps) {\n  return (\n    <div\n      // ponytail: decorative placeholder — hidden from AT. Announce loading on\n      // the container instead (aria-busy / role=\"status\"), not per-skeleton.\n      aria-hidden=\"true\"\n      className={cn(skeletonVariants({ variant }), className)}\n      {...props}\n    />\n  )\n}\n\nexport { Skeleton, skeletonVariants }\n",
      "type": "registry:ui",
      "target": "components/ui/skeleton.tsx"
    }
  ],
  "type": "registry:ui"
}