{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "skeleton",
  "title": "Skeleton",
  "description": "A skeleton placeholder component with shape variants.",
  "dependencies": [
    "class-variance-authority"
  ],
  "registryDependencies": [
    "https://ui.ask.mir-ai.it/r/utils.json"
  ],
  "files": [
    {
      "path": "src/registry/ask-ui/components/ui/skeleton/skeleton.tsx",
      "content": "import { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/registry/ask-ui/lib/utils\";\n\nconst skeletonVariants = cva(\"rounded-md bg-muted motion-safe:animate-pulse\", {\n  variants: {\n    shape: {\n      rect: \"w-full\",\n      text: \"w-full\",\n      circle: \"rounded-full\",\n    },\n    size: {\n      sm: \"\",\n      default: \"\",\n      lg: \"\",\n    },\n  },\n  compoundVariants: [\n    { shape: \"rect\", size: \"sm\", className: \"h-8\" },\n    { shape: \"rect\", size: \"default\", className: \"h-12\" },\n    { shape: \"rect\", size: \"lg\", className: \"h-16\" },\n    { shape: \"text\", size: \"sm\", className: \"h-3\" },\n    { shape: \"text\", size: \"default\", className: \"h-4\" },\n    { shape: \"text\", size: \"lg\", className: \"h-5\" },\n    // Circle sizes match the Avatar size scale, so a circle skeleton can\n    // stand in for an Avatar of the same size prop.\n    { shape: \"circle\", size: \"sm\", className: \"size-6\" },\n    { shape: \"circle\", size: \"default\", className: \"size-8\" },\n    { shape: \"circle\", size: \"lg\", className: \"size-10\" },\n  ],\n  defaultVariants: {\n    shape: \"rect\",\n    size: \"default\",\n  },\n});\n\n/**\n * A skeleton placeholder used to indicate loading content, with shape variants\n * for the most common cases (block, text line, circle) and a size scale.\n * Hidden from assistive technology by default.\n */\nfunction Skeleton({\n  className,\n  shape = \"rect\",\n  size = \"default\",\n  ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof skeletonVariants>) {\n  return (\n    <div\n      data-slot=\"skeleton\"\n      aria-hidden=\"true\"\n      className={cn(skeletonVariants({ shape, size, className }))}\n      {...props}\n    />\n  );\n}\n\nexport { Skeleton };\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}