25 lines
487 B
TypeScript
25 lines
487 B
TypeScript
import { cn } from "@/lib/utils";
|
|
|
|
interface SpinnerProps {
|
|
className?: string;
|
|
size?: "sm" | "md" | "lg";
|
|
}
|
|
|
|
const sizeMap = {
|
|
sm: "h-4 w-4 border-2",
|
|
md: "h-6 w-6 border-2",
|
|
lg: "h-8 w-8 border-3",
|
|
};
|
|
|
|
export function Spinner({ className, size = "md" }: SpinnerProps) {
|
|
return (
|
|
<span
|
|
className={cn(
|
|
"inline-block rounded-full border-[var(--muted)] border-t-[var(--primary)] animate-spin",
|
|
sizeMap[size],
|
|
className,
|
|
)}
|
|
/>
|
|
);
|
|
}
|