UNPKG

hongluan-ui

Version:
158 lines (157 loc) 5.42 kB
import type { VNode, ExtractPropTypes, AppContext } from 'vue'; import type { Mutable } from 'hongluan-ui/es/utils'; import type MessageConstructor from './message.vue'; export declare const messageTypes: readonly ["success", "info", "warning", "error", "danger"]; export declare type messageType = typeof messageTypes[number]; export declare const aligns: readonly ["left", "center", "right"]; export interface MessageConfigContext { max?: number; } export declare const messageDefaults: Mutable<{ /** * @description custom class name for Message */ readonly customClass: ""; /** * @description the text align */ readonly textAlign: "left"; /** * @description whether `message` is treated as HTML string */ readonly dangerouslyUseHTMLString: false; /** * @description display duration, millisecond. If set to 0, it will not turn off automatically */ readonly duration: 3000; /** * @description message dom id */ readonly id: ""; /** * @description message text */ readonly message: ""; /** * @description callback function when closed with the message instance as the parameter */ readonly onClose: any; /** * @description whether to show a close button */ readonly showClose: false; /** * @description message type */ readonly type: "info"; /** * @description set the distance to the top of viewport */ readonly offset: 16; /** * @description input box size */ readonly zIndex: 0; /** * @description merge messages with the same content, type of VNode message is not supported */ readonly grouping: false; /** * @description The number of repetitions, similar to badge, is used as the initial number when used with `grouping` */ readonly repeatNum: 1; readonly appendTo: HTMLElement; }>; export declare const messageProps: { readonly customClass: { readonly type: StringConstructor; readonly default: ""; }; readonly textAlign: import("hongluan-ui/es/utils").EpPropFinalized<StringConstructor, "left" | "right" | "center", never, "left", false>; readonly dangerouslyUseHTMLString: { readonly type: BooleanConstructor; readonly default: false; }; readonly duration: { readonly type: NumberConstructor; readonly default: 3000; }; readonly id: { readonly type: StringConstructor; readonly default: ""; }; readonly message: import("hongluan-ui/es/utils").EpPropFinalized<import("vue").PropType<string | VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any; }> | (() => VNode)>, never, never, "", false>; readonly icon: { readonly type: import("vue").PropType<VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any; }>>; readonly required: false; readonly validator: (val: unknown) => boolean; __epPropKey: true; }; readonly onClose: { readonly type: import("vue").PropType<() => void>; readonly required: false; readonly validator: (val: unknown) => boolean; __epPropKey: true; }; readonly showClose: { readonly type: BooleanConstructor; readonly default: false; }; readonly type: import("hongluan-ui/es/utils").EpPropFinalized<StringConstructor, "success" | "info" | "warning" | "danger" | "error", never, "info", false>; readonly offset: { readonly type: NumberConstructor; readonly default: 16; }; readonly zIndex: { readonly type: NumberConstructor; readonly default: 0; }; readonly grouping: { readonly type: BooleanConstructor; readonly default: false; }; readonly repeatNum: { readonly type: NumberConstructor; readonly default: 1; }; }; export declare type MessageProps = ExtractPropTypes<typeof messageProps>; export declare const messageEmits: { destroy: () => boolean; }; export declare type MessageEmits = typeof messageEmits; export declare type MessageInstance = InstanceType<typeof MessageConstructor>; export declare type MessageOptions = Partial<Mutable<Omit<MessageProps, 'id'> & { appendTo?: HTMLElement | string; }>>; export declare type MessageParams = MessageOptions | MessageOptions['message']; export declare type MessageParamsNormalized = Omit<MessageProps, 'id'> & { /** * @description set the root element for the message, default to `document.body` */ appendTo: HTMLElement; }; export declare type MessageOptionsWithType = Omit<MessageOptions, 'type'>; export declare type MessageParamsWithType = MessageOptionsWithType | MessageOptions['message']; export interface MessageHandler { /** * @description close the Message */ close: () => void; } export declare type MessageFn = { (options?: MessageParams, appContext?: null | AppContext): MessageHandler; closeAll(type?: messageType): void; }; export declare type MessageTypedFn = (options?: MessageParamsWithType, appContext?: null | AppContext) => MessageHandler; export interface Message extends MessageFn { success: MessageTypedFn; warning: MessageTypedFn; info: MessageTypedFn; error: MessageTypedFn; danger: MessageTypedFn; }