@uipath/apollo-react 4.14.1 → 4.15.0-pr605.6ea14a7
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 +101 -10
- package/dist/canvas/components/AddNodePanel/AddNodeManager.d.ts.map +1 -1
- package/dist/canvas/components/AddNodePanel/AddNodeManager.js +101 -10
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.cjs +27 -3
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.d.ts.map +1 -1
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.js +27 -3
- 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 +4 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.d.ts.map +1 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.js +4 -1
- 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 +386 -0
- package/dist/canvas/components/LoopNode/LoopNode.sequence.d.ts +47 -0
- package/dist/canvas/components/LoopNode/LoopNode.sequence.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/LoopNode.sequence.js +343 -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 +57 -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 +23 -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 +33 -23
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.d.ts.map +1 -1
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.js +35 -25
- 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 +168 -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 +131 -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
|
]);
|
|
@@ -333,7 +333,10 @@ const CanvasWithControlsContent = ({ initialCanvases, initialPath, onCanvasesCha
|
|
|
333
333
|
const updateNodes = (0, canvasStore_cjs_namespaceObject.useCanvasStore)(canvasStore_cjs_namespaceObject.selectUpdateNodes);
|
|
334
334
|
(0, external_react_namespaceObject.useEffect)(()=>{
|
|
335
335
|
const handleAction = (event)=>{
|
|
336
|
-
if (reactFlowInstance)
|
|
336
|
+
if (reactFlowInstance) {
|
|
337
|
+
const sourceHandleType = 'input' === event.handleType ? 'target' : 'source';
|
|
338
|
+
(0, createAddNodePreview_cjs_namespaceObject.createAddNodePreview)(event.nodeId, event.handleId, reactFlowInstance, event.position, sourceHandleType);
|
|
339
|
+
}
|
|
337
340
|
};
|
|
338
341
|
CanvasEventBus_cjs_namespaceObject.canvasEventBus.on('handle:action', handleAction);
|
|
339
342
|
return ()=>{
|
|
@@ -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;AAqe/B,eAAO,MAAM,8BAA8B,EAAE,KAAK,CAAC,EA8BlD,CAAC"}
|
|
@@ -305,7 +305,10 @@ const CanvasWithControlsContent = ({ initialCanvases, initialPath, onCanvasesCha
|
|
|
305
305
|
const updateNodes = useCanvasStore(selectUpdateNodes);
|
|
306
306
|
useEffect(()=>{
|
|
307
307
|
const handleAction = (event)=>{
|
|
308
|
-
if (reactFlowInstance)
|
|
308
|
+
if (reactFlowInstance) {
|
|
309
|
+
const sourceHandleType = 'input' === event.handleType ? 'target' : 'source';
|
|
310
|
+
createAddNodePreview(event.nodeId, event.handleId, reactFlowInstance, event.position, sourceHandleType);
|
|
311
|
+
}
|
|
309
312
|
};
|
|
310
313
|
canvasEventBus.on('handle:action', handleAction);
|
|
311
314
|
return ()=>{
|
|
@@ -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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
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
|
+
LoopCanvasNode: ()=>LoopCanvasNode
|
|
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 index_cjs_namespaceObject = require("../../core/index.cjs");
|
|
33
|
+
const manifest_resolver_cjs_namespaceObject = require("../../utils/manifest-resolver.cjs");
|
|
34
|
+
const external_BaseNode_index_cjs_namespaceObject = require("../BaseNode/index.cjs");
|
|
35
|
+
const external_LoopNode_cjs_namespaceObject = require("./LoopNode.cjs");
|
|
36
|
+
const external_LoopNode_helpers_cjs_namespaceObject = require("./LoopNode.helpers.cjs");
|
|
37
|
+
const external_LoopNodePreview_cjs_namespaceObject = require("./LoopNodePreview.cjs");
|
|
38
|
+
function LoopCanvasNodeComponent(props) {
|
|
39
|
+
const reactFlow = (0, react_cjs_namespaceObject.useReactFlow)();
|
|
40
|
+
const nodeTypeRegistry = (0, index_cjs_namespaceObject.useOptionalNodeTypeRegistry)();
|
|
41
|
+
const nodeVersion = (0, manifest_resolver_cjs_namespaceObject.getNodeTypeVersion)(props.data);
|
|
42
|
+
const loopManifest = (0, external_react_namespaceObject.useMemo)(()=>props.type ? nodeTypeRegistry?.getManifest(props.type, nodeVersion) : void 0, [
|
|
43
|
+
nodeTypeRegistry,
|
|
44
|
+
props.type,
|
|
45
|
+
nodeVersion
|
|
46
|
+
]);
|
|
47
|
+
const shouldUseLoopContainer = (0, external_react_namespaceObject.useMemo)(()=>(0, external_LoopNode_helpers_cjs_namespaceObject.isLoopContainerManifest)(loopManifest), [
|
|
48
|
+
loopManifest
|
|
49
|
+
]);
|
|
50
|
+
const loopPreviewHandles = (0, external_react_namespaceObject.useMemo)(()=>shouldUseLoopContainer ? (0, external_LoopNode_helpers_cjs_namespaceObject.resolveLoopPreviewConnectionHandles)(loopManifest, {
|
|
51
|
+
...props.data ?? {},
|
|
52
|
+
nodeId: props.id
|
|
53
|
+
}) : null, [
|
|
54
|
+
shouldUseLoopContainer,
|
|
55
|
+
loopManifest,
|
|
56
|
+
props.data,
|
|
57
|
+
props.id
|
|
58
|
+
]);
|
|
59
|
+
const handleAddFirstChild = (0, external_react_namespaceObject.useCallback)(()=>{
|
|
60
|
+
if (!loopPreviewHandles) return;
|
|
61
|
+
(0, external_LoopNodePreview_cjs_namespaceObject.showCenteredContainerPreview)({
|
|
62
|
+
containerId: props.id,
|
|
63
|
+
reactFlowInstance: reactFlow,
|
|
64
|
+
previewHandles: loopPreviewHandles
|
|
65
|
+
});
|
|
66
|
+
}, [
|
|
67
|
+
loopPreviewHandles,
|
|
68
|
+
props.id,
|
|
69
|
+
reactFlow
|
|
70
|
+
]);
|
|
71
|
+
if (loopManifest && !shouldUseLoopContainer) return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_BaseNode_index_cjs_namespaceObject.BaseNode, {
|
|
72
|
+
...props
|
|
73
|
+
});
|
|
74
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_LoopNode_cjs_namespaceObject.LoopNode, {
|
|
75
|
+
...props,
|
|
76
|
+
onAddFirstChild: loopPreviewHandles ? handleAddFirstChild : void 0
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
const LoopCanvasNode = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(LoopCanvasNodeComponent);
|
|
80
|
+
exports.LoopCanvasNode = __webpack_exports__.LoopCanvasNode;
|
|
81
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
82
|
+
"LoopCanvasNode"
|
|
83
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
84
|
+
Object.defineProperty(exports, '__esModule', {
|
|
85
|
+
value: true
|
|
86
|
+
});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Node, NodeProps } from '../../xyflow/react.ts';
|
|
2
|
+
import type { LoopNodeData } from './LoopNode.types';
|
|
3
|
+
declare function LoopCanvasNodeComponent(props: NodeProps<Node<LoopNodeData>>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export declare const LoopCanvasNode: import("react").MemoExoticComponent<typeof LoopCanvasNodeComponent>;
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=LoopCanvasNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoopCanvasNode.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/LoopNode/LoopCanvasNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAQhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,iBAAS,uBAAuB,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,2CA2CpE;AAED,eAAO,MAAM,cAAc,qEAAgC,CAAC"}
|