@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
@@ -15,7 +15,7 @@ export declare function useEditableMap<RecordType>(props: RowEditableConfig<Reco
15
15
  setDataSource: (dataSource: RecordType) => void;
16
16
  }): {
17
17
  editableKeys: React.Key[];
18
- setEditableRowKeys: (updater: React.Key[] | ((origin: React.Key[]) => React.Key[]), ignoreDestroy?: boolean | undefined) => void;
18
+ setEditableRowKeys: (updater: React.Key[] | ((prev: React.Key[]) => React.Key[])) => void;
19
19
  isEditable: (recordKey: RecordKey) => boolean;
20
20
  actionRender: (key: RecordKey, config?: ActionTypeText<RecordType>) => React.ReactNode[] | (import("react/jsx-runtime").JSX.Element | undefined)[];
21
21
  startEditable: (recordKey: RecordKey, recordValue?: any) => boolean;
@@ -1,9 +1,4 @@
1
- import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
2
- import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
3
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
4
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
6
- /* eslint-disable react-hooks/exhaustive-deps */import { get, useMergedState } from '@rc-component/util';
1
+ /* eslint-disable react-hooks/exhaustive-deps */import { get, useControlledState } from '@rc-component/util';
7
2
  import { message } from 'antd';
8
3
  import { useCallback, useMemo, useRef } from 'react';
9
4
  import { useRefFunction } from '..';
@@ -14,7 +9,7 @@ import { defaultActionRender, recordKeyToString } from "../useEditableArray";
14
9
  * 显示警告信息
15
10
  * @param messageStr
16
11
  */
17
- var warning = function warning(messageStr) {
12
+ const warning = messageStr => {
18
13
  return message.warning(messageStr);
19
14
  };
20
15
  /**
@@ -23,10 +18,14 @@ var warning = function warning(messageStr) {
23
18
  * @param params
24
19
  * @param action
25
20
  */
26
- function editableRowByKey(_ref) {
27
- var data = _ref.data,
28
- row = _ref.row;
29
- return _objectSpread(_objectSpread({}, data), row);
21
+ function editableRowByKey({
22
+ data,
23
+ row
24
+ }) {
25
+ return {
26
+ ...data,
27
+ ...row
28
+ };
30
29
  }
31
30
  /**
32
31
  * 一个方便的hooks 用于维护编辑的状态
@@ -37,50 +36,45 @@ export function useEditableMap(props) {
37
36
  /**
38
37
  * 点击开始编辑之前的保存数据用的
39
38
  */
40
- var preEditRowRef = useRef(null);
41
- var editableType = props.type || 'single';
39
+ const preEditRowRef = useRef(null);
40
+ const preEditRowRefs = useRef(new Map());
41
+ const editableType = props.type || 'single';
42
42
 
43
43
  // Internationalization
44
- var intl = useIntl();
45
- var _useMergedState = useMergedState([], {
46
- value: props.editableKeys,
47
- onChange: props.onChange ? function (keys) {
48
- var _props$onChange;
49
- props === null || props === void 0 || (_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props,
50
- // 计算编辑的key
51
- keys, props.dataSource);
52
- } : undefined
53
- }),
54
- _useMergedState2 = _slicedToArray(_useMergedState, 2),
55
- editableKeys = _useMergedState2[0],
56
- setEditableRowKeys = _useMergedState2[1];
44
+ const intl = useIntl();
45
+ const [editableKeys, setEditableRowKeysInner] = useControlledState([], props.editableKeys);
46
+ const setEditableRowKeys = useCallback(updater => {
47
+ setEditableRowKeysInner(prev => {
48
+ const next = typeof updater === 'function' ? updater(prev) : updater;
49
+ props?.onChange?.(next, props.dataSource);
50
+ return next;
51
+ });
52
+ }, [props.onChange, props.dataSource]);
57
53
 
58
54
  /** 一个用来标志的set 提供了方便的 api 来去重什么的 */
59
- var editableKeysSet = useMemo(function () {
60
- var keys = editableType === 'single' ? (editableKeys === null || editableKeys === void 0 ? void 0 : editableKeys.slice(0, 1)) || [] : editableKeys || [];
61
- return new Set(keys.map(function (key) {
62
- return String(key);
63
- }));
55
+ const editableKeysSet = useMemo(() => {
56
+ const keys = editableType === 'single' ? editableKeys?.slice(0, 1) || [] : editableKeys || [];
57
+ return new Set(keys.map(key => String(key)));
64
58
  }, [editableKeys, editableType]);
65
59
 
66
60
  /**
67
61
  * 检查 key 是否在编辑列表中
68
62
  * 使用 editableKeysSet 进行快速查找,性能更好
69
63
  */
70
- var checkKeyInEditableList = useRefFunction(function (recordKey) {
71
- var keyStr = String(recordKeyToString(recordKey));
64
+ const checkKeyInEditableList = useRefFunction(recordKey => {
65
+ const keyStr = String(recordKeyToString(recordKey));
72
66
  return editableKeysSet.has(keyStr);
73
67
  });
74
68
 
75
69
  /** 这行是不是编辑状态 */
76
- var isEditable = useCallback(function (recordKey) {
70
+ const isEditable = useCallback(recordKey => {
77
71
  return checkKeyInEditableList(recordKey);
78
72
  }, [checkKeyInEditableList]);
79
73
 
80
74
  /**
81
75
  * 验证是否可以开始编辑
82
76
  */
83
- var validateCanStartEdit = useRefFunction(function () {
77
+ const validateCanStartEdit = useRefFunction(() => {
84
78
  // 如果是单行模式,检查是否已有编辑中的行
85
79
  if (editableType === 'single' && editableKeys && editableKeys.length > 0) {
86
80
  warning(props.onlyOneLineEditorAlertMessage || intl.getMessage('editableTable.onlyOneLineEditor', '只能同时编辑一行'));
@@ -95,13 +89,12 @@ export function useEditableMap(props) {
95
89
  * @param recordKey
96
90
  * @param recordValue
97
91
  */
98
- var startEditable = useRefFunction(function (recordKey, recordValue) {
99
- var _ref2;
92
+ const startEditable = useRefFunction((recordKey, recordValue) => {
100
93
  // 验证是否可以开始编辑
101
94
  if (!validateCanStartEdit()) {
102
95
  return false;
103
96
  }
104
- var keyStr = String(recordKeyToString(recordKey));
97
+ const keyStr = String(recordKeyToString(recordKey));
105
98
 
106
99
  // 检查是否已经在编辑列表中,避免重复添加
107
100
  if (checkKeyInEditableList(recordKey)) {
@@ -109,10 +102,11 @@ export function useEditableMap(props) {
109
102
  }
110
103
 
111
104
  // 保存编辑前的数据
112
- preEditRowRef.current = (_ref2 = recordValue !== null && recordValue !== void 0 ? recordValue : get(props.dataSource, Array.isArray(recordKey) ? recordKey : [recordKey])) !== null && _ref2 !== void 0 ? _ref2 : null;
105
+ preEditRowRef.current = recordValue ?? get(props.dataSource, Array.isArray(recordKey) ? recordKey : [recordKey]) ?? null;
106
+ preEditRowRefs.current.set(String(recordKeyToString(recordKey)), preEditRowRef.current);
113
107
 
114
108
  // 更新编辑 keys(不直接修改 editableKeysSet)
115
- var newKeys = editableType === 'single' ? [keyStr] : [].concat(_toConsumableArray(editableKeys || []), [keyStr]);
109
+ const newKeys = editableType === 'single' ? [keyStr] : [...(editableKeys || []), keyStr];
116
110
  setEditableRowKeys(newKeys);
117
111
  return true;
118
112
  });
@@ -122,8 +116,8 @@ export function useEditableMap(props) {
122
116
  *
123
117
  * @param recordKey
124
118
  */
125
- var cancelEditable = useRefFunction(function (recordKey) {
126
- var keyStr = String(recordKeyToString(recordKey));
119
+ const cancelEditable = useRefFunction(recordKey => {
120
+ const keyStr = String(recordKeyToString(recordKey));
127
121
 
128
122
  // 检查是否在编辑列表中
129
123
  if (!checkKeyInEditableList(recordKey)) {
@@ -131,9 +125,7 @@ export function useEditableMap(props) {
131
125
  }
132
126
 
133
127
  // 更新编辑 keys(不直接修改 editableKeysSet)
134
- var newKeys = (editableKeys || []).filter(function (key) {
135
- return String(key) !== keyStr;
136
- });
128
+ const newKeys = (editableKeys || []).filter(key => String(key) !== keyStr);
137
129
  setEditableRowKeys(newKeys);
138
130
  return true;
139
131
  });
@@ -141,100 +133,62 @@ export function useEditableMap(props) {
141
133
  /**
142
134
  * 取消编辑的回调
143
135
  */
144
- var onCancel = useRefFunction( /*#__PURE__*/function () {
145
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(recordKey, editRow, originRow, newLine) {
146
- var _props$onCancel;
147
- var success;
148
- return _regeneratorRuntime().wrap(function _callee$(_context) {
149
- while (1) switch (_context.prev = _context.next) {
150
- case 0:
151
- _context.next = 2;
152
- return props === null || props === void 0 || (_props$onCancel = props.onCancel) === null || _props$onCancel === void 0 ? void 0 : _props$onCancel.call(props, recordKey, editRow, originRow, newLine);
153
- case 2:
154
- success = _context.sent;
155
- if (!(success === false)) {
156
- _context.next = 5;
157
- break;
158
- }
159
- return _context.abrupt("return", false);
160
- case 5:
161
- return _context.abrupt("return", true);
162
- case 6:
163
- case "end":
164
- return _context.stop();
165
- }
166
- }, _callee);
167
- }));
168
- return function (_x, _x2, _x3, _x4) {
169
- return _ref3.apply(this, arguments);
170
- };
171
- }());
136
+ const onCancel = useRefFunction(async (recordKey, editRow, originRow, newLine) => {
137
+ const success = await props?.onCancel?.(recordKey, editRow, originRow, newLine);
138
+ if (success === false) {
139
+ return false;
140
+ }
141
+ return true;
142
+ });
172
143
 
173
144
  /**
174
145
  * 保存编辑的回调
175
146
  */
176
- var onSave = useRefFunction( /*#__PURE__*/function () {
177
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(recordKey, editRow, originRow) {
178
- var _props$onSave;
179
- var success, actionProps;
180
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
181
- while (1) switch (_context2.prev = _context2.next) {
182
- case 0:
183
- _context2.next = 2;
184
- return props === null || props === void 0 || (_props$onSave = props.onSave) === null || _props$onSave === void 0 ? void 0 : _props$onSave.call(props, recordKey, editRow, originRow);
185
- case 2:
186
- success = _context2.sent;
187
- if (!(success === false)) {
188
- _context2.next = 5;
189
- break;
190
- }
191
- return _context2.abrupt("return", false);
192
- case 5:
193
- _context2.next = 7;
194
- return cancelEditable(recordKey);
195
- case 7:
196
- // 更新数据源
197
- actionProps = {
198
- data: props.dataSource,
199
- row: editRow,
200
- key: recordKey,
201
- childrenColumnName: props.childrenColumnName || 'children'
202
- };
203
- props.setDataSource(editableRowByKey(actionProps));
204
- return _context2.abrupt("return", true);
205
- case 10:
206
- case "end":
207
- return _context2.stop();
208
- }
209
- }, _callee2);
210
- }));
211
- return function (_x5, _x6, _x7) {
212
- return _ref4.apply(this, arguments);
147
+ const onSave = useRefFunction(async (recordKey, editRow, originRow) => {
148
+ const success = await props?.onSave?.(recordKey, editRow, originRow);
149
+ if (success === false) {
150
+ return false;
151
+ }
152
+
153
+ // 先退出编辑状态
154
+ await cancelEditable(recordKey);
155
+ preEditRowRefs.current.delete(String(recordKeyToString(recordKey)));
156
+
157
+ // 更新数据源
158
+ const actionProps = {
159
+ data: props.dataSource,
160
+ row: editRow,
161
+ key: recordKey,
162
+ childrenColumnName: props.childrenColumnName || 'children'
213
163
  };
214
- }());
215
- var saveText = intl.getMessage('editableTable.action.save', '保存');
216
- var deleteText = intl.getMessage('editableTable.action.delete', '删除');
217
- var cancelText = intl.getMessage('editableTable.action.cancel', '取消');
164
+ props.setDataSource(editableRowByKey(actionProps));
165
+ return true;
166
+ });
167
+ const saveText = intl.getMessage('editableTable.action.save', '保存');
168
+ const deleteText = intl.getMessage('editableTable.action.delete', '删除');
169
+ const cancelText = intl.getMessage('editableTable.action.cancel', '取消');
218
170
 
219
171
  /**
220
172
  * 渲染操作按钮
221
173
  */
222
- var actionRender = useCallback(function (key, config) {
223
- var renderConfig = _objectSpread({
174
+ const actionRender = useCallback((key, config) => {
175
+ const renderConfig = {
224
176
  recordKey: key,
225
- cancelEditable: cancelEditable,
226
- onCancel: onCancel,
227
- onSave: onSave,
228
- editableKeys: editableKeys,
229
- setEditableRowKeys: setEditableRowKeys,
230
- saveText: saveText,
231
- cancelText: cancelText,
232
- preEditRowRef: preEditRowRef,
233
- deleteText: deleteText,
234
- deletePopconfirmMessage: "".concat(intl.getMessage('deleteThisLine', '删除此项'), "?"),
235
- editorType: 'Map'
236
- }, config);
237
- var renderResult = defaultActionRender(props.dataSource, renderConfig);
177
+ cancelEditable,
178
+ onCancel,
179
+ onSave,
180
+ editableKeys,
181
+ setEditableRowKeys,
182
+ saveText,
183
+ cancelText,
184
+ preEditRowRef,
185
+ preEditRowRefs,
186
+ deleteText,
187
+ deletePopconfirmMessage: `${intl.getMessage('deleteThisLine', '删除此项')}?`,
188
+ editorType: 'Map',
189
+ ...config
190
+ };
191
+ const renderResult = defaultActionRender(props.dataSource, renderConfig);
238
192
  if (props.actionRender) {
239
193
  return props.actionRender(props.dataSource, renderConfig, {
240
194
  save: renderResult.save,
@@ -245,11 +199,11 @@ export function useEditableMap(props) {
245
199
  return [renderResult.save, renderResult.delete, renderResult.cancel];
246
200
  }, [editableKeys, props.dataSource, cancelEditable, onCancel, onSave]);
247
201
  return {
248
- editableKeys: editableKeys,
249
- setEditableRowKeys: setEditableRowKeys,
250
- isEditable: isEditable,
251
- actionRender: actionRender,
252
- startEditable: startEditable,
253
- cancelEditable: cancelEditable
202
+ editableKeys,
203
+ setEditableRowKeys,
204
+ isEditable,
205
+ actionRender,
206
+ startEditable,
207
+ cancelEditable
254
208
  };
255
209
  }
@@ -35,6 +35,6 @@ export type MediaQueryKey = keyof typeof MediaQueryEnum;
35
35
  * `Rendered more hooks than during the previous render.`
36
36
  * So should use Array.forEach
37
37
  */
38
- export declare const getScreenClassName: () => "xxl" | "xl" | "lg" | "md" | "sm" | "xs" | undefined;
39
- declare const useBreakpoint: () => "xxl" | "xl" | "lg" | "md" | "sm" | "xs" | undefined;
38
+ export declare const getScreenClassName: () => "xs" | "sm" | "md" | "lg" | "xl" | "xxl" | undefined;
39
+ declare const useBreakpoint: () => "xs" | "sm" | "md" | "lg" | "xl" | "xxl" | undefined;
40
40
  export { useBreakpoint };
@@ -1,34 +1,38 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
1
+ import { theme } from 'antd';
2
2
  import { useEffect, useState } from 'react';
3
3
  import useMediaQuery from "./query";
4
- export var MediaQueryEnum = {
4
+ const {
5
+ getDesignToken
6
+ } = theme;
7
+ const token = getDesignToken();
8
+ export const MediaQueryEnum = {
5
9
  xs: {
6
- maxWidth: 575,
7
- matchMedia: '(max-width: 575px)'
10
+ maxWidth: token.screenXSMax,
11
+ matchMedia: `(max-width: ${token.screenXSMax}px)`
8
12
  },
9
13
  sm: {
10
- minWidth: 576,
11
- maxWidth: 767,
12
- matchMedia: '(min-width: 576px) and (max-width: 767px)'
14
+ minWidth: token.screenSMMin,
15
+ maxWidth: token.screenSMMax,
16
+ matchMedia: `(min-width: ${token.screenSMMin}px) and (max-width: ${token.screenSMMax}px)`
13
17
  },
14
18
  md: {
15
- minWidth: 768,
16
- maxWidth: 991,
17
- matchMedia: '(min-width: 768px) and (max-width: 991px)'
19
+ minWidth: token.screenMDMin,
20
+ maxWidth: token.screenMDMax,
21
+ matchMedia: `(min-width: ${token.screenMDMin}px) and (max-width: ${token.screenMDMax}px)`
18
22
  },
19
23
  lg: {
20
- minWidth: 992,
21
- maxWidth: 1199,
22
- matchMedia: '(min-width: 992px) and (max-width: 1199px)'
24
+ minWidth: token.screenLGMin,
25
+ maxWidth: token.screenLGMax,
26
+ matchMedia: `(min-width: ${token.screenLGMin}px) and (max-width: ${token.screenLGMax}px)`
23
27
  },
24
28
  xl: {
25
- minWidth: 1200,
26
- maxWidth: 1599,
27
- matchMedia: '(min-width: 1200px) and (max-width: 1599px)'
29
+ minWidth: token.screenXLMin,
30
+ maxWidth: token.screenXLMax,
31
+ matchMedia: `(min-width: ${token.screenXLMin}px) and (max-width: ${token.screenXLMax}px)`
28
32
  },
29
33
  xxl: {
30
- minWidth: 1600,
31
- matchMedia: '(min-width: 1600px)'
34
+ minWidth: token.screenXXLMin,
35
+ matchMedia: `(min-width: ${token.screenXXLMin}px)`
32
36
  }
33
37
  };
34
38
  /**
@@ -37,14 +41,16 @@ export var MediaQueryEnum = {
37
41
  * `Rendered more hooks than during the previous render.`
38
42
  * So should use Array.forEach
39
43
  */
40
- export var getScreenClassName = function getScreenClassName() {
41
- var queryKey = undefined;
44
+ export const getScreenClassName = () => {
45
+ let queryKey = undefined;
42
46
  // support ssr
43
47
  if (typeof window === 'undefined') {
44
48
  return queryKey;
45
49
  }
46
- var mediaQueryKey = Object.keys(MediaQueryEnum).find(function (key) {
47
- var matchMedia = MediaQueryEnum[key].matchMedia;
50
+ const mediaQueryKey = Object.keys(MediaQueryEnum).find(key => {
51
+ const {
52
+ matchMedia
53
+ } = MediaQueryEnum[key];
48
54
  if (window.matchMedia(matchMedia).matches) {
49
55
  return true;
50
56
  }
@@ -53,18 +59,15 @@ export var getScreenClassName = function getScreenClassName() {
53
59
  queryKey = mediaQueryKey;
54
60
  return queryKey;
55
61
  };
56
- var useBreakpoint = function useBreakpoint() {
57
- var isMd = useMediaQuery(MediaQueryEnum.md.matchMedia);
58
- var isLg = useMediaQuery(MediaQueryEnum.lg.matchMedia);
59
- var isXxl = useMediaQuery(MediaQueryEnum.xxl.matchMedia);
60
- var isXl = useMediaQuery(MediaQueryEnum.xl.matchMedia);
61
- var isSm = useMediaQuery(MediaQueryEnum.sm.matchMedia);
62
- var isXs = useMediaQuery(MediaQueryEnum.xs.matchMedia);
63
- var _useState = useState(getScreenClassName()),
64
- _useState2 = _slicedToArray(_useState, 2),
65
- colSpan = _useState2[0],
66
- setColSpan = _useState2[1];
67
- useEffect(function () {
62
+ const useBreakpoint = () => {
63
+ const isMd = useMediaQuery(MediaQueryEnum.md.matchMedia);
64
+ const isLg = useMediaQuery(MediaQueryEnum.lg.matchMedia);
65
+ const isXxl = useMediaQuery(MediaQueryEnum.xxl.matchMedia);
66
+ const isXl = useMediaQuery(MediaQueryEnum.xl.matchMedia);
67
+ const isSm = useMediaQuery(MediaQueryEnum.sm.matchMedia);
68
+ const isXs = useMediaQuery(MediaQueryEnum.xs.matchMedia);
69
+ const [colSpan, setColSpan] = useState(getScreenClassName());
70
+ useEffect(() => {
68
71
  if (process.env.NODE_ENV === 'TEST') {
69
72
  setColSpan(process.env.USE_MEDIA || 'md');
70
73
  return;
@@ -1,31 +1,21 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
1
  import { useEffect, useLayoutEffect, useState } from 'react';
3
2
  export default function useMediaQuery(mediaQuery) {
4
- var isSsr = typeof window === 'undefined';
5
- var _useState = useState(function () {
6
- return isSsr ? false : window.matchMedia(mediaQuery).matches;
7
- }),
8
- _useState2 = _slicedToArray(_useState, 2),
9
- matches = _useState2[0],
10
- setMatches = _useState2[1];
3
+ const isSsr = typeof window === 'undefined';
4
+ const [matches, setMatches] = useState(() => isSsr ? false : window.matchMedia(mediaQuery).matches);
11
5
 
12
6
  // 在 SSR 环境中使用 useEffect,在客户端使用 useLayoutEffect
13
7
  // 这样可以避免 SSR 警告,同时在客户端保持同步更新
14
8
  // 使用条件表达式确保 hooks 调用顺序一致
15
- var EffectHook = isSsr ? useEffect : useLayoutEffect;
16
- EffectHook(function () {
9
+ const EffectHook = isSsr ? useEffect : useLayoutEffect;
10
+ EffectHook(() => {
17
11
  if (isSsr) {
18
12
  return;
19
13
  }
20
- var mediaQueryList = window.matchMedia(mediaQuery);
21
- var listener = function listener(e) {
22
- return setMatches(e.matches);
23
- };
14
+ const mediaQueryList = window.matchMedia(mediaQuery);
15
+ const listener = e => setMatches(e.matches);
24
16
  // 使用最新的 addEventListener API
25
17
  mediaQueryList.addEventListener('change', listener);
26
- return function () {
27
- return mediaQueryList.removeEventListener('change', listener);
28
- };
18
+ return () => mediaQueryList.removeEventListener('change', listener);
29
19
  }, [mediaQuery, isSsr]);
30
20
  return matches;
31
21
  }
package/es/version.js CHANGED
@@ -1,3 +1,3 @@
1
- export var version = {
1
+ export const version = {
2
2
  '@ant-design/pro-components': '3.0.0'
3
3
  };
@@ -0,0 +1,33 @@
1
+ This project contains the source code for `@ant-design/pro-components`, a heavy-duty component library based on Ant Design. Files in the `guidelines` directory show how to use ProComponents properly.
2
+
3
+ Always read:
4
+
5
+ - All files with a name that starts `overview-`
6
+ - All files in the `design-tokens` folder
7
+
8
+ Read the files in the `guidelines/components` directory when you want to use the component with that name. For example, if you want to use ProTable, read `guidelines/components/pro-table.md`. Additional context can be found by reading the code for the corresponding component in `src/`.
9
+
10
+ ## Component Usage Guidelines - READ THIS FIRST
11
+
12
+ IMPORTANT: Always prefer to use components from `@ant-design/pro-components` if they exist and fit the use case (e.g. for heavy-duty tables, layouts, forms). For basic UI elements (buttons, inputs), use `antd`.
13
+
14
+ IMPORTANT: Follow these steps IN ORDER before writing any code:
15
+
16
+ Step 1: Read Overview Files (REQUIRED)
17
+ Read ALL files with a name that starts with "overview-" in the guidelines directory:
18
+ `overview-components.md`
19
+ `overview-icons.md`
20
+ (And any other overview-\*.md files)
21
+
22
+ Step 2: Read Design Tokens (REQUIRED)
23
+ Read ALL files in the `design-tokens/` folder. Do NOT skip this step.
24
+
25
+ Step 3: Plan what components you need to use (REQUIRED)
26
+
27
+ Step 4: Read Component Guidelines BEFORE Using Components (REQUIRED)
28
+ BEFORE using ANY component, you MUST read its guidelines file first if it exists.
29
+
30
+ Step 5: Plan what icons you need to use (REQUIRED)
31
+ Before using ANY icon, you must check to see if that icon exists in the `@ant-design/icons` package.
32
+
33
+ DO NOT write code using a component until you have read its specific guidelines.
@@ -0,0 +1,90 @@
1
+ ### DrawerForm
2
+
3
+ **Purpose**: A form wrapped in a Drawer, sliding from the side.
4
+
5
+ **When to use**:
6
+
7
+ - For creating or editing complex data that requires more vertical space than a Modal.
8
+ - When you want to keep the user in context but offer a larger workspace.
9
+ - For side-panel configuration or details editing.
10
+
11
+ **Semantic**:
12
+
13
+ - Combines `antd` Drawer and `ProForm`.
14
+ - Handles `visible` and `loading` states automatically.
15
+
16
+ **API Overview**:
17
+
18
+ - `trigger`: ReactNode. The element that opens the drawer.
19
+ - `title`: Drawer title.
20
+ - `width`: Drawer width (default is usually enough, but can be customized).
21
+ - `onFinish`: Async function. Drawer closes if returns `true`.
22
+ - `drawerProps`: Props passed to underlying `antd` Drawer.
23
+
24
+ **Usage Pattern**:
25
+
26
+ ```tsx
27
+ import {
28
+ DrawerForm,
29
+ ProFormText,
30
+ ProFormDatePicker,
31
+ ProFormSelect,
32
+ } from '@ant-design/pro-components';
33
+ import { Button, message } from 'antd';
34
+ import { PlusOutlined } from '@ant-design/icons';
35
+
36
+ export default () => {
37
+ return (
38
+ <DrawerForm<{
39
+ name: string;
40
+ company: string;
41
+ }>
42
+ title="New Project"
43
+ resize={{
44
+ onResize: (e) => {
45
+ console.log(e);
46
+ },
47
+ }}
48
+ trigger={
49
+ <Button type="primary">
50
+ <PlusOutlined />
51
+ New Project
52
+ </Button>
53
+ }
54
+ autoFocusFirstInput
55
+ drawerProps={{
56
+ destroyOnClose: true,
57
+ }}
58
+ onFinish={async (values) => {
59
+ await waitTime(2000);
60
+ console.log(values.name);
61
+ message.success('Submitted successfully');
62
+ return true;
63
+ }}
64
+ >
65
+ <ProFormText
66
+ name="name"
67
+ width="md"
68
+ label="Project Name"
69
+ tooltip="The name of the project"
70
+ rules={[{ required: true, message: 'Please enter a name' }]}
71
+ />
72
+ <ProFormDatePicker name="date" label="Date" />
73
+ <ProFormSelect
74
+ name="status"
75
+ label="Status"
76
+ options={[
77
+ { value: 'active', label: 'Active' },
78
+ { value: 'inactive', label: 'Inactive' },
79
+ ]}
80
+ />
81
+ </DrawerForm>
82
+ );
83
+ };
84
+ ```
85
+
86
+ **Best Practices**:
87
+
88
+ - Similar to `ModalForm`, use `trigger` to avoid state management.
89
+ - Use for longer forms where a Modal would require scrolling or feel cramped.
90
+ - Consider `drawerProps={{ destroyOnClose: true }}` to clean up state.