Resizable Panels
React split panes with draggable handles in both directions, min and max sizes, snap to collapse, keyboard resizing, double click reset and nested groups.
src/registry/ui/resizable-panels.tsx/r/resizable-panels.json
Installation#
bash
npx shadcn@latest add @minidev/resizable-panels
MiniDev UI is in the shadcn registry directory, so the short form works with no setup. Older CLI versions can use the full URL: npx shadcn@latest add https://ui.minidev.pro/r/resizable-panels.json
Usage#
tsx
import { ResizablePanels } from "@/components/ui/resizable-panels"
export function Example() {
return (
<ResizablePanels left={<p className="text-sm text-fg-muted">Left pane</p>} right={<p className="text-sm text-fg-muted">Right pane</p>} />
)
}
API reference#
| Prop | Type | Default |
|---|---|---|
children | React.ReactNode | - |
orientation | Orientation | "horizontal" |
sizes | number[] | - |
defaultSizes | number[] | - |
onSizesChange | (sizes: number[]) => void | - |
keyboardStep | number | 2 |
left | React.ReactNode | - |
right | React.ReactNode | - |
initial | number | 50 |
className | string | - |
Dependencies#
npm
lucide-react
Built from
No other MiniDev files
Examples#
Related layout components#
AccordionAccessible React accordion on Base UI, with bordered items, a rotating chevron and animated panels. Keyboard navigable, with one or many items open at once.App ShellTailwind app shell layout with a fixed width sidebar slot, a topbar slot and a scrolling main area. The sidebar hides below the md breakpoint for mobile.Aspect RatioShadcn compatible aspect ratio wrapper that locks media to a ratio such as 16:9 or 1:1 using CSS aspect-ratio, with overflow clipped for images and video.CardShadcn compatible card with header, title, description, action, content and footer slots, a compact size and edge to edge images. Built for Tailwind v4.CenterLayout helper that centers content horizontally and vertically in a narrow, text-centered column. Handy for empty states, auth screens and simple heroes.ClusterFlex layout primitive that wraps children in a row with vertical centering and a numeric gap on the 4px scale. Great for tags, buttons and meta rows.
All layout components