vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
51 lines (50 loc) • 1.88 kB
TypeScript
import { App, MaybeRef } from 'vue';
import { MaybeInstance } from '@vexip-ui/hooks';
import { Key, MessageConfig, MessageOptions, MessagePlacement, MessageType } from './symbol';
export type { MessageConfig, MessageType, MessagePlacement, MessageOptions };
type FuzzyOptions = string | MessageOptions;
type ManagerOptions = {
duration?: number;
} & MessageConfig & Record<string, unknown>;
interface AipMethod {
(options: MessageOptions): () => void;
(content: string, duration?: number): () => void;
/** @internal */
(options: FuzzyOptions, duration?: number): () => void;
}
export declare class MessageManager {
name: string;
defaults: Record<string, unknown>;
open: AipMethod;
primary: AipMethod;
info: AipMethod;
success: AipMethod;
warning: AipMethod;
error: AipMethod;
private _mountedApp;
private _instance;
private _innerApp;
private _container;
private _wrapper;
private _mountedEl;
private _installed;
private _configRecord;
constructor(options?: ManagerOptions);
judge(state: boolean, success: string, error: string, duration?: number): void;
judge(state: boolean, success: MessageOptions, error: string, duration?: number): void;
judge(state: boolean, success: string, error: MessageOptions, duration?: number): void;
judge(state: boolean, success: MessageOptions, error: MessageOptions): void;
close(key: Key): void;
config({ placement, startOffset, itemGap, ...others }: MessageConfig & MessageOptions): void;
clone(): MessageManager;
clear(): void;
destroy(): void;
isDestroyed(): boolean;
install(app: App, options?: ManagerOptions & {
property?: string;
}): void;
transferTo(target: MaybeRef<string | MaybeInstance>): void;
private _getInstance;
private _open;
}
export declare const Message: MessageManager;