@uipath/apollo-react 4.45.1 → 4.47.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.
Files changed (124) hide show
  1. package/dist/canvas/components/ButtonHandle/ButtonHandle.cjs +2 -1
  2. package/dist/canvas/components/ButtonHandle/ButtonHandle.d.ts.map +1 -1
  3. package/dist/canvas/components/ButtonHandle/ButtonHandle.js +2 -1
  4. package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.cjs +0 -33
  5. package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.d.ts +0 -2
  6. package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.d.ts.map +1 -1
  7. package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.js +1 -28
  8. package/dist/canvas/components/ButtonHandle/SmartHandle.cjs +2 -1
  9. package/dist/canvas/components/ButtonHandle/SmartHandle.d.ts.map +1 -1
  10. package/dist/canvas/components/ButtonHandle/SmartHandle.js +2 -1
  11. package/dist/canvas/components/Edges/CanvasEdge.cjs +197 -0
  12. package/dist/canvas/components/Edges/CanvasEdge.d.ts +3 -0
  13. package/dist/canvas/components/Edges/CanvasEdge.d.ts.map +1 -0
  14. package/dist/canvas/components/Edges/CanvasEdge.js +163 -0
  15. package/dist/canvas/components/Edges/SequenceEdge.cjs +18 -200
  16. package/dist/canvas/components/Edges/SequenceEdge.d.ts +2 -2
  17. package/dist/canvas/components/Edges/SequenceEdge.d.ts.map +1 -1
  18. package/dist/canvas/components/Edges/SequenceEdge.js +19 -201
  19. package/dist/canvas/components/Edges/index.cjs +32 -3
  20. package/dist/canvas/components/Edges/index.d.ts +4 -0
  21. package/dist/canvas/components/Edges/index.d.ts.map +1 -1
  22. package/dist/canvas/components/Edges/index.js +3 -0
  23. package/dist/canvas/components/Edges/shared/areEdgePropsEqual.cjs +54 -0
  24. package/dist/canvas/components/Edges/shared/areEdgePropsEqual.d.ts +3 -0
  25. package/dist/canvas/components/Edges/shared/areEdgePropsEqual.d.ts.map +1 -0
  26. package/dist/canvas/components/Edges/shared/areEdgePropsEqual.js +20 -0
  27. package/dist/canvas/components/Edges/shared/constants.cjs +107 -0
  28. package/dist/canvas/components/Edges/shared/constants.d.ts +33 -0
  29. package/dist/canvas/components/Edges/shared/constants.d.ts.map +1 -0
  30. package/dist/canvas/components/Edges/shared/constants.js +55 -0
  31. package/dist/canvas/components/Edges/shared/geometry.cjs +489 -0
  32. package/dist/canvas/components/Edges/shared/geometry.d.ts +20 -0
  33. package/dist/canvas/components/Edges/shared/geometry.d.ts.map +1 -0
  34. package/dist/canvas/components/Edges/shared/geometry.js +416 -0
  35. package/dist/canvas/components/Edges/shared/hooks/index.cjs +48 -0
  36. package/dist/canvas/components/Edges/shared/hooks/index.d.ts +5 -0
  37. package/dist/canvas/components/Edges/shared/hooks/index.d.ts.map +1 -0
  38. package/dist/canvas/components/Edges/shared/hooks/index.js +5 -0
  39. package/dist/canvas/components/Edges/shared/hooks/useEdgeGeometry.cjs +103 -0
  40. package/dist/canvas/components/Edges/shared/hooks/useEdgeGeometry.d.ts +30 -0
  41. package/dist/canvas/components/Edges/shared/hooks/useEdgeGeometry.d.ts.map +1 -0
  42. package/dist/canvas/components/Edges/shared/hooks/useEdgeGeometry.js +69 -0
  43. package/dist/canvas/components/Edges/shared/hooks/useEdgeWaypointWriter.cjs +69 -0
  44. package/dist/canvas/components/Edges/shared/hooks/useEdgeWaypointWriter.d.ts +3 -0
  45. package/dist/canvas/components/Edges/shared/hooks/useEdgeWaypointWriter.d.ts.map +1 -0
  46. package/dist/canvas/components/Edges/shared/hooks/useEdgeWaypointWriter.js +35 -0
  47. package/dist/canvas/components/Edges/shared/hooks/useExecutionEdge.cjs +57 -0
  48. package/dist/canvas/components/Edges/shared/hooks/useExecutionEdge.d.ts +13 -0
  49. package/dist/canvas/components/Edges/shared/hooks/useExecutionEdge.d.ts.map +1 -0
  50. package/dist/canvas/components/Edges/shared/hooks/useExecutionEdge.js +23 -0
  51. package/dist/canvas/components/Edges/shared/hooks/useNodeDragRebalance.cjs +98 -0
  52. package/dist/canvas/components/Edges/shared/hooks/useNodeDragRebalance.d.ts +18 -0
  53. package/dist/canvas/components/Edges/shared/hooks/useNodeDragRebalance.d.ts.map +1 -0
  54. package/dist/canvas/components/Edges/shared/hooks/useNodeDragRebalance.js +64 -0
  55. package/dist/canvas/components/Edges/shared/hooks/useWaypointEditor.cjs +184 -0
  56. package/dist/canvas/components/Edges/shared/hooks/useWaypointEditor.d.ts +23 -0
  57. package/dist/canvas/components/Edges/shared/hooks/useWaypointEditor.d.ts.map +1 -0
  58. package/dist/canvas/components/Edges/shared/hooks/useWaypointEditor.js +150 -0
  59. package/dist/canvas/components/Edges/shared/primitives/EdgeArrow.cjs +57 -0
  60. package/dist/canvas/components/Edges/shared/primitives/EdgeArrow.d.ts +10 -0
  61. package/dist/canvas/components/Edges/shared/primitives/EdgeArrow.d.ts.map +1 -0
  62. package/dist/canvas/components/Edges/shared/primitives/EdgeArrow.js +23 -0
  63. package/dist/canvas/components/Edges/shared/primitives/EdgeLabel.cjs +66 -0
  64. package/dist/canvas/components/Edges/shared/primitives/EdgeLabel.d.ts +8 -0
  65. package/dist/canvas/components/Edges/shared/primitives/EdgeLabel.d.ts.map +1 -0
  66. package/dist/canvas/components/Edges/shared/primitives/EdgeLabel.js +32 -0
  67. package/dist/canvas/components/Edges/shared/primitives/EdgePath.cjs +84 -0
  68. package/dist/canvas/components/Edges/shared/primitives/EdgePath.d.ts +16 -0
  69. package/dist/canvas/components/Edges/shared/primitives/EdgePath.d.ts.map +1 -0
  70. package/dist/canvas/components/Edges/shared/primitives/EdgePath.js +50 -0
  71. package/dist/canvas/components/Edges/shared/primitives/SegmentDragHandle.cjs +117 -0
  72. package/dist/canvas/components/Edges/shared/primitives/SegmentDragHandle.d.ts +9 -0
  73. package/dist/canvas/components/Edges/shared/primitives/SegmentDragHandle.d.ts.map +1 -0
  74. package/dist/canvas/components/Edges/shared/primitives/SegmentDragHandle.js +83 -0
  75. package/dist/canvas/components/Edges/shared/primitives/WaypointHandle.cjs +75 -0
  76. package/dist/canvas/components/Edges/shared/primitives/WaypointHandle.d.ts +10 -0
  77. package/dist/canvas/components/Edges/shared/primitives/WaypointHandle.d.ts.map +1 -0
  78. package/dist/canvas/components/Edges/shared/primitives/WaypointHandle.js +41 -0
  79. package/dist/canvas/components/Edges/shared/primitives/index.cjs +52 -0
  80. package/dist/canvas/components/Edges/shared/primitives/index.d.ts +11 -0
  81. package/dist/canvas/components/Edges/shared/primitives/index.d.ts.map +1 -0
  82. package/dist/canvas/components/Edges/shared/primitives/index.js +6 -0
  83. package/dist/canvas/components/Edges/shared/resolveEdgeColor.cjs +46 -0
  84. package/dist/canvas/components/Edges/shared/resolveEdgeColor.d.ts +11 -0
  85. package/dist/canvas/components/Edges/shared/resolveEdgeColor.d.ts.map +1 -0
  86. package/dist/canvas/components/Edges/shared/resolveEdgeColor.js +12 -0
  87. package/dist/canvas/components/Edges/shared/routing/defaultEdgeRouter.cjs +51 -0
  88. package/dist/canvas/components/Edges/shared/routing/defaultEdgeRouter.d.ts +3 -0
  89. package/dist/canvas/components/Edges/shared/routing/defaultEdgeRouter.d.ts.map +1 -0
  90. package/dist/canvas/components/Edges/shared/routing/defaultEdgeRouter.js +17 -0
  91. package/dist/canvas/components/Edges/shared/routing/index.cjs +43 -0
  92. package/dist/canvas/components/Edges/shared/routing/index.d.ts +4 -0
  93. package/dist/canvas/components/Edges/shared/routing/index.d.ts.map +1 -0
  94. package/dist/canvas/components/Edges/shared/routing/index.js +3 -0
  95. package/dist/canvas/components/Edges/shared/routing/types.cjs +18 -0
  96. package/dist/canvas/components/Edges/shared/routing/types.d.ts +33 -0
  97. package/dist/canvas/components/Edges/shared/routing/types.d.ts.map +1 -0
  98. package/dist/canvas/components/Edges/shared/routing/types.js +0 -0
  99. package/dist/canvas/components/Edges/shared/routing/useGraphRouter.cjs +175 -0
  100. package/dist/canvas/components/Edges/shared/routing/useGraphRouter.d.ts +5 -0
  101. package/dist/canvas/components/Edges/shared/routing/useGraphRouter.d.ts.map +1 -0
  102. package/dist/canvas/components/Edges/shared/routing/useGraphRouter.js +138 -0
  103. package/dist/canvas/components/Edges/shared/types.cjs +18 -0
  104. package/dist/canvas/components/Edges/shared/types.d.ts +36 -0
  105. package/dist/canvas/components/Edges/shared/types.d.ts.map +1 -0
  106. package/dist/canvas/components/Edges/shared/types.js +0 -0
  107. package/dist/canvas/components/Edges/shared/waypoints.cjs +216 -0
  108. package/dist/canvas/components/Edges/shared/waypoints.d.ts +17 -0
  109. package/dist/canvas/components/Edges/shared/waypoints.d.ts.map +1 -0
  110. package/dist/canvas/components/Edges/shared/waypoints.js +158 -0
  111. package/dist/canvas/hooks/useEdgePath.cjs +6 -22
  112. package/dist/canvas/hooks/useEdgePath.d.ts +1 -1
  113. package/dist/canvas/hooks/useEdgePath.d.ts.map +1 -1
  114. package/dist/canvas/hooks/useEdgePath.js +5 -21
  115. package/dist/canvas/styles/tailwind.canvas.css +1 -1
  116. package/dist/canvas/utils/handle-positioning.cjs +62 -0
  117. package/dist/canvas/utils/handle-positioning.d.ts +2 -0
  118. package/dist/canvas/utils/handle-positioning.d.ts.map +1 -0
  119. package/dist/canvas/utils/handle-positioning.js +28 -0
  120. package/dist/canvas/utils/index.cjs +21 -14
  121. package/dist/canvas/utils/index.d.ts +1 -0
  122. package/dist/canvas/utils/index.d.ts.map +1 -1
  123. package/dist/canvas/utils/index.js +1 -0
  124. package/package.json +2 -2
@@ -32,6 +32,7 @@ const react_cjs_namespaceObject = require("../../xyflow/react.cjs");
32
32
  const external_react_namespaceObject = require("react");
33
33
  const CanvasEventBus_cjs_namespaceObject = require("../../utils/CanvasEventBus.cjs");
34
34
  const CssUtil_cjs_namespaceObject = require("../../utils/CssUtil.cjs");
35
+ const handle_positioning_cjs_namespaceObject = require("../../utils/handle-positioning.cjs");
35
36
  const external_ButtonHandleLayoutUtils_cjs_namespaceObject = require("./ButtonHandleLayoutUtils.cjs");
36
37
  const external_ButtonHandleStyleUtils_cjs_namespaceObject = require("./ButtonHandleStyleUtils.cjs");
37
38
  const external_HandleButton_cjs_namespaceObject = require("./HandleButton.cjs");
@@ -68,7 +69,7 @@ const ButtonHandleBase = ({ id, nodeId, type, position, connectionPosition = pos
68
69
  const positionPercent = (0, external_react_namespaceObject.useMemo)(()=>{
69
70
  const relevantSize = isVertical ? nodeWidth : nodeHeight;
70
71
  if (relevantSize && relevantSize > 0) {
71
- const gridPositions = (0, external_ButtonHandleStyleUtils_cjs_namespaceObject.calculateGridAlignedHandlePositions)(relevantSize, total);
72
+ const gridPositions = (0, handle_positioning_cjs_namespaceObject.calculateGridAlignedHandlePositions)(relevantSize, total);
72
73
  const pixelPosition = gridPositions[index] ?? relevantSize / 2;
73
74
  return (0, external_ButtonHandleStyleUtils_cjs_namespaceObject.pixelToPercent)(pixelPosition, relevantSize);
74
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonHandle.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/ButtonHandle/ButtonHandle.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ButtonHandle.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/ButtonHandle/ButtonHandle.tsx"],"names":[],"mappings":"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"}
@@ -3,8 +3,9 @@ import { Handle, Position } from "../../xyflow/react.js";
3
3
  import { memo, useCallback, useMemo, useRef, useState } from "react";
4
4
  import { canvasEventBus } from "../../utils/CanvasEventBus.js";
5
5
  import { cx } from "../../utils/CssUtil.js";
6
+ import { calculateGridAlignedHandlePositions } from "../../utils/handle-positioning.js";
6
7
  import { getHandleActionPortal, getInwardHandleLayout } from "./ButtonHandleLayoutUtils.js";
7
- import { calculateGridAlignedHandlePositions, pixelToPercent } from "./ButtonHandleStyleUtils.js";
8
+ import { pixelToPercent } from "./ButtonHandleStyleUtils.js";
8
9
  import { HandleButton, HandleHoverBridge } from "./HandleButton.js";
9
10
  import { HandleLabel } from "./HandleLabel.js";
10
11
  import { HandleNotch } from "./HandleNotch.js";
@@ -27,48 +27,19 @@ __webpack_require__.d(__webpack_exports__, {
27
27
  leftPositionForHandle: ()=>leftPositionForHandle,
28
28
  topPositionForHandle: ()=>topPositionForHandle,
29
29
  transformForHandle: ()=>transformForHandle,
30
- snapToGrid: ()=>snapToGrid,
31
30
  HANDLE_CROSS_AXIS_SIZE_PX: ()=>HANDLE_CROSS_AXIS_SIZE_PX,
32
31
  heightForHandleWithPosition: ()=>heightForHandleWithPosition,
33
32
  HANDLE_EDGE_COVERAGE_RATIO: ()=>HANDLE_EDGE_COVERAGE_RATIO,
34
33
  bottomPositionForHandle: ()=>bottomPositionForHandle,
35
- calculateGridAlignedHandlePositions: ()=>calculateGridAlignedHandlePositions,
36
34
  pixelToPercent: ()=>pixelToPercent,
37
35
  rightPositionForHandle: ()=>rightPositionForHandle,
38
36
  widthForHandleWithPosition: ()=>widthForHandleWithPosition
39
37
  });
40
38
  const react_cjs_namespaceObject = require("../../xyflow/react.cjs");
41
- const external_constants_cjs_namespaceObject = require("../../constants.cjs");
42
39
  const isHorizontalEdge = (position)=>position === react_cjs_namespaceObject.Position.Top || position === react_cjs_namespaceObject.Position.Bottom;
43
40
  const isVerticalEdge = (position)=>position === react_cjs_namespaceObject.Position.Left || position === react_cjs_namespaceObject.Position.Right;
44
41
  const HANDLE_CROSS_AXIS_SIZE_PX = 24;
45
42
  const HANDLE_EDGE_COVERAGE_RATIO = 0.5;
46
- const snapToGrid = (value, gridSize = external_constants_cjs_namespaceObject.GRID_SPACING)=>Math.round(value / gridSize) * gridSize;
47
- const calculateGridAlignedHandlePositions = (nodeSize, numHandles, gridSize = external_constants_cjs_namespaceObject.GRID_SPACING)=>{
48
- if (0 === numHandles) return [];
49
- if (nodeSize <= 0) return [];
50
- if (1 === numHandles) return [
51
- snapToGrid(nodeSize / 2, gridSize)
52
- ];
53
- const idealSpacing = nodeSize / (numHandles + 1);
54
- if (nodeSize % gridSize !== 0) {
55
- const positions = [];
56
- for(let i = 0; i < numHandles; i++)positions.push(idealSpacing * (i + 1));
57
- return positions;
58
- }
59
- const roundedSpacing = Math.round(idealSpacing / gridSize) * gridSize;
60
- let gridAlignedSpacing = Math.max(gridSize, roundedSpacing);
61
- let totalSpan = (numHandles - 1) * gridAlignedSpacing;
62
- let startPosition = (nodeSize - totalSpan) / 2;
63
- if (startPosition % gridSize !== 0 && gridAlignedSpacing > gridSize) {
64
- gridAlignedSpacing -= gridSize;
65
- totalSpan = (numHandles - 1) * gridAlignedSpacing;
66
- startPosition = (nodeSize - totalSpan) / 2;
67
- }
68
- const positions = [];
69
- for(let i = 0; i < numHandles; i++)positions.push(startPosition + i * gridAlignedSpacing);
70
- return positions;
71
- };
72
43
  const pixelToPercent = (pixelPosition, nodeSize)=>{
73
44
  if (0 === nodeSize) return 0;
74
45
  return pixelPosition / nodeSize * 100;
@@ -141,12 +112,10 @@ const transformForHandle = ({ position, customPositionAndOffsets })=>{
141
112
  exports.HANDLE_CROSS_AXIS_SIZE_PX = __webpack_exports__.HANDLE_CROSS_AXIS_SIZE_PX;
142
113
  exports.HANDLE_EDGE_COVERAGE_RATIO = __webpack_exports__.HANDLE_EDGE_COVERAGE_RATIO;
143
114
  exports.bottomPositionForHandle = __webpack_exports__.bottomPositionForHandle;
144
- exports.calculateGridAlignedHandlePositions = __webpack_exports__.calculateGridAlignedHandlePositions;
145
115
  exports.heightForHandleWithPosition = __webpack_exports__.heightForHandleWithPosition;
146
116
  exports.leftPositionForHandle = __webpack_exports__.leftPositionForHandle;
147
117
  exports.pixelToPercent = __webpack_exports__.pixelToPercent;
148
118
  exports.rightPositionForHandle = __webpack_exports__.rightPositionForHandle;
149
- exports.snapToGrid = __webpack_exports__.snapToGrid;
150
119
  exports.topPositionForHandle = __webpack_exports__.topPositionForHandle;
151
120
  exports.transformForHandle = __webpack_exports__.transformForHandle;
152
121
  exports.widthForHandleWithPosition = __webpack_exports__.widthForHandleWithPosition;
@@ -154,12 +123,10 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
154
123
  "HANDLE_CROSS_AXIS_SIZE_PX",
155
124
  "HANDLE_EDGE_COVERAGE_RATIO",
156
125
  "bottomPositionForHandle",
157
- "calculateGridAlignedHandlePositions",
158
126
  "heightForHandleWithPosition",
159
127
  "leftPositionForHandle",
160
128
  "pixelToPercent",
161
129
  "rightPositionForHandle",
162
- "snapToGrid",
163
130
  "topPositionForHandle",
164
131
  "transformForHandle",
165
132
  "widthForHandleWithPosition"
@@ -2,8 +2,6 @@ import { Position } from '../../xyflow/react.ts';
2
2
  import type { HandleConfigurationSpecificPosition } from '../../schema/node-definition/handle';
3
3
  export declare const HANDLE_CROSS_AXIS_SIZE_PX = 24;
4
4
  export declare const HANDLE_EDGE_COVERAGE_RATIO = 0.5;
5
- export declare const snapToGrid: (value: number, gridSize?: number) => number;
6
- export declare const calculateGridAlignedHandlePositions: (nodeSize: number, numHandles: number, gridSize?: number) => number[];
7
5
  export declare const pixelToPercent: (pixelPosition: number, nodeSize: number) => number;
8
6
  export declare const widthForHandleWithPosition: ({ position, numHandles, customWidth, }: {
9
7
  position: Position;
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonHandleStyleUtils.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/ButtonHandle/ButtonHandleStyleUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAEpE,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,qCAAqC,CAAC;AAgB/F,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAQ9C,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,EAAE,WAAU,MAAqB,KAAG,MAE3E,CAAC;AAmBF,eAAO,MAAM,mCAAmC,GAC9C,UAAU,MAAM,EAChB,YAAY,MAAM,EAClB,WAAU,MAAqB,KAC9B,MAAM,EA6CR,CAAC;AAQF,eAAO,MAAM,cAAc,GAAI,eAAe,MAAM,EAAE,UAAU,MAAM,KAAG,MAGxE,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,wCAIxC;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,KAAG,MAQH,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,yCAIzC;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,KAAG,MAQH,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,uEAMlC;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,KAAG,MAyBH,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,uEAMrC;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,KAAG,MAsBH,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,sEAMnC;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,KAAG,MAyBH,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,sEAMpC;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,KAAG,MAsBH,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,yCAGhC;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,wBAAwB,CAAC,EAAE,mCAAmC,CAAC;CAChE,KAAG,MAgBH,CAAC"}
1
+ {"version":3,"file":"ButtonHandleStyleUtils.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/ButtonHandle/ButtonHandleStyleUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AACpE,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,qCAAqC,CAAC;AAgB/F,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAQ9C,eAAO,MAAM,cAAc,GAAI,eAAe,MAAM,EAAE,UAAU,MAAM,KAAG,MAGxE,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,wCAIxC;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,KAAG,MAQH,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,yCAIzC;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,KAAG,MAQH,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,uEAMlC;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,KAAG,MAyBH,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,uEAMrC;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,KAAG,MAsBH,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,sEAMnC;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,KAAG,MAyBH,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,sEAMpC;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,KAAG,MAsBH,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,yCAGhC;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,wBAAwB,CAAC,EAAE,mCAAmC,CAAC;CAChE,KAAG,MAgBH,CAAC"}
@@ -1,35 +1,8 @@
1
1
  import { Position } from "../../xyflow/react.js";
2
- import { GRID_SPACING } from "../../constants.js";
3
2
  const isHorizontalEdge = (position)=>position === Position.Top || position === Position.Bottom;
4
3
  const isVerticalEdge = (position)=>position === Position.Left || position === Position.Right;
5
4
  const HANDLE_CROSS_AXIS_SIZE_PX = 24;
6
5
  const HANDLE_EDGE_COVERAGE_RATIO = 0.5;
7
- const snapToGrid = (value, gridSize = GRID_SPACING)=>Math.round(value / gridSize) * gridSize;
8
- const calculateGridAlignedHandlePositions = (nodeSize, numHandles, gridSize = GRID_SPACING)=>{
9
- if (0 === numHandles) return [];
10
- if (nodeSize <= 0) return [];
11
- if (1 === numHandles) return [
12
- snapToGrid(nodeSize / 2, gridSize)
13
- ];
14
- const idealSpacing = nodeSize / (numHandles + 1);
15
- if (nodeSize % gridSize !== 0) {
16
- const positions = [];
17
- for(let i = 0; i < numHandles; i++)positions.push(idealSpacing * (i + 1));
18
- return positions;
19
- }
20
- const roundedSpacing = Math.round(idealSpacing / gridSize) * gridSize;
21
- let gridAlignedSpacing = Math.max(gridSize, roundedSpacing);
22
- let totalSpan = (numHandles - 1) * gridAlignedSpacing;
23
- let startPosition = (nodeSize - totalSpan) / 2;
24
- if (startPosition % gridSize !== 0 && gridAlignedSpacing > gridSize) {
25
- gridAlignedSpacing -= gridSize;
26
- totalSpan = (numHandles - 1) * gridAlignedSpacing;
27
- startPosition = (nodeSize - totalSpan) / 2;
28
- }
29
- const positions = [];
30
- for(let i = 0; i < numHandles; i++)positions.push(startPosition + i * gridAlignedSpacing);
31
- return positions;
32
- };
33
6
  const pixelToPercent = (pixelPosition, nodeSize)=>{
34
7
  if (0 === nodeSize) return 0;
35
8
  return pixelPosition / nodeSize * 100;
@@ -99,4 +72,4 @@ const transformForHandle = ({ position, customPositionAndOffsets })=>{
99
72
  const horizontalPercent = hasCustomHorizontal ? '0%' : position === Position.Right ? '50%' : '-50%';
100
73
  return `translate(${horizontalPercent}, ${verticalPercent})`;
101
74
  };
102
- export { HANDLE_CROSS_AXIS_SIZE_PX, HANDLE_EDGE_COVERAGE_RATIO, bottomPositionForHandle, calculateGridAlignedHandlePositions, heightForHandleWithPosition, leftPositionForHandle, pixelToPercent, rightPositionForHandle, snapToGrid, topPositionForHandle, transformForHandle, widthForHandleWithPosition };
75
+ export { HANDLE_CROSS_AXIS_SIZE_PX, HANDLE_EDGE_COVERAGE_RATIO, bottomPositionForHandle, heightForHandleWithPosition, leftPositionForHandle, pixelToPercent, rightPositionForHandle, topPositionForHandle, transformForHandle, widthForHandleWithPosition };
@@ -34,6 +34,7 @@ const react_namespaceObject = require("@xyflow/react");
34
34
  const external_react_namespaceObject = require("react");
35
35
  const CanvasEventBus_cjs_namespaceObject = require("../../utils/CanvasEventBus.cjs");
36
36
  const CssUtil_cjs_namespaceObject = require("../../utils/CssUtil.cjs");
37
+ const handle_positioning_cjs_namespaceObject = require("../../utils/handle-positioning.cjs");
37
38
  const external_ButtonHandleStyleUtils_cjs_namespaceObject = require("./ButtonHandleStyleUtils.cjs");
38
39
  const external_HandleButton_cjs_namespaceObject = require("./HandleButton.cjs");
39
40
  const external_HandleLabel_cjs_namespaceObject = require("./HandleLabel.cjs");
@@ -320,7 +321,7 @@ function SmartHandle({ type, id, defaultPosition = 'source' === type ? react_nam
320
321
  if (total <= 1) return 50;
321
322
  const relevantSize = isVertical ? nodeWidth : nodeHeight;
322
323
  if (relevantSize && relevantSize > 0) {
323
- const gridPositions = (0, external_ButtonHandleStyleUtils_cjs_namespaceObject.calculateGridAlignedHandlePositions)(relevantSize, total);
324
+ const gridPositions = (0, handle_positioning_cjs_namespaceObject.calculateGridAlignedHandlePositions)(relevantSize, total);
324
325
  const pixelPosition = gridPositions[index] ?? relevantSize / 2;
325
326
  return (0, external_ButtonHandleStyleUtils_cjs_namespaceObject.pixelToPercent)(pixelPosition, relevantSize);
326
327
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SmartHandle.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/ButtonHandle/SmartHandle.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EAEhB,QAAQ,EAKT,MAAM,eAAe,CAAC;AAYvB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAaxD,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;IAErE,eAAe,CAAC,EAAE,QAAQ,CAAC;IAE3B,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;IAE7C,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAE5B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAM9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAMlB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAoED,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,SAAS,EAAE,UAAU,EACrB,UAAU,EAAE,WAAW,GACxB,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,2CAiEA;AAyUD,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,EAAE,EACF,eAAoE,EACpE,UAAmD,EACnD,KAAK,EACL,SAAS,EACT,SAAS,EACT,UAAU,EACV,KAAK,EACL,SAAS,EACT,oBAAoB,EACpB,UAAkB,EAClB,QAAgB,EAChB,WAAkB,EAClB,QAAQ,EACR,OAAc,EACd,WAAW,EACX,GAAG,IAAI,EACR,EAAE,gBAAgB,2CAgMlB;AASD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,2CAEtE;AAKD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,2CAEtE"}
1
+ {"version":3,"file":"SmartHandle.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/ButtonHandle/SmartHandle.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EAEhB,QAAQ,EAKT,MAAM,eAAe,CAAC;AAavB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAaxD,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;IAErE,eAAe,CAAC,EAAE,QAAQ,CAAC;IAE3B,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;IAE7C,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAE5B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAM9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAMlB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAoED,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,SAAS,EAAE,UAAU,EACrB,UAAU,EAAE,WAAW,GACxB,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,2CAiEA;AAyUD,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,EAAE,EACF,eAAoE,EACpE,UAAmD,EACnD,KAAK,EACL,SAAS,EACT,SAAS,EACT,UAAU,EACV,KAAK,EACL,SAAS,EACT,oBAAoB,EACpB,UAAkB,EAClB,QAAgB,EAChB,WAAkB,EAClB,QAAQ,EACR,OAAc,EACd,WAAW,EACX,GAAG,IAAI,EACR,EAAE,gBAAgB,2CAgMlB;AASD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,2CAEtE;AAKD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,2CAEtE"}
@@ -3,7 +3,8 @@ import { Handle, Position, useNodeId, useStore, useUpdateNodeInternals } from "@
3
3
  import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
4
4
  import { canvasEventBus } from "../../utils/CanvasEventBus.js";
5
5
  import { cx } from "../../utils/CssUtil.js";
6
- import { calculateGridAlignedHandlePositions, pixelToPercent } from "./ButtonHandleStyleUtils.js";
6
+ import { calculateGridAlignedHandlePositions } from "../../utils/handle-positioning.js";
7
+ import { pixelToPercent } from "./ButtonHandleStyleUtils.js";
7
8
  import { HandleButton } from "./HandleButton.js";
8
9
  import { HandleLabel } from "./HandleLabel.js";
9
10
  import { HandleNotch } from "./HandleNotch.js";
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ CanvasEdge: ()=>CanvasEdge_CanvasEdge
28
+ });
29
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
30
+ const react_cjs_namespaceObject = require("../../xyflow/react.cjs");
31
+ const external_react_namespaceObject = require("react");
32
+ const createPreviewNode_cjs_namespaceObject = require("../../utils/createPreviewNode.cjs");
33
+ const BaseCanvasModeProvider_cjs_namespaceObject = require("../BaseCanvas/BaseCanvasModeProvider.cjs");
34
+ const index_cjs_namespaceObject = require("../Toolbar/index.cjs");
35
+ const areEdgePropsEqual_cjs_namespaceObject = require("./shared/areEdgePropsEqual.cjs");
36
+ const constants_cjs_namespaceObject = require("./shared/constants.cjs");
37
+ const geometry_cjs_namespaceObject = require("./shared/geometry.cjs");
38
+ const hooks_index_cjs_namespaceObject = require("./shared/hooks/index.cjs");
39
+ const primitives_index_cjs_namespaceObject = require("./shared/primitives/index.cjs");
40
+ const resolveEdgeColor_cjs_namespaceObject = require("./shared/resolveEdgeColor.cjs");
41
+ const CanvasEdge_CanvasEdge = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(function({ id, selected, animated, source, target, sourceX, sourceY, sourcePosition = react_cjs_namespaceObject.Position.Right, targetX, targetY, targetPosition = react_cjs_namespaceObject.Position.Left, sourceHandleId, targetHandleId, style, data }) {
42
+ const isReadOnly = 'readonly' === (0, BaseCanvasModeProvider_cjs_namespaceObject.useBaseCanvasMode)().mode;
43
+ const [isHovered, setIsHovered] = (0, external_react_namespaceObject.useState)(false);
44
+ const onMouseEnter = (0, external_react_namespaceObject.useCallback)(()=>setIsHovered(true), []);
45
+ const onMouseLeave = (0, external_react_namespaceObject.useCallback)(()=>setIsHovered(false), []);
46
+ const pathRef = (0, external_react_namespaceObject.useRef)(null);
47
+ const routing = data?.routing ?? 'waypoint';
48
+ const storedWaypoints = data?.waypoints ?? constants_cjs_namespaceObject.EMPTY_WAYPOINTS;
49
+ const strokeStyle = data?.strokeStyle ?? 'solid';
50
+ const hideArrowHead = !!data?.hideArrowHead;
51
+ const label = data?.label;
52
+ const editingEnabled = !!data?.enableEditing && 'waypoint' === routing && !isReadOnly;
53
+ const waypoints = (0, hooks_index_cjs_namespaceObject.useNodeDragRebalance)({
54
+ edgeId: id,
55
+ source,
56
+ target,
57
+ sourceX,
58
+ sourceY,
59
+ sourcePosition,
60
+ targetX,
61
+ targetY,
62
+ targetPosition,
63
+ waypoints: storedWaypoints,
64
+ enabled: editingEnabled,
65
+ onChange: data?.onWaypointsChange
66
+ });
67
+ const routedWaypoints = data?.routedWaypoints ?? constants_cjs_namespaceObject.EMPTY_WAYPOINTS;
68
+ const effectiveWaypoints = waypoints.length > 0 ? waypoints : routedWaypoints;
69
+ const executionEnabled = !!data?.enableExecution;
70
+ const toolbarEnabled = !!data?.enableToolbar && !isReadOnly;
71
+ const previewEdge = (0, createPreviewNode_cjs_namespaceObject.isPreviewEdge)({
72
+ id,
73
+ source,
74
+ target
75
+ });
76
+ const geometry = (0, hooks_index_cjs_namespaceObject.useEdgeGeometry)({
77
+ routing,
78
+ sourceNodeId: source,
79
+ targetNodeId: target,
80
+ sourceHandleId,
81
+ targetHandleId,
82
+ sourceX,
83
+ sourceY,
84
+ sourcePosition,
85
+ targetX,
86
+ targetY,
87
+ targetPosition,
88
+ waypoints: effectiveWaypoints,
89
+ enableSegments: editingEnabled,
90
+ hideArrowHead
91
+ });
92
+ const editor = (0, hooks_index_cjs_namespaceObject.useWaypointEditor)({
93
+ edgeId: id,
94
+ waypoints,
95
+ pathPoints: geometry.pathPoints,
96
+ enabled: editingEnabled,
97
+ onChange: data?.onWaypointsChange
98
+ });
99
+ const execution = (0, hooks_index_cjs_namespaceObject.useExecutionEdge)({
100
+ edgeId: id,
101
+ target,
102
+ edgePath: geometry.edgePath,
103
+ enabled: executionEnabled
104
+ });
105
+ const isDiffRemoved = data?.isDiffRemoved ?? false;
106
+ const color = (0, resolveEdgeColor_cjs_namespaceObject.resolveEdgeColor)({
107
+ selected,
108
+ isHovered,
109
+ isInvalid: data?.isInvalid ?? false,
110
+ isDiffAdded: data?.isDiffAdded ?? false,
111
+ isDiffRemoved,
112
+ previewEdge,
113
+ statusColor: execution.statusColor
114
+ });
115
+ const toolbar = (0, index_cjs_namespaceObject.useEdgeToolbarState)({
116
+ edgeId: id,
117
+ pathElementRef: pathRef,
118
+ isHovered: toolbarEnabled && isHovered,
119
+ source,
120
+ target,
121
+ sourceHandleId,
122
+ targetHandleId,
123
+ sourcePosition,
124
+ targetPosition
125
+ });
126
+ const showEditingChrome = editingEnabled && (isHovered || selected || editor.isDragging);
127
+ const opacity = style?.opacity ?? 1;
128
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
129
+ children: [
130
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("g", {
131
+ onMouseEnter: onMouseEnter,
132
+ onMouseLeave: onMouseLeave,
133
+ onMouseMove: toolbarEnabled ? toolbar.handleMouseMoveOnPath : void 0,
134
+ children: [
135
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(primitives_index_cjs_namespaceObject.EdgePath, {
136
+ id: id,
137
+ d: geometry.edgePath,
138
+ color: color,
139
+ selected: selected,
140
+ animated: animated,
141
+ strokeStyle: previewEdge || isDiffRemoved ? 'dashed' : strokeStyle,
142
+ isReadOnly: isReadOnly,
143
+ style: style,
144
+ opacity: opacity,
145
+ pathRef: pathRef
146
+ }),
147
+ showEditingChrome && geometry.segments.map((segment, index)=>{
148
+ if (!(0, geometry_cjs_namespaceObject.isSegmentInteractable)(segment) || !(0, geometry_cjs_namespaceObject.isSegmentPerpendicular)(segment)) return null;
149
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(primitives_index_cjs_namespaceObject.SegmentDragHandle, {
150
+ segment: segment,
151
+ segmentIndex: index,
152
+ handlers: editor.segmentHandlers
153
+ }, segment.id);
154
+ }),
155
+ editingEnabled && waypoints.map((waypoint, index)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(primitives_index_cjs_namespaceObject.WaypointHandle, {
156
+ waypoint: waypoint,
157
+ index: index,
158
+ forceVisible: showEditingChrome,
159
+ handlers: editor.waypointHandlers
160
+ }, waypoint.id)),
161
+ !hideArrowHead && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(primitives_index_cjs_namespaceObject.EdgeArrow, {
162
+ target: {
163
+ x: targetX,
164
+ y: targetY
165
+ },
166
+ angle: geometry.arrow.angle,
167
+ offset: geometry.arrow.offset,
168
+ color: color,
169
+ opacity: opacity
170
+ }),
171
+ execution.animation,
172
+ 'string' == typeof label && label.length > 0 && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(primitives_index_cjs_namespaceObject.EdgeLabel, {
173
+ x: geometry.labelPoint.x,
174
+ y: geometry.labelPoint.y,
175
+ text: label,
176
+ selected: selected
177
+ })
178
+ ]
179
+ }),
180
+ toolbarEnabled && toolbar.showToolbar && toolbar.toolbarPositioning && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.EdgeToolbar, {
181
+ edgeId: id,
182
+ visible: toolbar.showToolbar,
183
+ positioning: toolbar.toolbarPositioning,
184
+ config: toolbar.config,
185
+ onMouseEnter: onMouseEnter,
186
+ onMouseLeave: onMouseLeave
187
+ })
188
+ ]
189
+ });
190
+ }, areEdgePropsEqual_cjs_namespaceObject.areEdgePropsEqual);
191
+ exports.CanvasEdge = __webpack_exports__.CanvasEdge;
192
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
193
+ "CanvasEdge"
194
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
195
+ Object.defineProperty(exports, '__esModule', {
196
+ value: true
197
+ });
@@ -0,0 +1,3 @@
1
+ import type { CanvasEdgeProps } from './shared/types';
2
+ export declare const CanvasEdge: import("react").NamedExoticComponent<CanvasEdgeProps>;
3
+ //# sourceMappingURL=CanvasEdge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanvasEdge.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/Edges/CanvasEdge.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAWtD,eAAO,MAAM,UAAU,uDAgMF,CAAC"}
@@ -0,0 +1,163 @@
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { Position } from "../../xyflow/react.js";
3
+ import { memo, useCallback, useRef, useState } from "react";
4
+ import { isPreviewEdge } from "../../utils/createPreviewNode.js";
5
+ import { useBaseCanvasMode } from "../BaseCanvas/BaseCanvasModeProvider.js";
6
+ import { EdgeToolbar, useEdgeToolbarState } from "../Toolbar/index.js";
7
+ import { areEdgePropsEqual } from "./shared/areEdgePropsEqual.js";
8
+ import { EMPTY_WAYPOINTS } from "./shared/constants.js";
9
+ import { isSegmentInteractable, isSegmentPerpendicular } from "./shared/geometry.js";
10
+ import { useEdgeGeometry, useExecutionEdge, useNodeDragRebalance, useWaypointEditor } from "./shared/hooks/index.js";
11
+ import { EdgeArrow, EdgeLabel, EdgePath, SegmentDragHandle, WaypointHandle } from "./shared/primitives/index.js";
12
+ import { resolveEdgeColor } from "./shared/resolveEdgeColor.js";
13
+ const CanvasEdge_CanvasEdge = /*#__PURE__*/ memo(function({ id, selected, animated, source, target, sourceX, sourceY, sourcePosition = Position.Right, targetX, targetY, targetPosition = Position.Left, sourceHandleId, targetHandleId, style, data }) {
14
+ const isReadOnly = 'readonly' === useBaseCanvasMode().mode;
15
+ const [isHovered, setIsHovered] = useState(false);
16
+ const onMouseEnter = useCallback(()=>setIsHovered(true), []);
17
+ const onMouseLeave = useCallback(()=>setIsHovered(false), []);
18
+ const pathRef = useRef(null);
19
+ const routing = data?.routing ?? 'waypoint';
20
+ const storedWaypoints = data?.waypoints ?? EMPTY_WAYPOINTS;
21
+ const strokeStyle = data?.strokeStyle ?? 'solid';
22
+ const hideArrowHead = !!data?.hideArrowHead;
23
+ const label = data?.label;
24
+ const editingEnabled = !!data?.enableEditing && 'waypoint' === routing && !isReadOnly;
25
+ const waypoints = useNodeDragRebalance({
26
+ edgeId: id,
27
+ source,
28
+ target,
29
+ sourceX,
30
+ sourceY,
31
+ sourcePosition,
32
+ targetX,
33
+ targetY,
34
+ targetPosition,
35
+ waypoints: storedWaypoints,
36
+ enabled: editingEnabled,
37
+ onChange: data?.onWaypointsChange
38
+ });
39
+ const routedWaypoints = data?.routedWaypoints ?? EMPTY_WAYPOINTS;
40
+ const effectiveWaypoints = waypoints.length > 0 ? waypoints : routedWaypoints;
41
+ const executionEnabled = !!data?.enableExecution;
42
+ const toolbarEnabled = !!data?.enableToolbar && !isReadOnly;
43
+ const previewEdge = isPreviewEdge({
44
+ id,
45
+ source,
46
+ target
47
+ });
48
+ const geometry = useEdgeGeometry({
49
+ routing,
50
+ sourceNodeId: source,
51
+ targetNodeId: target,
52
+ sourceHandleId,
53
+ targetHandleId,
54
+ sourceX,
55
+ sourceY,
56
+ sourcePosition,
57
+ targetX,
58
+ targetY,
59
+ targetPosition,
60
+ waypoints: effectiveWaypoints,
61
+ enableSegments: editingEnabled,
62
+ hideArrowHead
63
+ });
64
+ const editor = useWaypointEditor({
65
+ edgeId: id,
66
+ waypoints,
67
+ pathPoints: geometry.pathPoints,
68
+ enabled: editingEnabled,
69
+ onChange: data?.onWaypointsChange
70
+ });
71
+ const execution = useExecutionEdge({
72
+ edgeId: id,
73
+ target,
74
+ edgePath: geometry.edgePath,
75
+ enabled: executionEnabled
76
+ });
77
+ const isDiffRemoved = data?.isDiffRemoved ?? false;
78
+ const color = resolveEdgeColor({
79
+ selected,
80
+ isHovered,
81
+ isInvalid: data?.isInvalid ?? false,
82
+ isDiffAdded: data?.isDiffAdded ?? false,
83
+ isDiffRemoved,
84
+ previewEdge,
85
+ statusColor: execution.statusColor
86
+ });
87
+ const toolbar = useEdgeToolbarState({
88
+ edgeId: id,
89
+ pathElementRef: pathRef,
90
+ isHovered: toolbarEnabled && isHovered,
91
+ source,
92
+ target,
93
+ sourceHandleId,
94
+ targetHandleId,
95
+ sourcePosition,
96
+ targetPosition
97
+ });
98
+ const showEditingChrome = editingEnabled && (isHovered || selected || editor.isDragging);
99
+ const opacity = style?.opacity ?? 1;
100
+ return /*#__PURE__*/ jsxs(Fragment, {
101
+ children: [
102
+ /*#__PURE__*/ jsxs("g", {
103
+ onMouseEnter: onMouseEnter,
104
+ onMouseLeave: onMouseLeave,
105
+ onMouseMove: toolbarEnabled ? toolbar.handleMouseMoveOnPath : void 0,
106
+ children: [
107
+ /*#__PURE__*/ jsx(EdgePath, {
108
+ id: id,
109
+ d: geometry.edgePath,
110
+ color: color,
111
+ selected: selected,
112
+ animated: animated,
113
+ strokeStyle: previewEdge || isDiffRemoved ? 'dashed' : strokeStyle,
114
+ isReadOnly: isReadOnly,
115
+ style: style,
116
+ opacity: opacity,
117
+ pathRef: pathRef
118
+ }),
119
+ showEditingChrome && geometry.segments.map((segment, index)=>{
120
+ if (!isSegmentInteractable(segment) || !isSegmentPerpendicular(segment)) return null;
121
+ return /*#__PURE__*/ jsx(SegmentDragHandle, {
122
+ segment: segment,
123
+ segmentIndex: index,
124
+ handlers: editor.segmentHandlers
125
+ }, segment.id);
126
+ }),
127
+ editingEnabled && waypoints.map((waypoint, index)=>/*#__PURE__*/ jsx(WaypointHandle, {
128
+ waypoint: waypoint,
129
+ index: index,
130
+ forceVisible: showEditingChrome,
131
+ handlers: editor.waypointHandlers
132
+ }, waypoint.id)),
133
+ !hideArrowHead && /*#__PURE__*/ jsx(EdgeArrow, {
134
+ target: {
135
+ x: targetX,
136
+ y: targetY
137
+ },
138
+ angle: geometry.arrow.angle,
139
+ offset: geometry.arrow.offset,
140
+ color: color,
141
+ opacity: opacity
142
+ }),
143
+ execution.animation,
144
+ 'string' == typeof label && label.length > 0 && /*#__PURE__*/ jsx(EdgeLabel, {
145
+ x: geometry.labelPoint.x,
146
+ y: geometry.labelPoint.y,
147
+ text: label,
148
+ selected: selected
149
+ })
150
+ ]
151
+ }),
152
+ toolbarEnabled && toolbar.showToolbar && toolbar.toolbarPositioning && /*#__PURE__*/ jsx(EdgeToolbar, {
153
+ edgeId: id,
154
+ visible: toolbar.showToolbar,
155
+ positioning: toolbar.toolbarPositioning,
156
+ config: toolbar.config,
157
+ onMouseEnter: onMouseEnter,
158
+ onMouseLeave: onMouseLeave
159
+ })
160
+ ]
161
+ });
162
+ }, areEdgePropsEqual);
163
+ export { CanvasEdge_CanvasEdge as CanvasEdge };