vuecssuiant-designantdreactantantd-vueenterprisefrontendui-designvue-antdvue-antd-uivue3vuecomponent
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.1 KiB
48 lines
1.1 KiB
import type { CSSProperties } from 'vue'; |
|
import type { Key, VueNode } from '../_util/type'; |
|
|
|
export type NoticeType = 'info' | 'success' | 'error' | 'warning' | 'loading'; |
|
|
|
export interface ConfigOptions { |
|
top?: number | string; |
|
duration?: number; |
|
prefixCls?: string; |
|
getContainer?: () => HTMLElement; |
|
transitionName?: string; |
|
maxCount?: number; |
|
rtl?: boolean; |
|
} |
|
|
|
export interface ArgsProps { |
|
content: string | (() => VueNode) | VueNode; |
|
duration?: number; |
|
type?: NoticeType; |
|
onClose?: () => void; |
|
icon?: (() => VueNode) | VueNode; |
|
key?: string | number; |
|
style?: CSSProperties; |
|
class?: string; |
|
onClick?: (e: Event) => void; |
|
} |
|
|
|
export type JointContent = VueNode | ArgsProps; |
|
|
|
export interface MessageType extends PromiseLike<boolean> { |
|
(): void; |
|
} |
|
|
|
export type TypeOpen = ( |
|
content: JointContent, |
|
duration?: number | VoidFunction, // Also can use onClose directly |
|
onClose?: VoidFunction, |
|
) => MessageType; |
|
|
|
export interface MessageInstance { |
|
info: TypeOpen; |
|
success: TypeOpen; |
|
error: TypeOpen; |
|
warning: TypeOpen; |
|
loading: TypeOpen; |
|
open(args: ArgsProps): MessageType; |
|
destroy(key?: Key): void; |
|
}
|
|
|