/** * FlowBuilder Component Exports * * Exotel Design System wrapper around React Flow (@xyflow/react). * Provides a themed canvas, dagre auto-layout, and convenience hooks/contexts. * Ships no built-in node or edge types — consumers own their `nodeTypes` map. */ export { FlowBuilder, FlowCanvas } from './FlowBuilder'; export type { FlowCanvasProps } from './FlowBuilder'; export { FlowDirectionContext, useFlowDirection } from './context/FlowDirectionContext'; export { FlowNodeRegistryContext, useFlowNodeRegistry, } from './context/FlowNodeRegistryContext'; export { FLOW_GRID, FLOW_NODE_WIDTH, FLOW_NOTE_WIDTH, FLOW_HANDLE_SIZE, FLOW_TOOLBAR_GAP, FLOW_NODE_GAP, FLOW_RANK_SPACING, FLOW_CROSS_SPACING, FLOW_NODE_MIN_HEIGHT, FLOW_PANEL_SHADOW, } from './tokens'; export type { FlowDirection } from './tokens'; export type { FlowNodeAccent, FlowNodeKindDef, FlowNodeRegistry, ResolvedNodeAccent } from './nodeRegistry'; export { useNodeAccent } from './nodeRegistry'; export { getFlowLayout } from './layout/getFlowLayout'; export type { FlowBuilderProps, GroupNodeData, FlowBuilderNodeData, ConditionalEdgeData, FlowButtonEdgeData, } from './types'; export { GroupNode, NodeCard, NodeCardBranchRow, AccentIconSwatch, HoverBridge, useHoverToolbar, NodeHoverToolbar, NodeWithHoverToolbar, FlowNoteNode, NodeStatusIndicator, NodeAppendix, NodeTooltip, } from './nodes'; export type { NodeCardProps, NodeCardBranchRowProps, AccentIconSwatchProps, HoverBridgeProps, UseHoverToolbarOptions, UseHoverToolbarResult, NodeToolbarAction, NodeHoverToolbarProps, FlowNoteNodeData, NoteAction, NodeStatus, NodeStatusIndicatorProps, NodeAppendixProps, NodeAppendixPosition, NodeTooltipProps, } from './nodes'; export { NodePalette } from './palette/NodePalette'; export type { NodePaletteProps } from './palette/NodePalette'; export type { FlowNodePaletteCategory } from './palette/types'; export { FLOW_NODE_DRAG_MIME, readFlowNodeDragData } from './palette/dragPayload'; export type { FlowNodeDragData } from './palette/dragPayload'; export { groupNodesByCategory } from './palette/groupNodesByCategory'; export { useCenterOnNode } from './interactions/useCenterOnNode'; export type { UseCenterOnNodeOptions } from './interactions/useCenterOnNode'; export { useHandlePicker } from './interactions/useHandlePicker'; export type { HandlePickerContext, UseHandlePickerOptions, UseHandlePickerPopoverProps, UseHandlePickerResult, } from './interactions/useHandlePicker'; export { FlowConfigDrawer } from './interactions/FlowConfigDrawer'; export type { FlowConfigDrawerProps } from './interactions/FlowConfigDrawer'; export { DefaultEdge } from './edges'; export { ConditionalEdge } from './edges'; export { FlowButtonEdge } from './edges'; export { FlowIOVariablesPanel } from './panels/FlowIOVariablesPanel'; export type { FlowIOVariablesPanelProps } from './panels/FlowIOVariablesPanel'; export { FlowVariablesPill } from './panels/FlowVariablesPill'; export type { FlowVariablesPillProps, FlowVariableDef, FlowVariableGroup } from './panels/FlowVariablesPill'; export { FlowNodeSearchField } from './panels/FlowNodeSearchField'; export type { FlowNodeSearchFieldProps } from './panels/FlowNodeSearchField'; export { FlowSidePanel } from './panels/FlowSidePanel'; export type { FlowSidePanelProps } from './panels/FlowSidePanel'; export { FlowUnsavedChangesDialog } from './dialogs/FlowUnsavedChangesDialog'; export type { FlowUnsavedChangesDialogProps } from './dialogs/FlowUnsavedChangesDialog'; export { FlowControls } from './controls'; export type { FlowControlsProps } from './controls'; export { FlowToolbar } from './controls'; export type { FlowToolbarProps } from './controls'; export { FlowCanvasToolbar } from './controls'; export type { FlowCanvasToolbarProps } from './controls'; export { FlowCanvasHeader } from './controls'; export type { FlowCanvasHeaderProps } from './controls'; export { useFlowBuilder } from './hooks'; export type { UseFlowBuilderOptions, UseFlowBuilderReturn } from './hooks'; export { useFlowTheme } from './hooks'; export type { UseFlowThemeReturn } from './hooks'; export { getFlowThemeVars } from './theme'; export { Handle, Position, MarkerType, Panel, BaseEdge, EdgeLabelRenderer, getBezierPath, getSmoothStepPath, getStraightPath, useNodesState, useEdgesState, addEdge, applyNodeChanges, applyEdgeChanges, ReactFlowProvider, useReactFlow, BackgroundVariant, PanOnScrollMode, } from '@xyflow/react'; export type { Node, Edge, Connection, NodeTypes, EdgeTypes, NodeProps, EdgeProps, OnNodesChange, OnEdgesChange, OnConnect, ReactFlowInstance, ColorMode, BackgroundProps, MiniMapProps, } from '@xyflow/react';