import { ButtonHTMLAttributes, forwardRef, ReactNode } from "react"; import { cn } from "@/utils/cn"; /** * Unified Button Component * * Only two variants: * - primary: Orange/heat color for primary actions * - secondary: Grey for secondary actions * * @example * // Primary button (orange) * * * // Secondary button (grey) - default * * * // With icon * */ interface ButtonProps extends ButtonHTMLAttributes { variant?: "primary" | "secondary"; size?: "default" | "large"; isLoading?: boolean; loadingLabel?: string; children: ReactNode; } const Button = forwardRef( ( { variant = "secondary", size = "large", isLoading = false, loadingLabel = "Loading…", disabled, className, children, ...props }, ref ) => { const isNonInteractive = Boolean(disabled || isLoading); return ( ); } ); Button.displayName = "Button"; export default Button; export { Button, type ButtonProps };