@rxflow/base 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 (442) hide show
  1. package/README.md +44 -0
  2. package/cjs/Flow.d.ts +14 -0
  3. package/cjs/Flow.d.ts.map +1 -0
  4. package/cjs/Flow.js +236 -0
  5. package/cjs/components/CollapseButton/index.d.ts +11 -0
  6. package/cjs/components/CollapseButton/index.d.ts.map +1 -0
  7. package/cjs/components/CollapseButton/index.js +58 -0
  8. package/cjs/components/CollapseButton/index.less +68 -0
  9. package/cjs/components/Controls/icons.d.ts +8 -0
  10. package/cjs/components/Controls/icons.d.ts.map +1 -0
  11. package/cjs/components/Controls/icons.js +85 -0
  12. package/cjs/components/Controls/index.d.ts +13 -0
  13. package/cjs/components/Controls/index.d.ts.map +1 -0
  14. package/cjs/components/Controls/index.js +195 -0
  15. package/cjs/components/DebugInfo/index.d.ts +5 -0
  16. package/cjs/components/DebugInfo/index.d.ts.map +1 -0
  17. package/cjs/components/DebugInfo/index.js +33 -0
  18. package/cjs/components/DebugInfo/index.less +6 -0
  19. package/cjs/components/EdgeText/index.d.ts +6 -0
  20. package/cjs/components/EdgeText/index.d.ts.map +1 -0
  21. package/cjs/components/EdgeText/index.js +48 -0
  22. package/cjs/components/Handle/index.d.ts +3 -0
  23. package/cjs/components/Handle/index.d.ts.map +1 -0
  24. package/cjs/components/Handle/index.js +24 -0
  25. package/cjs/components/Handle/index.module.less +9 -0
  26. package/cjs/components/HiddenHandle/index.css +9 -0
  27. package/cjs/components/HiddenHandle/index.d.ts +4 -0
  28. package/cjs/components/HiddenHandle/index.d.ts.map +1 -0
  29. package/cjs/components/HiddenHandle/index.js +23 -0
  30. package/cjs/components/Legend/index.d.ts +6 -0
  31. package/cjs/components/Legend/index.d.ts.map +1 -0
  32. package/cjs/components/Legend/index.js +72 -0
  33. package/cjs/components/Legend/index.less +41 -0
  34. package/cjs/components/LoadingButton.d.ts +16 -0
  35. package/cjs/components/LoadingButton.d.ts.map +1 -0
  36. package/cjs/components/LoadingButton.js +86 -0
  37. package/cjs/components/MarkerDefinitions/Mark.d.ts +11 -0
  38. package/cjs/components/MarkerDefinitions/Mark.d.ts.map +1 -0
  39. package/cjs/components/MarkerDefinitions/Mark.js +48 -0
  40. package/cjs/components/MarkerDefinitions/Symbols/Arrow.d.ts +11 -0
  41. package/cjs/components/MarkerDefinitions/Symbols/Arrow.d.ts.map +1 -0
  42. package/cjs/components/MarkerDefinitions/Symbols/Arrow.js +31 -0
  43. package/cjs/components/MarkerDefinitions/Symbols/ArrowClosed.d.ts +11 -0
  44. package/cjs/components/MarkerDefinitions/Symbols/ArrowClosed.d.ts.map +1 -0
  45. package/cjs/components/MarkerDefinitions/Symbols/ArrowClosed.js +32 -0
  46. package/cjs/components/MarkerDefinitions/index.d.ts +6 -0
  47. package/cjs/components/MarkerDefinitions/index.d.ts.map +1 -0
  48. package/cjs/components/MarkerDefinitions/index.js +45 -0
  49. package/cjs/components/MarkerDefinitions/styles.less +5 -0
  50. package/cjs/components/MarkerDefinitions/symbols.d.ts +5 -0
  51. package/cjs/components/MarkerDefinitions/symbols.d.ts.map +1 -0
  52. package/cjs/components/MarkerDefinitions/symbols.js +22 -0
  53. package/cjs/components/MarkerDefinitions/types.d.ts +21 -0
  54. package/cjs/components/NodeRenderFactory.d.ts +11 -0
  55. package/cjs/components/NodeRenderFactory.d.ts.map +1 -0
  56. package/cjs/components/NodeRenderFactory.js +26 -0
  57. package/cjs/components/Nodes/DefaultNode.d.ts +3 -0
  58. package/cjs/components/Nodes/DefaultNode.d.ts.map +1 -0
  59. package/cjs/components/Nodes/DefaultNode.js +30 -0
  60. package/cjs/components/Nodes/GroupNode.d.ts +3 -0
  61. package/cjs/components/Nodes/GroupNode.d.ts.map +1 -0
  62. package/cjs/components/Nodes/GroupNode.js +13 -0
  63. package/cjs/components/Nodes/InputNode.d.ts +3 -0
  64. package/cjs/components/Nodes/InputNode.d.ts.map +1 -0
  65. package/cjs/components/Nodes/InputNode.js +25 -0
  66. package/cjs/components/Nodes/OutputNode.d.ts +3 -0
  67. package/cjs/components/Nodes/OutputNode.d.ts.map +1 -0
  68. package/cjs/components/Nodes/OutputNode.js +25 -0
  69. package/cjs/components/Popover/index.d.ts +11 -0
  70. package/cjs/components/Popover/index.d.ts.map +1 -0
  71. package/cjs/components/Popover/index.js +100 -0
  72. package/cjs/components/Tooltip/index.d.ts +12 -0
  73. package/cjs/components/Tooltip/index.d.ts.map +1 -0
  74. package/cjs/components/Tooltip/index.js +110 -0
  75. package/cjs/components/index.d.ts +16 -0
  76. package/cjs/components/index.d.ts.map +1 -0
  77. package/cjs/components/index.js +100 -0
  78. package/cjs/constants/InnerFlowType.d.ts +12 -0
  79. package/cjs/constants/InnerFlowType.d.ts.map +1 -0
  80. package/cjs/constants/InnerFlowType.js +18 -0
  81. package/cjs/constants/NodeRoleType.d.ts +16 -0
  82. package/cjs/constants/NodeRoleType.d.ts.map +1 -0
  83. package/cjs/constants/NodeRoleType.js +22 -0
  84. package/cjs/constants/SelectionStrategy.d.ts +14 -0
  85. package/cjs/constants/SelectionStrategy.d.ts.map +1 -0
  86. package/cjs/constants/SelectionStrategy.js +20 -0
  87. package/cjs/edges/SmartEdge/index.d.ts +15 -0
  88. package/cjs/edges/SmartEdge/index.d.ts.map +1 -0
  89. package/cjs/edges/SmartEdge/index.js +54 -0
  90. package/cjs/hoc/createFlow.d.ts +14 -0
  91. package/cjs/hoc/createFlow.d.ts.map +1 -0
  92. package/cjs/hoc/createFlow.js +67 -0
  93. package/cjs/hoc/withFlowProvider.d.ts +11 -0
  94. package/cjs/hoc/withFlowProvider.d.ts.map +1 -0
  95. package/cjs/hoc/withFlowProvider.js +29 -0
  96. package/cjs/hooks/edges/useGetEdgesChangeHandlers.d.ts +11 -0
  97. package/cjs/hooks/edges/useGetEdgesChangeHandlers.d.ts.map +1 -0
  98. package/cjs/hooks/edges/useGetEdgesChangeHandlers.js +24 -0
  99. package/cjs/hooks/edges/useOnEdgesChange.d.ts +11 -0
  100. package/cjs/hooks/edges/useOnEdgesChange.d.ts.map +1 -0
  101. package/cjs/hooks/edges/useOnEdgesChange.js +31 -0
  102. package/cjs/hooks/index.d.ts +22 -0
  103. package/cjs/hooks/index.d.ts.map +1 -0
  104. package/cjs/hooks/index.js +159 -0
  105. package/cjs/hooks/node/useCheckUnMount.d.ts +2 -0
  106. package/cjs/hooks/node/useCheckUnMount.d.ts.map +1 -0
  107. package/cjs/hooks/node/useCheckUnMount.js +27 -0
  108. package/cjs/hooks/node/useInitialized.d.ts +2 -0
  109. package/cjs/hooks/node/useInitialized.d.ts.map +1 -0
  110. package/cjs/hooks/node/useInitialized.js +20 -0
  111. package/cjs/hooks/node/useNodeDragging.d.ts +2 -0
  112. package/cjs/hooks/node/useNodeDragging.d.ts.map +1 -0
  113. package/cjs/hooks/node/useNodeDragging.js +20 -0
  114. package/cjs/hooks/node/useNodeInitialize.d.ts +2 -0
  115. package/cjs/hooks/node/useNodeInitialize.d.ts.map +1 -0
  116. package/cjs/hooks/node/useNodeInitialize.js +23 -0
  117. package/cjs/hooks/node/useNodeTypeMap.d.ts +11 -0
  118. package/cjs/hooks/node/useNodeTypeMap.d.ts.map +1 -0
  119. package/cjs/hooks/node/useNodeTypeMap.js +20 -0
  120. package/cjs/hooks/node/useNodes.d.ts +10 -0
  121. package/cjs/hooks/node/useNodes.d.ts.map +1 -0
  122. package/cjs/hooks/node/useNodes.js +12 -0
  123. package/cjs/hooks/node/useSetNodeDragging.d.ts +2 -0
  124. package/cjs/hooks/node/useSetNodeDragging.d.ts.map +1 -0
  125. package/cjs/hooks/node/useSetNodeDragging.js +26 -0
  126. package/cjs/hooks/props/useGetProps.d.ts +6 -0
  127. package/cjs/hooks/props/useGetProps.d.ts.map +1 -0
  128. package/cjs/hooks/props/useGetProps.js +29 -0
  129. package/cjs/hooks/props/useProps.d.ts +2 -0
  130. package/cjs/hooks/props/useProps.d.ts.map +1 -0
  131. package/cjs/hooks/props/useProps.js +20 -0
  132. package/cjs/hooks/props/usePropsSelector.d.ts +13 -0
  133. package/cjs/hooks/props/usePropsSelector.d.ts.map +1 -0
  134. package/cjs/hooks/props/usePropsSelector.js +37 -0
  135. package/cjs/hooks/render/useForceUpdate.d.ts +2 -0
  136. package/cjs/hooks/render/useForceUpdate.d.ts.map +1 -0
  137. package/cjs/hooks/render/useForceUpdate.js +28 -0
  138. package/cjs/hooks/render/useForceUpdateTimes.d.ts +2 -0
  139. package/cjs/hooks/render/useForceUpdateTimes.d.ts.map +1 -0
  140. package/cjs/hooks/render/useForceUpdateTimes.js +20 -0
  141. package/cjs/hooks/state/useGetState.d.ts +11 -0
  142. package/cjs/hooks/state/useGetState.d.ts.map +1 -0
  143. package/cjs/hooks/state/useGetState.js +27 -0
  144. package/cjs/hooks/state/useSelector.d.ts +13 -0
  145. package/cjs/hooks/state/useSelector.d.ts.map +1 -0
  146. package/cjs/hooks/state/useSelector.js +28 -0
  147. package/cjs/hooks/state/useSetState.d.ts +11 -0
  148. package/cjs/hooks/state/useSetState.d.ts.map +1 -0
  149. package/cjs/hooks/state/useSetState.js +27 -0
  150. package/cjs/hooks/useFlowId.d.ts +6 -0
  151. package/cjs/hooks/useFlowId.d.ts.map +1 -0
  152. package/cjs/hooks/useFlowId.js +24 -0
  153. package/cjs/hooks/useListenRender.d.ts +2 -0
  154. package/cjs/hooks/useListenRender.d.ts.map +1 -0
  155. package/cjs/hooks/useListenRender.js +48 -0
  156. package/cjs/hooks/useNodeTypes.d.ts +14 -0
  157. package/cjs/hooks/useNodeTypes.d.ts.map +1 -0
  158. package/cjs/hooks/useNodeTypes.js +54 -0
  159. package/cjs/hooks/useTheme.d.ts +9 -0
  160. package/cjs/hooks/useTheme.d.ts.map +1 -0
  161. package/cjs/hooks/useTheme.js +25 -0
  162. package/cjs/hooks/useThemeVars.d.ts +15 -0
  163. package/cjs/hooks/useThemeVars.d.ts.map +1 -0
  164. package/cjs/hooks/useThemeVars.js +37 -0
  165. package/cjs/index.d.ts +28 -0
  166. package/cjs/index.d.ts.map +1 -0
  167. package/cjs/index.js +180 -0
  168. package/cjs/index.less +7 -0
  169. package/cjs/index.module.less +10 -0
  170. package/cjs/plugins/export/index.d.ts +18 -0
  171. package/cjs/plugins/export/index.d.ts.map +1 -0
  172. package/cjs/plugins/export/index.js +52 -0
  173. package/cjs/plugins/scrollbar/hooks/useScrollerOptions.d.ts +11 -0
  174. package/cjs/plugins/scrollbar/hooks/useScrollerOptions.d.ts.map +1 -0
  175. package/cjs/plugins/scrollbar/hooks/useScrollerOptions.js +46 -0
  176. package/cjs/plugins/scrollbar/index.d.ts +5 -0
  177. package/cjs/plugins/scrollbar/index.d.ts.map +1 -0
  178. package/cjs/plugins/scrollbar/index.js +215 -0
  179. package/cjs/plugins/scrollbar/index.less +10 -0
  180. package/cjs/plugins/scrollbar/types.d.ts +24 -0
  181. package/cjs/plugins/scrollbar/types.d.ts.map +1 -0
  182. package/cjs/plugins/scrollbar/types.js +5 -0
  183. package/cjs/providers/FlowProvider.d.ts +27 -0
  184. package/cjs/providers/FlowProvider.d.ts.map +1 -0
  185. package/cjs/providers/FlowProvider.js +91 -0
  186. package/cjs/store/PropsStore.d.ts +16 -0
  187. package/cjs/store/PropsStore.d.ts.map +1 -0
  188. package/cjs/store/PropsStore.js +75 -0
  189. package/cjs/types.d.ts +223 -0
  190. package/cjs/types.d.ts.map +1 -0
  191. package/cjs/types.js +5 -0
  192. package/cjs/utils/dimension.d.ts +20 -0
  193. package/cjs/utils/dimension.d.ts.map +1 -0
  194. package/cjs/utils/dimension.js +96 -0
  195. package/cjs/utils/getPopupContainer.d.ts +10 -0
  196. package/cjs/utils/getPopupContainer.d.ts.map +1 -0
  197. package/cjs/utils/getPopupContainer.js +19 -0
  198. package/cjs/utils/getThemeWithDefaultValue.d.ts +10 -0
  199. package/cjs/utils/getThemeWithDefaultValue.d.ts.map +1 -0
  200. package/cjs/utils/getThemeWithDefaultValue.js +23 -0
  201. package/cjs/utils/hasDimensionsChange.d.ts +10 -0
  202. package/cjs/utils/hasDimensionsChange.d.ts.map +1 -0
  203. package/cjs/utils/hasDimensionsChange.js +23 -0
  204. package/cjs/utils/layouts/base.d.ts +16 -0
  205. package/cjs/utils/layouts/base.d.ts.map +1 -0
  206. package/cjs/utils/layouts/base.js +27 -0
  207. package/cjs/utils/layouts/mindmap.d.ts +7 -0
  208. package/cjs/utils/layouts/mindmap.d.ts.map +1 -0
  209. package/cjs/utils/layouts/mindmap.js +133 -0
  210. package/cjs/utils/measureText.d.ts +21 -0
  211. package/cjs/utils/measureText.d.ts.map +1 -0
  212. package/cjs/utils/measureText.js +76 -0
  213. package/cjs/utils/parse.d.ts +11 -0
  214. package/cjs/utils/parse.d.ts.map +1 -0
  215. package/cjs/utils/parse.js +29 -0
  216. package/cjs/utils/preCreateInnerNode.d.ts +11 -0
  217. package/cjs/utils/preCreateInnerNode.d.ts.map +1 -0
  218. package/cjs/utils/preCreateInnerNode.js +44 -0
  219. package/cjs/utils/uuid.d.ts +10 -0
  220. package/cjs/utils/uuid.d.ts.map +1 -0
  221. package/cjs/utils/uuid.js +16 -0
  222. package/esm/Flow.d.ts +14 -0
  223. package/esm/Flow.d.ts.map +1 -0
  224. package/esm/Flow.js +251 -0
  225. package/esm/components/CollapseButton/index.d.ts +11 -0
  226. package/esm/components/CollapseButton/index.d.ts.map +1 -0
  227. package/esm/components/CollapseButton/index.js +59 -0
  228. package/esm/components/CollapseButton/index.less +68 -0
  229. package/esm/components/Controls/icons.d.ts +8 -0
  230. package/esm/components/Controls/icons.d.ts.map +1 -0
  231. package/esm/components/Controls/icons.js +75 -0
  232. package/esm/components/Controls/index.d.ts +13 -0
  233. package/esm/components/Controls/index.d.ts.map +1 -0
  234. package/esm/components/Controls/index.js +201 -0
  235. package/esm/components/DebugInfo/index.d.ts +5 -0
  236. package/esm/components/DebugInfo/index.d.ts.map +1 -0
  237. package/esm/components/DebugInfo/index.js +23 -0
  238. package/esm/components/DebugInfo/index.less +6 -0
  239. package/esm/components/EdgeText/index.d.ts +6 -0
  240. package/esm/components/EdgeText/index.d.ts.map +1 -0
  241. package/esm/components/EdgeText/index.js +52 -0
  242. package/esm/components/Handle/index.d.ts +3 -0
  243. package/esm/components/Handle/index.d.ts.map +1 -0
  244. package/esm/components/Handle/index.js +21 -0
  245. package/esm/components/Handle/index.module.less +9 -0
  246. package/esm/components/HiddenHandle/index.css +9 -0
  247. package/esm/components/HiddenHandle/index.d.ts +4 -0
  248. package/esm/components/HiddenHandle/index.d.ts.map +1 -0
  249. package/esm/components/HiddenHandle/index.js +21 -0
  250. package/esm/components/Legend/index.d.ts +6 -0
  251. package/esm/components/Legend/index.d.ts.map +1 -0
  252. package/esm/components/Legend/index.js +68 -0
  253. package/esm/components/Legend/index.less +41 -0
  254. package/esm/components/LoadingButton.d.ts +16 -0
  255. package/esm/components/LoadingButton.d.ts.map +1 -0
  256. package/esm/components/LoadingButton.js +112 -0
  257. package/esm/components/MarkerDefinitions/Mark.d.ts +11 -0
  258. package/esm/components/MarkerDefinitions/Mark.d.ts.map +1 -0
  259. package/esm/components/MarkerDefinitions/Mark.js +44 -0
  260. package/esm/components/MarkerDefinitions/Symbols/Arrow.d.ts +11 -0
  261. package/esm/components/MarkerDefinitions/Symbols/Arrow.d.ts.map +1 -0
  262. package/esm/components/MarkerDefinitions/Symbols/Arrow.js +25 -0
  263. package/esm/components/MarkerDefinitions/Symbols/ArrowClosed.d.ts +11 -0
  264. package/esm/components/MarkerDefinitions/Symbols/ArrowClosed.d.ts.map +1 -0
  265. package/esm/components/MarkerDefinitions/Symbols/ArrowClosed.js +26 -0
  266. package/esm/components/MarkerDefinitions/index.d.ts +6 -0
  267. package/esm/components/MarkerDefinitions/index.d.ts.map +1 -0
  268. package/esm/components/MarkerDefinitions/index.js +37 -0
  269. package/esm/components/MarkerDefinitions/styles.less +5 -0
  270. package/esm/components/MarkerDefinitions/symbols.d.ts +5 -0
  271. package/esm/components/MarkerDefinitions/symbols.d.ts.map +1 -0
  272. package/esm/components/MarkerDefinitions/symbols.js +16 -0
  273. package/esm/components/MarkerDefinitions/types.d.ts +21 -0
  274. package/esm/components/NodeRenderFactory.d.ts +11 -0
  275. package/esm/components/NodeRenderFactory.d.ts.map +1 -0
  276. package/esm/components/NodeRenderFactory.js +23 -0
  277. package/esm/components/Nodes/DefaultNode.d.ts +3 -0
  278. package/esm/components/Nodes/DefaultNode.d.ts.map +1 -0
  279. package/esm/components/Nodes/DefaultNode.js +27 -0
  280. package/esm/components/Nodes/GroupNode.d.ts +3 -0
  281. package/esm/components/Nodes/GroupNode.d.ts.map +1 -0
  282. package/esm/components/Nodes/GroupNode.js +6 -0
  283. package/esm/components/Nodes/InputNode.d.ts +3 -0
  284. package/esm/components/Nodes/InputNode.d.ts.map +1 -0
  285. package/esm/components/Nodes/InputNode.js +21 -0
  286. package/esm/components/Nodes/OutputNode.d.ts +3 -0
  287. package/esm/components/Nodes/OutputNode.d.ts.map +1 -0
  288. package/esm/components/Nodes/OutputNode.js +21 -0
  289. package/esm/components/Popover/index.d.ts +11 -0
  290. package/esm/components/Popover/index.d.ts.map +1 -0
  291. package/esm/components/Popover/index.js +109 -0
  292. package/esm/components/Tooltip/index.d.ts +12 -0
  293. package/esm/components/Tooltip/index.d.ts.map +1 -0
  294. package/esm/components/Tooltip/index.js +121 -0
  295. package/esm/components/index.d.ts +16 -0
  296. package/esm/components/index.d.ts.map +1 -0
  297. package/esm/components/index.js +15 -0
  298. package/esm/constants/InnerFlowType.d.ts +12 -0
  299. package/esm/constants/InnerFlowType.d.ts.map +1 -0
  300. package/esm/constants/InnerFlowType.js +13 -0
  301. package/esm/constants/NodeRoleType.d.ts +16 -0
  302. package/esm/constants/NodeRoleType.d.ts.map +1 -0
  303. package/esm/constants/NodeRoleType.js +16 -0
  304. package/esm/constants/SelectionStrategy.d.ts +14 -0
  305. package/esm/constants/SelectionStrategy.d.ts.map +1 -0
  306. package/esm/constants/SelectionStrategy.js +15 -0
  307. package/esm/edges/SmartEdge/index.d.ts +15 -0
  308. package/esm/edges/SmartEdge/index.d.ts.map +1 -0
  309. package/esm/edges/SmartEdge/index.js +45 -0
  310. package/esm/hoc/createFlow.d.ts +14 -0
  311. package/esm/hoc/createFlow.d.ts.map +1 -0
  312. package/esm/hoc/createFlow.js +66 -0
  313. package/esm/hoc/withFlowProvider.d.ts +11 -0
  314. package/esm/hoc/withFlowProvider.d.ts.map +1 -0
  315. package/esm/hoc/withFlowProvider.js +24 -0
  316. package/esm/hooks/edges/useGetEdgesChangeHandlers.d.ts +11 -0
  317. package/esm/hooks/edges/useGetEdgesChangeHandlers.d.ts.map +1 -0
  318. package/esm/hooks/edges/useGetEdgesChangeHandlers.js +17 -0
  319. package/esm/hooks/edges/useOnEdgesChange.d.ts +11 -0
  320. package/esm/hooks/edges/useOnEdgesChange.d.ts.map +1 -0
  321. package/esm/hooks/edges/useOnEdgesChange.js +24 -0
  322. package/esm/hooks/index.d.ts +22 -0
  323. package/esm/hooks/index.d.ts.map +1 -0
  324. package/esm/hooks/index.js +22 -0
  325. package/esm/hooks/node/useCheckUnMount.d.ts +2 -0
  326. package/esm/hooks/node/useCheckUnMount.d.ts.map +1 -0
  327. package/esm/hooks/node/useCheckUnMount.js +18 -0
  328. package/esm/hooks/node/useInitialized.d.ts +2 -0
  329. package/esm/hooks/node/useInitialized.d.ts.map +1 -0
  330. package/esm/hooks/node/useInitialized.js +12 -0
  331. package/esm/hooks/node/useNodeDragging.d.ts +2 -0
  332. package/esm/hooks/node/useNodeDragging.d.ts.map +1 -0
  333. package/esm/hooks/node/useNodeDragging.js +14 -0
  334. package/esm/hooks/node/useNodeInitialize.d.ts +2 -0
  335. package/esm/hooks/node/useNodeInitialize.d.ts.map +1 -0
  336. package/esm/hooks/node/useNodeInitialize.js +15 -0
  337. package/esm/hooks/node/useNodeTypeMap.d.ts +11 -0
  338. package/esm/hooks/node/useNodeTypeMap.d.ts.map +1 -0
  339. package/esm/hooks/node/useNodeTypeMap.js +14 -0
  340. package/esm/hooks/node/useNodes.d.ts +10 -0
  341. package/esm/hooks/node/useNodes.d.ts.map +1 -0
  342. package/esm/hooks/node/useNodes.js +9 -0
  343. package/esm/hooks/node/useSetNodeDragging.d.ts +2 -0
  344. package/esm/hooks/node/useSetNodeDragging.d.ts.map +1 -0
  345. package/esm/hooks/node/useSetNodeDragging.js +18 -0
  346. package/esm/hooks/props/useGetProps.d.ts +6 -0
  347. package/esm/hooks/props/useGetProps.d.ts.map +1 -0
  348. package/esm/hooks/props/useGetProps.js +21 -0
  349. package/esm/hooks/props/useProps.d.ts +2 -0
  350. package/esm/hooks/props/useProps.d.ts.map +1 -0
  351. package/esm/hooks/props/useProps.js +14 -0
  352. package/esm/hooks/props/usePropsSelector.d.ts +13 -0
  353. package/esm/hooks/props/usePropsSelector.d.ts.map +1 -0
  354. package/esm/hooks/props/usePropsSelector.js +31 -0
  355. package/esm/hooks/render/useForceUpdate.d.ts +2 -0
  356. package/esm/hooks/render/useForceUpdate.d.ts.map +1 -0
  357. package/esm/hooks/render/useForceUpdate.js +20 -0
  358. package/esm/hooks/render/useForceUpdateTimes.d.ts +2 -0
  359. package/esm/hooks/render/useForceUpdateTimes.d.ts.map +1 -0
  360. package/esm/hooks/render/useForceUpdateTimes.js +14 -0
  361. package/esm/hooks/state/useGetState.d.ts +11 -0
  362. package/esm/hooks/state/useGetState.d.ts.map +1 -0
  363. package/esm/hooks/state/useGetState.js +20 -0
  364. package/esm/hooks/state/useSelector.d.ts +13 -0
  365. package/esm/hooks/state/useSelector.d.ts.map +1 -0
  366. package/esm/hooks/state/useSelector.js +21 -0
  367. package/esm/hooks/state/useSetState.d.ts +11 -0
  368. package/esm/hooks/state/useSetState.d.ts.map +1 -0
  369. package/esm/hooks/state/useSetState.js +20 -0
  370. package/esm/hooks/useFlowId.d.ts +6 -0
  371. package/esm/hooks/useFlowId.d.ts.map +1 -0
  372. package/esm/hooks/useFlowId.js +19 -0
  373. package/esm/hooks/useListenRender.d.ts +2 -0
  374. package/esm/hooks/useListenRender.d.ts.map +1 -0
  375. package/esm/hooks/useListenRender.js +39 -0
  376. package/esm/hooks/useNodeTypes.d.ts +14 -0
  377. package/esm/hooks/useNodeTypes.d.ts.map +1 -0
  378. package/esm/hooks/useNodeTypes.js +46 -0
  379. package/esm/hooks/useTheme.d.ts +9 -0
  380. package/esm/hooks/useTheme.d.ts.map +1 -0
  381. package/esm/hooks/useTheme.js +19 -0
  382. package/esm/hooks/useThemeVars.d.ts +15 -0
  383. package/esm/hooks/useThemeVars.d.ts.map +1 -0
  384. package/esm/hooks/useThemeVars.js +26 -0
  385. package/esm/index.d.ts +28 -0
  386. package/esm/index.d.ts.map +1 -0
  387. package/esm/index.js +27 -0
  388. package/esm/index.less +7 -0
  389. package/esm/index.module.less +10 -0
  390. package/esm/plugins/export/index.d.ts +18 -0
  391. package/esm/plugins/export/index.d.ts.map +1 -0
  392. package/esm/plugins/export/index.js +71 -0
  393. package/esm/plugins/scrollbar/hooks/useScrollerOptions.d.ts +11 -0
  394. package/esm/plugins/scrollbar/hooks/useScrollerOptions.d.ts.map +1 -0
  395. package/esm/plugins/scrollbar/hooks/useScrollerOptions.js +38 -0
  396. package/esm/plugins/scrollbar/index.d.ts +5 -0
  397. package/esm/plugins/scrollbar/index.d.ts.map +1 -0
  398. package/esm/plugins/scrollbar/index.js +198 -0
  399. package/esm/plugins/scrollbar/index.less +10 -0
  400. package/esm/plugins/scrollbar/types.d.ts +24 -0
  401. package/esm/plugins/scrollbar/types.d.ts.map +1 -0
  402. package/esm/plugins/scrollbar/types.js +1 -0
  403. package/esm/providers/FlowProvider.d.ts +27 -0
  404. package/esm/providers/FlowProvider.d.ts.map +1 -0
  405. package/esm/providers/FlowProvider.js +90 -0
  406. package/esm/store/PropsStore.d.ts +16 -0
  407. package/esm/store/PropsStore.d.ts.map +1 -0
  408. package/esm/store/PropsStore.js +67 -0
  409. package/esm/types.d.ts +223 -0
  410. package/esm/types.d.ts.map +1 -0
  411. package/esm/types.js +1 -0
  412. package/esm/utils/dimension.d.ts +20 -0
  413. package/esm/utils/dimension.d.ts.map +1 -0
  414. package/esm/utils/dimension.js +89 -0
  415. package/esm/utils/getPopupContainer.d.ts +10 -0
  416. package/esm/utils/getPopupContainer.d.ts.map +1 -0
  417. package/esm/utils/getPopupContainer.js +12 -0
  418. package/esm/utils/getThemeWithDefaultValue.d.ts +10 -0
  419. package/esm/utils/getThemeWithDefaultValue.d.ts.map +1 -0
  420. package/esm/utils/getThemeWithDefaultValue.js +22 -0
  421. package/esm/utils/hasDimensionsChange.d.ts +10 -0
  422. package/esm/utils/hasDimensionsChange.d.ts.map +1 -0
  423. package/esm/utils/hasDimensionsChange.js +28 -0
  424. package/esm/utils/layouts/base.d.ts +16 -0
  425. package/esm/utils/layouts/base.d.ts.map +1 -0
  426. package/esm/utils/layouts/base.js +19 -0
  427. package/esm/utils/layouts/mindmap.d.ts +7 -0
  428. package/esm/utils/layouts/mindmap.d.ts.map +1 -0
  429. package/esm/utils/layouts/mindmap.js +131 -0
  430. package/esm/utils/measureText.d.ts +21 -0
  431. package/esm/utils/measureText.d.ts.map +1 -0
  432. package/esm/utils/measureText.js +69 -0
  433. package/esm/utils/parse.d.ts +11 -0
  434. package/esm/utils/parse.d.ts.map +1 -0
  435. package/esm/utils/parse.js +26 -0
  436. package/esm/utils/preCreateInnerNode.d.ts +11 -0
  437. package/esm/utils/preCreateInnerNode.d.ts.map +1 -0
  438. package/esm/utils/preCreateInnerNode.js +42 -0
  439. package/esm/utils/uuid.d.ts +10 -0
  440. package/esm/utils/uuid.d.ts.map +1 -0
  441. package/esm/utils/uuid.js +10 -0
  442. package/package.json +82 -0
package/README.md ADDED
@@ -0,0 +1,44 @@
1
+ # @rxflow/base
2
+
3
+ 核心 Flow 组件库,提供基础的 Flow 组件、hooks 和工具函数。
4
+
5
+ ## 安装
6
+
7
+ ```bash
8
+ npm install @rxflow/base
9
+ # or
10
+ pnpm add @rxflow/base
11
+ ```
12
+
13
+ ## 使用
14
+
15
+ ```tsx
16
+ import BaseFlow from '@rxflow/base';
17
+ import { useNodes, useEdges } from '@rxflow/base';
18
+
19
+ function App() {
20
+ return (
21
+ <BaseFlow
22
+ nodes={nodes}
23
+ edges={edges}
24
+ // ... other props
25
+ />
26
+ );
27
+ }
28
+ ```
29
+
30
+ ## 主要功能
31
+
32
+ - 基础 Flow 组件
33
+ - 节点和边的管理 hooks
34
+ - 布局算法集成
35
+ - 主题配置
36
+ - 插件系统
37
+
38
+ ## API 文档
39
+
40
+ 访问 [完整文档](https://tree-graph.publib.cn/) 查看详细 API。
41
+
42
+ ## License
43
+
44
+ MIT
package/cjs/Flow.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @author: yanxianliang
3
+ * @date: 2025-07-27 16:33
4
+ * @modified:2025/7/27 16:33 by yanxianliang
5
+ * @desc: Flow
6
+ *
7
+ * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
8
+ */
9
+ import '@xyflow/react/dist/style.css';
10
+ import { IBaseFlowProps } from "./types";
11
+ import { Edge, Node } from "@xyflow/react";
12
+ import "./index.less";
13
+ export declare function Flow<NodeType extends Node = Node, EdgeType extends Edge = Edge>(props: IBaseFlowProps<NodeType, EdgeType>): import("react/jsx-runtime").JSX.Element;
14
+ //# sourceMappingURL=Flow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Flow.d.ts","sourceRoot":"","sources":["Flow.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,8BAA8B,CAAC;AACtC,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAQvC,OAAO,EAGL,IAAI,EAGJ,IAAI,EAOL,MAAM,eAAe,CAAC;AAavB,OAAO,cAAc,CAAC;AAMtB,wBAAgB,IAAI,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,2CAoPzH"}
package/cjs/Flow.js ADDED
@@ -0,0 +1,236 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Flow = Flow;
7
+ require("@xyflow/react/dist/style.css");
8
+ var _components = require("./components");
9
+ var _hooks = require("./hooks");
10
+ var _react = require("@xyflow/react");
11
+ var _ahooks = require("ahooks");
12
+ var _lodash = require("lodash");
13
+ var _react2 = _interopRequireWildcard(require("react"));
14
+ var _Controls = _interopRequireDefault(require("./components/Controls"));
15
+ var _DebugInfo = require("./components/DebugInfo");
16
+ var _SmartEdge = require("./edges/SmartEdge");
17
+ var _useGetEdgesChangeHandlers = require("./hooks/edges/useGetEdgesChangeHandlers");
18
+ var _useSetNodeDragging = require("./hooks/node/useSetNodeDragging");
19
+ var _useForceUpdateTimes = require("./hooks/render/useForceUpdateTimes");
20
+ var _useListenRender = require("./hooks/useListenRender");
21
+ var _scrollbar = require("./plugins/scrollbar");
22
+ var _hasDimensionsChange = require("./utils/hasDimensionsChange");
23
+ require("./index.less");
24
+ var _base = require("./utils/layouts/base");
25
+ var _jsxRuntime = require("react/jsx-runtime");
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
28
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
29
+ /**
30
+ * @author: yanxianliang
31
+ * @date: 2025-07-27 16:33
32
+ * @modified:2025/7/27 16:33 by yanxianliang
33
+ * @desc: Flow
34
+ *
35
+ * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
36
+ */
37
+
38
+ const proOptions = {
39
+ hideAttribution: true
40
+ }; // 默认隐藏水印
41
+
42
+ function Flow(props) {
43
+ const {
44
+ width,
45
+ height,
46
+ showControls = true,
47
+ // 默认开启
48
+ controlsPosition = 'top-right',
49
+ showMiniMap,
50
+ showLegend,
51
+ background = '#F2F7FAFF',
52
+ // 默认背景色
53
+ showFullscreen,
54
+ showForceLayout,
55
+ showInteractive,
56
+ showFitView,
57
+ showZoom,
58
+ onlyRenderVisibleElements = true,
59
+ // 默认开启虚拟渲染
60
+ rootStyle: _rootStyle,
61
+ fitViewOptions,
62
+ nodes,
63
+ edges,
64
+ layout = _base.baseLayout,
65
+ autoCenter = false,
66
+ omitProps = [],
67
+ // 不向下透传的属性
68
+ forceLayout = !!props.layout,
69
+ // 是否强制布局,如果强制布局会监控节点的dimension改变事件,自动触发布局计算
70
+ getMiniMapNodeColor,
71
+ markers,
72
+ plugins,
73
+ readOnly,
74
+ onZoomOut,
75
+ onZoomIn,
76
+ onFitView,
77
+ onInteractiveChange,
78
+ customControls,
79
+ nodeTypes: _nodeTypes,
80
+ onEdgesChange,
81
+ children,
82
+ forceFitView
83
+ } = props;
84
+ (0, _useListenRender.useListenRender)(); // 性能监听 hook
85
+
86
+ const [minimapVisible, setMinimapVisible] = (0, _react2.useState)(!!(showMiniMap && !showControls)); // 不显示控制器是默认按照字段控制 miniMap显示状态
87
+
88
+ const storeApi = (0, _react.useStoreApi)();
89
+ const containerRef = (0, _react2.useRef)(null);
90
+ const theme = (0, _hooks.useTheme)();
91
+ const themeVars = (0, _hooks.useThemeVars)();
92
+ const nodeTypes = (0, _hooks.useNodeTypes)(_nodeTypes); // 获取注册的节点类型
93
+ const forceUpdateTimes = (0, _useForceUpdateTimes.useForceUpdateTimes)();
94
+ const triggerLayout = (0, _hooks.useForceUpdate)();
95
+ const setNodeDragging = (0, _useSetNodeDragging.useSetNodeDragging)();
96
+ const instance = (0, _react.useReactFlow)();
97
+ const getState = (0, _hooks.useGetState)();
98
+ const rootStyle = (0, _react2.useMemo)(() => {
99
+ return {
100
+ width: typeof width === 'number' ? `${width}px` : width,
101
+ height: typeof height === 'number' ? `${height}px` : height,
102
+ ..._rootStyle,
103
+ ...themeVars
104
+ };
105
+ }, [width, height, _rootStyle, themeVars]);
106
+ const {
107
+ nodes: _nodes,
108
+ edges: _edges
109
+ } = (0, _react2.useMemo)(() => {
110
+ const store = storeApi.getState();
111
+ return layout({
112
+ nodeTypes,
113
+ originNodes: nodes || [],
114
+ originEdges: edges || [],
115
+ theme,
116
+ onlyRenderVisibleElements,
117
+ // 不支持修改该参数
118
+ store,
119
+ state: getState(),
120
+ flowProps: props
121
+ });
122
+ }, [nodes, edges, forceUpdateTimes]);
123
+ const flowProps = (0, _react2.useMemo)(() => {
124
+ const options = {
125
+ selectNodesOnDrag: false,
126
+ preventScrolling: true,
127
+ panOnScroll: false,
128
+ zoomOnScroll: true,
129
+ nodesDraggable: false,
130
+ proOptions: proOptions,
131
+ fitViewOptions: {
132
+ nodes: _nodes?.length && autoCenter ? [_nodes[0]] : undefined,
133
+ ...props.fitViewOptions
134
+ },
135
+ fitView: true,
136
+ onlyRenderVisibleElements,
137
+ ...(0, _lodash.omit)(props, ['flowInstanceRef', 'width', 'height', 'nodes', 'edges', 'fitViewOptions', 'theme', 'background', 'nodeTypes', 'showControls', 'showMiniMap', 'autoCenter', 'rootStyle', 'layout', 'onNodesChange', 'omitProps', 'forceLayout', 'controlsPosition', 'getMiniMapNodeColor', 'markers', 'onBeforeLayout', 'onLayout', 'onAfterLayout', 'plugins', 'readOnly', 'showFitView', 'showFullscreen', 'showInteractive', 'showZoom', 'showForceLayout', 'onInteractiveChange', 'onZoomOut', 'onZoomIn', 'onFitView', 'customControls', ...omitProps]),
138
+ edgeTypes: {
139
+ smart: _SmartEdge.SmartEdge,
140
+ ...(props.edgeTypes || {})
141
+ }
142
+ };
143
+ if (plugins?.scroller) {
144
+ // 只读模式也需要
145
+ options.zoomOnScroll = false;
146
+ options.panOnScroll = true;
147
+ options.panOnDrag = options.panOnDrag ?? [1, 2];
148
+ options.selectionOnDrag = options.selectionOnDrag ?? true;
149
+ options.selectionMode = options.selectionMode ?? _react.SelectionMode.Partial;
150
+ }
151
+ if (readOnly) {
152
+ options.nodesDraggable = false;
153
+ options.nodesConnectable = false;
154
+ options.elementsSelectable = false;
155
+ }
156
+ return options;
157
+ }, [props, _nodes, readOnly, onlyRenderVisibleElements]);
158
+ const onNodesChange = (0, _ahooks.useMemoizedFn)(changes => {
159
+ if (forceLayout && (0, _hasDimensionsChange.hasDimensionsChange)(changes)) {
160
+ // 强制布局
161
+ triggerLayout();
162
+ }
163
+ props.onNodesChange?.(changes);
164
+ });
165
+ const onNodeDragStart = (0, _ahooks.useMemoizedFn)((event, node, nodes) => {
166
+ setNodeDragging(true);
167
+ flowProps.onNodeDragStart?.(event, node, nodes);
168
+ });
169
+ const onNodeDragStop = (0, _ahooks.useMemoizedFn)((event, node, nodes) => {
170
+ setNodeDragging(false);
171
+ flowProps.onNodeDragStop?.(event, node, nodes);
172
+ });
173
+ const getEdgesChangeHandlers = (0, _useGetEdgesChangeHandlers.useGetEdgesChangeHandlers)();
174
+ const _onEdgesChange = (0, _ahooks.useMemoizedFn)(changes => {
175
+ onEdgesChange?.(changes);
176
+ // 触发注册事件
177
+ getEdgesChangeHandlers()?.forEach(onEdgesChange => {
178
+ onEdgesChange?.(changes);
179
+ });
180
+ });
181
+ (0, _react2.useEffect)(() => {
182
+ if (forceFitView) {
183
+ instance.fitView(fitViewOptions);
184
+ }
185
+ }, [nodes]);
186
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
187
+ ref: containerRef,
188
+ style: rootStyle,
189
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DebugInfo.DebugInfo, {
190
+ debug: props.debug
191
+ }), markers ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MarkerDefinitions, {
192
+ marks: markers
193
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.ReactFlow, {
194
+ nodeTypes: nodeTypes,
195
+ ...flowProps,
196
+ nodes: _nodes,
197
+ edges: _edges,
198
+ onNodesChange: onNodesChange,
199
+ onNodeDragStart: onNodeDragStart,
200
+ onNodeDragStop: onNodeDragStop,
201
+ onEdgesChange: _onEdgesChange,
202
+ children: [plugins?.scroller ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_scrollbar.Scrollbar, {
203
+ ...plugins.scroller,
204
+ width: width,
205
+ height: height
206
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Background, {
207
+ bgColor: background,
208
+ className: 'rxflow-bg-hide-pattern',
209
+ variant: _react.BackgroundVariant.Lines
210
+ }), minimapVisible && /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.MiniMap, {
211
+ zoomable: true,
212
+ pannable: true,
213
+ nodeColor: getMiniMapNodeColor
214
+ }), showControls && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Controls.default, {
215
+ showFullscreen: showFullscreen,
216
+ containerRef: containerRef,
217
+ fitViewOptions: fitViewOptions,
218
+ position: controlsPosition,
219
+ showInteractive: showInteractive,
220
+ showMiniMap: showMiniMap,
221
+ showFitView: showFitView,
222
+ showZoom: showZoom,
223
+ setMinimapVisible: setMinimapVisible,
224
+ minimapVisible: minimapVisible,
225
+ showForceLayout: showForceLayout,
226
+ onFitView: onFitView,
227
+ onZoomOut: onZoomOut,
228
+ onZoomIn: onZoomIn,
229
+ onInteractiveChange: onInteractiveChange,
230
+ children: customControls
231
+ }), showLegend && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Legend, {
232
+ showLegend: showLegend
233
+ }), children]
234
+ })]
235
+ });
236
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @author: yanxianliang
3
+ * @date: 2025-06-21 13:53
4
+ * @desc: 折叠按钮
5
+ *
6
+ * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
7
+ */
8
+ import { CollapseButtonProps } from "../../types";
9
+ import './index.less';
10
+ export declare function CollapseButton(props: CollapseButtonProps): import("react/jsx-runtime").JSX.Element;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,EAAC,mBAAmB,EAAC,MAAM,aAAa,CAAC;AAChD,OAAO,cAAc,CAAC;AAItB,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CA4CxD"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CollapseButton = CollapseButton;
7
+ var _LoadingOutlined = _interopRequireDefault(require("@ant-design/icons/lib/icons/LoadingOutlined"));
8
+ var _MinusOutlined = _interopRequireDefault(require("@ant-design/icons/MinusOutlined"));
9
+ var _PlusOutlined = _interopRequireDefault(require("@ant-design/icons/PlusOutlined"));
10
+ var _ahooks = require("ahooks");
11
+ var _classcat = _interopRequireDefault(require("classcat"));
12
+ var _hooks = require("../../hooks");
13
+ require("./index.less");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ /**
17
+ * @author: yanxianliang
18
+ * @date: 2025-06-21 13:53
19
+ * @desc: 折叠按钮
20
+ *
21
+ * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
22
+ */
23
+
24
+ const stopClickEvent = event => event.stopPropagation();
25
+ function CollapseButton(props) {
26
+ const {
27
+ collapsed = true,
28
+ position = 'right',
29
+ count,
30
+ onCollapse,
31
+ loading,
32
+ direction = 'horizontal',
33
+ autoHideCountWhenExpanded: _autoHideCountWhenExpanded = false
34
+ } = props;
35
+ const theme = (0, _hooks.useTheme)();
36
+ const {
37
+ collapseButtonShape = 'rect',
38
+ autoHideCountWhenExpanded = false,
39
+ showCount = true
40
+ } = theme;
41
+ const onClick = (0, _ahooks.useMemoizedFn)(() => {
42
+ onCollapse?.(!collapsed);
43
+ });
44
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
45
+ className: (0, _classcat.default)(['rxflow-collapse', `rxflow-collapse-${position}`]),
46
+ onClick: stopClickEvent,
47
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
48
+ className: (0, _classcat.default)([`rxflow-collapse-icon`, `rxflow-collapse-shape-${collapseButtonShape}`, {
49
+ ['rxflow-collapse-loading']: loading
50
+ }]),
51
+ onClick: loading ? undefined : onClick,
52
+ children: loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_LoadingOutlined.default, {}) : collapsed ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_PlusOutlined.default, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_MinusOutlined.default, {})
53
+ }), (autoHideCountWhenExpanded || _autoHideCountWhenExpanded) && !collapsed || !showCount ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
54
+ className: (0, _classcat.default)([`rxflow-collapse-count`, direction === 'vertical' ? 'rxflow-collapse-vertical' : null]),
55
+ children: count
56
+ })]
57
+ });
58
+ }
@@ -0,0 +1,68 @@
1
+ .rxflow{
2
+ &-collapse {
3
+ position: absolute;
4
+ display: flex;
5
+ top: 50%;
6
+ align-items: center;
7
+ transform: translate3d(0, -50%, 0);
8
+
9
+ &-right {
10
+ left: 100%;
11
+ flex-direction: row;
12
+ margin-left: 2px;
13
+ }
14
+
15
+ &-right &-vertical {
16
+ left: 3px;
17
+ }
18
+
19
+ &-left {
20
+ right: 100%;
21
+ flex-direction: row-reverse;
22
+ margin-right: 2px;
23
+ }
24
+
25
+ &-left &-vertical {
26
+ right: 3px;
27
+ }
28
+
29
+ &-icon {
30
+ display: flex;
31
+ width: 16px;
32
+ height: 16px;
33
+ border: 1px solid rgba(5, 5, 5, 0.06);
34
+ background-color: #fff;
35
+ font-size: 12px;
36
+ align-items: center;
37
+ justify-content: center;
38
+ color: #1677ff;
39
+ cursor: pointer;
40
+ }
41
+
42
+
43
+ &-shape-rect {
44
+ border-radius: 2px;
45
+ }
46
+
47
+ &-shape-circle {
48
+ border-radius: 8px;
49
+ }
50
+
51
+ &-loading {
52
+ cursor: not-allowed;
53
+ }
54
+
55
+
56
+ &-count {
57
+ font-size: 10px;
58
+ color: #333;
59
+ cursor: grab;
60
+ margin-left: 2px;
61
+ }
62
+
63
+ &-vertical {
64
+ position: absolute;
65
+ top: -18px;
66
+ }
67
+ }
68
+ }
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ export declare function FitViewIcon(): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
3
+ export declare function LockIcon(): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
4
+ export declare function UnlockIcon(): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
5
+ export declare function Minimap(): import("react/jsx-runtime").JSX.Element;
6
+ export declare function UnMinimap(): import("react/jsx-runtime").JSX.Element;
7
+ export declare function ForceLayout(): import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["icons.tsx"],"names":[],"mappings":";AAWA,wBAAgB,WAAW,+FAM1B;AAED,wBAAgB,QAAQ,+FAMvB;AAED,wBAAgB,UAAU,+FAMzB;AAED,wBAAgB,OAAO,4CActB;AAED,wBAAgB,SAAS,4CAcxB;AAGD,wBAAgB,WAAW,4CAa1B"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FitViewIcon = FitViewIcon;
7
+ exports.ForceLayout = ForceLayout;
8
+ exports.LockIcon = LockIcon;
9
+ exports.Minimap = Minimap;
10
+ exports.UnMinimap = UnMinimap;
11
+ exports.UnlockIcon = UnlockIcon;
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ /*
14
+ * @author: yanxianliang
15
+ * @date: 2025-06-09 09:56
16
+ * @desc: icons
17
+ *
18
+ * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
19
+ */
20
+
21
+ function FitViewIcon() {
22
+ return (0, _jsxRuntime.jsx)("svg", {
23
+ xmlns: "http://www.w3.org/2000/svg",
24
+ viewBox: "0 0 32 30",
25
+ children: (0, _jsxRuntime.jsx)("path", {
26
+ d: "M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"
27
+ })
28
+ });
29
+ }
30
+ function LockIcon() {
31
+ return (0, _jsxRuntime.jsx)("svg", {
32
+ xmlns: "http://www.w3.org/2000/svg",
33
+ viewBox: "0 0 25 32",
34
+ children: (0, _jsxRuntime.jsx)("path", {
35
+ d: "M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"
36
+ })
37
+ });
38
+ }
39
+ function UnlockIcon() {
40
+ return (0, _jsxRuntime.jsx)("svg", {
41
+ xmlns: "http://www.w3.org/2000/svg",
42
+ viewBox: "0 0 25 32",
43
+ children: (0, _jsxRuntime.jsx)("path", {
44
+ d: "M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"
45
+ })
46
+ });
47
+ }
48
+ function Minimap() {
49
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", {
50
+ viewBox: "0 0 1024 1024",
51
+ version: "1.1",
52
+ xmlns: "http://www.w3.org/2000/svg",
53
+ width: "32",
54
+ height: "32",
55
+ fill: 'currentColor',
56
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
57
+ d: "M960 495.424V128a32 32 0 0 0-32-32H96a32 32 0 0 0-32 32v768a32 32 0 0 0 32 32h433.68a30.32 30.32 0 1 0 0-60.64H127.824V157.968h768.688v337.44a31.744 31.744 0 1 0 63.488 0zM630.512 928c-5.968 0-11.696-2.448-15.92-6.8A23.568 23.568 0 0 1 608 904.8V583.216c0-6.16 2.368-12.064 6.592-16.416s9.952-6.8 15.936-6.8h311.84c5.984 0 11.712 2.448 15.936 6.8s6.592 10.24 6.592 16.416v321.376c0 6.16-2.368 12.064-6.592 16.432a22.176 22.176 0 0 1-15.936 6.784l-311.84 0.192zM672 624v240h224V624H672zM313.904 473.568l93.392-0.24L184.16 250.176l40.848-40.848 223.136 223.136 0.24-93.392 57.68-0.16-0.48 162.912a28.96 28.96 0 0 1-28.928 28.928l-162.928 0.48 0.16-57.664z"
58
+ })
59
+ });
60
+ }
61
+ function UnMinimap() {
62
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", {
63
+ viewBox: "0 0 1024 1024",
64
+ version: "1.1",
65
+ xmlns: "http://www.w3.org/2000/svg",
66
+ width: "32",
67
+ height: "32",
68
+ fill: 'currentColor',
69
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
70
+ d: "M64 528.576L64 896a32 32 0 0 0 32 32L928 928a32 32 0 0 0 32-32l0-768a32 32 0 0 0-32-32l-433.68 1e-8a30.32 30.32 0 1 0 0 60.63999999L896.176 156.64 896.176 866.032l-768.688 0 0-337.44a31.744 31.744 0 1 0-63.488 0zM393.488 96c5.968 0 11.696 2.448 15.92 6.8A23.568 23.568 0 0 1 416.00000001 119.2L416.00000001 440.784c0 6.16-2.368 12.064-6.59200001 16.41600001s-9.952 6.8-15.936 6.79999999l-311.84 0c-5.984 0-11.712-2.448-15.936-6.8s-6.592-10.24-6.592-16.416l0-321.376c0-6.16 2.368-12.064 6.592-16.432a22.176 22.176 0 0 1 15.936-6.784l311.84-0.19199999zM352 400l0-240-224 0L128 400 352 400zM710.096 550.432l-93.392 0.24L839.84 773.824l-40.848 40.848-223.136-223.136-0.24 93.392-57.68 0.16 0.48-162.912a28.96 28.96 0 0 1 28.928-28.92800001l162.928-0.48-0.16 57.66400001z"
71
+ })
72
+ });
73
+ }
74
+ function ForceLayout() {
75
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", {
76
+ viewBox: "0 0 1024 1024",
77
+ version: "1.1",
78
+ xmlns: "http://www.w3.org/2000/svg",
79
+ width: "32",
80
+ height: "32",
81
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
82
+ d: "M600.795429 395.117714a23.04 23.04 0 0 1-23.04-23.04c0-63.268571-51.565714-114.907429-114.980572-114.907428a23.04 23.04 0 0 1 0-46.006857c63.414857 0 114.980571-51.565714 114.980572-114.980572a23.04 23.04 0 1 1 46.08 0c0 63.341714 51.565714 114.980571 114.834285 114.980572a23.04 23.04 0 0 1 0 46.006857c-63.268571 0-114.834286 51.565714-114.834285 114.907428 0 12.726857-10.313143 23.04-23.04 23.04zM545.645714 234.130286c22.528 13.677714 41.545143 32.621714 55.149715 55.149714 13.604571-22.528 32.621714-41.472 55.149714-55.149714a162.596571 162.596571 0 0 1-55.149714-55.149715 162.377143 162.377143 0 0 1-55.149715 55.149715zM140.873143 533.065143a23.04 23.04 0 0 1-22.893714-22.966857 23.04 23.04 0 0 0-23.04-23.04 23.04 23.04 0 0 1 0-45.933715c12.726857 0 23.04-10.24 23.04-22.966857a23.04 23.04 0 0 1 45.933714 0c0 12.653714 10.24 22.966857 22.966857 22.966857a23.04 23.04 0 0 1 0 45.933715 23.04 23.04 0 0 0-22.966857 23.04c0 12.726857-10.24 22.966857-23.04 22.966857z m765.586286 273.115428L419.693714 319.414857a68.461714 68.461714 0 0 0-48.859428-20.187428 68.754286 68.754286 0 0 0-48.786286 20.114285l-26.916571 26.916572a68.461714 68.461714 0 0 0-20.114286 48.859428c0 18.505143 7.094857 35.766857 20.114286 48.786286l486.838857 486.838857a68.461714 68.461714 0 0 0 48.786285 20.114286 68.534857 68.534857 0 0 0 48.713143-20.114286l27.062857-26.989714a68.388571 68.388571 0 0 0 20.041143-48.713143 68.754286 68.754286 0 0 0-20.114285-48.859429zM327.68 378.806857l26.989714-26.916571a23.04 23.04 0 0 1 32.548572 0l66.121143 66.194285-59.392 59.465143-66.267429-66.194285a23.04 23.04 0 0 1 0-32.548572z m546.230857 492.397714l-26.916571 27.062858a22.747429 22.747429 0 0 1-16.310857 6.582857 22.820571 22.820571 0 0 1-16.164572-6.582857L426.422857 510.098286l59.465143-59.538286 388.022857 388.096a23.04 23.04 0 0 1 0 32.548571zM232.886857 303.250286a23.04 23.04 0 0 1-23.04-23.113143 68.973714 68.973714 0 0 0-68.973714-68.973714 23.04 23.04 0 0 1 0-46.006858c38.034286 0 68.973714-30.939429 68.973714-68.900571a23.04 23.04 0 0 1 46.08 0c0 37.961143 30.939429 68.900571 68.900572 68.900571a23.04 23.04 0 0 1 0 46.08 69.046857 69.046857 0 0 0-68.973715 68.900572c0 12.726857-10.24 23.04-22.966857 23.04z m-23.04-114.980572c8.777143 6.582857 16.530286 14.336 23.113143 23.04 6.582857-8.777143 14.409143-16.457143 23.113143-23.04a116.809143 116.809143 0 0 1-23.113143-23.113143c-6.582857 8.777143-14.409143 16.530286-23.113143 23.113143z m23.04 574.756572a23.04 23.04 0 0 1-23.04-22.893715 68.973714 68.973714 0 0 0-68.973714-68.973714 23.04 23.04 0 0 1 0-46.08c38.034286 0 68.973714-30.939429 68.973714-68.900571a23.04 23.04 0 0 1 46.08 0c0 38.034286 30.939429 68.973714 68.900572 68.973714a23.04 23.04 0 0 1 0 45.933714 69.046857 69.046857 0 0 0-68.973715 68.973715c0 12.653714-10.24 22.966857-22.966857 22.966857z m-23.04-114.834286c8.777143 6.582857 16.530286 14.336 23.113143 23.113143 6.582857-8.777143 14.409143-16.603429 23.113143-23.186286a116.809143 116.809143 0 0 1-23.113143-23.04c-6.582857 8.777143-14.409143 16.530286-23.113143 23.04z"
83
+ })
84
+ });
85
+ }
@@ -0,0 +1,13 @@
1
+ import { ControlProps } from "@xyflow/react";
2
+ import React, { RefObject } from "react";
3
+ declare function Controls({ style, showZoom, showFitView, showInteractive, showFullscreen, showMiniMap, containerRef, fitViewOptions, onZoomIn, onZoomOut, onFitView, onInteractiveChange, className, children, position, orientation, 'aria-label': ariaLabel, minimapVisible, setMinimapVisible, showForceLayout, }: ControlProps & {
4
+ showMiniMap?: boolean;
5
+ showFullscreen?: boolean;
6
+ showForceLayout?: boolean;
7
+ minimapVisible: boolean;
8
+ setMinimapVisible: (visible: boolean) => void;
9
+ containerRef?: RefObject<HTMLDivElement | null>;
10
+ }): import("react/jsx-runtime").JSX.Element;
11
+ declare const _default: React.MemoExoticComponent<typeof Controls>;
12
+ export default _default;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAgB,YAAY,EAA6D,MAAM,eAAe,CAAC;AAItH,OAAO,KAAK,EAAE,EAAO,SAAS,EAAC,MAAM,OAAO,CAAC;AAY7C,iBAAS,QAAQ,CACf,EACE,KAAK,EACL,QAAe,EACf,WAAkB,EAClB,eAAuB,EACvB,cAAqB,EACrB,WAAW,EACX,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,SAAS,EACT,QAAQ,EACR,QAAwB,EACxB,WAAwB,EACxB,YAAY,EAAE,SAAiC,EAC/C,cAAc,EACd,iBAAiB,EACjB,eAAe,GAChB,EAAE,YAAY,GAAG;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,YAAY,CAAC,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CACjD,2CAuKF;;AAED,wBAA8B"}