import { Loader2 } from "lucide-react"; import type { ButtonHTMLAttributes, ReactNode } from "react"; export type ButtonVariant = "primary" | "secondary" | "danger"; export type ButtonProps = { variant?: ButtonVariant; loading?: boolean; icon?: ReactNode; } & ButtonHTMLAttributes; const BUTTON_VARIANT_CLASSES: Record = { primary: "primary-button", secondary: "secondary-button", danger: "danger-button", }; export function Button({ variant = "primary", loading = false, icon, className, children, disabled, type = "button", ...rest }: ButtonProps) { const classes = [BUTTON_VARIANT_CLASSES[variant], className].filter(Boolean).join(" "); return ( ); }