{"version":3,"file":"content2.mjs","names":[],"sources":["../../../../../../packages/components/tour/src/content.vue"],"sourcesContent":["<template>\n  <div\n    ref=\"contentRef\"\n    :style=\"contentStyle\"\n    :class=\"ns.e('content')\"\n    :data-side=\"side\"\n    tabindex=\"-1\"\n  >\n    <el-focus-trap\n      loop\n      trapped\n      focus-start-el=\"container\"\n      :focus-trap-el=\"contentRef || undefined\"\n      @release-requested=\"onCloseRequested\"\n      @focusout-prevented=\"onFocusoutPrevented\"\n    >\n      <slot />\n    </el-focus-trap>\n    <span\n      v-if=\"showArrow\"\n      ref=\"arrowRef\"\n      :style=\"arrowStyle\"\n      :class=\"ns.e('arrow')\"\n    />\n  </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, ref, toRef, watch } from 'vue'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport { tourContentEmits } from './content'\nimport { tourKey, useFloating } from './helper'\n\nimport type { TourContentProps } from './content'\n\ndefineOptions({\n  name: 'ElTourContent',\n})\n\nconst props = withDefaults(defineProps<TourContentProps>(), {\n  placement: 'bottom',\n  reference: null,\n  strategy: 'absolute',\n  offset: 10,\n  zIndex: 2001,\n})\nconst emit = defineEmits(tourContentEmits)\n\nconst placement = ref(props.placement)\nconst strategy = ref(props.strategy)\nconst contentRef = ref<HTMLElement | null>(null)\nconst arrowRef = ref<HTMLElement | null>(null)\n\nwatch(\n  () => props.placement,\n  () => {\n    placement.value = props.placement\n  }\n)\n\nconst { contentStyle, arrowStyle } = useFloating(\n  toRef(props, 'reference'),\n  contentRef,\n  arrowRef,\n  placement,\n  strategy,\n  toRef(props, 'offset'),\n  toRef(props, 'zIndex'),\n  toRef(props, 'showArrow')\n)\n\nconst side = computed(() => {\n  return placement.value.split('-')[0]\n})\n\nconst { ns } = inject(tourKey)!\n\nconst onCloseRequested = () => {\n  emit('close')\n}\n\nconst onFocusoutPrevented = (event: CustomEvent) => {\n  if (event.detail.focusReason === 'pointer') {\n    event.preventDefault()\n  }\n}\n</script>\n"],"mappings":""}