{"version":3,"file":"DialogWrap.cjs","sources":["../../../../../../packages/vue-components/vc-dialog/src/DialogWrap.tsx"],"sourcesContent":["import type { IDialogChildProps } from './IDialogPropTypes';\nimport { initDefaultProps } from '@antdv/utils';\nimport { defineComponent, ref, watch } from 'vue';\nimport Portal from '../../portal/src/PortalWrapper';\nimport { useProvidePortal } from '../../vc-trigger/src/context';\nimport Dialog from './Dialog';\nimport getDialogPropTypes from './IDialogPropTypes';\n\nconst IDialogPropTypes = getDialogPropTypes();\nconst DialogWrap = defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'DialogWrap',\n  inheritAttrs: false,\n  props: initDefaultProps(IDialogPropTypes, {\n    visible: false,\n  }),\n  setup(props, { attrs, slots }) {\n    const animatedVisible = ref(props.visible);\n    useProvidePortal({}, { inTriggerContext: false });\n    watch(\n      () => props.visible,\n      () => {\n        if (props.visible)\n          animatedVisible.value = true;\n      },\n      { flush: 'post' },\n    );\n    return () => {\n      const { visible, getContainer, forceRender, destroyOnClose = false, afterClose } = props;\n      let dialogProps = {\n        ...props,\n        ...attrs,\n        ref: '_component',\n        key: 'dialog',\n      } as IDialogChildProps;\n      // 渲染在当前 dom 里；\n      if (getContainer === false) {\n        return (\n          <Dialog\n            {...dialogProps}\n            getOpenCount={() => 2} // 不对 body 做任何操作。。\n            v-slots={slots}\n          >\n          </Dialog>\n        );\n      }\n\n      // Destroy on close will remove wrapped div\n      if (!forceRender && destroyOnClose && !animatedVisible.value)\n        return null;\n\n      return (\n        <Portal\n          autoLock\n          visible={visible}\n          forceRender={forceRender}\n          getContainer={getContainer}\n          v-slots={{\n            default: (childProps: IDialogChildProps) => {\n              dialogProps = {\n                ...dialogProps,\n                ...childProps,\n                afterClose: () => {\n                  afterClose?.();\n                  animatedVisible.value = false;\n                },\n              };\n              return <Dialog {...dialogProps} v-slots={slots}></Dialog>;\n            },\n          }}\n        />\n      );\n    };\n  },\n});\n\nexport default DialogWrap;\n"],"names":["IDialogPropTypes","getDialogPropTypes","DialogWrap","defineComponent","compatConfig","MODE","name","inheritAttrs","props","initDefaultProps","visible","setup","attrs","slots","animatedVisible","ref","useProvidePortal","inTriggerContext","watch","value","flush","getContainer","forceRender","destroyOnClose","afterClose","dialogProps","key","_createVNode","Dialog","getOpenCount","Portal","default","childProps"],"mappings":";;;;;;;;;;;;AAQA,MAAMA,mBAAmBC,kCAAmB,EAAA,CAAA;AAC5C,MAAMC,6BAA6BC,mBAAA,CAAA;AAAA,EACjCC,YAAc,EAAA;AAAA,IAAEC,IAAM,EAAA,CAAA;AAAA,GAAE;AAAA,EACxBC,IAAM,EAAA,YAAA;AAAA,EACNC,YAAc,EAAA,KAAA;AAAA,EACdC,KAAAA,EAAOC,kCAAiBT,gBAAkB,EAAA;AAAA,IACxCU,OAAS,EAAA,KAAA;AAAA,GACV,CAAA;AAAA,EACDC,MAAMH,KAAO,EAAA;AAAA,IAAEI,KAAAA;AAAAA,IAAOC,KAAAA;AAAAA,GAAS,EAAA;AAC7B,IAAMC,MAAAA,eAAAA,GAAkBC,OAAIP,CAAAA,KAAAA,CAAME,OAAO,CAAA,CAAA;AACzCM,IAAAA,wBAAAA,CAAiB,EAAI,EAAA;AAAA,MAAEC,gBAAkB,EAAA,KAAA;AAAA,KAAO,CAAA,CAAA;AAChDC,IACEA,SAAA,CAAA,MAAMV,KAAME,CAAAA,OAAAA,EACZ,MAAM;AACJ,MAAA,IAAIF,KAAME,CAAAA,OAAAA;AACRI,QAAAA,eAAAA,CAAgBK,KAAQ,GAAA,IAAA,CAAA;AAAA,KAE5B,EAAA;AAAA,MAAEC,KAAO,EAAA,MAAA;AAAA,KACX,CAAA,CAAA;AACA,IAAA,OAAO,MAAM;AACX,MAAM,MAAA;AAAA,QAAEV,OAAAA;AAAAA,QAASW,YAAAA;AAAAA,QAAcC,WAAAA;AAAAA,QAAaC,cAAiB,GAAA,KAAA;AAAA,QAAOC,UAAAA;AAAAA,OAAehB,GAAAA,KAAAA,CAAAA;AACnF,MAAA,IAAIiB,WAAc,GAAA;AAAA,QAChB,GAAGjB,KAAAA;AAAAA,QACH,GAAGI,KAAAA;AAAAA,QACHG,GAAK,EAAA,YAAA;AAAA,QACLW,GAAK,EAAA,QAAA;AAAA,OACP,CAAA;AAEA,MAAA,IAAIL,iBAAiB,KAAO,EAAA;AAC1B,QAAA,OAAAM,gBAAAC,cAAA,EAAA;AAAA,UAAA,GAEQH,WAAAA;AAAAA,UAAW,gBACDI,MAAM,CAAA;AAAA,WACXhB,KAAK,CAAA,CAAA;AAAA,OAIpB;AAGA,MAAA,IAAI,CAACS,WAAAA,IAAeC,cAAkB,IAAA,CAACT,eAAgBK,CAAAA,KAAAA;AACrD,QAAO,OAAA,IAAA,CAAA;AAET,MAAA,OAAAQ,gBAAAG,qBAAA,EAAA;AAAA,QAAA,UAAA,EAAA,IAAA;AAAA,QAAA,SAGapB,EAAAA,OAAAA;AAAAA,QAAO,aACHY,EAAAA,WAAAA;AAAAA,QAAW,cACVD,EAAAA,YAAAA;AAAAA,OACL,EAAA;AAAA,QACPU,SAAUC,CAAkC,UAAA,KAAA;AAC1CP,UAAc,WAAA,GAAA;AAAA,YACZ,GAAGA,WAAAA;AAAAA,YACH,GAAGO,UAAAA;AAAAA,YACHR,YAAYA,MAAM;AAChBA,cAAAA,UAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAAA,EAAAA,CAAAA;AACAV,cAAAA,eAAAA,CAAgBK,KAAQ,GAAA,KAAA,CAAA;AAAA,aAC1B;AAAA,WACF,CAAA;AACA,UAAAQ,OAAAA,eAAAA,CAAAC,cAAmBH,EAAAA,WAAAA,EAAsBZ,KAAK,CAAA,CAAA;AAAA,SAChD;AAAA,OACD,CAAA,CAAA;AAAA,KAGP,CAAA;AAAA,GACF;AACF,CAAC;;;;"}