import type { PropType } from 'vue'; export const modalProps = { visible: Boolean as PropType, // open drag draggable: { type: Boolean as PropType, default: true, }, centered: { type: Boolean as PropType, default: false, }, cancelText: { type: String as PropType, default: '关闭', }, okText: { type: String as PropType, default: '保存', }, closeFunc: Function as PropType<() => Promise>, }; export const basicProps = Object.assign({}, modalProps, { // Can it be full screen canFullscreen: { type: Boolean as PropType, default: true, }, // After enabling the wrapper, the bottom can be increased in height wrapperFooterOffset: { type: Number as PropType, default: 0, }, // Warm reminder message helpMessage: [String, Array] as PropType, // Whether to use wrapper useWrapper: { type: Boolean as PropType, default: true, }, loading: { type: Boolean as PropType, default: false, }, /** * @description: Show close button */ showCancelBtn: { type: Boolean as PropType, default: true, }, /** * @description: Show confirmation button */ showOkBtn: { type: Boolean as PropType, default: true, }, wrapperProps: Object as PropType, afterClose: Function as PropType<() => Promise>, bodyStyle: Object as PropType, closable: { type: Boolean as PropType, default: true, }, closeIcon: Object as PropType, confirmLoading: Boolean as PropType, destroyOnClose: Boolean as PropType, footer: Object as PropType, getContainer: Function as PropType<() => any>, mask: { type: Boolean as PropType, default: true, }, maskClosable: { type: Boolean as PropType, default: true, }, keyboard: { type: Boolean as PropType, default: true, }, maskStyle: Object as PropType, okType: { type: String as PropType, default: 'primary', }, okButtonProps: Object as PropType, cancelButtonProps: Object as PropType, title: { type: String as PropType, }, visible: Boolean as PropType, width: [String, Number] as PropType, wrapClassName: { type: String as PropType, }, zIndex: { type: Number as PropType, }, });