import type { ButtonHTMLAttributes } from 'react';
import { cn } from '@/lib/utils';
const VARIANT = {
DEFAULT: 'default',
OUTLINE: 'outline',
GHOST: 'ghost',
} as const;
type Variant = (typeof VARIANT)[keyof typeof VARIANT];
const SIZE = {
DEFAULT: 'default',
SM: 'sm',
LG: 'lg',
} as const;
type Size = (typeof SIZE)[keyof typeof SIZE];
const variantStyles: Record = {
default: 'bg-primary text-primary-foreground shadow-sm hover:bg-primary/90',
outline:
'border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground',
ghost: 'hover:bg-accent hover:text-accent-foreground',
};
const sizeStyles: Record = {
default: 'h-9 px-4 py-2',
sm: 'h-8 px-3 text-xs',
lg: 'h-10 px-6',
};
interface ButtonProps extends ButtonHTMLAttributes {
variant?: Variant;
size?: Size;
}
export function Button({
className,
variant = VARIANT.DEFAULT,
size = SIZE.DEFAULT,
...props
}: ButtonProps) {
return (
);
}