{"version":3,"file":"index.cjs","sources":["../../../../../../../packages/vue-components/vc-trigger/src/Popup/index.tsx"],"sourcesContent":["import { defineComponent, shallowRef, watch } from 'vue';\nimport { popupProps } from './interface';\nimport Mask from './Mask';\nimport MobilePopupInner from './MobilePopupInner';\nimport PopupInner from './PopupInner';\n\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'Popup',\n  inheritAttrs: false,\n  props: popupProps,\n  setup(props, { attrs, slots, expose }) {\n    const innerVisible = shallowRef(false);\n    const inMobile = shallowRef(false);\n    const popupRef = shallowRef();\n    const rootRef = shallowRef<HTMLElement>();\n    watch(\n      [() => props.visible, () => props.mobile],\n      () => {\n        innerVisible.value = props.visible;\n        if (props.visible && props.mobile)\n          inMobile.value = true;\n      },\n      { immediate: true, flush: 'post' },\n    );\n    expose({\n      forceAlign: () => {\n        popupRef.value?.forceAlign();\n      },\n      getElement: () => {\n        return popupRef.value?.getElement();\n      },\n    });\n    return () => {\n      const cloneProps = { ...props, ...attrs, visible: innerVisible.value };\n      const popupNode = inMobile.value\n        ? (\n            <MobilePopupInner\n              {...cloneProps}\n              mobile={props.mobile}\n              ref={popupRef}\n              v-slots={{ default: slots.default }}\n            >\n            </MobilePopupInner>\n          )\n        : (\n            <PopupInner {...cloneProps} ref={popupRef} v-slots={{ default: slots.default }} />\n          );\n\n      return (\n        <div ref={rootRef}>\n          <Mask {...cloneProps} />\n          {popupNode}\n        </div>\n      );\n    };\n  },\n});\n"],"names":["defineComponent","compatConfig","MODE","name","inheritAttrs","props","popupProps","setup","attrs","slots","expose","innerVisible","shallowRef","inMobile","popupRef","rootRef","watch","visible","mobile","value","immediate","flush","forceAlign","getElement","cloneProps","popupNode","_createVNode","MobilePopupInner","default","PopupInner","Mask"],"mappings":";;;;;;;;;;AAMA,4BAA+BA,mBAAA,CAAA;AAAA,EAC7BC,YAAc,EAAA;AAAA,IAAEC,IAAM,EAAA,CAAA;AAAA,GAAE;AAAA,EACxBC,IAAM,EAAA,OAAA;AAAA,EACNC,YAAc,EAAA,KAAA;AAAA,EACdC,KAAOC,EAAAA,qBAAAA;AAAAA,EACPC,MAAMF,KAAO,EAAA;AAAA,IAAEG,KAAAA;AAAAA,IAAOC,KAAAA;AAAAA,IAAOC,MAAAA;AAAAA,GAAU,EAAA;AACrC,IAAMC,MAAAA,YAAAA,GAAeC,eAAW,KAAK,CAAA,CAAA;AACrC,IAAMC,MAAAA,QAAAA,GAAWD,eAAW,KAAK,CAAA,CAAA;AACjC,IAAA,MAAME,WAAWF,cAAW,EAAA,CAAA;AAC5B,IAAA,MAAMG,UAAUH,cAAwB,EAAA,CAAA;AACxCI,IACEA,SAAA,CAAA,CAAC,MAAMX,KAAMY,CAAAA,OAAAA,EAAS,MAAMZ,KAAMa,CAAAA,MAAM,GACxC,MAAM;AACJP,MAAAA,YAAAA,CAAaQ,QAAQd,KAAMY,CAAAA,OAAAA,CAAAA;AAC3B,MAAIZ,IAAAA,KAAAA,CAAMY,WAAWZ,KAAMa,CAAAA,MAAAA;AACzBL,QAAAA,QAAAA,CAASM,KAAQ,GAAA,IAAA,CAAA;AAAA,KAErB,EAAA;AAAA,MAAEC,SAAW,EAAA,IAAA;AAAA,MAAMC,KAAO,EAAA,MAAA;AAAA,KAC5B,CAAA,CAAA;AACAX,IAAO,MAAA,CAAA;AAAA,MACLY,YAAYA,MAAM;;AAChBR,QAAAA,CAAAA,EAAAA,GAAAA,QAAAA,CAASK,UAATL,IAAgBQ,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,UAAAA,EAAAA,CAAAA;AAAAA,OAClB;AAAA,MACAC,YAAYA,MAAM;;AAChB,QAAOT,OAAAA,CAAAA,EAAAA,GAAAA,QAAAA,CAASK,UAATL,IAAgBS,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,UAAAA,EAAAA,CAAAA;AAAAA,OACzB;AAAA,KACD,CAAA,CAAA;AACD,IAAA,OAAO,MAAM;AACX,MAAA,MAAMC,UAAa,GAAA;AAAA,QAAE,GAAGnB,KAAAA;AAAAA,QAAO,GAAGG,KAAAA;AAAAA,QAAOS,SAASN,YAAaQ,CAAAA,KAAAA;AAAAA,OAAM,CAAA;AACrE,MAAA,MAAMM,SAAYZ,GAAAA,QAAAA,CAASM,KAAKO,GAAAA,eAAAA,CAAAC,wBAAA,EAAA;AAAA,QAAA,GAGpBH,UAAAA;AAAAA,QAAU,UACNnB,KAAMa,CAAAA,MAAAA;AAAAA,QAAM,KACfJ,EAAAA,QAAAA;AAAAA,OACI,EAAA;AAAA,QAAEc,SAASnB,KAAMmB,CAAAA,OAAAA;AAAAA,OAAS,CAAAF,GAAAA,eAAAA,CAAAG,kBAAA,EAAA;AAAA,QAAA,GAKrBL,UAAAA;AAAAA,QAAU,KAAOV,EAAAA,QAAAA;AAAAA,OAAmB,EAAA;AAAA,QAAEc,SAASnB,KAAMmB,CAAAA,OAAAA;AAAAA,OAAS,CAAA,CAAA;AAGpF,MAAA,OAAAF,gBAAA,KAAA,EAAA;AAAA,QAAA,KACYX,EAAAA,OAAAA;AAAAA,OAAO,EAAA,CAAAW,eAAAI,CAAAA,YAAAA,EACLN,mBACTC,SAAS,CAAA,CAAA,CAAA;AAAA,KAGhB,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}