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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (500) hide show
  1. package/dist/index.esm.css +1 -0
  2. package/dist/index.min.js +1 -0
  3. package/dist/less.esm.css +1 -0
  4. package/dist/less.min.js +1 -0
  5. package/es/FormsProvider/index.js +5 -5
  6. package/es/ProAction/components/CheckModalContent/index.js +5 -7
  7. package/es/ProAction/index.js +16 -16
  8. package/es/ProConfigProvider/index.js +31 -17
  9. package/es/ProDownload/index.js +13 -12
  10. package/es/ProDownload/utils.js +15 -15
  11. package/es/ProDrawerForm/components/ProDrawer/index.js +22 -19
  12. package/es/ProDrawerForm/components/ProModal/index.js +14 -9
  13. package/es/ProDrawerForm/index.js +6 -10
  14. package/es/ProDrawerForm/utils/index.js +1 -1
  15. package/es/ProEditLabel/components/RenderProForm.js +10 -9
  16. package/es/ProEditLabel/index.js +36 -24
  17. package/es/ProEditLabel/utils/index.js +4 -3
  18. package/es/ProEditTable/components/ActionButton/index.js +58 -56
  19. package/es/ProEditTable/components/RcTable/BaseTable.js +21 -20
  20. package/es/ProEditTable/components/RcTable/DraggableTable.js +27 -34
  21. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +40 -46
  22. package/es/ProEditTable/components/RenderField/index.js +98 -121
  23. package/es/ProEditTable/components/RenderToolbar/index.js +27 -33
  24. package/es/ProEditTable/components/Summary/index.js +16 -14
  25. package/es/ProEditTable/components/Validator/index.js +9 -6
  26. package/es/ProEditTable/index.js +130 -147
  27. package/es/ProEditTable/utils/config.js +29 -36
  28. package/es/ProEditTable/utils/diffOriginal.js +13 -13
  29. package/es/ProEditTable/utils/getDefaultProps.js +6 -7
  30. package/es/ProEditTable/utils/index.js +52 -58
  31. package/es/ProEditTable/utils/tools.js +32 -41
  32. package/es/ProEditTable/utils/transform.js +7 -11
  33. package/es/ProEditTable/utils/useEditTableError.js +10 -12
  34. package/es/ProEnum/components/Group.js +18 -22
  35. package/es/ProEnum/components/Tag.js +10 -14
  36. package/es/ProEnum/hooks/useEnum.js +6 -10
  37. package/es/ProEnum/hooks/useEnumRequest.js +23 -25
  38. package/es/ProEnum/hooks/useFrequentEnumRequest.d.ts +14 -0
  39. package/es/ProEnum/hooks/useFrequentEnumRequest.js +76 -0
  40. package/es/ProEnum/index.js +50 -52
  41. package/es/ProEnum/propsType.d.ts +29 -0
  42. package/es/ProEnum/utils/eventCenter.js +20 -31
  43. package/es/ProEnum/utils/frequentEnum.d.ts +40 -0
  44. package/es/ProEnum/utils/frequentEnum.js +91 -0
  45. package/es/ProEnum/utils/getEnumLabel.js +8 -12
  46. package/es/ProEnum/utils/index.js +6 -6
  47. package/es/ProForm/components/Container.js +4 -3
  48. package/es/ProForm/components/FormFooter/index.js +16 -13
  49. package/es/ProForm/components/base/Checkbox/index.js +10 -11
  50. package/es/ProForm/components/base/DatePicker/index.js +8 -7
  51. package/es/ProForm/components/base/DatePicker/useDateLimit.js +2 -4
  52. package/es/ProForm/components/base/Input/index.js +24 -20
  53. package/es/ProForm/components/base/InputNumber/index.js +21 -18
  54. package/es/ProForm/components/base/Radio/index.js +11 -12
  55. package/es/ProForm/components/base/RangePicker/index.js +9 -12
  56. package/es/ProForm/components/base/RangePicker/useDateRange.js +3 -3
  57. package/es/ProForm/components/base/Select/index.js +9 -8
  58. package/es/ProForm/components/base/Switch/index.js +7 -6
  59. package/es/ProForm/components/base/SwitchCheckbox/index.js +7 -6
  60. package/es/ProForm/components/base/TextArea/index.js +9 -8
  61. package/es/ProForm/components/base/TimePicker/index.js +5 -4
  62. package/es/ProForm/components/combination/Container/index.js +12 -12
  63. package/es/ProForm/components/combination/FormList/components/ActionButton.js +60 -70
  64. package/es/ProForm/components/combination/FormList/components/BlockFields.js +11 -7
  65. package/es/ProForm/components/combination/FormList/components/BlockTitle.js +1 -1
  66. package/es/ProForm/components/combination/FormList/components/Empty.js +9 -10
  67. package/es/ProForm/components/combination/FormList/components/LineFields.js +10 -9
  68. package/es/ProForm/components/combination/FormList/components/ToolbarButton.js +32 -36
  69. package/es/ProForm/components/combination/FormList/index.js +25 -33
  70. package/es/ProForm/components/combination/FormList/utils.js +5 -7
  71. package/es/ProForm/components/combination/Group/component/AddonWrapper/index.js +1 -1
  72. package/es/ProForm/components/combination/Group/component/ComRender.js +14 -14
  73. package/es/ProForm/components/combination/Group/hooks/index.d.ts +0 -1
  74. package/es/ProForm/components/combination/Group/hooks/index.js +30 -35
  75. package/es/ProForm/components/combination/Group/index.js +35 -29
  76. package/es/ProForm/components/combination/Group/propsType.d.ts +2 -0
  77. package/es/ProForm/components/combination/Group/style/index.less +7 -0
  78. package/es/ProForm/components/combination/Group/utils.d.ts +0 -1
  79. package/es/ProForm/components/combination/Group/utils.js +38 -39
  80. package/es/ProForm/components/combination/ProCascader/index.js +43 -52
  81. package/es/ProForm/components/combination/ProCascader/utils/index.js +3 -3
  82. package/es/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +16 -16
  83. package/es/ProForm/components/combination/ProModalSelect/index.js +102 -108
  84. package/es/ProForm/components/combination/ProModalSelect/utils/index.js +1 -1
  85. package/es/ProForm/components/combination/ProNumberRange/index.js +73 -47
  86. package/es/ProForm/components/combination/ProNumberRange/propsType.d.ts +3 -2
  87. package/es/ProForm/components/combination/ProNumberRange/style/index.less +1 -1
  88. package/es/ProForm/components/combination/ProRangeLimit/index.js +20 -18
  89. package/es/ProForm/components/combination/ProTimeLimit/hooks/useControlled.js +3 -3
  90. package/es/ProForm/components/combination/ProTimeLimit/index.js +17 -15
  91. package/es/ProForm/components/render/ChangedWrapper.js +24 -26
  92. package/es/ProForm/components/render/ConfirmWrapper.js +10 -11
  93. package/es/ProForm/components/render/Render.js +107 -102
  94. package/es/ProForm/components/render/RenderFields.d.ts +0 -1
  95. package/es/ProForm/components/render/RenderFields.js +22 -24
  96. package/es/ProForm/index.js +44 -45
  97. package/es/ProForm/propsType.d.ts +1 -4
  98. package/es/ProForm/utils/diffOriginal.js +9 -9
  99. package/es/ProForm/utils/getDefaultProps.js +5 -5
  100. package/es/ProForm/utils/index.js +62 -90
  101. package/es/ProForm/utils/processDependencies.js +4 -5
  102. package/es/ProForm/utils/rulesCreator.js +12 -12
  103. package/es/ProForm/utils/transformNames.js +2 -2
  104. package/es/ProForm/utils/transformValue.js +6 -8
  105. package/es/ProForm/utils/useDeepCompareMemo.js +1 -1
  106. package/es/ProForm/utils/useFieldProps.js +1 -3
  107. package/es/ProForm/utils/useForm.js +19 -21
  108. package/es/ProForm/utils/useRules.js +17 -22
  109. package/es/ProForm/utils/useShouldUpdate.js +79 -83
  110. package/es/ProForm/utils/useWatch.js +12 -12
  111. package/es/ProForm/utils/valueType.js +46 -50
  112. package/es/ProIcon/index.js +30 -31
  113. package/es/ProIcon/utils/index.js +5 -5
  114. package/es/ProLayout/components/Layout/Header/index.js +1 -1
  115. package/es/ProLayout/components/Layout/Icon/Icon.js +4 -4
  116. package/es/ProLayout/components/Layout/Menu/FoldMenu/index.js +19 -22
  117. package/es/ProLayout/components/Layout/Menu/OpenMenu/index.js +23 -30
  118. package/es/ProLayout/components/Layout/Menu/SideMenu/index.js +3 -3
  119. package/es/ProLayout/components/Layout/Menu/index.js +9 -9
  120. package/es/ProLayout/components/Layout/Notice/index.js +3 -3
  121. package/es/ProLayout/components/ProCollapse/index.js +23 -18
  122. package/es/ProLayout/components/ProFooter/index.js +13 -14
  123. package/es/ProLayout/components/ProHeader/components/Copy/index.js +6 -5
  124. package/es/ProLayout/components/ProHeader/components/ProBackBtn/index.js +6 -5
  125. package/es/ProLayout/components/ProHeader/index.js +68 -59
  126. package/es/ProLayout/components/ProHeader/utils/index.js +1 -1
  127. package/es/ProLayout/index.js +33 -32
  128. package/es/ProLayout/utils/index.js +17 -18
  129. package/es/ProSelect/components/AdaptiveTooltip.js +8 -9
  130. package/es/ProSelect/index.js +57 -64
  131. package/es/ProSelect/utils/index.js +17 -28
  132. package/es/ProStep/components/Anchor/index.js +10 -9
  133. package/es/ProStep/components/Item/index.js +11 -11
  134. package/es/ProStep/components/Listener/index.js +6 -10
  135. package/es/ProStep/components/Step/index.js +9 -11
  136. package/es/ProStep/index.js +24 -30
  137. package/es/ProStep/utils/index.js +8 -8
  138. package/es/ProStepTab/index.js +27 -28
  139. package/es/ProTable/components/FormatColumn/index.js +54 -59
  140. package/es/ProTable/components/RcTable/components/BaseTable/index.js +6 -7
  141. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +21 -37
  142. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +16 -17
  143. package/es/ProTable/components/RcTable/components/DraggableTable/index.js +5 -6
  144. package/es/ProTable/components/RenderColumn/index.js +36 -35
  145. package/es/ProTable/components/RenderEmptyText/index.js +1 -1
  146. package/es/ProTable/components/RenderFooter/index.js +2 -2
  147. package/es/ProTable/components/RenderSummary/index.js +13 -12
  148. package/es/ProTable/components/RenderTableHeader/index.js +5 -4
  149. package/es/ProTable/components/RenderTabs/index.js +26 -29
  150. package/es/ProTable/components/TableResizable/index.js +8 -8
  151. package/es/ProTable/components/TooltipTitle/index.js +4 -3
  152. package/es/ProTable/hooks/useAntdTable.js +80 -95
  153. package/es/ProTable/index.js +110 -133
  154. package/es/ProTable/propsType.d.ts +9 -3
  155. package/es/ProTable/utils/index.js +13 -16
  156. package/es/ProTabs/components/Card/index.js +14 -8
  157. package/es/ProTabs/index.js +30 -20
  158. package/es/ProTabs/propType.d.ts +5 -0
  159. package/es/ProTabs/style/index.less +40 -3
  160. package/es/ProThemeTools/component/ProTools/index.js +46 -39
  161. package/es/ProThemeTools/context/ThemeContext.js +13 -13
  162. package/es/ProThemeTools/index.js +18 -19
  163. package/es/ProThemeTools/utils/index.js +14 -18
  164. package/es/ProTooltip/index.js +24 -27
  165. package/es/ProTree/components/AdaptiveTooltip.js +5 -6
  166. package/es/ProTree/components/List.js +10 -13
  167. package/es/ProTree/components/ProTree.js +47 -64
  168. package/es/ProTree/components/ProTreeSelect/index.js +77 -76
  169. package/es/ProTree/components/Tree.js +23 -22
  170. package/es/ProTree/index.js +1 -1
  171. package/es/ProTree/utils.js +14 -14
  172. package/es/ProTreeModal/components/Cascader.js +13 -16
  173. package/es/ProTreeModal/components/List.js +49 -70
  174. package/es/ProTreeModal/components/SortableItem.js +7 -8
  175. package/es/ProTreeModal/components/Tree.js +18 -23
  176. package/es/ProTreeModal/components/Trigger.js +15 -10
  177. package/es/ProTreeModal/index.js +98 -151
  178. package/es/ProTreeModal/utils.js +21 -21
  179. package/es/ProUpload/components/ButtonRender.js +11 -12
  180. package/es/ProUpload/components/DragRender.js +17 -20
  181. package/es/ProUpload/components/DraggableUploadListItem.js +2 -2
  182. package/es/ProUpload/components/Example.js +3 -3
  183. package/es/ProUpload/components/FileItem.js +30 -25
  184. package/es/ProUpload/components/ImageRender.js +29 -22
  185. package/es/ProUpload/index.js +55 -66
  186. package/es/ProUpload/uitls.js +2 -2
  187. package/es/ProUtils/utils/index.js +10 -14
  188. package/es/ProViewer/index.js +22 -19
  189. package/es/ProViewer/propsType.js +0 -3
  190. package/es/ProWaterMark/index.js +4 -3
  191. package/es/index.d.ts +1 -1
  192. package/es/locale/index.js +2 -2
  193. package/es/style/index.less +1 -1
  194. package/es/style/theme/base.less +1 -0
  195. package/es/utils/index.js +11 -13
  196. package/lib/FormsProvider/index.js +30 -50
  197. package/lib/ProAction/components/CheckModalContent/index.js +31 -27
  198. package/lib/ProAction/index.js +194 -151
  199. package/lib/ProAction/propsType.js +4 -16
  200. package/lib/ProConfigProvider/index.js +136 -136
  201. package/lib/ProDownload/index.js +192 -124
  202. package/lib/ProDownload/propsType.js +4 -16
  203. package/lib/ProDownload/utils.js +189 -143
  204. package/lib/ProDrawerForm/components/ProDrawer/index.js +243 -169
  205. package/lib/ProDrawerForm/components/ProModal/index.js +194 -134
  206. package/lib/ProDrawerForm/components/index.js +17 -39
  207. package/lib/ProDrawerForm/index.js +79 -88
  208. package/lib/ProDrawerForm/propsType.js +4 -16
  209. package/lib/ProDrawerForm/utils/index.js +13 -30
  210. package/lib/ProEditLabel/components/RenderProForm.js +58 -57
  211. package/lib/ProEditLabel/index.js +251 -178
  212. package/lib/ProEditLabel/propsType.js +4 -16
  213. package/lib/ProEditLabel/utils/index.js +11 -26
  214. package/lib/ProEditTable/components/ActionButton/index.js +144 -155
  215. package/lib/ProEditTable/components/RcTable/BaseTable.js +97 -96
  216. package/lib/ProEditTable/components/RcTable/DraggableTable.js +172 -151
  217. package/lib/ProEditTable/components/RcTable/index.js +17 -39
  218. package/lib/ProEditTable/components/RenderField/ListChangedWrapper.js +177 -176
  219. package/lib/ProEditTable/components/RenderField/index.js +628 -539
  220. package/lib/ProEditTable/components/RenderToolbar/index.js +119 -105
  221. package/lib/ProEditTable/components/Summary/index.js +70 -61
  222. package/lib/ProEditTable/components/Validator/index.js +30 -47
  223. package/lib/ProEditTable/components/index.js +38 -48
  224. package/lib/ProEditTable/index.js +379 -324
  225. package/lib/ProEditTable/propsType.js +4 -16
  226. package/lib/ProEditTable/utils/config.js +225 -170
  227. package/lib/ProEditTable/utils/diffOriginal.js +93 -80
  228. package/lib/ProEditTable/utils/getDefaultProps.js +26 -42
  229. package/lib/ProEditTable/utils/index.js +318 -244
  230. package/lib/ProEditTable/utils/tools.js +438 -243
  231. package/lib/ProEditTable/utils/transform.js +15 -28
  232. package/lib/ProEditTable/utils/useEditTableError.js +65 -54
  233. package/lib/ProEnum/components/Group.js +53 -81
  234. package/lib/ProEnum/components/Tag.js +37 -54
  235. package/lib/ProEnum/hooks/useEnum.js +72 -52
  236. package/lib/ProEnum/hooks/useEnumRequest.js +267 -194
  237. package/lib/ProEnum/hooks/useFrequentEnumRequest.d.ts +14 -0
  238. package/lib/ProEnum/hooks/useFrequentEnumRequest.js +83 -0
  239. package/lib/ProEnum/index.js +239 -234
  240. package/lib/ProEnum/propsType.d.ts +29 -0
  241. package/lib/ProEnum/propsType.js +4 -16
  242. package/lib/ProEnum/utils/eventCenter.js +15 -12
  243. package/lib/ProEnum/utils/frequentEnum.d.ts +40 -0
  244. package/lib/ProEnum/utils/frequentEnum.js +99 -0
  245. package/lib/ProEnum/utils/getEnumLabel.js +57 -65
  246. package/lib/ProEnum/utils/index.js +98 -68
  247. package/lib/ProForm/components/Container.js +35 -45
  248. package/lib/ProForm/components/FormFooter/index.js +67 -80
  249. package/lib/ProForm/components/FormFooter/propsType.js +4 -16
  250. package/lib/ProForm/components/base/Checkbox/index.js +67 -62
  251. package/lib/ProForm/components/base/DatePicker/index.js +63 -74
  252. package/lib/ProForm/components/base/DatePicker/useDateLimit.js +13 -29
  253. package/lib/ProForm/components/base/Input/index.js +65 -73
  254. package/lib/ProForm/components/base/Input/propsType.js +4 -16
  255. package/lib/ProForm/components/base/InputNumber/index.js +230 -176
  256. package/lib/ProForm/components/base/Radio/index.js +60 -69
  257. package/lib/ProForm/components/base/RangePicker/index.js +73 -88
  258. package/lib/ProForm/components/base/RangePicker/useDateRange.js +28 -45
  259. package/lib/ProForm/components/base/Select/index.js +63 -69
  260. package/lib/ProForm/components/base/Switch/index.js +43 -59
  261. package/lib/ProForm/components/base/SwitchCheckbox/index.js +63 -62
  262. package/lib/ProForm/components/base/TextArea/index.js +52 -65
  263. package/lib/ProForm/components/base/TimePicker/index.js +45 -59
  264. package/lib/ProForm/components/combination/Container/index.js +58 -72
  265. package/lib/ProForm/components/combination/Container/propsType.js +4 -16
  266. package/lib/ProForm/components/combination/FormList/components/ActionButton.js +240 -195
  267. package/lib/ProForm/components/combination/FormList/components/BlockFields.js +85 -107
  268. package/lib/ProForm/components/combination/FormList/components/BlockTitle.js +25 -44
  269. package/lib/ProForm/components/combination/FormList/components/Empty.js +92 -55
  270. package/lib/ProForm/components/combination/FormList/components/LineFields.js +92 -117
  271. package/lib/ProForm/components/combination/FormList/components/ToolbarButton.js +133 -101
  272. package/lib/ProForm/components/combination/FormList/index.js +131 -164
  273. package/lib/ProForm/components/combination/FormList/propsType.js +4 -16
  274. package/lib/ProForm/components/combination/FormList/utils.js +32 -52
  275. package/lib/ProForm/components/combination/Group/component/AddonWrapper/index.js +23 -38
  276. package/lib/ProForm/components/combination/Group/component/ComRender.js +78 -74
  277. package/lib/ProForm/components/combination/Group/hooks/index.d.ts +0 -1
  278. package/lib/ProForm/components/combination/Group/hooks/index.js +123 -123
  279. package/lib/ProForm/components/combination/Group/index.js +99 -104
  280. package/lib/ProForm/components/combination/Group/propsType.d.ts +2 -0
  281. package/lib/ProForm/components/combination/Group/propsType.js +4 -16
  282. package/lib/ProForm/components/combination/Group/style/index.less +7 -0
  283. package/lib/ProForm/components/combination/Group/utils.d.ts +0 -1
  284. package/lib/ProForm/components/combination/Group/utils.js +132 -104
  285. package/lib/ProForm/components/combination/ProCascader/index.js +271 -226
  286. package/lib/ProForm/components/combination/ProCascader/propsType.js +4 -16
  287. package/lib/ProForm/components/combination/ProCascader/utils/index.js +23 -33
  288. package/lib/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +113 -114
  289. package/lib/ProForm/components/combination/ProModalSelect/index.js +651 -472
  290. package/lib/ProForm/components/combination/ProModalSelect/propsType.js +4 -16
  291. package/lib/ProForm/components/combination/ProModalSelect/utils/index.js +21 -43
  292. package/lib/ProForm/components/combination/ProNumberRange/index.js +207 -160
  293. package/lib/ProForm/components/combination/ProNumberRange/propsType.d.ts +3 -2
  294. package/lib/ProForm/components/combination/ProNumberRange/propsType.js +4 -16
  295. package/lib/ProForm/components/combination/ProNumberRange/style/index.less +1 -1
  296. package/lib/ProForm/components/combination/ProRangeLimit/index.js +169 -139
  297. package/lib/ProForm/components/combination/ProRangeLimit/propsType.js +4 -16
  298. package/lib/ProForm/components/combination/ProTimeLimit/hooks/useControlled.js +28 -49
  299. package/lib/ProForm/components/combination/ProTimeLimit/index.js +150 -127
  300. package/lib/ProForm/components/index.js +192 -115
  301. package/lib/ProForm/components/render/ChangedWrapper.js +130 -141
  302. package/lib/ProForm/components/render/ConfirmWrapper.js +120 -78
  303. package/lib/ProForm/components/render/Render.js +445 -346
  304. package/lib/ProForm/components/render/RenderFields.d.ts +0 -1
  305. package/lib/ProForm/components/render/RenderFields.js +195 -181
  306. package/lib/ProForm/components/render/propsType.js +31 -17
  307. package/lib/ProForm/index.js +282 -235
  308. package/lib/ProForm/propsType.d.ts +1 -4
  309. package/lib/ProForm/propsType.js +9 -38
  310. package/lib/ProForm/utils/diffOriginal.js +88 -81
  311. package/lib/ProForm/utils/getDefaultProps.js +26 -42
  312. package/lib/ProForm/utils/index.js +330 -254
  313. package/lib/ProForm/utils/processDependencies.js +61 -44
  314. package/lib/ProForm/utils/rulesCreator.js +58 -81
  315. package/lib/ProForm/utils/transformNames.js +26 -37
  316. package/lib/ProForm/utils/transformValue.js +47 -47
  317. package/lib/ProForm/utils/useDeepCompareMemo.js +15 -34
  318. package/lib/ProForm/utils/useFieldProps.js +10 -42
  319. package/lib/ProForm/utils/useForm.js +226 -118
  320. package/lib/ProForm/utils/useRules.js +50 -60
  321. package/lib/ProForm/utils/useShouldUpdate.js +233 -126
  322. package/lib/ProForm/utils/useWatch.js +122 -93
  323. package/lib/ProForm/utils/valueType.js +222 -155
  324. package/lib/ProIcon/config/index.js +278 -365
  325. package/lib/ProIcon/index.js +217 -184
  326. package/lib/ProIcon/propsTypes.js +4 -16
  327. package/lib/ProIcon/symbolIcon.js +30 -23
  328. package/lib/ProIcon/utils/index.js +53 -60
  329. package/lib/ProLayout/components/Layout/Header/index.js +42 -59
  330. package/lib/ProLayout/components/Layout/Icon/Icon.js +31 -49
  331. package/lib/ProLayout/components/Layout/Icon/index.js +7 -34
  332. package/lib/ProLayout/components/Layout/Menu/FoldMenu/index.js +170 -139
  333. package/lib/ProLayout/components/Layout/Menu/OpenMenu/index.js +135 -117
  334. package/lib/ProLayout/components/Layout/Menu/OpenMenu/propsType.js +4 -16
  335. package/lib/ProLayout/components/Layout/Menu/SideMenu/index.js +44 -60
  336. package/lib/ProLayout/components/Layout/Menu/index.js +52 -71
  337. package/lib/ProLayout/components/Layout/Notice/index.js +31 -39
  338. package/lib/ProLayout/components/Layout/index.js +31 -45
  339. package/lib/ProLayout/components/ProCollapse/PropTypes.js +4 -16
  340. package/lib/ProLayout/components/ProCollapse/index.js +159 -148
  341. package/lib/ProLayout/components/ProFooter/PropTypes.js +4 -16
  342. package/lib/ProLayout/components/ProFooter/index.js +41 -56
  343. package/lib/ProLayout/components/ProHeader/PropTypes.js +4 -16
  344. package/lib/ProLayout/components/ProHeader/components/Copy/index.js +26 -53
  345. package/lib/ProLayout/components/ProHeader/components/ProBackBtn/index.js +27 -48
  346. package/lib/ProLayout/components/ProHeader/components/ProBackBtn/propsType.js +4 -16
  347. package/lib/ProLayout/components/ProHeader/components/index.js +17 -39
  348. package/lib/ProLayout/components/ProHeader/index.js +466 -268
  349. package/lib/ProLayout/components/ProHeader/utils/index.js +14 -31
  350. package/lib/ProLayout/components/index.js +24 -42
  351. package/lib/ProLayout/index.js +139 -130
  352. package/lib/ProLayout/propTypes.js +4 -16
  353. package/lib/ProLayout/utils/index.js +120 -86
  354. package/lib/ProSelect/components/AdaptiveTooltip.js +38 -45
  355. package/lib/ProSelect/index.js +240 -213
  356. package/lib/ProSelect/propsType.js +4 -16
  357. package/lib/ProSelect/utils/index.js +114 -93
  358. package/lib/ProStep/components/Anchor/index.js +102 -107
  359. package/lib/ProStep/components/Item/index.js +71 -75
  360. package/lib/ProStep/components/Listener/index.js +69 -62
  361. package/lib/ProStep/components/Step/index.js +65 -75
  362. package/lib/ProStep/index.js +227 -165
  363. package/lib/ProStep/propsType.js +4 -16
  364. package/lib/ProStep/utils/index.js +54 -57
  365. package/lib/ProStepTab/index.js +307 -166
  366. package/lib/ProStepTab/propsType.js +4 -16
  367. package/lib/ProTable/components/FormatColumn/index.js +472 -425
  368. package/lib/ProTable/components/RcTable/components/BaseTable/index.js +39 -53
  369. package/lib/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +183 -135
  370. package/lib/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +85 -104
  371. package/lib/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/propsType.js +4 -16
  372. package/lib/ProTable/components/RcTable/components/DraggableTable/index.js +58 -80
  373. package/lib/ProTable/components/RcTable/index.js +17 -39
  374. package/lib/ProTable/components/RenderColumn/index.js +203 -194
  375. package/lib/ProTable/components/RenderEmptyText/index.js +25 -27
  376. package/lib/ProTable/components/RenderFooter/index.js +17 -33
  377. package/lib/ProTable/components/RenderSummary/index.js +57 -46
  378. package/lib/ProTable/components/RenderTableHeader/index.js +62 -68
  379. package/lib/ProTable/components/RenderTabs/index.js +67 -80
  380. package/lib/ProTable/components/TableResizable/index.js +87 -87
  381. package/lib/ProTable/components/TooltipTitle/index.js +27 -40
  382. package/lib/ProTable/components/index.js +45 -51
  383. package/lib/ProTable/hooks/useAntdTable.js +351 -304
  384. package/lib/ProTable/index.js +354 -333
  385. package/lib/ProTable/propsType.d.ts +9 -3
  386. package/lib/ProTable/propsType.js +4 -16
  387. package/lib/ProTable/utils/index.js +89 -78
  388. package/lib/ProTabs/components/Card/index.js +57 -30
  389. package/lib/ProTabs/components/index.js +10 -36
  390. package/lib/ProTabs/index.js +94 -89
  391. package/lib/ProTabs/propType.d.ts +5 -0
  392. package/lib/ProTabs/propType.js +4 -16
  393. package/lib/ProTabs/style/index.less +40 -3
  394. package/lib/ProThemeTools/component/ProTools/index.js +246 -198
  395. package/lib/ProThemeTools/component/index.js +10 -36
  396. package/lib/ProThemeTools/context/ThemeContext.js +99 -89
  397. package/lib/ProThemeTools/index.js +207 -172
  398. package/lib/ProThemeTools/propsType.js +4 -16
  399. package/lib/ProThemeTools/utils/index.js +84 -80
  400. package/lib/ProTooltip/index.js +217 -214
  401. package/lib/ProTooltip/propsType.js +4 -16
  402. package/lib/ProTree/components/AdaptiveTooltip.js +22 -33
  403. package/lib/ProTree/components/CloseIcon.js +31 -36
  404. package/lib/ProTree/components/List.js +69 -68
  405. package/lib/ProTree/components/ProTree.js +346 -258
  406. package/lib/ProTree/components/ProTreeSelect/index.js +460 -336
  407. package/lib/ProTree/components/ProTreeSelect/propsType.js +4 -16
  408. package/lib/ProTree/components/SearchTitle.js +50 -47
  409. package/lib/ProTree/components/Tree.js +300 -227
  410. package/lib/ProTree/components/index.js +31 -45
  411. package/lib/ProTree/index.js +22 -45
  412. package/lib/ProTree/propsType.js +4 -16
  413. package/lib/ProTree/utils.js +140 -79
  414. package/lib/ProTreeModal/components/Cascader.js +90 -97
  415. package/lib/ProTreeModal/components/CloseIcon.js +31 -36
  416. package/lib/ProTreeModal/components/List.js +246 -192
  417. package/lib/ProTreeModal/components/SearchTitle.js +22 -30
  418. package/lib/ProTreeModal/components/SortableItem.js +59 -60
  419. package/lib/ProTreeModal/components/Tree.js +171 -157
  420. package/lib/ProTreeModal/components/Trigger.js +131 -108
  421. package/lib/ProTreeModal/components/index.js +45 -51
  422. package/lib/ProTreeModal/index.js +523 -448
  423. package/lib/ProTreeModal/propsType.js +4 -16
  424. package/lib/ProTreeModal/utils.js +160 -99
  425. package/lib/ProUpload/components/ButtonRender.js +106 -85
  426. package/lib/ProUpload/components/DragRender.js +167 -117
  427. package/lib/ProUpload/components/DraggableUploadListItem.js +32 -48
  428. package/lib/ProUpload/components/Example.js +39 -55
  429. package/lib/ProUpload/components/FileItem.js +215 -113
  430. package/lib/ProUpload/components/ImageRender.js +250 -175
  431. package/lib/ProUpload/index.js +185 -181
  432. package/lib/ProUpload/propsType.js +4 -16
  433. package/lib/ProUpload/uitls.js +9 -31
  434. package/lib/ProUtils/utils/index.js +20 -36
  435. package/lib/ProViewer/index.js +210 -175
  436. package/lib/ProViewer/propsType.js +1 -17
  437. package/lib/ProWaterMark/index.js +20 -38
  438. package/lib/ProWaterMark/propsType.js +4 -16
  439. package/lib/index.d.ts +1 -1
  440. package/lib/index.js +272 -123
  441. package/lib/locale/en_US.js +127 -145
  442. package/lib/locale/index.js +40 -55
  443. package/lib/locale/zh_CN.js +128 -146
  444. package/lib/style/index.less +1 -1
  445. package/lib/style/theme/base.less +1 -0
  446. package/lib/tokens.js +87 -103
  447. package/lib/utils/index.js +66 -88
  448. package/package.json +7 -7
  449. package/dist/esm/index.d.ts +0 -5
  450. package/dist/esm/index.js +0 -5
  451. package/dist/esm/regExp/index.d.ts +0 -19
  452. package/dist/esm/regExp/index.js +0 -73
  453. package/dist/esm/tools/calc/index.d.ts +0 -4
  454. package/dist/esm/tools/calc/index.js +0 -67
  455. package/dist/esm/tools/dateUtils.d.ts +0 -7
  456. package/dist/esm/tools/dateUtils.js +0 -23
  457. package/dist/esm/tools/disableDate/index.d.ts +0 -9
  458. package/dist/esm/tools/disableDate/index.js +0 -43
  459. package/dist/esm/tools/disableTimeRange/index.d.ts +0 -9
  460. package/dist/esm/tools/disableTimeRange/index.js +0 -121
  461. package/dist/esm/tools/formatAmount/index.d.ts +0 -7
  462. package/dist/esm/tools/formatAmount/index.js +0 -14
  463. package/dist/esm/tools/formatPerMill/index.d.ts +0 -7
  464. package/dist/esm/tools/formatPerMill/index.js +0 -11
  465. package/dist/esm/tools/formatPercent/index.d.ts +0 -7
  466. package/dist/esm/tools/formatPercent/index.js +0 -11
  467. package/dist/esm/tools/getDataByIdCard/index.d.ts +0 -16
  468. package/dist/esm/tools/getDataByIdCard/index.js +0 -65
  469. package/dist/esm/tools/index.d.ts +0 -12
  470. package/dist/esm/tools/index.js +0 -14
  471. package/dist/esm/tools/sumAmount/index.d.ts +0 -16
  472. package/dist/esm/tools/sumAmount/index.js +0 -40
  473. package/dist/esm/tools/toChineseNum/index.d.ts +0 -7
  474. package/dist/esm/tools/toChineseNum/index.js +0 -103
  475. package/dist/esm/tools/toFixed/index.d.ts +0 -2
  476. package/dist/esm/tools/toFixed/index.js +0 -5
  477. package/dist/esm/tools/transformDataName/index.d.ts +0 -12
  478. package/dist/esm/tools/transformDataName/index.js +0 -37
  479. package/dist/esm/transforms/dateTransformer/index.d.ts +0 -24
  480. package/dist/esm/transforms/dateTransformer/index.js +0 -67
  481. package/dist/esm/transforms/index.d.ts +0 -6
  482. package/dist/esm/transforms/index.js +0 -6
  483. package/dist/esm/transforms/propTypes.d.ts +0 -7
  484. package/dist/esm/transforms/propTypes.js +0 -1
  485. package/dist/esm/transforms/transformDate/index.d.ts +0 -21
  486. package/dist/esm/transforms/transformDate/index.js +0 -141
  487. package/dist/esm/transforms/transformDatePicker/index.d.ts +0 -12
  488. package/dist/esm/transforms/transformDatePicker/index.js +0 -24
  489. package/dist/esm/transforms/transformRangePicker/index.d.ts +0 -29
  490. package/dist/esm/transforms/transformRangePicker/index.js +0 -61
  491. package/dist/esm/transforms/transformSwitch/index.d.ts +0 -13
  492. package/dist/esm/transforms/transformSwitch/index.js +0 -35
  493. package/dist/esm/transforms/utils.d.ts +0 -2
  494. package/dist/esm/transforms/utils.js +0 -8
  495. package/dist/esm/validate/index.d.ts +0 -107
  496. package/dist/esm/validate/index.js +0 -284
  497. package/tests/__mocks__/fileMock.js +0 -1
  498. package/tests/__mocks__/zatUtils.js +0 -27
  499. package/tests/setup.ts +0 -484
  500. package/tests/test-utils.tsx +0 -81
package/tests/setup.ts DELETED
@@ -1,484 +0,0 @@
1
- import '@testing-library/jest-dom';
2
- import 'jest-canvas-mock';
3
- import React from 'react';
4
-
5
- // Ensure JSDOM document.body exists and setup proper DOM environment
6
- if (typeof document !== 'undefined') {
7
- // Ensure documentElement exists
8
- if (!document.documentElement) {
9
- const html = document.createElement('html');
10
- document.appendChild(html);
11
- }
12
-
13
- // Ensure head exists
14
- if (!document.head) {
15
- const head = document.createElement('head');
16
- document.documentElement.appendChild(head);
17
- }
18
-
19
- // Ensure body exists
20
- if (!document.body) {
21
- const body = document.createElement('body');
22
- document.documentElement.appendChild(body);
23
- }
24
- }
25
-
26
- // Mock testing library environment setup
27
- Object.defineProperty(global, 'MutationObserver', {
28
- writable: true,
29
- value: jest.fn().mockImplementation(() => ({
30
- observe: jest.fn(),
31
- disconnect: jest.fn(),
32
- takeRecords: jest.fn(),
33
- })),
34
- });
35
-
36
- // Setup test container div
37
- beforeEach(() => {
38
- if (typeof document !== 'undefined' && document.body) {
39
- try {
40
- // Clean up any existing test containers
41
- const existingContainers = document.querySelectorAll('[data-testid="test-container"]');
42
- existingContainers.forEach(container => {
43
- if (container.parentNode) {
44
- try {
45
- container.parentNode.removeChild(container);
46
- } catch (e) {
47
- // Ignore cleanup errors
48
- }
49
- }
50
- });
51
-
52
- // Create a fresh test container
53
- const testContainer = document.createElement('div');
54
- testContainer.setAttribute('data-testid', 'test-container');
55
- testContainer.id = 'test-container';
56
- document.body.appendChild(testContainer);
57
- } catch (e) {
58
- // Ignore setup errors - React Testing Library will handle this
59
- }
60
- }
61
- });
62
-
63
- // 抑制控制台错误 - 更新以支持 React 18 警告
64
- const originalError = console.error;
65
- beforeAll(() => {
66
- console.error = (...args: any[]) => {
67
- if (
68
- args.find(
69
- arg =>
70
- typeof arg === 'string' &&
71
- (
72
- arg.includes('Warning: ReactDOM.render is no longer supported in React 18') ||
73
- arg.includes('Warning: ReactDOM.render is deprecated') ||
74
- arg.includes('Warning: componentWillReceiveProps') ||
75
- arg.includes('validateDOMNesting') ||
76
- arg.includes('Warning: componentWillMount') ||
77
- arg.includes('Warning: React.createFactory() is deprecated') ||
78
- arg.includes('Warning: findDOMNode is deprecated') ||
79
- arg.includes('act(...)') ||
80
- arg.includes('useLayoutEffect does nothing on the server') ||
81
- arg.includes('Invalid hook call') ||
82
- arg.includes('Hooks can only be called inside') ||
83
- arg.includes('Warning: Each child in a list should have a unique') ||
84
- arg.includes('Warning: validateDOMNesting') ||
85
- arg.includes('Warning: unmountComponentAtNode is deprecated') ||
86
- arg.includes('Warning: `ReactDOMTestUtils.act` is deprecated') ||
87
- arg.includes('Warning: React does not recognize the') ||
88
- arg.includes('Warning: Invalid DOM property') ||
89
- arg.includes('Warning: Received `true` for a non-boolean attribute') ||
90
- arg.includes('Warning: Received `false` for a non-boolean attribute')
91
- )
92
- )
93
- ) {
94
- return;
95
- }
96
- originalError.call(console, ...args);
97
- };
98
- });
99
-
100
- afterAll(() => {
101
- console.error = originalError;
102
- });
103
-
104
- // Mock window APIs
105
- Object.defineProperty(window, 'matchMedia', {
106
- writable: true,
107
- value: jest.fn().mockImplementation(query => ({
108
- matches: false,
109
- media: query,
110
- onchange: null,
111
- addListener: jest.fn(),
112
- removeListener: jest.fn(),
113
- addEventListener: jest.fn(),
114
- removeEventListener: jest.fn(),
115
- dispatchEvent: jest.fn(),
116
- })),
117
- });
118
-
119
- // Mock ahooks hooks - 基于ahooks官方测试实践改进
120
- jest.mock('ahooks', () => ({
121
- useSetState: jest.fn((initialState) => {
122
- const mockState = { current: initialState || {} };
123
- const mockSetState = jest.fn((patch) => {
124
- if (typeof patch === 'function') {
125
- mockState.current = patch(mockState.current);
126
- } else {
127
- mockState.current = { ...mockState.current, ...patch };
128
- }
129
- return mockState.current;
130
- });
131
- return [mockState.current, mockSetState];
132
- }),
133
-
134
- useRequest: jest.fn((service, options = {}) => {
135
- const mockState = {
136
- loading: false,
137
- data: null,
138
- error: null,
139
- params: [],
140
- };
141
-
142
- const mockActions = {
143
- run: jest.fn((...params) => {
144
- mockState.loading = true;
145
- mockState.params = params;
146
- // 模拟异步操作
147
- setTimeout(() => {
148
- mockState.loading = false;
149
- mockState.data = 'mock-data';
150
- }, 100);
151
- return Promise.resolve('mock-data');
152
- }),
153
- refresh: jest.fn(() => {
154
- mockState.loading = true;
155
- setTimeout(() => {
156
- mockState.loading = false;
157
- }, 100);
158
- return Promise.resolve('mock-data');
159
- }),
160
- cancel: jest.fn(() => {
161
- mockState.loading = false;
162
- }),
163
- mutate: jest.fn((data) => {
164
- mockState.data = data;
165
- }),
166
- };
167
-
168
- const result = {
169
- ...mockState,
170
- ...mockActions,
171
- };
172
-
173
- // 如果提供了service函数,模拟调用
174
- if (service && typeof service === 'function') {
175
- result.run = jest.fn((...params) => {
176
- mockState.loading = true;
177
- mockState.params = params;
178
-
179
- return new Promise((resolve, reject) => {
180
- setTimeout(() => {
181
- try {
182
- const serviceResult = service(...params);
183
- if (serviceResult instanceof Promise) {
184
- serviceResult.then(resolve).catch(reject);
185
- } else {
186
- resolve(serviceResult);
187
- }
188
- } catch (error) {
189
- reject(error);
190
- } finally {
191
- mockState.loading = false;
192
- }
193
- }, 100);
194
- });
195
- });
196
- }
197
-
198
- // 处理options
199
- if (options.manual !== true) {
200
- // 自动执行
201
- setTimeout(() => {
202
- result.run();
203
- }, 0);
204
- }
205
-
206
- return result;
207
- }),
208
-
209
- useDebounce: jest.fn((value, delay) => value),
210
-
211
- useThrottle: jest.fn((value, delay) => value),
212
-
213
- useLocalStorageState: jest.fn((key, defaultValue) => {
214
- const [state, setState] = [defaultValue, jest.fn()];
215
- return [state, setState];
216
- }),
217
-
218
- useSessionStorageState: jest.fn((key, defaultValue) => {
219
- const [state, setState] = [defaultValue, jest.fn()];
220
- return [state, setState];
221
- }),
222
-
223
- useDeepCompareEffect: jest.fn((effect, deps) => {
224
- if (effect && typeof effect === 'function') {
225
- effect();
226
- }
227
- }),
228
-
229
- useUpdateEffect: jest.fn((effect, deps) => {
230
- if (effect && typeof effect === 'function') {
231
- effect();
232
- }
233
- }),
234
-
235
- useSize: jest.fn(() => ({ width: 100, height: 100 })),
236
-
237
- useInViewport: jest.fn(() => [true, jest.fn()]),
238
-
239
- useMemoizedFn: jest.fn((fn) => fn),
240
-
241
- useMount: jest.fn((fn) => {
242
- if (fn && typeof fn === 'function') {
243
- fn();
244
- }
245
- }),
246
-
247
- useUnmount: jest.fn((fn) => {
248
- if (fn && typeof fn === 'function') {
249
- fn();
250
- }
251
- }),
252
-
253
- useDebounceEffect: jest.fn((effect, deps, wait) => {
254
- if (effect && typeof effect === 'function') {
255
- effect();
256
- }
257
- }),
258
-
259
- useThrottleEffect: jest.fn((effect, deps, wait) => {
260
- if (effect && typeof effect === 'function') {
261
- effect();
262
- }
263
- }),
264
- }));
265
-
266
- Object.defineProperty(window, 'ResizeObserver', {
267
- writable: true,
268
- value: jest.fn().mockImplementation(() => ({
269
- observe: jest.fn(),
270
- unobserve: jest.fn(),
271
- disconnect: jest.fn(),
272
- })),
273
- });
274
-
275
- Object.defineProperty(window, 'IntersectionObserver', {
276
- writable: true,
277
- value: jest.fn().mockImplementation(() => ({
278
- observe: jest.fn(),
279
- unobserve: jest.fn(),
280
- disconnect: jest.fn(),
281
- })),
282
- });
283
-
284
- // Mock getBoundingClientRect
285
- Element.prototype.getBoundingClientRect = jest.fn(() => ({
286
- width: 120,
287
- height: 120,
288
- top: 0,
289
- left: 0,
290
- bottom: 0,
291
- right: 0,
292
- x: 0,
293
- y: 0,
294
- toJSON: jest.fn(),
295
- }));
296
-
297
- // Mock scrollIntoView
298
- Element.prototype.scrollIntoView = jest.fn();
299
-
300
- // Mock getComputedStyle
301
- window.getComputedStyle = jest.fn(() => ({
302
- getPropertyValue: jest.fn(() => ''),
303
- setProperty: jest.fn(),
304
- removeProperty: jest.fn(),
305
- } as any));
306
-
307
- // Mock URL methods
308
- global.URL.createObjectURL = jest.fn(() => 'mock-url');
309
- global.URL.revokeObjectURL = jest.fn();
310
-
311
- // Mock fetch
312
- global.fetch = jest.fn(() =>
313
- Promise.resolve({
314
- ok: true,
315
- json: () => Promise.resolve({}),
316
- blob: () => Promise.resolve(new Blob()),
317
- text: () => Promise.resolve(''),
318
- } as Response)
319
- );
320
-
321
- // Mock String methods to prevent format.match and format.replace errors
322
- String.prototype.match = String.prototype.match || jest.fn(() => []);
323
- String.prototype.replace = String.prototype.replace || jest.fn((pattern, replacement) => {
324
- if (typeof pattern === 'string') {
325
- return this.split(pattern).join(replacement);
326
- }
327
- return this;
328
- });
329
-
330
- // Mock FileReader
331
- class MockFileReader {
332
- result: any = null;
333
- error: any = null;
334
- readyState: number = 0;
335
- onload: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null = null;
336
- onerror: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null = null;
337
- onloadend: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null = null;
338
-
339
- readAsDataURL = jest.fn(() => {
340
- this.readyState = 2;
341
- this.result = 'data:image/png;base64,test';
342
- setTimeout(() => {
343
- if (this.onload) this.onload({} as ProgressEvent<FileReader>);
344
- if (this.onloadend) this.onloadend({} as ProgressEvent<FileReader>);
345
- }, 0);
346
- });
347
-
348
- readAsText = jest.fn(() => {
349
- this.readyState = 2;
350
- this.result = 'test content';
351
- setTimeout(() => {
352
- if (this.onload) this.onload({} as ProgressEvent<FileReader>);
353
- if (this.onloadend) this.onloadend({} as ProgressEvent<FileReader>);
354
- }, 0);
355
- });
356
-
357
- abort = jest.fn();
358
- addEventListener = jest.fn();
359
- removeEventListener = jest.fn();
360
- dispatchEvent = jest.fn();
361
- }
362
-
363
- global.FileReader = MockFileReader as any;
364
-
365
- // Mock Blob
366
- global.Blob = jest.fn().mockImplementation(() => ({
367
- size: 1024,
368
- type: 'image/png',
369
- slice: jest.fn(),
370
- stream: jest.fn(),
371
- text: jest.fn(() => Promise.resolve('mock text')),
372
- arrayBuffer: jest.fn(() => Promise.resolve(new ArrayBuffer(8))),
373
- }));
374
-
375
- // Store original createElement
376
- const originalCreateElement = document.createElement;
377
-
378
- // Simple mock for specific elements only when needed
379
- document.createElement = jest.fn((tagName: string) => {
380
- try {
381
- return originalCreateElement.call(document, tagName);
382
- } catch (e) {
383
- // Fallback for special cases
384
- const mockElement = {
385
- tagName: tagName.toUpperCase(),
386
- style: {},
387
- className: '',
388
- textContent: '',
389
- innerHTML: '',
390
- addEventListener: jest.fn(),
391
- removeEventListener: jest.fn(),
392
- dispatchEvent: jest.fn(),
393
- setAttribute: jest.fn(),
394
- getAttribute: jest.fn(),
395
- removeAttribute: jest.fn(),
396
- appendChild: jest.fn(),
397
- removeChild: jest.fn(),
398
- insertBefore: jest.fn(),
399
- querySelector: jest.fn(),
400
- querySelectorAll: jest.fn(() => []),
401
- parentNode: null,
402
- childNodes: [],
403
- children: [],
404
- };
405
-
406
- // Add specific properties for different elements
407
- if (tagName === 'canvas') {
408
- Object.assign(mockElement, {
409
- getContext: jest.fn(() => ({
410
- drawImage: jest.fn(),
411
- getImageData: jest.fn(),
412
- putImageData: jest.fn(),
413
- toDataURL: jest.fn(() => 'data:image/png;base64,test'),
414
- })),
415
- toDataURL: jest.fn(() => 'data:image/png;base64,test'),
416
- width: 100,
417
- height: 100,
418
- });
419
- } else if (tagName === 'a') {
420
- Object.assign(mockElement, {
421
- click: jest.fn(),
422
- download: '',
423
- href: '',
424
- });
425
- }
426
-
427
- return mockElement as any;
428
- }
429
- });
430
-
431
- // Store original methods
432
- const originalAppendChild = document.body.appendChild;
433
- const originalRemoveChild = document.body.removeChild;
434
-
435
- // Mock but still allow actual functionality for testing
436
- document.body.appendChild = jest.fn((node) => {
437
- try {
438
- // Check if node is a valid DOM element
439
- if (node && typeof node === 'object' && node.nodeType !== undefined) {
440
- return originalAppendChild.call(document.body, node);
441
- }
442
- // For non-DOM elements, just return the node
443
- return node;
444
- } catch (e) {
445
- // If original fails, just return the node
446
- return node;
447
- }
448
- });
449
-
450
- document.body.removeChild = jest.fn((node) => {
451
- try {
452
- // Check if node is a valid DOM element
453
- if (node && typeof node === 'object' && node.nodeType !== undefined) {
454
- return originalRemoveChild.call(document.body, node);
455
- }
456
- // For non-DOM elements, just return the node
457
- return node;
458
- } catch (e) {
459
- // If original fails, just return the node
460
- return node;
461
- }
462
- });
463
-
464
- // Mock getElementsByTagName to prevent ProIcon DOM access issues
465
- const originalGetElementsByTagName = document.getElementsByTagName;
466
- document.getElementsByTagName = jest.fn((tagName: string) => {
467
- if (tagName === 'script') {
468
- // Return empty collection for script tags to prevent ProIcon issues
469
- return [];
470
- }
471
- try {
472
- return originalGetElementsByTagName.call(document, tagName);
473
- } catch (e) {
474
- // Fallback for testing
475
- return [];
476
- }
477
- });
478
-
479
- // Mock ProIcon to prevent DOM manipulation
480
- jest.mock('../src/ProIcon', () => ({
481
- __esModule: true,
482
- default: jest.fn(() => null),
483
- ProIcon: jest.fn(() => null),
484
- }));
@@ -1,81 +0,0 @@
1
- import React from 'react';
2
- import { render, RenderOptions } from '@testing-library/react';
3
- import { ConfigProvider } from 'antd';
4
- import zhCN from 'antd/locale/zh_CN';
5
-
6
- // 确保document.body存在
7
- const ensureDocumentSetup = () => {
8
- if (typeof document !== 'undefined') {
9
- if (!document.body) {
10
- document.body = document.createElement('body');
11
- document.documentElement.appendChild(document.body);
12
- }
13
-
14
- // 创建一个测试容器
15
- let testContainer = document.getElementById('test-container');
16
- if (!testContainer) {
17
- testContainer = document.createElement('div');
18
- testContainer.id = 'test-container';
19
- document.body.appendChild(testContainer);
20
- }
21
- }
22
- };
23
-
24
- // Mock ProConfigProvider
25
- const MockProConfigProvider = ({ children }: { children: React.ReactNode }) => {
26
- const mockValue = {
27
- state: {
28
- ProTable: {},
29
- ProForm: {},
30
- ProEnum: {},
31
- ProSelect: {},
32
- storage: {},
33
- theme: {},
34
- locale: {},
35
- },
36
- setState: jest.fn(),
37
- };
38
-
39
- const MockContext = React.createContext(mockValue);
40
- return React.createElement(MockContext.Provider, { value: mockValue }, children);
41
- };
42
-
43
- // Mock FieldProvider
44
- const MockFieldProvider = ({ children }: { children: React.ReactNode }) => {
45
- const mockValue = {
46
- readonly: false,
47
- disabled: false,
48
- };
49
-
50
- const MockFieldContext = React.createContext(mockValue);
51
- return React.createElement(MockFieldContext.Provider, { value: mockValue }, children);
52
- };
53
-
54
- // All providers wrapper
55
- const AllTheProviders = ({ children }: { children: React.ReactNode }) => {
56
- ensureDocumentSetup();
57
-
58
- return (
59
- <ConfigProvider locale={zhCN}>
60
- <MockProConfigProvider>
61
- <MockFieldProvider>
62
- {children}
63
- </MockFieldProvider>
64
- </MockProConfigProvider>
65
- </ConfigProvider>
66
- );
67
- };
68
-
69
- const customRender = (ui: React.ReactElement, options?: Omit<RenderOptions, 'wrapper'>) => {
70
- ensureDocumentSetup();
71
-
72
- return render(ui, {
73
- wrapper: AllTheProviders,
74
- container: document.getElementById('test-container') || document.body,
75
- ...options
76
- });
77
- };
78
-
79
- export * from '@testing-library/react';
80
- export { customRender as render };
81
- export { AllTheProviders, ensureDocumentSetup };