@principal-ai/principal-view-react 0.13.1 → 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/dist/nodes/CustomNode.d.ts.map +1 -1
- package/dist/nodes/CustomNode.js +41 -33
- package/dist/nodes/CustomNode.js.map +1 -1
- package/package.json +5 -5
- package/src/components/GraphRenderer.tsx +169 -4
- package/src/nodes/CustomNode.tsx +47 -36
- package/src/stories/EventNameFallback.stories.tsx +0 -1
- package/src/stories/GraphRenderer.stories.tsx +985 -34
- package/src/stories/NodeFontSizeTesting.stories.tsx +0 -9
- package/src/stories/NodeNameFallbacks.stories.tsx +2 -2
- package/src/stories/NumericColors.stories.tsx +8 -8
- package/src/stories/data/graph-converter-test-execution.json +24 -24
- package/src/stories/data/graph-converter-validated-execution.json +6 -6
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomNode.d.ts","sourceRoot":"","sources":["../../src/nodes/CustomNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAgC5E,MAAM,WAAW,cAAe,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,kBAAkB,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE9B,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;IAC7D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AAEH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"CustomNode.d.ts","sourceRoot":"","sources":["../../src/nodes/CustomNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAgC5E,MAAM,WAAW,cAAe,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,kBAAkB,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE9B,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;IAC7D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AAEH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CA8uB/C,CAAC"}
|
package/dist/nodes/CustomNode.js
CHANGED
|
@@ -43,27 +43,11 @@ export const CustomNode = ({ data, selected, dragging }) => {
|
|
|
43
43
|
const otelInfo = nodeData?.otel;
|
|
44
44
|
const description = nodeData?.description;
|
|
45
45
|
const sources = nodeData?.sources;
|
|
46
|
-
//
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
return '#4A90E2'; // Blue
|
|
51
|
-
case 'service':
|
|
52
|
-
return '#7ED321'; // Green
|
|
53
|
-
case 'instance':
|
|
54
|
-
return '#9B59B6'; // Purple
|
|
55
|
-
case 'event':
|
|
56
|
-
return '#F59E0B'; // Amber
|
|
57
|
-
default:
|
|
58
|
-
return '#888';
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
// Render OTEL badge
|
|
62
|
-
const renderOtelBadge = () => {
|
|
63
|
-
if (!otelInfo?.kind)
|
|
46
|
+
// Render Sources badge (top-right)
|
|
47
|
+
const renderSourcesBadge = () => {
|
|
48
|
+
const sources = nodeData?.sources;
|
|
49
|
+
if (!sources || sources.length === 0)
|
|
64
50
|
return null;
|
|
65
|
-
const badgeColor = getOtelBadgeColor(otelInfo.kind);
|
|
66
|
-
const label = otelInfo.kind.charAt(0).toUpperCase(); // T, S, or I
|
|
67
51
|
return (_jsx("div", { style: {
|
|
68
52
|
position: 'absolute',
|
|
69
53
|
top: -6,
|
|
@@ -71,7 +55,7 @@ export const CustomNode = ({ data, selected, dragging }) => {
|
|
|
71
55
|
width: 18,
|
|
72
56
|
height: 18,
|
|
73
57
|
borderRadius: '50%',
|
|
74
|
-
backgroundColor:
|
|
58
|
+
backgroundColor: '#10b981',
|
|
75
59
|
color: 'white',
|
|
76
60
|
fontSize: theme.fontSizes[0],
|
|
77
61
|
fontWeight: theme.fontWeights.bold,
|
|
@@ -82,13 +66,29 @@ export const CustomNode = ({ data, selected, dragging }) => {
|
|
|
82
66
|
boxShadow: '0 1px 3px rgba(0,0,0,0.3)',
|
|
83
67
|
zIndex: 10,
|
|
84
68
|
opacity: isActive ? 1 : 0.1,
|
|
85
|
-
}, title:
|
|
69
|
+
}, title: `Sources: ${sources.join(', ')}`, children: "S" }));
|
|
86
70
|
};
|
|
87
|
-
// Render
|
|
88
|
-
const
|
|
89
|
-
const
|
|
90
|
-
if (!
|
|
71
|
+
// Render Status badge (top-left)
|
|
72
|
+
const renderStatusBadge = () => {
|
|
73
|
+
const status = nodeData?.status;
|
|
74
|
+
if (!status)
|
|
91
75
|
return null;
|
|
76
|
+
// Color mapping for status
|
|
77
|
+
const statusColors = {
|
|
78
|
+
draft: '#6b7280',
|
|
79
|
+
approved: '#3b82f6',
|
|
80
|
+
implemented: '#10b981', // Green
|
|
81
|
+
};
|
|
82
|
+
const statusLabels = {
|
|
83
|
+
draft: 'D',
|
|
84
|
+
approved: 'A',
|
|
85
|
+
implemented: 'I',
|
|
86
|
+
};
|
|
87
|
+
const statusTitles = {
|
|
88
|
+
draft: 'Draft - Design phase',
|
|
89
|
+
approved: 'Approved - Ready for implementation',
|
|
90
|
+
implemented: 'Implemented - Code exists',
|
|
91
|
+
};
|
|
92
92
|
return (_jsx("div", { style: {
|
|
93
93
|
position: 'absolute',
|
|
94
94
|
top: -6,
|
|
@@ -96,7 +96,7 @@ export const CustomNode = ({ data, selected, dragging }) => {
|
|
|
96
96
|
width: 18,
|
|
97
97
|
height: 18,
|
|
98
98
|
borderRadius: '50%',
|
|
99
|
-
backgroundColor:
|
|
99
|
+
backgroundColor: statusColors[status],
|
|
100
100
|
color: 'white',
|
|
101
101
|
fontSize: theme.fontSizes[0],
|
|
102
102
|
fontWeight: theme.fontWeights.bold,
|
|
@@ -107,7 +107,7 @@ export const CustomNode = ({ data, selected, dragging }) => {
|
|
|
107
107
|
boxShadow: '0 1px 3px rgba(0,0,0,0.3)',
|
|
108
108
|
zIndex: 10,
|
|
109
109
|
opacity: isActive ? 1 : 0.1,
|
|
110
|
-
}, title:
|
|
110
|
+
}, title: statusTitles[status], children: statusLabels[status] }));
|
|
111
111
|
};
|
|
112
112
|
// Guard against missing typeDefinition
|
|
113
113
|
if (!typeDefinition) {
|
|
@@ -123,7 +123,10 @@ export const CustomNode = ({ data, selected, dragging }) => {
|
|
|
123
123
|
const fillColor = stateColor || baseColor;
|
|
124
124
|
// Get stroke color - priority: node data stroke > type definition stroke > fill color
|
|
125
125
|
const nodeDataStroke = nodeData.stroke;
|
|
126
|
-
const
|
|
126
|
+
const baseStrokeColor = nodeDataStroke || typeDefinition.stroke || fillColor;
|
|
127
|
+
// Apply status-based border styling
|
|
128
|
+
const status = nodeData?.status;
|
|
129
|
+
const strokeColor = baseStrokeColor;
|
|
127
130
|
// Use fillColor as the primary "color" for backwards compatibility
|
|
128
131
|
const color = fillColor;
|
|
129
132
|
// Get display name - use name from props (falls back to node.id in converter)
|
|
@@ -164,11 +167,12 @@ export const CustomNode = ({ data, selected, dragging }) => {
|
|
|
164
167
|
const isGroup = nodeData.canvasType === 'group';
|
|
165
168
|
// Shape-specific styles
|
|
166
169
|
const getShapeStyles = () => {
|
|
170
|
+
const borderStyle = status === 'draft' ? 'dotted' : status === 'approved' ? 'dashed' : 'solid';
|
|
167
171
|
const baseStyles = {
|
|
168
172
|
padding: '12px 16px',
|
|
169
173
|
backgroundColor: isGroup ? 'rgba(255, 255, 255, 0.7)' : hexToLightColor(fillColor),
|
|
170
174
|
color: '#000',
|
|
171
|
-
border: `2px
|
|
175
|
+
border: `2px ${borderStyle} ${hasViolations ? '#D0021B' : strokeColor}`,
|
|
172
176
|
fontSize: theme.fontSizes[0],
|
|
173
177
|
fontWeight: theme.fontWeights.medium,
|
|
174
178
|
fontFamily: theme.fonts.body,
|
|
@@ -247,6 +251,8 @@ export const CustomNode = ({ data, selected, dragging }) => {
|
|
|
247
251
|
// Hexagon border wrapper styles (outer shape that acts as border)
|
|
248
252
|
// Hexagon with gentle diagonals
|
|
249
253
|
const hexagonClipPath = 'polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%)';
|
|
254
|
+
// Note: Dotted/dashed borders not supported for hexagon shape (CSS limitation with clip-path)
|
|
255
|
+
// All statuses use 2px solid border for hexagons
|
|
250
256
|
const hexagonBorderWidth = 2;
|
|
251
257
|
const hexagonBorderStyle = isHexagon
|
|
252
258
|
? {
|
|
@@ -288,6 +294,8 @@ export const CustomNode = ({ data, selected, dragging }) => {
|
|
|
288
294
|
: {};
|
|
289
295
|
// Diamond clip-path
|
|
290
296
|
const diamondClipPath = 'polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)';
|
|
297
|
+
// Note: Dotted/dashed borders not supported for diamond shape (CSS limitation with clip-path)
|
|
298
|
+
// All statuses use 2px solid border for diamonds
|
|
291
299
|
const diamondBorderWidth = 2;
|
|
292
300
|
// Diamond border wrapper styles (outer shape that acts as border)
|
|
293
301
|
const diamondBorderStyle = isDiamond
|
|
@@ -371,7 +379,7 @@ export const CustomNode = ({ data, selected, dragging }) => {
|
|
|
371
379
|
? `0 0 0 2px ${strokeColor}`
|
|
372
380
|
: 'none',
|
|
373
381
|
transition: 'box-shadow 0.2s ease',
|
|
374
|
-
}, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [
|
|
382
|
+
}, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [renderStatusBadge(), renderSourcesBadge(), _jsx("div", { style: hexagonBorderStyle, className: animationClass, children: _jsxs("div", { style: hexagonInnerStyle, children: [icon && (_jsx("div", { style: { display: 'flex', justifyContent: 'center', alignItems: 'center' }, children: resolveIcon(icon, 20) })), renderNameWithEvent(), state && (_jsx("div", { style: {
|
|
375
383
|
fontSize: theme.fontSizes[0],
|
|
376
384
|
fontFamily: theme.fonts.body,
|
|
377
385
|
backgroundColor: color,
|
|
@@ -394,7 +402,7 @@ export const CustomNode = ({ data, selected, dragging }) => {
|
|
|
394
402
|
? `0 0 0 2px ${strokeColor}`
|
|
395
403
|
: 'none',
|
|
396
404
|
transition: 'box-shadow 0.2s ease',
|
|
397
|
-
}, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [
|
|
405
|
+
}, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [renderStatusBadge(), renderSourcesBadge(), _jsx("div", { style: diamondBorderStyle, className: animationClass, children: _jsxs("div", { style: diamondInnerStyle, children: [icon && (_jsx("div", { style: { display: 'flex', justifyContent: 'center', alignItems: 'center' }, children: resolveIcon(icon, 20) })), renderNameWithEvent(), state && (_jsx("div", { style: {
|
|
398
406
|
fontSize: theme.fontSizes[0],
|
|
399
407
|
fontFamily: theme.fonts.body,
|
|
400
408
|
backgroundColor: color,
|
|
@@ -407,7 +415,7 @@ export const CustomNode = ({ data, selected, dragging }) => {
|
|
|
407
415
|
fontFamily: theme.fonts.body,
|
|
408
416
|
color: '#D0021B',
|
|
409
417
|
fontWeight: theme.fontWeights.bold,
|
|
410
|
-
}, children: "\u26A0\uFE0F" }))] }) }), tooltipsEnabled && (_jsx(NodeTooltip, { description: description, otel: otelInfo, sources: sources, visible: showTooltip, nodeRef: nodeRef }))] })) : (_jsxs("div", { ref: nodeRef, style: { position: 'relative', width: '100%', height: '100%' }, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [
|
|
418
|
+
}, children: "\u26A0\uFE0F" }))] }) }), tooltipsEnabled && (_jsx(NodeTooltip, { description: description, otel: otelInfo, sources: sources, visible: showTooltip, nodeRef: nodeRef }))] })) : (_jsxs("div", { ref: nodeRef, style: { position: 'relative', width: '100%', height: '100%' }, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [renderStatusBadge(), renderSourcesBadge(), _jsx("div", { style: getShapeStyles(), className: animationClass, children: _jsxs("div", { style: {
|
|
411
419
|
...(isGroup ? { width: '100%' } : {}),
|
|
412
420
|
}, children: [isGroup ? (_jsxs("div", { style: {
|
|
413
421
|
display: 'flex',
|