import { ComponentPublicInstance } from 'vue'; import { IconType } from '../../utils'; export interface DialogProps { modelValue?: boolean; title?: string; fullscreen?: boolean; minWidth?: string | number; maxWidth?: string | number; minHeight?: string | number; maxHeight?: string | number; useResizable?: boolean; autoFocusFirst?: boolean; autoFocusTo?: string | HTMLElement | Element | ComponentPublicInstance; resizable?: boolean; showResizeHandles?: boolean | Array; showClose?: boolean; showHeader?: boolean; minimizeIcon?: IconType; maximizeIcon?: Array; restoreIcon?: IconType; } export type ResizeEventParam = 'max' | 'min' | 'default'; export type ResizeHandle = 'minimize' | 'maximize'; export interface DialogHeaderSlotsParams { key: string | number; titleId: string; titleClass: string; close: () => void; minimize: () => void; /** 当窗口处于最大化时,调用此方法会将将窗口恢复到默认大小,反之则最大化窗口 */ maximize: () => void; }