im-ui-mobile
Version:
A Vue3.0 + Typescript instant messaging component library for Uniapp
86 lines (76 loc) • 2.13 kB
TypeScript
import { AllowedComponentProps, VNodeProps } from 'vue'
declare interface ButtonProps {
// 基础属性
text?: string
type?: 'default' | 'primary' | 'success' | 'warning' | 'danger' | 'info'
size?: 'mini' | 'small' | 'medium' | 'large'
shape?: 'square' | 'round' | 'circle'
disabled?: boolean
loading?: boolean
loadingText?: string
loadingColor?: string
showLoading?: boolean
hideTextWhenLoading?: boolean
block?: boolean
plain?: boolean
hairline?: boolean
native?: boolean
// 图标
icon?: string
iconPosition?: 'left' | 'right'
iconSize?: string | number
// 样式
color?: string
bgColor?: string
borderColor?: string
textColor?: string
textSize?: 'small' | 'medium' | 'large'
width?: string
height?: string
padding?: string
margin?: string
radius?: string
shadow?: string
// 角标
badge?: boolean | number | string
// 表单相关
formType?: 'submit' | 'reset'
// 开放能力
openType?:
| 'contact'
| 'share'
| 'getPhoneNumber'
| 'getUserInfo'
| 'launchApp'
| 'openSetting'
| 'feedback'
| 'chooseAvatar'
appParameter?: string
lang?: 'en' | 'zh_CN' | 'zh_TW'
sessionFrom?: string
sendMessageTitle?: string
sendMessagePath?: string
sendMessageImg?: string
showMessageCard?: boolean
// 交互效果
hoverClass?: string
hoverStartTime?: number
hoverStayTime?: number
}
declare interface ButtonEmits {
(e: 'click', event: TouchEvent): void
(e: 'getuserinfo', detail: any): void
(e: 'contact', detail: any): void
(e: 'getphonenumber', detail: any): void
(e: 'error', detail: any): void
(e: 'launchapp', detail: any): void
(e: 'opensetting', detail: any): void
(e: 'chooseavatar', detail: any): void
}
declare interface _Button {
new(): {
$props: AllowedComponentProps & VNodeProps & ButtonProps
$emit: ButtonEmits
}
}
export declare const Button: _Button