@principal-ai/principal-view-react 0.13.25 → 0.13.27

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.
@@ -32,7 +32,7 @@ function hexToLightColor(hexColor, lightness = 0.88) {
32
32
  */
33
33
  export const CustomNode = ({ data, selected, dragging }) => {
34
34
  const { theme } = useTheme();
35
- const { onNodeResizeEnd } = useGraphEdit();
35
+ const { onNodeResizeEnd, onToggleNodeHidden, onHideUnconnectedNodes } = useGraphEdit();
36
36
  const nodeId = useNodeId();
37
37
  const [isHovered, setIsHovered] = useState(false);
38
38
  const nodeRef = useRef(null);
@@ -53,6 +53,25 @@ export const CustomNode = ({ data, selected, dragging }) => {
53
53
  });
54
54
  }
55
55
  }, [nodeId, onNodeResizeEnd]);
56
+ // Handle Cmd/Ctrl+mousedown to toggle hidden state
57
+ // We use mousedown instead of click because in edit mode with draggable nodes,
58
+ // ReactFlow's drag system intercepts Cmd+click before it becomes a click event
59
+ // - Cmd/Ctrl+Shift+click: hide all nodes not directly connected to this node
60
+ // - Cmd/Ctrl+click: toggle this single node's hidden state
61
+ const handleMouseDown = useCallback((event) => {
62
+ if ((event.metaKey || event.ctrlKey) && nodeId) {
63
+ event.preventDefault();
64
+ event.stopPropagation();
65
+ if (event.shiftKey && onHideUnconnectedNodes) {
66
+ // Cmd/Ctrl+Shift+click: hide unconnected nodes
67
+ onHideUnconnectedNodes(nodeId);
68
+ }
69
+ else if (onToggleNodeHidden) {
70
+ // Cmd/Ctrl+click: toggle single node
71
+ onToggleNodeHidden(nodeId);
72
+ }
73
+ }
74
+ }, [nodeId, onToggleNodeHidden, onHideUnconnectedNodes]);
56
75
  // Show tooltip when:
57
76
  // 1. Hovering + not dragging + shift key pressed (always works), OR
58
77
  // 2. Node is selected AND not in edit mode (read-only selection shows tooltip)
@@ -273,19 +292,25 @@ export const CustomNode = ({ data, selected, dragging }) => {
273
292
  if (!typeDefinition) {
274
293
  return (_jsx("div", { style: { padding: '10px', border: '2px solid red', borderRadius: '4px' }, children: _jsx("div", { style: { fontSize: '12px', color: 'red' }, children: "Error: Missing node type definition" }) }));
275
294
  }
276
- // Get fill color based on state or default
277
- // Priority: state color > scope color > node data color > type definition color > default
278
- // Scope colors come from library.yaml owned-scopes and are injected by GraphRenderer
295
+ // Color Contract:
296
+ // - scopeColor: Used as BORDER color (from library.yaml owned-scopes)
297
+ // - spanColor: Used as FILL color (from .spans.canvas based on workflow context)
298
+ // - For non-event canvases, falls back to legacy behavior (node color or type color)
299
+ // Get colors from node data (injected by GraphRenderer)
279
300
  const nodeDataColor = nodeData.color;
280
301
  const scopeColor = nodeData.scopeColor;
281
- const baseColor = scopeColor || nodeDataColor || typeDefinition.color || '#888';
302
+ const spanColor = nodeData.spanColor;
282
303
  // Check node's own states first (from pv.states), then fall back to type definition states
283
304
  const nodeDataStates = nodeData.states;
284
305
  const stateColor = state && (nodeDataStates?.[state]?.color || typeDefinition.states?.[state]?.color);
285
- const fillColor = stateColor || baseColor;
286
- // Get stroke color - priority: node data stroke > type definition stroke > fill color
306
+ // Fill color priority: state color > span color > node data color > type definition color > default
307
+ // spanColor is the new primary source for fill (from .spans.canvas)
308
+ const baseFillColor = spanColor || nodeDataColor || typeDefinition.color || '#888';
309
+ const fillColor = stateColor || baseFillColor;
310
+ // Stroke/border color priority: explicit stroke > scope color > fill color
311
+ // scopeColor is now the primary source for border (from library.yaml owned-scopes)
287
312
  const nodeDataStroke = nodeData.stroke;
288
- const baseStrokeColor = nodeDataStroke || typeDefinition.stroke || fillColor;
313
+ const baseStrokeColor = nodeDataStroke || scopeColor || fillColor;
289
314
  // Apply status-based border styling
290
315
  const status = nodeData?.status;
291
316
  const strokeColor = baseStrokeColor;
@@ -547,7 +572,7 @@ export const CustomNode = ({ data, selected, dragging }) => {
547
572
  ? `0 0 0 2px ${strokeColor}`
548
573
  : 'none',
549
574
  transition: 'box-shadow 0.2s ease',
550
- }, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [renderStatusBadge(), isBoundaryNode ? renderBoundaryBadge() : (_jsxs(_Fragment, { children: [renderSourcesBadge(), renderReferencesBadge()] })), _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: {
575
+ }, onMouseDown: handleMouseDown, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [renderStatusBadge(), isBoundaryNode ? renderBoundaryBadge() : (_jsxs(_Fragment, { children: [renderSourcesBadge(), renderReferencesBadge()] })), _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: {
551
576
  fontSize: theme.fontSizes[0],
552
577
  fontFamily: theme.fonts.body,
553
578
  backgroundColor: color,
@@ -570,7 +595,7 @@ export const CustomNode = ({ data, selected, dragging }) => {
570
595
  ? `0 0 0 2px ${strokeColor}`
571
596
  : 'none',
572
597
  transition: 'box-shadow 0.2s ease',
573
- }, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [renderStatusBadge(), isBoundaryNode ? renderBoundaryBadge() : (_jsxs(_Fragment, { children: [renderSourcesBadge(), renderReferencesBadge()] })), _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: {
598
+ }, onMouseDown: handleMouseDown, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [renderStatusBadge(), isBoundaryNode ? renderBoundaryBadge() : (_jsxs(_Fragment, { children: [renderSourcesBadge(), renderReferencesBadge()] })), _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: {
574
599
  fontSize: theme.fontSizes[0],
575
600
  fontFamily: theme.fonts.body,
576
601
  backgroundColor: color,
@@ -583,7 +608,7 @@ export const CustomNode = ({ data, selected, dragging }) => {
583
608
  fontFamily: theme.fonts.body,
584
609
  color: '#D0021B',
585
610
  fontWeight: theme.fontWeights.bold,
586
- }, children: "\u26A0\uFE0F" }))] }) }), tooltipsEnabled && (_jsx(NodeTooltip, { description: description, otel: otelInfo, sources: sources, references: references, visible: showTooltip, nodeRef: nodeRef }))] })) : (_jsxs("div", { ref: nodeRef, style: { position: 'relative', width: '100%', height: '100%' }, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [renderStatusBadge(), isBoundaryNode ? renderBoundaryBadge() : (_jsxs(_Fragment, { children: [renderSourcesBadge(), renderReferencesBadge()] })), _jsx("div", { style: getShapeStyles(), className: animationClass, children: _jsxs("div", { style: {
611
+ }, children: "\u26A0\uFE0F" }))] }) }), tooltipsEnabled && (_jsx(NodeTooltip, { description: description, otel: otelInfo, sources: sources, references: references, visible: showTooltip, nodeRef: nodeRef }))] })) : (_jsxs("div", { ref: nodeRef, style: { position: 'relative', width: '100%', height: '100%' }, onMouseDown: handleMouseDown, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [renderStatusBadge(), isBoundaryNode ? renderBoundaryBadge() : (_jsxs(_Fragment, { children: [renderSourcesBadge(), renderReferencesBadge()] })), _jsx("div", { style: getShapeStyles(), className: animationClass, children: _jsxs("div", { style: {
587
612
  ...(isGroup ? { width: '100%' } : {}),
588
613
  }, children: [isGroup ? (_jsxs("div", { style: {
589
614
  display: 'flex',
@@ -1 +1 @@
1
- {"version":3,"file":"CustomNode.js","sourceRoot":"","sources":["../../src/nodes/CustomNode.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CustomNode.js","sourceRoot":"","sources":["../../src/nodes/CustomNode.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@principal-ai/principal-view-react",
3
- "version": "0.13.25",
3
+ "version": "0.13.27",
4
4
  "description": "React components for graph-based principal view framework",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -31,13 +31,13 @@
31
31
  },
32
32
  "peerDependencies": {
33
33
  "@principal-ade/industry-theme": "^0.1.7",
34
- "@principal-ai/principal-view-core": "^0.24.70",
34
+ "@principal-ai/principal-view-core": "^0.24.79",
35
35
  "react": "^18.0.0 || ^19.0.0",
36
36
  "react-dom": "^18.0.0 || ^19.0.0"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@principal-ade/industry-theme": "0.1.7",
40
- "@principal-ai/principal-view-core": "0.24.70",
40
+ "@principal-ai/principal-view-core": "0.24.79",
41
41
  "@storybook/addon-docs": "10.1.2",
42
42
  "@storybook/addon-links": "10.1.2",
43
43
  "@storybook/addon-onboarding": "10.1.2",
@@ -45,7 +45,10 @@ import type {
45
45
  import {
46
46
  CanvasConverter,
47
47
  buildScopeColorMap,
48
+ buildSpanColorMap,
49
+ resolveEventSpanColor,
48
50
  DRAFT_NODE_COLOR,
51
+ DEFAULT_SPAN_COLOR,
49
52
  } from '@principal-ai/principal-view-core';
50
53
  import { useTheme } from '@principal-ade/industry-theme';
51
54
  import { CustomNode } from '../nodes/CustomNode';
@@ -268,6 +271,20 @@ export interface GraphRendererProps extends GraphRendererBaseProps {
268
271
  * This allows sharing type definitions across multiple canvas files via a library.yaml file.
269
272
  */
270
273
  library?: ComponentLibrary;
274
+
275
+ /**
276
+ * Optional spans canvas containing span convention definitions.
277
+ * Span colors from this canvas are used as fill colors for event nodes.
278
+ * When provided with workflowSpanPattern, events will be colored based on their span.
279
+ */
280
+ spansCanvas?: ExtendedCanvas;
281
+
282
+ /**
283
+ * Optional span pattern for the current workflow context.
284
+ * When provided, event nodes will use the span color from spansCanvas as their fill.
285
+ * This should match a spanPattern from a workflow.json file.
286
+ */
287
+ workflowSpanPattern?: string;
271
288
  }
272
289
 
273
290
  // Define custom node types
@@ -774,12 +791,89 @@ const GraphRendererInner: React.FC<GraphRendererInnerProps> = ({
774
791
  [editable, updateEditState, pushHistory]
775
792
  );
776
793
 
794
+ // Handle toggling node hidden state (Cmd/Ctrl+click)
795
+ // This is exposed via context so CustomNode can call it on mousedown
796
+ // (mousedown works in edit mode where click is intercepted by drag handling)
797
+ const handleToggleNodeHidden = useCallback(
798
+ (nodeId: string) => {
799
+ hidingNodeRef.current = true;
800
+
801
+ setHiddenNodeIds((prev) => {
802
+ const next = new Set(prev);
803
+ if (next.has(nodeId)) {
804
+ next.delete(nodeId);
805
+ } else {
806
+ next.add(nodeId);
807
+ }
808
+ return next;
809
+ });
810
+
811
+ // Reset the flag after state update completes
812
+ setTimeout(() => {
813
+ hidingNodeRef.current = false;
814
+ }, 0);
815
+ },
816
+ []
817
+ );
818
+
819
+ // Handle hiding all nodes not directly connected to the given node (Cmd/Ctrl+Shift+click)
820
+ // If all unconnected nodes are already hidden, this will unhide them (toggle behavior)
821
+ const handleHideUnconnectedNodes = useCallback(
822
+ (nodeId: string) => {
823
+ hidingNodeRef.current = true;
824
+
825
+ // Find all nodes directly connected to this node
826
+ const connectedNodeIds = new Set<string>([nodeId]);
827
+ for (const edge of localEdges) {
828
+ if (edge.from === nodeId) {
829
+ connectedNodeIds.add(edge.to);
830
+ } else if (edge.to === nodeId) {
831
+ connectedNodeIds.add(edge.from);
832
+ }
833
+ }
834
+
835
+ // Get all unconnected node IDs
836
+ const unconnectedNodeIds = localNodes
837
+ .map((n) => n.id)
838
+ .filter((id) => !connectedNodeIds.has(id));
839
+
840
+ setHiddenNodeIds((prev) => {
841
+ // Check if all unconnected nodes are already hidden
842
+ const allUnconnectedHidden = unconnectedNodeIds.every((id) => prev.has(id));
843
+
844
+ if (allUnconnectedHidden) {
845
+ // Toggle off - unhide all unconnected nodes
846
+ const next = new Set(prev);
847
+ for (const id of unconnectedNodeIds) {
848
+ next.delete(id);
849
+ }
850
+ return next;
851
+ } else {
852
+ // Hide all unconnected nodes
853
+ const next = new Set(prev);
854
+ for (const id of unconnectedNodeIds) {
855
+ next.add(id);
856
+ }
857
+ return next;
858
+ }
859
+ });
860
+
861
+ // Reset the flag after state update completes
862
+ setTimeout(() => {
863
+ hidingNodeRef.current = false;
864
+ }, 0);
865
+ },
866
+ [localEdges, localNodes]
867
+ );
868
+
777
869
  // Memoize the context value to prevent unnecessary re-renders
778
870
  const graphEditContextValue = useMemo(
779
871
  () => ({
780
872
  onNodeResizeEnd: handleNodeResizeEnd,
873
+ onToggleNodeHidden: handleToggleNodeHidden,
874
+ onHideUnconnectedNodes: handleHideUnconnectedNodes,
781
875
  }),
782
- [handleNodeResizeEnd]
876
+ [handleNodeResizeEnd, handleToggleNodeHidden, handleHideUnconnectedNodes]
783
877
  );
784
878
 
785
879
  // ============================================
@@ -885,27 +979,18 @@ const GraphRendererInner: React.FC<GraphRendererInnerProps> = ({
885
979
  const onNodeClick = useCallback(
886
980
  (event: React.MouseEvent, node: Node) => {
887
981
  // Cmd+click (Mac) or Ctrl+click (Windows/Linux): toggle node visibility (hide edges and dim node)
982
+ // Cmd+Shift+click: hide all nodes not directly connected to this node
888
983
  if (event.metaKey || event.ctrlKey) {
889
984
  event.preventDefault();
890
985
  event.stopPropagation();
891
986
 
892
- // Mark that we're hiding a node to prevent ReactFlow's selection change
893
- hidingNodeRef.current = true;
894
-
895
- setHiddenNodeIds((prev) => {
896
- const next = new Set(prev);
897
- if (next.has(node.id)) {
898
- next.delete(node.id);
899
- } else {
900
- next.add(node.id);
901
- }
902
- return next;
903
- });
904
-
905
- // Reset the flag after state update completes
906
- setTimeout(() => {
907
- hidingNodeRef.current = false;
908
- }, 0);
987
+ if (event.shiftKey) {
988
+ // Cmd/Ctrl+Shift+click: hide unconnected nodes
989
+ handleHideUnconnectedNodes(node.id);
990
+ } else {
991
+ // Cmd/Ctrl+click: toggle single node
992
+ handleToggleNodeHidden(node.id);
993
+ }
909
994
 
910
995
  return;
911
996
  }
@@ -975,7 +1060,7 @@ const GraphRendererInner: React.FC<GraphRendererInnerProps> = ({
975
1060
  onNodeClickProp(node.id, event);
976
1061
  }
977
1062
  },
978
- [selectedNodeIds, onNodeClickProp, editable]
1063
+ [selectedNodeIds, onNodeClickProp, editable, handleToggleNodeHidden, handleHideUnconnectedNodes]
979
1064
  );
980
1065
 
981
1066
 
@@ -1555,6 +1640,22 @@ const GraphRendererInner: React.FC<GraphRendererInnerProps> = ({
1555
1640
  );
1556
1641
  }, [editable, selectedNodeIds]);
1557
1642
 
1643
+ // Sync hidden state to local nodes when hiddenNodeIds changes (edit mode only)
1644
+ // This ensures isHidden is in sync when we switch back to xyflowNodesBase on exit
1645
+ const prevHiddenNodeIdsRef = useRef(hiddenNodeIds);
1646
+ useEffect(() => {
1647
+ if (!editable) return;
1648
+ if (prevHiddenNodeIdsRef.current === hiddenNodeIds) return;
1649
+ prevHiddenNodeIdsRef.current = hiddenNodeIds;
1650
+
1651
+ setXyflowLocalNodes((nodes) =>
1652
+ nodes.map((n) => ({
1653
+ ...n,
1654
+ data: { ...n.data, isHidden: hiddenNodeIds.has(n.id) },
1655
+ }))
1656
+ );
1657
+ }, [editable, hiddenNodeIds]);
1658
+
1558
1659
  // Also sync when entering edit mode or when base nodes change content
1559
1660
  const prevEditableRef = useRef(editable);
1560
1661
  useEffect(() => {
@@ -2286,10 +2387,16 @@ const GraphRendererInner: React.FC<GraphRendererInnerProps> = ({
2286
2387
 
2287
2388
  /**
2288
2389
  * Convert canvas to legacy configuration format for internal use
2390
+ *
2391
+ * Color Contract:
2392
+ * - scopeColor: Used as border color (from library.yaml owned-scopes)
2393
+ * - spanColor: Used as fill color (from .spans.canvas based on workflow context)
2289
2394
  */
2290
2395
  function useCanvasToLegacy(
2291
2396
  canvas: ExtendedCanvas | undefined,
2292
- library?: ComponentLibrary
2397
+ library?: ComponentLibrary,
2398
+ spansCanvas?: ExtendedCanvas,
2399
+ workflowSpanPattern?: string
2293
2400
  ): {
2294
2401
  configuration: GraphConfiguration;
2295
2402
  nodes: NodeState[];
@@ -2300,29 +2407,38 @@ function useCanvasToLegacy(
2300
2407
 
2301
2408
  const { nodes, edges } = CanvasConverter.canvasToGraph(canvas);
2302
2409
 
2303
- // Build scope color map from library resources
2410
+ // Build scope color map from library resources (for border colors)
2304
2411
  const scopeColorMap = buildScopeColorMap(library?.resources);
2305
2412
 
2306
- // Inject scope colors into nodes
2307
- // Priority: scope color overrides other colors (except explicit node colors set by user)
2413
+ // Build span color map from spans canvas (for fill colors)
2414
+ const spanColorMap = buildSpanColorMap(spansCanvas);
2415
+
2416
+ // Resolve span color for current workflow context
2417
+ const spanColor = resolveEventSpanColor(workflowSpanPattern, spanColorMap);
2418
+
2419
+ // Inject scope and span colors into nodes
2420
+ // - scopeColor: border color (from pv.otel.scope → library.yaml)
2421
+ // - spanColor: fill color (from workflow spanPattern → spans.canvas)
2308
2422
  for (const node of nodes) {
2309
2423
  const otel = node.data?.otel as { scope?: string } | undefined;
2310
2424
  const scope = otel?.scope;
2311
- const status = node.data?.status as string | undefined;
2312
2425
 
2426
+ // Determine scope color (for border)
2427
+ let nodeScopeColor: string;
2313
2428
  if (scope && scopeColorMap[scope]) {
2314
2429
  // Node has a scope with a defined color - use it
2315
- node.data = {
2316
- ...node.data,
2317
- scopeColor: scopeColorMap[scope],
2318
- };
2319
- } else if (status === 'draft' || !scope) {
2430
+ nodeScopeColor = scopeColorMap[scope];
2431
+ } else {
2320
2432
  // Draft nodes or nodes without scope get the draft color
2321
- node.data = {
2322
- ...node.data,
2323
- scopeColor: DRAFT_NODE_COLOR,
2324
- };
2433
+ nodeScopeColor = DRAFT_NODE_COLOR;
2325
2434
  }
2435
+
2436
+ // Inject both scope and span colors
2437
+ node.data = {
2438
+ ...node.data,
2439
+ scopeColor: nodeScopeColor,
2440
+ spanColor: workflowSpanPattern ? spanColor : DEFAULT_SPAN_COLOR,
2441
+ };
2326
2442
  }
2327
2443
 
2328
2444
  // Build GraphConfiguration from canvas
@@ -2466,7 +2582,7 @@ function useCanvasToLegacy(
2466
2582
  };
2467
2583
 
2468
2584
  return { configuration, nodes, edges };
2469
- }, [canvas, library]);
2585
+ }, [canvas, library, spansCanvas, workflowSpanPattern]);
2470
2586
  }
2471
2587
 
2472
2588
  /**
@@ -2491,7 +2607,15 @@ function useCanvasToLegacy(
2491
2607
  * ```
2492
2608
  */
2493
2609
  export const GraphRenderer = forwardRef<GraphRendererHandle, GraphRendererProps>((props, ref) => {
2494
- const { canvas, library, className, width = '100%', height = '100%' } = props;
2610
+ const {
2611
+ canvas,
2612
+ library,
2613
+ spansCanvas,
2614
+ workflowSpanPattern,
2615
+ className,
2616
+ width = '100%',
2617
+ height = '100%',
2618
+ } = props;
2495
2619
  const { theme } = useTheme();
2496
2620
  const containerRef = useRef<HTMLDivElement>(null);
2497
2621
  const [portalTarget, setPortalTarget] = useState<HTMLElement | null>(null);
@@ -2502,7 +2626,8 @@ export const GraphRenderer = forwardRef<GraphRendererHandle, GraphRendererProps>
2502
2626
  }, []);
2503
2627
 
2504
2628
  // Convert canvas to internal format (merging library types if provided)
2505
- const canvasData = useCanvasToLegacy(canvas, library);
2629
+ // Also inject scope colors (for border) and span colors (for fill)
2630
+ const canvasData = useCanvasToLegacy(canvas, library, spansCanvas, workflowSpanPattern);
2506
2631
 
2507
2632
  // Debug: Log canvas data to help diagnose disappearing edges
2508
2633
  if (process.env.NODE_ENV === 'development') {
@@ -3,6 +3,10 @@ import React, { createContext, useContext } from 'react';
3
3
  export interface GraphEditContextValue {
4
4
  /** Called when a node resize operation completes */
5
5
  onNodeResizeEnd?: (nodeId: string, dimensions: { width: number; height: number }) => void;
6
+ /** Called to toggle node hidden state (Cmd/Ctrl+click) */
7
+ onToggleNodeHidden?: (nodeId: string) => void;
8
+ /** Called to hide all nodes not directly connected to the given node (Cmd/Ctrl+Shift+click) */
9
+ onHideUnconnectedNodes?: (nodeId: string) => void;
6
10
  }
7
11
 
8
12
  const GraphEditContext = createContext<GraphEditContextValue>({});
@@ -64,7 +64,7 @@ export interface CustomNodeData extends Record<string, unknown> {
64
64
  */
65
65
  export const CustomNode: React.FC<NodeProps<Node<CustomNodeData>>> = ({ data, selected, dragging }) => {
66
66
  const { theme } = useTheme();
67
- const { onNodeResizeEnd } = useGraphEdit();
67
+ const { onNodeResizeEnd, onToggleNodeHidden, onHideUnconnectedNodes } = useGraphEdit();
68
68
  const nodeId = useNodeId();
69
69
  const [isHovered, setIsHovered] = useState(false);
70
70
  const nodeRef = useRef<HTMLDivElement>(null);
@@ -102,6 +102,29 @@ export const CustomNode: React.FC<NodeProps<Node<CustomNodeData>>> = ({ data, se
102
102
  [nodeId, onNodeResizeEnd]
103
103
  );
104
104
 
105
+ // Handle Cmd/Ctrl+mousedown to toggle hidden state
106
+ // We use mousedown instead of click because in edit mode with draggable nodes,
107
+ // ReactFlow's drag system intercepts Cmd+click before it becomes a click event
108
+ // - Cmd/Ctrl+Shift+click: hide all nodes not directly connected to this node
109
+ // - Cmd/Ctrl+click: toggle this single node's hidden state
110
+ const handleMouseDown = useCallback(
111
+ (event: React.MouseEvent) => {
112
+ if ((event.metaKey || event.ctrlKey) && nodeId) {
113
+ event.preventDefault();
114
+ event.stopPropagation();
115
+
116
+ if (event.shiftKey && onHideUnconnectedNodes) {
117
+ // Cmd/Ctrl+Shift+click: hide unconnected nodes
118
+ onHideUnconnectedNodes(nodeId);
119
+ } else if (onToggleNodeHidden) {
120
+ // Cmd/Ctrl+click: toggle single node
121
+ onToggleNodeHidden(nodeId);
122
+ }
123
+ }
124
+ },
125
+ [nodeId, onToggleNodeHidden, onHideUnconnectedNodes]
126
+ );
127
+
105
128
  // Show tooltip when:
106
129
  // 1. Hovering + not dragging + shift key pressed (always works), OR
107
130
  // 2. Node is selected AND not in edit mode (read-only selection shows tooltip)
@@ -379,23 +402,32 @@ export const CustomNode: React.FC<NodeProps<Node<CustomNodeData>>> = ({ data, se
379
402
  );
380
403
  }
381
404
 
382
- // Get fill color based on state or default
383
- // Priority: state color > scope color > node data color > type definition color > default
384
- // Scope colors come from library.yaml owned-scopes and are injected by GraphRenderer
405
+ // Color Contract:
406
+ // - scopeColor: Used as BORDER color (from library.yaml owned-scopes)
407
+ // - spanColor: Used as FILL color (from .spans.canvas based on workflow context)
408
+ // - For non-event canvases, falls back to legacy behavior (node color or type color)
409
+
410
+ // Get colors from node data (injected by GraphRenderer)
385
411
  const nodeDataColor = nodeData.color as string | undefined;
386
412
  const scopeColor = nodeData.scopeColor as string | undefined;
387
- const baseColor = scopeColor || nodeDataColor || typeDefinition.color || '#888';
413
+ const spanColor = nodeData.spanColor as string | undefined;
414
+
388
415
  // Check node's own states first (from pv.states), then fall back to type definition states
389
416
  const nodeDataStates = nodeData.states as
390
417
  | Record<string, { color?: string; label?: string; icon?: string }>
391
418
  | undefined;
392
419
  const stateColor =
393
420
  state && (nodeDataStates?.[state]?.color || typeDefinition.states?.[state]?.color);
394
- const fillColor = stateColor || baseColor;
395
421
 
396
- // Get stroke color - priority: node data stroke > type definition stroke > fill color
422
+ // Fill color priority: state color > span color > node data color > type definition color > default
423
+ // spanColor is the new primary source for fill (from .spans.canvas)
424
+ const baseFillColor = spanColor || nodeDataColor || typeDefinition.color || '#888';
425
+ const fillColor = stateColor || baseFillColor;
426
+
427
+ // Stroke/border color priority: explicit stroke > scope color > fill color
428
+ // scopeColor is now the primary source for border (from library.yaml owned-scopes)
397
429
  const nodeDataStroke = nodeData.stroke as string | undefined;
398
- const baseStrokeColor = nodeDataStroke || typeDefinition.stroke || fillColor;
430
+ const baseStrokeColor = nodeDataStroke || scopeColor || fillColor;
399
431
 
400
432
  // Apply status-based border styling
401
433
  const status = nodeData?.status as 'draft' | 'approved' | 'implemented' | undefined;
@@ -736,6 +768,7 @@ export const CustomNode: React.FC<NodeProps<Node<CustomNodeData>>> = ({ data, se
736
768
  : 'none',
737
769
  transition: 'box-shadow 0.2s ease',
738
770
  }}
771
+ onMouseDown={handleMouseDown}
739
772
  onMouseEnter={() => setIsHovered(true)}
740
773
  onMouseLeave={() => setIsHovered(false)}
741
774
  >
@@ -808,6 +841,7 @@ export const CustomNode: React.FC<NodeProps<Node<CustomNodeData>>> = ({ data, se
808
841
  : 'none',
809
842
  transition: 'box-shadow 0.2s ease',
810
843
  }}
844
+ onMouseDown={handleMouseDown}
811
845
  onMouseEnter={() => setIsHovered(true)}
812
846
  onMouseLeave={() => setIsHovered(false)}
813
847
  >
@@ -870,6 +904,7 @@ export const CustomNode: React.FC<NodeProps<Node<CustomNodeData>>> = ({ data, se
870
904
  <div
871
905
  ref={nodeRef}
872
906
  style={{ position: 'relative', width: '100%', height: '100%' }}
907
+ onMouseDown={handleMouseDown}
873
908
  onMouseEnter={() => setIsHovered(true)}
874
909
  onMouseLeave={() => setIsHovered(false)}
875
910
  >
@@ -404,7 +404,7 @@ function MultiConfigDemo() {
404
404
  ))}
405
405
  </select>
406
406
  <span style={{ color: '#666', fontSize: '12px' }}>
407
- v{selectedConfig.canvas.vv?.version} - {selectedConfig.canvas.vv?.description}
407
+ v{selectedConfig.canvas.pv?.version} - {selectedConfig.canvas.pv?.description}
408
408
  </span>
409
409
  </div>
410
410
  </div>