{#if insertable} {/if} {#if canUseDiffDrawer} {/if}
{#if graph?.error}
{graph.error}
{:else} {#if sharedViewport && onViewportChange} {/if} { document.dispatchEvent(new Event('focus')) selectionManager.clearSelection() }} onpanecontextmenu={({ event }) => { paneContextMenu?.onPaneContextMenu(event) }} onnodedragstop={(event) => { const node = event.targetNode if (node && node.type === 'note') { const positionWithOffset = { x: node.position.x, y: node.position.y - yOffset } onNotePositionUpdate?.(node.id, positionWithOffset) } }} onmove={(event, viewport) => { viewportSynchronizer?.handleLocalViewportChange(event, viewport) }} nodes={nodesWithOffset} {edges} {edgeTypes} {nodeTypes} {height} {width} minZoom={0.2} maxZoom={1.6} connectionLineType={ConnectionLineType.SmoothStep} defaultEdgeOptions={{ type: 'smoothstep' }} preventScrolling={scroll} selectionOnDrag={selectionManager.mode === 'rect-select'} elementsSelectable={true} selectionMode={SelectionMode.Partial} selectionKey={selectionManager.mode === 'rect-select' || !editMode ? null : modifierKey} panActivationKey={selectionManager.mode === 'rect-select' ? modifierKey : null} panOnDrag={selectionManager.mode === 'rect-select' ? [1] : true} zoomOnDoubleClick={false} elevateNodesOnSelect={false} {proOptions} multiSelectionKey={'Shift'} nodesDraggable={false} --background-color={false} >
{#if noteMode} {/if} {#if multiSelectEnabled} {/if} {#if leftHeader}
{@render leftHeader()}
{:else} {#if multiSelectEnabled}
{ selectionManager.mode = selectionManager.mode === 'normal' ? 'rect-select' : 'normal' }} > {#if selectionManager.mode === 'rect-select'} {:else} {/if} {#snippet text()}
Grab: Click and drag to pan. Hold {getModifierKey()} to box select.
Select Click and drag to box select. Hold {getModifierKey()} to pan.
{/snippet}
{/if} {#if download} { try { localStorage.setItem( 'svelvet', encodeState({ modules, failureModule, preprocessorModule, notes }) ) } catch (e) { console.error('error interacting with local storage', e) } window.open('/view_graph', '_blank') }} class="!bg-surface" > {/if}
{#if !hideAssetsToggle} {/if} {#if !hideNotesToggle} {/if} {#if showDataflow} {/if} {/if}
{/if}