@zat-design/sisyphus-react 4.5.10-beta.1 → 4.6.0-beta.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 (268) 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 +310 -412
  161. package/es/ProLayout/components/TabsManager/hooks/useTabsUrlSync.js +132 -95
  162. package/es/ProLayout/components/TabsManager/index.js +415 -391
  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.d.ts +2 -1
  166. package/es/ProLayout/components/TabsManager/utils/index.js +135 -184
  167. package/es/ProLayout/components/index.js +8 -3
  168. package/es/ProLayout/index.js +171 -229
  169. package/es/ProLayout/propTypes.d.ts +9 -0
  170. package/es/ProLayout/propTypes.js +12 -52
  171. package/es/ProLayout/utils/index.js +48 -128
  172. package/es/ProSelect/components/AdaptiveTooltip.js +26 -25
  173. package/es/ProSelect/index.js +184 -229
  174. package/es/ProSelect/propsType.js +0 -1
  175. package/es/ProSelect/utils/index.js +100 -146
  176. package/es/ProStep/components/Anchor/index.js +71 -82
  177. package/es/ProStep/components/Item/index.js +49 -56
  178. package/es/ProStep/components/LazyLoad/index.js +23 -29
  179. package/es/ProStep/components/Listener/index.js +20 -33
  180. package/es/ProStep/components/Step/index.js +31 -38
  181. package/es/ProStep/constants.js +4 -1
  182. package/es/ProStep/index.js +166 -153
  183. package/es/ProStep/propsType.js +0 -1
  184. package/es/ProStep/utils/index.js +29 -55
  185. package/es/ProStepTab/index.js +83 -138
  186. package/es/ProStepTab/propsType.js +0 -1
  187. package/es/ProTable/components/EditableCell/EditIcon.js +10 -14
  188. package/es/ProTable/components/EditableCell/index.js +37 -71
  189. package/es/ProTable/components/EditableCell/propsType.js +0 -1
  190. package/es/ProTable/components/FormatColumn/index.js +209 -340
  191. package/es/ProTable/components/FormatColumn/propsType.js +0 -1
  192. package/es/ProTable/components/RcTable/components/BaseTable/index.js +35 -39
  193. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +80 -107
  194. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +54 -48
  195. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/propsType.js +0 -1
  196. package/es/ProTable/components/RcTable/components/DraggableTable/index.js +47 -54
  197. package/es/ProTable/components/RcTable/index.js +6 -4
  198. package/es/ProTable/components/RenderColumn/index.js +158 -186
  199. package/es/ProTable/components/RenderEmptyText/index.js +12 -21
  200. package/es/ProTable/components/RenderFooter/index.js +15 -15
  201. package/es/ProTable/components/RenderSummary/index.js +33 -50
  202. package/es/ProTable/components/RenderTableHeader/index.js +44 -46
  203. package/es/ProTable/components/RenderTabs/index.js +47 -51
  204. package/es/ProTable/components/TableResizable/index.js +56 -72
  205. package/es/ProTable/components/TooltipTitle/index.js +13 -21
  206. package/es/ProTable/components/index.js +16 -36
  207. package/es/ProTable/hooks/useAntdTable.js +185 -219
  208. package/es/ProTable/index.js +232 -249
  209. package/es/ProTable/propsType.js +0 -1
  210. package/es/ProTable/utils/columnStorage.js +63 -88
  211. package/es/ProTable/utils/index.js +57 -90
  212. package/es/ProTabs/components/Card/index.js +20 -48
  213. package/es/ProTabs/components/index.js +4 -1
  214. package/es/ProTabs/index.js +39 -56
  215. package/es/ProTabs/propType.js +0 -1
  216. package/es/ProThemeTools/component/ProTools/index.js +106 -158
  217. package/es/ProThemeTools/component/index.js +4 -1
  218. package/es/ProThemeTools/context/ThemeContext.js +67 -146
  219. package/es/ProThemeTools/index.js +103 -156
  220. package/es/ProThemeTools/propsType.js +0 -1
  221. package/es/ProThemeTools/utils/index.js +60 -109
  222. package/es/ProTooltip/index.js +132 -165
  223. package/es/ProTooltip/propsType.js +0 -1
  224. package/es/ProTree/components/AdaptiveTooltip.js +15 -17
  225. package/es/ProTree/components/CloseIcon.js +18 -26
  226. package/es/ProTree/components/List.js +28 -47
  227. package/es/ProTree/components/ProTree.js +152 -211
  228. package/es/ProTree/components/ProTreeSelect/index.js +254 -458
  229. package/es/ProTree/components/ProTreeSelect/propsType.js +0 -1
  230. package/es/ProTree/components/SearchTitle.js +23 -42
  231. package/es/ProTree/components/Tree.js +147 -195
  232. package/es/ProTree/components/index.js +10 -5
  233. package/es/ProTree/index.js +12 -16
  234. package/es/ProTree/propsType.js +0 -1
  235. package/es/ProTree/utils.js +46 -118
  236. package/es/ProTreeModal/components/Cascader.js +56 -64
  237. package/es/ProTreeModal/components/CloseIcon.js +18 -26
  238. package/es/ProTreeModal/components/List.js +114 -180
  239. package/es/ProTreeModal/components/SearchTitle.js +15 -18
  240. package/es/ProTreeModal/components/SortableItem.js +29 -58
  241. package/es/ProTreeModal/components/Tree.js +99 -113
  242. package/es/ProTreeModal/components/Trigger.js +87 -121
  243. package/es/ProTreeModal/components/index.js +14 -6
  244. package/es/ProTreeModal/index.js +397 -435
  245. package/es/ProTreeModal/propsType.js +0 -1
  246. package/es/ProTreeModal/utils.js +52 -95
  247. package/es/ProUpload/components/ButtonRender.js +44 -54
  248. package/es/ProUpload/components/DragRender.js +94 -134
  249. package/es/ProUpload/components/DraggableUploadListItem.js +12 -25
  250. package/es/ProUpload/components/Example.js +27 -31
  251. package/es/ProUpload/components/FileItem.js +69 -163
  252. package/es/ProUpload/components/ImageRender.js +134 -170
  253. package/es/ProUpload/index.js +68 -100
  254. package/es/ProUpload/propsType.js +0 -1
  255. package/es/ProUpload/uitls.js +8 -4
  256. package/es/ProUtils/utils/index.js +17 -13
  257. package/es/ProViewer/index.js +154 -175
  258. package/es/ProViewer/propsType.js +0 -5
  259. package/es/ProWaterMark/index.js +9 -16
  260. package/es/ProWaterMark/propsType.js +0 -1
  261. package/es/hooks/useDraggableRow.js +25 -53
  262. package/es/index.js +57 -77
  263. package/es/locale/en_US.js +153 -142
  264. package/es/locale/index.js +23 -36
  265. package/es/locale/zh_CN.js +145 -142
  266. package/es/tokens.js +84 -83
  267. package/es/utils/index.js +24 -51
  268. package/package.json +4 -3
@@ -1,11 +1,11 @@
1
- import { useState } from 'react';
2
- import classNames from 'classnames';
3
- import { Popover, Tooltip } from 'antd';
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import classNames from "classnames";
4
+ import { Popover, Tooltip } from "antd";
4
5
  import { ProIcon } from "../../../../index";
5
6
  import logoImg from "../../../images/logoImg.png";
6
7
  import appsIcon from "../../../../assets/apps.svg";
7
- import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
- const Header = props => {
8
+ const Header = (props) => {
9
9
  const {
10
10
  headerHeight,
11
11
  pure,
@@ -17,157 +17,124 @@ const Header = props => {
17
17
  appsOptions
18
18
  } = props;
19
19
  const [appsPopoverOpen, setAppsPopoverOpen] = useState(false);
20
- if (pure === true || pure?.topMenu) {
21
- return /*#__PURE__*/_jsx(_Fragment, {});
20
+ if (pure === true || (pure == null ? void 0 : pure.topMenu)) {
21
+ return /* @__PURE__ */ jsx(Fragment, {});
22
22
  }
23
-
24
- // 判断是否为分组模式
25
- const isGroupMode = Array.isArray(appsOptions) && appsOptions.length > 0 && 'options' in appsOptions[0];
26
-
27
- // 处理应用点击事件
28
- const handleAppsClick = option => {
29
- option.onChange?.(option.value, option);
23
+ const isGroupMode = Array.isArray(appsOptions) && appsOptions.length > 0 && "options" in appsOptions[0];
24
+ const handleAppsClick = (option) => {
25
+ var _a;
26
+ (_a = option.onChange) == null ? void 0 : _a.call(option, option.value, option);
30
27
  setAppsPopoverOpen(false);
31
28
  };
32
-
33
- // 渲染扁平应用列表
34
29
  const renderFlatApps = () => {
35
30
  const options = appsOptions;
36
- return /*#__PURE__*/_jsx("div", {
37
- className: "pro-layout-header-apps-list",
38
- children: options.map(option => {
39
- const labelText = typeof option.label === 'string' ? option.label : '';
40
- const needTooltip = labelText.length > 5;
41
- const displayText = needTooltip ? labelText.substring(0, 5) + '...' : labelText;
42
- if (needTooltip) {
43
- return /*#__PURE__*/_jsx(Tooltip, {
44
- title: labelText,
45
- placement: "top",
46
- children: /*#__PURE__*/_jsxs("div", {
47
- className: "pro-layout-header-apps-item",
48
- onClick: () => handleAppsClick(option),
49
- children: [option.icon && /*#__PURE__*/_jsx("span", {
50
- className: "pro-layout-header-apps-item-icon",
51
- children: option.icon
52
- }), /*#__PURE__*/_jsx("span", {
53
- className: "pro-layout-header-apps-item-label",
54
- children: displayText
55
- })]
56
- })
57
- }, option.value);
58
- }
59
- return /*#__PURE__*/_jsxs("div", {
31
+ return /* @__PURE__ */ jsx("div", { className: "pro-layout-header-apps-list", children: options.map((option) => {
32
+ const labelText = typeof option.label === "string" ? option.label : "";
33
+ const needTooltip = labelText.length > 5;
34
+ const displayText = needTooltip ? labelText.substring(0, 5) + "..." : labelText;
35
+ if (needTooltip) {
36
+ return /* @__PURE__ */ jsx(Tooltip, { title: labelText, placement: "top", children: /* @__PURE__ */ jsxs(
37
+ "div",
38
+ {
39
+ className: "pro-layout-header-apps-item",
40
+ onClick: () => handleAppsClick(option),
41
+ children: [
42
+ option.icon && /* @__PURE__ */ jsx("span", { className: "pro-layout-header-apps-item-icon", children: option.icon }),
43
+ /* @__PURE__ */ jsx("span", { className: "pro-layout-header-apps-item-label", children: displayText })
44
+ ]
45
+ }
46
+ ) }, option.value);
47
+ }
48
+ return /* @__PURE__ */ jsxs(
49
+ "div",
50
+ {
60
51
  className: "pro-layout-header-apps-item",
61
52
  onClick: () => handleAppsClick(option),
62
- children: [option.icon && /*#__PURE__*/_jsx("span", {
63
- className: "pro-layout-header-apps-item-icon",
64
- children: option.icon
65
- }), /*#__PURE__*/_jsx("span", {
66
- className: "pro-layout-header-apps-item-label",
67
- children: displayText
68
- })]
69
- }, option.value);
70
- })
71
- });
53
+ children: [
54
+ option.icon && /* @__PURE__ */ jsx("span", { className: "pro-layout-header-apps-item-icon", children: option.icon }),
55
+ /* @__PURE__ */ jsx("span", { className: "pro-layout-header-apps-item-label", children: displayText })
56
+ ]
57
+ },
58
+ option.value
59
+ );
60
+ }) });
72
61
  };
73
-
74
- // 渲染分组应用列表
75
62
  const renderGroupApps = () => {
76
63
  const groups = appsOptions;
77
- return /*#__PURE__*/_jsx("div", {
78
- className: "pro-layout-header-apps-groups",
79
- children: groups.map(group => /*#__PURE__*/_jsxs("div", {
80
- className: "pro-layout-header-apps-group",
81
- children: [/*#__PURE__*/_jsx("div", {
82
- className: "pro-layout-header-apps-group-title",
83
- children: group.label
84
- }), /*#__PURE__*/_jsx("div", {
85
- className: "pro-layout-header-apps-list",
86
- children: group.options.map(option => {
87
- const labelText = typeof option.label === 'string' ? option.label : '';
88
- const needTooltip = labelText.length > 5;
89
- const displayText = needTooltip ? labelText.substring(0, 5) + '...' : labelText;
90
- if (needTooltip) {
91
- return /*#__PURE__*/_jsx(Tooltip, {
92
- title: labelText,
93
- placement: "top",
94
- children: /*#__PURE__*/_jsxs("div", {
95
- className: "pro-layout-header-apps-item",
96
- onClick: () => handleAppsClick(option),
97
- children: [option.icon && /*#__PURE__*/_jsx("span", {
98
- className: "pro-layout-header-apps-item-icon",
99
- children: option.icon
100
- }), /*#__PURE__*/_jsx("span", {
101
- className: "pro-layout-header-apps-item-label",
102
- children: displayText
103
- })]
104
- })
105
- }, option.value);
106
- }
107
- return /*#__PURE__*/_jsxs("div", {
64
+ return /* @__PURE__ */ jsx("div", { className: "pro-layout-header-apps-groups", children: groups.map((group) => /* @__PURE__ */ jsxs("div", { className: "pro-layout-header-apps-group", children: [
65
+ /* @__PURE__ */ jsx("div", { className: "pro-layout-header-apps-group-title", children: group.label }),
66
+ /* @__PURE__ */ jsx("div", { className: "pro-layout-header-apps-list", children: group.options.map((option) => {
67
+ const labelText = typeof option.label === "string" ? option.label : "";
68
+ const needTooltip = labelText.length > 5;
69
+ const displayText = needTooltip ? labelText.substring(0, 5) + "..." : labelText;
70
+ if (needTooltip) {
71
+ return /* @__PURE__ */ jsx(Tooltip, { title: labelText, placement: "top", children: /* @__PURE__ */ jsxs(
72
+ "div",
73
+ {
108
74
  className: "pro-layout-header-apps-item",
109
75
  onClick: () => handleAppsClick(option),
110
- children: [option.icon && /*#__PURE__*/_jsx("span", {
111
- className: "pro-layout-header-apps-item-icon",
112
- children: option.icon
113
- }), /*#__PURE__*/_jsx("span", {
114
- className: "pro-layout-header-apps-item-label",
115
- children: displayText
116
- })]
117
- }, option.value);
118
- })
119
- })]
120
- }, group.value))
121
- });
76
+ children: [
77
+ option.icon && /* @__PURE__ */ jsx("span", { className: "pro-layout-header-apps-item-icon", children: option.icon }),
78
+ /* @__PURE__ */ jsx("span", { className: "pro-layout-header-apps-item-label", children: displayText })
79
+ ]
80
+ }
81
+ ) }, option.value);
82
+ }
83
+ return /* @__PURE__ */ jsxs(
84
+ "div",
85
+ {
86
+ className: "pro-layout-header-apps-item",
87
+ onClick: () => handleAppsClick(option),
88
+ children: [
89
+ option.icon && /* @__PURE__ */ jsx("span", { className: "pro-layout-header-apps-item-icon", children: option.icon }),
90
+ /* @__PURE__ */ jsx("span", { className: "pro-layout-header-apps-item-label", children: displayText })
91
+ ]
92
+ },
93
+ option.value
94
+ );
95
+ }) })
96
+ ] }, group.value)) });
122
97
  };
123
-
124
- // 渲染Popover内容
125
98
  const renderAppsContent = () => {
126
- if (!appsOptions || appsOptions.length === 0) return null;
99
+ if (!appsOptions || appsOptions.length === 0)
100
+ return null;
127
101
  return isGroupMode ? renderGroupApps() : renderFlatApps();
128
102
  };
129
- return /*#__PURE__*/_jsxs("div", {
130
- className: classNames({
131
- 'pro-layout-header': true,
132
- 'pro-layout-header-pure': typeof pure !== 'boolean' ? pure?.topMenu : pure
133
- }),
134
- style: {
135
- height: headerHeight
136
- },
137
- children: [appsOptions && appsOptions.length > 0 && /*#__PURE__*/_jsx(Popover, {
138
- content: renderAppsContent(),
139
- trigger: "hover",
140
- placement: "bottomLeft",
141
- open: appsPopoverOpen,
142
- onOpenChange: setAppsPopoverOpen,
143
- classNames: {
144
- root: 'pro-layout-header-apps-popover'
145
- },
146
- align: {
147
- offset: [30, -10]
103
+ return /* @__PURE__ */ jsxs(
104
+ "div",
105
+ {
106
+ className: classNames({
107
+ "pro-layout-header": true,
108
+ "pro-layout-header-pure": typeof pure !== "boolean" ? pure == null ? void 0 : pure.topMenu : pure
109
+ }),
110
+ style: {
111
+ height: headerHeight
148
112
  },
149
- children: /*#__PURE__*/_jsx("div", {
150
- className: "pro-layout-header-apps-trigger",
151
- children: /*#__PURE__*/_jsx(ProIcon, {
152
- src: appsIcon,
153
- size: "20px"
154
- })
155
- })
156
- }), headerTitleRender || /*#__PURE__*/_jsxs("div", {
157
- className: "pro-layout-header-logo",
158
- children: [/*#__PURE__*/_jsx("span", {
159
- children: logo || /*#__PURE__*/_jsx("img", {
160
- className: "default-logo",
161
- src: logoImg,
162
- alt: "logo"
163
- })
164
- }), title ? /*#__PURE__*/_jsx("h4", {
165
- children: title
166
- }) : null]
167
- }), headerContentRender || null, rightContentRender ? /*#__PURE__*/_jsx("div", {
168
- className: "pro-layout-header-actions",
169
- children: rightContentRender
170
- }) : null]
171
- });
113
+ children: [
114
+ appsOptions && appsOptions.length > 0 && /* @__PURE__ */ jsx(
115
+ Popover,
116
+ {
117
+ content: renderAppsContent(),
118
+ trigger: "hover",
119
+ placement: "bottomLeft",
120
+ open: appsPopoverOpen,
121
+ onOpenChange: setAppsPopoverOpen,
122
+ classNames: { root: "pro-layout-header-apps-popover" },
123
+ align: { offset: [30, -10] },
124
+ children: /* @__PURE__ */ jsx("div", { className: "pro-layout-header-apps-trigger", children: /* @__PURE__ */ jsx(ProIcon, { src: appsIcon, size: "20px" }) })
125
+ }
126
+ ),
127
+ headerTitleRender || /* @__PURE__ */ jsxs("div", { className: "pro-layout-header-logo", children: [
128
+ /* @__PURE__ */ jsx("span", { children: logo || /* @__PURE__ */ jsx("img", { className: "default-logo", src: logoImg, alt: "logo" }) }),
129
+ title ? /* @__PURE__ */ jsx("h4", { children: title }) : null
130
+ ] }),
131
+ headerContentRender || null,
132
+ rightContentRender ? /* @__PURE__ */ jsx("div", { className: "pro-layout-header-actions", children: rightContentRender }) : null
133
+ ]
134
+ }
135
+ );
136
+ };
137
+ var Header_default = Header;
138
+ export {
139
+ Header_default as default
172
140
  };
173
- export default Header;
@@ -1,121 +1,81 @@
1
- import { useContext } from 'react';
2
- import { Popover, Tooltip } from 'antd';
3
- import classnames from 'classnames';
4
- import { Link as RouterLink } from 'react-router-dom';
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useContext } from "react";
3
+ import { Popover, Tooltip } from "antd";
4
+ import classnames from "classnames";
5
+ import { Link as RouterLink } from "react-router-dom";
5
6
  import ProIcon from "../../../../../ProIcon";
6
7
  import SideMenu from "../SideMenu";
7
8
  import { LayoutContext } from "../../../../index";
8
9
  import { getUrlParams, getPathNameKey, findMenuItemByKey } from "../../../../utils";
9
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
10
  const Link = RouterLink;
11
- const FoldMenu = props => {
12
- const {
13
- style,
14
- dataSource,
15
- onMenuClick
16
- } = props;
17
- const {
18
- menus,
19
- iconfontUrl,
20
- notice,
21
- collapsed,
22
- headerHeight
23
- } = dataSource;
24
- const pathNamePrefix = `/${window.location.pathname.split('/')[1]}`;
11
+ const FoldMenu = (props) => {
12
+ const { style, dataSource, onMenuClick } = props;
13
+ const { menus, iconfontUrl, notice, collapsed, headerHeight } = dataSource;
14
+ const pathNamePrefix = `/${window.location.pathname.split("/")[1]}`;
25
15
  const noticeCls = classnames({
26
- 'pro-layout-menu-tooltip': true,
27
- 'pro-layout-menu-tooltip-has-notice': notice,
28
- 'pro-layout-menu-tooltip-nav-open': collapsed
16
+ "pro-layout-menu-tooltip": true,
17
+ "pro-layout-menu-tooltip-has-notice": notice,
18
+ "pro-layout-menu-tooltip-nav-open": collapsed
29
19
  });
30
- const {
31
- selectedPath,
32
- onSelected
33
- } = useContext(LayoutContext) || {
34
- selectedPath: '',
35
- onSelected: () => {}
20
+ const { selectedPath, onSelected } = useContext(LayoutContext) || {
21
+ selectedPath: "",
22
+ onSelected: () => {
23
+ }
36
24
  };
37
- return /*#__PURE__*/_jsx("div", {
38
- className: "pro-layout-menu-fold",
39
- style: {
40
- ...style
41
- },
42
- children: /*#__PURE__*/_jsx("ul", {
43
- className: "pro-layout-menu-fold-list",
44
- style: {
45
- ...style
46
- },
47
- children: menus.filter(item => !item.hideInMenu).map((item, index) => {
48
- const {
49
- id,
50
- url,
51
- name,
52
- icon,
53
- imgUrl,
54
- imgActiveUrl,
55
- children
56
- } = item;
57
- const toPath = item.redirectUrl || item.url;
58
- const selectedMenu = getUrlParams('activeMenu');
59
- const pathToMatch = selectedPath || selectedMenu || window.location.pathname;
60
-
61
- // 取第一级
62
- const currentKeyIdPath = getPathNameKey({
63
- menus,
64
- pathName: pathToMatch // 优先匹配上下文路径
65
- }) || [];
66
- const cls = classnames({
67
- active: currentKeyIdPath.includes(id)
68
- });
69
-
70
- // 是否包含子级菜单
71
- const hasChildrenMenu = Array.isArray(children) && children.length;
72
-
73
- // 一级li Dom节点
74
- const LiNode = /*#__PURE__*/_jsx("li", {
75
- id: url?.split('/')?.[1],
76
- className: `${cls} pro-layout-menu-fold-li`,
77
- children: /*#__PURE__*/_jsxs("div", {
78
- children: [imgUrl ? /*#__PURE__*/_jsx("img", {
79
- className: "pro-layout-icon",
80
- src: pathNamePrefix === url ? imgActiveUrl || imgUrl : imgUrl,
81
- alt: "icon"
82
- }) : /*#__PURE__*/_jsx(ProIcon, {
83
- type: icon || '',
84
- size: "20px",
85
- color: currentKeyIdPath.includes(id) ? '#fff' : undefined
86
- }), /*#__PURE__*/_jsx("h2", {
87
- children: name
88
- })]
89
- })
90
- });
91
- return hasChildrenMenu ? /*#__PURE__*/_jsx(Popover, {
92
- mouseEnterDelay: 0,
93
- content: /*#__PURE__*/_jsx(SideMenu, {
94
- dataSource: {
95
- ...dataSource,
96
- menus: item
97
- },
98
- onMenuClick: onMenuClick
99
- }),
100
- color: "#fff",
101
- classNames: {
102
- root: noticeCls
103
- },
104
- styles: {
105
- content: {
106
- marginTop: headerHeight - 64,
107
- height: `calc(100vh - ${headerHeight + (notice ? 32 : 0) + 12}px)`,
108
- overflow: 'hidden'
109
- }
110
- },
111
- placement: "rightTop",
112
- children: /*#__PURE__*/_jsx("span", {
113
- onClick: e => {
114
- // 查找完整的菜单项数据
25
+ return /* @__PURE__ */ jsx("div", { className: "pro-layout-menu-fold", style: { ...style }, children: /* @__PURE__ */ jsx("ul", { className: "pro-layout-menu-fold-list", style: { ...style }, children: menus.filter((item) => !item.hideInMenu).map((item, index) => {
26
+ var _a;
27
+ const { id, url, name, icon, imgUrl, imgActiveUrl, children } = item;
28
+ const toPath = item.redirectUrl || item.url;
29
+ const selectedMenu = getUrlParams("activeMenu");
30
+ const pathToMatch = selectedPath || selectedMenu || window.location.pathname;
31
+ const currentKeyIdPath = getPathNameKey({
32
+ menus,
33
+ pathName: pathToMatch
34
+ // 优先匹配上下文路径
35
+ }) || [];
36
+ const cls = classnames({
37
+ active: currentKeyIdPath.includes(id)
38
+ });
39
+ const hasChildrenMenu = Array.isArray(children) && children.length;
40
+ const LiNode = /* @__PURE__ */ jsx("li", { id: (_a = url == null ? void 0 : url.split("/")) == null ? void 0 : _a[1], className: `${cls} pro-layout-menu-fold-li`, children: /* @__PURE__ */ jsxs("div", { children: [
41
+ imgUrl ? /* @__PURE__ */ jsx(
42
+ "img",
43
+ {
44
+ className: "pro-layout-icon",
45
+ src: pathNamePrefix === url ? imgActiveUrl || imgUrl : imgUrl,
46
+ alt: "icon"
47
+ }
48
+ ) : /* @__PURE__ */ jsx(
49
+ ProIcon,
50
+ {
51
+ type: icon || "",
52
+ size: "20px",
53
+ color: currentKeyIdPath.includes(id) ? "#fff" : void 0
54
+ }
55
+ ),
56
+ /* @__PURE__ */ jsx("h2", { children: name })
57
+ ] }) });
58
+ return hasChildrenMenu ? /* @__PURE__ */ jsx(
59
+ Popover,
60
+ {
61
+ mouseEnterDelay: 0,
62
+ content: /* @__PURE__ */ jsx(SideMenu, { dataSource: { ...dataSource, menus: item }, onMenuClick }),
63
+ color: "#fff",
64
+ classNames: { root: noticeCls },
65
+ styles: {
66
+ content: {
67
+ marginTop: headerHeight - 64,
68
+ height: `calc(100vh - ${headerHeight + (notice ? 32 : 0) + 12}px)`,
69
+ overflow: "hidden"
70
+ }
71
+ },
72
+ placement: "rightTop",
73
+ children: /* @__PURE__ */ jsx(
74
+ "span",
75
+ {
76
+ onClick: (e) => {
115
77
  const menuItem = findMenuItemByKey(menus, String(id));
116
- const menuKeyPath = menuItem?.keyIdPath ? menuItem.keyIdPath.map(id => String(id)) : [String(id)];
117
-
118
- // 调用用户传入的onMenuClick回调,获取返回值(是否应该激活菜单)
78
+ const menuKeyPath = (menuItem == null ? void 0 : menuItem.keyIdPath) ? menuItem.keyIdPath.map((id2) => String(id2)) : [String(id)];
119
79
  let shouldActivate = true;
120
80
  if (onMenuClick) {
121
81
  const result = onMenuClick({
@@ -123,13 +83,10 @@ const FoldMenu = props => {
123
83
  key: String(id),
124
84
  keyPath: menuKeyPath
125
85
  });
126
- // 如果返回 false,表示不应该激活菜单
127
86
  if (result === false) {
128
87
  shouldActivate = false;
129
88
  }
130
89
  }
131
-
132
- // 只有在 shouldActivate 为 true 时才设置选中状态
133
90
  if (shouldActivate) {
134
91
  onSelected({
135
92
  selectedPath: toPath
@@ -137,84 +94,71 @@ const FoldMenu = props => {
137
94
  }
138
95
  },
139
96
  children: LiNode
140
- })
141
- }, `${id}-${name}`) : !collapsed ? /*#__PURE__*/_jsx(Tooltip, {
142
- placement: "right",
143
- title: name,
144
- children: /*#__PURE__*/_jsx("span", {
145
- onClickCapture: e => {
146
- // 查找完整的菜单项数据
147
- const menuItem = findMenuItemByKey(menus, String(id));
148
- const menuKeyPath = menuItem?.keyIdPath ? menuItem.keyIdPath.map(id => String(id)) : [String(id)];
149
-
150
- // 调用用户传入的onMenuClick回调,获取返回值(是否应该激活菜单)
151
- let shouldActivate = true;
152
- if (onMenuClick) {
153
- const result = onMenuClick({
154
- item: menuItem,
155
- key: String(id),
156
- keyPath: menuKeyPath
157
- });
158
- // 如果返回 false,表示不应该激活菜单
159
- if (result === false) {
160
- shouldActivate = false;
161
- }
162
- }
163
-
164
- // 只有在 shouldActivate 为 true 时才设置选中状态
165
- if (shouldActivate) {
166
- onSelected({
167
- selectedPath: toPath
168
- });
169
- } else {
170
- // Capture 阶段拦截,早于 Link 内部导航处理器
171
- e.preventDefault();
172
- e.stopPropagation();
173
- }
174
- },
175
- children: /*#__PURE__*/_jsx(Link, {
176
- to: toPath,
177
- children: LiNode
178
- })
179
- })
180
- }, `${id}-${name}`) : /*#__PURE__*/_jsx("span", {
181
- onClickCapture: e => {
182
- // 查找完整的菜单项数据
183
- const menuItem = findMenuItemByKey(menus, String(id));
184
- const menuKeyPath = menuItem?.keyIdPath ? menuItem.keyIdPath.map(id => String(id)) : [String(id)];
185
-
186
- // 调用用户传入的onMenuClick回调,获取返回值(是否应该激活菜单)
187
- let shouldActivate = true;
188
- if (onMenuClick) {
189
- const result = onMenuClick({
190
- item: menuItem,
191
- key: String(id),
192
- keyPath: menuKeyPath
193
- });
194
- // 如果返回 false,表示不应该激活菜单
195
- if (result === false) {
196
- shouldActivate = false;
197
- }
97
+ }
98
+ )
99
+ },
100
+ `${id}-${name}`
101
+ ) : !collapsed ? /* @__PURE__ */ jsx(Tooltip, { placement: "right", title: name, children: /* @__PURE__ */ jsx(
102
+ "span",
103
+ {
104
+ onClickCapture: (e) => {
105
+ const menuItem = findMenuItemByKey(menus, String(id));
106
+ const menuKeyPath = (menuItem == null ? void 0 : menuItem.keyIdPath) ? menuItem.keyIdPath.map((id2) => String(id2)) : [String(id)];
107
+ let shouldActivate = true;
108
+ if (onMenuClick) {
109
+ const result = onMenuClick({
110
+ item: menuItem,
111
+ key: String(id),
112
+ keyPath: menuKeyPath
113
+ });
114
+ if (result === false) {
115
+ shouldActivate = false;
198
116
  }
199
-
200
- // 只有在 shouldActivate 为 true 时才设置选中状态
201
- if (shouldActivate) {
202
- onSelected({
203
- selectedPath: toPath
204
- });
205
- } else {
206
- // Capture 阶段拦截,早于 Link 内部导航处理器
207
- e.preventDefault();
208
- e.stopPropagation();
117
+ }
118
+ if (shouldActivate) {
119
+ onSelected({
120
+ selectedPath: toPath
121
+ });
122
+ } else {
123
+ e.preventDefault();
124
+ e.stopPropagation();
125
+ }
126
+ },
127
+ children: /* @__PURE__ */ jsx(Link, { to: toPath, children: LiNode })
128
+ }
129
+ ) }, `${id}-${name}`) : /* @__PURE__ */ jsx(
130
+ "span",
131
+ {
132
+ onClickCapture: (e) => {
133
+ const menuItem = findMenuItemByKey(menus, String(id));
134
+ const menuKeyPath = (menuItem == null ? void 0 : menuItem.keyIdPath) ? menuItem.keyIdPath.map((id2) => String(id2)) : [String(id)];
135
+ let shouldActivate = true;
136
+ if (onMenuClick) {
137
+ const result = onMenuClick({
138
+ item: menuItem,
139
+ key: String(id),
140
+ keyPath: menuKeyPath
141
+ });
142
+ if (result === false) {
143
+ shouldActivate = false;
209
144
  }
210
- },
211
- children: /*#__PURE__*/_jsx(Link, {
212
- to: toPath,
213
- children: LiNode
214
- })
215
- }, `${id}-${name}`);
216
- })
217
- })
218
- });
145
+ }
146
+ if (shouldActivate) {
147
+ onSelected({
148
+ selectedPath: toPath
149
+ });
150
+ } else {
151
+ e.preventDefault();
152
+ e.stopPropagation();
153
+ }
154
+ },
155
+ children: /* @__PURE__ */ jsx(Link, { to: toPath, children: LiNode })
156
+ },
157
+ `${id}-${name}`
158
+ );
159
+ }) }) });
160
+ };
161
+ var FoldMenu_default = FoldMenu;
162
+ export {
163
+ FoldMenu_default as default
219
164
  };
220
- export default FoldMenu;