import * as React from "react"; import styles from "./Button.module.scss"; import classNames from "classnames"; import { Typography } from "../Typography/Typography"; import { Ripple } from "../Ripple"; export type ButtonVariant = "primary" | "secondary"; export type ButtonSize = "small" | "medium" | "large"; export type ButtonType = "button" | "submit" | "reset"; export interface ButtonProps extends React.ComponentPropsWithoutRef<"button"> { children: string; disabled?: boolean; leadingIcon?: React.ReactNode; onClick?: () => void; size?: ButtonSize; trailingIcon?: React.ReactNode; type?: ButtonType; variant?: ButtonVariant; } export const Button = React.forwardRef< HTMLButtonElement, ButtonProps >((props, ref) => { const { className, children, disabled = false, leadingIcon, onClick, size = "medium", trailingIcon, type, variant = "primary", ...rest } = props; return ( ); }); Button.displayName = "Button";