UNPKG

@ray-js/smart-ui

Version:

轻量、可靠的智能小程序 UI 组件库

111 lines (110 loc) 2.47 kB
/// <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>;