diff --git a/packages/svelte/src/lib/actions/portal/portal.svelte.ts b/packages/svelte/src/lib/actions/portal/portal.svelte.ts
index e9a7554f..30d465eb 100644
--- a/packages/svelte/src/lib/actions/portal/portal.svelte.ts
+++ b/packages/svelte/src/lib/actions/portal/portal.svelte.ts
@@ -1,13 +1,13 @@
import { useStore } from '$lib/store';
-type Portal = 'viewport' | 'root';
+type Portal = 'viewport-back' | 'viewport-front' | 'root' | 'edge-labels';
function tryToMount(node: Element, domNode: Element | null, target: Portal | undefined) {
if (!target || !domNode) {
return;
}
- const targetEl = target === 'root' ? domNode : domNode.querySelector('.svelte-flow__viewport');
+ const targetEl = target === 'root' ? domNode : domNode.querySelector(`.svelte-flow__${target}`);
if (targetEl) {
targetEl.appendChild(node);
diff --git a/packages/svelte/src/lib/components/EdgeLabel/EdgeLabel.svelte b/packages/svelte/src/lib/components/EdgeLabel/EdgeLabel.svelte
index 191333b1..187567d7 100644
--- a/packages/svelte/src/lib/components/EdgeLabel/EdgeLabel.svelte
+++ b/packages/svelte/src/lib/components/EdgeLabel/EdgeLabel.svelte
@@ -28,7 +28,7 @@
-
+
{@render children?.()}
diff --git a/packages/svelte/src/lib/components/ViewportPortal/types.ts b/packages/svelte/src/lib/components/ViewportPortal/types.ts
index 14b3e817..0d185bee 100644
--- a/packages/svelte/src/lib/components/ViewportPortal/types.ts
+++ b/packages/svelte/src/lib/components/ViewportPortal/types.ts
@@ -2,5 +2,6 @@ import type { Snippet } from 'svelte';
import type { HTMLAttributes } from 'svelte/elements';
export type ViewportPortalProps = {
+ moveTo: 'front' | 'back';
children?: Snippet;
} & HTMLAttributes
;
diff --git a/packages/svelte/src/lib/container/EdgeRenderer/EdgeRenderer.svelte b/packages/svelte/src/lib/container/EdgeRenderer/EdgeRenderer.svelte
index 817b7e20..8cf8238b 100644
--- a/packages/svelte/src/lib/container/EdgeRenderer/EdgeRenderer.svelte
+++ b/packages/svelte/src/lib/container/EdgeRenderer/EdgeRenderer.svelte
@@ -13,17 +13,19 @@
}: { store: SvelteFlowStore } & EdgeEvents = $props();
-
+
+
-{#each store.visible.edges.values() as edge (edge.id)}
-
-{/each}
+ {#each store.visible.edges.values() as edge (edge.id)}
+
+ {/each}
+
diff --git a/packages/svelte/src/lib/container/NodeRenderer/NodeRenderer.svelte b/packages/svelte/src/lib/container/NodeRenderer/NodeRenderer.svelte
index c528eb47..2dc4c6aa 100644
--- a/packages/svelte/src/lib/container/NodeRenderer/NodeRenderer.svelte
+++ b/packages/svelte/src/lib/container/NodeRenderer/NodeRenderer.svelte
@@ -46,19 +46,21 @@
});
-{#each store.visible.nodes.values() as node (node.id)}
-
-{/each}
+
+ {#each store.visible.nodes.values() as node (node.id)}
+
+ {/each}
+
diff --git a/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte b/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte
index 58e0156f..b3051afb 100644
--- a/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte
+++ b/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte
@@ -149,6 +149,7 @@
>
+
+
+
(
});
}
}
-
-const DEFAULT_NODE_Z = 1;
+``;
function calculateZ(node: NodeBase, selectedNodeZ: number) {
- return (isNumeric(node.zIndex) ? node.zIndex : DEFAULT_NODE_Z) + (node.selected ? selectedNodeZ : DEFAULT_NODE_Z);
+ return (isNumeric(node.zIndex) ? node.zIndex : 0) + (node.selected ? selectedNodeZ : 0);
}
function calculateChildXYZ(