{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "skeleton",
  "title": "Skeleton",
  "description": "Decorative placeholder (a fade, so it stays under reduced motion).",
  "registryDependencies": [
    "https://sproutboat.com/ikada/r/theme.json",
    "https://sproutboat.com/ikada/r/cn.json"
  ],
  "files": [
    {
      "path": "registry/ikada/ui/skeleton.tsx",
      "content": "\"use client\";\n\nimport type { ComponentProps } from \"react\";\nimport { tv } from \"@/components/ikada/lib/cn\";\nimport type { VariantProps } from \"@/components/ikada/lib/cn\";\n\nconst skeletonStyles = tv({\n  // A slow breath, not a sweep; siblings start 120ms apart so a block of lines swells top to bottom.\n  base: [\n    \"block bg-hover animate-[sb-breathe_1.6s_ease-in-out_infinite]\",\n    \"[&:nth-child(2)]:[animation-delay:120ms] [&:nth-child(3)]:[animation-delay:240ms] [&:nth-child(4)]:[animation-delay:360ms] [&:nth-child(n+5)]:[animation-delay:480ms]\",\n  ],\n  variants: {\n    variant: {\n      line: \"h-3.5 w-full rounded-sm\",\n      block: \"h-20 w-full rounded-lg\",\n      circle: \"size-8 rounded-full\",\n    },\n  },\n  defaultVariants: { variant: \"line\" },\n});\n\nexport interface SkeletonProps extends Omit<ComponentProps<\"span\">, \"children\">, VariantProps<typeof skeletonStyles> {\n  /** @deprecated Use `variant`; removed in 0.3.0. */\n  kind?: \"line\" | \"block\" | \"circle\";\n}\n\n/** Decorative placeholder (a fade, so it stays under reduced motion). Give the loading region `aria-busy`. */\nexport function Skeleton({ variant, kind, className, ref, ...props }: SkeletonProps) {\n  return (\n    <span\n      data-slot=\"skeleton\"\n      ref={ref}\n      aria-hidden=\"true\"\n      className={skeletonStyles({ variant: variant ?? kind, className })}\n      {...props}\n    />\n  );\n}\n",
      "type": "registry:ui",
      "target": "@components/ikada/skeleton.tsx"
    }
  ],
  "categories": [
    "feedback"
  ],
  "type": "registry:ui"
}