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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (546) hide show
  1. package/babel.config.js +34 -1
  2. package/dist/index.esm.css +595 -341
  3. package/dist/less.esm.css +565 -309
  4. package/es/FormsProvider/index.d.ts +4 -1
  5. package/es/ProAction/components/CheckModalContent/index.js +0 -8
  6. package/es/ProAction/index.js +45 -48
  7. package/es/ProAction/index.less +2 -2
  8. package/es/ProConfigProvider/index.d.ts +21 -4
  9. package/es/ProConfigProvider/index.js +51 -22
  10. package/es/ProDownload/index.js +62 -65
  11. package/es/ProDownload/style/index.less +2 -2
  12. package/es/ProDownload/utils.js +45 -51
  13. package/es/ProDrawerForm/components/ProDrawer/index.js +64 -69
  14. package/es/ProDrawerForm/components/ProModal/index.js +59 -67
  15. package/es/ProDrawerForm/index.d.ts +2 -1
  16. package/es/ProDrawerForm/index.js +4 -6
  17. package/es/ProDrawerForm/propsType.d.ts +7 -18
  18. package/es/ProDrawerForm/style/index.less +8 -14
  19. package/es/ProEditLabel/components/RenderProForm.js +2 -3
  20. package/es/ProEditLabel/index.js +40 -45
  21. package/es/ProEditLabel/propsType.d.ts +1 -6
  22. package/es/ProEditLabel/style/index.less +4 -3
  23. package/es/ProEditTable/components/ActionButton/index.js +5 -8
  24. package/es/ProEditTable/components/RcTable/BaseTable.js +73 -55
  25. package/es/ProEditTable/components/RcTable/DraggableTable.js +66 -47
  26. package/es/ProEditTable/components/RcTable/index.d.ts +0 -2
  27. package/es/ProEditTable/components/RcTable/index.js +1 -3
  28. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +9 -12
  29. package/es/ProEditTable/components/RenderField/index.d.ts +3 -2
  30. package/es/ProEditTable/components/RenderField/index.js +377 -253
  31. package/es/ProEditTable/components/RenderToolbar/index.js +19 -19
  32. package/es/ProEditTable/components/Summary/index.js +5 -8
  33. package/es/ProEditTable/components/Validator/index.js +3 -6
  34. package/es/ProEditTable/index.js +128 -131
  35. package/es/ProEditTable/propsType.d.ts +1 -7
  36. package/es/ProEditTable/style/index.less +3 -7
  37. package/es/ProEditTable/utils/config.js +31 -35
  38. package/es/ProEditTable/utils/index.js +44 -41
  39. package/es/ProEditTable/utils/tools.js +107 -110
  40. package/es/ProEditTable/utils/useEditTableError.js +12 -4
  41. package/es/ProEnum/hooks/useEnumRequest.js +44 -47
  42. package/es/ProEnum/index.js +10 -17
  43. package/es/ProEnum/style/index.less +2 -2
  44. package/es/ProEnum/utils/index.d.ts +1 -0
  45. package/es/ProEnum/utils/index.js +2 -1
  46. package/es/ProForm/components/Container.d.ts +1 -0
  47. package/es/ProForm/components/Container.js +2 -3
  48. package/es/ProForm/components/FormFooter/index.js +13 -13
  49. package/es/ProForm/components/FormFooter/propsType.d.ts +2 -0
  50. package/es/ProForm/components/base/Checkbox/index.js +3 -4
  51. package/es/ProForm/components/base/DatePicker/index.d.ts +1 -3
  52. package/es/ProForm/components/base/DatePicker/index.js +7 -7
  53. package/es/ProForm/components/base/DatePicker/useDateLimit.d.ts +1 -7
  54. package/es/ProForm/components/base/DatePicker/useDateLimit.js +1 -3
  55. package/es/ProForm/components/base/Input/index.js +6 -13
  56. package/es/ProForm/components/base/InputNumber/index.js +3 -6
  57. package/es/ProForm/components/base/Radio/index.js +3 -4
  58. package/es/ProForm/components/base/RangePicker/index.js +6 -7
  59. package/es/ProForm/components/base/RangePicker/useDateRange.d.ts +5 -5
  60. package/es/ProForm/components/base/Select/index.js +2 -3
  61. package/es/ProForm/components/base/Switch/index.js +2 -3
  62. package/es/ProForm/components/base/SwitchCheckbox/index.js +2 -3
  63. package/es/ProForm/components/base/SwitchCheckbox/style/index.less +2 -2
  64. package/es/ProForm/components/base/TextArea/index.js +3 -4
  65. package/es/ProForm/components/base/TextArea/index.less +12 -2
  66. package/es/ProForm/components/base/TimePicker/index.d.ts +1 -2
  67. package/es/ProForm/components/base/TimePicker/index.js +6 -7
  68. package/es/ProForm/components/base/TimePicker/style/index.less +5 -3
  69. package/es/ProForm/components/combination/Container/style/index.less +2 -2
  70. package/es/ProForm/components/combination/FormList/components/ActionButton.js +28 -26
  71. package/es/ProForm/components/combination/FormList/components/BlockFields.js +3 -6
  72. package/es/ProForm/components/combination/FormList/components/Empty.d.ts +13 -0
  73. package/es/ProForm/components/combination/FormList/components/Empty.js +89 -0
  74. package/es/ProForm/components/combination/FormList/components/LineFields.js +2 -3
  75. package/es/ProForm/components/combination/FormList/components/ToolbarButton.js +17 -21
  76. package/es/ProForm/components/combination/FormList/index.js +13 -5
  77. package/es/ProForm/components/combination/FormList/propsType.d.ts +1 -0
  78. package/es/ProForm/components/combination/FormList/style/index.less +61 -2
  79. package/es/ProForm/components/combination/Group/component/AddonWrapper/index.d.ts +1 -0
  80. package/es/ProForm/components/combination/Group/index.d.ts +2 -8
  81. package/es/ProForm/components/combination/Group/index.js +12 -6
  82. package/es/ProForm/components/combination/Group/style/index.less +7 -87
  83. package/es/ProForm/components/combination/Group/utils.d.ts +1 -1
  84. package/es/ProForm/components/combination/Group/utils.js +4 -5
  85. package/es/ProForm/components/combination/ProCascader/index.js +21 -20
  86. package/es/ProForm/components/combination/ProCascader/propsType.d.ts +1 -1
  87. package/es/ProForm/components/combination/ProCascader/style/index.less +2 -2
  88. package/es/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +6 -8
  89. package/es/ProForm/components/combination/ProModalSelect/index.d.ts +1 -1
  90. package/es/ProForm/components/combination/ProModalSelect/index.js +97 -116
  91. package/es/ProForm/components/combination/ProModalSelect/style/index.less +13 -14
  92. package/es/ProForm/components/combination/ProNumberRange/index.d.ts +3 -2
  93. package/es/ProForm/components/combination/ProNumberRange/index.js +17 -16
  94. package/es/ProForm/components/combination/ProNumberRange/style/index.less +5 -52
  95. package/es/ProForm/components/combination/ProRangeLimit/index.d.ts +2 -23
  96. package/es/ProForm/components/combination/ProRangeLimit/index.js +44 -28
  97. package/es/ProForm/components/combination/ProRangeLimit/propsType.d.ts +23 -0
  98. package/es/ProForm/components/combination/ProTimeLimit/hooks/useControlled.d.ts +3 -2
  99. package/es/ProForm/components/combination/ProTimeLimit/hooks/useControlled.js +14 -2
  100. package/es/ProForm/components/combination/ProTimeLimit/index.d.ts +5 -6
  101. package/es/ProForm/components/combination/ProTimeLimit/index.js +27 -19
  102. package/es/ProForm/components/combination/ProTimeLimit/style/index.less +66 -6
  103. package/es/ProForm/components/index.d.ts +0 -8
  104. package/es/ProForm/components/index.js +1 -10
  105. package/es/ProForm/components/render/ChangedWrapper.js +8 -9
  106. package/es/ProForm/components/render/ConfirmWrapper.js +28 -29
  107. package/es/ProForm/components/render/Render.js +37 -40
  108. package/es/ProForm/components/render/propsType.d.ts +2 -6
  109. package/es/ProForm/index.js +9 -39
  110. package/es/ProForm/style/index.less +6 -16
  111. package/es/ProForm/utils/index.d.ts +15 -1
  112. package/es/ProForm/utils/index.js +63 -18
  113. package/es/ProForm/utils/useDeepCompareMemo.js +4 -4
  114. package/es/ProForm/utils/useForm.js +84 -74
  115. package/es/ProForm/utils/useShouldUpdate.js +14 -14
  116. package/es/ProForm/utils/valueType.js +8 -8
  117. package/es/ProIcon/index.js +10 -13
  118. package/es/ProIcon/style/index.less +2 -2
  119. package/es/ProLayout/components/Layout/Header/index.js +1 -1
  120. package/es/ProLayout/components/Layout/Menu/FoldMenu/index.js +11 -10
  121. package/es/ProLayout/components/Layout/Menu/FoldMenu/style/index.less +42 -39
  122. package/es/ProLayout/components/Layout/Menu/OpenMenu/index.js +3 -4
  123. package/es/ProLayout/components/Layout/Menu/OpenMenu/style/index.less +12 -6
  124. package/es/ProLayout/components/Layout/Menu/SideMenu/style/index.less +9 -5
  125. package/es/ProLayout/components/Layout/Menu/index.js +1 -1
  126. package/es/ProLayout/components/Layout/Menu/style/index.less +2 -2
  127. package/es/ProLayout/components/Layout/Notice/style/index.less +2 -2
  128. package/es/ProLayout/components/ProCollapse/index.js +20 -36
  129. package/es/ProLayout/components/ProCollapse/style/index.less +3 -3
  130. package/es/ProLayout/components/ProFooter/index.js +3 -4
  131. package/es/ProLayout/components/ProFooter/style/index.less +2 -2
  132. package/es/ProLayout/components/ProHeader/components/Copy/index.js +2 -3
  133. package/es/ProLayout/components/ProHeader/components/ProBackBtn/index.js +2 -3
  134. package/es/ProLayout/components/ProHeader/components/ProBackBtn/style/index.less +9 -9
  135. package/es/ProLayout/components/ProHeader/index.js +43 -46
  136. package/es/ProLayout/components/ProHeader/style/index.less +2 -2
  137. package/es/ProLayout/index.js +7 -6
  138. package/es/ProLayout/style/index.less +4 -3
  139. package/es/ProSelect/components/AdaptiveTooltip.js +2 -3
  140. package/es/ProSelect/index.js +7 -17
  141. package/es/ProSelect/index.less +2 -2
  142. package/es/ProSelect/propsType.d.ts +1 -1
  143. package/es/ProStep/components/Anchor/index.js +2 -3
  144. package/es/ProStep/components/Item/index.js +2 -1
  145. package/es/ProStep/components/Listener/index.js +12 -14
  146. package/es/ProStep/components/Step/index.js +1 -0
  147. package/es/ProStep/index.js +39 -47
  148. package/es/ProStep/style/index.less +4 -4
  149. package/es/ProStepTab/index.js +72 -83
  150. package/es/ProTable/components/FormatColumn/index.js +32 -31
  151. package/es/ProTable/components/RcTable/components/BaseTable/index.d.ts +0 -1
  152. package/es/ProTable/components/RcTable/components/BaseTable/index.js +2 -4
  153. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +39 -37
  154. package/es/ProTable/components/RcTable/components/DraggableTable/index.d.ts +0 -1
  155. package/es/ProTable/components/RcTable/components/DraggableTable/index.js +2 -4
  156. package/es/ProTable/components/RenderColumn/index.d.ts +1 -1
  157. package/es/ProTable/components/RenderColumn/index.js +15 -18
  158. package/es/ProTable/components/RenderSummary/index.js +4 -5
  159. package/es/ProTable/components/RenderTableHeader/index.js +3 -4
  160. package/es/ProTable/components/RenderTabs/index.js +3 -6
  161. package/es/ProTable/components/TableResizable/index.js +2 -1
  162. package/es/ProTable/components/TooltipTitle/index.js +2 -3
  163. package/es/ProTable/hooks/useAntdTable.js +21 -26
  164. package/es/ProTable/index.js +15 -16
  165. package/es/ProTable/propsType.d.ts +1 -3
  166. package/es/ProTable/style/index.less +5 -5
  167. package/es/ProTabs/components/Card/index.js +5 -10
  168. package/es/ProTabs/index.js +2 -3
  169. package/es/ProTabs/style/index.less +2 -2
  170. package/es/ProThemeTools/component/ProTools/index.js +18 -22
  171. package/es/ProThemeTools/context/ThemeContext.d.ts +31 -0
  172. package/es/ProThemeTools/context/ThemeContext.js +120 -0
  173. package/es/ProThemeTools/index.d.ts +4 -1
  174. package/es/ProThemeTools/index.js +60 -37
  175. package/es/ProThemeTools/style/index.less +3 -3
  176. package/es/ProThemeTools/utils/index.d.ts +16 -6
  177. package/es/ProThemeTools/utils/index.js +28 -24
  178. package/es/ProTooltip/index.js +14 -9
  179. package/es/ProTooltip/style/index.less +2 -2
  180. package/es/ProTree/components/AdaptiveTooltip.js +2 -3
  181. package/es/ProTree/components/List.js +3 -4
  182. package/es/ProTree/components/ProTree.js +19 -26
  183. package/es/ProTree/components/ProTreeSelect/index.js +38 -37
  184. package/es/ProTree/components/ProTreeSelect/style/index.less +2 -2
  185. package/es/ProTree/components/Tree.js +18 -25
  186. package/es/ProTree/index.js +0 -7
  187. package/es/ProTree/propsType.d.ts +1 -1
  188. package/es/ProTree/style/index.less +10 -6
  189. package/es/ProTreeModal/components/Cascader.js +3 -4
  190. package/es/ProTreeModal/components/List.js +11 -17
  191. package/es/ProTreeModal/components/SortableItem.js +2 -3
  192. package/es/ProTreeModal/components/Tree.js +3 -4
  193. package/es/ProTreeModal/components/Trigger.js +6 -11
  194. package/es/ProTreeModal/index.d.ts +0 -1
  195. package/es/ProTreeModal/index.js +14 -24
  196. package/es/ProTreeModal/style/index.less +14 -3
  197. package/es/ProUpload/components/ButtonRender.js +17 -20
  198. package/es/ProUpload/components/DragRender.js +2 -3
  199. package/es/ProUpload/components/FileItem.d.ts +0 -1
  200. package/es/ProUpload/components/FileItem.js +15 -21
  201. package/es/ProUpload/components/ImageRender.js +34 -43
  202. package/es/ProUpload/index.js +3 -4
  203. package/es/ProUpload/style/index.less +173 -12
  204. package/es/ProViewer/index.js +38 -45
  205. package/es/ProViewer/style/index.less +2 -2
  206. package/es/ProWaterMark/index.js +2 -3
  207. package/es/ProWaterMark/propsType.d.ts +5 -24
  208. package/es/global.less +2 -1
  209. package/es/index.d.ts +4 -2
  210. package/es/index.js +2 -3
  211. package/es/locale/en_US.d.ts +1 -0
  212. package/es/locale/en_US.js +4 -3
  213. package/es/locale/index.d.ts +2 -0
  214. package/es/locale/index.js +11 -2
  215. package/es/locale/zh_CN.d.ts +1 -0
  216. package/es/locale/zh_CN.js +4 -3
  217. package/es/style/components.less +0 -3
  218. package/es/style/theme/antd.less +38 -48
  219. package/es/style/theme/base.less +89 -0
  220. package/es/style/theme/index.less +2 -89
  221. package/es/utils/index.d.ts +7 -0
  222. package/es/utils/index.js +23 -1
  223. package/lib/FormsProvider/index.d.ts +4 -1
  224. package/lib/ProAction/components/CheckModalContent/index.js +0 -9
  225. package/lib/ProAction/index.js +45 -48
  226. package/lib/ProAction/index.less +2 -2
  227. package/lib/ProConfigProvider/index.d.ts +21 -4
  228. package/lib/ProConfigProvider/index.js +60 -31
  229. package/lib/ProDownload/index.js +62 -65
  230. package/lib/ProDownload/style/index.less +2 -2
  231. package/lib/ProDownload/utils.js +45 -54
  232. package/lib/ProDrawerForm/components/ProDrawer/index.js +64 -69
  233. package/lib/ProDrawerForm/components/ProModal/index.js +59 -67
  234. package/lib/ProDrawerForm/index.d.ts +2 -1
  235. package/lib/ProDrawerForm/index.js +4 -6
  236. package/lib/ProDrawerForm/propsType.d.ts +7 -18
  237. package/lib/ProDrawerForm/style/index.less +8 -14
  238. package/lib/ProEditLabel/components/RenderProForm.js +2 -3
  239. package/lib/ProEditLabel/index.js +40 -45
  240. package/lib/ProEditLabel/propsType.d.ts +1 -6
  241. package/lib/ProEditLabel/style/index.less +4 -3
  242. package/lib/ProEditTable/components/ActionButton/index.js +5 -8
  243. package/lib/ProEditTable/components/RcTable/BaseTable.js +72 -54
  244. package/lib/ProEditTable/components/RcTable/DraggableTable.js +65 -46
  245. package/lib/ProEditTable/components/RcTable/index.d.ts +0 -2
  246. package/lib/ProEditTable/components/RcTable/index.js +1 -8
  247. package/lib/ProEditTable/components/RenderField/ListChangedWrapper.js +9 -12
  248. package/lib/ProEditTable/components/RenderField/index.d.ts +3 -2
  249. package/lib/ProEditTable/components/RenderField/index.js +378 -254
  250. package/lib/ProEditTable/components/RenderToolbar/index.js +19 -19
  251. package/lib/ProEditTable/components/Summary/index.js +5 -8
  252. package/lib/ProEditTable/components/Validator/index.js +3 -7
  253. package/lib/ProEditTable/index.js +126 -129
  254. package/lib/ProEditTable/propsType.d.ts +1 -7
  255. package/lib/ProEditTable/style/index.less +3 -7
  256. package/lib/ProEditTable/utils/config.js +31 -35
  257. package/lib/ProEditTable/utils/index.js +44 -41
  258. package/lib/ProEditTable/utils/tools.js +107 -113
  259. package/lib/ProEditTable/utils/useEditTableError.js +12 -4
  260. package/lib/ProEnum/hooks/useEnumRequest.js +43 -46
  261. package/lib/ProEnum/index.js +10 -17
  262. package/lib/ProEnum/style/index.less +2 -2
  263. package/lib/ProEnum/utils/index.d.ts +1 -0
  264. package/lib/ProEnum/utils/index.js +3 -1
  265. package/lib/ProForm/components/Container.d.ts +1 -0
  266. package/lib/ProForm/components/Container.js +2 -3
  267. package/lib/ProForm/components/FormFooter/index.js +13 -13
  268. package/lib/ProForm/components/FormFooter/propsType.d.ts +2 -0
  269. package/lib/ProForm/components/base/Checkbox/index.js +3 -4
  270. package/lib/ProForm/components/base/DatePicker/index.d.ts +1 -3
  271. package/lib/ProForm/components/base/DatePicker/index.js +7 -7
  272. package/lib/ProForm/components/base/DatePicker/useDateLimit.d.ts +1 -7
  273. package/lib/ProForm/components/base/DatePicker/useDateLimit.js +1 -3
  274. package/lib/ProForm/components/base/Input/index.js +6 -13
  275. package/lib/ProForm/components/base/InputNumber/index.js +3 -6
  276. package/lib/ProForm/components/base/Radio/index.js +3 -4
  277. package/lib/ProForm/components/base/RangePicker/index.js +6 -6
  278. package/lib/ProForm/components/base/RangePicker/useDateRange.d.ts +5 -5
  279. package/lib/ProForm/components/base/Select/index.js +2 -3
  280. package/lib/ProForm/components/base/Switch/index.js +2 -3
  281. package/lib/ProForm/components/base/SwitchCheckbox/index.js +2 -3
  282. package/lib/ProForm/components/base/SwitchCheckbox/style/index.less +2 -2
  283. package/lib/ProForm/components/base/TextArea/index.js +3 -4
  284. package/lib/ProForm/components/base/TextArea/index.less +12 -2
  285. package/lib/ProForm/components/base/TimePicker/index.d.ts +1 -2
  286. package/lib/ProForm/components/base/TimePicker/index.js +6 -7
  287. package/lib/ProForm/components/base/TimePicker/style/index.less +5 -3
  288. package/lib/ProForm/components/combination/Container/style/index.less +2 -2
  289. package/lib/ProForm/components/combination/FormList/components/ActionButton.js +28 -26
  290. package/lib/ProForm/components/combination/FormList/components/BlockFields.js +3 -6
  291. package/lib/ProForm/components/combination/FormList/components/Empty.d.ts +13 -0
  292. package/lib/ProForm/components/combination/FormList/components/Empty.js +96 -0
  293. package/lib/ProForm/components/combination/FormList/components/LineFields.js +2 -3
  294. package/lib/ProForm/components/combination/FormList/components/ToolbarButton.js +17 -21
  295. package/lib/ProForm/components/combination/FormList/index.js +13 -5
  296. package/lib/ProForm/components/combination/FormList/propsType.d.ts +1 -0
  297. package/lib/ProForm/components/combination/FormList/style/index.less +61 -2
  298. package/lib/ProForm/components/combination/Group/component/AddonWrapper/index.d.ts +1 -0
  299. package/lib/ProForm/components/combination/Group/index.d.ts +2 -8
  300. package/lib/ProForm/components/combination/Group/index.js +13 -6
  301. package/lib/ProForm/components/combination/Group/style/index.less +7 -87
  302. package/lib/ProForm/components/combination/Group/utils.d.ts +1 -1
  303. package/lib/ProForm/components/combination/Group/utils.js +4 -5
  304. package/lib/ProForm/components/combination/ProCascader/index.js +23 -22
  305. package/lib/ProForm/components/combination/ProCascader/propsType.d.ts +1 -1
  306. package/lib/ProForm/components/combination/ProCascader/style/index.less +2 -2
  307. package/lib/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +6 -8
  308. package/lib/ProForm/components/combination/ProModalSelect/index.d.ts +1 -1
  309. package/lib/ProForm/components/combination/ProModalSelect/index.js +97 -116
  310. package/lib/ProForm/components/combination/ProModalSelect/style/index.less +13 -14
  311. package/lib/ProForm/components/combination/ProNumberRange/index.d.ts +3 -2
  312. package/lib/ProForm/components/combination/ProNumberRange/index.js +17 -16
  313. package/lib/ProForm/components/combination/ProNumberRange/style/index.less +5 -52
  314. package/lib/ProForm/components/combination/ProRangeLimit/index.d.ts +2 -23
  315. package/lib/ProForm/components/combination/ProRangeLimit/index.js +44 -28
  316. package/lib/ProForm/components/combination/ProRangeLimit/propsType.d.ts +23 -0
  317. package/lib/ProForm/components/combination/ProTimeLimit/hooks/useControlled.d.ts +3 -2
  318. package/lib/ProForm/components/combination/ProTimeLimit/hooks/useControlled.js +14 -2
  319. package/lib/ProForm/components/combination/ProTimeLimit/index.d.ts +5 -6
  320. package/lib/ProForm/components/combination/ProTimeLimit/index.js +27 -19
  321. package/lib/ProForm/components/combination/ProTimeLimit/style/index.less +66 -6
  322. package/lib/ProForm/components/index.d.ts +0 -8
  323. package/lib/ProForm/components/index.js +1 -63
  324. package/lib/ProForm/components/render/ChangedWrapper.js +8 -9
  325. package/lib/ProForm/components/render/ConfirmWrapper.js +28 -29
  326. package/lib/ProForm/components/render/Render.js +37 -39
  327. package/lib/ProForm/components/render/propsType.d.ts +2 -6
  328. package/lib/ProForm/index.js +8 -38
  329. package/lib/ProForm/style/index.less +6 -16
  330. package/lib/ProForm/utils/index.d.ts +15 -1
  331. package/lib/ProForm/utils/index.js +65 -21
  332. package/lib/ProForm/utils/useDeepCompareMemo.js +4 -4
  333. package/lib/ProForm/utils/useForm.js +83 -73
  334. package/lib/ProForm/utils/useShouldUpdate.js +14 -14
  335. package/lib/ProForm/utils/valueType.js +8 -8
  336. package/lib/ProIcon/index.js +10 -13
  337. package/lib/ProIcon/style/index.less +2 -2
  338. package/lib/ProLayout/components/Layout/Header/index.js +1 -1
  339. package/lib/ProLayout/components/Layout/Menu/FoldMenu/index.js +11 -10
  340. package/lib/ProLayout/components/Layout/Menu/FoldMenu/style/index.less +42 -39
  341. package/lib/ProLayout/components/Layout/Menu/OpenMenu/index.js +3 -4
  342. package/lib/ProLayout/components/Layout/Menu/OpenMenu/style/index.less +12 -6
  343. package/lib/ProLayout/components/Layout/Menu/SideMenu/style/index.less +9 -5
  344. package/lib/ProLayout/components/Layout/Menu/index.js +1 -1
  345. package/lib/ProLayout/components/Layout/Menu/style/index.less +2 -2
  346. package/lib/ProLayout/components/Layout/Notice/style/index.less +2 -2
  347. package/lib/ProLayout/components/ProCollapse/index.js +20 -36
  348. package/lib/ProLayout/components/ProCollapse/style/index.less +3 -3
  349. package/lib/ProLayout/components/ProFooter/index.js +3 -4
  350. package/lib/ProLayout/components/ProFooter/style/index.less +2 -2
  351. package/lib/ProLayout/components/ProHeader/components/Copy/index.js +2 -3
  352. package/lib/ProLayout/components/ProHeader/components/ProBackBtn/index.js +2 -3
  353. package/lib/ProLayout/components/ProHeader/components/ProBackBtn/style/index.less +9 -9
  354. package/lib/ProLayout/components/ProHeader/index.js +43 -46
  355. package/lib/ProLayout/components/ProHeader/style/index.less +2 -2
  356. package/lib/ProLayout/index.js +7 -6
  357. package/lib/ProLayout/style/index.less +4 -3
  358. package/lib/ProSelect/components/AdaptiveTooltip.js +2 -3
  359. package/lib/ProSelect/index.js +7 -17
  360. package/lib/ProSelect/index.less +2 -2
  361. package/lib/ProSelect/propsType.d.ts +1 -1
  362. package/lib/ProStep/components/Anchor/index.js +2 -3
  363. package/lib/ProStep/components/Item/index.js +2 -1
  364. package/lib/ProStep/components/Listener/index.js +12 -14
  365. package/lib/ProStep/components/Step/index.js +1 -0
  366. package/lib/ProStep/index.js +39 -47
  367. package/lib/ProStep/style/index.less +4 -4
  368. package/lib/ProStepTab/index.js +72 -83
  369. package/lib/ProTable/components/FormatColumn/index.js +32 -31
  370. package/lib/ProTable/components/RcTable/components/BaseTable/index.d.ts +0 -1
  371. package/lib/ProTable/components/RcTable/components/BaseTable/index.js +2 -4
  372. package/lib/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +38 -36
  373. package/lib/ProTable/components/RcTable/components/DraggableTable/index.d.ts +0 -1
  374. package/lib/ProTable/components/RcTable/components/DraggableTable/index.js +2 -4
  375. package/lib/ProTable/components/RenderColumn/index.d.ts +1 -1
  376. package/lib/ProTable/components/RenderColumn/index.js +15 -18
  377. package/lib/ProTable/components/RenderSummary/index.js +4 -5
  378. package/lib/ProTable/components/RenderTableHeader/index.js +3 -5
  379. package/lib/ProTable/components/RenderTabs/index.js +3 -6
  380. package/lib/ProTable/components/TableResizable/index.js +2 -1
  381. package/lib/ProTable/components/TooltipTitle/index.js +2 -3
  382. package/lib/ProTable/hooks/useAntdTable.js +21 -26
  383. package/lib/ProTable/index.js +15 -16
  384. package/lib/ProTable/propsType.d.ts +1 -3
  385. package/lib/ProTable/style/index.less +5 -5
  386. package/lib/ProTabs/components/Card/index.js +5 -11
  387. package/lib/ProTabs/index.js +2 -3
  388. package/lib/ProTabs/style/index.less +2 -2
  389. package/lib/ProThemeTools/component/ProTools/index.js +18 -22
  390. package/lib/ProThemeTools/context/ThemeContext.d.ts +31 -0
  391. package/lib/ProThemeTools/context/ThemeContext.js +126 -0
  392. package/lib/ProThemeTools/index.d.ts +4 -1
  393. package/lib/ProThemeTools/index.js +69 -35
  394. package/lib/ProThemeTools/style/index.less +3 -3
  395. package/lib/ProThemeTools/utils/index.d.ts +16 -6
  396. package/lib/ProThemeTools/utils/index.js +29 -25
  397. package/lib/ProTooltip/index.js +14 -9
  398. package/lib/ProTooltip/style/index.less +2 -2
  399. package/lib/ProTree/components/AdaptiveTooltip.js +2 -4
  400. package/lib/ProTree/components/List.js +3 -4
  401. package/lib/ProTree/components/ProTree.js +19 -26
  402. package/lib/ProTree/components/ProTreeSelect/index.js +38 -37
  403. package/lib/ProTree/components/ProTreeSelect/style/index.less +2 -2
  404. package/lib/ProTree/components/Tree.js +18 -25
  405. package/lib/ProTree/index.js +0 -8
  406. package/lib/ProTree/propsType.d.ts +1 -1
  407. package/lib/ProTree/style/index.less +10 -6
  408. package/lib/ProTreeModal/components/Cascader.js +3 -4
  409. package/lib/ProTreeModal/components/List.js +11 -17
  410. package/lib/ProTreeModal/components/SortableItem.js +2 -3
  411. package/lib/ProTreeModal/components/Tree.js +3 -4
  412. package/lib/ProTreeModal/components/Trigger.js +6 -11
  413. package/lib/ProTreeModal/index.d.ts +0 -1
  414. package/lib/ProTreeModal/index.js +14 -24
  415. package/lib/ProTreeModal/style/index.less +14 -3
  416. package/lib/ProUpload/components/ButtonRender.js +17 -20
  417. package/lib/ProUpload/components/DragRender.js +2 -3
  418. package/lib/ProUpload/components/FileItem.d.ts +0 -1
  419. package/lib/ProUpload/components/FileItem.js +15 -21
  420. package/lib/ProUpload/components/ImageRender.js +34 -43
  421. package/lib/ProUpload/index.js +3 -4
  422. package/lib/ProUpload/style/index.less +173 -12
  423. package/lib/ProViewer/index.js +39 -47
  424. package/lib/ProViewer/style/index.less +2 -2
  425. package/lib/ProWaterMark/index.js +3 -4
  426. package/lib/ProWaterMark/propsType.d.ts +5 -24
  427. package/lib/global.less +2 -1
  428. package/lib/index.d.ts +4 -2
  429. package/lib/index.js +36 -16
  430. package/lib/locale/en_US.d.ts +1 -0
  431. package/lib/locale/en_US.js +4 -3
  432. package/lib/locale/index.d.ts +2 -0
  433. package/lib/locale/index.js +12 -2
  434. package/lib/locale/zh_CN.d.ts +1 -0
  435. package/lib/locale/zh_CN.js +4 -3
  436. package/lib/style/components.less +0 -3
  437. package/lib/style/theme/antd.less +38 -48
  438. package/lib/style/theme/base.less +89 -0
  439. package/lib/style/theme/index.less +2 -89
  440. package/lib/utils/index.d.ts +7 -0
  441. package/lib/utils/index.js +26 -2
  442. package/package.json +31 -18
  443. package/es/ProEditTable/components/RcTable/VirtualTable.d.ts +0 -3
  444. package/es/ProEditTable/components/RcTable/VirtualTable.js +0 -8
  445. package/es/ProForm/components/combination/ProCombination/index.d.ts +0 -6
  446. package/es/ProForm/components/combination/ProCombination/index.js +0 -204
  447. package/es/ProForm/components/combination/ProCombination/propsType.d.ts +0 -68
  448. package/es/ProForm/components/combination/ProCombination/style/index.less +0 -18
  449. package/es/ProForm/components/old/EnumSelect/hooks/useRequestList.d.ts +0 -33
  450. package/es/ProForm/components/old/EnumSelect/hooks/useRequestList.js +0 -108
  451. package/es/ProForm/components/old/EnumSelect/index.d.ts +0 -4
  452. package/es/ProForm/components/old/EnumSelect/index.js +0 -272
  453. package/es/ProForm/components/old/EnumSelect/interface.d.ts +0 -29
  454. package/es/ProForm/components/old/EnumSelect/interface.js +0 -1
  455. package/es/ProForm/components/old/EnumSelect/style/index.less +0 -113
  456. package/es/ProForm/components/old/InputRange/index.d.ts +0 -16
  457. package/es/ProForm/components/old/InputRange/index.js +0 -100
  458. package/es/ProForm/components/old/InputWithSuffix/index.d.ts +0 -3
  459. package/es/ProForm/components/old/InputWithSuffix/index.js +0 -46
  460. package/es/ProForm/components/old/InputWithSuffix/propsTypes.d.ts +0 -11
  461. package/es/ProForm/components/old/InputWithSuffix/propsTypes.js +0 -1
  462. package/es/ProForm/components/old/ProAddress/index.d.ts +0 -27
  463. package/es/ProForm/components/old/ProAddress/index.js +0 -298
  464. package/es/ProForm/components/old/ProAddress/propsTypes.d.ts +0 -16
  465. package/es/ProForm/components/old/ProAddress/propsTypes.js +0 -1
  466. package/es/ProForm/components/old/ProCertNo/index.d.ts +0 -14
  467. package/es/ProForm/components/old/ProCertNo/index.js +0 -66
  468. package/es/ProForm/components/old/ProCertNo/propsType.d.ts +0 -18
  469. package/es/ProForm/components/old/ProCertNo/propsType.js +0 -1
  470. package/es/ProForm/components/old/ProCertValidity/index.d.ts +0 -9
  471. package/es/ProForm/components/old/ProCertValidity/index.js +0 -188
  472. package/es/ProForm/components/old/ProCertValidity/propsType.d.ts +0 -19
  473. package/es/ProForm/components/old/ProCertValidity/propsType.js +0 -1
  474. package/es/ProForm/components/old/ProRangeBox/index.d.ts +0 -2
  475. package/es/ProForm/components/old/ProRangeBox/index.js +0 -97
  476. package/es/ProForm/components/old/ProRangeBox/propsType.d.ts +0 -3
  477. package/es/ProForm/components/old/ProRangeBox/propsType.js +0 -1
  478. package/es/ProForm/utils/_useChanged.d.ts +0 -8
  479. package/es/ProForm/utils/_useChanged.js +0 -25
  480. package/es/ProForm/utils/_useListChanged.d.ts +0 -16
  481. package/es/ProForm/utils/_useListChanged.js +0 -93
  482. package/es/ProUpload/style/fileItem.less +0 -159
  483. package/es/old/ProCertValidity/index.d.ts +0 -9
  484. package/es/old/ProCertValidity/index.js +0 -188
  485. package/es/old/ProCertValidity/propsType.d.ts +0 -19
  486. package/es/old/ProCertValidity/propsType.js +0 -1
  487. package/es/old/ProEditableTable/index.d.ts +0 -4
  488. package/es/old/ProEditableTable/index.js +0 -594
  489. package/es/old/ProEditableTable/propsType.d.ts +0 -68
  490. package/es/old/ProEditableTable/propsType.js +0 -1
  491. package/es/old/ProEditableTable/style/index.less +0 -75
  492. package/es/old/ProEditableTable/utils.d.ts +0 -29
  493. package/es/old/ProEditableTable/utils.js +0 -323
  494. package/lib/ProEditTable/components/RcTable/VirtualTable.d.ts +0 -3
  495. package/lib/ProEditTable/components/RcTable/VirtualTable.js +0 -14
  496. package/lib/ProForm/components/combination/ProCombination/index.d.ts +0 -6
  497. package/lib/ProForm/components/combination/ProCombination/index.js +0 -213
  498. package/lib/ProForm/components/combination/ProCombination/propsType.d.ts +0 -68
  499. package/lib/ProForm/components/combination/ProCombination/style/index.less +0 -18
  500. package/lib/ProForm/components/old/EnumSelect/hooks/useRequestList.d.ts +0 -33
  501. package/lib/ProForm/components/old/EnumSelect/hooks/useRequestList.js +0 -115
  502. package/lib/ProForm/components/old/EnumSelect/index.d.ts +0 -4
  503. package/lib/ProForm/components/old/EnumSelect/index.js +0 -279
  504. package/lib/ProForm/components/old/EnumSelect/interface.d.ts +0 -29
  505. package/lib/ProForm/components/old/EnumSelect/interface.js +0 -5
  506. package/lib/ProForm/components/old/EnumSelect/style/index.less +0 -113
  507. package/lib/ProForm/components/old/InputRange/index.d.ts +0 -16
  508. package/lib/ProForm/components/old/InputRange/index.js +0 -108
  509. package/lib/ProForm/components/old/InputWithSuffix/index.d.ts +0 -3
  510. package/lib/ProForm/components/old/InputWithSuffix/index.js +0 -53
  511. package/lib/ProForm/components/old/InputWithSuffix/propsTypes.d.ts +0 -11
  512. package/lib/ProForm/components/old/InputWithSuffix/propsTypes.js +0 -5
  513. package/lib/ProForm/components/old/ProAddress/index.d.ts +0 -27
  514. package/lib/ProForm/components/old/ProAddress/index.js +0 -306
  515. package/lib/ProForm/components/old/ProAddress/propsTypes.d.ts +0 -16
  516. package/lib/ProForm/components/old/ProAddress/propsTypes.js +0 -5
  517. package/lib/ProForm/components/old/ProCertNo/index.d.ts +0 -14
  518. package/lib/ProForm/components/old/ProCertNo/index.js +0 -73
  519. package/lib/ProForm/components/old/ProCertNo/propsType.d.ts +0 -18
  520. package/lib/ProForm/components/old/ProCertNo/propsType.js +0 -5
  521. package/lib/ProForm/components/old/ProCertValidity/index.d.ts +0 -9
  522. package/lib/ProForm/components/old/ProCertValidity/index.js +0 -193
  523. package/lib/ProForm/components/old/ProCertValidity/propsType.d.ts +0 -19
  524. package/lib/ProForm/components/old/ProCertValidity/propsType.js +0 -5
  525. package/lib/ProForm/components/old/ProRangeBox/index.d.ts +0 -2
  526. package/lib/ProForm/components/old/ProRangeBox/index.js +0 -105
  527. package/lib/ProForm/components/old/ProRangeBox/propsType.d.ts +0 -3
  528. package/lib/ProForm/components/old/ProRangeBox/propsType.js +0 -5
  529. package/lib/ProForm/utils/_useChanged.d.ts +0 -8
  530. package/lib/ProForm/utils/_useChanged.js +0 -32
  531. package/lib/ProForm/utils/_useListChanged.d.ts +0 -16
  532. package/lib/ProForm/utils/_useListChanged.js +0 -100
  533. package/lib/ProUpload/style/fileItem.less +0 -159
  534. package/lib/old/ProCertValidity/index.d.ts +0 -9
  535. package/lib/old/ProCertValidity/index.js +0 -193
  536. package/lib/old/ProCertValidity/propsType.d.ts +0 -19
  537. package/lib/old/ProCertValidity/propsType.js +0 -5
  538. package/lib/old/ProEditableTable/index.d.ts +0 -4
  539. package/lib/old/ProEditableTable/index.js +0 -601
  540. package/lib/old/ProEditableTable/propsType.d.ts +0 -68
  541. package/lib/old/ProEditableTable/propsType.js +0 -5
  542. package/lib/old/ProEditableTable/style/index.less +0 -75
  543. package/lib/old/ProEditableTable/utils.d.ts +0 -29
  544. package/lib/old/ProEditableTable/utils.js +0 -330
  545. /package/es/ProForm/components/combination/{ProCombination → ProRangeLimit}/propsType.js +0 -0
  546. /package/lib/ProForm/components/combination/{ProCombination → ProRangeLimit}/propsType.js +0 -0
@@ -1,22 +1,24 @@
1
- import "antd/es/form/style";
2
- import _Form from "antd/es/form";
3
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
- import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
5
2
  import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
6
3
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
7
4
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
8
5
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
6
+ import _isEqualWith from "lodash/isEqualWith";
9
7
  import _isFunction from "lodash/isFunction";
10
8
  import _omit from "lodash/omit";
11
9
  import _debounce from "lodash/debounce";
12
10
  import _isEqual from "lodash/isEqual";
13
11
  import _cloneDeep from "lodash/cloneDeep";
14
12
  var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules", "onDiff", "className", "trim", "confirm", "dependencies", "desensitization"];
13
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
14
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; o("next", 0), o("throw", 1), o("return", 2); } }, _regeneratorDefine2(e, r, n, t); }
15
15
  import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
16
16
  /* eslint-disable prefer-destructuring */
17
17
  /* eslint-disable prefer-const */
18
- import React, { useEffect } from 'react';
18
+ import React, { useEffect, useCallback, useMemo, memo, useRef } from 'react';
19
+ import { Form } from 'antd';
19
20
  import classNames from 'classnames';
21
+ import { compatStartTransition, customEqualForFunction } from '../../../utils';
20
22
  import valueTypeMap from '../../../ProForm/utils/valueType';
21
23
  import transformMap from '../../utils/transform';
22
24
  import { getNamePath, difference, getDisabled } from '../../utils/tools';
@@ -31,7 +33,7 @@ import ConfirmWrapper from '../../../ProForm/components/render/ConfirmWrapper';
31
33
  import { getDefaultProps } from '../../utils/getDefaultProps';
32
34
  import ListChangedWrapper from './ListChangedWrapper';
33
35
  var RenderField = function RenderField(_ref) {
34
- var _type, _type$replace, _fieldProps2, _names, _TargetComponent4, _componentProps2;
36
+ var _type, _type$replace, _fieldProps2, _fieldProps4, _names, _TargetComponent5, _componentProps2;
35
37
  var value = _ref.text,
36
38
  record = _ref.record,
37
39
  index = _ref.index,
@@ -102,30 +104,34 @@ var RenderField = function RenderField(_ref) {
102
104
  var namePath = getNamePath(name, virtualKey);
103
105
  var rowData = form.getFieldValue([].concat(_toConsumableArray(namePath), [index])) || record || {};
104
106
  var currentValue = dataIndex ? rowData === null || rowData === void 0 ? void 0 : rowData[dataIndex] : null;
105
- // 第三个参数
106
- var options = {
107
- index: index,
108
- form: form,
109
- name: column === null || column === void 0 ? void 0 : column.name,
110
- namePath: [].concat(_toConsumableArray(namePath), [index])
111
- };
112
- // 行参数
113
- var rowParams = [currentValue, rowData, options];
107
+ // 第三个参数 - 使用useMemo优化
108
+ var options = useMemo(function () {
109
+ return {
110
+ index: index,
111
+ form: form,
112
+ name: column === null || column === void 0 ? void 0 : column.name,
113
+ namePath: [].concat(_toConsumableArray(namePath), [index])
114
+ };
115
+ }, [index, column === null || column === void 0 ? void 0 : column.name, namePath]);
116
+ // 行参数 - 使用useMemo优化
117
+ var rowParams = useMemo(function () {
118
+ return [currentValue, rowData, options];
119
+ }, [currentValue, rowData, options]);
114
120
  // required & rules & fieldProps & disabled & valueType 函数化处理
115
121
  if (_isFunction(required)) {
116
- _required = required.apply(void 0, rowParams);
122
+ _required = required.apply(void 0, _toConsumableArray(rowParams));
117
123
  }
118
124
  if (_isFunction(fieldProps)) {
119
- _fieldProps = fieldProps.apply(void 0, rowParams);
125
+ _fieldProps = fieldProps.apply(void 0, _toConsumableArray(rowParams));
120
126
  }
121
127
  if (_isFunction(rules)) {
122
- _rules = rules.apply(void 0, rowParams);
128
+ _rules = rules.apply(void 0, _toConsumableArray(rowParams));
123
129
  }
124
130
  if (_isFunction(valueType)) {
125
- _valueType = valueType.apply(void 0, rowParams);
131
+ _valueType = valueType.apply(void 0, _toConsumableArray(rowParams));
126
132
  }
127
133
  if (_isFunction(desensitization)) {
128
- _desensitization = desensitization.apply(void 0, rowParams);
134
+ _desensitization = desensitization.apply(void 0, _toConsumableArray(rowParams));
129
135
  }
130
136
  // 获取最终的disabled
131
137
  _disabled = getDisabled({
@@ -136,11 +142,8 @@ var RenderField = function RenderField(_ref) {
136
142
  columnFieldProps: _fieldProps,
137
143
  params: rowParams
138
144
  });
139
- if (typeof isEditable === 'function') {
140
- isEditable = isEditable.apply(void 0, rowParams);
141
- // setTimeout(() => {
142
- // !isEditable && form.validateFields([cellName]);
143
- // }, 100);
145
+ if (_isFunction(isEditable)) {
146
+ isEditable = isEditable.apply(void 0, _toConsumableArray(rowParams));
144
147
  }
145
148
  // 是否只读文本
146
149
  var isView = !isEditable || (record === null || record === void 0 ? void 0 : record['is-view']) || config.isView || virtualKey && !_isEditing || getDisabled({
@@ -155,7 +158,9 @@ var RenderField = function RenderField(_ref) {
155
158
  // 只读文本时,采用当前formItem的name,单行编辑时,使用生成的虚拟的name
156
159
  var baseName = isView ? name : namePath;
157
160
  var TargetComponent;
158
- // 设置校验规则
161
+ // 将Hooks调用移到组件顶层
162
+ var proConfig = useProConfig();
163
+ // 设置校验规则 - 修复Hooks使用规则
159
164
  var internalRule = useRules({
160
165
  names: names,
161
166
  label: label,
@@ -170,16 +175,21 @@ var RenderField = function RenderField(_ref) {
170
175
  });
171
176
  // 分离form item参数,防止对于参数透传(如onChange,防止重复触发)并优先级高于 _fieldProps 内部参数
172
177
  var formItemChildProps = _objectSpread({}, _fieldProps);
173
- var defaultProps = getDefaultProps({
174
- name: name,
175
- namePath: formNamePath ? cellName.slice((formNamePath === null || formNamePath === void 0 ? void 0 : formNamePath.length) - 1) : cellName,
176
- type: column === null || column === void 0 ? void 0 : column.type,
177
- fieldProps: column === null || column === void 0 ? void 0 : column.fieldProps
178
- });
179
- // 允许formItem的属性放在column最外层
180
- var _formItemProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, defaultProps), resetProps), internalRule), {}, {
181
- validateTrigger: validateTrigger
182
- });
178
+ // 使用useMemo优化defaultProps计算
179
+ var defaultProps = useMemo(function () {
180
+ return getDefaultProps({
181
+ name: name,
182
+ namePath: formNamePath ? cellName.slice((formNamePath === null || formNamePath === void 0 ? void 0 : formNamePath.length) - 1) : cellName,
183
+ type: column === null || column === void 0 ? void 0 : column.type,
184
+ fieldProps: column === null || column === void 0 ? void 0 : column.fieldProps
185
+ });
186
+ }, [name, formNamePath, cellName, column === null || column === void 0 ? void 0 : column.type, column === null || column === void 0 ? void 0 : column.fieldProps]);
187
+ // 允许formItem的属性放在column最外层 - 使用useMemo优化
188
+ var _formItemProps = useMemo(function () {
189
+ return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, defaultProps), resetProps), internalRule), {}, {
190
+ validateTrigger: validateTrigger
191
+ });
192
+ }, [defaultProps, resetProps, internalRule, validateTrigger]);
183
193
  if (['Switch', 'SwitchCheckbox'].includes(type)) {
184
194
  _formItemProps.valuePropName = 'checked';
185
195
  _valueType = 'switch';
@@ -188,19 +198,19 @@ var RenderField = function RenderField(_ref) {
188
198
  * 针对一些特殊类型,基于formItem的normalize与getValueProps进行默认值类型转换
189
199
  * @returns {}
190
200
  */
191
- var defaultTransform = function defaultTransform() {
201
+ var defaultTransform = useCallback(function () {
192
202
  var types = ['DatePicker', 'RangePicker'];
193
203
  if (!_valueType && types.includes(type)) {
194
204
  var _transformMap$type;
195
205
  return transformMap === null || transformMap === void 0 ? void 0 : (_transformMap$type = transformMap[type]) === null || _transformMap$type === void 0 ? void 0 : _transformMap$type.call(transformMap, _fieldProps || {});
196
206
  }
197
207
  return {};
198
- };
208
+ }, [_valueType, type, _fieldProps]);
199
209
  /**
200
210
  * 配置valueType时,基于formItem的normalize与getValueProps进行值类型转换
201
211
  * @returns {}
202
212
  */
203
- var valueTypeTransform = function valueTypeTransform() {
213
+ var valueTypeTransform = useCallback(function () {
204
214
  var _fieldProps3;
205
215
  // SwitchCheckbox默认YN, 兼容已有组件
206
216
  if (type === 'SwitchCheckbox') {
@@ -210,7 +220,7 @@ var RenderField = function RenderField(_ref) {
210
220
  mode: (_fieldProps3 = _fieldProps) === null || _fieldProps3 === void 0 ? void 0 : _fieldProps3.mode
211
221
  });
212
222
  return _isFunction(valueTypeMap[_valueType]) ? valueTypeMap[_valueType](params) : {};
213
- };
223
+ }, [type, _valueType, column, (_fieldProps4 = _fieldProps) === null || _fieldProps4 === void 0 ? void 0 : _fieldProps4.mode]);
214
224
  if ((_names = names) === null || _names === void 0 ? void 0 : _names.length) {
215
225
  // 支持names配置,临时生成对应的formItem,用来存储单个对应的值
216
226
  names = names.map(function (key) {
@@ -234,21 +244,21 @@ var RenderField = function RenderField(_ref) {
234
244
  * 配置names时,基于formItem的normalize与getValueProps进行值类型转换
235
245
  * @returns {}
236
246
  */
237
- var namesTransform = function namesTransform() {
247
+ var namesTransform = useCallback(function () {
238
248
  var _names3;
239
249
  if (!((_names3 = names) === null || _names3 === void 0 ? void 0 : _names3.length)) {
240
250
  return valueTypeTransform();
241
251
  }
242
252
  var namesStr = [].concat(_toConsumableArray(baseName), [index, dataIndex]);
243
253
  return transformNames(_objectSpread(_objectSpread({}, _formItemProps), valueTypeTransform()), form, names, namesStr, type);
244
- };
254
+ }, [names, baseName, index, dataIndex, _formItemProps, type]);
245
255
  if (!_editRender && typeof type === 'string') {
246
256
  var _componentMap$type;
247
257
  TargetComponent = (_componentMap$type = componentMap[type]) !== null && _componentMap$type !== void 0 ? _componentMap$type : _jsx(_Fragment, {});
248
258
  }
249
259
  if (isEditable && _isEditing) {
250
260
  if (typeof _editRender === 'function') {
251
- TargetComponent = _editRender.apply(void 0, rowParams);
261
+ TargetComponent = _editRender.apply(void 0, _toConsumableArray(rowParams));
252
262
  }
253
263
  if (/*#__PURE__*/React.isValidElement(_editRender)) {
254
264
  TargetComponent = _editRender;
@@ -273,7 +283,8 @@ var RenderField = function RenderField(_ref) {
273
283
  var onChange = formItemChildProps === null || formItemChildProps === void 0 ? void 0 : formItemChildProps.onChange;
274
284
  var onFieldChange = formItemChildProps === null || formItemChildProps === void 0 ? void 0 : formItemChildProps.onFieldChange;
275
285
  var onBlur = formItemChildProps === null || formItemChildProps === void 0 ? void 0 : formItemChildProps.onBlur;
276
- var formatArgs = function formatArgs() {
286
+ // 使用useCallback优化formatArgs函数
287
+ var formatArgs = useCallback(function () {
277
288
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
278
289
  args[_key] = arguments[_key];
279
290
  }
@@ -301,238 +312,273 @@ var RenderField = function RenderField(_ref) {
301
312
  break;
302
313
  }
303
314
  return nextArgs;
304
- };
305
- var debounceValidate = function debounceValidate() {
315
+ }, [options, type]);
316
+ // 使用useCallback优化debounceValidate函数
317
+ var debounceValidate = useCallback(function () {
306
318
  var validateFieldKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
307
319
  setTimeout(function () {
308
- form.validateFields(validateFieldKeys);
320
+ form.validateFields(validateFieldKeys, {
321
+ recursive: true
322
+ });
309
323
  }, 100);
310
- };
311
- // 单元格更新数据时,加个防抖,防止更新频率过快,卡顿
312
- var _onChange = _debounce(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
313
- var _len2,
324
+ }, [form]);
325
+ // 使用 useRef 保存防抖函数
326
+ var debounceRef = useRef(null);
327
+ // 使用 useCallback 创建稳定的 onChange 函数
328
+ var _onChange = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
329
+ var _args3 = arguments;
330
+ return _regenerator().w(function (_context2) {
331
+ while (1) switch (_context2.n) {
332
+ case 0:
333
+ // 如果防抖函数不存在,创建一个新的防抖函数
334
+ if (!debounceRef.current) {
335
+ debounceRef.current = _debounce(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
336
+ var _len2,
337
+ innerArgs,
338
+ _key2,
339
+ _args,
340
+ rowPath,
341
+ _dependencies$map,
342
+ validateFieldKeys,
343
+ row,
344
+ orgRow,
345
+ _TargetComponent,
346
+ _TargetComponent$prop,
347
+ _TargetComponent$prop2,
348
+ _TargetComponent2,
349
+ _TargetComponent2$pro,
350
+ _TargetComponent$prop3,
351
+ _Object$keys,
352
+ _Object$keys$map,
353
+ diff,
354
+ _validateFieldKeys,
355
+ _args2 = arguments,
356
+ _t,
357
+ _t2,
358
+ _t3,
359
+ _t4;
360
+ return _regenerator().w(function (_context) {
361
+ while (1) switch (_context.n) {
362
+ case 0:
363
+ for (_len2 = _args2.length, innerArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
364
+ innerArgs[_key2] = _args2[_key2];
365
+ }
366
+ _args = [].concat(innerArgs);
367
+ rowPath = [].concat(_toConsumableArray(namePath), [index]);
368
+ if (!(!onFieldChange && !onChange)) {
369
+ _context.n = 1;
370
+ break;
371
+ }
372
+ if (dependencies === null || dependencies === void 0 ? void 0 : dependencies.length) {
373
+ validateFieldKeys = dependencies === null || dependencies === void 0 ? void 0 : (_dependencies$map = dependencies.map) === null || _dependencies$map === void 0 ? void 0 : _dependencies$map.call(dependencies, function (key) {
374
+ return [].concat(_toConsumableArray(rowPath), [key]);
375
+ });
376
+ setTimeout(function () {
377
+ form.validateFields(validateFieldKeys);
378
+ }, 100);
379
+ }
380
+ return _context.a(2, null);
381
+ case 1:
382
+ row = form.getFieldValue(rowPath, true);
383
+ orgRow = _cloneDeep(row);
384
+ if (!onFieldChange) {
385
+ _context.n = 4;
386
+ break;
387
+ }
388
+ _args = formatArgs(innerArgs);
389
+ _args[1] = row;
390
+ _t = (_TargetComponent = TargetComponent) === null || _TargetComponent === void 0 ? void 0 : (_TargetComponent$prop = _TargetComponent.props) === null || _TargetComponent$prop === void 0 ? void 0 : _TargetComponent$prop.onFieldChange;
391
+ if (!_t) {
392
+ _context.n = 2;
393
+ break;
394
+ }
395
+ _context.n = 2;
396
+ return (_TargetComponent$prop2 = TargetComponent.props).onFieldChange.apply(_TargetComponent$prop2, _toConsumableArray(_args));
397
+ case 2:
398
+ _t2 = onFieldChange;
399
+ if (!_t2) {
400
+ _context.n = 3;
401
+ break;
402
+ }
403
+ _context.n = 3;
404
+ return onFieldChange.apply(void 0, _toConsumableArray(_args));
405
+ case 3:
406
+ _context.n = 6;
407
+ break;
408
+ case 4:
409
+ _args = _args.concat([row, index, form]);
410
+ _t3 = (_TargetComponent2 = TargetComponent) === null || _TargetComponent2 === void 0 ? void 0 : (_TargetComponent2$pro = _TargetComponent2.props) === null || _TargetComponent2$pro === void 0 ? void 0 : _TargetComponent2$pro.onChange;
411
+ if (!_t3) {
412
+ _context.n = 5;
413
+ break;
414
+ }
415
+ _context.n = 5;
416
+ return (_TargetComponent$prop3 = TargetComponent.props).onChange.apply(_TargetComponent$prop3, _toConsumableArray(_args));
417
+ case 5:
418
+ _t4 = onChange;
419
+ if (!_t4) {
420
+ _context.n = 6;
421
+ break;
422
+ }
423
+ _context.n = 6;
424
+ return onChange.apply(void 0, _toConsumableArray(_args));
425
+ case 6:
426
+ // 判断属性是否变动
427
+ form.setFieldValue(rowPath, row);
428
+ if (validateTrigger && validateTrigger.includes('onChange')) {
429
+ if (!_isEqual(orgRow, row)) {
430
+ diff = difference(row, orgRow) || {};
431
+ _validateFieldKeys = (_Object$keys = Object.keys(diff)) === null || _Object$keys === void 0 ? void 0 : (_Object$keys$map = _Object$keys.map) === null || _Object$keys$map === void 0 ? void 0 : _Object$keys$map.call(_Object$keys, function (key) {
432
+ return [].concat(_toConsumableArray(rowPath), [key]);
433
+ }).concat(dependencies || []);
434
+ if (_validateFieldKeys === null || _validateFieldKeys === void 0 ? void 0 : _validateFieldKeys.length) {
435
+ debounceValidate(_validateFieldKeys);
436
+ }
437
+ }
438
+ }
439
+ // 使用startTransition优化状态更新
440
+ compatStartTransition(function () {
441
+ setState({
442
+ forceUpdate: {
443
+ d: Date.now()
444
+ }
445
+ });
446
+ });
447
+ case 7:
448
+ return _context.a(2);
449
+ }
450
+ }, _callee);
451
+ })), 300);
452
+ }
453
+ // 调用防抖函数
454
+ debounceRef.current.apply(debounceRef, _args3);
455
+ case 1:
456
+ return _context2.a(2);
457
+ }
458
+ }, _callee2);
459
+ })), [namePath, index, dependencies, formatArgs, onChange, onFieldChange, form, setState, TargetComponent, validateTrigger]);
460
+ // 在组件卸载时清理防抖函数
461
+ useEffect(function () {
462
+ return function () {
463
+ if (debounceRef.current) {
464
+ debounceRef.current.cancel();
465
+ }
466
+ };
467
+ }, []);
468
+ // 使用useCallback优化_onblur函数
469
+ var _onblur = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {
470
+ var _TargetComponent3, _TargetComponent3$pro, _TargetComponent$prop4;
471
+ var _len3,
314
472
  args,
315
- _key2,
473
+ _key3,
316
474
  _args,
317
475
  rowPath,
318
- _dependencies$map,
319
- validateFieldKeys,
320
476
  row,
321
477
  orgRow,
322
- _TargetComponent,
323
- _TargetComponent$prop,
324
- _TargetComponent$prop2,
325
- _TargetComponent2,
326
- _TargetComponent2$pro,
327
- _TargetComponent$prop3,
328
- _Object$keys,
329
- _Object$keys$map,
478
+ _Object$keys2,
479
+ _Object$keys2$map,
330
480
  diff,
331
- _validateFieldKeys,
332
- _args2 = arguments;
333
- return _regeneratorRuntime().wrap(function _callee$(_context) {
334
- while (1) switch (_context.prev = _context.next) {
481
+ validateFieldKeys,
482
+ _args4 = arguments,
483
+ _t5,
484
+ _t6;
485
+ return _regenerator().w(function (_context3) {
486
+ while (1) switch (_context3.n) {
335
487
  case 0:
336
- for (_len2 = _args2.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
337
- args[_key2] = _args2[_key2];
338
- }
339
- _args = [].concat(args);
340
- rowPath = [].concat(_toConsumableArray(namePath), [index]);
341
- if (!(!onFieldChange && !onChange)) {
342
- _context.next = 6;
488
+ if (onBlur) {
489
+ _context3.n = 1;
343
490
  break;
344
491
  }
345
- if (dependencies === null || dependencies === void 0 ? void 0 : dependencies.length) {
346
- validateFieldKeys = dependencies === null || dependencies === void 0 ? void 0 : (_dependencies$map = dependencies.map) === null || _dependencies$map === void 0 ? void 0 : _dependencies$map.call(dependencies, function (key) {
347
- return [].concat(_toConsumableArray(rowPath), [key]);
348
- });
349
- setTimeout(function () {
350
- form.validateFields(validateFieldKeys);
351
- }, 100);
492
+ return _context3.a(2, null);
493
+ case 1:
494
+ for (_len3 = _args4.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
495
+ args[_key3] = _args4[_key3];
352
496
  }
353
- return _context.abrupt("return", null);
354
- case 6:
497
+ _args = formatArgs([].concat(args));
498
+ rowPath = [].concat(_toConsumableArray(namePath), [index]);
355
499
  row = form.getFieldValue(rowPath, true);
356
500
  orgRow = _cloneDeep(row);
357
- if (!onFieldChange) {
358
- _context.next = 21;
359
- break;
360
- }
361
- _args = formatArgs(args);
362
501
  _args[1] = row;
363
- _context.t0 = (_TargetComponent = TargetComponent) === null || _TargetComponent === void 0 ? void 0 : (_TargetComponent$prop = _TargetComponent.props) === null || _TargetComponent$prop === void 0 ? void 0 : _TargetComponent$prop.onFieldChange;
364
- if (!_context.t0) {
365
- _context.next = 15;
502
+ _t5 = (_TargetComponent3 = TargetComponent) === null || _TargetComponent3 === void 0 ? void 0 : (_TargetComponent3$pro = _TargetComponent3.props) === null || _TargetComponent3$pro === void 0 ? void 0 : _TargetComponent3$pro.onBlur;
503
+ if (!_t5) {
504
+ _context3.n = 2;
366
505
  break;
367
506
  }
368
- _context.next = 15;
369
- return (_TargetComponent$prop2 = TargetComponent.props).onFieldChange.apply(_TargetComponent$prop2, _toConsumableArray(_args));
370
- case 15:
371
- _context.t1 = onFieldChange;
372
- if (!_context.t1) {
373
- _context.next = 19;
507
+ _context3.n = 2;
508
+ return (_TargetComponent$prop4 = TargetComponent.props).onBlur.apply(_TargetComponent$prop4, _toConsumableArray(_args));
509
+ case 2:
510
+ _t6 = onBlur;
511
+ if (!_t6) {
512
+ _context3.n = 3;
374
513
  break;
375
514
  }
376
- _context.next = 19;
377
- return onFieldChange.apply(void 0, _toConsumableArray(_args));
378
- case 19:
379
- _context.next = 30;
380
- break;
381
- case 21:
382
- _args = _args.concat([row, index, form]);
383
- _context.t2 = (_TargetComponent2 = TargetComponent) === null || _TargetComponent2 === void 0 ? void 0 : (_TargetComponent2$pro = _TargetComponent2.props) === null || _TargetComponent2$pro === void 0 ? void 0 : _TargetComponent2$pro.onChange;
384
- if (!_context.t2) {
385
- _context.next = 26;
386
- break;
387
- }
388
- _context.next = 26;
389
- return (_TargetComponent$prop3 = TargetComponent.props).onChange.apply(_TargetComponent$prop3, _toConsumableArray(_args));
390
- case 26:
391
- _context.t3 = onChange;
392
- if (!_context.t3) {
393
- _context.next = 30;
394
- break;
395
- }
396
- _context.next = 30;
397
- return onChange.apply(void 0, _toConsumableArray(_args));
398
- case 30:
515
+ _context3.n = 3;
516
+ return onBlur.apply(void 0, _toConsumableArray(_args));
517
+ case 3:
399
518
  // 判断属性是否变动
400
519
  form.setFieldValue(rowPath, row);
401
- if (validateTrigger && validateTrigger.includes('onChange')) {
520
+ if (validateTrigger && validateTrigger.includes('onBlur')) {
402
521
  if (!_isEqual(orgRow, row)) {
403
522
  diff = difference(row, orgRow) || {};
404
- _validateFieldKeys = (_Object$keys = Object.keys(diff)) === null || _Object$keys === void 0 ? void 0 : (_Object$keys$map = _Object$keys.map) === null || _Object$keys$map === void 0 ? void 0 : _Object$keys$map.call(_Object$keys, function (key) {
523
+ validateFieldKeys = (_Object$keys2 = Object.keys(diff)) === null || _Object$keys2 === void 0 ? void 0 : (_Object$keys2$map = _Object$keys2.map) === null || _Object$keys2$map === void 0 ? void 0 : _Object$keys2$map.call(_Object$keys2, function (key) {
405
524
  return [].concat(_toConsumableArray(rowPath), [key]);
406
525
  }).concat(dependencies || []);
407
- if (_validateFieldKeys === null || _validateFieldKeys === void 0 ? void 0 : _validateFieldKeys.length) {
408
- setTimeout(function () {
409
- form.validateFields(_validateFieldKeys);
410
- }, 100);
526
+ if (validateFieldKeys === null || validateFieldKeys === void 0 ? void 0 : validateFieldKeys.length) {
527
+ debounceValidate(validateFieldKeys);
411
528
  }
412
529
  }
413
530
  }
531
+ if (!isCell) {
532
+ _context3.n = 5;
533
+ break;
534
+ }
535
+ _context3.n = 4;
536
+ return form.validateFields([cellName]);
537
+ case 4:
414
538
  setState({
415
- forceUpdate: {
416
- d: Date.now()
417
- }
539
+ cellNamePath: []
418
540
  });
419
- case 33:
420
- case "end":
421
- return _context.stop();
422
- }
423
- }, _callee);
424
- })), 300);
425
- var _onblur = /*#__PURE__*/function () {
426
- var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
427
- var _TargetComponent3, _TargetComponent3$pro, _TargetComponent$prop4;
428
- var _len3,
429
- args,
430
- _key3,
431
- _args,
432
- rowPath,
433
- row,
434
- orgRow,
435
- _Object$keys2,
436
- _Object$keys2$map,
437
- diff,
438
- validateFieldKeys,
439
- _args3 = arguments;
440
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
441
- while (1) switch (_context2.prev = _context2.next) {
442
- case 0:
443
- if (onBlur) {
444
- _context2.next = 2;
445
- break;
446
- }
447
- return _context2.abrupt("return", null);
448
- case 2:
449
- for (_len3 = _args3.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
450
- args[_key3] = _args3[_key3];
451
- }
452
- _args = formatArgs([].concat(args));
453
- rowPath = [].concat(_toConsumableArray(namePath), [index]);
454
- row = form.getFieldValue(rowPath, true);
455
- orgRow = _cloneDeep(row);
456
- _args[1] = row;
457
- _context2.t0 = (_TargetComponent3 = TargetComponent) === null || _TargetComponent3 === void 0 ? void 0 : (_TargetComponent3$pro = _TargetComponent3.props) === null || _TargetComponent3$pro === void 0 ? void 0 : _TargetComponent3$pro.onBlur;
458
- if (!_context2.t0) {
459
- _context2.next = 12;
460
- break;
461
- }
462
- _context2.next = 12;
463
- return (_TargetComponent$prop4 = TargetComponent.props).onBlur.apply(_TargetComponent$prop4, _toConsumableArray(_args));
464
- case 12:
465
- _context2.t1 = onBlur;
466
- if (!_context2.t1) {
467
- _context2.next = 16;
468
- break;
469
- }
470
- _context2.next = 16;
471
- return onBlur.apply(void 0, _toConsumableArray(_args));
472
- case 16:
473
- // 判断属性是否变动
474
- form.setFieldValue(rowPath, row);
475
- if (validateTrigger && validateTrigger.includes('onBlur')) {
476
- if (!_isEqual(orgRow, row)) {
477
- diff = difference(row, orgRow) || {};
478
- validateFieldKeys = (_Object$keys2 = Object.keys(diff)) === null || _Object$keys2 === void 0 ? void 0 : (_Object$keys2$map = _Object$keys2.map) === null || _Object$keys2$map === void 0 ? void 0 : _Object$keys2$map.call(_Object$keys2, function (key) {
479
- return [].concat(_toConsumableArray(rowPath), [key]);
480
- }).concat(dependencies || []);
481
- if (validateFieldKeys === null || validateFieldKeys === void 0 ? void 0 : validateFieldKeys.length) {
482
- debounceValidate(validateFieldKeys);
483
- }
484
- }
485
- }
486
- if (!isCell) {
487
- _context2.next = 22;
488
- break;
489
- }
490
- _context2.next = 21;
491
- return form.validateFields([cellName]);
492
- case 21:
493
- setState({
494
- cellNamePath: []
495
- });
496
- case 22:
497
- // 单行编辑时需要 强制更新视图
541
+ case 5:
542
+ // 单行编辑时需要 强制更新视图
543
+ compatStartTransition(function () {
498
544
  setState({
499
545
  forceUpdate: {
500
546
  d: Date.now()
501
547
  }
502
548
  });
503
- case 23:
504
- case "end":
505
- return _context2.stop();
506
- }
507
- }, _callee2);
508
- }));
509
- return function _onblur() {
510
- return _ref3.apply(this, arguments);
511
- };
512
- }();
513
- var componentProps = _objectSpread(_objectSpread(_objectSpread({
514
- form: form,
515
- name: cellName
516
- }, _fieldProps), (_TargetComponent4 = TargetComponent) === null || _TargetComponent4 === void 0 ? void 0 : _TargetComponent4.props), {}, {
517
- namePath: [].concat(_toConsumableArray(namePath), [index]),
518
- disabled: _disabled,
519
- onChange: _onChange,
520
- onBlur: _onblur,
521
- index: index,
522
- confirm: confirm,
523
- desensitization: _desensitization,
524
- otherProps: {
549
+ });
550
+ case 6:
551
+ return _context3.a(2);
552
+ }
553
+ }, _callee3);
554
+ })), [onBlur, formatArgs, namePath, index, form, TargetComponent, validateTrigger, debounceValidate, isCell, cellName, setState]);
555
+ // 使用useMemo优化componentProps对象
556
+ var componentProps = useMemo(function () {
557
+ var _TargetComponent4;
558
+ return _objectSpread(_objectSpread(_objectSpread({
525
559
  form: form,
526
- names: names,
560
+ name: cellName
561
+ }, _fieldProps), (_TargetComponent4 = TargetComponent) === null || _TargetComponent4 === void 0 ? void 0 : _TargetComponent4.props), {}, {
527
562
  namePath: [].concat(_toConsumableArray(namePath), [index]),
528
- name: originalName,
529
- listName: cellName,
530
- viewEmpty: viewEmpty,
531
- valueType: _valueType,
532
- isView: isView,
533
- desensitizationKey: otherProps === null || otherProps === void 0 ? void 0 : otherProps.desensitizationKey
534
- }
535
- });
563
+ disabled: _disabled,
564
+ onChange: _onChange,
565
+ onBlur: _onblur,
566
+ index: index,
567
+ confirm: confirm,
568
+ desensitization: _desensitization,
569
+ otherProps: {
570
+ form: form,
571
+ names: names,
572
+ namePath: [].concat(_toConsumableArray(namePath), [index]),
573
+ name: originalName,
574
+ listName: cellName,
575
+ viewEmpty: viewEmpty,
576
+ valueType: _valueType,
577
+ isView: isView,
578
+ desensitizationKey: otherProps === null || otherProps === void 0 ? void 0 : otherProps.desensitizationKey
579
+ }
580
+ });
581
+ }, [cellName, _fieldProps, (_TargetComponent5 = TargetComponent) === null || _TargetComponent5 === void 0 ? void 0 : _TargetComponent5.props, namePath, index, _disabled, _onChange, _onblur, confirm, _desensitization, names, originalName, viewEmpty, _valueType, isView, otherProps === null || otherProps === void 0 ? void 0 : otherProps.desensitizationKey]);
536
582
  componentProps = _omit(componentProps, ['onFieldChange', 'namePath', 'index']);
537
583
  // 单元格编辑时,设置各个单元格disabled属性
538
584
  if (isCell) {
@@ -547,18 +593,24 @@ var RenderField = function RenderField(_ref) {
547
593
  var editingDom = document.getElementById(cellNamePath.join('_'));
548
594
  editingDom === null || editingDom === void 0 ? void 0 : (_editingDom$focus = editingDom.focus) === null || _editingDom$focus === void 0 ? void 0 : _editingDom$focus.call(editingDom);
549
595
  }
550
- }, [cellNamePath]);
596
+ }, [cellNamePath, isCell]);
551
597
  // 可编辑表格默认关闭scrollFollowParent
552
598
  if (['Select', 'ProSelect', 'ProEnum'].includes(type)) {
553
599
  componentProps.scrollFollowParent = false;
554
600
  }
555
- Object.assign(_formItemProps, _objectSpread(_objectSpread(_objectSpread({}, defaultTransform()), namesTransform()), isTrim(type, trim, useProConfig())));
601
+ // 使用useMemo优化最终的formItemProps - 修复Hooks使用规则
602
+ var finalFormItemProps = useMemo(function () {
603
+ return Object.assign(_formItemProps, _objectSpread(_objectSpread(_objectSpread({}, defaultTransform()), namesTransform()), isTrim(type, trim, proConfig)));
604
+ }, [_formItemProps, defaultTransform, namesTransform, type, trim, proConfig]);
556
605
  // 编辑&保存模式,在查看状态下移除表单的rules不做校验
557
606
  if (isView) {
558
- delete _formItemProps.rules;
607
+ delete finalFormItemProps.rules;
559
608
  }
560
- var _className = classNames(_defineProperty({}, className, className));
561
- var getFieldItem = function getFieldItem() {
609
+ var _className = useMemo(function () {
610
+ return classNames(_defineProperty({}, className, className));
611
+ }, [className]);
612
+ // 使用useCallback优化getFieldItem函数
613
+ var getFieldItem = useCallback(function () {
562
614
  var _componentProps;
563
615
  var FormItem = null;
564
616
  var FieldComponent = /*#__PURE__*/React.isValidElement(TargetComponent) ? (/*#__PURE__*/React.cloneElement(TargetComponent, componentProps)) : _jsx(TargetComponent, _objectSpread({}, componentProps));
@@ -576,9 +628,9 @@ var RenderField = function RenderField(_ref) {
576
628
  type: type,
577
629
  onChange: _onChange,
578
630
  onBlur: _onblur,
579
- valuePropName: _formItemProps.valuePropName,
580
- normalize: _formItemProps.normalize,
581
- getValueProps: _formItemProps.getValueProps,
631
+ valuePropName: finalFormItemProps.valuePropName,
632
+ normalize: finalFormItemProps.normalize,
633
+ getValueProps: finalFormItemProps.getValueProps,
582
634
  viewRender: viewRender,
583
635
  diffConfig: diffConfig,
584
636
  index: index,
@@ -590,9 +642,9 @@ var RenderField = function RenderField(_ref) {
590
642
  children: FieldComponent
591
643
  }));
592
644
  }
593
- FormItem = TargetComponent ? _jsx(_Form.Item, _objectSpread(_objectSpread({
645
+ FormItem = TargetComponent ? _jsx(Form.Item, _objectSpread(_objectSpread({
594
646
  validateFirst: true
595
- }, _omit(_formItemProps, ['render', 'key', 'width', 'hiddenNames', 'name', 'onCell', _fieldProps.shouldUpdate ? 'shouldUpdate' : null])), {}, {
647
+ }, _omit(finalFormItemProps, ['render', 'key', 'width', 'hiddenNames', 'name', 'onCell', _fieldProps.shouldUpdate ? 'shouldUpdate' : null])), {}, {
596
648
  className: _className,
597
649
  name: formNamePath ? cellName.slice((formNamePath === null || formNamePath === void 0 ? void 0 : formNamePath.length) - 1) : cellName,
598
650
  children: FieldComponent
@@ -600,9 +652,9 @@ var RenderField = function RenderField(_ref) {
600
652
  viewEmpty: viewEmpty
601
653
  });
602
654
  if (type === 'FormList') {
603
- FormItem = _jsx(_Form.List, _objectSpread(_objectSpread({
655
+ FormItem = _jsx(Form.List, _objectSpread(_objectSpread({
604
656
  name: formNamePath ? cellName.slice((formNamePath === null || formNamePath === void 0 ? void 0 : formNamePath.length) - 1) : cellName
605
- }, _omit(_formItemProps, ['render', 'key', 'width', 'hiddenNames', 'name'])), {}, {
657
+ }, _omit(finalFormItemProps, ['render', 'key', 'width', 'hiddenNames', 'name'])), {}, {
606
658
  children: function children(fields, operation, meta) {
607
659
  return _jsx(TargetComponent, _objectSpread(_objectSpread({}, componentProps), {}, {
608
660
  otherProps: otherProps,
@@ -614,16 +666,88 @@ var RenderField = function RenderField(_ref) {
614
666
  }));
615
667
  }
616
668
  return FormItem;
617
- };
669
+ }, [TargetComponent, componentProps, originalValues, record, cellName, names, baseName, index, dataIndex, originalName, originalNames, type, finalFormItemProps, viewRender, diffConfig, _className, formNamePath, viewEmpty, otherProps, getIsNew]);
618
670
  return _jsx(FieldProvider, {
619
671
  value: (_componentProps2 = componentProps) === null || _componentProps2 === void 0 ? void 0 : _componentProps2.otherProps,
620
- children: _formItemProps.shouldUpdate ? _jsx(_Form.Item, {
672
+ children: finalFormItemProps.shouldUpdate ? _jsx(Form.Item, {
621
673
  noStyle: true,
622
- shouldUpdate: _formItemProps.shouldUpdate,
674
+ shouldUpdate: finalFormItemProps.shouldUpdate,
623
675
  children: function children() {
624
676
  return getFieldItem();
625
677
  }
626
678
  }) : getFieldItem()
627
679
  });
628
680
  };
629
- export default RenderField;
681
+ export default /*#__PURE__*/memo(RenderField, function (prevProps, nextProps) {
682
+ // 自定义比较函数,只有关键props变化时才重新渲染
683
+ var prevText = prevProps.text,
684
+ prevRecord = prevProps.record,
685
+ prevIndex = prevProps.index,
686
+ prevColumn = prevProps.column,
687
+ prevConfig = prevProps.config;
688
+ var nextText = nextProps.text,
689
+ nextRecord = nextProps.record,
690
+ nextIndex = nextProps.index,
691
+ nextColumn = nextProps.column,
692
+ nextConfig = nextProps.config;
693
+ var prevRowParams = [prevText, prevRecord, {
694
+ index: prevIndex,
695
+ form: prevConfig === null || prevConfig === void 0 ? void 0 : prevConfig.form,
696
+ name: prevConfig === null || prevConfig === void 0 ? void 0 : prevConfig.name
697
+ }];
698
+ var nextRowParams = [nextText, nextRecord, {
699
+ index: nextIndex,
700
+ form: nextConfig === null || nextConfig === void 0 ? void 0 : nextConfig.form,
701
+ name: nextConfig === null || nextConfig === void 0 ? void 0 : nextConfig.name
702
+ }];
703
+ if (_isFunction(prevColumn === null || prevColumn === void 0 ? void 0 : prevColumn.disabled) && _isFunction(nextColumn === null || nextColumn === void 0 ? void 0 : nextColumn.disabled)) {
704
+ if ((prevColumn === null || prevColumn === void 0 ? void 0 : prevColumn.disabled.apply(prevColumn, prevRowParams)) !== (nextColumn === null || nextColumn === void 0 ? void 0 : nextColumn.disabled.apply(nextColumn, nextRowParams))) {
705
+ return false;
706
+ }
707
+ }
708
+ // fieldProps 函数化直接更新,无法比对返回值是否一致
709
+ if (_isFunction(prevColumn === null || prevColumn === void 0 ? void 0 : prevColumn.fieldProps) && _isFunction(nextColumn === null || nextColumn === void 0 ? void 0 : nextColumn.fieldProps)) {
710
+ return false;
711
+ }
712
+ // 通用函数比较方法
713
+ var compareFunctionResult = function compareFunctionResult(prevColumn, nextColumn, prevRowParams, nextRowParams, functionName) {
714
+ var prevFunc = prevColumn === null || prevColumn === void 0 ? void 0 : prevColumn[functionName];
715
+ var nextFunc = nextColumn === null || nextColumn === void 0 ? void 0 : nextColumn[functionName];
716
+ if (_isFunction(prevFunc) && _isFunction(nextFunc)) {
717
+ return _isEqualWith(prevFunc.apply(void 0, _toConsumableArray(prevRowParams)), nextFunc.apply(void 0, _toConsumableArray(nextRowParams)), customEqualForFunction);
718
+ }
719
+ return true; // 如果不是函数或只有一个是函数,认为相等
720
+ };
721
+ // 使用简化后的比较逻辑
722
+ var functionFields = ['rules', 'component', 'desensitization', 'isEditable'];
723
+ if (functionFields.some(function (field) {
724
+ return !compareFunctionResult(prevColumn, nextColumn, prevRowParams, nextRowParams, field);
725
+ })) {
726
+ return false;
727
+ }
728
+ // 基本props比较
729
+ if (!_isEqual(prevText, nextText) || prevIndex !== nextIndex) {
730
+ return false;
731
+ }
732
+ // 记录关键字段比较(避免完整对象比较的性能开销)
733
+ if ((prevRecord === null || prevRecord === void 0 ? void 0 : prevRecord.rowKey) !== (nextRecord === null || nextRecord === void 0 ? void 0 : nextRecord.rowKey) || (prevRecord === null || prevRecord === void 0 ? void 0 : prevRecord._addFlag) !== (nextRecord === null || nextRecord === void 0 ? void 0 : nextRecord._addFlag)) {
734
+ return false;
735
+ }
736
+ // 列配置比较(只比较关键字段),required,disabled为函数时,需要重新计算
737
+ if ((prevColumn === null || prevColumn === void 0 ? void 0 : prevColumn.dataIndex) !== (nextColumn === null || nextColumn === void 0 ? void 0 : nextColumn.dataIndex) || (prevColumn === null || prevColumn === void 0 ? void 0 : prevColumn.type) !== (nextColumn === null || nextColumn === void 0 ? void 0 : nextColumn.type) || (prevColumn === null || prevColumn === void 0 ? void 0 : prevColumn.name) !== (nextColumn === null || nextColumn === void 0 ? void 0 : nextColumn.name)) {
738
+ return false;
739
+ }
740
+ // config中关键字段比较
741
+ if ((prevConfig === null || prevConfig === void 0 ? void 0 : prevConfig._isEditing) !== (nextConfig === null || nextConfig === void 0 ? void 0 : nextConfig._isEditing) || (prevConfig === null || prevConfig === void 0 ? void 0 : prevConfig.mode) !== (nextConfig === null || nextConfig === void 0 ? void 0 : nextConfig.mode)) {
742
+ return false;
743
+ }
744
+ // 当前单元格的值比较
745
+ var prevDataIndex = prevColumn === null || prevColumn === void 0 ? void 0 : prevColumn.dataIndex;
746
+ var nextDataIndex = nextColumn === null || nextColumn === void 0 ? void 0 : nextColumn.dataIndex;
747
+ if (prevDataIndex && nextDataIndex && prevDataIndex === nextDataIndex) {
748
+ if ((prevRecord === null || prevRecord === void 0 ? void 0 : prevRecord[prevDataIndex]) !== (nextRecord === null || nextRecord === void 0 ? void 0 : nextRecord[nextDataIndex])) {
749
+ return false;
750
+ }
751
+ }
752
+ return true;
753
+ });