@principal-ai/principal-view-react 0.14.4 → 0.14.6

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.
Files changed (41) hide show
  1. package/dist/components/GraphRenderer.d.ts +30 -7
  2. package/dist/components/GraphRenderer.d.ts.map +1 -1
  3. package/dist/components/GraphRenderer.js +29 -16
  4. package/dist/components/GraphRenderer.js.map +1 -1
  5. package/dist/components/NodeTooltip.js +1 -1
  6. package/dist/components/NodeTooltip.js.map +1 -1
  7. package/dist/contexts/TooltipPortalContext.d.ts +8 -0
  8. package/dist/contexts/TooltipPortalContext.d.ts.map +1 -0
  9. package/dist/contexts/TooltipPortalContext.js +8 -0
  10. package/dist/contexts/TooltipPortalContext.js.map +1 -0
  11. package/dist/edges/CustomEdge.d.ts +5 -0
  12. package/dist/edges/CustomEdge.d.ts.map +1 -1
  13. package/dist/edges/CustomEdge.js +7 -3
  14. package/dist/edges/CustomEdge.js.map +1 -1
  15. package/dist/hooks/useElkLayout.d.ts +66 -0
  16. package/dist/hooks/useElkLayout.d.ts.map +1 -0
  17. package/dist/hooks/useElkLayout.js +136 -0
  18. package/dist/hooks/useElkLayout.js.map +1 -0
  19. package/dist/index.d.ts +4 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +3 -0
  22. package/dist/index.js.map +1 -1
  23. package/dist/nodes/otel/OtelSpanConventionNode.js +3 -3
  24. package/dist/nodes/otel/OtelSpanConventionNode.js.map +1 -1
  25. package/dist/utils/elkLayout.d.ts +92 -0
  26. package/dist/utils/elkLayout.d.ts.map +1 -0
  27. package/dist/utils/elkLayout.js +281 -0
  28. package/dist/utils/elkLayout.js.map +1 -0
  29. package/package.json +4 -3
  30. package/src/components/GraphRenderer.tsx +70 -13
  31. package/src/components/NodeTooltip.tsx +1 -1
  32. package/src/contexts/TooltipPortalContext.ts +8 -0
  33. package/src/edges/CustomEdge.tsx +13 -2
  34. package/src/hooks/useElkLayout.test.ts +134 -0
  35. package/src/hooks/useElkLayout.ts +191 -0
  36. package/src/index.ts +6 -0
  37. package/src/nodes/otel/OtelSpanConventionNode.tsx +3 -3
  38. package/src/stories/ElkEdgeRouting.stories.tsx +415 -0
  39. package/src/stories/SpanBadges.stories.tsx +840 -0
  40. package/src/utils/elkLayout.test.ts +240 -0
  41. package/src/utils/elkLayout.ts +412 -0
@@ -8,7 +8,7 @@ import { useTheme } from '@principal-ade/industry-theme';
8
8
  export const CustomEdge = ({ id, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, data, markerEnd, selected, }) => {
9
9
  const { theme } = useTheme();
10
10
  const edgeProps = data;
11
- const { typeDefinition, hasViolations, data: edgeData, edgeType, animationType, animationDuration = 1000, animationDirection = 'forward', tooltipsEnabled = true, shiftKeyPressed = false, } = edgeProps || {};
11
+ const { typeDefinition, hasViolations, data: edgeData, edgeType, animationType, animationDuration = 1000, animationDirection = 'forward', tooltipsEnabled = true, shiftKeyPressed = false, elkPath, elkLabelPosition, } = edgeProps || {};
12
12
  const [particlePosition, setParticlePosition] = useState(0);
13
13
  const [isHovered, setIsHovered] = useState(false);
14
14
  const pathRef = useRef(null);
@@ -33,8 +33,8 @@ export const CustomEdge = ({ id, sourceX, sourceY, targetX, targetY, sourcePosit
33
33
  const edgeColor = edgeData?.color;
34
34
  const color = hasViolations ? '#D0021B' : edgeColor || typeDefinition.color || '#888';
35
35
  const width = typeDefinition.width || 2;
36
- // Get SmoothStep path (orthogonal routing with rounded corners)
37
- const [edgePath, labelX, labelY] = getSmoothStepPath({
36
+ // Get edge path - use ELK path if available, otherwise fall back to SmoothStep
37
+ const [defaultPath, defaultLabelX, defaultLabelY] = getSmoothStepPath({
38
38
  sourceX,
39
39
  sourceY,
40
40
  sourcePosition,
@@ -44,6 +44,10 @@ export const CustomEdge = ({ id, sourceX, sourceY, targetX, targetY, sourcePosit
44
44
  borderRadius: 0,
45
45
  offset: 20,
46
46
  });
47
+ // Use ELK-computed path for circuit-board style routing when available
48
+ const edgePath = elkPath || defaultPath;
49
+ const labelX = elkLabelPosition?.x ?? defaultLabelX;
50
+ const labelY = elkLabelPosition?.y ?? defaultLabelY;
47
51
  // Style based on edge type
48
52
  const getStrokeStyle = () => {
49
53
  switch (typeDefinition.style) {
@@ -1 +1 @@
1
- {"version":3,"file":"CustomEdge.js","sourceRoot":"","sources":["../../src/edges/CustomEdge.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CustomEdge.js","sourceRoot":"","sources":["../../src/edges/CustomEdge.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * React hook for ELK layout integration
3
+ *
4
+ * Provides automatic edge routing with circuit-board style paths.
5
+ */
6
+ import type { Node, Edge } from '@xyflow/react';
7
+ import { type ElkLayoutOptions } from '../utils/elkLayout';
8
+ export interface UseElkLayoutOptions extends ElkLayoutOptions {
9
+ /**
10
+ * Whether ELK layout is enabled
11
+ * @default true
12
+ */
13
+ enabled?: boolean;
14
+ /**
15
+ * Debounce delay in ms before recomputing layout
16
+ * @default 100
17
+ */
18
+ debounceMs?: number;
19
+ }
20
+ export interface UseElkLayoutResult {
21
+ /** Edge paths computed by ELK, keyed by edge ID */
22
+ edgePaths: Map<string, string>;
23
+ /** Edge label positions computed by ELK, keyed by edge ID */
24
+ edgeLabelPositions: Map<string, {
25
+ x: number;
26
+ y: number;
27
+ }>;
28
+ /** Whether layout is currently being computed */
29
+ isLayouting: boolean;
30
+ /** Any error that occurred during layout */
31
+ error: Error | null;
32
+ /** Manually trigger a layout recomputation */
33
+ recomputeLayout: () => void;
34
+ }
35
+ /**
36
+ * Hook for computing ELK layout for edges
37
+ *
38
+ * @param nodes - xyflow nodes
39
+ * @param edges - xyflow edges
40
+ * @param options - Layout options
41
+ * @returns Layout result with edge paths
42
+ *
43
+ * @example
44
+ * ```tsx
45
+ * const { edgePaths, isLayouting } = useElkLayout(nodes, edges, {
46
+ * routingStyle: 'orthogonal',
47
+ * edgeSpacing: 15,
48
+ * });
49
+ * ```
50
+ */
51
+ export declare function useElkLayout(nodes: Node[], edges: Edge[], options?: UseElkLayoutOptions): UseElkLayoutResult;
52
+ /**
53
+ * Apply ELK-computed paths to edges
54
+ *
55
+ * This utility injects the ELK path data into edge data so CustomEdge can use it.
56
+ *
57
+ * @param edges - Original edges
58
+ * @param edgePaths - ELK-computed paths
59
+ * @param edgeLabelPositions - ELK-computed label positions
60
+ * @returns Edges with ELK path data injected
61
+ */
62
+ export declare function applyElkPathsToEdges<T extends Edge>(edges: T[], edgePaths: Map<string, string>, edgeLabelPositions: Map<string, {
63
+ x: number;
64
+ y: number;
65
+ }>): T[];
66
+ //# sourceMappingURL=useElkLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useElkLayout.d.ts","sourceRoot":"","sources":["../../src/hooks/useElkLayout.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE7E,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,6DAA6D;IAC7D,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,iDAAiD;IACjD,WAAW,EAAE,OAAO,CAAC;IACrB,4CAA4C;IAC5C,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,8CAA8C;IAC9C,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,IAAI,EAAE,EACb,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,CAmGpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,IAAI,EACjD,KAAK,EAAE,CAAC,EAAE,EACV,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GACxD,CAAC,EAAE,CAkBL"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * React hook for ELK layout integration
3
+ *
4
+ * Provides automatic edge routing with circuit-board style paths.
5
+ */
6
+ import { useState, useEffect, useCallback, useRef, useMemo } from 'react';
7
+ import { computeElkLayout } from '../utils/elkLayout';
8
+ /**
9
+ * Hook for computing ELK layout for edges
10
+ *
11
+ * @param nodes - xyflow nodes
12
+ * @param edges - xyflow edges
13
+ * @param options - Layout options
14
+ * @returns Layout result with edge paths
15
+ *
16
+ * @example
17
+ * ```tsx
18
+ * const { edgePaths, isLayouting } = useElkLayout(nodes, edges, {
19
+ * routingStyle: 'orthogonal',
20
+ * edgeSpacing: 15,
21
+ * });
22
+ * ```
23
+ */
24
+ export function useElkLayout(nodes, edges, options = {}) {
25
+ const { enabled = true, debounceMs = 100, ...layoutOptions } = options;
26
+ const [edgePaths, setEdgePaths] = useState(new Map());
27
+ const [edgeLabelPositions, setEdgeLabelPositions] = useState(new Map());
28
+ const [isLayouting, setIsLayouting] = useState(false);
29
+ const [error, setError] = useState(null);
30
+ const timeoutRef = useRef(null);
31
+ const abortRef = useRef(false);
32
+ const hasComputedRef = useRef(null);
33
+ // Create stable refs for nodes and edges
34
+ const nodesRef = useRef(nodes);
35
+ nodesRef.current = nodes;
36
+ const edgesRef = useRef(edges);
37
+ edgesRef.current = edges;
38
+ // Create a stable reference to layout options
39
+ const optionsRef = useRef(layoutOptions);
40
+ optionsRef.current = layoutOptions;
41
+ // Create a stable key based on node/edge structure
42
+ const layoutKey = useMemo(() => {
43
+ const nodeKey = nodes.map(n => `${n.id}:${n.position.x}:${n.position.y}:${n.width ?? 0}:${n.height ?? 0}`).join('|');
44
+ const edgeKey = edges.map(e => `${e.id}:${e.source}:${e.target}`).join('|');
45
+ return `${enabled}:${nodeKey}:${edgeKey}`;
46
+ }, [enabled, nodes, edges]);
47
+ // Compute layout when key changes
48
+ useEffect(() => {
49
+ // Skip if already computed for this key
50
+ if (hasComputedRef.current === layoutKey) {
51
+ return;
52
+ }
53
+ if (!enabled || nodesRef.current.length === 0) {
54
+ setEdgePaths(new Map());
55
+ setEdgeLabelPositions(new Map());
56
+ hasComputedRef.current = layoutKey;
57
+ return;
58
+ }
59
+ if (timeoutRef.current) {
60
+ clearTimeout(timeoutRef.current);
61
+ }
62
+ abortRef.current = false;
63
+ timeoutRef.current = setTimeout(async () => {
64
+ setIsLayouting(true);
65
+ setError(null);
66
+ try {
67
+ const result = await computeElkLayout(nodesRef.current, edgesRef.current, optionsRef.current);
68
+ if (abortRef.current)
69
+ return;
70
+ setEdgePaths(result.edgePaths);
71
+ setEdgeLabelPositions(result.edgeLabelPositions);
72
+ hasComputedRef.current = layoutKey;
73
+ }
74
+ catch (err) {
75
+ if (!abortRef.current) {
76
+ setError(err instanceof Error ? err : new Error(String(err)));
77
+ console.error('ELK layout error:', err);
78
+ }
79
+ }
80
+ finally {
81
+ if (!abortRef.current) {
82
+ setIsLayouting(false);
83
+ }
84
+ }
85
+ }, debounceMs);
86
+ return () => {
87
+ if (timeoutRef.current) {
88
+ clearTimeout(timeoutRef.current);
89
+ }
90
+ abortRef.current = true;
91
+ };
92
+ }, [layoutKey, enabled, debounceMs]);
93
+ const recomputeLayout = useCallback(() => {
94
+ hasComputedRef.current = null; // Force recompute
95
+ if (timeoutRef.current) {
96
+ clearTimeout(timeoutRef.current);
97
+ }
98
+ // Trigger effect by invalidating the key check
99
+ setIsLayouting(true);
100
+ }, []);
101
+ return {
102
+ edgePaths,
103
+ edgeLabelPositions,
104
+ isLayouting,
105
+ error,
106
+ recomputeLayout,
107
+ };
108
+ }
109
+ /**
110
+ * Apply ELK-computed paths to edges
111
+ *
112
+ * This utility injects the ELK path data into edge data so CustomEdge can use it.
113
+ *
114
+ * @param edges - Original edges
115
+ * @param edgePaths - ELK-computed paths
116
+ * @param edgeLabelPositions - ELK-computed label positions
117
+ * @returns Edges with ELK path data injected
118
+ */
119
+ export function applyElkPathsToEdges(edges, edgePaths, edgeLabelPositions) {
120
+ return edges.map((edge) => {
121
+ const elkPath = edgePaths.get(edge.id);
122
+ const elkLabelPosition = edgeLabelPositions.get(edge.id);
123
+ if (elkPath) {
124
+ return {
125
+ ...edge,
126
+ data: {
127
+ ...edge.data,
128
+ elkPath,
129
+ elkLabelPosition,
130
+ },
131
+ };
132
+ }
133
+ return edge;
134
+ });
135
+ }
136
+ //# sourceMappingURL=useElkLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useElkLayout.js","sourceRoot":"","sources":["../../src/hooks/useElkLayout.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -31,4 +31,8 @@ export type { IconProps } from './utils/iconResolver';
31
31
  export { swapGraphOrientation, swapNodePositions, swapEdgeSides, } from './utils/orientationUtils';
32
32
  export { getCanvasBounds, getCanvasDisplaySize, calculateInitialViewport } from './utils/canvasBounds';
33
33
  export type { CanvasBounds, Viewport } from './utils/canvasBounds';
34
+ export { computeElkLayout, createElkLayouter } from './utils/elkLayout';
35
+ export type { ElkLayoutOptions, ElkLayoutResult, ElkRoutingStyle } from './utils/elkLayout';
36
+ export { useElkLayout, applyElkPathsToEdges } from './hooks/useElkLayout';
37
+ export type { UseElkLayoutOptions, UseElkLayoutResult } from './hooks/useElkLayout';
34
38
  //# 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,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACnG,YAAY,EACV,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAE1C,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;AAGzD,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,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;AACtD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACvG,YAAY,EAAE,YAAY,EAAE,QAAQ,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,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACnG,YAAY,EACV,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAE1C,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;AAGzD,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,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;AACtD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACvG,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGnE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -23,4 +23,7 @@ export { convertToXYFlowNodes, convertToXYFlowEdges, } from './utils/graphConver
23
23
  export { Icon, resolveIcon } from './utils/iconResolver';
24
24
  export { swapGraphOrientation, swapNodePositions, swapEdgeSides, } from './utils/orientationUtils';
25
25
  export { getCanvasBounds, getCanvasDisplaySize, calculateInitialViewport } from './utils/canvasBounds';
26
+ // ELK layout utilities for circuit-board style edge routing
27
+ export { computeElkLayout, createElkLayouter } from './utils/elkLayout';
28
+ export { useElkLayout, applyElkPathsToEdges } from './hooks/useElkLayout';
26
29
  //# sourceMappingURL=index.js.map
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,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAQ3D,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAOnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,6BAA6B;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,8BAA8B;AAC9B,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAUtB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,2BAA2B;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,mBAAmB;AACnB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwBH,oBAAoB;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAQ3D,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAOnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,6BAA6B;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,8BAA8B;AAC9B,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAUtB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,2BAA2B;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,mBAAmB;AACnB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAGvG,4DAA4D;AAC5D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -57,9 +57,9 @@ export const OtelSpanConventionNode = ({ data, selected, dragging }) => {
57
57
  // State definitions for label lookup
58
58
  const stateDefinitions = nodeData.states || typeDefinition.states;
59
59
  // Workflow chips
60
- const workflowChips = nodeData.workflowChips;
61
- const onWorkflowChipClick = nodeData.onWorkflowChipClick;
62
- const selectedWorkflowId = nodeData.selectedWorkflowId;
60
+ const workflowChips = nodeData?.workflowChips;
61
+ const onWorkflowChipClick = nodeData?.onWorkflowChipClick;
62
+ const selectedWorkflowId = nodeData?.selectedWorkflowId;
63
63
  // Animation class
64
64
  const getAnimationClass = () => {
65
65
  switch (animationType) {
@@ -1 +1 @@
1
- {"version":3,"file":"OtelSpanConventionNode.js","sourceRoot":"","sources":["../../../src/nodes/otel/OtelSpanConventionNode.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D;;GAEG;AACH,SAAS,eAAe,CAAC,QAAgB,EAAE,SAAS,GAAG,IAAI;IACzD,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7D,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;AACvD,CAAC;AA2CD,MAAM,CAAC,MAAM,sBAAsB,GAE/B,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnC,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,IAAI,CAAC;IACvB,MAAM,EACJ,cAAc,EACd,KAAK,EACL,aAAa,EACb,IAAI,EAAE,QAAQ,EACd,QAAQ,GAAG,KAAK,EAChB,eAAe,GAAG,IAAI,EACtB,eAAe,GAAG,KAAK,EACvB,aAAa,GAAG,KAAK,EACrB,QAAQ,GAAG,IAAI,EACf,QAAQ,GAAG,KAAK,EAChB,aAAa,EACb,iBAAiB,EAAE,kBAAkB,GAAG,IAAI,GAC7C,GAAG,SAAS,CAAC;IAEd,MAAM,EACJ,OAAO,EACP,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,GAAG,eAAe,CAAC;QAClB,QAAQ;QACR,eAAe;QACf,eAAe;QACf,QAAQ;QACR,QAAQ;KACT,CAAC,CAAC;IAEH,wCAAwC;IACxC,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAExD,mBAAmB;IACnB,MAAM,SAAS,GAAG,QAAQ,CAAC,SAA+B,CAAC;IAC3D,MAAM,aAAa,GAAG,QAAQ,CAAC,KAA2B,CAAC;IAC3D,MAAM,aAAa,GAAG,SAAS,IAAI,aAAa,IAAI,cAAc,CAAC,KAAK,IAAI,SAAS,CAAC;IACtF,MAAM,SAAS,GAAG,aAAa,CAAC;IAEhC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAgC,CAAC;IAC7D,MAAM,cAAc,GAAG,QAAQ,CAAC,MAA4B,CAAC;IAC7D,MAAM,WAAW,GAAG,cAAc,IAAI,UAAU,IAAI,SAAS,CAAC;IAE9D,mBAAmB;IACnB,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC;IACnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC/B,MAAM,UAAU,GAAG,QAAQ,EAAE,WAAW,CAAC;IAEzC,qBAAqB;IACrB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,MAAM,WAAW,GAAG,QAAQ,EAAE,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC;IACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACvC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;IAEzC,gBAAgB;IAChB,MAAM,IAAI,GACP,QAAQ,CAAC,IAAe;QACzB,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;QACzC,CAAC,KAAK,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;QAC/C,cAAc,CAAC,IAAI,CAAC;IAEtB,qCAAqC;IACrC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC;IAElE,iBAAiB;IACjB,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;IAC7C,MAAM,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;IACzD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAC;IAEvD,kBAAkB;IAClB,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,QAAQ,aAAa,EAAE;YACrB,KAAK,OAAO;gBACV,OAAO,YAAY,CAAC;YACtB,KAAK,OAAO;gBACV,OAAO,YAAY,CAAC;YACtB,KAAK,OAAO;gBACV,OAAO,YAAY,CAAC;YACtB,KAAK,OAAO;gBACV,OAAO,YAAY,CAAC;YACtB;gBACE,OAAO,EAAE,CAAC;SACb;IACH,CAAC,CAAC;IAEF,iBAAiB;IACjB,MAAM,eAAe,GAAG,+DAA+D,CAAC;IACxF,MAAM,kBAAkB,GAAG,CAAC,CAAC;IAE7B,MAAM,kBAAkB,GAAwB;QAC9C,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,eAAe;QACzB,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;QACxD,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,2BAA2B;QACtC,OAAO,EAAE,WAAW;QACpB,UAAU,EAAE,mBAAmB;QAC/B,SAAS,EAAE,YAAY;KACxB,CAAC;IAEF,MAAM,iBAAiB,GAAwB;QAC7C,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,kBAAkB;QACvB,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,kBAAkB;QACzB,MAAM,EAAE,kBAAkB;QAC1B,QAAQ,EAAE,eAAe;QACzB,eAAe,EAAE,eAAe,CAAC,SAAS,CAAC;QAC3C,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,QAAQ;QACvB,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5B,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM;QACpC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;QAC5B,GAAG,EAAE,KAAK;QACV,OAAO,EAAE,UAAU;KACpB,CAAC;IAEF,gBAAgB;IAChB,MAAM,WAAW,GAAG,QAAQ;QAC1B,CAAC,CAAC;YACE,UAAU,EAAE,SAAS;YACrB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,iBAAiB;YACzB,SAAS,EAAE,YAAY,GAAG,SAAS;YACnC,MAAM,EAAE,EAAE;SACX;QACH,CAAC,CAAC;YACE,UAAU,EAAE,SAAS;YACrB,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,aAAa,EAAE,MAAe;YAC9B,MAAM,EAAE,EAAE;SACX,CAAC;IAEN,OAAO,CACL,8BAEG,QAAQ,IAAI,CACX,KAAC,WAAW,IACV,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,QAAQ,EACnB,QAAQ,EAAE,EAAE,EACZ,SAAS,EAAE,EAAE,EACb,WAAW,EAAE,eAAe,EAC5B,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EACjE,SAAS,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GACzC,CACH,EAGD,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAC,KAAK,EAAC,KAAK,EAAE,WAAW,GAAI,EAC7E,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAC,QAAQ,EAAC,KAAK,EAAE,WAAW,GAAI,EACnF,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAC,MAAM,EAAC,KAAK,EAAE,WAAW,GAAI,EAC/E,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAC,OAAO,EAAC,KAAK,EAAE,WAAW,GAAI,EAGjF,eACE,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,MAAM;oBACd,SAAS,EAAE,aAAa;wBACtB,CAAC,CAAC,qDAAqD;wBACvD,CAAC,CAAC,QAAQ;4BACR,CAAC,CAAC,aAAa,WAAW,EAAE;4BAC5B,CAAC,CAAC,MAAM;oBACZ,UAAU,EAAE,sBAAsB;iBACnC,EACD,WAAW,EAAE,eAAe,EAC5B,YAAY,EAAE,gBAAgB,EAC9B,YAAY,EAAE,gBAAgB,aAG9B,KAAC,UAAU,IACT,KAAK,EAAC,SAAS,EACf,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,WAAW,GACpB,EAGF,cAAK,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAC5D,cAAK,KAAK,EAAE,iBAAiB,YAC3B,KAAC,WAAW,IACV,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,mBAAmB,EACxC,kBAAkB,EAAE,kBAAkB,GACtC,GACE,GACF,EAGL,eAAe,IAAI,CAClB,KAAC,WAAW,IACV,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,QAAQ,CAAC,IAAgB,EAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO,EACzB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,OAAO,GAChB,CACH,IACG,EAGN,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAC,SAAS,EAAC,KAAK,EAAE,WAAW,GAAI,EACjF,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAC,YAAY,EAAC,KAAK,EAAE,WAAW,GAAI,EACvF,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAC,UAAU,EAAC,KAAK,EAAE,WAAW,GAAI,EACnF,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAC,WAAW,EAAC,KAAK,EAAE,WAAW,GAAI,IACpF,CACJ,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"OtelSpanConventionNode.js","sourceRoot":"","sources":["../../../src/nodes/otel/OtelSpanConventionNode.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * ELK (Eclipse Layout Kernel) Layout Utility
3
+ *
4
+ * Provides sophisticated edge routing with orthogonal (circuit-board style) paths
5
+ * that don't overlap and run parallel to each other.
6
+ */
7
+ import type { Node, Edge } from '@xyflow/react';
8
+ /** ELK layout options for different routing styles */
9
+ export type ElkRoutingStyle = 'orthogonal' | 'splines' | 'polyline';
10
+ /** Options for ELK layout */
11
+ export interface ElkLayoutOptions {
12
+ /**
13
+ * Edge routing style
14
+ * - 'orthogonal': Circuit-board style with 90-degree angles (default)
15
+ * - 'splines': Smooth curved edges
16
+ * - 'polyline': Straight line segments
17
+ */
18
+ routingStyle?: ElkRoutingStyle;
19
+ /**
20
+ * Whether to preserve manual node positions
21
+ * If true, only edge routing is computed
22
+ * If false, ELK will also position nodes
23
+ * @default true
24
+ */
25
+ preserveNodePositions?: boolean;
26
+ /**
27
+ * Minimum spacing between nodes
28
+ * @default 50
29
+ */
30
+ nodeSpacing?: number;
31
+ /**
32
+ * Minimum spacing between edges
33
+ * @default 8
34
+ */
35
+ edgeSpacing?: number;
36
+ /**
37
+ * Spacing between edge and node
38
+ * @default 10
39
+ */
40
+ edgeNodeSpacing?: number;
41
+ /**
42
+ * Layout direction
43
+ * @default 'RIGHT'
44
+ */
45
+ direction?: 'RIGHT' | 'LEFT' | 'DOWN' | 'UP';
46
+ }
47
+ /** Result of ELK layout computation */
48
+ export interface ElkLayoutResult {
49
+ /** Nodes with updated positions (if preserveNodePositions is false) */
50
+ nodes: Node[];
51
+ /** Edge paths as SVG path strings, keyed by edge ID */
52
+ edgePaths: Map<string, string>;
53
+ /** Edge label positions, keyed by edge ID */
54
+ edgeLabelPositions: Map<string, {
55
+ x: number;
56
+ y: number;
57
+ }>;
58
+ }
59
+ /** Point in 2D space */
60
+ export interface Point {
61
+ x: number;
62
+ y: number;
63
+ }
64
+ /**
65
+ * Convert bend points to SVG path string
66
+ * @public Exported for testing
67
+ */
68
+ export declare function pointsToPath(points: Point[]): string;
69
+ /**
70
+ * Convert bend points to smooth orthogonal path with rounded corners
71
+ * @public Exported for testing
72
+ */
73
+ export declare function pointsToSmoothPath(points: Point[], cornerRadius?: number): string;
74
+ /**
75
+ * Calculate the midpoint of a path for label positioning
76
+ * @public Exported for testing
77
+ */
78
+ export declare function calculatePathMidpoint(points: Point[]): Point;
79
+ /**
80
+ * Compute ELK layout for nodes and edges
81
+ *
82
+ * @param nodes - xyflow nodes
83
+ * @param edges - xyflow edges
84
+ * @param options - Layout options
85
+ * @returns Layout result with edge paths
86
+ */
87
+ export declare function computeElkLayout(nodes: Node[], edges: Edge[], options?: ElkLayoutOptions): Promise<ElkLayoutResult>;
88
+ /**
89
+ * Hook-friendly version that returns a layout function
90
+ */
91
+ export declare function createElkLayouter(options?: ElkLayoutOptions): (nodes: Node[], edges: Edge[]) => Promise<ElkLayoutResult>;
92
+ //# sourceMappingURL=elkLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elkLayout.d.ts","sourceRoot":"","sources":["../../src/utils/elkLayout.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEhD,sDAAsD;AACtD,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,SAAS,GAAG,UAAU,CAAC;AAEpE,6BAA6B;AAC7B,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC;IAE/B;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC9C;AAED,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,uDAAuD;IACvD,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,6CAA6C;IAC7C,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3D;AAED,wBAAwB;AACxB,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAyBD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CASpD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,YAAY,GAAE,MAAU,GAAG,MAAM,CAoDpF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAmC5D;AAwCD;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,IAAI,EAAE,EACb,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CAiJ1B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,gBAAqB,WAC/C,IAAI,EAAE,SAAS,IAAI,EAAE,8BACrC"}