import { ComponentPropsWithoutRef, ElementType } from 'react' import { clsx } from 'clsx' import s from './button.module.scss' export const buttonVariant = ['icon', 'link', 'primary', 'secondary', 'tertiary'] as const export type ButtonVariant = (typeof buttonVariant)[number] export type ButtonProps = { as?: T fullWidth?: boolean variant?: ButtonVariant } & ComponentPropsWithoutRef export const Button = (props: ButtonProps) => { const { as: Component = 'button', className, fullWidth, variant = 'primary', ...rest } = props const classNames = clsx(s.button, s[variant], fullWidth && s.fullWidth, className) return }