diff --git a/packages/apollo-react/src/canvas/components/BaseCanvas/BaseCanvas.constants.ts b/packages/apollo-react/src/canvas/components/BaseCanvas/BaseCanvas.constants.ts index 7c6b40837..2d2cec03a 100644 --- a/packages/apollo-react/src/canvas/components/BaseCanvas/BaseCanvas.constants.ts +++ b/packages/apollo-react/src/canvas/components/BaseCanvas/BaseCanvas.constants.ts @@ -47,6 +47,9 @@ export const BASE_CANVAS_DEFAULTS = { organizeAnimationDuration: 500, } as const; +/** Stable reference: restrict panning to middle-mouse-button only so left-click stays free for node interaction */ +export const PAN_ON_DRAG: [number] = [1]; + // Timing constants export const FIT_VIEW_DELAY_MS = 50; export const CANVAS_READY_DELAY_MS = 50; diff --git a/packages/apollo-react/src/canvas/components/BaseCanvas/BaseCanvas.tsx b/packages/apollo-react/src/canvas/components/BaseCanvas/BaseCanvas.tsx index d237546d2..540208392 100644 --- a/packages/apollo-react/src/canvas/components/BaseCanvas/BaseCanvas.tsx +++ b/packages/apollo-react/src/canvas/components/BaseCanvas/BaseCanvas.tsx @@ -11,7 +11,7 @@ import { useState, } from 'react'; import { useToolbarActionStore } from '../../hooks/ToolbarActionContext'; -import { BASE_CANVAS_DEFAULTS } from './BaseCanvas.constants'; +import { BASE_CANVAS_DEFAULTS, PAN_ON_DRAG } from './BaseCanvas.constants'; import { useAutoLayout, useEnsureNodesInView, useMaintainNodesInView } from './BaseCanvas.hooks'; import type { BaseCanvasProps, BaseCanvasRef } from './BaseCanvas.types'; import { CanvasBackground } from './CanvasBackground'; @@ -175,7 +175,7 @@ const BaseCanvasInnerComponent =