mine-h5-ui
Version:
一款轻量级、模块化基于 Vue3.x 的 H5 前端 UI 组件库 👍
105 lines (104 loc) • 1.9 kB
TypeScript
import { ModelRef, Ref } from 'vue';
/**
* emits
*/
export interface Emits {
(event: 'focus', e: FocusEvent): void;
(event: 'blur', e: FocusEvent): void;
(event: 'change', e: Event): void;
(event: 'input', e: Event): void;
(event: 'click-sms', e: MouseEvent): void;
(event: 'click-icon', e: MouseEvent): void;
}
/**
* props
*/
export interface Props {
/**
* 输入框值
*/
type?: string;
/**
* 占位符
*/
placeholder?: string;
/**
* 只读状态
*/
readonly?: boolean;
/**
* 禁用状态
*/
disabled?: boolean;
/**
* label 内容
*/
label?: string;
/**
* label 宽度
*/
labelWidth?: string;
/**
* label 对齐方式
*/
labelAlign?: 'auto' | 'left' | 'right' | 'center' | 'justify' | 'start' | 'end' | 'initial' | 'inherit';
/**
* label 颜色
*/
labelColor?: string;
/**
* label 图标
*/
labelIcon?: string;
/**
* 聚焦边框样式
*/
focusType?: 'default' | 'primary' | 'success' | 'warning' | 'danger';
/**
* 聚焦颜色
*/
focusColor?: string;
/**
* 图标
*/
icon?: string;
/**
* 密码输入框
*/
password?: boolean;
/**
* 整数输入
*/
digit?: boolean;
/**
* 短信验证码
*/
smsMsg?: string;
/**
* 短信颜色
*/
smsColor?: string;
/**
* 是否开启倒计时
*/
smsIs?: boolean;
/**
* 最大长度
*/
maxlength?: number;
/**
* 最小长度
*/
minlength?: number;
}
/**
* useInput
*/
export declare namespace USEInput {
interface Option {
props: Readonly<Required<Props>>;
emit: Emits;
sms: Ref<HTMLDivElement | undefined>;
inputVal: ModelRef<string | number>;
}
}