UNPKG

@minto-ai/mt-ui

Version:

UI组件库

70 lines (69 loc) 2.17 kB
import { ExtractPropTypes, PropType } from 'vue'; import { default as MessageConstructor } from './message.vue'; declare const messageTypes: readonly ["success", "error", "warning"]; type MessageTypes = typeof messageTypes[number]; declare const messageProps: { /** * 消息文字 */ readonly message: { readonly type: StringConstructor; readonly required: true; }; /** * 消息类型 */ readonly type: { readonly type: PropType<MessageTypes>; readonly validator: (value: MessageTypes) => boolean; readonly default: "success"; }; /** * 显示时间,单位为毫秒。 设为 0 则不会自动关闭 */ readonly duration: { readonly type: NumberConstructor; readonly default: 3000; }; /** * 是否显示关闭按钮 */ readonly showClose: { readonly type: BooleanConstructor; readonly default: false; }; /** * Message 距离窗口顶部的偏移量 */ readonly offset: { readonly type: NumberConstructor; readonly default: 16; }; /** * 关闭时的回调函数, 参数为被关闭的 message 实例 */ readonly onClose: { readonly type: FunctionConstructor; readonly default: () => void; }; /** * 唯一标识符 */ readonly id: { readonly type: StringConstructor; readonly required: true; }; }; type MessageProps = ExtractPropTypes<typeof messageProps>; type MessageInstance = InstanceType<typeof MessageConstructor>; type MessageFunction = { (options: MessageParamsNormalized | MessageParamsNormalized['message']): void; } & Record<MessageTypes, (options: MessageParamsNormalized | MessageParamsNormalized['message']) => void> & { closeAll: (type?: MessageTypes) => void; }; interface MessageHandler { close: () => void; } type MessageParamsNormalized = Partial<Omit<MessageProps, 'id'>> & Pick<MessageProps, 'message'>; export type { MessageFunction, MessageHandler, MessageInstance, MessageParamsNormalized, MessageProps, MessageTypes, }; export { messageProps, messageTypes, };