@opensig/opendesign
Version:
100 lines (99 loc) • 2.87 kB
TypeScript
import { Component, ExtractPropTypes, PropType, VNode } from 'vue';
export declare const MessageStatusTypes: readonly ["info", "success", "warning", "danger", "loading"];
export type MessageStatusT = (typeof MessageStatusTypes)[number];
export type MessagePositionT = 'top' | 'bottom';
export declare const messageProps: {
/**
* @zh-CN 消息是否可见 v-model
* @en-US Message is visible v-model
*/
visible: {
type: BooleanConstructor;
default: undefined;
};
/**
* @zh-CN 非受控模式,消息是否默认可见
* @en-US Non-controlled mode, message is visible by default
* @default true
*/
defaultVisible: {
type: BooleanConstructor;
default: boolean;
};
/**
* @zh-CN 状态
* @en-US Status
* @default 'info'
*/
status: {
type: PropType<MessageStatusT>;
default: string;
};
/**
* @zh-CN 是否是彩色背景(跟随 status 变化)
* @en-US Is colored background (follows the status change)
* @default false
*/
colorful: {
type: BooleanConstructor;
default: boolean;
};
/**
* @zh-CN 消息显示的持续时间(单位ms)。未设置或小于等于0时,消息将不会自动关闭
* @en-US The duration for which the message is displayed (unit: ms). If not set or less than or equal to 0, the message will not close automatically
*/
duration: {
type: NumberConstructor;
};
/**
* @zh-CN 是否可手动关闭
* @en-US Whether to manually close
* @default false
*/
closable: {
type: BooleanConstructor;
default: boolean;
};
/**
* @zh-CN 关闭前的钩子函数
* @en-US Hook function before closing
*/
beforeClose: {
type: PropType<() => Promise<boolean> | boolean>;
};
/**
* @zh-CN 消息标题
* @en-US Message title
*/
title: {
type: StringConstructor;
};
};
export declare const messageListProps: {
/**
* @zh-CN 消息列表位置
* @en-US Message list position
* @default 'top'
*/
position: {
type: PropType<MessagePositionT>;
default: string;
};
/**
* @zh-CN 消息列表销毁前的钩子函数
* @en-US Hook function before the message list is destroyed
*/
onDestroy: {
type: PropType<() => void>;
};
};
export type MessagePropsT = ExtractPropTypes<typeof messageProps>;
export type MessageListPropsT = ExtractPropTypes<typeof messageListProps>;
export type MessageParamsT = Partial<MessagePropsT & {
content: string | VNode | Component;
position: MessagePositionT;
targetAlign?: 'center' | 'left' | 'right';
icon: VNode | Component;
onDurationEnd: () => void;
onClose: (ev?: MouseEvent) => void;
}>;