Files
vue-flow/packages/core/src/components/Edges/EdgeLabelRenderer.vue
T

27 lines
630 B
Vue

<script lang="ts" setup>
import { toRef } from 'vue'
import type { TeleportProps } from 'vue'
import { useVueFlow } from '../../composables'
const { viewportRef } = useVueFlow()
const teleportTarget = toRef(() => viewportRef.value?.getElementsByClassName('vue-flow__edge-labels')[0] as TeleportProps['to'])
</script>
<script lang="ts">
export default {
name: 'EdgeLabelRenderer',
compatConfig: { MODE: 3 },
}
</script>
<template>
<svg>
<foreignObject height="0" width="0">
<Teleport :to="teleportTarget" :disabled="!teleportTarget">
<slot />
</Teleport>
</foreignObject>
</svg>
</template>