import { ButtonHTMLAttributes, ReactNode } from "react"; type ButtonVariant = "primary" | "secondary" | "danger" | "warning" | "ghost"; interface ButtonProps extends ButtonHTMLAttributes { children: ReactNode; variant?: ButtonVariant; size?: "sm" | "md" | "lg"; } const variantStyles: Record = { primary: "bg-primary text-white hover:bg-primary/90", secondary: "border border-line text-muted hover:bg-muted/5", danger: "bg-error text-white hover:bg-error/90", warning: "bg-warning text-white hover:bg-warning/90", ghost: "text-muted hover:text-foreground hover:bg-muted/5", }; const sizeStyles: Record = { sm: "h-8 px-3 text-xs", md: "h-10 px-4 text-sm", lg: "h-12 px-6 text-base", }; export function Button({ children, variant = "primary", size = "md", className = "", disabled, ...props }: ButtonProps) { return ( ); }