import type { ButtonHTMLAttributes, FunctionComponent, MouseEventHandler, PropsWithChildren } from "react"; import clsx from "clsx"; type Props = { variant: Variant; onClick?: MouseEventHandler; isDisabled?: boolean; type: ButtonHTMLAttributes["type"]; }; const Button: FunctionComponent> = ({ children, type, variant, onClick, isDisabled }) => { return ( ); }; export default Button; type Variant = "error" | "default"; type VariantStyle = { base: string; disabled: string; }; const VARIANTS_STYLES: Record = { error: { base: "bg-red-600 hover:bg-red-700 focus:ring-red-500", disabled: "bg-red-400 cursor-not-allowed focus:ring-red-500", }, default: { base: "bg-primary-600 hover:bg-primary-700 focus:ring-primary-500", disabled: "bg-primary-400 cursor-not-allowed focus:ring-primary-500", }, };