diff --git a/.changeset/spotty-cobras-rush.md b/.changeset/spotty-cobras-rush.md new file mode 100644 index 00000000..bc44bf58 --- /dev/null +++ b/.changeset/spotty-cobras-rush.md @@ -0,0 +1,7 @@ +--- +'@xyflow/react': patch +'@xyflow/svelte': patch +'@xyflow/system': patch +--- + +Use correct HandleConnection type for Handle onConnect diff --git a/packages/react/src/hooks/useNodeConnections.ts b/packages/react/src/hooks/useNodeConnections.ts index 6a8155ab..fdcf9ca9 100644 --- a/packages/react/src/hooks/useNodeConnections.ts +++ b/packages/react/src/hooks/useNodeConnections.ts @@ -1,11 +1,11 @@ import { useEffect, useMemo, useRef } from 'react'; import { - Connection, - NodeConnection, - HandleType, areConnectionMapsEqual, - handleConnectionChange, errorMessages, + handleConnectionChange, + type NodeConnection, + type HandleType, + type HandleConnection, } from '@xyflow/system'; import { useStore } from './useStore'; @@ -21,9 +21,9 @@ type UseNodeConnectionsParams = { /** Filter by handle id (this is only needed if the node has multiple handles of the same type). */ handleId?: string; /** Gets called when a connection is established. */ - onConnect?: (connections: Connection[]) => void; + onConnect?: (connections: HandleConnection[]) => void; /** Gets called when a connection is removed. */ - onDisconnect?: (connections: Connection[]) => void; + onDisconnect?: (connections: HandleConnection[]) => void; }; /** diff --git a/packages/react/src/index.ts b/packages/react/src/index.ts index 0b67466e..b4a67f2e 100644 --- a/packages/react/src/index.ts +++ b/packages/react/src/index.ts @@ -112,6 +112,7 @@ export { type SetCenter, type SetViewport, type FitBounds, + type HandleConnection, } from '@xyflow/system'; // we need this workaround to prevent a duplicate identifier error diff --git a/packages/svelte/src/lib/components/Handle/types.ts b/packages/svelte/src/lib/components/Handle/types.ts index ac85ec1f..4eb5c480 100644 --- a/packages/svelte/src/lib/components/Handle/types.ts +++ b/packages/svelte/src/lib/components/Handle/types.ts @@ -1,10 +1,10 @@ -import type { Connection, HandleProps as HandlePropsSystem } from '@xyflow/system'; +import type { HandleConnection, HandleProps as HandlePropsSystem } from '@xyflow/system'; import type { Snippet } from 'svelte'; import type { ClassValue, HTMLAttributes } from 'svelte/elements'; export type HandleProps = HandlePropsSystem & { class?: ClassValue; - onconnect?: (connections: Connection[]) => void; - ondisconnect?: (connections: Connection[]) => void; + onconnect?: (connections: HandleConnection[]) => void; + ondisconnect?: (connections: HandleConnection[]) => void; children?: Snippet; } & HTMLAttributes; diff --git a/packages/svelte/src/lib/hooks/useNodeConnections.svelte.ts b/packages/svelte/src/lib/hooks/useNodeConnections.svelte.ts index 8e7216b6..6d70cb11 100644 --- a/packages/svelte/src/lib/hooks/useNodeConnections.svelte.ts +++ b/packages/svelte/src/lib/hooks/useNodeConnections.svelte.ts @@ -1,9 +1,9 @@ import { areConnectionMapsEqual, + handleConnectionChange, type NodeConnection, type HandleType, - type Connection, - handleConnectionChange + type HandleConnection } from '@xyflow/system'; import { useStore } from '$lib/store'; @@ -13,8 +13,8 @@ type UseNodeConnectionsParams = { id?: string; handleType?: HandleType; handleId?: string; - onConnect?: (connections: Connection[]) => void; - onDisconnect?: (connections: Connection[]) => void; + onConnect?: (connections: HandleConnection[]) => void; + onDisconnect?: (connections: HandleConnection[]) => void; }; type ConnectionMap = Map; diff --git a/packages/svelte/src/lib/index.ts b/packages/svelte/src/lib/index.ts index be8874e5..981d1442 100644 --- a/packages/svelte/src/lib/index.ts +++ b/packages/svelte/src/lib/index.ts @@ -54,7 +54,7 @@ export type { StraightEdgeProps, EdgeTypes, DefaultEdgeOptions, - BuiltInEdge, + BuiltInEdge } from '$lib/types/edges'; export type * from '$lib/types/general'; export type { Node, NodeTypes, BuiltInNode, NodeProps, InternalNode } from '$lib/types/nodes'; @@ -120,7 +120,8 @@ export { type AriaLabelConfig, type SetCenter, type SetViewport, - type FitBounds + type FitBounds, + type HandleConnection } from '@xyflow/system'; // system utils