import React from 'react'; import { Loader2 } from 'lucide-react'; type ButtonVariant = 'primary' | 'secondary' | 'danger'; interface ButtonProps extends React.ButtonHTMLAttributes { variant?: ButtonVariant; loading?: boolean; children: React.ReactNode; } const variantClasses: Record = { primary: 'bg-blue-600 text-white hover:bg-blue-700 focus:ring-blue-500', secondary: 'bg-gray-200 text-gray-800 hover:bg-gray-300 focus:ring-gray-400', danger: 'bg-red-600 text-white hover:bg-red-700 focus:ring-red-500', }; export default function Button({ variant = 'primary', loading = false, disabled, children, className = '', ...props }: ButtonProps) { const isDisabled = disabled || loading; return ( ); }