@rxflow/workflow 0.0.1-alpha.0

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 (446) hide show
  1. package/README.md +43 -0
  2. package/cjs/components/CanvasLoading/index.d.ts +14 -0
  3. package/cjs/components/CanvasLoading/index.d.ts.map +1 -0
  4. package/cjs/components/CanvasLoading/index.js +51 -0
  5. package/cjs/components/CanvasLoading/index.less +69 -0
  6. package/cjs/components/CodeEditor/DebugPanel/index.d.ts +16 -0
  7. package/cjs/components/CodeEditor/DebugPanel/index.d.ts.map +1 -0
  8. package/cjs/components/CodeEditor/DebugPanel/index.js +156 -0
  9. package/cjs/components/CodeEditor/DebugPanel/index.less +56 -0
  10. package/cjs/components/CodeEditor/FileTree/LibraryIcon.d.ts +11 -0
  11. package/cjs/components/CodeEditor/FileTree/LibraryIcon.d.ts.map +1 -0
  12. package/cjs/components/CodeEditor/FileTree/LibraryIcon.js +33 -0
  13. package/cjs/components/CodeEditor/FileTree/icons/Javascript.d.ts +11 -0
  14. package/cjs/components/CodeEditor/FileTree/icons/Javascript.d.ts.map +1 -0
  15. package/cjs/components/CodeEditor/FileTree/icons/Javascript.js +37 -0
  16. package/cjs/components/CodeEditor/FileTree/icons/Python.d.ts +11 -0
  17. package/cjs/components/CodeEditor/FileTree/icons/Python.d.ts.map +1 -0
  18. package/cjs/components/CodeEditor/FileTree/icons/Python.js +37 -0
  19. package/cjs/components/CodeEditor/FileTree/index.d.ts +9 -0
  20. package/cjs/components/CodeEditor/FileTree/index.d.ts.map +1 -0
  21. package/cjs/components/CodeEditor/FileTree/index.js +73 -0
  22. package/cjs/components/CodeEditor/FileTree/index.less +83 -0
  23. package/cjs/components/CodeEditor/FileTree/useFileIcon.d.ts +11 -0
  24. package/cjs/components/CodeEditor/FileTree/useFileIcon.d.ts.map +1 -0
  25. package/cjs/components/CodeEditor/FileTree/useFileIcon.js +44 -0
  26. package/cjs/components/CodeEditor/Header/index.d.ts +15 -0
  27. package/cjs/components/CodeEditor/Header/index.d.ts.map +1 -0
  28. package/cjs/components/CodeEditor/Header/index.js +51 -0
  29. package/cjs/components/CodeEditor/Header/style.less +23 -0
  30. package/cjs/components/CodeEditor/Terminal/XTerm.d.ts +5 -0
  31. package/cjs/components/CodeEditor/Terminal/XTerm.d.ts.map +1 -0
  32. package/cjs/components/CodeEditor/Terminal/XTerm.js +54 -0
  33. package/cjs/components/CodeEditor/Terminal/index.d.ts +15 -0
  34. package/cjs/components/CodeEditor/Terminal/index.d.ts.map +1 -0
  35. package/cjs/components/CodeEditor/Terminal/index.js +30 -0
  36. package/cjs/components/CodeEditor/Terminal/index.less +28 -0
  37. package/cjs/components/CodeEditor/Terminal/types.d.ts +13 -0
  38. package/cjs/components/CodeEditor/editors/JSON.d.ts +12 -0
  39. package/cjs/components/CodeEditor/editors/JSON.d.ts.map +1 -0
  40. package/cjs/components/CodeEditor/editors/JSON.js +43 -0
  41. package/cjs/components/CodeEditor/editors/Python.d.ts +4 -0
  42. package/cjs/components/CodeEditor/editors/Python.d.ts.map +1 -0
  43. package/cjs/components/CodeEditor/editors/Python.js +43 -0
  44. package/cjs/components/CodeEditor/editors/index.less +11 -0
  45. package/cjs/components/CodeEditor/editors/types.d.ts +24 -0
  46. package/cjs/components/CodeEditor/index.d.ts +7 -0
  47. package/cjs/components/CodeEditor/index.d.ts.map +1 -0
  48. package/cjs/components/CodeEditor/index.js +230 -0
  49. package/cjs/components/CodeEditor/style.less +49 -0
  50. package/cjs/components/CodeEditor/types.d.ts +46 -0
  51. package/cjs/components/Handle/NodePopover.d.ts +15 -0
  52. package/cjs/components/Handle/NodePopover.d.ts.map +1 -0
  53. package/cjs/components/Handle/NodePopover.js +169 -0
  54. package/cjs/components/Handle/index.d.ts +24 -0
  55. package/cjs/components/Handle/index.d.ts.map +1 -0
  56. package/cjs/components/Handle/index.js +165 -0
  57. package/cjs/components/Handle/index.less +111 -0
  58. package/cjs/components/InlineCodeEditor/index.d.ts +11 -0
  59. package/cjs/components/InlineCodeEditor/index.d.ts.map +1 -0
  60. package/cjs/components/InlineCodeEditor/index.js +31 -0
  61. package/cjs/components/InlineCodeEditor/index.module.less +0 -0
  62. package/cjs/components/InlineCodeEditor/types.d.ts +22 -0
  63. package/cjs/components/Layout/index.d.ts +14 -0
  64. package/cjs/components/Layout/index.d.ts.map +1 -0
  65. package/cjs/components/Layout/index.js +49 -0
  66. package/cjs/components/Layout/index.less +14 -0
  67. package/cjs/components/LoadingButton.d.ts +16 -0
  68. package/cjs/components/LoadingButton.d.ts.map +1 -0
  69. package/cjs/components/LoadingButton.js +86 -0
  70. package/cjs/components/Sider/index.d.ts +15 -0
  71. package/cjs/components/Sider/index.d.ts.map +1 -0
  72. package/cjs/components/Sider/index.js +142 -0
  73. package/cjs/components/Sider/index.less +68 -0
  74. package/cjs/constants/RunningStatus.d.ts +14 -0
  75. package/cjs/constants/RunningStatus.d.ts.map +1 -0
  76. package/cjs/constants/RunningStatus.js +20 -0
  77. package/cjs/hooks/run/useActiveEdge.d.ts +15 -0
  78. package/cjs/hooks/run/useActiveEdge.d.ts.map +1 -0
  79. package/cjs/hooks/run/useActiveEdge.js +36 -0
  80. package/cjs/hooks/run/useCleanRunState.d.ts +9 -0
  81. package/cjs/hooks/run/useCleanRunState.d.ts.map +1 -0
  82. package/cjs/hooks/run/useCleanRunState.js +33 -0
  83. package/cjs/hooks/run/useNodeRunningState.d.ts +8 -0
  84. package/cjs/hooks/run/useNodeRunningState.d.ts.map +1 -0
  85. package/cjs/hooks/run/useNodeRunningState.js +30 -0
  86. package/cjs/hooks/run/useRunState.d.ts +21 -0
  87. package/cjs/hooks/run/useRunState.d.ts.map +1 -0
  88. package/cjs/hooks/run/useRunState.js +39 -0
  89. package/cjs/hooks/run/useSetRunState.d.ts +18 -0
  90. package/cjs/hooks/run/useSetRunState.d.ts.map +1 -0
  91. package/cjs/hooks/run/useSetRunState.js +39 -0
  92. package/cjs/hooks/state.d.ts +7 -0
  93. package/cjs/hooks/state.d.ts.map +1 -0
  94. package/cjs/hooks/state.js +13 -0
  95. package/cjs/hooks/useDeleteNode.d.ts +2 -0
  96. package/cjs/hooks/useDeleteNode.d.ts.map +1 -0
  97. package/cjs/hooks/useDeleteNode.js +32 -0
  98. package/cjs/hooks/useEdgeIsHover.d.ts +2 -0
  99. package/cjs/hooks/useEdgeIsHover.d.ts.map +1 -0
  100. package/cjs/hooks/useEdgeIsHover.js +20 -0
  101. package/cjs/hooks/useGetSelection.d.ts +13 -0
  102. package/cjs/hooks/useGetSelection.d.ts.map +1 -0
  103. package/cjs/hooks/useGetSelection.js +28 -0
  104. package/cjs/hooks/useGetUpstreamNodes.d.ts +14 -0
  105. package/cjs/hooks/useGetUpstreamNodes.d.ts.map +1 -0
  106. package/cjs/hooks/useGetUpstreamNodes.js +81 -0
  107. package/cjs/hooks/useGetWillDropTarget.d.ts +5 -0
  108. package/cjs/hooks/useGetWillDropTarget.d.ts.map +1 -0
  109. package/cjs/hooks/useGetWillDropTarget.js +27 -0
  110. package/cjs/hooks/useGroupIsWillDrop.d.ts +2 -0
  111. package/cjs/hooks/useGroupIsWillDrop.d.ts.map +1 -0
  112. package/cjs/hooks/useGroupIsWillDrop.js +20 -0
  113. package/cjs/hooks/useIsValidConnection.d.ts +12 -0
  114. package/cjs/hooks/useIsValidConnection.d.ts.map +1 -0
  115. package/cjs/hooks/useIsValidConnection.js +83 -0
  116. package/cjs/hooks/useMouseEvents.d.ts +19 -0
  117. package/cjs/hooks/useMouseEvents.d.ts.map +1 -0
  118. package/cjs/hooks/useMouseEvents.js +49 -0
  119. package/cjs/hooks/useNodeDragHandles.d.ts +10 -0
  120. package/cjs/hooks/useNodeDragHandles.d.ts.map +1 -0
  121. package/cjs/hooks/useNodeDragHandles.js +273 -0
  122. package/cjs/hooks/useNodes.d.ts +9 -0
  123. package/cjs/hooks/useNodes.d.ts.map +1 -0
  124. package/cjs/hooks/useNodes.js +19 -0
  125. package/cjs/hooks/useOnBeforeDelete.d.ts +19 -0
  126. package/cjs/hooks/useOnBeforeDelete.d.ts.map +1 -0
  127. package/cjs/hooks/useOnBeforeDelete.js +104 -0
  128. package/cjs/hooks/useOnConnect.d.ts +12 -0
  129. package/cjs/hooks/useOnConnect.d.ts.map +1 -0
  130. package/cjs/hooks/useOnConnect.js +36 -0
  131. package/cjs/hooks/useOnEdgeMouseEnter.d.ts +13 -0
  132. package/cjs/hooks/useOnEdgeMouseEnter.d.ts.map +1 -0
  133. package/cjs/hooks/useOnEdgeMouseEnter.js +27 -0
  134. package/cjs/hooks/useOnEdgeMouseLeave.d.ts +13 -0
  135. package/cjs/hooks/useOnEdgeMouseLeave.d.ts.map +1 -0
  136. package/cjs/hooks/useOnEdgeMouseLeave.js +27 -0
  137. package/cjs/hooks/useOnNodesChange.d.ts +4 -0
  138. package/cjs/hooks/useOnNodesChange.d.ts.map +1 -0
  139. package/cjs/hooks/useOnNodesChange.js +102 -0
  140. package/cjs/hooks/useOnSelectionChange.d.ts +13 -0
  141. package/cjs/hooks/useOnSelectionChange.d.ts.map +1 -0
  142. package/cjs/hooks/useOnSelectionChange.js +130 -0
  143. package/cjs/hooks/useSetEdges.d.ts +12 -0
  144. package/cjs/hooks/useSetEdges.d.ts.map +1 -0
  145. package/cjs/hooks/useSetEdges.js +29 -0
  146. package/cjs/hooks/useSetSelection.d.ts +3 -0
  147. package/cjs/hooks/useSetSelection.d.ts.map +1 -0
  148. package/cjs/hooks/useSetSelection.js +40 -0
  149. package/cjs/hooks/useSetWillDropTargets.d.ts +2 -0
  150. package/cjs/hooks/useSetWillDropTargets.d.ts.map +1 -0
  151. package/cjs/hooks/useSetWillDropTargets.js +26 -0
  152. package/cjs/hooks/useUpstream.d.ts +3 -0
  153. package/cjs/hooks/useUpstream.d.ts.map +1 -0
  154. package/cjs/hooks/useUpstream.js +105 -0
  155. package/cjs/hooks/useWatchSelectionNodes.d.ts +2 -0
  156. package/cjs/hooks/useWatchSelectionNodes.d.ts.map +1 -0
  157. package/cjs/hooks/useWatchSelectionNodes.js +22 -0
  158. package/cjs/hooks/useWorkFlow.d.ts +12 -0
  159. package/cjs/hooks/useWorkFlow.d.ts.map +1 -0
  160. package/cjs/hooks/useWorkFlow.js +93 -0
  161. package/cjs/hooks/useWorkFlowProps.d.ts +485 -0
  162. package/cjs/hooks/useWorkFlowProps.d.ts.map +1 -0
  163. package/cjs/hooks/useWorkFlowProps.js +98 -0
  164. package/cjs/index.d.ts +23 -0
  165. package/cjs/index.d.ts.map +1 -0
  166. package/cjs/index.js +77 -0
  167. package/cjs/types.d.ts +103 -0
  168. package/cjs/types.d.ts.map +1 -0
  169. package/cjs/types.js +8 -0
  170. package/cjs/utils/arrayUtils.d.ts +2 -0
  171. package/cjs/utils/arrayUtils.d.ts.map +1 -0
  172. package/cjs/utils/arrayUtils.js +23 -0
  173. package/cjs/utils/checkChildren.d.ts +11 -0
  174. package/cjs/utils/checkChildren.d.ts.map +1 -0
  175. package/cjs/utils/checkChildren.js +27 -0
  176. package/cjs/utils/dimensions.d.ts +12 -0
  177. package/cjs/utils/dimensions.d.ts.map +1 -0
  178. package/cjs/utils/dimensions.js +23 -0
  179. package/cjs/utils/dragDataTransfer.d.ts +19 -0
  180. package/cjs/utils/dragDataTransfer.d.ts.map +1 -0
  181. package/cjs/utils/dragDataTransfer.js +29 -0
  182. package/cjs/utils/dropTargetsCheck.d.ts +20 -0
  183. package/cjs/utils/dropTargetsCheck.d.ts.map +1 -0
  184. package/cjs/utils/dropTargetsCheck.js +105 -0
  185. package/cjs/utils/edgeEqualConnect.d.ts +11 -0
  186. package/cjs/utils/edgeEqualConnect.d.ts.map +1 -0
  187. package/cjs/utils/edgeEqualConnect.js +19 -0
  188. package/cjs/utils/events.d.ts +11 -0
  189. package/cjs/utils/events.d.ts.map +1 -0
  190. package/cjs/utils/events.js +19 -0
  191. package/cjs/utils/getEdgeId.d.ts +12 -0
  192. package/cjs/utils/getEdgeId.d.ts.map +1 -0
  193. package/cjs/utils/getEdgeId.js +22 -0
  194. package/cjs/utils/getParentFlow.d.ts +5 -0
  195. package/cjs/utils/getParentFlow.d.ts.map +1 -0
  196. package/cjs/utils/getParentFlow.js +36 -0
  197. package/cjs/utils/graph.d.ts +12 -0
  198. package/cjs/utils/graph.d.ts.map +1 -0
  199. package/cjs/utils/graph.js +55 -0
  200. package/cjs/utils/index.d.ts +18 -0
  201. package/cjs/utils/index.d.ts.map +1 -0
  202. package/cjs/utils/index.js +104 -0
  203. package/cjs/utils/isInSameParent.d.ts +11 -0
  204. package/cjs/utils/isInSameParent.d.ts.map +1 -0
  205. package/cjs/utils/isInSameParent.js +19 -0
  206. package/cjs/utils/parent.d.ts +23 -0
  207. package/cjs/utils/parent.d.ts.map +1 -0
  208. package/cjs/utils/parent.js +166 -0
  209. package/cjs/utils/position.d.ts +29 -0
  210. package/cjs/utils/position.d.ts.map +1 -0
  211. package/cjs/utils/position.js +67 -0
  212. package/cjs/utils/prepareInnerLookup.d.ts +16 -0
  213. package/cjs/utils/prepareInnerLookup.d.ts.map +1 -0
  214. package/cjs/utils/prepareInnerLookup.js +93 -0
  215. package/cjs/utils/scheduleCallback.d.ts +2 -0
  216. package/cjs/utils/scheduleCallback.d.ts.map +1 -0
  217. package/cjs/utils/scheduleCallback.js +38 -0
  218. package/cjs/utils/serialize.d.ts +31 -0
  219. package/cjs/utils/serialize.d.ts.map +1 -0
  220. package/cjs/utils/serialize.js +60 -0
  221. package/cjs/utils/triggerConnect.d.ts +12 -0
  222. package/cjs/utils/triggerConnect.d.ts.map +1 -0
  223. package/cjs/utils/triggerConnect.js +50 -0
  224. package/esm/components/CanvasLoading/index.d.ts +14 -0
  225. package/esm/components/CanvasLoading/index.d.ts.map +1 -0
  226. package/esm/components/CanvasLoading/index.js +45 -0
  227. package/esm/components/CanvasLoading/index.less +69 -0
  228. package/esm/components/CodeEditor/DebugPanel/index.d.ts +16 -0
  229. package/esm/components/CodeEditor/DebugPanel/index.d.ts.map +1 -0
  230. package/esm/components/CodeEditor/DebugPanel/index.js +199 -0
  231. package/esm/components/CodeEditor/DebugPanel/index.less +56 -0
  232. package/esm/components/CodeEditor/FileTree/LibraryIcon.d.ts +11 -0
  233. package/esm/components/CodeEditor/FileTree/LibraryIcon.d.ts.map +1 -0
  234. package/esm/components/CodeEditor/FileTree/LibraryIcon.js +27 -0
  235. package/esm/components/CodeEditor/FileTree/icons/Javascript.d.ts +11 -0
  236. package/esm/components/CodeEditor/FileTree/icons/Javascript.d.ts.map +1 -0
  237. package/esm/components/CodeEditor/FileTree/icons/Javascript.js +32 -0
  238. package/esm/components/CodeEditor/FileTree/icons/Python.d.ts +11 -0
  239. package/esm/components/CodeEditor/FileTree/icons/Python.d.ts.map +1 -0
  240. package/esm/components/CodeEditor/FileTree/icons/Python.js +32 -0
  241. package/esm/components/CodeEditor/FileTree/index.d.ts +9 -0
  242. package/esm/components/CodeEditor/FileTree/index.d.ts.map +1 -0
  243. package/esm/components/CodeEditor/FileTree/index.js +62 -0
  244. package/esm/components/CodeEditor/FileTree/index.less +83 -0
  245. package/esm/components/CodeEditor/FileTree/useFileIcon.d.ts +11 -0
  246. package/esm/components/CodeEditor/FileTree/useFileIcon.d.ts.map +1 -0
  247. package/esm/components/CodeEditor/FileTree/useFileIcon.js +39 -0
  248. package/esm/components/CodeEditor/Header/index.d.ts +15 -0
  249. package/esm/components/CodeEditor/Header/index.d.ts.map +1 -0
  250. package/esm/components/CodeEditor/Header/index.js +43 -0
  251. package/esm/components/CodeEditor/Header/style.less +23 -0
  252. package/esm/components/CodeEditor/Terminal/XTerm.d.ts +5 -0
  253. package/esm/components/CodeEditor/Terminal/XTerm.d.ts.map +1 -0
  254. package/esm/components/CodeEditor/Terminal/XTerm.js +59 -0
  255. package/esm/components/CodeEditor/Terminal/index.d.ts +15 -0
  256. package/esm/components/CodeEditor/Terminal/index.d.ts.map +1 -0
  257. package/esm/components/CodeEditor/Terminal/index.js +23 -0
  258. package/esm/components/CodeEditor/Terminal/index.less +28 -0
  259. package/esm/components/CodeEditor/Terminal/types.d.ts +13 -0
  260. package/esm/components/CodeEditor/editors/JSON.d.ts +12 -0
  261. package/esm/components/CodeEditor/editors/JSON.d.ts.map +1 -0
  262. package/esm/components/CodeEditor/editors/JSON.js +35 -0
  263. package/esm/components/CodeEditor/editors/Python.d.ts +4 -0
  264. package/esm/components/CodeEditor/editors/Python.d.ts.map +1 -0
  265. package/esm/components/CodeEditor/editors/Python.js +34 -0
  266. package/esm/components/CodeEditor/editors/index.less +11 -0
  267. package/esm/components/CodeEditor/editors/types.d.ts +24 -0
  268. package/esm/components/CodeEditor/index.d.ts +7 -0
  269. package/esm/components/CodeEditor/index.d.ts.map +1 -0
  270. package/esm/components/CodeEditor/index.js +233 -0
  271. package/esm/components/CodeEditor/style.less +49 -0
  272. package/esm/components/CodeEditor/types.d.ts +46 -0
  273. package/esm/components/Handle/NodePopover.d.ts +15 -0
  274. package/esm/components/Handle/NodePopover.d.ts.map +1 -0
  275. package/esm/components/Handle/NodePopover.js +165 -0
  276. package/esm/components/Handle/index.d.ts +24 -0
  277. package/esm/components/Handle/index.d.ts.map +1 -0
  278. package/esm/components/Handle/index.js +190 -0
  279. package/esm/components/Handle/index.less +111 -0
  280. package/esm/components/InlineCodeEditor/index.d.ts +11 -0
  281. package/esm/components/InlineCodeEditor/index.d.ts.map +1 -0
  282. package/esm/components/InlineCodeEditor/index.js +24 -0
  283. package/esm/components/InlineCodeEditor/index.module.less +0 -0
  284. package/esm/components/InlineCodeEditor/types.d.ts +22 -0
  285. package/esm/components/Layout/index.d.ts +14 -0
  286. package/esm/components/Layout/index.d.ts.map +1 -0
  287. package/esm/components/Layout/index.js +43 -0
  288. package/esm/components/Layout/index.less +14 -0
  289. package/esm/components/LoadingButton.d.ts +16 -0
  290. package/esm/components/LoadingButton.d.ts.map +1 -0
  291. package/esm/components/LoadingButton.js +112 -0
  292. package/esm/components/Sider/index.d.ts +15 -0
  293. package/esm/components/Sider/index.d.ts.map +1 -0
  294. package/esm/components/Sider/index.js +142 -0
  295. package/esm/components/Sider/index.less +68 -0
  296. package/esm/constants/RunningStatus.d.ts +14 -0
  297. package/esm/constants/RunningStatus.d.ts.map +1 -0
  298. package/esm/constants/RunningStatus.js +15 -0
  299. package/esm/hooks/run/useActiveEdge.d.ts +15 -0
  300. package/esm/hooks/run/useActiveEdge.d.ts.map +1 -0
  301. package/esm/hooks/run/useActiveEdge.js +30 -0
  302. package/esm/hooks/run/useCleanRunState.d.ts +9 -0
  303. package/esm/hooks/run/useCleanRunState.d.ts.map +1 -0
  304. package/esm/hooks/run/useCleanRunState.js +26 -0
  305. package/esm/hooks/run/useNodeRunningState.d.ts +8 -0
  306. package/esm/hooks/run/useNodeRunningState.d.ts.map +1 -0
  307. package/esm/hooks/run/useNodeRunningState.js +26 -0
  308. package/esm/hooks/run/useRunState.d.ts +21 -0
  309. package/esm/hooks/run/useRunState.d.ts.map +1 -0
  310. package/esm/hooks/run/useRunState.js +35 -0
  311. package/esm/hooks/run/useSetRunState.d.ts +18 -0
  312. package/esm/hooks/run/useSetRunState.d.ts.map +1 -0
  313. package/esm/hooks/run/useSetRunState.js +35 -0
  314. package/esm/hooks/state.d.ts +7 -0
  315. package/esm/hooks/state.d.ts.map +1 -0
  316. package/esm/hooks/state.js +6 -0
  317. package/esm/hooks/useDeleteNode.d.ts +2 -0
  318. package/esm/hooks/useDeleteNode.d.ts.map +1 -0
  319. package/esm/hooks/useDeleteNode.js +44 -0
  320. package/esm/hooks/useEdgeIsHover.d.ts +2 -0
  321. package/esm/hooks/useEdgeIsHover.d.ts.map +1 -0
  322. package/esm/hooks/useEdgeIsHover.js +14 -0
  323. package/esm/hooks/useGetSelection.d.ts +13 -0
  324. package/esm/hooks/useGetSelection.d.ts.map +1 -0
  325. package/esm/hooks/useGetSelection.js +21 -0
  326. package/esm/hooks/useGetUpstreamNodes.d.ts +14 -0
  327. package/esm/hooks/useGetUpstreamNodes.d.ts.map +1 -0
  328. package/esm/hooks/useGetUpstreamNodes.js +71 -0
  329. package/esm/hooks/useGetWillDropTarget.d.ts +5 -0
  330. package/esm/hooks/useGetWillDropTarget.d.ts.map +1 -0
  331. package/esm/hooks/useGetWillDropTarget.js +21 -0
  332. package/esm/hooks/useGroupIsWillDrop.d.ts +2 -0
  333. package/esm/hooks/useGroupIsWillDrop.d.ts.map +1 -0
  334. package/esm/hooks/useGroupIsWillDrop.js +14 -0
  335. package/esm/hooks/useIsValidConnection.d.ts +12 -0
  336. package/esm/hooks/useIsValidConnection.d.ts.map +1 -0
  337. package/esm/hooks/useIsValidConnection.js +82 -0
  338. package/esm/hooks/useMouseEvents.d.ts +19 -0
  339. package/esm/hooks/useMouseEvents.d.ts.map +1 -0
  340. package/esm/hooks/useMouseEvents.js +40 -0
  341. package/esm/hooks/useNodeDragHandles.d.ts +10 -0
  342. package/esm/hooks/useNodeDragHandles.d.ts.map +1 -0
  343. package/esm/hooks/useNodeDragHandles.js +311 -0
  344. package/esm/hooks/useNodes.d.ts +9 -0
  345. package/esm/hooks/useNodes.d.ts.map +1 -0
  346. package/esm/hooks/useNodes.js +14 -0
  347. package/esm/hooks/useOnBeforeDelete.d.ts +19 -0
  348. package/esm/hooks/useOnBeforeDelete.d.ts.map +1 -0
  349. package/esm/hooks/useOnBeforeDelete.js +138 -0
  350. package/esm/hooks/useOnConnect.d.ts +12 -0
  351. package/esm/hooks/useOnConnect.d.ts.map +1 -0
  352. package/esm/hooks/useOnConnect.js +26 -0
  353. package/esm/hooks/useOnEdgeMouseEnter.d.ts +13 -0
  354. package/esm/hooks/useOnEdgeMouseEnter.d.ts.map +1 -0
  355. package/esm/hooks/useOnEdgeMouseEnter.js +20 -0
  356. package/esm/hooks/useOnEdgeMouseLeave.d.ts +13 -0
  357. package/esm/hooks/useOnEdgeMouseLeave.d.ts.map +1 -0
  358. package/esm/hooks/useOnEdgeMouseLeave.js +20 -0
  359. package/esm/hooks/useOnNodesChange.d.ts +4 -0
  360. package/esm/hooks/useOnNodesChange.d.ts.map +1 -0
  361. package/esm/hooks/useOnNodesChange.js +107 -0
  362. package/esm/hooks/useOnSelectionChange.d.ts +13 -0
  363. package/esm/hooks/useOnSelectionChange.d.ts.map +1 -0
  364. package/esm/hooks/useOnSelectionChange.js +171 -0
  365. package/esm/hooks/useSetEdges.d.ts +12 -0
  366. package/esm/hooks/useSetEdges.d.ts.map +1 -0
  367. package/esm/hooks/useSetEdges.js +22 -0
  368. package/esm/hooks/useSetSelection.d.ts +3 -0
  369. package/esm/hooks/useSetSelection.d.ts.map +1 -0
  370. package/esm/hooks/useSetSelection.js +33 -0
  371. package/esm/hooks/useSetWillDropTargets.d.ts +2 -0
  372. package/esm/hooks/useSetWillDropTargets.d.ts.map +1 -0
  373. package/esm/hooks/useSetWillDropTargets.js +18 -0
  374. package/esm/hooks/useUpstream.d.ts +3 -0
  375. package/esm/hooks/useUpstream.d.ts.map +1 -0
  376. package/esm/hooks/useUpstream.js +101 -0
  377. package/esm/hooks/useWatchSelectionNodes.d.ts +2 -0
  378. package/esm/hooks/useWatchSelectionNodes.d.ts.map +1 -0
  379. package/esm/hooks/useWatchSelectionNodes.js +14 -0
  380. package/esm/hooks/useWorkFlow.d.ts +12 -0
  381. package/esm/hooks/useWorkFlow.d.ts.map +1 -0
  382. package/esm/hooks/useWorkFlow.js +92 -0
  383. package/esm/hooks/useWorkFlowProps.d.ts +485 -0
  384. package/esm/hooks/useWorkFlowProps.d.ts.map +1 -0
  385. package/esm/hooks/useWorkFlowProps.js +102 -0
  386. package/esm/index.d.ts +23 -0
  387. package/esm/index.d.ts.map +1 -0
  388. package/esm/index.js +28 -0
  389. package/esm/types.d.ts +103 -0
  390. package/esm/types.d.ts.map +1 -0
  391. package/esm/types.js +4 -0
  392. package/esm/utils/arrayUtils.d.ts +2 -0
  393. package/esm/utils/arrayUtils.d.ts.map +1 -0
  394. package/esm/utils/arrayUtils.js +16 -0
  395. package/esm/utils/checkChildren.d.ts +11 -0
  396. package/esm/utils/checkChildren.d.ts.map +1 -0
  397. package/esm/utils/checkChildren.js +16 -0
  398. package/esm/utils/dimensions.d.ts +12 -0
  399. package/esm/utils/dimensions.d.ts.map +1 -0
  400. package/esm/utils/dimensions.js +17 -0
  401. package/esm/utils/dragDataTransfer.d.ts +19 -0
  402. package/esm/utils/dragDataTransfer.d.ts.map +1 -0
  403. package/esm/utils/dragDataTransfer.js +21 -0
  404. package/esm/utils/dropTargetsCheck.d.ts +20 -0
  405. package/esm/utils/dropTargetsCheck.d.ts.map +1 -0
  406. package/esm/utils/dropTargetsCheck.js +116 -0
  407. package/esm/utils/edgeEqualConnect.d.ts +11 -0
  408. package/esm/utils/edgeEqualConnect.d.ts.map +1 -0
  409. package/esm/utils/edgeEqualConnect.js +12 -0
  410. package/esm/utils/events.d.ts +11 -0
  411. package/esm/utils/events.d.ts.map +1 -0
  412. package/esm/utils/events.js +12 -0
  413. package/esm/utils/getEdgeId.d.ts +12 -0
  414. package/esm/utils/getEdgeId.d.ts.map +1 -0
  415. package/esm/utils/getEdgeId.js +16 -0
  416. package/esm/utils/getParentFlow.d.ts +5 -0
  417. package/esm/utils/getParentFlow.d.ts.map +1 -0
  418. package/esm/utils/getParentFlow.js +28 -0
  419. package/esm/utils/graph.d.ts +12 -0
  420. package/esm/utils/graph.d.ts.map +1 -0
  421. package/esm/utils/graph.js +51 -0
  422. package/esm/utils/index.d.ts +18 -0
  423. package/esm/utils/index.d.ts.map +1 -0
  424. package/esm/utils/index.js +18 -0
  425. package/esm/utils/isInSameParent.d.ts +11 -0
  426. package/esm/utils/isInSameParent.d.ts.map +1 -0
  427. package/esm/utils/isInSameParent.js +12 -0
  428. package/esm/utils/parent.d.ts +23 -0
  429. package/esm/utils/parent.d.ts.map +1 -0
  430. package/esm/utils/parent.js +186 -0
  431. package/esm/utils/position.d.ts +29 -0
  432. package/esm/utils/position.d.ts.map +1 -0
  433. package/esm/utils/position.js +61 -0
  434. package/esm/utils/prepareInnerLookup.d.ts +16 -0
  435. package/esm/utils/prepareInnerLookup.d.ts.map +1 -0
  436. package/esm/utils/prepareInnerLookup.js +79 -0
  437. package/esm/utils/scheduleCallback.d.ts +2 -0
  438. package/esm/utils/scheduleCallback.d.ts.map +1 -0
  439. package/esm/utils/scheduleCallback.js +36 -0
  440. package/esm/utils/serialize.d.ts +31 -0
  441. package/esm/utils/serialize.d.ts.map +1 -0
  442. package/esm/utils/serialize.js +64 -0
  443. package/esm/utils/triggerConnect.d.ts +12 -0
  444. package/esm/utils/triggerConnect.d.ts.map +1 -0
  445. package/esm/utils/triggerConnect.js +59 -0
  446. package/package.json +70 -0
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @author: yanxianliang
3
+ * @date: 2025-07-21 18:37
4
+ * @modified:2025/7/21 18:37 by yanxianliang
5
+ * @desc: Python 编辑器
6
+ *
7
+ * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
8
+ */
9
+ import { python } from "@codemirror/lang-python";
10
+ import ReactCodeMirror from '@uiw/react-codemirror';
11
+ import { oneDark } from '@codemirror/theme-one-dark';
12
+ import "./index.less";
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ export var PythonEditor = function PythonEditor(_ref) {
15
+ var height = _ref.height,
16
+ _ref$value = _ref.value,
17
+ value = _ref$value === void 0 ? '' : _ref$value,
18
+ placeholder = _ref.placeholder,
19
+ readOnly = _ref.readOnly,
20
+ onChange = _ref.onChange;
21
+ return /*#__PURE__*/_jsx("div", {
22
+ className: 'rxflow-code-editor',
23
+ children: /*#__PURE__*/_jsx(ReactCodeMirror, {
24
+ editable: !readOnly,
25
+ readOnly: readOnly,
26
+ theme: 'dark',
27
+ placeholder: placeholder,
28
+ extensions: [python(), oneDark],
29
+ height: height ? "".concat(height, "px") : '100%',
30
+ value: value,
31
+ onChange: onChange
32
+ })
33
+ });
34
+ };
@@ -0,0 +1,11 @@
1
+ .rxflow-code-editor {
2
+ height: 100%;
3
+ .cm-scroller {
4
+ scrollbar-width: thin;
5
+ scrollbar-color: #4c4d4f transparent;
6
+ }
7
+
8
+ & > div {
9
+ height: 100%;
10
+ }
11
+ }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @author: yanxianliang
3
+ * @date: 2025-07-21 10:26
4
+ * @modified:2025/7/21 10:26 by yanxianliang
5
+ * @desc: 类型定义
6
+ *
7
+ * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
8
+ */
9
+
10
+ export type EditorProps = {
11
+ /**
12
+ * @description: 编辑区域高度
13
+ * @default: 400
14
+ */
15
+ height?: number;
16
+
17
+ value?: string;
18
+
19
+ placeholder?: string;
20
+
21
+ readOnly?: boolean;
22
+
23
+ onChange?: (code?: string)=>void;
24
+ }
@@ -0,0 +1,7 @@
1
+ import './style.less';
2
+ import { CodeEditorProps } from "./types";
3
+ export declare function CodeEditor({ onClose, files, activeFileKey, value, onChange, onActiveFileChange, libraries, onExecute, onSyncSchema, defaultInputValue }: CodeEditorProps): import("react/jsx-runtime").JSX.Element;
4
+ export declare namespace CodeEditor {
5
+ var Modal: ({ onClose, open, files, value, onChange, zIndex, activeFileKey, onActiveFileChange, libraries, onExecute, onSyncSchema, defaultInputValue }: CodeEditorProps) => import("react/jsx-runtime").JSX.Element;
6
+ }
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAgBA,OAAO,cAAc,CAAC;AAGtB,OAAO,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;AAMxC,wBAAgB,UAAU,CACxB,EACE,OAAO,EACP,KAAK,EACL,aAAa,EACb,KAAK,EACL,QAAQ,EACR,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,YAAY,EACZ,iBAAiB,EAClB,EAAE,eAAe,2CAgInB;yBA5Ie,UAAU"}
@@ -0,0 +1,233 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
+ /**
14
+ * @author: yanxianliang
15
+ * @date: 2025-07-21 10:11
16
+ * @modified:2025/7/21 10:11 by yanxianliang
17
+ * @desc: 代码编辑器(全屏)
18
+ *
19
+ * 左右 Split 布局,使用三方组件实现
20
+ *
21
+ * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
22
+ */
23
+ import { FileTree } from "./FileTree";
24
+ import { PythonEditor } from "./editors/Python";
25
+ import DebugPanel from "./DebugPanel";
26
+ import { ConfigProvider, theme, Splitter } from "antd";
27
+ import { useEffect, useRef, useState } from "react";
28
+ import Dialog from 'rc-dialog';
29
+ import "./style.less";
30
+ import { Header } from "./Header";
31
+ import cls from 'classcat';
32
+ import { Terminal } from "./Terminal";
33
+ import { useMemoizedFn, useSize } from "ahooks";
34
+ import { jsx as _jsx } from "react/jsx-runtime";
35
+ import { jsxs as _jsxs } from "react/jsx-runtime";
36
+ export function CodeEditor(_ref) {
37
+ var onClose = _ref.onClose,
38
+ files = _ref.files,
39
+ activeFileKey = _ref.activeFileKey,
40
+ value = _ref.value,
41
+ onChange = _ref.onChange,
42
+ onActiveFileChange = _ref.onActiveFileChange,
43
+ libraries = _ref.libraries,
44
+ onExecute = _ref.onExecute,
45
+ onSyncSchema = _ref.onSyncSchema,
46
+ defaultInputValue = _ref.defaultInputValue;
47
+ var _useState = useState({
48
+ left: 280,
49
+ // 左侧默认 260,
50
+ main: 0,
51
+ // 中间自动计算剩余部分
52
+ right: 600,
53
+ // 右侧默认 600
54
+ top: 0,
55
+ // 代码区域高度自动计算
56
+ bottom: 200 // 控制台默认 200
57
+ }),
58
+ _useState2 = _slicedToArray(_useState, 2),
59
+ sizes = _useState2[0],
60
+ setSizes = _useState2[1];
61
+ var rightSizeCache = useRef(sizes.right);
62
+ var containerRef = useRef(null);
63
+ var containerSizes = useSize(containerRef);
64
+ useEffect(function () {
65
+ if (containerSizes) {
66
+ var width = containerSizes.width,
67
+ height = containerSizes.height;
68
+ setSizes(function (beforeSizes) {
69
+ var left = beforeSizes.left,
70
+ right = beforeSizes.right,
71
+ bottom = beforeSizes.bottom;
72
+ return {
73
+ left: left,
74
+ right: right,
75
+ main: width - left - right,
76
+ bottom: bottom,
77
+ top: height - bottom
78
+ };
79
+ });
80
+ }
81
+ }, [containerSizes]);
82
+ var _useState3 = useState(true),
83
+ _useState4 = _slicedToArray(_useState3, 2),
84
+ debug = _useState4[0],
85
+ setDebug = _useState4[1];
86
+ var terminalRef = useRef(null);
87
+ var toggleDebug = useMemoizedFn(function () {
88
+ setDebug(function (debug) {
89
+ return !debug;
90
+ });
91
+ var _ref2 = containerSizes,
92
+ width = _ref2.width;
93
+ setSizes(function (beforeSizes) {
94
+ var left = beforeSizes.left;
95
+ var right = debug ? 0 : rightSizeCache.current;
96
+ return _objectSpread(_objectSpread({}, beforeSizes), {}, {
97
+ right: right,
98
+ main: width - right - left
99
+ });
100
+ });
101
+ });
102
+ var onResize = useMemoizedFn(function (sizes) {
103
+ // 更新到 sizes中
104
+ rightSizeCache.current = sizes[2];
105
+ setSizes(function (beforeSizes) {
106
+ return _objectSpread(_objectSpread({}, beforeSizes), {}, {
107
+ left: sizes[0],
108
+ main: sizes[1],
109
+ right: sizes[2]
110
+ });
111
+ });
112
+ });
113
+ var onMainResize = useMemoizedFn(function (sizes) {
114
+ setSizes(function (beforeSizes) {
115
+ return _objectSpread(_objectSpread({}, beforeSizes), {}, {
116
+ top: sizes[0],
117
+ bottom: sizes[1]
118
+ });
119
+ });
120
+ });
121
+ var writeToTerminal = useMemoizedFn(function (data) {
122
+ var _terminalRef$current, _terminalRef$current2;
123
+ (_terminalRef$current = terminalRef.current) === null || _terminalRef$current === void 0 || _terminalRef$current.clear();
124
+ (_terminalRef$current2 = terminalRef.current) === null || _terminalRef$current2 === void 0 || _terminalRef$current2.writeIn(data);
125
+ });
126
+ var hasDebugAction = !!onExecute;
127
+ return /*#__PURE__*/_jsx(ConfigProvider, {
128
+ theme: {
129
+ algorithm: theme.darkAlgorithm,
130
+ components: {
131
+ Tree: {
132
+ indentSize: 12
133
+ }
134
+ }
135
+ },
136
+ prefixCls: 'rxflow',
137
+ children: /*#__PURE__*/_jsxs("div", {
138
+ className: cls(['rxflow-editor-dark', 'rxflow-editor']),
139
+ children: [/*#__PURE__*/_jsx(Header, {
140
+ debug: debug,
141
+ onClose: onClose,
142
+ onDebug: hasDebugAction ? toggleDebug : undefined
143
+ }), /*#__PURE__*/_jsx("div", {
144
+ ref: containerRef,
145
+ className: 'rxflow-editor-body',
146
+ children: /*#__PURE__*/_jsxs(Splitter, {
147
+ className: 'rxflow-editor-content',
148
+ onResize: onResize,
149
+ children: [/*#__PURE__*/_jsx(Splitter.Panel, {
150
+ size: sizes.left,
151
+ children: /*#__PURE__*/_jsx("div", {
152
+ className: 'rxflow-editor-left',
153
+ children: /*#__PURE__*/_jsx(FileTree, {
154
+ libraries: libraries,
155
+ files: files,
156
+ value: activeFileKey,
157
+ onChange: onActiveFileChange
158
+ })
159
+ })
160
+ }), /*#__PURE__*/_jsx(Splitter.Panel, {
161
+ size: sizes.main,
162
+ children: /*#__PURE__*/_jsxs(Splitter, {
163
+ layout: "vertical",
164
+ onResize: onMainResize,
165
+ children: [/*#__PURE__*/_jsx(Splitter.Panel, {
166
+ size: sizes.top,
167
+ children: /*#__PURE__*/_jsx(PythonEditor, {
168
+ value: value,
169
+ onChange: onChange
170
+ })
171
+ }), /*#__PURE__*/_jsx(Splitter.Panel, {
172
+ size: sizes.bottom,
173
+ children: /*#__PURE__*/_jsx(Terminal, {
174
+ xTermRef: terminalRef
175
+ })
176
+ })]
177
+ })
178
+ }), hasDebugAction ? /*#__PURE__*/_jsx(Splitter.Panel, {
179
+ size: sizes.right,
180
+ children: /*#__PURE__*/_jsx(DebugPanel, {
181
+ onSyncSchema: onSyncSchema,
182
+ onExecute: onExecute,
183
+ closeModal: onClose,
184
+ writeToTerminal: writeToTerminal,
185
+ defaultInputValue: defaultInputValue
186
+ })
187
+ }) : null]
188
+ })
189
+ })]
190
+ })
191
+ });
192
+ }
193
+ CodeEditor.Modal = function (_ref3) {
194
+ var onClose = _ref3.onClose,
195
+ open = _ref3.open,
196
+ files = _ref3.files,
197
+ value = _ref3.value,
198
+ onChange = _ref3.onChange,
199
+ _ref3$zIndex = _ref3.zIndex,
200
+ zIndex = _ref3$zIndex === void 0 ? 100 : _ref3$zIndex,
201
+ activeFileKey = _ref3.activeFileKey,
202
+ onActiveFileChange = _ref3.onActiveFileChange,
203
+ libraries = _ref3.libraries,
204
+ onExecute = _ref3.onExecute,
205
+ onSyncSchema = _ref3.onSyncSchema,
206
+ defaultInputValue = _ref3.defaultInputValue;
207
+ return /*#__PURE__*/_jsx(Dialog, {
208
+ classNames: {
209
+ mask: 'rxflow-editor-mask',
210
+ wrapper: 'rxflow-editor-dialog'
211
+ },
212
+ zIndex: zIndex,
213
+ closable: false,
214
+ footer: null,
215
+ visible: open,
216
+ title: null,
217
+ height: '100vh',
218
+ width: '100vw',
219
+ children: /*#__PURE__*/_jsx(CodeEditor, {
220
+ zIndex: zIndex,
221
+ libraries: libraries,
222
+ activeFileKey: activeFileKey,
223
+ onActiveFileChange: onActiveFileChange,
224
+ value: value,
225
+ onChange: onChange,
226
+ files: files,
227
+ onClose: onClose,
228
+ onExecute: onExecute,
229
+ onSyncSchema: onSyncSchema,
230
+ defaultInputValue: defaultInputValue
231
+ })
232
+ });
233
+ };
@@ -0,0 +1,49 @@
1
+ .rxflow {
2
+ &-editor {
3
+ height: 100vh;
4
+ display: flex;
5
+ flex-direction: column;
6
+
7
+ &-dark {
8
+ background-color: #2d2f32;
9
+
10
+ .cm-theme-dark .cm-editor {
11
+ background-color: #202124;
12
+ }
13
+ }
14
+
15
+ &-body {
16
+ flex: 1;
17
+ height: 0;
18
+ display: flex;
19
+ flex-direction: column;
20
+ }
21
+
22
+ &-content {
23
+ flex: 1;
24
+ height: 0;
25
+ }
26
+
27
+ &-left {
28
+ width: 100%;
29
+ height: 100%;
30
+ overflow: auto;
31
+ scrollbar-width: thin;
32
+ scrollbar-color: #4c4d4f transparent;
33
+ }
34
+
35
+ &-dialog{
36
+ position: fixed;
37
+ left: 0;
38
+ top: 0;
39
+ }
40
+
41
+ &-mask{
42
+ position: fixed;
43
+ left: 0;
44
+ bottom: 0;
45
+ right: 0;
46
+ top: 0;
47
+ }
48
+ }
49
+ }
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @author: yanxianliang
3
+ * @date: 2025-07-22 16:03
4
+ * @modified:2025/7/22 16:03 by yanxianliang
5
+ * @desc: 类型定义
6
+ *
7
+ * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
8
+ */
9
+
10
+ type FileType = {
11
+ title: string;
12
+ key: string;
13
+ isLeaf?: boolean; // 是否是文件
14
+ children?: FileType[];
15
+ }
16
+
17
+ export type CodeEditorProps = {
18
+ onClose?: () => void;
19
+ open?: boolean;
20
+ files?: FileType[];
21
+ zIndex?: number;
22
+ value?: string;
23
+ onChange?: (code?: string)=>void;
24
+ activeFileKey?: string;
25
+ onActiveFileChange?:(key?: string)=>void;
26
+ libraries?: Library;
27
+ onExecute: (input: Record<string, any>) => Promise<{
28
+ result: any;
29
+ stdout?: string;
30
+ stderr?: string;
31
+ }>;
32
+ onSyncSchema?: (output?: Record<string, any>) => void; // 结果同步到配置中
33
+ defaultInputValue?: Record<string, any>;
34
+ }
35
+
36
+
37
+ export type Package = {
38
+ title: string;
39
+ version: string;
40
+ key: string;
41
+ }
42
+
43
+ export type Library = {
44
+ title: string;
45
+ children: Array<Package>
46
+ }
@@ -0,0 +1,15 @@
1
+ import { WorkflowNode } from "../..";
2
+ import { Edge } from "@xyflow/react";
3
+ import '../Sider/index.less';
4
+ /**
5
+ * 快速新增节点 Popover
6
+ * @param onNodeCreate
7
+ * @param isPreview
8
+ * @param nodeId
9
+ * @constructor
10
+ */
11
+ export declare const NodePopover: <NodeType extends WorkflowNode = WorkflowNode, EdgeType extends Edge = Edge>({ onNodeCreate, nodeId, }: {
12
+ nodeId: string;
13
+ onNodeCreate: (type: string) => void;
14
+ }) => import("react/jsx-runtime").JSX.Element;
15
+ //# sourceMappingURL=NodePopover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodePopover.d.ts","sourceRoot":"","sources":["NodePopover.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAiB,YAAY,EAAE,cAAyB;AAC/D,OAAO,EAAC,IAAI,EAAc,MAAM,eAAe,CAAC;AAMhD,OAAO,qBAAqB,CAAC;AAY7B;;;;;;GAMG;AACH,eAAO,MAAM,WAAW;YAKZ,MAAM;yBACO,MAAM,KAAK,IAAI;6CAkGvC,CAAC"}
@@ -0,0 +1,165 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ /*
8
+ * @author: yanxianliang
9
+ * @date: 2025-04-22 10:30
10
+ * @desc: 节点快速创建
11
+ *
12
+ * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
13
+ */
14
+
15
+ import SearchOutlined from "@ant-design/icons/lib/icons/SearchOutlined";
16
+ import { useNodeTypeMap, usePropsSelector } from '@rxflow/base';
17
+ import { useStoreApi } from "@xyflow/react";
18
+ import { Input, List, Space } from 'antd';
19
+ import groupBy from 'lodash/groupBy';
20
+ import React, { useCallback, useMemo, useState } from 'react';
21
+ import Highlighter from "react-highlight-words";
22
+ import { useWorkFlow } from "../../hooks/useWorkFlow";
23
+ import "../Sider/index.less";
24
+ import { canAddInNode } from "../../utils/dropTargetsCheck";
25
+
26
+ /**
27
+ * 不拦截,会触发 flow 的 PointerDown 事件,导致向 body 派发 mousedown事件,自动关闭浮层
28
+ * @param e
29
+ */
30
+ import { jsx as _jsx } from "react/jsx-runtime";
31
+ import { jsxs as _jsxs } from "react/jsx-runtime";
32
+ var onPointerDown = function onPointerDown(e) {
33
+ e.stopPropagation();
34
+ };
35
+
36
+ /**
37
+ * 快速新增节点 Popover
38
+ * @param onNodeCreate
39
+ * @param isPreview
40
+ * @param nodeId
41
+ * @constructor
42
+ */
43
+ export var NodePopover = function NodePopover(_ref) {
44
+ var onNodeCreate = _ref.onNodeCreate,
45
+ nodeId = _ref.nodeId;
46
+ var _useWorkFlow = useWorkFlow(),
47
+ getNode = _useWorkFlow.getNode;
48
+ var _usePropsSelector = usePropsSelector(),
49
+ _usePropsSelector$nod = _usePropsSelector.nodeTypes,
50
+ nodeTypeList = _usePropsSelector$nod === void 0 ? [] : _usePropsSelector$nod;
51
+ var _useState = useState(''),
52
+ _useState2 = _slicedToArray(_useState, 2),
53
+ filter = _useState2[0],
54
+ setFilter = _useState2[1];
55
+ var nodeTypeMap = useNodeTypeMap();
56
+ var _useStoreApi = useStoreApi(),
57
+ getState = _useStoreApi.getState;
58
+ /**
59
+ * 分组节点类型列表
60
+ */
61
+ var nodeCategoryList = useMemo(function () {
62
+ if (!nodeTypeList || !nodeTypeList.length) {
63
+ return [];
64
+ }
65
+
66
+ // 在循环体中不支持再创建循环节点
67
+ var handleNode = getNode(nodeId);
68
+
69
+ // 分组
70
+ var groups = groupBy(nodeTypeList.filter(function (definition) {
71
+ if (definition.hideInSider || definition.label && definition.label.indexOf(filter) === -1) {
72
+ return false;
73
+ }
74
+ var _getState = getState(),
75
+ nodeLookup = _getState.nodeLookup;
76
+ // 检测当前节点所处环境是否支持,例如父节点等等
77
+ var parentId = handleNode === null || handleNode === void 0 ? void 0 : handleNode.parentId;
78
+ if (!canAddInNode(nodeLookup, parentId, [definition.type], nodeTypeMap)) {
79
+ return false;
80
+ }
81
+ return true;
82
+ }), function (node) {
83
+ return node.group || '';
84
+ });
85
+ return Object.keys(groups).map(function (group) {
86
+ return {
87
+ group: group,
88
+ list: groups[group] || []
89
+ };
90
+ });
91
+ }, [nodeTypeList, filter]);
92
+ var onSearch = useCallback(function (e) {
93
+ setFilter(e.currentTarget.value);
94
+ }, []);
95
+ return /*#__PURE__*/_jsxs("div", {
96
+ className: 'handle-dropdown-content',
97
+ onPointerDown: onPointerDown,
98
+ children: [/*#__PURE__*/_jsx("div", {
99
+ className: 'rxflow-sider-search',
100
+ children: /*#__PURE__*/_jsx(Input, {
101
+ onChange: onSearch,
102
+ prefix: /*#__PURE__*/_jsx(SearchOutlined, {
103
+ style: {
104
+ color: 'rgba(32, 41, 69, 0.62)'
105
+ }
106
+ }),
107
+ placeholder: '搜索节点'
108
+ })
109
+ }), /*#__PURE__*/_jsx("div", {
110
+ className: 'rxflow-sider-scroll',
111
+ style: {
112
+ height: 400
113
+ },
114
+ children: /*#__PURE__*/_jsx("div", {
115
+ className: 'rxflow-sider-content',
116
+ children: /*#__PURE__*/_jsx(Space, {
117
+ size: 12,
118
+ direction: 'vertical',
119
+ style: {
120
+ width: '100%'
121
+ },
122
+ children: nodeCategoryList.map(function (categoryItem) {
123
+ var group = categoryItem.group,
124
+ list = categoryItem.list;
125
+ return /*#__PURE__*/_jsxs("div", {
126
+ children: [group ? /*#__PURE__*/_jsx("div", {
127
+ className: 'rxflow-sider-group',
128
+ children: group
129
+ }) : null, /*#__PURE__*/_jsx(List, {
130
+ grid: {
131
+ gutter: 0,
132
+ column: 2
133
+ },
134
+ dataSource: list,
135
+ renderItem: function renderItem(item) {
136
+ var icon = item.icon,
137
+ label = item.label;
138
+ return /*#__PURE__*/_jsx(List.Item, {
139
+ className: 'rxflow-sider-item',
140
+ children: /*#__PURE__*/_jsxs("div", {
141
+ className: 'rxflow-sider-card',
142
+ onClick: function onClick() {
143
+ onNodeCreate(item.type);
144
+ },
145
+ children: [icon ? /*#__PURE__*/_jsx("span", {
146
+ className: 'rxflow-sider-icon',
147
+ children: icon
148
+ }) : null, /*#__PURE__*/_jsx("span", {
149
+ children: /*#__PURE__*/_jsx(Highlighter, {
150
+ highlightClassName: 'rxflow-sider-highlight',
151
+ textToHighlight: label || '',
152
+ searchWords: [filter]
153
+ })
154
+ })]
155
+ })
156
+ }, item.type);
157
+ }
158
+ })]
159
+ }, group);
160
+ })
161
+ })
162
+ })
163
+ })]
164
+ });
165
+ };
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @author: yanxianliang
3
+ * @date: 2025-09-06 09:52
4
+ * @modified:2025/9/6 09:52 by yanxianliang
5
+ * @desc: Handle 自定义
6
+ *
7
+ * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
8
+ */
9
+ import { WorkflowNode } from "../..";
10
+ import { Edge } from '@xyflow/react';
11
+ import type { HandleProps } from '@xyflow/system';
12
+ import { HTMLAttributes } from 'react';
13
+ import './index.less';
14
+ /**
15
+ * 链接桩组件
16
+ * @param props
17
+ * @constructor
18
+ */
19
+ export declare const Handle: <NodeType extends WorkflowNode = WorkflowNode, EdgeType extends Edge = Edge>(props: HandleProps & Omit<HTMLAttributes<HTMLDivElement>, 'id'> & {
20
+ readOnly?: boolean;
21
+ required?: boolean;
22
+ errorMessage?: string;
23
+ }) => import("react/jsx-runtime").JSX.Element;
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAGL,YAAY,EACb,cAAyB;AAC1B,OAAO,EACL,IAAI,EAML,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAIhD,OAAO,EAAC,cAAc,EAAW,MAAM,OAAO,CAAC;AAC/C,OAAO,cAAc,CAAC;AAMtB;;;;GAIG;AACH,eAAO,MAAM,MAAM,sFACV,WAAW,GAChB,KAAK,eAAe,cAAc,CAAC,EAAE,IAAI,CAAC,GAAG;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,4CAiIF,CAAC"}