{"version":3,"file":"context.cjs","sources":["../../../../../../packages/vue-components/vc-trigger/src/context.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue';\nimport { computed, inject, provide } from 'vue';\n\nexport interface PortalContextProps {\n  shouldRender: Ref<boolean>;\n  inTriggerContext: boolean; // 仅处理 trigger 上下文的 portal\n}\nconst PortalContextKey: InjectionKey<PortalContextProps> = Symbol('PortalContextKey');\nexport function useProvidePortal(instance: any, config = { inTriggerContext: true }) {\n  provide(PortalContextKey, {\n    inTriggerContext: config.inTriggerContext,\n    shouldRender: computed(() => {\n      const { sPopupVisible, popupRef, forceRender, autoDestroy } = instance || {};\n      // if (popPortal) return true;\n      let shouldRender = false;\n      if (sPopupVisible || popupRef || forceRender)\n        shouldRender = true;\n\n      if (!sPopupVisible && autoDestroy)\n        shouldRender = false;\n\n      return shouldRender;\n    }),\n  });\n}\n\nexport function useInjectPortal() {\n  useProvidePortal({}, { inTriggerContext: false });\n  const portalContext = inject(PortalContextKey, {\n    shouldRender: computed(() => false),\n    inTriggerContext: false,\n  });\n  return {\n    shouldRender: computed(\n      () => portalContext.shouldRender.value || portalContext.inTriggerContext === false,\n    ),\n  };\n}\n"],"names":["provide","computed","inject"],"mappings":";;;;AAOA,MAAM,gBAAA,GAAqD,OAAO,kBAAkB,CAAA,CAAA;AAC7E,SAAS,iBAAiB,QAAe,EAAA,MAAA,GAAS,EAAE,gBAAA,EAAkB,MAAQ,EAAA;AACnF,EAAAA,WAAA,CAAQ,gBAAkB,EAAA;AAAA,IACxB,kBAAkB,MAAO,CAAA,gBAAA;AAAA,IACzB,YAAA,EAAcC,aAAS,MAAM;AAC3B,MAAA,MAAM,EAAE,aAAe,EAAA,QAAA,EAAU,aAAa,WAAY,EAAA,GAAI,YAAY,EAAC,CAAA;AAE3E,MAAA,IAAI,YAAe,GAAA,KAAA,CAAA;AACnB,MAAA,IAAI,iBAAiB,QAAY,IAAA,WAAA;AAC/B,QAAe,YAAA,GAAA,IAAA,CAAA;AAEjB,MAAA,IAAI,CAAC,aAAiB,IAAA,WAAA;AACpB,QAAe,YAAA,GAAA,KAAA,CAAA;AAEjB,MAAO,OAAA,YAAA,CAAA;AAAA,KACR,CAAA;AAAA,GACF,CAAA,CAAA;AACH,CAAA;AAEO,SAAS,eAAkB,GAAA;AAChC,EAAA,gBAAA,CAAiB,EAAC,EAAG,EAAE,gBAAA,EAAkB,OAAO,CAAA,CAAA;AAChD,EAAM,MAAA,aAAA,GAAgBC,WAAO,gBAAkB,EAAA;AAAA,IAC7C,YAAA,EAAcD,YAAS,CAAA,MAAM,KAAK,CAAA;AAAA,IAClC,gBAAkB,EAAA,KAAA;AAAA,GACnB,CAAA,CAAA;AACD,EAAO,OAAA;AAAA,IACL,YAAc,EAAAA,YAAA;AAAA,MACZ,MAAM,aAAA,CAAc,YAAa,CAAA,KAAA,IAAS,cAAc,gBAAqB,KAAA,KAAA;AAAA,KAC/E;AAAA,GACF,CAAA;AACF;;;;;"}