ant-design-vue/components/vc-dialog/IDialogPropTypes.ts

50 lines
2.0 KiB
TypeScript

import type { CSSProperties, ExtractPropTypes, PropType } from 'vue';
import PropTypes from '../_util/vue-types';
export function dialogPropTypes() {
return {
keyboard: { type: Boolean, default: undefined },
mask: { type: Boolean, default: undefined },
afterClose: Function,
closable: { type: Boolean, default: undefined },
maskClosable: { type: Boolean, default: undefined },
visible: { type: Boolean, default: undefined },
destroyOnClose: { type: Boolean, default: undefined },
mousePosition: PropTypes.shape({
x: Number,
y: Number,
}).loose,
title: PropTypes.any,
footer: PropTypes.any,
transitionName: String,
maskTransitionName: String,
animation: PropTypes.any,
maskAnimation: PropTypes.any,
wrapStyle: { type: Object as PropType<CSSProperties>, default: undefined as CSSProperties },
bodyStyle: { type: Object as PropType<CSSProperties>, default: undefined as CSSProperties },
maskStyle: { type: Object as PropType<CSSProperties>, default: undefined as CSSProperties },
prefixCls: String,
wrapClassName: String,
rootClassName: String,
width: [String, Number],
height: [String, Number],
zIndex: Number,
bodyProps: PropTypes.any,
maskProps: PropTypes.any,
wrapProps: PropTypes.any,
getContainer: PropTypes.any,
dialogStyle: { type: Object as PropType<CSSProperties>, default: undefined as CSSProperties },
dialogClass: String,
closeIcon: PropTypes.any,
forceRender: { type: Boolean, default: undefined },
getOpenCount: Function as PropType<() => number>,
// https://github.com/ant-design/ant-design/issues/19771
// https://github.com/react-component/dialog/issues/95
focusTriggerAfterClose: { type: Boolean, default: undefined },
onClose: Function as PropType<(e: MouseEvent | KeyboardEvent) => void>,
modalRender: Function,
};
}
export type IDialogChildProps = Partial<ExtractPropTypes<ReturnType<typeof dialogPropTypes>>>;
export default dialogPropTypes;