refactor(edges): use EdgeWrapper instead of wrapEdge

This commit is contained in:
moklick
2023-12-16 10:51:24 +01:00
parent 20c779f57d
commit 07c4018255
16 changed files with 397 additions and 456 deletions
@@ -7,7 +7,7 @@ import { containerStyle } from '../../styles/utils';
import { GraphViewProps } from '../GraphView';
import type { ReactFlowState } from '../../types';
import useResizeObserver from './useResizeObserver';
import NodeWrapper from '../../components/NodeWrapper/NodeWrapper';
import NodeWrapper from '../../components/NodeWrapper';
export type NodeRendererProps = Pick<
GraphViewProps,
@@ -1,32 +0,0 @@
import type { ComponentType } from 'react';
import type { NodeProps } from '@xyflow/system';
import DefaultNode from '../../components/Nodes/DefaultNode';
import InputNode from '../../components/Nodes/InputNode';
import OutputNode from '../../components/Nodes/OutputNode';
import GroupNode from '../../components/Nodes/GroupNode';
import type { NodeTypes } from '../../types';
export type CreateNodeTypes = (nodeTypes: NodeTypes) => NodeTypes;
export function createNodeTypes(nodeTypes: NodeTypes): NodeTypes {
const builtinTypes: NodeTypes = {
input: (nodeTypes.input || InputNode) as ComponentType<NodeProps>,
default: (nodeTypes.default || DefaultNode) as ComponentType<NodeProps>,
output: (nodeTypes.output || OutputNode) as ComponentType<NodeProps>,
group: (nodeTypes.group || GroupNode) as ComponentType<NodeProps>,
};
const userProvidedTypes = Object.keys(nodeTypes)
.filter((k) => !['input', 'default', 'output', 'group'].includes(k))
.reduce<NodeTypes>((res, key) => {
res[key] = (nodeTypes[key] || DefaultNode) as ComponentType<NodeProps>;
return res;
}, {});
return {
...builtinTypes,
...userProvidedTypes,
};
}