ObjectUIObjectUI
ComponentsComplex

Resizable

Resizable panel groups with draggable handles

The Resizable component creates adjustable panel layouts with draggable handles, perfect for split views and customizable interfaces.

Basic Usage

Horizontal Split

Panel 1
Panel 2

Vertical Layout

Vertical Split

Top Panel
Bottom Panel

Three Panels

Triple Split

Sidebar
Main Content
Inspector

Schema

interface ResizablePanel {
  defaultSize: number;                  // Initial size percentage
  minSize?: number;                     // Minimum size percentage
  maxSize?: number;                     // Maximum size percentage
  content: SchemaNode | SchemaNode[];   // Panel content
}

interface ResizableSchema {
  type: 'resizable';
  
  // Configuration
  direction?: 'horizontal' | 'vertical'; // Panel direction (default: 'horizontal')
  minHeight?: string;                    // Minimum container height
  withHandle?: boolean;                  // Show handle icons (default: true)
  
  // Panels
  panels: ResizablePanel[];              // Array of panel configurations
  
  // Styling
  className?: string;                    // Tailwind CSS classes
  
  // Base properties
  id?: string;
  visible?: boolean | string;
  testId?: string;
}

Examples

Code Editor Layout

Editor Interface

File Explorer
src
README.md
// Code editor function hello() { console.log("Hello World"); }

Dashboard Layout

Complex Layout

Main Dashboard

Revenue

$45,231

Users

12,543

Activity Feed
Details Panel

Mail Client

Mail Layout

Folders📧 Inbox📤 Sent🗑️ Trash
MessagesMessage list...
Message ContentEmail body appears here...

On this page