import type { ButtonHTMLAttributes, ReactNode } from 'react'; export interface ButtonProps extends ButtonHTMLAttributes { variant?: 'primary' | 'secondary' | 'ghost' | 'danger'; size?: 'sm' | 'md' | 'icon'; icon?: ReactNode; } export function Button({ variant = 'secondary', size = 'sm', icon, className = '', children, type = 'button', ...props }: ButtonProps) { const variants = { primary: 'border-transparent bg-accent text-white hover:bg-accent-hover', secondary: 'border-border bg-surface text-text-primary hover:bg-element-hover', ghost: 'border-transparent bg-transparent text-text-secondary hover:bg-element-hover hover:text-text-primary', danger: 'border-danger-border bg-danger-soft text-danger hover:bg-danger hover:text-white', }; const sizes = { sm: 'h-7 gap-1.5 rounded-md px-2 text-xs', md: 'h-8 gap-2 rounded-md px-3 text-sm', icon: 'h-7 w-7 rounded-md p-0', }; return ( ); }