element-plus
Version:
A Component Library for Vue 3
1 lines • 1.72 kB
Source Map (JSON)
{"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;;;;;;;"}