@principal-ai/principal-view-react 0.13.2 → 0.13.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/GraphRenderer.d.ts +3 -3
- package/dist/components/GraphRenderer.d.ts.map +1 -1
- package/dist/components/GraphRenderer.js +103 -3
- package/dist/components/GraphRenderer.js.map +1 -1
- package/package.json +1 -1
- package/src/components/GraphRenderer.tsx +169 -4
- package/src/stories/GraphRenderer.stories.tsx +1 -1
|
@@ -101,14 +101,14 @@ interface GraphRendererBaseProps {
|
|
|
101
101
|
showBackground?: boolean;
|
|
102
102
|
/**
|
|
103
103
|
* Background variant style.
|
|
104
|
-
* - 'dots': Small dots pattern
|
|
105
|
-
* - 'lines': Grid lines
|
|
104
|
+
* - 'dots': Small dots pattern
|
|
105
|
+
* - 'lines': Grid lines (default)
|
|
106
106
|
* - 'cross': Cross pattern
|
|
107
107
|
*/
|
|
108
108
|
backgroundVariant?: 'dots' | 'lines' | 'cross';
|
|
109
109
|
/**
|
|
110
110
|
* Gap between background pattern elements in pixels.
|
|
111
|
-
* Defaults to
|
|
111
|
+
* Defaults to 50 for lines/cross, 16 for dots.
|
|
112
112
|
*/
|
|
113
113
|
backgroundGap?: number;
|
|
114
114
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphRenderer.d.ts","sourceRoot":"","sources":["../../src/components/GraphRenderer.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"GraphRenderer.d.ts","sourceRoot":"","sources":["../../src/components/GraphRenderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,36 @@ const createEmptyEditState = () => ({
|
|
|
26
26
|
createdEdges: [],
|
|
27
27
|
deletedEdges: [],
|
|
28
28
|
});
|
|
29
|
+
/**
|
|
30
|
+
* Alignment guides component that renders visual lines when nodes align during drag.
|
|
31
|
+
* Shows vertical lines for horizontal alignment (left/center/right) and
|
|
32
|
+
* horizontal lines for vertical alignment (top/middle/bottom).
|
|
33
|
+
*/
|
|
34
|
+
const AlignmentGuidesOverlay = ({ guides, color }) => {
|
|
35
|
+
const { x: viewportX, y: viewportY, zoom } = useViewport();
|
|
36
|
+
if (guides.length === 0)
|
|
37
|
+
return null;
|
|
38
|
+
return (_jsx("svg", { style: {
|
|
39
|
+
position: 'absolute',
|
|
40
|
+
top: 0,
|
|
41
|
+
left: 0,
|
|
42
|
+
width: '100%',
|
|
43
|
+
height: '100%',
|
|
44
|
+
pointerEvents: 'none',
|
|
45
|
+
zIndex: 10,
|
|
46
|
+
}, children: guides.map((guide, index) => {
|
|
47
|
+
if (guide.type === 'vertical') {
|
|
48
|
+
// Vertical line (for horizontal alignment)
|
|
49
|
+
const screenX = guide.position * zoom + viewportX;
|
|
50
|
+
return (_jsx("line", { x1: screenX, y1: 0, x2: screenX, y2: "100%", stroke: color, strokeWidth: 1.5, strokeDasharray: "4,4", opacity: 0.8 }, `${guide.type}-${guide.position}-${index}`));
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
// Horizontal line (for vertical alignment)
|
|
54
|
+
const screenY = guide.position * zoom + viewportY;
|
|
55
|
+
return (_jsx("line", { x1: 0, y1: screenY, x2: "100%", y2: screenY, stroke: color, strokeWidth: 1.5, strokeDasharray: "4,4", opacity: 0.8 }, `${guide.type}-${guide.position}-${index}`));
|
|
56
|
+
}
|
|
57
|
+
}) }));
|
|
58
|
+
};
|
|
29
59
|
/**
|
|
30
60
|
* Center indicator component that shows a crosshair at the canvas origin (0,0).
|
|
31
61
|
* Uses viewport transform to position correctly regardless of pan/zoom.
|
|
@@ -51,7 +81,7 @@ const CenterIndicator = ({ color }) => {
|
|
|
51
81
|
/**
|
|
52
82
|
* Inner component that uses ReactFlow hooks
|
|
53
83
|
*/
|
|
54
|
-
const GraphRendererInner = ({ configuration, nodes: propNodes, edges: propEdges, violations = [], configName: _configName, showMinimap = false, showControls = true, showBackground = true, backgroundVariant = '
|
|
84
|
+
const GraphRendererInner = ({ configuration, nodes: propNodes, edges: propEdges, violations = [], configName: _configName, showMinimap = false, showControls = true, showBackground = true, backgroundVariant = 'lines', backgroundGap, showCenterIndicator = false, showTooltips = true, fitViewDuration = 200, highlightedNodeId, activeNodeIds, events = [], onEventProcessed, editable = false, onPendingChangesChange, onEditStateChange, editStateRef, onNodeClick: onNodeClickProp, showNodeDetailPanel, resolveEventRef, }) => {
|
|
55
85
|
const { fitView } = useReactFlow();
|
|
56
86
|
const updateNodeInternals = useUpdateNodeInternals();
|
|
57
87
|
const { theme } = useTheme();
|
|
@@ -81,6 +111,8 @@ const GraphRendererInner = ({ configuration, nodes: propNodes, edges: propEdges,
|
|
|
81
111
|
nodeAnimations: {},
|
|
82
112
|
edgeAnimations: {},
|
|
83
113
|
});
|
|
114
|
+
// Track alignment guides during drag operations
|
|
115
|
+
const [alignmentGuides, setAlignmentGuides] = useState([]);
|
|
84
116
|
// Track selected edges for info panel (supports multi-select)
|
|
85
117
|
const [selectedEdgeIds, setSelectedEdgeIds] = useState(new Set());
|
|
86
118
|
// Track selected nodes for info panel (supports multi-select)
|
|
@@ -181,6 +213,63 @@ const GraphRendererInner = ({ configuration, nodes: propNodes, edges: propEdges,
|
|
|
181
213
|
onPendingChangesChange?.(hasChanges);
|
|
182
214
|
}, [editStateRef, onEditStateChange, onPendingChangesChange, checkHasChanges]);
|
|
183
215
|
// ============================================
|
|
216
|
+
// ALIGNMENT GUIDES
|
|
217
|
+
// ============================================
|
|
218
|
+
/**
|
|
219
|
+
* Detect alignment guides between a dragging node and other nodes
|
|
220
|
+
* @param draggingNodeId - ID of the node being dragged
|
|
221
|
+
* @param nodes - All nodes in the graph
|
|
222
|
+
* @returns Array of alignment guides to display
|
|
223
|
+
*/
|
|
224
|
+
const detectAlignmentGuides = useCallback((draggingNodeId, nodes) => {
|
|
225
|
+
const threshold = 5; // pixels - how close to snap/show guide
|
|
226
|
+
const guides = [];
|
|
227
|
+
const draggingNode = nodes.find((n) => n.id === draggingNodeId);
|
|
228
|
+
if (!draggingNode)
|
|
229
|
+
return guides;
|
|
230
|
+
const dragLeft = draggingNode.position.x;
|
|
231
|
+
const dragRight = draggingNode.position.x + (draggingNode.width ?? 0);
|
|
232
|
+
const dragCenterX = draggingNode.position.x + (draggingNode.width ?? 0) / 2;
|
|
233
|
+
const dragTop = draggingNode.position.y;
|
|
234
|
+
const dragBottom = draggingNode.position.y + (draggingNode.height ?? 0);
|
|
235
|
+
const dragCenterY = draggingNode.position.y + (draggingNode.height ?? 0) / 2;
|
|
236
|
+
// Check alignment with other nodes
|
|
237
|
+
for (const node of nodes) {
|
|
238
|
+
if (node.id === draggingNodeId)
|
|
239
|
+
continue;
|
|
240
|
+
const nodeLeft = node.position.x;
|
|
241
|
+
const nodeRight = node.position.x + (node.width ?? 0);
|
|
242
|
+
const nodeCenterX = node.position.x + (node.width ?? 0) / 2;
|
|
243
|
+
const nodeTop = node.position.y;
|
|
244
|
+
const nodeBottom = node.position.y + (node.height ?? 0);
|
|
245
|
+
const nodeCenterY = node.position.y + (node.height ?? 0) / 2;
|
|
246
|
+
// Vertical guides (align horizontally - left/center/right)
|
|
247
|
+
if (Math.abs(dragLeft - nodeLeft) < threshold) {
|
|
248
|
+
guides.push({ type: 'vertical', position: nodeLeft, label: 'Left' });
|
|
249
|
+
}
|
|
250
|
+
else if (Math.abs(dragCenterX - nodeCenterX) < threshold) {
|
|
251
|
+
guides.push({ type: 'vertical', position: nodeCenterX, label: 'Center' });
|
|
252
|
+
}
|
|
253
|
+
else if (Math.abs(dragRight - nodeRight) < threshold) {
|
|
254
|
+
guides.push({ type: 'vertical', position: nodeRight, label: 'Right' });
|
|
255
|
+
}
|
|
256
|
+
// Horizontal guides (align vertically - top/middle/bottom)
|
|
257
|
+
if (Math.abs(dragTop - nodeTop) < threshold) {
|
|
258
|
+
guides.push({ type: 'horizontal', position: nodeTop, label: 'Top' });
|
|
259
|
+
}
|
|
260
|
+
else if (Math.abs(dragCenterY - nodeCenterY) < threshold) {
|
|
261
|
+
guides.push({ type: 'horizontal', position: nodeCenterY, label: 'Middle' });
|
|
262
|
+
}
|
|
263
|
+
else if (Math.abs(dragBottom - nodeBottom) < threshold) {
|
|
264
|
+
guides.push({ type: 'horizontal', position: nodeBottom, label: 'Bottom' });
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
// Remove duplicates (same position guides)
|
|
268
|
+
const uniqueGuides = guides.filter((guide, index, self) => index ===
|
|
269
|
+
self.findIndex((g) => g.type === guide.type && g.position === guide.position));
|
|
270
|
+
return uniqueGuides;
|
|
271
|
+
}, []);
|
|
272
|
+
// ============================================
|
|
184
273
|
// EVENT HANDLERS
|
|
185
274
|
// ============================================
|
|
186
275
|
// Handle edge click (toggle selection, supports Shift for multi-select)
|
|
@@ -790,6 +879,17 @@ const GraphRendererInner = ({ configuration, nodes: propNodes, edges: propEdges,
|
|
|
790
879
|
prevEditableRef.current = editable;
|
|
791
880
|
}, [editable, xyflowNodesBase, updateNodeInternals]);
|
|
792
881
|
const xyflowNodes = editable ? xyflowLocalNodes : xyflowNodesBase;
|
|
882
|
+
// Handle node drag to show alignment guides
|
|
883
|
+
const handleNodeDrag = useCallback((_event, node) => {
|
|
884
|
+
if (!editable)
|
|
885
|
+
return;
|
|
886
|
+
const guides = detectAlignmentGuides(node.id, xyflowNodes);
|
|
887
|
+
setAlignmentGuides(guides);
|
|
888
|
+
}, [editable, xyflowNodes, detectAlignmentGuides]);
|
|
889
|
+
// Clear guides when drag ends
|
|
890
|
+
const handleNodeDragStop = useCallback(() => {
|
|
891
|
+
setAlignmentGuides([]);
|
|
892
|
+
}, []);
|
|
793
893
|
// Handle node changes (drag and resize events)
|
|
794
894
|
const handleNodesChange = useCallback((changes) => {
|
|
795
895
|
if (!editable)
|
|
@@ -945,14 +1045,14 @@ const GraphRendererInner = ({ configuration, nodes: propNodes, edges: propEdges,
|
|
|
945
1045
|
// ============================================
|
|
946
1046
|
// RENDER
|
|
947
1047
|
// ============================================
|
|
948
|
-
return (_jsxs(_Fragment, { children: [_jsxs(ReactFlow, { nodes: xyflowNodes, edges: xyflowEdges, nodeTypes: nodeTypes, edgeTypes: edgeTypes, minZoom: 0.1, maxZoom: 4, defaultEdgeOptions: { type: 'custom' }, onEdgeClick: onEdgeClick, onNodeClick: onNodeClick, proOptions: { hideAttribution: true }, nodesDraggable: editable, elementsSelectable: true, nodesConnectable: editable, edgesReconnectable: editable, reconnectRadius: 25, elevateEdgesOnSelect: true, onNodesChange: handleNodesChange, onEdgesChange: handleEdgesChange, onConnect: handleConnect, onReconnectStart: handleReconnectStart, onReconnect: handleReconnect, onReconnectEnd: handleReconnectEnd, onPaneClick: onPaneClick, onSelectionChange: handleSelectionChange, panOnDrag: true, selectionOnDrag: false, selectionKeyCode: editable ? 'Shift' : null, multiSelectionKeyCode: "Shift", children: [showBackground && (_jsx(Background, { color: backgroundVariant === 'dots' ? theme.colors.border : theme.colors.textMuted, gap: backgroundGap ?? (backgroundVariant === 'dots' ? 16 : 50), size: backgroundVariant === 'dots' ? 1 : 0.5, variant: backgroundVariant === 'dots'
|
|
1048
|
+
return (_jsxs(_Fragment, { children: [_jsxs(ReactFlow, { nodes: xyflowNodes, edges: xyflowEdges, nodeTypes: nodeTypes, edgeTypes: edgeTypes, minZoom: 0.1, maxZoom: 4, defaultEdgeOptions: { type: 'custom' }, onEdgeClick: onEdgeClick, onNodeClick: onNodeClick, onNodeDrag: handleNodeDrag, onNodeDragStop: handleNodeDragStop, proOptions: { hideAttribution: true }, nodesDraggable: editable, elementsSelectable: true, nodesConnectable: editable, edgesReconnectable: editable, reconnectRadius: 25, elevateEdgesOnSelect: true, onNodesChange: handleNodesChange, onEdgesChange: handleEdgesChange, onConnect: handleConnect, onReconnectStart: handleReconnectStart, onReconnect: handleReconnect, onReconnectEnd: handleReconnectEnd, onPaneClick: onPaneClick, onSelectionChange: handleSelectionChange, panOnDrag: true, selectionOnDrag: false, selectionKeyCode: editable ? 'Shift' : null, multiSelectionKeyCode: "Shift", children: [showBackground && (_jsx(Background, { color: backgroundVariant === 'dots' ? theme.colors.border : theme.colors.textMuted, gap: backgroundGap ?? (backgroundVariant === 'dots' ? 16 : 50), size: backgroundVariant === 'dots' ? 1 : 0.5, variant: backgroundVariant === 'dots'
|
|
949
1049
|
? BackgroundVariant.Dots
|
|
950
1050
|
: backgroundVariant === 'lines'
|
|
951
1051
|
? BackgroundVariant.Lines
|
|
952
1052
|
: BackgroundVariant.Cross })), showControls && _jsx(Controls, { showZoom: true, showFitView: true, showInteractive: true }), showMinimap && (_jsx(MiniMap, { nodeColor: (node) => {
|
|
953
1053
|
const nodeData = node.data;
|
|
954
1054
|
return nodeData?.typeDefinition?.color || theme.colors.secondary;
|
|
955
|
-
}, nodeBorderRadius: 2, pannable: true, zoomable: true })), showCenterIndicator && _jsx(CenterIndicator, { color: theme.colors.textMuted })] }, `${baseNodesKey}-${baseEdgesKey}`), selectedNodeIds.size >= 2 && showNodePanel && showNodeDetailPanel !== false && (_jsx(SelectionSidebar, { selectedNodeIds: selectedNodeIds, nodes: nodes, nodeTypeDefinitions: configuration.nodeTypes, onClose: onCloseNodeInfoPanel })), selectedEdgeIds.size === 1 && selectedEdge && selectedEdgeTypeDefinition && showEdgePanel && (_jsx(EdgeInfoPanel, { edge: selectedEdge, typeDefinition: selectedEdgeTypeDefinition, sourceNodeId: selectedEdge.from, targetNodeId: selectedEdge.to, onClose: onCloseEdgeInfoPanel, onDelete: editable ? handleEdgeDelete : undefined, onUpdateSides: editable ? handleUpdateEdgeSides : undefined })), selectedNodeIds.size === 1 && selectedNode && selectedNodeTypeDefinition && showNodePanel && showNodeDetailPanel !== false && (_jsx(NodeInfoPanel, { node: selectedNode, typeDefinition: selectedNodeTypeDefinition, availableNodeTypes: configuration.nodeTypes, onClose: onCloseNodeInfoPanel, onDelete: editable ? handleNodeDelete : undefined, onUpdate: editable ? handleNodeUpdate : undefined, resolveEventRef: resolveEventRef })), pendingConnection && (_jsxs("div", { style: {
|
|
1055
|
+
}, nodeBorderRadius: 2, pannable: true, zoomable: true })), showCenterIndicator && _jsx(CenterIndicator, { color: theme.colors.textMuted }), editable && alignmentGuides.length > 0 && (_jsx(AlignmentGuidesOverlay, { guides: alignmentGuides, color: theme.colors.primary }))] }, `${baseNodesKey}-${baseEdgesKey}`), selectedNodeIds.size >= 2 && showNodePanel && showNodeDetailPanel !== false && (_jsx(SelectionSidebar, { selectedNodeIds: selectedNodeIds, nodes: nodes, nodeTypeDefinitions: configuration.nodeTypes, onClose: onCloseNodeInfoPanel })), selectedEdgeIds.size === 1 && selectedEdge && selectedEdgeTypeDefinition && showEdgePanel && (_jsx(EdgeInfoPanel, { edge: selectedEdge, typeDefinition: selectedEdgeTypeDefinition, sourceNodeId: selectedEdge.from, targetNodeId: selectedEdge.to, onClose: onCloseEdgeInfoPanel, onDelete: editable ? handleEdgeDelete : undefined, onUpdateSides: editable ? handleUpdateEdgeSides : undefined })), selectedNodeIds.size === 1 && selectedNode && selectedNodeTypeDefinition && showNodePanel && showNodeDetailPanel !== false && (_jsx(NodeInfoPanel, { node: selectedNode, typeDefinition: selectedNodeTypeDefinition, availableNodeTypes: configuration.nodeTypes, onClose: onCloseNodeInfoPanel, onDelete: editable ? handleNodeDelete : undefined, onUpdate: editable ? handleNodeUpdate : undefined, resolveEventRef: resolveEventRef })), pendingConnection && (_jsxs("div", { style: {
|
|
956
1056
|
position: 'absolute',
|
|
957
1057
|
top: '50%',
|
|
958
1058
|
left: '50%',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphRenderer.js","sourceRoot":"","sources":["../../src/components/GraphRenderer.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GraphRenderer.js","sourceRoot":"","sources":["../../src/components/GraphRenderer.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -157,15 +157,15 @@ interface GraphRendererBaseProps {
|
|
|
157
157
|
|
|
158
158
|
/**
|
|
159
159
|
* Background variant style.
|
|
160
|
-
* - 'dots': Small dots pattern
|
|
161
|
-
* - 'lines': Grid lines
|
|
160
|
+
* - 'dots': Small dots pattern
|
|
161
|
+
* - 'lines': Grid lines (default)
|
|
162
162
|
* - 'cross': Cross pattern
|
|
163
163
|
*/
|
|
164
164
|
backgroundVariant?: 'dots' | 'lines' | 'cross';
|
|
165
165
|
|
|
166
166
|
/**
|
|
167
167
|
* Gap between background pattern elements in pixels.
|
|
168
|
-
* Defaults to
|
|
168
|
+
* Defaults to 50 for lines/cross, 16 for dots.
|
|
169
169
|
*/
|
|
170
170
|
backgroundGap?: number;
|
|
171
171
|
|
|
@@ -260,6 +260,16 @@ interface AnimationState {
|
|
|
260
260
|
>;
|
|
261
261
|
}
|
|
262
262
|
|
|
263
|
+
// Alignment guide for visual feedback during node dragging
|
|
264
|
+
interface AlignmentGuide {
|
|
265
|
+
/** Orientation of the guide line */
|
|
266
|
+
type: 'horizontal' | 'vertical';
|
|
267
|
+
/** Position in pixels (x for vertical, y for horizontal) */
|
|
268
|
+
position: number;
|
|
269
|
+
/** Optional label describing the alignment (e.g., "Left edge", "Center") */
|
|
270
|
+
label?: string;
|
|
271
|
+
}
|
|
272
|
+
|
|
263
273
|
// Internal edit state tracking
|
|
264
274
|
interface EditState {
|
|
265
275
|
positionChanges: Map<string, { x: number; y: number }>;
|
|
@@ -286,6 +296,70 @@ const createEmptyEditState = (): EditState => ({
|
|
|
286
296
|
deletedEdges: [],
|
|
287
297
|
});
|
|
288
298
|
|
|
299
|
+
/**
|
|
300
|
+
* Alignment guides component that renders visual lines when nodes align during drag.
|
|
301
|
+
* Shows vertical lines for horizontal alignment (left/center/right) and
|
|
302
|
+
* horizontal lines for vertical alignment (top/middle/bottom).
|
|
303
|
+
*/
|
|
304
|
+
const AlignmentGuidesOverlay: React.FC<{
|
|
305
|
+
guides: AlignmentGuide[];
|
|
306
|
+
color: string;
|
|
307
|
+
}> = ({ guides, color }) => {
|
|
308
|
+
const { x: viewportX, y: viewportY, zoom } = useViewport();
|
|
309
|
+
|
|
310
|
+
if (guides.length === 0) return null;
|
|
311
|
+
|
|
312
|
+
return (
|
|
313
|
+
<svg
|
|
314
|
+
style={{
|
|
315
|
+
position: 'absolute',
|
|
316
|
+
top: 0,
|
|
317
|
+
left: 0,
|
|
318
|
+
width: '100%',
|
|
319
|
+
height: '100%',
|
|
320
|
+
pointerEvents: 'none',
|
|
321
|
+
zIndex: 10,
|
|
322
|
+
}}
|
|
323
|
+
>
|
|
324
|
+
{guides.map((guide, index) => {
|
|
325
|
+
if (guide.type === 'vertical') {
|
|
326
|
+
// Vertical line (for horizontal alignment)
|
|
327
|
+
const screenX = guide.position * zoom + viewportX;
|
|
328
|
+
return (
|
|
329
|
+
<line
|
|
330
|
+
key={`${guide.type}-${guide.position}-${index}`}
|
|
331
|
+
x1={screenX}
|
|
332
|
+
y1={0}
|
|
333
|
+
x2={screenX}
|
|
334
|
+
y2="100%"
|
|
335
|
+
stroke={color}
|
|
336
|
+
strokeWidth={1.5}
|
|
337
|
+
strokeDasharray="4,4"
|
|
338
|
+
opacity={0.8}
|
|
339
|
+
/>
|
|
340
|
+
);
|
|
341
|
+
} else {
|
|
342
|
+
// Horizontal line (for vertical alignment)
|
|
343
|
+
const screenY = guide.position * zoom + viewportY;
|
|
344
|
+
return (
|
|
345
|
+
<line
|
|
346
|
+
key={`${guide.type}-${guide.position}-${index}`}
|
|
347
|
+
x1={0}
|
|
348
|
+
y1={screenY}
|
|
349
|
+
x2="100%"
|
|
350
|
+
y2={screenY}
|
|
351
|
+
stroke={color}
|
|
352
|
+
strokeWidth={1.5}
|
|
353
|
+
strokeDasharray="4,4"
|
|
354
|
+
opacity={0.8}
|
|
355
|
+
/>
|
|
356
|
+
);
|
|
357
|
+
}
|
|
358
|
+
})}
|
|
359
|
+
</svg>
|
|
360
|
+
);
|
|
361
|
+
};
|
|
362
|
+
|
|
289
363
|
/**
|
|
290
364
|
* Center indicator component that shows a crosshair at the canvas origin (0,0).
|
|
291
365
|
* Uses viewport transform to position correctly regardless of pan/zoom.
|
|
@@ -385,7 +459,7 @@ const GraphRendererInner: React.FC<GraphRendererInnerProps> = ({
|
|
|
385
459
|
showMinimap = false,
|
|
386
460
|
showControls = true,
|
|
387
461
|
showBackground = true,
|
|
388
|
-
backgroundVariant = '
|
|
462
|
+
backgroundVariant = 'lines',
|
|
389
463
|
backgroundGap,
|
|
390
464
|
showCenterIndicator = false,
|
|
391
465
|
showTooltips = true,
|
|
@@ -438,6 +512,9 @@ const GraphRendererInner: React.FC<GraphRendererInnerProps> = ({
|
|
|
438
512
|
edgeAnimations: {},
|
|
439
513
|
});
|
|
440
514
|
|
|
515
|
+
// Track alignment guides during drag operations
|
|
516
|
+
const [alignmentGuides, setAlignmentGuides] = useState<AlignmentGuide[]>([]);
|
|
517
|
+
|
|
441
518
|
// Track selected edges for info panel (supports multi-select)
|
|
442
519
|
const [selectedEdgeIds, setSelectedEdgeIds] = useState<Set<string>>(new Set());
|
|
443
520
|
|
|
@@ -566,6 +643,73 @@ const GraphRendererInner: React.FC<GraphRendererInnerProps> = ({
|
|
|
566
643
|
[editStateRef, onEditStateChange, onPendingChangesChange, checkHasChanges]
|
|
567
644
|
);
|
|
568
645
|
|
|
646
|
+
// ============================================
|
|
647
|
+
// ALIGNMENT GUIDES
|
|
648
|
+
// ============================================
|
|
649
|
+
|
|
650
|
+
/**
|
|
651
|
+
* Detect alignment guides between a dragging node and other nodes
|
|
652
|
+
* @param draggingNodeId - ID of the node being dragged
|
|
653
|
+
* @param nodes - All nodes in the graph
|
|
654
|
+
* @returns Array of alignment guides to display
|
|
655
|
+
*/
|
|
656
|
+
const detectAlignmentGuides = useCallback(
|
|
657
|
+
(draggingNodeId: string, nodes: Node<CustomNodeData>[]): AlignmentGuide[] => {
|
|
658
|
+
const threshold = 5; // pixels - how close to snap/show guide
|
|
659
|
+
const guides: AlignmentGuide[] = [];
|
|
660
|
+
|
|
661
|
+
const draggingNode = nodes.find((n) => n.id === draggingNodeId);
|
|
662
|
+
if (!draggingNode) return guides;
|
|
663
|
+
|
|
664
|
+
const dragLeft = draggingNode.position.x;
|
|
665
|
+
const dragRight = draggingNode.position.x + (draggingNode.width ?? 0);
|
|
666
|
+
const dragCenterX = draggingNode.position.x + (draggingNode.width ?? 0) / 2;
|
|
667
|
+
const dragTop = draggingNode.position.y;
|
|
668
|
+
const dragBottom = draggingNode.position.y + (draggingNode.height ?? 0);
|
|
669
|
+
const dragCenterY = draggingNode.position.y + (draggingNode.height ?? 0) / 2;
|
|
670
|
+
|
|
671
|
+
// Check alignment with other nodes
|
|
672
|
+
for (const node of nodes) {
|
|
673
|
+
if (node.id === draggingNodeId) continue;
|
|
674
|
+
|
|
675
|
+
const nodeLeft = node.position.x;
|
|
676
|
+
const nodeRight = node.position.x + (node.width ?? 0);
|
|
677
|
+
const nodeCenterX = node.position.x + (node.width ?? 0) / 2;
|
|
678
|
+
const nodeTop = node.position.y;
|
|
679
|
+
const nodeBottom = node.position.y + (node.height ?? 0);
|
|
680
|
+
const nodeCenterY = node.position.y + (node.height ?? 0) / 2;
|
|
681
|
+
|
|
682
|
+
// Vertical guides (align horizontally - left/center/right)
|
|
683
|
+
if (Math.abs(dragLeft - nodeLeft) < threshold) {
|
|
684
|
+
guides.push({ type: 'vertical', position: nodeLeft, label: 'Left' });
|
|
685
|
+
} else if (Math.abs(dragCenterX - nodeCenterX) < threshold) {
|
|
686
|
+
guides.push({ type: 'vertical', position: nodeCenterX, label: 'Center' });
|
|
687
|
+
} else if (Math.abs(dragRight - nodeRight) < threshold) {
|
|
688
|
+
guides.push({ type: 'vertical', position: nodeRight, label: 'Right' });
|
|
689
|
+
}
|
|
690
|
+
|
|
691
|
+
// Horizontal guides (align vertically - top/middle/bottom)
|
|
692
|
+
if (Math.abs(dragTop - nodeTop) < threshold) {
|
|
693
|
+
guides.push({ type: 'horizontal', position: nodeTop, label: 'Top' });
|
|
694
|
+
} else if (Math.abs(dragCenterY - nodeCenterY) < threshold) {
|
|
695
|
+
guides.push({ type: 'horizontal', position: nodeCenterY, label: 'Middle' });
|
|
696
|
+
} else if (Math.abs(dragBottom - nodeBottom) < threshold) {
|
|
697
|
+
guides.push({ type: 'horizontal', position: nodeBottom, label: 'Bottom' });
|
|
698
|
+
}
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
// Remove duplicates (same position guides)
|
|
702
|
+
const uniqueGuides = guides.filter(
|
|
703
|
+
(guide, index, self) =>
|
|
704
|
+
index ===
|
|
705
|
+
self.findIndex((g) => g.type === guide.type && g.position === guide.position)
|
|
706
|
+
);
|
|
707
|
+
|
|
708
|
+
return uniqueGuides;
|
|
709
|
+
},
|
|
710
|
+
[]
|
|
711
|
+
);
|
|
712
|
+
|
|
569
713
|
// ============================================
|
|
570
714
|
// EVENT HANDLERS
|
|
571
715
|
// ============================================
|
|
@@ -1304,6 +1448,22 @@ const GraphRendererInner: React.FC<GraphRendererInnerProps> = ({
|
|
|
1304
1448
|
|
|
1305
1449
|
const xyflowNodes = editable ? xyflowLocalNodes : xyflowNodesBase;
|
|
1306
1450
|
|
|
1451
|
+
// Handle node drag to show alignment guides
|
|
1452
|
+
const handleNodeDrag = useCallback(
|
|
1453
|
+
(_event: React.MouseEvent, node: Node) => {
|
|
1454
|
+
if (!editable) return;
|
|
1455
|
+
|
|
1456
|
+
const guides = detectAlignmentGuides(node.id, xyflowNodes);
|
|
1457
|
+
setAlignmentGuides(guides);
|
|
1458
|
+
},
|
|
1459
|
+
[editable, xyflowNodes, detectAlignmentGuides]
|
|
1460
|
+
);
|
|
1461
|
+
|
|
1462
|
+
// Clear guides when drag ends
|
|
1463
|
+
const handleNodeDragStop = useCallback(() => {
|
|
1464
|
+
setAlignmentGuides([]);
|
|
1465
|
+
}, []);
|
|
1466
|
+
|
|
1307
1467
|
// Handle node changes (drag and resize events)
|
|
1308
1468
|
const handleNodesChange = useCallback(
|
|
1309
1469
|
(changes: NodeChange[]) => {
|
|
@@ -1517,6 +1677,8 @@ const GraphRendererInner: React.FC<GraphRendererInnerProps> = ({
|
|
|
1517
1677
|
defaultEdgeOptions={{ type: 'custom' }}
|
|
1518
1678
|
onEdgeClick={onEdgeClick}
|
|
1519
1679
|
onNodeClick={onNodeClick}
|
|
1680
|
+
onNodeDrag={handleNodeDrag}
|
|
1681
|
+
onNodeDragStop={handleNodeDragStop}
|
|
1520
1682
|
proOptions={{ hideAttribution: true }}
|
|
1521
1683
|
nodesDraggable={editable}
|
|
1522
1684
|
elementsSelectable={true}
|
|
@@ -1564,6 +1726,9 @@ const GraphRendererInner: React.FC<GraphRendererInnerProps> = ({
|
|
|
1564
1726
|
/>
|
|
1565
1727
|
)}
|
|
1566
1728
|
{showCenterIndicator && <CenterIndicator color={theme.colors.textMuted} />}
|
|
1729
|
+
{editable && alignmentGuides.length > 0 && (
|
|
1730
|
+
<AlignmentGuidesOverlay guides={alignmentGuides} color={theme.colors.primary} />
|
|
1731
|
+
)}
|
|
1567
1732
|
</ReactFlow>
|
|
1568
1733
|
|
|
1569
1734
|
{/* Multi-selection sidebar - shown when 2+ nodes are selected via explicit click/box select */}
|