{"version":3,"file":"arrow.vue2.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-ultra/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":[],"mappings":";;;;;;AAkBA,gBAAe,eAAgB,CAAA;AAAA,EAC7B,IAAM,EAAA,eAAA;AAAA,EACN,KAAO,EAAA,mBAAA;AAAA,EACP,MAAM,KAAO,EAAA;AACX,IAAM,MAAA,EAAA,GAAK,aAAa,QAAQ,CAAA,CAAA;AAChC,IAAM,MAAA,QAAA,GAAW,IAA4B,IAAI,CAAA,CAAA;AACjD,IAAA,MAAM,sBAAyB,GAAA,MAAA;AAAA,MAC7B,4BAAA;AAAA,MACA,KAAA,CAAA;AAAA,KACF,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,WAAA;AAAA,MACZ,CAAC,GAAQ,KAAA;AACP,QAAA,sBAAA,CAAuB,YAAY,KAAQ,GAAA,GAAA,CAAA;AAAA,OAC7C;AAAA,KACF,CAAA;AAEA,IAAA,SAAA,CAAU,MAAM;AACd,MAAuB,sBAAA,CAAA,QAAA,CAAS,KAAQ,GAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAAA,KACvD,CAAA,CAAA;AAED,IAAA,eAAA,CAAgB,MAAM;AACpB,MAAA,sBAAA,CAAuB,SAAS,KAAQ,GAAA,IAAA,CAAA;AAAA,KACzC,CAAA,CAAA;AAED,IAAO,OAAA;AAAA,MACL,EAAA;AAAA,MACA,QAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}