{"version":3,"file":"content2.mjs","sources":["../../../../../../packages/components/tooltip-v2/src/content.vue"],"sourcesContent":["<template>\n  <div v-if=\"!nowrap\" ref=\"contentRef\" :style=\"contentStyle\">\n    <slot />\n    <el-visually-hidden :id=\"contentId\">\n      <template v-if=\"ariaLabel\">\n        {{ ariaLabel }}\n      </template>\n      <slot v-else />\n    </el-visually-hidden>\n    <slot name=\"arrow\" :style=\"arrowStyle\" />\n  </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, inject, onMounted, ref, unref, watch } from 'vue'\nimport { tooltipV2RootKey } from '@element-plus/tokens'\nimport {\n  arrowMiddleware,\n  getPositionDataWithUnit,\n  useFloating,\n} from '@element-plus/hooks'\nimport ElVisuallyHidden from '@element-plus/components/visual-hidden'\nimport { tooltipV2ContentProps } from './content'\nimport { tooltipV2CommonProps } from './common'\n\nimport type { CSSProperties } from 'vue'\nimport type { Middleware } from '@floating-ui/dom'\n\ndefineOptions({\n  name: 'ElTooltipV2Content',\n})\n\nconst props = defineProps({ ...tooltipV2ContentProps, ...tooltipV2CommonProps })\n\nconst { triggerRef, contentId } = inject(tooltipV2RootKey)!\n\nconst placement = ref(props.placement)\nconst strategy = ref(props.strategy)\nconst arrowRef = ref<HTMLElement>()\n\nconst { referenceRef, contentRef, middlewareData, x, y } = useFloating({\n  placement,\n  strategy,\n  middleware: computed(() => {\n    const middleware: Middleware[] = []\n\n    if (props.showArrow) {\n      middleware.push(\n        arrowMiddleware({\n          arrowRef,\n        })\n      )\n    }\n\n    return middleware\n  }),\n})\n\nconst contentStyle = computed<CSSProperties>(() => {\n  return {\n    position: unref(strategy),\n    top: unref(y),\n    left: unref(x),\n  }\n})\n\nconst arrowStyle = computed<CSSProperties>(() => {\n  if (!props.showArrow) return {}\n\n  const _middlewareData = unref(middlewareData)\n  return {\n    position: 'absolute',\n    top: getPositionDataWithUnit(_middlewareData, 'y'),\n    left: getPositionDataWithUnit(_middlewareData, 'x'),\n  }\n})\n\nonMounted(() => {\n  watch(\n    () => props.reference || triggerRef.value,\n    (el) => {\n      referenceRef.value = el || undefined\n    }\n  )\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAkCA,IAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,GAAA,MAAA,CAAA,gBAAA,CAAA,CAAA;AAEA,IAAA,MAAA,SAAA,GAAA,IAAA,KAAA,CAAA,SAAA,CAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,IAAA,KAAA,CAAA,QAAA,CAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,GAAA,EAAA,CAAA;AAEA,IAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,cAAA,EAAA,CAAA,EAAA,MAAA,WAAA,CAAA;AAAA,MACA,SAAA;AAAA,MACA,QAAA;AAAA,MACA,UAAA,EAAA,SAAA,MAAA;AACA,QAAA,MAAA,UAAA,GAAA,EAAA,CAAA;AAEA,QAAA,IAAA,MAAA,SAAA,EAAA;AACA,UAAA,UAAA,CAAA,KACA,eAAA,CAAA;AAAA,YACA,QAAA;AAAA,WAAA,CAAA,CAAA,CAAA;AAAA,SAAA;AAKA,QAAA,OAAA,UAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAIA,IAAA,MAAA,YAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA;AAAA,QACA,UAAA,KAAA,CAAA,QAAA,CAAA;AAAA,QACA,KAAA,KAAA,CAAA,CAAA,CAAA;AAAA,QACA,MAAA,KAAA,CAAA,CAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAIA,IAAA,MAAA,UAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,CAAA,KAAA,CAAA,SAAA;AAAA,QAAA,OAAA,EAAA,CAAA;AAEA,MAAA,MAAA,kBAAA,KAAA,CAAA,cAAA,CAAA,CAAA;AACA,MAAA,OAAA;AAAA,QACA,QAAA,EAAA,UAAA;AAAA,QACA,GAAA,EAAA,wBAAA,eAAA,EAAA,GAAA,CAAA;AAAA,QACA,IAAA,EAAA,wBAAA,eAAA,EAAA,GAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAIA,IAAA,SAAA,CAAA,MAAA;AACA,MAAA,KAAA,CACA,MAAA,KAAA,CAAA,SAAA,IAAA,UAAA,CAAA,KAAA,EACA,CAAA,EAAA,KAAA;AACA,QAAA,YAAA,CAAA,QAAA,EAAA,IAAA,KAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;"}