diff --git a/packages/core/src/components/Nodes/wrapNode.tsx b/packages/core/src/components/Nodes/wrapNode.tsx index 8f23eb0b..cab628ce 100644 --- a/packages/core/src/components/Nodes/wrapNode.tsx +++ b/packages/core/src/components/Nodes/wrapNode.tsx @@ -84,7 +84,7 @@ export default (NodeComponent: ComponentType) => { }; const onKeyDown = (event: KeyboardEvent) => { - if (isInputDOMNode(event)) { + if (isInputDOMNode(event.nativeEvent)) { return; } diff --git a/packages/core/src/container/NodeRenderer/index.tsx b/packages/core/src/container/NodeRenderer/index.tsx index 3f1d71d6..3c695737 100644 --- a/packages/core/src/container/NodeRenderer/index.tsx +++ b/packages/core/src/container/NodeRenderer/index.tsx @@ -1,13 +1,12 @@ import { memo, useMemo, useEffect, useRef, type ComponentType } from 'react'; import { shallow } from 'zustand/shallow'; import { internalsSymbol, errorMessages, Position } from '@reactflow/system'; -import { clampPosition } from '@reactflow/utils'; +import { clampPosition, getPositionWithOrigin } from '@reactflow/utils'; import useVisibleNodes from '../../hooks/useVisibleNodes'; import { useStore } from '../../hooks/useStore'; import { containerStyle } from '../../styles'; import { GraphViewProps } from '../GraphView'; -import { getPositionWithOrigin } from './utils'; import type { ReactFlowState, WrapNodeProps } from '../../types'; type NodeRendererProps = Pick< diff --git a/packages/core/src/container/NodeRenderer/utils.ts b/packages/core/src/container/NodeRenderer/utils.ts index 23fd5532..5d3911e8 100644 --- a/packages/core/src/container/NodeRenderer/utils.ts +++ b/packages/core/src/container/NodeRenderer/utils.ts @@ -1,5 +1,5 @@ import type { ComponentType } from 'react'; -import type { NodeProps, NodeOrigin, XYPosition } from '@reactflow/system'; +import type { NodeProps } from '@reactflow/system'; import DefaultNode from '../../components/Nodes/DefaultNode'; import InputNode from '../../components/Nodes/InputNode'; @@ -32,30 +32,3 @@ export function createNodeTypes(nodeTypes: NodeTypes): NodeTypesWrapped { ...specialTypes, }; } - -export const getPositionWithOrigin = ({ - x, - y, - width, - height, - origin, -}: { - x: number; - y: number; - width: number; - height: number; - origin: NodeOrigin; -}): XYPosition => { - if (!width || !height) { - return { x, y }; - } - - if (origin[0] < 0 || origin[1] < 0 || origin[0] > 1 || origin[1] > 1) { - return { x, y }; - } - - return { - x: x - width * origin[0], - y: y - height * origin[1], - }; -}; diff --git a/packages/svelte/src/customnodes/Custom.svelte b/packages/svelte/src/customnodes/Custom.svelte index 1a64be22..f892a2a3 100644 --- a/packages/svelte/src/customnodes/Custom.svelte +++ b/packages/svelte/src/customnodes/Custom.svelte @@ -10,8 +10,12 @@
{data.label}
{~~xPos}, {~~yPos}
+ - + + + +