///
import { IntentType } from '../../../Common/theming/types';
import { Tooltip } from '../../Display/Tooltip';
import { IconName } from '../../../Common/theming/icons';
import { WithThemeProps } from '../../../Common/theming/withTheme';
export declare type Position = 'left' | 'right' | 'none';
export interface UpButtonState {
isToggled?: boolean;
isProcessing?: boolean;
prevProps?: UpButtonProps;
}
export declare const fontSizeMap: {
xsmall: number;
small: number;
medium: number;
large: number;
xlarge: number;
};
export declare const buttonSizeMap: {
normal: string;
icon: string;
auto: string;
full: string;
};
export declare type FontSize = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
export declare type ButtonWidth = 'normal' | 'icon' | 'auto' | 'full';
export declare type ButtonHeight = 'xsmall' | 'small' | 'normal' | 'large';
export declare type ActionType = IconName;
export declare type IconPosition = 'none' | 'left' | 'right';
export declare type DropDownType = 'none' | 'up' | 'down' | 'element';
export interface Action {
onClick: (e: React.MouseEvent) => void;
iconName?: any;
tooltip?: string | Tooltip;
libelle: string;
actionType?: ActionType;
intent?: IntentType;
}
export interface Separator {
size?: number;
}
export interface CommonProps extends WithThemeProps {
color?: string;
backgroundColor?: string;
borderColor?: string;
fontSize?: FontSize;
disabled?: boolean;
shadow?: boolean;
rounded?: boolean;
rotate?: boolean;
actionType?: ActionType;
iconName?: IconName;
iconSize?: number;
iconPosition?: IconPosition;
intent?: IntentType;
width?: ButtonWidth;
height?: ButtonHeight;
tooltip?: string | Tooltip;
extraActions?: Array;
dropDown?: DropDownType;
isProcessing?: boolean;
isToggled?: boolean;
type?: 'button' | 'submit' | 'reset';
borderless?: boolean;
additionalStyles?: {
backgroundColor?: string;
hoverBackgroundColor?: string;
};
}
export interface UpButtonProps extends CommonProps {
onClick?: (e: React.MouseEvent) => void | Promise;
className?: string;
name?: string;
}
export interface UpButtonStyledProps extends UpButtonProps {
className?: string;
dataFor?: string;
isToggled?: boolean;
isProcessing?: boolean;
}
export interface UpButtonState {
isToggled?: boolean;
isProcessing?: boolean;
prevProps?: UpButtonProps;
isElementHover?: boolean;
}