Resizable

PRO

General-purpose split-pane panel groups with drag-to-resize handles. Built on react-resizable-panels with horizontal and vertical layouts, nested groups, and full keyboard accessibility — styled entirely with MoonUI design tokens.

Pro Features

Unlock advanced capabilities with the Pro version

Horizontal and Vertical Layouts

Switch the whole group between side-by-side and stacked panels with a single direction prop

Drag-to-Resize Handles

Smooth pointer dragging with an optional visible grip via the withHandle prop

Nested Groups

Compose complex IDE-style layouts by nesting panel groups inside individual panels

Min, Max, and Collapse

Constrain each panel with minSize and maxSize, or let it collapse entirely when collapsible

Persistent Layouts

Set autoSaveId to store a user's panel sizes and restore them automatically on the next visit

Keyboard Accessible

Handles are focusable separators that resize with the arrow keys and expose ARIA value semantics

Installation

Install via CLI

npx @moontra/moonui-cli add resizable

Usage

Pro Required
Sidebar

Drag the handle to resize this panel.

Content

Panels keep their proportions as the group is resized.

Examples

Horizontal Split

PRO

Two side-by-side panels separated by a draggable handle. Set direction to horizontal and give the wrapping container a fixed height so the panels are visible. withHandle renders the visible grip.

Pro Required
Sidebar

Drag the handle to resize this panel.

Content

Panels keep their proportions as the group is resized.

Vertical Split

PRO

Stack panels top to bottom by setting direction to vertical. The handle rotates automatically and resizes along the vertical axis.

Pro Required
Header
Main content area

Nested Groups (IDE Layout)

PRO

Compose a code editor layout by nesting a vertical ResizablePanelGroup inside a horizontal panel: a left explorer, plus an editor stacked over a terminal on the right.

Pro Required
Explorersrc/components/app/
Editor
Terminal