UNPKG

@legion-rnd/react-core

Version:

29 lines (25 loc) 1.2 kB
import React, { PropsWithChildren, HTMLProps, ButtonHTMLAttributes } from 'react'; type TButtonColor = 'primary' | 'secondary' | 'tertiary' | 'success' | 'warning' | 'error' | 'information'; type TButtonSize = 'sm' | 'md' | 'lg'; type TButtonVariant = 'solid' | 'soft' | 'outline' | 'transparent'; type TLoadingIconPosition = 'left' | 'right'; type TButtonProps = PropsWithChildren<{ /** Set the Button to have a full width */ block?: boolean; /** Set the Button's color */ color?: TButtonColor; /** Set the Button's disabled state */ disabled?: boolean; /** Set the Button's loading state */ isLoading?: boolean; /** Set the Button's loading icon positing according to the loading text */ loadingIconPosition?: TLoadingIconPosition; /** Set the Button's text on loading state. It will be shown when the `isLoading` is `true` */ loadingText?: string; /** Set the Button's size */ size?: TButtonSize; /** Set the Button's variant */ variant?: TButtonVariant; }> & Omit<HTMLProps<HTMLButtonElement>, 'size'> & ButtonHTMLAttributes<HTMLButtonElement>; declare const Button: (props: TButtonProps) => React.JSX.Element; export { Button };