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