@minto-ai/mt-ui
Version:
UI组件库
70 lines (69 loc) • 2.17 kB
TypeScript
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, };