hydropd / website /src /components /Button.tsx
rikardsaqe's picture
Deploy HydroPD container (30 usable models, fixed README)
27124e1 verified
Raw
History Blame Contribute Delete
582 Bytes
import type { ButtonHTMLAttributes, ReactNode } from 'react'
interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
variant?: 'primary' | 'secondary' | 'ghost'
size?: 'md' | 'sm'
children: ReactNode
}
export default function Button({
variant = 'primary',
size = 'md',
className,
children,
...rest
}: ButtonProps) {
const cls = [
'btn',
`btn-${variant}`,
size === 'sm' ? 'btn-sm' : '',
className ?? '',
]
.filter(Boolean)
.join(' ')
return (
<button className={cls} {...rest}>
{children}
</button>
)
}