@rxflow/base 0.0.2 → 0.0.4-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 (131) hide show
  1. package/cjs/Flow.d.ts +1 -1
  2. package/cjs/Flow.d.ts.map +1 -1
  3. package/cjs/Flow.js +28 -10
  4. package/cjs/components/Legend/index.d.ts.map +1 -1
  5. package/cjs/components/Legend/index.js +2 -1
  6. package/cjs/components/Popover/index.d.ts +1 -9
  7. package/cjs/components/Popover/index.d.ts.map +1 -1
  8. package/cjs/components/Popover/index.js +14 -75
  9. package/cjs/components/Tooltip/index.d.ts +1 -10
  10. package/cjs/components/Tooltip/index.d.ts.map +1 -1
  11. package/cjs/components/Tooltip/index.js +11 -83
  12. package/cjs/edges/manhattan.d.ts.map +1 -1
  13. package/cjs/edges/manhattan.js +100 -30
  14. package/cjs/hoc/createFlow.d.ts +30 -4
  15. package/cjs/hoc/createFlow.d.ts.map +1 -1
  16. package/cjs/hoc/createFlow.js +45 -18
  17. package/cjs/hooks/index.d.ts +5 -2
  18. package/cjs/hooks/index.d.ts.map +1 -1
  19. package/cjs/hooks/index.js +44 -22
  20. package/cjs/hooks/props/index.d.ts +12 -0
  21. package/cjs/hooks/props/index.d.ts.map +1 -0
  22. package/cjs/hooks/props/index.js +49 -0
  23. package/cjs/hooks/props/useFlowProps.d.ts +23 -0
  24. package/cjs/hooks/props/useFlowProps.d.ts.map +1 -0
  25. package/cjs/hooks/props/useFlowProps.js +34 -0
  26. package/cjs/hooks/props/useGetFlowProps.d.ts +19 -0
  27. package/cjs/hooks/props/useGetFlowProps.d.ts.map +1 -0
  28. package/cjs/hooks/props/useGetFlowProps.js +38 -0
  29. package/cjs/hooks/props/useGetInputProps.d.ts +18 -0
  30. package/cjs/hooks/props/useGetInputProps.d.ts.map +1 -0
  31. package/cjs/hooks/props/useGetInputProps.js +38 -0
  32. package/cjs/hooks/props/useInputProps.d.ts +14 -0
  33. package/cjs/hooks/props/useInputProps.d.ts.map +1 -0
  34. package/cjs/hooks/props/useInputProps.js +33 -0
  35. package/cjs/hooks/useListenRender.js +4 -4
  36. package/cjs/hooks/useTheme.d.ts.map +1 -1
  37. package/cjs/hooks/useTheme.js +3 -2
  38. package/cjs/index.d.ts +6 -3
  39. package/cjs/index.d.ts.map +1 -1
  40. package/cjs/index.js +46 -14
  41. package/cjs/providers/FlowProvider.d.ts +7 -1
  42. package/cjs/providers/FlowProvider.d.ts.map +1 -1
  43. package/cjs/providers/FlowProvider.js +33 -14
  44. package/cjs/store/PropsStore.d.ts +11 -6
  45. package/cjs/store/PropsStore.d.ts.map +1 -1
  46. package/cjs/store/PropsStore.js +55 -39
  47. package/cjs/types/props.d.ts +83 -0
  48. package/cjs/types/props.d.ts.map +1 -0
  49. package/cjs/types/props.js +5 -0
  50. package/cjs/types.d.ts +5 -1
  51. package/cjs/types.d.ts.map +1 -1
  52. package/cjs/utils/wrapNodeTypes.d.ts +30 -0
  53. package/cjs/utils/wrapNodeTypes.d.ts.map +1 -0
  54. package/cjs/utils/wrapNodeTypes.js +56 -0
  55. package/cjs/workers/manhattan.worker.js +12534 -31
  56. package/cjs/workers/manhattan.worker.js.map +7 -0
  57. package/esm/Flow.d.ts +1 -1
  58. package/esm/Flow.d.ts.map +1 -1
  59. package/esm/Flow.js +30 -16
  60. package/esm/components/Legend/index.d.ts.map +1 -1
  61. package/esm/components/Legend/index.js +3 -2
  62. package/esm/components/Popover/index.d.ts +1 -9
  63. package/esm/components/Popover/index.d.ts.map +1 -1
  64. package/esm/components/Popover/index.js +16 -87
  65. package/esm/components/Tooltip/index.d.ts +1 -10
  66. package/esm/components/Tooltip/index.d.ts.map +1 -1
  67. package/esm/components/Tooltip/index.js +14 -97
  68. package/esm/edges/manhattan.d.ts.map +1 -1
  69. package/esm/edges/manhattan.js +95 -23
  70. package/esm/hoc/createFlow.d.ts +30 -4
  71. package/esm/hoc/createFlow.d.ts.map +1 -1
  72. package/esm/hoc/createFlow.js +48 -20
  73. package/esm/hooks/index.d.ts +5 -2
  74. package/esm/hooks/index.d.ts.map +1 -1
  75. package/esm/hooks/index.js +8 -3
  76. package/esm/hooks/props/index.d.ts +12 -0
  77. package/esm/hooks/props/index.d.ts.map +1 -0
  78. package/esm/hooks/props/index.js +12 -0
  79. package/esm/hooks/props/useFlowProps.d.ts +23 -0
  80. package/esm/hooks/props/useFlowProps.d.ts.map +1 -0
  81. package/esm/hooks/props/useFlowProps.js +29 -0
  82. package/esm/hooks/props/useGetFlowProps.d.ts +19 -0
  83. package/esm/hooks/props/useGetFlowProps.d.ts.map +1 -0
  84. package/esm/hooks/props/useGetFlowProps.js +31 -0
  85. package/esm/hooks/props/useGetInputProps.d.ts +18 -0
  86. package/esm/hooks/props/useGetInputProps.d.ts.map +1 -0
  87. package/esm/hooks/props/useGetInputProps.js +31 -0
  88. package/esm/hooks/props/useInputProps.d.ts +14 -0
  89. package/esm/hooks/props/useInputProps.d.ts.map +1 -0
  90. package/esm/hooks/props/useInputProps.js +27 -0
  91. package/esm/hooks/useListenRender.js +4 -4
  92. package/esm/hooks/useTheme.d.ts.map +1 -1
  93. package/esm/hooks/useTheme.js +3 -2
  94. package/esm/index.d.ts +6 -3
  95. package/esm/index.d.ts.map +1 -1
  96. package/esm/index.js +22 -3
  97. package/esm/providers/FlowProvider.d.ts +7 -1
  98. package/esm/providers/FlowProvider.d.ts.map +1 -1
  99. package/esm/providers/FlowProvider.js +36 -15
  100. package/esm/store/PropsStore.d.ts +11 -6
  101. package/esm/store/PropsStore.d.ts.map +1 -1
  102. package/esm/store/PropsStore.js +75 -34
  103. package/esm/types/props.d.ts +83 -0
  104. package/esm/types/props.d.ts.map +1 -0
  105. package/esm/types/props.js +1 -0
  106. package/esm/types.d.ts +5 -1
  107. package/esm/types.d.ts.map +1 -1
  108. package/esm/utils/wrapNodeTypes.d.ts +30 -0
  109. package/esm/utils/wrapNodeTypes.d.ts.map +1 -0
  110. package/esm/utils/wrapNodeTypes.js +55 -0
  111. package/esm/workers/manhattan.worker.js +1 -1
  112. package/esm/workers/manhattan.worker.js.map +7 -0
  113. package/package.json +5 -3
  114. package/cjs/hooks/props/useGetProps.d.ts +0 -6
  115. package/cjs/hooks/props/useGetProps.d.ts.map +0 -1
  116. package/cjs/hooks/props/useGetProps.js +0 -29
  117. package/cjs/hooks/props/useProps.d.ts +0 -2
  118. package/cjs/hooks/props/useProps.d.ts.map +0 -1
  119. package/cjs/hooks/props/useProps.js +0 -20
  120. package/cjs/hooks/props/usePropsSelector.d.ts +0 -13
  121. package/cjs/hooks/props/usePropsSelector.d.ts.map +0 -1
  122. package/cjs/hooks/props/usePropsSelector.js +0 -37
  123. package/esm/hooks/props/useGetProps.d.ts +0 -6
  124. package/esm/hooks/props/useGetProps.d.ts.map +0 -1
  125. package/esm/hooks/props/useGetProps.js +0 -21
  126. package/esm/hooks/props/useProps.d.ts +0 -2
  127. package/esm/hooks/props/useProps.d.ts.map +0 -1
  128. package/esm/hooks/props/useProps.js +0 -14
  129. package/esm/hooks/props/usePropsSelector.d.ts +0 -13
  130. package/esm/hooks/props/usePropsSelector.d.ts.map +0 -1
  131. package/esm/hooks/props/usePropsSelector.js +0 -31
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @author: yanxianliang
3
+ * @date: 2025-01-17
4
+ * @desc: 获取原始输入 props(用户传入的)
5
+ *
6
+ * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
7
+ */
8
+ import { useSelector } from "../state/useSelector";
9
+
10
+ /**
11
+ * 获取原始输入 props
12
+ *
13
+ * @example
14
+ * // 获取全部原始 props
15
+ * const inputProps = useInputProps<IBloodlineFlowProps>();
16
+ *
17
+ * @example
18
+ * // 使用 selector 获取特定属性
19
+ * const root = useInputProps<IBloodlineFlowProps, BaseBloodNode>(state => state.root);
20
+ */
21
+
22
+ export function useInputProps(selector) {
23
+ return useSelector(function (state) {
24
+ var inputProps = state.inputProps;
25
+ return selector ? selector(inputProps) : inputProps;
26
+ });
27
+ }
@@ -8,10 +8,10 @@
8
8
  */
9
9
  import { useNodes, useReactFlow } from "@xyflow/react";
10
10
  import { useEffect, useRef } from "react";
11
- import { useGetProps } from "./..";
11
+ import { useGetFlowProps } from "./props/useGetFlowProps";
12
12
  export var useListenRender = function useListenRender() {
13
- var getProps = useGetProps();
14
- var onRender = getProps().onRender;
13
+ var getFlowProps = useGetFlowProps();
14
+ var onRender = getFlowProps().onRender;
15
15
  var nodes = useNodes();
16
16
  var _useReactFlow = useReactFlow(),
17
17
  getEdges = _useReactFlow.getEdges;
@@ -28,7 +28,7 @@ export var useListenRender = function useListenRender() {
28
28
  var timing = performance.now() - startRenderTimeRef.current;
29
29
  var edges = getEdges();
30
30
  onRender === null || onRender === void 0 || onRender(nodes, edges, timing);
31
- if (getProps().debug) {
31
+ if (getFlowProps().debug) {
32
32
  console.log("\u521D\u59CB\u5316\u8282\u70B9\u6570\uFF1A".concat(nodes.length, ", \u8FB9\uFF1A").concat(edges.length, ", \u6E32\u67D3\u65F6\u957F\uFF1A").concat(timing));
33
33
  }
34
34
  }, 1);
@@ -1 +1 @@
1
- {"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["useTheme.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,QAAQ;;;;;;;CAKpB,CAAA"}
1
+ {"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["useTheme.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,QAAQ;;;;;;;CAKpB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @author: yanxianliang
3
3
  * @date: 2025-06-21 13:16
4
+ * @modified:2025/1/17 by yanxianliang
4
5
  * @desc: 节点主题配置
5
6
  *
6
7
  * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
@@ -8,9 +9,9 @@
8
9
  import { useShallow } from "zustand/react/shallow";
9
10
  import { useMemo } from "react";
10
11
  import { getThemeWithDefaultValue } from "../utils/getThemeWithDefaultValue";
11
- import { usePropsSelector } from "./props/usePropsSelector";
12
+ import { useFlowProps } from "./props/useFlowProps";
12
13
  export var useTheme = function useTheme() {
13
- var theme = usePropsSelector(useShallow(function (state) {
14
+ var theme = useFlowProps(useShallow(function (state) {
14
15
  return state.theme;
15
16
  }));
16
17
  return useMemo(function () {
package/esm/index.d.ts CHANGED
@@ -2,7 +2,8 @@
2
2
  /**
3
3
  * @author: yanxianliang
4
4
  * @date: 2025-07-02 09:27
5
- * @desc: 基础Graph 组件
5
+ * @modified:2025/1/17 by yanxianliang
6
+ * @desc: 基础 Graph 组件
6
7
  *
7
8
  * 提供统一图解决方案底层
8
9
  *
@@ -12,14 +13,16 @@ import { Flow } from "./Flow";
12
13
  declare const BaseFlow: (props: import("react").PropsWithChildren<import("./types").IBaseFlowProps<import("@xyflow/react").Node, import("@xyflow/react").Edge>>) => import("react/jsx-runtime").JSX.Element;
13
14
  export default BaseFlow;
14
15
  export * from './types';
16
+ export * from './types/props';
15
17
  export * from './hooks';
16
18
  export * from './components';
17
19
  export * from './utils/parse';
18
20
  export * from './utils/dimension';
19
- export * from './hoc/createFlow';
20
- export * from './hoc/withFlowProvider';
21
21
  export * from './utils/measureText';
22
22
  export * from './utils/layouts/mindmap';
23
+ export * from './utils/wrapNodeTypes';
24
+ export * from './hoc/createFlow';
25
+ export * from './hoc/withFlowProvider';
23
26
  export * from './constants/NodeRoleType';
24
27
  export * from './constants/InnerFlowType';
25
28
  export * from './constants/SelectionStrategy';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;AACH,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAG5B,QAAA,MAAM,QAAQ,qLAAmB,CAAA;AAEjC,eAAe,QAAQ,CAAC;AAExB,cAAc,SAAS,CAAC;AAExB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EAAC,IAAI,EAAC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,QAAA,MAAM,QAAQ,qLAAmB,CAAC;AAElC,eAAe,QAAQ,CAAC;AAGxB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAG9B,cAAc,SAAS,CAAC;AAGxB,cAAc,cAAc,CAAC;AAG7B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAG9C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGrE,OAAO,EAAE,IAAI,EAAE,CAAC"}
package/esm/index.js CHANGED
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * @author: yanxianliang
3
3
  * @date: 2025-07-02 09:27
4
- * @desc: 基础Graph 组件
4
+ * @modified:2025/1/17 by yanxianliang
5
+ * @desc: 基础 Graph 组件
5
6
  *
6
7
  * 提供统一图解决方案底层
7
8
  *
@@ -11,17 +12,35 @@ import { Flow } from "./Flow";
11
12
  import { createFlow } from "./hoc/createFlow";
12
13
  var BaseFlow = createFlow(Flow);
13
14
  export default BaseFlow;
15
+
16
+ // 类型导出
14
17
  export * from "./types";
18
+ export * from "./types/props";
19
+
20
+ // Hooks 导出
15
21
  export * from "./hooks";
22
+
23
+ // 组件导出
16
24
  export * from "./components";
25
+
26
+ // 工具函数导出
17
27
  export * from "./utils/parse";
18
28
  export * from "./utils/dimension";
19
- export * from "./hoc/createFlow";
20
- export * from "./hoc/withFlowProvider";
21
29
  export * from "./utils/measureText";
22
30
  export * from "./utils/layouts/mindmap";
31
+ export * from "./utils/wrapNodeTypes";
32
+
33
+ // HOC 导出
34
+ export * from "./hoc/createFlow";
35
+ export * from "./hoc/withFlowProvider";
36
+
37
+ // 常量导出
23
38
  export * from "./constants/NodeRoleType";
24
39
  export * from "./constants/InnerFlowType";
25
40
  export * from "./constants/SelectionStrategy";
41
+
42
+ // Provider 导出
26
43
  export { FlowContext, FlowProvider } from "./providers/FlowProvider";
44
+
45
+ // Flow 组件导出
27
46
  export { Flow };
@@ -10,9 +10,15 @@ export declare const FlowProvider: React.ComponentType<{
10
10
  }>;
11
11
  /**
12
12
  * hooks 创建
13
- * selector 创建
13
+ * @deprecated 使用 hooks/state 目录下的 hooks
14
14
  */
15
15
  export declare const useSelector: <U>(selector: (state: ExtractState<StoreApi<BaseStateType>>) => U) => U;
16
+ /**
17
+ * @deprecated 使用 hooks/state/useSetState
18
+ */
16
19
  export declare const useSetState: () => (partial: BaseStateType | Partial<BaseStateType> | ((state: BaseStateType) => BaseStateType | Partial<BaseStateType>), replace?: boolean | undefined) => void;
20
+ /**
21
+ * @deprecated 使用 hooks/state/useGetState
22
+ */
17
23
  export declare const useGetState: () => () => BaseStateType;
18
24
  //# sourceMappingURL=FlowProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FlowProvider.d.ts","sourceRoot":"","sources":["FlowProvider.tsx"],"names":[],"mappings":"AASA,OAAO,KAAmC,MAAM,OAAO,CAAC;AACxD,OAAO,EAAS,aAAa,EAAC,MAAM,SAAS,CAAC;AAE9C,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,aAAa,EAAE,YAAY,EAAC,MAAM,UAAU,CAAC;AAGrD,eAAO,MAAM,WAAW;;EAET,CAAC;AA8BhB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAAC,CAe1E,CAAA;AAGF;;;GAGG;AACH,eAAO,MAAM,WAAW,wBAA2B,aAAa,SAAS,aAAa,CAAC,CAAC,KAAK,CAAC,MAO7F,CAAA;AAED,eAAO,MAAM,WAAW,qKAOvB,CAAA;AAED,eAAO,MAAM,WAAW,2BAOvB,CAAA"}
1
+ {"version":3,"file":"FlowProvider.d.ts","sourceRoot":"","sources":["FlowProvider.tsx"],"names":[],"mappings":"AASA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAU,aAAa,EAAE,MAAM,SAAS,CAAC;AAEhD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGvD,eAAO,MAAM,WAAW;;EAET,CAAC;AA2ChB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAc1E,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,WAAW,wBACJ,aAAa,SAAS,aAAa,CAAC,CAAC,KAAK,CAAC,MAQ9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,qKAOvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,2BAOvB,CAAC"}
@@ -7,8 +7,8 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
7
  /**
8
8
  * @author: yanxianliang
9
9
  * @date: 2025-10-16 17:28
10
- * @modified:2025/10/16 17:28 by yanxianliang
11
- * @desc: 全局状态管理器
10
+ * @modified:2025/1/17 by yanxianliang
11
+ * @desc: 全局状态管理器 - 支持双层 Props 存储
12
12
  *
13
13
  * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
14
14
  */
@@ -17,23 +17,36 @@ import React, { memo, useContext, useState } from "react";
17
17
  import { create } from "zustand";
18
18
  import { devtools } from "zustand/middleware";
19
19
  import { jsx as _jsx } from "react/jsx-runtime";
20
- // Context 外部提供,支持inner hooks
20
+ // Context 外部提供,支持 inner hooks
21
21
  export var FlowContext = /*#__PURE__*/React.createContext(null);
22
+
23
+ /**
24
+ * 创建初始状态
25
+ */
26
+ var createInitialState = function createInitialState() {
27
+ return {
28
+ id: '',
29
+ props: undefined,
30
+ // 向后兼容
31
+ inputProps: undefined,
32
+ // 原始输入 props
33
+ flowProps: undefined,
34
+ // 转换后的 Flow props
35
+ onEdgesChangeHandlers: [],
36
+ forceRenderTimes: 0,
37
+ initialNodeIdSet: new Set(),
38
+ nodeTypeMap: new Map(),
39
+ smartEdges: {},
40
+ edgeStore: {}
41
+ };
42
+ };
22
43
  var FlowProviderWrapper = function FlowProviderWrapper(_ref) {
23
44
  var children = _ref.children;
24
45
  var _useState = useState(function () {
25
- return create(devtools(function (set) {
26
- return {
27
- onEdgesChangeHandlers: [],
28
- // onChange 列表
29
- forceRenderTimes: 0,
30
- initialNodeIdSet: new Set(),
31
- nodeTypeMap: new Map(),
32
- smartEdges: {},
33
- edgeStore: {}
34
- };
46
+ return create()(devtools(function () {
47
+ return createInitialState();
35
48
  }, {
36
- name: "flow",
49
+ name: "rxflow",
37
50
  enabled: process.env.NODE_ENV === 'development'
38
51
  }));
39
52
  }),
@@ -61,7 +74,7 @@ export var FlowProvider = /*#__PURE__*/memo(function (_ref2) {
61
74
 
62
75
  /**
63
76
  * hooks 创建
64
- * selector 创建
77
+ * @deprecated 使用 hooks/state 目录下的 hooks
65
78
  */
66
79
  export var useSelector = function useSelector(selector) {
67
80
  var context = useContext(FlowContext);
@@ -71,6 +84,10 @@ export var useSelector = function useSelector(selector) {
71
84
  }
72
85
  return context.useStore(selector);
73
86
  };
87
+
88
+ /**
89
+ * @deprecated 使用 hooks/state/useSetState
90
+ */
74
91
  export var useSetState = function useSetState() {
75
92
  var context = useContext(FlowContext);
76
93
  if (!context) {
@@ -79,6 +96,10 @@ export var useSetState = function useSetState() {
79
96
  }
80
97
  return context.useStore.setState;
81
98
  };
99
+
100
+ /**
101
+ * @deprecated 使用 hooks/state/useGetState
102
+ */
82
103
  export var useGetState = function useGetState() {
83
104
  var context = useContext(FlowContext);
84
105
  if (!context) {
@@ -1,16 +1,21 @@
1
1
  /**
2
2
  * @author: yanxianliang
3
3
  * @date: 2025-10-16 19:35
4
- * @modified:2025/10/16 19:35 by yanxianliang
5
- * @desc: Props 存储
4
+ * @modified:2025/1/17 by yanxianliang
5
+ * @desc: Props 存储 - 双层存储设计
6
+ *
7
+ * 支持同时存储原始输入 props 和转换后的 flow props
6
8
  *
7
9
  * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
8
10
  */
9
11
  import { IBaseFlowProps } from "../types";
10
- import { Edge, Node } from "@xyflow/react";
11
12
  import { ReactNode } from "react";
12
- export declare const PropsStore: <NodeType extends Node = Node, EdgeType extends Edge = Edge>({ props, children }: {
13
- props: IBaseFlowProps<NodeType, EdgeType>;
13
+ export interface PropsStoreProps<TInputProps extends Record<string, any> = Record<string, any>, TFlowProps extends IBaseFlowProps = IBaseFlowProps> {
14
+ /** 原始输入 props(用户传入的) */
15
+ inputProps: TInputProps;
16
+ /** 转换后的 Flow props(传给 Flow 组件的) */
17
+ flowProps: TFlowProps;
14
18
  children: ReactNode;
15
- }) => import("react/jsx-runtime").JSX.Element;
19
+ }
20
+ export declare const PropsStore: <TInputProps extends Record<string, any> = Record<string, any>, TFlowProps extends IBaseFlowProps<import("@xyflow/react").Node, import("@xyflow/react").Edge> = IBaseFlowProps<import("@xyflow/react").Node, import("@xyflow/react").Edge>>({ inputProps, flowProps, children }: PropsStoreProps<TInputProps, TFlowProps>) => import("react/jsx-runtime").JSX.Element;
16
21
  //# sourceMappingURL=PropsStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PropsStore.d.ts","sourceRoot":"","sources":["PropsStore.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAC,cAAc,EAAkB,MAAM,UAAU,CAAC;AAEzD,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,eAAe,CAAC;AAEzC,OAAc,EAAC,SAAS,EAA6B,MAAM,OAAO,CAAC;AAKnE,eAAO,MAAM,UAAU;WAQZ,eAAe,QAAQ,EAAE,QAAQ,CAAC;cAC/B,SAAS;6CAqDtB,CAAA"}
1
+ {"version":3,"file":"PropsStore.d.ts","sourceRoot":"","sources":["PropsStore.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,cAAc,EAAmB,MAAM,UAAU,CAAC;AAG3D,OAAO,EAAE,SAAS,EAA8B,MAAM,OAAO,CAAC;AAK9D,MAAM,WAAW,eAAe,CAC9B,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7D,UAAU,SAAS,cAAc,GAAG,cAAc;IAElD,wBAAwB;IACxB,UAAU,EAAE,WAAW,CAAC;IACxB,mCAAmC;IACnC,SAAS,EAAE,UAAU,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAiCD,eAAO,MAAM,UAAU,mRAOpB,gBAAgB,WAAW,EAAE,UAAU,CAAC,4CAyC1C,CAAC"}
@@ -1,68 +1,109 @@
1
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
2
+ 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); }
3
+ 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; }
1
4
  /**
2
5
  * @author: yanxianliang
3
6
  * @date: 2025-10-16 19:35
4
- * @modified:2025/10/16 19:35 by yanxianliang
5
- * @desc: Props 存储
7
+ * @modified:2025/1/17 by yanxianliang
8
+ * @desc: Props 存储 - 双层存储设计
9
+ *
10
+ * 支持同时存储原始输入 props 和转换后的 flow props
6
11
  *
7
12
  * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
8
13
  */
9
14
 
10
15
  import { NodeRoleType } from "../constants/NodeRoleType";
11
16
  import { useDeepCompareEffect } from 'ahooks';
12
- import React, { useEffect, useMemo, useRef } from "react";
17
+ import { useEffect, useMemo, useRef } from "react";
13
18
  import { v4 as uuid } from "uuid";
14
- import { useGetState } from "./..";
15
- import { useSetState } from "./..";
19
+ import { useGetState } from "../hooks/state/useGetState";
20
+ import { useSetState } from "../hooks/state/useSetState";
16
21
  import { jsx as _jsx } from "react/jsx-runtime";
17
22
  import { Fragment as _Fragment } from "react/jsx-runtime";
18
23
  import { jsxs as _jsxs } from "react/jsx-runtime";
24
+ /**
25
+ * 构建 nodeTypeMap
26
+ */
27
+ var buildNodeTypeMap = function buildNodeTypeMap(nodeTypes) {
28
+ var map = new Map();
29
+ if (nodeTypes) {
30
+ var _iterator = _createForOfIteratorHelper(nodeTypes),
31
+ _step;
32
+ try {
33
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
34
+ var definition = _step.value;
35
+ map.set(definition.type, definition);
36
+ }
37
+ } catch (err) {
38
+ _iterator.e(err);
39
+ } finally {
40
+ _iterator.f();
41
+ }
42
+ }
43
+ return map;
44
+ };
45
+
46
+ /**
47
+ * 生成 SubFlow 样式
48
+ */
49
+ var generateSubFlowStyles = function generateSubFlowStyles(nodeTypes) {
50
+ var styles = [];
51
+ if (nodeTypes) {
52
+ var _iterator2 = _createForOfIteratorHelper(nodeTypes),
53
+ _step2;
54
+ try {
55
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
56
+ var _definition$allowCont;
57
+ var definition = _step2.value;
58
+ if (definition.nodeRoleType === NodeRoleType.SubFlow && ((_definition$allowCont = definition.allowContentSelection) !== null && _definition$allowCont !== void 0 ? _definition$allowCont : true)) {
59
+ styles.push(".react-flow__node-".concat(definition.type, " {pointer-events: none!important;}"));
60
+ }
61
+ }
62
+ } catch (err) {
63
+ _iterator2.e(err);
64
+ } finally {
65
+ _iterator2.f();
66
+ }
67
+ }
68
+ return styles;
69
+ };
19
70
  export var PropsStore = function PropsStore(_ref) {
20
- var props = _ref.props,
71
+ var inputProps = _ref.inputProps,
72
+ flowProps = _ref.flowProps,
21
73
  children = _ref.children;
22
74
  var setState = useSetState();
23
75
  var getState = useGetState();
24
76
  var defaultId = useMemo(function () {
25
77
  return uuid();
26
78
  }, []);
27
- var nodeTypes = props.nodeTypes;
79
+ var nodeTypes = flowProps.nodeTypes;
28
80
  var styleContentRef = useRef([]);
29
81
 
30
- // TODO 怎么支持内置的 nodeTypes???
82
+ // 构建 nodeTypeMap
31
83
  var nodeTypeMap = useMemo(function () {
32
- var map = new Map();
33
- styleContentRef.current = [];
34
- if (nodeTypes) {
35
- for (var i = 0; i < nodeTypes.length; i++) {
36
- var _definition$allowCont;
37
- var definition = nodeTypes[i];
38
- map.set(definition.type, definition);
39
- // TODO 子工作流需要禁用内容区域的拖拽
40
- if (definition.nodeRoleType === NodeRoleType.SubFlow && ((_definition$allowCont = definition.allowContentSelection) !== null && _definition$allowCont !== void 0 ? _definition$allowCont : true)) {
41
- // 子工作流,需要固定样式
42
- var type = definition.type;
43
- styleContentRef.current.push(".react-flow__node-".concat(type, " {pointer-events: none!important;}"));
44
- }
45
- }
46
- }
47
- return map;
84
+ styleContentRef.current = generateSubFlowStyles(nodeTypes);
85
+ return buildNodeTypeMap(nodeTypes);
48
86
  }, [nodeTypes]);
49
87
 
50
- // TODO 更新属性怎么更好的区分
88
+ // 更新状态 - 同时存储 inputProps 和 flowProps
51
89
  useDeepCompareEffect(function () {
52
90
  setState({
53
- props: props,
54
- id: props.id || defaultId,
91
+ // 分别存储原始和转换后的 props
92
+ inputProps: inputProps,
93
+ flowProps: flowProps,
94
+ // 其他状态
95
+ id: flowProps.id || defaultId,
55
96
  nodeTypeMap: nodeTypeMap
56
97
  });
57
- }, [props.edges, props.nodes, props.nodeTypes, props.loading]);
58
- useEffect(function () {
59
- // nodes 变化,需要重新进行初始化,清除当前初始化记录
60
- getState().initialNodeIdSet.clear();
61
- }, [props.nodes]);
98
+ }, [inputProps, flowProps]);
62
99
 
63
- // 样式需要注入
100
+ // nodes 变化时清除初始化记录
101
+ useEffect(function () {
102
+ var _getState$initialNode;
103
+ (_getState$initialNode = getState().initialNodeIdSet) === null || _getState$initialNode === void 0 || _getState$initialNode.clear();
104
+ }, [flowProps.nodes]);
64
105
  return /*#__PURE__*/_jsxs(_Fragment, {
65
- children: [/*#__PURE__*/_jsx("style", {
106
+ children: [styleContentRef.current.length > 0 && /*#__PURE__*/_jsx("style", {
66
107
  children: styleContentRef.current.join('')
67
108
  }), children]
68
109
  });
@@ -0,0 +1,83 @@
1
+ /**
2
+ * @author: yanxianliang
3
+ * @date: 2025-01-17
4
+ * @desc: Props 类型定义 - 分层设计
5
+ *
6
+ * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
7
+ */
8
+ import { Edge, Node, PanelPosition, ReactFlowProps } from "@xyflow/react";
9
+ import React from "react";
10
+ import { MarkDefinition } from "../components/MarkerDefinitions/types";
11
+ import { ScrollbarPluginOptions } from "../plugins/scrollbar/types";
12
+ import { BaseThemeConfig, INodeDefinition, LayoutFunction } from "../types";
13
+ /**
14
+ * 核心层 Props - ReactFlow 原生属性的扩展
15
+ * 这些属性会透传给 ReactFlow
16
+ */
17
+ export interface CoreFlowProps<NodeType extends Node = Node, EdgeType extends Edge = Edge> extends Omit<ReactFlowProps<NodeType, EdgeType>, 'nodeTypes' | 'width' | 'height'> {
18
+ nodeTypes?: Array<INodeDefinition<NodeType['data']>>;
19
+ }
20
+ /**
21
+ * 框架层 Props - rxflow 框架属性
22
+ * 这些属性不透传给 ReactFlow,由框架内部消费
23
+ */
24
+ export interface FrameworkProps<NodeType extends Node = Node, EdgeType extends Edge = Edge> {
25
+ width?: string | number;
26
+ height?: string | number;
27
+ rootStyle?: React.CSSProperties;
28
+ showControls?: boolean;
29
+ controlsPosition?: PanelPosition;
30
+ controlsOrientation?: 'horizontal' | 'vertical';
31
+ customControls?: React.ReactNode;
32
+ showMiniMap?: boolean;
33
+ getMiniMapNodeColor?: (node: Node) => string;
34
+ showFullscreen?: boolean;
35
+ showForceLayout?: boolean;
36
+ showInteractive?: boolean;
37
+ showFitView?: boolean;
38
+ showZoom?: boolean;
39
+ showLegend?: boolean | {
40
+ showAll?: boolean;
41
+ };
42
+ layout?: LayoutFunction<NodeType, EdgeType>;
43
+ forceLayout?: boolean;
44
+ autoCenter?: boolean;
45
+ theme?: BaseThemeConfig;
46
+ background?: string;
47
+ plugins?: {
48
+ scroller?: false | ScrollbarPluginOptions;
49
+ };
50
+ markers?: MarkDefinition[];
51
+ onZoomIn?: () => void;
52
+ onZoomOut?: () => void;
53
+ onFitView?: () => void;
54
+ onInteractiveChange?: (interactiveStatus: boolean) => void;
55
+ onRender?: (nodes: NodeType[], edges: EdgeType[], timing: number) => void;
56
+ forceFitView?: boolean;
57
+ loading?: boolean;
58
+ readOnly?: boolean;
59
+ debug?: boolean;
60
+ }
61
+ /**
62
+ * 完整的 Base Flow Props
63
+ */
64
+ export type BaseFlowProps<NodeType extends Node = Node, EdgeType extends Edge = Edge> = CoreFlowProps<NodeType, EdgeType> & FrameworkProps<NodeType, EdgeType>;
65
+ /**
66
+ * Props Store 状态类型
67
+ */
68
+ export interface PropsStoreState<TInputProps = Record<string, any>, TFlowProps = Record<string, any>> {
69
+ /** 原始输入 props(用户传入的) */
70
+ inputProps: TInputProps;
71
+ /** 转换后的 Flow props(传给 Flow 组件的) */
72
+ flowProps: TFlowProps;
73
+ }
74
+ /**
75
+ * 创建扩展包 Props 类型的辅助类型
76
+ * 用于移除基础包中不需要的属性
77
+ */
78
+ export type OmitBaseProps<T> = Omit<T, 'nodes' | 'edges' | 'defaultNodes' | 'defaultEdges'>;
79
+ /**
80
+ * 创建扩展包 Props 类型
81
+ */
82
+ export type ExtendFlowProps<TBase, TExtend, TOmit extends keyof TBase = never> = Omit<TBase, TOmit | 'nodes' | 'edges' | 'defaultNodes' | 'defaultEdges'> & TExtend;
83
+ //# sourceMappingURL=props.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["props.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
package/esm/types.d.ts CHANGED
@@ -168,7 +168,6 @@ export interface IBaseFlowProps<NodeType extends Node = Node, EdgeType extends E
168
168
  * @description nodes 节点变化/初始化渲染回调
169
169
  */
170
170
  onRender?: (nodes: NodeType[], edges: EdgeType[], timing: number) => void;
171
- omitProps?: string[];
172
171
  /**
173
172
  * 强制执行 fitView 逻辑,当 nodes 变化时自动触发 forceFitView
174
173
  */
@@ -209,7 +208,12 @@ export type PopupTriggerEventType = {
209
208
  };
210
209
  export type BaseStateType = {
211
210
  id: string;
211
+ /** @deprecated 使用 flowProps 代替 */
212
212
  props: Record<string, any>;
213
+ /** 原始输入 props(用户传入的) */
214
+ inputProps: Record<string, any>;
215
+ /** 转换后的 Flow props(传给 Flow 组件的) */
216
+ flowProps: Record<string, any>;
213
217
  onEdgesChangeHandlers: OnEdgesChange<any>[];
214
218
  isNodeDragging: boolean;
215
219
  forceRenderTimes: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAC,MAAM,eAAe,CAAC;AAC9H,OAAO,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAC,cAAc,EAAC,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAC,sBAAsB,EAAC,MAAM,2BAA2B,CAAC;AAEjE,MAAM,MAAM,iBAAiB,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC9F,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;IAC3C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,gBAAgB,CAAC;IAC5D,WAAW,CAAC,EAAE;QACZ,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,eAAe,KAAK,MAAM,CAAC,CAAC;QAC3E,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,eAAe,KAAK,MAAM,CAAC,CAAC;KAC7E,CAAC;CACH,CAAC;AAGF,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAGxC;;OAEG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,YAAY,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI;IACrF,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC7C,WAAW,EAAE,QAAQ,EAAE,CAAC;IACxB,WAAW,EAAE,QAAQ,EAAE,CAAC;IACxB,KAAK,EAAE,eAAe,CAAC;IACvB,yBAAyB,EAAE,OAAO,CAAC;IACnC,KAAK,EAAE,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC1C,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,cAAc,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAE,CACrF,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,KACrC,CAAC;IACJ,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB,CAAC,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAA;AAED,MAAM,WAAW,eAAe,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACjG,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACzC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,gBAAgB,CAAC;IAC5D,WAAW,CAAC,EAAE;QACZ,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,eAAe,KAAK,MAAM,CAAC,CAAC;QAC3E,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,eAAe,KAAK,MAAM,CAAC,CAAC;KAC7E,CAAC;IAEF,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,cAAc,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,SAAS,IAAI,GAAG,IAAI,CAAE,SAAQ,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC5K;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;IAExB,SAAS,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAErD;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,gBAAgB,CAAC,EAAE,aAAa,CAAC;IAEjC,mBAAmB,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAEhD,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAGjC,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;IAE7C,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG;QACrB;;;WAGG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IAEF;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAGrB,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAEhC,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC5C;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAE3B,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,KAAK,GAAG,sBAAsB,CAAC;KAC3C,CAAA;IAED;;;OAGG;IAGH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,CAAC,iBAAiB,EAAE,OAAO,KAAK,IAAI,CAAC;IAG3D;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAE1E;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAGD,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACtC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC,CAAA;AAGD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG;IACxC,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;AAGF,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC9D,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC9D,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAChE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAChE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;CAC1D,CAAA;AAID,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IAEX,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE3B,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEhC,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE/B,qBAAqB,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5C,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC,CAAA;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS;IACtC,QAAQ,EAAE,MAAM,MAAM,CAAC,CAAC;CACzB,GAAG,CAAC,GAAG,KAAK,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @author: yanxianliang
3
+ * @date: 2025-01-17
4
+ * @desc: NodeTypes 包装工具 - 标准化节点类型包装机制
5
+ *
6
+ * Copyright (c) 2025 by yanxianliang, All Rights Reserved.
7
+ */
8
+ import { INodeDefinition, NodeTypeComponent } from "../types";
9
+ /**
10
+ * 包装器接口
11
+ */
12
+ export interface NodeTypeWrapper {
13
+ /** 包装组件 */
14
+ wrap<T extends Record<string, unknown>>(definition: INodeDefinition<T>, WrapperComponent: NodeTypeComponent<T>): INodeDefinition<T>;
15
+ /** 获取原始组件 */
16
+ getOriginal<T extends Record<string, unknown>>(definition: INodeDefinition<T>): NodeTypeComponent<T> | undefined;
17
+ }
18
+ /**
19
+ * 创建节点类型包装器
20
+ */
21
+ export declare const createNodeTypeWrapper: () => NodeTypeWrapper;
22
+ /**
23
+ * 批量包装节点类型
24
+ */
25
+ export declare const wrapNodeTypes: <T extends Record<string, unknown> = Record<string, unknown>>(nodeTypes: INodeDefinition<T>[] | undefined, WrapperComponent: NodeTypeComponent<any>, filter?: ((definition: INodeDefinition<T>) => boolean) | undefined) => INodeDefinition<T>[];
26
+ /**
27
+ * 默认的节点类型包装器实例
28
+ */
29
+ export declare const nodeTypeWrapper: NodeTypeWrapper;
30
+ //# sourceMappingURL=wrapNodeTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrapNodeTypes.d.ts","sourceRoot":"","sources":["wrapNodeTypes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW;IACX,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAC9B,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,CAAC,GACrC,eAAe,CAAC,CAAC,CAAC,CAAC;IAEtB,aAAa;IACb,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3C,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,GAC7B,iBAAiB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;CACrC;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,QAAO,eAiBvC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa,2EACb,gBAAgB,CAAC,CAAC,EAAE,GAAG,SAAS,oBACzB,kBAAkB,GAAG,CAAC,yBAClB,gBAAgB,CAAC,CAAC,KAAK,OAAO,kBACnD,gBAAgB,CAAC,CAAC,EAYpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,iBAA0B,CAAC"}