visual/react/components/SubFlow.tsx (22 lines of code) (raw):
import { memo } from 'react';
import { Handle, NodeProps, Position, NodeResizer } from 'reactflow';
import { splitByFirstParenthesis } from './Step';
function SubFlow({
data,
targetPosition,
sourcePosition,
isConnectable,
selected,
}: NodeProps) {
const { name, para } = splitByFirstParenthesis(data?.label || '');
return (
<div className='h-full'>
<NodeResizer color='#94a3b8' isVisible={selected}/>
<Handle className='invisible' type='target' position={targetPosition || Position.Left} isConnectable={isConnectable}></Handle>
<article className='text-wrap antialiased text-gray-700 text-center'>
<h3 className='font-bold my-1'>{name}</h3><p className='line-clamp-3'>{para}</p>
<hr/>
<div className='h-full opacity-70'></div>
</article>
<Handle className='invisible' type='source' position={sourcePosition || Position.Right} isConnectable={isConnectable}></Handle>
</div>
);
}
export default memo(SubFlow);