Resizable

Resizable

Accessible resizable panel groups and layouts with keyboard support.

Horizontal

Panels arranged side by side with a vertical drag handle.

Panel 1
Panel 2

Vertical

Panels stacked vertically with a horizontal drag handle.

Header
Content

With Handle Grip

Visual grip indicator on the resize handle.

Left Panel
Right Panel

Three Panel Layout

Common sidebar + main + details layout.

Sidebar
Main Content
Details

Nested Layout

Combine horizontal and vertical layouts.

Navigation
Editor
Terminal

Email Client Example

Real-world layout example similar to email clients.

Folders
Inbox
Sent
Drafts
Trash
Messages
Welcome to NeoUI
Getting started guide...
New Features
Check out the latest...
Welcome to NeoUI
From: team@example.com

Hello,

Welcome to NeoUI! We're excited to have you.

  • Horizontal and vertical orientations
  • Min/max size constraints per panel
  • Optional visual grip handle
  • Nested layouts support
  • OnLayoutChange event for persistence

Implementation Note

Full drag-to-resize functionality requires JavaScript interop for mouse move/up event tracking. The current implementation provides component structure and styling. For production use with full drag behavior, additional JS interop would need to be added.

Features

  • Horizontal and vertical orientations
  • Min/max size constraints per panel
  • Optional visual grip handle
  • Nested layouts support
  • OnLayoutChange event for persistence

API Reference

Component parameters and their types.

Prop Type Default Description
Direction ResizableDirection Horizontal Layout direction. Options: Horizontal, Vertical.
DefaultSize int Initial size of the panel as a percentage (0–100).
MinSize int? Minimum allowed size of the panel as a percentage.
MaxSize int? Maximum allowed size of the panel as a percentage.
Index int Zero-based index of the ResizableHandle within its group.
WithHandle bool false When true, renders a visible grip icon on the drag handle.
OnLayoutChange EventCallback<int[]> Fired when the panel layout changes. Receives current sizes array.
Class string? Additional CSS classes for the component root element.

Reconnecting...

Attempting to rejoin the server

Connection Lost

Retrying in seconds

Connection Failed

Failed to rejoin the server.
Please retry or reload the page.

Session Paused

The session has been paused by the server

Resume Failed

Failed to resume the session.
Please reload the page.