diff --git a/.changeset/dry-mice-explode.md b/.changeset/dry-mice-explode.md new file mode 100644 index 00000000..d758f9dc --- /dev/null +++ b/.changeset/dry-mice-explode.md @@ -0,0 +1,5 @@ +--- +'@reactflow/core': minor +--- + +Add autoPan for connecting and node dragging diff --git a/examples/vite-app/src/examples/Subflow/index.tsx b/examples/vite-app/src/examples/Subflow/index.tsx index 75bd3629..c3f10b46 100644 --- a/examples/vite-app/src/examples/Subflow/index.tsx +++ b/examples/vite-app/src/examples/Subflow/index.tsx @@ -12,6 +12,7 @@ import ReactFlow, { MiniMap, Background, Panel, + NodeOrigin, } from 'reactflow'; import DebugNode from './DebugNode'; diff --git a/examples/vite-app/src/examples/Switch/index.tsx b/examples/vite-app/src/examples/Switch/index.tsx index eb5d6519..658082ed 100644 --- a/examples/vite-app/src/examples/Switch/index.tsx +++ b/examples/vite-app/src/examples/Switch/index.tsx @@ -1,5 +1,5 @@ -import React, { MouseEvent, useCallback } from 'react'; -import ReactFlow, { addEdge, Node, Connection, Edge, useNodesState, useEdgesState } from 'reactflow'; +import { MouseEvent, useCallback } from 'react'; +import ReactFlow, { addEdge, Node, Connection, Edge, useNodesState, useEdgesState, NodeOrigin } from 'reactflow'; const onNodeDragStop = (_: MouseEvent, node: Node) => console.log('drag stop', node); const onNodeClick = (_: MouseEvent, node: Node) => console.log('click', node); @@ -35,7 +35,7 @@ const nodesA: Node[] = [ ]; const edgesA: Edge[] = [ - { id: 'e1-2', source: '1a', target: '2a', ariaLabel: null }, + { id: 'e1-2', source: '1a', target: '2a', ariaLabel: undefined }, { id: 'e1-3', source: '1a', target: '3a' }, ]; @@ -83,6 +83,8 @@ const edgesB: Edge[] = [ { id: 'e4b', source: 'inputb', target: '4b' }, ]; +const onNodeDrag = (_: MouseEvent, node: Node) => console.log('drag', node.position); + const BasicFlow = () => { const [nodes, setNodes, onNodesChange] = useNodesState(nodesA); const [edges, setEdges, onEdgesChange] = useEdgesState(edgesA); @@ -99,6 +101,7 @@ const BasicFlow = () => { onConnect={onConnect} onNodeDragStop={onNodeDragStop} disableKeyboardA11y + onNodeDrag={onNodeDrag} >