@appello/web-ui
Version:
Web ui library for a better development experience
37 lines (36 loc) • 1.12 kB
TypeScript
import './styles.scss';
import React from 'react';
import { IconName } from '../../../components/common/Icon';
export declare enum ButtonVariant {
PRIMARY = "primary",
SECONDARY = "secondary",
NEGATIVE = "negative"
}
export declare enum ButtonSize {
SMALL = "small",
MEDIUM = "medium",
LARGE = "large"
}
type DynamicClassesFn = Pick<ButtonProps, 'variant' | 'disabled' | 'isLoading' | 'rounded' | 'size'>;
export interface ButtonProps {
variant?: ButtonVariant;
label?: string;
isLoading?: boolean;
className?: string;
size?: ButtonSize;
onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
type?: React.ButtonHTMLAttributes<HTMLButtonElement>['type'];
withIcon?: IconName;
iconClassName?: string;
children?: React.ReactNode;
disabled?: boolean;
iconAfter?: boolean;
rounded?: boolean;
bold?: boolean;
count?: number;
fullWidth?: boolean;
buttonClassesFn?: (props: DynamicClassesFn) => string;
loaderClassesFn?: (props: DynamicClassesFn) => string;
}
export declare const Button: React.FC<ButtonProps>;
export {};