@ray-js/smart-ui
Version:
轻量、可靠的智能小程序 UI 组件库
111 lines (110 loc) • 2.47 kB
TypeScript
/// <reference types="react" />
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<SmartTouchEvent>;
}
export interface SmartButtonExternalClassName extends SmartBaseExternalClassName, SmartBaseLoadingExternalClassName {
}
export type SmartButton = SmartComponent<SmartButtonProps, SmartButtonEvents, SmartButtonExternalClassName>;