90.4k

Resizable

Accessible resizable panel groups and layouts with keyboard support.

About

The Resizable component is built on top of react-resizable-panels by bvaughn.

Installation

pnpm dlx shadcn@latest add resizable

Usage

import {  ResizableHandle,  ResizablePanel,  ResizablePanelGroup, } from "@/components/ui/resizable"
<ResizablePanelGroup direction="horizontal">  <ResizablePanel>One</ResizablePanel>  <ResizableHandle />  <ResizablePanel>Two</ResizablePanel> </ResizablePanelGroup>

Examples

Vertical

Use the direction prop to set the direction of the resizable panels.

import {  ResizableHandle,  ResizablePanel,  ResizablePanelGroup, } from "@/components/ui/resizable"   export default function Example() {  return (  <ResizablePanelGroup direction="vertical">  <ResizablePanel>One</ResizablePanel>  <ResizableHandle />  <ResizablePanel>Two</ResizablePanel>  </ResizablePanelGroup>  ) }

Handle

You can set or hide the handle by using the withHandle prop on the ResizableHandle component.

import {  ResizableHandle,  ResizablePanel,  ResizablePanelGroup, } from "@/components/ui/resizable"   export default function Example() {  return (  <ResizablePanelGroup direction="horizontal">  <ResizablePanel>One</ResizablePanel>  <ResizableHandle withHandle />  <ResizablePanel>Two</ResizablePanel>  </ResizablePanelGroup>  ) }