import { ButtonHTMLAttributes, AnchorHTMLAttributes, forwardRef } from 'react'; interface BaseButtonProps { variant?: 'default' | 'secondary'; children: React.ReactNode; className?: string; } type ButtonProps = BaseButtonProps & ButtonHTMLAttributes; type LinkProps = BaseButtonProps & AnchorHTMLAttributes & { href: string }; const getVariantClasses = (variant: 'default' | 'secondary' = 'default'): string => { const baseClass = 'h-full w-full px-2 py-1 font-medium transition duration-100 ease-in disabled:cursor-not-allowed disabled:opacity-50'; if (variant === 'secondary') { return `${baseClass} bg-content text-content-inverse shadow-md hover:bg-content-muted disabled:hover:bg-content`; } return `${baseClass} bg-primary-500 text-primary-foreground hover:bg-primary-700 disabled:hover:bg-primary-500`; }; export const Button = forwardRef( ({ variant = 'default', children, className = '', ...props }, ref) => { return ( ); } ); Button.displayName = 'Button'; export const ButtonLink = forwardRef( ({ variant = 'default', children, className = '', ...props }, ref) => { return ( {children} ); } ); ButtonLink.displayName = 'ButtonLink';