import * as React from 'react'; import { cva } from 'class-variance-authority'; import { Loader } from 'lucide-react'; import { cn } from '../lib/utils'; const spinnerVariants = cva('text-muted-foreground animate-spin', { variants: { size: { default: 'h-6 w-6', sm: 'h-4 w-4', lg: 'h-8 w-8', }, }, defaultVariants: { size: 'default', }, }); type SpinnerSize = 'default' | 'sm' | 'lg'; export interface SpinnerProps extends Omit, 'size'> { size?: SpinnerSize; } const Spinner = React.forwardRef( ({ className, size = 'default', ...props }, ref) => { return ; }, ); Spinner.displayName = 'Spinner'; export interface SpinnerBoxProps extends React.HTMLAttributes { spinnerProps?: SpinnerProps; } const SpinnerBox = React.forwardRef( ({ className, spinnerProps, ...props }, ref) => { return (
); }, ); SpinnerBox.displayName = 'SpinnerBox'; export { Spinner, SpinnerBox, spinnerVariants };