{"version":3,"file":"content2.mjs","sources":["../../../../../../../packages/components/tooltip/src/content.vue"],"sourcesContent":["<template>\n  <el-teleport :disabled=\"!teleported\" :to=\"appendTo\">\n    <transition\n      v-if=\"shouldRender || !ariaHidden\"\n      :name=\"transitionClass\"\n      :appear=\"!persistentRef\"\n      @after-leave=\"onTransitionLeave\"\n      @before-enter=\"onBeforeEnter\"\n      @after-enter=\"onAfterShow\"\n      @before-leave=\"onBeforeLeave\"\n    >\n      <el-popper-content\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        :arrow-offset=\"arrowOffset\"\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        <slot />\n      </el-popper-content>\n    </transition>\n  </el-teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, onBeforeUnmount, ref, unref, watch } from 'vue'\nimport { computedEager, onClickOutside } from '@vueuse/core'\nimport { useNamespace, usePopperContainerId } from '@hd-front-end/hooks'\nimport {\n  castArray,\n  composeEventHandlers,\n  focusElement,\n} from '@hd-front-end/utils'\nimport { ElPopperContent } from '@hd-front-end/components/popper'\nimport ElTeleport from '@hd-front-end/components/teleport'\nimport { TOOLTIP_INJECTION_KEY } from './constants'\nimport { useTooltipContentProps } from './content'\n\nimport type { PopperContentInstance } from '@hd-front-end/components/popper'\n\ndefineOptions({\n  name: 'ElTooltipContent',\n  inheritAttrs: false,\n})\n\nconst props = defineProps(useTooltipContentProps)\n\nconst { selector } = usePopperContainerId()\nconst ns = useNamespace('tooltip')\n\nconst contentRef = ref<PopperContentInstance>()\nconst popperContentRef = computedEager(() => contentRef.value?.popperContentRef)\nlet stopHandle: ReturnType<typeof onClickOutside>\nconst {\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)!\nconst transitionClass = computed(() => {\n  return props.transition || `${ns.namespace.value}-fade-in-linear`\n})\nconst 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    if (!process.env.RUN_TEST_WITH_PERSISTENT) {\n      return true\n    }\n  }\n  return props.persistent\n})\n\nonBeforeUnmount(() => {\n  stopHandle?.()\n})\n\nconst shouldRender = computed(() => {\n  return unref(persistentRef) ? true : unref(open)\n})\n\nconst shouldShow = computed(() => {\n  return props.disabled ? false : unref(open)\n})\n\nconst appendTo = computed(() => {\n  return props.appendTo || selector.value\n})\n\nconst contentStyle = computed(() => props.style ?? {})\n\nconst ariaHidden = ref(true)\n\nconst onTransitionLeave = () => {\n  onHide()\n  isFocusInsideContent() && focusElement(document.body, { preventScroll: true })\n  ariaHidden.value = true\n}\n\nconst stopWhenControlled = () => {\n  if (unref(controlled)) return true\n}\n\nconst onContentEnter = composeEventHandlers(stopWhenControlled, () => {\n  if (props.enterable && unref(trigger) === 'hover') {\n    onOpen()\n  }\n})\n\nconst onContentLeave = composeEventHandlers(stopWhenControlled, () => {\n  if (unref(trigger) === 'hover') {\n    onClose()\n  }\n})\n\nconst onBeforeEnter = () => {\n  contentRef.value?.updatePopper?.()\n  onBeforeShow?.()\n}\n\nconst onBeforeLeave = () => {\n  onBeforeHide?.()\n}\n\nconst onAfterShow = () => {\n  onShow()\n}\n\nconst onBlur = () => {\n  if (!props.virtualTriggering) {\n    onClose()\n  }\n}\n\nconst isFocusInsideContent = (event?: FocusEvent) => {\n  const popperContent: HTMLElement | undefined =\n    contentRef.value?.popperContentRef\n  const activeElement = (event?.relatedTarget as Node) || document.activeElement\n\n  return popperContent?.contains(activeElement)\n}\n\nwatch(\n  () => unref(open),\n  (val) => {\n    if (!val) {\n      stopHandle?.()\n    } else {\n      ariaHidden.value = false\n      stopHandle = onClickOutside(popperContentRef, () => {\n        if (unref(controlled)) return\n        const needClose = castArray(unref(trigger)).every((item) => {\n          return item !== 'hover' && item !== 'focus'\n        })\n        if (needClose) {\n          onClose()\n        }\n      })\n    }\n  },\n  {\n    flush: 'post',\n  }\n)\n\nwatch(\n  () => props.content,\n  () => {\n    contentRef.value?.updatePopper?.()\n  }\n)\n\ndefineExpose({\n  /**\n   * @description el-popper-content component instance\n   */\n  contentRef,\n  /**\n   * @description validate current focus event is trigger inside el-popper-content\n   */\n  isFocusInsideContent,\n})\n</script>\n"],"names":["_createBlock","_unref","teleported","_openBlock","_Transition","_withDirectives","_createVNode","_mergeProps","$attrs","ariaLabel","boundariesPadding","fallbackPlacements","gpuAcceleration","offset","placement","popperOptions","arrowOffset","strategy","effect","enterable","pure","popperClass","popperStyle","referenceEl","triggerTargetEl","zIndex","_renderSlot"],"mappings":"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"}