@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,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;