@blockstack/ui
Version:
Blockstack UI components built using React and styled-components with styled-system.
32 lines (31 loc) • 1.07 kB
TypeScript
import * as React from 'react';
import { BoxProps } from '../box';
export declare type ButtonSizes = 'sm' | 'md' | 'lg';
export declare type ButtonColorVariants = string;
export declare type ButtonVariants = 'outline' | 'unstyled' | 'link' | 'solid';
export declare type ButtonModes = 'primary' | 'secondary' | 'tertiary';
export declare type CustomStyles = {
[key in ButtonModes]: BoxProps;
};
interface ButtonPropsBase {
size?: ButtonSizes;
isLoading?: boolean;
variantColor?: ButtonColorVariants;
variant?: ButtonVariants;
mode?: ButtonModes;
customStyles?: CustomStyles;
isActive?: boolean;
isDisabled?: boolean;
loadingText?: string;
isFullWidth?: boolean;
type?: 'button' | 'reset' | 'submit';
children: React.ReactNode;
}
export interface ButtonStyles {
variant: ButtonVariants;
mode: ButtonModes;
size: ButtonSizes;
customStyles?: CustomStyles;
}
export declare type ButtonProps = ButtonPropsBase & BoxProps & React.RefAttributes<HTMLButtonElement>;
export {};