Every prop on DashFlexLayout and Tab, plus the model schema.

Component Reference

Every prop on DashFlexLayout and Tab, plus the model schema.


DashFlexLayout

The main container. Pass a model (the layout tree) and a list of Tab children.

flexlayout_dash.DashFlexLayout props:

proptypedescription
childrena list of or a singular dash component, string or number; requiredList of children to be rendered. Children are allocated to their respective tab based on the ID of the element. WARNING: There is no validation done on whether the children here will be rendered in any tab. If there is no matching tab fo...
idstring; optionalUnique ID to identify this component in Dash callbacks.
colorSchemea value equal to: 'light', 'dark'; optionalCurrent color scheme, automatically detected from Mantine theme If not specified, will try to auto-detect from HTML data-mantine-color-scheme.
debugModeboolean; default FalseDebug mode flag.
fontboolean \number \string \dict \list; optionalThe tab font (overrides value in css). Example: font={{size:"12px", style:"italic"}}.
headersdict with strings as keys and values of type a list of or a singular dash component, string or number; optionalMap of headers to render for each tab. Uses the onRenderTab function to override the default headers, where a custom header mapping is supplied. Note: where possible, it is likely better to use classes to style the headers, rather than...
loading_statedict; optionalLoading state. loading_state is a dict with keys: - is_loading (boolean; required) - component_name (string; required) - prop_name (string; required)
modeldict; requiredModel layout. model is a dict with keys: - global (dict; optional) global is a dict with keys: - borderAutoSelectTabWhenClosed (boolean; optional): Value for BorderNode attribute autoSelectTabWhenClosed if not overridden whether to s...
modelActiondict with strings as keys and values of type boolean \number \string \dict \list; optionalImperative FlexLayout action applied to the LIVE model in place — works in both useStateForModel modes and never re-mounts sibling tabs (unlike replacing model, which is ignored when useStateForModel=True and re-mounts every tab otherw...
popoutURLstring; default '/assets/popout.html'URL of popout window relative to origin, defaults to popout.html.
realtimeResizeboolean; optionalBoolean value, defaults to False, resize tabs as splitters are dragged. Warning: this can cause resizing to become choppy when tabs are slow to draw.
supportsPopoutboolean; optionalIf left undefined will do simple check based on userAgent.
useStateForModelboolean; default FalseFlag that we should use internal state to manage the layout. If the layout is not being used by dash anywhere (for example, saving and re-hydrating the layout), it is more efficient to use the internal state (as this limits the number of...

Tab

A content wrapper. Its id must match a tab id in the model.

flexlayout_dash.Tab props:

proptypedescription
childrena list of or a singular dash component, string or number; optionalChildren to render within Tab.
idstring; requiredUnique ID to identify this component in Dash callbacks.

Model schema

The model is FlexLayout's JSON. Its top-level keys are:

tabEnableClose, tabEnableFloat, tabEnableRenderOnDemand, splitterSize, borderSize, tabSetEnableMaximize.

location of "left", "right", or "bottom" (see Borders & Sidebars).

model = {
    "global": {"tabEnableClose": False, "tabEnableFloat": True},
    "borders": [
        {"type": "border", "location": "left", "size": 220, "children": [
            {"type": "tab", "name": "Explorer", "id": "explorer"},
        ]},
    ],
    "layout": {
        "type": "row",
        "children": [
            {"type": "tabset", "weight": 50, "children": [
                {"type": "tab", "name": "Panel 1", "id": "panel-1"},
            ]},
            {"type": "tabset", "weight": 50, "children": [
                {"type": "tab", "name": "Panel 2", "id": "panel-2"},
            ]},
        ],
    },
}

Tip: set "tabEnableRenderOnDemand": False in global to keep every tab mounted —

important when tab content drives Dash callbacks.


Source: /reference

Note for AI agents: This is the static, prerendered view of an interactive Dash application served because we detected a non-JS user agent. Full prose docs: