{"version":3,"file":"arrow.mjs","sources":["../../../../../../packages/components/popper/src/arrow.vue"],"sourcesContent":["<template>\n  <span ref=\"arrowRef\" :class=\"ns.e('arrow')\" data-popper-arrow=\"\" />\n</template>\n\n<script lang=\"ts\">\nimport {\n  defineComponent,\n  inject,\n  ref,\n  onMounted,\n  onBeforeUnmount,\n  watch,\n  unref,\n} from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { usePopperArrowProps } from './popper'\nimport { POPPER_CONTENT_INJECTION_KEY } from './tokens'\n\nexport default defineComponent({\n  name: 'ElPopperArrow',\n  props: usePopperArrowProps,\n  setup(props) {\n    const ns = useNamespace('popper')\n    const arrowRef = ref<HTMLSpanElement | null>(null)\n    const popperContentInjection = inject(\n      POPPER_CONTENT_INJECTION_KEY,\n      undefined\n    )!\n\n    watch(\n      () => props.arrowOffset,\n      (val) => {\n        popperContentInjection.arrowOffset.value = val\n      }\n    )\n\n    onMounted(() => {\n      popperContentInjection.arrowRef.value = unref(arrowRef)\n    })\n\n    onBeforeUnmount(() => {\n      popperContentInjection.arrowRef.value = null\n    })\n\n    return {\n      ns,\n      arrowRef,\n    }\n  },\n})\n</script>\n"],"names":["_openBlock","_createElementBlock"],"mappings":";;;;;;;AAkBA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM,OAAO;AACX,UAAM,KAAK,aAAa;AACxB,UAAM,WAAW,IAA4B;AAC7C,UAAM,yBAAyB,OAC7B,8BACA;AAGF,UACE,MAAM,MAAM,aACZ,CAAC,QAAQ;AACP,6BAAuB,YAAY,QAAQ;AAAA;AAI/C,cAAU,MAAM;AACd,6BAAuB,SAAS,QAAQ,MAAM;AAAA;AAGhD,oBAAgB,MAAM;AACpB,6BAAuB,SAAS,QAAQ;AAAA;AAG1C,WAAO;AAAA,MACL;AAAA,MACA;AAAA;AAAA;AAAA;2BA7CJ,wBAAmE;SAAzDA,aAAUC;AAAA,IAAE,KAAK;AAAA,IAAiB,sBAAoB;AAAA;;;;;;;"}