import React, { ButtonHTMLAttributes, ReactNode } from 'react'; interface ButtonProps extends ButtonHTMLAttributes { variant?: 'primary' | 'secondary' | 'ghost' | 'danger' | 'success'; size?: 'sm' | 'md' | 'lg'; icon?: boolean; children: ReactNode; } export const Button: React.FC = ({ variant = 'primary', size = 'md', icon = false, className = '', children, ...props }) => { const baseClass = 'btn'; const variantClass = `btn-${variant}`; const sizeClass = size !== 'md' ? `btn-${size}` : ''; const iconClass = icon ? 'btn-icon' : ''; const classes = [ baseClass, variantClass, sizeClass, iconClass, className ].filter(Boolean).join(' '); return ( ); }; export default Button;