@uipath/apollo-react 4.14.1 → 4.15.0-pr605.635fb17

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 +28 -4
  5. package/dist/canvas/components/AddNodePanel/createAddNodePreview.d.ts +2 -1
  6. package/dist/canvas/components/AddNodePanel/createAddNodePreview.d.ts.map +1 -1
  7. package/dist/canvas/components/AddNodePanel/createAddNodePreview.js +28 -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,93 @@
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
+ DEFAULT_LOOP_MIN_HEIGHT: ()=>DEFAULT_LOOP_MIN_HEIGHT,
28
+ LOOP_SHELL_RADIUS_PX: ()=>LOOP_SHELL_RADIUS_PX,
29
+ DEFAULT_LOOP_TITLE: ()=>DEFAULT_LOOP_TITLE,
30
+ LOOP_FRAME_INSET_PX: ()=>LOOP_FRAME_INSET_PX,
31
+ LOOP_BODY_PADDING_PX: ()=>LOOP_BODY_PADDING_PX,
32
+ DEFAULT_LOOP_HEADER_HEIGHT_PX: ()=>DEFAULT_LOOP_HEADER_HEIGHT_PX,
33
+ LOOP_INNER_HANDLE_RAIL_WIDTH_PX: ()=>LOOP_INNER_HANDLE_RAIL_WIDTH_PX,
34
+ DEFAULT_LOOP_FRAME_BACKGROUND: ()=>DEFAULT_LOOP_FRAME_BACKGROUND,
35
+ DEFAULT_LOOP_ICON: ()=>DEFAULT_LOOP_ICON,
36
+ DEFAULT_LOOP_HEIGHT: ()=>DEFAULT_LOOP_HEIGHT,
37
+ DEFAULT_LOOP_WIDTH: ()=>DEFAULT_LOOP_WIDTH,
38
+ DEFAULT_LOOP_FRAME_BORDER: ()=>DEFAULT_LOOP_FRAME_BORDER,
39
+ LOOP_CHILD_SAFE_GAP_PX: ()=>LOOP_CHILD_SAFE_GAP_PX,
40
+ DEFAULT_LOOP_MIN_WIDTH: ()=>DEFAULT_LOOP_MIN_WIDTH,
41
+ DEFAULT_LOOP_SHELL_BACKGROUND: ()=>DEFAULT_LOOP_SHELL_BACKGROUND
42
+ });
43
+ const external_constants_cjs_namespaceObject = require("../../constants.cjs");
44
+ const DEFAULT_LOOP_ICON = 'repeat';
45
+ const DEFAULT_LOOP_TITLE = 'Loop';
46
+ const DEFAULT_LOOP_HEADER_HEIGHT_PX = 40;
47
+ const DEFAULT_LOOP_WIDTH = 45 * external_constants_cjs_namespaceObject.GRID_SPACING;
48
+ const DEFAULT_LOOP_HEIGHT = 27 * external_constants_cjs_namespaceObject.GRID_SPACING;
49
+ const DEFAULT_LOOP_MIN_WIDTH = 12 * external_constants_cjs_namespaceObject.GRID_SPACING;
50
+ const DEFAULT_LOOP_MIN_HEIGHT = 12 * external_constants_cjs_namespaceObject.GRID_SPACING;
51
+ const LOOP_SHELL_RADIUS_PX = 20;
52
+ const LOOP_FRAME_INSET_PX = 12;
53
+ const LOOP_BODY_PADDING_PX = 2 * external_constants_cjs_namespaceObject.GRID_SPACING;
54
+ const LOOP_INNER_HANDLE_RAIL_WIDTH_PX = 5 * external_constants_cjs_namespaceObject.GRID_SPACING;
55
+ const LOOP_CHILD_SAFE_GAP_PX = external_constants_cjs_namespaceObject.GRID_SPACING;
56
+ const DEFAULT_LOOP_SHELL_BACKGROUND = 'var(--canvas-background)';
57
+ const DEFAULT_LOOP_FRAME_BACKGROUND = 'var(--canvas-background)';
58
+ const DEFAULT_LOOP_FRAME_BORDER = 'var(--canvas-border)';
59
+ exports.DEFAULT_LOOP_FRAME_BACKGROUND = __webpack_exports__.DEFAULT_LOOP_FRAME_BACKGROUND;
60
+ exports.DEFAULT_LOOP_FRAME_BORDER = __webpack_exports__.DEFAULT_LOOP_FRAME_BORDER;
61
+ exports.DEFAULT_LOOP_HEADER_HEIGHT_PX = __webpack_exports__.DEFAULT_LOOP_HEADER_HEIGHT_PX;
62
+ exports.DEFAULT_LOOP_HEIGHT = __webpack_exports__.DEFAULT_LOOP_HEIGHT;
63
+ exports.DEFAULT_LOOP_ICON = __webpack_exports__.DEFAULT_LOOP_ICON;
64
+ exports.DEFAULT_LOOP_MIN_HEIGHT = __webpack_exports__.DEFAULT_LOOP_MIN_HEIGHT;
65
+ exports.DEFAULT_LOOP_MIN_WIDTH = __webpack_exports__.DEFAULT_LOOP_MIN_WIDTH;
66
+ exports.DEFAULT_LOOP_SHELL_BACKGROUND = __webpack_exports__.DEFAULT_LOOP_SHELL_BACKGROUND;
67
+ exports.DEFAULT_LOOP_TITLE = __webpack_exports__.DEFAULT_LOOP_TITLE;
68
+ exports.DEFAULT_LOOP_WIDTH = __webpack_exports__.DEFAULT_LOOP_WIDTH;
69
+ exports.LOOP_BODY_PADDING_PX = __webpack_exports__.LOOP_BODY_PADDING_PX;
70
+ exports.LOOP_CHILD_SAFE_GAP_PX = __webpack_exports__.LOOP_CHILD_SAFE_GAP_PX;
71
+ exports.LOOP_FRAME_INSET_PX = __webpack_exports__.LOOP_FRAME_INSET_PX;
72
+ exports.LOOP_INNER_HANDLE_RAIL_WIDTH_PX = __webpack_exports__.LOOP_INNER_HANDLE_RAIL_WIDTH_PX;
73
+ exports.LOOP_SHELL_RADIUS_PX = __webpack_exports__.LOOP_SHELL_RADIUS_PX;
74
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
75
+ "DEFAULT_LOOP_FRAME_BACKGROUND",
76
+ "DEFAULT_LOOP_FRAME_BORDER",
77
+ "DEFAULT_LOOP_HEADER_HEIGHT_PX",
78
+ "DEFAULT_LOOP_HEIGHT",
79
+ "DEFAULT_LOOP_ICON",
80
+ "DEFAULT_LOOP_MIN_HEIGHT",
81
+ "DEFAULT_LOOP_MIN_WIDTH",
82
+ "DEFAULT_LOOP_SHELL_BACKGROUND",
83
+ "DEFAULT_LOOP_TITLE",
84
+ "DEFAULT_LOOP_WIDTH",
85
+ "LOOP_BODY_PADDING_PX",
86
+ "LOOP_CHILD_SAFE_GAP_PX",
87
+ "LOOP_FRAME_INSET_PX",
88
+ "LOOP_INNER_HANDLE_RAIL_WIDTH_PX",
89
+ "LOOP_SHELL_RADIUS_PX"
90
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
91
+ Object.defineProperty(exports, '__esModule', {
92
+ value: true
93
+ });
@@ -0,0 +1,16 @@
1
+ export declare const DEFAULT_LOOP_ICON = "repeat";
2
+ export declare const DEFAULT_LOOP_TITLE = "Loop";
3
+ export declare const DEFAULT_LOOP_HEADER_HEIGHT_PX = 40;
4
+ export declare const DEFAULT_LOOP_WIDTH: number;
5
+ export declare const DEFAULT_LOOP_HEIGHT: number;
6
+ export declare const DEFAULT_LOOP_MIN_WIDTH: number;
7
+ export declare const DEFAULT_LOOP_MIN_HEIGHT: number;
8
+ export declare const LOOP_SHELL_RADIUS_PX = 20;
9
+ export declare const LOOP_FRAME_INSET_PX = 12;
10
+ export declare const LOOP_BODY_PADDING_PX: number;
11
+ export declare const LOOP_INNER_HANDLE_RAIL_WIDTH_PX: number;
12
+ export declare const LOOP_CHILD_SAFE_GAP_PX = 16;
13
+ export declare const DEFAULT_LOOP_SHELL_BACKGROUND = "var(--canvas-background)";
14
+ export declare const DEFAULT_LOOP_FRAME_BACKGROUND = "var(--canvas-background)";
15
+ export declare const DEFAULT_LOOP_FRAME_BORDER = "var(--canvas-border)";
16
+ //# sourceMappingURL=LoopNode.constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoopNode.constants.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/LoopNode/LoopNode.constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAC1C,eAAO,MAAM,kBAAkB,SAAS,CAAC;AACzC,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAGhD,eAAO,MAAM,kBAAkB,QAAoB,CAAC;AACpD,eAAO,MAAM,mBAAmB,QAAoB,CAAC;AAErD,eAAO,MAAM,sBAAsB,QAAoB,CAAC;AACxD,eAAO,MAAM,uBAAuB,QAAoB,CAAC;AACzD,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,oBAAoB,QAAmB,CAAC;AACrD,eAAO,MAAM,+BAA+B,QAAmB,CAAC;AAChE,eAAO,MAAM,sBAAsB,KAAe,CAAC;AAEnD,eAAO,MAAM,6BAA6B,6BAA6B,CAAC;AACxE,eAAO,MAAM,6BAA6B,6BAA6B,CAAC;AACxE,eAAO,MAAM,yBAAyB,yBAAyB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { GRID_SPACING } from "../../constants.js";
2
+ const DEFAULT_LOOP_ICON = 'repeat';
3
+ const DEFAULT_LOOP_TITLE = 'Loop';
4
+ const DEFAULT_LOOP_HEADER_HEIGHT_PX = 40;
5
+ const DEFAULT_LOOP_WIDTH = 45 * GRID_SPACING;
6
+ const DEFAULT_LOOP_HEIGHT = 27 * GRID_SPACING;
7
+ const DEFAULT_LOOP_MIN_WIDTH = 12 * GRID_SPACING;
8
+ const DEFAULT_LOOP_MIN_HEIGHT = 12 * GRID_SPACING;
9
+ const LOOP_SHELL_RADIUS_PX = 20;
10
+ const LOOP_FRAME_INSET_PX = 12;
11
+ const LOOP_BODY_PADDING_PX = 2 * GRID_SPACING;
12
+ const LOOP_INNER_HANDLE_RAIL_WIDTH_PX = 5 * GRID_SPACING;
13
+ const LOOP_CHILD_SAFE_GAP_PX = GRID_SPACING;
14
+ const DEFAULT_LOOP_SHELL_BACKGROUND = 'var(--canvas-background)';
15
+ const DEFAULT_LOOP_FRAME_BACKGROUND = 'var(--canvas-background)';
16
+ const DEFAULT_LOOP_FRAME_BORDER = 'var(--canvas-border)';
17
+ export { DEFAULT_LOOP_FRAME_BACKGROUND, DEFAULT_LOOP_FRAME_BORDER, DEFAULT_LOOP_HEADER_HEIGHT_PX, DEFAULT_LOOP_HEIGHT, DEFAULT_LOOP_ICON, DEFAULT_LOOP_MIN_HEIGHT, DEFAULT_LOOP_MIN_WIDTH, DEFAULT_LOOP_SHELL_BACKGROUND, DEFAULT_LOOP_TITLE, DEFAULT_LOOP_WIDTH, LOOP_BODY_PADDING_PX, LOOP_CHILD_SAFE_GAP_PX, LOOP_FRAME_INSET_PX, LOOP_INNER_HANDLE_RAIL_WIDTH_PX, LOOP_SHELL_RADIUS_PX };
@@ -0,0 +1,5 @@
1
+ import type { LoopNodeProps } from './LoopNode.types';
2
+ declare function LoopNodeComponent(props: LoopNodeProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare const LoopNode: import("react").MemoExoticComponent<typeof LoopNodeComponent>;
4
+ export {};
5
+ //# sourceMappingURL=LoopNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoopNode.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/LoopNode/LoopNode.tsx"],"names":[],"mappings":"AA0CA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAuEtD,iBAAS,iBAAiB,CAAC,KAAK,EAAE,aAAa,2CA4N9C;AAED,eAAO,MAAM,QAAQ,+DAA0B,CAAC"}
@@ -0,0 +1,185 @@
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
+ getLoopContainerFitGeometry: ()=>getLoopContainerFitGeometry,
28
+ isLoopContainerManifest: ()=>isLoopContainerManifest,
29
+ getLoopChildSafeArea: ()=>getLoopChildSafeArea,
30
+ getLoopChildSafeAreaPadding: ()=>getLoopChildSafeAreaPadding,
31
+ getLoopBodyCenter: ()=>getLoopBodyCenter,
32
+ resolveLoopHandleGroups: ()=>resolveLoopHandleGroups,
33
+ getVisibleInnerHandleGroups: ()=>getVisibleInnerHandleGroups,
34
+ resolveLoopPreviewConnectionHandles: ()=>resolveLoopPreviewConnectionHandles,
35
+ getLoopRelativeBodyCenter: ()=>getLoopRelativeBodyCenter,
36
+ pickPreferredInnerHandle: ()=>pickPreferredInnerHandle
37
+ });
38
+ const react_cjs_namespaceObject = require("../../xyflow/react.cjs");
39
+ const container_sizing_cjs_namespaceObject = require("../../utils/container-sizing.cjs");
40
+ const createPreviewNode_cjs_namespaceObject = require("../../utils/createPreviewNode.cjs");
41
+ const manifest_resolver_cjs_namespaceObject = require("../../utils/manifest-resolver.cjs");
42
+ const NodeUtils_cjs_namespaceObject = require("../../utils/NodeUtils.cjs");
43
+ const external_LoopNode_constants_cjs_namespaceObject = require("./LoopNode.constants.cjs");
44
+ function isLoopContainerManifest(manifest) {
45
+ return manifest?.handleConfiguration.some((group)=>'inner' === group.boundary) ?? false;
46
+ }
47
+ function resolveLoopHandleGroups(groups) {
48
+ return groups.map((group)=>{
49
+ const boundary = 'inner' === group.boundary ? 'inner' : 'outer';
50
+ const position = group.position;
51
+ return {
52
+ ...group,
53
+ boundary,
54
+ connectionPosition: 'inner' === boundary ? (0, createPreviewNode_cjs_namespaceObject.getOppositePosition)(position) : position,
55
+ customPositionAndOffsets: 'inner' === boundary ? insetInnerGroup(group) : group.customPositionAndOffsets
56
+ };
57
+ });
58
+ }
59
+ function getLoopBodyCenter({ width, height, headerHeight }) {
60
+ const clampedHeaderHeight = (0, NodeUtils_cjs_namespaceObject.clamp)(headerHeight, 0, height);
61
+ return {
62
+ x: (0, NodeUtils_cjs_namespaceObject.clamp)((0, NodeUtils_cjs_namespaceObject.snapToGrid)(width / 2), 0, width),
63
+ y: (0, NodeUtils_cjs_namespaceObject.clamp)((0, NodeUtils_cjs_namespaceObject.snapToGrid)(clampedHeaderHeight + (height - clampedHeaderHeight) / 2), 0, height)
64
+ };
65
+ }
66
+ function getLoopRelativeBodyCenter(loopNode) {
67
+ const safeArea = getLoopChildSafeArea(loopNode);
68
+ return {
69
+ x: (0, NodeUtils_cjs_namespaceObject.snapToGrid)(safeArea.x + safeArea.width / 2),
70
+ y: (0, NodeUtils_cjs_namespaceObject.snapToGrid)(safeArea.y + safeArea.height / 2)
71
+ };
72
+ }
73
+ function getLoopChildSafeAreaPadding() {
74
+ const horizontalPadding = (0, NodeUtils_cjs_namespaceObject.snapUpToGrid)(external_LoopNode_constants_cjs_namespaceObject.LOOP_FRAME_INSET_PX + external_LoopNode_constants_cjs_namespaceObject.LOOP_BODY_PADDING_PX + external_LoopNode_constants_cjs_namespaceObject.LOOP_INNER_HANDLE_RAIL_WIDTH_PX + external_LoopNode_constants_cjs_namespaceObject.LOOP_CHILD_SAFE_GAP_PX);
75
+ return {
76
+ left: horizontalPadding,
77
+ right: horizontalPadding,
78
+ top: (0, NodeUtils_cjs_namespaceObject.snapUpToGrid)(external_LoopNode_constants_cjs_namespaceObject.DEFAULT_LOOP_HEADER_HEIGHT_PX + external_LoopNode_constants_cjs_namespaceObject.LOOP_FRAME_INSET_PX + external_LoopNode_constants_cjs_namespaceObject.LOOP_BODY_PADDING_PX),
79
+ bottom: (0, NodeUtils_cjs_namespaceObject.snapUpToGrid)(external_LoopNode_constants_cjs_namespaceObject.LOOP_FRAME_INSET_PX + external_LoopNode_constants_cjs_namespaceObject.LOOP_BODY_PADDING_PX)
80
+ };
81
+ }
82
+ function getLoopChildSafeArea(loopNode, dimensions) {
83
+ const currentDimensions = (0, container_sizing_cjs_namespaceObject.getNodeDimensions)(loopNode, {
84
+ width: external_LoopNode_constants_cjs_namespaceObject.DEFAULT_LOOP_WIDTH,
85
+ height: external_LoopNode_constants_cjs_namespaceObject.DEFAULT_LOOP_HEIGHT
86
+ });
87
+ const width = dimensions?.width ?? currentDimensions.width;
88
+ const height = dimensions?.height ?? currentDimensions.height;
89
+ const padding = getLoopChildSafeAreaPadding();
90
+ return {
91
+ x: padding.left,
92
+ y: padding.top,
93
+ width: Math.max(0, width - padding.left - padding.right),
94
+ height: Math.max(0, height - padding.top - padding.bottom),
95
+ padding
96
+ };
97
+ }
98
+ function getLoopContainerFitGeometry() {
99
+ const padding = getLoopChildSafeAreaPadding();
100
+ return {
101
+ minWidth: external_LoopNode_constants_cjs_namespaceObject.DEFAULT_LOOP_MIN_WIDTH,
102
+ minHeight: external_LoopNode_constants_cjs_namespaceObject.DEFAULT_LOOP_MIN_HEIGHT,
103
+ padding: {
104
+ right: padding.right,
105
+ bottom: padding.bottom
106
+ }
107
+ };
108
+ }
109
+ function insetInnerGroup(group) {
110
+ const offsets = group.customPositionAndOffsets ?? {};
111
+ switch(group.position){
112
+ case react_cjs_namespaceObject.Position.Left:
113
+ return {
114
+ ...offsets,
115
+ left: (offsets.left ?? 0) + external_LoopNode_constants_cjs_namespaceObject.LOOP_FRAME_INSET_PX
116
+ };
117
+ case react_cjs_namespaceObject.Position.Right:
118
+ return {
119
+ ...offsets,
120
+ right: (offsets.right ?? 0) + external_LoopNode_constants_cjs_namespaceObject.LOOP_FRAME_INSET_PX
121
+ };
122
+ case react_cjs_namespaceObject.Position.Top:
123
+ return {
124
+ ...offsets,
125
+ top: (offsets.top ?? 0) + external_LoopNode_constants_cjs_namespaceObject.LOOP_FRAME_INSET_PX
126
+ };
127
+ case react_cjs_namespaceObject.Position.Bottom:
128
+ return {
129
+ ...offsets,
130
+ bottom: (offsets.bottom ?? 0) + external_LoopNode_constants_cjs_namespaceObject.LOOP_FRAME_INSET_PX
131
+ };
132
+ default:
133
+ return offsets;
134
+ }
135
+ }
136
+ function resolveLoopPreviewConnectionHandles(manifest, context) {
137
+ if (!manifest) return null;
138
+ const innerGroups = getVisibleInnerHandleGroups(manifest.handleConfiguration, context);
139
+ const sourceHandle = pickPreferredInnerHandle(innerGroups, 'source');
140
+ const targetHandle = pickPreferredInnerHandle(innerGroups, 'target');
141
+ if (!sourceHandle || !targetHandle) return null;
142
+ return {
143
+ sourceHandleId: sourceHandle.handle.id,
144
+ sourceHandlePosition: (0, createPreviewNode_cjs_namespaceObject.getOppositePosition)(sourceHandle.group.position),
145
+ targetHandleId: targetHandle.handle.id
146
+ };
147
+ }
148
+ function getVisibleInnerHandleGroups(handleConfiguration, context) {
149
+ return (0, manifest_resolver_cjs_namespaceObject.resolveHandles)(handleConfiguration, context).filter((group)=>'inner' === group.boundary && (group.visible ?? true));
150
+ }
151
+ function pickPreferredInnerHandle(groups, type) {
152
+ for (const group of groups){
153
+ const handle = group.handles.find((candidate)=>candidate.type === type && candidate.visible);
154
+ if (handle) return {
155
+ group,
156
+ handle
157
+ };
158
+ }
159
+ return null;
160
+ }
161
+ exports.getLoopBodyCenter = __webpack_exports__.getLoopBodyCenter;
162
+ exports.getLoopChildSafeArea = __webpack_exports__.getLoopChildSafeArea;
163
+ exports.getLoopChildSafeAreaPadding = __webpack_exports__.getLoopChildSafeAreaPadding;
164
+ exports.getLoopContainerFitGeometry = __webpack_exports__.getLoopContainerFitGeometry;
165
+ exports.getLoopRelativeBodyCenter = __webpack_exports__.getLoopRelativeBodyCenter;
166
+ exports.getVisibleInnerHandleGroups = __webpack_exports__.getVisibleInnerHandleGroups;
167
+ exports.isLoopContainerManifest = __webpack_exports__.isLoopContainerManifest;
168
+ exports.pickPreferredInnerHandle = __webpack_exports__.pickPreferredInnerHandle;
169
+ exports.resolveLoopHandleGroups = __webpack_exports__.resolveLoopHandleGroups;
170
+ exports.resolveLoopPreviewConnectionHandles = __webpack_exports__.resolveLoopPreviewConnectionHandles;
171
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
172
+ "getLoopBodyCenter",
173
+ "getLoopChildSafeArea",
174
+ "getLoopChildSafeAreaPadding",
175
+ "getLoopContainerFitGeometry",
176
+ "getLoopRelativeBodyCenter",
177
+ "getVisibleInnerHandleGroups",
178
+ "isLoopContainerManifest",
179
+ "pickPreferredInnerHandle",
180
+ "resolveLoopHandleGroups",
181
+ "resolveLoopPreviewConnectionHandles"
182
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
183
+ Object.defineProperty(exports, '__esModule', {
184
+ value: true
185
+ });
@@ -0,0 +1,58 @@
1
+ import { type Node, Position } from '../../xyflow/react.ts';
2
+ import type { NodeManifest } from '../../schema/node-definition';
3
+ import { type ContainerFitGeometry } from '../../utils/container-sizing';
4
+ import type { ResolutionContext, ResolvedHandleGroup } from '../../utils/manifest-resolver';
5
+ export type LoopHandleBoundary = 'outer' | 'inner';
6
+ export type LoopHandleGroup = ResolvedHandleGroup & {
7
+ boundary: LoopHandleBoundary;
8
+ connectionPosition: Position;
9
+ };
10
+ export interface LoopPreviewConnectionHandles {
11
+ sourceHandleId: string;
12
+ sourceHandlePosition: Position;
13
+ targetHandleId: string;
14
+ }
15
+ export interface LoopChildSafeArea {
16
+ x: number;
17
+ y: number;
18
+ width: number;
19
+ height: number;
20
+ padding: {
21
+ left: number;
22
+ right: number;
23
+ top: number;
24
+ bottom: number;
25
+ };
26
+ }
27
+ export declare function isLoopContainerManifest(manifest: Pick<NodeManifest, 'handleConfiguration'> | undefined): boolean;
28
+ export declare function resolveLoopHandleGroups(groups: ResolvedHandleGroup[]): LoopHandleGroup[];
29
+ export declare function getLoopBodyCenter({ width, height, headerHeight, }: {
30
+ width: number;
31
+ height: number;
32
+ headerHeight: number;
33
+ }): {
34
+ x: number;
35
+ y: number;
36
+ };
37
+ export declare function getLoopRelativeBodyCenter(loopNode: Pick<Node, 'width' | 'height' | 'measured' | 'style'>): {
38
+ x: number;
39
+ y: number;
40
+ };
41
+ export declare function getLoopChildSafeAreaPadding(): {
42
+ left: number;
43
+ right: number;
44
+ top: number;
45
+ bottom: number;
46
+ };
47
+ export declare function getLoopChildSafeArea(loopNode: Pick<Node, 'width' | 'height' | 'measured' | 'style'>, dimensions?: {
48
+ width?: number;
49
+ height?: number;
50
+ }): LoopChildSafeArea;
51
+ export declare function getLoopContainerFitGeometry(): ContainerFitGeometry;
52
+ export declare function resolveLoopPreviewConnectionHandles(manifest: Pick<NodeManifest, 'handleConfiguration'> | undefined, context: ResolutionContext): LoopPreviewConnectionHandles | null;
53
+ export declare function getVisibleInnerHandleGroups(handleConfiguration: NodeManifest['handleConfiguration'], context: ResolutionContext): ResolvedHandleGroup[];
54
+ export declare function pickPreferredInnerHandle(groups: ResolvedHandleGroup[], type: 'source' | 'target'): {
55
+ group: ResolvedHandleGroup;
56
+ handle: ResolvedHandleGroup['handles'][number];
57
+ } | null;
58
+ //# sourceMappingURL=LoopNode.helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoopNode.helpers.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/LoopNode/LoopNode.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,KAAK,oBAAoB,EAAqB,MAAM,8BAA8B,CAAC;AAE5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAe5F,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,OAAO,CAAC;AACnD,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG;IAClD,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,kBAAkB,EAAE,QAAQ,CAAC;CAC9B,CAAC;AAEF,MAAM,WAAW,4BAA4B;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,QAAQ,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;CACxB;AAMD,MAAM,WAAW,iBAAiB;IAChC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,qBAAqB,CAAC,GAAG,SAAS,GAC9D,OAAO,CAGT;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,eAAe,EAAE,CAaxF;AAED,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,MAAM,EACN,YAAY,GACb,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;;;EAOA;AAMD,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;;;EAQhE;AAMD,wBAAgB,2BAA2B;;;;;EAc1C;AAMD,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC,EAC/D,UAAU,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,iBAAiB,CAgBnB;AAMD,wBAAgB,2BAA2B,IAAI,oBAAoB,CAWlE;AAmBD,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,qBAAqB,CAAC,GAAG,SAAS,EAC/D,OAAO,EAAE,iBAAiB,GACzB,4BAA4B,GAAG,IAAI,CAcrC;AAED,wBAAgB,2BAA2B,CACzC,mBAAmB,EAAE,YAAY,CAAC,qBAAqB,CAAC,EACxD,OAAO,EAAE,iBAAiB,GACzB,mBAAmB,EAAE,CAIvB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,mBAAmB,EAAE,EAC7B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GACxB;IAAE,KAAK,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;CAAE,GAAG,IAAI,CASvF"}
@@ -0,0 +1,124 @@
1
+ import { Position } from "../../xyflow/react.js";
2
+ import { getNodeDimensions } from "../../utils/container-sizing.js";
3
+ import { getOppositePosition } from "../../utils/createPreviewNode.js";
4
+ import { resolveHandles } from "../../utils/manifest-resolver.js";
5
+ import { clamp, snapToGrid, snapUpToGrid } from "../../utils/NodeUtils.js";
6
+ import { DEFAULT_LOOP_HEADER_HEIGHT_PX, DEFAULT_LOOP_HEIGHT, DEFAULT_LOOP_MIN_HEIGHT, DEFAULT_LOOP_MIN_WIDTH, DEFAULT_LOOP_WIDTH, LOOP_BODY_PADDING_PX, LOOP_CHILD_SAFE_GAP_PX, LOOP_FRAME_INSET_PX, LOOP_INNER_HANDLE_RAIL_WIDTH_PX } from "./LoopNode.constants.js";
7
+ function isLoopContainerManifest(manifest) {
8
+ return manifest?.handleConfiguration.some((group)=>'inner' === group.boundary) ?? false;
9
+ }
10
+ function resolveLoopHandleGroups(groups) {
11
+ return groups.map((group)=>{
12
+ const boundary = 'inner' === group.boundary ? 'inner' : 'outer';
13
+ const position = group.position;
14
+ return {
15
+ ...group,
16
+ boundary,
17
+ connectionPosition: 'inner' === boundary ? getOppositePosition(position) : position,
18
+ customPositionAndOffsets: 'inner' === boundary ? insetInnerGroup(group) : group.customPositionAndOffsets
19
+ };
20
+ });
21
+ }
22
+ function getLoopBodyCenter({ width, height, headerHeight }) {
23
+ const clampedHeaderHeight = clamp(headerHeight, 0, height);
24
+ return {
25
+ x: clamp(snapToGrid(width / 2), 0, width),
26
+ y: clamp(snapToGrid(clampedHeaderHeight + (height - clampedHeaderHeight) / 2), 0, height)
27
+ };
28
+ }
29
+ function getLoopRelativeBodyCenter(loopNode) {
30
+ const safeArea = getLoopChildSafeArea(loopNode);
31
+ return {
32
+ x: snapToGrid(safeArea.x + safeArea.width / 2),
33
+ y: snapToGrid(safeArea.y + safeArea.height / 2)
34
+ };
35
+ }
36
+ function getLoopChildSafeAreaPadding() {
37
+ const horizontalPadding = snapUpToGrid(LOOP_FRAME_INSET_PX + LOOP_BODY_PADDING_PX + LOOP_INNER_HANDLE_RAIL_WIDTH_PX + LOOP_CHILD_SAFE_GAP_PX);
38
+ return {
39
+ left: horizontalPadding,
40
+ right: horizontalPadding,
41
+ top: snapUpToGrid(DEFAULT_LOOP_HEADER_HEIGHT_PX + LOOP_FRAME_INSET_PX + LOOP_BODY_PADDING_PX),
42
+ bottom: snapUpToGrid(LOOP_FRAME_INSET_PX + LOOP_BODY_PADDING_PX)
43
+ };
44
+ }
45
+ function getLoopChildSafeArea(loopNode, dimensions) {
46
+ const currentDimensions = getNodeDimensions(loopNode, {
47
+ width: DEFAULT_LOOP_WIDTH,
48
+ height: DEFAULT_LOOP_HEIGHT
49
+ });
50
+ const width = dimensions?.width ?? currentDimensions.width;
51
+ const height = dimensions?.height ?? currentDimensions.height;
52
+ const padding = getLoopChildSafeAreaPadding();
53
+ return {
54
+ x: padding.left,
55
+ y: padding.top,
56
+ width: Math.max(0, width - padding.left - padding.right),
57
+ height: Math.max(0, height - padding.top - padding.bottom),
58
+ padding
59
+ };
60
+ }
61
+ function getLoopContainerFitGeometry() {
62
+ const padding = getLoopChildSafeAreaPadding();
63
+ return {
64
+ minWidth: DEFAULT_LOOP_MIN_WIDTH,
65
+ minHeight: DEFAULT_LOOP_MIN_HEIGHT,
66
+ padding: {
67
+ right: padding.right,
68
+ bottom: padding.bottom
69
+ }
70
+ };
71
+ }
72
+ function insetInnerGroup(group) {
73
+ const offsets = group.customPositionAndOffsets ?? {};
74
+ switch(group.position){
75
+ case Position.Left:
76
+ return {
77
+ ...offsets,
78
+ left: (offsets.left ?? 0) + LOOP_FRAME_INSET_PX
79
+ };
80
+ case Position.Right:
81
+ return {
82
+ ...offsets,
83
+ right: (offsets.right ?? 0) + LOOP_FRAME_INSET_PX
84
+ };
85
+ case Position.Top:
86
+ return {
87
+ ...offsets,
88
+ top: (offsets.top ?? 0) + LOOP_FRAME_INSET_PX
89
+ };
90
+ case Position.Bottom:
91
+ return {
92
+ ...offsets,
93
+ bottom: (offsets.bottom ?? 0) + LOOP_FRAME_INSET_PX
94
+ };
95
+ default:
96
+ return offsets;
97
+ }
98
+ }
99
+ function resolveLoopPreviewConnectionHandles(manifest, context) {
100
+ if (!manifest) return null;
101
+ const innerGroups = getVisibleInnerHandleGroups(manifest.handleConfiguration, context);
102
+ const sourceHandle = pickPreferredInnerHandle(innerGroups, 'source');
103
+ const targetHandle = pickPreferredInnerHandle(innerGroups, 'target');
104
+ if (!sourceHandle || !targetHandle) return null;
105
+ return {
106
+ sourceHandleId: sourceHandle.handle.id,
107
+ sourceHandlePosition: getOppositePosition(sourceHandle.group.position),
108
+ targetHandleId: targetHandle.handle.id
109
+ };
110
+ }
111
+ function getVisibleInnerHandleGroups(handleConfiguration, context) {
112
+ return resolveHandles(handleConfiguration, context).filter((group)=>'inner' === group.boundary && (group.visible ?? true));
113
+ }
114
+ function pickPreferredInnerHandle(groups, type) {
115
+ for (const group of groups){
116
+ const handle = group.handles.find((candidate)=>candidate.type === type && candidate.visible);
117
+ if (handle) return {
118
+ group,
119
+ handle
120
+ };
121
+ }
122
+ return null;
123
+ }
124
+ export { getLoopBodyCenter, getLoopChildSafeArea, getLoopChildSafeAreaPadding, getLoopContainerFitGeometry, getLoopRelativeBodyCenter, getVisibleInnerHandleGroups, isLoopContainerManifest, pickPreferredInnerHandle, resolveLoopHandleGroups, resolveLoopPreviewConnectionHandles };