vue-m-message
Version:
A message plugin base on Vue
43 lines (42 loc) • 1.4 kB
TypeScript
import type { AppContext, VNode } from 'vue';
declare type ContentType = string | VNode | (() => VNode);
export interface MessageOptions {
type?: '' | 'info' | 'success' | 'warning' | 'error' | 'loading';
title?: string;
message?: ContentType;
iconURL?: string;
duration?: number;
zIndex?: number;
isCollapsed?: boolean;
collapsable?: boolean;
supportHTML?: boolean;
hasMask?: boolean;
position?: '' | 'top-left' | 'top-center' | 'top-right' | 'center' | 'bottom-left' | 'bottom-center' | 'bottom-right';
width?: string;
className?: string;
wrapperClassName?: string;
closable?: boolean;
stopTimerOnHover?: boolean;
onClose?: () => void;
onCollapsed?: (collapsed: boolean) => void;
ctx?: AppContext;
}
export declare type MessageTypeOptions = Omit<MessageOptions, 'type' | 'message'>;
export interface MessageIntance {
id: string;
close: () => void;
}
export declare type MessageFn = (message: ContentType, options?: MessageTypeOptions) => MessageIntance;
export interface Message {
(options: MessageOptions): MessageIntance;
info: MessageFn;
success: MessageFn;
error: MessageFn;
warning: MessageFn;
loading: MessageFn;
closeAll: () => void;
setDefault: (options: MessageTypeOptions) => void;
_context?: AppContext | null;
}
declare const message: Message;
export default message;