import type { FC, ReactElement, } from 'react' import { cloneElement, memo, } from 'react' import type { NodeProps } from 'reactflow' import BlockIcon from '../../block-icon' import { useWorkflow } from '../../hooks' import NodeControl from './components/node-control' type BaseNodeProps = { children: ReactElement } & NodeProps const BaseNode: FC = ({ id, data, selected, children, }) => { const { handleSelectNode } = useWorkflow() return (
handleSelectNode(id)} >
{data.title}
{ children && (
{cloneElement(children, { id, data })}
) }
{ data.desc && (
{data.desc}
) }
) } export default memo(BaseNode)