64 lines
2.1 KiB
TypeScript
64 lines
2.1 KiB
TypeScript
|
import { ElementUIComponent } from './component'
|
||
|
import { VNode } from 'vue'
|
||
|
|
||
|
type hide = (shouldCancel: boolean) => void
|
||
|
declare enum Direction {
|
||
|
LTR = 'ltr', // left to right
|
||
|
RTL = 'rtl', // right to left
|
||
|
TTB = 'ttb', // top to bottom
|
||
|
BTT = 'btt' // bottom to top
|
||
|
}
|
||
|
|
||
|
interface DrawerSlots {
|
||
|
/* Main Content Slots */
|
||
|
default: VNode[];
|
||
|
|
||
|
/* Title Slots */
|
||
|
title: VNode[];
|
||
|
|
||
|
[key: string]: VNode[]
|
||
|
}
|
||
|
/** Drawer Component */
|
||
|
export declare class ElDrawer extends ElementUIComponent {
|
||
|
/* Equivalent to `Dialog`'s append to body attribute, when applying nested drawer, make sure this one is set to true */
|
||
|
appendToBody: boolean
|
||
|
|
||
|
/* Hook method called before close drawer, the first parameter is a function which should determine if the drawer should be closed */
|
||
|
beforeClose: (done: hide) => void
|
||
|
|
||
|
/** Whether the Drawer can be closed by pressing ESC */
|
||
|
closeOnPressEscape: boolean
|
||
|
|
||
|
/** Custom class names for Dialog */
|
||
|
customClass: string
|
||
|
|
||
|
/* Determine whether the wrapped children should be destroyed, if true, children's destroyed life cycle method will be called all local state will be destroyed */
|
||
|
destroyOnClose: boolean
|
||
|
|
||
|
/* Equivalent to `Dialog`'s modal attribute, determines whether the dark shadowing background should show */
|
||
|
modal: boolean
|
||
|
|
||
|
/* Equivalent to `Dialog`'s modal-append-to-body attribute, determines whether the shadowing background should be inserted direct to DocumentBody element */
|
||
|
modalAppendToBody: boolean
|
||
|
|
||
|
/* Attributes that controls the drawer's direction of display*/
|
||
|
position: Direction
|
||
|
|
||
|
/* Whether the close button should be rendered to control the drawer's visible state */
|
||
|
showClose: boolean
|
||
|
|
||
|
/* The size of the drawer component, supporting number with unit of pixel, string by percentage e.g. 30% */
|
||
|
size: number | string
|
||
|
|
||
|
/* The Drawer's title, also can be replaced by named slot `title` */
|
||
|
title: string
|
||
|
|
||
|
/* Whether the drawer component should show, also can be decorated by `.sync` */
|
||
|
visible: boolean
|
||
|
|
||
|
/* Flag attribute whi */
|
||
|
wrapperClosable: boolean
|
||
|
|
||
|
$slots: DrawerSlots
|
||
|
}
|