72 lines
1.7 KiB
TypeScript
72 lines
1.7 KiB
TypeScript
import { VNode, VNodeDirective } from 'vue'
|
|
import { ElementUIComponent } from './component'
|
|
|
|
export type PopoverTrigger = 'click' | 'focus' | 'hover' | 'manual'
|
|
export type PopoverPlacement = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end'
|
|
|
|
export interface PopoverSlots {
|
|
/** Content of popover */
|
|
default: VNode[],
|
|
|
|
/** HTML element that triggers popover */
|
|
reference: VNode[]
|
|
|
|
[key: string]: VNode[]
|
|
}
|
|
|
|
/** Popover directive definition */
|
|
export interface ElPopoverDirective extends VNodeDirective {
|
|
name: 'popover',
|
|
arg: string
|
|
}
|
|
|
|
/** Popover Component */
|
|
export declare class ElPopover extends ElementUIComponent {
|
|
/** How the popover is triggered */
|
|
trigger: PopoverTrigger
|
|
|
|
/** Popover title */
|
|
title: string
|
|
|
|
/** Popover content, can be replaced with a default slot */
|
|
content: string
|
|
|
|
/** Popover width */
|
|
width: string | number
|
|
|
|
/** Popover placement */
|
|
placement: PopoverPlacement
|
|
|
|
/** Whether Popover is disabled */
|
|
disabled: boolean
|
|
|
|
/** Whether popover is visible */
|
|
value: boolean
|
|
|
|
/** Popover offset */
|
|
offset: number
|
|
|
|
/** Popover transition animation */
|
|
transition: string
|
|
|
|
/** Whether a tooltip arrow is displayed or not. For more info, please refer to Vue-popper */
|
|
visibleArrow: boolean
|
|
|
|
/** Parameters for popper.js */
|
|
popperOptions: object
|
|
|
|
/** Custom class name for popover */
|
|
popperClass: string
|
|
|
|
/** Delay before appearing when trigger is hover, in milliseconds */
|
|
openDelay: number
|
|
|
|
/** Delay before disappearing when trigger is hover, in milliseconds */
|
|
closeDelay: number
|
|
|
|
/** Popover tabindex */
|
|
tabindex: number
|
|
|
|
$slots: PopoverSlots
|
|
}
|