kliping.pro
  • Docs
  • Explore
  • Builder
  • Directory
  • Colors
  • Typeset
Saved
Docs
  • Sections13
  • Installation5
  • Dark Mode4
  • Forms3
  • Registry6
  • Utilities2
  • More10
  • Components137
  • Accordion
  • Action Bar
  • AI Chat
  • AI Thread List
  • Alert
  • Alert Dialog
  • Angle Slider
  • Animated Grid Pattern
  • Aspect Ratio
  • Attachment
  • Avatar
  • Avatar Group
  • Badge
  • Badge Overflow
  • Banner
  • Border Beam
  • Breadcrumb
  • Bubble
  • Button
  • Button Group
  • Calendar
  • Card
  • Carousel
  • Chart
  • Checkbox
  • Checkbox Group
  • Chip
  • Circular Progress
  • Client Only
  • Collapsible
  • Color Picker
  • Color Swatch
  • Combobox
  • Combobox Advanced
  • Command
  • Compare Slider
  • Composition
  • Context Menu
  • Cropper
  • Data Grid
  • Data Table
  • Data Table Advanced
  • Date Picker
  • Dialog
  • Direction Provider
  • Dot Pattern
  • Drawer
  • Dropdown Menu
  • Editable
  • Empty
  • Field
  • File Upload
  • Form
  • FPS
  • Gauge
  • Hitbox
  • Hover Card
  • Input
  • Input Group
  • Input OTP
  • Item
  • Kanban
  • Kbd
  • Kbd Advanced
  • Key Value
  • Label
  • List
  • Listbox
  • Logos
  • Map
  • Marker
  • Marquee
  • Mask Input
  • Masonry
  • Media Player
  • Mention
  • Menubar
  • Message
  • Message Scroller
  • Native Select
  • Navigation Menu
  • Number Field
  • Pagination
  • Particles
  • Pending
  • Phone Input
  • Pin Input
  • Popover
  • Portal
  • Presence
  • Progress
  • QR Code
  • Questionnaire
  • Radio Group
  • Range Calendar
  • Rating
  • Relative Time Card
  • Resizable
  • Responsive Dialog
  • Scroll Area
  • Scroll Spy
  • Scroller
  • Segmented Input
  • Select
  • Selection Toolbar
  • Separator
  • Sheet
  • Sidebar
  • Skeleton
  • Slider
  • Software Purchase Card
  • Sonner
  • Sortable
  • Speed Dial
  • Spinner
  • Stack
  • Stat
  • Status
  • Stepper
  • Stepper Advanced
  • Swap
  • Switch
  • Table
  • Tabs
  • Tags Input
  • Tags Input Advanced
  • Textarea
  • Time Picker
  • Timeline
  • Toast
  • Toggle
  • Toggle Group
  • Tooltip
  • Tour
  • Typography
  • Visually Hidden
  • Visually Hidden Input
  1. Docs
  2. Components
  3. Resizable

Resizable

PreviousNext

Kelompok panel yang bisa diubah ukurannya, mudah diakses, dan mendukung navigasi keyboard.

Docs API Reference
One
Two
Three

Installation ​

pnpm dlx kliping@latest add resizable

Pasang dependensi berikut:

pnpm add reka-ui

Salin dan tempel kode sumber di GitHub ke project Anda.

Sesuaikan path import dengan struktur project Anda.

Usage ​

vue
<script setup lang="ts">
import {
  ResizableHandle,
  ResizablePanel,
  ResizablePanelGroup,
} from '@/components/ui/resizable'
</script>

<template>
  <ResizablePanelGroup direction="horizontal">
    <ResizablePanel>One</ResizablePanel>
    <ResizableHandle />
    <ResizablePanel>Two</ResizablePanel>
  </ResizablePanelGroup>
</template>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Requirements ​

Semua dipasang otomatis oleh kliping add; tabel ini untuk Anda yang memasang manual atau memeriksa project.

RequirementValue
ProjectVue 3.5+, Tailwind CSS v4, alias @ — disiapkan kliping init
npm packages@lucide/vue@^1.31.0, @vueuse/core@^14.4.0, reka-ui@^2.10.3
Filescomponents/ui/resizable/resizable-handle.vue
components/ui/resizable/resizable-panel.vue
components/ui/resizable/resizable-panel-group.vue
components/ui/resizable/index.ts

Anatomy ​

Susunan bagiannya seperti dipakai di contoh-contoh di atas. Impor semua bagian dari satu tempat, lalu susun begini:

vue
<ResizablePanelGroup>
  <ResizablePanel>
    <ResizablePanelGroup>
      <ResizablePanel />
      <ResizableHandle />
    </ResizablePanelGroup>
  </ResizablePanel>
  <ResizableHandle />
</ResizablePanelGroup>

API Reference ​

ResizableHandle ​

PropTypeDefaultDescription
id?string—Resize handle id (unique within group); falls back to useId when not provided
hitAreaMargins?PointerHitAreaMargins—Allow this much margin when determining resizable handle hit detection
tabindex?number—Tabindex for the handle
disabled?boolean—Disable drag handle
nonce?string—Will add nonce attribute to the style tag which can be used by Content Security Policy.
If omitted, inherits globally from ConfigProvider.
asChild?boolean—Change the default rendered element for the one passed as a child, merging their props and behavior. Read our Composition guide for more details.
as?AsTag | Component—The element or component this component should render as. Can be overwritten by asChild.
withHandle?boolean—Shows a visible grip in the middle of the handle; the default slot replaces its icon.
EventPayloadDescription
@dragging[isDragging: boolean]Emitted when dragging the handle starts (true) or stops (false).
SlotProps
#default—
Data attributeValue
[data-slot]"resizable-handle"
[data-orientation]set at runtime

ResizablePanel ​

PropTypeDefaultDescription
collapsedSize?number—The size of panel when it is collapsed; interpreted using sizeUnit.
collapsible?boolean—Should panel collapse when resized beyond its minSize. When true, it will be collapsed to collapsedSize.
defaultSize?number—Initial size of panel, interpreted using sizeUnit (percent by default).
id?string—Panel id (unique within group); falls back to useId when not provided
maxSize?number—The maximum allowable size of panel, interpreted using sizeUnit; defaults to 100 (percent).
minSize?number—The minimum allowable size of panel, interpreted using sizeUnit; defaults to 10 (percent).
order?number—The order of panel within group; required for groups with conditionally rendered panels
sizeUnit?"%" | "px"—Unit used for sizing values; % by default, or px for fixed sizing.
asChild?boolean—Change the default rendered element for the one passed as a child, merging their props and behavior. Read our Composition guide for more details.
as?AsTag | Component—The element or component this component should render as. Can be overwritten by asChild.
EventPayloadDescription
@collapse[]Emitted when the panel collapses.
@expand[]Emitted when the panel expands.
@resize[size: number, prevSize: number | undefined]Emitted when the panel size changes: new size and previous size, in percent.
SlotProps
#default{ isCollapsed: boolean; isExpanded: boolean; collapse: () => void; expand: () => void; resize: (size: number) => void; }
Data attributeValue
[data-slot]"resizable-panel"

ResizablePanelGroup ​

PropTypeDefaultDescription
id?string—Group id; falls back to useId when not provided.
autoSaveId?string—Unique id used to auto-save group arrangement via localStorage.
directionDirection$1—The group orientation of splitter.
keyboardResizeBy?number—Step size when arrow key was pressed.
storage?PanelGroupStorage—Custom storage API; defaults to localStorage
asChild?boolean—Change the default rendered element for the one passed as a child, merging their props and behavior. Read our Composition guide for more details.
as?AsTag | Component—The element or component this component should render as. Can be overwritten by asChild.
EventPayloadDescription
@layout[val: number[]]Emitted when panel sizes change, as percentages in order.
SlotProps
#default{ layout: number[]; }
Data attributeValue
[data-slot]"resizable-panel-group"

CSS Variables ​

Token tema yang dibaca komponen ini — ubah nilainya di CSS global (:root dan .dark, lihat Theming) untuk mengubah tampilannya tanpa menyentuh komponennya: --border, --ring.

Credits ​

Berasal dari shadcn-vue (MIT, Copyright (c) 2023 unovue). Rantai lengkapnya di Credits.

PreviousRelative Time CardNext Responsive Dialog

On This Page

InstallationUsageRequirementsAnatomyAPI ReferenceResizableHandleResizablePanelResizablePanelGroupCSS VariablesCredits

© 2026 Kliping. Free components are open source under the MIT License.

LicenseCreditsRoadmap