{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "spinner", "type": "registry:ui", "title": "Spinner", "description": "A customizable spinner component", "dependencies": [ "tailwind-variants", "tailwind-merge", "@base-ui/react", "clsx" ], "registryDependencies": [ "classes" ], "files": [ { "path": "src/registry/pure-ui/ui/spinner/index.tsx", "content": "\"use client\";\r\n\r\nimport { SVGProps } from \"react\";\r\nimport { tv, type VariantProps } from \"tailwind-variants\";\r\nimport { cn } from \"@/lib/classes\";\r\n\r\ninterface SpinnerPrimitiveProps extends SVGProps {}\r\n\r\nfunction SpinnerPrimitive({ className, ...props }: SpinnerPrimitiveProps) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst spinnerVariants = tv({\r\n base: `pointer-events-none relative size-6 inline-block animate-spin animation-duration-[0.75s] text-current`,\r\n variants: {\r\n size: {\r\n sm: `size-4`,\r\n md: `size-6`,\r\n lg: `size-8`,\r\n xl: `size-10`,\r\n },\r\n },\r\n defaultVariants: {\r\n size: `md`,\r\n },\r\n});\r\n\r\ninterface SpinnerRootProps\r\n extends Omit, \"display\" | \"opacity\" | \"color\">,\r\n VariantProps {}\r\n\r\nfunction Spinner({ size = \"md\", ...props }: SpinnerRootProps) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport { Spinner };\r\n", "type": "registry:ui", "target": "components/ui/spinner.tsx" } ] }