import { ButtonHTMLAttributes } from 'react';
import { Color } from '../../themes/types';
export declare namespace ButtonComponent {
type Props = {
label?: string;
buttontype?: ButtonType;
onClick?: (event: React.MouseEvent) => void;
disabled?: boolean;
icon?: React.ReactNode;
variant?: ButtonVariant;
secondary?: boolean;
fullWidth?: boolean;
cursor?: string;
leftIcon?: React.ReactNode;
rightIcon?: React.ReactNode;
buttonElementProps?: ButtonHTMLAttributes;
isSplitButton?: boolean;
};
enum Variant {
outline = "outline",
filled = "filled",
filter = "filter",
ghost = "ghost",
ghostSecondary = "ghostSecondary"
}
type ButtonVariant = keyof typeof Variant;
type ButtonWrapper = {
buttontype?: ButtonType;
disabled?: boolean;
cursor?: string;
variant?: ButtonVariant;
secondary?: boolean;
fullWidth?: boolean;
label: string;
rightIcon: React.ReactNode;
leftIcon: React.ReactNode;
isSplitButton?: boolean;
};
enum ButtonEnum {
primary = 0,
secondary = 1,
error = 2,
success = 3
}
type ButtonColor = {
backgroundColor: string;
borderColor: string;
textColor: string;
focusColor: string;
hoverColor: string;
disabledBackgroundColor: string;
disabledTextColor: string;
disabledBorderColor: string;
disabledOutlineTextColor: string;
disabledOutlineBorderColor: string;
outlineHoverColor: string;
outlineTextColor: string;
outlineBorderColor: string;
outlineFocusColor: string;
};
type FilterButtonColor = ButtonColor & {
hoverTextColor: string;
hoverBorderColor: string;
};
type ButtonColors = {
primary: ButtonColor;
secondary: ButtonColor;
error: ButtonColor;
success: ButtonColor;
filter: FilterButtonColor;
ghost: ButtonColor;
ghostSecondary: ButtonColor;
};
type ButtonType = keyof typeof ButtonEnum;
type SwitchButtonStyles = {
disabled?: boolean;
theme: Color;
buttontype?: ButtonType;
variant?: ButtonVariant;
};
}