Node Resizer ​
This is a resizer component for Vue Flow. It can be used to resize your nodes.
Installation ​
bash
yarn add @vue-flow/node-resizer
  
# or
npm install @vue-flow/node-resizeryarn add @vue-flow/node-resizer
  
# or
npm install @vue-flow/node-resizerUsage ​
vue
<script setup>
import { VueFlow } from '@vue-flow/core'
import initialElements from './initial-elements'
// some nodes and edges
const elements = ref(initialElements)
</script>
<template>
  <VueFlow v-model="elements" fit-view-on-init>
    <template #node-custom="nodeProps">
      <CustomNode :data="nodeProps.data" :label="nodeProps.label" />
    </template>
  </VueFlow>
</template><script setup>
import { VueFlow } from '@vue-flow/core'
import initialElements from './initial-elements'
// some nodes and edges
const elements = ref(initialElements)
</script>
<template>
  <VueFlow v-model="elements" fit-view-on-init>
    <template #node-custom="nodeProps">
      <CustomNode :data="nodeProps.data" :label="nodeProps.label" />
    </template>
  </VueFlow>
</template>vue
<script lang="ts" setup>
import { Handle, Position } from '@vue-flow/core'
import { NodeResizer } from '@vue-flow/node-resizer'
// make sure to include the necessary styles!
import '@vue-flow/node-resizer/dist/style.css'
defineProps(['label'])
</script>
<template>
  <NodeResizer min-width="100" min-height="30" />
  <Handle type="target" :position="Position.Left" />
  <div style="padding: 10px">{{ label }}</div>
  <Handle type="source" :position="Position.Right" />
</template><script lang="ts" setup>
import { Handle, Position } from '@vue-flow/core'
import { NodeResizer } from '@vue-flow/node-resizer'
// make sure to include the necessary styles!
import '@vue-flow/node-resizer/dist/style.css'
defineProps(['label'])
</script>
<template>
  <NodeResizer min-width="100" min-height="30" />
  <Handle type="target" :position="Position.Left" />
  <div style="padding: 10px">{{ label }}</div>
  <Handle type="source" :position="Position.Right" />
</template>When enabled, these props allow you to pan on drag and zoom on scroll using the MiniMap.
Props ​
| Name | Definition | Type | Optional | Default | 
|---|---|---|---|---|
| nodeId | Node to attach the resizer to | string | true | Node id from context | 
| color | Color of the resizer lines | string | true | - | 
| handleClassName | Extra class for the resize handle | string | true | - | 
| handleStyle | Additional styles for the resize handle | CSSProperties | true | - | 
| lineClassName | Extra class for the resize lines | number | true | - | 
| lineStyle | Additional styles for the resize lines | string | true | - | 
| isVisible | Force visibility of resizer | boolean | true | true | 
| minWidth | Min width of the resizer (can't resize below this value) | number | true | - | 
| minHeight | Min height of the resizer (can't resize below this value) | number | true | - | 
Emits ​
| Name | 
|---|
| resizeStart | 
| resize | 
| resizeEnd | 
 Vue Flow
Vue Flow