index.d.ts
1.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
//
// Toast
//
import Vue, { VNode } from 'vue'
import { BvPlugin, BvComponent } from '../../'
// Toast Plugin
export declare const ToastPlugin: BvPlugin
// Component: b-toast
export declare class BToast extends BvComponent {
show: () => void
hide: () => void
}
// Component: b-toaster
export declare class BToaster extends BvComponent {}
//
// Interfaces
//
export interface BvToastOptions {
// Commonly used props
toaster?: string
title?: string | VNode | Array<VNode>
variant?: string
solid?: boolean
noAutoHide?: boolean
noHoverPause?: boolean
autoHideDelay?: number
noCloseButton?: boolean
appendToast?: boolean
isStatus?: boolean
noFade?: boolean
toastClass?: string | string[] | Array<any> | object | any
headerClass?: string | string[] | Array<any> | object | any
bodyClass?: string | string[] | Array<any> | object | any
href?: string
to?: string | object | any
// Catch all
[key: string]: any
}
export interface BvToastShortcutMethod {
(message: string | VNode | Array<VNode>, options?: BvToastOptions): void
// Future
// (options?: BvToastOptions): void
// (message: string | VNode | Array<VNode>, title: string | VNode | Array<VNode>, options?: BvToastOptions): void
}
export interface BvToast {
// Show a toast
toast: BvToastShortcutMethod
// Show a toast by id
show: (id: string) => void
// Hide a toast by id (or hide all tosts)
hide: (id?: string) => void
}
//
// Vue Prototype Injections
//
declare module 'vue/types/vue' {
interface Vue {
// Toast injection
readonly $bvToast: BvToast
}
}