{"version":3,"file":"arrow.mjs","sources":["../../../../../../packages/components/popper/src/arrow.vue"],"sourcesContent":["<template>\r\n  <span ref=\"arrowRef\" class=\"sg-popper__arrow\" data-popper-arrow=\"\" />\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport {\r\n  defineComponent,\r\n  inject,\r\n  ref,\r\n  onMounted,\r\n  onBeforeUnmount,\r\n  watch,\r\n  unref,\r\n} from 'vue'\r\nimport { usePopperArrowProps } from './popper'\r\nimport { POPPER_CONTENT_INJECTION_KEY } from './tokens'\r\n\r\nexport default defineComponent({\r\n  name: 'SgPopperArrow',\r\n  props: usePopperArrowProps,\r\n  setup(props) {\r\n    const arrowRef = ref<HTMLSpanElement | null>(null)\r\n    const popperContentInjection = inject(\r\n      POPPER_CONTENT_INJECTION_KEY,\r\n      undefined\r\n    )!\r\n\r\n    watch(\r\n      () => props.arrowOffset,\r\n      (val) => {\r\n        popperContentInjection.arrowOffset.value = val\r\n      }\r\n    )\r\n\r\n    onMounted(() => {\r\n      popperContentInjection.arrowRef.value = unref(arrowRef) as HTMLElement\r\n    })\r\n\r\n    onBeforeUnmount(() => {\r\n      popperContentInjection.arrowRef.value = null\r\n    })\r\n\r\n    return {\r\n      arrowRef,\r\n    }\r\n  },\r\n})\r\n</script>\r\n"],"names":[],"mappings":";;;;MACuB,UAAM,GAAA;AAAA,EAAmB,GAAA,EAAA,UAAA;AAAA,EAAA,KAAA,EAAA,kBAAA;;;;;;;;;;"}