Resizable Component
Accessible resizable panel groups and layouts with keyboard support.
Horizontal
Panels arranged side by side with a vertical drag handle.
Vertical
Panels stacked vertically with a horizontal drag handle.
With Handle Grip
Visual grip indicator on the resize handle.
Three Panel Layout
Common sidebar + main + details layout.
Nested Layout
Combine horizontal and vertical layouts.
Email Client Example
Real-world layout example similar to email clients.
Features
- Horizontal and vertical orientations
- Min/max size constraints per panel
- Optional visual grip handle
- Nested layouts support
- OnLayoutChange event for persistence
Note
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.
Installation
@using BlazorUI.Components.ResizableUsage
<ResizablePanelGroup Direction="ResizableDirection.Horizontal" Class="min-h-[200px]">
<ResizablePanel DefaultSize="50">
<div>Left Panel</div>
</ResizablePanel>
<ResizableHandle Index="0" WithHandle="true" />
<ResizablePanel DefaultSize="50">
<div>Right Panel</div>
</ResizablePanel>
</ResizablePanelGroup>