import * as React from "react"; import type { FC, ReactNode, ButtonHTMLAttributes } from "react"; import styles from "./Button.module.scss"; type ButtonVariant = "primary" | "secondary" | "settings" | "github" | "support"; type ButtonSize = "small" | "medium" | "large"; interface ButtonProps extends ButtonHTMLAttributes { variant?: ButtonVariant; size?: ButtonSize; fullWidth?: boolean; children: ReactNode; } export const Button: FC = ({ variant = "primary", size = "medium", fullWidth = false, children, className, ...props }) => { const classNames = [ styles.button, styles[variant], styles[size], fullWidth && styles.fullWidth, className, ] .filter(Boolean) .join(" "); return ( ); };