UNPKG

tdesign-vue

Version:
70 lines (69 loc) 2.07 kB
import { ButtonProps } from '../button'; import { TNode, Styles, AttachNode } from '../common'; export interface TdDrawerProps { attach?: AttachNode; body?: string | TNode; cancelBtn?: FooterButton; closeBtn?: string | boolean | TNode; closeOnEscKeydown?: boolean; closeOnOverlayClick?: boolean; confirmBtn?: FooterButton; default?: string | TNode; destroyOnClose?: boolean; drawerClassName?: string; footer?: boolean | TNode; header?: string | boolean | TNode; mode?: 'overlay' | 'push'; placement?: 'left' | 'right' | 'top' | 'bottom'; preventScrollThrough?: boolean; showInAttachedElement?: boolean; showOverlay?: boolean; size?: string; sizeDraggable?: boolean | SizeDragLimit; visible?: boolean; zIndex?: number; onBeforeClose?: () => void; onBeforeOpen?: () => void; onCancel?: (context: { e: MouseEvent; }) => void; onClose?: (context: DrawerCloseContext) => void; onCloseBtnClick?: (context: { e: MouseEvent; }) => void; onConfirm?: (context: { e: MouseEvent; }) => void; onEscKeydown?: (context: { e: KeyboardEvent; }) => void; onOverlayClick?: (context: { e: MouseEvent; }) => void; onSizeDragEnd?: (context: { e: MouseEvent; size: number; }) => void; } export interface DrawerOptions extends Omit<TdDrawerProps, 'attach'> { attach?: AttachNode; className?: string; style?: string | Styles; } export interface DrawerInstance { destroy?: () => void; hide?: () => void; show?: () => void; update?: (props: DrawerOptions) => void; } export declare type FooterButton = string | ButtonProps | TNode | null; export interface SizeDragLimit { max: number; min: number; } export declare type DrawerEventSource = 'esc' | 'close-btn' | 'cancel' | 'overlay'; export interface DrawerCloseContext { trigger: DrawerEventSource; e: MouseEvent | KeyboardEvent; } export declare type DrawerMethod = (options?: DrawerOptions) => void;