From 1d321ebcd64439ccc45abe4485545e51979d73e0 Mon Sep 17 00:00:00 2001 From: peterkogo Date: Mon, 9 Dec 2024 15:59:06 +0100 Subject: [PATCH] cleaning up Svelte 4 leftovers --- .../src/routes/examples/overview/+page.svelte | 53 +++-- examples/svelte/svelte.config.js | 2 +- examples/svelte/tsconfig.json | 5 +- packages/svelte/package.json | 4 +- .../svelte/src/lib/container/Pane/Pane.svelte | 10 +- .../container/SvelteFlow/SvelteFlow.svelte | 8 +- .../src/lib/container/SvelteFlow/types.ts | 19 +- packages/svelte/src/lib/store/hook.svelte.ts | 24 -- packages/svelte/src/lib/store/index.ts | 33 +-- .../src/lib/store/initial-store.svelte.ts | 104 +------- .../svelte/src/lib/store/initial-store.ts | 178 -------------- packages/svelte/src/lib/store/types.ts | 7 +- packages/svelte/src/lib/store/utils.ts | 222 ------------------ packages/svelte/tsconfig.json | 3 +- 14 files changed, 86 insertions(+), 586 deletions(-) delete mode 100644 packages/svelte/src/lib/store/hook.svelte.ts delete mode 100644 packages/svelte/src/lib/store/initial-store.ts delete mode 100644 packages/svelte/src/lib/store/utils.ts diff --git a/examples/svelte/src/routes/examples/overview/+page.svelte b/examples/svelte/src/routes/examples/overview/+page.svelte index fd67cf7e..6195d3a4 100644 --- a/examples/svelte/src/routes/examples/overview/+page.svelte +++ b/examples/svelte/src/routes/examples/overview/+page.svelte @@ -124,16 +124,22 @@ ]); function updateNode() { - nodes[0].position.x += 20; - // nodes = $nodes; + // We might as well just use updateNode() here + // this is just to show what is required to update a node + const newNode = { ...nodes[0] }; + newNode.position.x += 20; + nodes[0] = newNode; + nodes = [...nodes]; } function updateEdge() { - edges[0].type = edges[0].type === 'default' ? 'smoothstep' : 'default'; - // edges = $edges; + // We might as well just use updateEdge() here + // this is just to show what is required to update an edge + const newEdge = { ...edges[0] }; + newEdge.type = newEdge.type === 'default' ? 'smoothstep' : 'default'; + edges[0] = newEdge; + edges = [...edges]; } - - // $inspect(nodes); console.log('on init')} - on:nodeclick={(event) => console.log('on node click', event)} - on:nodemouseenter={(event) => console.log('on node enter', event)} - on:nodemouseleave={(event) => console.log('on node leave', event)} - on:edgeclick={(event) => console.log('edge click', event)} - on:edgemouseenter={(event) => console.log('edge enter', event)} - on:edgemouseleave={(event) => console.log('edge leave', event)} + onnodeclick={(event) => console.log('on node click', event)} + onnodemouseenter={(event) => console.log('on node enter', event)} + onnodemouseleave={(event) => console.log('on node leave', event)} + onedgeclick={(event) => console.log('edge click', event)} + onedgemouseenter={(event) => console.log('edge enter', event)} + onedgemouseleave={(event) => console.log('edge leave', event)} onconnectstart={(event) => console.log('on connect start', event)} onconnect={(event) => console.log('on connect', event)} onconnectend={(event) => console.log('on connect end', event)} - on:paneclick={(event) => console.log('on pane click', event)} - on:panecontextmenu={(event) => { + onpaneclick={(event) => console.log('on pane click', event)} + onpanecontextmenu={(event) => { console.log('on pane contextmenu', event); }} - on:nodedrag={(event) => { + onnodedrag={(event) => { console.log('on node drag', event); }} - on:nodedragstart={(event) => { + onnodedragstart={(event) => { console.log('on node drag start', event); }} - on:nodedragstop={(event) => { + onnodedragstop={({ event }) => { console.log('on node drag stop', event); }} - on:nodecontextmenu={(event) => { - event.detail.event.preventDefault(); + onnodecontextmenu={({ event }) => { + event.preventDefault(); console.log('on node contextmenu', event); }} - on:edgecontextmenu={({ detail: { event, edge } }) => { + onedgecontextmenu={({ event, edge }) => { event.preventDefault(); console.log('on edge contextmenu', edge); }} - on:selectionclick={(event) => console.log('on selection click', event)} - on:selectioncontextmenu={(event) => console.log('on selection contextmenu', event)} + onselectionclick={(event) => console.log('on selection click', event)} + onselectioncontextmenu={(event) => console.log('on selection contextmenu', event)} onbeforedelete={async ({ nodes, edges }) => { console.log('on before delete', nodes, edges); const deleteElements = confirm('Are you sure you want to delete the selected elements?'); @@ -199,8 +205,7 @@ {#snippet before()} xy {/snippet} - console.log('control button')} - >log console.log('control button')}>log diff --git a/examples/svelte/svelte.config.js b/examples/svelte/svelte.config.js index 10899539..94011562 100644 --- a/examples/svelte/svelte.config.js +++ b/examples/svelte/svelte.config.js @@ -5,7 +5,7 @@ import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; const config = { // Consult https://kit.svelte.dev/docs/integrations#preprocessors // for more information about preprocessors - preprocess: vitePreprocess(), + preprocess: vitePreprocess({ script: true }), compilerOptions: { runes: true }, diff --git a/examples/svelte/tsconfig.json b/examples/svelte/tsconfig.json index 6ae0c8c4..2bb201c3 100644 --- a/examples/svelte/tsconfig.json +++ b/examples/svelte/tsconfig.json @@ -8,7 +8,10 @@ "resolveJsonModule": true, "skipLibCheck": true, "sourceMap": true, - "strict": true + "strict": true, + "target": "ES2022", + "verbatimModuleSyntax": true, + "isolatedModules": true } // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias // diff --git a/packages/svelte/package.json b/packages/svelte/package.json index 2344143f..d49112b7 100644 --- a/packages/svelte/package.json +++ b/packages/svelte/package.json @@ -83,13 +83,13 @@ "typescript": "^5.5.0" }, "peerDependencies": { - "svelte": "^3.0.0 || ^4.0.0 || ^5.0.0" + "svelte": "^5.0.0" }, "files": [ "dist" ], "typesVersions": { - ">4.0": { + ">5.0": { "index": [ "./dist/lib/index.d.ts" ] diff --git a/packages/svelte/src/lib/container/Pane/Pane.svelte b/packages/svelte/src/lib/container/Pane/Pane.svelte index 002a815f..5e1e6331 100644 --- a/packages/svelte/src/lib/container/Pane/Pane.svelte +++ b/packages/svelte/src/lib/container/Pane/Pane.svelte @@ -7,7 +7,6 @@ if (event.target !== container) { return; } - handler?.(event); }; } @@ -17,7 +16,7 @@ const isSelected = ids.includes(item.id); if (item.selected !== isSelected) { - item.selected = isSelected; + return { ...item, selected: isSelected }; } return item; @@ -33,7 +32,6 @@ getConnectedEdges } from '@xyflow/system'; - import { useStore } from '$lib/store'; import type { Node, Edge, InternalNode } from '$lib/types'; import type { PaneProps } from './types'; let { @@ -45,8 +43,6 @@ children }: PaneProps = $props(); - // const { nodes, edges } = store; - // svelte-ignore non_reactive_update let container: HTMLDivElement; let containerBounds: DOMRect | null = null; @@ -143,14 +139,14 @@ prevSelectedNodeIds.length !== selectedNodeIds.length || selectedNodeIds.some((id) => !prevSelectedNodeIds.includes(id)) ) { - // store.nodes.update((nodes) => nodes.map(toggleSelected(selectedNodeIds))); + store.nodes = store.nodes.map(toggleSelected(selectedNodeIds)); } if ( prevSelectedEdgeIds.length !== selectedEdgeIds.length || selectedEdgeIds.some((id) => !prevSelectedEdgeIds.includes(id)) ) { - // store.edges.update((edges) => edges.map(toggleSelected(selectedEdgeIds))); + store.edges = store.edges.map(toggleSelected(selectedEdgeIds)); } store.selectionRectMode = 'user'; diff --git a/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte b/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte index 54f7edb6..2c4cb3f1 100644 --- a/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte +++ b/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte @@ -1,6 +1,3 @@ - - -