From 0e5ceb82b2d5e395d1b29a459cc740d77a1b90ee Mon Sep 17 00:00:00 2001 From: Jaan Date: Tue, 9 Sep 2025 13:29:46 +0200 Subject: [PATCH 1/5] Add panOnScrollSpeed prop --- .../svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte | 2 ++ packages/svelte/src/lib/container/SvelteFlow/types.ts | 6 ++++++ packages/svelte/src/lib/container/Zoom/Zoom.svelte | 3 ++- packages/svelte/src/lib/container/Zoom/types.ts | 1 + 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte b/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte index 9b039558..d16a3890 100644 --- a/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte +++ b/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte @@ -59,6 +59,7 @@ zoomOnDoubleClick = true, zoomOnPinch = true, panOnScroll = false, + panOnScrollSpeed = 0.5, panOnDrag = true, selectionOnDrag = true, connectionLineComponent, @@ -152,6 +153,7 @@ {zoomOnDoubleClick} {zoomOnPinch} {panOnScroll} + {panOnScrollSpeed} {panOnDrag} {paneClickDistance} {onmovestart} diff --git a/packages/svelte/src/lib/container/SvelteFlow/types.ts b/packages/svelte/src/lib/container/SvelteFlow/types.ts index 5cd4b740..61a2d776 100644 --- a/packages/svelte/src/lib/container/SvelteFlow/types.ts +++ b/packages/svelte/src/lib/container/SvelteFlow/types.ts @@ -305,6 +305,12 @@ export type SvelteFlowProps< * @default false */ panOnScroll?: boolean; + /** + * Controls how fast viewport should be panned on scroll. + * Use together with `panOnScroll` prop. + * @default 0.5 + */ + panOnScrollSpeed?: number; /** * This prop is used to limit the direction of panning when panOnScroll is enabled. * The "free" option allows panning in any direction. diff --git a/packages/svelte/src/lib/container/Zoom/Zoom.svelte b/packages/svelte/src/lib/container/Zoom/Zoom.svelte index 9c159c99..9a50c5df 100644 --- a/packages/svelte/src/lib/container/Zoom/Zoom.svelte +++ b/packages/svelte/src/lib/container/Zoom/Zoom.svelte @@ -14,6 +14,7 @@ zoomOnPinch = true, panOnDrag = true, panOnScroll = false, + panOnScrollSpeed = 0.5, paneClickDistance = 1, onmovestart, onmove, @@ -58,7 +59,7 @@ zoomOnPinch, panOnScroll: panOnScrollActive, panOnDrag: panOnDragActive, - panOnScrollSpeed: 0.5, + panOnScrollSpeed, panOnScrollMode: panOnScrollMode || PanOnScrollMode.Free, zoomActivationKeyPressed: store.zoomActivationKeyPressed, preventScrolling: typeof preventScrolling === 'boolean' ? preventScrolling : true, diff --git a/packages/svelte/src/lib/container/Zoom/types.ts b/packages/svelte/src/lib/container/Zoom/types.ts index 247a16e9..8573fbcb 100644 --- a/packages/svelte/src/lib/container/Zoom/types.ts +++ b/packages/svelte/src/lib/container/Zoom/types.ts @@ -6,6 +6,7 @@ import type { Snippet } from 'svelte'; export type ZoomProps = { store: SvelteFlowStore; panOnScrollMode: PanOnScrollMode; + panOnScrollSpeed: number; preventScrolling: boolean; zoomOnScroll: boolean; zoomOnDoubleClick: boolean; From 34929087e18b4e7123621a250adfa94472e015b9 Mon Sep 17 00:00:00 2001 From: peterkogo Date: Mon, 15 Sep 2025 16:24:48 +0200 Subject: [PATCH 2/5] remove unused default values from zoom --- .../svelte/src/lib/container/Zoom/Zoom.svelte | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/svelte/src/lib/container/Zoom/Zoom.svelte b/packages/svelte/src/lib/container/Zoom/Zoom.svelte index 9a50c5df..8e14ce0b 100644 --- a/packages/svelte/src/lib/container/Zoom/Zoom.svelte +++ b/packages/svelte/src/lib/container/Zoom/Zoom.svelte @@ -1,5 +1,5 @@