@zat-design/sisyphus-react 4.5.10-beta.1 → 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 (266) hide show
  1. package/es/FormsProvider/index.js +14 -21
  2. package/es/ProAction/components/CheckModalContent/index.js +12 -26
  3. package/es/ProAction/index.js +79 -83
  4. package/es/ProAction/propsType.js +0 -1
  5. package/es/ProConfigProvider/index.js +63 -110
  6. package/es/ProConfigProvider/propsType.js +0 -1
  7. package/es/ProDownload/index.js +55 -65
  8. package/es/ProDownload/propsType.js +0 -1
  9. package/es/ProDownload/utils.js +61 -95
  10. package/es/ProDrawerForm/components/ProDrawer/index.js +83 -113
  11. package/es/ProDrawerForm/components/ProModal/index.js +77 -108
  12. package/es/ProDrawerForm/components/index.js +6 -2
  13. package/es/ProDrawerForm/hooks/useConfirmClose.js +20 -39
  14. package/es/ProDrawerForm/index.js +29 -38
  15. package/es/ProDrawerForm/propsType.js +0 -1
  16. package/es/ProDrawerForm/utils/index.js +18 -36
  17. package/es/ProEditLabel/components/RenderProForm.js +45 -49
  18. package/es/ProEditLabel/index.js +126 -163
  19. package/es/ProEditLabel/propsType.js +0 -1
  20. package/es/ProEditLabel/utils/index.js +5 -8
  21. package/es/ProEditTable/components/ActionButton/index.js +111 -119
  22. package/es/ProEditTable/components/RcTable/BaseTable.js +38 -51
  23. package/es/ProEditTable/components/RcTable/DraggableTable.js +97 -129
  24. package/es/ProEditTable/components/RcTable/index.js +6 -4
  25. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +77 -95
  26. package/es/ProEditTable/components/RenderField/index.js +490 -587
  27. package/es/ProEditTable/components/RenderField/propsType.js +0 -1
  28. package/es/ProEditTable/components/RenderField/tools.js +115 -112
  29. package/es/ProEditTable/components/RenderToolbar/index.js +47 -73
  30. package/es/ProEditTable/components/Summary/index.js +38 -64
  31. package/es/ProEditTable/components/Validator/index.js +46 -46
  32. package/es/ProEditTable/components/index.js +12 -5
  33. package/es/ProEditTable/index.js +456 -378
  34. package/es/ProEditTable/propsType.js +0 -1
  35. package/es/ProEditTable/utils/config.js +60 -122
  36. package/es/ProEditTable/utils/diffOriginal.js +45 -82
  37. package/es/ProEditTable/utils/getDefaultProps.js +19 -24
  38. package/es/ProEditTable/utils/index.js +150 -236
  39. package/es/ProEditTable/utils/tools.js +149 -286
  40. package/es/ProEditTable/utils/transform.js +25 -30
  41. package/es/ProEditTable/utils/useEditTableError.js +30 -43
  42. package/es/ProEditTable/utils/useShouldUpdateForTable.js +42 -72
  43. package/es/ProEditTable/utils/validateAll.js +87 -154
  44. package/es/ProEnum/components/Group.js +38 -30
  45. package/es/ProEnum/components/Tag.js +22 -26
  46. package/es/ProEnum/hooks/useEnum.js +48 -116
  47. package/es/ProEnum/hooks/useEnumRequest.js +128 -179
  48. package/es/ProEnum/hooks/useFrequentEnumRequest.js +40 -48
  49. package/es/ProEnum/index.js +162 -172
  50. package/es/ProEnum/propsType.js +0 -1
  51. package/es/ProEnum/utils/eventCenter.js +10 -12
  52. package/es/ProEnum/utils/frequentEnum.js +35 -92
  53. package/es/ProEnum/utils/getEnum.js +32 -90
  54. package/es/ProEnum/utils/getEnumLabel.js +44 -49
  55. package/es/ProEnum/utils/index.js +93 -207
  56. package/es/ProForm/components/Container.js +13 -28
  57. package/es/ProForm/components/FormFooter/index.js +36 -44
  58. package/es/ProForm/components/FormFooter/propsType.js +0 -1
  59. package/es/ProForm/components/base/Checkbox/index.js +32 -59
  60. package/es/ProForm/components/base/DatePicker/index.js +49 -71
  61. package/es/ProForm/components/base/Input/index.js +63 -97
  62. package/es/ProForm/components/base/Input/propsType.js +0 -1
  63. package/es/ProForm/components/base/InputNumber/index.js +118 -172
  64. package/es/ProForm/components/base/Radio/index.js +39 -52
  65. package/es/ProForm/components/base/RangePicker/index.js +109 -127
  66. package/es/ProForm/components/base/RangePicker/useDateRange.js +20 -17
  67. package/es/ProForm/components/base/Select/index.js +63 -89
  68. package/es/ProForm/components/base/Switch/index.js +27 -35
  69. package/es/ProForm/components/base/SwitchCheckbox/index.js +36 -54
  70. package/es/ProForm/components/base/TextArea/index.js +30 -41
  71. package/es/ProForm/components/base/TimePicker/index.js +27 -37
  72. package/es/ProForm/components/combination/Container/index.js +37 -47
  73. package/es/ProForm/components/combination/Container/propsType.js +0 -1
  74. package/es/ProForm/components/combination/FormList/components/ActionButton.js +165 -237
  75. package/es/ProForm/components/combination/FormList/components/BlockFields.js +98 -103
  76. package/es/ProForm/components/combination/FormList/components/Empty.js +27 -54
  77. package/es/ProForm/components/combination/FormList/components/LineFields.js +57 -54
  78. package/es/ProForm/components/combination/FormList/components/ToolbarButton.js +61 -109
  79. package/es/ProForm/components/combination/FormList/index.js +151 -161
  80. package/es/ProForm/components/combination/FormList/propsType.js +0 -1
  81. package/es/ProForm/components/combination/FormList/utils.js +22 -38
  82. package/es/ProForm/components/combination/Group/component/AddonWrapper/index.js +12 -28
  83. package/es/ProForm/components/combination/Group/component/ComRender.js +50 -111
  84. package/es/ProForm/components/combination/Group/component/FlexibleGroup.js +105 -206
  85. package/es/ProForm/components/combination/Group/hooks/index.js +68 -128
  86. package/es/ProForm/components/combination/Group/index.js +87 -126
  87. package/es/ProForm/components/combination/Group/propsType.js +0 -1
  88. package/es/ProForm/components/combination/Group/utils/index.js +124 -239
  89. package/es/ProForm/components/combination/ProCascader/index.js +156 -199
  90. package/es/ProForm/components/combination/ProCascader/propsType.js +0 -1
  91. package/es/ProForm/components/combination/ProCascader/utils/index.js +12 -21
  92. package/es/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +63 -75
  93. package/es/ProForm/components/combination/ProModalSelect/index.js +290 -348
  94. package/es/ProForm/components/combination/ProModalSelect/propsType.js +0 -1
  95. package/es/ProForm/components/combination/ProModalSelect/utils/index.js +32 -39
  96. package/es/ProForm/components/combination/ProNumberRange/index.js +100 -156
  97. package/es/ProForm/components/combination/ProNumberRange/propsType.js +0 -1
  98. package/es/ProForm/components/combination/ProRangeLimit/index.js +104 -115
  99. package/es/ProForm/components/combination/ProRangeLimit/propsType.js +0 -1
  100. package/es/ProForm/components/combination/ProTimeLimit/hooks/useControlled.js +16 -16
  101. package/es/ProForm/components/combination/ProTimeLimit/index.js +75 -109
  102. package/es/ProForm/components/index.js +56 -34
  103. package/es/ProForm/components/render/ChangedWrapper.js +85 -94
  104. package/es/ProForm/components/render/ConfirmWrapper.js +27 -39
  105. package/es/ProForm/components/render/CustomComponentViewWrapper.js +65 -82
  106. package/es/ProForm/components/render/Render.js +223 -329
  107. package/es/ProForm/components/render/RenderFields.js +76 -113
  108. package/es/ProForm/components/render/propsType.js +0 -1
  109. package/es/ProForm/hooks/useControlled.js +8 -10
  110. package/es/ProForm/hooks/useDeepCompareMemo.js +11 -11
  111. package/es/ProForm/hooks/useFieldProps.js +8 -4
  112. package/es/ProForm/hooks/useForm.js +50 -110
  113. package/es/ProForm/hooks/useRules.js +17 -33
  114. package/es/ProForm/hooks/useShouldUpdate.js +77 -152
  115. package/es/ProForm/hooks/useWatch.js +58 -129
  116. package/es/ProForm/index.js +157 -194
  117. package/es/ProForm/propsType.js +15 -7
  118. package/es/ProForm/utils/buildFormItemProps.js +51 -58
  119. package/es/ProForm/utils/diffOriginal.js +43 -73
  120. package/es/ProForm/utils/getDefaultProps.js +18 -24
  121. package/es/ProForm/utils/index.js +159 -234
  122. package/es/ProForm/utils/processDependencies.js +21 -60
  123. package/es/ProForm/utils/reactiveValues.js +20 -34
  124. package/es/ProForm/utils/rulesCreator.js +42 -40
  125. package/es/ProForm/utils/transformNames.js +10 -13
  126. package/es/ProForm/utils/transformValue.js +16 -29
  127. package/es/ProForm/utils/valueType.js +96 -178
  128. package/es/ProIcon/config/index.js +340 -274
  129. package/es/ProIcon/index.js +135 -209
  130. package/es/ProIcon/propsTypes.js +0 -1
  131. package/es/ProIcon/utils/index.js +24 -39
  132. package/es/ProLayout/components/Layout/Header/index.js +108 -141
  133. package/es/ProLayout/components/Layout/Menu/FoldMenu/index.js +134 -190
  134. package/es/ProLayout/components/Layout/Menu/OpenMenu/index.js +111 -137
  135. package/es/ProLayout/components/Layout/Menu/OpenMenu/propsType.js +0 -1
  136. package/es/ProLayout/components/Layout/Menu/SideMenu/index.js +23 -31
  137. package/es/ProLayout/components/Layout/Menu/index.js +92 -89
  138. package/es/ProLayout/components/Layout/Notice/index.js +13 -27
  139. package/es/ProLayout/components/Layout/index.js +8 -3
  140. package/es/ProLayout/components/ProCollapse/PropTypes.js +0 -1
  141. package/es/ProLayout/components/ProCollapse/index.js +89 -111
  142. package/es/ProLayout/components/ProFooter/PropTypes.js +0 -1
  143. package/es/ProLayout/components/ProFooter/index.js +27 -25
  144. package/es/ProLayout/components/ProHeader/PropTypes.js +0 -1
  145. package/es/ProLayout/components/ProHeader/components/Copy/index.js +23 -21
  146. package/es/ProLayout/components/ProHeader/components/Describe/index.js +67 -86
  147. package/es/ProLayout/components/ProHeader/components/ProBackBtn/index.js +18 -21
  148. package/es/ProLayout/components/ProHeader/components/ProBackBtn/propsType.js +0 -1
  149. package/es/ProLayout/components/ProHeader/components/index.js +6 -2
  150. package/es/ProLayout/components/ProHeader/index.js +216 -356
  151. package/es/ProLayout/components/ProHeader/utils/index.js +19 -26
  152. package/es/ProLayout/components/TabsManager/components/TabContextMenu.js +92 -85
  153. package/es/ProLayout/components/TabsManager/components/TabItem.js +53 -64
  154. package/es/ProLayout/components/TabsManager/components/TabsContext.js +5 -5
  155. package/es/ProLayout/components/TabsManager/components/TabsHeader.js +42 -52
  156. package/es/ProLayout/components/TabsManager/hooks/useActiveTab.js +8 -9
  157. package/es/ProLayout/components/TabsManager/hooks/useIframeRoute.js +19 -32
  158. package/es/ProLayout/components/TabsManager/hooks/useProLayoutTabs.js +6 -20
  159. package/es/ProLayout/components/TabsManager/hooks/useTabsCache.js +25 -42
  160. package/es/ProLayout/components/TabsManager/hooks/useTabsState.js +290 -408
  161. package/es/ProLayout/components/TabsManager/hooks/useTabsUrlSync.js +132 -95
  162. package/es/ProLayout/components/TabsManager/index.js +406 -390
  163. package/es/ProLayout/components/TabsManager/propTypes.js +7 -15
  164. package/es/ProLayout/components/TabsManager/utils/historyObserver.js +26 -23
  165. package/es/ProLayout/components/TabsManager/utils/index.js +127 -184
  166. package/es/ProLayout/components/index.js +8 -3
  167. package/es/ProLayout/index.js +171 -229
  168. package/es/ProLayout/propTypes.js +12 -52
  169. package/es/ProLayout/utils/index.js +48 -128
  170. package/es/ProSelect/components/AdaptiveTooltip.js +26 -25
  171. package/es/ProSelect/index.js +184 -229
  172. package/es/ProSelect/propsType.js +0 -1
  173. package/es/ProSelect/utils/index.js +100 -146
  174. package/es/ProStep/components/Anchor/index.js +71 -82
  175. package/es/ProStep/components/Item/index.js +49 -56
  176. package/es/ProStep/components/LazyLoad/index.js +23 -29
  177. package/es/ProStep/components/Listener/index.js +20 -33
  178. package/es/ProStep/components/Step/index.js +31 -38
  179. package/es/ProStep/constants.js +4 -1
  180. package/es/ProStep/index.js +166 -153
  181. package/es/ProStep/propsType.js +0 -1
  182. package/es/ProStep/utils/index.js +29 -55
  183. package/es/ProStepTab/index.js +83 -138
  184. package/es/ProStepTab/propsType.js +0 -1
  185. package/es/ProTable/components/EditableCell/EditIcon.js +10 -14
  186. package/es/ProTable/components/EditableCell/index.js +37 -71
  187. package/es/ProTable/components/EditableCell/propsType.js +0 -1
  188. package/es/ProTable/components/FormatColumn/index.js +209 -340
  189. package/es/ProTable/components/FormatColumn/propsType.js +0 -1
  190. package/es/ProTable/components/RcTable/components/BaseTable/index.js +35 -39
  191. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +80 -107
  192. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +54 -48
  193. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/propsType.js +0 -1
  194. package/es/ProTable/components/RcTable/components/DraggableTable/index.js +47 -54
  195. package/es/ProTable/components/RcTable/index.js +6 -4
  196. package/es/ProTable/components/RenderColumn/index.js +158 -186
  197. package/es/ProTable/components/RenderEmptyText/index.js +12 -21
  198. package/es/ProTable/components/RenderFooter/index.js +15 -15
  199. package/es/ProTable/components/RenderSummary/index.js +33 -50
  200. package/es/ProTable/components/RenderTableHeader/index.js +44 -46
  201. package/es/ProTable/components/RenderTabs/index.js +47 -51
  202. package/es/ProTable/components/TableResizable/index.js +56 -72
  203. package/es/ProTable/components/TooltipTitle/index.js +13 -21
  204. package/es/ProTable/components/index.js +16 -36
  205. package/es/ProTable/hooks/useAntdTable.js +185 -219
  206. package/es/ProTable/index.js +232 -249
  207. package/es/ProTable/propsType.js +0 -1
  208. package/es/ProTable/utils/columnStorage.js +63 -88
  209. package/es/ProTable/utils/index.js +57 -90
  210. package/es/ProTabs/components/Card/index.js +20 -48
  211. package/es/ProTabs/components/index.js +4 -1
  212. package/es/ProTabs/index.js +39 -56
  213. package/es/ProTabs/propType.js +0 -1
  214. package/es/ProThemeTools/component/ProTools/index.js +106 -158
  215. package/es/ProThemeTools/component/index.js +4 -1
  216. package/es/ProThemeTools/context/ThemeContext.js +67 -146
  217. package/es/ProThemeTools/index.js +103 -156
  218. package/es/ProThemeTools/propsType.js +0 -1
  219. package/es/ProThemeTools/utils/index.js +60 -109
  220. package/es/ProTooltip/index.js +132 -165
  221. package/es/ProTooltip/propsType.js +0 -1
  222. package/es/ProTree/components/AdaptiveTooltip.js +15 -17
  223. package/es/ProTree/components/CloseIcon.js +18 -26
  224. package/es/ProTree/components/List.js +28 -47
  225. package/es/ProTree/components/ProTree.js +152 -211
  226. package/es/ProTree/components/ProTreeSelect/index.js +254 -458
  227. package/es/ProTree/components/ProTreeSelect/propsType.js +0 -1
  228. package/es/ProTree/components/SearchTitle.js +23 -42
  229. package/es/ProTree/components/Tree.js +147 -195
  230. package/es/ProTree/components/index.js +10 -5
  231. package/es/ProTree/index.js +12 -16
  232. package/es/ProTree/propsType.js +0 -1
  233. package/es/ProTree/utils.js +46 -118
  234. package/es/ProTreeModal/components/Cascader.js +56 -64
  235. package/es/ProTreeModal/components/CloseIcon.js +18 -26
  236. package/es/ProTreeModal/components/List.js +114 -180
  237. package/es/ProTreeModal/components/SearchTitle.js +15 -18
  238. package/es/ProTreeModal/components/SortableItem.js +29 -58
  239. package/es/ProTreeModal/components/Tree.js +99 -113
  240. package/es/ProTreeModal/components/Trigger.js +87 -121
  241. package/es/ProTreeModal/components/index.js +14 -6
  242. package/es/ProTreeModal/index.js +397 -435
  243. package/es/ProTreeModal/propsType.js +0 -1
  244. package/es/ProTreeModal/utils.js +52 -95
  245. package/es/ProUpload/components/ButtonRender.js +44 -54
  246. package/es/ProUpload/components/DragRender.js +94 -134
  247. package/es/ProUpload/components/DraggableUploadListItem.js +12 -25
  248. package/es/ProUpload/components/Example.js +27 -31
  249. package/es/ProUpload/components/FileItem.js +69 -163
  250. package/es/ProUpload/components/ImageRender.js +134 -170
  251. package/es/ProUpload/index.js +68 -100
  252. package/es/ProUpload/propsType.js +0 -1
  253. package/es/ProUpload/uitls.js +8 -4
  254. package/es/ProUtils/utils/index.js +17 -13
  255. package/es/ProViewer/index.js +154 -175
  256. package/es/ProViewer/propsType.js +0 -5
  257. package/es/ProWaterMark/index.js +9 -16
  258. package/es/ProWaterMark/propsType.js +0 -1
  259. package/es/hooks/useDraggableRow.js +25 -53
  260. package/es/index.js +57 -77
  261. package/es/locale/en_US.js +153 -142
  262. package/es/locale/index.js +23 -36
  263. package/es/locale/zh_CN.js +145 -142
  264. package/es/tokens.js +84 -83
  265. package/es/utils/index.js +24 -51
  266. package/package.json +4 -3
@@ -1,27 +1,12 @@
1
- import _isString from "lodash/isString";
2
- import _isFunction from "lodash/isFunction";
3
- import _isBoolean from "lodash/isBoolean";
4
- import _get from "lodash/get";
5
- // 复用 antd 内部(@rc-component/form)的真实校验内核:与每个 Form.Item 字段走的是同一套
6
- // async-validator 流程,保证脱离 DOM 校验时的文案/异步 validator 行为与渲染态完全一致。
7
- import { validateRules } from '@rc-component/form/es/utils/validateUtil';
1
+ import get from "lodash/get";
2
+ import isBoolean from "lodash/isBoolean";
3
+ import isFunction from "lodash/isFunction";
4
+ import isString from "lodash/isString";
5
+ import { validateRules } from "@rc-component/form/es/utils/validateUtil";
8
6
  import { rulesCreator } from "../../ProForm/utils/rulesCreator";
9
7
  import { isSelect, isNullArray, isNotFullArray } from "../../ProForm/utils";
10
8
  import { getDisabled, splitNames } from "./tools";
11
9
  import locale from "../../locale";
12
-
13
- /**
14
- * 单元格规则装配 + 全量数据真实校验(脱离 DOM)。
15
- *
16
- * 背景:antd6 虚拟表格滚动时视口外的行会被卸载,其 Form.Item 字段未注册,
17
- * form.validateFields 无法覆盖;本模块用 form store 里的全量数据 + 真实规则
18
- * 逐行逐列离屏校验,解决「统一校验」缺口,并产出可常驻的真实报错文案。
19
- */
20
-
21
- /**
22
- * 纯函数版规则装配,镜像 ProForm/hooks/useRules(去掉 hook 外壳)+ 复用 rulesCreator,
23
- * 确保与渲染态生成的 rules 完全一致,无文案漂移。
24
- */
25
10
  const composeRules = ({
26
11
  rules,
27
12
  required,
@@ -30,19 +15,15 @@ const composeRules = ({
30
15
  names,
31
16
  labelRequired
32
17
  }) => {
33
- const _label = _isString(label) ? label : '';
34
- const requiredRule = Array.isArray(rules) && rules.find(rule => rule?.required === true);
35
- const allRequired = required === true || Array.isArray(required) && required.every(item => item === true);
18
+ const _label = isString(label) ? label : "";
19
+ const requiredRule = Array.isArray(rules) && rules.find((rule) => (rule == null ? void 0 : rule.required) === true);
20
+ const allRequired = required === true || Array.isArray(required) && required.every((item) => item === true);
36
21
  let resultRules = rules || [];
37
22
  if (allRequired) {
38
23
  if (!requiredRule) {
39
24
  const message = isSelectField ? `${locale.ProForm.selectPlaceHolder}${_label}` : `${locale.ProForm.inputPlaceholder}${_label}`;
40
- const rule = {
41
- required: allRequired,
42
- message
43
- };
44
- // names 字段的必填校验(与 useRules 保持一致)
45
- if (names?.length) {
25
+ const rule = { required: allRequired, message };
26
+ if (names == null ? void 0 : names.length) {
46
27
  rule.validator = (_, value) => {
47
28
  if (!value || isNullArray(value)) {
48
29
  return Promise.reject(new Error(`${locale.ProForm.inputPlaceholder}${_label}`));
@@ -52,20 +33,19 @@ const composeRules = ({
52
33
  }
53
34
  resultRules = Array.isArray(rules) ? [...rules, rule] : [rule];
54
35
  }
55
- } else if (requiredRule && names?.length) {
56
- // 不可变:克隆并替换 requiredRule 的 validator,避免污染外部 column.rules
57
- resultRules = rules.map(rule => rule === requiredRule ? {
58
- ...rule,
59
- validator: (_, value) => {
60
- if (!value || isNullArray(value)) {
61
- return Promise.reject(new Error(`${locale.ProForm.inputPlaceholder}${_label}`));
36
+ } else if (requiredRule && (names == null ? void 0 : names.length)) {
37
+ resultRules = rules.map(
38
+ (rule) => rule === requiredRule ? {
39
+ ...rule,
40
+ validator: (_, value) => {
41
+ if (!value || isNullArray(value)) {
42
+ return Promise.reject(new Error(`${locale.ProForm.inputPlaceholder}${_label}`));
43
+ }
44
+ return Promise.resolve();
62
45
  }
63
- return Promise.resolve();
64
- }
65
- } : rule);
46
+ } : rule
47
+ );
66
48
  }
67
-
68
- // type → 内置 rules(直接复用 rulesCreator 纯函数)
69
49
  let finalRules = rulesCreator({
70
50
  rules: resultRules,
71
51
  label: _label,
@@ -73,9 +53,7 @@ const composeRules = ({
73
53
  names,
74
54
  required
75
55
  });
76
-
77
- // 完整性校验(镜像 useRules 的 useEffect 分支)
78
- if (names && !_isBoolean(labelRequired)) {
56
+ if (names && !isBoolean(labelRequired)) {
79
57
  const customRequired = {
80
58
  validator: (_rules, value) => {
81
59
  if (Array.isArray(value) && !isNullArray(value) && isNotFullArray(value, names.length, required)) {
@@ -88,12 +66,7 @@ const composeRules = ({
88
66
  }
89
67
  return finalRules;
90
68
  };
91
-
92
- /**
93
- * 为单行单列装配真实校验规则与取值。
94
- * 当该单元格处于查看/禁用态、或无任何规则时返回 null(跳过校验)。
95
- */
96
- export const buildCellRules = ({
69
+ const buildCellRules = ({
97
70
  column,
98
71
  rowData,
99
72
  index,
@@ -101,94 +74,76 @@ export const buildCellRules = ({
101
74
  name,
102
75
  config
103
76
  }) => {
104
- // 整表查看模式:不校验
105
- if (config?.isView) {
77
+ var _a, _b, _c, _d;
78
+ if (config == null ? void 0 : config.isView) {
106
79
  return null;
107
80
  }
108
- const reactiveParams = {
109
- form,
110
- index,
111
- namePath: [...name, index]
112
- };
113
-
114
- // 动态 required / rules / isEditable 按行求值
115
- let lastRequired = column?.required ?? false;
116
- if (_isFunction(column?.required)) {
81
+ const reactiveParams = { form, index, namePath: [...name, index] };
82
+ let lastRequired = (column == null ? void 0 : column.required) ?? false;
83
+ if (isFunction(column == null ? void 0 : column.required)) {
117
84
  lastRequired = column.required(rowData, reactiveParams);
118
85
  }
119
- let lastRules = column?.rules ?? [];
120
- if (_isFunction(column?.rules)) {
86
+ let lastRules = (column == null ? void 0 : column.rules) ?? [];
87
+ if (isFunction(column == null ? void 0 : column.rules)) {
121
88
  lastRules = column.rules(rowData, reactiveParams);
122
89
  }
123
- let lastFieldProps = column?.fieldProps ?? {};
124
- if (_isFunction(column?.fieldProps)) {
90
+ let lastFieldProps = (column == null ? void 0 : column.fieldProps) ?? {};
91
+ if (isFunction(column == null ? void 0 : column.fieldProps)) {
125
92
  lastFieldProps = column.fieldProps(rowData, reactiveParams);
126
93
  }
127
- let isEditable = column?.isEditable ?? true;
128
- if (_isFunction(column?.isEditable)) {
94
+ let isEditable = (column == null ? void 0 : column.isEditable) ?? true;
95
+ if (isFunction(column == null ? void 0 : column.isEditable)) {
129
96
  isEditable = column.isEditable(rowData, reactiveParams);
130
97
  }
131
-
132
- // 与 RenderField 一致的 type 首字母大写
133
- const type = column?.type?.replace?.(column.type[0], column.type[0].toUpperCase());
134
-
135
- // 查看/禁用单元格跳过(镜像 RenderField.isView 的核心判定)
98
+ const type = (_b = (_a = column == null ? void 0 : column.type) == null ? void 0 : _a.replace) == null ? void 0 : _b.call(_a, column.type[0], column.type[0].toUpperCase());
136
99
  const disabled = getDisabled({
137
- globalControl: config?.otherProps?.globalControl,
138
- formDisabled: config?.otherProps?.formDisabled,
100
+ globalControl: (_c = config == null ? void 0 : config.otherProps) == null ? void 0 : _c.globalControl,
101
+ formDisabled: (_d = config == null ? void 0 : config.otherProps) == null ? void 0 : _d.formDisabled,
139
102
  column,
140
- tabledDisabled: config?.disabled,
103
+ tabledDisabled: config == null ? void 0 : config.disabled,
141
104
  columnFieldProps: lastFieldProps,
142
105
  params: [rowData, reactiveParams],
143
- rowDisabled: config?.rowDisabled || 'empty'
106
+ rowDisabled: (config == null ? void 0 : config.rowDisabled) || "empty"
144
107
  });
145
- if (!isEditable || rowData?.['is-view'] || disabled) {
108
+ if (!isEditable || (rowData == null ? void 0 : rowData["is-view"]) || disabled) {
146
109
  return null;
147
110
  }
148
- const names = column?.names;
149
- const columnName = column?.name || column?.dataIndex || column?.key;
150
- const isSelectField = !!isSelect({
151
- dataSource: lastFieldProps?.dataSource,
152
- type
153
- });
111
+ const names = column == null ? void 0 : column.names;
112
+ const columnName = (column == null ? void 0 : column.name) || (column == null ? void 0 : column.dataIndex) || (column == null ? void 0 : column.key);
113
+ const isSelectField = !!isSelect({ dataSource: lastFieldProps == null ? void 0 : lastFieldProps.dataSource, type });
154
114
  const rules = composeRules({
155
115
  rules: lastRules,
156
116
  required: lastRequired,
157
117
  isSelectField,
158
- label: column?.label,
118
+ label: column == null ? void 0 : column.label,
159
119
  names,
160
- labelRequired: column?.labelRequired
120
+ labelRequired: column == null ? void 0 : column.labelRequired
161
121
  });
162
-
163
- // 无实际约束(仅 [{ required: false }] 兜底)时跳过
164
- const hasRealRule = rules.some(rule => rule?.required === true || rule?.validator || rule?.type || rule?.pattern);
122
+ const hasRealRule = rules.some(
123
+ (rule) => (rule == null ? void 0 : rule.required) === true || (rule == null ? void 0 : rule.validator) || (rule == null ? void 0 : rule.type) || (rule == null ? void 0 : rule.pattern)
124
+ );
165
125
  if (!hasRealRule) {
166
126
  return null;
167
127
  }
168
-
169
- // 取值与 cellKey:names 列取组合数组,cellKey 用 splitNames(与 transformColumns 对齐)
170
128
  let value;
171
129
  let cellKey;
172
- if (names?.length) {
173
- value = names.map(key => _get(rowData, key));
130
+ if (names == null ? void 0 : names.length) {
131
+ value = names.map((key) => get(rowData, key));
174
132
  cellKey = splitNames(names);
175
133
  } else {
176
134
  const path = Array.isArray(columnName) ? columnName : [columnName];
177
- value = _get(rowData, path);
135
+ value = get(rowData, path);
178
136
  cellKey = String(columnName);
179
137
  }
180
138
  return {
181
- namePath: [...name, index, ...(Array.isArray(columnName) ? columnName : [columnName])],
139
+ namePath: [...name, index, ...Array.isArray(columnName) ? columnName : [columnName]],
182
140
  cellKey,
183
141
  value,
184
142
  rules,
185
- label: _isString(column?.label) ? column.label : ''
143
+ label: isString(column == null ? void 0 : column.label) ? column.label : ""
186
144
  };
187
145
  };
188
- /**
189
- * 对 form store 中 name 路径下的全量数组数据,逐行逐列用真实规则校验(脱离 DOM)。
190
- */
191
- export const validateAllRows = async ({
146
+ const validateAllRows = async ({
192
147
  form,
193
148
  name,
194
149
  columns,
@@ -202,38 +157,29 @@ export const validateAllRows = async ({
202
157
  let firstErrorColumnKey = null;
203
158
  for (let index = 0; index < list.length; index += 1) {
204
159
  const rowData = list[index];
205
- // 行可能为空位(单行编辑增删残留),跳过
206
160
  if (!rowData) {
207
161
  continue;
208
162
  }
209
163
  const rowKey = String(rowData.rowKey ?? index);
210
164
  for (const column of columns) {
211
- const built = buildCellRules({
212
- column,
213
- rowData,
214
- index,
215
- form,
216
- name: namePath,
217
- config
218
- });
165
+ const built = buildCellRules({ column, rowData, index, form, name: namePath, config });
219
166
  if (!built) {
220
167
  continue;
221
168
  }
222
-
223
- // validateFirst=true:成功 resolve([]),首个失败 reject([{ errors, rule }])
224
- // eslint-disable-next-line no-await-in-loop
225
- const ruleErrors = await validateRules(built.namePath, built.value, built.rules, {
226
- validateMessages: config?.validateMessages
227
- }, true, {
228
- label: built.label
229
- }).then(() => [], err => Array.isArray(err) ? err : []);
169
+ const ruleErrors = await validateRules(
170
+ built.namePath,
171
+ built.value,
172
+ built.rules,
173
+ { validateMessages: config == null ? void 0 : config.validateMessages },
174
+ true,
175
+ { label: built.label }
176
+ ).then(
177
+ () => [],
178
+ (err) => Array.isArray(err) ? err : []
179
+ );
230
180
  const messages = [];
231
- ruleErrors.forEach(({
232
- errors = [],
233
- rule
234
- }) => {
235
- // warningOnly 仅警告,不计入阻断性错误
236
- if (!rule?.warningOnly) {
181
+ ruleErrors.forEach(({ errors = [], rule }) => {
182
+ if (!(rule == null ? void 0 : rule.warningOnly)) {
237
183
  messages.push(...errors);
238
184
  }
239
185
  });
@@ -258,21 +204,17 @@ export const validateAllRows = async ({
258
204
  firstErrorColumnKey
259
205
  };
260
206
  };
261
-
262
- /**
263
- * 外部错误存储:以 rowKey + cellKey 为键持久化真实报错文案。
264
- * 它是「报错常驻」的真实来源——脱离 antd Field 实体生命周期,
265
- * 行卸载后仍保留,重新挂载时回填显示。
266
- */
267
-
268
- export const createErrorStore = () => {
269
- const map = new Map();
207
+ const createErrorStore = () => {
208
+ const map = /* @__PURE__ */ new Map();
270
209
  return {
271
- get: (rowKey, cellKey) => map.get(String(rowKey))?.[cellKey],
272
- getRow: rowKey => map.get(String(rowKey)),
273
- setAll: errorMap => {
210
+ get: (rowKey, cellKey) => {
211
+ var _a;
212
+ return (_a = map.get(String(rowKey))) == null ? void 0 : _a[cellKey];
213
+ },
214
+ getRow: (rowKey) => map.get(String(rowKey)),
215
+ setAll: (errorMap) => {
274
216
  map.clear();
275
- Object.keys(errorMap || {}).forEach(rowKey => {
217
+ Object.keys(errorMap || {}).forEach((rowKey) => {
276
218
  map.set(rowKey, errorMap[rowKey]);
277
219
  });
278
220
  },
@@ -289,24 +231,14 @@ export const createErrorStore = () => {
289
231
  isEmpty: () => map.size === 0
290
232
  };
291
233
  };
292
- /**
293
- * 统一校验入口:对全量数据跑真实规则,写入 errorStore,返回是否有错与首个错误行索引。
294
- * 供隐藏聚合校验字段在 form.validateFields() 时调用,从而覆盖视口外未挂载的行。
295
- */
296
- export const runUnifiedValidation = async ({
234
+ const runUnifiedValidation = async ({
297
235
  form,
298
236
  name,
299
237
  columns,
300
238
  config,
301
239
  errorStore
302
240
  }) => {
303
- const {
304
- hasError,
305
- errorMap,
306
- firstErrorPath,
307
- firstErrorRowKey,
308
- firstErrorColumnKey
309
- } = await validateAllRows({
241
+ const { hasError, errorMap, firstErrorPath, firstErrorRowKey, firstErrorColumnKey } = await validateAllRows({
310
242
  form,
311
243
  name,
312
244
  columns,
@@ -315,10 +247,11 @@ export const runUnifiedValidation = async ({
315
247
  errorStore.setAll(errorMap);
316
248
  const namePath = Array.isArray(name) ? name : [name];
317
249
  const firstErrorIndex = firstErrorPath && firstErrorPath.length > namePath.length ? Number(firstErrorPath[namePath.length]) : null;
318
- return {
319
- hasError,
320
- firstErrorIndex,
321
- firstErrorRowKey,
322
- firstErrorColumnKey
323
- };
324
- };
250
+ return { hasError, firstErrorIndex, firstErrorRowKey, firstErrorColumnKey };
251
+ };
252
+ export {
253
+ buildCellRules,
254
+ createErrorStore,
255
+ runUnifiedValidation,
256
+ validateAllRows
257
+ };
@@ -1,7 +1,7 @@
1
- import classNames from 'classnames';
2
- import { useEffect, useRef, useState } from 'react';
3
- import { jsx as _jsx } from "react/jsx-runtime";
4
- const Group = props => {
1
+ import { jsx } from "react/jsx-runtime";
2
+ import classNames from "classnames";
3
+ import { useEffect, useRef, useState } from "react";
4
+ const Group = (props) => {
5
5
  const {
6
6
  value,
7
7
  onChange,
@@ -15,7 +15,7 @@ const Group = props => {
15
15
  const [refresh, setRefresh] = useState(false);
16
16
  const idx = useRef(-1);
17
17
  useEffect(() => {
18
- const index = dataSource.findIndex(item => item[fieldValue] === value);
18
+ const index = dataSource.findIndex((item) => item[fieldValue] === value);
19
19
  idx.current = index;
20
20
  setRefresh(!refresh);
21
21
  }, [value]);
@@ -24,38 +24,46 @@ const Group = props => {
24
24
  if (!allowClear) {
25
25
  return false;
26
26
  }
27
- onChange?.('');
27
+ onChange == null ? void 0 : onChange("");
28
28
  idx.current = -1;
29
29
  } else {
30
30
  idx.current = index;
31
- onChange?.(val);
31
+ onChange == null ? void 0 : onChange(val);
32
32
  }
33
33
  };
34
34
  if (dataSource.length === 0) {
35
- return /*#__PURE__*/_jsx("span", {
36
- children: "-"
37
- });
35
+ return /* @__PURE__ */ jsx("span", { children: "-" });
38
36
  }
39
- return /*#__PURE__*/_jsx("div", {
40
- id: id,
41
- className: classNames({
42
- 'pro-enum-group-root': true,
43
- 'pro-enum-group-root-disabled': disabled
44
- }),
45
- children: dataSource.map((item, index) => /*#__PURE__*/_jsx("div", {
46
- onClick: () => {
47
- if (!item.disabled && !disabled) {
48
- handleClick(item[fieldValue], index);
49
- }
50
- },
37
+ return /* @__PURE__ */ jsx(
38
+ "div",
39
+ {
40
+ id,
51
41
  className: classNames({
52
- 'pro-enum-group-item': true,
53
- 'pro-enum-group-item-selected': value === item[fieldValue],
54
- 'pro-enum-group-item-disabled-after': index === idx.current || index + 1 === idx.current,
55
- 'pro-enum-group-item-disabled': item.disabled
42
+ "pro-enum-group-root": true,
43
+ "pro-enum-group-root-disabled": disabled
56
44
  }),
57
- children: item[fieldLabel]
58
- }, item[fieldValue]))
59
- });
45
+ children: dataSource.map((item, index) => /* @__PURE__ */ jsx(
46
+ "div",
47
+ {
48
+ onClick: () => {
49
+ if (!item.disabled && !disabled) {
50
+ handleClick(item[fieldValue], index);
51
+ }
52
+ },
53
+ className: classNames({
54
+ "pro-enum-group-item": true,
55
+ "pro-enum-group-item-selected": value === item[fieldValue],
56
+ "pro-enum-group-item-disabled-after": index === idx.current || index + 1 === idx.current,
57
+ "pro-enum-group-item-disabled": item.disabled
58
+ }),
59
+ children: item[fieldLabel]
60
+ },
61
+ item[fieldValue]
62
+ ))
63
+ }
64
+ );
65
+ };
66
+ var Group_default = Group;
67
+ export {
68
+ Group_default as default
60
69
  };
61
- export default Group;
@@ -1,38 +1,34 @@
1
- import classNames from 'classnames';
2
- import { useEffect, useState } from 'react';
3
- import { jsx as _jsx } from "react/jsx-runtime";
4
- const ProEnumTag = props => {
5
- const {
6
- value,
7
- onChange,
8
- dataSource,
9
- fieldValue,
10
- fieldLabel,
11
- id
12
- } = props;
1
+ import { jsx } from "react/jsx-runtime";
2
+ import classNames from "classnames";
3
+ import { useEffect, useState } from "react";
4
+ const ProEnumTag = (props) => {
5
+ const { value, onChange, dataSource, fieldValue, fieldLabel, id } = props;
13
6
  const [checked, setValue] = useState();
14
7
  useEffect(() => {
15
8
  setValue(value);
16
9
  }, [value]);
17
- const handleClick = val => {
10
+ const handleClick = (val) => {
18
11
  setValue(val);
19
- onChange?.(val);
12
+ onChange == null ? void 0 : onChange(val);
20
13
  };
21
14
  if (dataSource.length === 0) {
22
- return /*#__PURE__*/_jsx("span", {
23
- children: "-"
24
- });
15
+ return /* @__PURE__ */ jsx("span", { children: "-" });
25
16
  }
26
- return /*#__PURE__*/_jsx("div", {
27
- id: id,
28
- className: "pro-enum-tag-root",
29
- children: dataSource.map(item => /*#__PURE__*/_jsx("div", {
17
+ return /* @__PURE__ */ jsx("div", { id, className: "pro-enum-tag-root", children: dataSource.map((item) => /* @__PURE__ */ jsx(
18
+ "div",
19
+ {
30
20
  onClick: () => handleClick(item[fieldValue]),
31
- className: classNames('pro-enum-tag-item', checked === item[fieldValue] ? 'pro-enum-tag-item-selected' : ''
32
- // item.disabled ? 'pro-enum-tag-item-disabled' : '',
21
+ className: classNames(
22
+ "pro-enum-tag-item",
23
+ checked === item[fieldValue] ? "pro-enum-tag-item-selected" : ""
24
+ // item.disabled ? 'pro-enum-tag-item-disabled' : '',
33
25
  ),
34
26
  children: item[fieldLabel]
35
- }, item[fieldValue]))
36
- });
27
+ },
28
+ item[fieldValue]
29
+ )) });
30
+ };
31
+ var Tag_default = ProEnumTag;
32
+ export {
33
+ Tag_default as default
37
34
  };
38
- export default ProEnumTag;