@ant-design/pro-components 3.1.0-0 → 3.1.1-1

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 (714) hide show
  1. package/README.es-PR.md +1 -3
  2. package/README.md +8 -10
  3. package/README.zh-CN.md +11 -11
  4. package/dist/pro-components.min.js +1 -1
  5. package/es/card/ProCard.js +8 -10
  6. package/es/card/components/Actions/index.js +25 -25
  7. package/es/card/components/Actions/style.js +79 -71
  8. package/es/card/components/Card/index.js +157 -142
  9. package/es/card/components/Card/style.js +249 -192
  10. package/es/card/components/CheckCard/Group.js +94 -115
  11. package/es/card/components/CheckCard/index.js +85 -79
  12. package/es/card/components/CheckCard/style.js +184 -168
  13. package/es/card/components/Divider/index.js +19 -15
  14. package/es/card/components/Divider/style.js +32 -29
  15. package/es/card/components/Loading/index.js +19 -16
  16. package/es/card/components/Loading/style.js +34 -31
  17. package/es/card/components/Operation/index.js +16 -13
  18. package/es/card/components/Operation/style.js +19 -18
  19. package/es/card/components/Statistic/index.js +46 -41
  20. package/es/card/components/Statistic/style.js +89 -70
  21. package/es/card/components/StatisticCard/index.js +46 -41
  22. package/es/card/components/StatisticCard/style.js +37 -35
  23. package/es/descriptions/index.js +214 -225
  24. package/es/descriptions/useFetchData.js +53 -91
  25. package/es/field/AllProField.js +265 -216
  26. package/es/field/FieldHOC/index.js +9 -14
  27. package/es/field/PureProField.js +82 -80
  28. package/es/field/ValueTypeToComponent.js +517 -618
  29. package/es/field/components/Cascader/index.d.ts +3 -3
  30. package/es/field/components/Cascader/index.js +66 -84
  31. package/es/field/components/Checkbox/index.d.ts +2 -2
  32. package/es/field/components/Checkbox/index.js +75 -72
  33. package/es/field/components/Code/index.js +40 -39
  34. package/es/field/components/ColorPicker/index.d.ts +2 -2
  35. package/es/field/components/ColorPicker/index.js +38 -32
  36. package/es/field/components/DatePicker/index.d.ts +2 -2
  37. package/es/field/components/DatePicker/index.js +49 -53
  38. package/es/field/components/Digit/index.js +41 -42
  39. package/es/field/components/DigitRange/index.js +71 -77
  40. package/es/field/components/FromNow/index.js +27 -25
  41. package/es/field/components/Image/index.js +28 -24
  42. package/es/field/components/IndexColumn/index.js +22 -16
  43. package/es/field/components/Money/index.js +107 -116
  44. package/es/field/components/Options/index.js +34 -33
  45. package/es/field/components/Password/index.js +35 -38
  46. package/es/field/components/Percent/index.js +40 -44
  47. package/es/field/components/Percent/util.js +3 -5
  48. package/es/field/components/Progress/index.js +29 -27
  49. package/es/field/components/Radio/index.d.ts +1 -1
  50. package/es/field/components/Radio/index.js +61 -62
  51. package/es/field/components/RangePicker/index.d.ts +2 -2
  52. package/es/field/components/RangePicker/index.js +52 -63
  53. package/es/field/components/Rate/index.js +24 -21
  54. package/es/field/components/Second/index.js +36 -33
  55. package/es/field/components/Segmented/index.d.ts +1 -1
  56. package/es/field/components/Segmented/index.js +37 -46
  57. package/es/field/components/Select/LightSelect/index.d.ts +1 -1
  58. package/es/field/components/Select/LightSelect/index.js +102 -109
  59. package/es/field/components/Select/SearchSelect/index.js +129 -155
  60. package/es/field/components/Select/index.d.ts +2 -2
  61. package/es/field/components/Select/index.js +193 -219
  62. package/es/field/components/Slider/index.js +25 -22
  63. package/es/field/components/Status/index.js +67 -78
  64. package/es/field/components/Switch/index.d.ts +1 -1
  65. package/es/field/components/Switch/index.js +32 -30
  66. package/es/field/components/Text/index.js +34 -37
  67. package/es/field/components/TextArea/index.js +26 -21
  68. package/es/field/components/TextArea/readonly.js +24 -21
  69. package/es/field/components/TimePicker/index.js +96 -105
  70. package/es/field/components/TreeSelect/index.d.ts +3 -3
  71. package/es/field/components/TreeSelect/index.js +107 -125
  72. package/es/form/BaseForm/BaseForm.js +416 -502
  73. package/es/form/BaseForm/EditOrReadOnlyContext.js +1 -1
  74. package/es/form/BaseForm/LightWrapper/index.js +56 -65
  75. package/es/form/BaseForm/LightWrapper/style.js +17 -13
  76. package/es/form/BaseForm/Submitter/index.js +44 -43
  77. package/es/form/FieldContext.js +1 -1
  78. package/es/form/components/Captcha/index.js +74 -134
  79. package/es/form/components/Cascader/index.d.ts +1 -1
  80. package/es/form/components/Cascader/index.js +26 -28
  81. package/es/form/components/Checkbox/index.js +60 -61
  82. package/es/form/components/ColorPicker/index.d.ts +1 -1
  83. package/es/form/components/ColorPicker/index.js +24 -26
  84. package/es/form/components/DatePicker/BaseDatePicker.js +32 -30
  85. package/es/form/components/DatePicker/DatePicker.js +14 -13
  86. package/es/form/components/DatePicker/DateTimePicker.js +11 -12
  87. package/es/form/components/DatePicker/MonthPicker.js +14 -13
  88. package/es/form/components/DatePicker/QuarterPicker.js +14 -13
  89. package/es/form/components/DatePicker/TimePicker.js +26 -27
  90. package/es/form/components/DatePicker/WeekPicker.js +14 -13
  91. package/es/form/components/DatePicker/YearPicker.js +14 -13
  92. package/es/form/components/DatePicker/index.js +1 -1
  93. package/es/form/components/DateRangePicker/BaseDateRanger.js +34 -34
  94. package/es/form/components/DateRangePicker/DateMonthRangePicker.js +15 -16
  95. package/es/form/components/DateRangePicker/DateQuarterRangePicker.js +15 -16
  96. package/es/form/components/DateRangePicker/DateTimeRangePicker.js +15 -16
  97. package/es/form/components/DateRangePicker/DateWeekRangePicker.js +15 -16
  98. package/es/form/components/DateRangePicker/DateYearRangePicker.js +15 -16
  99. package/es/form/components/DateRangePicker/TimeRangePicker.js +26 -29
  100. package/es/form/components/DateRangePicker/index.js +15 -16
  101. package/es/form/components/Dependency/index.js +31 -34
  102. package/es/form/components/Digit/DigitRange.d.ts +2 -2
  103. package/es/form/components/Digit/DigitRange.js +23 -24
  104. package/es/form/components/Digit/index.d.ts +1 -1
  105. package/es/form/components/Digit/index.js +27 -29
  106. package/es/form/components/Field/index.js +55 -63
  107. package/es/form/components/FieldSet/index.js +68 -76
  108. package/es/form/components/FormItem/FormItemRender/index.js +58 -48
  109. package/es/form/components/FormItem/Group/index.js +95 -95
  110. package/es/form/components/FormItem/Group/style.js +46 -40
  111. package/es/form/components/FormItem/index.js +135 -141
  112. package/es/form/components/FormItem/warpField.js +165 -149
  113. package/es/form/components/List/ListContainer.js +98 -189
  114. package/es/form/components/List/ListItem.js +151 -198
  115. package/es/form/components/List/index.js +97 -107
  116. package/es/form/components/List/style.js +71 -47
  117. package/es/form/components/Money/index.d.ts +1 -1
  118. package/es/form/components/Money/index.js +28 -30
  119. package/es/form/components/Radio/index.d.ts +2 -2
  120. package/es/form/components/Radio/index.js +45 -49
  121. package/es/form/components/Rate/index.d.ts +1 -1
  122. package/es/form/components/Rate/index.js +17 -20
  123. package/es/form/components/SchemaForm/index.js +58 -72
  124. package/es/form/components/SchemaForm/layoutType/Embed.js +5 -6
  125. package/es/form/components/SchemaForm/layoutType/StepsForm.js +22 -26
  126. package/es/form/components/SchemaForm/valueType/dependency.js +11 -11
  127. package/es/form/components/SchemaForm/valueType/divider.js +4 -5
  128. package/es/form/components/SchemaForm/valueType/field.js +45 -44
  129. package/es/form/components/SchemaForm/valueType/formList.js +8 -7
  130. package/es/form/components/SchemaForm/valueType/formSet.js +8 -7
  131. package/es/form/components/SchemaForm/valueType/group.js +7 -8
  132. package/es/form/components/SchemaForm/valueType/ignore.js +2 -2
  133. package/es/form/components/SchemaForm/valueType/index.js +5 -5
  134. package/es/form/components/Segmented/index.js +20 -23
  135. package/es/form/components/Select/index.js +69 -73
  136. package/es/form/components/Slider/index.d.ts +1 -1
  137. package/es/form/components/Slider/index.js +33 -35
  138. package/es/form/components/Switch/index.js +24 -26
  139. package/es/form/components/Text/index.js +75 -86
  140. package/es/form/components/TextArea/index.d.ts +1 -1
  141. package/es/form/components/TextArea/index.js +17 -20
  142. package/es/form/components/TreeSelect/index.js +20 -23
  143. package/es/form/components/UploadButton/index.js +56 -103
  144. package/es/form/components/UploadDragger/index.js +37 -44
  145. package/es/form/helpers/grid.js +65 -67
  146. package/es/form/layouts/DrawerForm/index.js +150 -241
  147. package/es/form/layouts/DrawerForm/style.js +26 -25
  148. package/es/form/layouts/LightFilter/index.d.ts +12 -1
  149. package/es/form/layouts/LightFilter/index.js +158 -140
  150. package/es/form/layouts/LightFilter/style.js +52 -48
  151. package/es/form/layouts/LoginForm/index.js +44 -47
  152. package/es/form/layouts/LoginForm/style.js +71 -67
  153. package/es/form/layouts/LoginFormPage/index.js +45 -48
  154. package/es/form/layouts/LoginFormPage/style.js +136 -126
  155. package/es/form/layouts/ModalForm/index.js +119 -203
  156. package/es/form/layouts/ProForm/index.d.ts +2 -2
  157. package/es/form/layouts/ProForm/index.js +5 -5
  158. package/es/form/layouts/QueryFilter/Actions.js +23 -22
  159. package/es/form/layouts/QueryFilter/index.js +178 -203
  160. package/es/form/layouts/QueryFilter/style.js +45 -37
  161. package/es/form/layouts/StepsForm/StepForm.d.ts +2 -3
  162. package/es/form/layouts/StepsForm/StepForm.js +50 -71
  163. package/es/form/layouts/StepsForm/index.js +175 -217
  164. package/es/form/layouts/StepsForm/style.js +30 -28
  165. package/es/form/layouts/index.js +1 -1
  166. package/es/layout/ProLayout.js +281 -292
  167. package/es/layout/WrapContent.js +16 -12
  168. package/es/layout/assert/Logo.js +95 -97
  169. package/es/layout/components/AppsLogoComponents/AppsLogo.js +10 -12
  170. package/es/layout/components/AppsLogoComponents/DefaultContent.js +17 -16
  171. package/es/layout/components/AppsLogoComponents/SimpleContent.js +19 -18
  172. package/es/layout/components/AppsLogoComponents/index.js +33 -38
  173. package/es/layout/components/AppsLogoComponents/style/default.js +2 -2
  174. package/es/layout/components/AppsLogoComponents/style/index.js +52 -50
  175. package/es/layout/components/AppsLogoComponents/style/simple.js +1 -1
  176. package/es/layout/components/CollapsedIcon/index.js +18 -15
  177. package/es/layout/components/CollapsedIcon/style.js +40 -40
  178. package/es/layout/components/Footer.js +22 -21
  179. package/es/layout/components/FooterToolbar/index.js +58 -52
  180. package/es/layout/components/FooterToolbar/style/index.js +38 -37
  181. package/es/layout/components/FooterToolbar/style/stylish.js +11 -9
  182. package/es/layout/components/GlobalFooter/index.js +25 -25
  183. package/es/layout/components/GlobalFooter/style.js +31 -30
  184. package/es/layout/components/GlobalHeader/ActionsContent.js +62 -78
  185. package/es/layout/components/GlobalHeader/index.js +59 -47
  186. package/es/layout/components/GlobalHeader/rightContentStyle.js +49 -49
  187. package/es/layout/components/GlobalHeader/style.js +58 -54
  188. package/es/layout/components/GridContent/index.js +24 -19
  189. package/es/layout/components/GridContent/style.js +14 -13
  190. package/es/layout/components/Header/index.js +63 -57
  191. package/es/layout/components/Header/style/header.js +49 -47
  192. package/es/layout/components/Header/style/stylish.js +15 -11
  193. package/es/layout/components/Help/AsyncContentPanel.js +13 -18
  194. package/es/layout/components/Help/HelpProvide.js +1 -1
  195. package/es/layout/components/Help/ProHelpContentPanel.js +64 -83
  196. package/es/layout/components/Help/ProHelpDrawer.js +25 -31
  197. package/es/layout/components/Help/ProHelpModal.d.ts +1 -1
  198. package/es/layout/components/Help/ProHelpModal.js +24 -27
  199. package/es/layout/components/Help/ProHelpPanel.js +86 -94
  200. package/es/layout/components/Help/ProHelpPopover.js +18 -16
  201. package/es/layout/components/Help/RenderContentPanel.js +34 -24
  202. package/es/layout/components/Help/Search.js +52 -78
  203. package/es/layout/components/Help/index.js +9 -11
  204. package/es/layout/components/Help/style.js +82 -75
  205. package/es/layout/components/PageContainer/index.js +168 -149
  206. package/es/layout/components/PageContainer/style/index.js +95 -78
  207. package/es/layout/components/PageContainer/style/stylish.js +11 -9
  208. package/es/layout/components/PageHeader/index.js +96 -97
  209. package/es/layout/components/PageHeader/style/index.js +142 -122
  210. package/es/layout/components/PageLoading/index.js +17 -20
  211. package/es/layout/components/SettingDrawer/BlockCheckbox.js +29 -32
  212. package/es/layout/components/SettingDrawer/LayoutChange.js +22 -22
  213. package/es/layout/components/SettingDrawer/RegionalChange.js +14 -15
  214. package/es/layout/components/SettingDrawer/ThemeColor.js +32 -35
  215. package/es/layout/components/SettingDrawer/index.js +137 -168
  216. package/es/layout/components/SettingDrawer/style/index.js +141 -137
  217. package/es/layout/components/SiderMenu/BaseMenu.js +235 -221
  218. package/es/layout/components/SiderMenu/SiderMenu.js +125 -115
  219. package/es/layout/components/SiderMenu/index.js +47 -42
  220. package/es/layout/components/SiderMenu/style/index.js +179 -161
  221. package/es/layout/components/SiderMenu/style/menu.js +148 -110
  222. package/es/layout/components/SiderMenu/style/stylish.js +15 -11
  223. package/es/layout/components/TopNavHeader/index.js +71 -60
  224. package/es/layout/components/TopNavHeader/style.js +64 -63
  225. package/es/layout/context/RouteContext.js +1 -1
  226. package/es/layout/defaultSettings.js +1 -1
  227. package/es/layout/getPageTitle.js +23 -24
  228. package/es/layout/locales/en-US.js +3 -2
  229. package/es/layout/locales/index.js +5 -5
  230. package/es/layout/locales/it-IT.js +3 -2
  231. package/es/layout/locales/ko-KR.js +3 -2
  232. package/es/layout/locales/zh-CN.js +3 -2
  233. package/es/layout/locales/zh-TW.js +3 -2
  234. package/es/layout/style/index.js +48 -42
  235. package/es/layout/utils/getBreadcrumbProps.js +60 -60
  236. package/es/layout/utils/getMenuData.js +7 -11
  237. package/es/layout/utils/pathTools.js +2 -6
  238. package/es/layout/utils/useCurrentMenuLayoutProps.js +4 -9
  239. package/es/layout/utils/utils.js +15 -17
  240. package/es/list/Item.js +157 -137
  241. package/es/list/ListView.js +106 -115
  242. package/es/list/constants.js +2 -2
  243. package/es/list/index.js +72 -70
  244. package/es/list/style/index.js +281 -213
  245. package/es/provider/index.js +122 -115
  246. package/es/provider/intl.js +53 -55
  247. package/es/provider/typing/layoutToken.js +26 -23
  248. package/es/provider/useStyle/index.js +51 -59
  249. package/es/provider/utils/merge.js +10 -12
  250. package/es/skeleton/components/Descriptions/index.js +211 -229
  251. package/es/skeleton/components/List/index.js +208 -223
  252. package/es/skeleton/components/Result/index.js +45 -47
  253. package/es/skeleton/index.js +13 -10
  254. package/es/table/Store/Provide.d.ts +4 -4
  255. package/es/table/Store/Provide.js +102 -117
  256. package/es/table/Table.d.ts +5 -2
  257. package/es/table/Table.js +526 -691
  258. package/es/table/TableSearch.d.ts +24 -0
  259. package/es/table/TableSearch.js +54 -0
  260. package/es/table/TableToolbar.d.ts +22 -0
  261. package/es/table/TableToolbar.js +47 -0
  262. package/es/table/components/Alert/index.js +41 -40
  263. package/es/table/components/Alert/style.js +28 -27
  264. package/es/table/components/ColumnSetting/index.js +228 -223
  265. package/es/table/components/ColumnSetting/style.js +86 -71
  266. package/es/table/components/DragSortTable/index.js +65 -79
  267. package/es/table/components/DragSortTable/style.js +20 -19
  268. package/es/table/components/Dropdown/index.js +42 -47
  269. package/es/table/components/EditableTable/CellEditorTable.js +24 -32
  270. package/es/table/components/EditableTable/RowEditorTable.js +23 -28
  271. package/es/table/components/EditableTable/index.js +295 -329
  272. package/es/table/components/Form/FormRender.js +99 -103
  273. package/es/table/components/Form/index.d.ts +4 -19
  274. package/es/table/components/Form/index.js +112 -159
  275. package/es/table/components/ListToolBar/HeaderMenu.js +44 -52
  276. package/es/table/components/ListToolBar/index.js +122 -147
  277. package/es/table/components/ListToolBar/style.js +127 -117
  278. package/es/table/components/ToolBar/DensityIcon.js +10 -9
  279. package/es/table/components/ToolBar/FullscreenIcon.js +5 -9
  280. package/es/table/components/ToolBar/index.d.ts +2 -8
  281. package/es/table/components/ToolBar/index.js +155 -195
  282. package/es/table/style/index.js +144 -112
  283. package/es/table/typing.d.ts +4 -0
  284. package/es/table/useFetchData.js +199 -338
  285. package/es/table/utils/cellRenderToFromItem.js +105 -119
  286. package/es/table/utils/columnRender.js +63 -54
  287. package/es/table/utils/columnSort.js +22 -22
  288. package/es/table/utils/genProColumnToColumn.d.ts +13 -9
  289. package/es/table/utils/genProColumnToColumn.js +121 -98
  290. package/es/table/utils/index.d.ts +10 -0
  291. package/es/table/utils/index.js +112 -178
  292. package/es/table/utils/useDragSort.d.ts +1 -1
  293. package/es/table/utils/useDragSort.js +99 -92
  294. package/es/table/utils/usePageInfo.d.ts +6 -0
  295. package/es/table/utils/usePageInfo.js +55 -0
  296. package/es/utils/components/DropdownFooter/index.js +23 -21
  297. package/es/utils/components/DropdownFooter/style.js +16 -15
  298. package/es/utils/components/ErrorBoundary/index.js +27 -50
  299. package/es/utils/components/FieldLabel/index.js +70 -70
  300. package/es/utils/components/FieldLabel/style.js +104 -81
  301. package/es/utils/components/FilterDropdown/index.d.ts +11 -0
  302. package/es/utils/components/FilterDropdown/index.js +43 -32
  303. package/es/utils/components/FilterDropdown/style.js +19 -16
  304. package/es/utils/components/InlineErrorFormItem/index.js +78 -78
  305. package/es/utils/components/InlineErrorFormItem/style.js +56 -49
  306. package/es/utils/components/LabelIconTip/index.js +30 -31
  307. package/es/utils/components/LabelIconTip/style.js +36 -35
  308. package/es/utils/components/ProFormContext/index.js +1 -1
  309. package/es/utils/conversionMomentValue/index.js +19 -22
  310. package/es/utils/dateArrayFormatter/index.js +9 -14
  311. package/es/utils/genCopyable/index.js +74 -32
  312. package/es/utils/getFieldPropsOrFormItemProps/index.js +1 -1
  313. package/es/utils/hooks/useDebounceFn/index.js +18 -51
  314. package/es/utils/hooks/useDebounceValue/index.js +7 -16
  315. package/es/utils/hooks/useDeepCompareEffect/index.js +6 -18
  316. package/es/utils/hooks/useDocumentTitle/index.js +2 -2
  317. package/es/utils/hooks/useFetchData/index.js +36 -65
  318. package/es/utils/hooks/useForceRender/index.js +2 -9
  319. package/es/utils/hooks/useLatest/index.js +2 -2
  320. package/es/utils/hooks/usePrevious/index.js +3 -3
  321. package/es/utils/hooks/useReactiveRef/index.js +2 -2
  322. package/es/utils/hooks/useRefCallback/index.js +3 -3
  323. package/es/utils/hooks/useRefFunction/index.js +4 -9
  324. package/es/utils/index.d.ts +1 -2
  325. package/es/utils/index.js +1 -2
  326. package/es/utils/isBrowser/index.js +2 -2
  327. package/es/utils/isDeepEqualReact/index.js +9 -44
  328. package/es/utils/isDropdownValueType/index.js +2 -2
  329. package/es/utils/isNil/index.js +1 -3
  330. package/es/utils/isUrl/index.js +2 -2
  331. package/es/utils/merge/index.js +10 -12
  332. package/es/utils/nanoid/index.js +5 -6
  333. package/es/utils/omitBoolean/index.js +1 -1
  334. package/es/utils/omitUndefined/index.js +3 -3
  335. package/es/utils/omitUndefinedAndEmptyArr/index.js +4 -5
  336. package/es/utils/parseValueToMoment/index.js +3 -7
  337. package/es/utils/pickProFormItemProps/index.js +3 -3
  338. package/es/utils/pickProProps/index.js +6 -7
  339. package/es/utils/proFieldParsingText/index.js +85 -98
  340. package/es/utils/runFunction/index.js +2 -5
  341. package/es/utils/stringify/index.js +1 -1
  342. package/es/utils/transformKeySubmitValue/index.js +99 -116
  343. package/es/utils/useEditableArray/index.d.ts +6 -1
  344. package/es/utils/useEditableArray/index.js +579 -735
  345. package/es/utils/useEditableMap/index.d.ts +1 -1
  346. package/es/utils/useEditableMap/index.js +89 -135
  347. package/es/utils/useMediaQuery/index.d.ts +2 -2
  348. package/es/utils/useMediaQuery/index.js +37 -34
  349. package/es/utils/useMediaQuery/query.js +7 -17
  350. package/es/version.js +1 -1
  351. package/guidelines/Guidelines.md +33 -0
  352. package/guidelines/components/drawer-form.md +90 -0
  353. package/guidelines/components/editable-pro-table.md +150 -0
  354. package/guidelines/components/modal-form.md +88 -0
  355. package/guidelines/components/pro-card.md +90 -0
  356. package/guidelines/components/pro-form.md +96 -0
  357. package/guidelines/components/pro-layout.md +84 -0
  358. package/guidelines/components/pro-table.md +142 -0
  359. package/guidelines/components/steps-form.md +105 -0
  360. package/guidelines/design-tokens/colors.md +58 -0
  361. package/guidelines/design-tokens/layout.md +53 -0
  362. package/guidelines/design-tokens/typography.md +49 -0
  363. package/guidelines/overview-components.md +55 -0
  364. package/guidelines/overview-icons.md +23 -0
  365. package/lib/card/ProCard.js +8 -10
  366. package/lib/card/components/Actions/index.js +25 -25
  367. package/lib/card/components/Actions/style.js +79 -72
  368. package/lib/card/components/Card/index.js +154 -139
  369. package/lib/card/components/Card/style.js +249 -193
  370. package/lib/card/components/CheckCard/Group.js +97 -115
  371. package/lib/card/components/CheckCard/index.js +85 -78
  372. package/lib/card/components/CheckCard/style.js +184 -169
  373. package/lib/card/components/Divider/index.js +20 -16
  374. package/lib/card/components/Divider/style.js +32 -30
  375. package/lib/card/components/Loading/index.js +19 -16
  376. package/lib/card/components/Loading/style.js +34 -32
  377. package/lib/card/components/Operation/index.js +16 -14
  378. package/lib/card/components/Operation/style.js +19 -19
  379. package/lib/card/components/Statistic/index.js +46 -42
  380. package/lib/card/components/Statistic/style.js +89 -71
  381. package/lib/card/components/StatisticCard/index.js +46 -41
  382. package/lib/card/components/StatisticCard/style.js +37 -36
  383. package/lib/card/index.js +4 -4
  384. package/lib/descriptions/index.js +219 -225
  385. package/lib/descriptions/useFetchData.js +51 -90
  386. package/lib/field/AllProField.js +267 -217
  387. package/lib/field/FieldHOC/index.js +9 -15
  388. package/lib/field/PureProField.js +84 -82
  389. package/lib/field/ValueTypeToComponent.js +517 -618
  390. package/lib/field/components/Cascader/index.d.ts +2 -2
  391. package/lib/field/components/Cascader/index.js +66 -85
  392. package/lib/field/components/Checkbox/index.d.ts +1 -1
  393. package/lib/field/components/Checkbox/index.js +75 -73
  394. package/lib/field/components/Code/index.js +40 -39
  395. package/lib/field/components/ColorPicker/index.js +38 -33
  396. package/lib/field/components/DatePicker/index.d.ts +1 -1
  397. package/lib/field/components/DatePicker/index.js +49 -53
  398. package/lib/field/components/Digit/index.js +41 -43
  399. package/lib/field/components/DigitRange/index.js +69 -76
  400. package/lib/field/components/FromNow/index.js +27 -25
  401. package/lib/field/components/Image/index.js +28 -24
  402. package/lib/field/components/IndexColumn/index.js +22 -17
  403. package/lib/field/components/Money/index.js +106 -116
  404. package/lib/field/components/Options/index.js +34 -34
  405. package/lib/field/components/Password/index.js +35 -38
  406. package/lib/field/components/Percent/index.js +40 -45
  407. package/lib/field/components/Percent/util.js +3 -6
  408. package/lib/field/components/Progress/index.js +29 -28
  409. package/lib/field/components/Radio/index.d.ts +1 -1
  410. package/lib/field/components/Radio/index.js +61 -63
  411. package/lib/field/components/RangePicker/index.d.ts +1 -1
  412. package/lib/field/components/RangePicker/index.js +52 -63
  413. package/lib/field/components/Rate/index.js +24 -21
  414. package/lib/field/components/Second/index.js +36 -33
  415. package/lib/field/components/Segmented/index.d.ts +1 -1
  416. package/lib/field/components/Segmented/index.js +37 -48
  417. package/lib/field/components/Select/LightSelect/index.d.ts +1 -1
  418. package/lib/field/components/Select/LightSelect/index.js +103 -110
  419. package/lib/field/components/Select/SearchSelect/index.js +133 -156
  420. package/lib/field/components/Select/index.d.ts +1 -1
  421. package/lib/field/components/Select/index.js +194 -218
  422. package/lib/field/components/Slider/index.js +25 -22
  423. package/lib/field/components/Status/index.js +69 -79
  424. package/lib/field/components/Switch/index.d.ts +1 -1
  425. package/lib/field/components/Switch/index.js +32 -31
  426. package/lib/field/components/Text/index.js +34 -38
  427. package/lib/field/components/TextArea/index.js +26 -21
  428. package/lib/field/components/TextArea/readonly.js +24 -22
  429. package/lib/field/components/TimePicker/index.js +96 -105
  430. package/lib/field/components/TreeSelect/index.d.ts +2 -2
  431. package/lib/field/components/TreeSelect/index.js +105 -124
  432. package/lib/field/index.js +34 -34
  433. package/lib/form/BaseForm/BaseForm.js +413 -499
  434. package/lib/form/BaseForm/EditOrReadOnlyContext.js +1 -1
  435. package/lib/form/BaseForm/LightWrapper/index.js +57 -66
  436. package/lib/form/BaseForm/LightWrapper/style.js +17 -14
  437. package/lib/form/BaseForm/Submitter/index.js +44 -44
  438. package/lib/form/BaseForm/index.js +3 -3
  439. package/lib/form/FieldContext.js +1 -1
  440. package/lib/form/components/Captcha/index.js +74 -135
  441. package/lib/form/components/Cascader/index.js +26 -29
  442. package/lib/form/components/Checkbox/index.js +60 -61
  443. package/lib/form/components/ColorPicker/index.js +24 -26
  444. package/lib/form/components/DatePicker/BaseDatePicker.js +32 -30
  445. package/lib/form/components/DatePicker/DatePicker.js +14 -13
  446. package/lib/form/components/DatePicker/DateTimePicker.js +11 -12
  447. package/lib/form/components/DatePicker/MonthPicker.js +14 -13
  448. package/lib/form/components/DatePicker/QuarterPicker.js +14 -13
  449. package/lib/form/components/DatePicker/TimePicker.js +26 -27
  450. package/lib/form/components/DatePicker/WeekPicker.js +14 -13
  451. package/lib/form/components/DatePicker/YearPicker.js +14 -13
  452. package/lib/form/components/DatePicker/index.js +1 -1
  453. package/lib/form/components/DateRangePicker/BaseDateRanger.js +34 -34
  454. package/lib/form/components/DateRangePicker/DateMonthRangePicker.js +15 -16
  455. package/lib/form/components/DateRangePicker/DateQuarterRangePicker.js +15 -16
  456. package/lib/form/components/DateRangePicker/DateTimeRangePicker.js +15 -16
  457. package/lib/form/components/DateRangePicker/DateWeekRangePicker.js +15 -16
  458. package/lib/form/components/DateRangePicker/DateYearRangePicker.js +15 -16
  459. package/lib/form/components/DateRangePicker/TimeRangePicker.js +26 -29
  460. package/lib/form/components/DateRangePicker/index.js +15 -16
  461. package/lib/form/components/Dependency/index.js +31 -35
  462. package/lib/form/components/Digit/DigitRange.js +23 -24
  463. package/lib/form/components/Digit/index.js +27 -29
  464. package/lib/form/components/Field/index.js +55 -63
  465. package/lib/form/components/FieldSet/index.js +68 -76
  466. package/lib/form/components/FormItem/FormItemRender/index.js +58 -48
  467. package/lib/form/components/FormItem/Group/index.js +95 -95
  468. package/lib/form/components/FormItem/Group/style.js +46 -41
  469. package/lib/form/components/FormItem/index.js +135 -141
  470. package/lib/form/components/FormItem/warpField.js +165 -149
  471. package/lib/form/components/List/ListContainer.js +100 -191
  472. package/lib/form/components/List/ListItem.js +153 -200
  473. package/lib/form/components/List/index.js +97 -107
  474. package/lib/form/components/List/style.js +71 -48
  475. package/lib/form/components/Money/index.js +28 -30
  476. package/lib/form/components/Radio/index.js +45 -49
  477. package/lib/form/components/Rate/index.js +17 -21
  478. package/lib/form/components/SchemaForm/index.js +54 -68
  479. package/lib/form/components/SchemaForm/layoutType/Embed.js +5 -6
  480. package/lib/form/components/SchemaForm/layoutType/StepsForm.js +22 -26
  481. package/lib/form/components/SchemaForm/layoutType/index.js +2 -2
  482. package/lib/form/components/SchemaForm/valueType/dependency.js +13 -12
  483. package/lib/form/components/SchemaForm/valueType/divider.js +6 -7
  484. package/lib/form/components/SchemaForm/valueType/field.js +47 -45
  485. package/lib/form/components/SchemaForm/valueType/formList.js +10 -9
  486. package/lib/form/components/SchemaForm/valueType/formSet.js +10 -8
  487. package/lib/form/components/SchemaForm/valueType/group.js +9 -10
  488. package/lib/form/components/SchemaForm/valueType/ignore.js +4 -3
  489. package/lib/form/components/SchemaForm/valueType/index.js +7 -6
  490. package/lib/form/components/Segmented/index.js +20 -24
  491. package/lib/form/components/Select/index.js +69 -73
  492. package/lib/form/components/Slider/index.js +33 -35
  493. package/lib/form/components/Switch/index.js +24 -26
  494. package/lib/form/components/Text/index.js +73 -84
  495. package/lib/form/components/TextArea/index.js +17 -21
  496. package/lib/form/components/TreeSelect/index.js +20 -23
  497. package/lib/form/components/UploadButton/index.js +56 -103
  498. package/lib/form/components/UploadDragger/index.js +37 -44
  499. package/lib/form/components/index.js +42 -42
  500. package/lib/form/helpers/grid.js +68 -69
  501. package/lib/form/helpers/index.js +1 -1
  502. package/lib/form/index.js +8 -8
  503. package/lib/form/layouts/DrawerForm/index.js +149 -241
  504. package/lib/form/layouts/DrawerForm/style.js +26 -26
  505. package/lib/form/layouts/LightFilter/index.d.ts +12 -1
  506. package/lib/form/layouts/LightFilter/index.js +158 -141
  507. package/lib/form/layouts/LightFilter/style.js +52 -49
  508. package/lib/form/layouts/LoginForm/index.js +44 -48
  509. package/lib/form/layouts/LoginForm/style.js +71 -68
  510. package/lib/form/layouts/LoginFormPage/index.js +45 -49
  511. package/lib/form/layouts/LoginFormPage/style.js +136 -127
  512. package/lib/form/layouts/ModalForm/index.js +118 -203
  513. package/lib/form/layouts/ProForm/index.d.ts +1 -1
  514. package/lib/form/layouts/ProForm/index.js +5 -5
  515. package/lib/form/layouts/QueryFilter/Actions.js +23 -22
  516. package/lib/form/layouts/QueryFilter/index.js +177 -202
  517. package/lib/form/layouts/QueryFilter/style.js +45 -38
  518. package/lib/form/layouts/StepsForm/StepForm.d.ts +2 -3
  519. package/lib/form/layouts/StepsForm/StepForm.js +50 -72
  520. package/lib/form/layouts/StepsForm/index.js +174 -216
  521. package/lib/form/layouts/StepsForm/style.js +30 -29
  522. package/lib/form/layouts/index.js +9 -9
  523. package/lib/index.js +11 -11
  524. package/lib/layout/ProLayout.js +281 -292
  525. package/lib/layout/WrapContent.js +18 -14
  526. package/lib/layout/assert/Logo.js +96 -97
  527. package/lib/layout/components/AppsLogoComponents/AppsLogo.js +11 -12
  528. package/lib/layout/components/AppsLogoComponents/DefaultContent.js +19 -17
  529. package/lib/layout/components/AppsLogoComponents/SimpleContent.js +22 -19
  530. package/lib/layout/components/AppsLogoComponents/index.js +36 -40
  531. package/lib/layout/components/AppsLogoComponents/style/default.js +4 -3
  532. package/lib/layout/components/AppsLogoComponents/style/index.js +52 -51
  533. package/lib/layout/components/AppsLogoComponents/style/simple.js +3 -2
  534. package/lib/layout/components/CollapsedIcon/index.js +20 -17
  535. package/lib/layout/components/CollapsedIcon/style.js +40 -41
  536. package/lib/layout/components/Footer.js +23 -22
  537. package/lib/layout/components/FooterToolbar/index.js +59 -53
  538. package/lib/layout/components/FooterToolbar/style/index.js +38 -38
  539. package/lib/layout/components/FooterToolbar/style/stylish.js +11 -10
  540. package/lib/layout/components/GlobalFooter/index.js +27 -27
  541. package/lib/layout/components/GlobalFooter/style.js +31 -31
  542. package/lib/layout/components/GlobalHeader/ActionsContent.js +65 -81
  543. package/lib/layout/components/GlobalHeader/index.js +61 -49
  544. package/lib/layout/components/GlobalHeader/rightContentStyle.js +49 -50
  545. package/lib/layout/components/GlobalHeader/style.js +58 -55
  546. package/lib/layout/components/GridContent/index.js +26 -21
  547. package/lib/layout/components/GridContent/style.js +14 -14
  548. package/lib/layout/components/Header/index.js +65 -59
  549. package/lib/layout/components/Header/style/header.js +49 -48
  550. package/lib/layout/components/Header/style/stylish.js +15 -12
  551. package/lib/layout/components/Help/AsyncContentPanel.js +15 -20
  552. package/lib/layout/components/Help/HelpProvide.js +1 -1
  553. package/lib/layout/components/Help/ProHelpContentPanel.js +66 -85
  554. package/lib/layout/components/Help/ProHelpDrawer.js +27 -32
  555. package/lib/layout/components/Help/ProHelpModal.d.ts +1 -1
  556. package/lib/layout/components/Help/ProHelpModal.js +26 -28
  557. package/lib/layout/components/Help/ProHelpPanel.js +86 -94
  558. package/lib/layout/components/Help/ProHelpPopover.js +20 -18
  559. package/lib/layout/components/Help/RenderContentPanel.js +36 -26
  560. package/lib/layout/components/Help/Search.js +55 -80
  561. package/lib/layout/components/Help/index.js +19 -20
  562. package/lib/layout/components/Help/style.js +82 -76
  563. package/lib/layout/components/PageContainer/index.js +172 -151
  564. package/lib/layout/components/PageContainer/style/index.js +95 -79
  565. package/lib/layout/components/PageContainer/style/stylish.js +11 -10
  566. package/lib/layout/components/PageHeader/index.js +99 -99
  567. package/lib/layout/components/PageHeader/style/index.js +142 -123
  568. package/lib/layout/components/PageLoading/index.js +18 -20
  569. package/lib/layout/components/SettingDrawer/BlockCheckbox.js +31 -34
  570. package/lib/layout/components/SettingDrawer/LayoutChange.js +25 -23
  571. package/lib/layout/components/SettingDrawer/RegionalChange.js +16 -16
  572. package/lib/layout/components/SettingDrawer/ThemeColor.js +34 -36
  573. package/lib/layout/components/SettingDrawer/index.js +138 -168
  574. package/lib/layout/components/SettingDrawer/style/index.js +141 -138
  575. package/lib/layout/components/SiderMenu/BaseMenu.js +235 -221
  576. package/lib/layout/components/SiderMenu/SiderMenu.js +128 -117
  577. package/lib/layout/components/SiderMenu/index.js +49 -44
  578. package/lib/layout/components/SiderMenu/style/index.js +179 -162
  579. package/lib/layout/components/SiderMenu/style/menu.js +148 -111
  580. package/lib/layout/components/SiderMenu/style/stylish.js +15 -12
  581. package/lib/layout/components/TopNavHeader/index.js +73 -62
  582. package/lib/layout/components/TopNavHeader/style.js +64 -64
  583. package/lib/layout/context/RouteContext.js +1 -1
  584. package/lib/layout/defaultSettings.js +1 -1
  585. package/lib/layout/getPageTitle.js +27 -26
  586. package/lib/layout/index.js +16 -16
  587. package/lib/layout/locales/en-US.js +3 -2
  588. package/lib/layout/locales/index.js +8 -6
  589. package/lib/layout/locales/it-IT.js +3 -2
  590. package/lib/layout/locales/ko-KR.js +3 -2
  591. package/lib/layout/locales/zh-CN.js +3 -2
  592. package/lib/layout/locales/zh-TW.js +3 -2
  593. package/lib/layout/style/index.js +48 -43
  594. package/lib/layout/utils/getBreadcrumbProps.js +65 -62
  595. package/lib/layout/utils/getMenuData.js +9 -13
  596. package/lib/layout/utils/pathTools.js +2 -6
  597. package/lib/layout/utils/useCurrentMenuLayoutProps.js +6 -11
  598. package/lib/layout/utils/utils.js +16 -18
  599. package/lib/list/Item.js +155 -136
  600. package/lib/list/ListView.js +110 -119
  601. package/lib/list/constants.js +2 -2
  602. package/lib/list/index.js +72 -70
  603. package/lib/list/style/index.js +281 -214
  604. package/lib/provider/index.js +128 -118
  605. package/lib/provider/intl.js +56 -56
  606. package/lib/provider/typing/layoutToken.js +28 -25
  607. package/lib/provider/useStyle/index.js +55 -60
  608. package/lib/provider/utils/merge.js +12 -14
  609. package/lib/skeleton/components/Descriptions/index.js +213 -229
  610. package/lib/skeleton/components/List/index.js +211 -221
  611. package/lib/skeleton/components/Result/index.js +45 -47
  612. package/lib/skeleton/index.js +23 -19
  613. package/lib/table/Store/Provide.d.ts +4 -4
  614. package/lib/table/Store/Provide.js +103 -117
  615. package/lib/table/Table.d.ts +5 -2
  616. package/lib/table/Table.js +524 -689
  617. package/lib/table/TableSearch.d.ts +24 -0
  618. package/lib/table/TableSearch.js +61 -0
  619. package/lib/table/TableToolbar.d.ts +22 -0
  620. package/lib/table/TableToolbar.js +55 -0
  621. package/lib/table/components/Alert/index.js +41 -40
  622. package/lib/table/components/Alert/style.js +28 -28
  623. package/lib/table/components/ColumnSetting/index.js +228 -224
  624. package/lib/table/components/ColumnSetting/style.js +86 -72
  625. package/lib/table/components/DragSortTable/index.js +64 -78
  626. package/lib/table/components/DragSortTable/style.js +20 -20
  627. package/lib/table/components/Dropdown/index.js +42 -48
  628. package/lib/table/components/EditableTable/CellEditorTable.js +24 -32
  629. package/lib/table/components/EditableTable/RowEditorTable.js +23 -28
  630. package/lib/table/components/EditableTable/index.js +293 -327
  631. package/lib/table/components/Form/FormRender.js +99 -104
  632. package/lib/table/components/Form/index.d.ts +4 -19
  633. package/lib/table/components/Form/index.js +113 -159
  634. package/lib/table/components/ListToolBar/HeaderMenu.js +42 -51
  635. package/lib/table/components/ListToolBar/index.js +123 -148
  636. package/lib/table/components/ListToolBar/style.js +127 -118
  637. package/lib/table/components/ToolBar/DensityIcon.js +10 -9
  638. package/lib/table/components/ToolBar/FullscreenIcon.js +5 -10
  639. package/lib/table/components/ToolBar/index.d.ts +2 -8
  640. package/lib/table/components/ToolBar/index.js +154 -194
  641. package/lib/table/index.js +27 -27
  642. package/lib/table/style/index.js +144 -113
  643. package/lib/table/typing.d.ts +4 -0
  644. package/lib/table/useFetchData.js +197 -337
  645. package/lib/table/utils/cellRenderToFromItem.js +106 -120
  646. package/lib/table/utils/columnRender.js +65 -54
  647. package/lib/table/utils/columnSort.js +24 -23
  648. package/lib/table/utils/genProColumnToColumn.d.ts +13 -9
  649. package/lib/table/utils/genProColumnToColumn.js +121 -99
  650. package/lib/table/utils/index.d.ts +10 -0
  651. package/lib/table/utils/index.js +127 -181
  652. package/lib/table/utils/useDragSort.d.ts +1 -1
  653. package/lib/table/utils/useDragSort.js +99 -93
  654. package/lib/table/utils/usePageInfo.d.ts +6 -0
  655. package/lib/table/utils/usePageInfo.js +61 -0
  656. package/lib/utils/components/DropdownFooter/index.js +25 -23
  657. package/lib/utils/components/DropdownFooter/style.js +16 -16
  658. package/lib/utils/components/ErrorBoundary/index.js +28 -50
  659. package/lib/utils/components/FieldLabel/index.js +70 -71
  660. package/lib/utils/components/FieldLabel/style.js +104 -82
  661. package/lib/utils/components/FilterDropdown/index.d.ts +11 -0
  662. package/lib/utils/components/FilterDropdown/index.js +44 -33
  663. package/lib/utils/components/FilterDropdown/style.js +19 -17
  664. package/lib/utils/components/InlineErrorFormItem/index.js +80 -80
  665. package/lib/utils/components/InlineErrorFormItem/style.js +56 -50
  666. package/lib/utils/components/LabelIconTip/index.js +30 -32
  667. package/lib/utils/components/LabelIconTip/style.js +36 -36
  668. package/lib/utils/components/ProFormContext/index.js +1 -1
  669. package/lib/utils/conversionMomentValue/index.js +22 -23
  670. package/lib/utils/dateArrayFormatter/index.js +11 -15
  671. package/lib/utils/genCopyable/index.js +75 -33
  672. package/lib/utils/getFieldPropsOrFormItemProps/index.js +3 -2
  673. package/lib/utils/hooks/useDebounceFn/index.js +18 -52
  674. package/lib/utils/hooks/useDebounceValue/index.js +7 -17
  675. package/lib/utils/hooks/useDeepCompareEffect/index.js +7 -19
  676. package/lib/utils/hooks/useDocumentTitle/index.js +2 -2
  677. package/lib/utils/hooks/useFetchData/index.js +36 -65
  678. package/lib/utils/hooks/useForceRender/index.js +2 -10
  679. package/lib/utils/hooks/useLatest/index.js +4 -3
  680. package/lib/utils/hooks/usePrevious/index.js +5 -4
  681. package/lib/utils/hooks/useReactiveRef/index.js +2 -2
  682. package/lib/utils/hooks/useRefCallback/index.js +3 -3
  683. package/lib/utils/hooks/useRefFunction/index.js +6 -11
  684. package/lib/utils/index.d.ts +1 -2
  685. package/lib/utils/index.js +57 -65
  686. package/lib/utils/isBrowser/index.js +4 -3
  687. package/lib/utils/isDeepEqualReact/index.js +9 -45
  688. package/lib/utils/isDropdownValueType/index.js +4 -3
  689. package/lib/utils/isNil/index.js +2 -3
  690. package/lib/utils/isUrl/index.js +4 -3
  691. package/lib/utils/merge/index.js +12 -14
  692. package/lib/utils/nanoid/index.js +7 -7
  693. package/lib/utils/omitBoolean/index.js +3 -2
  694. package/lib/utils/omitUndefined/index.js +5 -4
  695. package/lib/utils/omitUndefinedAndEmptyArr/index.js +6 -6
  696. package/lib/utils/parseValueToMoment/index.js +5 -8
  697. package/lib/utils/pickProFormItemProps/index.js +3 -3
  698. package/lib/utils/pickProProps/index.js +6 -7
  699. package/lib/utils/proFieldParsingText/index.js +89 -99
  700. package/lib/utils/runFunction/index.js +2 -5
  701. package/lib/utils/stringify/index.js +2 -2
  702. package/lib/utils/transformKeySubmitValue/index.js +101 -117
  703. package/lib/utils/useEditableArray/index.d.ts +6 -1
  704. package/lib/utils/useEditableArray/index.js +582 -735
  705. package/lib/utils/useEditableMap/index.d.ts +1 -1
  706. package/lib/utils/useEditableMap/index.js +88 -135
  707. package/lib/utils/useMediaQuery/index.js +40 -35
  708. package/lib/utils/useMediaQuery/query.js +7 -18
  709. package/lib/version.js +1 -1
  710. package/package.json +20 -31
  711. package/es/utils/useMountMergeState/index.d.ts +0 -2
  712. package/es/utils/useMountMergeState/index.js +0 -2
  713. package/lib/utils/useMountMergeState/index.d.ts +0 -2
  714. package/lib/utils/useMountMergeState/index.js +0 -12
@@ -0,0 +1,150 @@
1
+ ### EditableProTable
2
+
3
+ **Purpose**: A specific mode of ProTable for editing data rows directly within the table.
4
+
5
+ **When to use**:
6
+
7
+ - When you need to edit data line by line.
8
+ - For inline editing scenarios where a full form is too heavy.
9
+ - Supports adding new rows, deleting rows, and editing existing rows.
10
+
11
+ **Semantic**:
12
+
13
+ - Uses `ProTable` with the `editable` prop configuration.
14
+ - Can manage data via `value` (controlled) or internal state.
15
+
16
+ **API Overview**:
17
+
18
+ - `editable`: Configuration object for edit mode.
19
+ - `type`: 'single' | 'multiple' (default: 'single').
20
+ - `editableKeys`: Keys of the rows currently being edited (controlled).
21
+ - `onChange`: Callback when data changes.
22
+ - `onSave`: Async callback when a row is saved. `(key, record, originRow) => Promise<any>`
23
+ - `onDelete`: Async callback when a row is deleted.
24
+ - `actionRender`: Custom render for the action column.
25
+ - `recordCreatorProps`: Configuration for the "Add New" button.
26
+ - `record`: Default data for the new row.
27
+ - `position`: 'top' | 'bottom'.
28
+
29
+ **Usage Pattern**:
30
+
31
+ ```tsx
32
+ import { EditableProTable } from '@ant-design/pro-components';
33
+ import { useState } from 'react';
34
+
35
+ type DataSourceType = {
36
+ id: React.Key;
37
+ title?: string;
38
+ readonly?: string;
39
+ decs?: string;
40
+ state?: string;
41
+ created_at?: string;
42
+ update_at?: string;
43
+ children?: DataSourceType[];
44
+ };
45
+
46
+ const defaultData: DataSourceType[] = [
47
+ {
48
+ id: 624748504,
49
+ title: 'Activity name',
50
+ readonly: 'Read-only',
51
+ decs: 'Description',
52
+ state: 'open',
53
+ created_at: '2020-05-26T09:42:56Z',
54
+ update_at: '2020-05-26T09:42:56Z',
55
+ },
56
+ {
57
+ id: 624691229,
58
+ title: 'Activity name 2',
59
+ readonly: 'Read-only',
60
+ decs: 'Description',
61
+ state: 'closed',
62
+ created_at: '2020-05-26T08:19:22Z',
63
+ update_at: '2020-05-26T08:19:22Z',
64
+ },
65
+ ];
66
+
67
+ export default () => {
68
+ const [editableKeys, setEditableRowKeys] = useState<React.Key[]>([]);
69
+ const [dataSource, setDataSource] = useState<DataSourceType[]>(defaultData);
70
+
71
+ return (
72
+ <EditableProTable<DataSourceType>
73
+ rowKey="id"
74
+ headerTitle="Editable Table"
75
+ maxLength={5}
76
+ recordCreatorProps={{
77
+ position: 'bottom',
78
+ record: () => ({ id: (Math.random() * 1000000).toFixed(0) }),
79
+ }}
80
+ columns={[
81
+ {
82
+ title: 'Title',
83
+ dataIndex: 'title',
84
+ formItemProps: (form, { rowIndex }) => {
85
+ return {
86
+ rules: [{ required: true, message: 'Title is required' }],
87
+ };
88
+ },
89
+ // Columns can be editable
90
+ editable: true,
91
+ },
92
+ {
93
+ title: 'State',
94
+ key: 'state',
95
+ dataIndex: 'state',
96
+ valueType: 'select',
97
+ valueEnum: {
98
+ all: { text: 'All', status: 'Default' },
99
+ open: { text: 'Open', status: 'Error' },
100
+ closed: { text: 'Closed', status: 'Success' },
101
+ },
102
+ },
103
+ {
104
+ title: 'Option',
105
+ valueType: 'option',
106
+ width: 200,
107
+ render: (text, record, _, action) => [
108
+ <a
109
+ key="editable"
110
+ onClick={() => {
111
+ action?.startEditable?.(record.id);
112
+ }}
113
+ >
114
+ Edit
115
+ </a>,
116
+ <a
117
+ key="delete"
118
+ onClick={() => {
119
+ setDataSource(
120
+ dataSource.filter((item) => item.id !== record.id),
121
+ );
122
+ }}
123
+ >
124
+ Delete
125
+ </a>,
126
+ ],
127
+ },
128
+ ]}
129
+ value={dataSource}
130
+ onChange={setDataSource}
131
+ editable={{
132
+ type: 'multiple',
133
+ editableKeys,
134
+ onSave: async (rowKey, data, row) => {
135
+ console.log(rowKey, data, row);
136
+ await new Promise((resolve) => setTimeout(resolve, 2000));
137
+ },
138
+ onChange: setEditableRowKeys,
139
+ }}
140
+ />
141
+ );
142
+ };
143
+ ```
144
+
145
+ **Common Mistakes**:
146
+
147
+ - Forgetting to provide a unique `rowKey`.
148
+ - Not handling `editableKeys` properly in controlled mode.
149
+ - Assuming `onSave` automatically updates the data source (you often need to update state manually or use `onChange` for local data).
150
+ - Not configuring `recordCreatorProps` correctly for new rows.
@@ -0,0 +1,88 @@
1
+ ### ModalForm
2
+
3
+ **Purpose**: A form wrapped in a Modal, used for creating or editing data in a dialog.
4
+
5
+ **When to use**:
6
+
7
+ - For "Create" or "Edit" actions that don't require a full page.
8
+ - When you need a quick interaction without leaving the current context.
9
+ - When the form content is relatively short.
10
+
11
+ **Semantic**:
12
+
13
+ - Combines `antd` Modal and `ProForm`.
14
+ - Automatically handles the `visible` (via `trigger`) and `loading` states.
15
+
16
+ **API Overview**:
17
+
18
+ - `trigger`: ReactNode. The element that opens the modal when clicked.
19
+ - `title`: Modal title.
20
+ - `width`: Modal width.
21
+ - `open`: Controlled visibility state (optional).
22
+ - `onOpenChange`: Callback when visibility changes.
23
+ - `onFinish`: Async function. The modal closes automatically if this returns `true`.
24
+ - `modalProps`: Props passed to the underlying `antd` Modal.
25
+
26
+ **Usage Pattern**:
27
+
28
+ ```tsx
29
+ import {
30
+ ModalForm,
31
+ ProFormText,
32
+ ProFormSelect,
33
+ } from '@ant-design/pro-components';
34
+ import { Button, message } from 'antd';
35
+ import { PlusOutlined } from '@ant-design/icons';
36
+
37
+ export default () => {
38
+ return (
39
+ <ModalForm<{
40
+ name: string;
41
+ company: string;
42
+ }>
43
+ title="Create New Entry"
44
+ trigger={
45
+ <Button type="primary">
46
+ <PlusOutlined />
47
+ New Entry
48
+ </Button>
49
+ }
50
+ autoFocusFirstInput
51
+ modalProps={{
52
+ destroyOnClose: true,
53
+ onCancel: () => console.log('run'),
54
+ }}
55
+ onFinish={async (values) => {
56
+ await waitTime(2000);
57
+ console.log(values.name);
58
+ message.success('Submitted successfully');
59
+ return true;
60
+ }}
61
+ >
62
+ <ProFormText
63
+ width="md"
64
+ name="name"
65
+ label="Name"
66
+ placeholder="Please enter name"
67
+ rules={[{ required: true, message: 'This is required' }]}
68
+ />
69
+ <ProFormSelect
70
+ width="md"
71
+ name="type"
72
+ label="Type"
73
+ options={[
74
+ { value: '1', label: 'Type 1' },
75
+ { value: '2', label: 'Type 2' },
76
+ ]}
77
+ />
78
+ </ModalForm>
79
+ );
80
+ };
81
+ ```
82
+
83
+ **Best Practices**:
84
+
85
+ - Always use `trigger` when possible to avoid managing `open` state manually.
86
+ - Return `true` in `onFinish` to close the modal. Return `false` or nothing to keep it open (e.g. if validation fails).
87
+ - Use `modalProps={{ destroyOnClose: true }}` to reset the form when closed.
88
+ - Keep the form simple. If the form is very long, consider using `DrawerForm` or `StepsForm`.
@@ -0,0 +1,90 @@
1
+ ### ProCard
2
+
3
+ **Purpose**: An extended Card component that supports grid layout, splitting, and tabs.
4
+
5
+ **When to use**:
6
+
7
+ - To organize content into sections.
8
+ - To create dashboard layouts with multiple cards.
9
+ - When you need a card that can be split vertically or horizontally.
10
+ - When you need tabs inside a card.
11
+
12
+ **API Overview**:
13
+
14
+ - `title`: Card title.
15
+ - `extra`: Action area in top right.
16
+ - `split`: 'vertical' | 'horizontal'. Split the card into multiple sections.
17
+ - `colSpan`: Grid width (like `antd` Col).
18
+ - `gutter`: Spacing between grid items.
19
+ - `tabs`: Configure tabs inside the card.
20
+ - `collapsible`: Whether the card can be collapsed.
21
+ - `ghost`: Transparent background.
22
+
23
+ **Usage Pattern**:
24
+
25
+ ```tsx
26
+ import { ProCard } from '@ant-design/pro-components';
27
+
28
+ export default () => {
29
+ return (
30
+ <ProCard
31
+ title="Card Title"
32
+ extra="More"
33
+ split="vertical"
34
+ bordered
35
+ headerBordered
36
+ >
37
+ <ProCard title="Left Details" colSpan="50%">
38
+ Left Content
39
+ </ProCard>
40
+ <ProCard title="Right Details">
41
+ <div style={{ height: 360 }}>Right Content</div>
42
+ </ProCard>
43
+ </ProCard>
44
+ );
45
+ };
46
+ ```
47
+
48
+ **Grid Layout**:
49
+
50
+ ```tsx
51
+ <ProCard gutter={16} ghost>
52
+ <ProCard colSpan={12} layout="center" bordered>
53
+ Col 12
54
+ </ProCard>
55
+ <ProCard colSpan={6} layout="center" bordered>
56
+ Col 6
57
+ </ProCard>
58
+ <ProCard colSpan={6} layout="center" bordered>
59
+ Col 6
60
+ </ProCard>
61
+ </ProCard>
62
+ ```
63
+
64
+ **Tabs**:
65
+
66
+ ```tsx
67
+ <ProCard
68
+ tabs={{
69
+ type: 'card',
70
+ items: [
71
+ {
72
+ label: 'Tab 1',
73
+ key: 'tab1',
74
+ children: 'Content 1',
75
+ },
76
+ {
77
+ label: 'Tab 2',
78
+ key: 'tab2',
79
+ children: 'Content 2',
80
+ },
81
+ ],
82
+ }}
83
+ />
84
+ ```
85
+
86
+ **Best Practices**:
87
+
88
+ - Use `ghost` mode when placing cards on a gray background (like in `ProLayout`).
89
+ - Use `split` to create master-detail views.
90
+ - Use `colSpan` for responsive layouts.
@@ -0,0 +1,96 @@
1
+ ### ProForm
2
+
3
+ **Purpose**: High-performance form component with layout capabilities and preset fields.
4
+
5
+ **When to use**:
6
+
7
+ - For standard data entry forms on a page.
8
+ - When you need a simple, direct form without modal or drawer wrappers.
9
+
10
+ **Note**:
11
+
12
+ - For forms in a Modal, see [ModalForm](modal-form.md).
13
+ - For forms in a Drawer, see [DrawerForm](drawer-form.md).
14
+ - For multi-step forms, see [StepsForm](steps-form.md).
15
+
16
+ **API Overview**:
17
+
18
+ - `onFinish`: Triggered on form submission. `(values) => Promise<boolean | void>`
19
+ - `initialValues`: Initial values.
20
+ - `submitter`: Configure the submit/reset buttons.
21
+ - `layout`: Form layout ('horizontal', 'vertical', 'inline').
22
+ - `grid`: Enable grid layout for children.
23
+
24
+ **Field Components**:
25
+
26
+ - `ProFormText`
27
+ - `ProFormTextArea`
28
+ - `ProFormSelect`
29
+ - `ProFormDatePicker`
30
+ - `ProFormDateRangePicker`
31
+ - `ProFormDigit`
32
+ - `ProFormSwitch`
33
+ - `ProFormUploadButton`
34
+ - ...and many more.
35
+
36
+ **Usage Pattern**:
37
+
38
+ ```tsx
39
+ import {
40
+ ProForm,
41
+ ProFormText,
42
+ ProFormSelect,
43
+ ProFormDateRangePicker,
44
+ } from '@ant-design/pro-components';
45
+ import { message } from 'antd';
46
+
47
+ export default () => {
48
+ return (
49
+ <ProForm
50
+ onFinish={async (values) => {
51
+ console.log(values);
52
+ message.success('Submitted successfully');
53
+ }}
54
+ initialValues={{
55
+ name: 'Ant Design',
56
+ useMode: 'chapter',
57
+ }}
58
+ >
59
+ <ProForm.Group>
60
+ <ProFormText
61
+ width="md"
62
+ name="name"
63
+ label="Contract Name"
64
+ tooltip="The name of the contract"
65
+ placeholder="Please enter a name"
66
+ rules={[{ required: true, message: 'Please enter a name' }]}
67
+ />
68
+ <ProFormText
69
+ width="md"
70
+ name="company"
71
+ label="Company"
72
+ placeholder="Please enter a company"
73
+ />
74
+ </ProForm.Group>
75
+ <ProForm.Group>
76
+ <ProFormSelect
77
+ request={async () => [
78
+ { label: 'Chapter', value: 'chapter' },
79
+ { label: 'Section', value: 'section' },
80
+ ]}
81
+ width="xs"
82
+ name="useMode"
83
+ label="Contract Mode"
84
+ />
85
+ <ProFormDateRangePicker name="contractTime" label="Contract Time" />
86
+ </ProForm.Group>
87
+ </ProForm>
88
+ );
89
+ };
90
+ ```
91
+
92
+ **Best Practices**:
93
+
94
+ - Use `ProForm.Group` to group related fields.
95
+ - Use `width` prop to control field width (`xs`, `sm`, `md`, `lg`, `xl`) instead of raw pixels for consistency.
96
+ - Use `request` in `ProFormSelect` to load options asynchronously.
@@ -0,0 +1,84 @@
1
+ ### ProLayout
2
+
3
+ **Purpose**: A heavy-duty layout component that provides a complete application frame including Sidebar, Header, Content, and Footer.
4
+
5
+ **When to use**:
6
+
7
+ - As the root component of your admin application.
8
+ - When you need a responsive layout with collapsible sidebar.
9
+ - When you need automatic menu generation from routes.
10
+
11
+ **API Overview**:
12
+
13
+ - `layout`: 'side' | 'top' | 'mix'.
14
+ - `route`: Route configuration object.
15
+ - `location`: Current location (usually from router).
16
+ - `menuItemRender`: Custom render for menu items.
17
+ - `headerContentRender`: Custom content in the header.
18
+ - `rightContentRender`: Custom content in the top right (user profile, settings).
19
+ - `footerRender`: Custom footer.
20
+ - `token`: Design tokens for customization.
21
+
22
+ **Usage Pattern**:
23
+
24
+ ```tsx
25
+ import { ProLayout } from '@ant-design/pro-components';
26
+ import { Button } from 'antd';
27
+
28
+ export default (props) => {
29
+ return (
30
+ <ProLayout
31
+ title="My Application"
32
+ logo="https://gw.alipayobjects.com/zos/antfincdn/upvrAjAPQX/Logo_Tech%252520UI.svg"
33
+ layout="mix"
34
+ splitMenus={false}
35
+ route={{
36
+ routes: [
37
+ {
38
+ path: '/welcome',
39
+ name: 'Welcome',
40
+ icon: 'smile',
41
+ },
42
+ {
43
+ path: '/admin',
44
+ name: 'Admin',
45
+ icon: 'crown',
46
+ routes: [
47
+ {
48
+ path: '/admin/sub-page',
49
+ name: 'Sub Page',
50
+ icon: 'smile',
51
+ component: './Welcome',
52
+ },
53
+ ],
54
+ },
55
+ ],
56
+ }}
57
+ location={{
58
+ pathname: '/welcome',
59
+ }}
60
+ avatarProps={{
61
+ src: 'https://gw.alipayobjects.com/zos/antfincdn/efFD%24IOql2/weixintupian_20170331104822.jpg',
62
+ title: 'User Name',
63
+ size: 'small',
64
+ }}
65
+ actionsRender={(props) => {
66
+ if (props.isMobile) return [];
67
+ return [
68
+ <Button key="key" type="text">
69
+ Action
70
+ </Button>,
71
+ ];
72
+ }}
73
+ >
74
+ {props.children}
75
+ </ProLayout>
76
+ );
77
+ };
78
+ ```
79
+
80
+ **Common Mistakes**:
81
+
82
+ - Not passing `location` causing the menu highlight to fail.
83
+ - Forgetting to handle `menuItemRender` when using a router (like `react-router-dom`) to use `Link` instead of `a` tags.
84
+ - Using `mix` layout without setting `splitMenus` correctly for the desired behavior.
@@ -0,0 +1,142 @@
1
+ ### ProTable
2
+
3
+ **Purpose**: Advanced table component that solves common table issues like search, filter, sort, and pagination.
4
+
5
+ **When to use**:
6
+
7
+ - For admin interfaces displaying lists of data.
8
+ - When you need built-in search/filter forms.
9
+ - When you need to handle server-side sorting and pagination easily.
10
+
11
+ **Note**: If you need an editable table, please refer to [EditableProTable](editable-pro-table.md).
12
+
13
+ **Semantic**:
14
+
15
+ - Uses `antd` Table under the hood but adds a search form above and toolbars.
16
+ - `dataSource` can be fetched automatically via `request` prop.
17
+
18
+ **API Overview**:
19
+
20
+ - `columns`: Array of `ProColumns`. Defines table columns and search form fields.
21
+ - `request`: Function to fetch data. `(params, sort, filter) => Promise<{ data, success, total }>`
22
+ - `rowKey`: Unique key for each row (required).
23
+ - `headerTitle`: Title of the table.
24
+ - `toolBarRender`: Render custom actions in the toolbar.
25
+ - `actionRef`: Ref to trigger table actions like `reload()`.
26
+
27
+ **ProColumns Configuration**:
28
+
29
+ - `dataIndex`: Key in the data object.
30
+ - `title`: Column header title.
31
+ - `valueType`: Type of the data (e.g. `date`, `money`, `select`).
32
+ - `hideInSearch`: Hide this field in the search form.
33
+ - `hideInTable`: Hide this column in the table.
34
+ - `search`: Configure search behavior (transform, etc.).
35
+ - `render`: Custom render function.
36
+ - `valueEnum`: Map of values for `select` type.
37
+
38
+ **Usage Pattern**:
39
+
40
+ ```tsx
41
+ import { ProTable } from '@ant-design/pro-components';
42
+ import { useRef } from 'react';
43
+
44
+ // Define the data type
45
+ type GithubIssueItem = {
46
+ id: number;
47
+ number: number;
48
+ title: string;
49
+ state: string;
50
+ created_at: string;
51
+ };
52
+
53
+ export default () => {
54
+ const actionRef = useRef();
55
+
56
+ return (
57
+ <ProTable<GithubIssueItem>
58
+ columns={[
59
+ {
60
+ title: 'Title',
61
+ dataIndex: 'title',
62
+ copyable: true,
63
+ ellipsis: true,
64
+ tip: 'Title is too long',
65
+ formItemProps: {
66
+ rules: [
67
+ {
68
+ required: true,
69
+ message: 'This is required',
70
+ },
71
+ ],
72
+ },
73
+ },
74
+ {
75
+ title: 'State',
76
+ dataIndex: 'state',
77
+ valueType: 'select',
78
+ valueEnum: {
79
+ open: { text: 'Open', status: 'Error' },
80
+ closed: { text: 'Closed', status: 'Success' },
81
+ },
82
+ },
83
+ {
84
+ title: 'Created At',
85
+ dataIndex: 'created_at',
86
+ valueType: 'date',
87
+ sorter: true,
88
+ hideInSearch: true,
89
+ },
90
+ {
91
+ title: 'Option',
92
+ valueType: 'option',
93
+ render: (text, record, _, action) => [
94
+ <a
95
+ key="view"
96
+ onClick={() => {
97
+ // View action
98
+ }}
99
+ >
100
+ View
101
+ </a>,
102
+ ],
103
+ },
104
+ ]}
105
+ actionRef={actionRef}
106
+ cardBordered
107
+ request={async (params = {}, sort, filter) => {
108
+ // Mock request
109
+ return {
110
+ data: [],
111
+ success: true,
112
+ total: 0,
113
+ };
114
+ }}
115
+ columnsState={{
116
+ persistenceKey: 'pro-table-singe-demos',
117
+ persistenceType: 'localStorage',
118
+ defaultValue: {
119
+ option: { fixed: 'right', disable: true },
120
+ },
121
+ }}
122
+ rowKey="id"
123
+ search={{
124
+ labelWidth: 'auto',
125
+ }}
126
+ pagination={{
127
+ pageSize: 5,
128
+ onChange: (page) => console.log(page),
129
+ }}
130
+ dateFormatter="string"
131
+ headerTitle="Advanced Table"
132
+ />
133
+ );
134
+ };
135
+ ```
136
+
137
+ **Common Mistakes**:
138
+
139
+ - Forgetting `rowKey`.
140
+ - Manually managing `dataSource` and `loading` when `request` is better.
141
+ - Not using `valueType` and writing custom `render` for everything.
142
+ - Modifying `params` directly in `request` without returning the correct structure.