MiHCM
layout/@mihcm/ui·v0.21.0·stable

Resizable

Resizable panel layout with draggable dividers. Horizontal/vertical split panes for editors, dashboards, admin layouts.

Two-panel horizontal

Panel A
Panel B
<ResizablePanelGroup direction="horizontal">
  <ResizablePanel defaultSize={50}>Panel A</ResizablePanel>
  <ResizableHandle />
  <ResizablePanel defaultSize={50}>Panel B</ResizablePanel>
</ResizablePanelGroup>

With grip handle

Pass withHandle to ResizableHandle to render a visible drag grip. This helps users discover that the divider is draggable.

Sidebar
Main
<ResizablePanelGroup direction="horizontal">
  <ResizablePanel defaultSize={25} minSize={15}>Sidebar</ResizablePanel>
  <ResizableHandle withHandle />
  <ResizablePanel defaultSize={75}>Main</ResizablePanel>
</ResizablePanelGroup>

Three-panel layout

A sidebar + editor + inspector pattern common in IDEs and design tools. Each panel has minSize and maxSize constraints to keep the layout usable.

Explorer
src/
App.tsx
index.ts
Editor
Main content area
Inspector
TypeComponent
Props3
<ResizablePanelGroup direction="horizontal">
  <ResizablePanel defaultSize={20} minSize={10} maxSize={30}>
    Explorer
  </ResizablePanel>
  <ResizableHandle withHandle />
  <ResizablePanel defaultSize={55} minSize={30}>
    Editor
  </ResizablePanel>
  <ResizableHandle withHandle />
  <ResizablePanel defaultSize={25} minSize={15} maxSize={35}>
    Inspector
  </ResizablePanel>
</ResizablePanelGroup>