{"version":3,"file":"props.mjs","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":[],"mappings":"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"}