Home
IDE-style dockable, resizable and floatable window panels for Plotly Dash — drag tabs between tabsets, split panes, collapse edge sidebars, and pop tabs into their own window.
flexlayout-dash — resizable panel layouts for Dash
IDE-style dockable, resizable, and floatable window panels for Plotly Dash.
flexlayout-dash wraps FlexLayout-React to give your Dash apps drag-and-drop tabs, splittable panes, collapsible border sidebars, and pop-out windows — with seamless Dash Mantine Components light/dark theming and full callback support via portal-based rendering.
Drag a tab onto another panel, or onto an edge, and the dock rearranges. Nothing re-mounts, so callbacks inside a panel keep running.
Install
pip install flexlayout-dash
import flexlayout_dash as dfl
The Python import name is
flexlayout_dash(as of 1.1.0); the PyPI package isflexlayout-dash.
Documentation
- Getting Started — your first dockable layout in a few lines.
- Component Reference — every prop on
DashFlexLayoutandTab. - Basic Layouts — rows, columns, nested splits, and multi-tab tabsets.
- Borders & Sidebars — collapsible left/right/bottom panels.
- Theming — automatic Mantine light/dark integration.
- Callbacks — reading layout state and driving content from callbacks.
Why flexlayout-dash?
- Dockable & draggable — rearrange tabs between tabsets by dragging.
- Resizable & floatable — drag splitters; pop tabs out into floating windows.
- Border sidebars — VS Code-style collapsible panels on the edges.
- Theme-aware — follows
data-mantine-color-schemeautomatically. - Callback-friendly — portal-based rendering keeps tab content mounted so your
Dash callbacks keep working.
- One build, no tiers — no tab limit, no licence key, MIT licensed.
Source: /