hunk.code_window: watchEffect(() => {
     const svgEl = el.value?.children?.[0] as SVGElement | undefined
     if (svgEl && svgEl.hasAttribute('viewBox') && actualHeight.value == null) {
       const v = parseFloat(svgEl.getAttribute('viewBox')?.split(' ')[3] || '')
       actualHeight.value = isNaN(v) ? undefined : v
     }
   }, { flush: 'post' })
   watchEffect(() => {
     const svgEl = el.value?.children?.[0] as SVGElement | undefined
  
hunk.labels: keep keep keep replace replace keep keep keep keep keep
hunk.after_edit:     const v = Number.parseFloat(svgEl.getAttribute('viewBox')?.split(' ')[3] || '')
       actualHeight.value = Number.isNaN(v) ? undefined : v
  
hunk.file_path: packages/client/builtin/Mermaid.vue
hunk.type: replace
file: <!--
  PlantUML
  (auto transformed, you don't need to use this component directly)
  
  Usage:
  
  ```plantuml
  @startuml
  Alice -> Bob : Hello!
  @enduml
  ```
  -->
  <script setup lang="ts">
  import { computed } from 'vue'
  
  const props = defineProps<{
    code: string
    server: string
    scale?: number
  }>()
  
  const uri = computed(() => `${props.server}/svg/${props.code}`)
  </script>
  
  <template>
    <img alt="PlantUML diagram" :src="uri" :style="{ scale }">
  </template>
  