@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.
Files changed (224) hide show
  1. package/dist/canvas/components/AddNodePanel/AddNodeManager.cjs +106 -10
  2. package/dist/canvas/components/AddNodePanel/AddNodeManager.d.ts.map +1 -1
  3. package/dist/canvas/components/AddNodePanel/AddNodeManager.js +106 -10
  4. package/dist/canvas/components/AddNodePanel/createAddNodePreview.cjs +38 -4
  5. package/dist/canvas/components/AddNodePanel/createAddNodePreview.d.ts +5 -1
  6. package/dist/canvas/components/AddNodePanel/createAddNodePreview.d.ts.map +1 -1
  7. package/dist/canvas/components/AddNodePanel/createAddNodePreview.js +38 -4
  8. package/dist/canvas/components/AgentCanvas/agent-flow.manifest.d.ts +1 -0
  9. package/dist/canvas/components/AgentCanvas/agent-flow.manifest.d.ts.map +1 -1
  10. package/dist/canvas/components/BaseNode/BaseNode.cjs +11 -5
  11. package/dist/canvas/components/BaseNode/BaseNode.d.ts +2 -1
  12. package/dist/canvas/components/BaseNode/BaseNode.d.ts.map +1 -1
  13. package/dist/canvas/components/BaseNode/BaseNode.js +9 -6
  14. package/dist/canvas/components/BaseNode/BaseNode.types.d.ts +3 -0
  15. package/dist/canvas/components/BaseNode/BaseNode.types.d.ts.map +1 -1
  16. package/dist/canvas/components/ButtonHandle/ButtonHandle.cjs +222 -13
  17. package/dist/canvas/components/ButtonHandle/ButtonHandle.d.ts +10 -5
  18. package/dist/canvas/components/ButtonHandle/ButtonHandle.d.ts.map +1 -1
  19. package/dist/canvas/components/ButtonHandle/ButtonHandle.js +223 -14
  20. package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.cjs +10 -2
  21. package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.d.ts +2 -0
  22. package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.d.ts.map +1 -1
  23. package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.js +5 -3
  24. package/dist/canvas/components/ButtonHandle/HandleButton.cjs +17 -2
  25. package/dist/canvas/components/ButtonHandle/HandleButton.d.ts +10 -1
  26. package/dist/canvas/components/ButtonHandle/HandleButton.d.ts.map +1 -1
  27. package/dist/canvas/components/ButtonHandle/HandleButton.js +17 -2
  28. package/dist/canvas/components/ButtonHandle/useButtonHandles.cjs +4 -2
  29. package/dist/canvas/components/ButtonHandle/useButtonHandles.d.ts +2 -1
  30. package/dist/canvas/components/ButtonHandle/useButtonHandles.d.ts.map +1 -1
  31. package/dist/canvas/components/ButtonHandle/useButtonHandles.js +4 -2
  32. package/dist/canvas/components/Edges/SequenceEdge.cjs +18 -12
  33. package/dist/canvas/components/Edges/SequenceEdge.d.ts.map +1 -1
  34. package/dist/canvas/components/Edges/SequenceEdge.js +18 -12
  35. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.cjs +34 -25
  36. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.d.ts +8 -2
  37. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.d.ts.map +1 -1
  38. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.js +36 -27
  39. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.cjs +9 -2
  40. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.d.ts.map +1 -1
  41. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.js +10 -3
  42. package/dist/canvas/components/HierarchicalCanvas/index.d.ts +1 -1
  43. package/dist/canvas/components/HierarchicalCanvas/index.d.ts.map +1 -1
  44. package/dist/canvas/components/LoopNode/LoopCanvasNode.cjs +86 -0
  45. package/dist/canvas/components/LoopNode/LoopCanvasNode.d.ts +6 -0
  46. package/dist/canvas/components/LoopNode/LoopCanvasNode.d.ts.map +1 -0
  47. package/dist/canvas/components/LoopNode/LoopCanvasNode.js +52 -0
  48. package/dist/canvas/components/LoopNode/LoopNode.cjs +434 -0
  49. package/dist/canvas/components/LoopNode/LoopNode.constants.cjs +93 -0
  50. package/dist/canvas/components/LoopNode/LoopNode.constants.d.ts +16 -0
  51. package/dist/canvas/components/LoopNode/LoopNode.constants.d.ts.map +1 -0
  52. package/dist/canvas/components/LoopNode/LoopNode.constants.js +17 -0
  53. package/dist/canvas/components/LoopNode/LoopNode.d.ts +5 -0
  54. package/dist/canvas/components/LoopNode/LoopNode.d.ts.map +1 -0
  55. package/dist/canvas/components/LoopNode/LoopNode.helpers.cjs +185 -0
  56. package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts +58 -0
  57. package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts.map +1 -0
  58. package/dist/canvas/components/LoopNode/LoopNode.helpers.js +124 -0
  59. package/dist/canvas/components/LoopNode/LoopNode.js +400 -0
  60. package/dist/canvas/components/LoopNode/LoopNode.sequence.cjs +433 -0
  61. package/dist/canvas/components/LoopNode/LoopNode.sequence.d.ts +57 -0
  62. package/dist/canvas/components/LoopNode/LoopNode.sequence.d.ts.map +1 -0
  63. package/dist/canvas/components/LoopNode/LoopNode.sequence.js +387 -0
  64. package/dist/canvas/components/LoopNode/LoopNode.types.cjs +18 -0
  65. package/dist/canvas/components/LoopNode/LoopNode.types.d.ts +22 -0
  66. package/dist/canvas/components/LoopNode/LoopNode.types.d.ts.map +1 -0
  67. package/dist/canvas/components/LoopNode/LoopNode.types.js +0 -0
  68. package/dist/canvas/components/LoopNode/LoopNodePreview.cjs +60 -0
  69. package/dist/canvas/components/LoopNode/LoopNodePreview.d.ts +9 -0
  70. package/dist/canvas/components/LoopNode/LoopNodePreview.d.ts.map +1 -0
  71. package/dist/canvas/components/LoopNode/LoopNodePreview.js +26 -0
  72. package/dist/canvas/components/LoopNode/index.cjs +79 -0
  73. package/dist/canvas/components/LoopNode/index.d.ts +5 -0
  74. package/dist/canvas/components/LoopNode/index.d.ts.map +1 -0
  75. package/dist/canvas/components/LoopNode/index.js +4 -0
  76. package/dist/canvas/components/NodeViewportOverlay.cjs +63 -0
  77. package/dist/canvas/components/NodeViewportOverlay.d.ts +22 -0
  78. package/dist/canvas/components/NodeViewportOverlay.d.ts.map +1 -0
  79. package/dist/canvas/components/NodeViewportOverlay.js +29 -0
  80. package/dist/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.cjs +1 -1
  81. package/dist/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.js +1 -1
  82. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.cjs +41 -24
  83. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.d.ts.map +1 -1
  84. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.js +43 -26
  85. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.cjs +10 -3
  86. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.d.ts +1 -1
  87. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.d.ts.map +1 -1
  88. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.js +10 -3
  89. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.types.d.ts +1 -0
  90. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.types.d.ts.map +1 -1
  91. package/dist/canvas/components/index.cjs +27 -20
  92. package/dist/canvas/components/index.d.ts +1 -0
  93. package/dist/canvas/components/index.d.ts.map +1 -1
  94. package/dist/canvas/components/index.js +1 -0
  95. package/dist/canvas/constants.cjs +4 -0
  96. package/dist/canvas/constants.d.ts +1 -0
  97. package/dist/canvas/constants.d.ts.map +1 -1
  98. package/dist/canvas/constants.js +2 -1
  99. package/dist/canvas/core/NodeTypeRegistry.cjs +50 -26
  100. package/dist/canvas/core/NodeTypeRegistry.d.ts +10 -5
  101. package/dist/canvas/core/NodeTypeRegistry.d.ts.map +1 -1
  102. package/dist/canvas/core/NodeTypeRegistry.js +50 -26
  103. package/dist/canvas/core/useNodeTypeRegistry.cjs +13 -3
  104. package/dist/canvas/core/useNodeTypeRegistry.d.ts +2 -1
  105. package/dist/canvas/core/useNodeTypeRegistry.d.ts.map +1 -1
  106. package/dist/canvas/core/useNodeTypeRegistry.js +11 -4
  107. package/dist/canvas/hooks/useAddNodeOnConnectEnd.cjs +22 -23
  108. package/dist/canvas/hooks/useAddNodeOnConnectEnd.d.ts.map +1 -1
  109. package/dist/canvas/hooks/useAddNodeOnConnectEnd.js +23 -24
  110. package/dist/canvas/hooks/usePreviewNode.cjs +7 -3
  111. package/dist/canvas/hooks/usePreviewNode.d.ts.map +1 -1
  112. package/dist/canvas/hooks/usePreviewNode.js +7 -3
  113. package/dist/canvas/locales/de.cjs +1 -1
  114. package/dist/canvas/locales/de.d.ts.map +1 -1
  115. package/dist/canvas/locales/de.js +1 -1
  116. package/dist/canvas/locales/es-MX.cjs +1 -1
  117. package/dist/canvas/locales/es-MX.d.ts.map +1 -1
  118. package/dist/canvas/locales/es-MX.js +1 -1
  119. package/dist/canvas/locales/es.cjs +1 -1
  120. package/dist/canvas/locales/es.d.ts.map +1 -1
  121. package/dist/canvas/locales/es.js +1 -1
  122. package/dist/canvas/locales/fr.cjs +1 -1
  123. package/dist/canvas/locales/fr.d.ts.map +1 -1
  124. package/dist/canvas/locales/fr.js +1 -1
  125. package/dist/canvas/locales/ja.cjs +1 -1
  126. package/dist/canvas/locales/ja.d.ts.map +1 -1
  127. package/dist/canvas/locales/ja.js +1 -1
  128. package/dist/canvas/locales/ko.cjs +1 -1
  129. package/dist/canvas/locales/ko.d.ts.map +1 -1
  130. package/dist/canvas/locales/ko.js +1 -1
  131. package/dist/canvas/locales/pt-BR.cjs +1 -1
  132. package/dist/canvas/locales/pt-BR.d.ts.map +1 -1
  133. package/dist/canvas/locales/pt-BR.js +1 -1
  134. package/dist/canvas/locales/pt.cjs +1 -1
  135. package/dist/canvas/locales/pt.d.ts.map +1 -1
  136. package/dist/canvas/locales/pt.js +1 -1
  137. package/dist/canvas/locales/tr.cjs +1 -1
  138. package/dist/canvas/locales/tr.d.ts.map +1 -1
  139. package/dist/canvas/locales/tr.js +1 -1
  140. package/dist/canvas/locales/zh-CN.cjs +1 -1
  141. package/dist/canvas/locales/zh-CN.d.ts.map +1 -1
  142. package/dist/canvas/locales/zh-CN.js +1 -1
  143. package/dist/canvas/locales/zh-TW.cjs +1 -1
  144. package/dist/canvas/locales/zh-TW.d.ts.map +1 -1
  145. package/dist/canvas/locales/zh-TW.js +1 -1
  146. package/dist/canvas/schema/node-definition/handle.cjs +10 -2
  147. package/dist/canvas/schema/node-definition/handle.d.ts +9 -0
  148. package/dist/canvas/schema/node-definition/handle.d.ts.map +1 -1
  149. package/dist/canvas/schema/node-definition/handle.js +6 -1
  150. package/dist/canvas/schema/node-definition/index.cjs +4 -1
  151. package/dist/canvas/schema/node-definition/index.d.ts +3 -3
  152. package/dist/canvas/schema/node-definition/index.d.ts.map +1 -1
  153. package/dist/canvas/schema/node-definition/index.js +2 -2
  154. package/dist/canvas/schema/node-definition/node-manifest.d.ts +4 -0
  155. package/dist/canvas/schema/node-definition/node-manifest.d.ts.map +1 -1
  156. package/dist/canvas/storybook-utils/hooks/useCanvasStory.d.ts +6 -0
  157. package/dist/canvas/storybook-utils/hooks/useCanvasStory.d.ts.map +1 -1
  158. package/dist/canvas/storybook-utils/manifests/index.d.ts +1 -0
  159. package/dist/canvas/storybook-utils/manifests/index.d.ts.map +1 -1
  160. package/dist/canvas/storybook-utils/manifests/node-definitions.d.ts.map +1 -1
  161. package/dist/canvas/storybook-utils/mocks/nodes.d.ts +1 -1
  162. package/dist/canvas/storybook-utils/mocks/nodes.d.ts.map +1 -1
  163. package/dist/canvas/styles/reactflow-reset.css +2 -2
  164. package/dist/canvas/styles/tailwind.canvas.css +1 -1
  165. package/dist/canvas/utils/NodeUtils.cjs +25 -9
  166. package/dist/canvas/utils/NodeUtils.d.ts +7 -0
  167. package/dist/canvas/utils/NodeUtils.d.ts.map +1 -1
  168. package/dist/canvas/utils/NodeUtils.js +13 -6
  169. package/dist/canvas/utils/collapse.cjs +13 -6
  170. package/dist/canvas/utils/collapse.d.ts +2 -2
  171. package/dist/canvas/utils/collapse.d.ts.map +1 -1
  172. package/dist/canvas/utils/collapse.js +9 -2
  173. package/dist/canvas/utils/container-sizing.cjs +169 -0
  174. package/dist/canvas/utils/container-sizing.d.ts +23 -0
  175. package/dist/canvas/utils/container-sizing.d.ts.map +1 -0
  176. package/dist/canvas/utils/container-sizing.js +132 -0
  177. package/dist/canvas/utils/createPreviewGraph.cjs +126 -0
  178. package/dist/canvas/utils/createPreviewGraph.d.ts +37 -0
  179. package/dist/canvas/utils/createPreviewGraph.d.ts.map +1 -0
  180. package/dist/canvas/utils/createPreviewGraph.js +83 -0
  181. package/dist/canvas/utils/createPreviewNode.cjs +59 -12
  182. package/dist/canvas/utils/createPreviewNode.d.ts +10 -2
  183. package/dist/canvas/utils/createPreviewNode.d.ts.map +1 -1
  184. package/dist/canvas/utils/createPreviewNode.js +50 -12
  185. package/dist/canvas/utils/index.cjs +40 -26
  186. package/dist/canvas/utils/index.d.ts +3 -1
  187. package/dist/canvas/utils/index.d.ts.map +1 -1
  188. package/dist/canvas/utils/index.js +3 -1
  189. package/dist/canvas/utils/manifest-resolver.cjs +8 -0
  190. package/dist/canvas/utils/manifest-resolver.d.ts +1 -0
  191. package/dist/canvas/utils/manifest-resolver.d.ts.map +1 -1
  192. package/dist/canvas/utils/manifest-resolver.js +6 -1
  193. package/dist/material/components/ap-tool-call/locales/de.cjs +1 -1
  194. package/dist/material/components/ap-tool-call/locales/de.d.ts.map +1 -1
  195. package/dist/material/components/ap-tool-call/locales/de.js +1 -1
  196. package/dist/material/components/ap-tool-call/locales/es-MX.cjs +1 -1
  197. package/dist/material/components/ap-tool-call/locales/es-MX.js +1 -1
  198. package/dist/material/components/ap-tool-call/locales/es.cjs +1 -1
  199. package/dist/material/components/ap-tool-call/locales/es.js +1 -1
  200. package/dist/material/components/ap-tool-call/locales/fr.cjs +1 -1
  201. package/dist/material/components/ap-tool-call/locales/fr.d.ts.map +1 -1
  202. package/dist/material/components/ap-tool-call/locales/fr.js +1 -1
  203. package/dist/material/components/ap-tool-call/locales/ja.cjs +1 -1
  204. package/dist/material/components/ap-tool-call/locales/ja.d.ts.map +1 -1
  205. package/dist/material/components/ap-tool-call/locales/ja.js +1 -1
  206. package/dist/material/components/ap-tool-call/locales/ko.cjs +1 -1
  207. package/dist/material/components/ap-tool-call/locales/ko.d.ts.map +1 -1
  208. package/dist/material/components/ap-tool-call/locales/ko.js +1 -1
  209. package/dist/material/components/ap-tool-call/locales/pt-BR.cjs +1 -1
  210. package/dist/material/components/ap-tool-call/locales/pt-BR.d.ts.map +1 -1
  211. package/dist/material/components/ap-tool-call/locales/pt-BR.js +1 -1
  212. package/dist/material/components/ap-tool-call/locales/pt.cjs +1 -1
  213. package/dist/material/components/ap-tool-call/locales/pt.d.ts.map +1 -1
  214. package/dist/material/components/ap-tool-call/locales/pt.js +1 -1
  215. package/dist/material/components/ap-tool-call/locales/tr.cjs +1 -1
  216. package/dist/material/components/ap-tool-call/locales/tr.d.ts.map +1 -1
  217. package/dist/material/components/ap-tool-call/locales/tr.js +1 -1
  218. package/dist/material/components/ap-tool-call/locales/zh-CN.cjs +1 -1
  219. package/dist/material/components/ap-tool-call/locales/zh-CN.d.ts.map +1 -1
  220. package/dist/material/components/ap-tool-call/locales/zh-CN.js +1 -1
  221. package/dist/material/components/ap-tool-call/locales/zh-TW.cjs +1 -1
  222. package/dist/material/components/ap-tool-call/locales/zh-TW.d.ts.map +1 -1
  223. package/dist/material/components/ap-tool-call/locales/zh-TW.js +1 -1
  224. package/package.json +3 -3
@@ -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"}
@@ -0,0 +1,52 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useReactFlow } from "../../xyflow/react.js";
3
+ import { memo, useCallback, useMemo } from "react";
4
+ import { useOptionalNodeTypeRegistry } from "../../core/index.js";
5
+ import { getNodeTypeVersion } from "../../utils/manifest-resolver.js";
6
+ import { BaseNode } from "../BaseNode/index.js";
7
+ import { LoopNode } from "./LoopNode.js";
8
+ import { isLoopContainerManifest, resolveLoopPreviewConnectionHandles } from "./LoopNode.helpers.js";
9
+ import { showCenteredContainerPreview } from "./LoopNodePreview.js";
10
+ function LoopCanvasNodeComponent(props) {
11
+ const reactFlow = useReactFlow();
12
+ const nodeTypeRegistry = useOptionalNodeTypeRegistry();
13
+ const nodeVersion = getNodeTypeVersion(props.data);
14
+ const loopManifest = useMemo(()=>props.type ? nodeTypeRegistry?.getManifest(props.type, nodeVersion) : void 0, [
15
+ nodeTypeRegistry,
16
+ props.type,
17
+ nodeVersion
18
+ ]);
19
+ const shouldUseLoopContainer = useMemo(()=>isLoopContainerManifest(loopManifest), [
20
+ loopManifest
21
+ ]);
22
+ const loopPreviewHandles = useMemo(()=>shouldUseLoopContainer ? resolveLoopPreviewConnectionHandles(loopManifest, {
23
+ ...props.data ?? {},
24
+ nodeId: props.id
25
+ }) : null, [
26
+ shouldUseLoopContainer,
27
+ loopManifest,
28
+ props.data,
29
+ props.id
30
+ ]);
31
+ const handleAddFirstChild = useCallback(()=>{
32
+ if (!loopPreviewHandles) return;
33
+ showCenteredContainerPreview({
34
+ containerId: props.id,
35
+ reactFlowInstance: reactFlow,
36
+ previewHandles: loopPreviewHandles
37
+ });
38
+ }, [
39
+ loopPreviewHandles,
40
+ props.id,
41
+ reactFlow
42
+ ]);
43
+ if (loopManifest && !shouldUseLoopContainer) return /*#__PURE__*/ jsx(BaseNode, {
44
+ ...props
45
+ });
46
+ return /*#__PURE__*/ jsx(LoopNode, {
47
+ ...props,
48
+ onAddFirstChild: loopPreviewHandles ? handleAddFirstChild : void 0
49
+ });
50
+ }
51
+ const LoopCanvasNode = /*#__PURE__*/ memo(LoopCanvasNodeComponent);
52
+ export { LoopCanvasNode };
@@ -0,0 +1,434 @@
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
+ LoopNode: ()=>LoopNode
28
+ });
29
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
30
+ const react_cjs_namespaceObject = require("../../xyflow/react.cjs");
31
+ const apollo_wind_namespaceObject = require("@uipath/apollo-wind");
32
+ const external_react_namespaceObject = require("react");
33
+ const index_cjs_namespaceObject = require("../../core/index.cjs");
34
+ const external_hooks_index_cjs_namespaceObject = require("../../hooks/index.cjs");
35
+ const adornment_resolver_cjs_namespaceObject = require("../../utils/adornment-resolver.cjs");
36
+ const icon_registry_cjs_namespaceObject = require("../../utils/icon-registry.cjs");
37
+ const manifest_resolver_cjs_namespaceObject = require("../../utils/manifest-resolver.cjs");
38
+ const NodeUtils_cjs_namespaceObject = require("../../utils/NodeUtils.cjs");
39
+ const toolbar_resolver_cjs_namespaceObject = require("../../utils/toolbar-resolver.cjs");
40
+ const BaseCanvasModeProvider_cjs_namespaceObject = require("../BaseCanvas/BaseCanvasModeProvider.cjs");
41
+ const ConnectedHandlesContext_cjs_namespaceObject = require("../BaseCanvas/ConnectedHandlesContext.cjs");
42
+ const SelectionStateContext_cjs_namespaceObject = require("../BaseCanvas/SelectionStateContext.cjs");
43
+ const BaseNode_cjs_namespaceObject = require("../BaseNode/BaseNode.cjs");
44
+ const BaseNodeBadgeSlot_cjs_namespaceObject = require("../BaseNode/BaseNodeBadgeSlot.cjs");
45
+ const BaseNodeContainer_cjs_namespaceObject = require("../BaseNode/BaseNodeContainer.cjs");
46
+ const BaseNodeMissingManifest_cjs_namespaceObject = require("../BaseNode/BaseNodeMissingManifest.cjs");
47
+ const external_ButtonHandle_index_cjs_namespaceObject = require("../ButtonHandle/index.cjs");
48
+ const external_Toolbar_index_cjs_namespaceObject = require("../Toolbar/index.cjs");
49
+ const external_LoopNode_constants_cjs_namespaceObject = require("./LoopNode.constants.cjs");
50
+ const external_LoopNode_helpers_cjs_namespaceObject = require("./LoopNode.helpers.cjs");
51
+ const EMPTY_DATA = {};
52
+ const RESIZE_CONTROLS = [
53
+ {
54
+ position: 'top-left',
55
+ cursor: 'nwse-resize',
56
+ indicatorClassName: 'top-[-5px] left-[-5px]'
57
+ },
58
+ {
59
+ position: 'top-right',
60
+ cursor: 'nesw-resize',
61
+ indicatorClassName: 'top-[-5px] right-[-5px]'
62
+ },
63
+ {
64
+ position: 'bottom-left',
65
+ cursor: 'nesw-resize',
66
+ indicatorClassName: 'bottom-[-5px] left-[-5px]'
67
+ },
68
+ {
69
+ position: 'bottom-right',
70
+ cursor: 'nwse-resize',
71
+ indicatorClassName: 'bottom-[-5px] right-[-5px]'
72
+ }
73
+ ];
74
+ const RESIZE_CONTROL_STYLE = {
75
+ background: 'transparent',
76
+ border: 'none',
77
+ zIndex: 100
78
+ };
79
+ const ADORNMENT_SLOT_POSITIONS = [
80
+ 'topLeft',
81
+ 'topRight',
82
+ 'bottomLeft',
83
+ 'bottomRight'
84
+ ];
85
+ const ADORNMENT_SLOT_SHAPES = {
86
+ topLeft: 'top-left',
87
+ topRight: 'top-right',
88
+ bottomLeft: 'bottom-left',
89
+ bottomRight: 'bottom-right'
90
+ };
91
+ function resolveInteractionState(dragging, selected, isHovered) {
92
+ if (dragging) return 'drag';
93
+ if (selected) return 'selected';
94
+ if (isHovered) return 'hover';
95
+ return 'default';
96
+ }
97
+ function useHasChildNodes(id, enabled) {
98
+ return (0, react_cjs_namespaceObject.useStore)((0, external_react_namespaceObject.useCallback)((state)=>!enabled || state.nodes.some((node)=>node.parentId === id), [
99
+ id,
100
+ enabled
101
+ ]));
102
+ }
103
+ function useLoopNodeInternalsRefresh(id, handleGroups, width, height) {
104
+ const updateNodeInternals = (0, react_cjs_namespaceObject.useUpdateNodeInternals)();
105
+ (0, external_react_namespaceObject.useEffect)(()=>{
106
+ const frameId = requestAnimationFrame(()=>{
107
+ updateNodeInternals(id);
108
+ });
109
+ return ()=>{
110
+ cancelAnimationFrame(frameId);
111
+ };
112
+ }, [
113
+ id,
114
+ handleGroups,
115
+ updateNodeInternals,
116
+ width,
117
+ height
118
+ ]);
119
+ }
120
+ function LoopNodeComponent(props) {
121
+ const { id, type, data, selected = false, dragging = false, width = 0, height = 0, onAddFirstChild, onResize, toolbarConfig: toolbarConfigProp, adornments: adornmentsProp, executionStatusOverride, suggestionType: suggestionTypeProp } = props;
122
+ const nodeTypeRegistry = (0, index_cjs_namespaceObject.useOptionalNodeTypeRegistry)();
123
+ const [isHovered, setIsHovered] = (0, external_react_namespaceObject.useState)(false);
124
+ const resolvedData = data ?? EMPTY_DATA;
125
+ const isLoading = !!resolvedData.loading;
126
+ const nodeVersion = (0, manifest_resolver_cjs_namespaceObject.getNodeTypeVersion)(resolvedData);
127
+ const suggestionType = suggestionTypeProp ?? resolvedData.suggestionType;
128
+ const manifest = (0, external_react_namespaceObject.useMemo)(()=>nodeTypeRegistry?.getManifest(type, nodeVersion), [
129
+ nodeTypeRegistry,
130
+ type,
131
+ nodeVersion
132
+ ]);
133
+ const { mode } = (0, BaseCanvasModeProvider_cjs_namespaceObject.useBaseCanvasMode)();
134
+ const isDesignMode = 'design' === mode;
135
+ const connectedHandleIds = (0, ConnectedHandlesContext_cjs_namespaceObject.useConnectedHandles)(id);
136
+ const { multipleNodesSelected } = (0, SelectionStateContext_cjs_namespaceObject.useSelectionState)();
137
+ const isConnecting = (0, react_cjs_namespaceObject.useStore)(BaseNode_cjs_namespaceObject.selectIsConnecting);
138
+ const hasChildNodes = useHasChildNodes(id, isDesignMode && !!onAddFirstChild);
139
+ const executionState = (0, external_hooks_index_cjs_namespaceObject.useNodeExecutionState)(id);
140
+ const validationState = (0, external_hooks_index_cjs_namespaceObject.useElementValidationStatus)(id);
141
+ const statusContext = (0, external_react_namespaceObject.useMemo)(()=>({
142
+ nodeId: id,
143
+ executionState: executionStatusOverride ?? executionState,
144
+ validationState,
145
+ isConnecting,
146
+ isSelected: selected,
147
+ isDragging: dragging,
148
+ mode
149
+ }), [
150
+ dragging,
151
+ executionStatusOverride,
152
+ executionState,
153
+ id,
154
+ isConnecting,
155
+ mode,
156
+ selected,
157
+ validationState
158
+ ]);
159
+ const executionStatus = executionStatusOverride ?? ('string' == typeof executionState ? executionState : executionState?.status);
160
+ const display = (0, external_react_namespaceObject.useMemo)(()=>(0, manifest_resolver_cjs_namespaceObject.resolveDisplay)(manifest?.display, {
161
+ ...resolvedData,
162
+ nodeId: id
163
+ }), [
164
+ manifest?.display,
165
+ id,
166
+ resolvedData
167
+ ]);
168
+ const displayTitle = display.label ?? external_LoopNode_constants_cjs_namespaceObject.DEFAULT_LOOP_TITLE;
169
+ const displayIcon = display.icon ?? external_LoopNode_constants_cjs_namespaceObject.DEFAULT_LOOP_ICON;
170
+ const containerWidth = width || external_LoopNode_constants_cjs_namespaceObject.DEFAULT_LOOP_WIDTH;
171
+ const containerHeight = height || external_LoopNode_constants_cjs_namespaceObject.DEFAULT_LOOP_HEIGHT;
172
+ const nodeSizeStyle = {
173
+ width: containerWidth,
174
+ height: containerHeight,
175
+ minWidth: external_LoopNode_constants_cjs_namespaceObject.DEFAULT_LOOP_MIN_WIDTH,
176
+ minHeight: external_LoopNode_constants_cjs_namespaceObject.DEFAULT_LOOP_MIN_HEIGHT
177
+ };
178
+ const toolbarConfig = (0, external_react_namespaceObject.useMemo)(()=>{
179
+ if (void 0 !== toolbarConfigProp) return null === toolbarConfigProp ? void 0 : toolbarConfigProp;
180
+ return manifest ? (0, toolbar_resolver_cjs_namespaceObject.resolveToolbar)(manifest, statusContext, data) : void 0;
181
+ }, [
182
+ data,
183
+ manifest,
184
+ statusContext,
185
+ toolbarConfigProp
186
+ ]);
187
+ const adornments = (0, external_react_namespaceObject.useMemo)(()=>({
188
+ ...(0, adornment_resolver_cjs_namespaceObject.resolveAdornments)(statusContext),
189
+ ...adornmentsProp ?? {}
190
+ }), [
191
+ adornmentsProp,
192
+ statusContext
193
+ ]);
194
+ const resolvedHandleGroups = (0, external_react_namespaceObject.useMemo)(()=>manifest ? (0, manifest_resolver_cjs_namespaceObject.resolveHandles)(manifest.handleConfiguration, resolvedData) : [], [
195
+ manifest,
196
+ resolvedData
197
+ ]);
198
+ const loopHandleGroups = (0, external_react_namespaceObject.useMemo)(()=>(0, external_LoopNode_helpers_cjs_namespaceObject.resolveLoopHandleGroups)(resolvedHandleGroups), [
199
+ resolvedHandleGroups
200
+ ]);
201
+ useLoopNodeInternalsRefresh(id, loopHandleGroups, containerWidth, containerHeight);
202
+ const handleResize = (0, external_react_namespaceObject.useCallback)((_event, params)=>{
203
+ onResize?.({
204
+ width: (0, NodeUtils_cjs_namespaceObject.snapToGrid)(params.width),
205
+ height: (0, NodeUtils_cjs_namespaceObject.snapToGrid)(params.height)
206
+ });
207
+ }, [
208
+ onResize
209
+ ]);
210
+ const handleEmptyClick = (0, external_react_namespaceObject.useCallback)(()=>{
211
+ onAddFirstChild?.();
212
+ }, [
213
+ onAddFirstChild
214
+ ]);
215
+ const handleMouseEnter = (0, external_react_namespaceObject.useCallback)(()=>setIsHovered(true), []);
216
+ const handleMouseLeave = (0, external_react_namespaceObject.useCallback)(()=>setIsHovered(false), []);
217
+ const handleOuterHandleAction = (0, external_react_namespaceObject.useCallback)((_event)=>{
218
+ setIsHovered(false);
219
+ }, []);
220
+ const shouldShowHandles = (isConnecting || selected || isHovered) && !dragging;
221
+ const showHandleAddButtons = isDesignMode && !multipleNodesSelected && !isConnecting && !dragging;
222
+ const showResizeControls = selected && !dragging && isDesignMode;
223
+ const showEmptyStateButton = isDesignMode && !hasChildNodes && !!onAddFirstChild;
224
+ const interactionState = resolveInteractionState(dragging, selected, isHovered);
225
+ if (!manifest) return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
226
+ className: "relative",
227
+ style: nodeSizeStyle,
228
+ onMouseEnter: handleMouseEnter,
229
+ onMouseLeave: handleMouseLeave,
230
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(BaseNodeMissingManifest_cjs_namespaceObject.MissingManifestNode, {
231
+ type: type,
232
+ isSelected: selected,
233
+ isHovered: isHovered,
234
+ interactionState: interactionState
235
+ })
236
+ });
237
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
238
+ "data-loop-container": true,
239
+ "data-selected": selected ? 'true' : 'false',
240
+ "data-execution-status": executionStatus,
241
+ "data-interaction-state": interactionState,
242
+ "data-suggestion-type": suggestionType,
243
+ "data-validation-status": validationState?.validationStatus,
244
+ "aria-busy": resolvedData.loading || void 0,
245
+ className: (0, apollo_wind_namespaceObject.cn)('group/loop-shell relative flex h-full w-full flex-col overflow-visible border bg-surface-overlay', 'transition-[border-color,box-shadow,opacity] shadow-(--canvas-node-shadow-rest)', 'border-border-subtle', (0, BaseNodeContainer_cjs_namespaceObject.getStatusBorder)(suggestionType ?? validationState?.validationStatus ?? executionStatus), isHovered && 'shadow-(--canvas-node-shadow-hover) border-border-hover', selected && 'outline outline-foreground-accent-muted', 'drag' === interactionState && 'cursor-grabbing shadow-(--canvas-node-shadow-lifted)'),
246
+ style: {
247
+ ...nodeSizeStyle,
248
+ borderRadius: external_LoopNode_constants_cjs_namespaceObject.LOOP_SHELL_RADIUS_PX,
249
+ background: display.background ?? external_LoopNode_constants_cjs_namespaceObject.DEFAULT_LOOP_SHELL_BACKGROUND
250
+ },
251
+ onMouseEnter: handleMouseEnter,
252
+ onMouseLeave: handleMouseLeave,
253
+ children: [
254
+ ADORNMENT_SLOT_POSITIONS.map((slot)=>adornments?.[slot] ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(BaseNodeBadgeSlot_cjs_namespaceObject.BaseBadgeSlot, {
255
+ position: ADORNMENT_SLOT_SHAPES[slot],
256
+ shape: "rectangle",
257
+ children: adornments[slot]
258
+ }, slot) : null),
259
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(ResizeCornerIndicators, {
260
+ visible: showResizeControls
261
+ }),
262
+ showResizeControls ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(ResizeControls, {
263
+ onResize: handleResize
264
+ }) : null,
265
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Header, {
266
+ title: displayTitle,
267
+ icon: displayIcon,
268
+ loading: isLoading
269
+ }),
270
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(BodyFrame, {
271
+ isEmpty: showEmptyStateButton,
272
+ isLoading: isLoading,
273
+ onAddFirstChild: handleEmptyClick
274
+ }),
275
+ toolbarConfig && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_Toolbar_index_cjs_namespaceObject.NodeToolbar, {
276
+ nodeId: id,
277
+ config: toolbarConfig,
278
+ expanded: selected || isHovered,
279
+ hidden: dragging || multipleNodesSelected,
280
+ portalToNodeOverlay: true
281
+ }),
282
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(HandleGroups, {
283
+ nodeId: id,
284
+ groups: loopHandleGroups,
285
+ selected: selected,
286
+ hovered: isHovered,
287
+ shouldShowHandles: shouldShowHandles,
288
+ showAddButton: showHandleAddButtons,
289
+ showNotches: shouldShowHandles,
290
+ nodeWidth: containerWidth,
291
+ nodeHeight: containerHeight,
292
+ connectedHandleIds: connectedHandleIds,
293
+ onOuterHandleAction: handleOuterHandleAction
294
+ })
295
+ ]
296
+ });
297
+ }
298
+ const LoopNode = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(LoopNodeComponent);
299
+ function Header({ title, icon, loading }) {
300
+ const titleContent = loading ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
301
+ className: "h-5 w-28 animate-pulse rounded bg-(--canvas-background-overlay)"
302
+ }) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
303
+ className: "truncate text-[14px] font-semibold tracking-normal",
304
+ children: title
305
+ });
306
+ const iconContent = loading ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
307
+ className: "h-4 w-4 shrink-0 animate-pulse rounded bg-(--canvas-background-overlay)"
308
+ }) : icon ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
309
+ className: "shrink-0 text-foreground",
310
+ "aria-hidden": true,
311
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(icon_registry_cjs_namespaceObject.CanvasIcon, {
312
+ icon: icon,
313
+ size: 16
314
+ })
315
+ }) : null;
316
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
317
+ className: "flex shrink-0 items-center justify-between gap-2.5 pl-4.5 pr-5 pt-3.5 text-foreground cursor-grab active:cursor-grabbing",
318
+ "data-testid": "loop-node-header",
319
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
320
+ className: "flex min-w-0 items-center gap-2",
321
+ children: [
322
+ iconContent,
323
+ titleContent
324
+ ]
325
+ })
326
+ });
327
+ }
328
+ function EmptyState({ onAddFirstChild }) {
329
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("button", {
330
+ type: "button",
331
+ onClick: onAddFirstChild,
332
+ "aria-label": "Add node to loop",
333
+ className: (0, apollo_wind_namespaceObject.cn)('nodrag nopan', 'pointer-events-auto flex h-8 w-8 items-center justify-center rounded-xl', 'border border-border bg-surface-overlay text-foreground', 'shadow-(--canvas-node-shadow-lifted)', 'transition-colors', 'hover:bg-surface-hover hover:border-brand'),
334
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(icon_registry_cjs_namespaceObject.CanvasIcon, {
335
+ icon: "plus",
336
+ size: 14
337
+ })
338
+ });
339
+ }
340
+ function BodyFrame({ isEmpty, isLoading, onAddFirstChild }) {
341
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
342
+ "data-testid": "loop-body-frame",
343
+ "data-empty": isEmpty ? 'true' : 'false',
344
+ className: (0, apollo_wind_namespaceObject.cn)('relative flex flex-1 rounded-[26px] border border-dashed', 'pointer-events-none', isEmpty && 'items-center justify-center'),
345
+ style: {
346
+ margin: external_LoopNode_constants_cjs_namespaceObject.LOOP_FRAME_INSET_PX,
347
+ background: external_LoopNode_constants_cjs_namespaceObject.DEFAULT_LOOP_FRAME_BACKGROUND,
348
+ borderColor: external_LoopNode_constants_cjs_namespaceObject.DEFAULT_LOOP_FRAME_BORDER
349
+ },
350
+ children: [
351
+ isLoading ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
352
+ className: "m-6 h-14 w-full animate-pulse rounded-[18px] bg-(--canvas-background-overlay)"
353
+ }) : null,
354
+ isEmpty ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(EmptyState, {
355
+ onAddFirstChild: onAddFirstChild
356
+ }) : null
357
+ ]
358
+ });
359
+ }
360
+ function ResizeControls({ onResize }) {
361
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(jsx_runtime_namespaceObject.Fragment, {
362
+ children: RESIZE_CONTROLS.map(({ position, cursor })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_cjs_namespaceObject.NodeResizeControl, {
363
+ style: RESIZE_CONTROL_STYLE,
364
+ position: position,
365
+ minWidth: external_LoopNode_constants_cjs_namespaceObject.DEFAULT_LOOP_MIN_WIDTH,
366
+ minHeight: external_LoopNode_constants_cjs_namespaceObject.DEFAULT_LOOP_MIN_HEIGHT,
367
+ onResize: onResize,
368
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
369
+ className: "absolute bottom-0 right-0 h-5 w-5 pointer-events-auto",
370
+ style: {
371
+ cursor
372
+ }
373
+ })
374
+ }, position))
375
+ });
376
+ }
377
+ function ResizeCornerIndicators({ visible }) {
378
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(jsx_runtime_namespaceObject.Fragment, {
379
+ children: RESIZE_CONTROLS.map(({ position, indicatorClassName })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
380
+ "aria-hidden": true,
381
+ className: (0, apollo_wind_namespaceObject.cn)('pointer-events-none absolute h-1.5 w-1.5 rounded-[1px] border border-brand bg-background transition-opacity', indicatorClassName, visible ? 'opacity-100' : 'opacity-0')
382
+ }, position))
383
+ });
384
+ }
385
+ function HandleGroups({ groups, ...handleGroupProps }) {
386
+ if (0 === groups.length) return null;
387
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(jsx_runtime_namespaceObject.Fragment, {
388
+ children: groups.map((group, groupIndex)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(HandleGroup, {
389
+ ...handleGroupProps,
390
+ group: group
391
+ }, `${group.boundary}:${group.position}:${groupIndex}`))
392
+ });
393
+ }
394
+ function HandleGroup({ nodeId, group, selected, hovered, shouldShowHandles, showAddButton, showNotches, nodeWidth, nodeHeight, connectedHandleIds, onOuterHandleAction }) {
395
+ const groupVisible = shouldShowHandles && (group.visible ?? true);
396
+ const position = group.position;
397
+ const enhancedHandles = (0, external_react_namespaceObject.useMemo)(()=>group.handles.map((handle)=>{
398
+ const isInnerSourceHandle = 'inner' === group.boundary && 'source' === handle.type;
399
+ const shouldResetHoverOnAction = 'outer' === group.boundary && 'source' === handle.type && handle.showButton;
400
+ return {
401
+ ...handle,
402
+ showHandle: connectedHandleIds.has(handle.id) || groupVisible,
403
+ showButton: isInnerSourceHandle ? false : handle.showButton,
404
+ onAction: handle.onAction ?? (shouldResetHoverOnAction ? onOuterHandleAction : void 0)
405
+ };
406
+ }), [
407
+ group.boundary,
408
+ group.handles,
409
+ connectedHandleIds,
410
+ groupVisible,
411
+ onOuterHandleAction
412
+ ]);
413
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_ButtonHandle_index_cjs_namespaceObject.ButtonHandles, {
414
+ nodeId: nodeId,
415
+ handles: enhancedHandles,
416
+ position: position,
417
+ connectionPosition: group.connectionPosition,
418
+ selected: selected,
419
+ hovered: hovered,
420
+ showAddButton: showAddButton,
421
+ showNotches: showNotches,
422
+ customPositionAndOffsets: group.customPositionAndOffsets,
423
+ nodeWidth: nodeWidth,
424
+ nodeHeight: nodeHeight,
425
+ portalActions: 'outer' === group.boundary
426
+ });
427
+ }
428
+ exports.LoopNode = __webpack_exports__.LoopNode;
429
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
430
+ "LoopNode"
431
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
432
+ Object.defineProperty(exports, '__esModule', {
433
+ value: true
434
+ });