{"version":3,"file":"content.mjs","sources":["../../../../../../packages/components/tooltip/src/content.vue"],"sourcesContent":["<template>\n  <teleport :disabled=\"!teleported\" :to=\"appendTo\">\n    <transition\n      :name=\"transition\"\n      @after-leave=\"onTransitionLeave\"\n      @before-enter=\"onBeforeEnter\"\n      @after-enter=\"onAfterShow\"\n      @before-leave=\"onBeforeLeave\"\n    >\n      <el-popper-content\n        v-if=\"shouldRender\"\n        v-show=\"shouldShow\"\n        :id=\"id\"\n        ref=\"contentRef\"\n        v-bind=\"$attrs\"\n        :aria-label=\"ariaLabel\"\n        :aria-hidden=\"ariaHidden\"\n        :boundaries-padding=\"boundariesPadding\"\n        :fallback-placements=\"fallbackPlacements\"\n        :gpu-acceleration=\"gpuAcceleration\"\n        :offset=\"offset\"\n        :placement=\"placement\"\n        :popper-options=\"popperOptions\"\n        :strategy=\"strategy\"\n        :effect=\"effect\"\n        :enterable=\"enterable\"\n        :pure=\"pure\"\n        :popper-class=\"popperClass\"\n        :popper-style=\"[popperStyle, contentStyle]\"\n        :reference-el=\"referenceEl\"\n        :trigger-target-el=\"triggerTargetEl\"\n        :visible=\"shouldShow\"\n        :z-index=\"zIndex\"\n        @mouseenter=\"onContentEnter\"\n        @mouseleave=\"onContentLeave\"\n        @blur=\"onBlur\"\n        @close=\"onClose\"\n      >\n        <!-- Workaround bug #6378 -->\n        <template v-if=\"!destroyed\">\n          <slot />\n        </template>\n      </el-popper-content>\n    </transition>\n  </teleport>\n</template>\n\n<script lang=\"ts\">\nimport {\n  computed,\n  defineComponent,\n  inject,\n  onBeforeUnmount,\n  ref,\n  unref,\n  watch,\n} from 'vue'\nimport { onClickOutside } from '@vueuse/core'\nimport { ElPopperContent } from '@element-plus/components/popper'\nimport { composeEventHandlers } from '@element-plus/utils'\n\nimport { useTooltipContentProps } from './tooltip'\nimport { TOOLTIP_INJECTION_KEY } from './tokens'\n\nexport default defineComponent({\n  name: 'ElTooltipContent',\n  components: {\n    ElPopperContent,\n  },\n  inheritAttrs: false,\n  props: useTooltipContentProps,\n  setup(props) {\n    const contentRef = ref<InstanceType<typeof ElPopperContent> | null>(null)\n    const intermediateOpen = ref(false)\n    const entering = ref(false)\n    const leaving = ref(false)\n    const destroyed = ref(false)\n    const {\n      controlled,\n      id,\n      open,\n      trigger,\n      onClose,\n      onOpen,\n      onShow,\n      onHide,\n      onBeforeShow,\n      onBeforeHide,\n    } = inject(TOOLTIP_INJECTION_KEY, undefined)!\n    const persistentRef = computed(() => {\n      // For testing, we would always want the content to be rendered\n      // to the DOM, so we need to return true here.\n      if (process.env.NODE_ENV === 'test') {\n        return true\n      }\n      return props.persistent\n    })\n\n    onBeforeUnmount(() => {\n      destroyed.value = true\n    })\n\n    const shouldRender = computed(() => {\n      return unref(persistentRef) ? true : unref(open)\n    })\n\n    const shouldShow = computed(() => {\n      return props.disabled ? false : unref(open)\n    })\n\n    const contentStyle = computed(() => (props.style ?? {}) as any)\n\n    const ariaHidden = computed(() => !unref(open))\n\n    const onTransitionLeave = () => {\n      onHide()\n    }\n\n    const stopWhenControlled = () => {\n      if (unref(controlled)) return true\n    }\n\n    const onContentEnter = composeEventHandlers(stopWhenControlled, () => {\n      if (props.enterable && unref(trigger) === 'hover') {\n        onOpen()\n      }\n    })\n\n    const onContentLeave = composeEventHandlers(stopWhenControlled, () => {\n      if (unref(trigger) === 'hover') {\n        onClose()\n      }\n    })\n\n    const onBeforeEnter = () => {\n      contentRef.value?.updatePopper?.()\n      onBeforeShow?.()\n    }\n\n    const onBeforeLeave = () => {\n      onBeforeHide?.()\n    }\n\n    const onAfterShow = () => {\n      onShow()\n      stopHandle = onClickOutside(\n        computed(() => {\n          return contentRef.value?.popperContentRef\n        }),\n        () => {\n          if (unref(controlled)) return\n          const $trigger = unref(trigger)\n          if ($trigger !== 'hover') {\n            onClose()\n          }\n        }\n      )\n    }\n\n    const onBlur = () => {\n      if (!props.virtualTriggering) {\n        onClose()\n      }\n    }\n\n    let stopHandle: ReturnType<typeof onClickOutside>\n\n    watch(\n      () => unref(open),\n      (val) => {\n        if (!val) {\n          stopHandle?.()\n        }\n      },\n      {\n        flush: 'post',\n      }\n    )\n\n    return {\n      ariaHidden,\n      entering,\n      leaving,\n      id,\n      intermediateOpen,\n      contentStyle,\n      contentRef,\n      destroyed,\n      shouldRender,\n      shouldShow,\n      onClose,\n      open,\n      onAfterShow,\n      onBeforeEnter,\n      onBeforeLeave,\n      onContentEnter,\n      onContentLeave,\n      onTransitionLeave,\n      onBlur,\n    }\n  },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_createBlock","_Teleport","_createVNode","_Transition","_withCtx","_withDirectives","_mergeProps","_renderSlot","_createCommentVNode"],"mappings":"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"}