{"version":3,"file":"tooltip2.mjs","sources":["../../../../../../packages/components/tooltip/src/tooltip.vue"],"sourcesContent":["<template>\n  <el-popper ref=\"popperRef\" :role=\"role\">\n    <el-tooltip-trigger\n      :disabled=\"disabled\"\n      :trigger=\"trigger\"\n      :trigger-keys=\"triggerKeys\"\n      :virtual-ref=\"virtualRef\"\n      :virtual-triggering=\"virtualTriggering\"\n    >\n      <slot v-if=\"$slots.default\" />\n    </el-tooltip-trigger>\n    <el-tooltip-content\n      ref=\"contentRef\"\n      :aria-label=\"ariaLabel\"\n      :boundaries-padding=\"boundariesPadding\"\n      :content=\"content\"\n      :disabled=\"disabled\"\n      :effect=\"effect\"\n      :enterable=\"enterable\"\n      :fallback-placements=\"fallbackPlacements\"\n      :hide-after=\"hideAfter\"\n      :gpu-acceleration=\"gpuAcceleration\"\n      :offset=\"offset\"\n      :persistent=\"persistent\"\n      :popper-class=\"popperClass\"\n      :popper-style=\"popperStyle\"\n      :placement=\"placement\"\n      :popper-options=\"popperOptions\"\n      :pure=\"pure\"\n      :raw-content=\"rawContent\"\n      :reference-el=\"referenceEl\"\n      :trigger-target-el=\"triggerTargetEl\"\n      :show-after=\"compatShowAfter\"\n      :strategy=\"strategy\"\n      :teleported=\"teleported\"\n      :transition=\"transition\"\n      :virtual-triggering=\"virtualTriggering\"\n      :z-index=\"zIndex\"\n      :append-to=\"appendTo\"\n    >\n      <slot name=\"content\">\n        <span v-if=\"rawContent\" v-html=\"content\" />\n        <span v-else>{{ content }}</span>\n      </slot>\n      <el-popper-arrow v-if=\"compatShowArrow\" :arrow-offset=\"arrowOffset\" />\n    </el-tooltip-content>\n  </el-popper>\n</template>\n\n<script lang=\"ts\">\nimport {\n  computed,\n  defineComponent,\n  onDeactivated,\n  provide,\n  readonly,\n  ref,\n  toRef,\n  unref,\n  watch,\n} from 'vue'\nimport {\n  ElPopper,\n  ElPopperArrow,\n  usePopperArrowProps,\n  usePopperProps,\n} from '@element-plus/components/popper'\n\nimport { debugWarn, isBoolean, isUndefined } from '@element-plus/utils'\nimport {\n  createModelToggleComposable,\n  useDelayedToggle,\n  useId,\n  usePopperContainer,\n} from '@element-plus/hooks'\nimport ElTooltipContent from './content.vue'\nimport ElTooltipTrigger from './trigger.vue'\nimport {\n  useTooltipContentProps,\n  useTooltipProps,\n  useTooltipTriggerProps,\n} from './tooltip'\nimport { TOOLTIP_INJECTION_KEY } from './tokens'\n\nconst { useModelToggleProps, useModelToggle, useModelToggleEmits } =\n  createModelToggleComposable('visible' as const)\n\nexport default defineComponent({\n  name: 'ElTooltip',\n  components: {\n    ElPopper,\n    ElPopperArrow,\n    ElTooltipContent,\n    ElTooltipTrigger,\n  },\n  props: {\n    ...usePopperProps,\n    ...useModelToggleProps,\n    ...useTooltipContentProps,\n    ...useTooltipTriggerProps,\n    ...usePopperArrowProps,\n    ...useTooltipProps,\n  },\n  emits: [\n    ...useModelToggleEmits,\n    'before-show',\n    'before-hide',\n    'show',\n    'hide',\n    'open',\n    'close',\n  ],\n  setup(props, { emit }) {\n    usePopperContainer()\n    const compatShowAfter = computed(() => {\n      if (!isUndefined(props.openDelay)) {\n        debugWarn(\n          'ElTooltip',\n          'open-delay is about to be deprecated in the next major version, please use `show-after` instead'\n        )\n      }\n      return props.openDelay || (props.showAfter as number)\n    })\n    const compatShowArrow = computed(() => {\n      if (!isUndefined(props.visibleArrow)) {\n        debugWarn(\n          'ElTooltip',\n          '`visible-arrow` is about to be deprecated in the next major version, please use `show-arrow` instead'\n        )\n      }\n      return isBoolean(props.visibleArrow)\n        ? props.visibleArrow\n        : props.showArrow\n    })\n\n    const id = useId()\n    const popperRef = ref<InstanceType<typeof ElPopper> | null>(null)\n    const contentRef = ref<InstanceType<typeof ElTooltipContent> | null>(null)\n\n    const updatePopper = () => {\n      const popperComponent = unref(popperRef)\n      if (popperComponent) {\n        popperComponent.popperInstanceRef?.update()\n      }\n    }\n    const open = ref(false)\n    const toggleReason = ref<Event | undefined>(undefined)\n\n    const { show, hide } = useModelToggle({\n      indicator: open,\n      toggleReason,\n    })\n\n    const { onOpen, onClose } = useDelayedToggle({\n      showAfter: compatShowAfter,\n      hideAfter: toRef(props, 'hideAfter'),\n      open: show,\n      close: hide,\n    })\n\n    const controlled = computed(() => isBoolean(props.visible))\n\n    provide(TOOLTIP_INJECTION_KEY, {\n      controlled,\n      id,\n      open: readonly(open),\n      trigger: toRef(props, 'trigger'),\n      onOpen: (event?: Event) => {\n        onOpen(event)\n      },\n      onClose: (event?: Event) => {\n        onClose(event)\n      },\n      onToggle: (event?: Event) => {\n        if (unref(open)) {\n          onClose(event)\n        } else {\n          onOpen(event)\n        }\n      },\n      onShow: () => {\n        emit('show', toggleReason.value)\n      },\n      onHide: () => {\n        emit('hide', toggleReason.value)\n      },\n      onBeforeShow: () => {\n        emit('before-show', toggleReason.value)\n      },\n      onBeforeHide: () => {\n        emit('before-hide', toggleReason.value)\n      },\n      updatePopper,\n    })\n\n    watch(\n      () => props.disabled,\n      (disabled) => {\n        if (disabled && open.value) {\n          open.value = false\n        }\n      }\n    )\n\n    const isFocusInsideContent = () => {\n      const popperContent: HTMLElement | undefined =\n        contentRef.value?.contentRef?.popperContentRef\n      return popperContent && popperContent.contains(document.activeElement)\n    }\n\n    onDeactivated(() => open.value && hide())\n\n    return {\n      compatShowAfter,\n      compatShowArrow,\n      popperRef,\n      contentRef,\n      open,\n      hide,\n      isFocusInsideContent,\n      updatePopper,\n      onOpen,\n      onClose,\n    }\n  },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_createBlock","_withCtx","_createVNode","_renderSlot","_createElementBlock","_toDisplayString"],"mappings":";;;;;;;;;;;;;;;;;;;;AAoFA,MAAM,EAAE,mBAAA,EAAqB,cAAgB,EAAA,mBAAA,EAAA,GAC3C,4BAA4B,SAAkB,CAAA,CAAA;AAEhD,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,WAAA;AAAA,EACN,UAAY,EAAA;AAAA,IACV,QAAA;AAAA,IACA,aAAA;AAAA,IACA,gBAAA;AAAA,IACA,gBAAA;AAAA,GACF;AAAA,EACA,KAAO,EAAA;AAAA,IACL,GAAG,cAAA;AAAA,IACH,GAAG,mBAAA;AAAA,IACH,GAAG,sBAAA;AAAA,IACH,GAAG,sBAAA;AAAA,IACH,GAAG,mBAAA;AAAA,IACH,GAAG,eAAA;AAAA,GACL;AAAA,EACA,KAAO,EAAA;AAAA,IACL,GAAG,mBAAA;AAAA,IACH,aAAA;AAAA,IACA,aAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,GACF;AAAA,EACA,KAAA,CAAM,KAAO,EAAA,EAAE,IAAQ,EAAA,EAAA;AACrB,IAAmB,kBAAA,EAAA,CAAA;AACnB,IAAM,MAAA,eAAA,GAAkB,SAAS,MAAM;AACrC,MAAA,IAAI,CAAC,WAAA,CAAY,KAAM,CAAA,SAAS,CAAG,EAAA;AACjC,QAAA,SAAA,CACE,aACA,iGACF,CAAA,CAAA;AAAA,OACF;AACA,MAAO,OAAA,KAAA,CAAM,aAAc,KAAM,CAAA,SAAA,CAAA;AAAA,KAClC,CAAA,CAAA;AACD,IAAM,MAAA,eAAA,GAAkB,SAAS,MAAM;AACrC,MAAA,IAAI,CAAC,WAAA,CAAY,KAAM,CAAA,YAAY,CAAG,EAAA;AACpC,QAAA,SAAA,CACE,aACA,sGACF,CAAA,CAAA;AAAA,OACF;AACA,MAAA,OAAO,UAAU,KAAM,CAAA,YAAY,CAC/B,GAAA,KAAA,CAAM,eACN,KAAM,CAAA,SAAA,CAAA;AAAA,KACX,CAAA,CAAA;AAED,IAAA,MAAM,KAAK,KAAM,EAAA,CAAA;AACjB,IAAM,MAAA,SAAA,GAAY,IAA0C,IAAI,CAAA,CAAA;AAChE,IAAM,MAAA,UAAA,GAAa,IAAkD,IAAI,CAAA,CAAA;AAEzE,IAAA,MAAM,eAAe,MAAM;AACzB,MAAM,IAAA,EAAA,CAAA;AACN,MAAA,MAAqB,eAAA,GAAA,KAAA,CAAA,SAAA,CAAA,CAAA;AACnB,MAAA,IAAA;AAA0C,QAC5C,CAAA,EAAA,GAAA,eAAA,CAAA,iBAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,EAAA,CAAA;AAAA,OACF;AACA,KAAM,CAAA;AACN,IAAM,MAAA,IAAA,GAAA,GAAA,CAAA;AAEN,IAAM,MAAA,YAAQ,GAAA,GAAwB,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,IAAA,MACzB,EAAA,IAAA,EAAA,IAAA,EAAA,GAAA,cAAA,CAAA;AAAA,MACX,SAAA,EAAA,IAAA;AAAA,MACD,YAAA;AAED,KAAM,CAAA,CAAA;AAAuC,IAAA,MAChC,EAAA,MAAA,EAAA,OAAA,EAAA,GAAA,gBAAA,CAAA;AAAA,MACX,SAAA,EAAW,eAAwB;AAAA,MACnC,SAAM,EAAA,KAAA,CAAA,KAAA,EAAA,WAAA,CAAA;AAAA,MACN,IAAO,EAAA,IAAA;AAAA,MACR,KAAA,EAAA,IAAA;AAED,KAAA,CAAA,CAAA;AAEA,IAAA,MAAA,UAA+B,GAAA,QAAA,CAAA,MAAA,SAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AAAA,IAC7B,OAAA,CAAA,qBAAA,EAAA;AAAA,MACA,UAAA;AAAA,MACA,EAAA;AAAmB,MACnB,IAAA,EAAA,QAAe,CAAA,IAAA,CAAA;AAAgB,MAC/B,OAAA,EAAS,KAAkB,CAAA,KAAA,EAAA,SAAA,CAAA;AACzB,MAAA,MAAA,EAAA,CAAO,KAAK,KAAA;AAAA,QACd,MAAA,CAAA,KAAA,CAAA,CAAA;AAAA,OACA;AACE,MAAA,OAAA,EAAA,CAAQ,KAAK,KAAA;AAAA,QACf,OAAA,CAAA,KAAA,CAAA,CAAA;AAAA,OACA;AACE,MAAI,QAAA,EAAA,CAAA,KAAU,KAAG;AACf,QAAA,IAAA,KAAA,CAAQ,IAAK,CAAA,EAAA;AAAA,UACR,OAAA,CAAA,KAAA,CAAA,CAAA;AACL,SAAA,MAAA;AAAY,UACd,MAAA,CAAA,KAAA,CAAA,CAAA;AAAA,SACF;AAAA;AAEE,MAAK,MAAA,EAAA,MAAA;AAA0B,QACjC,IAAA,CAAA,MAAA,EAAA,YAAA,CAAA,KAAA,CAAA,CAAA;AAAA;AAEE,MAAK,MAAA,EAAA,MAAA;AAA0B,QACjC,IAAA,CAAA,MAAA,EAAA,YAAA,CAAA,KAAA,CAAA,CAAA;AAAA;AAEE,MAAK,YAAA,EAAA,MAAA;AAAiC,QACxC,IAAA,CAAA,aAAA,EAAA,YAAA,CAAA,KAAA,CAAA,CAAA;AAAA;AAEE,MAAK,YAAA,EAAA,MAAA;AAAiC,QACxC,IAAA,CAAA,aAAA,EAAA,YAAA,CAAA,KAAA,CAAA,CAAA;AAAA,OACA;AAAA,MACD,YAAA;AAED,KAAA,CAAA,CAAA;AAGI,IAAI,KAAA,CAAA,MAAA,KAAA,CAAY,QAAY,EAAA,CAAA,QAAA,KAAA;AAC1B,MAAA,IAAA,QAAa,IAAA,IAAA,CAAA,KAAA,EAAA;AAAA,QACf,IAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAAA,OAEJ;AAEA,KAAA,CAAA,CAAA;AACE,IAAM,MAAA,oBACO,GAAA,MAAA;AACb,MAAA,IAAA,EAAA,EAAwB,EAAA,CAAA;AAA6C,MACvE,MAAA,aAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,UAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,gBAAA,CAAA;AAEA,MAAA,OAAA,aAAoB,IAAc,aAAK,CAAC,QAAA,CAAA,QAAA,CAAA,aAAA,CAAA,CAAA;AAExC,KAAO,CAAA;AAAA,IACL,aAAA,CAAA,MAAA,IAAA,CAAA,KAAA,IAAA,IAAA,EAAA,CAAA,CAAA;AAAA,IACA,OAAA;AAAA,MACA,eAAA;AAAA,MACA,eAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,IAAA;AAAA,MACA,IAAA;AAAA,MACA,oBAAA;AAAA,MACA,YAAA;AAAA,MACF,MAAA;AAAA,MACF,OAAA;AACF,KAAC,CAAA;;;;;;;;qCAnLa,GAAAA,gBAAA,CAAA,oBAAA,CAAA,CAAA;AAAA,EAAA,MA7CG,oBAAA,GAAAA,gBAAA,CAAA,WAAA,CAAA,CAAA;AAAA,EAAA,OAAmBC,SAAA,EAAA,EAAAC,WAAA,CAAA,oBAAA,EAAA;AAAA,IAAA,GAAA,EAAA,WAAA;;AASX,GAAA,EAAA;AAAA,IAAA,OAPR,EAAAC,OAAA,CAAA,MAAA;AAAA,MAAAC,WACD,CAAA,6BAAA,EAAA;AAAA,QACT,QAAc,EAAA,IAAA,CAAA,QAAA;AAAA,QACd,OAAa,EAAA,IAAA,CAAA,OAAA;AAAA,QACb,cAAoB,EAAA,IAAA,CAAA,WAAA;AAAA,QAAA,aAAA,EAAA,IAAA,CAAA,UAAA;4BAES,EAAA,IAAA,CAAA,iBAAA;AAAA,OAAlB,EAAA;;;;QAoCO,CAAA,EAAA,CAAA;AAAA,OAAA,EAjCf,CAAA,EAAA,CAAA,UAAA,EAAA,SAAA,EAAA,cAAA,EAAA,aAAA,EAAA,oBAAA,CAAA,CAAA;AAAA,MAAAA,WACS,CAAA,6BAAA,EAAA;AAAA,QACZ,GAAoB,EAAA,YAAA;AAAA,QACpB,YAAS,EAAA,IAAA,CAAA,SAAA;AAAA,QACT,oBAAU,EAAA,IAAA,CAAA,iBAAA;AAAA,QACV,OAAQ,EAAA,IAAA,CAAA,OAAA;AAAA,QACR,QAAW,EAAA,IAAA,CAAA,QAAA;AAAA,QACX,MAAqB,EAAA,IAAA,CAAA,MAAA;AAAA,QACrB,SAAY,EAAA,IAAA,CAAA,SAAA;AAAA,QACZ,qBAAkB,EAAA,IAAA,CAAA,kBAAA;AAAA,QAClB,YAAQ,EAAA,IAAA,CAAA,SAAA;AAAA,QACR,kBAAY,EAAA,IAAA,CAAA,eAAA;AAAA,QACZ,MAAc,EAAA,IAAA,CAAA,MAAA;AAAA,QACd,UAAc,EAAA,IAAA,CAAA,UAAA;AAAA,QACd,cAAW,EAAA,IAAA,CAAA,WAAA;AAAA,QACX,cAAgB,EAAA,IAAA,CAAA,WAAA;AAAA,QAChB,SAAM,EAAA,IAAA,CAAA,SAAA;AAAA,QACN,gBAAa,EAAA,IAAA,CAAA,aAAA;AAAA,QACb,IAAc,EAAA,IAAA,CAAA,IAAA;AAAA,QACd,aAAmB,EAAA,IAAA,CAAA,UAAA;AAAA,QACnB,cAAY,EAAA,IAAA,CAAA,WAAA;AAAA,QACZ,mBAAU,EAAA,IAAA,CAAA,eAAA;AAAA,QACV,YAAY,EAAA,IAAA,CAAA,eAAA;AAAA,QACZ,QAAY,EAAA,IAAA,CAAA,QAAA;AAAA,QACZ,UAAoB,EAAA,IAAA,CAAA,UAAA;AAAA,QACpB,UAAS,EAAA,IAAA,CAAA,UAAA;AAAA,QACT,oBAAW,EAAA,IAAA,CAAA,iBAAA;AAAA,QAAA,SAAA,EAAA,IAAA,CAAA,MAAA;0BAEZ,QAGO;AAAA,OAHP,EAAA;AAGO,QAAA;AAFsC,UAAAC,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,EAAA,EAAA,EAAA,MAAA;gBAAX,CAAA,UAAA,IAAAJ,SAAA,EAAA,EAAAK,kBAAA,CAAA,MAAA,EAAA;AAAA,cAChC,GAAA,EAAA,CAAA;AAAuB,cAAA,SAAA,EAAA,IAAA,CAAA,OAAA;AAEF,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,UAAA,CAAA,KAAAL,SAA+C,EAAA,EAAAK,kBAAA,CAAA,MAAA,EAAA,UAAA,EAAAC,eAAA,CAAA,IAAA,CAAA,OAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AAAA,WAAA,CAAA;cAAf,CAAA,eAAA,IAAAN,SAAA,EAAA,EAAAC,WAAA,CAAA,0BAAA,EAAA;AAAA,YAAA,GAAA,EAAA,CAAA;;;;;;;;;;;;;;"}