import React from 'react'; import { IconType } from 'react-icons/lib/esm'; export type ButtonColor = 'primary' | 'secondary' | 'success' | 'warning' | 'danger'; export type ButtonJustifyContent = 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly'; export interface ButtonProps extends React.ComponentPropsWithRef<'button'> { color?: ButtonColor; size?: 'sm' | 'md' | 'lg'; /** Controls button variant */ variant?: 'solid' | 'outline' | 'ghost' | 'link'; isLoading?: boolean; loadingText?: string; fullWidth?: boolean; href?: string; justify?: ButtonJustifyContent; IconLeft?: IconType | React.FunctionComponent>; IconRight?: IconType | React.FunctionComponent>; }