import { forwardRef, type ButtonHTMLAttributes } from 'react'
export type ButtonVariant = 'primary' | 'secondary' | 'ghost'
export type ButtonSize = 'default' | 'lg'
export interface ButtonProps extends ButtonHTMLAttributes {
variant?: ButtonVariant
size?: ButtonSize
}
const variantClasses: Record = {
primary:
'bg-primary text-primary-foreground font-mono font-bold tracking-[0.4px] hover:brightness-95 active:brightness-90',
secondary:
'border border-border bg-card text-foreground font-sans font-medium hover:bg-muted',
ghost: 'bg-transparent text-foreground hover:bg-muted',
}
const sizeClasses: Record = {
default: 'h-9 gap-2 rounded-field px-4 text-sm',
lg: 'h-12 gap-[9px] rounded-field px-6 text-sm',
}
/** Business-free UI kit primitive: no domain logic, no store, no requests. */
export const Button = forwardRef(function Button(
{ variant = 'primary', size = 'default', className = '', type = 'button', ...props },
ref,
) {
return (
)
})