85 lines
2.3 KiB
TypeScript
85 lines
2.3 KiB
TypeScript
|
import Vue, { VNode } from 'vue'
|
||
|
import { MessageType } from './message'
|
||
|
|
||
|
export type NotificationPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left'
|
||
|
|
||
|
/** Notification Component */
|
||
|
export declare class ElNotificationComponent extends Vue {
|
||
|
/** Close the Notification instance */
|
||
|
close (): void
|
||
|
}
|
||
|
|
||
|
export interface ElNotificationOptions {
|
||
|
/** Title */
|
||
|
title: string
|
||
|
|
||
|
/** Description text */
|
||
|
message: string | VNode
|
||
|
|
||
|
/** Notification type */
|
||
|
type?: MessageType
|
||
|
|
||
|
/** Custom icon's class. It will be overridden by type */
|
||
|
iconClass?: string
|
||
|
|
||
|
/** Custom class name for Notification */
|
||
|
customClass?: string
|
||
|
|
||
|
/** Duration before close. It will not automatically close if set 0 */
|
||
|
duration?: number
|
||
|
|
||
|
/** Whether to show a close button */
|
||
|
showClose?: boolean
|
||
|
|
||
|
/** Whether message is treated as HTML string */
|
||
|
dangerouslyUseHTMLString?: boolean
|
||
|
|
||
|
/** Callback function when closed */
|
||
|
onClose?: () => void
|
||
|
|
||
|
/** Callback function when notification clicked */
|
||
|
onClick?: () => void
|
||
|
|
||
|
/** Offset from the top edge of the screen. Every Notification instance of the same moment should have the same offset */
|
||
|
offset?: number
|
||
|
|
||
|
/** custom position */
|
||
|
position?: NotificationPosition
|
||
|
}
|
||
|
|
||
|
export interface ElNotification {
|
||
|
/** Show a notification */
|
||
|
(options: ElNotificationOptions): ElNotificationComponent
|
||
|
|
||
|
/** Show a success notification */
|
||
|
success (message: string | VNode): ElNotificationComponent
|
||
|
|
||
|
/** Show a success notification */
|
||
|
success (options: ElNotificationOptions): ElNotificationComponent
|
||
|
|
||
|
/** Show a warning notification */
|
||
|
warning (message: string | VNode): ElNotificationComponent
|
||
|
|
||
|
/** Show a warning notification */
|
||
|
warning (options: ElNotificationOptions): ElNotificationComponent
|
||
|
|
||
|
/** Show an info notification */
|
||
|
info (message: string | VNode): ElNotificationComponent
|
||
|
|
||
|
/** Show an info notification */
|
||
|
info (options: ElNotificationOptions): ElNotificationComponent
|
||
|
|
||
|
/** Show an error notification */
|
||
|
error (message: string | VNode): ElNotificationComponent
|
||
|
|
||
|
/** Show an error notification */
|
||
|
error (options: ElNotificationOptions): ElNotificationComponent
|
||
|
}
|
||
|
|
||
|
declare module 'vue/types/vue' {
|
||
|
interface Vue {
|
||
|
/** Displays a global notification message at the upper right corner of the page */
|
||
|
$notify: ElNotification
|
||
|
}
|
||
|
}
|