import { type ButtonHTMLAttributes, forwardRef } from 'react'
export type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger'
export type ButtonSize = 'default' | 'lg'
export interface ButtonProps extends ButtonHTMLAttributes {
variant?: ButtonVariant
size?: ButtonSize
}
const variantClasses: Record = {
primary: 'btn btn-primary font-mono font-bold tracking-[0.4px]',
secondary: 'btn btn-outline border-border bg-card text-foreground font-sans font-medium hover:bg-muted',
ghost: 'btn btn-ghost text-foreground',
danger: 'btn btn-error bg-[#f23f43] text-white hover:bg-[#d9363a]',
}
const sizeClasses: Record = {
default: 'btn-sm h-9 gap-2 rounded-field px-4 text-sm',
lg: 'btn-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 (
)
})