{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "spinner",
  "type": "registry:ui",
  "title": "Spinner",
  "description": "Standalone loading indicator in five sizes.",
  "dependencies": [
    "class-variance-authority",
    "lucide-react"
  ],
  "devDependencies": [],
  "registryDependencies": [
    "https://8848.aayurtshrestha.com.np/r/utils.json"
  ],
  "files": [
    {
      "path": "spinner.tsx",
      "content": "\"use client\";\n\nimport * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"@/lib/utils\";\nimport { LoaderCircle } from \"lucide-react\";\n\nconst spinnerVariants = cva(\"animate-spin\", {\n  variants: {\n    size: {\n      xs: \"h-3 w-3\",\n      sm: \"h-4 w-4\",\n      md: \"h-6 w-6\",\n      lg: \"h-8 w-8\",\n      xl: \"h-10 w-10\",\n    },\n    tone: {\n      inherit: \"text-current\",\n      alpine: \"text-alpine-500 dark:text-alpine-400\",\n      slate: \"text-slate-400 dark:text-slate-500\",\n      white: \"text-white\",\n    },\n  },\n  defaultVariants: {\n    size: \"md\",\n    tone: \"alpine\",\n  },\n});\n\nexport interface SpinnerProps\n  extends Omit<React.HTMLAttributes<HTMLSpanElement>, \"children\">,\n    VariantProps<typeof spinnerVariants> {\n  label?: string;\n}\n\nconst Spinner = React.forwardRef<HTMLSpanElement, SpinnerProps>(\n  ({ className, size, tone, label = \"Loading\", ...props }, ref) => (\n    <span\n      ref={ref}\n      role=\"status\"\n      aria-label={label}\n      className={cn(\"inline-flex shrink-0 items-center justify-center\", className)}\n      {...props}\n    >\n      <LoaderCircle aria-hidden=\"true\" className={cn(spinnerVariants({ size, tone }))} />\n    </span>\n  )\n);\nSpinner.displayName = \"Spinner\";\n\nexport { Spinner, spinnerVariants };\nexport type { SpinnerProps as SpinnerPropsType };\n",
      "type": "registry:ui",
      "target": "components/ui/spinner.tsx"
    }
  ]
}
