@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
@@ -1,15 +1,10 @@
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
1
  import { createFromIconfontCN } from '@ant-design/icons';
2
+ import { useControlledState } from '@rc-component/util';
8
3
  import { Menu, Skeleton, Tooltip } from 'antd';
9
- import classNames from 'classnames';
10
- import React, { useContext, useEffect, useMemo, useRef, useState } from 'react';
4
+ import { clsx } from 'clsx';
5
+ import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
11
6
  import { ProProvider } from "../../../provider";
12
- import { isImg, isUrl, useMountMergeState } from "../../../utils";
7
+ import { isImg, isUrl } from "../../../utils";
13
8
  import { defaultSettings } from "../../defaultSettings";
14
9
  import { getOpenKeysFromMenuData } from "../../utils/utils";
15
10
  import { useStyle } from "./style/menu";
@@ -18,18 +13,12 @@ import { useStyle } from "./style/menu";
18
13
  import { jsx as _jsx } from "react/jsx-runtime";
19
14
  import { jsxs as _jsxs } from "react/jsx-runtime";
20
15
  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 () {
16
+ const MenuItemTooltip = props => {
17
+ const [collapsed, setCollapsed] = useState(props.collapsed);
18
+ const [open, setOpen] = useState(false);
19
+ useEffect(() => {
31
20
  setOpen(false);
32
- setTimeout(function () {
21
+ setTimeout(() => {
33
22
  setCollapsed(props.collapsed);
34
23
  }, 400);
35
24
  }, [props.collapsed]);
@@ -44,7 +33,7 @@ var MenuItemTooltip = function MenuItemTooltip(props) {
44
33
  children: props.children
45
34
  });
46
35
  };
47
- var IconFont = createFromIconfontCN({
36
+ let IconFont = createFromIconfontCN({
48
37
  scriptUrl: defaultSettings.iconfontUrl
49
38
  });
50
39
 
@@ -54,9 +43,7 @@ var IconFont = createFromIconfontCN({
54
43
  // icon: 'http://demo.com/icon.png',
55
44
  // icon: '/favicon.png',
56
45
  // 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;
46
+ const getIcon = (icon, iconPrefixes = 'icon-', className) => {
60
47
  if (typeof icon === 'string' && icon !== '') {
61
48
  if (isUrl(icon) || isImg(icon)) {
62
49
  return /*#__PURE__*/_jsx("img", {
@@ -74,157 +61,170 @@ var getIcon = function getIcon(icon) {
74
61
  }
75
62
  return icon;
76
63
  };
77
- var getMenuTitleSymbol = function getMenuTitleSymbol(title) {
64
+ const getMenuTitleSymbol = title => {
78
65
  if (title && typeof title === 'string') {
79
- var symbol = title.substring(0, 1).toUpperCase();
66
+ const symbol = title.substring(0, 1).toUpperCase();
80
67
  return symbol;
81
68
  }
82
69
  return null;
83
70
  };
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
- });
71
+ class MenuUtil {
72
+ props;
73
+ constructor(props) {
74
+ this.props = props;
75
+ }
76
+ getNavMenuItems = (menusData = [], level, noGroupLevel) => menusData.map(item => this.getSubMenuOrItem(item, level, noGroupLevel)).filter(item => item).flat(1);
77
+
98
78
  /** 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;
79
+ getSubMenuOrItem = (item, level, noGroupLevel) => {
80
+ const {
81
+ subMenuItemRender,
82
+ baseClassName,
83
+ prefixCls,
84
+ collapsed,
85
+ menu,
86
+ iconPrefixes,
87
+ layout
88
+ } = this.props;
89
+ const isGroup = menu?.type === 'group' && layout !== 'top';
90
+ const designToken = this.props.token;
91
+ const name = this.getIntlName(item);
92
+ const children = item?.children;
93
+ const menuType = isGroup && level === 0 ? 'group' : undefined;
113
94
  if (Array.isArray(children) && children.length > 0) {
114
- var _this$props2, _this$props3, _this$props4, _this$props5, _designToken$layout;
115
95
  /** Menu 第一级可以有icon,或者 isGroup 时第二级别也要有 */
116
- var shouldHasIcon = level === 0 || isGroup && level === 1;
96
+ const shouldHasIcon = level === 0 || isGroup && level === 1;
117
97
 
118
98
  // 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));
99
+ const iconDom = getIcon(item.icon, iconPrefixes, `${baseClassName}-icon ${this.props?.hashId}`);
120
100
  /**
121
101
  * 如果没有icon在收起的时候用首字母代替
122
102
  */
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)),
103
+ const defaultIcon = collapsed && shouldHasIcon ? getMenuTitleSymbol(name) : null;
104
+ const defaultTitle = /*#__PURE__*/_jsxs("div", {
105
+ className: clsx(`${baseClassName}-item-title`, this.props?.hashId, {
106
+ [`${baseClassName}-item-title-collapsed`]: collapsed,
107
+ [`${baseClassName}-item-title-collapsed-level-${noGroupLevel}`]: collapsed,
108
+ [`${baseClassName}-group-item-title`]: menuType === 'group',
109
+ [`${baseClassName}-item-collapsed-show-title`]: menu?.collapsedShowTitle && collapsed
110
+ }),
126
111
  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(),
112
+ className: `${baseClassName}-item-icon ${this.props?.hashId}`.trim(),
128
113
  children: iconDom
129
114
  }) : 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))),
115
+ className: clsx(`${baseClassName}-item-text`, this.props?.hashId, {
116
+ [`${baseClassName}-item-text-has-icon`]: menuType !== 'group' && shouldHasIcon && (iconDom || defaultIcon)
117
+ }),
131
118
  children: name
132
119
  })]
133
120
  });
134
121
 
135
122
  // subMenu only title render
136
- var title = subMenuItemRender ? subMenuItemRender(_objectSpread(_objectSpread({}, item), {}, {
123
+ const title = subMenuItemRender ? subMenuItemRender({
124
+ ...item,
137
125
  isUrl: false
138
- }), defaultTitle, _this.props) : defaultTitle;
126
+ }, defaultTitle, this.props) : defaultTitle;
139
127
 
140
128
  // 如果收起来,没有子菜单了,就不需要展示 group,所以 level 不增加
141
- if (isGroup && level === 0 && _this.props.collapsed && !menu.collapsedShowGroupTitle) {
142
- return _this.getNavMenuItems(children, level + 1, level);
129
+ if (isGroup && level === 0 && this.props.collapsed && !menu.collapsedShowGroupTitle) {
130
+ return this.getNavMenuItems(children, level + 1, level);
143
131
  }
144
- var childrenList = _this.getNavMenuItems(children, level + 1, isGroup && level === 0 && _this.props.collapsed ? level : level + 1);
132
+ const childrenList = this.getNavMenuItems(children, level + 1, isGroup && level === 0 && this.props.collapsed ? level : level + 1);
145
133
  return [{
146
134
  type: menuType,
147
135
  key: item.key || item.path,
148
136
  label: title,
149
137
  onClick: isGroup ? undefined : item.onTitleClick,
150
138
  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))
139
+ className: clsx({
140
+ [`${baseClassName}-group`]: menuType === 'group',
141
+ [`${baseClassName}-submenu`]: menuType !== 'group',
142
+ [`${baseClassName}-submenu-has-icon`]: menuType !== 'group' && shouldHasIcon && iconDom
143
+ })
152
144
  }, isGroup && level === 0 ? {
153
145
  type: 'divider',
154
- prefixCls: prefixCls,
155
- className: "".concat(baseClassName, "-divider"),
146
+ prefixCls,
147
+ className: `${baseClassName}-divider`,
156
148
  key: (item.key || item.path) + '-group-divider',
157
149
  style: {
158
150
  padding: 0,
159
151
  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
152
+ margin: this.props.collapsed ? '4px' : '6px 16px',
153
+ marginBlockStart: this.props.collapsed ? 4 : 8,
154
+ borderColor: designToken?.layout?.sider?.colorMenuItemDivider
163
155
  }
164
156
  } : undefined].filter(Boolean);
165
157
  }
166
158
  return {
167
- className: "".concat(baseClassName, "-menu-item"),
159
+ className: `${baseClassName}-menu-item`,
168
160
  disabled: item.disabled,
169
161
  key: item.key || item.path,
170
162
  onClick: item.onTitleClick,
171
163
  // eslint-disable-next-line react/no-is-mounted
172
- label: _this.getMenuItemPath(item, level, noGroupLevel)
164
+ label: this.getMenuItemPath(item, level, noGroupLevel)
173
165
  };
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({
166
+ };
167
+ getIntlName = item => {
168
+ const {
169
+ name,
170
+ locale
171
+ } = item;
172
+ const {
173
+ menu,
174
+ formatMessage
175
+ } = this.props;
176
+ let finalName = name;
177
+ if (locale && menu?.locale !== false) {
178
+ finalName = formatMessage?.({
184
179
  id: locale,
185
180
  defaultMessage: name
186
181
  });
187
182
  }
188
- if (_this.props.menuTextRender) {
189
- return _this.props.menuTextRender(item, finalName, _this.props);
183
+ if (this.props.menuTextRender) {
184
+ return this.props.menuTextRender(item, finalName, this.props);
190
185
  }
191
186
  return finalName;
192
- });
187
+ };
188
+
193
189
  /**
194
190
  * 判断是否是http链接.返回 Link 或 a Judge whether it is http link.return a or Link
195
191
  *
196
192
  * @memberof SiderMenu
197
193
  */
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 ? {
194
+ getMenuItemPath = (item, level, noGroupLevel) => {
195
+ const itemPath = this.conversionPath(item.path || '/');
196
+ const {
197
+ location = {
204
198
  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;
199
+ },
200
+ isMobile,
201
+ onCollapse,
202
+ menuItemRender,
203
+ iconPrefixes
204
+ } = this.props;
210
205
 
211
206
  // 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';
207
+ const menuItemTitle = this.getIntlName(item);
208
+ const {
209
+ baseClassName,
210
+ menu,
211
+ collapsed
212
+ } = this.props;
213
+ const isGroup = menu?.type === 'group';
218
214
  /** 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));
215
+ const hasIcon = level === 0 || isGroup && level === 1;
216
+ const icon = !hasIcon ? null : getIcon(item.icon, iconPrefixes, `${baseClassName}-icon ${this.props?.hashId}`);
221
217
 
222
218
  // 如果没有 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)),
219
+ const defaultIcon = collapsed && hasIcon ? getMenuTitleSymbol(menuItemTitle) : null;
220
+ let defaultItem = /*#__PURE__*/_jsxs("div", {
221
+ className: clsx(`${baseClassName}-item-title`, this.props?.hashId, {
222
+ [`${baseClassName}-item-title-collapsed`]: collapsed,
223
+ [`${baseClassName}-item-title-collapsed-level-${noGroupLevel}`]: collapsed,
224
+ [`${baseClassName}-item-collapsed-show-title`]: menu?.collapsedShowTitle && collapsed
225
+ }),
226
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(),
227
+ className: `${baseClassName}-item-icon ${this.props?.hashId}`.trim(),
228
228
  style: {
229
229
  display: defaultIcon === null && !icon ? 'none' : ''
230
230
  },
@@ -233,23 +233,28 @@ var MenuUtil = /*#__PURE__*/_createClass(function MenuUtil(props) {
233
233
  children: defaultIcon
234
234
  })
235
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))),
236
+ className: clsx(`${baseClassName}-item-text`, this.props?.hashId, {
237
+ [`${baseClassName}-item-text-has-icon`]: hasIcon && (icon || defaultIcon)
238
+ }),
237
239
  children: menuItemTitle
238
240
  })]
239
241
  }, itemPath);
240
- var isHttpUrl = isUrl(itemPath);
242
+ const isHttpUrl = isUrl(itemPath);
241
243
 
242
244
  // Is it a http link
243
245
  if (isHttpUrl) {
244
- var _this$props13, _this$props14, _this$props15;
245
246
  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');
247
+ onClick: () => {
248
+ window?.open?.(itemPath, '_blank');
249
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)),
250
+ className: clsx(`${baseClassName}-item-title`, this.props?.hashId, {
251
+ [`${baseClassName}-item-title-collapsed`]: collapsed,
252
+ [`${baseClassName}-item-title-collapsed-level-${noGroupLevel}`]: collapsed,
253
+ [`${baseClassName}-item-link`]: true,
254
+ [`${baseClassName}-item-collapsed-show-title`]: menu?.collapsedShowTitle && collapsed
255
+ }),
251
256
  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(),
257
+ className: `${baseClassName}-item-icon ${this.props?.hashId}`.trim(),
253
258
  style: {
254
259
  display: defaultIcon === null && !icon ? 'none' : ''
255
260
  },
@@ -258,28 +263,29 @@ var MenuUtil = /*#__PURE__*/_createClass(function MenuUtil(props) {
258
263
  children: defaultIcon
259
264
  })
260
265
  }), /*#__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))),
266
+ className: clsx(`${baseClassName}-item-text`, this.props?.hashId, {
267
+ [`${baseClassName}-item-text-has-icon`]: hasIcon && (icon || defaultIcon)
268
+ }),
262
269
  children: menuItemTitle
263
270
  })]
264
271
  }, itemPath);
265
272
  }
266
273
  if (menuItemRender) {
267
- var renderItemProps = _objectSpread(_objectSpread({}, item), {}, {
274
+ const renderItemProps = {
275
+ ...item,
268
276
  isUrl: isHttpUrl,
269
- itemPath: itemPath,
270
- isMobile: isMobile,
277
+ itemPath,
278
+ isMobile,
271
279
  replace: itemPath === location.pathname,
272
- onClick: function onClick() {
273
- return onCollapse && onCollapse(true);
274
- },
280
+ onClick: () => onCollapse && onCollapse(true),
275
281
  children: undefined
276
- });
282
+ };
277
283
  return level === 0 ? /*#__PURE__*/_jsx(MenuItemTooltip, {
278
284
  collapsed: collapsed,
279
285
  title: menuItemTitle,
280
286
  disable: item.disabledTooltip,
281
- children: menuItemRender(renderItemProps, defaultItem, _this.props)
282
- }) : menuItemRender(renderItemProps, defaultItem, _this.props);
287
+ children: menuItemRender(renderItemProps, defaultItem, this.props)
288
+ }) : menuItemRender(renderItemProps, defaultItem, this.props);
283
289
  }
284
290
  return level === 0 ? /*#__PURE__*/_jsx(MenuItemTooltip, {
285
291
  collapsed: collapsed,
@@ -287,83 +293,85 @@ var MenuUtil = /*#__PURE__*/_createClass(function MenuUtil(props) {
287
293
  disable: item.disabledTooltip,
288
294
  children: defaultItem
289
295
  }) : defaultItem;
290
- });
291
- _defineProperty(this, "conversionPath", function (path) {
296
+ };
297
+ conversionPath = path => {
292
298
  if (path && path.indexOf('http') === 0) {
293
299
  return path;
294
300
  }
295
- return "/".concat(path || '').replace(/\/+/g, '/');
296
- });
297
- this.props = props;
298
- });
301
+ return `/${path || ''}`.replace(/\/+/g, '/');
302
+ };
303
+ }
304
+
299
305
  /**
300
306
  * 生成openKeys 的对象,因为设置了openKeys 就会变成受控,所以需要一个空对象
301
307
  *
302
308
  * @param BaseMenuProps
303
309
  */
304
- var getOpenKeysProps = function getOpenKeysProps(openKeys, _ref) {
305
- var layout = _ref.layout,
306
- collapsed = _ref.collapsed;
307
- var openKeysProps = {};
310
+ const getOpenKeysProps = (openKeys, {
311
+ layout,
312
+ collapsed
313
+ }) => {
314
+ let openKeysProps = {};
308
315
  if (openKeys && !collapsed && ['side', 'mix'].includes(layout || 'mix')) {
309
316
  openKeysProps = {
310
- openKeys: openKeys
317
+ openKeys
311
318
  };
312
319
  }
313
320
  return openKeysProps;
314
321
  };
315
- var BaseMenu = function BaseMenu(props) {
316
- var mode = props.mode,
317
- className = props.className,
318
- onOpenChange = props.onOpenChange,
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);
322
+ const BaseMenu = props => {
323
+ const {
324
+ mode,
325
+ className,
326
+ onOpenChange,
327
+ style,
328
+ menuData,
329
+ prefixCls,
330
+ menu,
331
+ matchMenuKeys,
332
+ iconfontUrl,
333
+ selectedKeys: propsSelectedKeys,
334
+ onSelect,
335
+ menuRenderType,
336
+ openKeys: propsOpenKeys
337
+ } = props;
338
+ const {
339
+ dark,
340
+ token: designToken
341
+ } = useContext(ProProvider);
342
+ const baseClassName = `${prefixCls}-base-menu-${mode}`;
333
343
  // 用于减少 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) {
341
- return getOpenKeysFromMenuData(menuData) || [];
342
- }
343
- if (propsOpenKeys === false) {
344
- return false;
344
+ const defaultOpenKeysRef = useRef([]);
345
+ const [defaultOpenAll, setDefaultOpenAll] = useState(menu?.defaultOpenAll);
346
+ const openKeysValue = propsOpenKeys === false ? undefined : propsOpenKeys;
347
+ const [openKeys, setOpenKeysInner] = useControlledState(() => {
348
+ if (menu?.defaultOpenAll) {
349
+ return getOpenKeysFromMenuData(menuData) || [];
350
+ }
351
+ if (propsOpenKeys === false) {
352
+ return false;
353
+ }
354
+ return [];
355
+ }, openKeysValue);
356
+ const setOpenKeys = useCallback(updater => {
357
+ setOpenKeysInner(prev => {
358
+ const next = typeof updater === 'function' ? updater(prev) : updater;
359
+ onOpenChange?.(next);
360
+ return next;
361
+ });
362
+ }, [onOpenChange]);
363
+ const [selectedKeys, setSelectedKeysInner] = useControlledState([], propsSelectedKeys);
364
+ const setSelectedKeys = useCallback(updater => {
365
+ setSelectedKeysInner(prev => {
366
+ const next = typeof updater === 'function' ? updater(prev) : updater;
367
+ if (onSelect && next) {
368
+ onSelect(next);
345
369
  }
346
- return [];
347
- }, {
348
- value: propsOpenKeys === false ? undefined : propsOpenKeys,
349
- onChange: onOpenChange
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) {
370
+ return next;
371
+ });
372
+ }, [onSelect]);
373
+ useEffect(() => {
374
+ if (menu?.defaultOpenAll || propsOpenKeys === false) {
367
375
  return;
368
376
  }
369
377
  if (matchMenuKeys) {
@@ -372,7 +380,7 @@ var BaseMenu = function BaseMenu(props) {
372
380
  }
373
381
  // eslint-disable-next-line react-hooks/exhaustive-deps
374
382
  }, [matchMenuKeys.join('-')]);
375
- useEffect(function () {
383
+ useEffect(() => {
376
384
  // reset IconFont
377
385
  if (iconfontUrl) {
378
386
  IconFont = createFromIconfontCN({
@@ -380,19 +388,19 @@ var BaseMenu = function BaseMenu(props) {
380
388
  });
381
389
  }
382
390
  }, [iconfontUrl]);
383
- useEffect(function () {
391
+ useEffect(() => {
384
392
  // if pathname can't match, use the nearest parent's key
385
393
  if (matchMenuKeys.join('-') !== (selectedKeys || []).join('-')) {
386
394
  setSelectedKeys(matchMenuKeys);
387
395
  }
388
396
  if (!defaultOpenAll && propsOpenKeys !== false && matchMenuKeys.join('-') !== (openKeys || []).join('-')) {
389
- var newKeys = matchMenuKeys;
397
+ let newKeys = matchMenuKeys;
390
398
  // 如果不自动关闭,我需要把 openKeys 放进去
391
- if ((menu === null || menu === void 0 ? void 0 : menu.autoClose) === false) {
392
- newKeys = Array.from(new Set([].concat(_toConsumableArray(matchMenuKeys), _toConsumableArray(openKeys || []))));
399
+ if (menu?.autoClose === false) {
400
+ newKeys = Array.from(new Set([...matchMenuKeys, ...(openKeys || [])]));
393
401
  }
394
402
  setOpenKeys(newKeys);
395
- } else if (menu !== null && menu !== void 0 && menu.ignoreFlatMenu && defaultOpenAll && !props.collapsed) {
403
+ } else if (menu?.ignoreFlatMenu && defaultOpenAll && !props.collapsed) {
396
404
  // 忽略用户手动折叠过的菜单状态,折叠按钮切换之后也可实现默认展开所有菜单
397
405
  // 但是如果用户手动点击关闭菜单,则应该遵循用户的选择
398
406
  setOpenKeys(getOpenKeysFromMenuData(menuData));
@@ -402,25 +410,25 @@ var BaseMenu = function BaseMenu(props) {
402
410
  },
403
411
  // 依赖项加上 props.collapsed,保证折叠时能正确响应
404
412
  [matchMenuKeys.join('-'), props.collapsed]);
405
- var openKeysProps = useMemo(function () {
406
- return getOpenKeysProps(openKeys, props);
407
- },
413
+ const openKeysProps = useMemo(() => getOpenKeysProps(openKeys, props),
408
414
  // eslint-disable-next-line react-hooks/exhaustive-deps
409
415
  [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), {}, {
416
+ const {
417
+ wrapSSR,
418
+ hashId
419
+ } = useStyle(baseClassName, mode);
420
+ const menuUtils = useMemo(() => {
421
+ return new MenuUtil({
422
+ ...props,
415
423
  token: designToken,
416
- menuRenderType: menuRenderType,
417
- baseClassName: baseClassName,
418
- hashId: hashId
419
- }));
424
+ menuRenderType,
425
+ baseClassName,
426
+ hashId
427
+ });
420
428
  }, [props, designToken, menuRenderType, baseClassName, hashId]);
421
- if (menu !== null && menu !== void 0 && menu.loading) {
429
+ if (menu?.loading) {
422
430
  return /*#__PURE__*/_jsx("div", {
423
- style: mode !== null && mode !== void 0 && mode.includes('inline') ? {
431
+ style: mode?.includes('inline') ? {
424
432
  padding: 24
425
433
  } : {
426
434
  marginBlockStart: 16
@@ -429,7 +437,7 @@ var BaseMenu = function BaseMenu(props) {
429
437
  active: true,
430
438
  title: false,
431
439
  paragraph: {
432
- rows: mode !== null && mode !== void 0 && mode.includes('inline') ? 6 : 1
440
+ rows: mode?.includes('inline') ? 6 : 1
433
441
  }
434
442
  })
435
443
  });
@@ -441,11 +449,12 @@ var BaseMenu = function BaseMenu(props) {
441
449
  if (props.openKeys === false && !props.onOpenChange) {
442
450
  defaultOpenKeysRef.current = matchMenuKeys;
443
451
  }
444
- var finallyData = props.postMenuData ? props.postMenuData(menuData) : menuData;
445
- if (finallyData && (finallyData === null || finallyData === void 0 ? void 0 : finallyData.length) < 1) {
452
+ const finallyData = props.postMenuData ? props.postMenuData(menuData) : menuData;
453
+ if (finallyData && finallyData?.length < 1) {
446
454
  return null;
447
455
  }
448
- return wrapSSR( /*#__PURE__*/_createElement(Menu, _objectSpread(_objectSpread({}, openKeysProps), {}, {
456
+ return wrapSSR( /*#__PURE__*/_createElement(Menu, {
457
+ ...openKeysProps,
449
458
  _internalDisableMenuItemTitleTooltip: true,
450
459
  key: "Menu",
451
460
  mode: mode,
@@ -453,13 +462,17 @@ var BaseMenu = function BaseMenu(props) {
453
462
  defaultOpenKeys: defaultOpenKeysRef.current,
454
463
  theme: dark ? 'dark' : 'light',
455
464
  selectedKeys: selectedKeys,
456
- style: _objectSpread({
465
+ style: {
457
466
  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)),
467
+ border: 'none',
468
+ ...style
469
+ },
470
+ className: clsx(className, hashId, baseClassName, {
471
+ [`${baseClassName}-horizontal`]: mode === 'horizontal',
472
+ [`${baseClassName}-collapsed`]: props.collapsed
473
+ }),
461
474
  items: menuUtils.getNavMenuItems(finallyData, 0, 0),
462
- onOpenChange: function onOpenChange(_openKeys) {
475
+ onOpenChange: _openKeys => {
463
476
  if (!props.collapsed) {
464
477
  // 如果用户手动关闭所有菜单,则关闭自动展开
465
478
  if (_openKeys.length === 0) {
@@ -467,7 +480,8 @@ var BaseMenu = function BaseMenu(props) {
467
480
  }
468
481
  setOpenKeys(_openKeys);
469
482
  }
470
- }
471
- }, props.menuProps)));
483
+ },
484
+ ...props.menuProps
485
+ }));
472
486
  };
473
487
  export { BaseMenu };