import * as React from "react"; export interface ButtonProps extends React.ButtonHTMLAttributes { variant?: "default" | "outline" | "ghost" | "link"; size?: "default" | "sm" | "lg"; asChild?: boolean; } const Button = React.forwardRef( ({ className = "", variant = "default", size = "default", ...props }, ref) => { const base = "inline-flex items-center justify-center whitespace-nowrap rounded-lg font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"; const variants = { default: "bg-neutral-900 text-white hover:bg-neutral-800 focus-visible:ring-neutral-900", outline: "border border-neutral-200 bg-transparent hover:bg-neutral-50 focus-visible:ring-neutral-400", ghost: "hover:bg-neutral-100 focus-visible:ring-neutral-400", link: "text-neutral-900 underline-offset-4 hover:underline focus-visible:ring-neutral-400", }; const sizes = { default: "h-10 px-4 py-2 text-sm", sm: "h-8 px-3 text-xs", lg: "h-12 px-6 text-base", }; return (