@matthewgapp/solidjs-flow
Version:
React Flow - A highly customizable React library for building node-based editors and interactive flow charts.
119 lines • 8.76 kB
TypeScript
import type { Edge, Node, SolidFlowState } from '../types';
/**
* Hook for accessing the internal store. Should only be used in rare cases.
*
* @public
* @param selector
* @param equalityFn
* @returns The selected state slice
*
* @example
* const nodes = useStore((state: ReactFlowState<MyNodeType>) => state.nodes);
*
*/
declare function useStore<StateSlice = unknown>(selector: (state: SolidFlowState) => StateSlice): StateSlice;
declare function useStoreApi<NodeType extends Node = Node, EdgeType extends Edge = Edge>(): {
batch: (fn: (s: SolidFlowState<NodeType, EdgeType>) => void) => void;
rfId: import("../store/initialState").Writable<string>;
width: import("../store/initialState").Writable<number>;
height: import("../store/initialState").Writable<number>;
transform: import("../store/initialState").Writable<import("@xyflow/system").Transform>;
nodes: import("../store/initialState").Writable<NodeType[]>;
nodeLookup: import("@solid-primitives/map").ReactiveMap<string, import("../types").InternalNode<NodeType>>;
parentLookup: import("@solid-primitives/map").ReactiveMap<string, import("../types").InternalNode<NodeType>[]>;
edges: import("../store/initialState").Writable<Edge[]>;
edgeLookup: import("../types").ReactiveEdgeLookup<EdgeType>;
connectionLookup: import("../types").ReactiveConnectionLookup;
onNodesChange: import("../store/initialState").Writable<import("../types").OnNodesChange<NodeType> | null>;
onEdgesChange: import("../store/initialState").Writable<import("../types").OnEdgesChange<EdgeType> | null>;
hasDefaultNodes: import("../store/initialState").Writable<boolean>;
hasDefaultEdges: import("../store/initialState").Writable<boolean>;
domNode: import("../store/initialState").Writable<HTMLDivElement | null>;
paneDragging: import("../store/initialState").Writable<boolean>;
noPanClassName: import("../store/initialState").Writable<string>;
panZoom: import("../store/initialState").Writable<import("@xyflow/system").PanZoomInstance | null>;
minZoom: import("../store/initialState").Writable<number>;
maxZoom: import("../store/initialState").Writable<number>;
translateExtent: import("../store/initialState").Writable<import("@xyflow/system").CoordinateExtent>;
nodeExtent: import("../store/initialState").Writable<import("@xyflow/system").CoordinateExtent>;
nodeOrigin: import("../store/initialState").Writable<import("@xyflow/system").NodeOrigin>;
nodeDragThreshold: import("../store/initialState").Writable<number>;
nodesSelectionActive: import("../store/initialState").Writable<boolean>;
userSelectionActive: import("../store/initialState").Writable<boolean>;
userSelectionRect: import("../store/initialState").Writable<import("@xyflow/system").SelectionRect | null>;
connectionPosition: import("../store/initialState").Writable<import("@xyflow/system").XYPosition>;
connectionStatus: import("../store/initialState").Writable<import("@xyflow/system").ConnectionStatus | null>;
connectionMode: import("../store/initialState").Writable<import("@xyflow/system").ConnectionMode>;
snapToGrid: import("../store/initialState").Writable<boolean>;
snapGrid: import("../store/initialState").Writable<import("@xyflow/system").SnapGrid>;
nodesDraggable: import("../store/initialState").Writable<boolean>;
nodesConnectable: import("../store/initialState").Writable<boolean>;
nodesFocusable: import("../store/initialState").Writable<boolean>;
edgesFocusable: import("../store/initialState").Writable<boolean>;
edgesUpdatable: import("../store/initialState").Writable<boolean>;
elementsSelectable: import("../store/initialState").Writable<boolean>;
elevateNodesOnSelect: import("../store/initialState").Writable<boolean>;
elevateEdgesOnSelect: import("../store/initialState").Writable<boolean>;
selectNodesOnDrag: import("../store/initialState").Writable<boolean>;
multiSelectionActive: import("../store/initialState").Writable<boolean>;
connectionStartHandle: import("../store/initialState").Writable<import("@xyflow/system").ConnectingHandle | null>;
connectionEndHandle: import("../store/initialState").Writable<import("@xyflow/system").ConnectingHandle | null>;
connectionClickStartHandle: import("../store/initialState").Writable<import("@xyflow/system").ConnectingHandle | null>;
onNodeDragStart?: import("../types").OnNodeDrag<NodeType> | undefined;
onNodeDrag?: import("../types").OnNodeDrag<NodeType> | undefined;
onNodeDragStop?: import("../types").OnNodeDrag<NodeType> | undefined;
onSelectionDragStart?: import("@xyflow/system").OnSelectionDrag | undefined;
onSelectionDrag?: import("@xyflow/system").OnSelectionDrag | undefined;
onSelectionDragStop?: import("@xyflow/system").OnSelectionDrag | undefined;
onMoveStart?: import("@xyflow/system").OnMove | undefined;
onMove?: import("@xyflow/system").OnMove | undefined;
onMoveEnd?: import("@xyflow/system").OnMove | undefined;
onConnect: import("../store/initialState").Writable<import("@xyflow/system").OnConnect | undefined>;
onConnectStart?: import("@xyflow/system").OnConnectStart | undefined;
onConnectEnd?: import("@xyflow/system").OnConnectEnd | undefined;
onClickConnectStart?: import("@xyflow/system").OnConnectStart | undefined;
onClickConnectEnd?: import("@xyflow/system").OnConnectEnd | undefined;
connectOnClick: import("../store/initialState").Writable<boolean>;
defaultEdgeOptions?: import("../types").DefaultEdgeOptions | undefined;
fitViewOnInit: import("../store/initialState").Writable<boolean>;
fitViewDone: import("../store/initialState").Writable<boolean>;
fitViewOnInitOptions: import("../store/initialState").Writable<import("../types").FitViewOptions | undefined>;
onNodesDelete: import("../store/initialState").Writable<import("../types").OnNodesDelete<NodeType> | undefined>;
onEdgesDelete: import("../store/initialState").Writable<import("../types").OnEdgesDelete<EdgeType> | undefined>;
onDelete: import("../store/initialState").Writable<import("../types").OnDelete | undefined>;
onError: import("../store/initialState").Writable<import("@xyflow/system").OnError | undefined>;
onViewportChangeStart: import("../store/initialState").Writable<import("@xyflow/system").OnViewportChange | undefined>;
onViewportChange: import("../store/initialState").Writable<import("@xyflow/system").OnViewportChange | undefined>;
onViewportChangeEnd: import("../store/initialState").Writable<import("@xyflow/system").OnViewportChange | undefined>;
onBeforeDelete: import("../store/initialState").Writable<import("../types").OnBeforeDelete<NodeType, EdgeType> | undefined>;
onSelectionChangeHandlers: import("../store/initialState").Writable<import("../types").OnSelectionChangeFunc[]>;
ariaLiveMessage: import("../store/initialState").Writable<string>;
autoPanOnConnect: import("../store/initialState").Writable<boolean>;
autoPanOnNodeDrag: import("../store/initialState").Writable<boolean>;
connectionRadius: import("../store/initialState").Writable<number>;
isValidConnection?: import("../types").IsValidConnection<EdgeType> | undefined;
lib: import("../store/initialState").Writable<string>;
debug: import("../store/initialState").Writable<boolean>;
setNodes: (nodes: NodeType[]) => void;
setEdges: (edges: EdgeType[]) => void;
setDefaultNodesAndEdges: (nodes?: NodeType[] | undefined, edges?: EdgeType[] | undefined) => void;
updateNodeInternals: (updates: Map<string, import("@xyflow/system").InternalNodeUpdate>) => void;
updateNodePositions: import("@xyflow/system").UpdateNodePositions;
resetSelectedElements: () => void;
unselectNodesAndEdges: (params?: import("../types").UnselectNodesAndEdgesParams | undefined) => void;
addSelectedNodes: (nodeIds: string[]) => void;
addSelectedEdges: (edgeIds: string[]) => void;
setMinZoom: (minZoom: number) => void;
setMaxZoom: (maxZoom: number) => void;
setTranslateExtent: (translateExtent: import("@xyflow/system").CoordinateExtent) => void;
setNodeExtent: (nodeExtent: import("@xyflow/system").CoordinateExtent) => void;
cancelConnection: () => void;
updateConnection: import("@xyflow/system").UpdateConnection;
reset: () => void;
triggerNodeChanges: (changes: import("@xyflow/system").NodeChange<NodeType>[]) => void;
triggerEdgeChanges: (changes: import("@xyflow/system").EdgeChange<EdgeType>[]) => void;
panBy: import("@xyflow/system").PanBy;
fitView: (options?: import("../types").FitViewOptions | undefined) => boolean;
};
export { useStore, useStoreApi };
//# sourceMappingURL=useStore.d.ts.map