import React from 'react'; interface ButtonProps { children: React.ReactNode; onClick?: () => void; variant?: 'primary' | 'secondary' | 'danger'; size?: 'sm' | 'md' | 'lg'; loading?: boolean; disabled?: boolean; type?: 'button' | 'submit' | 'reset'; fullWidth?: boolean; } export function Button({ children, onClick, variant = 'primary', size = 'md', loading = false, disabled = false, type = 'button', fullWidth = false, }: ButtonProps) { const variantStyles = { primary: { background: 'var(--color-accent-primary)', color: 'white', hover: 'var(--color-accent-hover)', }, secondary: { background: 'var(--color-background-tertiary)', color: 'var(--color-text-primary)', hover: 'var(--color-border-primary)', }, danger: { background: 'var(--color-error)', color: 'white', hover: '#dc2626', }, }; const sizeStyles = { sm: { padding: 'var(--spacing-2) var(--spacing-3)', fontSize: 'var(--font-size-sm)', }, md: { padding: 'var(--spacing-3) var(--spacing-5)', fontSize: 'var(--font-size-base)', }, lg: { padding: 'var(--spacing-4) var(--spacing-6)', fontSize: 'var(--font-size-lg)', }, }; const style = variantStyles[variant]; const sizing = sizeStyles[size]; return ( ); }