{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "spinner",
  "title": "Spinner",
  "description": "Displays a loading indicator.",
  "dependencies": [
    "cn@^0.5.2",
    "lucide-react@^1.41.0"
  ],
  "registryDependencies": [
    "https://sevenui.dev/r/sevenui-tokens.json"
  ],
  "files": [
    {
      "path": "registry/base/ui/spinner.tsx",
      "content": "import { cn } from \"cn\";\nimport { Loader2Icon } from \"lucide-react\";\n\nfunction Spinner({ className, ...props }: React.ComponentProps<\"svg\">) {\n  return (\n    <Loader2Icon\n      data-slot=\"spinner\"\n      role=\"status\"\n      aria-label=\"Loading\"\n      // Muted on its own, but it takes the text colour of a button or badge\n      // it sits in. Reduced motion slows the spin instead of freezing it, so\n      // the status still reads as in progress.\n      className={cn(\n        \"size-4 animate-spin text-muted-foreground in-data-[slot=badge]:text-current in-data-[slot=button]:text-current motion-reduce:animate-[spin_2.5s_linear_infinite]\",\n        className,\n      )}\n      {...props}\n    />\n  );\n}\n\nexport { Spinner };\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}