useSvelteFlow
Source on GitHub (opens in a new tab)
This hook returns functions to update the viewport, transform positions or get node intersections for example.
<script lang="ts">
  import { useSvelteFlow } from '@xyflow/svelte';
 
  const { screenToFlowPosition, zoomIn } = useSvelteFlow();
</script>Signature
| Name | Type | 
|---|---|
#Returns  |  | 
# getNode | (id: string) => Node | undefinedReturns a node by id.  | 
# getNodes | (nodeIds?: string[]) => Node[]Returns all nodes if no ids are passed or the nodes of the passed ids.  | 
# getInternalNode | (id: string) => InternalNode | undefinedReturns an internal node by id.  | 
# getEdge | (id: string) => Edge | undefinedReturns an edge by id.  | 
# getEdges | (edgeIds?: string[]) => Node[]Returns all edges if no ids are passed or the edges of the passed ids.  | 
# zoomIn | Function | 
# zoomIn | Function | 
# zoomOut | Function | 
# setZoom | (zoomLevel: number, options?: ViewportHelperFunctionOptions) => void | 
# getZoom | () => number | 
# setCenter | (x: number, y: number, options?: SetCenterOptions) => void | 
# setViewport | (viewport: Viewport, options?: ViewportHelperFunctionOptions) => void | 
# getViewport | () => Viewport | 
# fitView | (options?: FitViewOptions) => void | 
# getNodesBounds | (nodes: (NodeType | InternalNode | string)[]) => RectReturns the bounds of the given nodes or node ids.  | 
# getIntersectingNodes | |
# isNodeIntersecting | (
        nodeOrRect: Node | { id: string } | Rect,
        area: Rect,
        partially?: boolean
      ) => boolean | 
# fitBounds | (bounds: Rect, options?: FitBoundsOptions) => void | 
# deleteElements | 
      async ({ nodes, edges }: {
        nodes?: Node[] | { id: string }[],
        edges?: Edge[] | { id: string }[]
      }) => { deletedNodes: Node[]; deletedEdges: Edge[] }Helper function to remove nodes and edges that also deletes connected edges and child nodes.  | 
# screenToFlowPosition | (position: XYPosition) => XYPositionTransforms a screen position to a Svelte position.  | 
# flowToScreenPosition | (position: XYPosition) => XYPositionTransforms a Svelte position to a screen position.  | 
# updateNode | Function for updating a node. The passed node or function result gets merged into to the existing node. You can change that behaviour and replace the node by passing `options.replace = true`.  | 
# updateNodeData | (id: string, data: object | (node: Node) => object, options?: { replace: boolean }) => voidFunction for updating node data. The passed data or function result gets merged into to the existing node data. You can change that behaviour and replace the node by passing `options.replace = true`.  | 
# toObject | This function returns a JSON representation of your current Svelte Flow graph.  | 
# getHandleConnections | ({ type, nodeId, id }: { type: HandleType, nodeId: string, id?: string | null }) => HandleConnection[]Get all the connections of a handle belonging to a specific node. The type parameter be either 'source' or 'target'.  |