diff --git a/packages/svelte/src/lib/components/SvelteFlowProvider/SvelteFlowProvider.svelte b/packages/svelte/src/lib/components/SvelteFlowProvider/SvelteFlowProvider.svelte
index 44ecb77f..bc0ae5c4 100644
--- a/packages/svelte/src/lib/components/SvelteFlowProvider/SvelteFlowProvider.svelte
+++ b/packages/svelte/src/lib/components/SvelteFlowProvider/SvelteFlowProvider.svelte
@@ -1,5 +1,5 @@
diff --git a/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte b/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte
index e47c4da2..5c55c073 100644
--- a/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte
+++ b/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte
@@ -41,6 +41,10 @@
store.width.set(width);
store.height.set(height);
store.domNode.set(domNode);
+
+ return () => {
+ store.reset();
+ }
});
$: {
diff --git a/packages/svelte/src/lib/store/index.ts b/packages/svelte/src/lib/store/index.ts
index c94c44a6..d7a656af 100644
--- a/packages/svelte/src/lib/store/index.ts
+++ b/packages/svelte/src/lib/store/index.ts
@@ -287,6 +287,15 @@ export function createStore(params: CreateStoreParams): SvelteFlowStore {
updateConnection(initConnectionData);
}
+ function reset() {
+ store.fitViewOnInitDone.set(false);
+ store.selectionRect.set(null);
+ store.selectionRectMode.set(null);
+
+ resetSelectedElements();
+ cancelConnection();
+ }
+
return {
// state
...store,
@@ -310,7 +319,8 @@ export function createStore(params: CreateStoreParams): SvelteFlowStore {
addSelectedNodes,
panBy,
updateConnection,
- cancelConnection
+ cancelConnection,
+ reset
};
}
diff --git a/packages/svelte/src/lib/store/types.ts b/packages/svelte/src/lib/store/types.ts
index c4775b10..f9dde08a 100644
--- a/packages/svelte/src/lib/store/types.ts
+++ b/packages/svelte/src/lib/store/types.ts
@@ -30,6 +30,7 @@ export type SvelteFlowStoreActions = {
panBy: (delta: XYPosition) => void;
updateConnection: (connection: Partial) => void;
cancelConnection: () => void;
+ reset(): void;
};
export type SvelteFlowStoreState = typeof initialStoreState & {