diff --git a/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte b/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte
index 8dbe06fd..91a4d84d 100644
--- a/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte
+++ b/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte
@@ -1,5 +1,6 @@
-
-
-
+
diff --git a/packages/svelte/src/lib/container/SvelteFlow/Wrapper.svelte b/packages/svelte/src/lib/container/SvelteFlow/Wrapper.svelte
new file mode 100644
index 00000000..31b8cb41
--- /dev/null
+++ b/packages/svelte/src/lib/container/SvelteFlow/Wrapper.svelte
@@ -0,0 +1,115 @@
+
+
+}
+>
+ {@render children?.()}
+
+
+
diff --git a/packages/svelte/src/lib/container/SvelteFlow/types.ts b/packages/svelte/src/lib/container/SvelteFlow/types.ts
index 0d9fb41c..d922f25e 100644
--- a/packages/svelte/src/lib/container/SvelteFlow/types.ts
+++ b/packages/svelte/src/lib/container/SvelteFlow/types.ts
@@ -1,4 +1,4 @@
-import type { ClassValue, DOMAttributes } from 'svelte/elements';
+import type { ClassValue } from 'svelte/elements';
import type {
ConnectionLineType,
NodeOrigin,
@@ -41,8 +41,7 @@ import type { EdgeEvents, NodeEvents, NodeSelectionEvents, PaneEvents } from '$l
export type SvelteFlowProps = NodeEvents &
NodeSelectionEvents &
EdgeEvents &
- PaneEvents &
- DOMAttributes & {
+ PaneEvents & {
/** The id of the flow
*
* This is necessary if you want to render multiple flows.
diff --git a/packages/svelte/src/lib/store/index.ts b/packages/svelte/src/lib/store/index.ts
index 5326a455..f31c479e 100644
--- a/packages/svelte/src/lib/store/index.ts
+++ b/packages/svelte/src/lib/store/index.ts
@@ -21,8 +21,6 @@ import {
import type { EdgeTypes, NodeTypes, Node, Edge, FitViewOptions } from '$lib/types';
import { initialEdgeTypes, initialNodeTypes, getInitialStore } from './initial-store.svelte';
import { type StoreSignals, type SvelteFlowStore, type SvelteFlowStoreActions } from './types';
-// import { getVisibleEdges } from './visible-edges';
-// import { getVisibleNodes } from './visible-nodes';
export const key = Symbol();
diff --git a/packages/svelte/src/lib/store/types.ts b/packages/svelte/src/lib/store/types.ts
index 408769e1..f53fedbf 100644
--- a/packages/svelte/src/lib/store/types.ts
+++ b/packages/svelte/src/lib/store/types.ts
@@ -37,8 +37,59 @@ export type SvelteFlowStoreActions = {
reset(): void;
};
+export type SvelteFlowRestProps = Omit<
+ SvelteFlowProps,
+ | 'width'
+ | 'height'
+ | 'class'
+ | 'proOptions'
+ | 'selectionKey'
+ | 'deleteKey'
+ | 'panActivationKey'
+ | 'multiSelectionKey'
+ | 'zoomActivationKey'
+ | 'paneClickDistance'
+ | 'nodeClickDistance'
+ | 'onMoveStart'
+ | 'onMoveEnd'
+ | 'onMove'
+ | 'onnodeclick'
+ | 'onnodecontextmenu'
+ | 'onnodedrag'
+ | 'onnodedragstart'
+ | 'onnodedragstop'
+ | 'onnodepointerenter'
+ | 'onnodepointermove'
+ | 'onnodepointerleave'
+ | 'onselectionclick'
+ | 'onselectioncontextmenu'
+ | 'onedgeclick'
+ | 'onedgecontextmenu'
+ | 'onedgepointerenter'
+ | 'onedgepointerleave'
+ | 'onpaneclick'
+ | 'onpanecontextmenu'
+ | 'panOnScrollMode'
+ | 'preventScrolling'
+ | 'zoomOnScroll'
+ | 'zoomOnDoubleClick'
+ | 'zoomOnPinch'
+ | 'panOnScroll'
+ | 'panOnDrag'
+ | 'selectionOnDrag'
+ | 'connectionLineComponent'
+ | 'connectionLineStyle'
+ | 'connectionLineContainerStyle'
+ | 'connectionLineType'
+ | 'attributionPosition'
+ | 'children'
+ | 'nodes'
+ | 'edges'
+ | 'viewport'
+>;
+
export type StoreSignals = {
- props: Partial;
+ props: SvelteFlowRestProps;
width?: number;
height?: number;
nodes: Node[];