UNPKG

tav-ui

Version:
409 lines (408 loc) 11.1 kB
import type { ButtonProps } from 'ant-design-vue/es/button/buttonTypes'; import type { CSSProperties, ComputedRef, PropType, VNodeChild } from 'vue'; export declare type VueNode = VNodeChild | JSX.Element; export declare const modalProps: { visible: { type: BooleanConstructor; }; scrollTop: { type: BooleanConstructor; default: boolean; }; height: { type: NumberConstructor; }; minHeight: { type: NumberConstructor; }; draggable: { type: BooleanConstructor; default: boolean; }; centered: { type: BooleanConstructor; }; cancelText: { type: StringConstructor; }; okText: { type: StringConstructor; }; closeFunc: PropType<() => Promise<boolean>>; }; export declare const basicProps: { visible: { type: BooleanConstructor; }; scrollTop: { type: BooleanConstructor; default: boolean; }; height: { type: NumberConstructor; }; minHeight: { type: NumberConstructor; }; draggable: { type: BooleanConstructor; default: boolean; }; centered: { type: BooleanConstructor; }; cancelText: { type: StringConstructor; }; okText: { type: StringConstructor; }; closeFunc: PropType<() => Promise<boolean>>; } & { defaultFullscreen: { type: BooleanConstructor; }; canFullscreen: { type: BooleanConstructor; default: boolean; }; wrapperFooterOffset: { type: NumberConstructor; default: number; }; helpMessage: PropType<string | string[]>; useWrapper: { type: BooleanConstructor; default: boolean; }; loading: { type: BooleanConstructor; }; loadingTip: { type: StringConstructor; }; /** * @description: Show close button */ showCancelBtn: { type: BooleanConstructor; default: boolean; }; /** * @description: Show confirmation button */ showOkBtn: { type: BooleanConstructor; default: boolean; }; wrapperProps: PropType<Partial<ModalWrapperProps>>; afterClose: PropType<() => Promise<VueNode>>; bodyStyle: PropType<CSSProperties>; style: PropType<CSSProperties>; closable: { type: BooleanConstructor; default: boolean; }; closeIcon: PropType<VueNode>; confirmLoading: { type: BooleanConstructor; }; destroyOnClose: { type: BooleanConstructor; }; footer: PropType<VueNode>; getContainer: PropType<() => any>; mask: { type: BooleanConstructor; default: boolean; }; maskClosable: { type: BooleanConstructor; default: boolean; }; keyboard: { type: BooleanConstructor; default: boolean; }; maskStyle: PropType<CSSProperties>; okType: { type: StringConstructor; default: string; }; okButtonProps: PropType<Partial<{ prefixCls?: unknown; type?: unknown; htmlType?: unknown; shape?: unknown; size?: unknown; loading?: unknown; disabled?: unknown; ghost?: unknown; block?: unknown; danger?: unknown; icon?: unknown; href?: unknown; target?: unknown; title?: unknown; onClick?: unknown; onMousedown?: unknown; } & { htmlType: import("ant-design-vue/es/button/buttonTypes").ButtonHTMLType; loading: boolean | { delay?: number | undefined; }; } & { type?: import("ant-design-vue/es/button/buttonTypes").ButtonType | undefined; target?: string | undefined; size?: import("ant-design-vue/es/button").ButtonSize; icon?: any; prefixCls?: string | undefined; ghost?: boolean | undefined; shape?: import("ant-design-vue/es/button/buttonTypes").ButtonShape | undefined; block?: boolean | undefined; danger?: boolean | undefined; href?: string | undefined; title?: string | undefined; disabled?: boolean | undefined; onClick?: ((event: MouseEvent) => void) | undefined; onMousedown?: ((event: MouseEvent) => void) | undefined; }>>; cancelButtonProps: PropType<Partial<{ prefixCls?: unknown; type?: unknown; htmlType?: unknown; shape?: unknown; size?: unknown; loading?: unknown; disabled?: unknown; ghost?: unknown; block?: unknown; danger?: unknown; icon?: unknown; href?: unknown; target?: unknown; title?: unknown; onClick?: unknown; onMousedown?: unknown; } & { htmlType: import("ant-design-vue/es/button/buttonTypes").ButtonHTMLType; loading: boolean | { delay?: number | undefined; }; } & { type?: import("ant-design-vue/es/button/buttonTypes").ButtonType | undefined; target?: string | undefined; size?: import("ant-design-vue/es/button").ButtonSize; icon?: any; prefixCls?: string | undefined; ghost?: boolean | undefined; shape?: import("ant-design-vue/es/button/buttonTypes").ButtonShape | undefined; block?: boolean | undefined; danger?: boolean | undefined; href?: string | undefined; title?: string | undefined; disabled?: boolean | undefined; onClick?: ((event: MouseEvent) => void) | undefined; onMousedown?: ((event: MouseEvent) => void) | undefined; }>>; title: { type: StringConstructor; }; visible: { type: BooleanConstructor; }; width: PropType<string | number>; wrapClassName: { type: StringConstructor; }; zIndex: { type: NumberConstructor; }; }; /** * @description: 弹窗对外暴露的方法 */ export interface ModalMethods { redoThumbHeight: () => void; setModalProps: (props: Partial<ModalProps>) => void; emitVisible?: (visible: boolean, uid: number) => void; redoModalHeight?: () => void; } declare type RegisterFn = (modalMethods: ModalMethods, uuid?: string) => void; export interface ModalReturnMethods extends ModalMethods { openModal: <T = any>(props?: boolean, data?: T, openOnSet?: boolean) => void; closeModal: () => void; getVisible?: ComputedRef<boolean>; } export declare type UseModalReturnType = [RegisterFn, ModalReturnMethods]; export interface ReturnInnerMethods extends ModalMethods { closeModal: () => void; changeLoading: (loading: boolean) => void; changeOkLoading: (loading: boolean) => void; getVisible?: ComputedRef<boolean>; redoModalHeight: () => void; } export declare type UseModalInnerReturnType = [RegisterFn, ReturnInnerMethods]; export interface ModalProps { minHeight?: number; height?: number; wrapperFooterOffset?: number; draggable?: boolean; scrollTop?: boolean; canFullscreen?: boolean; defaultFullscreen?: boolean; visible?: boolean; helpMessage: string | string[]; useWrapper: boolean; loading: boolean; loadingTip?: string; wrapperProps: Omit<ModalWrapperProps, 'loading'>; showOkBtn: boolean; showCancelBtn: boolean; closeFunc: () => Promise<any>; /** * Specify a function that will be called when modal is closed completely. * @type Function */ afterClose?: () => any; /** * Body style for modal body element. Such as height, padding etc. * @default {} * @type object */ bodyStyle?: CSSProperties; style?: CSSProperties; /** * Text of the Cancel button * @default 'cancel' * @type string */ cancelText?: string; /** * Centered Modal * @default false * @type boolean */ centered?: boolean; /** * Whether a close (x) button is visible on top right of the modal dialog or not * @default true * @type boolean */ closable?: boolean; /** * Whether a close (x) button is visible on top right of the modal dialog or not */ closeIcon?: VNodeChild | JSX.Element; /** * Whether to apply loading visual effect for OK button or not * @default false * @type boolean */ confirmLoading?: boolean; /** * Whether to unmount child components on onClose * @default false * @type boolean */ destroyOnClose?: boolean; /** * Footer content, set as :footer="null" when you don't need default buttons * @default OK and Cancel buttons * @type any (string | slot) */ footer?: VNodeChild | JSX.Element; /** * Return the mount node for Modal * @default () => document.body * @type Function */ getContainer?: (instance: any) => HTMLElement; /** * Whether show mask or not. * @default true * @type boolean */ mask?: boolean; /** * Whether to close the modal dialog when the mask (area outside the modal) is clicked * @default true * @type boolean */ maskClosable?: boolean; /** * Style for modal's mask element. * @default {} * @type object */ maskStyle?: CSSProperties; /** * Text of the OK button * @default 'OK' * @type string */ okText?: string; /** * Button type of the OK button * @default 'primary' * @type string */ okType?: 'primary' | 'danger' | 'dashed' | 'ghost' | 'default'; /** * The ok button props, follow jsx rules * @type object */ okButtonProps?: ButtonProps; /** * The cancel button props, follow jsx rules * @type object */ cancelButtonProps?: ButtonProps; /** * The modal dialog's title * @type any (string | slot) */ title?: VNodeChild | JSX.Element; /** * Width of the modal dialog * @default 520 * @type string | number */ width?: string | number; /** * The class name of the container of the modal dialog * @type string */ wrapClassName?: string; /** * The z-index of the Modal * @default 1000 * @type number */ zIndex?: number; } export interface ModalWrapperProps { footerOffset?: number; loading: boolean; modalHeaderHeight: number; modalFooterHeight: number; minHeight: number; height: number; visible: boolean; fullScreen: boolean; useWrapper: boolean; } export declare type Recordable<T = any> = Record<string, T>; export declare type Record<K extends keyof any, T> = { [P in K]: T; }; export interface ComponentElRef<T extends HTMLElement = HTMLDivElement> { $el: T; } export declare type ComponentRef<T extends HTMLElement = HTMLDivElement> = ComponentElRef<T> | null; export interface Fn<T = any, R = T> { (...arg: T[]): R; } export declare type Nullable<T> = T | null; export declare type ElRef<T extends HTMLElement = HTMLDivElement> = Nullable<T>; export {};