DraggableItemSideBar 
Overview 
DraggableItemSideBar creates a sidebar panel that can be dragged and expanded/collapsed. It is ideal for navigation menus or tool panels that need to be shown or hidden dynamically and repositioned by the user.
Props 
| Prop | Description | Type | Required | Default Value | 
|---|---|---|---|---|
show | Controls the visibility of the sidebar. | boolean | false | false | 
expand | Whether the sidebar is expanded. | boolean | false | false | 
width | Width of the sidebar. | number,string | false | 'auto' | 
location | Sidebar position: 'left', 'right', 'top', 'bottom'. | string | false | 'left' | 
title | Title displayed in the sidebar header. | string | false | - | 
disabledExpand | Disables the expand/collapse feature. | boolean | false | false | 
disabledHeader | Hides the header section. | boolean | false | false | 
disabledClose | Hides the close button. | boolean | false | false | 
disabledOrder | Disables drag ordering with other items. | boolean | false | false | 
containerId | ID of the parent container (for teleporting). | string | false | - | 
Events 
| Name | Description | 
|---|---|
update:expand | Emitted when the expand state changes. Payload: (value:boolean) | 
close | Emitted when the sidebar is closed. Payload: () | 
update:show | Emitted when the visibility changes. Payload: (value:boolean) | 
Slots 
| Name | Description | 
|---|---|
default | Content of the sidebar. | 
title | Custom content for the header area. | 
extra-btn | Extra buttons in the header. | 
Usage 
vue
<script setup lang="ts">
import { DraggableContainer, DraggableItemSideBar } from '@hungpvq/vue-draggable';
</script>
<template>
  <DraggableContainer>
    <DraggableItemSideBar title="Title" show right>
      <div style="height: 100vh"></div>
    </DraggableItemSideBar>
  </DraggableContainer>
</template>