{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/popover/src/index.vue"],"sourcesContent":["<template>\n  <el-tooltip\n    ref=\"tooltipRef\"\n    v-bind=\"$attrs\"\n    :trigger=\"trigger\"\n    :placement=\"placement\"\n    :disabled=\"disabled\"\n    :visible=\"visible\"\n    :transition=\"transition\"\n    :popper-options=\"popperOptions\"\n    :tabindex=\"tabindex\"\n    :append-to-body=\"appendToBody\"\n    :content=\"content\"\n    :offset=\"offset\"\n    :show-after=\"showAfter\"\n    :hide-after=\"hideAfter\"\n    :auto-close=\"autoClose\"\n    :show-arrow=\"showArrow\"\n    :aria-label=\"title\"\n    :effect=\"effect\"\n    :enterable=\"enterable\"\n    :popper-class=\"kls\"\n    :popper-style=\"style\"\n    :teleported=\"compatTeleported\"\n    persistent\n    @show=\"afterEnter\"\n    @hide=\"afterLeave\"\n  >\n    <template v-if=\"$slots.reference\">\n      <slot name=\"reference\" />\n    </template>\n\n    <template #content>\n      <div v-if=\"title\" :class=\"ns.e('title')\" role=\"title\">\n        {{ title }}\n      </div>\n      <slot>\n        {{ content }}\n      </slot>\n    </template>\n  </el-tooltip>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, unref } from 'vue'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { useDeprecateAppendToBody } from '@element-plus/components/popper'\nimport { isString } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { usePopoverProps } from './popover'\n\nimport type { StyleValue } from 'vue'\n\nconst emits = ['update:visible', 'after-enter', 'after-leave']\n\nconst COMPONENT_NAME = 'ElPopover'\n\nexport default defineComponent({\n  name: COMPONENT_NAME,\n  components: {\n    ElTooltip,\n  },\n  props: usePopoverProps,\n  emits,\n  setup(props, { emit }) {\n    const ns = useNamespace('popover')\n    const tooltipRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n    const popperRef = computed(() => {\n      return unref(tooltipRef)?.popperRef\n    })\n    const width = computed(() => {\n      if (isString(props.width)) {\n        return props.width as string\n      }\n      return `${props.width}px`\n    })\n\n    const style = computed(() => {\n      return [\n        {\n          width: width.value,\n        },\n        props.popperStyle,\n      ] as StyleValue\n    })\n\n    const kls = computed(() => {\n      return [ns.b(), props.popperClass, { [ns.m('plain')]: !!props.content }]\n    })\n\n    const { compatTeleported } = useDeprecateAppendToBody(\n      COMPONENT_NAME,\n      'appendToBody'\n    )\n\n    const hide = () => {\n      tooltipRef.value?.hide()\n    }\n\n    const afterEnter = () => {\n      emit('after-enter')\n    }\n\n    const afterLeave = () => {\n      emit('after-leave')\n    }\n\n    return {\n      compatTeleported,\n      ns,\n      kls,\n      style,\n      tooltipRef,\n      popperRef,\n      hide,\n      afterEnter,\n      afterLeave,\n    }\n  },\n})\n</script>\n"],"names":["_withCtx"],"mappings":";;;;;;;;;;;AAoDA,MAAM,QAAQ,CAAC,kBAAkB,eAAe;AAEhD,MAAM,iBAAiB;AAEvB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA;AAAA,EAEF,OAAO;AAAA,EACP;AAAA,EACA,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAK,aAAa;AACxB,UAAM,aAAa,IAA2C;AAC9D,UAAM,YAAY,SAAS,MAAM;AAC/B,aAAO;AAAmB;AAE5B;AACE,UAAI,uBAAuB;AACzB;AAAa;AAEf;AAAgB;AAGlB;AACE;AAAO;AACL;AACe;AAAA;AAET;AAAA;AAIV;AACE,aAAO;AAAuD;AAGhE;AAKA,UAAM;AACJ,iBAAW;AAAO;AAGpB,uBAAmB;AACjB;AAAK;AAGP,UAAM;AACJ;AAAK;AAGP,WAAO;AAAA,MACL;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;SA/GD;AAAgB;AACL;AACD,IACV;AAAS,IACT;AAAY,IACZ;AAAc,IACd;AAAkB,IAClB;AAAA,IACA,kBAAS,KAAO;AAAA,IAChB;AAAQ,IACR;AAAU,IACV,cAAY;AAAA,IACZ;AAAY,IACZ,cAAY;AAAA,IACZ,cAAY;AAAA,IACZ,cAAQ,KAAM;AAAA,IACd;AAAW,IACX;AAAc,IACd;AAAc,IACd,gBAAY;AAAA,IACb;AAAU,IACT;AAAM,IACN;AAAM;;AAMI;AACO;aAAQA;AAAA;AAA6B;;AAK9C;AADF;;;;AATyB;;;;;;;;;;;"}