@uipath/apollo-react 4.14.1 → 4.15.0-pr605.2728a1c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/canvas/components/AddNodePanel/AddNodeManager.cjs +106 -10
- package/dist/canvas/components/AddNodePanel/AddNodeManager.d.ts.map +1 -1
- package/dist/canvas/components/AddNodePanel/AddNodeManager.js +106 -10
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.cjs +38 -4
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.d.ts +5 -1
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.d.ts.map +1 -1
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.js +38 -4
- package/dist/canvas/components/AgentCanvas/agent-flow.manifest.d.ts +1 -0
- package/dist/canvas/components/AgentCanvas/agent-flow.manifest.d.ts.map +1 -1
- package/dist/canvas/components/BaseNode/BaseNode.cjs +11 -5
- package/dist/canvas/components/BaseNode/BaseNode.d.ts +2 -1
- package/dist/canvas/components/BaseNode/BaseNode.d.ts.map +1 -1
- package/dist/canvas/components/BaseNode/BaseNode.js +9 -6
- package/dist/canvas/components/BaseNode/BaseNode.types.d.ts +3 -0
- package/dist/canvas/components/BaseNode/BaseNode.types.d.ts.map +1 -1
- package/dist/canvas/components/ButtonHandle/ButtonHandle.cjs +222 -13
- package/dist/canvas/components/ButtonHandle/ButtonHandle.d.ts +10 -5
- package/dist/canvas/components/ButtonHandle/ButtonHandle.d.ts.map +1 -1
- package/dist/canvas/components/ButtonHandle/ButtonHandle.js +223 -14
- package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.cjs +10 -2
- package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.d.ts +2 -0
- package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.d.ts.map +1 -1
- package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.js +5 -3
- package/dist/canvas/components/ButtonHandle/HandleButton.cjs +17 -2
- package/dist/canvas/components/ButtonHandle/HandleButton.d.ts +10 -1
- package/dist/canvas/components/ButtonHandle/HandleButton.d.ts.map +1 -1
- package/dist/canvas/components/ButtonHandle/HandleButton.js +17 -2
- package/dist/canvas/components/ButtonHandle/useButtonHandles.cjs +4 -2
- package/dist/canvas/components/ButtonHandle/useButtonHandles.d.ts +2 -1
- package/dist/canvas/components/ButtonHandle/useButtonHandles.d.ts.map +1 -1
- package/dist/canvas/components/ButtonHandle/useButtonHandles.js +4 -2
- package/dist/canvas/components/Edges/SequenceEdge.cjs +18 -12
- package/dist/canvas/components/Edges/SequenceEdge.d.ts.map +1 -1
- package/dist/canvas/components/Edges/SequenceEdge.js +18 -12
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.cjs +34 -25
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.d.ts +8 -2
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.d.ts.map +1 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.js +36 -27
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.cjs +9 -2
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.d.ts.map +1 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.js +10 -3
- package/dist/canvas/components/HierarchicalCanvas/index.d.ts +1 -1
- package/dist/canvas/components/HierarchicalCanvas/index.d.ts.map +1 -1
- package/dist/canvas/components/LoopNode/LoopCanvasNode.cjs +86 -0
- package/dist/canvas/components/LoopNode/LoopCanvasNode.d.ts +6 -0
- package/dist/canvas/components/LoopNode/LoopCanvasNode.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/LoopCanvasNode.js +52 -0
- package/dist/canvas/components/LoopNode/LoopNode.cjs +434 -0
- package/dist/canvas/components/LoopNode/LoopNode.constants.cjs +93 -0
- package/dist/canvas/components/LoopNode/LoopNode.constants.d.ts +16 -0
- package/dist/canvas/components/LoopNode/LoopNode.constants.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/LoopNode.constants.js +17 -0
- package/dist/canvas/components/LoopNode/LoopNode.d.ts +5 -0
- package/dist/canvas/components/LoopNode/LoopNode.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/LoopNode.helpers.cjs +185 -0
- package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts +58 -0
- package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/LoopNode.helpers.js +124 -0
- package/dist/canvas/components/LoopNode/LoopNode.js +400 -0
- package/dist/canvas/components/LoopNode/LoopNode.sequence.cjs +433 -0
- package/dist/canvas/components/LoopNode/LoopNode.sequence.d.ts +57 -0
- package/dist/canvas/components/LoopNode/LoopNode.sequence.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/LoopNode.sequence.js +387 -0
- package/dist/canvas/components/LoopNode/LoopNode.types.cjs +18 -0
- package/dist/canvas/components/LoopNode/LoopNode.types.d.ts +22 -0
- package/dist/canvas/components/LoopNode/LoopNode.types.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/LoopNode.types.js +0 -0
- package/dist/canvas/components/LoopNode/LoopNodePreview.cjs +60 -0
- package/dist/canvas/components/LoopNode/LoopNodePreview.d.ts +9 -0
- package/dist/canvas/components/LoopNode/LoopNodePreview.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/LoopNodePreview.js +26 -0
- package/dist/canvas/components/LoopNode/index.cjs +79 -0
- package/dist/canvas/components/LoopNode/index.d.ts +5 -0
- package/dist/canvas/components/LoopNode/index.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/index.js +4 -0
- package/dist/canvas/components/NodeViewportOverlay.cjs +63 -0
- package/dist/canvas/components/NodeViewportOverlay.d.ts +22 -0
- package/dist/canvas/components/NodeViewportOverlay.d.ts.map +1 -0
- package/dist/canvas/components/NodeViewportOverlay.js +29 -0
- package/dist/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.cjs +1 -1
- package/dist/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.js +1 -1
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.cjs +41 -24
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.d.ts.map +1 -1
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.js +43 -26
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.cjs +10 -3
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.d.ts +1 -1
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.d.ts.map +1 -1
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.js +10 -3
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.types.d.ts +1 -0
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.types.d.ts.map +1 -1
- package/dist/canvas/components/index.cjs +27 -20
- package/dist/canvas/components/index.d.ts +1 -0
- package/dist/canvas/components/index.d.ts.map +1 -1
- package/dist/canvas/components/index.js +1 -0
- package/dist/canvas/constants.cjs +4 -0
- package/dist/canvas/constants.d.ts +1 -0
- package/dist/canvas/constants.d.ts.map +1 -1
- package/dist/canvas/constants.js +2 -1
- package/dist/canvas/core/NodeTypeRegistry.cjs +50 -26
- package/dist/canvas/core/NodeTypeRegistry.d.ts +10 -5
- package/dist/canvas/core/NodeTypeRegistry.d.ts.map +1 -1
- package/dist/canvas/core/NodeTypeRegistry.js +50 -26
- package/dist/canvas/core/useNodeTypeRegistry.cjs +13 -3
- package/dist/canvas/core/useNodeTypeRegistry.d.ts +2 -1
- package/dist/canvas/core/useNodeTypeRegistry.d.ts.map +1 -1
- package/dist/canvas/core/useNodeTypeRegistry.js +11 -4
- package/dist/canvas/hooks/useAddNodeOnConnectEnd.cjs +22 -23
- package/dist/canvas/hooks/useAddNodeOnConnectEnd.d.ts.map +1 -1
- package/dist/canvas/hooks/useAddNodeOnConnectEnd.js +23 -24
- package/dist/canvas/hooks/usePreviewNode.cjs +7 -3
- package/dist/canvas/hooks/usePreviewNode.d.ts.map +1 -1
- package/dist/canvas/hooks/usePreviewNode.js +7 -3
- package/dist/canvas/locales/de.cjs +1 -1
- package/dist/canvas/locales/de.d.ts.map +1 -1
- package/dist/canvas/locales/de.js +1 -1
- package/dist/canvas/locales/es-MX.cjs +1 -1
- package/dist/canvas/locales/es-MX.d.ts.map +1 -1
- package/dist/canvas/locales/es-MX.js +1 -1
- package/dist/canvas/locales/es.cjs +1 -1
- package/dist/canvas/locales/es.d.ts.map +1 -1
- package/dist/canvas/locales/es.js +1 -1
- package/dist/canvas/locales/fr.cjs +1 -1
- package/dist/canvas/locales/fr.d.ts.map +1 -1
- package/dist/canvas/locales/fr.js +1 -1
- package/dist/canvas/locales/ja.cjs +1 -1
- package/dist/canvas/locales/ja.d.ts.map +1 -1
- package/dist/canvas/locales/ja.js +1 -1
- package/dist/canvas/locales/ko.cjs +1 -1
- package/dist/canvas/locales/ko.d.ts.map +1 -1
- package/dist/canvas/locales/ko.js +1 -1
- package/dist/canvas/locales/pt-BR.cjs +1 -1
- package/dist/canvas/locales/pt-BR.d.ts.map +1 -1
- package/dist/canvas/locales/pt-BR.js +1 -1
- package/dist/canvas/locales/pt.cjs +1 -1
- package/dist/canvas/locales/pt.d.ts.map +1 -1
- package/dist/canvas/locales/pt.js +1 -1
- package/dist/canvas/locales/tr.cjs +1 -1
- package/dist/canvas/locales/tr.d.ts.map +1 -1
- package/dist/canvas/locales/tr.js +1 -1
- package/dist/canvas/locales/zh-CN.cjs +1 -1
- package/dist/canvas/locales/zh-CN.d.ts.map +1 -1
- package/dist/canvas/locales/zh-CN.js +1 -1
- package/dist/canvas/locales/zh-TW.cjs +1 -1
- package/dist/canvas/locales/zh-TW.d.ts.map +1 -1
- package/dist/canvas/locales/zh-TW.js +1 -1
- package/dist/canvas/schema/node-definition/handle.cjs +10 -2
- package/dist/canvas/schema/node-definition/handle.d.ts +9 -0
- package/dist/canvas/schema/node-definition/handle.d.ts.map +1 -1
- package/dist/canvas/schema/node-definition/handle.js +6 -1
- package/dist/canvas/schema/node-definition/index.cjs +4 -1
- package/dist/canvas/schema/node-definition/index.d.ts +3 -3
- package/dist/canvas/schema/node-definition/index.d.ts.map +1 -1
- package/dist/canvas/schema/node-definition/index.js +2 -2
- package/dist/canvas/schema/node-definition/node-manifest.d.ts +4 -0
- package/dist/canvas/schema/node-definition/node-manifest.d.ts.map +1 -1
- package/dist/canvas/storybook-utils/hooks/useCanvasStory.d.ts +6 -0
- package/dist/canvas/storybook-utils/hooks/useCanvasStory.d.ts.map +1 -1
- package/dist/canvas/storybook-utils/manifests/index.d.ts +1 -0
- package/dist/canvas/storybook-utils/manifests/index.d.ts.map +1 -1
- package/dist/canvas/storybook-utils/manifests/node-definitions.d.ts.map +1 -1
- package/dist/canvas/storybook-utils/mocks/nodes.d.ts +1 -1
- package/dist/canvas/storybook-utils/mocks/nodes.d.ts.map +1 -1
- package/dist/canvas/styles/reactflow-reset.css +2 -2
- package/dist/canvas/styles/tailwind.canvas.css +1 -1
- package/dist/canvas/utils/NodeUtils.cjs +25 -9
- package/dist/canvas/utils/NodeUtils.d.ts +7 -0
- package/dist/canvas/utils/NodeUtils.d.ts.map +1 -1
- package/dist/canvas/utils/NodeUtils.js +13 -6
- package/dist/canvas/utils/collapse.cjs +13 -6
- package/dist/canvas/utils/collapse.d.ts +2 -2
- package/dist/canvas/utils/collapse.d.ts.map +1 -1
- package/dist/canvas/utils/collapse.js +9 -2
- package/dist/canvas/utils/container-sizing.cjs +169 -0
- package/dist/canvas/utils/container-sizing.d.ts +23 -0
- package/dist/canvas/utils/container-sizing.d.ts.map +1 -0
- package/dist/canvas/utils/container-sizing.js +132 -0
- package/dist/canvas/utils/createPreviewGraph.cjs +126 -0
- package/dist/canvas/utils/createPreviewGraph.d.ts +37 -0
- package/dist/canvas/utils/createPreviewGraph.d.ts.map +1 -0
- package/dist/canvas/utils/createPreviewGraph.js +83 -0
- package/dist/canvas/utils/createPreviewNode.cjs +59 -12
- package/dist/canvas/utils/createPreviewNode.d.ts +10 -2
- package/dist/canvas/utils/createPreviewNode.d.ts.map +1 -1
- package/dist/canvas/utils/createPreviewNode.js +50 -12
- package/dist/canvas/utils/index.cjs +40 -26
- package/dist/canvas/utils/index.d.ts +3 -1
- package/dist/canvas/utils/index.d.ts.map +1 -1
- package/dist/canvas/utils/index.js +3 -1
- package/dist/canvas/utils/manifest-resolver.cjs +8 -0
- package/dist/canvas/utils/manifest-resolver.d.ts +1 -0
- package/dist/canvas/utils/manifest-resolver.d.ts.map +1 -1
- package/dist/canvas/utils/manifest-resolver.js +6 -1
- package/dist/material/components/ap-tool-call/locales/de.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/de.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/de.js +1 -1
- package/dist/material/components/ap-tool-call/locales/es-MX.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/es-MX.js +1 -1
- package/dist/material/components/ap-tool-call/locales/es.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/es.js +1 -1
- package/dist/material/components/ap-tool-call/locales/fr.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/fr.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/fr.js +1 -1
- package/dist/material/components/ap-tool-call/locales/ja.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/ja.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/ja.js +1 -1
- package/dist/material/components/ap-tool-call/locales/ko.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/ko.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/ko.js +1 -1
- package/dist/material/components/ap-tool-call/locales/pt-BR.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/pt-BR.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/pt-BR.js +1 -1
- package/dist/material/components/ap-tool-call/locales/pt.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/pt.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/pt.js +1 -1
- package/dist/material/components/ap-tool-call/locales/tr.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/tr.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/tr.js +1 -1
- package/dist/material/components/ap-tool-call/locales/zh-CN.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/zh-CN.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/zh-CN.js +1 -1
- package/dist/material/components/ap-tool-call/locales/zh-TW.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/zh-TW.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/zh-TW.js +1 -1
- package/package.json +3 -3
|
@@ -29,8 +29,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
29
29
|
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
30
30
|
const react_cjs_namespaceObject = require("../../xyflow/react.cjs");
|
|
31
31
|
const external_react_namespaceObject = require("react");
|
|
32
|
-
const external_constants_cjs_namespaceObject = require("../../constants.cjs");
|
|
33
32
|
const index_cjs_namespaceObject = require("../../hooks/index.cjs");
|
|
33
|
+
const createPreviewNode_cjs_namespaceObject = require("../../utils/createPreviewNode.cjs");
|
|
34
34
|
const BaseCanvasModeProvider_cjs_namespaceObject = require("../BaseCanvas/BaseCanvasModeProvider.cjs");
|
|
35
35
|
const external_Toolbar_index_cjs_namespaceObject = require("../Toolbar/index.cjs");
|
|
36
36
|
const external_EdgeUtils_cjs_namespaceObject = require("./EdgeUtils.cjs");
|
|
@@ -80,7 +80,11 @@ const SequenceEdge_SequenceEdge = /*#__PURE__*/ (0, external_react_namespaceObje
|
|
|
80
80
|
const pathElementRef = (0, external_react_namespaceObject.useRef)(null);
|
|
81
81
|
const { mode } = (0, BaseCanvasModeProvider_cjs_namespaceObject.useBaseCanvasMode)();
|
|
82
82
|
const isReadOnly = 'readonly' === mode;
|
|
83
|
-
const
|
|
83
|
+
const previewEdge = (0, createPreviewNode_cjs_namespaceObject.isPreviewEdge)({
|
|
84
|
+
id,
|
|
85
|
+
source,
|
|
86
|
+
target
|
|
87
|
+
});
|
|
84
88
|
const executionStatus = (0, index_cjs_namespaceObject.useEdgeExecutionState)(id, target);
|
|
85
89
|
const { validationStatus } = (0, index_cjs_namespaceObject.useElementValidationStatus)(id) ?? {
|
|
86
90
|
validationStatus: void 0
|
|
@@ -88,6 +92,8 @@ const SequenceEdge_SequenceEdge = /*#__PURE__*/ (0, external_react_namespaceObje
|
|
|
88
92
|
const status = executionStatus ? executionStatus?.status ?? executionStatus : validationStatus;
|
|
89
93
|
const isDiffAdded = data?.isDiffAdded === true;
|
|
90
94
|
const isDiffRemoved = data?.isDiffRemoved === true;
|
|
95
|
+
const hideArrowHead = data?.hideArrowHead === true;
|
|
96
|
+
const hideToolbar = data?.hideToolbar === true;
|
|
91
97
|
const angle = ANGLE_MAP[targetPosition];
|
|
92
98
|
const { x: offsetX, y: offsetY } = ARROW_OFFSETS[targetPosition];
|
|
93
99
|
const { edgePath, labelX, labelY } = (0, index_cjs_namespaceObject.useEdgePath)({
|
|
@@ -98,8 +104,8 @@ const SequenceEdge_SequenceEdge = /*#__PURE__*/ (0, external_react_namespaceObje
|
|
|
98
104
|
sourceX,
|
|
99
105
|
sourceY,
|
|
100
106
|
sourcePosition,
|
|
101
|
-
targetX,
|
|
102
|
-
targetY,
|
|
107
|
+
targetX: hideArrowHead ? targetX + offsetX : targetX,
|
|
108
|
+
targetY: hideArrowHead ? targetY + offsetY : targetY,
|
|
103
109
|
targetPosition
|
|
104
110
|
});
|
|
105
111
|
const { showToolbar, toolbarPositioning, config: toolbarConfig, handleMouseMoveOnPath } = (0, external_Toolbar_index_cjs_namespaceObject.useEdgeToolbarState)({
|
|
@@ -116,7 +122,7 @@ const SequenceEdge_SequenceEdge = /*#__PURE__*/ (0, external_react_namespaceObje
|
|
|
116
122
|
const getEdgeColor = ()=>{
|
|
117
123
|
if (isDiffAdded) return 'var(--canvas-success-icon)';
|
|
118
124
|
if (isDiffRemoved) return 'var(--canvas-error-icon)';
|
|
119
|
-
if (
|
|
125
|
+
if (previewEdge) return 'var(--canvas-primary)';
|
|
120
126
|
if (selected) return 'var(--canvas-primary)';
|
|
121
127
|
if (isHovered) return 'var(--canvas-primary-hover)';
|
|
122
128
|
if (status) return external_EdgeUtils_cjs_namespaceObject.edgeTargetStatusToEdgeColor[status] ?? 'var(--canvas-border)';
|
|
@@ -160,18 +166,18 @@ const SequenceEdge_SequenceEdge = /*#__PURE__*/ (0, external_react_namespaceObje
|
|
|
160
166
|
strokeWidth: style?.strokeWidth || 2,
|
|
161
167
|
style: {
|
|
162
168
|
stroke: edgeColor,
|
|
163
|
-
strokeDasharray: isDiffRemoved ? style?.strokeDasharray || '5,5' :
|
|
169
|
+
strokeDasharray: isDiffRemoved ? style?.strokeDasharray || '5,5' : previewEdge ? '5,5' : '0',
|
|
164
170
|
opacity: style?.opacity !== void 0 ? style.opacity : 1,
|
|
165
171
|
transition: 'stroke 0.2s ease, opacity 0.2s ease'
|
|
166
172
|
},
|
|
167
173
|
ref: pathElementRef
|
|
168
174
|
}),
|
|
169
|
-
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("polygon", {
|
|
175
|
+
!hideArrowHead && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("polygon", {
|
|
170
176
|
points: `
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
177
|
+
${targetX},${targetY}
|
|
178
|
+
${targetX - ARROW_SIZE * Math.cos(angle - Math.PI / 6)},${targetY - ARROW_SIZE * Math.sin(angle - Math.PI / 6)}
|
|
179
|
+
${targetX - ARROW_SIZE * Math.cos(angle + Math.PI / 6)},${targetY - ARROW_SIZE * Math.sin(angle + Math.PI / 6)}
|
|
180
|
+
`,
|
|
175
181
|
fill: edgeColor,
|
|
176
182
|
style: {
|
|
177
183
|
pointerEvents: 'none',
|
|
@@ -211,7 +217,7 @@ const SequenceEdge_SequenceEdge = /*#__PURE__*/ (0, external_react_namespaceObje
|
|
|
211
217
|
})
|
|
212
218
|
]
|
|
213
219
|
}),
|
|
214
|
-
showToolbar && toolbarPositioning && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_Toolbar_index_cjs_namespaceObject.EdgeToolbar, {
|
|
220
|
+
!hideToolbar && showToolbar && toolbarPositioning && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_Toolbar_index_cjs_namespaceObject.EdgeToolbar, {
|
|
215
221
|
edgeId: id,
|
|
216
222
|
visible: showToolbar,
|
|
217
223
|
positioning: toolbarPositioning,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SequenceEdge.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/Edges/SequenceEdge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,0CAA0C,CAAC;AAoDpF,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"SequenceEdge.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/Edges/SequenceEdge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,0CAA0C,CAAC;AAoDpF,eAAO,MAAM,YAAY,iDA+MJ,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Position } from "../../xyflow/react.js";
|
|
3
3
|
import { memo, useRef, useState } from "react";
|
|
4
|
-
import { PREVIEW_EDGE_ID } from "../../constants.js";
|
|
5
4
|
import { useEdgeExecutionState, useEdgePath, useElementValidationStatus } from "../../hooks/index.js";
|
|
5
|
+
import { isPreviewEdge } from "../../utils/createPreviewNode.js";
|
|
6
6
|
import { useBaseCanvasMode } from "../BaseCanvas/BaseCanvasModeProvider.js";
|
|
7
7
|
import { EdgeToolbar, useEdgeToolbarState } from "../Toolbar/index.js";
|
|
8
8
|
import { edgeTargetStatusToEdgeColor, getStatusAnimation } from "./EdgeUtils.js";
|
|
@@ -52,7 +52,11 @@ const SequenceEdge_SequenceEdge = /*#__PURE__*/ memo(function({ id, selected, so
|
|
|
52
52
|
const pathElementRef = useRef(null);
|
|
53
53
|
const { mode } = useBaseCanvasMode();
|
|
54
54
|
const isReadOnly = 'readonly' === mode;
|
|
55
|
-
const
|
|
55
|
+
const previewEdge = isPreviewEdge({
|
|
56
|
+
id,
|
|
57
|
+
source,
|
|
58
|
+
target
|
|
59
|
+
});
|
|
56
60
|
const executionStatus = useEdgeExecutionState(id, target);
|
|
57
61
|
const { validationStatus } = useElementValidationStatus(id) ?? {
|
|
58
62
|
validationStatus: void 0
|
|
@@ -60,6 +64,8 @@ const SequenceEdge_SequenceEdge = /*#__PURE__*/ memo(function({ id, selected, so
|
|
|
60
64
|
const status = executionStatus ? executionStatus?.status ?? executionStatus : validationStatus;
|
|
61
65
|
const isDiffAdded = data?.isDiffAdded === true;
|
|
62
66
|
const isDiffRemoved = data?.isDiffRemoved === true;
|
|
67
|
+
const hideArrowHead = data?.hideArrowHead === true;
|
|
68
|
+
const hideToolbar = data?.hideToolbar === true;
|
|
63
69
|
const angle = ANGLE_MAP[targetPosition];
|
|
64
70
|
const { x: offsetX, y: offsetY } = ARROW_OFFSETS[targetPosition];
|
|
65
71
|
const { edgePath, labelX, labelY } = useEdgePath({
|
|
@@ -70,8 +76,8 @@ const SequenceEdge_SequenceEdge = /*#__PURE__*/ memo(function({ id, selected, so
|
|
|
70
76
|
sourceX,
|
|
71
77
|
sourceY,
|
|
72
78
|
sourcePosition,
|
|
73
|
-
targetX,
|
|
74
|
-
targetY,
|
|
79
|
+
targetX: hideArrowHead ? targetX + offsetX : targetX,
|
|
80
|
+
targetY: hideArrowHead ? targetY + offsetY : targetY,
|
|
75
81
|
targetPosition
|
|
76
82
|
});
|
|
77
83
|
const { showToolbar, toolbarPositioning, config: toolbarConfig, handleMouseMoveOnPath } = useEdgeToolbarState({
|
|
@@ -88,7 +94,7 @@ const SequenceEdge_SequenceEdge = /*#__PURE__*/ memo(function({ id, selected, so
|
|
|
88
94
|
const getEdgeColor = ()=>{
|
|
89
95
|
if (isDiffAdded) return 'var(--canvas-success-icon)';
|
|
90
96
|
if (isDiffRemoved) return 'var(--canvas-error-icon)';
|
|
91
|
-
if (
|
|
97
|
+
if (previewEdge) return 'var(--canvas-primary)';
|
|
92
98
|
if (selected) return 'var(--canvas-primary)';
|
|
93
99
|
if (isHovered) return 'var(--canvas-primary-hover)';
|
|
94
100
|
if (status) return edgeTargetStatusToEdgeColor[status] ?? 'var(--canvas-border)';
|
|
@@ -132,18 +138,18 @@ const SequenceEdge_SequenceEdge = /*#__PURE__*/ memo(function({ id, selected, so
|
|
|
132
138
|
strokeWidth: style?.strokeWidth || 2,
|
|
133
139
|
style: {
|
|
134
140
|
stroke: edgeColor,
|
|
135
|
-
strokeDasharray: isDiffRemoved ? style?.strokeDasharray || '5,5' :
|
|
141
|
+
strokeDasharray: isDiffRemoved ? style?.strokeDasharray || '5,5' : previewEdge ? '5,5' : '0',
|
|
136
142
|
opacity: style?.opacity !== void 0 ? style.opacity : 1,
|
|
137
143
|
transition: 'stroke 0.2s ease, opacity 0.2s ease'
|
|
138
144
|
},
|
|
139
145
|
ref: pathElementRef
|
|
140
146
|
}),
|
|
141
|
-
/*#__PURE__*/ jsx("polygon", {
|
|
147
|
+
!hideArrowHead && /*#__PURE__*/ jsx("polygon", {
|
|
142
148
|
points: `
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
149
|
+
${targetX},${targetY}
|
|
150
|
+
${targetX - ARROW_SIZE * Math.cos(angle - Math.PI / 6)},${targetY - ARROW_SIZE * Math.sin(angle - Math.PI / 6)}
|
|
151
|
+
${targetX - ARROW_SIZE * Math.cos(angle + Math.PI / 6)},${targetY - ARROW_SIZE * Math.sin(angle + Math.PI / 6)}
|
|
152
|
+
`,
|
|
147
153
|
fill: edgeColor,
|
|
148
154
|
style: {
|
|
149
155
|
pointerEvents: 'none',
|
|
@@ -183,7 +189,7 @@ const SequenceEdge_SequenceEdge = /*#__PURE__*/ memo(function({ id, selected, so
|
|
|
183
189
|
})
|
|
184
190
|
]
|
|
185
191
|
}),
|
|
186
|
-
showToolbar && toolbarPositioning && /*#__PURE__*/ jsx(EdgeToolbar, {
|
|
192
|
+
!hideToolbar && showToolbar && toolbarPositioning && /*#__PURE__*/ jsx(EdgeToolbar, {
|
|
187
193
|
edgeId: id,
|
|
188
194
|
visible: showToolbar,
|
|
189
195
|
positioning: toolbarPositioning,
|
|
@@ -38,6 +38,7 @@ const animatedViewportManager_cjs_namespaceObject = require("../../stores/animat
|
|
|
38
38
|
const canvasStore_cjs_namespaceObject = require("../../stores/canvasStore.cjs");
|
|
39
39
|
const viewportManager_cjs_namespaceObject = require("../../stores/viewportManager.cjs");
|
|
40
40
|
const external_types_cjs_namespaceObject = require("../../types.cjs");
|
|
41
|
+
const createPreviewNode_cjs_namespaceObject = require("../../utils/createPreviewNode.cjs");
|
|
41
42
|
const icon_registry_cjs_namespaceObject = require("../../utils/icon-registry.cjs");
|
|
42
43
|
const transitions_cjs_namespaceObject = require("../../utils/transitions.cjs");
|
|
43
44
|
const AddNodeManager_cjs_namespaceObject = require("../AddNodePanel/AddNodeManager.cjs");
|
|
@@ -52,7 +53,15 @@ const DEFAULT_NODE_TYPES = {
|
|
|
52
53
|
'blank-canvas-node': external_BlankCanvasNode_index_cjs_namespaceObject.BlankCanvasNode,
|
|
53
54
|
preview: AddNodePreview_cjs_namespaceObject.AddNodePreview
|
|
54
55
|
};
|
|
55
|
-
|
|
56
|
+
function shouldPersistNodeChange(change) {
|
|
57
|
+
if ('position' === change.type) return !!change.dragging;
|
|
58
|
+
if ('dimensions' === change.type) return !!change.setAttributes;
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
function isDefaultViewport(viewport) {
|
|
62
|
+
return 0 === viewport.x && 0 === viewport.y && 1 === viewport.zoom;
|
|
63
|
+
}
|
|
64
|
+
const HierarchicalCanvas = ({ resolveNodeRenderer, mode = 'design', initialCanvases, initialPath, onCanvasesChange, onPathChange })=>{
|
|
56
65
|
const canvasRef = (0, external_react_namespaceObject.useRef)(null);
|
|
57
66
|
const containerRef = (0, external_react_namespaceObject.useRef)(null);
|
|
58
67
|
const [reactFlowInstance, setReactFlowInstance] = (0, external_react_namespaceObject.useState)(null);
|
|
@@ -63,17 +72,22 @@ const HierarchicalCanvas = ({ mode = 'design', initialCanvases, initialPath, onC
|
|
|
63
72
|
});
|
|
64
73
|
const lastCanvasIdRef = (0, external_react_namespaceObject.useRef)(null);
|
|
65
74
|
const shouldAnimate = 'design' === mode && !(0, transitions_cjs_namespaceObject.prefersReducedMotion)();
|
|
66
|
-
const nodeManifests = (0, external_core_index_cjs_namespaceObject.
|
|
67
|
-
const nodeTypes = (0, external_react_namespaceObject.useMemo)(()=>{
|
|
68
|
-
|
|
69
|
-
|
|
75
|
+
const nodeManifests = (0, external_core_index_cjs_namespaceObject.useDefaultNodeManifests)();
|
|
76
|
+
const nodeTypes = (0, external_react_namespaceObject.useMemo)(()=>nodeManifests.reduce((acc, manifest)=>{
|
|
77
|
+
if (!acc[manifest.nodeType]) {
|
|
78
|
+
const defaultRenderer = external_BaseNode_index_cjs_namespaceObject.BaseNode;
|
|
79
|
+
const resolvedRenderer = resolveNodeRenderer?.({
|
|
80
|
+
manifest,
|
|
81
|
+
defaultRenderer
|
|
82
|
+
});
|
|
83
|
+
acc[manifest.nodeType] = resolvedRenderer ?? defaultRenderer;
|
|
84
|
+
}
|
|
70
85
|
return acc;
|
|
71
86
|
}, {
|
|
72
87
|
...DEFAULT_NODE_TYPES
|
|
73
|
-
})
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
nodeManifests
|
|
88
|
+
}), [
|
|
89
|
+
nodeManifests,
|
|
90
|
+
resolveNodeRenderer
|
|
77
91
|
]);
|
|
78
92
|
const currentCanvas = (0, canvasStore_cjs_namespaceObject.useCanvasStore)(canvasStore_cjs_namespaceObject.selectCurrentCanvas);
|
|
79
93
|
const previousCanvas = (0, canvasStore_cjs_namespaceObject.useCanvasStore)(canvasStore_cjs_namespaceObject.selectPreviousCanvas);
|
|
@@ -148,15 +162,14 @@ const HierarchicalCanvas = ({ mode = 'design', initialCanvases, initialPath, onC
|
|
|
148
162
|
if (currentCanvasId && lastCanvasIdRef.current && currentCanvasId !== lastCanvasIdRef.current) {
|
|
149
163
|
if (reactFlowInstance && currentCanvas?.viewport) {
|
|
150
164
|
const viewport = currentCanvas.viewport;
|
|
151
|
-
if (
|
|
152
|
-
reactFlowInstance.setViewport(viewport);
|
|
165
|
+
if (isDefaultViewport(viewport)) {
|
|
153
166
|
currentViewportRef.current = viewport;
|
|
154
167
|
viewportManager_cjs_namespaceObject.viewportManager.setCurrentViewport(viewport);
|
|
155
|
-
}
|
|
156
|
-
|
|
168
|
+
} else setTimeout(()=>{
|
|
169
|
+
reactFlowInstance.setViewport(viewport);
|
|
157
170
|
currentViewportRef.current = viewport;
|
|
158
171
|
viewportManager_cjs_namespaceObject.viewportManager.setCurrentViewport(viewport);
|
|
159
|
-
}
|
|
172
|
+
}, 0);
|
|
160
173
|
}
|
|
161
174
|
}
|
|
162
175
|
lastCanvasIdRef.current = currentCanvasId || null;
|
|
@@ -171,9 +184,7 @@ const HierarchicalCanvas = ({ mode = 'design', initialCanvases, initialPath, onC
|
|
|
171
184
|
const handleNodesChange = (0, external_react_namespaceObject.useCallback)((changes)=>{
|
|
172
185
|
const canvas = currentCanvasRef.current;
|
|
173
186
|
if (!canvas) return;
|
|
174
|
-
|
|
175
|
-
const hasPositionChanges = changes.some((change)=>'position' === change.type && change.dragging);
|
|
176
|
-
if (!hasMeaningfulChanges && !hasPositionChanges) return;
|
|
187
|
+
if (!changes.some(shouldPersistNodeChange)) return;
|
|
177
188
|
const updatedNodes = (0, react_cjs_namespaceObject.applyNodeChanges)(changes, canvas.nodes ?? []);
|
|
178
189
|
updateNodes(updatedNodes);
|
|
179
190
|
}, [
|
|
@@ -205,7 +216,7 @@ const HierarchicalCanvas = ({ mode = 'design', initialCanvases, initialPath, onC
|
|
|
205
216
|
const handleConnect = (0, external_react_namespaceObject.useCallback)((connection)=>{
|
|
206
217
|
const canvas = currentCanvasRef.current;
|
|
207
218
|
if (!connection.source || !connection.target || !canvas) return;
|
|
208
|
-
if (
|
|
219
|
+
if ((0, createPreviewNode_cjs_namespaceObject.isPreviewEdge)(connection)) return;
|
|
209
220
|
const newEdge = {
|
|
210
221
|
id: `${connection.source}-${connection.target}-${Date.now()}`,
|
|
211
222
|
source: connection.source,
|
|
@@ -213,15 +224,13 @@ const HierarchicalCanvas = ({ mode = 'design', initialCanvases, initialPath, onC
|
|
|
213
224
|
sourceHandle: connection.sourceHandle || void 0,
|
|
214
225
|
targetHandle: connection.targetHandle || void 0
|
|
215
226
|
};
|
|
227
|
+
const hasPreview = canvas.nodes.some((n)=>n.id === external_constants_cjs_namespaceObject.PREVIEW_NODE_ID);
|
|
228
|
+
const baseEdges = hasPreview ? canvas.edges.filter((edge)=>!(0, createPreviewNode_cjs_namespaceObject.isPreviewEdge)(edge)) : canvas.edges;
|
|
216
229
|
updateEdges([
|
|
217
|
-
...
|
|
230
|
+
...baseEdges,
|
|
218
231
|
newEdge
|
|
219
232
|
]);
|
|
220
|
-
|
|
221
|
-
if (hasPreview) {
|
|
222
|
-
updateNodes(canvas.nodes.filter((n)=>n.id !== external_constants_cjs_namespaceObject.PREVIEW_NODE_ID));
|
|
223
|
-
updateEdges(canvas.edges.filter((e)=>e.id !== external_constants_cjs_namespaceObject.PREVIEW_EDGE_ID));
|
|
224
|
-
}
|
|
233
|
+
if (hasPreview) updateNodes(canvas.nodes.filter((n)=>n.id !== external_constants_cjs_namespaceObject.PREVIEW_NODE_ID));
|
|
225
234
|
}, [
|
|
226
235
|
updateNodes,
|
|
227
236
|
updateEdges
|
|
@@ -255,7 +264,7 @@ const HierarchicalCanvas = ({ mode = 'design', initialCanvases, initialPath, onC
|
|
|
255
264
|
]);
|
|
256
265
|
const shouldFitView = (0, external_react_namespaceObject.useMemo)(()=>{
|
|
257
266
|
const viewport = currentCanvas?.viewport;
|
|
258
|
-
return viewport ?
|
|
267
|
+
return viewport ? isDefaultViewport(viewport) : false;
|
|
259
268
|
}, [
|
|
260
269
|
currentCanvas?.viewport
|
|
261
270
|
]);
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
+
import { type NodeTypes } from '../../xyflow/react.ts';
|
|
1
2
|
import type React from 'react';
|
|
3
|
+
import type { NodeManifest } from '../../schema/node-definition';
|
|
2
4
|
import type { CanvasLevel } from '../../types/canvas.types';
|
|
3
|
-
|
|
5
|
+
export type NodeRendererResolver = (args: {
|
|
6
|
+
manifest: NodeManifest;
|
|
7
|
+
defaultRenderer: NodeTypes[string];
|
|
8
|
+
}) => NodeTypes[string] | undefined;
|
|
9
|
+
export interface HierarchicalCanvasProps {
|
|
10
|
+
resolveNodeRenderer?: NodeRendererResolver;
|
|
4
11
|
mode?: 'view' | 'design' | 'readonly';
|
|
5
12
|
initialCanvases?: Record<string, CanvasLevel>;
|
|
6
13
|
initialPath?: string[];
|
|
@@ -8,5 +15,4 @@ interface HierarchicalCanvasProps {
|
|
|
8
15
|
onPathChange?: (path: string[]) => void;
|
|
9
16
|
}
|
|
10
17
|
export declare const HierarchicalCanvas: React.FC<HierarchicalCanvasProps>;
|
|
11
|
-
export {};
|
|
12
18
|
//# sourceMappingURL=HierarchicalCanvas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HierarchicalCanvas.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/HierarchicalCanvas/HierarchicalCanvas.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HierarchicalCanvas.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/HierarchicalCanvas/HierarchicalCanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,SAAS,EAUf,MAAM,0CAA0C,CAAC;AAElD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAuBjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAY5D,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,QAAQ,EAAE,YAAY,CAAC;IACvB,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CACpC,KAAK,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;AAEpC,MAAM,WAAW,uBAAuB;IAKtC,mBAAmB,CAAC,EAAE,oBAAoB,CAAC;IAC3C,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;IAKtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAK9C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAMvB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,IAAI,CAAC;IAInE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACzC;AAyBD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAwYhE,CAAC"}
|
|
@@ -2,14 +2,15 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { Panel, applyEdgeChanges, applyNodeChanges } from "../../xyflow/react.js";
|
|
3
3
|
import { Spinner } from "@uipath/apollo-wind";
|
|
4
4
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
5
|
-
import {
|
|
5
|
+
import { PREVIEW_NODE_ID } from "../../constants.js";
|
|
6
6
|
import { Breadcrumb } from "../../controls/index.js";
|
|
7
|
-
import {
|
|
7
|
+
import { useDefaultNodeManifests } from "../../core/index.js";
|
|
8
8
|
import { useAddNodeOnConnectEnd } from "../../hooks/useAddNodeOnConnectEnd.js";
|
|
9
9
|
import { animatedViewportManager } from "../../stores/animatedViewportManager.js";
|
|
10
10
|
import { selectBreadcrumbs, selectCanvasStack, selectCurrentCanvas, selectCurrentPath, selectDrillIntoNode, selectInitializeCanvas, selectInitializeWithData, selectNavigateToDepth, selectNavigateToSiblingCanvas, selectPreviousCanvas, selectTransitionState, selectUpdateEdges, selectUpdateNodes, selectUpdateSelection, selectUpdateViewport, useCanvasStore } from "../../stores/canvasStore.js";
|
|
11
11
|
import { viewportManager } from "../../stores/viewportManager.js";
|
|
12
12
|
import { DefaultCanvasTranslations } from "../../types.js";
|
|
13
|
+
import { isPreviewEdge } from "../../utils/createPreviewNode.js";
|
|
13
14
|
import { CanvasIcon } from "../../utils/icon-registry.js";
|
|
14
15
|
import { prefersReducedMotion } from "../../utils/transitions.js";
|
|
15
16
|
import { AddNodeManager } from "../AddNodePanel/AddNodeManager.js";
|
|
@@ -24,7 +25,15 @@ const DEFAULT_NODE_TYPES = {
|
|
|
24
25
|
'blank-canvas-node': BlankCanvasNode,
|
|
25
26
|
preview: AddNodePreview
|
|
26
27
|
};
|
|
27
|
-
|
|
28
|
+
function shouldPersistNodeChange(change) {
|
|
29
|
+
if ('position' === change.type) return !!change.dragging;
|
|
30
|
+
if ('dimensions' === change.type) return !!change.setAttributes;
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
function isDefaultViewport(viewport) {
|
|
34
|
+
return 0 === viewport.x && 0 === viewport.y && 1 === viewport.zoom;
|
|
35
|
+
}
|
|
36
|
+
const HierarchicalCanvas = ({ resolveNodeRenderer, mode = 'design', initialCanvases, initialPath, onCanvasesChange, onPathChange })=>{
|
|
28
37
|
const canvasRef = useRef(null);
|
|
29
38
|
const containerRef = useRef(null);
|
|
30
39
|
const [reactFlowInstance, setReactFlowInstance] = useState(null);
|
|
@@ -35,17 +44,22 @@ const HierarchicalCanvas = ({ mode = 'design', initialCanvases, initialPath, onC
|
|
|
35
44
|
});
|
|
36
45
|
const lastCanvasIdRef = useRef(null);
|
|
37
46
|
const shouldAnimate = 'design' === mode && !prefersReducedMotion();
|
|
38
|
-
const nodeManifests =
|
|
39
|
-
const nodeTypes = useMemo(()=>{
|
|
40
|
-
|
|
41
|
-
|
|
47
|
+
const nodeManifests = useDefaultNodeManifests();
|
|
48
|
+
const nodeTypes = useMemo(()=>nodeManifests.reduce((acc, manifest)=>{
|
|
49
|
+
if (!acc[manifest.nodeType]) {
|
|
50
|
+
const defaultRenderer = BaseNode;
|
|
51
|
+
const resolvedRenderer = resolveNodeRenderer?.({
|
|
52
|
+
manifest,
|
|
53
|
+
defaultRenderer
|
|
54
|
+
});
|
|
55
|
+
acc[manifest.nodeType] = resolvedRenderer ?? defaultRenderer;
|
|
56
|
+
}
|
|
42
57
|
return acc;
|
|
43
58
|
}, {
|
|
44
59
|
...DEFAULT_NODE_TYPES
|
|
45
|
-
})
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
nodeManifests
|
|
60
|
+
}), [
|
|
61
|
+
nodeManifests,
|
|
62
|
+
resolveNodeRenderer
|
|
49
63
|
]);
|
|
50
64
|
const currentCanvas = useCanvasStore(selectCurrentCanvas);
|
|
51
65
|
const previousCanvas = useCanvasStore(selectPreviousCanvas);
|
|
@@ -120,15 +134,14 @@ const HierarchicalCanvas = ({ mode = 'design', initialCanvases, initialPath, onC
|
|
|
120
134
|
if (currentCanvasId && lastCanvasIdRef.current && currentCanvasId !== lastCanvasIdRef.current) {
|
|
121
135
|
if (reactFlowInstance && currentCanvas?.viewport) {
|
|
122
136
|
const viewport = currentCanvas.viewport;
|
|
123
|
-
if (
|
|
124
|
-
reactFlowInstance.setViewport(viewport);
|
|
137
|
+
if (isDefaultViewport(viewport)) {
|
|
125
138
|
currentViewportRef.current = viewport;
|
|
126
139
|
viewportManager.setCurrentViewport(viewport);
|
|
127
|
-
}
|
|
128
|
-
|
|
140
|
+
} else setTimeout(()=>{
|
|
141
|
+
reactFlowInstance.setViewport(viewport);
|
|
129
142
|
currentViewportRef.current = viewport;
|
|
130
143
|
viewportManager.setCurrentViewport(viewport);
|
|
131
|
-
}
|
|
144
|
+
}, 0);
|
|
132
145
|
}
|
|
133
146
|
}
|
|
134
147
|
lastCanvasIdRef.current = currentCanvasId || null;
|
|
@@ -143,9 +156,7 @@ const HierarchicalCanvas = ({ mode = 'design', initialCanvases, initialPath, onC
|
|
|
143
156
|
const handleNodesChange = useCallback((changes)=>{
|
|
144
157
|
const canvas = currentCanvasRef.current;
|
|
145
158
|
if (!canvas) return;
|
|
146
|
-
|
|
147
|
-
const hasPositionChanges = changes.some((change)=>'position' === change.type && change.dragging);
|
|
148
|
-
if (!hasMeaningfulChanges && !hasPositionChanges) return;
|
|
159
|
+
if (!changes.some(shouldPersistNodeChange)) return;
|
|
149
160
|
const updatedNodes = applyNodeChanges(changes, canvas.nodes ?? []);
|
|
150
161
|
updateNodes(updatedNodes);
|
|
151
162
|
}, [
|
|
@@ -177,7 +188,7 @@ const HierarchicalCanvas = ({ mode = 'design', initialCanvases, initialPath, onC
|
|
|
177
188
|
const handleConnect = useCallback((connection)=>{
|
|
178
189
|
const canvas = currentCanvasRef.current;
|
|
179
190
|
if (!connection.source || !connection.target || !canvas) return;
|
|
180
|
-
if (connection
|
|
191
|
+
if (isPreviewEdge(connection)) return;
|
|
181
192
|
const newEdge = {
|
|
182
193
|
id: `${connection.source}-${connection.target}-${Date.now()}`,
|
|
183
194
|
source: connection.source,
|
|
@@ -185,15 +196,13 @@ const HierarchicalCanvas = ({ mode = 'design', initialCanvases, initialPath, onC
|
|
|
185
196
|
sourceHandle: connection.sourceHandle || void 0,
|
|
186
197
|
targetHandle: connection.targetHandle || void 0
|
|
187
198
|
};
|
|
199
|
+
const hasPreview = canvas.nodes.some((n)=>n.id === PREVIEW_NODE_ID);
|
|
200
|
+
const baseEdges = hasPreview ? canvas.edges.filter((edge)=>!isPreviewEdge(edge)) : canvas.edges;
|
|
188
201
|
updateEdges([
|
|
189
|
-
...
|
|
202
|
+
...baseEdges,
|
|
190
203
|
newEdge
|
|
191
204
|
]);
|
|
192
|
-
|
|
193
|
-
if (hasPreview) {
|
|
194
|
-
updateNodes(canvas.nodes.filter((n)=>n.id !== PREVIEW_NODE_ID));
|
|
195
|
-
updateEdges(canvas.edges.filter((e)=>e.id !== PREVIEW_EDGE_ID));
|
|
196
|
-
}
|
|
205
|
+
if (hasPreview) updateNodes(canvas.nodes.filter((n)=>n.id !== PREVIEW_NODE_ID));
|
|
197
206
|
}, [
|
|
198
207
|
updateNodes,
|
|
199
208
|
updateEdges
|
|
@@ -227,7 +236,7 @@ const HierarchicalCanvas = ({ mode = 'design', initialCanvases, initialPath, onC
|
|
|
227
236
|
]);
|
|
228
237
|
const shouldFitView = useMemo(()=>{
|
|
229
238
|
const viewport = currentCanvas?.viewport;
|
|
230
|
-
return viewport ?
|
|
239
|
+
return viewport ? isDefaultViewport(viewport) : false;
|
|
231
240
|
}, [
|
|
232
241
|
currentCanvas?.viewport
|
|
233
242
|
]);
|
|
@@ -35,6 +35,7 @@ const canvasStore_cjs_namespaceObject = require("../../stores/canvasStore.cjs");
|
|
|
35
35
|
const CanvasEventBus_cjs_namespaceObject = require("../../utils/CanvasEventBus.cjs");
|
|
36
36
|
const icon_registry_cjs_namespaceObject = require("../../utils/icon-registry.cjs");
|
|
37
37
|
const createAddNodePreview_cjs_namespaceObject = require("../AddNodePanel/createAddNodePreview.cjs");
|
|
38
|
+
const LoopNode_sequence_cjs_namespaceObject = require("../LoopNode/LoopNode.sequence.cjs");
|
|
38
39
|
const external_HierarchicalCanvas_cjs_namespaceObject = require("./HierarchicalCanvas.cjs");
|
|
39
40
|
const createDemoCanvases = ()=>{
|
|
40
41
|
const rootCanvas = {
|
|
@@ -325,6 +326,7 @@ const workflowManifest = {
|
|
|
325
326
|
};
|
|
326
327
|
const CanvasWithControlsContent = ({ initialCanvases, initialPath, onCanvasesChange, onPathChange })=>{
|
|
327
328
|
const reactFlowInstance = (0, react_cjs_namespaceObject.useReactFlow)();
|
|
329
|
+
const registry = (0, index_cjs_namespaceObject.useOptionalNodeTypeRegistry)();
|
|
328
330
|
const currentCanvas = (0, canvasStore_cjs_namespaceObject.useCanvasStore)(canvasStore_cjs_namespaceObject.selectCurrentCanvas);
|
|
329
331
|
const currentPathLength = (0, canvasStore_cjs_namespaceObject.useCanvasStore)(canvasStore_cjs_namespaceObject.selectCurrentPathLength);
|
|
330
332
|
const addNode = (0, canvasStore_cjs_namespaceObject.useCanvasStore)(canvasStore_cjs_namespaceObject.selectAddNode);
|
|
@@ -332,15 +334,20 @@ const CanvasWithControlsContent = ({ initialCanvases, initialPath, onCanvasesCha
|
|
|
332
334
|
const removeEdge = (0, canvasStore_cjs_namespaceObject.useCanvasStore)(canvasStore_cjs_namespaceObject.selectRemoveEdge);
|
|
333
335
|
const updateNodes = (0, canvasStore_cjs_namespaceObject.useCanvasStore)(canvasStore_cjs_namespaceObject.selectUpdateNodes);
|
|
334
336
|
(0, external_react_namespaceObject.useEffect)(()=>{
|
|
337
|
+
const resolverOptions = (0, LoopNode_sequence_cjs_namespaceObject.createLoopSequenceResolverOptions)(registry);
|
|
335
338
|
const handleAction = (event)=>{
|
|
336
|
-
if (reactFlowInstance)
|
|
339
|
+
if (reactFlowInstance) {
|
|
340
|
+
const sourceHandleType = 'input' === event.handleType ? 'target' : 'source';
|
|
341
|
+
(0, createAddNodePreview_cjs_namespaceObject.createAddNodePreview)(event.nodeId, event.handleId, reactFlowInstance, event.position, sourceHandleType, resolverOptions);
|
|
342
|
+
}
|
|
337
343
|
};
|
|
338
344
|
CanvasEventBus_cjs_namespaceObject.canvasEventBus.on('handle:action', handleAction);
|
|
339
345
|
return ()=>{
|
|
340
346
|
CanvasEventBus_cjs_namespaceObject.canvasEventBus.off('handle:action', handleAction);
|
|
341
347
|
};
|
|
342
348
|
}, [
|
|
343
|
-
reactFlowInstance
|
|
349
|
+
reactFlowInstance,
|
|
350
|
+
registry
|
|
344
351
|
]);
|
|
345
352
|
const handleAddNode = (0, external_react_namespaceObject.useCallback)((nodeType)=>{
|
|
346
353
|
const existingNodes = currentCanvas?.nodes.filter((n)=>'blank-canvas-node' !== n.id).length || 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HierarchicalCanvasWithControls.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HierarchicalCanvasWithControls.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAye/B,eAAO,MAAM,8BAA8B,EAAE,KAAK,CAAC,EA8BlD,CAAC"}
|
|
@@ -2,11 +2,12 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { Panel, ReactFlowProvider, useReactFlow } from "../../xyflow/react.js";
|
|
3
3
|
import { Button } from "@uipath/apollo-wind";
|
|
4
4
|
import { useCallback, useEffect, useState } from "react";
|
|
5
|
-
import { NodeRegistryProvider } from "../../core/index.js";
|
|
5
|
+
import { NodeRegistryProvider, useOptionalNodeTypeRegistry } from "../../core/index.js";
|
|
6
6
|
import { selectAddNode, selectCurrentCanvas, selectCurrentPathLength, selectRemoveEdge, selectRemoveNode, selectUpdateNodes, useCanvasStore } from "../../stores/canvasStore.js";
|
|
7
7
|
import { canvasEventBus } from "../../utils/CanvasEventBus.js";
|
|
8
8
|
import { CanvasIcon } from "../../utils/icon-registry.js";
|
|
9
9
|
import { createAddNodePreview } from "../AddNodePanel/createAddNodePreview.js";
|
|
10
|
+
import { createLoopSequenceResolverOptions } from "../LoopNode/LoopNode.sequence.js";
|
|
10
11
|
import { HierarchicalCanvas } from "./HierarchicalCanvas.js";
|
|
11
12
|
const createDemoCanvases = ()=>{
|
|
12
13
|
const rootCanvas = {
|
|
@@ -297,6 +298,7 @@ const workflowManifest = {
|
|
|
297
298
|
};
|
|
298
299
|
const CanvasWithControlsContent = ({ initialCanvases, initialPath, onCanvasesChange, onPathChange })=>{
|
|
299
300
|
const reactFlowInstance = useReactFlow();
|
|
301
|
+
const registry = useOptionalNodeTypeRegistry();
|
|
300
302
|
const currentCanvas = useCanvasStore(selectCurrentCanvas);
|
|
301
303
|
const currentPathLength = useCanvasStore(selectCurrentPathLength);
|
|
302
304
|
const addNode = useCanvasStore(selectAddNode);
|
|
@@ -304,15 +306,20 @@ const CanvasWithControlsContent = ({ initialCanvases, initialPath, onCanvasesCha
|
|
|
304
306
|
const removeEdge = useCanvasStore(selectRemoveEdge);
|
|
305
307
|
const updateNodes = useCanvasStore(selectUpdateNodes);
|
|
306
308
|
useEffect(()=>{
|
|
309
|
+
const resolverOptions = createLoopSequenceResolverOptions(registry);
|
|
307
310
|
const handleAction = (event)=>{
|
|
308
|
-
if (reactFlowInstance)
|
|
311
|
+
if (reactFlowInstance) {
|
|
312
|
+
const sourceHandleType = 'input' === event.handleType ? 'target' : 'source';
|
|
313
|
+
createAddNodePreview(event.nodeId, event.handleId, reactFlowInstance, event.position, sourceHandleType, resolverOptions);
|
|
314
|
+
}
|
|
309
315
|
};
|
|
310
316
|
canvasEventBus.on('handle:action', handleAction);
|
|
311
317
|
return ()=>{
|
|
312
318
|
canvasEventBus.off('handle:action', handleAction);
|
|
313
319
|
};
|
|
314
320
|
}, [
|
|
315
|
-
reactFlowInstance
|
|
321
|
+
reactFlowInstance,
|
|
322
|
+
registry
|
|
316
323
|
]);
|
|
317
324
|
const handleAddNode = useCallback((nodeType)=>{
|
|
318
325
|
const existingNodes = currentCanvas?.nodes.filter((n)=>'blank-canvas-node' !== n.id).length || 0;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { HierarchicalCanvas } from './HierarchicalCanvas';
|
|
1
|
+
export { HierarchicalCanvas, type HierarchicalCanvasProps, type NodeRendererResolver, } from './HierarchicalCanvas';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/HierarchicalCanvas/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/HierarchicalCanvas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC"}
|