introduce divs for nodes, edges, edge labels and viewport front & back to simplify z-index ordering

This commit is contained in:
peterkogo
2025-04-29 20:15:23 +02:00
parent fddd4be6f8
commit 472ef21c62
8 changed files with 44 additions and 37 deletions
@@ -28,7 +28,7 @@
</script>
<div
use:portal={'viewport'}
use:portal={'edge-labels'}
class={['svelte-flow__edge-label', { transparent }, className]}
style:cursor={selectEdgeOnClick ? 'pointer' : undefined}
style:transform="translate(-50%, -50%) translate({x}px,{y}px)"
@@ -2,9 +2,9 @@
import { portal } from '$lib/actions/portal';
import type { ViewportPortalProps } from './types';
let { children, ...rest }: ViewportPortalProps = $props();
let { moveTo = 'front', children, ...rest }: ViewportPortalProps = $props();
</script>
<div use:portal={'viewport'} {...rest}>
<div use:portal={`viewport-${moveTo}`} {...rest}>
{@render children?.()}
</div>
@@ -2,5 +2,6 @@ import type { Snippet } from 'svelte';
import type { HTMLAttributes } from 'svelte/elements';
export type ViewportPortalProps = {
moveTo: 'front' | 'back';
children?: Snippet;
} & HTMLAttributes<HTMLDivElement>;