@ant-design/pro-components 3.0.0-beta.1 → 3.0.0-beta.3

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 (784) hide show
  1. package/dist/pro-components.min.js +1 -1
  2. package/es/card/ProCard.d.ts +0 -1
  3. package/es/card/ProCard.js +11 -23
  4. package/es/card/components/Actions/index.js +33 -28
  5. package/es/card/components/Actions/style.js +72 -100
  6. package/es/card/components/Card/index.js +212 -258
  7. package/es/card/components/Card/style.js +192 -266
  8. package/es/card/components/CheckCard/Group.js +198 -208
  9. package/es/card/components/CheckCard/index.js +151 -160
  10. package/es/card/components/CheckCard/style.js +186 -212
  11. package/es/card/components/Divider/index.js +23 -18
  12. package/es/card/components/Divider/style.js +30 -54
  13. package/es/card/components/Loading/index.js +80 -13
  14. package/es/card/components/Loading/style.js +42 -63
  15. package/es/card/components/Operation/index.js +22 -17
  16. package/es/card/components/Operation/style.js +19 -43
  17. package/es/card/components/Statistic/index.js +79 -96
  18. package/es/card/components/Statistic/style.js +76 -115
  19. package/es/card/components/StatisticCard/index.d.ts +0 -2
  20. package/es/card/components/StatisticCard/index.js +59 -70
  21. package/es/card/components/StatisticCard/style.js +36 -55
  22. package/es/card/index.d.ts +2 -2
  23. package/es/card/index.js +2 -9
  24. package/es/card/typing.js +1 -0
  25. package/es/descriptions/index.js +363 -414
  26. package/es/descriptions/useFetchData.js +94 -73
  27. package/es/field/AllProField.js +438 -361
  28. package/es/field/FieldHOC/index.js +32 -28
  29. package/es/field/PureProField.js +129 -160
  30. package/es/field/ValueTypeToComponent.js +686 -396
  31. package/es/field/components/Cascader/index.d.ts +2 -2
  32. package/es/field/components/Cascader/index.js +124 -149
  33. package/es/field/components/Checkbox/index.d.ts +1 -1
  34. package/es/field/components/Checkbox/index.js +106 -128
  35. package/es/field/components/Code/index.js +67 -60
  36. package/es/field/components/ColorPicker/index.d.ts +1 -1
  37. package/es/field/components/ColorPicker/index.js +55 -78
  38. package/es/field/components/DatePicker/index.d.ts +2 -2
  39. package/es/field/components/DatePicker/index.js +100 -116
  40. package/es/field/components/Digit/index.js +84 -83
  41. package/es/field/components/DigitRange/index.js +102 -96
  42. package/es/field/components/FromNow/index.js +50 -62
  43. package/es/field/components/Image/index.js +46 -50
  44. package/es/field/components/IndexColumn/index.js +45 -43
  45. package/es/field/components/Money/index.js +244 -253
  46. package/es/field/components/Options/index.js +61 -71
  47. package/es/field/components/Password/index.js +62 -59
  48. package/es/field/components/Percent/index.js +74 -80
  49. package/es/field/components/Percent/util.js +23 -18
  50. package/es/field/components/Progress/index.js +53 -54
  51. package/es/field/components/Radio/index.d.ts +1 -1
  52. package/es/field/components/Radio/index.js +85 -107
  53. package/es/field/components/RangePicker/index.d.ts +2 -2
  54. package/es/field/components/RangePicker/index.js +122 -137
  55. package/es/field/components/Rate/index.js +39 -35
  56. package/es/field/components/Second/index.js +61 -59
  57. package/es/field/components/Segmented/index.d.ts +1 -1
  58. package/es/field/components/Segmented/index.js +68 -90
  59. package/es/field/components/Select/LightSelect/index.d.ts +1 -1
  60. package/es/field/components/Select/LightSelect/index.js +210 -256
  61. package/es/field/components/Select/SearchSelect/index.js +192 -225
  62. package/es/field/components/Select/index.d.ts +2 -2
  63. package/es/field/components/Select/index.js +299 -368
  64. package/es/field/components/Slider/index.js +39 -45
  65. package/es/field/components/Status/index.js +83 -23
  66. package/es/field/components/Switch/index.d.ts +1 -1
  67. package/es/field/components/Switch/index.js +60 -71
  68. package/es/field/components/Text/index.js +53 -48
  69. package/es/field/components/TextArea/index.js +39 -53
  70. package/es/field/components/TextArea/readonly.js +36 -50
  71. package/es/field/components/TimePicker/index.js +182 -190
  72. package/es/field/components/TreeSelect/index.d.ts +2 -2
  73. package/es/field/components/TreeSelect/index.js +178 -184
  74. package/es/field/index.js +3 -43
  75. package/es/form/BaseForm/BaseForm.js +581 -621
  76. package/es/form/BaseForm/EditOrReadOnlyContext.js +4 -8
  77. package/es/form/BaseForm/LightWrapper/index.js +104 -161
  78. package/es/form/BaseForm/LightWrapper/style.js +14 -41
  79. package/es/form/BaseForm/Submitter/index.js +69 -100
  80. package/es/form/BaseForm/index.js +1 -2
  81. package/es/form/FieldContext.js +4 -8
  82. package/es/form/components/Captcha/index.js +162 -169
  83. package/es/form/components/Cascader/index.js +46 -75
  84. package/es/form/components/Checkbox/index.js +73 -98
  85. package/es/form/components/ColorPicker/index.js +43 -64
  86. package/es/form/components/DatePicker/BaseDatePicker.js +45 -69
  87. package/es/form/components/DatePicker/DatePicker.js +26 -51
  88. package/es/form/components/DatePicker/DateTimePicker.js +26 -50
  89. package/es/form/components/DatePicker/MonthPicker.js +26 -51
  90. package/es/form/components/DatePicker/QuarterPicker.js +26 -51
  91. package/es/form/components/DatePicker/TimePicker.js +43 -72
  92. package/es/form/components/DatePicker/WeekPicker.js +26 -51
  93. package/es/form/components/DatePicker/YearPicker.js +26 -51
  94. package/es/form/components/DatePicker/index.js +4 -6
  95. package/es/form/components/DateRangePicker/BaseDateRanger.js +42 -70
  96. package/es/form/components/DateRangePicker/DateMonthRangePicker.js +29 -51
  97. package/es/form/components/DateRangePicker/DateQuarterRangePicker.js +29 -51
  98. package/es/form/components/DateRangePicker/DateTimeRangePicker.js +29 -51
  99. package/es/form/components/DateRangePicker/DateWeekRangePicker.js +29 -51
  100. package/es/form/components/DateRangePicker/DateYearRangePicker.js +29 -51
  101. package/es/form/components/DateRangePicker/TimeRangePicker.js +42 -67
  102. package/es/form/components/DateRangePicker/index.js +29 -51
  103. package/es/form/components/Dependency/index.js +56 -96
  104. package/es/form/components/Digit/DigitRange.d.ts +1 -1
  105. package/es/form/components/Digit/DigitRange.js +42 -75
  106. package/es/form/components/Digit/index.js +47 -78
  107. package/es/form/components/Field/index.js +80 -124
  108. package/es/form/components/FieldSet/index.js +95 -123
  109. package/es/form/components/FormItem/FormItemRender/index.js +135 -92
  110. package/es/form/components/FormItem/Group/index.js +134 -169
  111. package/es/form/components/FormItem/Group/style.js +41 -62
  112. package/es/form/components/FormItem/index.js +252 -293
  113. package/es/form/components/FormItem/warpField.js +218 -285
  114. package/es/form/components/List/ListContainer.js +221 -181
  115. package/es/form/components/List/ListItem.js +258 -350
  116. package/es/form/components/List/index.js +195 -252
  117. package/es/form/components/List/style.js +48 -95
  118. package/es/form/components/Money/index.js +50 -80
  119. package/es/form/components/Radio/index.js +52 -86
  120. package/es/form/components/Rate/index.js +37 -60
  121. package/es/form/components/SchemaForm/index.js +121 -167
  122. package/es/form/components/SchemaForm/layoutType/Embed.js +8 -5
  123. package/es/form/components/SchemaForm/layoutType/StepsForm.js +35 -68
  124. package/es/form/components/SchemaForm/layoutType/index.js +2 -7
  125. package/es/form/components/SchemaForm/typing.js +1 -0
  126. package/es/form/components/SchemaForm/valueType/dependency.js +19 -43
  127. package/es/form/components/SchemaForm/valueType/divider.js +11 -30
  128. package/es/form/components/SchemaForm/valueType/field.js +59 -100
  129. package/es/form/components/SchemaForm/valueType/formList.js +16 -42
  130. package/es/form/components/SchemaForm/valueType/formSet.js +16 -42
  131. package/es/form/components/SchemaForm/valueType/group.js +15 -37
  132. package/es/form/components/SchemaForm/valueType/ignore.js +4 -7
  133. package/es/form/components/SchemaForm/valueType/index.js +16 -17
  134. package/es/form/components/Segmented/index.js +43 -61
  135. package/es/form/components/Select/index.js +114 -151
  136. package/es/form/components/Slider/index.js +54 -91
  137. package/es/form/components/Switch/index.js +47 -71
  138. package/es/form/components/Text/index.js +132 -161
  139. package/es/form/components/TextArea/index.js +34 -57
  140. package/es/form/components/TreeSelect/index.js +42 -61
  141. package/es/form/components/UploadButton/index.js +125 -145
  142. package/es/form/components/UploadDragger/index.js +77 -92
  143. package/es/form/components/index.js +36 -88
  144. package/es/form/helpers/grid.js +77 -82
  145. package/es/form/helpers/index.js +1 -2
  146. package/es/form/index.js +6 -15
  147. package/es/form/layouts/DrawerForm/index.js +308 -315
  148. package/es/form/layouts/DrawerForm/style.js +26 -50
  149. package/es/form/layouts/LightFilter/index.js +208 -270
  150. package/es/form/layouts/LightFilter/style.js +49 -74
  151. package/es/form/layouts/LoginForm/index.js +85 -104
  152. package/es/form/layouts/LoginForm/style.js +68 -95
  153. package/es/form/layouts/LoginFormPage/index.js +141 -147
  154. package/es/form/layouts/LoginFormPage/style.js +129 -154
  155. package/es/form/layouts/ModalForm/index.js +247 -253
  156. package/es/form/layouts/ProForm/index.js +15 -32
  157. package/es/form/layouts/QueryFilter/Actions.js +52 -47
  158. package/es/form/layouts/QueryFilter/index.js +297 -359
  159. package/es/form/layouts/QueryFilter/style.js +38 -69
  160. package/es/form/layouts/StepsForm/StepForm.js +87 -119
  161. package/es/form/layouts/StepsForm/index.js +339 -353
  162. package/es/form/layouts/StepsForm/style.js +29 -50
  163. package/es/form/layouts/index.js +9 -20
  164. package/es/form/typing.js +1 -0
  165. package/es/index.js +1 -5
  166. package/es/layout/ProLayout.js +426 -497
  167. package/es/layout/WrapContent.js +26 -15
  168. package/es/layout/assert/Logo.js +107 -79
  169. package/es/layout/components/AppsLogoComponents/AppsLogo.js +13 -11
  170. package/es/layout/components/AppsLogoComponents/DefaultContent.js +50 -56
  171. package/es/layout/components/AppsLogoComponents/SimpleContent.js +73 -66
  172. package/es/layout/components/AppsLogoComponents/index.js +90 -73
  173. package/es/layout/components/AppsLogoComponents/style/default.js +31 -35
  174. package/es/layout/components/AppsLogoComponents/style/index.js +51 -77
  175. package/es/layout/components/AppsLogoComponents/style/simple.js +37 -40
  176. package/es/layout/components/CollapsedIcon/index.js +19 -55
  177. package/es/layout/components/CollapsedIcon/style.js +42 -66
  178. package/es/layout/components/Footer.js +27 -38
  179. package/es/layout/components/FooterToolbar/index.js +78 -102
  180. package/es/layout/components/FooterToolbar/style/index.js +38 -62
  181. package/es/layout/components/FooterToolbar/style/stylish.js +10 -38
  182. package/es/layout/components/GlobalFooter/index.js +37 -31
  183. package/es/layout/components/GlobalFooter/style.js +32 -53
  184. package/es/layout/components/GlobalHeader/ActionsContent.js +132 -181
  185. package/es/layout/components/GlobalHeader/index.d.ts +0 -5
  186. package/es/layout/components/GlobalHeader/index.js +76 -84
  187. package/es/layout/components/GlobalHeader/rightContentStyle.js +52 -76
  188. package/es/layout/components/GlobalHeader/style.js +57 -83
  189. package/es/layout/components/GridContent/index.js +35 -33
  190. package/es/layout/components/GridContent/style.js +14 -38
  191. package/es/layout/components/Header/index.js +95 -124
  192. package/es/layout/components/Header/style/header.js +48 -72
  193. package/es/layout/components/Header/style/stylish.js +12 -42
  194. package/es/layout/components/Help/AsyncContentPanel.js +53 -42
  195. package/es/layout/components/Help/HelpProvide.js +55 -6
  196. package/es/layout/components/Help/ProHelpContentPanel.js +128 -127
  197. package/es/layout/components/Help/ProHelpDrawer.js +48 -76
  198. package/es/layout/components/Help/ProHelpModal.js +47 -76
  199. package/es/layout/components/Help/ProHelpPanel.js +183 -224
  200. package/es/layout/components/Help/ProHelpPopover.js +37 -64
  201. package/es/layout/components/Help/RenderContentPanel.js +90 -103
  202. package/es/layout/components/Help/Search.js +124 -163
  203. package/es/layout/components/Help/index.js +19 -40
  204. package/es/layout/components/Help/style.js +90 -115
  205. package/es/layout/components/PageContainer/index.js +233 -280
  206. package/es/layout/components/PageContainer/style/index.js +78 -118
  207. package/es/layout/components/PageContainer/style/stylish.js +10 -38
  208. package/es/layout/components/PageHeader/index.js +144 -129
  209. package/es/layout/components/PageHeader/style/index.js +125 -172
  210. package/es/layout/components/PageLoading/index.js +23 -50
  211. package/es/layout/components/SettingDrawer/BlockCheckbox.js +42 -42
  212. package/es/layout/components/SettingDrawer/LayoutChange.js +108 -98
  213. package/es/layout/components/SettingDrawer/RegionalChange.js +31 -34
  214. package/es/layout/components/SettingDrawer/ThemeColor.js +50 -69
  215. package/es/layout/components/SettingDrawer/icon/group.js +109 -88
  216. package/es/layout/components/SettingDrawer/icon/sub.js +70 -116
  217. package/es/layout/components/SettingDrawer/index.js +405 -420
  218. package/es/layout/components/SettingDrawer/style/index.js +142 -146
  219. package/es/layout/components/SiderMenu/Arrow.js +12 -15
  220. package/es/layout/components/SiderMenu/BaseMenu.js +402 -451
  221. package/es/layout/components/SiderMenu/SiderMenu.js +246 -336
  222. package/es/layout/components/SiderMenu/index.js +72 -101
  223. package/es/layout/components/SiderMenu/style/index.js +171 -210
  224. package/es/layout/components/SiderMenu/style/menu.js +110 -173
  225. package/es/layout/components/SiderMenu/style/stylish.js +12 -42
  226. package/es/layout/components/TopNavHeader/index.js +106 -179
  227. package/es/layout/components/TopNavHeader/style.js +67 -95
  228. package/es/layout/context/RouteContext.js +2 -6
  229. package/es/layout/defaultSettings.js +6 -9
  230. package/es/layout/getPageTitle.js +46 -40
  231. package/es/layout/index.js +4 -27
  232. package/es/layout/locales/en-US/settingDrawer.js +43 -47
  233. package/es/layout/locales/en-US.js +2 -22
  234. package/es/layout/locales/index.js +13 -18
  235. package/es/layout/locales/it-IT/settingDrawer.js +34 -38
  236. package/es/layout/locales/it-IT.js +2 -22
  237. package/es/layout/locales/ko-KR/settingDrawer.js +39 -43
  238. package/es/layout/locales/ko-KR.js +2 -22
  239. package/es/layout/locales/zh-CN/settingDrawer.js +43 -47
  240. package/es/layout/locales/zh-CN.js +2 -22
  241. package/es/layout/locales/zh-TW/settingDrawer.js +35 -39
  242. package/es/layout/locales/zh-TW.js +2 -22
  243. package/es/layout/style/index.js +43 -73
  244. package/es/layout/typing.js +1 -0
  245. package/es/layout/utils/getBreadcrumbProps.js +111 -91
  246. package/es/layout/utils/getMenuData.js +18 -21
  247. package/es/layout/utils/pathTools.js +11 -12
  248. package/es/layout/utils/useCurrentMenuLayoutProps.js +21 -29
  249. package/es/layout/utils/utils.js +35 -51
  250. package/es/list/Item.js +222 -294
  251. package/es/list/ListView.js +188 -232
  252. package/es/list/constants.js +4 -17
  253. package/es/list/index.js +121 -178
  254. package/es/list/style/index.js +224 -287
  255. package/es/provider/index.js +228 -179
  256. package/es/provider/intl.js +100 -124
  257. package/es/provider/locale/ar_EG.js +47 -51
  258. package/es/provider/locale/ca_ES.js +45 -49
  259. package/es/provider/locale/cs_CZ.js +50 -54
  260. package/es/provider/locale/de_DE.js +47 -51
  261. package/es/provider/locale/en_GB.js +49 -53
  262. package/es/provider/locale/en_US.js +51 -55
  263. package/es/provider/locale/es_ES.js +47 -51
  264. package/es/provider/locale/fa_IR.js +47 -51
  265. package/es/provider/locale/fr_FR.js +47 -51
  266. package/es/provider/locale/he_IL.js +50 -54
  267. package/es/provider/locale/hr_HR.js +47 -51
  268. package/es/provider/locale/id_ID.js +47 -51
  269. package/es/provider/locale/it_IT.js +47 -51
  270. package/es/provider/locale/ja_JP.js +47 -51
  271. package/es/provider/locale/ko_KR.js +47 -51
  272. package/es/provider/locale/mn_MN.js +47 -51
  273. package/es/provider/locale/ms_MY.js +47 -51
  274. package/es/provider/locale/nl_NL.js +50 -54
  275. package/es/provider/locale/pl_PL.js +47 -51
  276. package/es/provider/locale/pt_BR.js +47 -51
  277. package/es/provider/locale/ro_RO.js +50 -54
  278. package/es/provider/locale/ru_RU.js +47 -51
  279. package/es/provider/locale/sk_SK.js +50 -54
  280. package/es/provider/locale/sr_RS.js +47 -51
  281. package/es/provider/locale/sv_SE.js +50 -54
  282. package/es/provider/locale/th_TH.js +50 -54
  283. package/es/provider/locale/tr_TR.js +47 -51
  284. package/es/provider/locale/uk_UA.js +50 -54
  285. package/es/provider/locale/uz_UZ.js +47 -51
  286. package/es/provider/locale/vi_VN.js +47 -51
  287. package/es/provider/locale/zh_CN.js +50 -54
  288. package/es/provider/locale/zh_HK.js +50 -54
  289. package/es/provider/locale/zh_TW.js +50 -54
  290. package/es/provider/typing/layoutToken.d.ts +0 -10
  291. package/es/provider/typing/layoutToken.js +19 -42
  292. package/es/provider/useStyle/index.d.ts +1 -1
  293. package/es/provider/useStyle/index.js +91 -78
  294. package/es/provider/utils/merge.js +13 -29
  295. package/es/skeleton/components/Descriptions/index.js +240 -252
  296. package/es/skeleton/components/List/index.js +217 -207
  297. package/es/skeleton/components/Result/index.js +57 -54
  298. package/es/skeleton/index.js +18 -62
  299. package/es/table/Store/Provide.d.ts +0 -1
  300. package/es/table/Store/Provide.js +141 -128
  301. package/es/table/Table.js +645 -698
  302. package/es/table/components/Alert/index.js +60 -37
  303. package/es/table/components/Alert/style.js +28 -52
  304. package/es/table/components/ColumnSetting/index.js +382 -387
  305. package/es/table/components/ColumnSetting/style.js +72 -108
  306. package/es/table/components/DragSortTable/index.js +101 -137
  307. package/es/table/components/DragSortTable/style.js +20 -44
  308. package/es/table/components/Dropdown/index.js +70 -83
  309. package/es/table/components/EditableTable/CellEditorTable.js +50 -65
  310. package/es/table/components/EditableTable/RowEditorTable.js +44 -62
  311. package/es/table/components/EditableTable/index.js +343 -347
  312. package/es/table/components/Form/FormRender.js +167 -173
  313. package/es/table/components/Form/index.js +123 -132
  314. package/es/table/components/ListToolBar/HeaderMenu.js +68 -102
  315. package/es/table/components/ListToolBar/index.js +254 -273
  316. package/es/table/components/ListToolBar/style.js +119 -134
  317. package/es/table/components/ToolBar/DensityIcon.js +36 -41
  318. package/es/table/components/ToolBar/FullscreenIcon.js +21 -14
  319. package/es/table/components/ToolBar/index.js +235 -267
  320. package/es/table/index.js +3 -50
  321. package/es/table/style/index.js +129 -175
  322. package/es/table/typing.d.ts +2 -2
  323. package/es/table/typing.js +1 -0
  324. package/es/table/useFetchData.js +432 -232
  325. package/es/table/utils/cellRenderToFromItem.js +186 -261
  326. package/es/table/utils/columnRender.js +116 -115
  327. package/es/table/utils/columnSort.js +23 -21
  328. package/es/table/utils/genProColumnToColumn.js +101 -129
  329. package/es/table/utils/index.js +197 -115
  330. package/es/table/utils/useDragSort.js +135 -174
  331. package/es/utils/components/DropdownFooter/index.js +48 -58
  332. package/es/utils/components/DropdownFooter/style.js +16 -40
  333. package/es/utils/components/ErrorBoundary/index.js +51 -25
  334. package/es/utils/components/FieldLabel/index.js +119 -146
  335. package/es/utils/components/FieldLabel/style.js +82 -128
  336. package/es/utils/components/FilterDropdown/index.js +54 -81
  337. package/es/utils/components/FilterDropdown/style.js +17 -38
  338. package/es/utils/components/InlineErrorFormItem/index.js +132 -167
  339. package/es/utils/components/InlineErrorFormItem/style.js +51 -79
  340. package/es/utils/components/LabelIconTip/index.js +58 -56
  341. package/es/utils/components/LabelIconTip/style.js +36 -57
  342. package/es/utils/components/ProFormContext/index.js +2 -6
  343. package/es/utils/conversionMomentValue/index.js +102 -83
  344. package/es/utils/dateArrayFormatter/index.js +31 -16
  345. package/es/utils/genCopyable/index.js +44 -38
  346. package/es/utils/getFieldPropsOrFormItemProps/index.js +10 -7
  347. package/es/utils/hooks/useDebounceFn/index.js +58 -48
  348. package/es/utils/hooks/useDebounceValue/index.js +29 -19
  349. package/es/utils/hooks/useDeepCompareEffect/index.js +29 -44
  350. package/es/utils/hooks/useDeepCompareMemo/index.js +12 -10
  351. package/es/utils/hooks/useDocumentTitle/index.js +5 -9
  352. package/es/utils/hooks/useFetchData/index.js +70 -63
  353. package/es/utils/hooks/useForceRender/index.js +12 -9
  354. package/es/utils/hooks/useLatest/index.js +8 -8
  355. package/es/utils/hooks/usePrevious/index.js +5 -9
  356. package/es/utils/hooks/useReactiveRef/index.js +4 -8
  357. package/es/utils/hooks/useRefCallback/index.js +6 -10
  358. package/es/utils/hooks/useRefFunction/index.js +11 -10
  359. package/es/utils/index.d.ts +1 -3
  360. package/es/utils/index.js +9 -84
  361. package/es/utils/isBrowser/index.js +14 -9
  362. package/es/utils/isDeepEqualReact/index.js +79 -53
  363. package/es/utils/isDropdownValueType/index.js +4 -8
  364. package/es/utils/isImg/index.js +3 -6
  365. package/es/utils/isNil/index.js +3 -5
  366. package/es/utils/isUrl/index.js +10 -10
  367. package/es/utils/merge/index.js +20 -27
  368. package/es/utils/nanoid/index.js +24 -18
  369. package/es/utils/omitBoolean/index.js +8 -7
  370. package/es/utils/omitUndefined/index.js +6 -10
  371. package/es/utils/omitUndefinedAndEmptyArr/index.js +7 -11
  372. package/es/utils/parseValueToMoment/index.js +16 -14
  373. package/es/utils/pickProFormItemProps/index.js +9 -42
  374. package/es/utils/pickProProps/index.js +9 -11
  375. package/es/utils/proFieldParsingText/index.js +141 -49
  376. package/es/utils/runFunction/index.js +8 -8
  377. package/es/utils/stringify/index.js +4 -9
  378. package/es/utils/transformKeySubmitValue/index.js +254 -130
  379. package/es/utils/typing.js +1 -0
  380. package/es/utils/useEditableArray/index.js +776 -611
  381. package/es/utils/useEditableMap/index.js +179 -161
  382. package/es/utils/useMediaQuery/index.js +47 -43
  383. package/es/utils/useMediaQuery/query.js +19 -15
  384. package/es/utils/useMountMergeState/index.d.ts +1 -1
  385. package/es/utils/useMountMergeState/index.js +2 -5
  386. package/es/version.js +3 -7
  387. package/lib/card/ProCard.d.ts +0 -1
  388. package/lib/card/ProCard.js +20 -52
  389. package/lib/card/components/Actions/index.js +39 -57
  390. package/lib/card/components/Actions/style.js +77 -115
  391. package/lib/card/components/Card/index.js +221 -287
  392. package/lib/card/components/Card/style.js +197 -281
  393. package/lib/card/components/CheckCard/Group.js +205 -230
  394. package/lib/card/components/CheckCard/index.js +160 -190
  395. package/lib/card/components/CheckCard/style.js +192 -227
  396. package/lib/card/components/Divider/index.js +30 -47
  397. package/lib/card/components/Divider/style.js +35 -69
  398. package/lib/card/components/Loading/index.js +85 -42
  399. package/lib/card/components/Loading/style.js +48 -78
  400. package/lib/card/components/Operation/index.js +29 -46
  401. package/lib/card/components/Operation/style.js +24 -58
  402. package/lib/card/components/Statistic/index.js +84 -117
  403. package/lib/card/components/Statistic/style.js +81 -130
  404. package/lib/card/components/StatisticCard/index.d.ts +0 -2
  405. package/lib/card/components/StatisticCard/index.js +72 -103
  406. package/lib/card/components/StatisticCard/style.js +41 -70
  407. package/lib/card/index.d.ts +2 -2
  408. package/lib/card/index.js +34 -41
  409. package/lib/card/typing.js +4 -16
  410. package/lib/descriptions/index.js +368 -436
  411. package/lib/descriptions/useFetchData.js +99 -100
  412. package/lib/field/AllProField.js +477 -415
  413. package/lib/field/FieldHOC/index.js +37 -56
  414. package/lib/field/PureProField.js +141 -187
  415. package/lib/field/ValueTypeToComponent.js +725 -454
  416. package/lib/field/components/Cascader/index.d.ts +2 -2
  417. package/lib/field/components/Cascader/index.js +132 -171
  418. package/lib/field/components/Checkbox/index.d.ts +1 -1
  419. package/lib/field/components/Checkbox/index.js +113 -155
  420. package/lib/field/components/Code/index.js +73 -86
  421. package/lib/field/components/ColorPicker/index.d.ts +1 -1
  422. package/lib/field/components/ColorPicker/index.js +61 -103
  423. package/lib/field/components/DatePicker/index.d.ts +2 -2
  424. package/lib/field/components/DatePicker/index.js +109 -145
  425. package/lib/field/components/Digit/index.js +92 -110
  426. package/lib/field/components/DigitRange/index.js +108 -122
  427. package/lib/field/components/FromNow/index.js +57 -90
  428. package/lib/field/components/Image/index.js +52 -76
  429. package/lib/field/components/IndexColumn/index.js +50 -72
  430. package/lib/field/components/Money/index.js +253 -281
  431. package/lib/field/components/Options/index.js +68 -98
  432. package/lib/field/components/Password/index.js +66 -85
  433. package/lib/field/components/Percent/index.js +80 -101
  434. package/lib/field/components/Percent/util.js +28 -33
  435. package/lib/field/components/Progress/index.js +61 -80
  436. package/lib/field/components/Radio/index.d.ts +1 -1
  437. package/lib/field/components/Radio/index.js +92 -134
  438. package/lib/field/components/RangePicker/index.d.ts +2 -2
  439. package/lib/field/components/RangePicker/index.js +129 -164
  440. package/lib/field/components/Rate/index.js +43 -60
  441. package/lib/field/components/Second/index.js +67 -84
  442. package/lib/field/components/Segmented/index.d.ts +1 -1
  443. package/lib/field/components/Segmented/index.js +74 -117
  444. package/lib/field/components/Select/LightSelect/index.d.ts +1 -1
  445. package/lib/field/components/Select/LightSelect/index.js +216 -282
  446. package/lib/field/components/Select/SearchSelect/index.js +195 -245
  447. package/lib/field/components/Select/index.d.ts +2 -2
  448. package/lib/field/components/Select/index.js +307 -379
  449. package/lib/field/components/Slider/index.js +43 -70
  450. package/lib/field/components/Status/index.js +89 -52
  451. package/lib/field/components/Switch/index.d.ts +1 -1
  452. package/lib/field/components/Switch/index.js +67 -98
  453. package/lib/field/components/Text/index.js +58 -74
  454. package/lib/field/components/TextArea/index.js +44 -80
  455. package/lib/field/components/TextArea/readonly.js +43 -76
  456. package/lib/field/components/TimePicker/index.js +188 -217
  457. package/lib/field/components/TreeSelect/index.d.ts +2 -2
  458. package/lib/field/components/TreeSelect/index.js +185 -206
  459. package/lib/field/index.js +240 -96
  460. package/lib/form/BaseForm/BaseForm.js +594 -634
  461. package/lib/form/BaseForm/EditOrReadOnlyContext.js +9 -36
  462. package/lib/form/BaseForm/LightWrapper/index.js +111 -182
  463. package/lib/form/BaseForm/LightWrapper/style.js +19 -56
  464. package/lib/form/BaseForm/Submitter/index.js +75 -126
  465. package/lib/form/BaseForm/index.js +37 -20
  466. package/lib/form/FieldContext.js +8 -36
  467. package/lib/form/components/Captcha/index.js +169 -196
  468. package/lib/form/components/Cascader/index.js +56 -104
  469. package/lib/form/components/Checkbox/index.js +83 -128
  470. package/lib/form/components/ColorPicker/index.js +51 -92
  471. package/lib/form/components/DatePicker/BaseDatePicker.js +54 -98
  472. package/lib/form/components/DatePicker/DatePicker.js +32 -77
  473. package/lib/form/components/DatePicker/DateTimePicker.js +32 -76
  474. package/lib/form/components/DatePicker/MonthPicker.js +32 -77
  475. package/lib/form/components/DatePicker/QuarterPicker.js +32 -77
  476. package/lib/form/components/DatePicker/TimePicker.js +55 -103
  477. package/lib/form/components/DatePicker/WeekPicker.js +32 -77
  478. package/lib/form/components/DatePicker/YearPicker.js +32 -77
  479. package/lib/form/components/DatePicker/index.js +19 -44
  480. package/lib/form/components/DateRangePicker/BaseDateRanger.js +53 -100
  481. package/lib/form/components/DateRangePicker/DateMonthRangePicker.js +36 -78
  482. package/lib/form/components/DateRangePicker/DateQuarterRangePicker.js +36 -78
  483. package/lib/form/components/DateRangePicker/DateTimeRangePicker.js +36 -78
  484. package/lib/form/components/DateRangePicker/DateWeekRangePicker.js +36 -78
  485. package/lib/form/components/DateRangePicker/DateYearRangePicker.js +36 -78
  486. package/lib/form/components/DateRangePicker/TimeRangePicker.js +53 -97
  487. package/lib/form/components/DateRangePicker/index.js +36 -78
  488. package/lib/form/components/Dependency/index.js +68 -127
  489. package/lib/form/components/Digit/DigitRange.d.ts +1 -1
  490. package/lib/form/components/Digit/DigitRange.js +50 -103
  491. package/lib/form/components/Digit/index.js +55 -106
  492. package/lib/form/components/Field/index.js +89 -153
  493. package/lib/form/components/FieldSet/index.js +107 -153
  494. package/lib/form/components/FormItem/FormItemRender/index.js +142 -114
  495. package/lib/form/components/FormItem/Group/index.js +143 -198
  496. package/lib/form/components/FormItem/Group/style.js +46 -77
  497. package/lib/form/components/FormItem/index.js +257 -316
  498. package/lib/form/components/FormItem/warpField.js +229 -308
  499. package/lib/form/components/List/ListContainer.js +227 -211
  500. package/lib/form/components/List/ListItem.js +267 -374
  501. package/lib/form/components/List/index.js +211 -277
  502. package/lib/form/components/List/style.js +53 -110
  503. package/lib/form/components/Money/index.js +58 -108
  504. package/lib/form/components/Radio/index.js +60 -114
  505. package/lib/form/components/Rate/index.js +45 -88
  506. package/lib/form/components/SchemaForm/index.js +154 -193
  507. package/lib/form/components/SchemaForm/layoutType/Embed.js +12 -24
  508. package/lib/form/components/SchemaForm/layoutType/StepsForm.js +43 -96
  509. package/lib/form/components/SchemaForm/layoutType/index.js +18 -35
  510. package/lib/form/components/SchemaForm/typing.js +4 -16
  511. package/lib/form/components/SchemaForm/valueType/dependency.js +25 -69
  512. package/lib/form/components/SchemaForm/valueType/divider.js +16 -45
  513. package/lib/form/components/SchemaForm/valueType/field.js +67 -128
  514. package/lib/form/components/SchemaForm/valueType/formList.js +22 -58
  515. package/lib/form/components/SchemaForm/valueType/formSet.js +22 -68
  516. package/lib/form/components/SchemaForm/valueType/group.js +21 -53
  517. package/lib/form/components/SchemaForm/valueType/ignore.js +8 -25
  518. package/lib/form/components/SchemaForm/valueType/index.js +27 -43
  519. package/lib/form/components/Segmented/index.js +50 -89
  520. package/lib/form/components/Select/index.js +125 -181
  521. package/lib/form/components/Slider/index.js +62 -119
  522. package/lib/form/components/Switch/index.js +55 -99
  523. package/lib/form/components/Text/index.js +141 -190
  524. package/lib/form/components/TextArea/index.js +42 -85
  525. package/lib/form/components/TreeSelect/index.js +50 -89
  526. package/lib/form/components/UploadButton/index.js +131 -172
  527. package/lib/form/components/UploadDragger/index.js +84 -119
  528. package/lib/form/components/index.js +294 -110
  529. package/lib/form/helpers/grid.js +82 -97
  530. package/lib/form/helpers/index.js +15 -18
  531. package/lib/form/index.js +78 -38
  532. package/lib/form/layouts/DrawerForm/index.js +317 -338
  533. package/lib/form/layouts/DrawerForm/style.js +31 -65
  534. package/lib/form/layouts/LightFilter/index.js +217 -293
  535. package/lib/form/layouts/LightFilter/style.js +54 -89
  536. package/lib/form/layouts/LoginForm/index.js +93 -133
  537. package/lib/form/layouts/LoginForm/style.js +73 -110
  538. package/lib/form/layouts/LoginFormPage/index.js +148 -174
  539. package/lib/form/layouts/LoginFormPage/style.js +133 -165
  540. package/lib/form/layouts/ModalForm/index.js +253 -273
  541. package/lib/form/layouts/ProForm/index.js +28 -68
  542. package/lib/form/layouts/QueryFilter/Actions.js +57 -77
  543. package/lib/form/layouts/QueryFilter/index.js +308 -390
  544. package/lib/form/layouts/QueryFilter/style.js +43 -84
  545. package/lib/form/layouts/StepsForm/StepForm.js +94 -146
  546. package/lib/form/layouts/StepsForm/index.js +351 -378
  547. package/lib/form/layouts/StepsForm/style.js +34 -65
  548. package/lib/form/layouts/index.js +62 -40
  549. package/lib/form/typing.js +4 -16
  550. package/lib/index.js +133 -34
  551. package/lib/layout/ProLayout.js +447 -528
  552. package/lib/layout/WrapContent.js +34 -46
  553. package/lib/layout/assert/Logo.js +110 -97
  554. package/lib/layout/components/AppsLogoComponents/AppsLogo.js +17 -29
  555. package/lib/layout/components/AppsLogoComponents/DefaultContent.js +55 -85
  556. package/lib/layout/components/AppsLogoComponents/SimpleContent.js +78 -95
  557. package/lib/layout/components/AppsLogoComponents/index.js +98 -105
  558. package/lib/layout/components/AppsLogoComponents/style/default.js +36 -55
  559. package/lib/layout/components/AppsLogoComponents/style/index.js +58 -94
  560. package/lib/layout/components/AppsLogoComponents/style/simple.js +41 -59
  561. package/lib/layout/components/CollapsedIcon/index.js +26 -82
  562. package/lib/layout/components/CollapsedIcon/style.js +47 -81
  563. package/lib/layout/components/Footer.js +33 -65
  564. package/lib/layout/components/FooterToolbar/index.js +87 -132
  565. package/lib/layout/components/FooterToolbar/style/index.js +43 -77
  566. package/lib/layout/components/FooterToolbar/style/stylish.js +16 -54
  567. package/lib/layout/components/GlobalFooter/index.js +43 -61
  568. package/lib/layout/components/GlobalFooter/style.js +37 -68
  569. package/lib/layout/components/GlobalHeader/ActionsContent.js +138 -208
  570. package/lib/layout/components/GlobalHeader/index.d.ts +0 -5
  571. package/lib/layout/components/GlobalHeader/index.js +86 -116
  572. package/lib/layout/components/GlobalHeader/rightContentStyle.js +57 -91
  573. package/lib/layout/components/GlobalHeader/style.js +62 -98
  574. package/lib/layout/components/GridContent/index.js +43 -64
  575. package/lib/layout/components/GridContent/style.js +19 -53
  576. package/lib/layout/components/Header/index.js +105 -156
  577. package/lib/layout/components/Header/style/header.js +53 -87
  578. package/lib/layout/components/Header/style/stylish.js +18 -58
  579. package/lib/layout/components/Help/AsyncContentPanel.js +59 -62
  580. package/lib/layout/components/Help/HelpProvide.js +59 -34
  581. package/lib/layout/components/Help/ProHelpContentPanel.js +139 -157
  582. package/lib/layout/components/Help/ProHelpDrawer.js +54 -102
  583. package/lib/layout/components/Help/ProHelpModal.js +53 -102
  584. package/lib/layout/components/Help/ProHelpPanel.js +192 -254
  585. package/lib/layout/components/Help/ProHelpPopover.js +46 -92
  586. package/lib/layout/components/Help/RenderContentPanel.js +97 -130
  587. package/lib/layout/components/Help/Search.js +130 -191
  588. package/lib/layout/components/Help/index.js +113 -74
  589. package/lib/layout/components/Help/style.js +96 -130
  590. package/lib/layout/components/PageContainer/index.js +245 -308
  591. package/lib/layout/components/PageContainer/style/index.js +83 -133
  592. package/lib/layout/components/PageContainer/style/stylish.js +16 -54
  593. package/lib/layout/components/PageHeader/index.js +149 -156
  594. package/lib/layout/components/PageHeader/style/index.js +129 -182
  595. package/lib/layout/components/PageLoading/index.js +28 -76
  596. package/lib/layout/components/SettingDrawer/BlockCheckbox.js +46 -71
  597. package/lib/layout/components/SettingDrawer/LayoutChange.js +114 -129
  598. package/lib/layout/components/SettingDrawer/RegionalChange.js +38 -65
  599. package/lib/layout/components/SettingDrawer/ThemeColor.js +55 -95
  600. package/lib/layout/components/SettingDrawer/icon/group.js +111 -105
  601. package/lib/layout/components/SettingDrawer/icon/sub.js +72 -133
  602. package/lib/layout/components/SettingDrawer/index.js +424 -447
  603. package/lib/layout/components/SettingDrawer/style/index.js +147 -161
  604. package/lib/layout/components/SiderMenu/Arrow.js +16 -34
  605. package/lib/layout/components/SiderMenu/BaseMenu.js +416 -487
  606. package/lib/layout/components/SiderMenu/SiderMenu.js +254 -367
  607. package/lib/layout/components/SiderMenu/index.js +81 -130
  608. package/lib/layout/components/SiderMenu/style/index.js +178 -226
  609. package/lib/layout/components/SiderMenu/style/menu.js +115 -188
  610. package/lib/layout/components/SiderMenu/style/stylish.js +18 -58
  611. package/lib/layout/components/TopNavHeader/index.js +117 -211
  612. package/lib/layout/components/TopNavHeader/style.js +72 -110
  613. package/lib/layout/context/RouteContext.js +6 -24
  614. package/lib/layout/defaultSettings.js +11 -29
  615. package/lib/layout/getPageTitle.js +53 -60
  616. package/lib/layout/index.js +145 -55
  617. package/lib/layout/locales/en-US/settingDrawer.js +47 -65
  618. package/lib/layout/locales/en-US.js +8 -48
  619. package/lib/layout/locales/index.js +24 -52
  620. package/lib/layout/locales/it-IT/settingDrawer.js +38 -56
  621. package/lib/layout/locales/it-IT.js +8 -48
  622. package/lib/layout/locales/ko-KR/settingDrawer.js +43 -61
  623. package/lib/layout/locales/ko-KR.js +8 -48
  624. package/lib/layout/locales/zh-CN/settingDrawer.js +47 -65
  625. package/lib/layout/locales/zh-CN.js +8 -48
  626. package/lib/layout/locales/zh-TW/settingDrawer.js +39 -57
  627. package/lib/layout/locales/zh-TW.js +8 -48
  628. package/lib/layout/style/index.js +48 -88
  629. package/lib/layout/typing.js +4 -16
  630. package/lib/layout/utils/getBreadcrumbProps.js +117 -107
  631. package/lib/layout/utils/getMenuData.js +23 -40
  632. package/lib/layout/utils/pathTools.js +14 -29
  633. package/lib/layout/utils/useCurrentMenuLayoutProps.js +27 -49
  634. package/lib/layout/utils/utils.js +40 -64
  635. package/lib/list/Item.js +229 -321
  636. package/lib/list/ListView.js +197 -260
  637. package/lib/list/constants.js +7 -35
  638. package/lib/list/index.js +132 -207
  639. package/lib/list/style/index.js +230 -302
  640. package/lib/provider/index.js +270 -215
  641. package/lib/provider/intl.js +140 -188
  642. package/lib/provider/locale/ar_EG.js +51 -69
  643. package/lib/provider/locale/ca_ES.js +49 -67
  644. package/lib/provider/locale/cs_CZ.js +54 -72
  645. package/lib/provider/locale/de_DE.js +51 -69
  646. package/lib/provider/locale/en_GB.js +53 -71
  647. package/lib/provider/locale/en_US.js +55 -73
  648. package/lib/provider/locale/es_ES.js +51 -69
  649. package/lib/provider/locale/fa_IR.js +51 -69
  650. package/lib/provider/locale/fr_FR.js +51 -69
  651. package/lib/provider/locale/he_IL.js +54 -72
  652. package/lib/provider/locale/hr_HR.js +51 -69
  653. package/lib/provider/locale/id_ID.js +51 -69
  654. package/lib/provider/locale/it_IT.js +51 -69
  655. package/lib/provider/locale/ja_JP.js +51 -69
  656. package/lib/provider/locale/ko_KR.js +51 -69
  657. package/lib/provider/locale/mn_MN.js +51 -69
  658. package/lib/provider/locale/ms_MY.js +51 -69
  659. package/lib/provider/locale/nl_NL.js +54 -72
  660. package/lib/provider/locale/pl_PL.js +51 -69
  661. package/lib/provider/locale/pt_BR.js +51 -69
  662. package/lib/provider/locale/ro_RO.js +54 -72
  663. package/lib/provider/locale/ru_RU.js +51 -69
  664. package/lib/provider/locale/sk_SK.js +54 -72
  665. package/lib/provider/locale/sr_RS.js +51 -69
  666. package/lib/provider/locale/sv_SE.js +54 -72
  667. package/lib/provider/locale/th_TH.js +54 -72
  668. package/lib/provider/locale/tr_TR.js +51 -69
  669. package/lib/provider/locale/uk_UA.js +54 -72
  670. package/lib/provider/locale/uz_UZ.js +51 -69
  671. package/lib/provider/locale/vi_VN.js +51 -69
  672. package/lib/provider/locale/zh_CN.js +54 -72
  673. package/lib/provider/locale/zh_HK.js +54 -72
  674. package/lib/provider/locale/zh_TW.js +54 -72
  675. package/lib/provider/typing/layoutToken.d.ts +0 -10
  676. package/lib/provider/typing/layoutToken.js +36 -69
  677. package/lib/provider/useStyle/index.d.ts +1 -1
  678. package/lib/provider/useStyle/index.js +98 -94
  679. package/lib/provider/utils/merge.js +18 -44
  680. package/lib/skeleton/components/Descriptions/index.js +246 -282
  681. package/lib/skeleton/components/List/index.js +221 -236
  682. package/lib/skeleton/components/Result/index.js +63 -84
  683. package/lib/skeleton/index.js +73 -79
  684. package/lib/table/Store/Provide.d.ts +0 -1
  685. package/lib/table/Store/Provide.js +147 -151
  686. package/lib/table/Table.js +664 -712
  687. package/lib/table/components/Alert/index.js +66 -67
  688. package/lib/table/components/Alert/style.js +33 -67
  689. package/lib/table/components/ColumnSetting/index.js +391 -404
  690. package/lib/table/components/ColumnSetting/style.js +77 -123
  691. package/lib/table/components/DragSortTable/index.js +110 -165
  692. package/lib/table/components/DragSortTable/style.js +25 -59
  693. package/lib/table/components/Dropdown/index.js +75 -108
  694. package/lib/table/components/EditableTable/CellEditorTable.js +55 -90
  695. package/lib/table/components/EditableTable/RowEditorTable.js +49 -87
  696. package/lib/table/components/EditableTable/index.js +351 -365
  697. package/lib/table/components/Form/FormRender.js +176 -201
  698. package/lib/table/components/Form/index.js +132 -161
  699. package/lib/table/components/ListToolBar/HeaderMenu.js +74 -128
  700. package/lib/table/components/ListToolBar/index.js +263 -302
  701. package/lib/table/components/ListToolBar/style.js +124 -149
  702. package/lib/table/components/ToolBar/DensityIcon.js +43 -71
  703. package/lib/table/components/ToolBar/FullscreenIcon.js +30 -45
  704. package/lib/table/components/ToolBar/index.js +247 -299
  705. package/lib/table/index.js +179 -71
  706. package/lib/table/style/index.js +135 -190
  707. package/lib/table/typing.d.ts +2 -2
  708. package/lib/table/typing.js +4 -16
  709. package/lib/table/useFetchData.js +437 -241
  710. package/lib/table/utils/cellRenderToFromItem.js +192 -277
  711. package/lib/table/utils/columnRender.js +126 -144
  712. package/lib/table/utils/columnSort.js +27 -39
  713. package/lib/table/utils/genProColumnToColumn.js +111 -141
  714. package/lib/table/utils/index.js +204 -128
  715. package/lib/table/utils/useDragSort.js +141 -188
  716. package/lib/utils/components/DropdownFooter/index.js +56 -89
  717. package/lib/utils/components/DropdownFooter/style.js +21 -55
  718. package/lib/utils/components/ErrorBoundary/index.js +55 -53
  719. package/lib/utils/components/FieldLabel/index.js +126 -176
  720. package/lib/utils/components/FieldLabel/style.js +87 -143
  721. package/lib/utils/components/FilterDropdown/index.js +61 -109
  722. package/lib/utils/components/FilterDropdown/style.js +22 -53
  723. package/lib/utils/components/InlineErrorFormItem/index.js +137 -193
  724. package/lib/utils/components/InlineErrorFormItem/style.js +56 -94
  725. package/lib/utils/components/LabelIconTip/index.js +62 -82
  726. package/lib/utils/components/LabelIconTip/style.js +41 -72
  727. package/lib/utils/components/ProFormContext/index.js +7 -34
  728. package/lib/utils/conversionMomentValue/index.js +112 -115
  729. package/lib/utils/dateArrayFormatter/index.js +38 -46
  730. package/lib/utils/genCopyable/index.js +49 -66
  731. package/lib/utils/getFieldPropsOrFormItemProps/index.js +15 -27
  732. package/lib/utils/hooks/useDebounceFn/index.js +63 -65
  733. package/lib/utils/hooks/useDebounceValue/index.js +35 -38
  734. package/lib/utils/hooks/useDeepCompareEffect/index.js +37 -61
  735. package/lib/utils/hooks/useDeepCompareMemo/index.js +17 -39
  736. package/lib/utils/hooks/useDocumentTitle/index.js +10 -28
  737. package/lib/utils/hooks/useFetchData/index.js +74 -89
  738. package/lib/utils/hooks/useForceRender/index.js +16 -26
  739. package/lib/utils/hooks/useLatest/index.js +11 -26
  740. package/lib/utils/hooks/usePrevious/index.js +9 -27
  741. package/lib/utils/hooks/useReactiveRef/index.js +10 -37
  742. package/lib/utils/hooks/useRefCallback/index.js +9 -27
  743. package/lib/utils/hooks/useRefFunction/index.js +16 -29
  744. package/lib/utils/index.d.ts +1 -3
  745. package/lib/utils/index.js +455 -138
  746. package/lib/utils/isBrowser/index.js +18 -27
  747. package/lib/utils/isDeepEqualReact/index.js +83 -70
  748. package/lib/utils/isDropdownValueType/index.js +8 -26
  749. package/lib/utils/isImg/index.js +6 -23
  750. package/lib/utils/isNil/index.js +7 -23
  751. package/lib/utils/isUrl/index.js +14 -28
  752. package/lib/utils/merge/index.js +26 -44
  753. package/lib/utils/nanoid/index.js +28 -36
  754. package/lib/utils/omitBoolean/index.js +12 -25
  755. package/lib/utils/omitUndefined/index.js +10 -28
  756. package/lib/utils/omitUndefinedAndEmptyArr/index.js +11 -29
  757. package/lib/utils/parseValueToMoment/index.js +26 -47
  758. package/lib/utils/pickProFormItemProps/index.js +12 -59
  759. package/lib/utils/pickProProps/index.js +13 -29
  760. package/lib/utils/proFieldParsingText/index.js +146 -77
  761. package/lib/utils/runFunction/index.js +12 -26
  762. package/lib/utils/stringify/index.js +14 -28
  763. package/lib/utils/transformKeySubmitValue/index.js +262 -160
  764. package/lib/utils/typing.js +4 -16
  765. package/lib/utils/useEditableArray/index.js +790 -630
  766. package/lib/utils/useEditableMap/index.js +188 -179
  767. package/lib/utils/useMediaQuery/index.js +53 -73
  768. package/lib/utils/useMediaQuery/query.js +23 -32
  769. package/lib/utils/useMountMergeState/index.d.ts +1 -1
  770. package/lib/utils/useMountMergeState/index.js +10 -33
  771. package/lib/version.js +7 -25
  772. package/package.json +4 -3
  773. package/es/card/components/TabPane/index.d.ts +0 -26
  774. package/es/card/components/TabPane/index.js +0 -84
  775. package/es/utils/compareVersions/coverToNewToken.d.ts +0 -2
  776. package/es/utils/compareVersions/coverToNewToken.js +0 -56
  777. package/es/utils/compareVersions/index.d.ts +0 -8
  778. package/es/utils/compareVersions/index.js +0 -48
  779. package/lib/card/components/TabPane/index.d.ts +0 -26
  780. package/lib/card/components/TabPane/index.js +0 -111
  781. package/lib/utils/compareVersions/coverToNewToken.d.ts +0 -2
  782. package/lib/utils/compareVersions/coverToNewToken.js +0 -73
  783. package/lib/utils/compareVersions/index.d.ts +0 -8
  784. package/lib/utils/compareVersions/index.js +0 -68
@@ -1,522 +1,473 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
-
21
- // src/layout/components/SiderMenu/BaseMenu.tsx
22
- import { createFromIconfontCN } from "@ant-design/icons";
23
- import { Menu, Skeleton, Tooltip } from "antd";
24
- import classNames from "classnames";
25
- import React, { useContext, useEffect, useMemo, useRef, useState } from "react";
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
4
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
5
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
6
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
7
+ import { createFromIconfontCN } from '@ant-design/icons';
8
+ import { Menu, Skeleton, Tooltip } from 'antd';
9
+ import classNames from 'classnames';
10
+ import React, { useContext, useEffect, useMemo, useRef, useState } from 'react';
26
11
  import { ProProvider } from "../../../provider";
27
12
  import { isImg, isUrl, useMountMergeState } from "../../../utils";
28
13
  import { defaultSettings } from "../../defaultSettings";
29
14
  import { getOpenKeysFromMenuData } from "../../utils/utils";
30
15
  import { useStyle } from "./style/menu";
31
- var MenuItemTooltip = (props) => {
32
- const [collapsed, setCollapsed] = useState(props.collapsed);
33
- const [open, setOpen] = useState(false);
34
- useEffect(() => {
16
+
17
+ // todo
18
+ import { jsx as _jsx } from "react/jsx-runtime";
19
+ import { jsxs as _jsxs } from "react/jsx-runtime";
20
+ import { createElement as _createElement } from "react";
21
+ var MenuItemTooltip = function MenuItemTooltip(props) {
22
+ var _useState = useState(props.collapsed),
23
+ _useState2 = _slicedToArray(_useState, 2),
24
+ collapsed = _useState2[0],
25
+ setCollapsed = _useState2[1];
26
+ var _useState3 = useState(false),
27
+ _useState4 = _slicedToArray(_useState3, 2),
28
+ open = _useState4[0],
29
+ setOpen = _useState4[1];
30
+ useEffect(function () {
35
31
  setOpen(false);
36
- setTimeout(() => {
32
+ setTimeout(function () {
37
33
  setCollapsed(props.collapsed);
38
34
  }, 400);
39
35
  }, [props.collapsed]);
40
36
  if (props.disable) {
41
37
  return props.children;
42
38
  }
43
- return /* @__PURE__ */ React.createElement(
44
- Tooltip,
45
- {
46
- title: props.title,
47
- open: collapsed && props.collapsed ? open : false,
48
- placement: "right",
49
- onOpenChange: setOpen
50
- },
51
- props.children
52
- );
39
+ return /*#__PURE__*/_jsx(Tooltip, {
40
+ title: props.title,
41
+ open: collapsed && props.collapsed ? open : false,
42
+ placement: "right",
43
+ onOpenChange: setOpen,
44
+ children: props.children
45
+ });
53
46
  };
54
47
  var IconFont = createFromIconfontCN({
55
48
  scriptUrl: defaultSettings.iconfontUrl
56
49
  });
57
- var getIcon = (icon, iconPrefixes = "icon-", className) => {
58
- if (typeof icon === "string" && icon !== "") {
50
+
51
+ // Allow menu.js config icon as string or ReactNode
52
+ // icon: 'setting',
53
+ // icon: 'icon-geren' #For Iconfont ,
54
+ // icon: 'http://demo.com/icon.png',
55
+ // icon: '/favicon.png',
56
+ // icon: <Icon type="setting" />,
57
+ var getIcon = function getIcon(icon) {
58
+ var iconPrefixes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'icon-';
59
+ var className = arguments.length > 2 ? arguments[2] : undefined;
60
+ if (typeof icon === 'string' && icon !== '') {
59
61
  if (isUrl(icon) || isImg(icon)) {
60
- return /* @__PURE__ */ React.createElement(
61
- "img",
62
- {
63
- width: 16,
64
- key: icon,
65
- src: icon,
66
- alt: "icon",
67
- className
68
- }
69
- );
62
+ return /*#__PURE__*/_jsx("img", {
63
+ width: 16,
64
+ src: icon,
65
+ alt: "icon",
66
+ className: className
67
+ }, icon);
70
68
  }
71
69
  if (icon.startsWith(iconPrefixes)) {
72
- return /* @__PURE__ */ React.createElement(IconFont, { type: icon });
70
+ return /*#__PURE__*/_jsx(IconFont, {
71
+ type: icon
72
+ });
73
73
  }
74
74
  }
75
75
  return icon;
76
76
  };
77
- var getMenuTitleSymbol = (title) => {
78
- if (title && typeof title === "string") {
79
- const symbol = title.substring(0, 1).toUpperCase();
77
+ var getMenuTitleSymbol = function getMenuTitleSymbol(title) {
78
+ if (title && typeof title === 'string') {
79
+ var symbol = title.substring(0, 1).toUpperCase();
80
80
  return symbol;
81
81
  }
82
82
  return null;
83
83
  };
84
- var MenuUtil = class {
85
- constructor(props) {
86
- this.getNavMenuItems = (menusData = [], level, noGroupLevel) => menusData.map((item) => this.getSubMenuOrItem(item, level, noGroupLevel)).filter((item) => item).flat(1);
87
- /** Get SubMenu or Item */
88
- this.getSubMenuOrItem = (item, level, noGroupLevel) => {
89
- var _a, _b, _c, _d, _e, _f;
90
- const {
91
- subMenuItemRender,
92
- baseClassName,
93
- prefixCls,
94
- collapsed,
95
- menu,
96
- iconPrefixes,
97
- layout
98
- } = this.props;
99
- const isGroup = (menu == null ? void 0 : menu.type) === "group" && layout !== "top";
100
- const designToken = this.props.token;
101
- const name = this.getIntlName(item);
102
- const children = item == null ? void 0 : item.children;
103
- const menuType = isGroup && level === 0 ? "group" : void 0;
104
- if (Array.isArray(children) && children.length > 0) {
105
- const shouldHasIcon = level === 0 || isGroup && level === 1;
106
- const iconDom = getIcon(
107
- item.icon,
108
- iconPrefixes,
109
- `${baseClassName}-icon ${(_a = this.props) == null ? void 0 : _a.hashId}`
110
- );
111
- const defaultIcon = collapsed && shouldHasIcon ? getMenuTitleSymbol(name) : null;
112
- const defaultTitle = /* @__PURE__ */ React.createElement(
113
- "div",
114
- {
115
- className: classNames(
116
- `${baseClassName}-item-title`,
117
- (_b = this.props) == null ? void 0 : _b.hashId,
118
- {
119
- [`${baseClassName}-item-title-collapsed`]: collapsed,
120
- [`${baseClassName}-item-title-collapsed-level-${noGroupLevel}`]: collapsed,
121
- [`${baseClassName}-group-item-title`]: menuType === "group",
122
- [`${baseClassName}-item-collapsed-show-title`]: (menu == null ? void 0 : menu.collapsedShowTitle) && collapsed
123
- }
124
- )
125
- },
126
- menuType === "group" && collapsed ? null : shouldHasIcon && iconDom ? /* @__PURE__ */ React.createElement(
127
- "span",
128
- {
129
- className: `${baseClassName}-item-icon ${(_c = this.props) == null ? void 0 : _c.hashId}`.trim()
130
- },
131
- iconDom
132
- ) : defaultIcon,
133
- /* @__PURE__ */ React.createElement(
134
- "span",
135
- {
136
- className: classNames(
137
- `${baseClassName}-item-text`,
138
- (_d = this.props) == null ? void 0 : _d.hashId,
139
- {
140
- [`${baseClassName}-item-text-has-icon`]: menuType !== "group" && shouldHasIcon && (iconDom || defaultIcon)
141
- }
142
- )
143
- },
144
- name
145
- )
146
- );
147
- const title = subMenuItemRender ? subMenuItemRender(__spreadProps(__spreadValues({}, item), { isUrl: false }), defaultTitle, this.props) : defaultTitle;
148
- if (isGroup && level === 0 && this.props.collapsed && !menu.collapsedShowGroupTitle) {
149
- return this.getNavMenuItems(children, level + 1, level);
150
- }
151
- const childrenList = this.getNavMenuItems(
152
- children,
153
- level + 1,
154
- isGroup && level === 0 && this.props.collapsed ? level : level + 1
155
- );
156
- return [
157
- {
158
- type: menuType,
159
- key: item.key || item.path,
160
- label: title,
161
- onClick: isGroup ? void 0 : item.onTitleClick,
162
- children: childrenList,
163
- className: classNames({
164
- [`${baseClassName}-group`]: menuType === "group",
165
- [`${baseClassName}-submenu`]: menuType !== "group",
166
- [`${baseClassName}-submenu-has-icon`]: menuType !== "group" && shouldHasIcon && iconDom
167
- })
168
- },
169
- isGroup && level === 0 ? {
170
- type: "divider",
171
- prefixCls,
172
- className: `${baseClassName}-divider`,
173
- key: (item.key || item.path) + "-group-divider",
174
- style: {
175
- padding: 0,
176
- borderBlockEnd: 0,
177
- margin: this.props.collapsed ? "4px" : "6px 16px",
178
- marginBlockStart: this.props.collapsed ? 4 : 8,
179
- borderColor: (_f = (_e = designToken == null ? void 0 : designToken.layout) == null ? void 0 : _e.sider) == null ? void 0 : _f.colorMenuItemDivider
180
- }
181
- } : void 0
182
- ].filter(Boolean);
84
+ var MenuUtil = /*#__PURE__*/_createClass(function MenuUtil(props) {
85
+ var _this = this;
86
+ _classCallCheck(this, MenuUtil);
87
+ _defineProperty(this, "props", void 0);
88
+ _defineProperty(this, "getNavMenuItems", function () {
89
+ var menusData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
90
+ var level = arguments.length > 1 ? arguments[1] : undefined;
91
+ var noGroupLevel = arguments.length > 2 ? arguments[2] : undefined;
92
+ return menusData.map(function (item) {
93
+ return _this.getSubMenuOrItem(item, level, noGroupLevel);
94
+ }).filter(function (item) {
95
+ return item;
96
+ }).flat(1);
97
+ });
98
+ /** Get SubMenu or Item */
99
+ _defineProperty(this, "getSubMenuOrItem", function (item, level, noGroupLevel) {
100
+ var _this$props = _this.props,
101
+ subMenuItemRender = _this$props.subMenuItemRender,
102
+ baseClassName = _this$props.baseClassName,
103
+ prefixCls = _this$props.prefixCls,
104
+ collapsed = _this$props.collapsed,
105
+ menu = _this$props.menu,
106
+ iconPrefixes = _this$props.iconPrefixes,
107
+ layout = _this$props.layout;
108
+ var isGroup = (menu === null || menu === void 0 ? void 0 : menu.type) === 'group' && layout !== 'top';
109
+ var designToken = _this.props.token;
110
+ var name = _this.getIntlName(item);
111
+ var children = item === null || item === void 0 ? void 0 : item.children;
112
+ var menuType = isGroup && level === 0 ? 'group' : undefined;
113
+ if (Array.isArray(children) && children.length > 0) {
114
+ var _this$props2, _this$props3, _this$props4, _this$props5, _designToken$layout;
115
+ /** Menu 第一级可以有icon,或者 isGroup 时第二级别也要有 */
116
+ var shouldHasIcon = level === 0 || isGroup && level === 1;
117
+
118
+ // get defaultTitle by menuItemRender
119
+ var iconDom = getIcon(item.icon, iconPrefixes, "".concat(baseClassName, "-icon ").concat((_this$props2 = _this.props) === null || _this$props2 === void 0 ? void 0 : _this$props2.hashId));
120
+ /**
121
+ * 如果没有icon在收起的时候用首字母代替
122
+ */
123
+ var defaultIcon = collapsed && shouldHasIcon ? getMenuTitleSymbol(name) : null;
124
+ var defaultTitle = /*#__PURE__*/_jsxs("div", {
125
+ className: classNames("".concat(baseClassName, "-item-title"), (_this$props3 = _this.props) === null || _this$props3 === void 0 ? void 0 : _this$props3.hashId, _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(baseClassName, "-item-title-collapsed"), collapsed), "".concat(baseClassName, "-item-title-collapsed-level-").concat(noGroupLevel), collapsed), "".concat(baseClassName, "-group-item-title"), menuType === 'group'), "".concat(baseClassName, "-item-collapsed-show-title"), (menu === null || menu === void 0 ? void 0 : menu.collapsedShowTitle) && collapsed)),
126
+ children: [menuType === 'group' && collapsed ? null : shouldHasIcon && iconDom ? /*#__PURE__*/_jsx("span", {
127
+ className: "".concat(baseClassName, "-item-icon ").concat((_this$props4 = _this.props) === null || _this$props4 === void 0 ? void 0 : _this$props4.hashId).trim(),
128
+ children: iconDom
129
+ }) : defaultIcon, /*#__PURE__*/_jsx("span", {
130
+ className: classNames("".concat(baseClassName, "-item-text"), (_this$props5 = _this.props) === null || _this$props5 === void 0 ? void 0 : _this$props5.hashId, _defineProperty({}, "".concat(baseClassName, "-item-text-has-icon"), menuType !== 'group' && shouldHasIcon && (iconDom || defaultIcon))),
131
+ children: name
132
+ })]
133
+ });
134
+
135
+ // subMenu only title render
136
+ var title = subMenuItemRender ? subMenuItemRender(_objectSpread(_objectSpread({}, item), {}, {
137
+ isUrl: false
138
+ }), defaultTitle, _this.props) : defaultTitle;
139
+
140
+ // 如果收起来,没有子菜单了,就不需要展示 group,所以 level 不增加
141
+ if (isGroup && level === 0 && _this.props.collapsed && !menu.collapsedShowGroupTitle) {
142
+ return _this.getNavMenuItems(children, level + 1, level);
183
143
  }
184
- return {
185
- className: `${baseClassName}-menu-item`,
186
- disabled: item.disabled,
144
+ var childrenList = _this.getNavMenuItems(children, level + 1, isGroup && level === 0 && _this.props.collapsed ? level : level + 1);
145
+ return [{
146
+ type: menuType,
187
147
  key: item.key || item.path,
188
- onClick: item.onTitleClick,
189
- // eslint-disable-next-line react/no-is-mounted
190
- label: this.getMenuItemPath(item, level, noGroupLevel)
191
- };
192
- };
193
- this.getIntlName = (item) => {
194
- const { name, locale } = item;
195
- const { menu, formatMessage } = this.props;
196
- let finalName = name;
197
- if (locale && (menu == null ? void 0 : menu.locale) !== false) {
198
- finalName = formatMessage == null ? void 0 : formatMessage({
199
- id: locale,
200
- defaultMessage: name
201
- });
202
- }
203
- if (this.props.menuTextRender) {
204
- return this.props.menuTextRender(item, finalName, this.props);
205
- }
206
- return finalName;
148
+ label: title,
149
+ onClick: isGroup ? undefined : item.onTitleClick,
150
+ children: childrenList,
151
+ className: classNames(_defineProperty(_defineProperty(_defineProperty({}, "".concat(baseClassName, "-group"), menuType === 'group'), "".concat(baseClassName, "-submenu"), menuType !== 'group'), "".concat(baseClassName, "-submenu-has-icon"), menuType !== 'group' && shouldHasIcon && iconDom))
152
+ }, isGroup && level === 0 ? {
153
+ type: 'divider',
154
+ prefixCls: prefixCls,
155
+ className: "".concat(baseClassName, "-divider"),
156
+ key: (item.key || item.path) + '-group-divider',
157
+ style: {
158
+ padding: 0,
159
+ borderBlockEnd: 0,
160
+ margin: _this.props.collapsed ? '4px' : '6px 16px',
161
+ marginBlockStart: _this.props.collapsed ? 4 : 8,
162
+ borderColor: designToken === null || designToken === void 0 || (_designToken$layout = designToken.layout) === null || _designToken$layout === void 0 || (_designToken$layout = _designToken$layout.sider) === null || _designToken$layout === void 0 ? void 0 : _designToken$layout.colorMenuItemDivider
163
+ }
164
+ } : undefined].filter(Boolean);
165
+ }
166
+ return {
167
+ className: "".concat(baseClassName, "-menu-item"),
168
+ disabled: item.disabled,
169
+ key: item.key || item.path,
170
+ onClick: item.onTitleClick,
171
+ // eslint-disable-next-line react/no-is-mounted
172
+ label: _this.getMenuItemPath(item, level, noGroupLevel)
207
173
  };
208
- /**
209
- * 判断是否是http链接.返回 Link a Judge whether it is http link.return a or Link
210
- *
211
- * @memberof SiderMenu
212
- */
213
- this.getMenuItemPath = (item, level, noGroupLevel) => {
214
- var _a, _b, _c, _d, _e, _f, _g;
215
- const itemPath = this.conversionPath(item.path || "/");
216
- const {
217
- location = { pathname: "/" },
218
- isMobile,
219
- onCollapse,
220
- menuItemRender,
221
- iconPrefixes
222
- } = this.props;
223
- const menuItemTitle = this.getIntlName(item);
224
- const { baseClassName, menu, collapsed } = this.props;
225
- const isGroup = (menu == null ? void 0 : menu.type) === "group";
226
- const hasIcon = level === 0 || isGroup && level === 1;
227
- const icon = !hasIcon ? null : getIcon(
228
- item.icon,
229
- iconPrefixes,
230
- `${baseClassName}-icon ${(_a = this.props) == null ? void 0 : _a.hashId}`
231
- );
232
- const defaultIcon = collapsed && hasIcon ? getMenuTitleSymbol(menuItemTitle) : null;
233
- let defaultItem = /* @__PURE__ */ React.createElement(
234
- "div",
235
- {
236
- key: itemPath,
237
- className: classNames(
238
- `${baseClassName}-item-title`,
239
- (_b = this.props) == null ? void 0 : _b.hashId,
240
- {
241
- [`${baseClassName}-item-title-collapsed`]: collapsed,
242
- [`${baseClassName}-item-title-collapsed-level-${noGroupLevel}`]: collapsed,
243
- [`${baseClassName}-item-collapsed-show-title`]: (menu == null ? void 0 : menu.collapsedShowTitle) && collapsed
244
- }
245
- )
174
+ });
175
+ _defineProperty(this, "getIntlName", function (item) {
176
+ var name = item.name,
177
+ locale = item.locale;
178
+ var _this$props6 = _this.props,
179
+ menu = _this$props6.menu,
180
+ formatMessage = _this$props6.formatMessage;
181
+ var finalName = name;
182
+ if (locale && (menu === null || menu === void 0 ? void 0 : menu.locale) !== false) {
183
+ finalName = formatMessage === null || formatMessage === void 0 ? void 0 : formatMessage({
184
+ id: locale,
185
+ defaultMessage: name
186
+ });
187
+ }
188
+ if (_this.props.menuTextRender) {
189
+ return _this.props.menuTextRender(item, finalName, _this.props);
190
+ }
191
+ return finalName;
192
+ });
193
+ /**
194
+ * 判断是否是http链接.返回 Link 或 a Judge whether it is http link.return a or Link
195
+ *
196
+ * @memberof SiderMenu
197
+ */
198
+ _defineProperty(this, "getMenuItemPath", function (item, level, noGroupLevel) {
199
+ var _this$props9, _this$props10, _this$props11, _this$props12;
200
+ var itemPath = _this.conversionPath(item.path || '/');
201
+ var _this$props7 = _this.props,
202
+ _this$props7$location = _this$props7.location,
203
+ location = _this$props7$location === void 0 ? {
204
+ pathname: '/'
205
+ } : _this$props7$location,
206
+ isMobile = _this$props7.isMobile,
207
+ onCollapse = _this$props7.onCollapse,
208
+ menuItemRender = _this$props7.menuItemRender,
209
+ iconPrefixes = _this$props7.iconPrefixes;
210
+
211
+ // if local is true formatMessage all name。
212
+ var menuItemTitle = _this.getIntlName(item);
213
+ var _this$props8 = _this.props,
214
+ baseClassName = _this$props8.baseClassName,
215
+ menu = _this$props8.menu,
216
+ collapsed = _this$props8.collapsed;
217
+ var isGroup = (menu === null || menu === void 0 ? void 0 : menu.type) === 'group';
218
+ /** Menu 第一级可以有icon,或者 isGroup 时第二级别也要有 */
219
+ var hasIcon = level === 0 || isGroup && level === 1;
220
+ var icon = !hasIcon ? null : getIcon(item.icon, iconPrefixes, "".concat(baseClassName, "-icon ").concat((_this$props9 = _this.props) === null || _this$props9 === void 0 ? void 0 : _this$props9.hashId));
221
+
222
+ // 如果没有 icon 在收起的时候用首字母代替
223
+ var defaultIcon = collapsed && hasIcon ? getMenuTitleSymbol(menuItemTitle) : null;
224
+ var defaultItem = /*#__PURE__*/_jsxs("div", {
225
+ className: classNames("".concat(baseClassName, "-item-title"), (_this$props10 = _this.props) === null || _this$props10 === void 0 ? void 0 : _this$props10.hashId, _defineProperty(_defineProperty(_defineProperty({}, "".concat(baseClassName, "-item-title-collapsed"), collapsed), "".concat(baseClassName, "-item-title-collapsed-level-").concat(noGroupLevel), collapsed), "".concat(baseClassName, "-item-collapsed-show-title"), (menu === null || menu === void 0 ? void 0 : menu.collapsedShowTitle) && collapsed)),
226
+ children: [/*#__PURE__*/_jsx("span", {
227
+ className: "".concat(baseClassName, "-item-icon ").concat((_this$props11 = _this.props) === null || _this$props11 === void 0 ? void 0 : _this$props11.hashId).trim(),
228
+ style: {
229
+ display: defaultIcon === null && !icon ? 'none' : ''
246
230
  },
247
- /* @__PURE__ */ React.createElement(
248
- "span",
249
- {
250
- className: `${baseClassName}-item-icon ${(_c = this.props) == null ? void 0 : _c.hashId}`.trim(),
251
- style: {
252
- display: defaultIcon === null && !icon ? "none" : ""
253
- }
254
- },
255
- icon || /* @__PURE__ */ React.createElement("span", { className: "anticon" }, defaultIcon)
256
- ),
257
- /* @__PURE__ */ React.createElement(
258
- "span",
259
- {
260
- className: classNames(
261
- `${baseClassName}-item-text`,
262
- (_d = this.props) == null ? void 0 : _d.hashId,
263
- {
264
- [`${baseClassName}-item-text-has-icon`]: hasIcon && (icon || defaultIcon)
265
- }
266
- )
267
- },
268
- menuItemTitle
269
- )
270
- );
271
- const isHttpUrl = isUrl(itemPath);
272
- if (isHttpUrl) {
273
- defaultItem = /* @__PURE__ */ React.createElement(
274
- "span",
275
- {
276
- key: itemPath,
277
- onClick: () => {
278
- var _a2;
279
- (_a2 = window == null ? void 0 : window.open) == null ? void 0 : _a2.call(window, itemPath, "_blank");
280
- },
281
- className: classNames(
282
- `${baseClassName}-item-title`,
283
- (_e = this.props) == null ? void 0 : _e.hashId,
284
- {
285
- [`${baseClassName}-item-title-collapsed`]: collapsed,
286
- [`${baseClassName}-item-title-collapsed-level-${noGroupLevel}`]: collapsed,
287
- [`${baseClassName}-item-link`]: true,
288
- [`${baseClassName}-item-collapsed-show-title`]: (menu == null ? void 0 : menu.collapsedShowTitle) && collapsed
289
- }
290
- )
291
- },
292
- /* @__PURE__ */ React.createElement(
293
- "span",
294
- {
295
- className: `${baseClassName}-item-icon ${(_f = this.props) == null ? void 0 : _f.hashId}`.trim(),
296
- style: {
297
- display: defaultIcon === null && !icon ? "none" : ""
298
- }
299
- },
300
- icon || /* @__PURE__ */ React.createElement("span", { className: "anticon" }, defaultIcon)
301
- ),
302
- /* @__PURE__ */ React.createElement(
303
- "span",
304
- {
305
- className: classNames(
306
- `${baseClassName}-item-text`,
307
- (_g = this.props) == null ? void 0 : _g.hashId,
308
- {
309
- [`${baseClassName}-item-text-has-icon`]: hasIcon && (icon || defaultIcon)
310
- }
311
- )
312
- },
313
- menuItemTitle
314
- )
315
- );
316
- }
317
- if (menuItemRender) {
318
- const renderItemProps = __spreadProps(__spreadValues({}, item), {
319
- isUrl: isHttpUrl,
320
- itemPath,
321
- isMobile,
322
- replace: itemPath === location.pathname,
323
- onClick: () => onCollapse && onCollapse(true),
324
- children: void 0
325
- });
326
- return level === 0 ? /* @__PURE__ */ React.createElement(
327
- MenuItemTooltip,
328
- {
329
- collapsed,
330
- title: menuItemTitle,
331
- disable: item.disabledTooltip
231
+ children: icon || /*#__PURE__*/_jsx("span", {
232
+ className: "anticon",
233
+ children: defaultIcon
234
+ })
235
+ }), /*#__PURE__*/_jsx("span", {
236
+ className: classNames("".concat(baseClassName, "-item-text"), (_this$props12 = _this.props) === null || _this$props12 === void 0 ? void 0 : _this$props12.hashId, _defineProperty({}, "".concat(baseClassName, "-item-text-has-icon"), hasIcon && (icon || defaultIcon))),
237
+ children: menuItemTitle
238
+ })]
239
+ }, itemPath);
240
+ var isHttpUrl = isUrl(itemPath);
241
+
242
+ // Is it a http link
243
+ if (isHttpUrl) {
244
+ var _this$props13, _this$props14, _this$props15;
245
+ defaultItem = /*#__PURE__*/_jsxs("span", {
246
+ onClick: function onClick() {
247
+ var _window, _window$open;
248
+ (_window = window) === null || _window === void 0 || (_window$open = _window.open) === null || _window$open === void 0 || _window$open.call(_window, itemPath, '_blank');
249
+ },
250
+ className: classNames("".concat(baseClassName, "-item-title"), (_this$props13 = _this.props) === null || _this$props13 === void 0 ? void 0 : _this$props13.hashId, _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(baseClassName, "-item-title-collapsed"), collapsed), "".concat(baseClassName, "-item-title-collapsed-level-").concat(noGroupLevel), collapsed), "".concat(baseClassName, "-item-link"), true), "".concat(baseClassName, "-item-collapsed-show-title"), (menu === null || menu === void 0 ? void 0 : menu.collapsedShowTitle) && collapsed)),
251
+ children: [/*#__PURE__*/_jsx("span", {
252
+ className: "".concat(baseClassName, "-item-icon ").concat((_this$props14 = _this.props) === null || _this$props14 === void 0 ? void 0 : _this$props14.hashId).trim(),
253
+ style: {
254
+ display: defaultIcon === null && !icon ? 'none' : ''
332
255
  },
333
- menuItemRender(renderItemProps, defaultItem, this.props)
334
- ) : menuItemRender(renderItemProps, defaultItem, this.props);
335
- }
336
- return level === 0 ? /* @__PURE__ */ React.createElement(
337
- MenuItemTooltip,
338
- {
339
- collapsed,
340
- title: menuItemTitle,
341
- disable: item.disabledTooltip
256
+ children: icon || /*#__PURE__*/_jsx("span", {
257
+ className: "anticon",
258
+ children: defaultIcon
259
+ })
260
+ }), /*#__PURE__*/_jsx("span", {
261
+ className: classNames("".concat(baseClassName, "-item-text"), (_this$props15 = _this.props) === null || _this$props15 === void 0 ? void 0 : _this$props15.hashId, _defineProperty({}, "".concat(baseClassName, "-item-text-has-icon"), hasIcon && (icon || defaultIcon))),
262
+ children: menuItemTitle
263
+ })]
264
+ }, itemPath);
265
+ }
266
+ if (menuItemRender) {
267
+ var renderItemProps = _objectSpread(_objectSpread({}, item), {}, {
268
+ isUrl: isHttpUrl,
269
+ itemPath: itemPath,
270
+ isMobile: isMobile,
271
+ replace: itemPath === location.pathname,
272
+ onClick: function onClick() {
273
+ return onCollapse && onCollapse(true);
342
274
  },
343
- defaultItem
344
- ) : defaultItem;
345
- };
346
- this.conversionPath = (path) => {
347
- if (path && path.indexOf("http") === 0) {
348
- return path;
349
- }
350
- return `/${path || ""}`.replace(/\/+/g, "/");
351
- };
352
- this.props = props;
353
- }
354
- };
355
- var getOpenKeysProps = (openKeys, { layout, collapsed }) => {
356
- let openKeysProps = {};
357
- if (openKeys && !collapsed && ["side", "mix"].includes(layout || "mix")) {
275
+ children: undefined
276
+ });
277
+ return level === 0 ? /*#__PURE__*/_jsx(MenuItemTooltip, {
278
+ collapsed: collapsed,
279
+ title: menuItemTitle,
280
+ disable: item.disabledTooltip,
281
+ children: menuItemRender(renderItemProps, defaultItem, _this.props)
282
+ }) : menuItemRender(renderItemProps, defaultItem, _this.props);
283
+ }
284
+ return level === 0 ? /*#__PURE__*/_jsx(MenuItemTooltip, {
285
+ collapsed: collapsed,
286
+ title: menuItemTitle,
287
+ disable: item.disabledTooltip,
288
+ children: defaultItem
289
+ }) : defaultItem;
290
+ });
291
+ _defineProperty(this, "conversionPath", function (path) {
292
+ if (path && path.indexOf('http') === 0) {
293
+ return path;
294
+ }
295
+ return "/".concat(path || '').replace(/\/+/g, '/');
296
+ });
297
+ this.props = props;
298
+ });
299
+ /**
300
+ * 生成openKeys 的对象,因为设置了openKeys 就会变成受控,所以需要一个空对象
301
+ *
302
+ * @param BaseMenuProps
303
+ */
304
+ var getOpenKeysProps = function getOpenKeysProps(openKeys, _ref) {
305
+ var layout = _ref.layout,
306
+ collapsed = _ref.collapsed;
307
+ var openKeysProps = {};
308
+ if (openKeys && !collapsed && ['side', 'mix'].includes(layout || 'mix')) {
358
309
  openKeysProps = {
359
- openKeys
310
+ openKeys: openKeys
360
311
  };
361
312
  }
362
313
  return openKeysProps;
363
314
  };
364
- var BaseMenu = (props) => {
365
- const {
366
- mode,
367
- className,
368
- handleOpenChange,
369
- style,
370
- menuData,
371
- prefixCls,
372
- menu,
373
- matchMenuKeys,
374
- iconfontUrl,
375
- selectedKeys: propsSelectedKeys,
376
- onSelect,
377
- menuRenderType,
378
- openKeys: propsOpenKeys
379
- } = props;
380
- const { dark, token: designToken } = useContext(ProProvider);
381
- const baseClassName = `${prefixCls}-base-menu-${mode}`;
382
- const defaultOpenKeysRef = useRef([]);
383
- const [defaultOpenAll, setDefaultOpenAll] = useMountMergeState(
384
- menu == null ? void 0 : menu.defaultOpenAll
385
- );
386
- const [openKeys, setOpenKeys] = useMountMergeState(
387
- () => {
388
- if (menu == null ? void 0 : menu.defaultOpenAll) {
315
+ var BaseMenu = function BaseMenu(props) {
316
+ var mode = props.mode,
317
+ className = props.className,
318
+ handleOpenChange = props.handleOpenChange,
319
+ style = props.style,
320
+ menuData = props.menuData,
321
+ prefixCls = props.prefixCls,
322
+ menu = props.menu,
323
+ matchMenuKeys = props.matchMenuKeys,
324
+ iconfontUrl = props.iconfontUrl,
325
+ propsSelectedKeys = props.selectedKeys,
326
+ onSelect = props.onSelect,
327
+ menuRenderType = props.menuRenderType,
328
+ propsOpenKeys = props.openKeys;
329
+ var _useContext = useContext(ProProvider),
330
+ dark = _useContext.dark,
331
+ designToken = _useContext.token;
332
+ var baseClassName = "".concat(prefixCls, "-base-menu-").concat(mode);
333
+ // 用于减少 defaultOpenKeys 计算的组件
334
+ var defaultOpenKeysRef = useRef([]);
335
+ var _useMountMergeState = useMountMergeState(menu === null || menu === void 0 ? void 0 : menu.defaultOpenAll),
336
+ _useMountMergeState2 = _slicedToArray(_useMountMergeState, 2),
337
+ defaultOpenAll = _useMountMergeState2[0],
338
+ setDefaultOpenAll = _useMountMergeState2[1];
339
+ var _useMountMergeState3 = useMountMergeState(function () {
340
+ if (menu !== null && menu !== void 0 && menu.defaultOpenAll) {
389
341
  return getOpenKeysFromMenuData(menuData) || [];
390
342
  }
391
343
  if (propsOpenKeys === false) {
392
344
  return false;
393
345
  }
394
346
  return [];
395
- },
396
- {
397
- value: propsOpenKeys === false ? void 0 : propsOpenKeys,
347
+ }, {
348
+ value: propsOpenKeys === false ? undefined : propsOpenKeys,
398
349
  onChange: handleOpenChange
399
- }
400
- );
401
- const [selectedKeys, setSelectedKeys] = useMountMergeState([], {
402
- value: propsSelectedKeys,
403
- onChange: onSelect ? (keys) => {
404
- if (onSelect && keys) {
405
- onSelect(keys);
406
- }
407
- } : void 0
408
- });
409
- useEffect(() => {
410
- if ((menu == null ? void 0 : menu.defaultOpenAll) || propsOpenKeys === false) {
350
+ }),
351
+ _useMountMergeState4 = _slicedToArray(_useMountMergeState3, 2),
352
+ openKeys = _useMountMergeState4[0],
353
+ setOpenKeys = _useMountMergeState4[1];
354
+ var _useMountMergeState5 = useMountMergeState([], {
355
+ value: propsSelectedKeys,
356
+ onChange: onSelect ? function (keys) {
357
+ if (onSelect && keys) {
358
+ onSelect(keys);
359
+ }
360
+ } : undefined
361
+ }),
362
+ _useMountMergeState6 = _slicedToArray(_useMountMergeState5, 2),
363
+ selectedKeys = _useMountMergeState6[0],
364
+ setSelectedKeys = _useMountMergeState6[1];
365
+ useEffect(function () {
366
+ if (menu !== null && menu !== void 0 && menu.defaultOpenAll || propsOpenKeys === false) {
411
367
  return;
412
368
  }
413
369
  if (matchMenuKeys) {
414
370
  setOpenKeys(matchMenuKeys);
415
371
  setSelectedKeys(matchMenuKeys);
416
372
  }
417
- }, [matchMenuKeys.join("-")]);
418
- useEffect(() => {
373
+ // eslint-disable-next-line react-hooks/exhaustive-deps
374
+ }, [matchMenuKeys.join('-')]);
375
+ useEffect(function () {
376
+ // reset IconFont
419
377
  if (iconfontUrl) {
420
378
  IconFont = createFromIconfontCN({
421
379
  scriptUrl: iconfontUrl
422
380
  });
423
381
  }
424
382
  }, [iconfontUrl]);
425
- useEffect(
426
- () => {
427
- if (matchMenuKeys.join("-") !== (selectedKeys || []).join("-")) {
428
- setSelectedKeys(matchMenuKeys);
429
- }
430
- if (!defaultOpenAll && propsOpenKeys !== false && matchMenuKeys.join("-") !== (openKeys || []).join("-")) {
431
- let newKeys = matchMenuKeys;
432
- if ((menu == null ? void 0 : menu.autoClose) === false) {
433
- newKeys = Array.from(
434
- /* @__PURE__ */ new Set([...matchMenuKeys, ...openKeys || []])
435
- );
436
- }
437
- setOpenKeys(newKeys);
438
- } else if ((menu == null ? void 0 : menu.ignoreFlatMenu) && defaultOpenAll && !props.collapsed) {
439
- setOpenKeys(getOpenKeysFromMenuData(menuData));
440
- } else {
441
- setDefaultOpenAll(false);
383
+ useEffect(function () {
384
+ // if pathname can't match, use the nearest parent's key
385
+ if (matchMenuKeys.join('-') !== (selectedKeys || []).join('-')) {
386
+ setSelectedKeys(matchMenuKeys);
387
+ }
388
+ if (!defaultOpenAll && propsOpenKeys !== false && matchMenuKeys.join('-') !== (openKeys || []).join('-')) {
389
+ var newKeys = matchMenuKeys;
390
+ // 如果不自动关闭,我需要把 openKeys 放进去
391
+ if ((menu === null || menu === void 0 ? void 0 : menu.autoClose) === false) {
392
+ newKeys = Array.from(new Set([].concat(_toConsumableArray(matchMenuKeys), _toConsumableArray(openKeys || []))));
442
393
  }
443
- },
444
- // 依赖项加上 props.collapsed,保证折叠时能正确响应
445
- [matchMenuKeys.join("-"), props.collapsed]
446
- );
447
- const openKeysProps = useMemo(
448
- () => getOpenKeysProps(openKeys, props),
449
- // eslint-disable-next-line react-hooks/exhaustive-deps
450
- [openKeys && openKeys.join(","), props.layout, props.collapsed]
451
- );
452
- const { wrapSSR, hashId } = useStyle(baseClassName, mode);
453
- const menuUtils = useMemo(() => {
454
- return new MenuUtil(__spreadProps(__spreadValues({}, props), {
394
+ setOpenKeys(newKeys);
395
+ } else if (menu !== null && menu !== void 0 && menu.ignoreFlatMenu && defaultOpenAll && !props.collapsed) {
396
+ // 忽略用户手动折叠过的菜单状态,折叠按钮切换之后也可实现默认展开所有菜单
397
+ // 但是如果用户手动点击关闭菜单,则应该遵循用户的选择
398
+ setOpenKeys(getOpenKeysFromMenuData(menuData));
399
+ } else {
400
+ setDefaultOpenAll(false);
401
+ }
402
+ },
403
+ // 依赖项加上 props.collapsed,保证折叠时能正确响应
404
+ [matchMenuKeys.join('-'), props.collapsed]);
405
+ var openKeysProps = useMemo(function () {
406
+ return getOpenKeysProps(openKeys, props);
407
+ },
408
+ // eslint-disable-next-line react-hooks/exhaustive-deps
409
+ [openKeys && openKeys.join(','), props.layout, props.collapsed]);
410
+ var _useStyle = useStyle(baseClassName, mode),
411
+ wrapSSR = _useStyle.wrapSSR,
412
+ hashId = _useStyle.hashId;
413
+ var menuUtils = useMemo(function () {
414
+ return new MenuUtil(_objectSpread(_objectSpread({}, props), {}, {
455
415
  token: designToken,
456
- menuRenderType,
457
- baseClassName,
458
- hashId
416
+ menuRenderType: menuRenderType,
417
+ baseClassName: baseClassName,
418
+ hashId: hashId
459
419
  }));
460
420
  }, [props, designToken, menuRenderType, baseClassName, hashId]);
461
- if (menu == null ? void 0 : menu.loading) {
462
- return /* @__PURE__ */ React.createElement(
463
- "div",
464
- {
465
- style: (mode == null ? void 0 : mode.includes("inline")) ? { padding: 24 } : {
466
- marginBlockStart: 16
467
- }
421
+ if (menu !== null && menu !== void 0 && menu.loading) {
422
+ return /*#__PURE__*/_jsx("div", {
423
+ style: mode !== null && mode !== void 0 && mode.includes('inline') ? {
424
+ padding: 24
425
+ } : {
426
+ marginBlockStart: 16
468
427
  },
469
- /* @__PURE__ */ React.createElement(
470
- Skeleton,
471
- {
472
- active: true,
473
- title: false,
474
- paragraph: {
475
- rows: (mode == null ? void 0 : mode.includes("inline")) ? 6 : 1
476
- }
428
+ children: /*#__PURE__*/_jsx(Skeleton, {
429
+ active: true,
430
+ title: false,
431
+ paragraph: {
432
+ rows: mode !== null && mode !== void 0 && mode.includes('inline') ? 6 : 1
477
433
  }
478
- )
479
- );
434
+ })
435
+ });
480
436
  }
437
+
438
+ // 这次 openKeys === false 的时候的情况,这种情况下帮用户选中一次
439
+ // 第二此不会使用,所以用了 defaultOpenKeys
440
+ // 这里返回 null,是为了让 defaultOpenKeys 生效
481
441
  if (props.openKeys === false && !props.handleOpenChange) {
482
442
  defaultOpenKeysRef.current = matchMenuKeys;
483
443
  }
484
- const finallyData = props.postMenuData ? props.postMenuData(menuData) : menuData;
485
- if (finallyData && (finallyData == null ? void 0 : finallyData.length) < 1) {
444
+ var finallyData = props.postMenuData ? props.postMenuData(menuData) : menuData;
445
+ if (finallyData && (finallyData === null || finallyData === void 0 ? void 0 : finallyData.length) < 1) {
486
446
  return null;
487
447
  }
488
- return wrapSSR(
489
- /* @__PURE__ */ React.createElement(
490
- Menu,
491
- __spreadValues(__spreadProps(__spreadValues({}, openKeysProps), {
492
- _internalDisableMenuItemTitleTooltip: true,
493
- key: "Menu",
494
- mode,
495
- inlineIndent: 16,
496
- defaultOpenKeys: defaultOpenKeysRef.current,
497
- theme: dark ? "dark" : "light",
498
- selectedKeys,
499
- style: __spreadValues({
500
- backgroundColor: "transparent",
501
- border: "none"
502
- }, style),
503
- className: classNames(className, hashId, baseClassName, {
504
- [`${baseClassName}-horizontal`]: mode === "horizontal",
505
- [`${baseClassName}-collapsed`]: props.collapsed
506
- }),
507
- items: menuUtils.getNavMenuItems(finallyData, 0, 0),
508
- onOpenChange: (_openKeys) => {
509
- if (!props.collapsed) {
510
- if (_openKeys.length === 0) {
511
- setDefaultOpenAll(false);
512
- }
513
- setOpenKeys(_openKeys);
514
- }
448
+ return wrapSSR( /*#__PURE__*/_createElement(Menu, _objectSpread(_objectSpread({}, openKeysProps), {}, {
449
+ _internalDisableMenuItemTitleTooltip: true,
450
+ key: "Menu",
451
+ mode: mode,
452
+ inlineIndent: 16,
453
+ defaultOpenKeys: defaultOpenKeysRef.current,
454
+ theme: dark ? 'dark' : 'light',
455
+ selectedKeys: selectedKeys,
456
+ style: _objectSpread({
457
+ backgroundColor: 'transparent',
458
+ border: 'none'
459
+ }, style),
460
+ className: classNames(className, hashId, baseClassName, _defineProperty(_defineProperty({}, "".concat(baseClassName, "-horizontal"), mode === 'horizontal'), "".concat(baseClassName, "-collapsed"), props.collapsed)),
461
+ items: menuUtils.getNavMenuItems(finallyData, 0, 0),
462
+ onOpenChange: function onOpenChange(_openKeys) {
463
+ if (!props.collapsed) {
464
+ // 如果用户手动关闭所有菜单,则关闭自动展开
465
+ if (_openKeys.length === 0) {
466
+ setDefaultOpenAll(false);
515
467
  }
516
- }), props.menuProps)
517
- )
518
- );
519
- };
520
- export {
521
- BaseMenu
468
+ setOpenKeys(_openKeys);
469
+ }
470
+ }
471
+ }, props.menuProps)));
522
472
  };
473
+ export { BaseMenu };