@digitalsee-ai/rcs 0.0.15 → 1.0.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 (191) hide show
  1. package/README.md +237 -237
  2. package/dist/components/digitalsee/workflow/Canvas/NextConfigModalWrapper.d.ts +9 -0
  3. package/dist/components/digitalsee/workflow/Canvas/NextWorkflowCanvas.d.ts +4 -0
  4. package/dist/components/digitalsee/workflow/Canvas/NextWorkflowCanvasHeader.d.ts +15 -0
  5. package/dist/components/digitalsee/workflow/Canvas/WorkflowCanvas.d.ts +1 -12
  6. package/dist/components/digitalsee/workflow/Canvas/WorkflowCanvasBase.d.ts +4 -0
  7. package/dist/components/digitalsee/workflow/Canvas/WorkflowCanvasHeader.d.ts +2 -1
  8. package/dist/components/digitalsee/workflow/Canvas/color.d.ts +1 -1
  9. package/dist/components/digitalsee/workflow/Canvas/constants.d.ts +75 -0
  10. package/dist/components/digitalsee/workflow/Canvas/hooks/createNodeAddHandlerNext.d.ts +49 -0
  11. package/dist/components/digitalsee/workflow/Canvas/hooks/useCanvasApi.d.ts +22 -0
  12. package/dist/components/digitalsee/workflow/Canvas/hooks/useDataLoading.d.ts +21 -0
  13. package/dist/components/digitalsee/workflow/Canvas/hooks/useNodeAddCallback.d.ts +44 -0
  14. package/dist/components/digitalsee/workflow/Canvas/hooks/useNodeFormDraftCache.d.ts +14 -0
  15. package/dist/components/digitalsee/workflow/Canvas/hooks/useWorkflowCanvasState.d.ts +78 -0
  16. package/dist/components/digitalsee/workflow/Canvas/types.d.ts +91 -0
  17. package/dist/components/digitalsee/workflow/Edges/BaseEdge.d.ts +3 -2
  18. package/dist/components/digitalsee/workflow/Edges/EdgeFactory.d.ts +43 -0
  19. package/dist/components/digitalsee/workflow/NextNodesConfigModal/index.d.ts +13 -0
  20. package/dist/components/digitalsee/workflow/Nodes/ActionNode.d.ts +3 -3
  21. package/dist/components/digitalsee/workflow/Nodes/AgentNode.d.ts +2 -2
  22. package/dist/components/digitalsee/workflow/Nodes/BrowserNode.d.ts +2 -2
  23. package/dist/components/digitalsee/workflow/Nodes/CustomNode.d.ts +2 -2
  24. package/dist/components/digitalsee/workflow/Nodes/NextNodeFactory.d.ts +11 -0
  25. package/dist/components/digitalsee/workflow/Nodes/NextNodes/NextActionNode.d.ts +9 -0
  26. package/dist/components/digitalsee/workflow/Nodes/NextNodes/NextBaseNode.d.ts +15 -0
  27. package/dist/components/digitalsee/workflow/Nodes/NextNodes/NextConditionNode.d.ts +10 -0
  28. package/dist/components/digitalsee/workflow/Nodes/NextNodes/NextLoopNode.d.ts +10 -0
  29. package/dist/components/digitalsee/workflow/Nodes/NextNodes/NextSwitchNode.d.ts +10 -0
  30. package/dist/components/digitalsee/workflow/Nodes/NextNodes/NextTriggerNode.d.ts +9 -0
  31. package/dist/components/digitalsee/workflow/Nodes/NodeFactory.d.ts +3 -12
  32. package/dist/components/digitalsee/workflow/Nodes/StickyNoteNode.d.ts +2 -2
  33. package/dist/components/digitalsee/workflow/Nodes/SuperBaseNode.d.ts +1 -1
  34. package/dist/components/digitalsee/workflow/Nodes/components/NextNodeDescription.d.ts +16 -0
  35. package/dist/components/digitalsee/workflow/Nodes/components/NextNodeOperations.d.ts +11 -0
  36. package/dist/components/digitalsee/workflow/Nodes/components/NodeOperations.d.ts +1 -1
  37. package/dist/components/digitalsee/workflow/NodesConfig/ActionNodeConfig/index.d.ts +7 -1
  38. package/dist/components/digitalsee/workflow/NodesConfig/ConditionNodeConfig/index.d.ts +5 -4
  39. package/dist/components/digitalsee/workflow/NodesConfig/ErrorHandler.d.ts +17 -2
  40. package/dist/components/digitalsee/workflow/NodesConfig/LoopNodeConfig/index.d.ts +2 -3
  41. package/dist/components/digitalsee/workflow/NodesConfig/NextNodeConfig/CreateCredentialModal.d.ts +13 -0
  42. package/dist/components/digitalsee/workflow/NodesConfig/NextNodeConfig/CredentialSelect.d.ts +17 -0
  43. package/dist/components/digitalsee/workflow/NodesConfig/NextNodeConfig/ModifyCredentialModal.d.ts +17 -0
  44. package/dist/components/digitalsee/workflow/NodesConfig/NextNodeConfig/fieldSchemaAdapter.d.ts +10 -0
  45. package/dist/components/digitalsee/workflow/NodesConfig/NextNodeConfig/fieldSchemaAdapter.test.d.ts +1 -0
  46. package/dist/components/digitalsee/workflow/NodesConfig/NextNodeConfig/index.d.ts +15 -0
  47. package/dist/components/digitalsee/workflow/NodesConfig/SwitchNodeConfig/index.d.ts +6 -5
  48. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/CreateAccountModal/index.d.ts +2 -0
  49. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/CredentialAccountForm.d.ts +10 -0
  50. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/fields/DateField/index.d.ts +1 -1
  51. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/fields/DateTimeField/index.d.ts +1 -1
  52. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/fields/ExtendObjectField/index.d.ts +1 -1
  53. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/fields/FixedObjectField/index.d.ts +1 -1
  54. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/fields/PasswordField/index.d.ts +2 -1
  55. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/fields/TextAreaField/index.d.ts +1 -1
  56. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/fields/TextField/index.d.ts +1 -1
  57. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/fields/TimeField/index.d.ts +1 -1
  58. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/index.d.ts +1 -1
  59. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/ModifyAccountModal/index.d.ts +3 -0
  60. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/index.d.ts +5 -3
  61. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/components/AIFormField.d.ts +1 -1
  62. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/DateField/index.d.ts +1 -1
  63. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/DateTimeField/index.d.ts +1 -1
  64. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/FixedObjectField/index.d.ts +1 -1
  65. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/HourMinuteField/index.d.ts +5 -0
  66. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/{JavscriptTagEditorField → JavascriptTagEditorField}/common-placeholder-theme.d.ts +11 -11
  67. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JavascriptTagEditorField/editor.d.ts +1 -0
  68. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/{JavscriptTagEditorField → JavascriptTagEditorField}/interface.d.ts +1 -1
  69. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/{JavscriptTagEditorField → JavascriptTagEditorField}/plugin/keywords.d.ts +2 -0
  70. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JsonTagField/common-placeholder-theme.d.ts +11 -11
  71. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JsonTagField/interface.d.ts +1 -1
  72. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JsonTagField/plugin/keywords.d.ts +2 -0
  73. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JsonTagField/plugin/keywords.test.d.ts +1 -0
  74. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/{MutilRowAIExtractConfigField → MultiRowAIExtractConfigField}/index.d.ts +2 -2
  75. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/RichTagInput/index.d.ts +1 -1
  76. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/RichTagInput/useVariableInfo.d.ts +13 -0
  77. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/TextField/index.d.ts +2 -2
  78. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/TimeField/index.d.ts +1 -1
  79. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/index.d.ts +3 -3
  80. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/next-compatible.d.ts +2 -0
  81. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/next-compatible.test.d.ts +1 -0
  82. package/dist/components/digitalsee/workflow/NodesConfig/components/NextNodeSettings.d.ts +6 -0
  83. package/dist/components/digitalsee/workflow/NodesConfig/components/NextNodeTest.d.ts +6 -0
  84. package/dist/components/digitalsee/workflow/NodesConfig/components/NextVariableModal/index.d.ts +6 -0
  85. package/dist/components/digitalsee/workflow/NodesConfig/components/NextVariableModal/variable-tree-next.d.ts +49 -0
  86. package/dist/components/digitalsee/workflow/NodesConfig/components/NextVariableModal/variable-tree-next.test.d.ts +1 -0
  87. package/dist/components/digitalsee/workflow/NodesConfig/components/VariableModal/index.d.ts +2 -1
  88. package/dist/components/digitalsee/workflow/NodesConfig/context.d.ts +4 -0
  89. package/dist/components/digitalsee/workflow/NodesConfig/define/actions.d.ts +3 -3
  90. package/dist/components/digitalsee/workflow/NodesConfig/define/condition.d.ts +5 -58
  91. package/dist/components/digitalsee/workflow/NodesConfig/define/condition.test.d.ts +1 -0
  92. package/dist/components/digitalsee/workflow/NodesConfig/define/flow.d.ts +1 -26
  93. package/dist/components/digitalsee/workflow/NodesConfig/index.d.ts +3 -6
  94. package/dist/components/digitalsee/workflow/NodesConfig/utils/credentialRequirement.d.ts +17 -0
  95. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/CategoryTabs.d.ts +1 -1
  96. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/types.d.ts +17 -1
  97. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/utils/dataTransformers.d.ts +2 -1
  98. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/utils/dataTransformers.test.d.ts +1 -0
  99. package/dist/components/digitalsee/workflow/Panels/SimpleNodeSelectorPanel/components/NodeListItem.d.ts +8 -0
  100. package/dist/components/digitalsee/workflow/Panels/SimpleNodeSelectorPanel/hooks/useNodeList.d.ts +14 -0
  101. package/dist/components/digitalsee/workflow/Panels/SimpleNodeSelectorPanel/index.d.ts +9 -0
  102. package/dist/components/digitalsee/workflow/api/dip.d.ts +311 -0
  103. package/dist/components/digitalsee/workflow/api/dip.types.d.ts +996 -0
  104. package/dist/components/digitalsee/workflow/api/index.d.ts +38 -13
  105. package/dist/components/digitalsee/workflow/api/index.test.d.ts +1 -0
  106. package/dist/components/digitalsee/workflow/builtin/controls/MultiRowGuard/index.d.ts +13 -0
  107. package/dist/components/digitalsee/workflow/builtin/controls/{MutilRowGuard → MultiRowGuard}/types.d.ts +15 -23
  108. package/dist/components/digitalsee/workflow/builtin/controls/MutilRowGuard/index.d.ts +9 -9
  109. package/dist/components/digitalsee/workflow/builtin/globalConfig/index.d.ts +1 -0
  110. package/dist/components/digitalsee/workflow/builtin/globalConfig/service.d.ts +8 -0
  111. package/dist/components/digitalsee/workflow/builtin/globalConfig/service.test.d.ts +1 -0
  112. package/dist/components/digitalsee/workflow/builtin/globalConfig/types.d.ts +17 -0
  113. package/dist/components/digitalsee/workflow/constants/nextHandles.d.ts +1 -0
  114. package/dist/components/digitalsee/workflow/enums/canvas.d.ts +63 -0
  115. package/dist/components/digitalsee/workflow/enums/edge.d.ts +10 -0
  116. package/dist/components/digitalsee/workflow/enums/handle.d.ts +42 -0
  117. package/dist/components/digitalsee/workflow/enums/index.d.ts +5 -0
  118. package/dist/components/digitalsee/workflow/enums/node.d.ts +199 -0
  119. package/dist/components/digitalsee/workflow/enums/workflow.d.ts +90 -0
  120. package/dist/components/digitalsee/workflow/events/eventBus.d.ts +8 -2
  121. package/dist/components/digitalsee/workflow/hooks/use-before-unload.d.ts +1 -1
  122. package/dist/components/digitalsee/workflow/hooks/useCanvasLayout.d.ts +2 -1
  123. package/dist/components/digitalsee/workflow/hooks/useHandleConnections.d.ts +1 -1
  124. package/dist/components/digitalsee/workflow/hooks/usePanel.d.ts +26 -0
  125. package/dist/components/digitalsee/workflow/hooks/useVariables.d.ts +52 -0
  126. package/dist/components/digitalsee/workflow/hooks/useWorkflow.d.ts +3 -3
  127. package/dist/components/digitalsee/workflow/index.d.ts +11 -2
  128. package/dist/components/digitalsee/workflow/store/index.d.ts +17 -0
  129. package/dist/components/digitalsee/workflow/store/panelSlice.d.ts +5 -5
  130. package/dist/components/digitalsee/workflow/store/workflowSlice.d.ts +44 -0
  131. package/dist/components/digitalsee/workflow/store/workflowSlice.test.d.ts +1 -0
  132. package/dist/components/digitalsee/workflow/types/Edge.d.ts +1 -3
  133. package/dist/components/digitalsee/workflow/types/Handle.d.ts +3 -29
  134. package/dist/components/digitalsee/workflow/types/Node.d.ts +25 -63
  135. package/dist/components/digitalsee/workflow/types/NodeProtocol.d.ts +1 -12
  136. package/dist/components/digitalsee/workflow/types/Workflow.d.ts +4 -26
  137. package/dist/components/digitalsee/workflow/types/engine.d.ts +2 -0
  138. package/dist/components/digitalsee/workflow/utils/common.d.ts +1 -0
  139. package/dist/components/digitalsee/workflow/utils/flowDataAdapterNext.d.ts +13 -0
  140. package/dist/components/digitalsee/workflow/utils/glob.d.ts +1 -1
  141. package/dist/components/digitalsee/workflow/utils/layoutUtils.d.ts +2 -3
  142. package/dist/components/digitalsee/workflow/utils/nextNodeSchemaCache.d.ts +6 -0
  143. package/dist/components/digitalsee/workflow/utils/nextNodeSchemaCache.test.d.ts +1 -0
  144. package/dist/components/digitalsee/workflow/utils/nodeDataFormatter.d.ts +1 -1
  145. package/dist/components/digitalsee/workflow/utils/nodeDataFormatterNext.d.ts +11 -0
  146. package/dist/components/digitalsee/workflow/utils/nodeSummaryAdapter.d.ts +15 -0
  147. package/dist/components/dynamic-form/DynamicForm.d.ts +8 -3
  148. package/dist/components/dynamic-form/DynamicForm.test.d.ts +1 -0
  149. package/dist/components/dynamic-form/DynamicFormContext.d.ts +4 -0
  150. package/dist/components/dynamic-form/FieldRenderer.d.ts +6 -2
  151. package/dist/components/dynamic-form/components/ValueModeWrapper/index.d.ts +7 -1
  152. package/dist/components/dynamic-form/components/VariableInput/index.d.ts +1 -0
  153. package/dist/components/dynamic-form/fields/complex/KeyValueField.test.d.ts +1 -0
  154. package/dist/components/dynamic-form/fields/index.d.ts +12 -0
  155. package/dist/components/dynamic-form/index.d.ts +6 -6
  156. package/dist/components/dynamic-form/registry/createFieldComponent.test.d.ts +1 -0
  157. package/dist/components/dynamic-form/registry/index.d.ts +2 -2
  158. package/dist/components/dynamic-form/types/field-component.d.ts +12 -3
  159. package/dist/locales/en-US/common.d.ts +8 -17
  160. package/dist/locales/en-US/components.d.ts +28 -0
  161. package/dist/locales/en-US/link/flow.d.ts +9 -5
  162. package/dist/locales/en-US.d.ts +42 -22
  163. package/dist/locales/index.d.ts +2 -714
  164. package/dist/locales/zh-CN/common.d.ts +8 -17
  165. package/dist/locales/zh-CN/components.d.ts +28 -0
  166. package/dist/locales/zh-CN/link/flow.d.ts +9 -5
  167. package/dist/locales/zh-CN.d.ts +42 -22
  168. package/dist/locales/zh-TW/common.d.ts +8 -17
  169. package/dist/locales/zh-TW/components.d.ts +28 -0
  170. package/dist/locales/zh-TW/link/flow.d.ts +9 -5
  171. package/dist/locales/zh-TW.d.ts +42 -22
  172. package/dist/postcss.config.js +1 -0
  173. package/dist/rcs.css +1 -1
  174. package/dist/rcs.es.js +55706 -50696
  175. package/dist/rcs.es.js.map +1 -0
  176. package/dist/rcs.umd.js +68 -67
  177. package/dist/rcs.umd.js.map +1 -0
  178. package/package.json +145 -150
  179. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/HourMiniuteField/index.d.ts +0 -5
  180. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JavscriptTagEditorField/editor.d.ts +0 -1
  181. package/dist/components/digitalsee/workflow/NodesConfig/define/config-form-item.d.ts +0 -40
  182. package/dist/components/digitalsee/workflow/de.d.ts +0 -1
  183. package/dist/components/digitalsee/workflow/types/SaveStatus.d.ts +0 -1
  184. /package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/{JavscriptTagEditorField → JavascriptTagEditorField}/extensions.d.ts +0 -0
  185. /package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/{JavscriptTagEditorField → JavascriptTagEditorField}/index.d.ts +0 -0
  186. /package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/{JavscriptTagEditorField → JavascriptTagEditorField}/plugin/base-theme.d.ts +0 -0
  187. /package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/{JavscriptTagEditorField → JavascriptTagEditorField}/plugin/custom-completions.d.ts +0 -0
  188. /package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/{JavscriptTagEditorField → JavascriptTagEditorField}/plugin/functions.d.ts +0 -0
  189. /package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/{JavscriptTagEditorField → JavascriptTagEditorField}/plugin/hint.d.ts +0 -0
  190. /package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/{JavscriptTagEditorField → JavascriptTagEditorField}/plugin/placeholders.d.ts +0 -0
  191. /package/dist/components/digitalsee/workflow/hooks/{use-wokflow-id.d.ts → use-workflow-id.d.ts} +0 -0
package/README.md CHANGED
@@ -1,237 +1,237 @@
1
- ![logo](https://www.digitalsee.cn/_next/static/media/logo_purple.a1d68599.svg)
2
-
3
- # @digitalsee/rcs
4
-
5
- **数犀 React 组件库**
6
-
7
-
8
- 为数犀内部提供跨工程运行的React组件服务
9
-
10
-
11
- ---
12
-
13
- ## 📦 安装
14
-
15
- 使用 pnpm(推荐):
16
- ```bash
17
- pnpm add @digitalsee/rcs
18
- ```
19
-
20
- 使用 npm:
21
- ```bash
22
- npm install @digitalsee/rcs
23
- ```
24
-
25
- 使用 yarn:
26
- ```bash
27
- yarn add @digitalsee/rcs
28
- ```
29
-
30
- ## ✨ 特性
31
-
32
- - 🎨 **工作流编辑器** - 基于 ReactFlow 的强大可视化工作流编辑器
33
- - 📊 **数据可视化** - 内置 JSON 渲染器和数据展示组件
34
- - 🌍 **国际化支持** - 内置中文(简体/繁体)和英文支持
35
- - 🎯 **TypeScript** - 完整的 TypeScript 类型支持
36
- - 🔧 **可定制** - 灵活的配置和主题定制
37
- - ⚡ **高性能** - 优化的渲染性能和内存使用
38
- - 📱 **响应式** - 适配各种屏幕尺寸
39
-
40
- ## 🚀 快速开始
41
-
42
- ### 基础使用
43
-
44
- ```tsx
45
- import { Workflow } from '@digitalsee/rcs';
46
- import '@digitalsee/rcs/styles.css';
47
-
48
- function App() {
49
- return (
50
- <Workflow
51
- workflowId="my-workflow"
52
- // 更多配置项...
53
- />
54
- );
55
- }
56
- ```
57
-
58
- ### 使用 JsonRenderer
59
-
60
- ```tsx
61
- import { JsonRenderer } from '@digitalsee/rcs';
62
- import '@digitalsee/rcs/styles.css';
63
-
64
- function App() {
65
- const data = {
66
- name: "示例数据",
67
- value: 123
68
- };
69
-
70
- return <JsonRenderer data={data} />;
71
- }
72
- ```
73
-
74
- ## 📚 主要组件
75
-
76
- ### 🔄 Workflow(工作流)
77
-
78
- 完整的可视化工作流编辑器,支持:
79
-
80
- - ✅ 节点的拖拽和连接
81
- - ✅ 自定义节点类型
82
- - ✅ 边的样式和交互
83
- - ✅ 撤销/重做功能
84
- - ✅ 小地图导航
85
- - ✅ 自动布局
86
- - ✅ 调试面板
87
- - ✅ 数据持久化
88
-
89
- **主要特性:**
90
- - 支持多种节点类型(触发器、动作、条件等)
91
- - 灵活的节点配置面板
92
- - 实时数据流调试
93
- - 节点搜索和筛选
94
- - 快捷键支持
95
-
96
- ### 📋 JsonRenderer
97
-
98
- 强大的 JSON 数据渲染组件:
99
- - 语法高亮
100
- - 可折叠/展开
101
- - 搜索功能
102
- - 复制功能
103
-
104
- ## 🔨 开发
105
-
106
- ### 环境要求
107
-
108
- - Node.js >= 22
109
- - pnpm >= 10.12.1
110
-
111
- ### 开发命令
112
-
113
- ```bash
114
- # 安装依赖
115
- pnpm install
116
-
117
- # 启动 Storybook 开发环境
118
- pnpm dev
119
-
120
- # 构建组件库
121
- pnpm build:vite
122
-
123
- # 运行测试
124
- pnpm test
125
-
126
- # 代码格式化
127
- pnpm format
128
-
129
- # 代码检查
130
- pnpm lint
131
- ```
132
-
133
- ### 构建输出
134
-
135
- ```bash
136
- # 构建并发布新版本
137
- pnpm update:version
138
- ```
139
-
140
- 构建产物包括:
141
- - `dist/rcs.es.js` - ES Module 格式
142
- - `dist/rcs.umd.js` - UMD 格式
143
- - `dist/rcs.css` - 样式文件
144
- - `dist/index.d.ts` - TypeScript 类型定义
145
-
146
- ## 🎨 技术栈
147
-
148
- - **核心框架**: React 19+
149
- - **状态管理**: Redux Toolkit
150
- - **流程图**: @xyflow/react
151
- - **UI 组件**: Ant Design 5+ / Ant Design Pro Components
152
- - **样式方案**: Tailwind CSS + Less
153
- - **代码编辑器**: Monaco Editor / CodeMirror
154
- - **富文本**: Slate.js
155
- - **构建工具**: Vite
156
- - **文档工具**: Storybook
157
- - **代码质量**: Biome
158
- - **测试框架**: Vitest
159
-
160
- ## 📖 依赖要求
161
-
162
- ### Peer Dependencies
163
-
164
- 确保你的项目中已安装以下依赖:
165
-
166
- - `react` >= 18.0.0
167
- - `react-dom` >= 18.0.0
168
- - `antd` >= 5.0.0
169
- - `@ant-design/icons` >= 5.0.0
170
- - `@ant-design/pro-components` >= 2.0.0
171
- - `@reduxjs/toolkit` >= 2.0.0
172
- - `react-redux` >= 9.0.0
173
- - `@xyflow/react` >= 12.0.0
174
- - `ahooks` >= 3.0.0
175
- - `lodash-es` >= 4.17.0
176
-
177
- ## 🌐 国际化
178
-
179
- 组件库内置多语言支持:
180
-
181
- ```tsx
182
- import { IntlProvider } from 'react-intl';
183
- import zhCN from '@digitalsee/rcs/locales/zh-CN';
184
-
185
- <IntlProvider locale="zh-CN" messages={zhCN}>
186
- <Workflow />
187
- </IntlProvider>
188
- ```
189
-
190
- 支持的语言:
191
- - 🇨🇳 简体中文 (zh-CN)
192
- - 🇹🇼 繁体中文 (zh-TW)
193
- - 🇺🇸 英文 (en-US)
194
-
195
- ## 📝 版本管理
196
-
197
- ```bash
198
- # 补丁版本 (0.0.x)
199
- pnpm bump
200
-
201
- # 次要版本 (0.x.0)
202
- pnpm bump:minor
203
-
204
- # 主要版本 (x.0.0)
205
- pnpm bump:major
206
- ```
207
-
208
- ## 🤝 贡献
209
-
210
- 欢迎提交 Issue 和 Pull Request!
211
-
212
- ### 开发流程
213
-
214
- 1. Fork 本仓库
215
- 2. 创建你的特性分支 (`git checkout -b feature/AmazingFeature`)
216
- 3. 提交你的改动 (`git commit -m 'Add some AmazingFeature'`)
217
- 4. 推送到分支 (`git push origin feature/AmazingFeature`)
218
- 5. 提交 Pull Request
219
-
220
- ### 代码规范
221
-
222
- 项目使用 Biome 进行代码检查和格式化:
223
- ```bash
224
- pnpm format # 自动格式化代码
225
- pnpm lint # 检查代码问题
226
- ```
227
-
228
-
229
- ## 🔗 相关链接
230
-
231
- - [数犀官网](https://www.digitalsee.cn)
232
-
233
- ---
234
-
235
- <div align="center">
236
- Made with ❤️ by <a href="https://www.digitalsee.cn">数犀 DigitalSee</a>
237
- </div>
1
+ ![logo](https://www.digitalsee.cn/_next/static/media/logo_purple.a1d68599.svg)
2
+
3
+ # @digitalsee/rcs
4
+
5
+ **数犀 React 组件库**
6
+
7
+
8
+ 为数犀内部提供跨工程运行的React组件服务
9
+
10
+
11
+ ---
12
+
13
+ ## 📦 安装
14
+
15
+ 使用 pnpm(推荐):
16
+ ```bash
17
+ pnpm add @digitalsee/rcs
18
+ ```
19
+
20
+ 使用 npm:
21
+ ```bash
22
+ npm install @digitalsee/rcs
23
+ ```
24
+
25
+ 使用 yarn:
26
+ ```bash
27
+ yarn add @digitalsee/rcs
28
+ ```
29
+
30
+ ## ✨ 特性
31
+
32
+ - 🎨 **工作流编辑器** - 基于 ReactFlow 的强大可视化工作流编辑器
33
+ - 📊 **数据可视化** - 内置 JSON 渲染器和数据展示组件
34
+ - 🌍 **国际化支持** - 内置中文(简体/繁体)和英文支持
35
+ - 🎯 **TypeScript** - 完整的 TypeScript 类型支持
36
+ - 🔧 **可定制** - 灵活的配置和主题定制
37
+ - ⚡ **高性能** - 优化的渲染性能和内存使用
38
+ - 📱 **响应式** - 适配各种屏幕尺寸
39
+
40
+ ## 🚀 快速开始
41
+
42
+ ### 基础使用
43
+
44
+ ```tsx
45
+ import { Workflow } from '@digitalsee/rcs';
46
+ import '@digitalsee/rcs/styles.css';
47
+
48
+ function App() {
49
+ return (
50
+ <Workflow
51
+ workflowId="my-workflow"
52
+ // 更多配置项...
53
+ />
54
+ );
55
+ }
56
+ ```
57
+
58
+ ### 使用 JsonRenderer
59
+
60
+ ```tsx
61
+ import { JsonRenderer } from '@digitalsee/rcs';
62
+ import '@digitalsee/rcs/styles.css';
63
+
64
+ function App() {
65
+ const data = {
66
+ name: "示例数据",
67
+ value: 123
68
+ };
69
+
70
+ return <JsonRenderer data={data} />;
71
+ }
72
+ ```
73
+
74
+ ## 📚 主要组件
75
+
76
+ ### 🔄 Workflow(工作流)
77
+
78
+ 完整的可视化工作流编辑器,支持:
79
+
80
+ - ✅ 节点的拖拽和连接
81
+ - ✅ 自定义节点类型
82
+ - ✅ 边的样式和交互
83
+ - ✅ 撤销/重做功能
84
+ - ✅ 小地图导航
85
+ - ✅ 自动布局
86
+ - ✅ 调试面板
87
+ - ✅ 数据持久化
88
+
89
+ **主要特性:**
90
+ - 支持多种节点类型(触发器、动作、条件等)
91
+ - 灵活的节点配置面板
92
+ - 实时数据流调试
93
+ - 节点搜索和筛选
94
+ - 快捷键支持
95
+
96
+ ### 📋 JsonRenderer
97
+
98
+ 强大的 JSON 数据渲染组件:
99
+ - 语法高亮
100
+ - 可折叠/展开
101
+ - 搜索功能
102
+ - 复制功能
103
+
104
+ ## 🔨 开发
105
+
106
+ ### 环境要求
107
+
108
+ - Node.js >= 22
109
+ - pnpm >= 10.12.1
110
+
111
+ ### 开发命令
112
+
113
+ ```bash
114
+ # 安装依赖
115
+ pnpm install
116
+
117
+ # 启动 Storybook 开发环境
118
+ pnpm dev
119
+
120
+ # 构建组件库
121
+ pnpm build:vite
122
+
123
+ # 运行测试
124
+ pnpm test
125
+
126
+ # 代码格式化
127
+ pnpm format
128
+
129
+ # 代码检查
130
+ pnpm lint
131
+ ```
132
+
133
+ ### 构建输出
134
+
135
+ ```bash
136
+ # 构建并发布新版本
137
+ pnpm update:version
138
+ ```
139
+
140
+ 构建产物包括:
141
+ - `dist/rcs.es.js` - ES Module 格式
142
+ - `dist/rcs.umd.js` - UMD 格式
143
+ - `dist/rcs.css` - 样式文件
144
+ - `dist/index.d.ts` - TypeScript 类型定义
145
+
146
+ ## 🎨 技术栈
147
+
148
+ - **核心框架**: React 19+
149
+ - **状态管理**: Redux Toolkit
150
+ - **流程图**: @xyflow/react
151
+ - **UI 组件**: Ant Design 5+ / Ant Design Pro Components
152
+ - **样式方案**: Tailwind CSS + Less
153
+ - **代码编辑器**: Monaco Editor / CodeMirror
154
+ - **富文本**: Slate.js
155
+ - **构建工具**: Vite
156
+ - **文档工具**: Storybook
157
+ - **代码质量**: Biome
158
+ - **测试框架**: Vitest
159
+
160
+ ## 📖 依赖要求
161
+
162
+ ### Peer Dependencies
163
+
164
+ 确保你的项目中已安装以下依赖:
165
+
166
+ - `react` >= 18.0.0
167
+ - `react-dom` >= 18.0.0
168
+ - `antd` >= 5.0.0
169
+ - `@ant-design/icons` >= 5.0.0
170
+ - `@ant-design/pro-components` >= 2.0.0
171
+ - `@reduxjs/toolkit` >= 2.0.0
172
+ - `react-redux` >= 9.0.0
173
+ - `@xyflow/react` >= 12.0.0
174
+ - `ahooks` >= 3.0.0
175
+ - `lodash-es` >= 4.17.0
176
+
177
+ ## 🌐 国际化
178
+
179
+ 组件库内置多语言支持:
180
+
181
+ ```tsx
182
+ import { IntlProvider } from 'react-intl';
183
+ import zhCN from '@digitalsee/rcs/locales/zh-CN';
184
+
185
+ <IntlProvider locale="zh-CN" messages={zhCN}>
186
+ <Workflow />
187
+ </IntlProvider>
188
+ ```
189
+
190
+ 支持的语言:
191
+ - 🇨🇳 简体中文 (zh-CN)
192
+ - 🇹🇼 繁体中文 (zh-TW)
193
+ - 🇺🇸 英文 (en-US)
194
+
195
+ ## 📝 版本管理
196
+
197
+ ```bash
198
+ # 补丁版本 (0.0.x)
199
+ pnpm bump
200
+
201
+ # 次要版本 (0.x.0)
202
+ pnpm bump:minor
203
+
204
+ # 主要版本 (x.0.0)
205
+ pnpm bump:major
206
+ ```
207
+
208
+ ## 🤝 贡献
209
+
210
+ 欢迎提交 Issue 和 Pull Request!
211
+
212
+ ### 开发流程
213
+
214
+ 1. Fork 本仓库
215
+ 2. 创建你的特性分支 (`git checkout -b feature/AmazingFeature`)
216
+ 3. 提交你的改动 (`git commit -m 'Add some AmazingFeature'`)
217
+ 4. 推送到分支 (`git push origin feature/AmazingFeature`)
218
+ 5. 提交 Pull Request
219
+
220
+ ### 代码规范
221
+
222
+ 项目使用 Biome 进行代码检查和格式化:
223
+ ```bash
224
+ pnpm format # 自动格式化代码
225
+ pnpm lint # 检查代码问题
226
+ ```
227
+
228
+
229
+ ## 🔗 相关链接
230
+
231
+ - [数犀官网](https://www.digitalsee.cn)
232
+
233
+ ---
234
+
235
+ <div align="center">
236
+ Made with ❤️ by <a href="https://www.digitalsee.cn">数犀 DigitalSee</a>
237
+ </div>
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Next 模式配置弹窗包装器
3
+ *
4
+ * 职责:
5
+ * - 从 ReactFlow store 根据 currentNodeConfigVisibleId 取当前节点数据
6
+ * - 管理表单草稿缓存(用户填一半切换节点,草稿保留)
7
+ * - 驱动单例 NextNodesConfigModal
8
+ */
9
+ export declare const NextConfigModalWrapper: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { WorkflowCanvasProps } from './constants';
3
+ declare const NextWorkflowCanvas: React.FC<WorkflowCanvasProps>;
4
+ export default NextWorkflowCanvas;
@@ -0,0 +1,15 @@
1
+ import { default as React } from 'react';
2
+ import { SaveStatus } from '../enums/workflow';
3
+ import { CanvasAPI } from '../types/engine';
4
+ interface NextWorkflowCanvasHeaderProps {
5
+ onSave?: () => void;
6
+ readOnly?: boolean;
7
+ unSave?: boolean;
8
+ preview?: boolean;
9
+ appFlowMode?: boolean;
10
+ autoSaveStatus?: SaveStatus;
11
+ lastSavedTime?: string;
12
+ canvasApi?: CanvasAPI;
13
+ }
14
+ declare const NextWorkflowCanvasHeader: React.FC<NextWorkflowCanvasHeaderProps>;
15
+ export default NextWorkflowCanvasHeader;
@@ -1,15 +1,4 @@
1
- import { default as React } from 'react';
2
1
  import { WorkflowCanvasProps } from './constants';
3
- /**
4
- * 工作流画布组件:负责渲染 ReactFlow 画布、加载/保存流程、处理节点/连线交互与未保存提示。
5
- *
6
- * @param props 组件属性
7
- * @param props.workflowId 流程 ID
8
- * @param props.readOnly 是否只读
9
- * @param props.preview 是否预览模式
10
- * @param props.previewId 预览 ID(存在则视为预览)
11
- * @param props.appFlowMode 是否为应用流程模式
12
- * @param props.linkMode 是否为嵌入(Link)模式
13
- */
2
+ import { default as React } from 'react';
14
3
  declare const WorkflowCanvas: React.FC<WorkflowCanvasProps>;
15
4
  export default WorkflowCanvas;
@@ -0,0 +1,4 @@
1
+ import { WorkflowCanvasBaseProps } from './types';
2
+ import { default as React } from 'react';
3
+ declare const WorkflowCanvasBase: React.FC<WorkflowCanvasBaseProps>;
4
+ export default WorkflowCanvasBase;
@@ -1,4 +1,5 @@
1
1
  import { default as React } from 'react';
2
+ import { SaveStatus } from '../enums/workflow';
2
3
  import { CanvasAPI } from '../types/engine';
3
4
  interface WorkflowCanvasHeaderProps {
4
5
  onSave?: () => void;
@@ -6,7 +7,7 @@ interface WorkflowCanvasHeaderProps {
6
7
  unSave?: boolean;
7
8
  preview?: boolean;
8
9
  appFlowMode?: boolean;
9
- autoSaveStatus?: 'idle' | 'saving' | 'saved' | 'error';
10
+ autoSaveStatus?: SaveStatus;
10
11
  lastSavedTime?: string;
11
12
  /** 画布对外 API,用于工具栏按钮回调 */
12
13
  canvasApi?: CanvasAPI;
@@ -1 +1 @@
1
- export declare const getStatusColor: (node: any, colorType?: "normal" | "lighter") => "rgba(0,0,0,.5)" | "rgb(206, 226, 164)" | "#F2C000" | "#FDF6D5" | "#FA170A" | "#FF918B" | "#2EC04F" | "#8CDF3A" | "#007AFF" | "#D9EBFF" | "#51A4F6" | "#00c3ff";
1
+ export declare const getStatusColor: (node: any, colorType?: "normal" | "lighter") => "#007AFF" | "rgba(0,0,0,.5)" | "rgb(206, 226, 164)" | "#F2C000" | "#FDF6D5" | "#FA170A" | "#FF918B" | "#2EC04F" | "#8CDF3A" | "#D9EBFF" | "#51A4F6" | "#00c3ff";
@@ -0,0 +1,75 @@
1
+ import { EdgeType } from '../enums/edge';
2
+ import { NodeData as NodeFactoryData } from '../Nodes/NodeFactory';
3
+ import { ActionItem } from '../Panels/ModernNodeSelectorPanel/types';
4
+ import { CanvasAPI } from '../types/engine';
5
+ import { NodeType } from '../types/Node';
6
+ import { Edge, MarkerType, Node, Viewport } from '@xyflow/react';
7
+ export declare const startNode: {
8
+ type: NodeType;
9
+ id: string;
10
+ position: {
11
+ x: number;
12
+ y: number;
13
+ };
14
+ data: {
15
+ type: NodeType;
16
+ name: string;
17
+ nodeId: string;
18
+ id: string;
19
+ description: string;
20
+ };
21
+ };
22
+ export declare const convertActionItemToNodeData: (actionItem: Partial<ActionItem> & {
23
+ status?: string;
24
+ protocol?: string;
25
+ } & Record<string, any>) => NodeFactoryData;
26
+ /**
27
+ * NEXT 模式专用转换函数:在 convertActionItemToNodeData 基础上额外保留 name 字段
28
+ * name 在 NEXT 模式下作为节点实例的唯一显示名称
29
+ */
30
+ export declare const convertActionItemToNodeDataNext: (actionItem: Partial<ActionItem> & {
31
+ status?: string;
32
+ protocol?: string;
33
+ } & Record<string, any>) => NodeFactoryData;
34
+ export declare const nodeTypes: Record<NodeType, import('react').ComponentType<any>>;
35
+ export declare const edgeTypes: {
36
+ main: import('react').FC<import('../Edges/BaseEdge').CustomEdgeProps>;
37
+ };
38
+ export declare const reactFlowStyles: React.CSSProperties;
39
+ /**默认视口设置 */
40
+ export declare const defaultViewport: Viewport;
41
+ /** 预览模式视口设置(缩放更小以展示更多节点) */
42
+ export declare const previewViewport: Viewport;
43
+ /** 默认边配置 */
44
+ export declare const defaultEdgeOptions: {
45
+ type: EdgeType;
46
+ markerEnd: {
47
+ type: MarkerType;
48
+ width: number;
49
+ height: number;
50
+ color: string;
51
+ };
52
+ };
53
+ /** 工作流画布属性接口 */
54
+ export interface WorkflowCanvasProps {
55
+ workflowId?: string;
56
+ readOnly?: boolean;
57
+ preview?: boolean;
58
+ previewId?: string;
59
+ appFlowMode?: boolean;
60
+ linkMode?: boolean;
61
+ onSave?: (workflow: {
62
+ nodes: Node[];
63
+ edges: Edge[];
64
+ }) => void;
65
+ onInit?: (api: CanvasAPI) => void;
66
+ }
67
+ /** 常量定义 */
68
+ export declare const DEBOUNCE_DELAY: {
69
+ readonly EDGES: 100;
70
+ readonly WORKFLOW: 100;
71
+ };
72
+ /** 便签节点的action_id 快捷入口添加时直接写死 */
73
+ export declare const STICKY_ACTION_ID = "944";
74
+ /** DIP 模式下便签节点的 nodeKey */
75
+ export declare const DIP_STICKY_NODE_KEY = "core.stickyNote";
@@ -0,0 +1,49 @@
1
+ import { WorkflowCanvasStrategy } from '../types';
2
+ import { NodeData as NodeFactoryData } from '../../Nodes/NodeFactory';
3
+ import { ActionItem } from '../../Panels/ModernNodeSelectorPanel/types';
4
+ import { Edge, Node } from '@xyflow/react';
5
+ interface NodeAddInfo {
6
+ sourceNodeId?: string;
7
+ sourceHandle?: string;
8
+ targetNodeId?: string;
9
+ targetHandle?: string;
10
+ position?: {
11
+ x: number;
12
+ y: number;
13
+ };
14
+ trigger?: boolean;
15
+ edge?: any;
16
+ sourceNode?: any;
17
+ targetNode?: any;
18
+ protocol?: string;
19
+ refresh?: boolean;
20
+ }
21
+ interface CreateNodeAddHandlerNextParams {
22
+ workflowId?: string;
23
+ strategy: WorkflowCanvasStrategy;
24
+ store: {
25
+ getState: () => {
26
+ nodes: Node[];
27
+ };
28
+ };
29
+ addNodes: (nodes: Node<NodeFactoryData>[]) => void;
30
+ addEdges: (edges: Edge[]) => void;
31
+ removeEdges: (edgeIds: string[]) => void;
32
+ handleEdgeAddNode: (position: {
33
+ x: number;
34
+ y: number;
35
+ }, edge?: Edge) => void;
36
+ setNodeConfigVisible: (nodeId: string | null) => void;
37
+ setNodeFitHumanView: (nodeId: string) => void;
38
+ saveFlow: () => Promise<void>;
39
+ }
40
+ /**
41
+ * 创建 NEXT 模式的节点添加处理函数(纯函数,非 Hook)
42
+ *
43
+ * 与 Classic 模式的关键区别:
44
+ * 1. 端口名称完全由 DIP Schema 动态定义(通过 getCachedNextNodeSchema 获取)
45
+ * 2. 使用 convertActionItemToNodeDataNext 转换数据(保留 name 字段)
46
+ * 3. Loop 节点的特殊端口(loop/done)需要从 Schema 中获取,而不是硬编码
47
+ */
48
+ export declare function createNodeAddHandlerNext(params: CreateNodeAddHandlerNextParams): (info: NodeAddInfo, nodeData: ActionItem) => Promise<void>;
49
+ export {};