@arco-design/web-vue
Version:
Arco Design Vue 2.0: A Vue.js 3 UI Library
50 lines (49 loc) • 1.85 kB
TypeScript
import { AppContext, CSSProperties, RenderFunction } from 'vue';
import { ClassName, RenderContent } from '../_utils/types';
import { MessageType } from '../_utils/constant';
export declare const NOTIFICATION_POSITION: readonly ["topLeft", "topRight", "bottomLeft", "bottomRight"];
export declare type NotificationPosition = typeof NOTIFICATION_POSITION[number];
export interface NotificationMethod {
info: (config: string | NotificationConfig, appContext?: AppContext) => NotificationReturn;
success: (config: string | NotificationConfig, appContext?: AppContext) => NotificationReturn;
warning: (config: string | NotificationConfig, appContext?: AppContext) => NotificationReturn;
error: (config: string | NotificationConfig, appContext?: AppContext) => NotificationReturn;
remove: (id: string) => void;
clear: (position?: NotificationPosition) => void;
}
export interface NotificationConfig {
content: RenderContent;
title?: RenderContent;
icon?: RenderFunction;
id?: string;
style?: CSSProperties;
class?: ClassName;
position?: NotificationPosition;
showIcon?: boolean;
closable?: boolean;
duration?: number;
footer?: RenderFunction;
closeIcon?: RenderFunction;
closeIconElement?: RenderFunction;
onClose?: (id: number | string) => void;
}
export interface NotificationReturn {
close: () => void;
}
export interface NotificationItem {
id: number | string;
type: MessageType;
content: RenderContent;
style?: CSSProperties;
class?: ClassName;
title?: RenderContent;
icon?: RenderFunction;
footer?: RenderFunction;
closeIcon?: RenderFunction;
closeIconElement?: RenderFunction;
showIcon?: boolean;
closable?: boolean;
duration?: number;
resetOnUpdate?: boolean;
onClose?: (id: number | string) => void;
}