Files
Endoleap/src/components/canvas/content-handles.tsx
T

12 lines
851 B
TypeScript

/**
* 通用内容节点的四向连接点。只提供稳定方向ID和几何位置,实际连线命令由画布层接收。
*/
"use client";
import { Handle, Position } from "@xyflow/react";
import styles from "./canvas.module.css";
/** 四边均使用source Handle以配合画布连接模式;selected控制能否开始连线以及读屏可见性。
* 不在这里创建端点记录,也不判断跨分区连线的归属。 */
export function ContentHandles({ selected }: { selected: boolean }) {
return <>{([["top", Position.Top], ["right", Position.Right], ["bottom", Position.Bottom], ["left", Position.Left]] as const).map(([id, position]) => <Handle key={id} id={id} type="source" position={position} className={styles.centerHandle} isConnectableStart={selected} aria-hidden={!selected} aria-label={`从 ${id} 连接元素`} />)}</>;
}