fix edgeToolbar and remove minimum Svelte version bump

This commit is contained in:
peterkogo
2025-12-03 11:19:34 +01:00
parent a83b4bd85d
commit 202f48e379
6 changed files with 384 additions and 357 deletions

View File

@@ -1,5 +0,0 @@
---
'@xyflow/svelte': minor
---
Bump required Svelte version to >=5.40.0 to utilize typed contexts

View File

@@ -13,23 +13,23 @@
}, },
"devDependencies": { "devDependencies": {
"@sveltejs/adapter-auto": "^7.0.0", "@sveltejs/adapter-auto": "^7.0.0",
"@sveltejs/kit": "^2.47.2", "@sveltejs/kit": "^2.49.1",
"@typescript-eslint/eslint-plugin": "^8.46.2", "@typescript-eslint/eslint-plugin": "^8.48.1",
"@typescript-eslint/parser": "^8.46.2", "@typescript-eslint/parser": "^8.48.1",
"eslint": "^9.38.0", "eslint": "^9.39.1",
"eslint-config-prettier": "^10.1.8", "eslint-config-prettier": "^10.1.8",
"eslint-plugin-svelte": "^3.12.5", "eslint-plugin-svelte": "^3.13.0",
"prettier": "^3.6.2", "prettier": "^3.7.4",
"prettier-plugin-svelte": "^3.4.0", "prettier-plugin-svelte": "^3.4.0",
"svelte": "^5.41.1", "svelte": "^5.45.4",
"svelte-check": "^4.3.3", "svelte-check": "^4.3.4",
"tslib": "^2.8.1", "tslib": "^2.8.1",
"typescript": "^5.9.3", "typescript": "^5.9.3",
"vite": "^7.1.11" "vite": "^7.2.6"
}, },
"type": "module", "type": "module",
"dependencies": { "dependencies": {
"@dagrejs/dagre": "^1.1.5", "@dagrejs/dagre": "^1.1.8",
"@sveltejs/vite-plugin-svelte": "^6.2.1", "@sveltejs/vite-plugin-svelte": "^6.2.1",
"@xyflow/svelte": "workspace:^" "@xyflow/svelte": "workspace:^"
} }

View File

@@ -21,6 +21,6 @@
</script> </script>
<BaseEdge {id} path={edgePath} /> <BaseEdge {id} path={edgePath} />
<EdgeToolbar edgeId={id} x={labelX} y={labelY} isVisible> <EdgeToolbar x={labelX} y={labelY} isVisible>
<button onclick={deleteEdge}>Delete</button> <button onclick={deleteEdge}>Delete</button>
</EdgeToolbar> </EdgeToolbar>

View File

@@ -55,39 +55,39 @@
"@xyflow/system": "workspace:*" "@xyflow/system": "workspace:*"
}, },
"devDependencies": { "devDependencies": {
"@eslint/compat": "^1.4.0", "@eslint/compat": "^2.0.0",
"@eslint/js": "^9.38.0", "@eslint/js": "^9.39.1",
"@sveltejs/adapter-auto": "^7.0.0", "@sveltejs/adapter-auto": "^7.0.0",
"@sveltejs/kit": "^2.47.2", "@sveltejs/kit": "^2.49.1",
"@sveltejs/package": "^2.5.4", "@sveltejs/package": "^2.5.7",
"@sveltejs/vite-plugin-svelte": "^6.2.1", "@sveltejs/vite-plugin-svelte": "^6.2.1",
"@typescript-eslint/eslint-plugin": "^8.46.2", "@typescript-eslint/eslint-plugin": "^8.48.1",
"@typescript-eslint/parser": "^8.46.2", "@typescript-eslint/parser": "^8.48.1",
"autoprefixer": "^10.4.21", "autoprefixer": "^10.4.22",
"cssnano": "^7.1.1", "cssnano": "^7.1.2",
"dotenv": "^17.2.3", "dotenv": "^17.2.3",
"eslint": "^9.38.0", "eslint": "^9.39.1",
"eslint-config-prettier": "^10.1.8", "eslint-config-prettier": "^10.1.8",
"eslint-plugin-svelte": "^3.12.5", "eslint-plugin-svelte": "^3.13.0",
"globals": "^16.4.0", "globals": "^16.5.0",
"postcss": "^8.5.6", "postcss": "^8.5.6",
"postcss-cli": "^11.0.1", "postcss-cli": "^11.0.1",
"postcss-combine-duplicated-selectors": "^10.0.3", "postcss-combine-duplicated-selectors": "^10.0.3",
"postcss-import": "^16.1.1", "postcss-import": "^16.1.1",
"postcss-nested": "^7.0.2", "postcss-nested": "^7.0.2",
"postcss-rename": "^0.8.0", "postcss-rename": "^0.8.0",
"prettier": "^3.6.2", "prettier": "^3.7.4",
"prettier-plugin-svelte": "^3.4.0", "prettier-plugin-svelte": "^3.4.0",
"svelte": "^5.41.1", "svelte": "^5.45.4",
"svelte-check": "^4.3.3", "svelte-check": "^4.3.4",
"svelte-eslint-parser": "^1.4.0", "svelte-eslint-parser": "^1.4.0",
"svelte-preprocess": "^6.0.3", "svelte-preprocess": "^6.0.3",
"tslib": "^2.8.1", "tslib": "^2.8.1",
"typescript": "^5.9.3", "typescript": "^5.9.3",
"typescript-eslint": "^8.46.2" "typescript-eslint": "^8.48.1"
}, },
"peerDependencies": { "peerDependencies": {
"svelte": "^5.40.0" "svelte": "^5.25.0"
}, },
"files": [ "files": [
"dist" "dist"

View File

@@ -5,6 +5,7 @@
import { EdgeLabel } from '$lib/components/EdgeLabel'; import { EdgeLabel } from '$lib/components/EdgeLabel';
import type { EdgeToolbarProps } from './types'; import type { EdgeToolbarProps } from './types';
import { getContext } from 'svelte'; import { getContext } from 'svelte';
import { getEdgeIdContext } from '$lib/store/context';
let { let {
x, x,
@@ -19,11 +20,8 @@
}: EdgeToolbarProps = $props(); }: EdgeToolbarProps = $props();
const store = useStore(); const store = useStore();
const edgeId = getContext<string>('svelteflow__edge_id');
if (!edgeId) { const edgeId = getEdgeIdContext('EdgeToolbar must be used within an edge');
throw new Error('EdgeToolbar must be used within an edge');
}
const isActive = $derived( const isActive = $derived(
typeof isVisible === 'boolean' ? isVisible : store.edgeLookup.get(edgeId)?.selected typeof isVisible === 'boolean' ? isVisible : store.edgeLookup.get(edgeId)?.selected

676
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff