///
import { SmartOpenTypeProps, SmartBaseExternalClassName, SmartBaseLoadingExternalClassName, SmartComponent, SmartEventHandler, SmartTouchEvent } from '../base';
export interface SmartButtonProps extends SmartOpenTypeProps {
/** 标识符 */
id?: string;
/**
* 按钮类型
*
* @default 'default'
*/
type?: 'default' | 'primary' | 'info' | 'warning' | 'danger';
/**
* 按钮尺寸
*
* @default 'normal'
*/
size?: 'normal' | 'large' | 'small' | 'mini';
/**
* 按钮颜色,支持传入`linearGradient`渐变色
*/
color?: string;
/**
* 左侧图标名称或图片链接
*
* 可选值见`Icon`组件
*/
icon?: string;
/**
* 右侧图标名称或图片链接
*
* 可选值见`Icon`组件
*/
rightIcon?: string;
/**
* 图标类名前缀,同`Icon`组件的`classPrefix`属性
* @default 'smart-icon'
*/
classPrefix?: string;
/**
* 是否为朴素按钮
*
* @default false
*/
plain?: boolean;
/**
* 是否为块级元素
*
* @default false
*/
block?: boolean;
/**
* 是否为圆形按钮
*
* @default false
*/
round?: boolean;
/**
* 是否为方形按钮
*
* @default false
*/
square?: boolean;
/**
* 是否禁用按钮
*
* @default false
*/
disabled?: boolean;
/**
* 是否使用`0.5px`边框
*
* @default false
*/
hairline?: boolean;
/**
* 是否显示为加载状态
*
* @default false
*/
loading?: boolean;
/**
* 加载状态提示文字
*/
loadingText?: string;
/**
* 加载状态图标类型
*
* @default 'circular'
*/
loadingType?: 'spinner' | 'circular';
/**
* 加载图标大小
*
* @default 20px
*/
loadingSize?: string;
/**
* 自定义样式
*/
customStyle?: React.CSSProperties;
}
export interface SmartButtonEvents {
/**
* 点击按钮,且按钮状态不为加载或禁用时触发
*/
onClick?: SmartEventHandler;
}
export interface SmartButtonExternalClassName extends SmartBaseExternalClassName, SmartBaseLoadingExternalClassName {
/**
* @description 按钮按下时的样式
* @version 2.6.2 补充类型
*/
hoverClass?: string;
}
export type SmartButton = SmartComponent;