@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
|
@@ -33,8 +33,86 @@ const external_constants_cjs_namespaceObject = require("../../constants.cjs");
|
|
|
33
33
|
const index_cjs_namespaceObject = require("../../core/index.cjs");
|
|
34
34
|
const usePreviewNode_cjs_namespaceObject = require("../../hooks/usePreviewNode.cjs");
|
|
35
35
|
const external_utils_index_cjs_namespaceObject = require("../../utils/index.cjs");
|
|
36
|
+
const collapse_cjs_namespaceObject = require("../../utils/collapse.cjs");
|
|
37
|
+
const container_sizing_cjs_namespaceObject = require("../../utils/container-sizing.cjs");
|
|
38
|
+
const manifest_resolver_cjs_namespaceObject = require("../../utils/manifest-resolver.cjs");
|
|
36
39
|
const external_FloatingCanvasPanel_index_cjs_namespaceObject = require("../FloatingCanvasPanel/index.cjs");
|
|
40
|
+
const LoopNode_helpers_cjs_namespaceObject = require("../LoopNode/LoopNode.helpers.cjs");
|
|
41
|
+
const LoopNode_sequence_cjs_namespaceObject = require("../LoopNode/LoopNode.sequence.cjs");
|
|
37
42
|
const external_AddNodePanel_cjs_namespaceObject = require("./AddNodePanel.cjs");
|
|
43
|
+
function getManifestForNode(registry, node) {
|
|
44
|
+
return node.type ? registry?.getManifest(node.type, (0, manifest_resolver_cjs_namespaceObject.getNodeTypeVersion)(node.data)) : void 0;
|
|
45
|
+
}
|
|
46
|
+
function getManifestAwareNodeDimensions(registry, node) {
|
|
47
|
+
const manifest = getManifestForNode(registry, node);
|
|
48
|
+
const fallbackDimensions = (0, collapse_cjs_namespaceObject.getExpandedSize)(manifest?.display.shape, manifest);
|
|
49
|
+
return (0, container_sizing_cjs_namespaceObject.getNodeDimensions)(node, fallbackDimensions);
|
|
50
|
+
}
|
|
51
|
+
function getContainerFitGeometry(registry, node) {
|
|
52
|
+
const manifest = getManifestForNode(registry, node);
|
|
53
|
+
return (0, LoopNode_helpers_cjs_namespaceObject.isLoopContainerManifest)(manifest) ? (0, LoopNode_helpers_cjs_namespaceObject.getLoopContainerFitGeometry)() : null;
|
|
54
|
+
}
|
|
55
|
+
function centerNodeOnPreview(previewNode, nodeDimensions) {
|
|
56
|
+
const previewDimensions = (0, container_sizing_cjs_namespaceObject.getNodeDimensions)(previewNode);
|
|
57
|
+
return {
|
|
58
|
+
x: previewNode.position.x + (previewDimensions.width - nodeDimensions.width) / 2,
|
|
59
|
+
y: previewNode.position.y + (previewDimensions.height - nodeDimensions.height) / 2
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function centerNodeVerticallyOnPreview(previewNode, nodeDimensions) {
|
|
63
|
+
const previewDimensions = (0, container_sizing_cjs_namespaceObject.getNodeDimensions)(previewNode);
|
|
64
|
+
return {
|
|
65
|
+
x: previewNode.position.x,
|
|
66
|
+
y: previewNode.position.y + (previewDimensions.height - nodeDimensions.height) / 2
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function resolveSiblingCollisions(nodes, insertedNode, options) {
|
|
70
|
+
const siblingNodes = nodes.filter((node)=>node.parentId === insertedNode.parentId);
|
|
71
|
+
const resolvedSiblings = (0, external_utils_index_cjs_namespaceObject.resolveCollisions)(siblingNodes, options);
|
|
72
|
+
const resolvedSiblingsById = new Map(resolvedSiblings.map((node)=>[
|
|
73
|
+
node.id,
|
|
74
|
+
node
|
|
75
|
+
]));
|
|
76
|
+
return nodes.map((node)=>resolvedSiblingsById.get(node.id) ?? node);
|
|
77
|
+
}
|
|
78
|
+
function resolveNodePlacement(nodes, insertedNode, registry, ignoredNodeTypes, edges, loopSequencePlacement) {
|
|
79
|
+
const getNodeSize = (node)=>getManifestAwareNodeDimensions(registry, node);
|
|
80
|
+
if (!insertedNode.parentId) {
|
|
81
|
+
const resolvedNodes = (0, external_utils_index_cjs_namespaceObject.resolveCollisions)(nodes, {
|
|
82
|
+
ignoredNodeTypes,
|
|
83
|
+
getNodeSize
|
|
84
|
+
});
|
|
85
|
+
return {
|
|
86
|
+
nodes: resolvedNodes,
|
|
87
|
+
insertedNode: resolvedNodes.find((node)=>node.id === insertedNode.id) ?? insertedNode
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
const loopSequenceNodes = loopSequencePlacement ? (0, LoopNode_sequence_cjs_namespaceObject.resolveLoopSequenceMaterializedNodes)({
|
|
91
|
+
nodes,
|
|
92
|
+
edges,
|
|
93
|
+
insertedNode,
|
|
94
|
+
placement: loopSequencePlacement,
|
|
95
|
+
getNodeSize
|
|
96
|
+
}) : null;
|
|
97
|
+
let resolvedNodes = loopSequenceNodes;
|
|
98
|
+
if (!resolvedNodes) resolvedNodes = resolveSiblingCollisions(nodes, insertedNode, {
|
|
99
|
+
ignoredNodeTypes,
|
|
100
|
+
getNodeSize
|
|
101
|
+
});
|
|
102
|
+
const fittedNodes = (0, container_sizing_cjs_namespaceObject.ensureContainersFitChildren)(resolvedNodes, {
|
|
103
|
+
containerIds: [
|
|
104
|
+
insertedNode.parentId
|
|
105
|
+
],
|
|
106
|
+
getContainerFitGeometry: (node)=>getContainerFitGeometry(registry, node),
|
|
107
|
+
getNodeDimensions: getNodeSize,
|
|
108
|
+
ignoredNodeTypes,
|
|
109
|
+
includeAncestors: true
|
|
110
|
+
});
|
|
111
|
+
return {
|
|
112
|
+
nodes: fittedNodes,
|
|
113
|
+
insertedNode: fittedNodes.find((node)=>node.id === insertedNode.id) ?? insertedNode
|
|
114
|
+
};
|
|
115
|
+
}
|
|
38
116
|
const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData, onBeforeNodeAdded, onNodeAdded, ignoredNodeTypes })=>{
|
|
39
117
|
const reactFlowInstance = (0, react_cjs_namespaceObject.useReactFlow)();
|
|
40
118
|
const registry = (0, index_cjs_namespaceObject.useOptionalNodeTypeRegistry)();
|
|
@@ -70,28 +148,45 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
70
148
|
const handleNodeSelect = (0, external_react_namespaceObject.useCallback)((nodeItem)=>{
|
|
71
149
|
const currentPreviewNode = reactFlowInstance.getNode(external_constants_cjs_namespaceObject.PREVIEW_NODE_ID);
|
|
72
150
|
if (!currentPreviewNode || !previewNodeConnectionInfo || 0 === previewNodeConnectionInfo.length) return;
|
|
151
|
+
const loopSequenceResolverOptions = (0, LoopNode_sequence_cjs_namespaceObject.createLoopSequenceResolverOptions)(registry);
|
|
152
|
+
const loopSequencePlacement = (0, LoopNode_sequence_cjs_namespaceObject.getLoopSequencePlacementFromPreviewGraph)(currentPreviewNode, previewNodeConnectionInfo, {
|
|
153
|
+
isLoopContainerId: (containerId)=>{
|
|
154
|
+
const containerNode = reactFlowInstance.getNode(containerId);
|
|
155
|
+
return containerNode ? loopSequenceResolverOptions.isLoopContainerNode?.(containerNode) ?? false : false;
|
|
156
|
+
}
|
|
157
|
+
});
|
|
73
158
|
const newNodeId = `${nodeItem.data.type}-${Date.now()}`;
|
|
74
159
|
const baseNodeData = createNodeData ? createNodeData(nodeItem) : {
|
|
75
160
|
label: nodeItem.name,
|
|
76
161
|
subLabel: nodeItem.description
|
|
77
162
|
};
|
|
78
|
-
const nodeData =
|
|
163
|
+
const nodeData = {
|
|
79
164
|
...baseNodeData,
|
|
80
|
-
|
|
81
|
-
|
|
165
|
+
...nodeItem.data.version ? {
|
|
166
|
+
typeVersion: nodeItem.data.version
|
|
167
|
+
} : {},
|
|
168
|
+
...currentPreviewNode.data?.useSmartHandles ? {
|
|
169
|
+
useSmartHandles: true
|
|
170
|
+
} : {}
|
|
171
|
+
};
|
|
82
172
|
const newNode = {
|
|
83
173
|
id: newNodeId,
|
|
84
174
|
type: nodeItem.data.type,
|
|
85
175
|
position: currentPreviewNode.position,
|
|
176
|
+
parentId: currentPreviewNode.parentId,
|
|
177
|
+
extent: currentPreviewNode.extent,
|
|
86
178
|
selected: true,
|
|
87
179
|
data: nodeData
|
|
88
180
|
};
|
|
89
|
-
const newNodeManifest = registry?.getManifest(nodeItem.data.type);
|
|
181
|
+
const newNodeManifest = registry?.getManifest(nodeItem.data.type, nodeItem.data.version);
|
|
182
|
+
const newNodeDimensions = getManifestAwareNodeDimensions(registry, newNode);
|
|
183
|
+
if (currentPreviewNode.parentId) newNode.position = centerNodeOnPreview(currentPreviewNode, newNodeDimensions);
|
|
184
|
+
else if ((0, LoopNode_helpers_cjs_namespaceObject.isLoopContainerManifest)(newNodeManifest)) newNode.position = centerNodeVerticallyOnPreview(currentPreviewNode, newNodeDimensions);
|
|
90
185
|
const newEdges = [];
|
|
91
186
|
const previewEdgeIds = [];
|
|
92
187
|
for (const connectionInfoItem of previewNodeConnectionInfo){
|
|
93
188
|
const newNodeHandleType = connectionInfoItem.addNewNodeAsSource ? 'source' : 'target';
|
|
94
|
-
const newNodeDefaultHandle = newNodeManifest ? registry?.getDefaultHandle(newNodeManifest.nodeType, newNodeHandleType) : void 0;
|
|
189
|
+
const newNodeDefaultHandle = newNodeManifest ? registry?.getDefaultHandle(newNodeManifest.nodeType, newNodeHandleType, nodeItem.data.version) : void 0;
|
|
95
190
|
const newNodeHandleId = newNodeDefaultHandle?.id;
|
|
96
191
|
const edgeSourceTargetData = connectionInfoItem.addNewNodeAsSource ? {
|
|
97
192
|
source: newNode.id,
|
|
@@ -116,6 +211,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
116
211
|
newNode,
|
|
117
212
|
newEdges
|
|
118
213
|
};
|
|
214
|
+
let resolvedFinalNode = finalNode;
|
|
119
215
|
reactFlowInstance.setNodes((nodes)=>{
|
|
120
216
|
const newNodes = [
|
|
121
217
|
...nodes.filter((n)=>n.id !== external_constants_cjs_namespaceObject.PREVIEW_NODE_ID).map((n)=>({
|
|
@@ -124,9 +220,9 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
124
220
|
})),
|
|
125
221
|
finalNode
|
|
126
222
|
];
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
223
|
+
const placement = resolveNodePlacement(newNodes, finalNode, registry, ignoredNodeTypes, reactFlowInstance.getEdges(), loopSequencePlacement);
|
|
224
|
+
resolvedFinalNode = placement.insertedNode;
|
|
225
|
+
return placement.nodes;
|
|
130
226
|
});
|
|
131
227
|
reactFlowInstance.setEdges((edges)=>[
|
|
132
228
|
...edges.filter((e)=>!previewEdgeIds.includes(e.id)),
|
|
@@ -134,7 +230,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
134
230
|
]);
|
|
135
231
|
const [firstConnection] = previewNodeConnectionInfo;
|
|
136
232
|
if (firstConnection) {
|
|
137
|
-
const firstEdgeSourceHandle = firstConnection.addNewNodeAsSource ? newNodeManifest && registry?.getDefaultHandle(newNodeManifest.nodeType, 'source')?.id : firstConnection.existingHandleId;
|
|
233
|
+
const firstEdgeSourceHandle = firstConnection.addNewNodeAsSource ? newNodeManifest && registry?.getDefaultHandle(newNodeManifest.nodeType, 'source', nodeItem.data.version)?.id : firstConnection.existingHandleId;
|
|
138
234
|
const firstEdgeData = firstConnection.addNewNodeAsSource ? {
|
|
139
235
|
source: finalNode.id,
|
|
140
236
|
sourceHandle: firstEdgeSourceHandle ?? 'output'
|
|
@@ -142,7 +238,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
142
238
|
source: firstConnection.existingNodeId,
|
|
143
239
|
sourceHandle: firstConnection.existingHandleId
|
|
144
240
|
};
|
|
145
|
-
onNodeAdded?.(firstEdgeData.source, firstEdgeData.sourceHandle,
|
|
241
|
+
onNodeAdded?.(firstEdgeData.source, firstEdgeData.sourceHandle, resolvedFinalNode);
|
|
146
242
|
}
|
|
147
243
|
restoreEdgesRef.current = null;
|
|
148
244
|
handleClose();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddNodeManager.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AddNodePanel/AddNodeManager.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAE3E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AddNodeManager.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AddNodePanel/AddNodeManager.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAE3E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAShD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IAKlC,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC;IAI7E,YAAY,CAAC,EAAE,OAAO,CAAC;IAIvB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAK7F,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK,YAAY,CAAC;IAOtE,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,IAAI,EAAE,CAAA;KAAE,CAAC;IAK7F,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,KAAK,IAAI,CAAC;IAMpF,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAsHD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA0OxD,CAAC"}
|
|
@@ -5,8 +5,86 @@ import { FLOATING_CANVAS_PANEL_OFFSET, PREVIEW_NODE_ID } from "../../constants.j
|
|
|
5
5
|
import { useOptionalNodeTypeRegistry } from "../../core/index.js";
|
|
6
6
|
import { usePreviewNode } from "../../hooks/usePreviewNode.js";
|
|
7
7
|
import { resolveCollisions } from "../../utils/index.js";
|
|
8
|
+
import { getExpandedSize } from "../../utils/collapse.js";
|
|
9
|
+
import { ensureContainersFitChildren, getNodeDimensions } from "../../utils/container-sizing.js";
|
|
10
|
+
import { getNodeTypeVersion } from "../../utils/manifest-resolver.js";
|
|
8
11
|
import { FloatingCanvasPanel } from "../FloatingCanvasPanel/index.js";
|
|
12
|
+
import { getLoopContainerFitGeometry, isLoopContainerManifest } from "../LoopNode/LoopNode.helpers.js";
|
|
13
|
+
import { createLoopSequenceResolverOptions, getLoopSequencePlacementFromPreviewGraph, resolveLoopSequenceMaterializedNodes } from "../LoopNode/LoopNode.sequence.js";
|
|
9
14
|
import { AddNodePanel } from "./AddNodePanel.js";
|
|
15
|
+
function getManifestForNode(registry, node) {
|
|
16
|
+
return node.type ? registry?.getManifest(node.type, getNodeTypeVersion(node.data)) : void 0;
|
|
17
|
+
}
|
|
18
|
+
function getManifestAwareNodeDimensions(registry, node) {
|
|
19
|
+
const manifest = getManifestForNode(registry, node);
|
|
20
|
+
const fallbackDimensions = getExpandedSize(manifest?.display.shape, manifest);
|
|
21
|
+
return getNodeDimensions(node, fallbackDimensions);
|
|
22
|
+
}
|
|
23
|
+
function getContainerFitGeometry(registry, node) {
|
|
24
|
+
const manifest = getManifestForNode(registry, node);
|
|
25
|
+
return isLoopContainerManifest(manifest) ? getLoopContainerFitGeometry() : null;
|
|
26
|
+
}
|
|
27
|
+
function centerNodeOnPreview(previewNode, nodeDimensions) {
|
|
28
|
+
const previewDimensions = getNodeDimensions(previewNode);
|
|
29
|
+
return {
|
|
30
|
+
x: previewNode.position.x + (previewDimensions.width - nodeDimensions.width) / 2,
|
|
31
|
+
y: previewNode.position.y + (previewDimensions.height - nodeDimensions.height) / 2
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function centerNodeVerticallyOnPreview(previewNode, nodeDimensions) {
|
|
35
|
+
const previewDimensions = getNodeDimensions(previewNode);
|
|
36
|
+
return {
|
|
37
|
+
x: previewNode.position.x,
|
|
38
|
+
y: previewNode.position.y + (previewDimensions.height - nodeDimensions.height) / 2
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function resolveSiblingCollisions(nodes, insertedNode, options) {
|
|
42
|
+
const siblingNodes = nodes.filter((node)=>node.parentId === insertedNode.parentId);
|
|
43
|
+
const resolvedSiblings = resolveCollisions(siblingNodes, options);
|
|
44
|
+
const resolvedSiblingsById = new Map(resolvedSiblings.map((node)=>[
|
|
45
|
+
node.id,
|
|
46
|
+
node
|
|
47
|
+
]));
|
|
48
|
+
return nodes.map((node)=>resolvedSiblingsById.get(node.id) ?? node);
|
|
49
|
+
}
|
|
50
|
+
function resolveNodePlacement(nodes, insertedNode, registry, ignoredNodeTypes, edges, loopSequencePlacement) {
|
|
51
|
+
const getNodeSize = (node)=>getManifestAwareNodeDimensions(registry, node);
|
|
52
|
+
if (!insertedNode.parentId) {
|
|
53
|
+
const resolvedNodes = resolveCollisions(nodes, {
|
|
54
|
+
ignoredNodeTypes,
|
|
55
|
+
getNodeSize
|
|
56
|
+
});
|
|
57
|
+
return {
|
|
58
|
+
nodes: resolvedNodes,
|
|
59
|
+
insertedNode: resolvedNodes.find((node)=>node.id === insertedNode.id) ?? insertedNode
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
const loopSequenceNodes = loopSequencePlacement ? resolveLoopSequenceMaterializedNodes({
|
|
63
|
+
nodes,
|
|
64
|
+
edges,
|
|
65
|
+
insertedNode,
|
|
66
|
+
placement: loopSequencePlacement,
|
|
67
|
+
getNodeSize
|
|
68
|
+
}) : null;
|
|
69
|
+
let resolvedNodes = loopSequenceNodes;
|
|
70
|
+
if (!resolvedNodes) resolvedNodes = resolveSiblingCollisions(nodes, insertedNode, {
|
|
71
|
+
ignoredNodeTypes,
|
|
72
|
+
getNodeSize
|
|
73
|
+
});
|
|
74
|
+
const fittedNodes = ensureContainersFitChildren(resolvedNodes, {
|
|
75
|
+
containerIds: [
|
|
76
|
+
insertedNode.parentId
|
|
77
|
+
],
|
|
78
|
+
getContainerFitGeometry: (node)=>getContainerFitGeometry(registry, node),
|
|
79
|
+
getNodeDimensions: getNodeSize,
|
|
80
|
+
ignoredNodeTypes,
|
|
81
|
+
includeAncestors: true
|
|
82
|
+
});
|
|
83
|
+
return {
|
|
84
|
+
nodes: fittedNodes,
|
|
85
|
+
insertedNode: fittedNodes.find((node)=>node.id === insertedNode.id) ?? insertedNode
|
|
86
|
+
};
|
|
87
|
+
}
|
|
10
88
|
const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData, onBeforeNodeAdded, onNodeAdded, ignoredNodeTypes })=>{
|
|
11
89
|
const reactFlowInstance = useReactFlow();
|
|
12
90
|
const registry = useOptionalNodeTypeRegistry();
|
|
@@ -42,28 +120,45 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
42
120
|
const handleNodeSelect = useCallback((nodeItem)=>{
|
|
43
121
|
const currentPreviewNode = reactFlowInstance.getNode(PREVIEW_NODE_ID);
|
|
44
122
|
if (!currentPreviewNode || !previewNodeConnectionInfo || 0 === previewNodeConnectionInfo.length) return;
|
|
123
|
+
const loopSequenceResolverOptions = createLoopSequenceResolverOptions(registry);
|
|
124
|
+
const loopSequencePlacement = getLoopSequencePlacementFromPreviewGraph(currentPreviewNode, previewNodeConnectionInfo, {
|
|
125
|
+
isLoopContainerId: (containerId)=>{
|
|
126
|
+
const containerNode = reactFlowInstance.getNode(containerId);
|
|
127
|
+
return containerNode ? loopSequenceResolverOptions.isLoopContainerNode?.(containerNode) ?? false : false;
|
|
128
|
+
}
|
|
129
|
+
});
|
|
45
130
|
const newNodeId = `${nodeItem.data.type}-${Date.now()}`;
|
|
46
131
|
const baseNodeData = createNodeData ? createNodeData(nodeItem) : {
|
|
47
132
|
label: nodeItem.name,
|
|
48
133
|
subLabel: nodeItem.description
|
|
49
134
|
};
|
|
50
|
-
const nodeData =
|
|
135
|
+
const nodeData = {
|
|
51
136
|
...baseNodeData,
|
|
52
|
-
|
|
53
|
-
|
|
137
|
+
...nodeItem.data.version ? {
|
|
138
|
+
typeVersion: nodeItem.data.version
|
|
139
|
+
} : {},
|
|
140
|
+
...currentPreviewNode.data?.useSmartHandles ? {
|
|
141
|
+
useSmartHandles: true
|
|
142
|
+
} : {}
|
|
143
|
+
};
|
|
54
144
|
const newNode = {
|
|
55
145
|
id: newNodeId,
|
|
56
146
|
type: nodeItem.data.type,
|
|
57
147
|
position: currentPreviewNode.position,
|
|
148
|
+
parentId: currentPreviewNode.parentId,
|
|
149
|
+
extent: currentPreviewNode.extent,
|
|
58
150
|
selected: true,
|
|
59
151
|
data: nodeData
|
|
60
152
|
};
|
|
61
|
-
const newNodeManifest = registry?.getManifest(nodeItem.data.type);
|
|
153
|
+
const newNodeManifest = registry?.getManifest(nodeItem.data.type, nodeItem.data.version);
|
|
154
|
+
const newNodeDimensions = getManifestAwareNodeDimensions(registry, newNode);
|
|
155
|
+
if (currentPreviewNode.parentId) newNode.position = centerNodeOnPreview(currentPreviewNode, newNodeDimensions);
|
|
156
|
+
else if (isLoopContainerManifest(newNodeManifest)) newNode.position = centerNodeVerticallyOnPreview(currentPreviewNode, newNodeDimensions);
|
|
62
157
|
const newEdges = [];
|
|
63
158
|
const previewEdgeIds = [];
|
|
64
159
|
for (const connectionInfoItem of previewNodeConnectionInfo){
|
|
65
160
|
const newNodeHandleType = connectionInfoItem.addNewNodeAsSource ? 'source' : 'target';
|
|
66
|
-
const newNodeDefaultHandle = newNodeManifest ? registry?.getDefaultHandle(newNodeManifest.nodeType, newNodeHandleType) : void 0;
|
|
161
|
+
const newNodeDefaultHandle = newNodeManifest ? registry?.getDefaultHandle(newNodeManifest.nodeType, newNodeHandleType, nodeItem.data.version) : void 0;
|
|
67
162
|
const newNodeHandleId = newNodeDefaultHandle?.id;
|
|
68
163
|
const edgeSourceTargetData = connectionInfoItem.addNewNodeAsSource ? {
|
|
69
164
|
source: newNode.id,
|
|
@@ -88,6 +183,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
88
183
|
newNode,
|
|
89
184
|
newEdges
|
|
90
185
|
};
|
|
186
|
+
let resolvedFinalNode = finalNode;
|
|
91
187
|
reactFlowInstance.setNodes((nodes)=>{
|
|
92
188
|
const newNodes = [
|
|
93
189
|
...nodes.filter((n)=>n.id !== PREVIEW_NODE_ID).map((n)=>({
|
|
@@ -96,9 +192,9 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
96
192
|
})),
|
|
97
193
|
finalNode
|
|
98
194
|
];
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
195
|
+
const placement = resolveNodePlacement(newNodes, finalNode, registry, ignoredNodeTypes, reactFlowInstance.getEdges(), loopSequencePlacement);
|
|
196
|
+
resolvedFinalNode = placement.insertedNode;
|
|
197
|
+
return placement.nodes;
|
|
102
198
|
});
|
|
103
199
|
reactFlowInstance.setEdges((edges)=>[
|
|
104
200
|
...edges.filter((e)=>!previewEdgeIds.includes(e.id)),
|
|
@@ -106,7 +202,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
106
202
|
]);
|
|
107
203
|
const [firstConnection] = previewNodeConnectionInfo;
|
|
108
204
|
if (firstConnection) {
|
|
109
|
-
const firstEdgeSourceHandle = firstConnection.addNewNodeAsSource ? newNodeManifest && registry?.getDefaultHandle(newNodeManifest.nodeType, 'source')?.id : firstConnection.existingHandleId;
|
|
205
|
+
const firstEdgeSourceHandle = firstConnection.addNewNodeAsSource ? newNodeManifest && registry?.getDefaultHandle(newNodeManifest.nodeType, 'source', nodeItem.data.version)?.id : firstConnection.existingHandleId;
|
|
110
206
|
const firstEdgeData = firstConnection.addNewNodeAsSource ? {
|
|
111
207
|
source: finalNode.id,
|
|
112
208
|
sourceHandle: firstEdgeSourceHandle ?? 'output'
|
|
@@ -114,7 +210,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
114
210
|
source: firstConnection.existingNodeId,
|
|
115
211
|
sourceHandle: firstConnection.existingHandleId
|
|
116
212
|
};
|
|
117
|
-
onNodeAdded?.(firstEdgeData.source, firstEdgeData.sourceHandle,
|
|
213
|
+
onNodeAdded?.(firstEdgeData.source, firstEdgeData.sourceHandle, resolvedFinalNode);
|
|
118
214
|
}
|
|
119
215
|
restoreEdgesRef.current = null;
|
|
120
216
|
handleClose();
|
|
@@ -27,10 +27,44 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
27
27
|
createAddNodePreview: ()=>createAddNodePreview
|
|
28
28
|
});
|
|
29
29
|
const react_cjs_namespaceObject = require("../../xyflow/react.cjs");
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
const createPreviewGraph_cjs_namespaceObject = require("../../utils/createPreviewGraph.cjs");
|
|
31
|
+
const LoopNode_sequence_cjs_namespaceObject = require("../LoopNode/LoopNode.sequence.cjs");
|
|
32
|
+
function normalizeOptions(options) {
|
|
33
|
+
return Array.isArray(options) ? {
|
|
34
|
+
ignoredNodeTypes: options
|
|
35
|
+
} : options;
|
|
36
|
+
}
|
|
37
|
+
function createAddNodePreview(sourceNodeId, sourceHandleId, reactFlowInstance, handlePosition = react_cjs_namespaceObject.Position.Right, sourceHandleType = 'source', options = []) {
|
|
38
|
+
const { ignoredNodeTypes = [], ...providedResolverOptions } = normalizeOptions(options);
|
|
39
|
+
const resolverOptions = {
|
|
40
|
+
...(0, LoopNode_sequence_cjs_namespaceObject.createLoopSequenceResolverOptions)(null),
|
|
41
|
+
...providedResolverOptions
|
|
42
|
+
};
|
|
43
|
+
if ('source' === sourceHandleType) {
|
|
44
|
+
const loopPreview = (0, LoopNode_sequence_cjs_namespaceObject.resolveLoopAddNodePreview)({
|
|
45
|
+
sourceNodeId,
|
|
46
|
+
sourceHandleId,
|
|
47
|
+
reactFlowInstance,
|
|
48
|
+
resolverOptions
|
|
49
|
+
});
|
|
50
|
+
if ('create-preview' === loopPreview.action) return void (0, createPreviewGraph_cjs_namespaceObject.showPreviewGraph)({
|
|
51
|
+
sourceNodeId,
|
|
52
|
+
sourceHandleId,
|
|
53
|
+
reactFlowInstance,
|
|
54
|
+
sourceHandleType,
|
|
55
|
+
handlePosition,
|
|
56
|
+
ignoredNodeTypes,
|
|
57
|
+
...loopPreview.previewGraphOptions
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
(0, createPreviewGraph_cjs_namespaceObject.showPreviewGraph)({
|
|
61
|
+
sourceNodeId,
|
|
62
|
+
sourceHandleId,
|
|
63
|
+
reactFlowInstance,
|
|
64
|
+
sourceHandleType,
|
|
65
|
+
handlePosition,
|
|
66
|
+
ignoredNodeTypes
|
|
67
|
+
});
|
|
34
68
|
}
|
|
35
69
|
exports.createAddNodePreview = __webpack_exports__.createAddNodePreview;
|
|
36
70
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { Position, type ReactFlowInstance } from '../../xyflow/react.ts';
|
|
2
|
-
|
|
2
|
+
import { type LoopSequenceResolverOptions } from '../LoopNode/LoopNode.sequence';
|
|
3
|
+
export interface CreateAddNodePreviewOptions extends LoopSequenceResolverOptions {
|
|
4
|
+
ignoredNodeTypes?: string[];
|
|
5
|
+
}
|
|
6
|
+
export declare function createAddNodePreview(sourceNodeId: string, sourceHandleId: string, reactFlowInstance: ReactFlowInstance, handlePosition?: Position, sourceHandleType?: 'source' | 'target', options?: string[] | CreateAddNodePreviewOptions): void;
|
|
3
7
|
//# sourceMappingURL=createAddNodePreview.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAddNodePreview.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AddNodePanel/createAddNodePreview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"createAddNodePreview.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AddNodePanel/createAddNodePreview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAE5F,OAAO,EAEL,KAAK,2BAA2B,EAEjC,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,2BAA4B,SAAQ,2BAA2B;IAC9E,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAkBD,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,iBAAiB,EACpC,cAAc,GAAE,QAAyB,EACzC,gBAAgB,GAAE,QAAQ,GAAG,QAAmB,EAChD,OAAO,GAAE,MAAM,EAAE,GAAG,2BAAgC,GACnD,IAAI,CAqCN"}
|
|
@@ -1,7 +1,41 @@
|
|
|
1
1
|
import { Position } from "../../xyflow/react.js";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import { showPreviewGraph } from "../../utils/createPreviewGraph.js";
|
|
3
|
+
import { createLoopSequenceResolverOptions, resolveLoopAddNodePreview } from "../LoopNode/LoopNode.sequence.js";
|
|
4
|
+
function normalizeOptions(options) {
|
|
5
|
+
return Array.isArray(options) ? {
|
|
6
|
+
ignoredNodeTypes: options
|
|
7
|
+
} : options;
|
|
8
|
+
}
|
|
9
|
+
function createAddNodePreview(sourceNodeId, sourceHandleId, reactFlowInstance, handlePosition = Position.Right, sourceHandleType = 'source', options = []) {
|
|
10
|
+
const { ignoredNodeTypes = [], ...providedResolverOptions } = normalizeOptions(options);
|
|
11
|
+
const resolverOptions = {
|
|
12
|
+
...createLoopSequenceResolverOptions(null),
|
|
13
|
+
...providedResolverOptions
|
|
14
|
+
};
|
|
15
|
+
if ('source' === sourceHandleType) {
|
|
16
|
+
const loopPreview = resolveLoopAddNodePreview({
|
|
17
|
+
sourceNodeId,
|
|
18
|
+
sourceHandleId,
|
|
19
|
+
reactFlowInstance,
|
|
20
|
+
resolverOptions
|
|
21
|
+
});
|
|
22
|
+
if ('create-preview' === loopPreview.action) return void showPreviewGraph({
|
|
23
|
+
sourceNodeId,
|
|
24
|
+
sourceHandleId,
|
|
25
|
+
reactFlowInstance,
|
|
26
|
+
sourceHandleType,
|
|
27
|
+
handlePosition,
|
|
28
|
+
ignoredNodeTypes,
|
|
29
|
+
...loopPreview.previewGraphOptions
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
showPreviewGraph({
|
|
33
|
+
sourceNodeId,
|
|
34
|
+
sourceHandleId,
|
|
35
|
+
reactFlowInstance,
|
|
36
|
+
sourceHandleType,
|
|
37
|
+
handlePosition,
|
|
38
|
+
ignoredNodeTypes
|
|
39
|
+
});
|
|
6
40
|
}
|
|
7
41
|
export { createAddNodePreview };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-flow.manifest.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AgentCanvas/agent-flow.manifest.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAMnF,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,EAmBjD,CAAC;AAMF,eAAO,MAAM,2BAA2B,EAAE,YAsDzC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,YAqDrC,CAAC;AAMF,eAAO,MAAM,uBAAuB,EAAE,YAwBrC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAwBlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YAwBjC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,YAwBxC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,YAwBpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YAwBjC,CAAC;AAMF,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"agent-flow.manifest.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AgentCanvas/agent-flow.manifest.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAMnF,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,EAmBjD,CAAC;AAMF,eAAO,MAAM,2BAA2B,EAAE,YAsDzC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,YAqDrC,CAAC;AAMF,eAAO,MAAM,uBAAuB,EAAE,YAwBrC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAwBlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YAwBjC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,YAwBxC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,YAwBpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YAwBjC,CAAC;AAMF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAa7B,CAAC"}
|
|
@@ -24,6 +24,7 @@ var __webpack_require__ = {};
|
|
|
24
24
|
var __webpack_exports__ = {};
|
|
25
25
|
__webpack_require__.r(__webpack_exports__);
|
|
26
26
|
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
selectIsConnecting: ()=>selectIsConnecting,
|
|
27
28
|
BaseNode: ()=>BaseNode
|
|
28
29
|
});
|
|
29
30
|
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
@@ -69,7 +70,8 @@ const getContainerHeight = (height, hasFooter, footerVariant)=>{
|
|
|
69
70
|
return height || external_constants_cjs_namespaceObject.NODE_HEIGHT_DEFAULT;
|
|
70
71
|
};
|
|
71
72
|
const BaseNodeComponent = (props)=>{
|
|
72
|
-
const { type, data, selected, id, dragging, width, height } = props;
|
|
73
|
+
const { type, data, selected, id, dragging, width, height, parentId } = props;
|
|
74
|
+
const nodeVersion = (0, manifest_resolver_cjs_namespaceObject.getNodeTypeVersion)(data);
|
|
73
75
|
const { onHandleAction: onHandleActionProp, shouldShowAddButtonFn: shouldShowAddButtonFnProp, shouldShowButtonHandleNotchesFn: shouldShowButtonHandleNotchesFnProp, toolbarConfig: toolbarConfigProp, handleConfigurations: handleConfigurationsProp, adornments: adornmentsProp, suggestionType, disabled, executionStatusOverride, labelTooltip, labelBackgroundColor, footerVariant, footerComponent, subLabelComponent, iconComponent } = (0, external_BaseNodeConfigContext_cjs_namespaceObject.useBaseNodeOverrideConfig)();
|
|
74
76
|
const updateNodeInternals = (0, react_cjs_namespaceObject.useUpdateNodeInternals)();
|
|
75
77
|
const { updateNodeData, updateNode } = (0, react_cjs_namespaceObject.useReactFlow)();
|
|
@@ -87,9 +89,10 @@ const BaseNodeComponent = (props)=>{
|
|
|
87
89
|
const isConnecting = (0, react_cjs_namespaceObject.useStore)(selectIsConnecting);
|
|
88
90
|
const { multipleNodesSelected } = (0, SelectionStateContext_cjs_namespaceObject.useSelectionState)();
|
|
89
91
|
const { isDarkMode } = (0, CanvasThemeContext_cjs_namespaceObject.useCanvasTheme)();
|
|
90
|
-
const manifest = (0, external_react_namespaceObject.useMemo)(()=>nodeTypeRegistry.getManifest(type), [
|
|
92
|
+
const manifest = (0, external_react_namespaceObject.useMemo)(()=>nodeTypeRegistry.getManifest(type, nodeVersion), [
|
|
91
93
|
type,
|
|
92
|
-
nodeTypeRegistry
|
|
94
|
+
nodeTypeRegistry,
|
|
95
|
+
nodeVersion
|
|
93
96
|
]);
|
|
94
97
|
const statusContext = (0, external_react_namespaceObject.useMemo)(()=>({
|
|
95
98
|
nodeId: id,
|
|
@@ -340,7 +343,8 @@ const BaseNodeComponent = (props)=>{
|
|
|
340
343
|
showNotches,
|
|
341
344
|
nodeWidth: width,
|
|
342
345
|
nodeHeight: height,
|
|
343
|
-
shouldShowAddButtonFn
|
|
346
|
+
shouldShowAddButtonFn,
|
|
347
|
+
portalActions: !!parentId
|
|
344
348
|
});
|
|
345
349
|
const smartHandleElements = (0, external_react_namespaceObject.useMemo)(()=>{
|
|
346
350
|
if (!useSmartHandles) return null;
|
|
@@ -485,8 +489,10 @@ const BaseNodeComponent = (props)=>{
|
|
|
485
489
|
};
|
|
486
490
|
const BaseNode = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(BaseNodeComponent);
|
|
487
491
|
exports.BaseNode = __webpack_exports__.BaseNode;
|
|
492
|
+
exports.selectIsConnecting = __webpack_exports__.selectIsConnecting;
|
|
488
493
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
489
|
-
"BaseNode"
|
|
494
|
+
"BaseNode",
|
|
495
|
+
"selectIsConnecting"
|
|
490
496
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
491
497
|
Object.defineProperty(exports, '__esModule', {
|
|
492
498
|
value: true
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { Node, NodeProps } from '../../xyflow/react.ts';
|
|
1
|
+
import type { Node, NodeProps, ReactFlowState } from '../../xyflow/react.ts';
|
|
2
2
|
import type { BaseNodeData } from './BaseNode.types';
|
|
3
|
+
export declare const selectIsConnecting: (state: ReactFlowState) => boolean;
|
|
3
4
|
export declare const BaseNode: import("react").MemoExoticComponent<(props: NodeProps<Node<BaseNodeData>>) => import("react/jsx-runtime").JSX.Element>;
|
|
4
5
|
//# sourceMappingURL=BaseNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseNode.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/BaseNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"BaseNode.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/BaseNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAsChG,OAAO,KAAK,EACV,YAAY,EAIb,MAAM,kBAAkB,CAAC;AAa1B,eAAO,MAAM,kBAAkB,GAAI,OAAO,cAAc,YAAkC,CAAC;AAunB3F,eAAO,MAAM,QAAQ,8CAvlBa,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,6CAulBhB,CAAC"}
|
|
@@ -6,7 +6,7 @@ import { useNodeTypeRegistry } from "../../core/index.js";
|
|
|
6
6
|
import { useElementValidationStatus, useNodeExecutionState } from "../../hooks/index.js";
|
|
7
7
|
import { resolveAdornments } from "../../utils/adornment-resolver.js";
|
|
8
8
|
import { getIcon } from "../../utils/icon-registry.js";
|
|
9
|
-
import { resolveDisplay, resolveHandles } from "../../utils/manifest-resolver.js";
|
|
9
|
+
import { getNodeTypeVersion, resolveDisplay, resolveHandles } from "../../utils/manifest-resolver.js";
|
|
10
10
|
import { resolveToolbar } from "../../utils/toolbar-resolver.js";
|
|
11
11
|
import { useBaseCanvasMode } from "../BaseCanvas/BaseCanvasModeProvider.js";
|
|
12
12
|
import { useCanvasTheme } from "../BaseCanvas/CanvasThemeContext.js";
|
|
@@ -41,7 +41,8 @@ const getContainerHeight = (height, hasFooter, footerVariant)=>{
|
|
|
41
41
|
return height || NODE_HEIGHT_DEFAULT;
|
|
42
42
|
};
|
|
43
43
|
const BaseNodeComponent = (props)=>{
|
|
44
|
-
const { type, data, selected, id, dragging, width, height } = props;
|
|
44
|
+
const { type, data, selected, id, dragging, width, height, parentId } = props;
|
|
45
|
+
const nodeVersion = getNodeTypeVersion(data);
|
|
45
46
|
const { onHandleAction: onHandleActionProp, shouldShowAddButtonFn: shouldShowAddButtonFnProp, shouldShowButtonHandleNotchesFn: shouldShowButtonHandleNotchesFnProp, toolbarConfig: toolbarConfigProp, handleConfigurations: handleConfigurationsProp, adornments: adornmentsProp, suggestionType, disabled, executionStatusOverride, labelTooltip, labelBackgroundColor, footerVariant, footerComponent, subLabelComponent, iconComponent } = useBaseNodeOverrideConfig();
|
|
46
47
|
const updateNodeInternals = useUpdateNodeInternals();
|
|
47
48
|
const { updateNodeData, updateNode } = useReactFlow();
|
|
@@ -59,9 +60,10 @@ const BaseNodeComponent = (props)=>{
|
|
|
59
60
|
const isConnecting = useStore(selectIsConnecting);
|
|
60
61
|
const { multipleNodesSelected } = useSelectionState();
|
|
61
62
|
const { isDarkMode } = useCanvasTheme();
|
|
62
|
-
const manifest = useMemo(()=>nodeTypeRegistry.getManifest(type), [
|
|
63
|
+
const manifest = useMemo(()=>nodeTypeRegistry.getManifest(type, nodeVersion), [
|
|
63
64
|
type,
|
|
64
|
-
nodeTypeRegistry
|
|
65
|
+
nodeTypeRegistry,
|
|
66
|
+
nodeVersion
|
|
65
67
|
]);
|
|
66
68
|
const statusContext = useMemo(()=>({
|
|
67
69
|
nodeId: id,
|
|
@@ -312,7 +314,8 @@ const BaseNodeComponent = (props)=>{
|
|
|
312
314
|
showNotches,
|
|
313
315
|
nodeWidth: width,
|
|
314
316
|
nodeHeight: height,
|
|
315
|
-
shouldShowAddButtonFn
|
|
317
|
+
shouldShowAddButtonFn,
|
|
318
|
+
portalActions: !!parentId
|
|
316
319
|
});
|
|
317
320
|
const smartHandleElements = useMemo(()=>{
|
|
318
321
|
if (!useSmartHandles) return null;
|
|
@@ -456,4 +459,4 @@ const BaseNodeComponent = (props)=>{
|
|
|
456
459
|
return nodeContent;
|
|
457
460
|
};
|
|
458
461
|
const BaseNode = /*#__PURE__*/ memo(BaseNodeComponent);
|
|
459
|
-
export { BaseNode };
|
|
462
|
+
export { BaseNode, selectIsConnecting };
|
|
@@ -3,6 +3,9 @@ import type { ExecutionState } from '../../types/execution';
|
|
|
3
3
|
import type { ValidationState } from '../../types/validation';
|
|
4
4
|
export type FooterVariant = 'none' | 'button' | 'single' | 'double';
|
|
5
5
|
export interface BaseNodeData extends Record<string, unknown> {
|
|
6
|
+
nodeType?: string;
|
|
7
|
+
typeVersion?: string;
|
|
8
|
+
parameters?: Record<string, unknown>;
|
|
6
9
|
display?: {
|
|
7
10
|
label?: string;
|
|
8
11
|
subLabel?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseNode.types.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/BaseNode.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpE,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3D,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,SAAS,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAOF,eAAe,CAAC,EAAE,OAAO,CAAC;IAM1B,WAAW,CAAC,EAAE,OAAO,CAAC;IAOtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
|
|
1
|
+
{"version":3,"file":"BaseNode.types.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/BaseNode.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpE,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAErC,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,SAAS,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAOF,eAAe,CAAC,EAAE,OAAO,CAAC;IAM1B,WAAW,CAAC,EAAE,OAAO,CAAC;IAOtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
|