@zat-design/sisyphus-react 4.5.10-beta.1 → 4.5.10-beta.2

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 (266) hide show
  1. package/es/FormsProvider/index.js +14 -21
  2. package/es/ProAction/components/CheckModalContent/index.js +12 -26
  3. package/es/ProAction/index.js +79 -83
  4. package/es/ProAction/propsType.js +0 -1
  5. package/es/ProConfigProvider/index.js +63 -110
  6. package/es/ProConfigProvider/propsType.js +0 -1
  7. package/es/ProDownload/index.js +55 -65
  8. package/es/ProDownload/propsType.js +0 -1
  9. package/es/ProDownload/utils.js +61 -95
  10. package/es/ProDrawerForm/components/ProDrawer/index.js +83 -113
  11. package/es/ProDrawerForm/components/ProModal/index.js +77 -108
  12. package/es/ProDrawerForm/components/index.js +6 -2
  13. package/es/ProDrawerForm/hooks/useConfirmClose.js +20 -39
  14. package/es/ProDrawerForm/index.js +29 -38
  15. package/es/ProDrawerForm/propsType.js +0 -1
  16. package/es/ProDrawerForm/utils/index.js +18 -36
  17. package/es/ProEditLabel/components/RenderProForm.js +45 -49
  18. package/es/ProEditLabel/index.js +126 -163
  19. package/es/ProEditLabel/propsType.js +0 -1
  20. package/es/ProEditLabel/utils/index.js +5 -8
  21. package/es/ProEditTable/components/ActionButton/index.js +111 -119
  22. package/es/ProEditTable/components/RcTable/BaseTable.js +38 -51
  23. package/es/ProEditTable/components/RcTable/DraggableTable.js +97 -129
  24. package/es/ProEditTable/components/RcTable/index.js +6 -4
  25. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +77 -95
  26. package/es/ProEditTable/components/RenderField/index.js +490 -587
  27. package/es/ProEditTable/components/RenderField/propsType.js +0 -1
  28. package/es/ProEditTable/components/RenderField/tools.js +115 -112
  29. package/es/ProEditTable/components/RenderToolbar/index.js +47 -73
  30. package/es/ProEditTable/components/Summary/index.js +38 -64
  31. package/es/ProEditTable/components/Validator/index.js +46 -46
  32. package/es/ProEditTable/components/index.js +12 -5
  33. package/es/ProEditTable/index.js +456 -378
  34. package/es/ProEditTable/propsType.js +0 -1
  35. package/es/ProEditTable/utils/config.js +60 -122
  36. package/es/ProEditTable/utils/diffOriginal.js +45 -82
  37. package/es/ProEditTable/utils/getDefaultProps.js +19 -24
  38. package/es/ProEditTable/utils/index.js +150 -236
  39. package/es/ProEditTable/utils/tools.js +149 -286
  40. package/es/ProEditTable/utils/transform.js +25 -30
  41. package/es/ProEditTable/utils/useEditTableError.js +30 -43
  42. package/es/ProEditTable/utils/useShouldUpdateForTable.js +42 -72
  43. package/es/ProEditTable/utils/validateAll.js +87 -154
  44. package/es/ProEnum/components/Group.js +38 -30
  45. package/es/ProEnum/components/Tag.js +22 -26
  46. package/es/ProEnum/hooks/useEnum.js +48 -116
  47. package/es/ProEnum/hooks/useEnumRequest.js +128 -179
  48. package/es/ProEnum/hooks/useFrequentEnumRequest.js +40 -48
  49. package/es/ProEnum/index.js +162 -172
  50. package/es/ProEnum/propsType.js +0 -1
  51. package/es/ProEnum/utils/eventCenter.js +10 -12
  52. package/es/ProEnum/utils/frequentEnum.js +35 -92
  53. package/es/ProEnum/utils/getEnum.js +32 -90
  54. package/es/ProEnum/utils/getEnumLabel.js +44 -49
  55. package/es/ProEnum/utils/index.js +93 -207
  56. package/es/ProForm/components/Container.js +13 -28
  57. package/es/ProForm/components/FormFooter/index.js +36 -44
  58. package/es/ProForm/components/FormFooter/propsType.js +0 -1
  59. package/es/ProForm/components/base/Checkbox/index.js +32 -59
  60. package/es/ProForm/components/base/DatePicker/index.js +49 -71
  61. package/es/ProForm/components/base/Input/index.js +63 -97
  62. package/es/ProForm/components/base/Input/propsType.js +0 -1
  63. package/es/ProForm/components/base/InputNumber/index.js +118 -172
  64. package/es/ProForm/components/base/Radio/index.js +39 -52
  65. package/es/ProForm/components/base/RangePicker/index.js +109 -127
  66. package/es/ProForm/components/base/RangePicker/useDateRange.js +20 -17
  67. package/es/ProForm/components/base/Select/index.js +63 -89
  68. package/es/ProForm/components/base/Switch/index.js +27 -35
  69. package/es/ProForm/components/base/SwitchCheckbox/index.js +36 -54
  70. package/es/ProForm/components/base/TextArea/index.js +30 -41
  71. package/es/ProForm/components/base/TimePicker/index.js +27 -37
  72. package/es/ProForm/components/combination/Container/index.js +37 -47
  73. package/es/ProForm/components/combination/Container/propsType.js +0 -1
  74. package/es/ProForm/components/combination/FormList/components/ActionButton.js +165 -237
  75. package/es/ProForm/components/combination/FormList/components/BlockFields.js +98 -103
  76. package/es/ProForm/components/combination/FormList/components/Empty.js +27 -54
  77. package/es/ProForm/components/combination/FormList/components/LineFields.js +57 -54
  78. package/es/ProForm/components/combination/FormList/components/ToolbarButton.js +61 -109
  79. package/es/ProForm/components/combination/FormList/index.js +151 -161
  80. package/es/ProForm/components/combination/FormList/propsType.js +0 -1
  81. package/es/ProForm/components/combination/FormList/utils.js +22 -38
  82. package/es/ProForm/components/combination/Group/component/AddonWrapper/index.js +12 -28
  83. package/es/ProForm/components/combination/Group/component/ComRender.js +50 -111
  84. package/es/ProForm/components/combination/Group/component/FlexibleGroup.js +105 -206
  85. package/es/ProForm/components/combination/Group/hooks/index.js +68 -128
  86. package/es/ProForm/components/combination/Group/index.js +87 -126
  87. package/es/ProForm/components/combination/Group/propsType.js +0 -1
  88. package/es/ProForm/components/combination/Group/utils/index.js +124 -239
  89. package/es/ProForm/components/combination/ProCascader/index.js +156 -199
  90. package/es/ProForm/components/combination/ProCascader/propsType.js +0 -1
  91. package/es/ProForm/components/combination/ProCascader/utils/index.js +12 -21
  92. package/es/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +63 -75
  93. package/es/ProForm/components/combination/ProModalSelect/index.js +290 -348
  94. package/es/ProForm/components/combination/ProModalSelect/propsType.js +0 -1
  95. package/es/ProForm/components/combination/ProModalSelect/utils/index.js +32 -39
  96. package/es/ProForm/components/combination/ProNumberRange/index.js +100 -156
  97. package/es/ProForm/components/combination/ProNumberRange/propsType.js +0 -1
  98. package/es/ProForm/components/combination/ProRangeLimit/index.js +104 -115
  99. package/es/ProForm/components/combination/ProRangeLimit/propsType.js +0 -1
  100. package/es/ProForm/components/combination/ProTimeLimit/hooks/useControlled.js +16 -16
  101. package/es/ProForm/components/combination/ProTimeLimit/index.js +75 -109
  102. package/es/ProForm/components/index.js +56 -34
  103. package/es/ProForm/components/render/ChangedWrapper.js +85 -94
  104. package/es/ProForm/components/render/ConfirmWrapper.js +27 -39
  105. package/es/ProForm/components/render/CustomComponentViewWrapper.js +65 -82
  106. package/es/ProForm/components/render/Render.js +223 -329
  107. package/es/ProForm/components/render/RenderFields.js +76 -113
  108. package/es/ProForm/components/render/propsType.js +0 -1
  109. package/es/ProForm/hooks/useControlled.js +8 -10
  110. package/es/ProForm/hooks/useDeepCompareMemo.js +11 -11
  111. package/es/ProForm/hooks/useFieldProps.js +8 -4
  112. package/es/ProForm/hooks/useForm.js +50 -110
  113. package/es/ProForm/hooks/useRules.js +17 -33
  114. package/es/ProForm/hooks/useShouldUpdate.js +77 -152
  115. package/es/ProForm/hooks/useWatch.js +58 -129
  116. package/es/ProForm/index.js +157 -194
  117. package/es/ProForm/propsType.js +15 -7
  118. package/es/ProForm/utils/buildFormItemProps.js +51 -58
  119. package/es/ProForm/utils/diffOriginal.js +43 -73
  120. package/es/ProForm/utils/getDefaultProps.js +18 -24
  121. package/es/ProForm/utils/index.js +159 -234
  122. package/es/ProForm/utils/processDependencies.js +21 -60
  123. package/es/ProForm/utils/reactiveValues.js +20 -34
  124. package/es/ProForm/utils/rulesCreator.js +42 -40
  125. package/es/ProForm/utils/transformNames.js +10 -13
  126. package/es/ProForm/utils/transformValue.js +16 -29
  127. package/es/ProForm/utils/valueType.js +96 -178
  128. package/es/ProIcon/config/index.js +340 -274
  129. package/es/ProIcon/index.js +135 -209
  130. package/es/ProIcon/propsTypes.js +0 -1
  131. package/es/ProIcon/utils/index.js +24 -39
  132. package/es/ProLayout/components/Layout/Header/index.js +108 -141
  133. package/es/ProLayout/components/Layout/Menu/FoldMenu/index.js +134 -190
  134. package/es/ProLayout/components/Layout/Menu/OpenMenu/index.js +111 -137
  135. package/es/ProLayout/components/Layout/Menu/OpenMenu/propsType.js +0 -1
  136. package/es/ProLayout/components/Layout/Menu/SideMenu/index.js +23 -31
  137. package/es/ProLayout/components/Layout/Menu/index.js +92 -89
  138. package/es/ProLayout/components/Layout/Notice/index.js +13 -27
  139. package/es/ProLayout/components/Layout/index.js +8 -3
  140. package/es/ProLayout/components/ProCollapse/PropTypes.js +0 -1
  141. package/es/ProLayout/components/ProCollapse/index.js +89 -111
  142. package/es/ProLayout/components/ProFooter/PropTypes.js +0 -1
  143. package/es/ProLayout/components/ProFooter/index.js +27 -25
  144. package/es/ProLayout/components/ProHeader/PropTypes.js +0 -1
  145. package/es/ProLayout/components/ProHeader/components/Copy/index.js +23 -21
  146. package/es/ProLayout/components/ProHeader/components/Describe/index.js +67 -86
  147. package/es/ProLayout/components/ProHeader/components/ProBackBtn/index.js +18 -21
  148. package/es/ProLayout/components/ProHeader/components/ProBackBtn/propsType.js +0 -1
  149. package/es/ProLayout/components/ProHeader/components/index.js +6 -2
  150. package/es/ProLayout/components/ProHeader/index.js +216 -356
  151. package/es/ProLayout/components/ProHeader/utils/index.js +19 -26
  152. package/es/ProLayout/components/TabsManager/components/TabContextMenu.js +92 -85
  153. package/es/ProLayout/components/TabsManager/components/TabItem.js +53 -64
  154. package/es/ProLayout/components/TabsManager/components/TabsContext.js +5 -5
  155. package/es/ProLayout/components/TabsManager/components/TabsHeader.js +42 -52
  156. package/es/ProLayout/components/TabsManager/hooks/useActiveTab.js +8 -9
  157. package/es/ProLayout/components/TabsManager/hooks/useIframeRoute.js +19 -32
  158. package/es/ProLayout/components/TabsManager/hooks/useProLayoutTabs.js +6 -20
  159. package/es/ProLayout/components/TabsManager/hooks/useTabsCache.js +25 -42
  160. package/es/ProLayout/components/TabsManager/hooks/useTabsState.js +290 -408
  161. package/es/ProLayout/components/TabsManager/hooks/useTabsUrlSync.js +132 -95
  162. package/es/ProLayout/components/TabsManager/index.js +406 -390
  163. package/es/ProLayout/components/TabsManager/propTypes.js +7 -15
  164. package/es/ProLayout/components/TabsManager/utils/historyObserver.js +26 -23
  165. package/es/ProLayout/components/TabsManager/utils/index.js +127 -184
  166. package/es/ProLayout/components/index.js +8 -3
  167. package/es/ProLayout/index.js +171 -229
  168. package/es/ProLayout/propTypes.js +12 -52
  169. package/es/ProLayout/utils/index.js +48 -128
  170. package/es/ProSelect/components/AdaptiveTooltip.js +26 -25
  171. package/es/ProSelect/index.js +184 -229
  172. package/es/ProSelect/propsType.js +0 -1
  173. package/es/ProSelect/utils/index.js +100 -146
  174. package/es/ProStep/components/Anchor/index.js +71 -82
  175. package/es/ProStep/components/Item/index.js +49 -56
  176. package/es/ProStep/components/LazyLoad/index.js +23 -29
  177. package/es/ProStep/components/Listener/index.js +20 -33
  178. package/es/ProStep/components/Step/index.js +31 -38
  179. package/es/ProStep/constants.js +4 -1
  180. package/es/ProStep/index.js +166 -153
  181. package/es/ProStep/propsType.js +0 -1
  182. package/es/ProStep/utils/index.js +29 -55
  183. package/es/ProStepTab/index.js +83 -138
  184. package/es/ProStepTab/propsType.js +0 -1
  185. package/es/ProTable/components/EditableCell/EditIcon.js +10 -14
  186. package/es/ProTable/components/EditableCell/index.js +37 -71
  187. package/es/ProTable/components/EditableCell/propsType.js +0 -1
  188. package/es/ProTable/components/FormatColumn/index.js +209 -340
  189. package/es/ProTable/components/FormatColumn/propsType.js +0 -1
  190. package/es/ProTable/components/RcTable/components/BaseTable/index.js +35 -39
  191. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +80 -107
  192. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +54 -48
  193. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/propsType.js +0 -1
  194. package/es/ProTable/components/RcTable/components/DraggableTable/index.js +47 -54
  195. package/es/ProTable/components/RcTable/index.js +6 -4
  196. package/es/ProTable/components/RenderColumn/index.js +158 -186
  197. package/es/ProTable/components/RenderEmptyText/index.js +12 -21
  198. package/es/ProTable/components/RenderFooter/index.js +15 -15
  199. package/es/ProTable/components/RenderSummary/index.js +33 -50
  200. package/es/ProTable/components/RenderTableHeader/index.js +44 -46
  201. package/es/ProTable/components/RenderTabs/index.js +47 -51
  202. package/es/ProTable/components/TableResizable/index.js +56 -72
  203. package/es/ProTable/components/TooltipTitle/index.js +13 -21
  204. package/es/ProTable/components/index.js +16 -36
  205. package/es/ProTable/hooks/useAntdTable.js +185 -219
  206. package/es/ProTable/index.js +232 -249
  207. package/es/ProTable/propsType.js +0 -1
  208. package/es/ProTable/utils/columnStorage.js +63 -88
  209. package/es/ProTable/utils/index.js +57 -90
  210. package/es/ProTabs/components/Card/index.js +20 -48
  211. package/es/ProTabs/components/index.js +4 -1
  212. package/es/ProTabs/index.js +39 -56
  213. package/es/ProTabs/propType.js +0 -1
  214. package/es/ProThemeTools/component/ProTools/index.js +106 -158
  215. package/es/ProThemeTools/component/index.js +4 -1
  216. package/es/ProThemeTools/context/ThemeContext.js +67 -146
  217. package/es/ProThemeTools/index.js +103 -156
  218. package/es/ProThemeTools/propsType.js +0 -1
  219. package/es/ProThemeTools/utils/index.js +60 -109
  220. package/es/ProTooltip/index.js +132 -165
  221. package/es/ProTooltip/propsType.js +0 -1
  222. package/es/ProTree/components/AdaptiveTooltip.js +15 -17
  223. package/es/ProTree/components/CloseIcon.js +18 -26
  224. package/es/ProTree/components/List.js +28 -47
  225. package/es/ProTree/components/ProTree.js +152 -211
  226. package/es/ProTree/components/ProTreeSelect/index.js +254 -458
  227. package/es/ProTree/components/ProTreeSelect/propsType.js +0 -1
  228. package/es/ProTree/components/SearchTitle.js +23 -42
  229. package/es/ProTree/components/Tree.js +147 -195
  230. package/es/ProTree/components/index.js +10 -5
  231. package/es/ProTree/index.js +12 -16
  232. package/es/ProTree/propsType.js +0 -1
  233. package/es/ProTree/utils.js +46 -118
  234. package/es/ProTreeModal/components/Cascader.js +56 -64
  235. package/es/ProTreeModal/components/CloseIcon.js +18 -26
  236. package/es/ProTreeModal/components/List.js +114 -180
  237. package/es/ProTreeModal/components/SearchTitle.js +15 -18
  238. package/es/ProTreeModal/components/SortableItem.js +29 -58
  239. package/es/ProTreeModal/components/Tree.js +99 -113
  240. package/es/ProTreeModal/components/Trigger.js +87 -121
  241. package/es/ProTreeModal/components/index.js +14 -6
  242. package/es/ProTreeModal/index.js +397 -435
  243. package/es/ProTreeModal/propsType.js +0 -1
  244. package/es/ProTreeModal/utils.js +52 -95
  245. package/es/ProUpload/components/ButtonRender.js +44 -54
  246. package/es/ProUpload/components/DragRender.js +94 -134
  247. package/es/ProUpload/components/DraggableUploadListItem.js +12 -25
  248. package/es/ProUpload/components/Example.js +27 -31
  249. package/es/ProUpload/components/FileItem.js +69 -163
  250. package/es/ProUpload/components/ImageRender.js +134 -170
  251. package/es/ProUpload/index.js +68 -100
  252. package/es/ProUpload/propsType.js +0 -1
  253. package/es/ProUpload/uitls.js +8 -4
  254. package/es/ProUtils/utils/index.js +17 -13
  255. package/es/ProViewer/index.js +154 -175
  256. package/es/ProViewer/propsType.js +0 -5
  257. package/es/ProWaterMark/index.js +9 -16
  258. package/es/ProWaterMark/propsType.js +0 -1
  259. package/es/hooks/useDraggableRow.js +25 -53
  260. package/es/index.js +57 -77
  261. package/es/locale/en_US.js +153 -142
  262. package/es/locale/index.js +23 -36
  263. package/es/locale/zh_CN.js +145 -142
  264. package/es/tokens.js +84 -83
  265. package/es/utils/index.js +24 -51
  266. package/package.json +4 -3
@@ -1,96 +1,85 @@
1
- import _cloneDeep from "lodash/cloneDeep";
2
- import { useMemo, useRef, useContext } from 'react';
3
- import { Menu } from 'antd';
4
- import { useDeepCompareEffect, useSetState } from 'ahooks';
5
- import { CaretDownOutlined } from '@ant-design/icons';
6
- import classnames from 'classnames';
7
- import { Link as RouterLink } from 'react-router-dom';
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { useMemo, useRef, useContext } from "react";
3
+ import { Menu } from "antd";
4
+ import { useDeepCompareEffect, useSetState } from "ahooks";
5
+ import { CaretDownOutlined } from "@ant-design/icons";
6
+ import classnames from "classnames";
7
+ import { Link as RouterLink } from "react-router-dom";
8
+ import cloneDeep from "lodash/cloneDeep";
8
9
  import { LayoutContext } from "../../../../index";
9
10
  import { getIdsByPathName, findMenuItemByKey } from "../../../../utils";
10
11
  import { canOpenAsTab } from "../../../TabsManager/utils";
11
12
  import ProIcon from "../../../../../ProIcon";
12
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
13
13
  const Link = RouterLink;
14
- const OpenMenu = props => {
15
- const {
16
- className,
17
- dataSource,
18
- style,
19
- onMenuClick,
20
- textVisible = true
21
- } = props;
22
- const {
23
- menus,
24
- sideMenu
25
- } = dataSource || {};
14
+ const OpenMenu = (props) => {
15
+ var _a;
16
+ const { className, dataSource, style, onMenuClick, textVisible = true } = props;
17
+ const { menus, sideMenu } = dataSource || {};
26
18
  const linkRef = useRef(null);
27
- // 通过URL匹配对应的ID用于回显
28
- const [{
29
- selectedKeys,
30
- openKeys,
31
- router
32
- }, setState] = useSetState({
19
+ const [{ selectedKeys, openKeys, router }, setState] = useSetState({
33
20
  selectedKeys: [],
34
21
  openKeys: [],
35
- router: ''
22
+ router: ""
36
23
  });
37
24
  const query = new URLSearchParams(window.location.search);
38
25
  const layoutContext = useContext(LayoutContext);
39
- const layoutSelectedPath = layoutContext?.selectedPath;
40
- const layoutOnSelected = layoutContext?.onSelected;
41
- const layoutTarget = layoutContext?.target;
26
+ const layoutSelectedPath = layoutContext == null ? void 0 : layoutContext.selectedPath;
27
+ const layoutOnSelected = layoutContext == null ? void 0 : layoutContext.onSelected;
28
+ const layoutTarget = layoutContext == null ? void 0 : layoutContext.target;
42
29
  const cls = classnames({
43
- 'pro-layout-open-menu': true,
44
- 'pro-layout-menu-text-hidden': textVisible === false,
30
+ "pro-layout-open-menu": true,
31
+ "pro-layout-menu-text-hidden": textVisible === false,
45
32
  [`${className}`]: className
46
33
  });
47
-
48
- // 默认激活菜单优先取selectedPath或activeMenu,默认取pathName进行匹配
49
- // 特殊处理:如果layoutSelectedPath是'##EMPTY##',表示有意清空选中状态
50
- const preferredPath = query.get('activeMenu') || (layoutSelectedPath === '##EMPTY##' ? null : layoutSelectedPath) || window.location.pathname;
51
- const selectKeyIdPath = preferredPath ? getIdsByPathName(menus, preferredPath)?.map(item => String(item)) || [] : [];
34
+ const preferredPath = query.get("activeMenu") || (layoutSelectedPath === "##EMPTY##" ? null : layoutSelectedPath) || window.location.pathname;
35
+ const selectKeyIdPath = preferredPath ? ((_a = getIdsByPathName(menus, preferredPath)) == null ? void 0 : _a.map((item) => String(item))) || [] : [];
52
36
  const selectedRootKey = selectKeyIdPath[0];
53
37
  const itemsTransform = useMemo(() => {
54
- const result = _cloneDeep(menus);
38
+ const result = cloneDeep(menus);
55
39
  if (!Array.isArray(result) || !result.length) {
56
40
  return [];
57
41
  }
58
- const menuDeep = data => {
59
- data.forEach(item => {
60
- // 是否是第一级菜单,展开模式一级菜单有icon, 收起模式二级菜单有icon
61
- const isFirstMenu = item.keyIdPath?.length === 1 || sideMenu && item.keyIdPath?.length === 2;
62
- // 第一级菜单显示icon
63
- item.label = /*#__PURE__*/_jsxs("div", {
64
- className: classnames({
65
- 'pro-layout-open-menu-lv1': isFirstMenu
66
- }),
67
- children: [/*#__PURE__*/_jsx(_Fragment, {
68
- children: item.imgUrl && isFirstMenu ? /*#__PURE__*/_jsx("img", {
69
- className: "pro-layout-icon",
70
- src: selectedRootKey === String(item.id) ? item.imgActiveUrl || item.imgUrl : item.imgUrl,
71
- alt: "icon"
72
- }) : item.icon && isFirstMenu ? /*#__PURE__*/_jsx(ProIcon, {
73
- type: item.icon || '',
74
- size: "20px"
75
- }) : /*#__PURE__*/_jsx("span", {
76
- className: classnames({
77
- 'pro-layout-icon': true,
78
- 'pro-layout-icon-empty': isFirstMenu
79
- })
80
- })
81
- }), /*#__PURE__*/_jsx("h2", {
82
- children: item.name
83
- })]
84
- });
42
+ const menuDeep = (data) => {
43
+ data.forEach((item) => {
44
+ var _a2, _b, _c;
45
+ const isFirstMenu = ((_a2 = item.keyIdPath) == null ? void 0 : _a2.length) === 1 || sideMenu && ((_b = item.keyIdPath) == null ? void 0 : _b.length) === 2;
46
+ item.label = /* @__PURE__ */ jsxs(
47
+ "div",
48
+ {
49
+ className: classnames({
50
+ "pro-layout-open-menu-lv1": isFirstMenu
51
+ }),
52
+ children: [
53
+ /* @__PURE__ */ jsx(Fragment, { children: item.imgUrl && isFirstMenu ? /* @__PURE__ */ jsx(
54
+ "img",
55
+ {
56
+ className: "pro-layout-icon",
57
+ src: selectedRootKey === String(item.id) ? item.imgActiveUrl || item.imgUrl : item.imgUrl,
58
+ alt: "icon"
59
+ }
60
+ ) : item.icon && isFirstMenu ? /* @__PURE__ */ jsx(ProIcon, { type: item.icon || "", size: "20px" }) : /* @__PURE__ */ jsx(
61
+ "span",
62
+ {
63
+ className: classnames({
64
+ "pro-layout-icon": true,
65
+ "pro-layout-icon-empty": isFirstMenu
66
+ })
67
+ }
68
+ ) }),
69
+ /* @__PURE__ */ jsx("h2", { children: item.name })
70
+ ]
71
+ }
72
+ );
85
73
  item.key = String(item.id);
86
74
  item.router = item.redirectUrl || item.router || item.url;
87
- Object.keys(item).filter(keyItem => !['label', 'key', 'children', 'onTitleClick', 'router'].includes(keyItem)).forEach(_keyItem => {
75
+ Object.keys(item).filter(
76
+ (keyItem) => !["label", "key", "children", "onTitleClick", "router"].includes(keyItem)
77
+ ).forEach((_keyItem) => {
88
78
  delete item[_keyItem];
89
79
  });
90
- if (Array.isArray(item?.children) && item?.children?.length > 0) {
91
- const _item = item?.children[0];
92
- // 移除不需要显示的菜单
93
- if (_item?.hideInMenu || ['TAB', 'QUERY', 'BUTTON'].includes(_item?.type)) {
80
+ if (Array.isArray(item == null ? void 0 : item.children) && ((_c = item == null ? void 0 : item.children) == null ? void 0 : _c.length) > 0) {
81
+ const _item = item == null ? void 0 : item.children[0];
82
+ if ((_item == null ? void 0 : _item.hideInMenu) || ["TAB", "QUERY", "BUTTON"].includes(_item == null ? void 0 : _item.type)) {
94
83
  delete item.children;
95
84
  } else {
96
85
  menuDeep(item.children);
@@ -115,83 +104,68 @@ const OpenMenu = props => {
115
104
  setState(newState);
116
105
  }
117
106
  }, [menus, selectKeyIdPath]);
118
-
119
- // 折叠模式默认展开全部菜单
120
107
  useDeepCompareEffect(() => {
121
108
  if (sideMenu) {
122
- const keys = menus.map(item => String(item.id));
109
+ const keys = menus.map((item) => String(item.id));
123
110
  setState({
124
111
  openKeys: keys
125
112
  });
126
113
  }
127
114
  }, [sideMenu]);
128
- return /*#__PURE__*/_jsxs("div", {
129
- className: cls,
130
- style: style,
131
- children: [/*#__PURE__*/_jsx(Menu, {
132
- mode: "inline",
133
- selectedKeys: selectedKeys,
134
- openKeys: openKeys,
135
- items: itemsTransform,
136
- inlineIndent: 14,
137
- expandIcon: /*#__PURE__*/_jsx(CaretDownOutlined, {}),
138
- onOpenChange: openKeys => {
139
- setState({
140
- openKeys
141
- });
142
- },
143
- onClick: ({
144
- keyPath,
145
- key
146
- }) => {
147
- // 查找完整的菜单项数据
148
- const menuItem = findMenuItemByKey(menus, key);
149
- const menuKeyPath = menuItem?.keyIdPath ? menuItem.keyIdPath.map(id => String(id)) : keyPath;
150
- const menuRouter = menuItem?.redirectUrl || menuItem?.router || menuItem?.url;
151
-
152
- // 调用用户传入的onMenuClick回调,获取返回值(是否应该激活菜单)
153
- let shouldActivate = true;
154
- if (onMenuClick) {
155
- const result = onMenuClick({
156
- item: menuItem,
157
- key,
158
- keyPath: menuKeyPath
159
- });
160
- // 如果返回 false,表示不应该激活菜单
161
- if (result === false) {
162
- shouldActivate = false;
163
- }
164
- }
165
-
166
- // 可入签节点(叶子 + 根节点特例)才设置选中状态和路径
167
- // 并且只有在 shouldActivate 为 true 时才设置
168
- if (menuItem && canOpenAsTab(menuItem) && shouldActivate) {
115
+ return /* @__PURE__ */ jsxs("div", { className: cls, style, children: [
116
+ /* @__PURE__ */ jsx(
117
+ Menu,
118
+ {
119
+ mode: "inline",
120
+ selectedKeys,
121
+ openKeys,
122
+ items: itemsTransform,
123
+ inlineIndent: 14,
124
+ expandIcon: /* @__PURE__ */ jsx(CaretDownOutlined, {}),
125
+ onOpenChange: (openKeys2) => {
169
126
  setState({
170
- selectedKeys: keyPath,
171
- router: menuRouter
127
+ openKeys: openKeys2
172
128
  });
173
- layoutOnSelected?.({
174
- selectedPath: menuRouter
175
- });
176
- if (layoutTarget) {
177
- window.open(menuRouter, layoutTarget);
178
- } else {
179
- setTimeout(() => {
180
- // 路由变更,且不再demo文档中
181
- if (!window.location.href.includes('~demos/prolayout')) {
182
- linkRef.current.click();
183
- }
184
- }, 100);
129
+ },
130
+ onClick: ({ keyPath, key }) => {
131
+ const menuItem = findMenuItemByKey(menus, key);
132
+ const menuKeyPath = (menuItem == null ? void 0 : menuItem.keyIdPath) ? menuItem.keyIdPath.map((id) => String(id)) : keyPath;
133
+ const menuRouter = (menuItem == null ? void 0 : menuItem.redirectUrl) || (menuItem == null ? void 0 : menuItem.router) || (menuItem == null ? void 0 : menuItem.url);
134
+ let shouldActivate = true;
135
+ if (onMenuClick) {
136
+ const result = onMenuClick({ item: menuItem, key, keyPath: menuKeyPath });
137
+ if (result === false) {
138
+ shouldActivate = false;
139
+ }
140
+ }
141
+ if (menuItem && canOpenAsTab(menuItem) && shouldActivate) {
142
+ setState({
143
+ selectedKeys: keyPath,
144
+ router: menuRouter
145
+ });
146
+ layoutOnSelected == null ? void 0 : layoutOnSelected({
147
+ selectedPath: menuRouter
148
+ });
149
+ if (layoutTarget) {
150
+ window.open(menuRouter, layoutTarget);
151
+ } else {
152
+ setTimeout(() => {
153
+ if (!window.location.href.includes("~demos/prolayout")) {
154
+ linkRef.current.click();
155
+ }
156
+ }, 100);
157
+ }
185
158
  }
159
+ },
160
+ style: {
161
+ height: dataSource.sideMenu ? "auto" : `calc(100vh - ${(dataSource == null ? void 0 : dataSource.height) || 0}px)`
186
162
  }
187
- },
188
- style: {
189
- height: dataSource.sideMenu ? 'auto' : `calc(100vh - ${dataSource?.height || 0}px)`
190
163
  }
191
- }), /*#__PURE__*/_jsx(Link, {
192
- to: router,
193
- ref: linkRef
194
- })]
195
- });
164
+ ),
165
+ /* @__PURE__ */ jsx(Link, { to: router, ref: linkRef })
166
+ ] });
167
+ };
168
+ var OpenMenu_default = OpenMenu;
169
+ export {
170
+ OpenMenu_default as default
196
171
  };
197
- export default OpenMenu;
@@ -1,44 +1,36 @@
1
- import { useRef } from 'react';
2
- import classnames from 'classnames';
3
- import { useSize } from 'ahooks';
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useRef } from "react";
3
+ import classnames from "classnames";
4
+ import { useSize } from "ahooks";
4
5
  import OpenMenu from "../OpenMenu";
5
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
- const SideMenu = props => {
7
- const {
8
- dataSource,
9
- onMenuClick
10
- } = props;
6
+ const SideMenu = (props) => {
7
+ const { dataSource, onMenuClick } = props;
11
8
  const ref = useRef(null);
12
9
  const size = useSize(ref);
13
- const {
14
- menus,
15
- iconfontUrl,
16
- notice,
17
- collapsed,
18
- headerHeight
19
- } = dataSource;
10
+ const { menus, iconfontUrl, notice, collapsed, headerHeight } = dataSource;
20
11
  const cls = classnames({
21
- 'pro-layout-sider-menu': true
12
+ "pro-layout-sider-menu": true
22
13
  });
23
- return /*#__PURE__*/_jsxs("div", {
24
- className: cls,
25
- children: [/*#__PURE__*/_jsx("h2", {
26
- ref: ref,
27
- children: menus?.name || ''
28
- }), /*#__PURE__*/_jsx("div", {
29
- children: /*#__PURE__*/_jsx(OpenMenu, {
14
+ return /* @__PURE__ */ jsxs("div", { className: cls, children: [
15
+ /* @__PURE__ */ jsx("h2", { ref, children: (menus == null ? void 0 : menus.name) || "" }),
16
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
17
+ OpenMenu,
18
+ {
30
19
  className: "pro-layout-sider-menu-list",
31
- onMenuClick: onMenuClick,
20
+ onMenuClick,
32
21
  dataSource: {
33
- menus: menus?.children || [],
22
+ menus: (menus == null ? void 0 : menus.children) || [],
34
23
  iconfontUrl,
35
24
  sideMenu: true
36
25
  },
37
26
  style: {
38
- height: `calc(100vh - ${headerHeight + (notice ? 32 : 0) + (size?.height || 0) + 12}px)`
27
+ height: `calc(100vh - ${headerHeight + (notice ? 32 : 0) + ((size == null ? void 0 : size.height) || 0) + 12}px)`
39
28
  }
40
- })
41
- })]
42
- });
29
+ }
30
+ ) })
31
+ ] });
32
+ };
33
+ var SideMenu_default = SideMenu;
34
+ export {
35
+ SideMenu_default as default
43
36
  };
44
- export default SideMenu;
@@ -1,27 +1,28 @@
1
- import { useEffect, useRef, useState, useCallback } from 'react';
2
- import classnames from 'classnames';
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState, useCallback } from "react";
3
+ import classnames from "classnames";
3
4
  import OpenMenu from "./OpenMenu";
4
- import FoldMenu from "./FoldMenu"; // 折叠后菜单
5
- import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
- const iconfontCache = new Set();
7
- const loadIconfontScript = url => {
8
- if (!url || iconfontCache.has(url)) return;
9
- if (typeof document === 'undefined') return;
10
- const script = document.createElement('script');
11
- script.setAttribute('src', url);
5
+ import FoldMenu from "./FoldMenu";
6
+ const iconfontCache = /* @__PURE__ */ new Set();
7
+ const loadIconfontScript = (url) => {
8
+ if (!url || iconfontCache.has(url))
9
+ return;
10
+ if (typeof document === "undefined")
11
+ return;
12
+ const script = document.createElement("script");
13
+ script.setAttribute("src", url);
12
14
  iconfontCache.add(url);
13
15
  document.body.appendChild(script);
14
16
  };
15
-
16
- // 菜单宽度配置
17
17
  const MENU_CONFIG = {
18
18
  TRANSITION_DURATION: 300,
19
19
  // 宽度过渡时长(ms)
20
20
  TEXT_VISIBLE_THRESHOLD: 150,
21
21
  // 文字显示阈值(px, 约68%展开)
22
- FULL_WIDTH: 219 // 完全展开宽度(px)
22
+ FULL_WIDTH: 219
23
+ // 完全展开宽度(px)
23
24
  };
24
- const Menu = props => {
25
+ const Menu = (props) => {
25
26
  const {
26
27
  headerHeight,
27
28
  dataSource,
@@ -36,7 +37,6 @@ const Menu = props => {
36
37
  } = props || {};
37
38
  let menus = [];
38
39
  const menuRef = useRef(null);
39
- // 整合所有动画相关的refs
40
40
  const animationStateRef = useRef({
41
41
  timer: null,
42
42
  observer: null,
@@ -46,8 +46,6 @@ const Menu = props => {
46
46
  useEffect(() => {
47
47
  loadIconfontScript(iconfontUrl);
48
48
  }, [iconfontUrl]);
49
-
50
- // 提取清理逻辑
51
49
  const cleanupAnimation = useCallback(() => {
52
50
  const state = animationStateRef.current;
53
51
  if (state.timer) {
@@ -58,117 +56,122 @@ const Menu = props => {
58
56
  try {
59
57
  state.observer.disconnect();
60
58
  } catch (e) {
61
- console.warn('ResizeObserver disconnect failed:', e);
59
+ console.warn("ResizeObserver disconnect failed:", e);
62
60
  }
63
61
  state.observer = null;
64
62
  }
65
63
  }, []);
66
-
67
- // 触发文字显示
68
64
  const showMenuText = useCallback(() => {
69
65
  const state = animationStateRef.current;
70
- if (state.hasTriggered) return;
66
+ if (state.hasTriggered)
67
+ return;
71
68
  state.hasTriggered = true;
72
69
  setIsOpenMenuTextVisible(true);
73
- // 延迟清理,避免回调内竞态
74
70
  setTimeout(cleanupAnimation, 0);
75
71
  }, [cleanupAnimation]);
76
-
77
- // ResizeObserver 监听宽度变化,提前显示文字
78
72
  useEffect(() => {
73
+ var _a, _b;
79
74
  const state = animationStateRef.current;
80
75
  state.hasTriggered = false;
81
-
82
- // 折叠态:清理并隐藏文字
83
76
  if (!collapsed) {
84
77
  setIsOpenMenuTextVisible(false);
85
78
  cleanupAnimation();
86
79
  return;
87
80
  }
88
-
89
- // 检查是否已展开
90
- const currentWidth = menuRef.current?.getBoundingClientRect?.().width ?? 0;
81
+ const currentWidth = ((_b = (_a = menuRef.current) == null ? void 0 : _a.getBoundingClientRect) == null ? void 0 : _b.call(_a).width) ?? 0;
91
82
  if (currentWidth >= MENU_CONFIG.FULL_WIDTH) {
92
83
  state.hasTriggered = true;
93
84
  setIsOpenMenuTextVisible(true);
94
85
  return;
95
86
  }
96
-
97
- // 创建 ResizeObserver
98
- const supportsResizeObserver = typeof ResizeObserver !== 'undefined';
87
+ const supportsResizeObserver = typeof ResizeObserver !== "undefined";
99
88
  if (supportsResizeObserver && menuRef.current) {
100
- state.observer = new ResizeObserver(entries => {
101
- const width = entries[0]?.contentRect.width ?? 0;
89
+ state.observer = new ResizeObserver((entries) => {
90
+ var _a2;
91
+ const width = ((_a2 = entries[0]) == null ? void 0 : _a2.contentRect.width) ?? 0;
102
92
  if (width >= MENU_CONFIG.TEXT_VISIBLE_THRESHOLD) {
103
93
  showMenuText();
104
94
  }
105
95
  });
106
96
  state.observer.observe(menuRef.current);
107
97
  }
108
-
109
- // Fallback:定时器保底
110
98
  state.timer = setTimeout(showMenuText, MENU_CONFIG.TRANSITION_DURATION);
111
99
  return cleanupAnimation;
112
100
  }, [collapsed, cleanupAnimation, showMenuText]);
113
101
  const menuCls = classnames({
114
- 'pro-layout-menu': true,
115
- 'pro-layout-menu-open': collapsed
102
+ "pro-layout-menu": true,
103
+ "pro-layout-menu-open": collapsed
116
104
  });
117
105
  if (Array.isArray(dataSource)) {
118
106
  menus = dataSource;
119
107
  } else if (dataSource) {
120
- menus = dataSource?.menus;
108
+ menus = dataSource == null ? void 0 : dataSource.menus;
121
109
  }
122
- if (pure?.leftMenu || pure === true) {
123
- return /*#__PURE__*/_jsx(_Fragment, {});
110
+ if ((pure == null ? void 0 : pure.leftMenu) || pure === true) {
111
+ return /* @__PURE__ */ jsx(Fragment, {});
124
112
  }
125
- return /*#__PURE__*/_jsxs("div", {
126
- ref: menuRef,
127
- className: menuCls,
128
- style: {
129
- top: notice ? 96 + headerHeight - 64 : headerHeight
130
- },
131
- onTransitionEnd: e => {
132
- // Fallback:确保宽度过渡结束后文字一定显示
133
- if (e.propertyName === 'width' && e.target === menuRef.current && collapsed) {
134
- showMenuText();
135
- }
136
- },
137
- children: [sideMenuHeaderRender, /*#__PURE__*/_jsx(OpenMenu, {
138
- dataSource: {
139
- menus,
140
- iconfontUrl,
141
- height: headerHeight + (notice ? 32 : 0) + 48
142
- },
143
- onMenuClick: onMenuClick,
144
- textVisible: isOpenMenuTextVisible,
145
- style: {
146
- display: collapsed ? 'block' : 'none'
147
- }
148
- }), /*#__PURE__*/_jsx(FoldMenu, {
149
- dataSource: {
150
- menus,
151
- iconfontUrl,
152
- height: headerHeight + (notice ? 32 : 0) + 48,
153
- notice,
154
- collapsed,
155
- headerHeight
156
- },
157
- onMenuClick: onMenuClick,
158
- style: {
159
- display: collapsed ? 'none' : 'block',
160
- height: `calc(100vh - ${(headerHeight ?? 0) + (notice ? 32 : 0) + 48}px)`
161
- }
162
- }), sideMenuFooterRender || /*#__PURE__*/_jsx("div", {
163
- className: "pro-layout-menu-collapsed",
164
- onClick: () => {
165
- setIsOpenMenuTextVisible(false);
166
- onToggle?.();
113
+ return /* @__PURE__ */ jsxs(
114
+ "div",
115
+ {
116
+ ref: menuRef,
117
+ className: menuCls,
118
+ style: { top: notice ? 96 + headerHeight - 64 : headerHeight },
119
+ onTransitionEnd: (e) => {
120
+ if (e.propertyName === "width" && e.target === menuRef.current && collapsed) {
121
+ showMenuText();
122
+ }
167
123
  },
168
- children: /*#__PURE__*/_jsx("div", {
169
- className: "pro-layout-arrow "
170
- })
171
- })]
172
- });
124
+ children: [
125
+ sideMenuHeaderRender,
126
+ /* @__PURE__ */ jsx(
127
+ OpenMenu,
128
+ {
129
+ dataSource: {
130
+ menus,
131
+ iconfontUrl,
132
+ height: headerHeight + (notice ? 32 : 0) + 48
133
+ },
134
+ onMenuClick,
135
+ textVisible: isOpenMenuTextVisible,
136
+ style: {
137
+ display: collapsed ? "block" : "none"
138
+ }
139
+ }
140
+ ),
141
+ /* @__PURE__ */ jsx(
142
+ FoldMenu,
143
+ {
144
+ dataSource: {
145
+ menus,
146
+ iconfontUrl,
147
+ height: headerHeight + (notice ? 32 : 0) + 48,
148
+ notice,
149
+ collapsed,
150
+ headerHeight
151
+ },
152
+ onMenuClick,
153
+ style: {
154
+ display: collapsed ? "none" : "block",
155
+ height: `calc(100vh - ${(headerHeight ?? 0) + (notice ? 32 : 0) + 48}px)`
156
+ }
157
+ }
158
+ ),
159
+ sideMenuFooterRender || /* @__PURE__ */ jsx(
160
+ "div",
161
+ {
162
+ className: "pro-layout-menu-collapsed",
163
+ onClick: () => {
164
+ setIsOpenMenuTextVisible(false);
165
+ onToggle == null ? void 0 : onToggle();
166
+ },
167
+ children: /* @__PURE__ */ jsx("div", { className: "pro-layout-arrow " })
168
+ }
169
+ )
170
+ ]
171
+ }
172
+ );
173
+ };
174
+ var Menu_default = Menu;
175
+ export {
176
+ Menu_default as default
173
177
  };
174
- export default Menu;
@@ -1,34 +1,20 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
1
2
  import tipMsg from "../../../images/tipMsg.png";
2
3
  import close from "../../../images/close.png";
3
4
  import locale from "../../../../locale";
4
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- const Notice = props => {
6
- const {
7
- headerHeight,
8
- notice,
9
- onCancel,
10
- noticeRef
11
- } = props;
5
+ const Notice = (props) => {
6
+ const { headerHeight, notice, onCancel, noticeRef } = props;
12
7
  if (!notice) {
13
8
  return null;
14
9
  }
15
- return /*#__PURE__*/_jsxs("div", {
16
- ref: noticeRef,
17
- className: "pro-layout-header-notice",
18
- style: {
19
- top: headerHeight
20
- },
21
- children: [/*#__PURE__*/_jsx("img", {
22
- src: tipMsg,
23
- alt: `${locale.ProLayout.tipAlt}`
24
- }), " ", notice, /*#__PURE__*/_jsx("span", {
25
- className: "pro-layout-header-notice-close",
26
- onClick: onCancel,
27
- children: /*#__PURE__*/_jsx("img", {
28
- src: close,
29
- alt: `${locale.ProLayout.closeAlt}`
30
- })
31
- })]
32
- });
10
+ return /* @__PURE__ */ jsxs("div", { ref: noticeRef, className: "pro-layout-header-notice", style: { top: headerHeight }, children: [
11
+ /* @__PURE__ */ jsx("img", { src: tipMsg, alt: `${locale.ProLayout.tipAlt}` }),
12
+ " ",
13
+ notice,
14
+ /* @__PURE__ */ jsx("span", { className: "pro-layout-header-notice-close", onClick: onCancel, children: /* @__PURE__ */ jsx("img", { src: close, alt: `${locale.ProLayout.closeAlt}` }) })
15
+ ] });
16
+ };
17
+ var Notice_default = Notice;
18
+ export {
19
+ Notice_default as default
33
20
  };
34
- export default Notice;