@zat-design/sisyphus-react 4.0.0-beta.3 → 4.0.0-beta.5

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 (558) hide show
  1. package/babel.config.js +7 -30
  2. package/dist/index.esm.css +1 -6445
  3. package/dist/index.min.js +1 -0
  4. package/dist/less.esm.css +1 -5871
  5. package/dist/less.min.js +1 -0
  6. package/es/FormsProvider/index.js +5 -5
  7. package/es/ProAction/components/CheckModalContent/index.js +5 -7
  8. package/es/ProAction/index.js +16 -16
  9. package/es/ProAction/index.less +0 -2
  10. package/es/ProConfigProvider/index.d.ts +1 -0
  11. package/es/ProConfigProvider/index.js +34 -21
  12. package/es/ProDownload/index.js +13 -12
  13. package/es/ProDownload/style/index.less +0 -2
  14. package/es/ProDownload/utils.js +15 -15
  15. package/es/ProDrawerForm/components/ProDrawer/index.js +22 -19
  16. package/es/ProDrawerForm/components/ProModal/index.js +14 -9
  17. package/es/ProDrawerForm/index.js +39 -39
  18. package/es/ProDrawerForm/style/index.less +0 -2
  19. package/es/ProDrawerForm/utils/index.js +1 -1
  20. package/es/ProEditLabel/components/RenderProForm.js +10 -9
  21. package/es/ProEditLabel/index.js +36 -24
  22. package/es/ProEditLabel/style/index.less +0 -2
  23. package/es/ProEditLabel/utils/index.js +4 -3
  24. package/es/ProEditTable/components/ActionButton/index.js +58 -56
  25. package/es/ProEditTable/components/RcTable/BaseTable.js +21 -20
  26. package/es/ProEditTable/components/RcTable/DraggableTable.js +27 -34
  27. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +49 -43
  28. package/es/ProEditTable/components/RenderField/index.js +98 -121
  29. package/es/ProEditTable/components/RenderToolbar/index.js +27 -33
  30. package/es/ProEditTable/components/Summary/index.js +16 -14
  31. package/es/ProEditTable/components/Validator/index.js +9 -6
  32. package/es/ProEditTable/index.js +130 -147
  33. package/es/ProEditTable/propsType.d.ts +1 -1
  34. package/es/ProEditTable/style/index.less +2 -4
  35. package/es/ProEditTable/utils/config.js +29 -36
  36. package/es/ProEditTable/utils/diffOriginal.d.ts +1 -0
  37. package/es/ProEditTable/utils/diffOriginal.js +76 -9
  38. package/es/ProEditTable/utils/getDefaultProps.js +6 -7
  39. package/es/ProEditTable/utils/index.js +52 -58
  40. package/es/ProEditTable/utils/tools.js +32 -41
  41. package/es/ProEditTable/utils/transform.js +7 -11
  42. package/es/ProEditTable/utils/useEditTableError.js +10 -12
  43. package/es/ProEnum/components/Group.js +18 -22
  44. package/es/ProEnum/components/Tag.js +10 -14
  45. package/es/ProEnum/hooks/useEnum.js +11 -10
  46. package/es/ProEnum/hooks/useEnumRequest.js +23 -25
  47. package/es/ProEnum/hooks/useFrequentEnumRequest.d.ts +14 -0
  48. package/es/ProEnum/hooks/useFrequentEnumRequest.js +76 -0
  49. package/es/ProEnum/index.js +50 -52
  50. package/es/ProEnum/propsType.d.ts +29 -0
  51. package/es/ProEnum/style/index.less +0 -2
  52. package/es/ProEnum/utils/eventCenter.js +20 -31
  53. package/es/ProEnum/utils/frequentEnum.d.ts +40 -0
  54. package/es/ProEnum/utils/frequentEnum.js +91 -0
  55. package/es/ProEnum/utils/getEnumLabel.js +8 -12
  56. package/es/ProEnum/utils/index.js +6 -6
  57. package/es/ProForm/components/Container.js +4 -3
  58. package/es/ProForm/components/FormFooter/index.js +19 -16
  59. package/es/ProForm/components/base/Checkbox/index.js +10 -11
  60. package/es/ProForm/components/base/DatePicker/index.js +25 -39
  61. package/es/ProForm/components/base/DatePicker/useDateLimit.js +2 -4
  62. package/es/ProForm/components/base/Input/index.js +24 -20
  63. package/es/ProForm/components/base/InputNumber/index.js +21 -18
  64. package/es/ProForm/components/base/Radio/index.js +11 -12
  65. package/es/ProForm/components/base/RangePicker/index.js +9 -12
  66. package/es/ProForm/components/base/RangePicker/useDateRange.js +3 -3
  67. package/es/ProForm/components/base/Select/index.js +9 -8
  68. package/es/ProForm/components/base/Switch/index.js +7 -6
  69. package/es/ProForm/components/base/SwitchCheckbox/index.js +7 -6
  70. package/es/ProForm/components/base/SwitchCheckbox/style/index.less +0 -2
  71. package/es/ProForm/components/base/TextArea/index.js +9 -8
  72. package/es/ProForm/components/base/TextArea/index.less +0 -2
  73. package/es/ProForm/components/base/TimePicker/index.js +5 -4
  74. package/es/ProForm/components/base/TimePicker/style/index.less +0 -2
  75. package/es/ProForm/components/combination/Container/index.js +12 -12
  76. package/es/ProForm/components/combination/Container/style/index.less +0 -2
  77. package/es/ProForm/components/combination/FormList/components/ActionButton.js +60 -70
  78. package/es/ProForm/components/combination/FormList/components/BlockFields.js +11 -7
  79. package/es/ProForm/components/combination/FormList/components/BlockTitle.js +1 -1
  80. package/es/ProForm/components/combination/FormList/components/Empty.js +9 -10
  81. package/es/ProForm/components/combination/FormList/components/LineFields.js +10 -9
  82. package/es/ProForm/components/combination/FormList/components/ToolbarButton.js +32 -36
  83. package/es/ProForm/components/combination/FormList/index.js +25 -33
  84. package/es/ProForm/components/combination/FormList/style/index.less +0 -2
  85. package/es/ProForm/components/combination/FormList/utils.js +5 -7
  86. package/es/ProForm/components/combination/Group/component/AddonWrapper/index.js +1 -1
  87. package/es/ProForm/components/combination/Group/component/ComRender.js +22 -21
  88. package/es/ProForm/components/combination/Group/hooks/index.d.ts +0 -1
  89. package/es/ProForm/components/combination/Group/hooks/index.js +47 -39
  90. package/es/ProForm/components/combination/Group/index.d.ts +8 -2
  91. package/es/ProForm/components/combination/Group/index.js +42 -42
  92. package/es/ProForm/components/combination/Group/propsType.d.ts +2 -0
  93. package/es/ProForm/components/combination/Group/style/index.less +7 -0
  94. package/es/ProForm/components/combination/Group/utils.d.ts +0 -1
  95. package/es/ProForm/components/combination/Group/utils.js +38 -39
  96. package/es/ProForm/components/combination/ProCascader/index.js +139 -94
  97. package/es/ProForm/components/combination/ProCascader/propsType.d.ts +12 -4
  98. package/es/ProForm/components/combination/ProCascader/style/index.less +1 -3
  99. package/es/ProForm/components/combination/ProCascader/utils/index.js +3 -3
  100. package/es/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +18 -20
  101. package/es/ProForm/components/combination/ProModalSelect/index.js +136 -168
  102. package/es/ProForm/components/combination/ProModalSelect/propsType.d.ts +7 -3
  103. package/es/ProForm/components/combination/ProModalSelect/style/index.less +1 -4
  104. package/es/ProForm/components/combination/ProModalSelect/utils/index.js +1 -1
  105. package/es/ProForm/components/combination/ProNumberRange/index.js +73 -47
  106. package/es/ProForm/components/combination/ProNumberRange/propsType.d.ts +3 -2
  107. package/es/ProForm/components/combination/ProNumberRange/style/index.less +4 -3
  108. package/es/ProForm/components/combination/ProRangeLimit/index.js +20 -18
  109. package/es/ProForm/components/combination/ProTimeLimit/hooks/useControlled.js +3 -3
  110. package/es/ProForm/components/combination/ProTimeLimit/index.js +17 -15
  111. package/es/ProForm/components/combination/ProTimeLimit/style/index.less +0 -2
  112. package/es/ProForm/components/render/ChangedWrapper.js +25 -27
  113. package/es/ProForm/components/render/ConfirmWrapper.js +10 -11
  114. package/es/ProForm/components/render/Render.js +118 -101
  115. package/es/ProForm/components/render/RenderFields.d.ts +1 -1
  116. package/es/ProForm/components/render/RenderFields.js +25 -25
  117. package/es/ProForm/components/render/propsType.d.ts +1 -0
  118. package/es/ProForm/index.d.ts +2 -2
  119. package/es/ProForm/index.js +47 -45
  120. package/es/ProForm/propsType.d.ts +3 -4
  121. package/es/ProForm/style/index.less +0 -2
  122. package/es/ProForm/utils/diffOriginal.d.ts +1 -0
  123. package/es/ProForm/utils/diffOriginal.js +70 -5
  124. package/es/ProForm/utils/getDefaultProps.js +5 -5
  125. package/es/ProForm/utils/index.js +63 -91
  126. package/es/ProForm/utils/processDependencies.js +4 -5
  127. package/es/ProForm/utils/rulesCreator.js +12 -12
  128. package/es/ProForm/utils/transformNames.js +2 -2
  129. package/es/ProForm/utils/transformValue.js +6 -8
  130. package/es/ProForm/utils/useDeepCompareMemo.js +1 -1
  131. package/es/ProForm/utils/useFieldProps.js +1 -3
  132. package/es/ProForm/utils/useForm.js +19 -21
  133. package/es/ProForm/utils/useRules.js +17 -22
  134. package/es/ProForm/utils/useShouldUpdate.d.ts +1 -0
  135. package/es/ProForm/utils/useShouldUpdate.js +146 -64
  136. package/es/ProForm/utils/useWatch.js +12 -12
  137. package/es/ProForm/utils/valueType.js +46 -50
  138. package/es/ProIcon/index.js +30 -31
  139. package/es/ProIcon/style/index.less +0 -2
  140. package/es/ProIcon/utils/index.js +5 -5
  141. package/es/ProLayout/components/Layout/Header/index.js +1 -1
  142. package/es/ProLayout/components/Layout/Icon/Icon.js +4 -4
  143. package/es/ProLayout/components/Layout/Menu/FoldMenu/index.js +68 -19
  144. package/es/ProLayout/components/Layout/Menu/FoldMenu/style/index.less +0 -2
  145. package/es/ProLayout/components/Layout/Menu/OpenMenu/index.js +44 -29
  146. package/es/ProLayout/components/Layout/Menu/SideMenu/index.js +6 -4
  147. package/es/ProLayout/components/Layout/Menu/SideMenu/style/index.less +0 -2
  148. package/es/ProLayout/components/Layout/Menu/index.js +13 -10
  149. package/es/ProLayout/components/Layout/Menu/style/index.less +0 -2
  150. package/es/ProLayout/components/Layout/Notice/index.js +3 -3
  151. package/es/ProLayout/components/Layout/Notice/style/index.less +0 -2
  152. package/es/ProLayout/components/ProCollapse/PropTypes.d.ts +8 -3
  153. package/es/ProLayout/components/ProCollapse/index.js +49 -20
  154. package/es/ProLayout/components/ProCollapse/style/index.less +148 -4
  155. package/es/ProLayout/components/ProFooter/index.js +13 -14
  156. package/es/ProLayout/components/ProFooter/style/index.less +0 -2
  157. package/es/ProLayout/components/ProHeader/components/Copy/index.js +6 -5
  158. package/es/ProLayout/components/ProHeader/components/ProBackBtn/index.js +6 -5
  159. package/es/ProLayout/components/ProHeader/components/ProBackBtn/style/index.less +0 -2
  160. package/es/ProLayout/components/ProHeader/index.js +68 -59
  161. package/es/ProLayout/components/ProHeader/style/index.less +0 -2
  162. package/es/ProLayout/components/ProHeader/utils/index.js +1 -1
  163. package/es/ProLayout/index.d.ts +0 -11
  164. package/es/ProLayout/index.js +73 -44
  165. package/es/ProLayout/propTypes.d.ts +9 -0
  166. package/es/ProLayout/style/index.less +0 -2
  167. package/es/ProLayout/utils/index.d.ts +7 -0
  168. package/es/ProLayout/utils/index.js +46 -17
  169. package/es/ProSelect/components/AdaptiveTooltip.js +8 -9
  170. package/es/ProSelect/index.js +57 -64
  171. package/es/ProSelect/index.less +0 -2
  172. package/es/ProSelect/utils/index.js +67 -17
  173. package/es/ProStep/components/Anchor/index.js +10 -9
  174. package/es/ProStep/components/Item/index.js +12 -13
  175. package/es/ProStep/components/Listener/index.js +6 -10
  176. package/es/ProStep/components/Step/index.js +9 -11
  177. package/es/ProStep/index.js +24 -30
  178. package/es/ProStep/style/index.less +0 -2
  179. package/es/ProStep/utils/index.js +8 -8
  180. package/es/ProStepTab/index.js +27 -28
  181. package/es/ProTable/components/FormatColumn/index.js +54 -59
  182. package/es/ProTable/components/RcTable/components/BaseTable/index.js +6 -7
  183. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +21 -37
  184. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +16 -17
  185. package/es/ProTable/components/RcTable/components/DraggableTable/index.js +5 -6
  186. package/es/ProTable/components/RenderColumn/index.js +36 -35
  187. package/es/ProTable/components/RenderEmptyText/index.js +1 -1
  188. package/es/ProTable/components/RenderFooter/index.js +2 -2
  189. package/es/ProTable/components/RenderSummary/index.js +13 -12
  190. package/es/ProTable/components/RenderTableHeader/index.js +5 -4
  191. package/es/ProTable/components/RenderTabs/index.js +26 -29
  192. package/es/ProTable/components/TableResizable/index.js +8 -8
  193. package/es/ProTable/components/TooltipTitle/index.js +4 -3
  194. package/es/ProTable/hooks/useAntdTable.d.ts +3 -0
  195. package/es/ProTable/hooks/useAntdTable.js +164 -151
  196. package/es/ProTable/index.d.ts +3 -7
  197. package/es/ProTable/index.js +124 -147
  198. package/es/ProTable/propsType.d.ts +12 -5
  199. package/es/ProTable/style/index.less +4 -6
  200. package/es/ProTable/utils/index.js +13 -16
  201. package/es/ProTabs/components/Card/index.js +14 -8
  202. package/es/ProTabs/index.js +30 -20
  203. package/es/ProTabs/propType.d.ts +5 -0
  204. package/es/ProTabs/style/index.less +40 -5
  205. package/es/ProThemeTools/component/ProTools/index.js +46 -39
  206. package/es/ProThemeTools/context/ThemeContext.js +13 -13
  207. package/es/ProThemeTools/index.d.ts +0 -7
  208. package/es/ProThemeTools/index.js +28 -31
  209. package/es/ProThemeTools/style/index.less +0 -2
  210. package/es/ProThemeTools/utils/index.js +14 -18
  211. package/es/ProTooltip/index.js +24 -27
  212. package/es/ProTooltip/style/index.less +0 -2
  213. package/es/ProTree/components/AdaptiveTooltip.js +5 -6
  214. package/es/ProTree/components/List.js +10 -13
  215. package/es/ProTree/components/ProTree.js +47 -64
  216. package/es/ProTree/components/ProTreeSelect/index.js +77 -76
  217. package/es/ProTree/components/ProTreeSelect/style/index.less +0 -2
  218. package/es/ProTree/components/Tree.js +23 -22
  219. package/es/ProTree/index.js +1 -1
  220. package/es/ProTree/style/index.less +0 -2
  221. package/es/ProTree/utils.js +14 -14
  222. package/es/ProTreeModal/components/Cascader.js +13 -16
  223. package/es/ProTreeModal/components/List.js +49 -70
  224. package/es/ProTreeModal/components/SortableItem.js +7 -8
  225. package/es/ProTreeModal/components/Tree.js +18 -23
  226. package/es/ProTreeModal/components/Trigger.js +15 -10
  227. package/es/ProTreeModal/index.js +98 -151
  228. package/es/ProTreeModal/style/index.less +0 -2
  229. package/es/ProTreeModal/utils.js +21 -21
  230. package/es/ProUpload/components/ButtonRender.js +11 -12
  231. package/es/ProUpload/components/DragRender.js +17 -20
  232. package/es/ProUpload/components/DraggableUploadListItem.js +2 -2
  233. package/es/ProUpload/components/Example.js +3 -3
  234. package/es/ProUpload/components/FileItem.js +30 -25
  235. package/es/ProUpload/components/ImageRender.js +29 -22
  236. package/es/ProUpload/index.js +55 -66
  237. package/es/ProUpload/style/index.less +0 -2
  238. package/es/ProUpload/uitls.js +2 -2
  239. package/es/ProUtils/utils/index.js +10 -14
  240. package/es/ProViewer/index.js +22 -19
  241. package/es/ProViewer/propsType.js +0 -3
  242. package/es/ProViewer/style/index.less +0 -2
  243. package/es/ProWaterMark/index.js +4 -3
  244. package/es/index.d.ts +1 -1
  245. package/es/locale/index.js +2 -2
  246. package/es/style/index.less +1 -1
  247. package/es/style/theme/antd.less +0 -2
  248. package/es/style/theme/base.less +1 -0
  249. package/es/utils/index.js +11 -13
  250. package/jest.config.js +46 -4
  251. package/lib/FormsProvider/index.js +30 -50
  252. package/lib/ProAction/components/CheckModalContent/index.js +31 -27
  253. package/lib/ProAction/index.js +194 -151
  254. package/lib/ProAction/index.less +0 -2
  255. package/lib/ProAction/propsType.js +4 -16
  256. package/lib/ProConfigProvider/index.d.ts +1 -0
  257. package/lib/ProConfigProvider/index.js +137 -136
  258. package/lib/ProDownload/index.js +192 -124
  259. package/lib/ProDownload/propsType.js +4 -16
  260. package/lib/ProDownload/style/index.less +0 -2
  261. package/lib/ProDownload/utils.js +189 -143
  262. package/lib/ProDrawerForm/components/ProDrawer/index.js +243 -169
  263. package/lib/ProDrawerForm/components/ProModal/index.js +194 -134
  264. package/lib/ProDrawerForm/components/index.js +17 -39
  265. package/lib/ProDrawerForm/index.js +83 -95
  266. package/lib/ProDrawerForm/propsType.js +4 -16
  267. package/lib/ProDrawerForm/style/index.less +0 -2
  268. package/lib/ProDrawerForm/utils/index.js +13 -30
  269. package/lib/ProEditLabel/components/RenderProForm.js +58 -57
  270. package/lib/ProEditLabel/index.js +251 -178
  271. package/lib/ProEditLabel/propsType.js +4 -16
  272. package/lib/ProEditLabel/style/index.less +0 -2
  273. package/lib/ProEditLabel/utils/index.js +11 -26
  274. package/lib/ProEditTable/components/ActionButton/index.js +144 -155
  275. package/lib/ProEditTable/components/RcTable/BaseTable.js +97 -96
  276. package/lib/ProEditTable/components/RcTable/DraggableTable.js +172 -151
  277. package/lib/ProEditTable/components/RcTable/index.js +17 -39
  278. package/lib/ProEditTable/components/RenderField/ListChangedWrapper.js +183 -174
  279. package/lib/ProEditTable/components/RenderField/index.js +628 -539
  280. package/lib/ProEditTable/components/RenderToolbar/index.js +119 -105
  281. package/lib/ProEditTable/components/Summary/index.js +70 -61
  282. package/lib/ProEditTable/components/Validator/index.js +30 -47
  283. package/lib/ProEditTable/components/index.js +38 -48
  284. package/lib/ProEditTable/index.js +379 -324
  285. package/lib/ProEditTable/propsType.d.ts +1 -1
  286. package/lib/ProEditTable/propsType.js +4 -16
  287. package/lib/ProEditTable/style/index.less +2 -4
  288. package/lib/ProEditTable/utils/config.js +225 -170
  289. package/lib/ProEditTable/utils/diffOriginal.d.ts +1 -0
  290. package/lib/ProEditTable/utils/diffOriginal.js +112 -52
  291. package/lib/ProEditTable/utils/getDefaultProps.js +26 -42
  292. package/lib/ProEditTable/utils/index.js +318 -244
  293. package/lib/ProEditTable/utils/tools.js +438 -243
  294. package/lib/ProEditTable/utils/transform.js +15 -28
  295. package/lib/ProEditTable/utils/useEditTableError.js +65 -54
  296. package/lib/ProEnum/components/Group.js +53 -81
  297. package/lib/ProEnum/components/Tag.js +37 -54
  298. package/lib/ProEnum/hooks/useEnum.js +74 -51
  299. package/lib/ProEnum/hooks/useEnumRequest.js +267 -194
  300. package/lib/ProEnum/hooks/useFrequentEnumRequest.d.ts +14 -0
  301. package/lib/ProEnum/hooks/useFrequentEnumRequest.js +83 -0
  302. package/lib/ProEnum/index.js +239 -234
  303. package/lib/ProEnum/propsType.d.ts +29 -0
  304. package/lib/ProEnum/propsType.js +4 -16
  305. package/lib/ProEnum/style/index.less +0 -2
  306. package/lib/ProEnum/utils/eventCenter.js +15 -12
  307. package/lib/ProEnum/utils/frequentEnum.d.ts +40 -0
  308. package/lib/ProEnum/utils/frequentEnum.js +99 -0
  309. package/lib/ProEnum/utils/getEnumLabel.js +57 -65
  310. package/lib/ProEnum/utils/index.js +98 -68
  311. package/lib/ProForm/components/Container.js +35 -45
  312. package/lib/ProForm/components/FormFooter/index.js +68 -80
  313. package/lib/ProForm/components/FormFooter/propsType.js +4 -16
  314. package/lib/ProForm/components/base/Checkbox/index.js +67 -62
  315. package/lib/ProForm/components/base/DatePicker/index.js +66 -89
  316. package/lib/ProForm/components/base/DatePicker/useDateLimit.js +13 -29
  317. package/lib/ProForm/components/base/Input/index.js +65 -73
  318. package/lib/ProForm/components/base/Input/propsType.js +4 -16
  319. package/lib/ProForm/components/base/InputNumber/index.js +230 -176
  320. package/lib/ProForm/components/base/Radio/index.js +60 -69
  321. package/lib/ProForm/components/base/RangePicker/index.js +73 -88
  322. package/lib/ProForm/components/base/RangePicker/useDateRange.js +28 -45
  323. package/lib/ProForm/components/base/Select/index.js +63 -69
  324. package/lib/ProForm/components/base/Switch/index.js +43 -59
  325. package/lib/ProForm/components/base/SwitchCheckbox/index.js +63 -62
  326. package/lib/ProForm/components/base/SwitchCheckbox/style/index.less +0 -2
  327. package/lib/ProForm/components/base/TextArea/index.js +52 -65
  328. package/lib/ProForm/components/base/TextArea/index.less +0 -2
  329. package/lib/ProForm/components/base/TimePicker/index.js +45 -59
  330. package/lib/ProForm/components/base/TimePicker/style/index.less +0 -2
  331. package/lib/ProForm/components/combination/Container/index.js +58 -72
  332. package/lib/ProForm/components/combination/Container/propsType.js +4 -16
  333. package/lib/ProForm/components/combination/Container/style/index.less +0 -2
  334. package/lib/ProForm/components/combination/FormList/components/ActionButton.js +240 -195
  335. package/lib/ProForm/components/combination/FormList/components/BlockFields.js +85 -107
  336. package/lib/ProForm/components/combination/FormList/components/BlockTitle.js +25 -44
  337. package/lib/ProForm/components/combination/FormList/components/Empty.js +92 -55
  338. package/lib/ProForm/components/combination/FormList/components/LineFields.js +92 -117
  339. package/lib/ProForm/components/combination/FormList/components/ToolbarButton.js +133 -101
  340. package/lib/ProForm/components/combination/FormList/index.js +131 -164
  341. package/lib/ProForm/components/combination/FormList/propsType.js +4 -16
  342. package/lib/ProForm/components/combination/FormList/style/index.less +0 -2
  343. package/lib/ProForm/components/combination/FormList/utils.js +32 -52
  344. package/lib/ProForm/components/combination/Group/component/AddonWrapper/index.js +23 -38
  345. package/lib/ProForm/components/combination/Group/component/ComRender.js +79 -74
  346. package/lib/ProForm/components/combination/Group/hooks/index.d.ts +0 -1
  347. package/lib/ProForm/components/combination/Group/hooks/index.js +127 -121
  348. package/lib/ProForm/components/combination/Group/index.d.ts +8 -2
  349. package/lib/ProForm/components/combination/Group/index.js +100 -110
  350. package/lib/ProForm/components/combination/Group/propsType.d.ts +2 -0
  351. package/lib/ProForm/components/combination/Group/propsType.js +4 -16
  352. package/lib/ProForm/components/combination/Group/style/index.less +7 -0
  353. package/lib/ProForm/components/combination/Group/utils.d.ts +0 -1
  354. package/lib/ProForm/components/combination/Group/utils.js +132 -104
  355. package/lib/ProForm/components/combination/ProCascader/index.js +289 -187
  356. package/lib/ProForm/components/combination/ProCascader/propsType.d.ts +12 -4
  357. package/lib/ProForm/components/combination/ProCascader/propsType.js +4 -16
  358. package/lib/ProForm/components/combination/ProCascader/style/index.less +1 -3
  359. package/lib/ProForm/components/combination/ProCascader/utils/index.js +23 -33
  360. package/lib/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +115 -116
  361. package/lib/ProForm/components/combination/ProModalSelect/index.js +656 -503
  362. package/lib/ProForm/components/combination/ProModalSelect/propsType.d.ts +7 -3
  363. package/lib/ProForm/components/combination/ProModalSelect/propsType.js +4 -16
  364. package/lib/ProForm/components/combination/ProModalSelect/style/index.less +1 -4
  365. package/lib/ProForm/components/combination/ProModalSelect/utils/index.js +21 -43
  366. package/lib/ProForm/components/combination/ProNumberRange/index.js +207 -160
  367. package/lib/ProForm/components/combination/ProNumberRange/propsType.d.ts +3 -2
  368. package/lib/ProForm/components/combination/ProNumberRange/propsType.js +4 -16
  369. package/lib/ProForm/components/combination/ProNumberRange/style/index.less +4 -3
  370. package/lib/ProForm/components/combination/ProRangeLimit/index.js +169 -139
  371. package/lib/ProForm/components/combination/ProRangeLimit/propsType.js +4 -16
  372. package/lib/ProForm/components/combination/ProTimeLimit/hooks/useControlled.js +28 -49
  373. package/lib/ProForm/components/combination/ProTimeLimit/index.js +150 -127
  374. package/lib/ProForm/components/combination/ProTimeLimit/style/index.less +0 -2
  375. package/lib/ProForm/components/index.js +192 -115
  376. package/lib/ProForm/components/render/ChangedWrapper.js +132 -143
  377. package/lib/ProForm/components/render/ConfirmWrapper.js +120 -78
  378. package/lib/ProForm/components/render/Render.js +446 -339
  379. package/lib/ProForm/components/render/RenderFields.d.ts +1 -1
  380. package/lib/ProForm/components/render/RenderFields.js +195 -179
  381. package/lib/ProForm/components/render/propsType.d.ts +1 -0
  382. package/lib/ProForm/components/render/propsType.js +31 -17
  383. package/lib/ProForm/index.d.ts +2 -2
  384. package/lib/ProForm/index.js +282 -233
  385. package/lib/ProForm/propsType.d.ts +3 -4
  386. package/lib/ProForm/propsType.js +9 -38
  387. package/lib/ProForm/style/index.less +0 -2
  388. package/lib/ProForm/utils/diffOriginal.d.ts +1 -0
  389. package/lib/ProForm/utils/diffOriginal.js +107 -53
  390. package/lib/ProForm/utils/getDefaultProps.js +26 -42
  391. package/lib/ProForm/utils/index.js +330 -254
  392. package/lib/ProForm/utils/processDependencies.js +61 -44
  393. package/lib/ProForm/utils/rulesCreator.js +58 -81
  394. package/lib/ProForm/utils/transformNames.js +26 -37
  395. package/lib/ProForm/utils/transformValue.js +47 -47
  396. package/lib/ProForm/utils/useDeepCompareMemo.js +15 -34
  397. package/lib/ProForm/utils/useFieldProps.js +10 -42
  398. package/lib/ProForm/utils/useForm.js +226 -118
  399. package/lib/ProForm/utils/useRules.js +50 -60
  400. package/lib/ProForm/utils/useShouldUpdate.d.ts +1 -0
  401. package/lib/ProForm/utils/useShouldUpdate.js +259 -103
  402. package/lib/ProForm/utils/useWatch.js +122 -93
  403. package/lib/ProForm/utils/valueType.js +222 -155
  404. package/lib/ProIcon/config/index.js +278 -365
  405. package/lib/ProIcon/index.js +217 -184
  406. package/lib/ProIcon/propsTypes.js +4 -16
  407. package/lib/ProIcon/style/index.less +0 -2
  408. package/lib/ProIcon/symbolIcon.js +30 -23
  409. package/lib/ProIcon/utils/index.js +53 -60
  410. package/lib/ProLayout/components/Layout/Header/index.js +42 -59
  411. package/lib/ProLayout/components/Layout/Icon/Icon.js +31 -49
  412. package/lib/ProLayout/components/Layout/Icon/index.js +7 -34
  413. package/lib/ProLayout/components/Layout/Menu/FoldMenu/index.js +173 -113
  414. package/lib/ProLayout/components/Layout/Menu/FoldMenu/style/index.less +0 -2
  415. package/lib/ProLayout/components/Layout/Menu/OpenMenu/index.js +137 -114
  416. package/lib/ProLayout/components/Layout/Menu/OpenMenu/propsType.js +4 -16
  417. package/lib/ProLayout/components/Layout/Menu/SideMenu/index.js +44 -59
  418. package/lib/ProLayout/components/Layout/Menu/SideMenu/style/index.less +0 -2
  419. package/lib/ProLayout/components/Layout/Menu/index.js +52 -68
  420. package/lib/ProLayout/components/Layout/Menu/style/index.less +0 -2
  421. package/lib/ProLayout/components/Layout/Notice/index.js +31 -39
  422. package/lib/ProLayout/components/Layout/Notice/style/index.less +0 -2
  423. package/lib/ProLayout/components/Layout/index.js +31 -45
  424. package/lib/ProLayout/components/ProCollapse/PropTypes.d.ts +8 -3
  425. package/lib/ProLayout/components/ProCollapse/PropTypes.js +4 -16
  426. package/lib/ProLayout/components/ProCollapse/index.js +163 -128
  427. package/lib/ProLayout/components/ProCollapse/style/index.less +148 -4
  428. package/lib/ProLayout/components/ProFooter/PropTypes.js +4 -16
  429. package/lib/ProLayout/components/ProFooter/index.js +41 -56
  430. package/lib/ProLayout/components/ProFooter/style/index.less +0 -2
  431. package/lib/ProLayout/components/ProHeader/PropTypes.js +4 -16
  432. package/lib/ProLayout/components/ProHeader/components/Copy/index.js +26 -53
  433. package/lib/ProLayout/components/ProHeader/components/ProBackBtn/index.js +27 -48
  434. package/lib/ProLayout/components/ProHeader/components/ProBackBtn/propsType.js +4 -16
  435. package/lib/ProLayout/components/ProHeader/components/ProBackBtn/style/index.less +0 -2
  436. package/lib/ProLayout/components/ProHeader/components/index.js +17 -39
  437. package/lib/ProLayout/components/ProHeader/index.js +466 -268
  438. package/lib/ProLayout/components/ProHeader/style/index.less +0 -2
  439. package/lib/ProLayout/components/ProHeader/utils/index.js +14 -31
  440. package/lib/ProLayout/components/index.js +24 -42
  441. package/lib/ProLayout/index.d.ts +0 -11
  442. package/lib/ProLayout/index.js +166 -138
  443. package/lib/ProLayout/propTypes.d.ts +9 -0
  444. package/lib/ProLayout/propTypes.js +4 -16
  445. package/lib/ProLayout/style/index.less +0 -2
  446. package/lib/ProLayout/utils/index.d.ts +7 -0
  447. package/lib/ProLayout/utils/index.js +125 -76
  448. package/lib/ProSelect/components/AdaptiveTooltip.js +38 -45
  449. package/lib/ProSelect/index.js +240 -213
  450. package/lib/ProSelect/index.less +0 -2
  451. package/lib/ProSelect/propsType.js +4 -16
  452. package/lib/ProSelect/utils/index.js +123 -73
  453. package/lib/ProStep/components/Anchor/index.js +102 -107
  454. package/lib/ProStep/components/Item/index.js +71 -76
  455. package/lib/ProStep/components/Listener/index.js +69 -62
  456. package/lib/ProStep/components/Step/index.js +65 -75
  457. package/lib/ProStep/index.js +227 -165
  458. package/lib/ProStep/propsType.js +4 -16
  459. package/lib/ProStep/style/index.less +0 -2
  460. package/lib/ProStep/utils/index.js +54 -57
  461. package/lib/ProStepTab/index.js +307 -166
  462. package/lib/ProStepTab/propsType.js +4 -16
  463. package/lib/ProTable/components/FormatColumn/index.js +472 -425
  464. package/lib/ProTable/components/RcTable/components/BaseTable/index.js +39 -53
  465. package/lib/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +183 -135
  466. package/lib/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +85 -104
  467. package/lib/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/propsType.js +4 -16
  468. package/lib/ProTable/components/RcTable/components/DraggableTable/index.js +58 -80
  469. package/lib/ProTable/components/RcTable/index.js +17 -39
  470. package/lib/ProTable/components/RenderColumn/index.js +203 -194
  471. package/lib/ProTable/components/RenderEmptyText/index.js +25 -27
  472. package/lib/ProTable/components/RenderFooter/index.js +17 -33
  473. package/lib/ProTable/components/RenderSummary/index.js +57 -46
  474. package/lib/ProTable/components/RenderTableHeader/index.js +62 -68
  475. package/lib/ProTable/components/RenderTabs/index.js +67 -80
  476. package/lib/ProTable/components/TableResizable/index.js +87 -87
  477. package/lib/ProTable/components/TooltipTitle/index.js +27 -40
  478. package/lib/ProTable/components/index.js +45 -51
  479. package/lib/ProTable/hooks/useAntdTable.d.ts +3 -0
  480. package/lib/ProTable/hooks/useAntdTable.js +373 -291
  481. package/lib/ProTable/index.d.ts +3 -7
  482. package/lib/ProTable/index.js +354 -338
  483. package/lib/ProTable/propsType.d.ts +12 -5
  484. package/lib/ProTable/propsType.js +4 -16
  485. package/lib/ProTable/style/index.less +4 -6
  486. package/lib/ProTable/utils/index.js +89 -78
  487. package/lib/ProTabs/components/Card/index.js +57 -30
  488. package/lib/ProTabs/components/index.js +10 -36
  489. package/lib/ProTabs/index.js +94 -89
  490. package/lib/ProTabs/propType.d.ts +5 -0
  491. package/lib/ProTabs/propType.js +4 -16
  492. package/lib/ProTabs/style/index.less +40 -5
  493. package/lib/ProThemeTools/component/ProTools/index.js +246 -198
  494. package/lib/ProThemeTools/component/index.js +10 -36
  495. package/lib/ProThemeTools/context/ThemeContext.js +99 -89
  496. package/lib/ProThemeTools/index.d.ts +0 -7
  497. package/lib/ProThemeTools/index.js +207 -179
  498. package/lib/ProThemeTools/propsType.js +4 -16
  499. package/lib/ProThemeTools/style/index.less +0 -2
  500. package/lib/ProThemeTools/utils/index.js +84 -80
  501. package/lib/ProTooltip/index.js +217 -214
  502. package/lib/ProTooltip/propsType.js +4 -16
  503. package/lib/ProTooltip/style/index.less +0 -2
  504. package/lib/ProTree/components/AdaptiveTooltip.js +22 -33
  505. package/lib/ProTree/components/CloseIcon.js +31 -36
  506. package/lib/ProTree/components/List.js +69 -68
  507. package/lib/ProTree/components/ProTree.js +346 -258
  508. package/lib/ProTree/components/ProTreeSelect/index.js +460 -336
  509. package/lib/ProTree/components/ProTreeSelect/propsType.js +4 -16
  510. package/lib/ProTree/components/ProTreeSelect/style/index.less +0 -2
  511. package/lib/ProTree/components/SearchTitle.js +50 -47
  512. package/lib/ProTree/components/Tree.js +300 -227
  513. package/lib/ProTree/components/index.js +31 -45
  514. package/lib/ProTree/index.js +22 -45
  515. package/lib/ProTree/propsType.js +4 -16
  516. package/lib/ProTree/style/index.less +0 -2
  517. package/lib/ProTree/utils.js +140 -79
  518. package/lib/ProTreeModal/components/Cascader.js +90 -97
  519. package/lib/ProTreeModal/components/CloseIcon.js +31 -36
  520. package/lib/ProTreeModal/components/List.js +246 -192
  521. package/lib/ProTreeModal/components/SearchTitle.js +22 -30
  522. package/lib/ProTreeModal/components/SortableItem.js +59 -60
  523. package/lib/ProTreeModal/components/Tree.js +171 -157
  524. package/lib/ProTreeModal/components/Trigger.js +131 -108
  525. package/lib/ProTreeModal/components/index.js +45 -51
  526. package/lib/ProTreeModal/index.js +523 -448
  527. package/lib/ProTreeModal/propsType.js +4 -16
  528. package/lib/ProTreeModal/style/index.less +0 -2
  529. package/lib/ProTreeModal/utils.js +160 -99
  530. package/lib/ProUpload/components/ButtonRender.js +106 -85
  531. package/lib/ProUpload/components/DragRender.js +167 -117
  532. package/lib/ProUpload/components/DraggableUploadListItem.js +32 -48
  533. package/lib/ProUpload/components/Example.js +39 -55
  534. package/lib/ProUpload/components/FileItem.js +215 -113
  535. package/lib/ProUpload/components/ImageRender.js +250 -175
  536. package/lib/ProUpload/index.js +185 -181
  537. package/lib/ProUpload/propsType.js +4 -16
  538. package/lib/ProUpload/style/index.less +0 -2
  539. package/lib/ProUpload/uitls.js +9 -31
  540. package/lib/ProUtils/utils/index.js +20 -36
  541. package/lib/ProViewer/index.js +210 -175
  542. package/lib/ProViewer/propsType.js +1 -17
  543. package/lib/ProViewer/style/index.less +0 -2
  544. package/lib/ProWaterMark/index.js +20 -38
  545. package/lib/ProWaterMark/propsType.js +4 -16
  546. package/lib/index.d.ts +1 -1
  547. package/lib/index.js +272 -123
  548. package/lib/locale/en_US.js +127 -145
  549. package/lib/locale/index.js +40 -55
  550. package/lib/locale/zh_CN.js +128 -146
  551. package/lib/style/index.less +1 -1
  552. package/lib/style/theme/antd.less +0 -2
  553. package/lib/style/theme/base.less +1 -0
  554. package/lib/tokens.js +87 -103
  555. package/lib/utils/index.js +66 -88
  556. package/package.json +12 -11
  557. package/dist/index.esm.js +0 -3
  558. package/dist/less.esm.js +0 -3
@@ -1,10 +1,10 @@
1
1
  import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
2
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
2
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
3
  import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
5
4
  import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
5
+ import "antd/es/form/style";
6
+ import _Form from "antd/es/form";
6
7
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
7
- import { Form } from 'antd';
8
8
  import { useContext } from 'react';
9
9
  import { filterInternalFields, getFormFieldPaths, mergeNames, isListForm } from "./index";
10
10
  import { handleScrollToError as handleScrollToErrorProEditTable } from "../../ProEditTable/utils/tools";
@@ -25,7 +25,7 @@ export var useForm = function useForm(originForm, options) {
25
25
 
26
26
  // formKey全局共享逻辑
27
27
  var forms = useContext(FormsContext);
28
- var _ref2 = Form.useForm(forms[formKey] || _originForm),
28
+ var _ref2 = _Form.useForm(forms[formKey] || _originForm),
29
29
  _ref3 = _slicedToArray(_ref2, 1),
30
30
  form = _ref3[0];
31
31
  if (formKey && forms[formKey] !== form) {
@@ -41,7 +41,7 @@ export var useForm = function useForm(originForm, options) {
41
41
  if (isModified) return [form];
42
42
 
43
43
  // @ts-ignore
44
- var nextGetFieldsValue = function nextGetFieldsValue(nameList, filterFunc) {
44
+ var nextGetFieldsValue = (nameList, filterFunc) => {
45
45
  // 全部查询
46
46
  if (nameList !== true) {
47
47
  var values = getFieldsValue(nameList || true, filterFunc);
@@ -151,26 +151,24 @@ export var useForm = function useForm(originForm, options) {
151
151
  _form$getInternalHook = form.getInternalHooks('RC_FORM_INTERNAL_HOOKS'), getFields = _form$getInternalHook.getFields;
152
152
  fieldsList = getFields(); // formList& proEditTable 特殊处理
153
153
  if (Array.isArray(nameList) && isListForm(String(nameList))) {
154
- fieldsNames = fieldsList.map(function (item) {
155
- return item.name;
156
- });
154
+ fieldsNames = fieldsList.map(item => item.name);
157
155
  validateNames = mergeNames(nameList, fieldsNames);
158
156
  } else {
159
157
  // 其他情况
160
- fieldsList.forEach(function (item) {
158
+ fieldsList.forEach(item => {
161
159
  var _item$name, _item$name2;
162
- if (nameList[0] === ((_item$name = item.name) === null || _item$name === void 0 ? void 0 : _item$name[0]) || (_item$name2 = item.name) !== null && _item$name2 !== void 0 && (_item$name2 = _item$name2[0]) !== null && _item$name2 !== void 0 && _item$name2.startsWith("".concat(nameList[0], "_"))) {
160
+ if (nameList[0] === ((_item$name = item.name) === null || _item$name === void 0 ? void 0 : _item$name[0]) || (_item$name2 = item.name) !== null && _item$name2 !== void 0 && (_item$name2 = _item$name2[0]) !== null && _item$name2 !== void 0 && _item$name2.startsWith(`${nameList[0]}_`)) {
163
161
  validateNames.push(item.name);
164
162
  }
165
163
  });
166
164
  }
167
165
  if (Array.isArray(nameList) && nameList.length && !validateNames.length) {
168
- validateNames = _toConsumableArray(nameList);
166
+ validateNames = [...nameList];
169
167
  }
170
168
 
171
169
  // @ts-ignore
172
170
  _context.next = 41;
173
- return validateFields.apply(void 0, [validateNames].concat(rest)).then(function (values) {
171
+ return validateFields(validateNames, ...rest).then(values => {
174
172
  return filterInternalFields(values, optimize);
175
173
  });
176
174
  case 41:
@@ -178,13 +176,13 @@ export var useForm = function useForm(originForm, options) {
178
176
  case 42:
179
177
  // 解决,单个pro-edit-table的表单校验
180
178
  if (nameList !== null && nameList !== void 0 && nameList.length && !nameList.join('-').includes(',')) {
181
- tablePagination = document && ((_document = document) === null || _document === void 0 ? void 0 : _document.querySelector("#pro-edit-table-pagination-".concat(nameList.join('-'))));
179
+ tablePagination = document && ((_document = document) === null || _document === void 0 ? void 0 : _document.querySelector(`#pro-edit-table-pagination-${nameList.join('-')}`));
182
180
  if (tablePagination) {
183
181
  tablePagination === null || tablePagination === void 0 || (_tablePagination$clic = tablePagination.click) === null || _tablePagination$clic === void 0 || _tablePagination$clic.call(tablePagination);
184
182
  }
185
183
  }
186
184
  _context.next = 45;
187
- return validateFields.apply(void 0, [nameList].concat(rest)).then(function (values) {
185
+ return validateFields(nameList, ...rest).then(values => {
188
186
  return nameList ? values : nextGetFieldsValue();
189
187
  });
190
188
  case 45:
@@ -210,31 +208,31 @@ export var useForm = function useForm(originForm, options) {
210
208
  return _ref4.apply(this, arguments);
211
209
  };
212
210
  }();
213
- var nextSetFieldValue = function nextSetFieldValue(name, value, info) {
211
+ var nextSetFieldValue = (name, value, info) => {
214
212
  if (info) {
215
213
  setFields([_objectSpread({
216
- name: name,
217
- value: value
214
+ name,
215
+ value
218
216
  }, info)]);
219
217
  } else {
220
218
  setFields([{
221
- name: name,
222
- value: value,
219
+ name,
220
+ value,
223
221
  errors: [],
224
222
  warnings: []
225
223
  }]);
226
224
  }
227
225
  };
228
- var nextSetFieldsValue = function nextSetFieldsValue(values) {
226
+ var nextSetFieldsValue = values => {
229
227
  var errors = getFieldsError();
230
- var errorNames = errors.reduce(function (acc, entry) {
228
+ var errorNames = errors.reduce((acc, entry) => {
231
229
  if (entry.errors.length > 0) {
232
230
  acc.push(entry.name[0]);
233
231
  }
234
232
  return acc;
235
233
  }, []) || [];
236
234
  if (errorNames.length) {
237
- errorNames.forEach(function (errorName) {
235
+ errorNames.forEach(errorName => {
238
236
  // 只处理names的报错
239
237
  if (errorName.includes('-')) {
240
238
  setFields([{
@@ -1,10 +1,9 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
1
  import { useEffect, useMemo } from 'react';
3
2
  import { isBoolean, isString } from 'lodash';
4
3
  import { rulesCreator } from "./rulesCreator";
5
4
  import { isNotFullArray, isNullArray } from "./index";
6
5
  import locale from "../../locale";
7
- var useRules = function useRules(props) {
6
+ var useRules = props => {
8
7
  var rules = props.rules,
9
8
  required = props.required,
10
9
  isSelect = props.isSelect,
@@ -13,42 +12,38 @@ var useRules = function useRules(props) {
13
12
  labelRequired = props.labelRequired,
14
13
  type = props.type;
15
14
  var _label = isString(label) ? label : '';
16
- var requiredRule = Array.isArray(rules) && (rules === null || rules === void 0 ? void 0 : rules.find(function (rule) {
17
- return rule.required === true;
18
- }));
19
- var allRequired = required === true || Array.isArray(required) && required.every(function (item) {
20
- return item === true;
21
- });
15
+ var requiredRule = Array.isArray(rules) && (rules === null || rules === void 0 ? void 0 : rules.find(rule => rule.required === true));
16
+ var allRequired = required === true || Array.isArray(required) && required.every(item => item === true);
22
17
 
23
18
  // 根据 required 添加 rules, names 字段会添加数组的必填校验
24
- var internalRule = useMemo(function () {
19
+ var internalRule = useMemo(() => {
25
20
  var result = {
26
21
  rules: rules || []
27
22
  };
28
23
  if (allRequired) {
29
24
  if (!requiredRule) {
30
- var message = isSelect ? "".concat(locale.ProForm.selectPlaceHolder).concat(_label) : "".concat(locale.ProForm.inputPlaceholder).concat(_label);
25
+ var message = isSelect ? `${locale.ProForm.selectPlaceHolder}${_label}` : `${locale.ProForm.inputPlaceholder}${_label}`;
31
26
  var rule = {
32
27
  required: allRequired,
33
- message: message
28
+ message
34
29
  };
35
30
 
36
31
  // names字段的必填校验
37
32
  if (names !== null && names !== void 0 && names.length) {
38
- rule.validator = function (_, value) {
33
+ rule.validator = (_, value) => {
39
34
  if (!value || isNullArray(value)) {
40
- return Promise.reject(new Error("".concat(locale.ProForm.inputPlaceholder).concat(_label)));
35
+ return Promise.reject(new Error(`${locale.ProForm.inputPlaceholder}${_label}`));
41
36
  }
42
37
  return Promise.resolve();
43
38
  };
44
39
  }
45
- result.rules = Array.isArray(rules) ? [].concat(_toConsumableArray(rules), [rule]) : [rule];
40
+ result.rules = Array.isArray(rules) ? [...rules, rule] : [rule];
46
41
  }
47
42
  } else if (requiredRule && names !== null && names !== void 0 && names.length) {
48
43
  // names字段 修改必填规则校验
49
- requiredRule.validator = function (_, value) {
44
+ requiredRule.validator = (_, value) => {
50
45
  if (!value || isNullArray(value)) {
51
- return Promise.reject(new Error("".concat(locale.ProForm.inputPlaceholder).concat(_label)));
46
+ return Promise.reject(new Error(`${locale.ProForm.inputPlaceholder}${_label}`));
52
47
  }
53
48
  return Promise.resolve();
54
49
  };
@@ -60,18 +55,18 @@ var useRules = function useRules(props) {
60
55
  internalRule.rules = internalRule.rules && rulesCreator({
61
56
  rules: internalRule.rules,
62
57
  label: _label,
63
- isSelect: isSelect,
64
- names: names,
65
- required: required
58
+ isSelect,
59
+ names,
60
+ required
66
61
  });
67
- useEffect(function () {
62
+ useEffect(() => {
68
63
  // 添加完整性校验
69
64
  if (names && !isBoolean(labelRequired)) {
70
65
  var customRequired = {
71
- validator: function validator(rules, value) {
66
+ validator: (rules, value) => {
72
67
  // 完整性校验, 空数组不校验, 数组有值且值不完整则校验不通过
73
68
  if (Array.isArray(value) && !isNullArray(value) && isNotFullArray(value, names.length, required)) {
74
- return Promise.reject(new Error("".concat(locale.ProForm.completeText).concat(_label)));
69
+ return Promise.reject(new Error(`${locale.ProForm.completeText}${_label}`));
75
70
  }
76
71
  return Promise.resolve();
77
72
  }
@@ -19,6 +19,7 @@ interface UseShouldUpdateProps<Values> {
19
19
  rules?: ProRule[];
20
20
  required?: boolean;
21
21
  type: string;
22
+ shouldUpdateDebounce?: number;
22
23
  [key: string]: any;
23
24
  }
24
25
  type HookShouldUpdate<Values = any> = (props: UseShouldUpdateProps<Values>) => Result<Values>;
@@ -1,9 +1,9 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
- import { useRef, useState } from 'react';
3
- import { isFunction, isEqualWith, get } from 'lodash';
2
+ import { useRef, useState, useEffect } from 'react';
3
+ import { isFunction, isEqualWith, get, debounce } from 'lodash';
4
4
  import { customEqualForFunction } from "../../utils";
5
5
  /** FormList中被删除的行也会再触发一次响应式函数 排除这种场景 */
6
- var isDeleteLine = function isDeleteLine(form, namePath) {
6
+ var isDeleteLine = (form, namePath) => {
7
7
  if (namePath) {
8
8
  var line = form.getFieldValue(namePath);
9
9
  return line === undefined;
@@ -12,7 +12,7 @@ var isDeleteLine = function isDeleteLine(form, namePath) {
12
12
  };
13
13
 
14
14
  // 代理shouldUpdate事件, 执行函数值的[show, disabled], 当[show, disabled]与上一次值不相同时更新状态
15
- var useShouldUpdate = function useShouldUpdate(props) {
15
+ var useShouldUpdate = props => {
16
16
  var show = props.show,
17
17
  formItemProps = props.formItemProps,
18
18
  form = props.form,
@@ -23,7 +23,9 @@ var useShouldUpdate = function useShouldUpdate(props) {
23
23
  component = props.component,
24
24
  originComponent = props.originComponent,
25
25
  type = props.type,
26
- desensitization = props.desensitization;
26
+ desensitization = props.desensitization,
27
+ _props$shouldUpdateDe = props.shouldUpdateDebounce,
28
+ shouldUpdateDebounce = _props$shouldUpdateDe === void 0 ? 500 : _props$shouldUpdateDe;
27
29
  var _shouldUpdate = formItemProps.shouldUpdate,
28
30
  name = formItemProps.name,
29
31
  clearNotShow = formItemProps.clearNotShow,
@@ -32,6 +34,8 @@ var useShouldUpdate = function useShouldUpdate(props) {
32
34
  names = formItemProps.names,
33
35
  dependNames = formItemProps.dependNames;
34
36
  var timerRef = useRef(null); // 清值防抖
37
+ var debouncedShouldUpdateRef = useRef(null); // shouldUpdate防抖函数
38
+ var pendingValuesRef = useRef(null); // 待处理的表单值
35
39
 
36
40
  var needClear = useRef(false); // 是否需要执行清值操作
37
41
  var showRef = useRef(false);
@@ -48,17 +52,88 @@ var useShouldUpdate = function useShouldUpdate(props) {
48
52
  reRender = _useState2[1];
49
53
  var values = {};
50
54
 
55
+ // 处理表单值更新的函数
56
+ var processValuesUpdate = currentValues => {
57
+ var _currentValues;
58
+ if (namePath) {
59
+ _currentValues = form.getFieldValue(namePath) || {};
60
+ } else {
61
+ _currentValues = currentValues;
62
+ }
63
+ var _show = isFunction(show) ? Boolean(show(_currentValues, {
64
+ form,
65
+ index,
66
+ namePath
67
+ })) : show;
68
+ var _disabled = isFunction(disabled) ? disabled(_currentValues, {
69
+ form,
70
+ index,
71
+ namePath
72
+ }) : disabled;
73
+ var _required = isFunction(required) ? required(_currentValues, {
74
+ form,
75
+ index,
76
+ namePath
77
+ }) : required;
78
+ var _rules = isFunction(rules) ? rules(_currentValues, {
79
+ form,
80
+ index,
81
+ namePath
82
+ }) : rules;
83
+ var _fieldProps = isFunction(fieldProps) ? fieldProps(_currentValues, {
84
+ form,
85
+ index,
86
+ namePath
87
+ }) : fieldProps;
88
+ var _desensitization = isFunction(desensitization) ? desensitization(_currentValues, {
89
+ form,
90
+ index,
91
+ namePath
92
+ }) : desensitization;
93
+ var equalRes = isEqualWith(rulesRef.current, _rules, customEqualForFunction);
94
+ var proEqualRes = isEqualWith(fieldPropsRef.current, _fieldProps, customEqualForFunction);
95
+ var desensitizationRes = isEqualWith(desensitizationRef.current, _desensitization);
96
+ if (_show !== showRef.current || !isEqualWith(disabledRef.current, _disabled, customEqualForFunction) || _required !== requiredRef.current || !equalRes || !proEqualRes || !desensitizationRes || _fieldProps !== null && _fieldProps !== void 0 && _fieldProps.transformResponse) {
97
+ showRef.current = _show;
98
+ disabledRef.current = _disabled;
99
+ requiredRef.current = _required;
100
+ rulesRef.current = _rules;
101
+ fieldPropsRef.current = _fieldProps;
102
+ desensitizationRef.current = _desensitization;
103
+ reRender({});
104
+ }
105
+ };
106
+
107
+ // 创建防抖函数
108
+ useEffect(() => {
109
+ if (shouldUpdateDebounce > 0 && (dependNames !== null && dependNames !== void 0 && dependNames.length || isFunction(show) || isFunction(disabled) || isFunction(required) || isFunction(rules) || isFunction(fieldProps) || isFunction(originComponent) || isFunction(desensitization))) {
110
+ debouncedShouldUpdateRef.current = debounce(() => {
111
+ if (pendingValuesRef.current) {
112
+ var currentValues = pendingValuesRef.current;
113
+ pendingValuesRef.current = null;
114
+
115
+ // 使用最新的values重新计算状态
116
+ processValuesUpdate(currentValues);
117
+ }
118
+ }, shouldUpdateDebounce);
119
+ }
120
+ return () => {
121
+ var _debouncedShouldUpdat;
122
+ (_debouncedShouldUpdat = debouncedShouldUpdateRef.current) === null || _debouncedShouldUpdat === void 0 || _debouncedShouldUpdat.cancel();
123
+ };
124
+ }, [shouldUpdateDebounce, dependNames === null || dependNames === void 0 ? void 0 : dependNames.length, show, disabled, required, rules, fieldProps, originComponent, desensitization]);
125
+
51
126
  // 不是动态函数直接返回
52
127
  if (!(dependNames !== null && dependNames !== void 0 && dependNames.length) && !isFunction(show) && !isFunction(disabled) && !isFunction(required) && !isFunction(rules) && !isFunction(fieldProps) && !isFunction(originComponent) && !isFunction(desensitization)) {
53
128
  return {
54
129
  shouldUpdate: _shouldUpdate,
55
- show: show,
56
- disabled: disabled,
57
- required: required,
58
- rules: rules,
59
- fieldProps: fieldProps,
130
+ show,
131
+ disabled,
132
+ required,
133
+ rules,
134
+ fieldProps,
60
135
  component: newComponent,
61
- desensitization: desensitization
136
+ desensitization
62
137
  };
63
138
  }
64
139
  if (namePath) {
@@ -69,18 +144,18 @@ var useShouldUpdate = function useShouldUpdate(props) {
69
144
  }
70
145
  if (isFunction(show)) {
71
146
  showRef.current = Boolean(show(values, {
72
- form: form,
73
- index: index,
74
- namePath: namePath
147
+ form,
148
+ index,
149
+ namePath
75
150
  }));
76
151
  } else {
77
152
  showRef.current = show;
78
153
  }
79
154
  if (isFunction(desensitization)) {
80
155
  desensitizationRef.current = desensitization(values, {
81
- form: form,
82
- index: index,
83
- namePath: namePath
156
+ form,
157
+ index,
158
+ namePath
84
159
  });
85
160
  } else {
86
161
  desensitizationRef.current = desensitization;
@@ -88,20 +163,20 @@ var useShouldUpdate = function useShouldUpdate(props) {
88
163
  if (isFunction(disabled)) {
89
164
  // RangePicker返回数组时,特殊处理
90
165
  if (['Group', 'RangePicker', 'ProCascader'].includes(type) && Array.isArray(disabled(values, {
91
- form: form,
92
- index: index,
93
- namePath: namePath
166
+ form,
167
+ index,
168
+ namePath
94
169
  }))) {
95
170
  disabledRef.current = disabled(values, {
96
- form: form,
97
- index: index,
98
- namePath: namePath
171
+ form,
172
+ index,
173
+ namePath
99
174
  });
100
175
  } else {
101
176
  disabledRef.current = Boolean(disabled(values, {
102
- form: form,
103
- index: index,
104
- namePath: namePath
177
+ form,
178
+ index,
179
+ namePath
105
180
  }));
106
181
  }
107
182
  } else {
@@ -109,56 +184,63 @@ var useShouldUpdate = function useShouldUpdate(props) {
109
184
  }
110
185
  if (isFunction(required)) {
111
186
  requiredRef.current = required(values, {
112
- form: form,
113
- index: index,
114
- namePath: namePath
187
+ form,
188
+ index,
189
+ namePath
115
190
  });
116
191
  } else {
117
192
  requiredRef.current = required;
118
193
  }
119
194
  if (isFunction(rules)) {
120
195
  rulesRef.current = rules(values, {
121
- form: form,
122
- index: index,
123
- namePath: namePath
196
+ form,
197
+ index,
198
+ namePath
124
199
  });
125
200
  } else {
126
201
  rulesRef.current = rules;
127
202
  }
128
203
  if (isFunction(originComponent)) {
129
204
  originComponentRef.current = originComponent(values, {
130
- form: form,
131
- index: index,
132
- namePath: namePath
205
+ form,
206
+ index,
207
+ namePath
133
208
  });
134
209
  } else {
135
210
  originComponentRef.current = newComponent;
136
211
  }
137
212
  if (isFunction(fieldProps)) {
138
213
  fieldPropsRef.current = fieldProps(values, {
139
- form: form,
140
- index: index,
141
- namePath: namePath
214
+ form,
215
+ index,
216
+ namePath
142
217
  }); // index, namePath FormList才会有
143
218
  } else {
144
219
  fieldPropsRef.current = fieldProps;
145
220
  }
146
221
  if (dependNames !== null && dependNames !== void 0 && dependNames.length) {
147
- dependNamesRef.current = dependNames.map(function (name) {
148
- return get(values, name);
149
- });
222
+ dependNamesRef.current = dependNames.map(name => get(values, name));
150
223
  }
151
224
  return {
152
225
  shouldUpdate: function shouldUpdate(prevValues, currentValues) {
153
226
  // @ts-ignore formList场景取当前行数据,不取shouldUpdate变更后值
154
227
  if (dependNames !== null && dependNames !== void 0 && dependNames.length) {
155
- var curDependNamesValue = dependNames.map(function (name) {
156
- return get(currentValues, name);
157
- });
228
+ var curDependNamesValue = dependNames.map(name => get(currentValues, name));
158
229
  var dependNamesChanged = !isEqualWith(dependNamesRef.current, curDependNamesValue, customEqualForFunction);
159
230
  dependNamesRef.current = curDependNamesValue;
160
231
  if (!dependNamesChanged) return false;
161
232
  }
233
+
234
+ // 如果启用了防抖且存在防抖函数
235
+ if (shouldUpdateDebounce > 0 && debouncedShouldUpdateRef.current) {
236
+ // 缓存最新的表单值
237
+ pendingValuesRef.current = currentValues;
238
+ // 触发防抖函数
239
+ debouncedShouldUpdateRef.current();
240
+ return false; // 暂时不更新,由防抖函数控制
241
+ }
242
+
243
+ // 原有的非防抖逻辑
162
244
  var _currentValues;
163
245
  if (namePath) {
164
246
  // formList场景values取当前行数据
@@ -167,34 +249,34 @@ var useShouldUpdate = function useShouldUpdate(props) {
167
249
  _currentValues = form.getFieldsValue(true);
168
250
  }
169
251
  var _show = isFunction(show) ? Boolean(show(_currentValues, {
170
- form: form,
171
- index: index,
172
- namePath: namePath
252
+ form,
253
+ index,
254
+ namePath
173
255
  })) : show;
174
256
  var _disabled = isFunction(disabled) ? Boolean(disabled(_currentValues, {
175
- form: form,
176
- index: index,
177
- namePath: namePath
257
+ form,
258
+ index,
259
+ namePath
178
260
  })) : disabled;
179
261
  var _required = isFunction(required) ? required(_currentValues, {
180
- form: form,
181
- index: index,
182
- namePath: namePath
262
+ form,
263
+ index,
264
+ namePath
183
265
  }) : required;
184
266
  var _rules = isFunction(rules) ? rules(_currentValues, {
185
- form: form,
186
- index: index,
187
- namePath: namePath
267
+ form,
268
+ index,
269
+ namePath
188
270
  }) : rules;
189
271
  var _fieldProps = isFunction(fieldProps) ? fieldProps(_currentValues, {
190
- form: form,
191
- index: index,
192
- namePath: namePath
272
+ form,
273
+ index,
274
+ namePath
193
275
  }) : fieldProps;
194
276
  var _desensitization = isFunction(desensitization) ? desensitization(_currentValues, {
195
- form: form,
196
- index: index,
197
- namePath: namePath
277
+ form,
278
+ index,
279
+ namePath
198
280
  }) : desensitization;
199
281
 
200
282
  // 清值防抖 多次刷新时以最后一次为准
@@ -205,7 +287,7 @@ var useShouldUpdate = function useShouldUpdate(props) {
205
287
  }
206
288
  if (_show === false) {
207
289
  clearTimeout(timerRef.current);
208
- timerRef.current = setTimeout(function () {
290
+ timerRef.current = setTimeout(() => {
209
291
  if (needClear.current !== true) return;
210
292
  if (Array.isArray(names)) {
211
293
  form.resetFields(names);
@@ -238,7 +320,7 @@ var useShouldUpdate = function useShouldUpdate(props) {
238
320
  for (var _len = arguments.length, rest = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
239
321
  rest[_key - 2] = arguments[_key];
240
322
  }
241
- return _shouldUpdate.apply(void 0, [prevValues, currentValues].concat(rest));
323
+ return _shouldUpdate(prevValues, currentValues, ...rest);
242
324
  }
243
325
  return !!_shouldUpdate;
244
326
  },
@@ -54,11 +54,11 @@ function setValueByPath(obj, path, value) {
54
54
  }
55
55
 
56
56
  // 创建之后namepath就不可变的警告
57
- var useWatchWarning = process.env.NODE_ENV !== 'production' ? function (dependencies) {
57
+ var useWatchWarning = process.env.NODE_ENV !== 'production' ? dependencies => {
58
58
  var depsStr = JSON.stringify(dependencies);
59
59
  var depsStrRef = useRef(depsStr);
60
60
  warning(depsStrRef.current === depsStr, '`useWatch` is not support dynamic `namePath`. Please provide static instead.');
61
- } : function () {};
61
+ } : () => {};
62
62
 
63
63
  /**
64
64
  * ProForm的useWatch hook,用于监听表单字段变化
@@ -85,7 +85,7 @@ function useWatch(dependencies, form, wait) {
85
85
  var prevStateRef = useRef({});
86
86
 
87
87
  // 标准化依赖为路径数组的数组
88
- var namePaths = useMemo(function () {
88
+ var namePaths = useMemo(() => {
89
89
  // 将依赖标准化为数组的数组形式
90
90
  var paths = [];
91
91
 
@@ -98,7 +98,7 @@ function useWatch(dependencies, form, wait) {
98
98
  var isPathsCollection = dependencies.length > 0 && (typeof dependencies[0] === 'string' || Array.isArray(dependencies[0]));
99
99
  if (isPathsCollection) {
100
100
  // 每个元素都是一个路径
101
- dependencies.forEach(function (path) {
101
+ dependencies.forEach(path => {
102
102
  paths.push(path);
103
103
  });
104
104
  } else {
@@ -110,9 +110,9 @@ function useWatch(dependencies, form, wait) {
110
110
  }, [/* dependencies 故意忽略,与原实现一致 */]);
111
111
 
112
112
  // 保存防抖函数引用,避免重复创建
113
- var debouncedFn = useMemo(function () {
113
+ var debouncedFn = useMemo(() => {
114
114
  if (wait) {
115
- return debounce(function (value) {
115
+ return debounce(value => {
116
116
  // 只在值真正变化时才更新状态
117
117
  if (!isEqual(prevStateRef.current, value)) {
118
118
  prevStateRef.current = _objectSpread({}, value);
@@ -122,23 +122,23 @@ function useWatch(dependencies, form, wait) {
122
122
  }
123
123
 
124
124
  // 非防抖版本
125
- return function (value) {
125
+ return value => {
126
126
  if (!isEqual(prevStateRef.current, value)) {
127
127
  prevStateRef.current = _objectSpread({}, value);
128
128
  setState(value);
129
129
  }
130
130
  };
131
131
  }, [wait]);
132
- useEffect(function () {
132
+ useEffect(() => {
133
133
  if (!formInstance) return undefined;
134
134
 
135
135
  // 创建更新状态的函数
136
- var updateState = function updateState() {
136
+ var updateState = () => {
137
137
  var values = formInstance.getFieldsValue(true);
138
138
  var newState = {};
139
139
 
140
140
  // 处理每个监听路径
141
- namePaths.forEach(function (path) {
141
+ namePaths.forEach(path => {
142
142
  // 将路径转换为数组形式
143
143
  var namePath = toArray(path);
144
144
 
@@ -162,14 +162,14 @@ function useWatch(dependencies, form, wait) {
162
162
  getInternalHooks = _ref.getInternalHooks;
163
163
  var _getInternalHooks = getInternalHooks('RC_FORM_INTERNAL_HOOKS'),
164
164
  registerWatch = _getInternalHooks.registerWatch;
165
- var cancelWatch = registerWatch(function (values) {
165
+ var cancelWatch = registerWatch(values => {
166
166
  if (values) {
167
167
  updateState();
168
168
  }
169
169
  });
170
170
 
171
171
  // 清理订阅
172
- return function () {
172
+ return () => {
173
173
  if (wait) {
174
174
  debouncedFn.cancel();
175
175
  }