UNPKG

@fe6/water-pro

Version:

An enterprise-class UI design language and Vue-based implementation

87 lines (61 loc) 2.32 kB
/** @format */ import type { PropType, CSSProperties } from 'vue'; import { ButtonProps, ButtonTypes } from '../../button/buttonTypes'; import { VueNode } from '../../_util/type'; import PropTypes from '../../_util/vue-types'; import type { ModalWrapperProps } from './types'; export const modalProps = { visible: PropTypes.bool, scrollTop: PropTypes.bool.def(true), height: PropTypes.number, minHeight: PropTypes.number, // open drag draggable: PropTypes.bool, centered: PropTypes.bool, cancelText: PropTypes.string, okText: PropTypes.string, prefixCls: PropTypes.string, // TODO [feat] 发版之后使用的时候 babel 报错 // closeFunc: Function as PropType<() => Promise<boolean>>, }; export const basicProps = Object.assign({}, modalProps, { defaultFullscreen: PropTypes.bool, // Can it be full screen canFullscreen: PropTypes.bool.def(false), // After enabling the wrapper, the bottom can be increased in height wrapperFooterOffset: PropTypes.number.def(0), // Whether to setting wrapper useWrapper: PropTypes.bool.def(true), loading: PropTypes.bool, loadingTip: PropTypes.string, /** * @description: Show close button */ showCancelBtn: PropTypes.bool.def(true), /** * @description: Show confirmation button */ showOkBtn: PropTypes.bool.def(true), wrapperProps: Object as PropType<Partial<ModalWrapperProps>>, afterClose: Function as PropType<() => Promise<VueNode>>, bodyStyle: Object as PropType<CSSProperties>, scrollStyle: Object as PropType<CSSProperties>, closable: PropTypes.bool.def(true), closeIcon: Object as PropType<VueNode>, confirmLoading: PropTypes.bool, destroyOnClose: PropTypes.bool, footer: Object as PropType<VueNode>, getContainer: Function as PropType<(instance: any) => HTMLElement>, mask: PropTypes.bool.def(true), maskClosable: PropTypes.bool.def(true), keyboard: PropTypes.bool.def(true), maskStyle: Object as PropType<CSSProperties>, okType: PropTypes.oneOf(ButtonTypes).def('primary'), okButtonProps: Object as PropType<ButtonProps>, cancelButtonProps: Object as PropType<ButtonProps>, title: PropTypes.string, visible: PropTypes.bool, width: [String, Number] as PropType<string | number>, wrapClassName: PropTypes.string, zIndex: PropTypes.number, });