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 @@ -
{@render children?.()} -
- - + 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[];