{"version":3,"file":"props.cjs","sources":["../../../../../../packages/components/drawer/src/props.ts"],"sourcesContent":["import type { getContainerFunc, KeyboardEventHandler, MouseEventHandler } from '@antdv/types';\n\nimport type { CSSProperties, ExtractPropTypes, PropType, TransitionProps } from 'vue';\nimport type { ILevelMove, IPlacement, PushState, sizeType } from './interface';\nimport { arrayType, functionType, objectType, PropTypes } from '@antdv/utils';\n\nexport const PlacementTypes = ['top', 'right', 'bottom', 'left'] as const;\n\nfunction baseProps() {\n  return {\n    prefixCls: String,\n    width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n    height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n    style: { type: Object as PropType<CSSProperties>, default: () => ({}) },\n    class: String,\n    rootClassName: String,\n    rootStyle: objectType<CSSProperties>(),\n    placement: {\n      type: String as PropType<IPlacement>,\n    },\n    wrapperClassName: String,\n    level: { type: [String, Array] as PropType<string | string[]> },\n    levelMove: {\n      type: [Number, Function, Array] as PropType<\n      ILevelMove | ((e: { target: HTMLElement, open: boolean }) => ILevelMove)\n      >,\n    },\n    duration: String,\n    ease: String,\n    showMask: { type: Boolean, default: undefined },\n    maskClosable: { type: Boolean, default: undefined },\n    maskStyle: { type: Object as PropType<CSSProperties>, default: () => ({}) },\n    afterVisibleChange: Function,\n    keyboard: { type: Boolean, default: undefined },\n    contentWrapperStyle: arrayType<CSSProperties[]>(),\n    autofocus: { type: Boolean, default: undefined },\n    open: { type: Boolean, default: undefined },\n\n    // Motion\n    motion: functionType<(placement: IPlacement) => TransitionProps>(),\n    maskMotion: objectType<TransitionProps>(),\n  };\n}\n\nexport function drawerWrapperProps() {\n  return {\n    ...baseProps(),\n    forceRender: { type: Boolean, default: undefined },\n    getContainer: PropTypes.oneOfType([\n      PropTypes.string,\n      PropTypes.func,\n      PropTypes.object,\n      PropTypes.looseBool,\n    ]),\n  };\n}\n\nexport function drawerChildProps() {\n  return {\n    ...baseProps(),\n    getContainer: Function,\n    getOpenCount: Function as PropType<() => number>,\n    scrollLocker: PropTypes.any,\n    inline: Boolean,\n  };\n}\n\nexport function drawerProps() {\n  return {\n    'autofocus': { type: Boolean, default: undefined },\n    'closable': { type: Boolean, default: undefined },\n    'closeIcon': PropTypes.any,\n    'destroyOnClose': { type: Boolean, default: undefined },\n    'forceRender': { type: Boolean, default: undefined },\n    'getContainer': {\n      type: [String, Function, Boolean, Object] as PropType<\n      string | HTMLElement | getContainerFunc | false\n      >,\n      default: undefined as string | HTMLElement | getContainerFunc | false,\n    },\n    'maskClosable': { type: Boolean, default: undefined },\n    'mask': { type: Boolean, default: undefined },\n    'maskStyle': objectType<CSSProperties>(),\n    'rootClassName': String,\n    'rootStyle': objectType<CSSProperties>(),\n    'size': {\n      type: String as PropType<sizeType>,\n    },\n    'drawerStyle': objectType<CSSProperties>(),\n    'headerStyle': objectType<CSSProperties>(),\n    'bodyStyle': objectType<CSSProperties>(),\n    'contentWrapperStyle': {\n      type: Object as PropType<CSSProperties>,\n      default: () => ({}),\n    },\n    'title': PropTypes.any,\n    /** @deprecated Please use `open` instead */\n    'visible': { type: Boolean, default: undefined },\n    'open': { type: Boolean, default: undefined },\n    'width': PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n    'height': PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n    'zIndex': Number,\n    'prefixCls': String,\n    'push': PropTypes.oneOfType([PropTypes.looseBool, { type: Object as PropType<PushState> }]),\n    'placement': PropTypes.oneOf(PlacementTypes),\n    'keyboard': { type: Boolean, default: undefined },\n    'extra': PropTypes.any,\n    'footer': PropTypes.any,\n    'footerStyle': objectType<CSSProperties>(),\n    'level': PropTypes.any,\n    'lockScroll': { type: Boolean, default: true },\n    'levelMove': {\n      type: [Number, Array, Function] as PropType<\n      ILevelMove | ((e: { target: HTMLElement, open: boolean }) => ILevelMove)\n      >,\n    },\n    'handle': PropTypes.any,\n    /** @deprecated Use `@afterVisibleChange` instead */\n    'afterVisibleChange': Function as PropType<(visible: boolean) => void>,\n    /** @deprecated Please use `@afterOpenChange` instead */\n    'onAfterVisibleChange': Function as PropType<(visible: boolean) => void>,\n    'onAfterOpenChange': Function as PropType<(open: boolean) => void>,\n    /** @deprecated Please use `onUpdate:open` instead */\n    'onUpdate:visible': Function as PropType<(visible: boolean) => void>,\n    'onUpdate:open': Function as PropType<(open: boolean) => void>,\n    'onClose': Function as PropType<MouseEventHandler | KeyboardEventHandler>,\n  };\n}\n\nexport type DrawerProps = Partial<ExtractPropTypes<ReturnType<typeof drawerProps>>>;\n"],"names":["PropTypes","objectType","arrayType","functionType"],"mappings":"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"}