@zat-design/sisyphus-react 4.0.0-beta.2 → 4.0.0-beta.4

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 (603) hide show
  1. package/babel.config.js +7 -30
  2. package/dist/esm/index.d.ts +5 -0
  3. package/dist/esm/index.js +5 -0
  4. package/dist/esm/regExp/index.d.ts +19 -0
  5. package/dist/esm/regExp/index.js +73 -0
  6. package/dist/esm/tools/calc/index.d.ts +4 -0
  7. package/dist/esm/tools/calc/index.js +67 -0
  8. package/dist/esm/tools/dateUtils.d.ts +7 -0
  9. package/dist/esm/tools/dateUtils.js +23 -0
  10. package/dist/esm/tools/disableDate/index.d.ts +9 -0
  11. package/dist/esm/tools/disableDate/index.js +43 -0
  12. package/dist/esm/tools/disableTimeRange/index.d.ts +9 -0
  13. package/dist/esm/tools/disableTimeRange/index.js +121 -0
  14. package/dist/esm/tools/formatAmount/index.d.ts +7 -0
  15. package/dist/esm/tools/formatAmount/index.js +14 -0
  16. package/dist/esm/tools/formatPerMill/index.d.ts +7 -0
  17. package/dist/esm/tools/formatPerMill/index.js +11 -0
  18. package/dist/esm/tools/formatPercent/index.d.ts +7 -0
  19. package/dist/esm/tools/formatPercent/index.js +11 -0
  20. package/dist/esm/tools/getDataByIdCard/index.d.ts +16 -0
  21. package/dist/esm/tools/getDataByIdCard/index.js +65 -0
  22. package/dist/esm/tools/index.d.ts +12 -0
  23. package/dist/esm/tools/index.js +14 -0
  24. package/dist/esm/tools/sumAmount/index.d.ts +16 -0
  25. package/dist/esm/tools/sumAmount/index.js +40 -0
  26. package/dist/esm/tools/toChineseNum/index.d.ts +7 -0
  27. package/dist/esm/tools/toChineseNum/index.js +103 -0
  28. package/dist/esm/tools/toFixed/index.d.ts +2 -0
  29. package/dist/esm/tools/toFixed/index.js +5 -0
  30. package/dist/esm/tools/transformDataName/index.d.ts +12 -0
  31. package/dist/esm/tools/transformDataName/index.js +37 -0
  32. package/dist/esm/transforms/dateTransformer/index.d.ts +24 -0
  33. package/dist/esm/transforms/dateTransformer/index.js +67 -0
  34. package/dist/esm/transforms/index.d.ts +6 -0
  35. package/dist/esm/transforms/index.js +6 -0
  36. package/dist/esm/transforms/propTypes.d.ts +7 -0
  37. package/dist/esm/transforms/propTypes.js +1 -0
  38. package/dist/esm/transforms/transformDate/index.d.ts +21 -0
  39. package/dist/esm/transforms/transformDate/index.js +141 -0
  40. package/dist/esm/transforms/transformDatePicker/index.d.ts +12 -0
  41. package/dist/esm/transforms/transformDatePicker/index.js +24 -0
  42. package/dist/esm/transforms/transformRangePicker/index.d.ts +29 -0
  43. package/dist/esm/transforms/transformRangePicker/index.js +61 -0
  44. package/dist/esm/transforms/transformSwitch/index.d.ts +13 -0
  45. package/dist/esm/transforms/transformSwitch/index.js +35 -0
  46. package/dist/esm/transforms/utils.d.ts +2 -0
  47. package/dist/esm/transforms/utils.js +8 -0
  48. package/dist/esm/validate/index.d.ts +107 -0
  49. package/dist/esm/validate/index.js +284 -0
  50. package/es/FormsProvider/index.js +4 -2
  51. package/es/ProAction/components/CheckModalContent/index.js +9 -8
  52. package/es/ProAction/index.js +77 -75
  53. package/es/ProAction/index.less +0 -2
  54. package/es/ProConfigProvider/index.d.ts +1 -0
  55. package/es/ProConfigProvider/index.js +20 -16
  56. package/es/ProDownload/index.js +89 -94
  57. package/es/ProDownload/style/index.less +0 -2
  58. package/es/ProDownload/utils.js +59 -50
  59. package/es/ProDrawerForm/components/ProDrawer/index.js +79 -72
  60. package/es/ProDrawerForm/components/ProModal/index.js +62 -60
  61. package/es/ProDrawerForm/components/index.js +2 -2
  62. package/es/ProDrawerForm/index.js +43 -37
  63. package/es/ProDrawerForm/style/index.less +0 -2
  64. package/es/ProEditLabel/components/RenderProForm.js +25 -21
  65. package/es/ProEditLabel/index.js +54 -46
  66. package/es/ProEditLabel/style/index.less +0 -2
  67. package/es/ProEditTable/components/ActionButton/index.js +31 -23
  68. package/es/ProEditTable/components/RcTable/BaseTable.js +16 -15
  69. package/es/ProEditTable/components/RcTable/DraggableTable.js +20 -19
  70. package/es/ProEditTable/components/RcTable/index.js +2 -2
  71. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +41 -19
  72. package/es/ProEditTable/components/RenderField/index.js +176 -145
  73. package/es/ProEditTable/components/RenderToolbar/index.js +26 -24
  74. package/es/ProEditTable/components/Summary/index.js +13 -11
  75. package/es/ProEditTable/components/Validator/index.js +6 -5
  76. package/es/ProEditTable/components/index.js +5 -5
  77. package/es/ProEditTable/index.d.ts +1 -1
  78. package/es/ProEditTable/index.js +96 -80
  79. package/es/ProEditTable/propsType.d.ts +1 -1
  80. package/es/ProEditTable/style/index.less +2 -4
  81. package/es/ProEditTable/utils/config.js +44 -37
  82. package/es/ProEditTable/utils/diffOriginal.d.ts +1 -0
  83. package/es/ProEditTable/utils/diffOriginal.js +76 -7
  84. package/es/ProEditTable/utils/getDefaultProps.js +8 -8
  85. package/es/ProEditTable/utils/index.js +86 -73
  86. package/es/ProEditTable/utils/tools.js +166 -157
  87. package/es/ProEditTable/utils/useEditTableError.js +17 -6
  88. package/es/ProEnum/components/Group.js +6 -6
  89. package/es/ProEnum/components/Tag.js +8 -6
  90. package/es/ProEnum/hooks/useEnum.js +31 -4
  91. package/es/ProEnum/hooks/useEnumRequest.js +59 -54
  92. package/es/ProEnum/index.js +48 -49
  93. package/es/ProEnum/style/index.less +0 -2
  94. package/es/ProEnum/utils/eventCenter.js +6 -4
  95. package/es/ProEnum/utils/getEnumLabel.js +9 -10
  96. package/es/ProEnum/utils/index.js +10 -5
  97. package/es/ProForm/components/Container.js +7 -5
  98. package/es/ProForm/components/FormFooter/index.js +16 -14
  99. package/es/ProForm/components/base/Checkbox/index.js +11 -8
  100. package/es/ProForm/components/base/DatePicker/index.js +33 -46
  101. package/es/ProForm/components/base/Input/index.js +17 -15
  102. package/es/ProForm/components/base/InputNumber/index.js +42 -38
  103. package/es/ProForm/components/base/Radio/index.js +10 -8
  104. package/es/ProForm/components/base/RangePicker/index.js +20 -20
  105. package/es/ProForm/components/base/Select/index.js +12 -10
  106. package/es/ProForm/components/base/Switch/index.js +12 -11
  107. package/es/ProForm/components/base/SwitchCheckbox/index.js +15 -14
  108. package/es/ProForm/components/base/SwitchCheckbox/style/index.less +0 -2
  109. package/es/ProForm/components/base/TextArea/index.js +12 -11
  110. package/es/ProForm/components/base/TextArea/index.less +0 -2
  111. package/es/ProForm/components/base/TimePicker/index.js +7 -6
  112. package/es/ProForm/components/base/TimePicker/style/index.less +0 -2
  113. package/es/ProForm/components/combination/Container/index.js +14 -12
  114. package/es/ProForm/components/combination/Container/style/index.less +0 -2
  115. package/es/ProForm/components/combination/FormList/components/ActionButton.js +45 -42
  116. package/es/ProForm/components/combination/FormList/components/BlockFields.js +14 -13
  117. package/es/ProForm/components/combination/FormList/components/BlockTitle.js +6 -6
  118. package/es/ProForm/components/combination/FormList/components/Empty.js +30 -27
  119. package/es/ProForm/components/combination/FormList/components/LineFields.js +12 -11
  120. package/es/ProForm/components/combination/FormList/components/ToolbarButton.js +31 -29
  121. package/es/ProForm/components/combination/FormList/index.js +22 -21
  122. package/es/ProForm/components/combination/FormList/style/index.less +0 -2
  123. package/es/ProForm/components/combination/FormList/utils.js +5 -3
  124. package/es/ProForm/components/combination/Group/component/AddonWrapper/index.js +7 -5
  125. package/es/ProForm/components/combination/Group/component/ComRender.js +27 -22
  126. package/es/ProForm/components/combination/Group/hooks/index.js +35 -19
  127. package/es/ProForm/components/combination/Group/index.d.ts +8 -2
  128. package/es/ProForm/components/combination/Group/index.js +27 -32
  129. package/es/ProForm/components/combination/Group/utils.js +22 -14
  130. package/es/ProForm/components/combination/ProCascader/index.js +144 -88
  131. package/es/ProForm/components/combination/ProCascader/propsType.d.ts +12 -4
  132. package/es/ProForm/components/combination/ProCascader/style/index.less +1 -3
  133. package/es/ProForm/components/combination/ProCascader/utils/index.js +3 -3
  134. package/es/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +24 -18
  135. package/es/ProForm/components/combination/ProModalSelect/index.js +185 -193
  136. package/es/ProForm/components/combination/ProModalSelect/propsType.d.ts +7 -3
  137. package/es/ProForm/components/combination/ProModalSelect/style/index.less +1 -4
  138. package/es/ProForm/components/combination/ProNumberRange/index.js +23 -20
  139. package/es/ProForm/components/combination/ProNumberRange/style/index.less +4 -3
  140. package/es/ProForm/components/combination/ProRangeLimit/index.js +33 -29
  141. package/es/ProForm/components/combination/ProTimeLimit/index.js +34 -28
  142. package/es/ProForm/components/combination/ProTimeLimit/style/index.less +0 -2
  143. package/es/ProForm/components/index.d.ts +2 -0
  144. package/es/ProForm/components/index.js +31 -27
  145. package/es/ProForm/components/render/ChangedWrapper.js +21 -15
  146. package/es/ProForm/components/render/ConfirmWrapper.js +35 -35
  147. package/es/ProForm/components/render/Render.js +109 -75
  148. package/es/ProForm/components/render/RenderFields.d.ts +1 -0
  149. package/es/ProForm/components/render/RenderFields.js +46 -29
  150. package/es/ProForm/components/render/propsType.d.ts +1 -0
  151. package/es/ProForm/components/render/propsType.js +25 -0
  152. package/es/ProForm/index.d.ts +2 -2
  153. package/es/ProForm/index.js +58 -38
  154. package/es/ProForm/propsType.d.ts +3 -1
  155. package/es/ProForm/propsType.js +5 -1
  156. package/es/ProForm/style/index.less +0 -2
  157. package/es/ProForm/utils/diffOriginal.d.ts +1 -0
  158. package/es/ProForm/utils/diffOriginal.js +75 -8
  159. package/es/ProForm/utils/getDefaultProps.js +7 -7
  160. package/es/ProForm/utils/index.js +64 -39
  161. package/es/ProForm/utils/processDependencies.js +11 -0
  162. package/es/ProForm/utils/rulesCreator.js +12 -13
  163. package/es/ProForm/utils/transformNames.js +5 -4
  164. package/es/ProForm/utils/transformValue.js +11 -6
  165. package/es/ProForm/utils/useDeepCompareMemo.js +6 -4
  166. package/es/ProForm/utils/useForm.js +71 -71
  167. package/es/ProForm/utils/useRules.js +11 -9
  168. package/es/ProForm/utils/useShouldUpdate.d.ts +1 -0
  169. package/es/ProForm/utils/useShouldUpdate.js +117 -29
  170. package/es/ProForm/utils/useWatch.js +25 -3
  171. package/es/ProForm/utils/valueType.js +14 -11
  172. package/es/ProIcon/config/index.js +2 -0
  173. package/es/ProIcon/index.js +33 -23
  174. package/es/ProIcon/style/index.less +0 -2
  175. package/es/ProIcon/utils/index.js +4 -5
  176. package/es/ProLayout/components/Layout/Header/index.js +12 -10
  177. package/es/ProLayout/components/Layout/Icon/Icon.js +3 -3
  178. package/es/ProLayout/components/Layout/Icon/index.js +1 -1
  179. package/es/ProLayout/components/Layout/Menu/FoldMenu/index.js +82 -25
  180. package/es/ProLayout/components/Layout/Menu/FoldMenu/style/index.less +0 -2
  181. package/es/ProLayout/components/Layout/Menu/OpenMenu/index.js +54 -27
  182. package/es/ProLayout/components/Layout/Menu/SideMenu/index.js +10 -7
  183. package/es/ProLayout/components/Layout/Menu/SideMenu/style/index.less +0 -2
  184. package/es/ProLayout/components/Layout/Menu/index.js +16 -11
  185. package/es/ProLayout/components/Layout/Menu/style/index.less +0 -2
  186. package/es/ProLayout/components/Layout/Notice/index.js +9 -8
  187. package/es/ProLayout/components/Layout/Notice/style/index.less +0 -2
  188. package/es/ProLayout/components/Layout/index.js +4 -4
  189. package/es/ProLayout/components/ProCollapse/PropTypes.d.ts +8 -3
  190. package/es/ProLayout/components/ProCollapse/index.js +44 -16
  191. package/es/ProLayout/components/ProCollapse/style/index.less +148 -4
  192. package/es/ProLayout/components/ProFooter/index.js +3 -3
  193. package/es/ProLayout/components/ProFooter/style/index.less +0 -2
  194. package/es/ProLayout/components/ProHeader/components/Copy/index.js +6 -6
  195. package/es/ProLayout/components/ProHeader/components/ProBackBtn/index.js +5 -4
  196. package/es/ProLayout/components/ProHeader/components/ProBackBtn/style/index.less +0 -2
  197. package/es/ProLayout/components/ProHeader/components/index.js +2 -2
  198. package/es/ProLayout/components/ProHeader/index.js +87 -75
  199. package/es/ProLayout/components/ProHeader/style/index.less +0 -2
  200. package/es/ProLayout/components/index.js +3 -3
  201. package/es/ProLayout/index.d.ts +1 -12
  202. package/es/ProLayout/index.js +73 -41
  203. package/es/ProLayout/propTypes.d.ts +9 -0
  204. package/es/ProLayout/style/index.less +0 -2
  205. package/es/ProLayout/utils/index.d.ts +7 -0
  206. package/es/ProLayout/utils/index.js +51 -18
  207. package/es/ProSelect/components/AdaptiveTooltip.js +5 -4
  208. package/es/ProSelect/index.js +44 -43
  209. package/es/ProSelect/index.less +0 -2
  210. package/es/ProSelect/utils/index.js +67 -5
  211. package/es/ProStep/components/Anchor/index.d.ts +1 -0
  212. package/es/ProStep/components/Anchor/index.js +19 -18
  213. package/es/ProStep/components/Item/index.d.ts +1 -0
  214. package/es/ProStep/components/Item/index.js +15 -12
  215. package/es/ProStep/components/Listener/index.js +18 -16
  216. package/es/ProStep/components/Step/index.js +15 -14
  217. package/es/ProStep/index.js +74 -62
  218. package/es/ProStep/style/index.less +0 -2
  219. package/es/ProStep/utils/index.js +6 -5
  220. package/es/ProStepTab/index.js +111 -77
  221. package/es/ProTable/components/FormatColumn/index.js +69 -66
  222. package/es/ProTable/components/RcTable/components/BaseTable/index.js +3 -3
  223. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +40 -36
  224. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +10 -9
  225. package/es/ProTable/components/RcTable/components/DraggableTable/index.js +5 -5
  226. package/es/ProTable/components/RcTable/index.js +2 -2
  227. package/es/ProTable/components/RenderColumn/index.js +30 -26
  228. package/es/ProTable/components/RenderEmptyText/index.js +7 -6
  229. package/es/ProTable/components/RenderFooter/index.js +2 -2
  230. package/es/ProTable/components/RenderSummary/index.js +11 -10
  231. package/es/ProTable/components/RenderTableHeader/index.js +15 -13
  232. package/es/ProTable/components/RenderTabs/index.js +7 -6
  233. package/es/ProTable/components/TableResizable/index.js +9 -8
  234. package/es/ProTable/components/TooltipTitle/index.js +6 -5
  235. package/es/ProTable/components/index.js +11 -6
  236. package/es/ProTable/hooks/useAntdTable.d.ts +3 -0
  237. package/es/ProTable/hooks/useAntdTable.js +133 -98
  238. package/es/ProTable/index.d.ts +3 -7
  239. package/es/ProTable/index.js +83 -77
  240. package/es/ProTable/propsType.d.ts +3 -2
  241. package/es/ProTable/style/index.less +4 -6
  242. package/es/ProTable/utils/index.js +12 -5
  243. package/es/ProTabs/components/Card/index.js +12 -11
  244. package/es/ProTabs/components/index.js +1 -1
  245. package/es/ProTabs/index.js +9 -8
  246. package/es/ProTabs/style/index.less +0 -2
  247. package/es/ProThemeTools/component/ProTools/index.js +42 -41
  248. package/es/ProThemeTools/component/index.js +1 -1
  249. package/es/ProThemeTools/context/ThemeContext.js +18 -2
  250. package/es/ProThemeTools/index.d.ts +0 -7
  251. package/es/ProThemeTools/index.js +50 -26
  252. package/es/ProThemeTools/style/index.less +0 -2
  253. package/es/ProThemeTools/utils/index.js +9 -0
  254. package/es/ProTooltip/index.js +24 -22
  255. package/es/ProTooltip/style/index.less +0 -2
  256. package/es/ProTree/components/AdaptiveTooltip.js +4 -4
  257. package/es/ProTree/components/CloseIcon.js +5 -5
  258. package/es/ProTree/components/List.js +15 -13
  259. package/es/ProTree/components/ProTree.js +62 -56
  260. package/es/ProTree/components/ProTreeSelect/index.js +88 -73
  261. package/es/ProTree/components/ProTreeSelect/style/index.less +0 -2
  262. package/es/ProTree/components/SearchTitle.js +10 -9
  263. package/es/ProTree/components/Tree.js +53 -52
  264. package/es/ProTree/components/index.js +4 -4
  265. package/es/ProTree/index.js +4 -4
  266. package/es/ProTree/style/index.less +0 -2
  267. package/es/ProTree/utils.js +21 -14
  268. package/es/ProTreeModal/components/Cascader.js +23 -21
  269. package/es/ProTreeModal/components/CloseIcon.js +5 -5
  270. package/es/ProTreeModal/components/List.js +40 -33
  271. package/es/ProTreeModal/components/SearchTitle.js +5 -4
  272. package/es/ProTreeModal/components/SortableItem.js +10 -8
  273. package/es/ProTreeModal/components/Tree.js +37 -35
  274. package/es/ProTreeModal/components/Trigger.js +23 -22
  275. package/es/ProTreeModal/components/index.js +6 -6
  276. package/es/ProTreeModal/index.js +85 -65
  277. package/es/ProTreeModal/style/index.less +0 -2
  278. package/es/ProTreeModal/utils.js +22 -18
  279. package/es/ProUpload/components/ButtonRender.js +38 -37
  280. package/es/ProUpload/components/DragRender.js +41 -34
  281. package/es/ProUpload/components/DraggableUploadListItem.js +3 -2
  282. package/es/ProUpload/components/Example.js +10 -9
  283. package/es/ProUpload/components/FileItem.js +47 -42
  284. package/es/ProUpload/components/ImageRender.js +85 -85
  285. package/es/ProUpload/index.js +24 -19
  286. package/es/ProUpload/style/index.less +0 -2
  287. package/es/ProUpload/uitls.js +1 -1
  288. package/es/ProViewer/index.js +25 -19
  289. package/es/ProViewer/propsType.js +3 -1
  290. package/es/ProViewer/style/index.less +0 -2
  291. package/es/ProWaterMark/index.js +4 -3
  292. package/es/index.d.ts +1 -1
  293. package/es/index.js +38 -29
  294. package/es/locale/index.js +7 -2
  295. package/es/style/theme/antd.less +0 -2
  296. package/es/tokens.js +1 -0
  297. package/es/utils/index.js +7 -3
  298. package/jest.config.js +46 -4
  299. package/lib/FormsProvider/index.js +53 -29
  300. package/lib/ProAction/components/CheckModalContent/index.js +27 -33
  301. package/lib/ProAction/index.js +155 -198
  302. package/lib/ProAction/index.less +0 -2
  303. package/lib/ProAction/propsType.js +16 -4
  304. package/lib/ProConfigProvider/index.d.ts +1 -0
  305. package/lib/ProConfigProvider/index.js +141 -122
  306. package/lib/ProDownload/index.js +123 -194
  307. package/lib/ProDownload/propsType.js +16 -4
  308. package/lib/ProDownload/style/index.less +0 -2
  309. package/lib/ProDownload/utils.js +145 -179
  310. package/lib/ProDrawerForm/components/ProDrawer/index.js +169 -236
  311. package/lib/ProDrawerForm/components/ProModal/index.js +134 -188
  312. package/lib/ProDrawerForm/components/index.js +39 -17
  313. package/lib/ProDrawerForm/index.js +93 -80
  314. package/lib/ProDrawerForm/propsType.js +16 -4
  315. package/lib/ProDrawerForm/style/index.less +0 -2
  316. package/lib/ProDrawerForm/utils/index.js +31 -13
  317. package/lib/ProEditLabel/components/RenderProForm.js +60 -58
  318. package/lib/ProEditLabel/index.js +182 -237
  319. package/lib/ProEditLabel/propsType.js +16 -4
  320. package/lib/ProEditLabel/style/index.less +0 -2
  321. package/lib/ProEditLabel/utils/index.js +31 -15
  322. package/lib/ProEditTable/components/ActionButton/index.js +172 -153
  323. package/lib/ProEditTable/components/RcTable/BaseTable.js +103 -104
  324. package/lib/ProEditTable/components/RcTable/DraggableTable.js +159 -187
  325. package/lib/ProEditTable/components/RcTable/index.js +39 -17
  326. package/lib/ProEditTable/components/RenderField/ListChangedWrapper.js +192 -178
  327. package/lib/ProEditTable/components/RenderField/index.js +564 -646
  328. package/lib/ProEditTable/components/RenderToolbar/index.js +105 -125
  329. package/lib/ProEditTable/components/Summary/index.js +61 -67
  330. package/lib/ProEditTable/components/Validator/index.js +48 -27
  331. package/lib/ProEditTable/components/index.js +48 -38
  332. package/lib/ProEditTable/index.d.ts +1 -1
  333. package/lib/ProEditTable/index.js +372 -430
  334. package/lib/ProEditTable/propsType.d.ts +1 -1
  335. package/lib/ProEditTable/propsType.js +16 -4
  336. package/lib/ProEditTable/style/index.less +2 -4
  337. package/lib/ProEditTable/utils/config.js +180 -235
  338. package/lib/ProEditTable/utils/diffOriginal.d.ts +1 -0
  339. package/lib/ProEditTable/utils/diffOriginal.js +106 -50
  340. package/lib/ProEditTable/utils/getDefaultProps.js +44 -29
  341. package/lib/ProEditTable/utils/index.js +255 -325
  342. package/lib/ProEditTable/utils/tools.js +252 -436
  343. package/lib/ProEditTable/utils/transform.js +28 -19
  344. package/lib/ProEditTable/utils/useEditTableError.js +58 -60
  345. package/lib/ProEnum/components/Group.js +78 -54
  346. package/lib/ProEnum/components/Tag.js +55 -40
  347. package/lib/ProEnum/hooks/useEnum.js +56 -53
  348. package/lib/ProEnum/hooks/useEnumRequest.js +198 -268
  349. package/lib/ProEnum/index.js +235 -244
  350. package/lib/ProEnum/propsType.js +16 -4
  351. package/lib/ProEnum/style/index.less +0 -2
  352. package/lib/ProEnum/utils/eventCenter.js +25 -37
  353. package/lib/ProEnum/utils/getEnumLabel.js +65 -63
  354. package/lib/ProEnum/utils/index.js +67 -92
  355. package/lib/ProForm/components/Container.js +45 -32
  356. package/lib/ProForm/components/FormFooter/index.js +82 -64
  357. package/lib/ProForm/components/FormFooter/propsType.js +16 -4
  358. package/lib/ProForm/components/base/Checkbox/index.js +62 -65
  359. package/lib/ProForm/components/base/DatePicker/index.js +77 -78
  360. package/lib/ProForm/components/base/DatePicker/useDateLimit.js +31 -16
  361. package/lib/ProForm/components/base/Input/index.js +73 -61
  362. package/lib/ProForm/components/base/Input/propsType.js +16 -4
  363. package/lib/ProForm/components/base/InputNumber/index.js +177 -225
  364. package/lib/ProForm/components/base/Radio/index.js +69 -59
  365. package/lib/ProForm/components/base/RangePicker/index.js +90 -77
  366. package/lib/ProForm/components/base/RangePicker/useDateRange.js +46 -28
  367. package/lib/ProForm/components/base/Select/index.js +69 -60
  368. package/lib/ProForm/components/base/Switch/index.js +59 -42
  369. package/lib/ProForm/components/base/SwitchCheckbox/index.js +63 -62
  370. package/lib/ProForm/components/base/SwitchCheckbox/style/index.less +0 -2
  371. package/lib/ProForm/components/base/TextArea/index.js +67 -52
  372. package/lib/ProForm/components/base/TextArea/index.less +0 -2
  373. package/lib/ProForm/components/base/TimePicker/index.js +59 -43
  374. package/lib/ProForm/components/base/TimePicker/style/index.less +0 -2
  375. package/lib/ProForm/components/combination/Container/index.js +77 -62
  376. package/lib/ProForm/components/combination/Container/propsType.js +16 -4
  377. package/lib/ProForm/components/combination/Container/style/index.less +0 -2
  378. package/lib/ProForm/components/combination/FormList/components/ActionButton.js +195 -247
  379. package/lib/ProForm/components/combination/FormList/components/BlockFields.js +108 -81
  380. package/lib/ProForm/components/combination/FormList/components/BlockTitle.js +44 -25
  381. package/lib/ProForm/components/combination/FormList/components/Empty.js +55 -92
  382. package/lib/ProForm/components/combination/FormList/components/LineFields.js +120 -94
  383. package/lib/ProForm/components/combination/FormList/components/ToolbarButton.js +103 -136
  384. package/lib/ProForm/components/combination/FormList/index.js +168 -142
  385. package/lib/ProForm/components/combination/FormList/propsType.js +16 -4
  386. package/lib/ProForm/components/combination/FormList/style/index.less +0 -2
  387. package/lib/ProForm/components/combination/FormList/utils.js +54 -33
  388. package/lib/ProForm/components/combination/Group/component/AddonWrapper/index.js +38 -21
  389. package/lib/ProForm/components/combination/Group/component/ComRender.js +76 -77
  390. package/lib/ProForm/components/combination/Group/hooks/index.js +142 -130
  391. package/lib/ProForm/components/combination/Group/index.d.ts +8 -2
  392. package/lib/ProForm/components/combination/Group/index.js +113 -110
  393. package/lib/ProForm/components/combination/Group/propsType.js +16 -4
  394. package/lib/ProForm/components/combination/Group/utils.js +113 -128
  395. package/lib/ProForm/components/combination/ProCascader/index.js +255 -254
  396. package/lib/ProForm/components/combination/ProCascader/propsType.d.ts +12 -4
  397. package/lib/ProForm/components/combination/ProCascader/propsType.js +16 -4
  398. package/lib/ProForm/components/combination/ProCascader/style/index.less +1 -3
  399. package/lib/ProForm/components/combination/ProCascader/utils/index.js +35 -24
  400. package/lib/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +122 -115
  401. package/lib/ProForm/components/combination/ProModalSelect/index.js +494 -689
  402. package/lib/ProForm/components/combination/ProModalSelect/propsType.d.ts +7 -3
  403. package/lib/ProForm/components/combination/ProModalSelect/propsType.js +16 -4
  404. package/lib/ProForm/components/combination/ProModalSelect/style/index.less +1 -4
  405. package/lib/ProForm/components/combination/ProModalSelect/utils/index.js +45 -22
  406. package/lib/ProForm/components/combination/ProNumberRange/index.js +163 -182
  407. package/lib/ProForm/components/combination/ProNumberRange/propsType.js +16 -4
  408. package/lib/ProForm/components/combination/ProNumberRange/style/index.less +4 -3
  409. package/lib/ProForm/components/combination/ProRangeLimit/index.js +140 -164
  410. package/lib/ProForm/components/combination/ProRangeLimit/propsType.js +16 -4
  411. package/lib/ProForm/components/combination/ProTimeLimit/hooks/useControlled.js +49 -28
  412. package/lib/ProForm/components/combination/ProTimeLimit/index.js +128 -143
  413. package/lib/ProForm/components/combination/ProTimeLimit/style/index.less +0 -2
  414. package/lib/ProForm/components/index.d.ts +2 -0
  415. package/lib/ProForm/components/index.js +115 -192
  416. package/lib/ProForm/components/render/ChangedWrapper.js +147 -133
  417. package/lib/ProForm/components/render/ConfirmWrapper.js +78 -122
  418. package/lib/ProForm/components/render/Render.js +356 -419
  419. package/lib/ProForm/components/render/RenderFields.d.ts +1 -0
  420. package/lib/ProForm/components/render/RenderFields.js +188 -188
  421. package/lib/ProForm/components/render/propsType.d.ts +1 -0
  422. package/lib/ProForm/components/render/propsType.js +16 -5
  423. package/lib/ProForm/index.d.ts +2 -2
  424. package/lib/ProForm/index.js +241 -270
  425. package/lib/ProForm/propsType.d.ts +3 -1
  426. package/lib/ProForm/propsType.js +38 -5
  427. package/lib/ProForm/style/index.less +0 -2
  428. package/lib/ProForm/utils/diffOriginal.d.ts +1 -0
  429. package/lib/ProForm/utils/diffOriginal.js +103 -44
  430. package/lib/ProForm/utils/getDefaultProps.js +44 -28
  431. package/lib/ProForm/utils/index.js +270 -321
  432. package/lib/ProForm/utils/processDependencies.js +44 -52
  433. package/lib/ProForm/utils/rulesCreator.js +84 -61
  434. package/lib/ProForm/utils/transformNames.js +38 -27
  435. package/lib/ProForm/utils/transformValue.js +51 -48
  436. package/lib/ProForm/utils/useDeepCompareMemo.js +36 -16
  437. package/lib/ProForm/utils/useFieldProps.js +42 -11
  438. package/lib/ProForm/utils/useForm.js +118 -228
  439. package/lib/ProForm/utils/useRules.js +67 -60
  440. package/lib/ProForm/utils/useShouldUpdate.d.ts +1 -0
  441. package/lib/ProForm/utils/useShouldUpdate.js +153 -176
  442. package/lib/ProForm/utils/useWatch.js +93 -100
  443. package/lib/ProForm/utils/valueType.js +157 -224
  444. package/lib/ProIcon/config/index.js +365 -276
  445. package/lib/ProIcon/index.js +189 -214
  446. package/lib/ProIcon/propsTypes.js +16 -4
  447. package/lib/ProIcon/style/index.less +0 -2
  448. package/lib/ProIcon/symbolIcon.js +23 -30
  449. package/lib/ProIcon/utils/index.js +66 -57
  450. package/lib/ProLayout/components/Layout/Header/index.js +59 -42
  451. package/lib/ProLayout/components/Layout/Icon/Icon.js +49 -30
  452. package/lib/ProLayout/components/Layout/Icon/index.js +34 -7
  453. package/lib/ProLayout/components/Layout/Menu/FoldMenu/index.js +141 -119
  454. package/lib/ProLayout/components/Layout/Menu/FoldMenu/style/index.less +0 -2
  455. package/lib/ProLayout/components/Layout/Menu/OpenMenu/index.js +123 -123
  456. package/lib/ProLayout/components/Layout/Menu/OpenMenu/propsType.js +16 -4
  457. package/lib/ProLayout/components/Layout/Menu/SideMenu/index.js +60 -42
  458. package/lib/ProLayout/components/Layout/Menu/SideMenu/style/index.less +0 -2
  459. package/lib/ProLayout/components/Layout/Menu/index.js +79 -56
  460. package/lib/ProLayout/components/Layout/Menu/style/index.less +0 -2
  461. package/lib/ProLayout/components/Layout/Notice/index.js +39 -31
  462. package/lib/ProLayout/components/Layout/Notice/style/index.less +0 -2
  463. package/lib/ProLayout/components/Layout/index.js +45 -31
  464. package/lib/ProLayout/components/ProCollapse/PropTypes.d.ts +8 -3
  465. package/lib/ProLayout/components/ProCollapse/PropTypes.js +16 -4
  466. package/lib/ProLayout/components/ProCollapse/index.js +156 -135
  467. package/lib/ProLayout/components/ProCollapse/style/index.less +148 -4
  468. package/lib/ProLayout/components/ProFooter/PropTypes.js +16 -4
  469. package/lib/ProLayout/components/ProFooter/index.js +58 -44
  470. package/lib/ProLayout/components/ProFooter/style/index.less +0 -2
  471. package/lib/ProLayout/components/ProHeader/PropTypes.js +16 -4
  472. package/lib/ProLayout/components/ProHeader/components/Copy/index.js +53 -25
  473. package/lib/ProLayout/components/ProHeader/components/ProBackBtn/index.js +48 -27
  474. package/lib/ProLayout/components/ProHeader/components/ProBackBtn/propsType.js +16 -4
  475. package/lib/ProLayout/components/ProHeader/components/ProBackBtn/style/index.less +0 -2
  476. package/lib/ProLayout/components/ProHeader/components/index.js +39 -17
  477. package/lib/ProLayout/components/ProHeader/index.js +274 -452
  478. package/lib/ProLayout/components/ProHeader/style/index.less +0 -2
  479. package/lib/ProLayout/components/ProHeader/utils/index.js +32 -14
  480. package/lib/ProLayout/components/index.js +42 -24
  481. package/lib/ProLayout/index.d.ts +1 -12
  482. package/lib/ProLayout/index.js +158 -136
  483. package/lib/ProLayout/propTypes.d.ts +9 -0
  484. package/lib/ProLayout/propTypes.js +16 -4
  485. package/lib/ProLayout/style/index.less +0 -2
  486. package/lib/ProLayout/utils/index.d.ts +7 -0
  487. package/lib/ProLayout/utils/index.js +107 -103
  488. package/lib/ProSelect/components/AdaptiveTooltip.js +46 -40
  489. package/lib/ProSelect/index.js +218 -250
  490. package/lib/ProSelect/index.less +0 -2
  491. package/lib/ProSelect/propsType.js +16 -4
  492. package/lib/ProSelect/utils/index.js +110 -79
  493. package/lib/ProStep/components/Anchor/index.d.ts +1 -0
  494. package/lib/ProStep/components/Anchor/index.js +108 -101
  495. package/lib/ProStep/components/Item/index.d.ts +1 -0
  496. package/lib/ProStep/components/Item/index.js +82 -75
  497. package/lib/ProStep/components/Listener/index.js +62 -71
  498. package/lib/ProStep/components/Step/index.js +76 -67
  499. package/lib/ProStep/index.js +167 -225
  500. package/lib/ProStep/propsType.js +16 -4
  501. package/lib/ProStep/style/index.less +0 -2
  502. package/lib/ProStep/utils/index.js +59 -52
  503. package/lib/ProStepTab/index.js +179 -287
  504. package/lib/ProStepTab/propsType.js +16 -4
  505. package/lib/ProTable/components/FormatColumn/index.js +446 -495
  506. package/lib/ProTable/components/RcTable/components/BaseTable/index.js +53 -40
  507. package/lib/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +139 -200
  508. package/lib/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +116 -95
  509. package/lib/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/propsType.js +16 -4
  510. package/lib/ProTable/components/RcTable/components/DraggableTable/index.js +80 -59
  511. package/lib/ProTable/components/RcTable/index.js +39 -17
  512. package/lib/ProTable/components/RenderColumn/index.js +194 -200
  513. package/lib/ProTable/components/RenderEmptyText/index.js +27 -25
  514. package/lib/ProTable/components/RenderFooter/index.js +33 -17
  515. package/lib/ProTable/components/RenderSummary/index.js +46 -56
  516. package/lib/ProTable/components/RenderTableHeader/index.js +68 -59
  517. package/lib/ProTable/components/RenderTabs/index.js +89 -78
  518. package/lib/ProTable/components/TableResizable/index.js +88 -87
  519. package/lib/ProTable/components/TooltipTitle/index.js +40 -26
  520. package/lib/ProTable/components/index.js +51 -45
  521. package/lib/ProTable/hooks/useAntdTable.d.ts +3 -0
  522. package/lib/ProTable/hooks/useAntdTable.js +349 -376
  523. package/lib/ProTable/index.d.ts +3 -7
  524. package/lib/ProTable/index.js +353 -392
  525. package/lib/ProTable/propsType.d.ts +3 -2
  526. package/lib/ProTable/propsType.js +16 -4
  527. package/lib/ProTable/style/index.less +4 -6
  528. package/lib/ProTable/utils/index.js +84 -84
  529. package/lib/ProTabs/components/Card/index.js +30 -50
  530. package/lib/ProTabs/components/index.js +36 -10
  531. package/lib/ProTabs/index.js +92 -85
  532. package/lib/ProTabs/propType.js +16 -4
  533. package/lib/ProTabs/style/index.less +0 -2
  534. package/lib/ProThemeTools/component/ProTools/index.js +198 -238
  535. package/lib/ProThemeTools/component/index.js +36 -10
  536. package/lib/ProThemeTools/context/ThemeContext.js +96 -87
  537. package/lib/ProThemeTools/index.d.ts +0 -7
  538. package/lib/ProThemeTools/index.js +181 -195
  539. package/lib/ProThemeTools/propsType.js +16 -4
  540. package/lib/ProThemeTools/style/index.less +0 -2
  541. package/lib/ProThemeTools/utils/index.js +85 -79
  542. package/lib/ProTooltip/index.js +217 -221
  543. package/lib/ProTooltip/propsType.js +16 -4
  544. package/lib/ProTooltip/style/index.less +0 -2
  545. package/lib/ProTree/components/AdaptiveTooltip.js +33 -22
  546. package/lib/ProTree/components/CloseIcon.js +36 -31
  547. package/lib/ProTree/components/List.js +68 -72
  548. package/lib/ProTree/components/ProTree.js +262 -362
  549. package/lib/ProTree/components/ProTreeSelect/index.js +367 -474
  550. package/lib/ProTree/components/ProTreeSelect/propsType.js +16 -4
  551. package/lib/ProTree/components/ProTreeSelect/style/index.less +0 -2
  552. package/lib/ProTree/components/SearchTitle.js +47 -50
  553. package/lib/ProTree/components/Tree.js +230 -302
  554. package/lib/ProTree/components/index.js +45 -31
  555. package/lib/ProTree/index.js +45 -22
  556. package/lib/ProTree/propsType.js +16 -4
  557. package/lib/ProTree/style/index.less +0 -2
  558. package/lib/ProTree/utils.js +83 -135
  559. package/lib/ProTreeModal/components/Cascader.js +97 -93
  560. package/lib/ProTreeModal/components/CloseIcon.js +36 -31
  561. package/lib/ProTreeModal/components/List.js +194 -263
  562. package/lib/ProTreeModal/components/SearchTitle.js +30 -22
  563. package/lib/ProTreeModal/components/SortableItem.js +60 -59
  564. package/lib/ProTreeModal/components/Tree.js +162 -180
  565. package/lib/ProTreeModal/components/Trigger.js +108 -126
  566. package/lib/ProTreeModal/components/index.js +51 -45
  567. package/lib/ProTreeModal/index.js +464 -574
  568. package/lib/ProTreeModal/propsType.js +16 -4
  569. package/lib/ProTreeModal/style/index.less +0 -2
  570. package/lib/ProTreeModal/utils.js +105 -158
  571. package/lib/ProUpload/components/ButtonRender.js +86 -108
  572. package/lib/ProUpload/components/DragRender.js +120 -167
  573. package/lib/ProUpload/components/DraggableUploadListItem.js +50 -32
  574. package/lib/ProUpload/components/Example.js +56 -38
  575. package/lib/ProUpload/components/FileItem.js +114 -203
  576. package/lib/ProUpload/components/ImageRender.js +176 -246
  577. package/lib/ProUpload/index.js +204 -215
  578. package/lib/ProUpload/propsType.js +16 -4
  579. package/lib/ProUpload/style/index.less +0 -2
  580. package/lib/ProUpload/uitls.js +34 -10
  581. package/lib/ProUtils/utils/index.js +38 -26
  582. package/lib/ProViewer/index.js +173 -199
  583. package/lib/ProViewer/propsType.js +16 -4
  584. package/lib/ProViewer/style/index.less +0 -2
  585. package/lib/ProWaterMark/index.js +38 -18
  586. package/lib/ProWaterMark/propsType.js +16 -4
  587. package/lib/index.d.ts +1 -1
  588. package/lib/index.js +123 -272
  589. package/lib/locale/en_US.js +145 -127
  590. package/lib/locale/index.js +58 -38
  591. package/lib/locale/zh_CN.js +146 -128
  592. package/lib/style/theme/antd.less +0 -2
  593. package/lib/tokens.js +103 -86
  594. package/lib/utils/index.js +91 -63
  595. package/package.json +13 -12
  596. package/tests/__mocks__/fileMock.js +1 -0
  597. package/tests/__mocks__/zatUtils.js +27 -0
  598. package/tests/setup.ts +484 -0
  599. package/tests/test-utils.tsx +81 -0
  600. package/dist/index.esm.css +0 -6445
  601. package/dist/index.esm.js +0 -3
  602. package/dist/less.esm.css +0 -5871
  603. package/dist/less.esm.js +0 -3
@@ -1,9 +1,7 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
- import _get from "lodash/get";
3
- import _isEqualWith from "lodash/isEqualWith";
4
- import _isFunction from "lodash/isFunction";
5
- import { useRef, useState } from 'react';
6
- import { customEqualForFunction } from '../../utils';
2
+ import { useRef, useState, useEffect } from 'react';
3
+ import { isFunction, isEqualWith, get, debounce } from 'lodash';
4
+ import { customEqualForFunction } from "../../utils";
7
5
  /** FormList中被删除的行也会再触发一次响应式函数 排除这种场景 */
8
6
  var isDeleteLine = function isDeleteLine(form, namePath) {
9
7
  if (namePath) {
@@ -12,6 +10,7 @@ var isDeleteLine = function isDeleteLine(form, namePath) {
12
10
  }
13
11
  return false;
14
12
  };
13
+
15
14
  // 代理shouldUpdate事件, 执行函数值的[show, disabled], 当[show, disabled]与上一次值不相同时更新状态
16
15
  var useShouldUpdate = function useShouldUpdate(props) {
17
16
  var show = props.show,
@@ -24,7 +23,9 @@ var useShouldUpdate = function useShouldUpdate(props) {
24
23
  component = props.component,
25
24
  originComponent = props.originComponent,
26
25
  type = props.type,
27
- desensitization = props.desensitization;
26
+ desensitization = props.desensitization,
27
+ _props$shouldUpdateDe = props.shouldUpdateDebounce,
28
+ shouldUpdateDebounce = _props$shouldUpdateDe === void 0 ? 500 : _props$shouldUpdateDe;
28
29
  var _shouldUpdate = formItemProps.shouldUpdate,
29
30
  name = formItemProps.name,
30
31
  clearNotShow = formItemProps.clearNotShow,
@@ -33,6 +34,9 @@ var useShouldUpdate = function useShouldUpdate(props) {
33
34
  names = formItemProps.names,
34
35
  dependNames = formItemProps.dependNames;
35
36
  var timerRef = useRef(null); // 清值防抖
37
+ var debouncedShouldUpdateRef = useRef(null); // shouldUpdate防抖函数
38
+ var pendingValuesRef = useRef(null); // 待处理的表单值
39
+
36
40
  var needClear = useRef(false); // 是否需要执行清值操作
37
41
  var showRef = useRef(false);
38
42
  var disabledRef = useRef(false);
@@ -47,8 +51,80 @@ var useShouldUpdate = function useShouldUpdate(props) {
47
51
  _useState2 = _slicedToArray(_useState, 2),
48
52
  reRender = _useState2[1];
49
53
  var values = {};
54
+
55
+ // 处理表单值更新的函数
56
+ var processValuesUpdate = function 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: form,
65
+ index: index,
66
+ namePath: namePath
67
+ })) : show;
68
+ var _disabled = isFunction(disabled) ? disabled(_currentValues, {
69
+ form: form,
70
+ index: index,
71
+ namePath: namePath
72
+ }) : disabled;
73
+ var _required = isFunction(required) ? required(_currentValues, {
74
+ form: form,
75
+ index: index,
76
+ namePath: namePath
77
+ }) : required;
78
+ var _rules = isFunction(rules) ? rules(_currentValues, {
79
+ form: form,
80
+ index: index,
81
+ namePath: namePath
82
+ }) : rules;
83
+ var _fieldProps = isFunction(fieldProps) ? fieldProps(_currentValues, {
84
+ form: form,
85
+ index: index,
86
+ namePath: namePath
87
+ }) : fieldProps;
88
+ var _desensitization = isFunction(desensitization) ? desensitization(_currentValues, {
89
+ form: form,
90
+ index: index,
91
+ namePath: 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(function () {
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(function () {
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 function () {
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
+
50
126
  // 不是动态函数直接返回
51
- if (!(dependNames === null || dependNames === void 0 ? void 0 : dependNames.length) && !_isFunction(show) && !_isFunction(disabled) && !_isFunction(required) && !_isFunction(rules) && !_isFunction(fieldProps) && !_isFunction(originComponent) && !_isFunction(desensitization)) {
127
+ if (!(dependNames !== null && dependNames !== void 0 && dependNames.length) && !isFunction(show) && !isFunction(disabled) && !isFunction(required) && !isFunction(rules) && !isFunction(fieldProps) && !isFunction(originComponent) && !isFunction(desensitization)) {
52
128
  return {
53
129
  shouldUpdate: _shouldUpdate,
54
130
  show: show,
@@ -66,7 +142,7 @@ var useShouldUpdate = function useShouldUpdate(props) {
66
142
  } else {
67
143
  values = form.getFieldsValue(true);
68
144
  }
69
- if (_isFunction(show)) {
145
+ if (isFunction(show)) {
70
146
  showRef.current = Boolean(show(values, {
71
147
  form: form,
72
148
  index: index,
@@ -75,7 +151,7 @@ var useShouldUpdate = function useShouldUpdate(props) {
75
151
  } else {
76
152
  showRef.current = show;
77
153
  }
78
- if (_isFunction(desensitization)) {
154
+ if (isFunction(desensitization)) {
79
155
  desensitizationRef.current = desensitization(values, {
80
156
  form: form,
81
157
  index: index,
@@ -84,7 +160,7 @@ var useShouldUpdate = function useShouldUpdate(props) {
84
160
  } else {
85
161
  desensitizationRef.current = desensitization;
86
162
  }
87
- if (_isFunction(disabled)) {
163
+ if (isFunction(disabled)) {
88
164
  // RangePicker返回数组时,特殊处理
89
165
  if (['Group', 'RangePicker', 'ProCascader'].includes(type) && Array.isArray(disabled(values, {
90
166
  form: form,
@@ -106,7 +182,7 @@ var useShouldUpdate = function useShouldUpdate(props) {
106
182
  } else {
107
183
  disabledRef.current = disabled;
108
184
  }
109
- if (_isFunction(required)) {
185
+ if (isFunction(required)) {
110
186
  requiredRef.current = required(values, {
111
187
  form: form,
112
188
  index: index,
@@ -115,7 +191,7 @@ var useShouldUpdate = function useShouldUpdate(props) {
115
191
  } else {
116
192
  requiredRef.current = required;
117
193
  }
118
- if (_isFunction(rules)) {
194
+ if (isFunction(rules)) {
119
195
  rulesRef.current = rules(values, {
120
196
  form: form,
121
197
  index: index,
@@ -124,7 +200,7 @@ var useShouldUpdate = function useShouldUpdate(props) {
124
200
  } else {
125
201
  rulesRef.current = rules;
126
202
  }
127
- if (_isFunction(originComponent)) {
203
+ if (isFunction(originComponent)) {
128
204
  originComponentRef.current = originComponent(values, {
129
205
  form: form,
130
206
  index: index,
@@ -133,7 +209,7 @@ var useShouldUpdate = function useShouldUpdate(props) {
133
209
  } else {
134
210
  originComponentRef.current = newComponent;
135
211
  }
136
- if (_isFunction(fieldProps)) {
212
+ if (isFunction(fieldProps)) {
137
213
  fieldPropsRef.current = fieldProps(values, {
138
214
  form: form,
139
215
  index: index,
@@ -142,22 +218,33 @@ var useShouldUpdate = function useShouldUpdate(props) {
142
218
  } else {
143
219
  fieldPropsRef.current = fieldProps;
144
220
  }
145
- if (dependNames === null || dependNames === void 0 ? void 0 : dependNames.length) {
221
+ if (dependNames !== null && dependNames !== void 0 && dependNames.length) {
146
222
  dependNamesRef.current = dependNames.map(function (name) {
147
- return _get(values, name);
223
+ return get(values, name);
148
224
  });
149
225
  }
150
226
  return {
151
227
  shouldUpdate: function shouldUpdate(prevValues, currentValues) {
152
228
  // @ts-ignore formList场景取当前行数据,不取shouldUpdate变更后值
153
- if (dependNames === null || dependNames === void 0 ? void 0 : dependNames.length) {
229
+ if (dependNames !== null && dependNames !== void 0 && dependNames.length) {
154
230
  var curDependNamesValue = dependNames.map(function (name) {
155
- return _get(currentValues, name);
231
+ return get(currentValues, name);
156
232
  });
157
- var dependNamesChanged = !_isEqualWith(dependNamesRef.current, curDependNamesValue, customEqualForFunction);
233
+ var dependNamesChanged = !isEqualWith(dependNamesRef.current, curDependNamesValue, customEqualForFunction);
158
234
  dependNamesRef.current = curDependNamesValue;
159
235
  if (!dependNamesChanged) return false;
160
236
  }
237
+
238
+ // 如果启用了防抖且存在防抖函数
239
+ if (shouldUpdateDebounce > 0 && debouncedShouldUpdateRef.current) {
240
+ // 缓存最新的表单值
241
+ pendingValuesRef.current = currentValues;
242
+ // 触发防抖函数
243
+ debouncedShouldUpdateRef.current();
244
+ return false; // 暂时不更新,由防抖函数控制
245
+ }
246
+
247
+ // 原有的非防抖逻辑
161
248
  var _currentValues;
162
249
  if (namePath) {
163
250
  // formList场景values取当前行数据
@@ -165,36 +252,37 @@ var useShouldUpdate = function useShouldUpdate(props) {
165
252
  } else {
166
253
  _currentValues = form.getFieldsValue(true);
167
254
  }
168
- var _show = _isFunction(show) ? Boolean(show(_currentValues, {
255
+ var _show = isFunction(show) ? Boolean(show(_currentValues, {
169
256
  form: form,
170
257
  index: index,
171
258
  namePath: namePath
172
259
  })) : show;
173
- var _disabled = _isFunction(disabled) ? Boolean(disabled(_currentValues, {
260
+ var _disabled = isFunction(disabled) ? Boolean(disabled(_currentValues, {
174
261
  form: form,
175
262
  index: index,
176
263
  namePath: namePath
177
264
  })) : disabled;
178
- var _required = _isFunction(required) ? required(_currentValues, {
265
+ var _required = isFunction(required) ? required(_currentValues, {
179
266
  form: form,
180
267
  index: index,
181
268
  namePath: namePath
182
269
  }) : required;
183
- var _rules = _isFunction(rules) ? rules(_currentValues, {
270
+ var _rules = isFunction(rules) ? rules(_currentValues, {
184
271
  form: form,
185
272
  index: index,
186
273
  namePath: namePath
187
274
  }) : rules;
188
- var _fieldProps = _isFunction(fieldProps) ? fieldProps(_currentValues, {
275
+ var _fieldProps = isFunction(fieldProps) ? fieldProps(_currentValues, {
189
276
  form: form,
190
277
  index: index,
191
278
  namePath: namePath
192
279
  }) : fieldProps;
193
- var _desensitization = _isFunction(desensitization) ? desensitization(_currentValues, {
280
+ var _desensitization = isFunction(desensitization) ? desensitization(_currentValues, {
194
281
  form: form,
195
282
  index: index,
196
283
  namePath: namePath
197
284
  }) : desensitization;
285
+
198
286
  // 清值防抖 多次刷新时以最后一次为准
199
287
  if (clearNotShow !== false && (name || names) && !isDeleteLine(form, namePath)) {
200
288
  // 当show为其他变为false的时候记录一次需要清值
@@ -218,10 +306,10 @@ var useShouldUpdate = function useShouldUpdate(props) {
218
306
  clearTimeout(timerRef.current);
219
307
  }
220
308
  }
221
- var equalRes = _isEqualWith(rulesRef.current, _rules, customEqualForFunction);
222
- var proEqualRes = _isEqualWith(fieldPropsRef.current, _fieldProps, customEqualForFunction);
223
- var desensitizationRes = _isEqualWith(desensitizationRef.current, _desensitization);
224
- if (_show !== showRef.current || _disabled !== disabledRef.current || _required !== requiredRef.current || !equalRes || !proEqualRes || !desensitizationRes || (_fieldProps === null || _fieldProps === void 0 ? void 0 : _fieldProps.transformResponse) // 防止fieldProps变更时,transformResponse根据fieldProps新值无法触发更新
309
+ var equalRes = isEqualWith(rulesRef.current, _rules, customEqualForFunction);
310
+ var proEqualRes = isEqualWith(fieldPropsRef.current, _fieldProps, customEqualForFunction);
311
+ var desensitizationRes = isEqualWith(desensitizationRef.current, _desensitization);
312
+ if (_show !== showRef.current || _disabled !== disabledRef.current || _required !== requiredRef.current || !equalRes || !proEqualRes || !desensitizationRes || _fieldProps !== null && _fieldProps !== void 0 && _fieldProps.transformResponse // 防止fieldProps变更时,transformResponse根据fieldProps新值无法触发更新
225
313
  ) {
226
314
  showRef.current = _show;
227
315
  disabledRef.current = _disabled;
@@ -1,6 +1,6 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
2
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
- import _debounce from "lodash/debounce";
3
+ import { debounce } from 'lodash';
4
4
  import warning from 'rc-util/lib/warning';
5
5
  import { useState, useEffect, useRef, useMemo } from 'react';
6
6
  import isEqual from 'lodash/isEqual';
@@ -10,6 +10,7 @@ export function toArray(value) {
10
10
  }
11
11
  return Array.isArray(value) ? value : [value];
12
12
  }
13
+
13
14
  // 从一个对象或Form值中获取特定路径的值
14
15
  function get(source, path) {
15
16
  if (!source || path.length === 0) {
@@ -24,6 +25,7 @@ function get(source, path) {
24
25
  }
25
26
  return current;
26
27
  }
28
+
27
29
  /**
28
30
  * 将值设置到指定路径的嵌套对象中
29
31
  * @param obj 目标对象
@@ -32,11 +34,13 @@ function get(source, path) {
32
34
  */
33
35
  function setValueByPath(obj, path, value) {
34
36
  if (path.length === 0) return;
37
+
35
38
  // 处理单层路径
36
39
  if (path.length === 1) {
37
40
  obj[path[0]] = value;
38
41
  return;
39
42
  }
43
+
40
44
  // 处理多层嵌套路径
41
45
  var current = obj;
42
46
  for (var i = 0; i < path.length - 1; i++) {
@@ -48,12 +52,14 @@ function setValueByPath(obj, path, value) {
48
52
  }
49
53
  current[path[path.length - 1]] = value;
50
54
  }
55
+
51
56
  // 创建之后namepath就不可变的警告
52
57
  var useWatchWarning = process.env.NODE_ENV !== 'production' ? function (dependencies) {
53
58
  var depsStr = JSON.stringify(dependencies);
54
59
  var depsStrRef = useRef(depsStr);
55
60
  warning(depsStrRef.current === depsStr, '`useWatch` is not support dynamic `namePath`. Please provide static instead.');
56
61
  } : function () {};
62
+
57
63
  /**
58
64
  * ProForm的useWatch hook,用于监听表单字段变化
59
65
  * @param dependencies 监听的字段路径
@@ -64,20 +70,25 @@ var useWatchWarning = process.env.NODE_ENV !== 'production' ? function (dependen
64
70
  function useWatch(dependencies, form, wait) {
65
71
  // 处理开发环境警告
66
72
  useWatchWarning(dependencies);
73
+
67
74
  // 获取表单实例
68
75
  var formInstance = form;
76
+
69
77
  // 用于存储最终结果
70
78
  var _useState = useState({}),
71
79
  _useState2 = _slicedToArray(_useState, 2),
72
80
  state = _useState2[0],
73
81
  setState = _useState2[1];
82
+
74
83
  // 使用ref存储中间状态,避免不必要的渲染
75
84
  var valueRef = useRef({});
76
85
  var prevStateRef = useRef({});
86
+
77
87
  // 标准化依赖为路径数组的数组
78
88
  var namePaths = useMemo(function () {
79
89
  // 将依赖标准化为数组的数组形式
80
90
  var paths = [];
91
+
81
92
  // 字符串形式: 'fieldName'
82
93
  if (typeof dependencies === 'string') {
83
94
  paths.push(dependencies);
@@ -97,10 +108,11 @@ function useWatch(dependencies, form, wait) {
97
108
  }
98
109
  return paths;
99
110
  }, [/* dependencies 故意忽略,与原实现一致 */]);
111
+
100
112
  // 保存防抖函数引用,避免重复创建
101
113
  var debouncedFn = useMemo(function () {
102
114
  if (wait) {
103
- return _debounce(function (value) {
115
+ return debounce(function (value) {
104
116
  // 只在值真正变化时才更新状态
105
117
  if (!isEqual(prevStateRef.current, value)) {
106
118
  prevStateRef.current = _objectSpread({}, value);
@@ -108,6 +120,7 @@ function useWatch(dependencies, form, wait) {
108
120
  }
109
121
  }, wait);
110
122
  }
123
+
111
124
  // 非防抖版本
112
125
  return function (value) {
113
126
  if (!isEqual(prevStateRef.current, value)) {
@@ -118,27 +131,35 @@ function useWatch(dependencies, form, wait) {
118
131
  }, [wait]);
119
132
  useEffect(function () {
120
133
  if (!formInstance) return undefined;
134
+
121
135
  // 创建更新状态的函数
122
136
  var updateState = function updateState() {
123
137
  var values = formInstance.getFieldsValue(true);
124
138
  var newState = {};
139
+
125
140
  // 处理每个监听路径
126
141
  namePaths.forEach(function (path) {
127
142
  // 将路径转换为数组形式
128
143
  var namePath = toArray(path);
144
+
129
145
  // 获取路径对应的值
130
146
  var value = get(values, namePath);
147
+
131
148
  // 将值设置到正确的嵌套结构中
132
149
  setValueByPath(newState, namePath, value);
133
150
  });
151
+
134
152
  // 存储并更新状态
135
153
  valueRef.current = newState;
136
154
  debouncedFn(newState);
137
155
  };
156
+
138
157
  // 初始调用一次
139
158
  updateState();
159
+
140
160
  // 注册表单变化监听
141
- var getInternalHooks = formInstance.getInternalHooks;
161
+ var _ref = formInstance,
162
+ getInternalHooks = _ref.getInternalHooks;
142
163
  var _getInternalHooks = getInternalHooks('RC_FORM_INTERNAL_HOOKS'),
143
164
  registerWatch = _getInternalHooks.registerWatch;
144
165
  var cancelWatch = registerWatch(function (values) {
@@ -146,6 +167,7 @@ function useWatch(dependencies, form, wait) {
146
167
  updateState();
147
168
  }
148
169
  });
170
+
149
171
  // 清理订阅
150
172
  return function () {
151
173
  if (wait) {
@@ -1,7 +1,7 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
2
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
- import _isEqual from "lodash/isEqual";
4
3
  import Big from 'big.js';
4
+ import { isEqual } from 'lodash';
5
5
  import { transforms } from '@zat-design/utils';
6
6
  var transformDate = transforms.transformDate,
7
7
  transformSwitch = transforms.transformSwitch;
@@ -33,7 +33,7 @@ var transformRatio = function transformRatio(_ref) {
33
33
  value: []
34
34
  };
35
35
  }
36
- if (_isEqual(ref, value)) {
36
+ if (isEqual(ref, value)) {
37
37
  return {
38
38
  value: [(value[0] || value[0] === 0) && Number.isFinite(value[0] - 0) ? Big(value[0] - 0).times(Math.pow(10, precision)).toNumber() : null, (value[1] || value[1] === 0) && Number.isFinite(value[1] - 0) ? Big(value[1] - 0).times(Math.pow(10, precision)).toNumber() : null]
39
39
  };
@@ -56,6 +56,7 @@ var transformRatio = function transformRatio(_ref) {
56
56
  }
57
57
  };
58
58
  };
59
+
59
60
  /**
60
61
  * switch转换
61
62
  */
@@ -85,6 +86,7 @@ var formatMap = {
85
86
  timeType: 'startEndTime'
86
87
  }
87
88
  };
89
+
88
90
  /**
89
91
  * 日期转换
90
92
  */
@@ -189,6 +191,7 @@ var dateTransform = function dateTransform(_ref2) {
189
191
  }
190
192
  return result;
191
193
  };
194
+
192
195
  /** 脱敏处理函数 */
193
196
  export var maskStringRangeWithRegex = function maskStringRangeWithRegex(input, range) {
194
197
  var _input$replace;
@@ -205,7 +208,7 @@ export var maskStringRangeWithRegex = function maskStringRangeWithRegex(input, r
205
208
  }
206
209
  var regexPattern = "^(.{".concat(start, "})(.{").concat(adjustedEnd - start + 1, "})(.*)$");
207
210
  var regex = new RegExp(regexPattern);
208
- var maskedValue = input === null || input === void 0 ? void 0 : (_input$replace = input.replace) === null || _input$replace === void 0 ? void 0 : _input$replace.call(input, regex, "$1".concat('*'.repeat(adjustedEnd - start + 1), "$3"));
211
+ var maskedValue = input === null || input === void 0 || (_input$replace = input.replace) === null || _input$replace === void 0 ? void 0 : _input$replace.call(input, regex, "$1".concat('*'.repeat(adjustedEnd - start + 1), "$3"));
209
212
  return maskedValue;
210
213
  };
211
214
  export default {
@@ -280,9 +283,9 @@ export default {
280
283
  });
281
284
  },
282
285
  /** 百分比 */
283
- percentage: function percentage(_ref0) {
284
- var type = _ref0.type,
285
- valueType = _ref0.valueType;
286
+ percentage: function percentage(_ref10) {
287
+ var type = _ref10.type,
288
+ valueType = _ref10.valueType;
286
289
  return transformRatio({
287
290
  type: type,
288
291
  valueType: valueType,
@@ -290,9 +293,9 @@ export default {
290
293
  });
291
294
  },
292
295
  /** 千分比 */
293
- permillage: function permillage(_ref1) {
294
- var type = _ref1.type,
295
- valueType = _ref1.valueType;
296
+ permillage: function permillage(_ref11) {
297
+ var type = _ref11.type,
298
+ valueType = _ref11.valueType;
296
299
  return transformRatio({
297
300
  type: type,
298
301
  valueType: valueType,
@@ -300,8 +303,8 @@ export default {
300
303
  });
301
304
  },
302
305
  /** 开关 YN转换 */
303
- switch: function _switch(_ref10) {
304
- var switchValue = _ref10.switchValue;
306
+ switch: function _switch(_ref12) {
307
+ var switchValue = _ref12.switchValue;
305
308
  return switchTransform(switchValue);
306
309
  }
307
310
  };
@@ -255,6 +255,7 @@ export var iconMap = [{
255
255
  'text-cn': '调整序号',
256
256
  'text-en': 'adjust order'
257
257
  }];
258
+
258
259
  // 渐变色icon预设
259
260
  export var themeMap = {
260
261
  '#006AFF': ['#ADDDFF', '#5FB3D8', '#4181FF'],
@@ -263,6 +264,7 @@ export var themeMap = {
263
264
  '#A00F20': ['#FFFFFF', '#E47B7B', '#A00E20'],
264
265
  '#31AF96': ['#5FD8C7', '#5FD8C7', '#31AF96']
265
266
  };
267
+
266
268
  // 双色icon预设
267
269
  export var themeFillMap = {
268
270
  '#006AFF': ['none', '#87F1FC', 'black', '#4181FF'],