From 98b212f0d505ce2fbe91bb20b07636ea863ee9cb Mon Sep 17 00:00:00 2001 From: peterkogo Date: Mon, 20 Jan 2025 11:20:33 +0100 Subject: [PATCH 1/3] Narrow NodeProps type properties selected, selectable, draggable and deletable required --- .../react/src/components/NodeWrapper/index.tsx | 2 +- .../lib/components/NodeWrapper/NodeWrapper.svelte | 12 +++++++----- packages/system/src/types/nodes.ts | 15 ++------------- 3 files changed, 10 insertions(+), 19 deletions(-) diff --git a/packages/react/src/components/NodeWrapper/index.tsx b/packages/react/src/components/NodeWrapper/index.tsx index a54a4993..4b0295e9 100644 --- a/packages/react/src/components/NodeWrapper/index.tsx +++ b/packages/react/src/components/NodeWrapper/index.tsx @@ -202,7 +202,7 @@ export function NodeWrapper({ type={nodeType} positionAbsoluteX={internals.positionAbsolute.x} positionAbsoluteY={internals.positionAbsolute.y} - selected={node.selected} + selected={node.selected ?? false} selectable={isSelectable} draggable={isDraggable} deletable={node.deletable ?? true} diff --git a/packages/svelte/src/lib/components/NodeWrapper/NodeWrapper.svelte b/packages/svelte/src/lib/components/NodeWrapper/NodeWrapper.svelte index dc571ec2..ed30d5b2 100644 --- a/packages/svelte/src/lib/components/NodeWrapper/NodeWrapper.svelte +++ b/packages/svelte/src/lib/components/NodeWrapper/NodeWrapper.svelte @@ -54,7 +54,9 @@ nodeDragThreshold, selectNodesOnDrag, handleNodeSelection, - updateNodeInternals + updateNodeInternals, + elementsSelectable, + nodesDraggable } = store; let nodeRef: HTMLDivElement; @@ -194,14 +196,14 @@ this={nodeComponent} {data} {id} - {selected} - {selectable} - {deletable} + selected={selected ?? false} + selectable={selectable ?? $elementsSelectable ?? true} + deletable={deletable ?? true} {sourcePosition} {targetPosition} {zIndex} {dragging} - {draggable} + draggable={draggable ?? $nodesDraggable ?? true} {dragHandle} {parentId} type={nodeType} diff --git a/packages/system/src/types/nodes.ts b/packages/system/src/types/nodes.ts index b405b5ba..92261205 100644 --- a/packages/system/src/types/nodes.ts +++ b/packages/system/src/types/nodes.ts @@ -88,20 +88,9 @@ export type InternalNodeBase = NodeType & */ export type NodeProps = Pick< NodeType, - | 'id' - | 'data' - | 'width' - | 'height' - | 'sourcePosition' - | 'targetPosition' - | 'selected' - | 'dragHandle' - | 'selectable' - | 'deletable' - | 'draggable' - | 'parentId' + 'id' | 'data' | 'width' | 'height' | 'sourcePosition' | 'targetPosition' | 'dragHandle' | 'parentId' > & - Required> & { + Required> & { /** whether a node is connectable or not */ isConnectable: boolean; /** position absolute x value */ From fe843982bfc7d7579d54772b201426b4c3f549c6 Mon Sep 17 00:00:00 2001 From: peterkogo Date: Mon, 20 Jan 2025 11:23:26 +0100 Subject: [PATCH 2/3] chore(changeset) add --- .changeset/rotten-moons-roll.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .changeset/rotten-moons-roll.md diff --git a/.changeset/rotten-moons-roll.md b/.changeset/rotten-moons-roll.md new file mode 100644 index 00000000..c0b4d678 --- /dev/null +++ b/.changeset/rotten-moons-roll.md @@ -0,0 +1,7 @@ +--- +'@xyflow/react': minor +'@xyflow/svelte': minor +'@xyflow/system': patch +--- + +Narrow properties selected, selectable, deletable, draggable of NodeProps type to be required. From de156baa7878f5af11d85c59c36938cfadaaae3d Mon Sep 17 00:00:00 2001 From: peterkogo Date: Mon, 20 Jan 2025 12:14:40 +0100 Subject: [PATCH 3/3] change to patch release --- .changeset/rotten-moons-roll.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.changeset/rotten-moons-roll.md b/.changeset/rotten-moons-roll.md index c0b4d678..66e6cdd3 100644 --- a/.changeset/rotten-moons-roll.md +++ b/.changeset/rotten-moons-roll.md @@ -1,6 +1,6 @@ --- -'@xyflow/react': minor -'@xyflow/svelte': minor +'@xyflow/react': patch +'@xyflow/svelte': patch '@xyflow/system': patch ---