{"version":3,"file":"DrawerWrapper.cjs","sources":["../../../../../../packages/components/drawer/src/DrawerWrapper.tsx"],"sourcesContent":["import { initDefaultProps } from '@antdv/utils';\nimport { PortalWrapper } from '@antdv/vue-components';\nimport { defineComponent, ref } from 'vue';\nimport Child from './DrawerChild';\nimport { drawerWrapperProps } from './props';\n\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  inheritAttrs: false,\n  name: 'DrawerWrapper',\n  props: initDefaultProps(drawerWrapperProps(), {\n    prefixCls: 'drawer',\n    placement: 'left',\n    getContainer: 'body',\n    level: 'all',\n    duration: '.3s',\n    ease: 'cubic-bezier(0.78, 0.14, 0.15, 0.86)',\n    afterVisibleChange: () => { },\n    showMask: true,\n    maskClosable: true,\n    maskStyle: {},\n    wrapperClassName: '',\n    keyboard: true,\n    forceRender: false,\n    autofocus: true,\n  }),\n  emits: ['handleClick', 'close'],\n  setup(props, { emit, slots }) {\n    const dom = ref<HTMLElement>(null);\n\n    const onHandleClick = (e: MouseEvent | KeyboardEvent) => {\n      emit('handleClick', e);\n    };\n\n    const onClose = (e: MouseEvent | KeyboardEvent) => {\n      emit('close', e);\n    };\n\n    return () => {\n      const {\n        getContainer,\n        wrapperClassName,\n        rootClassName,\n        rootStyle,\n        forceRender,\n        ...otherProps\n      } = props;\n\n      let portal = null;\n      if (!getContainer) {\n        return (\n          <Child\n            v-slots={slots}\n            {...otherProps}\n            rootClassName={rootClassName}\n            rootStyle={rootStyle}\n            open={props.open}\n            onClose={onClose}\n            onHandleClick={onHandleClick}\n            inline={true}\n          >\n          </Child>\n        );\n      }\n\n      // 如果有 handler 为内置强制渲染；\n      const $forceRender = !!slots.handler || forceRender;\n      if ($forceRender || props.open || dom.value) {\n        portal = (\n          <PortalWrapper\n            autoLock\n            visible={props.open}\n            forceRender={$forceRender}\n            getContainer={getContainer}\n            wrapperClassName={wrapperClassName}\n            v-slots={{\n              default: ({ visible, afterClose, ...rest }) => (\n                <Child\n                  ref={dom}\n                  v-slots={slots}\n                  {...otherProps}\n                  {...rest}\n                  rootClassName={rootClassName}\n                  rootStyle={rootStyle}\n                  open={visible !== undefined ? visible : props.open}\n                  afterVisibleChange={\n                    afterClose !== undefined ? afterClose : props.afterVisibleChange\n                  }\n                  onClose={onClose}\n                  onHandleClick={onHandleClick}\n                />\n              ),\n            }}\n          >\n          </PortalWrapper>\n        );\n      }\n      return portal;\n    };\n  },\n});\n"],"names":["defineComponent","compatConfig","MODE","inheritAttrs","name","props","initDefaultProps","drawerWrapperProps","prefixCls","placement","getContainer","level","duration","ease","afterVisibleChange","showMask","maskClosable","maskStyle","wrapperClassName","keyboard","forceRender","autofocus","emits","setup","emit","slots","dom","ref","onHandleClick","e","onClose","rootClassName","rootStyle","otherProps","portal","_createVNode","Child","open","$forceRender","handler","value","PortalWrapper","default","visible","afterClose","rest","undefined"],"mappings":"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"}