@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
@@ -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,75 @@
1
+ /*
2
+ * @author: yanxianliang
3
+ * @date: 2025-06-09 09:56
4
+ * @desc: icons
5
+ *
6
+ * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
7
+ */
8
+
9
+ import { jsx } from "react/jsx-runtime";
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ export function FitViewIcon() {
12
+ return jsx("svg", {
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ viewBox: "0 0 32 30",
15
+ children: jsx("path", {
16
+ 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"
17
+ })
18
+ });
19
+ }
20
+ export function LockIcon() {
21
+ return jsx("svg", {
22
+ xmlns: "http://www.w3.org/2000/svg",
23
+ viewBox: "0 0 25 32",
24
+ children: jsx("path", {
25
+ 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"
26
+ })
27
+ });
28
+ }
29
+ export function UnlockIcon() {
30
+ return jsx("svg", {
31
+ xmlns: "http://www.w3.org/2000/svg",
32
+ viewBox: "0 0 25 32",
33
+ children: jsx("path", {
34
+ 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"
35
+ })
36
+ });
37
+ }
38
+ export function Minimap() {
39
+ return /*#__PURE__*/_jsx("svg", {
40
+ viewBox: "0 0 1024 1024",
41
+ version: "1.1",
42
+ xmlns: "http://www.w3.org/2000/svg",
43
+ width: "32",
44
+ height: "32",
45
+ fill: 'currentColor',
46
+ children: /*#__PURE__*/_jsx("path", {
47
+ 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"
48
+ })
49
+ });
50
+ }
51
+ export function UnMinimap() {
52
+ return /*#__PURE__*/_jsx("svg", {
53
+ viewBox: "0 0 1024 1024",
54
+ version: "1.1",
55
+ xmlns: "http://www.w3.org/2000/svg",
56
+ width: "32",
57
+ height: "32",
58
+ fill: 'currentColor',
59
+ children: /*#__PURE__*/_jsx("path", {
60
+ 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"
61
+ })
62
+ });
63
+ }
64
+ export function ForceLayout() {
65
+ return /*#__PURE__*/_jsx("svg", {
66
+ viewBox: "0 0 1024 1024",
67
+ version: "1.1",
68
+ xmlns: "http://www.w3.org/2000/svg",
69
+ width: "32",
70
+ height: "32",
71
+ children: /*#__PURE__*/_jsx("path", {
72
+ 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"
73
+ })
74
+ });
75
+ }
@@ -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"}
@@ -0,0 +1,201 @@
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-06-09 09:45
10
+ * @desc: 画布控制器
11
+ *
12
+ * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
13
+ */
14
+
15
+ import FullscreenExitOutlined from '@ant-design/icons/FullscreenExitOutlined';
16
+ import FullscreenOutlined from '@ant-design/icons/FullscreenOutlined';
17
+ import ZoomInOutlined from "@ant-design/icons/lib/icons/ZoomInOutlined";
18
+ import ZoomOutOutlined from "@ant-design/icons/lib/icons/ZoomOutOutlined";
19
+ import { ControlButton, Panel, useReactFlow, useStore, useStoreApi } from "@xyflow/react";
20
+ import { useFullscreen } from "ahooks";
21
+ import { Tooltip } from 'antd';
22
+ import cc from 'classcat';
23
+ import React, { memo } from "react";
24
+ import { Fragment } from "react/jsx-runtime";
25
+ import { shallow } from "zustand/shallow";
26
+ import { FitViewIcon, ForceLayout, LockIcon, Minimap, UnlockIcon, UnMinimap } from "./icons";
27
+ import { jsx as _jsx } from "react/jsx-runtime";
28
+ import { jsxs as _jsxs } from "react/jsx-runtime";
29
+ var selector = function selector(s) {
30
+ return {
31
+ isInteractive: s.nodesDraggable || s.nodesConnectable || s.elementsSelectable,
32
+ minZoomReached: s.transform[2] <= s.minZoom,
33
+ maxZoomReached: s.transform[2] >= s.maxZoom
34
+ };
35
+ };
36
+ function Controls(_ref) {
37
+ var style = _ref.style,
38
+ _ref$showZoom = _ref.showZoom,
39
+ showZoom = _ref$showZoom === void 0 ? true : _ref$showZoom,
40
+ _ref$showFitView = _ref.showFitView,
41
+ showFitView = _ref$showFitView === void 0 ? true : _ref$showFitView,
42
+ _ref$showInteractive = _ref.showInteractive,
43
+ showInteractive = _ref$showInteractive === void 0 ? false : _ref$showInteractive,
44
+ _ref$showFullscreen = _ref.showFullscreen,
45
+ showFullscreen = _ref$showFullscreen === void 0 ? true : _ref$showFullscreen,
46
+ showMiniMap = _ref.showMiniMap,
47
+ containerRef = _ref.containerRef,
48
+ fitViewOptions = _ref.fitViewOptions,
49
+ onZoomIn = _ref.onZoomIn,
50
+ onZoomOut = _ref.onZoomOut,
51
+ onFitView = _ref.onFitView,
52
+ onInteractiveChange = _ref.onInteractiveChange,
53
+ className = _ref.className,
54
+ children = _ref.children,
55
+ _ref$position = _ref.position,
56
+ position = _ref$position === void 0 ? 'bottom-left' : _ref$position,
57
+ _ref$orientation = _ref.orientation,
58
+ orientation = _ref$orientation === void 0 ? 'vertical' : _ref$orientation,
59
+ _ref$ariaLabel = _ref['aria-label'],
60
+ ariaLabel = _ref$ariaLabel === void 0 ? 'React Flow controls' : _ref$ariaLabel,
61
+ minimapVisible = _ref.minimapVisible,
62
+ setMinimapVisible = _ref.setMinimapVisible,
63
+ showForceLayout = _ref.showForceLayout;
64
+ var _useFullscreen = useFullscreen(containerRef),
65
+ _useFullscreen2 = _slicedToArray(_useFullscreen, 2),
66
+ isFullscreen = _useFullscreen2[0],
67
+ toggleFullscreen = _useFullscreen2[1].toggleFullscreen;
68
+ var store = useStoreApi();
69
+ var _useStore = useStore(selector, shallow),
70
+ isInteractive = _useStore.isInteractive,
71
+ minZoomReached = _useStore.minZoomReached,
72
+ maxZoomReached = _useStore.maxZoomReached;
73
+ var _useReactFlow = useReactFlow(),
74
+ zoomIn = _useReactFlow.zoomIn,
75
+ zoomOut = _useReactFlow.zoomOut,
76
+ fitView = _useReactFlow.fitView;
77
+ var onZoomInHandler = function onZoomInHandler() {
78
+ zoomIn();
79
+ onZoomIn === null || onZoomIn === void 0 || onZoomIn();
80
+ };
81
+ var onZoomOutHandler = function onZoomOutHandler() {
82
+ zoomOut();
83
+ onZoomOut === null || onZoomOut === void 0 || onZoomOut();
84
+ };
85
+ var onFitViewHandler = function onFitViewHandler() {
86
+ fitView(fitViewOptions);
87
+ onFitView === null || onFitView === void 0 || onFitView();
88
+ };
89
+ var onToggleInteractivity = function onToggleInteractivity() {
90
+ store.setState({
91
+ nodesDraggable: !isInteractive,
92
+ nodesConnectable: !isInteractive,
93
+ elementsSelectable: !isInteractive
94
+ });
95
+ onInteractiveChange === null || onInteractiveChange === void 0 || onInteractiveChange(!isInteractive);
96
+ };
97
+ var onForceLayout = function onForceLayout() {
98
+ // TODO 美化布局
99
+ };
100
+ var onToggleMiniMap = function onToggleMiniMap() {
101
+ setMinimapVisible(!minimapVisible);
102
+ };
103
+ var orientationClass = orientation === 'horizontal' ? 'horizontal' : 'vertical';
104
+ return /*#__PURE__*/_jsxs(Panel, {
105
+ className: cc(['react-flow__controls', orientationClass, className]),
106
+ position: position,
107
+ style: style,
108
+ "data-testid": "rf__controls",
109
+ "aria-label": ariaLabel,
110
+ children: [showZoom && /*#__PURE__*/_jsxs(Fragment, {
111
+ children: [/*#__PURE__*/_jsx(Tooltip, {
112
+ title: '放大',
113
+ placement: 'right',
114
+ children: /*#__PURE__*/_jsx("span", {
115
+ children: /*#__PURE__*/_jsx(ControlButton, {
116
+ onClick: onZoomInHandler,
117
+ className: "react-flow__controls-zoomin",
118
+ title: '放大',
119
+ "aria-label": 'zoom in',
120
+ disabled: maxZoomReached,
121
+ children: /*#__PURE__*/_jsx(ZoomInOutlined, {})
122
+ })
123
+ })
124
+ }), /*#__PURE__*/_jsx(Tooltip, {
125
+ title: '缩小',
126
+ placement: 'right',
127
+ children: /*#__PURE__*/_jsx("span", {
128
+ children: /*#__PURE__*/_jsx(ControlButton, {
129
+ onClick: onZoomOutHandler,
130
+ className: "react-flow__controls-zoomout",
131
+ title: '缩小',
132
+ "aria-label": 'zoom out',
133
+ disabled: minZoomReached,
134
+ children: /*#__PURE__*/_jsx(ZoomOutOutlined, {})
135
+ })
136
+ })
137
+ })]
138
+ }), showFitView && /*#__PURE__*/_jsx(Tooltip, {
139
+ title: '自适应视图',
140
+ placement: 'right',
141
+ children: /*#__PURE__*/_jsx("span", {
142
+ children: /*#__PURE__*/_jsx(ControlButton, {
143
+ className: "react-flow__controls-fitview",
144
+ onClick: onFitViewHandler,
145
+ title: '自适应视图',
146
+ "aria-label": 'fit view',
147
+ children: /*#__PURE__*/_jsx(FitViewIcon, {})
148
+ })
149
+ })
150
+ }), showFullscreen && /*#__PURE__*/_jsx(Tooltip, {
151
+ title: isFullscreen ? '取消全屏' : '全屏',
152
+ placement: 'right',
153
+ children: /*#__PURE__*/_jsx("span", {
154
+ children: /*#__PURE__*/_jsx(ControlButton, {
155
+ className: "react-flow__controls-fullscreen",
156
+ onClick: toggleFullscreen,
157
+ title: isFullscreen ? '取消全屏' : '全屏',
158
+ "aria-label": "toggle fullscreen",
159
+ children: isFullscreen ? /*#__PURE__*/_jsx(FullscreenExitOutlined, {}) : /*#__PURE__*/_jsx(FullscreenOutlined, {})
160
+ })
161
+ })
162
+ }), showMiniMap && /*#__PURE__*/_jsx(Tooltip, {
163
+ title: minimapVisible ? '关闭缩略图' : '开启缩略图',
164
+ placement: 'right',
165
+ children: /*#__PURE__*/_jsx("span", {
166
+ children: /*#__PURE__*/_jsx(ControlButton, {
167
+ className: "react-flow__controls-interactive",
168
+ onClick: onToggleMiniMap,
169
+ title: minimapVisible ? '关闭缩略图' : '开启缩略图',
170
+ "aria-label": "toggle minimap",
171
+ children: minimapVisible ? /*#__PURE__*/_jsx(UnMinimap, {}) : /*#__PURE__*/_jsx(Minimap, {})
172
+ })
173
+ })
174
+ }), showInteractive && /*#__PURE__*/_jsx(Tooltip, {
175
+ title: isInteractive ? '解锁' : '锁定',
176
+ placement: 'right',
177
+ children: /*#__PURE__*/_jsx("span", {
178
+ children: /*#__PURE__*/_jsx(ControlButton, {
179
+ className: "react-flow__controls-interactive",
180
+ onClick: onToggleInteractivity,
181
+ title: isInteractive ? '解锁' : '锁定',
182
+ "aria-label": "toggle interactivity",
183
+ children: isInteractive ? /*#__PURE__*/_jsx(UnlockIcon, {}) : /*#__PURE__*/_jsx(LockIcon, {})
184
+ })
185
+ })
186
+ }), showForceLayout && /*#__PURE__*/_jsx(Tooltip, {
187
+ title: '美化布局',
188
+ placement: 'right',
189
+ children: /*#__PURE__*/_jsx("span", {
190
+ children: /*#__PURE__*/_jsx(ControlButton, {
191
+ className: "react-flow__controls-layout",
192
+ onClick: onForceLayout,
193
+ title: '美化布局',
194
+ "aria-label": "force layout",
195
+ children: /*#__PURE__*/_jsx(ForceLayout, {})
196
+ })
197
+ })
198
+ }), children]
199
+ });
200
+ }
201
+ export default /*#__PURE__*/memo(Controls);
@@ -0,0 +1,5 @@
1
+ import './index.less';
2
+ export declare const DebugInfo: ({ debug }: {
3
+ debug?: boolean | undefined;
4
+ }) => import("react/jsx-runtime").JSX.Element | null;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAUA,OAAO,cAAc,CAAC;AAEtB,eAAO,MAAM,SAAS;;oDAUrB,CAAA"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @author: yanxianliang
3
+ * @date: 2025-07-29 10:17
4
+ * @modified:2025/7/29 10:17 by yanxianliang
5
+ * @desc: 性能分析调试组件
6
+ *
7
+ * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
8
+ */
9
+ import React from "react";
10
+ import FPSStats from "react-fps-stats";
11
+ import "./index.less";
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ export var DebugInfo = function DebugInfo(_ref) {
14
+ var debug = _ref.debug;
15
+ var show = debug || window[Symbol.for('rxflow_debug')] === true;
16
+ if (!show) {
17
+ return null;
18
+ }
19
+ return /*#__PURE__*/_jsx("div", {
20
+ className: 'rxflow-debug',
21
+ children: /*#__PURE__*/_jsx(FPSStats, {})
22
+ });
23
+ };
@@ -0,0 +1,6 @@
1
+ .rxflow-debug {
2
+ position: absolute;
3
+ & > div {
4
+ position: absolute!important;
5
+ }
6
+ }
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import { EdgeTextProps } from "@xyflow/react";
3
+ declare function EdgeText({ x, y, label, labelStyle, labelShowBg, labelBgStyle, labelBgPadding, labelBgBorderRadius, children, className, ...rest }: EdgeTextProps): import("react/jsx-runtime").JSX.Element | null;
4
+ declare const _default: import("react").MemoExoticComponent<typeof EdgeText>;
5
+ export default _default;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":";AASA,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AAE5C,iBAAS,QAAQ,CACf,EACE,CAAC,EACD,CAAC,EACD,KAAK,EACL,UAAU,EACV,WAAkB,EAClB,YAAY,EACZ,cAAuB,EACvB,mBAAuB,EACvB,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACR,EAAE,aAAa,kDAqBjB;;AAED,wBAA8B"}
@@ -0,0 +1,52 @@
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
+ var _excluded = ["x", "y", "label", "labelStyle", "labelShowBg", "labelBgStyle", "labelBgPadding", "labelBgBorderRadius", "children", "className"];
3
+ 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; }
4
+ 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; }
5
+ 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; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
+ 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); }
8
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
9
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
+ /*
11
+ * @author: yanxianliang
12
+ * @date: 2025-06-08 11:16
13
+ * @desc: 边文字组件支持左对齐/右对齐
14
+ *
15
+ * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
16
+ */
17
+ import { memo } from 'react';
18
+ import cc from 'classcat';
19
+ import { jsx as _jsx } from "react/jsx-runtime";
20
+ import { jsxs as _jsxs } from "react/jsx-runtime";
21
+ function EdgeText(_ref) {
22
+ var x = _ref.x,
23
+ y = _ref.y,
24
+ label = _ref.label,
25
+ labelStyle = _ref.labelStyle,
26
+ _ref$labelShowBg = _ref.labelShowBg,
27
+ labelShowBg = _ref$labelShowBg === void 0 ? true : _ref$labelShowBg,
28
+ labelBgStyle = _ref.labelBgStyle,
29
+ _ref$labelBgPadding = _ref.labelBgPadding,
30
+ labelBgPadding = _ref$labelBgPadding === void 0 ? [2, 4] : _ref$labelBgPadding,
31
+ _ref$labelBgBorderRad = _ref.labelBgBorderRadius,
32
+ labelBgBorderRadius = _ref$labelBgBorderRad === void 0 ? 2 : _ref$labelBgBorderRad,
33
+ children = _ref.children,
34
+ className = _ref.className,
35
+ rest = _objectWithoutProperties(_ref, _excluded);
36
+ var edgeTextClasses = cc(['react-flow__edge-textwrapper', className]);
37
+ if (!label) {
38
+ return null;
39
+ }
40
+ return /*#__PURE__*/_jsxs("g", _objectSpread(_objectSpread({
41
+ transform: "translate(".concat(x, " ").concat(y, ")"),
42
+ className: edgeTextClasses
43
+ }, rest), {}, {
44
+ children: [/*#__PURE__*/_jsx("text", {
45
+ className: "react-flow__edge-text",
46
+ dy: "0.3em",
47
+ style: labelStyle,
48
+ children: label
49
+ }), children]
50
+ }));
51
+ }
52
+ export default /*#__PURE__*/memo(EdgeText);
@@ -0,0 +1,3 @@
1
+ import { HandleProps } from '@xyflow/react';
2
+ export default function (props: HandleProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAS,WAAW,EAAC,MAAM,eAAe,CAAA;AAGjD,MAAM,CAAC,OAAO,WAAW,KAAK,EAAE,WAAW,2CAO1C"}
@@ -0,0 +1,21 @@
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
+ /*
8
+ * @author: yanxianliang
9
+ * @date: 2025-06-07 11:45
10
+ * @desc: Handle 自定义
11
+ *
12
+ * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
13
+ */
14
+ import { Handle } from '@xyflow/react';
15
+ import styles from "./index.module.less";
16
+ import { jsx as _jsx } from "react/jsx-runtime";
17
+ export default function (props) {
18
+ return /*#__PURE__*/_jsx(Handle, _objectSpread(_objectSpread({}, props), {}, {
19
+ className: styles.handle
20
+ }));
21
+ }
@@ -0,0 +1,9 @@
1
+ .handle {
2
+ visibility: hidden;
3
+ width: 0;
4
+ height: 0;
5
+ min-width: 0;
6
+ min-height: 0;
7
+ border: none;
8
+ z-index: 5;
9
+ }
@@ -0,0 +1,9 @@
1
+ .rxflow-hidden-handle.react-flow__handle {
2
+ visibility: hidden;
3
+ width: 0;
4
+ height: 0;
5
+ min-width: 0;
6
+ min-height: 0;
7
+ border: none;
8
+ z-index: 5;
9
+ }
@@ -0,0 +1,4 @@
1
+ import { HandleProps } from '@xyflow/react';
2
+ import './index.css';
3
+ export default function (props: HandleProps): import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAS,WAAW,EAAC,MAAM,eAAe,CAAA;AACjD,OAAO,aAAa,CAAC;AAErB,MAAM,CAAC,OAAO,WAAW,KAAK,EAAE,WAAW,2CAO1C"}
@@ -0,0 +1,21 @@
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
+ /*
8
+ * @author: yanxianliang
9
+ * @date: 2025-06-07 11:45
10
+ * @desc: Handle 自定义
11
+ *
12
+ * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
13
+ */
14
+ import { Handle } from '@xyflow/react';
15
+ import "./index.css";
16
+ import { jsx as _jsx } from "react/jsx-runtime";
17
+ export default function (props) {
18
+ return /*#__PURE__*/_jsx(Handle, _objectSpread(_objectSpread({}, props), {}, {
19
+ className: 'rxflow-hidden-handle'
20
+ }));
21
+ }
@@ -0,0 +1,6 @@
1
+ import "./index.less";
2
+ import { IBaseFlowProps } from "../../types";
3
+ export declare const Legend: ({ showLegend }: {
4
+ showLegend: IBaseFlowProps['showLegend'];
5
+ }) => import("react/jsx-runtime").JSX.Element | null;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAWA,OAAO,cAAc,CAAC;AAKtB,OAAO,EAAC,cAAc,EAAkB,MAAM,aAAa,CAAC;AAE5D,eAAO,MAAM,MAAM;gBAIH,cAAc,CAAC,YAAY,CAAC;oDAkD3C,CAAA"}
@@ -0,0 +1,68 @@
1
+ /*
2
+ * @author: yanxianliang
3
+ * @date: 2025-06-03 19:33
4
+ * @desc: 图例标准组件。按照节点类型进行分类展示。
5
+ *
6
+ * 遍历当前的nodes 列表,根据类型定义解析出图例列表。
7
+ *
8
+ * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
9
+ */
10
+
11
+ import "./index.less";
12
+ import { useNodes } from "@xyflow/react";
13
+ import { Space } from "antd";
14
+ import React, { useMemo } from "react";
15
+ import { usePropsSelector } from "../../hooks";
16
+ import { jsx as _jsx } from "react/jsx-runtime";
17
+ import { jsxs as _jsxs } from "react/jsx-runtime";
18
+ export var Legend = function Legend(_ref) {
19
+ var _showLegend$showAll;
20
+ var showLegend = _ref.showLegend;
21
+ var nodes = useNodes();
22
+ var showAll = typeof showLegend === "boolean" ? true : (_showLegend$showAll = showLegend === null || showLegend === void 0 ? void 0 : showLegend.showAll) !== null && _showLegend$showAll !== void 0 ? _showLegend$showAll : true; // 默认值为 true
23
+
24
+ // 节点定义列表
25
+ var nodeTypeList = usePropsSelector(function (state) {
26
+ return state.nodeTypes;
27
+ });
28
+ var legendList = useMemo(function () {
29
+ var showTypeList = [];
30
+ var nodeTypeSet = new Set();
31
+ if (!showAll) {
32
+ nodes.forEach(function (node) {
33
+ var type = node.type;
34
+ nodeTypeSet.add(type);
35
+ });
36
+ }
37
+ nodeTypeList === null || nodeTypeList === void 0 || nodeTypeList.forEach(function (nodeType) {
38
+ if (!nodeType.hideInLegend && (showAll || nodeTypeSet.has(nodeType.type))) {
39
+ showTypeList.push(nodeType);
40
+ }
41
+ });
42
+ return showTypeList;
43
+ }, [nodes, nodeTypeList]);
44
+ if (legendList.length === 0) {
45
+ return null;
46
+ }
47
+ return /*#__PURE__*/_jsx("div", {
48
+ className: 'rxflow-legend-container',
49
+ children: /*#__PURE__*/_jsx(Space, {
50
+ size: 10,
51
+ children: legendList.map(function (legend) {
52
+ return /*#__PURE__*/_jsxs("div", {
53
+ className: 'rxflow-legend-item',
54
+ children: [/*#__PURE__*/_jsx("div", {
55
+ className: 'rxflow-legend-tag',
56
+ style: {
57
+ backgroundColor: legend.color
58
+ },
59
+ children: legend.icon
60
+ }), /*#__PURE__*/_jsx("div", {
61
+ className: 'rxflow-legend-label',
62
+ children: legend.label
63
+ })]
64
+ }, legend.label);
65
+ })
66
+ })
67
+ });
68
+ };
@@ -0,0 +1,41 @@
1
+ /*
2
+ * @author: yanxianliang
3
+ * @date: 2025-06-03 19:47
4
+ * @desc: 样式
5
+ *
6
+ * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
7
+ */
8
+ .rxflow-legend {
9
+ &-container {
10
+ position: absolute;
11
+ top: 0;
12
+ left: 0;
13
+ right: 52px;
14
+ padding: 5px 10px;
15
+ z-index: 200;
16
+ }
17
+
18
+ &-item {
19
+ display: flex;
20
+ align-items: center;
21
+ }
22
+
23
+ &-tag{
24
+ width: 14px;
25
+ height: 14px;
26
+ border-radius: 2px;
27
+ margin-right: 3px;
28
+ display: flex;
29
+ align-items: center;
30
+ justify-content: center;
31
+ img {
32
+ width: 14px;
33
+ height: 14px;
34
+ }
35
+ }
36
+
37
+ &-label {
38
+ font-size: 14px;
39
+ color: #474747;
40
+ }
41
+ }