420px |421px
Resize Bounding
529px |421px
Resize Bounding is a simple, highly customizable Vue3 & React component that allows you to intuitively resize nested content using draggable border panels
475px |421px
712px |281px
/* App.vue */
<script setup lang="ts">
import { ref } from "vue";
import ResizeBounding from "vue3-resize-bounding";
const container = ref({ width: 320, height: 480 });
</script>
<template>
<ResizeBounding
:width="container.width"
:height="container.height"
:min-width="240"
:max-width="480"
:min-height="120"
:directions="'hv'"
:options="{
knob: {
show: true
}
}"
:style="{ border: '1px solid gray' }"
@update:width="(width) => (container.width = width)"
@update:height="(height) => (container.height = height)"
>
<!-- CONTENT START -->
<div :style="{ width: '100%', height: '100%' }">My Container</div>
<!-- CONTENT END -->
<!-- KNOB INNER CONTENT START -->
<template #knob>
<div class="some-icon"></div>
</template>
<!-- KNOB INNER CONTENT END -->
</ResizeBounding>
</template>