bootstrap-vue
Version:
BootstrapVue, with over 40 plugins and more than 80 custom components, custom directives, and over 300 icons, provides one of the most comprehensive implementations of Bootstrap v4 components and grid system for Vue.js. With extensive and automated WAI-AR
96 lines (82 loc) • 2.63 kB
TypeScript
// --- Modals ---
import Vue, { VNode } from 'vue'
import { BvPlugin, BvComponent, BvEvent } from '../../'
// Modal plugin
export declare const ModalPlugin: BvPlugin
// Component: <b-modal>
export declare class BModal extends BvComponent {
// Public methods
show: () => void
hide: (trigger?: string) => void
}
// --- Types ---
export type BvMsgBoxData = boolean | null | BvModalEvent | any
// --- Interfaces ---
export interface BvModalEvent extends BvEvent {
readonly trigger: string | null
// Future
// details: any | null
}
export interface BvMsgBoxOptions {
title?: string | VNode | Array<VNode>
titleTag?: string
size?: string
centered?: boolean
scrollable?: boolean
noFade?: boolean
noCloseOnBackdrop?: boolean
noCloseOnEsc?: boolean
headerBgVariant?: string
headerBorderVariant?: string
headerTextVariant?: string
headerCloseVariant?: string
headerClass?: string | string[] | Array<any>
bodyBgVariant?: string
bodyBorderVariant?: string
bodyTextVariant?: string
bodyClass?: string | string[] | Array<any>
footerBgVariant?: string
footerBorderVariant?: string
footerTextVariant?: string
footerClass?: string | string[] | Array<any>
headerCloseLabel?: string
buttonSize?: string
cancelTitle?: string
cancelVariant?: string
okTitle?: string
okVariant?: string
// Catch all
[key: string]: any
}
export interface BvModalMsgBoxResolver {
(evt: BvModalEvent): any
}
export interface BvModalMsgBoxShortcutMethod {
(message: string | Array<VNode>, options?: BvMsgBoxOptions): Promise<BvMsgBoxData>
// Future
// (options?: BvMsgBoxOptions): Promise<BvMsgBoxData>
// (message: string | Array<VNode>, title: string | Array<VNode>, options?: BvMsgBoxOptions): Promise<BvMsgBoxData>
}
// Not yet documented or implemented (Future)
// export interface BvModalMsgBoxMethod {
// (options: BvMsgBoxOptions, resolver: BvModalMsgBoxResolver): Promise<BvMsgBoxData>
// (message: string | Array<VNode>, options: BvMsgBoxOptions, resolver: BvModalMsgBoxResolver): Promise<BvMsgBoxData>
// (message: string | Array<VNode>, title: string | Array<VNode>, options: BvMsgBoxOptions, resolver: BvModalMsgBoxResolver): Promise<BvMsgBoxData>
// }
export interface BvModal {
// Show OK MsgBox
msgBoxOk: BvModalMsgBoxShortcutMethod
// Show Confirm MsgBox
msgBoxConfirm: BvModalMsgBoxShortcutMethod
// Show a modal by id
show: (id: string) => void
// Hide a modal by id
hide: (id: string) => void
}
// --- Vue prototype injections ---
declare module 'vue/types/vue' {
interface Vue {
// Modal injection
readonly $bvModal: BvModal
}
}