@principal-ai/principal-view-react 0.6.26 → 0.7.0

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.
@@ -68,12 +68,6 @@ interface GraphRendererBaseProps {
68
68
  * Defaults to true.
69
69
  */
70
70
  showTooltips?: boolean;
71
- /**
72
- * Whether to automatically update edge sides (fromSide/toSide) when nodes are moved.
73
- * Only updates edges where there is no cycle between the connected nodes.
74
- * Uses position-based logic to determine optimal connection sides.
75
- */
76
- autoUpdateEdgeSides?: boolean;
77
71
  /** Optional configuration name for identification (used with multi-config setups) */
78
72
  configName?: string;
79
73
  /** Optional class name */
@@ -1 +1 @@
1
- {"version":3,"file":"GraphRenderer.d.ts","sourceRoot":"","sources":["../../src/components/GraphRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AAcf,OAAO,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAIV,SAAS,EACT,UAAU,EACV,cAAc,EACd,gBAAgB,EACjB,MAAM,mCAAmC,CAAC;AAkB3C,wDAAwD;AACxD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACpC;AAED,wDAAwD;AACxD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AAED,4CAA4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,eAAe,EAAE,kBAAkB,EAAE,CAAC;IACtC,6CAA6C;IAC7C,gBAAgB,EAAE,mBAAmB,EAAE,CAAC;IACxC,wCAAwC;IACxC,WAAW,EAAE,KAAK,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;KAC5D,CAAC,CAAC;IACH,uBAAuB;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,0EAA0E;IAC1E,YAAY,EAAE,KAAK,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;IACH,mEAAmE;IACnE,YAAY,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,oCAAoC;IACpC,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wCAAwC;AACxC,MAAM,WAAW,mBAAmB;IAClC,8BAA8B;IAC9B,iBAAiB,EAAE,MAAM,cAAc,CAAC;IACxC,8CAA8C;IAC9C,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,yCAAyC;IACzC,iBAAiB,EAAE,MAAM,OAAO,CAAC;CAClC;AAED,4CAA4C;AAC5C,UAAU,sBAAsB;IAC9B,uCAAuC;IACvC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IAEzB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB,8BAA8B;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,iCAAiC;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,sDAAsD;IACtD,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IAEtB,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAE/C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvD;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1D;AAED,+CAA+C;AAC/C,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IAChE,+BAA+B;IAC/B,MAAM,EAAE,cAAc,CAAC;IAEvB;;;;OAIG;IACH,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAu0CD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,aAAa,gGA8IxB,CAAC"}
1
+ {"version":3,"file":"GraphRenderer.d.ts","sourceRoot":"","sources":["../../src/components/GraphRenderer.tsx"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ const createEmptyEditState = () => ({
32
32
  /**
33
33
  * Inner component that uses ReactFlow hooks
34
34
  */
35
- const GraphRendererInner = ({ configuration, nodes: propNodes, edges: propEdges, violations = [], configName: _configName, showMinimap = true, showControls = true, showBackground = true, showTooltips = true, events = [], onEventProcessed, editable = false, autoUpdateEdgeSides = false, onPendingChangesChange, onEditStateChange, editStateRef, onSourceClick, }) => {
35
+ const GraphRendererInner = ({ configuration, nodes: propNodes, edges: propEdges, violations = [], configName: _configName, showMinimap = true, showControls = true, showBackground = true, showTooltips = true, events = [], onEventProcessed, editable = false, onPendingChangesChange, onEditStateChange, editStateRef, onSourceClick, }) => {
36
36
  const { fitView } = (0, react_2.useReactFlow)();
37
37
  const { theme } = (0, industry_theme_1.useTheme)();
38
38
  // Track active animations
@@ -588,9 +588,7 @@ const GraphRendererInner = ({ configuration, nodes: propNodes, edges: propEdges,
588
588
  // ============================================
589
589
  const xyflowNodesBase = (0, react_1.useMemo)(() => {
590
590
  const converted = (0, graphConverter_1.convertToXYFlowNodes)(nodes, configuration, violations);
591
- const layoutType = configuration.display?.layout || 'hierarchical';
592
- const positioned = (0, graphConverter_1.autoLayoutNodes)(converted, [], layoutType);
593
- return positioned.map((node) => {
591
+ return converted.map((node) => {
594
592
  const animation = animationState.nodeAnimations[node.id];
595
593
  // Apply any pending position changes
596
594
  const pendingPosition = editStateRef.current.positionChanges.get(node.id);
@@ -685,53 +683,8 @@ const GraphRendererInner = ({ configuration, nodes: propNodes, edges: propEdges,
685
683
  }
686
684
  return { ...prev, positionChanges: newPositions };
687
685
  });
688
- // Auto-update edge sides if enabled
689
- if (autoUpdateEdgeSides) {
690
- setXyflowLocalNodes((currentNodes) => {
691
- // Build a position map from current xyflow nodes
692
- const nodePositions = new Map();
693
- for (const node of currentNodes) {
694
- nodePositions.set(node.id, node.position);
695
- }
696
- // Get moved node IDs
697
- const movedNodeIds = new Set(positionChanges.map((c) => c.id));
698
- // Update edges connected to moved nodes
699
- setLocalEdges((currentEdges) => {
700
- return currentEdges.map((edge) => {
701
- // Only process edges connected to moved nodes
702
- if (!movedNodeIds.has(edge.from) && !movedNodeIds.has(edge.to)) {
703
- return edge;
704
- }
705
- // Check for cycles - skip if there's a cycle between these nodes
706
- const edgesWithoutCurrent = currentEdges.filter((e) => e.id !== edge.id);
707
- if ((0, graphConverter_1.hasCycleBetweenNodes)(edge.from, edge.to, edgesWithoutCurrent)) {
708
- return edge; // Don't auto-update edges that are part of a cycle
709
- }
710
- // Get positions of both nodes
711
- const fromPos = nodePositions.get(edge.from);
712
- const toPos = nodePositions.get(edge.to);
713
- if (!fromPos || !toPos) {
714
- return edge;
715
- }
716
- // Compute optimal sides
717
- const { fromSide, toSide } = (0, graphConverter_1.computeOptimalEdgeSides)(fromPos, toPos);
718
- // Update edge data with new sides
719
- return {
720
- ...edge,
721
- data: {
722
- ...edge.data,
723
- fromSide,
724
- toSide,
725
- },
726
- updatedAt: Date.now(),
727
- };
728
- });
729
- });
730
- return currentNodes;
731
- });
732
- }
733
686
  }
734
- }, [editable, autoUpdateEdgeSides, updateEditState]);
687
+ }, [editable, updateEditState]);
735
688
  const xyflowEdges = (0, react_1.useMemo)(() => {
736
689
  const converted = (0, graphConverter_1.convertToXYFlowEdges)(edges, configuration, violations);
737
690
  // Debug: Log edge counts to help diagnose disappearing edges
@@ -1058,8 +1011,8 @@ exports.GraphRenderer = (0, react_1.forwardRef)((props, ref) => {
1058
1011
  }
1059
1012
  const { configuration, nodes, edges } = canvasData;
1060
1013
  // Extract only the props that inner component needs
1061
- const { violations, configName, showMinimap, showControls, showBackground, showTooltips, events, onEventProcessed, editable, autoUpdateEdgeSides, onPendingChangesChange, onSourceClick, } = props;
1062
- return ((0, jsx_runtime_1.jsx)("div", { className: className, style: { width, height, position: 'relative' }, children: (0, jsx_runtime_1.jsx)(react_2.ReactFlowProvider, { children: (0, jsx_runtime_1.jsx)(GraphRendererInner, { configuration: configuration, nodes: nodes, edges: edges, violations: violations, configName: configName, showMinimap: showMinimap, showControls: showControls, showBackground: showBackground, showTooltips: showTooltips, events: events, onEventProcessed: onEventProcessed, editable: editable, autoUpdateEdgeSides: autoUpdateEdgeSides, onPendingChangesChange: onPendingChangesChange, editStateRef: editStateRef, onSourceClick: onSourceClick }) }) }));
1014
+ const { violations, configName, showMinimap, showControls, showBackground, showTooltips, events, onEventProcessed, editable, onPendingChangesChange, onSourceClick, } = props;
1015
+ return ((0, jsx_runtime_1.jsx)("div", { className: className, style: { width, height, position: 'relative' }, children: (0, jsx_runtime_1.jsx)(react_2.ReactFlowProvider, { children: (0, jsx_runtime_1.jsx)(GraphRendererInner, { configuration: configuration, nodes: nodes, edges: edges, violations: violations, configName: configName, showMinimap: showMinimap, showControls: showControls, showBackground: showBackground, showTooltips: showTooltips, events: events, onEventProcessed: onEventProcessed, editable: editable, onPendingChangesChange: onPendingChangesChange, editStateRef: editStateRef, onSourceClick: onSourceClick }) }) }));
1063
1016
  });
1064
1017
  exports.GraphRenderer.displayName = 'GraphRenderer';
1065
1018
  //# sourceMappingURL=GraphRenderer.js.map
@@ -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/dist/index.d.ts CHANGED
@@ -28,8 +28,8 @@ export { CustomEdge } from './edges/CustomEdge';
28
28
  export type { CustomEdgeData } from './edges/CustomEdge';
29
29
  export { NodeTooltip } from './components/NodeTooltip';
30
30
  export type { NodeTooltipProps, OtelInfo } from './components/NodeTooltip';
31
- export { convertToXYFlowNodes, convertToXYFlowEdges, autoLayoutNodes, hasCycleBetweenNodes, computeOptimalEdgeSides, } from './utils/graphConverter';
32
- export type { EdgeStateWithHandles, CanvasSide } from './utils/graphConverter';
31
+ export { convertToXYFlowNodes, convertToXYFlowEdges, } from './utils/graphConverter';
32
+ export type { EdgeStateWithHandles } from './utils/graphConverter';
33
33
  export { Icon, resolveIcon } from './utils/iconResolver';
34
34
  export type { IconProps } from './utils/iconResolver';
35
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EACV,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,SAAS,EACT,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,uBAAuB,EAEvB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,GACf,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,YAAY,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAE3E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,YAAY,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAGrF,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAG3E,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACzD,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EACV,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,SAAS,EACT,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,uBAAuB,EAEvB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,GACf,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,YAAY,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAE3E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,YAAY,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAGrF,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAG3E,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACzD,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@
7
7
  * The actual "panel" application should be built separately using these components.
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.resolveIcon = exports.Icon = exports.computeOptimalEdgeSides = exports.hasCycleBetweenNodes = exports.autoLayoutNodes = exports.convertToXYFlowEdges = exports.convertToXYFlowNodes = exports.NodeTooltip = exports.CustomEdge = exports.GenericEdge = exports.CustomNode = exports.GenericNode = exports.ConfigurationSelector = exports.NodeInfoPanel = exports.EdgeInfoPanel = exports.MetricsDashboard = exports.EventLog = exports.GraphRenderer = void 0;
10
+ exports.resolveIcon = exports.Icon = exports.convertToXYFlowEdges = exports.convertToXYFlowNodes = exports.NodeTooltip = exports.CustomEdge = exports.GenericEdge = exports.CustomNode = exports.GenericNode = exports.ConfigurationSelector = exports.NodeInfoPanel = exports.EdgeInfoPanel = exports.MetricsDashboard = exports.EventLog = exports.GraphRenderer = void 0;
11
11
  // Export components
12
12
  var GraphRenderer_1 = require("./components/GraphRenderer");
13
13
  Object.defineProperty(exports, "GraphRenderer", { enumerable: true, get: function () { return GraphRenderer_1.GraphRenderer; } });
@@ -37,9 +37,6 @@ Object.defineProperty(exports, "NodeTooltip", { enumerable: true, get: function
37
37
  var graphConverter_1 = require("./utils/graphConverter");
38
38
  Object.defineProperty(exports, "convertToXYFlowNodes", { enumerable: true, get: function () { return graphConverter_1.convertToXYFlowNodes; } });
39
39
  Object.defineProperty(exports, "convertToXYFlowEdges", { enumerable: true, get: function () { return graphConverter_1.convertToXYFlowEdges; } });
40
- Object.defineProperty(exports, "autoLayoutNodes", { enumerable: true, get: function () { return graphConverter_1.autoLayoutNodes; } });
41
- Object.defineProperty(exports, "hasCycleBetweenNodes", { enumerable: true, get: function () { return graphConverter_1.hasCycleBetweenNodes; } });
42
- Object.defineProperty(exports, "computeOptimalEdgeSides", { enumerable: true, get: function () { return graphConverter_1.computeOptimalEdgeSides; } });
43
40
  var iconResolver_1 = require("./utils/iconResolver");
44
41
  Object.defineProperty(exports, "Icon", { enumerable: true, get: function () { return iconResolver_1.Icon; } });
45
42
  Object.defineProperty(exports, "resolveIcon", { enumerable: true, get: function () { return iconResolver_1.resolveIcon; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAwBH,oBAAoB;AACpB,4DAA2D;AAAlD,8GAAA,aAAa,OAAA;AAQtB,kDAAiD;AAAxC,oGAAA,QAAQ,OAAA;AAGjB,kEAAiE;AAAxD,oHAAA,gBAAgB,OAAA;AAGzB,4DAA2D;AAAlD,8GAAA,aAAa,OAAA;AAGtB,4DAA2D;AAAlD,8GAAA,aAAa,OAAA;AAGtB,4EAA2E;AAAlE,8HAAA,qBAAqB,OAAA;AAG9B,6BAA6B;AAC7B,mDAAkD;AAAzC,0GAAA,WAAW,OAAA;AAGpB,iDAAgD;AAAvC,wGAAA,UAAU,OAAA;AAGnB,mDAAkD;AAAzC,0GAAA,WAAW,OAAA;AAGpB,iDAAgD;AAAvC,wGAAA,UAAU,OAAA;AAGnB,2BAA2B;AAC3B,wDAAuD;AAA9C,0GAAA,WAAW,OAAA;AAGpB,mBAAmB;AACnB,yDAMgC;AAL9B,sHAAA,oBAAoB,OAAA;AACpB,sHAAA,oBAAoB,OAAA;AACpB,iHAAA,eAAe,OAAA;AACf,sHAAA,oBAAoB,OAAA;AACpB,yHAAA,uBAAuB,OAAA;AAGzB,qDAAyD;AAAhD,oGAAA,IAAI,OAAA;AAAE,2GAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAwBH,oBAAoB;AACpB,4DAA2D;AAAlD,8GAAA,aAAa,OAAA;AAQtB,kDAAiD;AAAxC,oGAAA,QAAQ,OAAA;AAGjB,kEAAiE;AAAxD,oHAAA,gBAAgB,OAAA;AAGzB,4DAA2D;AAAlD,8GAAA,aAAa,OAAA;AAGtB,4DAA2D;AAAlD,8GAAA,aAAa,OAAA;AAGtB,4EAA2E;AAAlE,8HAAA,qBAAqB,OAAA;AAG9B,6BAA6B;AAC7B,mDAAkD;AAAzC,0GAAA,WAAW,OAAA;AAGpB,iDAAgD;AAAvC,wGAAA,UAAU,OAAA;AAGnB,mDAAkD;AAAzC,0GAAA,WAAW,OAAA;AAGpB,iDAAgD;AAAvC,wGAAA,UAAU,OAAA;AAGnB,2BAA2B;AAC3B,wDAAuD;AAA9C,0GAAA,WAAW,OAAA;AAGpB,mBAAmB;AACnB,yDAGgC;AAF9B,sHAAA,oBAAoB,OAAA;AACpB,sHAAA,oBAAoB,OAAA;AAGtB,qDAAyD;AAAhD,oGAAA,IAAI,OAAA;AAAE,2GAAA,WAAW,OAAA"}
@@ -15,31 +15,4 @@ export interface EdgeStateWithHandles extends EdgeState {
15
15
  * Convert our EdgeState to xyflow Edge format
16
16
  */
17
17
  export declare function convertToXYFlowEdges(edges: (EdgeState | EdgeStateWithHandles)[], configuration: GraphConfiguration, violations?: Violation[]): Edge<CustomEdgeData>[];
18
- /**
19
- * Auto-layout nodes if they don't have positions
20
- */
21
- export declare function autoLayoutNodes<T extends Record<string, unknown>>(nodes: Node<T>[], edges: Edge[], layoutType?: 'hierarchical' | 'force-directed' | 'circular' | 'manual'): Node<T>[];
22
- /**
23
- * Check if there is a cycle between two nodes (i.e., a path from target back to source).
24
- * Returns true if adding an edge from `from` to `to` would complete a cycle.
25
- */
26
- export declare function hasCycleBetweenNodes(from: string, to: string, edges: Array<{
27
- from: string;
28
- to: string;
29
- }>): boolean;
30
- export type CanvasSide = 'top' | 'right' | 'bottom' | 'left';
31
- /**
32
- * Compute optimal edge sides based on relative node positions.
33
- * Returns the best fromSide and toSide for connecting two nodes.
34
- */
35
- export declare function computeOptimalEdgeSides(fromPosition: {
36
- x: number;
37
- y: number;
38
- }, toPosition: {
39
- x: number;
40
- y: number;
41
- }): {
42
- fromSide: CanvasSide;
43
- toSide: CanvasSide;
44
- };
45
18
  //# sourceMappingURL=graphConverter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphConverter.d.ts","sourceRoot":"","sources":["../../src/utils/graphConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,SAAS,EACV,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,EAAE,EAClB,aAAa,EAAE,kBAAkB,EACjC,UAAU,GAAE,SAAS,EAAO,GAC3B,IAAI,CAAC,cAAc,CAAC,EAAE,CAgCxB;AAED,yEAAyE;AACzE,MAAM,WAAW,oBAAqB,SAAQ,SAAS;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAmBD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,CAAC,SAAS,GAAG,oBAAoB,CAAC,EAAE,EAC3C,aAAa,EAAE,kBAAkB,EACjC,UAAU,GAAE,SAAS,EAAO,GAC3B,IAAI,CAAC,cAAc,CAAC,EAAE,CAgDxB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAChB,KAAK,EAAE,IAAI,EAAE,EACb,UAAU,GAAE,cAAc,GAAG,gBAAgB,GAAG,UAAU,GAAG,QAAyB,GACrF,IAAI,CAAC,CAAC,CAAC,EAAE,CAmBX;AA2GD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,GACzC,OAAO,CAyBT;AAED,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE7D;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EACtC,UAAU,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,QAAQ,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CA0B9C"}
1
+ {"version":3,"file":"graphConverter.d.ts","sourceRoot":"","sources":["../../src/utils/graphConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,SAAS,EACV,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,EAAE,EAClB,aAAa,EAAE,kBAAkB,EACjC,UAAU,GAAE,SAAS,EAAO,GAC3B,IAAI,CAAC,cAAc,CAAC,EAAE,CAgCxB;AAED,yEAAyE;AACzE,MAAM,WAAW,oBAAqB,SAAQ,SAAS;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAmBD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,CAAC,SAAS,GAAG,oBAAoB,CAAC,EAAE,EAC3C,aAAa,EAAE,kBAAkB,EACjC,UAAU,GAAE,SAAS,EAAO,GAC3B,IAAI,CAAC,cAAc,CAAC,EAAE,CAgDxB"}
@@ -2,9 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.convertToXYFlowNodes = convertToXYFlowNodes;
4
4
  exports.convertToXYFlowEdges = convertToXYFlowEdges;
5
- exports.autoLayoutNodes = autoLayoutNodes;
6
- exports.hasCycleBetweenNodes = hasCycleBetweenNodes;
7
- exports.computeOptimalEdgeSides = computeOptimalEdgeSides;
8
5
  const react_1 = require("@xyflow/react");
9
6
  /**
10
7
  * Convert our NodeState to xyflow Node format
@@ -100,171 +97,4 @@ function convertToXYFlowEdges(edges, configuration, violations = []) {
100
97
  };
101
98
  });
102
99
  }
103
- /**
104
- * Auto-layout nodes if they don't have positions
105
- */
106
- function autoLayoutNodes(nodes, edges, layoutType = 'hierarchical') {
107
- // Skip if all nodes have positions
108
- const hasPositions = nodes.every((n) => n.position.x !== 0 || n.position.y !== 0);
109
- if (hasPositions || layoutType === 'manual') {
110
- return nodes;
111
- }
112
- switch (layoutType) {
113
- case 'hierarchical':
114
- return applyHierarchicalLayout(nodes, edges);
115
- case 'circular':
116
- return applyCircularLayout(nodes);
117
- case 'force-directed':
118
- // For now, use hierarchical as fallback
119
- // TODO: Implement force-directed with elkjs
120
- return applyHierarchicalLayout(nodes, edges);
121
- default:
122
- return nodes;
123
- }
124
- }
125
- /**
126
- * Simple hierarchical layout algorithm
127
- */
128
- function applyHierarchicalLayout(nodes, edges) {
129
- // Build adjacency list
130
- const adjacency = new Map();
131
- const inDegree = new Map();
132
- nodes.forEach((node) => {
133
- adjacency.set(node.id, []);
134
- inDegree.set(node.id, 0);
135
- });
136
- edges.forEach((edge) => {
137
- const targets = adjacency.get(edge.source) || [];
138
- targets.push(edge.target);
139
- adjacency.set(edge.source, targets);
140
- inDegree.set(edge.target, (inDegree.get(edge.target) || 0) + 1);
141
- });
142
- // Topological sort to determine layers
143
- const layers = [];
144
- const queue = [];
145
- // Start with nodes that have no incoming edges
146
- inDegree.forEach((degree, nodeId) => {
147
- if (degree === 0) {
148
- queue.push(nodeId);
149
- }
150
- });
151
- const visited = new Set();
152
- while (queue.length > 0) {
153
- const currentLayer = [];
154
- const layerSize = queue.length;
155
- for (let i = 0; i < layerSize; i++) {
156
- const nodeId = queue.shift();
157
- currentLayer.push(nodeId);
158
- visited.add(nodeId);
159
- const neighbors = adjacency.get(nodeId) || [];
160
- neighbors.forEach((neighbor) => {
161
- const degree = inDegree.get(neighbor) - 1;
162
- inDegree.set(neighbor, degree);
163
- if (degree === 0 && !visited.has(neighbor)) {
164
- queue.push(neighbor);
165
- }
166
- });
167
- }
168
- if (currentLayer.length > 0) {
169
- layers.push(currentLayer);
170
- }
171
- }
172
- // Handle any remaining nodes (cycles or disconnected)
173
- const remainingNodes = nodes.filter((n) => !visited.has(n.id)).map((n) => n.id);
174
- if (remainingNodes.length > 0) {
175
- layers.push(remainingNodes);
176
- }
177
- // Position nodes based on layers
178
- const LAYER_HEIGHT = 150;
179
- const NODE_WIDTH = 200;
180
- return nodes.map((node) => {
181
- const layerIndex = layers.findIndex((layer) => layer.includes(node.id));
182
- const layer = layers[layerIndex] || [];
183
- const positionInLayer = layer.indexOf(node.id);
184
- const layerWidth = layer.length * NODE_WIDTH;
185
- return {
186
- ...node,
187
- position: {
188
- x: positionInLayer * NODE_WIDTH + NODE_WIDTH / 2 - layerWidth / 2,
189
- y: layerIndex * LAYER_HEIGHT,
190
- },
191
- };
192
- });
193
- }
194
- /**
195
- * Simple circular layout algorithm
196
- */
197
- function applyCircularLayout(nodes) {
198
- const radius = Math.max(200, nodes.length * 30);
199
- const angleStep = (2 * Math.PI) / nodes.length;
200
- return nodes.map((node, index) => {
201
- const angle = index * angleStep;
202
- return {
203
- ...node,
204
- position: {
205
- x: radius * Math.cos(angle) + radius,
206
- y: radius * Math.sin(angle) + radius,
207
- },
208
- };
209
- });
210
- }
211
- /**
212
- * Check if there is a cycle between two nodes (i.e., a path from target back to source).
213
- * Returns true if adding an edge from `from` to `to` would complete a cycle.
214
- */
215
- function hasCycleBetweenNodes(from, to, edges) {
216
- // Check if there's already a path from `to` back to `from`
217
- // using BFS/DFS from `to` node
218
- const visited = new Set();
219
- const queue = [to];
220
- while (queue.length > 0) {
221
- const current = queue.shift();
222
- if (current === from) {
223
- return true; // Found a path back, there would be a cycle
224
- }
225
- if (visited.has(current)) {
226
- continue;
227
- }
228
- visited.add(current);
229
- // Find all outgoing edges from current node
230
- for (const edge of edges) {
231
- if (edge.from === current && !visited.has(edge.to)) {
232
- queue.push(edge.to);
233
- }
234
- }
235
- }
236
- return false;
237
- }
238
- /**
239
- * Compute optimal edge sides based on relative node positions.
240
- * Returns the best fromSide and toSide for connecting two nodes.
241
- */
242
- function computeOptimalEdgeSides(fromPosition, toPosition) {
243
- const dx = toPosition.x - fromPosition.x;
244
- const dy = toPosition.y - fromPosition.y;
245
- // Determine primary direction based on which axis has larger delta
246
- const isHorizontalDominant = Math.abs(dx) > Math.abs(dy);
247
- if (isHorizontalDominant) {
248
- // Horizontal connection
249
- if (dx > 0) {
250
- // Target is to the right of source
251
- return { fromSide: 'right', toSide: 'left' };
252
- }
253
- else {
254
- // Target is to the left of source
255
- return { fromSide: 'left', toSide: 'right' };
256
- }
257
- }
258
- else {
259
- // Vertical connection
260
- if (dy > 0) {
261
- // Target is below source
262
- return { fromSide: 'bottom', toSide: 'top' };
263
- }
264
- else {
265
- // Target is above source
266
- return { fromSide: 'top', toSide: 'bottom' };
267
- }
268
- }
269
- }
270
100
  //# sourceMappingURL=graphConverter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphConverter.js","sourceRoot":"","sources":["../../src/utils/graphConverter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphConverter.js","sourceRoot":"","sources":["../../src/utils/graphConverter.ts"],"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.6.26",
3
+ "version": "0.7.0",
4
4
  "description": "React components for graph-based principal view framework",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -39,9 +39,6 @@ import type { CustomEdgeData } from '../edges/CustomEdge';
39
39
  import {
40
40
  convertToXYFlowNodes,
41
41
  convertToXYFlowEdges,
42
- autoLayoutNodes,
43
- hasCycleBetweenNodes,
44
- computeOptimalEdgeSides,
45
42
  } from '../utils/graphConverter';
46
43
  import { EdgeInfoPanel } from './EdgeInfoPanel';
47
44
  import { NodeInfoPanel } from './NodeInfoPanel';
@@ -107,13 +104,6 @@ interface GraphRendererBaseProps {
107
104
  */
108
105
  showTooltips?: boolean;
109
106
 
110
- /**
111
- * Whether to automatically update edge sides (fromSide/toSide) when nodes are moved.
112
- * Only updates edges where there is no cycle between the connected nodes.
113
- * Uses position-based logic to determine optimal connection sides.
114
- */
115
- autoUpdateEdgeSides?: boolean;
116
-
117
107
  /** Optional configuration name for identification (used with multi-config setups) */
118
108
  configName?: string;
119
109
 
@@ -242,7 +232,6 @@ interface GraphRendererInnerProps {
242
232
  events?: GraphEvent[];
243
233
  onEventProcessed?: (event: GraphEvent) => void;
244
234
  editable?: boolean;
245
- autoUpdateEdgeSides?: boolean;
246
235
  onPendingChangesChange?: (hasChanges: boolean) => void;
247
236
  onEditStateChange?: (editState: EditState) => void;
248
237
  editStateRef: React.MutableRefObject<EditState>;
@@ -265,7 +254,6 @@ const GraphRendererInner: React.FC<GraphRendererInnerProps> = ({
265
254
  events = [],
266
255
  onEventProcessed,
267
256
  editable = false,
268
- autoUpdateEdgeSides = false,
269
257
  onPendingChangesChange,
270
258
  onEditStateChange,
271
259
  editStateRef,
@@ -967,10 +955,8 @@ const GraphRendererInner: React.FC<GraphRendererInnerProps> = ({
967
955
 
968
956
  const xyflowNodesBase = useMemo(() => {
969
957
  const converted = convertToXYFlowNodes(nodes, configuration, violations);
970
- const layoutType = configuration.display?.layout || 'hierarchical';
971
- const positioned = autoLayoutNodes(converted, [], layoutType);
972
958
 
973
- return positioned.map((node) => {
959
+ return converted.map((node) => {
974
960
  const animation = animationState.nodeAnimations[node.id];
975
961
  // Apply any pending position changes
976
962
  const pendingPosition = editStateRef.current.positionChanges.get(node.id);
@@ -1095,62 +1081,9 @@ const GraphRendererInner: React.FC<GraphRendererInnerProps> = ({
1095
1081
  }
1096
1082
  return { ...prev, positionChanges: newPositions };
1097
1083
  });
1098
-
1099
- // Auto-update edge sides if enabled
1100
- if (autoUpdateEdgeSides) {
1101
- setXyflowLocalNodes((currentNodes) => {
1102
- // Build a position map from current xyflow nodes
1103
- const nodePositions = new Map<string, { x: number; y: number }>();
1104
- for (const node of currentNodes) {
1105
- nodePositions.set(node.id, node.position);
1106
- }
1107
-
1108
- // Get moved node IDs
1109
- const movedNodeIds = new Set(positionChanges.map((c) => c.id));
1110
-
1111
- // Update edges connected to moved nodes
1112
- setLocalEdges((currentEdges) => {
1113
- return currentEdges.map((edge) => {
1114
- // Only process edges connected to moved nodes
1115
- if (!movedNodeIds.has(edge.from) && !movedNodeIds.has(edge.to)) {
1116
- return edge;
1117
- }
1118
-
1119
- // Check for cycles - skip if there's a cycle between these nodes
1120
- const edgesWithoutCurrent = currentEdges.filter((e) => e.id !== edge.id);
1121
- if (hasCycleBetweenNodes(edge.from, edge.to, edgesWithoutCurrent)) {
1122
- return edge; // Don't auto-update edges that are part of a cycle
1123
- }
1124
-
1125
- // Get positions of both nodes
1126
- const fromPos = nodePositions.get(edge.from);
1127
- const toPos = nodePositions.get(edge.to);
1128
- if (!fromPos || !toPos) {
1129
- return edge;
1130
- }
1131
-
1132
- // Compute optimal sides
1133
- const { fromSide, toSide } = computeOptimalEdgeSides(fromPos, toPos);
1134
-
1135
- // Update edge data with new sides
1136
- return {
1137
- ...edge,
1138
- data: {
1139
- ...edge.data,
1140
- fromSide,
1141
- toSide,
1142
- },
1143
- updatedAt: Date.now(),
1144
- };
1145
- });
1146
- });
1147
-
1148
- return currentNodes;
1149
- });
1150
- }
1151
1084
  }
1152
1085
  },
1153
- [editable, autoUpdateEdgeSides, updateEditState]
1086
+ [editable, updateEditState]
1154
1087
  );
1155
1088
 
1156
1089
  const xyflowEdges = useMemo(() => {
@@ -1658,7 +1591,6 @@ export const GraphRenderer = forwardRef<GraphRendererHandle, GraphRendererProps>
1658
1591
  events,
1659
1592
  onEventProcessed,
1660
1593
  editable,
1661
- autoUpdateEdgeSides,
1662
1594
  onPendingChangesChange,
1663
1595
  onSourceClick,
1664
1596
  } = props;
@@ -1679,7 +1611,6 @@ export const GraphRenderer = forwardRef<GraphRendererHandle, GraphRendererProps>
1679
1611
  events={events}
1680
1612
  onEventProcessed={onEventProcessed}
1681
1613
  editable={editable}
1682
- autoUpdateEdgeSides={autoUpdateEdgeSides}
1683
1614
  onPendingChangesChange={onPendingChangesChange}
1684
1615
  editStateRef={editStateRef}
1685
1616
  onSourceClick={onSourceClick}
package/src/index.ts CHANGED
@@ -73,10 +73,7 @@ export type { NodeTooltipProps, OtelInfo } from './components/NodeTooltip';
73
73
  export {
74
74
  convertToXYFlowNodes,
75
75
  convertToXYFlowEdges,
76
- autoLayoutNodes,
77
- hasCycleBetweenNodes,
78
- computeOptimalEdgeSides,
79
76
  } from './utils/graphConverter';
80
- export type { EdgeStateWithHandles, CanvasSide } from './utils/graphConverter';
77
+ export type { EdgeStateWithHandles } from './utils/graphConverter';
81
78
  export { Icon, resolveIcon } from './utils/iconResolver';
82
79
  export type { IconProps } from './utils/iconResolver';
@@ -577,7 +577,6 @@ const EditableTemplate = () => {
577
577
  width={800}
578
578
  height={500}
579
579
  editable={true}
580
- autoUpdateEdgeSides={true}
581
580
  onPendingChangesChange={setHasChanges}
582
581
  />
583
582
  </div>
@@ -129,207 +129,3 @@ export function convertToXYFlowEdges(
129
129
  });
130
130
  }
131
131
 
132
- /**
133
- * Auto-layout nodes if they don't have positions
134
- */
135
- export function autoLayoutNodes<T extends Record<string, unknown>>(
136
- nodes: Node<T>[],
137
- edges: Edge[],
138
- layoutType: 'hierarchical' | 'force-directed' | 'circular' | 'manual' = 'hierarchical'
139
- ): Node<T>[] {
140
- // Skip if all nodes have positions
141
- const hasPositions = nodes.every((n) => n.position.x !== 0 || n.position.y !== 0);
142
- if (hasPositions || layoutType === 'manual') {
143
- return nodes;
144
- }
145
-
146
- switch (layoutType) {
147
- case 'hierarchical':
148
- return applyHierarchicalLayout(nodes, edges);
149
- case 'circular':
150
- return applyCircularLayout(nodes);
151
- case 'force-directed':
152
- // For now, use hierarchical as fallback
153
- // TODO: Implement force-directed with elkjs
154
- return applyHierarchicalLayout(nodes, edges);
155
- default:
156
- return nodes;
157
- }
158
- }
159
-
160
- /**
161
- * Simple hierarchical layout algorithm
162
- */
163
- function applyHierarchicalLayout<T extends Record<string, unknown>>(
164
- nodes: Node<T>[],
165
- edges: Edge[]
166
- ): Node<T>[] {
167
- // Build adjacency list
168
- const adjacency = new Map<string, string[]>();
169
- const inDegree = new Map<string, number>();
170
-
171
- nodes.forEach((node) => {
172
- adjacency.set(node.id, []);
173
- inDegree.set(node.id, 0);
174
- });
175
-
176
- edges.forEach((edge) => {
177
- const targets = adjacency.get(edge.source) || [];
178
- targets.push(edge.target);
179
- adjacency.set(edge.source, targets);
180
- inDegree.set(edge.target, (inDegree.get(edge.target) || 0) + 1);
181
- });
182
-
183
- // Topological sort to determine layers
184
- const layers: string[][] = [];
185
- const queue: string[] = [];
186
-
187
- // Start with nodes that have no incoming edges
188
- inDegree.forEach((degree, nodeId) => {
189
- if (degree === 0) {
190
- queue.push(nodeId);
191
- }
192
- });
193
-
194
- const visited = new Set<string>();
195
-
196
- while (queue.length > 0) {
197
- const currentLayer: string[] = [];
198
- const layerSize = queue.length;
199
-
200
- for (let i = 0; i < layerSize; i++) {
201
- const nodeId = queue.shift()!;
202
- currentLayer.push(nodeId);
203
- visited.add(nodeId);
204
-
205
- const neighbors = adjacency.get(nodeId) || [];
206
- neighbors.forEach((neighbor) => {
207
- const degree = inDegree.get(neighbor)! - 1;
208
- inDegree.set(neighbor, degree);
209
- if (degree === 0 && !visited.has(neighbor)) {
210
- queue.push(neighbor);
211
- }
212
- });
213
- }
214
-
215
- if (currentLayer.length > 0) {
216
- layers.push(currentLayer);
217
- }
218
- }
219
-
220
- // Handle any remaining nodes (cycles or disconnected)
221
- const remainingNodes = nodes.filter((n) => !visited.has(n.id)).map((n) => n.id);
222
- if (remainingNodes.length > 0) {
223
- layers.push(remainingNodes);
224
- }
225
-
226
- // Position nodes based on layers
227
- const LAYER_HEIGHT = 150;
228
- const NODE_WIDTH = 200;
229
-
230
- return nodes.map((node) => {
231
- const layerIndex = layers.findIndex((layer) => layer.includes(node.id));
232
- const layer = layers[layerIndex] || [];
233
- const positionInLayer = layer.indexOf(node.id);
234
- const layerWidth = layer.length * NODE_WIDTH;
235
-
236
- return {
237
- ...node,
238
- position: {
239
- x: positionInLayer * NODE_WIDTH + NODE_WIDTH / 2 - layerWidth / 2,
240
- y: layerIndex * LAYER_HEIGHT,
241
- },
242
- };
243
- });
244
- }
245
-
246
- /**
247
- * Simple circular layout algorithm
248
- */
249
- function applyCircularLayout<T extends Record<string, unknown>>(nodes: Node<T>[]): Node<T>[] {
250
- const radius = Math.max(200, nodes.length * 30);
251
- const angleStep = (2 * Math.PI) / nodes.length;
252
-
253
- return nodes.map((node, index) => {
254
- const angle = index * angleStep;
255
- return {
256
- ...node,
257
- position: {
258
- x: radius * Math.cos(angle) + radius,
259
- y: radius * Math.sin(angle) + radius,
260
- },
261
- };
262
- });
263
- }
264
-
265
- /**
266
- * Check if there is a cycle between two nodes (i.e., a path from target back to source).
267
- * Returns true if adding an edge from `from` to `to` would complete a cycle.
268
- */
269
- export function hasCycleBetweenNodes(
270
- from: string,
271
- to: string,
272
- edges: Array<{ from: string; to: string }>
273
- ): boolean {
274
- // Check if there's already a path from `to` back to `from`
275
- // using BFS/DFS from `to` node
276
- const visited = new Set<string>();
277
- const queue = [to];
278
-
279
- while (queue.length > 0) {
280
- const current = queue.shift()!;
281
- if (current === from) {
282
- return true; // Found a path back, there would be a cycle
283
- }
284
- if (visited.has(current)) {
285
- continue;
286
- }
287
- visited.add(current);
288
-
289
- // Find all outgoing edges from current node
290
- for (const edge of edges) {
291
- if (edge.from === current && !visited.has(edge.to)) {
292
- queue.push(edge.to);
293
- }
294
- }
295
- }
296
-
297
- return false;
298
- }
299
-
300
- export type CanvasSide = 'top' | 'right' | 'bottom' | 'left';
301
-
302
- /**
303
- * Compute optimal edge sides based on relative node positions.
304
- * Returns the best fromSide and toSide for connecting two nodes.
305
- */
306
- export function computeOptimalEdgeSides(
307
- fromPosition: { x: number; y: number },
308
- toPosition: { x: number; y: number }
309
- ): { fromSide: CanvasSide; toSide: CanvasSide } {
310
- const dx = toPosition.x - fromPosition.x;
311
- const dy = toPosition.y - fromPosition.y;
312
-
313
- // Determine primary direction based on which axis has larger delta
314
- const isHorizontalDominant = Math.abs(dx) > Math.abs(dy);
315
-
316
- if (isHorizontalDominant) {
317
- // Horizontal connection
318
- if (dx > 0) {
319
- // Target is to the right of source
320
- return { fromSide: 'right', toSide: 'left' };
321
- } else {
322
- // Target is to the left of source
323
- return { fromSide: 'left', toSide: 'right' };
324
- }
325
- } else {
326
- // Vertical connection
327
- if (dy > 0) {
328
- // Target is below source
329
- return { fromSide: 'bottom', toSide: 'top' };
330
- } else {
331
- // Target is above source
332
- return { fromSide: 'top', toSide: 'bottom' };
333
- }
334
- }
335
- }