import { memo, useMemo, } from 'react' import type { NodeProps } from 'reactflow' import type { Node } from '../types' import { CUSTOM_NODE } from '../constants' import { NodeComponentMap, PanelComponentMap, } from './constants' import BaseNode from './_base/node' import BasePanel from './_base/panel' const CustomNode = (props: NodeProps) => { const nodeData = props.data const NodeComponent = NodeComponentMap[nodeData.type] return ( <> ) } CustomNode.displayName = 'CustomNode' export const Panel = memo((props: Node) => { const nodeClass = props.type const nodeData = props.data const PanelComponent = useMemo(() => { if (nodeClass === CUSTOM_NODE) return PanelComponentMap[nodeData.type] return () => null }, [nodeClass, nodeData.type]) if (nodeClass === CUSTOM_NODE) { return ( ) } return null }) Panel.displayName = 'Panel' export default memo(CustomNode)