The full DashFlows prop table plus node and edge component props.

API Reference

The full DashFlows prop table plus node and edge component props.


Overview

Auto-generated prop tables for the dash-flows components. DashFlows is the main component; the node and edge components below are the custom types it can render.

DashFlows component

The main component. Set nodes, edges, and a style with a height; everything else is optional. Interaction outputs (e.g. clickedNode, selectedNodes, lastConnection) are read in callbacks.

NameTypeDescription
idstring; optionalThe ID used to identify this component in Dash callbacks.
addNodeOnEdgeDropboolean; optionalWhen True, dragging a connection from a handle and dropping on empty canvas creates a new default node at that position and connects it.
animateLayoutboolean; default FalseEnable smooth animated transitions when applying ELK layout. Nodes interpolate from current to target positions with an ease-out curve.
animateLayoutDurationnumber; default 300Duration of layout animation in milliseconds (default: 300).
ariaLabelConfigdict; optionalARIA label configuration for accessibility. Customize labels for screen readers. Keys: nodes, edges, controls, minimap. Values are label strings.
autoPanOnConnectboolean; default TrueAuto-pan viewport when making a new connection near edges.
autoPanOnNodeDragboolean; default TrueAuto-pan viewport when dragging a node near edges.
autoPanOnNodeFocusboolean; default TrueAuto-pan the viewport when focusing a node via keyboard (Tab key).
autoPanSpeednumber; default 15Speed of auto-panning (default: 15).
backgroundColorstring; optionalColor of the background pattern.
backgroundGapnumber \list of numbers; default 16Gap between background pattern elements.
backgroundSizenumber; default 1Size of background pattern elements.
backgroundVarianta value equal to: 'dots', 'lines', 'cross'; default 'dots'Background pattern type: 'dots', 'lines', 'cross'.
classNamestring; default ''CSS class name for the container div.
clickedEdgedict; optionalThe edge that was clicked. clickedEdge is a dict with keys: - id (string; optional) - source (string; optional) - target (string; optional)
clickedNodedict; optionalThe node that was clicked. clickedNode is a dict with keys: - id (string; optional) - data (dict; optional) - position (dict; optional)
clipboarddict; optionalInternal clipboard containing copied nodes and edges. Populated by copyAction, consumed by pasteAction. clipboard is a dict with keys: - nodes (list; optional) - edges (list; optional) - timestamp (number; optional)
collapsedGroupslist of strings; optionalList of currently collapsed group node IDs (read-only output).
colorModea value equal to: 'light', 'dark', 'system'; default 'light'Color mode: 'light', 'dark', or 'system'.
colorSchemea value equal to: 'default', 'ocean', 'forest', 'sunset', 'midnight', 'rose'; optionalColor scheme preset for node and edge colors. Works in combination with themePreset for full customization. Each scheme includes light and dark mode variants. - default: Neutral blue/purple (default) - ocean: Blues and teals - forest: Greens and browns - sunset: Oranges and reds - midnight: Deep blues and purples - rose: Pinks and reds.
computeActiondict; optionalTrigger a graph computation. Set to { action: 'compute' } to perform topological sort and emit traversal order with input mappings. Will be reset to None after execution. computeAction is a dict with keys: - action (a value equal to: 'compute', 'computeNode'; optional) - nodeId (string; optional) - inputData (dict; optional)
computeResultdict; optionalResult of the last computation. Contains traversalOrder (array of node IDs in topological order) and nodeInputs (map of nodeId to input details). computeResult is a dict with keys: - traversalOrder (list of strings; optional) - nodeInputs (dict; optional) - timestamp (number; optional)
connectOnClickboolean; default TrueEnable click-based connection mode (click source then target).
connectionDragThresholdnumber; default 0Minimum drag distance in pixels before a connection line appears. Useful to prevent accidental connections. Default is 0 (immediate).
connectionLineStyledict; optionalStyle for the connection line while dragging.
connectionLineTypea value equal to: 'bezier', 'straight', 'step', 'smoothstep', 'simplebezier'; default 'bezier'Type of connection line: 'bezier', 'straight', 'step', 'smoothstep', 'simplebezier'.
connectionModea value equal to: 'strict', 'loose'; default 'strict'Connection mode: 'strict' (same handle type) or 'loose' (any handle).
connectionRadiusnumber; default 20Radius for connection drop detection (default: 20).
connectionRulesdict; optionalRules for validating connections. connectionRules is a dict with keys: - allowSelfConnection (boolean; optional) - allowDuplicateConnections (boolean; optional) - validSourceTypes (list of strings; optional) - validTargetTypes (list of strings; optional)
connectionStartHandledict; optionalCurrent connection being created. connectionStartHandle is a dict with keys: - nodeId (string; optional) - handleId (string; optional) - handleType (string; optional)
contextMenuEdgedict; optionalContext menu info for an edge. contextMenuEdge is a dict with keys: - id (string; optional) - source (string; optional) - target (string; optional) - clientX (number; optional) - clientY (number; optional)
contextMenuNodedict; optionalContext menu info for a node. contextMenuNode is a dict with keys: - id (string; optional) - data (dict; optional) - position (dict; optional) - clientX (number; optional) - clientY (number; optional)
controlsPositiona value equal to: 'top-left', 'top-right', 'bottom-left', 'bottom-right', 'top-center', 'bottom-center'; default 'bottom-left'Position of controls panel.
controlsShowFitViewboolean; default TrueShow fit-view button in controls.
controlsShowInteractiveboolean; default TrueShow interactive toggle in controls.
controlsShowZoomboolean; default TrueShow zoom buttons in controls.
copyActionboolean; optionalTrigger to copy selected nodes and edges to clipboard. Set to True to copy. Will be reset to False after copying. If nothing is selected, copies all nodes and their connecting edges.
defaultEdgeOptionsdict; optionalDefault options applied to all new edges. defaultEdgeOptions is a dict with keys: - type (string; optional) - style (dict; optional) - animated (boolean; optional) - markerStart (dict; optional) - markerEnd (dict; optional)
defaultMarkerColorstring; default '#555'Default color for edge markers.
defaultViewportdict; optionalThe initial viewport position and zoom level. defaultViewport is a dict with keys: - x (number; optional) - y (number; optional) - zoom (number; optional)
deleteElementsActiondict; optionalDelete specific nodes and/or edges by ID. Routes through reactFlowInstance.deleteElements() so undo/redo middleware can capture the change. Set to { nodeIds: [...], edgeIds: [...] }; auto-resets to None. deleteElementsAction is a dict with keys: - nodeIds (list of strings; optional): IDs of nodes to delete (connected edges are also removed). - edgeIds (list of strings; optional): IDs of edges to delete.
deleteKeyCodestring; default 'Backspace'Key code for deleting selected elements (default: 'Backspace', None to disable).
deletedEdgeslist of strings; optionalIDs of recently deleted edges.
deletedNodeslist of strings; optionalIDs of recently deleted nodes.
disableKeyboardA11yboolean; default FalseDisable keyboard accessibility features.
doubleClickedEdgedict; optionalThe edge that was double-clicked. doubleClickedEdge is a dict with keys: - id (string; optional) - source (string; optional) - target (string; optional)
doubleClickedNodedict; optionalThe node that was double-clicked. doubleClickedNode is a dict with keys: - id (string; optional) - data (dict; optional) - position (dict; optional)
downloadImagedict; optionalTrigger to download the flow as an image. Set to a config object to initiate download. Will be reset to None after download. Config options: - format: 'png' \'svg' \'jpeg' (default: 'png') - filename: string (default: 'flow') - quality: number 0-1 (default: 0.95, for jpeg only) - backgroundColor: string (default: '#ffffff') - pixelRatio: number (default: 2, for higher resolution). downloadImage is a dict with keys: - format (a value equal to: 'png', 'svg', 'jpeg', 'jpg'; optional) - filename (string; optional) - quality (number; optional) - backgroundColor (string; optional) - pixelRatio (number; optional)
draggedNodedict; optionalThe node being dragged. draggedNode is a dict with keys: - id (string; optional) - isDragging (boolean; optional) - startPosition (dict; optional) - currentPosition (dict; optional) - endPosition (dict; optional)
droppedNodedict; optionalNode data from a drop event (drag and drop from external source). Contains the type, position, and data of the dropped item. Use this in a callback to create a new node at the drop position. droppedNode is a dict with keys: - type (string; optional) - position (dict; optional) position is a dict with keys: - x (number; optional) - y (number; optional) - data (dict; optional) - clientX (number; optional) - clientY (number; optional) - timestamp (number; optional)
edgeDroppedNodedict; optionalInfo about the node created by dropping an edge on empty canvas. Contains nodeId, position, sourceNodeId, sourceHandleId, handleType, timestamp. edgeDroppedNode is a dict with keys: - nodeId (string; optional) - position (dict; optional) position is a dict with keys: - x (number; optional) - y (number; optional) - sourceNodeId (string; optional) - sourceHandleId (string; optional) - handleType (string; optional) - timestamp (number; optional)
edgeslist of dicts; optionalArray of edges defining connections between nodes. edges is a list of dicts with keys: - id (string; required) - source (string; required) - target (string; required) - sourceHandle (string; optional) - targetHandle (string; optional) - type (string; optional) - data (dict; optional) - style (dict; optional) - className (string; optional) - hidden (boolean; optional) - selected (boolean; optional) - animated (boolean; optional) - deletable (boolean; optional) - selectable (boolean; optional) - focusable (boolean; optional) - zIndex (number; optional) - ariaLabel (string; optional) - interactionWidth (number; optional) - label (string; optional) - labelStyle (dict; optional) - labelShowBg (boolean; optional) - labelBgStyle (dict; optional) - labelBgPadding (list of numbers; optional) - labelBgBorderRadius (number; optional) - markerStart (dict; optional) markerStart is a string Or dict with keys: - type (string; required) - color (string; optional) - width (number; optional) - height (number; optional) - markerUnits (string; optional) - orient (string; optional) - strokeWidth (number; optional) - markerEnd (dict; optional) markerEnd is a string \dict with keys: - type (string; required) - color (string; optional) - width (number; optional) - height (number; optional) - markerUnits (string; optional) - orient (string; optional) - strokeWidth (number; optional)
edgesFocusableboolean; default TrueEnable/disable keyboard focus on edges.
edgesReconnectableboolean; default TrueAllow edges to be reconnected after creation.
elementsSelectableboolean; default TrueEnable/disable the ability to select elements.
elevateEdgesOnSelectboolean; default FalseRaise z-index of selected edges.
elevateNodesOnSelectboolean; default TrueRaise z-index of selected nodes.
enableUndoRedoboolean; default FalseEnable the undo/redo history system. When enabled, node and edge changes (add, remove, position drag-stop) are recorded to a history stack.
exportFlowStateboolean; optionalTrigger to export the current flow state. Set to True to export. After export, this will be reset to False and flowState will be populated.
fitViewboolean; default FalseAutomatically fit all nodes in view on initialization.
fitViewOptionsdict; optionalOptions for fitView behavior. fitViewOptions is a dict with keys: - padding (number; optional) - includeHiddenNodes (boolean; optional) - minZoom (number; optional) - maxZoom (number; optional) - duration (number; optional) - nodes (list of dicts; optional) nodes is a list of dicts with keys: - id (string; optional)
flowStatedict; optionalThe exported flow state as a serializable object containing nodes, edges, and viewport. This is populated when exportFlowState is triggered. flowState is a dict with keys: - nodes (list; optional) - edges (list; optional) - viewport (dict; optional) viewport is a dict with keys: - x (number; optional) - y (number; optional) - zoom (number; optional)
helperLineThresholdnumber; optionalDistance in pixels within which helper lines snap and appear (default: 5).
helperLinesboolean; optionalEnable visual alignment guides (helper lines) when dragging nodes. Lines appear when a node aligns with another node's top/center/bottom or left/center/right.
hoveredEdgedict; optionalThe edge being hovered. hoveredEdge is a dict with keys: - id (string; optional) - source (string; optional) - target (string; optional)
hoveredNodedict; optionalThe node being hovered. hoveredNode is a dict with keys: - id (string; optional) - data (dict; optional)
imageDownloadeddict; optionalInformation about the last successful image download. Populated after a successful downloadImage operation. imageDownloaded is a dict with keys: - filename (string; optional) - format (string; optional) - timestamp (number; optional)
initializedboolean; optionalWhether the flow has been initialized.
lastConnectiondict; optionalThe last connection that was made. lastConnection is a dict with keys: - source (string; optional) - sourceHandle (string; optional) - target (string; optional) - targetHandle (string; optional)
lastErrordict; optionalLast error that occurred. lastError is a dict with keys: - id (string; optional) - message (string; optional) - type (string; optional) - timestamp (number; optional)
layoutOptionsstring; optionalLayout options for arranging nodes using the ELK layout engine (JSON string).
maxZoomnumber; default 2Maximum zoom level (default: 2).
minZoomnumber; default 0.5Minimum zoom level (default: 0.5).
miniMapMaskColorstring; optionalColor for the minimap mask (viewport indicator).
miniMapNodeBorderRadiusnumber; optionalBorder radius for minimap nodes.
miniMapNodeColorstring; optionalColor function or string for minimap nodes.
miniMapNodeStrokeColorstring; optionalStroke color for minimap nodes.
miniMapPannableboolean; default FalseAllow panning by dragging the minimap.
miniMapPositiona value equal to: 'top-left', 'top-right', 'bottom-left', 'bottom-right'; default 'bottom-right'Position of the minimap.
miniMapZoomableboolean; default FalseAllow zooming via the minimap.
multiSelectionKeyCodestring; optionalKey code for adding to selection.
noDragClassNamestring; default 'nodrag'CSS class name that prevents dragging when applied to elements.
noPanClassNamestring; default 'nopan'CSS class name that prevents panning when applied to elements.
noWheelClassNamestring; default 'nowheel'CSS class name that prevents wheel zoom when applied to elements.
nodeConnectionsdict; optionalMap of nodeId to connection metadata. Each entry has 'incoming' and 'outgoing' arrays with edge/node details. Updated automatically when edges change.
nodeExtentlist of list of numberss; optionalLimit where nodes can be placed [[minX, minY], [maxX, maxY]].
nodeslist of dicts; optionalArray of nodes to display in the flow. nodes is a list of dicts with keys: - id (string; required) - type (string; optional) - data (dict; required) - position (dict; required) position is a dict with keys: - x (number; required) - y (number; required) - style (dict; optional) - className (string; optional) - hidden (boolean; optional) - selected (boolean; optional) - draggable (boolean; optional) - selectable (boolean; optional) - connectable (boolean; optional) - deletable (boolean; optional) - dragHandle (string; optional) - width (number; optional) - height (number; optional) - parentId (string; optional) - zIndex (number; optional) - extent (string \list of list of numberss; optional) - expandParent (boolean; optional) - positionAbsolute (dict; optional) positionAbsolute is a dict with keys: - x (number; optional) - y (number; optional) - ariaLabel (string; optional) - focusable (boolean; optional) - resizing (boolean; optional)
nodesConnectableboolean; default TrueEnable/disable the ability to make new connections between nodes.
nodesDraggableboolean; default TrueEnable/disable node dragging behavior.
nodesFocusableboolean; default TrueEnable/disable keyboard focus on nodes.
onlyRenderVisibleElementsboolean; default FalseOnly render nodes and edges that are visible in the viewport.
panActivationKeyCodestring; default 'Space'Key code to activate pan mode (default: 'Space').
panOnDragboolean \list of numbers; default TrueEnable/disable panning by dragging. Can be boolean or array of mouse buttons [0,1,2].
panOnScrollboolean; default FalseEnable panning by scrolling.
panOnScrollModea value equal to: 'free', 'vertical', 'horizontal'; default 'free'Restrict scroll panning direction: 'free', 'vertical', 'horizontal'.
panOnScrollSpeednumber; default 0.5Speed of scroll-based panning (default: 0.5).
paneClickPositiondict; optionalPosition where the pane was clicked. paneClickPosition is a dict with keys: - clientX (number; optional) - clientY (number; optional)
paneContextMenudict; optionalContext menu info for the pane. paneContextMenu is a dict with keys: - clientX (number; optional) - clientY (number; optional)
panelslist of dicts; optionalArray of panel configurations for custom UI overlays. panels is a list of dicts with keys: - position (a value equal to: 'top-left', 'top-right', 'bottom-left', 'bottom-right', 'top-center', 'bottom-center'; optional) - children (boolean \number \string \dict \list; optional)
pasteActiondict; optionalTrigger to paste nodes and edges from clipboard. Set to an object with optional offset: { offset: { x: 50, y: 50 } } Will be reset to None after pasting. pasteAction is a dict with keys: - offset (dict; optional) offset is a dict with keys: - x (number; optional) - y (number; optional)
pastedElementsdict; optionalInformation about the last paste operation. Contains the IDs of newly created nodes and edges. pastedElements is a dict with keys: - nodeIds (list of strings; optional) - edgeIds (list of strings; optional) - timestamp (number; optional)
preventDeleteboolean; default FalseEnable delete prevention checks.
preventDeleteEdgeslist of strings; optionalList of edge IDs that cannot be deleted.
preventDeleteNodeslist of strings; optionalList of node IDs that cannot be deleted.
preventScrollingboolean; default TruePrevent scrolling on the page when the mouse is over the flow.
reconnectRadiusnumber; default 10Radius for reconnection detection (default: 10).
restoreFlowStatedict; optionalImport/restore a previously exported flow state. Set this to a flowState object to restore the flow. restoreFlowState is a dict with keys: - nodes (list; optional) - edges (list; optional) - viewport (dict; optional) viewport is a dict with keys: - x (number; optional) - y (number; optional) - zoom (number; optional)
selectNodesOnDragboolean; default TrueSelect nodes when dragging over them.
selectedEdgeslist of strings; optionalIDs of currently selected edges.
selectedNodeslist of strings; optionalIDs of currently selected nodes.
selectionKeyCodestring; default 'Shift'Key code for multi-selection box (default: 'Shift').
selectionModea value equal to: 'full', 'partial'; default 'full'Selection mode: 'full' (fully enclosed) or 'partial' (touching).
selectionOnDragboolean; default FalseEnable selection box by dragging on the pane.
showBackgroundboolean; default TrueShow/hide the background pattern.
showControlsboolean; default TrueShow/hide the control panel.
showDevToolsboolean; default FalseShow/hide the developer tools panel.
showMiniMapboolean; default TrueShow/hide the minimap navigation component.
smartHandlesboolean; optionalEnable smart handle positioning. When True, nodes render handles on all 4 sides and edges automatically connect to the closest handle pair based on relative node positions. This prevents edges from wrapping around nodes unnecessarily.
snapGridlist of numbers; default [15, 15]The grid size for snapping [x, y] (default: [15, 15]).
snapToGridboolean; default FalseWhether to snap nodes to a grid when dragging.
themedict; optionalCustom theme configuration. Overrides CSS variables for fine-grained control. All properties are optional - only specify what you want to customize. theme is a dict with keys: - glassBlur (number; optional): Glass blur intensity in pixels (default: 12). - glassSaturate (number; optional): Glass saturation percentage (default: 180). - nodeBackground (string; optional): Node background color (e.g., 'rgba(255, 255, 255, 0.72)'). - nodeBorder (string; optional): Node border color. - nodeText (string; optional): Node primary text color. - nodeTextSecondary (string; optional): Node secondary/subtitle text color. - inputNodeBackground (string; optional): Input node background color. - inputNodeBorder (string; optional): Input node border color. - inputNodeAccent (string; optional): Input node accent color (top bar). - outputNodeBackground (string; optional): Output node background color. - outputNodeBorder (string; optional): Output node border color. - outputNodeAccent (string; optional): Output node accent color (bottom bar). - edgeStroke (string; optional): Edge stroke color. - edgeStrokeSelected (string; optional): Selected edge stroke color. - edgeStrokeAnimated (string; optional): Animated edge stroke color. - edgeStrokeWidth (number; optional): Edge stroke width in pixels. - handleBackground (string; optional): Handle background color. - handleBorder (string; optional): Handle border color. - handleConnected (string; optional): Connected handle color. - backgroundColor (string; optional): Flow background color. - backgroundPattern (string; optional): Background pattern color. - selectionBackground (string; optional): Selection box background color. - selectionBorder (string; optional): Selection box border color. - borderRadius (number; optional): Node border radius in pixels.
themePreseta value equal to: 'glass', 'solid', 'minimal'; optionalTheme preset: 'glass' (default), 'solid', or 'minimal' - glass: Glassmorphism with blur and transparency - solid: Opaque nodes with subtle shadows (better for complex backgrounds) - minimal: Clean lines with minimal styling.
toggleCollapseNodestring; optionalSet to a group node ID to toggle its collapsed/expanded state. When collapsed, child nodes are hidden and boundary edges remap to the group. Will be reset to None after processing.
trackNodeDragboolean; default FalseTrack node position during drag (can be expensive).
trackViewportboolean; default FalseTrack viewport changes during pan/zoom.
translateExtentlist of list of numberss; optionalLimit the viewport panning extent [[minX, minY], [maxX, maxY]].
undoRedoActiondict; optionalTrigger an undo or redo action. Set to { action: 'undo' } or { action: 'redo' }. Will be reset to None after execution. undoRedoAction is a dict with keys: - action (a value equal to: 'undo', 'redo'; optional)
undoRedoMaxHistorynumber; default 50Maximum number of history snapshots to keep (default: 50).
undoRedoStatedict; optionalCurrent undo/redo state. Contains canUndo, canRedo, undoCount, redoCount. Updated automatically when history changes. undoRedoState is a dict with keys: - canUndo (boolean; optional) - canRedo (boolean; optional) - undoCount (number; optional) - redoCount (number; optional)
viewportdict; optionalCurrent viewport state (read-only, updated by callbacks). viewport is a dict with keys: - x (number; optional) - y (number; optional) - zoom (number; optional)
viewportActiondict; optionalTrigger viewport actions programmatically. Set to an action object to execute. Will be reset to None after execution. Supported actions: - { action: 'fitView', options: {...} } - { action: 'zoomIn', options: {...} } - { action: 'zoomOut', options: {...} } - { action: 'setZoom', zoom: 1.5, options: {...} } - { action: 'setCenter', x: 100, y: 100, options: {...} } - { action: 'setViewport', viewport: {x, y, zoom}, options: {...} } - { action: 'focusNode', nodeId: 'node-1', zoom: 1.5, duration: 500 }. viewportAction is a dict with keys: - action (a value equal to: 'fitView', 'zoomIn', 'zoomOut', 'setZoom', 'setCenter', 'setViewport', 'focusNode'; optional) - nodeId (string; optional) - x (number; optional) - y (number; optional) - zoom (number; optional) - duration (number; optional) - viewport (dict; optional) viewport is a dict with keys: - x (number; optional) - y (number; optional) - zoom (number; optional) - options (dict; optional)
viewportMovingboolean; optionalWhether viewport is currently moving (panning/zooming).
viewportOverlayslist of dicts; optionalArray of overlay elements rendered in flow coordinates via ViewportPortal. Each overlay moves with the viewport (pan/zoom) and is positioned at (x, y) in flow space. viewportOverlays is a list of dicts with keys: - x (number; optional): X position in flow coordinates. - y (number; optional): Y position in flow coordinates. - content (string; optional): Text content to display. - style (dict; optional): Custom CSS styles for the overlay div.
zIndexModea value equal to: 'default', 'elevate'; optionalZ-index calculation mode. 'default' uses standard stacking. 'elevate' raises selected nodes and connected edges above all other elements.
zoomActivationKeyCodestring; optionalKey code to activate zoom mode.
zoomOnDoubleClickboolean; default TrueEnable zooming by double-clicking.
zoomOnPinchboolean; default TrueEnable zooming by pinching on touch devices.
zoomOnScrollboolean; default TrueEnable zooming by scrolling.

Node components

Custom node types you can register and render inside a flow.

NameTypeDescription
datadict; requiredNode data object containing label, styling, and handle configuration. data is a dict with keys: - label (boolean \number \string \dict \list; optional): Primary content to display in the node - string or Dash component. - title (boolean \number \string \dict \list; optional): Alias for label - use for clarity when also using body text. - sublabel (string; optional): Secondary text displayed below the main label. - body (boolean \number \string \dict \list; optional): Body text displayed below title/sublabel. - icon (boolean \number \string \dict \list; optional): Custom icon - DashIconify component or any Dash component. - iconColor (string; optional): Background color for the icon container. - showIcon (boolean; optional): Show/hide icon (default: True if icon prop provided, False otherwise). - layout (a value equal to: 'stacked', 'horizontal'; optional): Layout mode: 'stacked' (vertical) or 'horizontal' (icon left, text right). - multiline (boolean; optional): Allow multiline text wrapping. - style (dict; optional): Custom CSS styles for the node container. - className (string; optional): Additional CSS class name. - handleStyle (dict; optional): Custom CSS styles for connection handles. - targetPosition (string; optional): Position for the target (input) handle: 'top', 'bottom', 'left', 'right'. - sourcePosition (string; optional): Position for the source (output) handle: 'top', 'bottom', 'left', 'right'. - status (a value equal to: 'initial', 'loading', 'success', 'error'; optional): Node status: 'initial', 'loading', 'success', 'error'. - loadingVariant (a value equal to: 'border', 'overlay'; optional): Loading animation variant: 'border' or 'overlay'. - smartHandles (boolean; optional): Enable smart handles mode - renders handles on all 4 sides for optimal edge routing.
isConnectableboolean; optionalWhether connections can be made to/from this node.
selectedboolean; optionalWhether the node is currently selected.
NameTypeDescription
idstring; optionalNode ID.
datadict; optionalNode data object containing label, icon, and styling options. data is a dict with keys: - label (boolean \number \string \dict \list; optional): Label content for the group - displayed in top-left corner. - icon (boolean \number \string \dict \list; optional): Icon element to display next to the label. - labelStyle (dict; optional): Custom CSS styles for the label element. - resizable (boolean; optional): Whether the group can be resized (default: True). - minWidth (number; optional): Minimum width constraint for resizing. - minHeight (number; optional): Minimum height constraint for resizing. - maxWidth (number; optional): Maximum width constraint for resizing. - maxHeight (number; optional): Maximum height constraint for resizing. - keepAspectRatio (boolean; optional): Maintain aspect ratio when resizing. - collapsed (boolean; optional): Whether the group is collapsed (managed by DashFlows toggleCollapseNode). - collapsedWidth (number; optional): Width when collapsed (default: 150). - collapsedHeight (number; optional): Height when collapsed (default: 50).
selectedboolean; optionalWhether the group is currently selected.

Edge components

NameTypeDescription
idstring; requiredUnique identifier for the edge.
datadict; optionalConfiguration data for the button edge. data is a dict with keys: - label (boolean \number \string \dict \list; optional): Label text to display next to the button. - showButton (boolean; optional): Whether to show the button (default: True). - buttonLabel (string; optional): Text/symbol to display on the button (default: '×'). - buttonStyle (dict; optional): Custom CSS styles for the button. - buttonTitle (string; optional): Tooltip title for the button. - onButtonClick (optional): Callback function when button is clicked. - showToolbar (boolean; optional): Show glass morphism toolbar when edge is selected. - toolbarStyle (dict; optional): Custom CSS styles for the toolbar container.
labelboolean \number \string \dict \list; optionalLabel text to display on the edge.
labelStyledict; optionalCustom CSS styles for the label.
markerEndboolean \number \string \dict \list; optionalMarker configuration for the edge end.
markerStartboolean \number \string \dict \list; optionalMarker configuration for the edge start.
selectedboolean; optionalWhether the edge is currently selected.
sourcePositionstring; optionalPosition of the source handle ('top', 'bottom', 'left', 'right').
sourceXnumber; requiredX coordinate of the edge source.
sourceYnumber; requiredY coordinate of the edge source.
targetPositionstring; optionalPosition of the target handle ('top', 'bottom', 'left', 'right').
targetXnumber; requiredX coordinate of the edge target.
targetYnumber; requiredY coordinate of the edge target.
NameTypeDescription
idstring; requiredUnique identifier for the edge.
datadict; optionalAdditional data passed to the edge.
labelboolean \number \string \dict \list; optionalLabel text to display on the edge.
labelStyledict; optionalCustom CSS styles for the label.
markerEndboolean \number \string \dict \list; optionalMarker configuration for the edge end.
markerStartboolean \number \string \dict \list; optionalMarker configuration for the edge start.
selectedboolean; optionalWhether the edge is currently selected.
sourcestring; requiredSource node ID.
sourceXnumber; optionalX coordinate of the edge source.
sourceYnumber; optionalY coordinate of the edge source.
targetstring; requiredTarget node ID.
targetXnumber; optionalX coordinate of the edge target.
targetYnumber; optionalY coordinate of the edge target.

Source: /api-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: