import { CSSProperties } from 'react' import clsx from 'clsx' interface ButtonProps { label?: string onClick?: () => void variant?: 'primary' | 'secondary' | 'ghost' | 'outline' icon?: React.ReactNode className?: string style?: CSSProperties disabled?: boolean ref?: React.ForwardedRef } export const Button = ({ label, onClick, variant = 'primary', icon, className, style, disabled, ref, ...props }: ButtonProps) => { const variantCls = { primary: 'text-white bg-primary xs:hover:opacity-75', secondary: 'text-black dark:text-white bg-zinc-100 dark:bg-white/10 xs:hover:opacity-75', ghost: 'text-black dark:text-gray-200 hover:bg-zinc-100 dark:hover:bg-white/10 xs:hover:opacity-75', outline: 'text-black dark:text-white bg-white dark:bg-midnight-slate border-2 border-zinc-400 disabled:hover:border-zinc-400 sm:hover:border-primary dark:sm:hover:border-white dark:disabled:hover:border-zinc-400', }[variant] return ( ) }