{"version":3,"file":"tooltip.vue2.mjs","sources":["../../../../../packages/components/tooltip/src/tooltip.vue"],"sourcesContent":["<template>\n  <el-popper ref=\"popperRef\">\n    <el-tooltip-trigger\n      :disabled=\"disabled\"\n      :trigger=\"trigger\"\n      :virtual-ref=\"virtualRef\"\n      :virtual-triggering=\"virtualTriggering\"\n    >\n      <slot v-if=\"$slots.default\" />\n    </el-tooltip-trigger>\n    <el-tooltip-content\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      :show-after=\"compatShowAfter\"\n      :strategy=\"strategy\"\n      :teleported=\"teleported\"\n      :transition=\"transition\"\n      :z-index=\"zIndex\"\n      :append-to=\"appendTo\"\n    >\n      <slot name=\"content\">\n        <span v-if=\"rawContent\" v-html=\"content\"></span>\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  defineComponent,\n  computed,\n  ref,\n  provide,\n  toRef,\n  readonly,\n  unref,\n} from 'vue'\nimport {\n  ElPopper,\n  ElPopperArrow,\n  usePopperArrowProps,\n} from '@element-ultra/components/popper'\n\nimport { debugWarn, isBoolean, isUndefined } from '@element-ultra/utils'\nimport {\n  usePopperContainer,\n  useId,\n  createModelToggleComposable,\n  useDelayedToggle,\n} from '@element-ultra/hooks'\nimport ElTooltipContent from './content.vue'\nimport ElTooltipTrigger from './trigger.vue'\nimport {\n  useTooltipContentProps,\n  useTooltipTriggerProps,\n  useTooltipProps,\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    ...useModelToggleProps,\n    ...useTooltipContentProps,\n    ...useTooltipTriggerProps,\n    ...usePopperArrowProps,\n    ...useTooltipProps,\n  },\n  emits: [...useModelToggleEmits, 'before-show', 'before-hide', 'show', 'hide'],\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\n    const updatePopper = () => {\n      const popperComponent = unref(popperRef)\n      if (popperComponent) {\n        popperComponent.popperInstanceRef?.update()\n      }\n    }\n    const open = ref(false)\n\n    const { show, hide } = useModelToggle({\n      indicator: open,\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,\n      onClose,\n      onToggle: () => {\n        if (unref(open)) {\n          onClose()\n        } else {\n          onOpen()\n        }\n      },\n      onShow: () => {\n        emit('show')\n      },\n      onHide: () => {\n        emit('hide')\n      },\n      onBeforeShow: () => {\n        emit('before-show')\n      },\n      onBeforeHide: () => {\n        emit('before-hide')\n      },\n      updatePopper,\n    })\n\n    return {\n      compatShowAfter,\n      compatShowArrow,\n      popperRef,\n      open,\n      hide,\n      updatePopper,\n      onOpen,\n      onClose,\n    }\n  },\n})\n</script>\n"],"names":[],"mappings":"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"}