& {
nodeTypes?: NodeTypes;
edgeTypes?: EdgeTypes;
selectionKey?: KeyDefinition;
+ panActivationKey?: KeyDefinition;
deleteKey?: KeyDefinition;
fitView?: boolean;
nodeOrigin?: NodeOrigin;
diff --git a/packages/svelte/src/lib/container/Zoom/Zoom.svelte b/packages/svelte/src/lib/container/Zoom/Zoom.svelte
index 01da8419..1a4a7008 100644
--- a/packages/svelte/src/lib/container/Zoom/Zoom.svelte
+++ b/packages/svelte/src/lib/container/Zoom/Zoom.svelte
@@ -27,10 +27,12 @@
maxZoom,
dragging,
translateExtent,
- lib
+ lib,
+ panActivationKeyPressed
} = useStore();
$: viewPort = initialViewport || { x: 0, y: 0, zoom: 1 };
+ $: _panOnDrag = $panActivationKeyPressed || panOnDrag;
({
selectionKeyPressed: writable(false),
multiselectionKeyPressed: writable(false),
deleteKeyPressed: writable(false),
+ panActivationKeyPressed: writable(false),
selectionRectMode: writable(null),
selectionMode: writable(SelectionMode.Partial),
nodeTypes: writable(initialNodeTypes),
diff --git a/packages/svelte/src/lib/types/edges.ts b/packages/svelte/src/lib/types/edges.ts
index 6ef9f083..3f68b509 100644
--- a/packages/svelte/src/lib/types/edges.ts
+++ b/packages/svelte/src/lib/types/edges.ts
@@ -1,5 +1,5 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
-import type { SvelteComponentTyped } from 'svelte';
+import type { SvelteComponent, ComponentType } from 'svelte';
import type {
EdgeBase,
BezierPathOptions,
@@ -45,7 +45,7 @@ export type EdgeProps = Omit &
targetHandleId?: string | null;
};
-export type EdgeTypes = Record>;
+export type EdgeTypes = Record>>;
export type DefaultEdgeOptions = DefaultEdgeOptionsBase;
diff --git a/packages/svelte/src/lib/types/nodes.ts b/packages/svelte/src/lib/types/nodes.ts
index d36e2a96..292ae4fa 100644
--- a/packages/svelte/src/lib/types/nodes.ts
+++ b/packages/svelte/src/lib/types/nodes.ts
@@ -1,6 +1,6 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
-import type { SvelteComponentTyped } from 'svelte';
+import type { ComponentType, SvelteComponent } from 'svelte';
import type { NodeBase, NodeProps } from '@xyflow/system';
// @todo: currently the helper function only like Node from '@reactflow/core'
@@ -14,6 +14,6 @@ export type Node<
style?: string;
};
-export type NodeTypes = Record>;
+export type NodeTypes = Record>>;
export type DefaultNodeOptions = Partial>;
diff --git a/packages/svelte/src/routes/figma/+page.svelte b/packages/svelte/src/routes/figma/+page.svelte
new file mode 100644
index 00000000..b8039f46
--- /dev/null
+++ b/packages/svelte/src/routes/figma/+page.svelte
@@ -0,0 +1,54 @@
+
+
+
+
+
+
diff --git a/packages/system/src/xypanzoom/filter.ts b/packages/system/src/xypanzoom/filter.ts
index 3404ca67..232c66af 100644
--- a/packages/system/src/xypanzoom/filter.ts
+++ b/packages/system/src/xypanzoom/filter.ts
@@ -1,3 +1,4 @@
+/* eslint-disable @typescript-eslint/no-explicit-any */
import { isWrappedWithClass } from './utils';
export type FilterParams = {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 008b4d78..c3320495 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -200,8 +200,8 @@ importers:
packages/svelte:
dependencies:
'@svelte-put/shortcut':
- specifier: ^2.0.0
- version: registry.npmjs.org/@svelte-put/shortcut@2.0.0
+ specifier: ^3.0.0
+ version: registry.npmjs.org/@svelte-put/shortcut@3.0.0
'@xyflow/system':
specifier: workspace:*
version: link:../system
@@ -1797,10 +1797,10 @@ packages:
version: 2.0.0
dev: true
- registry.npmjs.org/@svelte-put/shortcut@2.0.0:
- resolution: {integrity: sha512-dDyxIFlRz+W6wxwQtl2jUen0rX8ofV2VBWaJdz0QehLb0IMDzP3aWM9W4k8cAZQIGmTT0adr1+Gt7HPPUugcpQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@svelte-put/shortcut/-/shortcut-2.0.0.tgz}
+ registry.npmjs.org/@svelte-put/shortcut@3.0.0:
+ resolution: {integrity: sha512-nZg3pwpTi9wUsvQPlqOzEsxZcF2jmY5j+VBq/20IUjjd2OpM92XqZAga0PCCjE6OuEobOt58UMnC2QZgOvk0tQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@svelte-put/shortcut/-/shortcut-3.0.0.tgz}
name: '@svelte-put/shortcut'
- version: 2.0.0
+ version: 3.0.0
dev: false
registry.npmjs.org/@sveltejs/adapter-auto@2.1.0(@sveltejs/kit@1.22.6):