@zat-design/sisyphus-react 4.5.9 → 4.5.10-beta.2

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 (280) hide show
  1. package/dist/index.esm.css +1 -1
  2. package/dist/less.esm.css +1 -1
  3. package/es/FormsProvider/index.js +14 -21
  4. package/es/ProAction/components/CheckModalContent/index.js +12 -26
  5. package/es/ProAction/index.js +79 -83
  6. package/es/ProAction/propsType.js +0 -1
  7. package/es/ProConfigProvider/index.js +63 -110
  8. package/es/ProConfigProvider/propsType.js +0 -1
  9. package/es/ProDownload/index.d.ts +2 -1
  10. package/es/ProDownload/index.js +74 -69
  11. package/es/ProDownload/propsType.js +0 -1
  12. package/es/ProDownload/utils.d.ts +10 -5
  13. package/es/ProDownload/utils.js +63 -95
  14. package/es/ProDrawerForm/components/ProDrawer/index.js +83 -113
  15. package/es/ProDrawerForm/components/ProModal/index.js +77 -108
  16. package/es/ProDrawerForm/components/index.js +6 -2
  17. package/es/ProDrawerForm/hooks/useConfirmClose.js +20 -39
  18. package/es/ProDrawerForm/index.js +29 -38
  19. package/es/ProDrawerForm/propsType.js +0 -1
  20. package/es/ProDrawerForm/utils/index.js +18 -36
  21. package/es/ProEditLabel/components/RenderProForm.js +45 -49
  22. package/es/ProEditLabel/index.js +126 -163
  23. package/es/ProEditLabel/propsType.js +0 -1
  24. package/es/ProEditLabel/utils/index.js +5 -8
  25. package/es/ProEditTable/components/ActionButton/index.js +111 -119
  26. package/es/ProEditTable/components/RcTable/BaseTable.js +38 -51
  27. package/es/ProEditTable/components/RcTable/DraggableTable.js +97 -129
  28. package/es/ProEditTable/components/RcTable/index.js +6 -4
  29. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +77 -95
  30. package/es/ProEditTable/components/RenderField/index.js +490 -587
  31. package/es/ProEditTable/components/RenderField/propsType.js +0 -1
  32. package/es/ProEditTable/components/RenderField/tools.js +115 -112
  33. package/es/ProEditTable/components/RenderToolbar/index.js +47 -73
  34. package/es/ProEditTable/components/Summary/index.js +38 -64
  35. package/es/ProEditTable/components/Validator/index.js +46 -46
  36. package/es/ProEditTable/components/index.js +12 -5
  37. package/es/ProEditTable/index.js +456 -378
  38. package/es/ProEditTable/propsType.js +0 -1
  39. package/es/ProEditTable/utils/config.js +60 -122
  40. package/es/ProEditTable/utils/diffOriginal.js +45 -82
  41. package/es/ProEditTable/utils/getDefaultProps.js +19 -24
  42. package/es/ProEditTable/utils/index.js +154 -235
  43. package/es/ProEditTable/utils/tools.js +149 -286
  44. package/es/ProEditTable/utils/transform.js +25 -30
  45. package/es/ProEditTable/utils/useEditTableError.js +30 -43
  46. package/es/ProEditTable/utils/useShouldUpdateForTable.js +42 -72
  47. package/es/ProEditTable/utils/validateAll.js +87 -154
  48. package/es/ProEnum/components/Group.js +38 -30
  49. package/es/ProEnum/components/Tag.js +22 -26
  50. package/es/ProEnum/hooks/useEnum.js +48 -116
  51. package/es/ProEnum/hooks/useEnumRequest.js +182 -212
  52. package/es/ProEnum/hooks/useFrequentEnumRequest.js +40 -48
  53. package/es/ProEnum/index.js +162 -172
  54. package/es/ProEnum/propsType.js +0 -1
  55. package/es/ProEnum/utils/eventCenter.js +10 -12
  56. package/es/ProEnum/utils/frequentEnum.js +35 -92
  57. package/es/ProEnum/utils/getEnum.js +32 -90
  58. package/es/ProEnum/utils/getEnumLabel.js +44 -49
  59. package/es/ProEnum/utils/index.js +93 -207
  60. package/es/ProForm/components/Container.js +13 -28
  61. package/es/ProForm/components/FormFooter/index.js +36 -44
  62. package/es/ProForm/components/FormFooter/propsType.js +0 -1
  63. package/es/ProForm/components/base/Checkbox/index.js +32 -59
  64. package/es/ProForm/components/base/DatePicker/index.js +49 -71
  65. package/es/ProForm/components/base/Input/index.js +63 -97
  66. package/es/ProForm/components/base/Input/propsType.js +0 -1
  67. package/es/ProForm/components/base/InputNumber/index.js +118 -172
  68. package/es/ProForm/components/base/Radio/index.js +39 -52
  69. package/es/ProForm/components/base/RangePicker/index.js +109 -127
  70. package/es/ProForm/components/base/RangePicker/useDateRange.js +20 -17
  71. package/es/ProForm/components/base/Select/index.js +63 -89
  72. package/es/ProForm/components/base/Switch/index.js +27 -35
  73. package/es/ProForm/components/base/SwitchCheckbox/index.js +36 -54
  74. package/es/ProForm/components/base/TextArea/index.js +30 -41
  75. package/es/ProForm/components/base/TimePicker/index.js +27 -37
  76. package/es/ProForm/components/combination/Container/index.js +37 -47
  77. package/es/ProForm/components/combination/Container/propsType.js +0 -1
  78. package/es/ProForm/components/combination/FormList/components/ActionButton.js +165 -237
  79. package/es/ProForm/components/combination/FormList/components/BlockFields.js +98 -102
  80. package/es/ProForm/components/combination/FormList/components/Empty.js +28 -55
  81. package/es/ProForm/components/combination/FormList/components/LineFields.js +57 -54
  82. package/es/ProForm/components/combination/FormList/components/ToolbarButton.js +61 -109
  83. package/es/ProForm/components/combination/FormList/index.js +151 -161
  84. package/es/ProForm/components/combination/FormList/propsType.js +0 -1
  85. package/es/ProForm/components/combination/FormList/style/index.less +6 -0
  86. package/es/ProForm/components/combination/FormList/utils.js +22 -38
  87. package/es/ProForm/components/combination/Group/component/AddonWrapper/index.js +12 -28
  88. package/es/ProForm/components/combination/Group/component/ComRender.js +50 -111
  89. package/es/ProForm/components/combination/Group/component/FlexibleGroup.js +106 -213
  90. package/es/ProForm/components/combination/Group/hooks/index.js +69 -129
  91. package/es/ProForm/components/combination/Group/index.js +87 -126
  92. package/es/ProForm/components/combination/Group/propsType.js +0 -1
  93. package/es/ProForm/components/combination/Group/utils/index.js +124 -239
  94. package/es/ProForm/components/combination/ProCascader/index.js +156 -199
  95. package/es/ProForm/components/combination/ProCascader/propsType.js +0 -1
  96. package/es/ProForm/components/combination/ProCascader/utils/index.js +12 -21
  97. package/es/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +72 -70
  98. package/es/ProForm/components/combination/ProModalSelect/index.js +309 -347
  99. package/es/ProForm/components/combination/ProModalSelect/propsType.js +0 -1
  100. package/es/ProForm/components/combination/ProModalSelect/utils/index.js +32 -39
  101. package/es/ProForm/components/combination/ProNumberRange/index.js +100 -156
  102. package/es/ProForm/components/combination/ProNumberRange/propsType.js +0 -1
  103. package/es/ProForm/components/combination/ProRangeLimit/index.js +104 -115
  104. package/es/ProForm/components/combination/ProRangeLimit/propsType.js +0 -1
  105. package/es/ProForm/components/combination/ProTimeLimit/hooks/useControlled.js +16 -16
  106. package/es/ProForm/components/combination/ProTimeLimit/index.js +75 -109
  107. package/es/ProForm/components/index.js +56 -34
  108. package/es/ProForm/components/render/ChangedWrapper.js +85 -94
  109. package/es/ProForm/components/render/ConfirmWrapper.js +27 -39
  110. package/es/ProForm/components/render/CustomComponentViewWrapper.js +65 -82
  111. package/es/ProForm/components/render/Render.js +223 -329
  112. package/es/ProForm/components/render/RenderFields.js +76 -113
  113. package/es/ProForm/components/render/propsType.js +0 -1
  114. package/es/ProForm/hooks/useControlled.js +8 -10
  115. package/es/ProForm/hooks/useDeepCompareMemo.js +11 -11
  116. package/es/ProForm/hooks/useFieldProps.js +8 -4
  117. package/es/ProForm/hooks/useForm.js +50 -110
  118. package/es/ProForm/hooks/useRules.js +17 -33
  119. package/es/ProForm/hooks/useShouldUpdate.js +77 -152
  120. package/es/ProForm/hooks/useWatch.js +62 -134
  121. package/es/ProForm/index.js +157 -194
  122. package/es/ProForm/propsType.js +15 -7
  123. package/es/ProForm/utils/buildFormItemProps.js +51 -58
  124. package/es/ProForm/utils/diffOriginal.js +43 -73
  125. package/es/ProForm/utils/getDefaultProps.js +18 -24
  126. package/es/ProForm/utils/index.js +160 -235
  127. package/es/ProForm/utils/processDependencies.js +21 -60
  128. package/es/ProForm/utils/reactiveValues.js +20 -34
  129. package/es/ProForm/utils/rulesCreator.js +42 -40
  130. package/es/ProForm/utils/transformNames.js +10 -13
  131. package/es/ProForm/utils/transformValue.js +16 -29
  132. package/es/ProForm/utils/valueType.js +96 -178
  133. package/es/ProIcon/config/index.js +340 -274
  134. package/es/ProIcon/index.js +135 -209
  135. package/es/ProIcon/propsTypes.js +0 -1
  136. package/es/ProIcon/utils/index.js +24 -39
  137. package/es/ProLayout/components/Layout/Header/index.js +108 -141
  138. package/es/ProLayout/components/Layout/Menu/FoldMenu/index.js +134 -190
  139. package/es/ProLayout/components/Layout/Menu/OpenMenu/index.js +113 -139
  140. package/es/ProLayout/components/Layout/Menu/OpenMenu/propsType.js +0 -1
  141. package/es/ProLayout/components/Layout/Menu/SideMenu/index.js +23 -31
  142. package/es/ProLayout/components/Layout/Menu/index.js +92 -89
  143. package/es/ProLayout/components/Layout/Notice/index.js +13 -27
  144. package/es/ProLayout/components/Layout/index.js +8 -3
  145. package/es/ProLayout/components/ProCollapse/PropTypes.js +0 -1
  146. package/es/ProLayout/components/ProCollapse/index.js +89 -111
  147. package/es/ProLayout/components/ProFooter/PropTypes.js +0 -1
  148. package/es/ProLayout/components/ProFooter/index.js +27 -24
  149. package/es/ProLayout/components/ProHeader/PropTypes.js +0 -1
  150. package/es/ProLayout/components/ProHeader/components/Copy/index.js +23 -21
  151. package/es/ProLayout/components/ProHeader/components/Describe/index.js +67 -84
  152. package/es/ProLayout/components/ProHeader/components/ProBackBtn/index.js +18 -21
  153. package/es/ProLayout/components/ProHeader/components/ProBackBtn/propsType.js +0 -1
  154. package/es/ProLayout/components/ProHeader/components/index.js +6 -2
  155. package/es/ProLayout/components/ProHeader/index.js +216 -356
  156. package/es/ProLayout/components/ProHeader/utils/index.js +19 -26
  157. package/es/ProLayout/components/TabsManager/components/TabContextMenu.js +92 -85
  158. package/es/ProLayout/components/TabsManager/components/TabItem.js +53 -63
  159. package/es/ProLayout/components/TabsManager/components/TabsContext.js +5 -5
  160. package/es/ProLayout/components/TabsManager/components/TabsHeader.js +42 -52
  161. package/es/ProLayout/components/TabsManager/hooks/useActiveTab.js +8 -9
  162. package/es/ProLayout/components/TabsManager/hooks/useIframeRoute.js +19 -32
  163. package/es/ProLayout/components/TabsManager/hooks/useProLayoutTabs.js +6 -20
  164. package/es/ProLayout/components/TabsManager/hooks/useTabsCache.js +25 -42
  165. package/es/ProLayout/components/TabsManager/hooks/useTabsState.js +320 -350
  166. package/es/ProLayout/components/TabsManager/hooks/useTabsUrlSync.d.ts +19 -0
  167. package/es/ProLayout/components/TabsManager/hooks/useTabsUrlSync.js +332 -0
  168. package/es/ProLayout/components/TabsManager/index.js +407 -351
  169. package/es/ProLayout/components/TabsManager/propTypes.d.ts +4 -0
  170. package/es/ProLayout/components/TabsManager/propTypes.js +7 -15
  171. package/es/ProLayout/components/TabsManager/style/index.less +1 -1
  172. package/es/ProLayout/components/TabsManager/utils/historyObserver.d.ts +7 -0
  173. package/es/ProLayout/components/TabsManager/utils/historyObserver.js +65 -0
  174. package/es/ProLayout/components/TabsManager/utils/index.d.ts +15 -2
  175. package/es/ProLayout/components/TabsManager/utils/index.js +156 -159
  176. package/es/ProLayout/components/index.js +8 -3
  177. package/es/ProLayout/index.js +173 -228
  178. package/es/ProLayout/propTypes.d.ts +28 -1
  179. package/es/ProLayout/propTypes.js +12 -52
  180. package/es/ProLayout/utils/index.js +48 -128
  181. package/es/ProSelect/components/AdaptiveTooltip.js +26 -25
  182. package/es/ProSelect/index.js +187 -223
  183. package/es/ProSelect/propsType.js +0 -1
  184. package/es/ProSelect/style/index.less +13 -0
  185. package/es/ProSelect/utils/index.js +100 -146
  186. package/es/ProStep/components/Anchor/index.js +71 -82
  187. package/es/ProStep/components/Item/index.js +49 -56
  188. package/es/ProStep/components/LazyLoad/index.js +23 -29
  189. package/es/ProStep/components/Listener/index.js +20 -33
  190. package/es/ProStep/components/Step/index.js +31 -38
  191. package/es/ProStep/constants.js +4 -1
  192. package/es/ProStep/index.js +166 -153
  193. package/es/ProStep/propsType.js +0 -1
  194. package/es/ProStep/style/index.less +1 -1
  195. package/es/ProStep/utils/index.js +29 -55
  196. package/es/ProStepTab/index.js +83 -138
  197. package/es/ProStepTab/propsType.js +0 -1
  198. package/es/ProTable/components/EditableCell/EditIcon.js +10 -14
  199. package/es/ProTable/components/EditableCell/index.js +37 -71
  200. package/es/ProTable/components/EditableCell/propsType.js +0 -1
  201. package/es/ProTable/components/FormatColumn/index.js +209 -340
  202. package/es/ProTable/components/FormatColumn/propsType.js +0 -1
  203. package/es/ProTable/components/RcTable/components/BaseTable/index.js +35 -39
  204. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +80 -107
  205. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +54 -48
  206. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/propsType.js +0 -1
  207. package/es/ProTable/components/RcTable/components/DraggableTable/index.js +47 -54
  208. package/es/ProTable/components/RcTable/index.js +6 -4
  209. package/es/ProTable/components/RenderColumn/index.js +158 -186
  210. package/es/ProTable/components/RenderEmptyText/index.js +12 -21
  211. package/es/ProTable/components/RenderFooter/index.js +15 -15
  212. package/es/ProTable/components/RenderSummary/index.js +33 -50
  213. package/es/ProTable/components/RenderTableHeader/index.js +44 -46
  214. package/es/ProTable/components/RenderTabs/index.js +47 -51
  215. package/es/ProTable/components/TableResizable/index.js +56 -72
  216. package/es/ProTable/components/TooltipTitle/index.js +13 -21
  217. package/es/ProTable/components/index.js +16 -36
  218. package/es/ProTable/hooks/useAntdTable.js +191 -224
  219. package/es/ProTable/index.js +232 -249
  220. package/es/ProTable/propsType.js +0 -1
  221. package/es/ProTable/utils/columnStorage.js +63 -88
  222. package/es/ProTable/utils/index.js +57 -90
  223. package/es/ProTabs/components/Card/index.js +20 -48
  224. package/es/ProTabs/components/index.js +4 -1
  225. package/es/ProTabs/index.js +41 -58
  226. package/es/ProTabs/propType.js +0 -1
  227. package/es/ProThemeTools/component/ProTools/index.js +106 -158
  228. package/es/ProThemeTools/component/index.js +4 -1
  229. package/es/ProThemeTools/context/ThemeContext.js +67 -146
  230. package/es/ProThemeTools/index.js +103 -156
  231. package/es/ProThemeTools/propsType.js +0 -1
  232. package/es/ProThemeTools/utils/index.js +60 -109
  233. package/es/ProTooltip/index.js +132 -168
  234. package/es/ProTooltip/propsType.js +0 -1
  235. package/es/ProTree/components/AdaptiveTooltip.js +15 -17
  236. package/es/ProTree/components/CloseIcon.js +18 -26
  237. package/es/ProTree/components/List.js +28 -47
  238. package/es/ProTree/components/ProTree.js +152 -211
  239. package/es/ProTree/components/ProTreeSelect/index.js +255 -459
  240. package/es/ProTree/components/ProTreeSelect/propsType.js +0 -1
  241. package/es/ProTree/components/SearchTitle.js +23 -42
  242. package/es/ProTree/components/Tree.js +147 -195
  243. package/es/ProTree/components/index.js +10 -5
  244. package/es/ProTree/index.js +12 -16
  245. package/es/ProTree/propsType.js +0 -1
  246. package/es/ProTree/utils.js +46 -118
  247. package/es/ProTreeModal/components/Cascader.js +56 -64
  248. package/es/ProTreeModal/components/CloseIcon.js +18 -26
  249. package/es/ProTreeModal/components/List.js +114 -180
  250. package/es/ProTreeModal/components/SearchTitle.js +15 -18
  251. package/es/ProTreeModal/components/SortableItem.js +29 -58
  252. package/es/ProTreeModal/components/Tree.js +99 -113
  253. package/es/ProTreeModal/components/Trigger.js +87 -121
  254. package/es/ProTreeModal/components/index.js +14 -6
  255. package/es/ProTreeModal/index.js +397 -438
  256. package/es/ProTreeModal/propsType.js +0 -1
  257. package/es/ProTreeModal/utils.js +52 -95
  258. package/es/ProUpload/components/ButtonRender.js +44 -54
  259. package/es/ProUpload/components/DragRender.js +94 -148
  260. package/es/ProUpload/components/DraggableUploadListItem.js +12 -25
  261. package/es/ProUpload/components/Example.js +27 -31
  262. package/es/ProUpload/components/FileItem.js +69 -163
  263. package/es/ProUpload/components/ImageRender.js +134 -170
  264. package/es/ProUpload/index.js +68 -100
  265. package/es/ProUpload/propsType.js +0 -1
  266. package/es/ProUpload/uitls.js +8 -4
  267. package/es/ProUtils/utils/index.js +17 -13
  268. package/es/ProViewer/index.js +154 -175
  269. package/es/ProViewer/propsType.js +0 -5
  270. package/es/ProWaterMark/index.js +9 -16
  271. package/es/ProWaterMark/propsType.js +0 -1
  272. package/es/hooks/useDraggableRow.js +25 -53
  273. package/es/index.js +57 -77
  274. package/es/locale/en_US.js +153 -142
  275. package/es/locale/index.js +23 -36
  276. package/es/locale/zh_CN.js +145 -142
  277. package/es/tokens.js +84 -83
  278. package/es/utils/index.js +24 -51
  279. package/package.json +4 -2
  280. package/es/ProConfigProvider/demo/locale.js +0 -58
@@ -1,13 +1,11 @@
1
- import _isFunction from "lodash/isFunction";
2
- import _isEqual from "lodash/isEqual";
3
- import _cloneDeep from "lodash/cloneDeep";
4
- /* eslint-disable no-lonely-if */
5
- import { useRef, useEffect } from 'react';
1
+ import { useRef, useEffect } from "react";
2
+ import cloneDeep from "lodash/cloneDeep";
3
+ import isEqual from "lodash/isEqual";
4
+ import isFunction from "lodash/isFunction";
6
5
  import { useDeepCompareMemo } from "../../../../hooks/useDeepCompareMemo";
7
6
  import { difference } from "../../../../../ProEditTable/utils/tools";
8
7
  import { getReactiveProps, getValueTypeTrans, valueFromEventWrapper } from "../utils";
9
- /** 转换columns */
10
- export const useTransformColumns = params => {
8
+ const useTransformColumns = (params) => {
11
9
  const {
12
10
  form,
13
11
  columns,
@@ -20,7 +18,7 @@ export const useTransformColumns = params => {
20
18
  groupProps
21
19
  } = params;
22
20
  const timerRef = useRef([]);
23
- return columns?.flatMap((column, index) => {
21
+ return columns == null ? void 0 : columns.flatMap((column, index) => {
24
22
  const {
25
23
  type,
26
24
  valueType,
@@ -35,25 +33,18 @@ export const useTransformColumns = params => {
35
33
  clearNotShow,
36
34
  desensitization
37
35
  } = column;
38
- const {
39
- mode,
40
- onChange,
41
- disabled: comDisabled
42
- } = fieldProps || {};
36
+ const { mode, onChange, disabled: comDisabled } = fieldProps || {};
43
37
  const _disabled = disabled || comDisabled;
44
38
  const columnName = names ? names[index] : [].concat(name, index);
45
-
46
- // 响应式字段改变后的回调
47
39
  const changedCallback = (lastDependency, current) => {
48
- // 清值防抖 多次刷新时以最后一次为准
49
- if (clearNotShow !== false && names) {
50
- if (current?.show === false) {
40
+ if (clearNotShow !== false && (names || value)) {
41
+ if ((current == null ? void 0 : current.show) === false) {
51
42
  clearInterval(timerRef.current[index]);
52
43
  timerRef.current[index] = setTimeout(() => {
53
44
  if (names) {
54
45
  form.resetFields([columnName]);
55
46
  }
56
- if (!names && value?.length) {
47
+ if (!names && (value == null ? void 0 : value.length)) {
57
48
  value[index] = null;
58
49
  form.setFieldValue(columnName, [...value]);
59
50
  }
@@ -63,28 +54,25 @@ export const useTransformColumns = params => {
63
54
  }
64
55
  }
65
56
  };
66
-
67
- // 响应式字段
68
- const reactiveProps = useDeepCompareMemo(() => {
69
- return getReactiveProps({
70
- form,
71
- index,
72
- type,
73
- namePath,
74
- disabled: _disabled,
75
- show,
76
- component,
77
- fieldProps,
78
- name: columnName,
79
- desensitization
80
- });
81
- }, changedCallback, [value, show, fieldProps, _disabled, columnName, type]);
82
-
83
- // 从处理后的fieldProps中获取事件处理器
84
- const {
85
- onFieldChange,
86
- onBlur
87
- } = reactiveProps.fieldProps || {};
57
+ const reactiveProps = useDeepCompareMemo(
58
+ () => {
59
+ return getReactiveProps({
60
+ form,
61
+ index,
62
+ type,
63
+ namePath,
64
+ disabled: _disabled,
65
+ show,
66
+ component,
67
+ fieldProps,
68
+ name: columnName,
69
+ desensitization
70
+ });
71
+ },
72
+ changedCallback,
73
+ [value, show, fieldProps, _disabled, columnName, type]
74
+ );
75
+ const { onFieldChange, onBlur } = reactiveProps.fieldProps || {};
88
76
  if (reactiveProps.show === false) {
89
77
  return [];
90
78
  }
@@ -98,39 +86,33 @@ export const useTransformColumns = params => {
98
86
  });
99
87
  let newValue;
100
88
  const handleChange = (...args) => {
89
+ var _a, _b, _c;
101
90
  newValue = valueFromEventWrapper(column, args);
102
- if (transform?.normalize) {
103
- newValue = transform?.normalize?.(newValue);
91
+ if (transform == null ? void 0 : transform.normalize) {
92
+ newValue = (_a = transform == null ? void 0 : transform.normalize) == null ? void 0 : _a.call(transform, newValue);
104
93
  } else if (normalize) {
105
- // @ts-ignore
106
- newValue = normalize?.(newValue);
94
+ newValue = normalize == null ? void 0 : normalize(newValue);
107
95
  }
108
-
109
- // 根据模式选择值管理方式
110
96
  if (names) {
111
- // 独立字段模式:设置单个字段值 + 触发整体校验
112
97
  form.setFieldValue(columnName, newValue);
113
- // 确保触发Group整体的校验
114
- internalChange?.(newValue, args[1], index);
98
+ internalChange == null ? void 0 : internalChange(newValue, args[1], index);
115
99
  } else {
116
- // 数组值模式
117
- internalChange?.(newValue, args[1], index);
100
+ internalChange == null ? void 0 : internalChange(newValue, args[1], index);
118
101
  }
119
102
  const values = form.getFieldValue(namePath);
120
- const originRow = namePath?.length ? _cloneDeep(values) : undefined;
121
- onChange?.(...args);
122
- onFieldChange?.(newValue, values, {
103
+ const originRow = (namePath == null ? void 0 : namePath.length) ? cloneDeep(values) : void 0;
104
+ onChange == null ? void 0 : onChange(...args);
105
+ onFieldChange == null ? void 0 : onFieldChange(newValue, values, {
123
106
  index: outerIndex,
124
107
  namePath,
125
108
  form,
126
- option: args?.[1]
109
+ option: args == null ? void 0 : args[1]
127
110
  });
128
- // 如果是在可编辑表格或formList内部, 储存当前行的值, 并在变更后更新到表单里
129
- if (namePath?.length && !_isEqual(originRow, values)) {
111
+ if ((namePath == null ? void 0 : namePath.length) && !isEqual(originRow, values)) {
130
112
  form.setFieldValue(namePath, values);
131
113
  const diff = difference(originRow, values) || {};
132
- const validateFieldKeys = Object.keys(diff)?.map?.(key => [...namePath, key]);
133
- if (validateFieldKeys?.length) {
114
+ const validateFieldKeys = (_c = (_b = Object.keys(diff)) == null ? void 0 : _b.map) == null ? void 0 : _c.call(_b, (key) => [...namePath, key]);
115
+ if (validateFieldKeys == null ? void 0 : validateFieldKeys.length) {
134
116
  setTimeout(() => {
135
117
  form.validateFields([name, ...validateFieldKeys]);
136
118
  }, 100);
@@ -138,17 +120,16 @@ export const useTransformColumns = params => {
138
120
  }
139
121
  };
140
122
  const handleBlur = (...args) => {
141
- if (!onBlur) return;
123
+ if (!onBlur)
124
+ return;
142
125
  const values = form.getFieldValue(namePath);
143
- onBlur?.(args[0], values, {
126
+ onBlur == null ? void 0 : onBlur(args[0], values, {
144
127
  index: outerIndex,
145
128
  namePath,
146
129
  form,
147
- option: args?.[1]
130
+ option: args == null ? void 0 : args[1]
148
131
  });
149
132
  };
150
-
151
- // 内外一个为true则为true
152
133
  const getLastDisabled = () => {
153
134
  if (Array.isArray(groupProps.disabled)) {
154
135
  return reactiveProps.disabled || groupProps.disabled[index];
@@ -160,97 +141,55 @@ export const useTransformColumns = params => {
160
141
  name: columnName,
161
142
  ...reactiveProps,
162
143
  disabled: getLastDisabled(),
163
- getValueProps: transform?.getValueProps,
144
+ getValueProps: transform == null ? void 0 : transform.getValueProps,
164
145
  fieldProps: {
165
- ...column?.fieldProps,
166
- ...reactiveProps?.fieldProps,
146
+ ...column == null ? void 0 : column.fieldProps,
147
+ ...reactiveProps == null ? void 0 : reactiveProps.fieldProps,
167
148
  onChange: handleChange,
168
149
  onBlur: handleBlur,
169
- value: value?.[index]
150
+ value: value == null ? void 0 : value[index]
170
151
  }
171
152
  };
172
153
  });
173
154
  };
174
-
175
- /**
176
- * 检查子项是否应该显示(纯函数,不执行副作用)
177
- */
178
- export const checkShouldShow = (child, form, namePath, index) => {
179
- const {
180
- show
181
- } = child;
182
-
183
- // 如果没有配置 show,默认显示
184
- if (show === undefined || show === true) {
155
+ const checkShouldShow = (child, form, namePath, index) => {
156
+ const { show } = child;
157
+ if (show === void 0 || show === true) {
185
158
  return true;
186
159
  }
187
-
188
- // 如果 show 是 false,不显示
189
160
  if (show === false) {
190
161
  return false;
191
162
  }
192
-
193
- // 如果 show 是函数,需要获取表单值来评估
194
- if (_isFunction(show)) {
163
+ if (isFunction(show)) {
195
164
  let values = {};
196
165
  if (namePath) {
197
- // FormList 场景:取当前行数据
198
166
  values = form.getFieldValue(namePath) || {};
199
167
  } else {
200
- // 普通场景:取整个表单值
201
168
  values = form.getFieldsValue(true);
202
169
  }
203
- return Boolean(show(values, {
204
- form,
205
- index,
206
- namePath
207
- }));
170
+ return Boolean(show(values, { form, index, namePath }));
208
171
  }
209
172
  return true;
210
173
  };
211
- /**
212
- * ProEditTable 场景下,当字段的 show true 变为 false 时,自动重置字段值
213
- * 使用 useEffect 在副作用中执行重置,避免在渲染过程中调用 setState
214
- */
215
- export const useResetProEditTable = params => {
216
- const {
217
- children,
218
- form,
219
- namePath,
220
- source
221
- } = params;
222
-
223
- // 用于跟踪每个子项的显示状态
224
- const showStateRef = useRef(new Map());
225
- // 用于存储重置定时器
226
- const resetTimersRef = useRef(new Map());
174
+ const useResetProEditTable = (params) => {
175
+ const { children, form, namePath, source } = params;
176
+ const showStateRef = useRef(/* @__PURE__ */ new Map());
177
+ const resetTimersRef = useRef(/* @__PURE__ */ new Map());
227
178
  useEffect(() => {
228
- // 只在 ProEditTable 场景下执行重置逻辑
229
- if (source !== 'ProEditTable') {
179
+ if (source !== "ProEditTable") {
230
180
  return;
231
181
  }
232
-
233
- // 检查每个子项的显示状态
234
- children.forEach(child => {
182
+ children.forEach((child) => {
235
183
  const childNamePath = child.namePath || namePath;
236
184
  const childIndex = child.index;
237
-
238
- // 生成唯一 key 用于跟踪状态
239
185
  const childKey = child.name ? Array.isArray(child.name) ? `${JSON.stringify(childNamePath)}-${JSON.stringify(child.name)}` : `${JSON.stringify(childNamePath)}-${child.name}` : `child-${children.indexOf(child)}`;
240
-
241
- // 计算当前显示状态
242
186
  const currentShow = checkShouldShow(child, form, childNamePath, childIndex);
243
187
  const previousShow = showStateRef.current.get(childKey);
244
-
245
- // 如果状态发生变化,且从显示变为隐藏,执行重置
246
- if (previousShow !== undefined && previousShow === true && currentShow === false) {
247
- // 清除之前的定时器
188
+ if (previousShow !== void 0 && previousShow === true && currentShow === false) {
248
189
  const existingTimer = resetTimersRef.current.get(childKey);
249
190
  if (existingTimer) {
250
191
  clearTimeout(existingTimer);
251
192
  }
252
-
253
- // 延迟执行重置,避免在渲染过程中调用
254
193
  const timer = setTimeout(() => {
255
194
  if (Array.isArray(child.name)) {
256
195
  form.resetFields([[...childNamePath, ...child.name]]);
@@ -261,17 +200,18 @@ export const useResetProEditTable = params => {
261
200
  }, 300);
262
201
  resetTimersRef.current.set(childKey, timer);
263
202
  }
264
-
265
- // 更新显示状态
266
203
  showStateRef.current.set(childKey, currentShow);
267
204
  });
268
-
269
- // 清理函数:组件卸载时清除所有定时器
270
205
  return () => {
271
- resetTimersRef.current.forEach(timer => {
206
+ resetTimersRef.current.forEach((timer) => {
272
207
  clearTimeout(timer);
273
208
  });
274
209
  resetTimersRef.current.clear();
275
210
  };
276
211
  }, [children, namePath, source, form]);
277
- };
212
+ };
213
+ export {
214
+ checkShouldShow,
215
+ useResetProEditTable,
216
+ useTransformColumns
217
+ };
@@ -1,19 +1,16 @@
1
- import _omit from "lodash/omit";
2
- import _isEmpty from "lodash/isEmpty";
3
- import { Space } from 'antd';
4
- import React from 'react';
5
- import classnames from 'classnames';
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { Space } from "antd";
3
+ import React from "react";
4
+ import isEmpty from "lodash/isEmpty";
5
+ import omit from "lodash/omit";
6
+ import classnames from "classnames";
6
7
  import { insertSeparator } from "./utils";
7
8
  import { useTransformColumns } from "./hooks";
8
9
  import ProForm from "../../../../ProForm";
9
10
  import ComRender from "./component/ComRender";
10
11
  import FlexibleGroup from "./component/FlexibleGroup";
11
-
12
- /**
13
- * 传统数组模式Group组件(保持向后兼容)
14
- */
15
- import { jsx as _jsx } from "react/jsx-runtime";
16
- const LegacyGroup = props => {
12
+ const LegacyGroup = (props) => {
13
+ var _a;
17
14
  const {
18
15
  children,
19
16
  className,
@@ -27,32 +24,20 @@ const LegacyGroup = props => {
27
24
  isView: isParentView,
28
25
  disabled: formDisabled,
29
26
  separator,
30
- split // 弃用属性,保持向后兼容
27
+ split
28
+ // 弃用属性,保持向后兼容
31
29
  } = props;
32
-
33
- // 向后兼容处理:优先使用 separator,如果没有则使用 split,最后使用默认值
34
- const finalSeparator = separator ?? split ?? '/';
35
-
36
- // 支持从 fieldProps.space 获取 space 配置
37
- const fieldPropsSpace = props.fieldProps?.space;
30
+ const finalSeparator = separator ?? split ?? "/";
31
+ const fieldPropsSpace = (_a = props.fieldProps) == null ? void 0 : _a.space;
38
32
  const space = fieldPropsSpace || propsSpace;
39
33
  const contextProps = ProForm.useFieldProps() || {};
40
- const {
41
- names,
42
- name,
43
- form,
44
- namePath,
45
- index,
46
- isView
47
- } = contextProps;
34
+ const { names, name, form, namePath, index, isView } = contextProps;
48
35
  const nextOption = React.useRef([]);
49
36
  const nextIsView = isParentView || isView || otherProps.isView;
50
-
51
- // 组合onChange
52
- const handleChange = (value, option, index) => {
37
+ const handleChange = (value2, option, index2) => {
53
38
  const nextValue = props.value ? [...props.value] : [];
54
- nextValue[index] = value;
55
- nextOption.current[index] = option;
39
+ nextValue[index2] = value2;
40
+ nextOption.current[index2] = option;
56
41
  onChange(nextValue, nextOption.current);
57
42
  };
58
43
  const columnsProps = useTransformColumns({
@@ -69,132 +54,108 @@ const LegacyGroup = props => {
69
54
  });
70
55
  const columns = insertSeparator(columnsProps, space);
71
56
  const nextClassName = classnames({
72
- 'pro-group': true,
73
- 'pro-group-unflexible': true,
74
- 'pro-group-diy-width': columns.some(item => item?.fieldProps?.style?.width),
75
- 'pro-group-width-auto': columns.some(item => {
76
- return ['Radio', 'Checkbox', 'Switch'].includes(item.type);
57
+ "pro-group": true,
58
+ "pro-group-unflexible": true,
59
+ "pro-group-diy-width": columns.some((item) => {
60
+ var _a2, _b;
61
+ return (_b = (_a2 = item == null ? void 0 : item.fieldProps) == null ? void 0 : _a2.style) == null ? void 0 : _b.width;
62
+ }),
63
+ "pro-group-width-auto": columns.some((item) => {
64
+ return ["Radio", "Checkbox", "Switch"].includes(item.type);
77
65
  }),
78
- 'pro-group-view': nextIsView,
66
+ "pro-group-view": nextIsView,
79
67
  [`${className}`]: className
80
68
  });
81
- if (nextIsView && _isEmpty(value)) {
82
- return otherProps?.viewEmpty || '-';
69
+ if (nextIsView && isEmpty(value)) {
70
+ return (otherProps == null ? void 0 : otherProps.viewEmpty) || "-";
83
71
  }
84
-
85
- // compact模式专用:为每个字段创建可见的Form.Item,并应用宽度样式
86
72
  const renderCompactFormItems = () => {
87
73
  const elements = [];
88
- columns.forEach((column, index) => {
89
- // 检测是否有自定义宽度
90
- const childWidth = column?.fieldProps?.style?.width;
91
- const formItemStyle = childWidth ? {
92
- width: childWidth
93
- } : undefined;
94
- const formItemClassName = childWidth ? 'pro-group-form-item pro-group-form-item-has-width' : 'pro-group-form-item';
95
-
96
- // 创建新的 column 对象,避免直接修改原对象
97
- const newColumn = {
98
- ...column
99
- };
74
+ columns.forEach((column, index2) => {
75
+ var _a2, _b, _c;
76
+ const childWidth = (_b = (_a2 = column == null ? void 0 : column.fieldProps) == null ? void 0 : _a2.style) == null ? void 0 : _b.width;
77
+ const formItemStyle = childWidth ? { width: childWidth } : void 0;
78
+ const formItemClassName = childWidth ? "pro-group-form-item pro-group-form-item-has-width" : "pro-group-form-item";
79
+ const newColumn = { ...column };
100
80
  newColumn.otherProps = otherProps;
101
-
102
- // 如果子组件有自定义宽度,将子组件的宽度改为 100%,让它填充 Form.Item
103
81
  if (childWidth) {
104
82
  newColumn.fieldProps = {
105
83
  ...newColumn.fieldProps,
106
84
  style: {
107
- ...newColumn.fieldProps?.style,
108
- width: '100%'
85
+ ...(_c = newColumn.fieldProps) == null ? void 0 : _c.style,
86
+ width: "100%"
109
87
  }
110
88
  };
111
89
  }
112
-
113
- // 自定义间隔移除对应参数
114
- if (newColumn?.separator) {
90
+ if (newColumn == null ? void 0 : newColumn.separator) {
115
91
  delete newColumn.separator;
116
92
  delete newColumn.otherProps;
117
93
  }
118
-
119
- // 传统模式 compact 模式:将 Form.Item 相关的 props 传递给 ComRender
120
- // ComRender 内部会处理 Form.Item 的渲染,避免嵌套
121
- const dependencies = names && names.length > 0 ? names.filter(n => n !== newColumn.name) : undefined;
122
- const formElement = /*#__PURE__*/_jsx(ComRender, {
123
- contextProps: contextProps,
124
- isView: nextIsView,
125
- formItemClassName: formItemClassName,
126
- formItemStyle: formItemStyle,
127
- dependencies: dependencies,
128
- ...newColumn
129
- }, newColumn.name || index);
94
+ const dependencies = names && names.length > 0 ? names.filter((n) => n !== newColumn.name) : void 0;
95
+ const formElement = /* @__PURE__ */ jsx(
96
+ ComRender,
97
+ {
98
+ contextProps,
99
+ isView: nextIsView,
100
+ formItemClassName,
101
+ formItemStyle,
102
+ dependencies,
103
+ ...newColumn
104
+ },
105
+ newColumn.name || index2
106
+ );
130
107
  elements.push(formElement);
131
-
132
- // 添加分隔符
133
- if (newColumn?.separator && index < columns.length - 1) {
134
- elements.push( /*#__PURE__*/_jsx("span", {
135
- className: "pro-group-separator-compact",
136
- children: newColumn.separator
137
- }, `separator-${newColumn.name || index}`));
108
+ if ((newColumn == null ? void 0 : newColumn.separator) && index2 < columns.length - 1) {
109
+ elements.push(
110
+ /* @__PURE__ */ jsx(
111
+ "span",
112
+ {
113
+ className: "pro-group-separator-compact",
114
+ children: newColumn.separator
115
+ },
116
+ `separator-${String(newColumn.name ?? index2)}`
117
+ )
118
+ );
138
119
  }
139
120
  });
140
- return /*#__PURE__*/_jsx("div", {
141
- className: "ant-space ant-space-horizontal ant-space-compact pro-group-compact-container",
142
- children: elements
143
- });
121
+ return /* @__PURE__ */ jsx("div", { className: "ant-space ant-space-horizontal ant-space-compact pro-group-compact-container", children: elements });
144
122
  };
145
- return /*#__PURE__*/_jsx("div", {
146
- className: nextClassName,
147
- id: id,
148
- children: (space.compact || space?.separator) && !nextIsView ? renderCompactFormItems() : /*#__PURE__*/_jsx(Space, {
123
+ return /* @__PURE__ */ jsx("div", { className: nextClassName, id, children: (space.compact || (space == null ? void 0 : space.separator)) && !nextIsView ? renderCompactFormItems() : /* @__PURE__ */ jsx(
124
+ Space,
125
+ {
149
126
  align: "start",
150
- ..._omit(space, ['separator', 'compact']),
127
+ ...omit(space, ["separator", "compact"]),
151
128
  separator: nextIsView ? finalSeparator : null,
152
129
  size: nextIsView ? 0 : space.size,
153
- children: columns.map((column, index) => {
130
+ children: columns.map((column, index2) => {
154
131
  column.otherProps = otherProps;
155
- if (column?.separator) {
132
+ if (column == null ? void 0 : column.separator) {
156
133
  delete column.separator;
157
134
  delete column.otherProps;
158
135
  }
159
- return /*#__PURE__*/_jsx(ComRender, {
160
- contextProps: contextProps,
161
- isView: nextIsView,
162
- ...column
163
- }, column.name || index);
136
+ return /* @__PURE__ */ jsx(
137
+ ComRender,
138
+ {
139
+ contextProps,
140
+ isView: nextIsView,
141
+ ...column
142
+ },
143
+ column.name || index2
144
+ );
164
145
  })
165
- })
166
- });
146
+ }
147
+ ) });
167
148
  };
168
-
169
- /**
170
- * Group组件 - 支持传统模式和灵活模式
171
- * - 有names属性 → 传统数组模式(保持向后兼容)
172
- * - 无names属性 → 新的灵活模式(子组件必须配置name)
173
- */
174
- const Group = props => {
175
- const {
176
- children,
177
- names,
178
- otherProps
179
- } = props;
180
-
181
- // names可能在props.names或props.otherProps.names中(来自ProForm的传递)
182
- const actualNames = names || otherProps?.names;
183
-
184
- // 模式检测:基于names属性判断使用哪种模式
185
- // 传统模式:有names属性且为非空数组
186
- // 灵活模式:无names属性或names为空,children中的子项必须配置name
149
+ const Group = (props) => {
150
+ const { children, names, otherProps } = props;
151
+ const actualNames = names || (otherProps == null ? void 0 : otherProps.names);
187
152
  const isLegacyMode = Array.isArray(actualNames) && actualNames.length > 0;
188
153
  if (isLegacyMode) {
189
- // 传统模式:使用names数组管理值,确保names被传递给LegacyGroup
190
- return /*#__PURE__*/_jsx(LegacyGroup, {
191
- ...props,
192
- names: actualNames
193
- });
154
+ return /* @__PURE__ */ jsx(LegacyGroup, { ...props, names: actualNames });
194
155
  }
195
- // 灵活模式:子组件独立管理name和rules
196
- return /*#__PURE__*/_jsx(FlexibleGroup, {
197
- ...props
198
- });
156
+ return /* @__PURE__ */ jsx(FlexibleGroup, { ...props });
157
+ };
158
+ var Group_default = Group;
159
+ export {
160
+ Group_default as default
199
161
  };
200
- export default Group;
@@ -1 +0,0 @@
1
- export {};