@zat-design/sisyphus-react 4.5.9 → 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 (280) hide show
  1. package/dist/index.esm.css +1 -1
  2. package/dist/less.esm.css +1 -1
  3. package/es/FormsProvider/index.js +14 -21
  4. package/es/ProAction/components/CheckModalContent/index.js +12 -26
  5. package/es/ProAction/index.js +79 -83
  6. package/es/ProAction/propsType.js +0 -1
  7. package/es/ProConfigProvider/index.js +63 -110
  8. package/es/ProConfigProvider/propsType.js +0 -1
  9. package/es/ProDownload/index.d.ts +2 -1
  10. package/es/ProDownload/index.js +74 -69
  11. package/es/ProDownload/propsType.js +0 -1
  12. package/es/ProDownload/utils.d.ts +10 -5
  13. package/es/ProDownload/utils.js +63 -95
  14. package/es/ProDrawerForm/components/ProDrawer/index.js +83 -113
  15. package/es/ProDrawerForm/components/ProModal/index.js +77 -108
  16. package/es/ProDrawerForm/components/index.js +6 -2
  17. package/es/ProDrawerForm/hooks/useConfirmClose.js +20 -39
  18. package/es/ProDrawerForm/index.js +29 -38
  19. package/es/ProDrawerForm/propsType.js +0 -1
  20. package/es/ProDrawerForm/utils/index.js +18 -36
  21. package/es/ProEditLabel/components/RenderProForm.js +45 -49
  22. package/es/ProEditLabel/index.js +126 -163
  23. package/es/ProEditLabel/propsType.js +0 -1
  24. package/es/ProEditLabel/utils/index.js +5 -8
  25. package/es/ProEditTable/components/ActionButton/index.js +111 -119
  26. package/es/ProEditTable/components/RcTable/BaseTable.js +38 -51
  27. package/es/ProEditTable/components/RcTable/DraggableTable.js +97 -129
  28. package/es/ProEditTable/components/RcTable/index.js +6 -4
  29. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +77 -95
  30. package/es/ProEditTable/components/RenderField/index.js +490 -587
  31. package/es/ProEditTable/components/RenderField/propsType.js +0 -1
  32. package/es/ProEditTable/components/RenderField/tools.js +115 -112
  33. package/es/ProEditTable/components/RenderToolbar/index.js +47 -73
  34. package/es/ProEditTable/components/Summary/index.js +38 -64
  35. package/es/ProEditTable/components/Validator/index.js +46 -46
  36. package/es/ProEditTable/components/index.js +12 -5
  37. package/es/ProEditTable/index.js +456 -378
  38. package/es/ProEditTable/propsType.js +0 -1
  39. package/es/ProEditTable/utils/config.js +60 -122
  40. package/es/ProEditTable/utils/diffOriginal.js +45 -82
  41. package/es/ProEditTable/utils/getDefaultProps.js +19 -24
  42. package/es/ProEditTable/utils/index.js +154 -235
  43. package/es/ProEditTable/utils/tools.js +149 -286
  44. package/es/ProEditTable/utils/transform.js +25 -30
  45. package/es/ProEditTable/utils/useEditTableError.js +30 -43
  46. package/es/ProEditTable/utils/useShouldUpdateForTable.js +42 -72
  47. package/es/ProEditTable/utils/validateAll.js +87 -154
  48. package/es/ProEnum/components/Group.js +38 -30
  49. package/es/ProEnum/components/Tag.js +22 -26
  50. package/es/ProEnum/hooks/useEnum.js +48 -116
  51. package/es/ProEnum/hooks/useEnumRequest.js +182 -212
  52. package/es/ProEnum/hooks/useFrequentEnumRequest.js +40 -48
  53. package/es/ProEnum/index.js +162 -172
  54. package/es/ProEnum/propsType.js +0 -1
  55. package/es/ProEnum/utils/eventCenter.js +10 -12
  56. package/es/ProEnum/utils/frequentEnum.js +35 -92
  57. package/es/ProEnum/utils/getEnum.js +32 -90
  58. package/es/ProEnum/utils/getEnumLabel.js +44 -49
  59. package/es/ProEnum/utils/index.js +93 -207
  60. package/es/ProForm/components/Container.js +13 -28
  61. package/es/ProForm/components/FormFooter/index.js +36 -44
  62. package/es/ProForm/components/FormFooter/propsType.js +0 -1
  63. package/es/ProForm/components/base/Checkbox/index.js +32 -59
  64. package/es/ProForm/components/base/DatePicker/index.js +49 -71
  65. package/es/ProForm/components/base/Input/index.js +63 -97
  66. package/es/ProForm/components/base/Input/propsType.js +0 -1
  67. package/es/ProForm/components/base/InputNumber/index.js +118 -172
  68. package/es/ProForm/components/base/Radio/index.js +39 -52
  69. package/es/ProForm/components/base/RangePicker/index.js +109 -127
  70. package/es/ProForm/components/base/RangePicker/useDateRange.js +20 -17
  71. package/es/ProForm/components/base/Select/index.js +63 -89
  72. package/es/ProForm/components/base/Switch/index.js +27 -35
  73. package/es/ProForm/components/base/SwitchCheckbox/index.js +36 -54
  74. package/es/ProForm/components/base/TextArea/index.js +30 -41
  75. package/es/ProForm/components/base/TimePicker/index.js +27 -37
  76. package/es/ProForm/components/combination/Container/index.js +37 -47
  77. package/es/ProForm/components/combination/Container/propsType.js +0 -1
  78. package/es/ProForm/components/combination/FormList/components/ActionButton.js +165 -237
  79. package/es/ProForm/components/combination/FormList/components/BlockFields.js +98 -102
  80. package/es/ProForm/components/combination/FormList/components/Empty.js +28 -55
  81. package/es/ProForm/components/combination/FormList/components/LineFields.js +57 -54
  82. package/es/ProForm/components/combination/FormList/components/ToolbarButton.js +61 -109
  83. package/es/ProForm/components/combination/FormList/index.js +151 -161
  84. package/es/ProForm/components/combination/FormList/propsType.js +0 -1
  85. package/es/ProForm/components/combination/FormList/style/index.less +6 -0
  86. package/es/ProForm/components/combination/FormList/utils.js +22 -38
  87. package/es/ProForm/components/combination/Group/component/AddonWrapper/index.js +12 -28
  88. package/es/ProForm/components/combination/Group/component/ComRender.js +50 -111
  89. package/es/ProForm/components/combination/Group/component/FlexibleGroup.js +106 -213
  90. package/es/ProForm/components/combination/Group/hooks/index.js +69 -129
  91. package/es/ProForm/components/combination/Group/index.js +87 -126
  92. package/es/ProForm/components/combination/Group/propsType.js +0 -1
  93. package/es/ProForm/components/combination/Group/utils/index.js +124 -239
  94. package/es/ProForm/components/combination/ProCascader/index.js +156 -199
  95. package/es/ProForm/components/combination/ProCascader/propsType.js +0 -1
  96. package/es/ProForm/components/combination/ProCascader/utils/index.js +12 -21
  97. package/es/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +72 -70
  98. package/es/ProForm/components/combination/ProModalSelect/index.js +309 -347
  99. package/es/ProForm/components/combination/ProModalSelect/propsType.js +0 -1
  100. package/es/ProForm/components/combination/ProModalSelect/utils/index.js +32 -39
  101. package/es/ProForm/components/combination/ProNumberRange/index.js +100 -156
  102. package/es/ProForm/components/combination/ProNumberRange/propsType.js +0 -1
  103. package/es/ProForm/components/combination/ProRangeLimit/index.js +104 -115
  104. package/es/ProForm/components/combination/ProRangeLimit/propsType.js +0 -1
  105. package/es/ProForm/components/combination/ProTimeLimit/hooks/useControlled.js +16 -16
  106. package/es/ProForm/components/combination/ProTimeLimit/index.js +75 -109
  107. package/es/ProForm/components/index.js +56 -34
  108. package/es/ProForm/components/render/ChangedWrapper.js +85 -94
  109. package/es/ProForm/components/render/ConfirmWrapper.js +27 -39
  110. package/es/ProForm/components/render/CustomComponentViewWrapper.js +65 -82
  111. package/es/ProForm/components/render/Render.js +223 -329
  112. package/es/ProForm/components/render/RenderFields.js +76 -113
  113. package/es/ProForm/components/render/propsType.js +0 -1
  114. package/es/ProForm/hooks/useControlled.js +8 -10
  115. package/es/ProForm/hooks/useDeepCompareMemo.js +11 -11
  116. package/es/ProForm/hooks/useFieldProps.js +8 -4
  117. package/es/ProForm/hooks/useForm.js +50 -110
  118. package/es/ProForm/hooks/useRules.js +17 -33
  119. package/es/ProForm/hooks/useShouldUpdate.js +77 -152
  120. package/es/ProForm/hooks/useWatch.js +62 -134
  121. package/es/ProForm/index.js +157 -194
  122. package/es/ProForm/propsType.js +15 -7
  123. package/es/ProForm/utils/buildFormItemProps.js +51 -58
  124. package/es/ProForm/utils/diffOriginal.js +43 -73
  125. package/es/ProForm/utils/getDefaultProps.js +18 -24
  126. package/es/ProForm/utils/index.js +160 -235
  127. package/es/ProForm/utils/processDependencies.js +21 -60
  128. package/es/ProForm/utils/reactiveValues.js +20 -34
  129. package/es/ProForm/utils/rulesCreator.js +42 -40
  130. package/es/ProForm/utils/transformNames.js +10 -13
  131. package/es/ProForm/utils/transformValue.js +16 -29
  132. package/es/ProForm/utils/valueType.js +96 -178
  133. package/es/ProIcon/config/index.js +340 -274
  134. package/es/ProIcon/index.js +135 -209
  135. package/es/ProIcon/propsTypes.js +0 -1
  136. package/es/ProIcon/utils/index.js +24 -39
  137. package/es/ProLayout/components/Layout/Header/index.js +108 -141
  138. package/es/ProLayout/components/Layout/Menu/FoldMenu/index.js +134 -190
  139. package/es/ProLayout/components/Layout/Menu/OpenMenu/index.js +113 -139
  140. package/es/ProLayout/components/Layout/Menu/OpenMenu/propsType.js +0 -1
  141. package/es/ProLayout/components/Layout/Menu/SideMenu/index.js +23 -31
  142. package/es/ProLayout/components/Layout/Menu/index.js +92 -89
  143. package/es/ProLayout/components/Layout/Notice/index.js +13 -27
  144. package/es/ProLayout/components/Layout/index.js +8 -3
  145. package/es/ProLayout/components/ProCollapse/PropTypes.js +0 -1
  146. package/es/ProLayout/components/ProCollapse/index.js +89 -111
  147. package/es/ProLayout/components/ProFooter/PropTypes.js +0 -1
  148. package/es/ProLayout/components/ProFooter/index.js +27 -24
  149. package/es/ProLayout/components/ProHeader/PropTypes.js +0 -1
  150. package/es/ProLayout/components/ProHeader/components/Copy/index.js +23 -21
  151. package/es/ProLayout/components/ProHeader/components/Describe/index.js +67 -84
  152. package/es/ProLayout/components/ProHeader/components/ProBackBtn/index.js +18 -21
  153. package/es/ProLayout/components/ProHeader/components/ProBackBtn/propsType.js +0 -1
  154. package/es/ProLayout/components/ProHeader/components/index.js +6 -2
  155. package/es/ProLayout/components/ProHeader/index.js +216 -356
  156. package/es/ProLayout/components/ProHeader/utils/index.js +19 -26
  157. package/es/ProLayout/components/TabsManager/components/TabContextMenu.js +92 -85
  158. package/es/ProLayout/components/TabsManager/components/TabItem.js +53 -63
  159. package/es/ProLayout/components/TabsManager/components/TabsContext.js +5 -5
  160. package/es/ProLayout/components/TabsManager/components/TabsHeader.js +42 -52
  161. package/es/ProLayout/components/TabsManager/hooks/useActiveTab.js +8 -9
  162. package/es/ProLayout/components/TabsManager/hooks/useIframeRoute.js +19 -32
  163. package/es/ProLayout/components/TabsManager/hooks/useProLayoutTabs.js +6 -20
  164. package/es/ProLayout/components/TabsManager/hooks/useTabsCache.js +25 -42
  165. package/es/ProLayout/components/TabsManager/hooks/useTabsState.js +320 -350
  166. package/es/ProLayout/components/TabsManager/hooks/useTabsUrlSync.d.ts +19 -0
  167. package/es/ProLayout/components/TabsManager/hooks/useTabsUrlSync.js +332 -0
  168. package/es/ProLayout/components/TabsManager/index.js +407 -351
  169. package/es/ProLayout/components/TabsManager/propTypes.d.ts +4 -0
  170. package/es/ProLayout/components/TabsManager/propTypes.js +7 -15
  171. package/es/ProLayout/components/TabsManager/style/index.less +1 -1
  172. package/es/ProLayout/components/TabsManager/utils/historyObserver.d.ts +7 -0
  173. package/es/ProLayout/components/TabsManager/utils/historyObserver.js +65 -0
  174. package/es/ProLayout/components/TabsManager/utils/index.d.ts +15 -2
  175. package/es/ProLayout/components/TabsManager/utils/index.js +156 -159
  176. package/es/ProLayout/components/index.js +8 -3
  177. package/es/ProLayout/index.js +173 -228
  178. package/es/ProLayout/propTypes.d.ts +28 -1
  179. package/es/ProLayout/propTypes.js +12 -52
  180. package/es/ProLayout/utils/index.js +48 -128
  181. package/es/ProSelect/components/AdaptiveTooltip.js +26 -25
  182. package/es/ProSelect/index.js +187 -223
  183. package/es/ProSelect/propsType.js +0 -1
  184. package/es/ProSelect/style/index.less +13 -0
  185. package/es/ProSelect/utils/index.js +100 -146
  186. package/es/ProStep/components/Anchor/index.js +71 -82
  187. package/es/ProStep/components/Item/index.js +49 -56
  188. package/es/ProStep/components/LazyLoad/index.js +23 -29
  189. package/es/ProStep/components/Listener/index.js +20 -33
  190. package/es/ProStep/components/Step/index.js +31 -38
  191. package/es/ProStep/constants.js +4 -1
  192. package/es/ProStep/index.js +166 -153
  193. package/es/ProStep/propsType.js +0 -1
  194. package/es/ProStep/style/index.less +1 -1
  195. package/es/ProStep/utils/index.js +29 -55
  196. package/es/ProStepTab/index.js +83 -138
  197. package/es/ProStepTab/propsType.js +0 -1
  198. package/es/ProTable/components/EditableCell/EditIcon.js +10 -14
  199. package/es/ProTable/components/EditableCell/index.js +37 -71
  200. package/es/ProTable/components/EditableCell/propsType.js +0 -1
  201. package/es/ProTable/components/FormatColumn/index.js +209 -340
  202. package/es/ProTable/components/FormatColumn/propsType.js +0 -1
  203. package/es/ProTable/components/RcTable/components/BaseTable/index.js +35 -39
  204. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +80 -107
  205. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +54 -48
  206. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/propsType.js +0 -1
  207. package/es/ProTable/components/RcTable/components/DraggableTable/index.js +47 -54
  208. package/es/ProTable/components/RcTable/index.js +6 -4
  209. package/es/ProTable/components/RenderColumn/index.js +158 -186
  210. package/es/ProTable/components/RenderEmptyText/index.js +12 -21
  211. package/es/ProTable/components/RenderFooter/index.js +15 -15
  212. package/es/ProTable/components/RenderSummary/index.js +33 -50
  213. package/es/ProTable/components/RenderTableHeader/index.js +44 -46
  214. package/es/ProTable/components/RenderTabs/index.js +47 -51
  215. package/es/ProTable/components/TableResizable/index.js +56 -72
  216. package/es/ProTable/components/TooltipTitle/index.js +13 -21
  217. package/es/ProTable/components/index.js +16 -36
  218. package/es/ProTable/hooks/useAntdTable.js +191 -224
  219. package/es/ProTable/index.js +232 -249
  220. package/es/ProTable/propsType.js +0 -1
  221. package/es/ProTable/utils/columnStorage.js +63 -88
  222. package/es/ProTable/utils/index.js +57 -90
  223. package/es/ProTabs/components/Card/index.js +20 -48
  224. package/es/ProTabs/components/index.js +4 -1
  225. package/es/ProTabs/index.js +41 -58
  226. package/es/ProTabs/propType.js +0 -1
  227. package/es/ProThemeTools/component/ProTools/index.js +106 -158
  228. package/es/ProThemeTools/component/index.js +4 -1
  229. package/es/ProThemeTools/context/ThemeContext.js +67 -146
  230. package/es/ProThemeTools/index.js +103 -156
  231. package/es/ProThemeTools/propsType.js +0 -1
  232. package/es/ProThemeTools/utils/index.js +60 -109
  233. package/es/ProTooltip/index.js +132 -168
  234. package/es/ProTooltip/propsType.js +0 -1
  235. package/es/ProTree/components/AdaptiveTooltip.js +15 -17
  236. package/es/ProTree/components/CloseIcon.js +18 -26
  237. package/es/ProTree/components/List.js +28 -47
  238. package/es/ProTree/components/ProTree.js +152 -211
  239. package/es/ProTree/components/ProTreeSelect/index.js +255 -459
  240. package/es/ProTree/components/ProTreeSelect/propsType.js +0 -1
  241. package/es/ProTree/components/SearchTitle.js +23 -42
  242. package/es/ProTree/components/Tree.js +147 -195
  243. package/es/ProTree/components/index.js +10 -5
  244. package/es/ProTree/index.js +12 -16
  245. package/es/ProTree/propsType.js +0 -1
  246. package/es/ProTree/utils.js +46 -118
  247. package/es/ProTreeModal/components/Cascader.js +56 -64
  248. package/es/ProTreeModal/components/CloseIcon.js +18 -26
  249. package/es/ProTreeModal/components/List.js +114 -180
  250. package/es/ProTreeModal/components/SearchTitle.js +15 -18
  251. package/es/ProTreeModal/components/SortableItem.js +29 -58
  252. package/es/ProTreeModal/components/Tree.js +99 -113
  253. package/es/ProTreeModal/components/Trigger.js +87 -121
  254. package/es/ProTreeModal/components/index.js +14 -6
  255. package/es/ProTreeModal/index.js +397 -438
  256. package/es/ProTreeModal/propsType.js +0 -1
  257. package/es/ProTreeModal/utils.js +52 -95
  258. package/es/ProUpload/components/ButtonRender.js +44 -54
  259. package/es/ProUpload/components/DragRender.js +94 -148
  260. package/es/ProUpload/components/DraggableUploadListItem.js +12 -25
  261. package/es/ProUpload/components/Example.js +27 -31
  262. package/es/ProUpload/components/FileItem.js +69 -163
  263. package/es/ProUpload/components/ImageRender.js +134 -170
  264. package/es/ProUpload/index.js +68 -100
  265. package/es/ProUpload/propsType.js +0 -1
  266. package/es/ProUpload/uitls.js +8 -4
  267. package/es/ProUtils/utils/index.js +17 -13
  268. package/es/ProViewer/index.js +154 -175
  269. package/es/ProViewer/propsType.js +0 -5
  270. package/es/ProWaterMark/index.js +9 -16
  271. package/es/ProWaterMark/propsType.js +0 -1
  272. package/es/hooks/useDraggableRow.js +25 -53
  273. package/es/index.js +57 -77
  274. package/es/locale/en_US.js +153 -142
  275. package/es/locale/index.js +23 -36
  276. package/es/locale/zh_CN.js +145 -142
  277. package/es/tokens.js +84 -83
  278. package/es/utils/index.js +24 -51
  279. package/package.json +4 -2
  280. package/es/ProConfigProvider/demo/locale.js +0 -58
@@ -1,55 +1,15 @@
1
- /**
2
- * @description 应用选项类型(无分组模式)
3
- */
4
-
5
- /**
6
- * @description 应用分组类型(分组模式)
7
- */
8
-
9
- /**
10
- * @description 是否带有菜单界面的配置
11
- */
12
-
13
- /**
14
- * @description 添加标签页的业务参数
15
- */
16
-
17
- /**
18
- * @description 添加标签页的选项
19
- */
20
-
21
- /**
22
- * @description 更新标签页的字段(仅允许更新展示与扩展数据)
23
- */
24
-
25
- /**
26
- * @description 获取标签页信息返回值
27
- */
28
-
29
- /**
30
- * @description ProLayout 标签页实例接口(类似 FormInstance)
31
- */
32
-
33
- /**
34
- * @description iframe 路由表配置项
35
- */
36
-
37
- /**
38
- * @description iframe 嵌入配置
39
- *
40
- * **触发条件**:URL query 上带 `?isIframe`(大小写不敏感,值不限,只看 key 是否存在)。
41
- * 第三方系统通过在 iframe src 上拼 `?isIframe=1` 来触发组件库的嵌入模式。
42
- *
43
- * 未带该 query 时(独立访问),即使配置了 `tabs.iframe`,组件库也完全不读取,
44
- * 维持完整 Layout 渲染。
45
- */
46
-
47
- export const isTabsMode = props => props.mode === 'tabs';
48
- export const validateTabsProps = (mode = 'normal', tabs) => {
49
- if (mode === 'tabs' && !tabs) {
50
- throw new Error('ProLayout: tabs configuration is required when mode="tabs",例如 <ProLayout mode="tabs" tabs={{ max: 10 }} />');
1
+ const isTabsMode = (props) => props.mode === "tabs";
2
+ const validateTabsProps = (mode = "normal", tabs) => {
3
+ if (mode === "tabs" && !tabs) {
4
+ throw new Error(
5
+ 'ProLayout: tabs configuration is required when mode="tabs",例如 <ProLayout mode="tabs" tabs={{ max: 10 }} />'
6
+ );
51
7
  }
52
- if (mode !== 'tabs' && tabs) {
8
+ if (mode !== "tabs" && tabs) {
53
9
  console.warn('ProLayout: tabs configuration is ignored because mode is not "tabs"');
54
10
  }
55
- };
11
+ };
12
+ export {
13
+ isTabsMode,
14
+ validateTabsProps
15
+ };
@@ -1,91 +1,51 @@
1
- import _isPlainObject from "lodash/isPlainObject";
2
- /* eslint-disable prefer-destructuring */
3
- /* eslint-disable no-mixed-operators */
4
- /**
5
- * 检查并更新最佳模糊匹配
6
- * @param pathName 目标路径
7
- * @param itemUrl 菜单项URL
8
- * @param itemRedirectUrl 菜单项重定向URL
9
- * @param keyIdPath 菜单项ID路径
10
- * @param bestMatch 当前最佳匹配
11
- * @returns 更新后的最佳匹配
12
- */
1
+ import isPlainObject from "lodash/isPlainObject";
13
2
  const updateBestMatch = (pathName, itemUrl, itemRedirectUrl, keyIdPath, bestMatch) => {
14
- // 检查 itemUrl 是否匹配
15
3
  if (itemUrl && pathName.includes(itemUrl)) {
16
4
  const urlLength = itemUrl.length;
17
5
  if (!bestMatch || urlLength > bestMatch.urlLength) {
18
- return {
19
- keyIdPath,
20
- urlLength
21
- };
6
+ return { keyIdPath, urlLength };
22
7
  }
23
8
  }
24
-
25
- // 检查 itemRedirectUrl 是否匹配
26
9
  if (itemRedirectUrl && pathName.includes(itemRedirectUrl)) {
27
10
  const urlLength = itemRedirectUrl.length;
28
11
  if (!bestMatch || urlLength > bestMatch.urlLength) {
29
- return {
30
- keyIdPath,
31
- urlLength
32
- };
12
+ return { keyIdPath, urlLength };
33
13
  }
34
14
  }
35
15
  return bestMatch;
36
16
  };
37
-
38
- /**
39
- * 通过URL获取对应keyIdPath
40
- * @param menus 菜单数据
41
- * @param activeMenu 上一次激活url地址
42
- * @return result
43
- */
44
- export const getIdsByPathName = (menus, activeMenu) => {
17
+ const getIdsByPathName = (menus, activeMenu) => {
45
18
  const _pathName = activeMenu || window.location.pathname;
46
19
  let result;
47
20
  let bestMatch = null;
48
- const menuDeep = menuDeepItem => {
21
+ const menuDeep = (menuDeepItem) => {
22
+ var _a, _b;
49
23
  for (let i = 0; i <= menuDeepItem.length - 1; i++) {
50
24
  const item = menuDeepItem[i];
51
- const itemUrl = item?.url?.split('?')[0] || '';
52
- const itemRedirectUrl = item?.redirectUrl?.split('?')[0] || '';
53
-
54
- // 精确匹配:完全相等时直接返回
55
- if (item?.url === _pathName || item.redirectUrl === _pathName) {
25
+ const itemUrl = ((_a = item == null ? void 0 : item.url) == null ? void 0 : _a.split("?")[0]) || "";
26
+ const itemRedirectUrl = ((_b = item == null ? void 0 : item.redirectUrl) == null ? void 0 : _b.split("?")[0]) || "";
27
+ if ((item == null ? void 0 : item.url) === _pathName || item.redirectUrl === _pathName) {
56
28
  result = item.keyIdPath;
57
29
  return;
58
30
  }
59
-
60
- // 如果有子菜单,递归查找
61
31
  const hasChildren = Array.isArray(item.children) && item.children.length;
62
32
  if (hasChildren) {
63
33
  menuDeep(item.children);
64
- // 如果递归后找到了精确匹配,直接返回
65
34
  if (result) {
66
35
  return;
67
36
  }
68
37
  continue;
69
38
  }
70
-
71
- // 叶子节点:使用最长匹配策略选择最精确的匹配
72
39
  bestMatch = updateBestMatch(_pathName, itemUrl, itemRedirectUrl, item.keyIdPath, bestMatch);
73
40
  }
74
41
  };
75
42
  menuDeep(menus);
76
-
77
- // 如果没有精确匹配,使用最佳模糊匹配
78
- return result || bestMatch?.keyIdPath || [];
43
+ return result || (bestMatch == null ? void 0 : bestMatch.keyIdPath) || [];
79
44
  };
80
-
81
- /**
82
- * 转换菜单数据源评价keyUrlPath与keyIdPath
83
- * @param menuData 菜单数据源
84
- * @returns []
85
- */
86
- export const transformMenu = (menuData, pathPrefix) => {
45
+ const transformMenu = (menuData, pathPrefix) => {
87
46
  const data = [...menuData];
88
- const menuDeep = menuDeepItem => {
47
+ const menuDeep = (menuDeepItem) => {
48
+ var _a, _b, _c;
89
49
  if (!Array.isArray(menuDeepItem) || !menuDeepItem.length) {
90
50
  return [];
91
51
  }
@@ -93,27 +53,23 @@ export const transformMenu = (menuData, pathPrefix) => {
93
53
  const item = menuDeepItem[i];
94
54
  item.code = item.code || item.id;
95
55
  item.url = `${pathPrefix}${item.url}`;
96
- item.redirectUrl = item?.redirectUrl ? `${pathPrefix}${item.redirectUrl}` : '';
97
- // 拼接父级url与id数据
98
- if (item?.keyUrlPath?.length) {
56
+ item.redirectUrl = (item == null ? void 0 : item.redirectUrl) ? `${pathPrefix}${item.redirectUrl}` : "";
57
+ if ((_a = item == null ? void 0 : item.keyUrlPath) == null ? void 0 : _a.length) {
99
58
  item.keyUrlPath.push(item.redirectUrl || item.url);
100
- // 去重解决重复问题
101
59
  item.keyUrlPath = [...new Set(item.keyUrlPath)];
102
60
  } else {
103
61
  item.keyUrlPath = [item.redirectUrl || item.url];
104
62
  }
105
- if (item?.keyIdPath?.length) {
63
+ if ((_b = item == null ? void 0 : item.keyIdPath) == null ? void 0 : _b.length) {
106
64
  item.keyIdPath.push(item.id);
107
- // 去重解决重复问题
108
65
  item.keyIdPath = [...new Set(item.keyIdPath)];
109
66
  } else {
110
67
  item.keyIdPath = [item.id];
111
68
  }
112
- if (!['PAGE', 'MENU'].includes(item.type)) {
69
+ if (!["PAGE", "MENU"].includes(item.type)) {
113
70
  menuDeepItem.splice(i, 1);
114
- } else if (Array.isArray(item?.children) && item?.children?.length) {
115
- // 给children注入keyUrlPath,keyIdPath
116
- item.children.forEach(childrenItem => {
71
+ } else if (Array.isArray(item == null ? void 0 : item.children) && ((_c = item == null ? void 0 : item.children) == null ? void 0 : _c.length)) {
72
+ item.children.forEach((childrenItem) => {
117
73
  childrenItem.keyUrlPath = [...item.keyUrlPath];
118
74
  childrenItem.keyIdPath = [...item.keyIdPath];
119
75
  });
@@ -124,19 +80,11 @@ export const transformMenu = (menuData, pathPrefix) => {
124
80
  menuDeep(data);
125
81
  return data;
126
82
  };
127
-
128
- /**
129
- * 转换菜单数据源评价keyUrlPath与keyIdPath
130
- * @param data 菜单数据源
131
- * @returns []
132
- */
133
- export const transformMenus = (data, pathPrefix) => {
134
- if (_isPlainObject(data)) {
135
- // @ts-ignore
136
- if (!Array.isArray(data?.menus)) {
83
+ const transformMenus = (data, pathPrefix) => {
84
+ if (isPlainObject(data)) {
85
+ if (!Array.isArray(data == null ? void 0 : data.menus)) {
137
86
  return [];
138
87
  }
139
- // @ts-ignore
140
88
  data.menus = transformMenu(data.menus, pathPrefix);
141
89
  return data;
142
90
  }
@@ -145,23 +93,15 @@ export const transformMenus = (data, pathPrefix) => {
145
93
  }
146
94
  return data;
147
95
  };
148
-
149
- /**
150
- * 获取URL中的search参数
151
- * @param name 参数key
152
- * @returns string
153
- */
154
- export function getUrlParams(name) {
155
- const {
156
- search
157
- } = window.location;
158
- const tmpArray = search.substr(1, search.length).split('&');
96
+ function getUrlParams(name) {
97
+ const { search } = window.location;
98
+ const tmpArray = search.substr(1, search.length).split("&");
159
99
  let paramsObj = {};
160
100
  if (tmpArray != null) {
161
101
  for (let i = 0; i < tmpArray.length; i++) {
162
- const reg = /[=|^==]/; // 用=进行拆分,但不包括==
163
- const set1 = tmpArray[i].replace(reg, '&');
164
- const tmpStr2 = set1.split('&');
102
+ const reg = /[=|^==]/;
103
+ const set1 = tmpArray[i].replace(reg, "&");
104
+ const tmpStr2 = set1.split("&");
165
105
  const array = {};
166
106
  array[tmpStr2[0]] = tmpStr2[1];
167
107
  paramsObj = {
@@ -170,79 +110,59 @@ export function getUrlParams(name) {
170
110
  };
171
111
  }
172
112
  }
173
- // 将参数进行返回
174
- return paramsObj[name] ? decodeURIComponent(paramsObj[name]) : '';
113
+ return paramsObj[name] ? decodeURIComponent(paramsObj[name]) : "";
175
114
  }
176
-
177
- /**
178
- * 通过URL获取对应keyIdPath
179
- * @param menus 菜单数据
180
- * @param pathName url地址
181
- * @param routerMatch 匹配模式id & url
182
- */
183
- export const getPathNameKey = ({
184
- menus,
185
- pathName
186
- }) => {
115
+ const getPathNameKey = ({ menus, pathName }) => {
187
116
  let result;
188
117
  let bestMatch = null;
189
- const menuDeep = menuDeepItem => {
118
+ const menuDeep = (menuDeepItem) => {
119
+ var _a, _b;
190
120
  if (!Array.isArray(menuDeepItem) || !menuDeepItem.length) {
191
121
  return;
192
122
  }
193
123
  for (let i = 0; i <= menuDeepItem.length - 1; i++) {
194
124
  const item = menuDeepItem[i];
195
-
196
- // 跳过无效的菜单项
197
125
  if (!Array.isArray(item.keyUrlPath) || !item.keyUrlPath.length) {
198
126
  continue;
199
127
  }
200
- const itemUrl = item?.url?.split('?')[0] || '';
201
- const itemRedirectUrl = item?.redirectUrl?.split('?')[0] || '';
202
-
203
- // 精确匹配:完全相等时直接返回
204
- if (item?.url === pathName || item?.redirectUrl === pathName) {
128
+ const itemUrl = ((_a = item == null ? void 0 : item.url) == null ? void 0 : _a.split("?")[0]) || "";
129
+ const itemRedirectUrl = ((_b = item == null ? void 0 : item.redirectUrl) == null ? void 0 : _b.split("?")[0]) || "";
130
+ if ((item == null ? void 0 : item.url) === pathName || (item == null ? void 0 : item.redirectUrl) === pathName) {
205
131
  result = item.keyIdPath;
206
132
  return;
207
133
  }
208
-
209
- // 如果有子菜单,递归查找
210
134
  const hasChildren = Array.isArray(item.children) && item.children.length;
211
135
  if (hasChildren) {
212
136
  menuDeep(item.children);
213
- // 如果递归后找到了精确匹配,直接返回
214
137
  if (result) {
215
138
  return;
216
139
  }
217
140
  continue;
218
141
  }
219
-
220
- // 叶子节点:使用最长匹配策略选择最精确的匹配
221
142
  bestMatch = updateBestMatch(pathName, itemUrl, itemRedirectUrl, item.keyIdPath, bestMatch);
222
143
  }
223
144
  };
224
145
  menuDeep(menus);
225
-
226
- // 如果没有精确匹配,使用最佳模糊匹配
227
- return result || bestMatch?.keyIdPath;
146
+ return result || (bestMatch == null ? void 0 : bestMatch.keyIdPath);
228
147
  };
229
-
230
- /**
231
- * 根据key查找完整的菜单项数据
232
- * @param menus 菜单数据数组
233
- * @param key 要查找的菜单项key
234
- * @returns 找到的菜单项数据或null
235
- */
236
- export const findMenuItemByKey = (menus, key) => {
237
- // eslint-disable-next-line no-restricted-syntax
148
+ const findMenuItemByKey = (menus, key) => {
238
149
  for (const item of menus) {
239
150
  if (String(item.id) === key) {
240
151
  return item;
241
152
  }
242
153
  if (Array.isArray(item.children) && item.children.length) {
243
154
  const found = findMenuItemByKey(item.children, key);
244
- if (found) return found;
155
+ if (found)
156
+ return found;
245
157
  }
246
158
  }
247
159
  return null;
248
- };
160
+ };
161
+ export {
162
+ findMenuItemByKey,
163
+ getIdsByPathName,
164
+ getPathNameKey,
165
+ getUrlParams,
166
+ transformMenu,
167
+ transformMenus
168
+ };
@@ -1,40 +1,41 @@
1
- import { Tooltip } from 'antd';
2
- import { useEffect, useState } from 'react';
3
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
- const AdaptiveTooltip = ({
5
- children
6
- }) => {
7
- const [placement, setPlacement] = useState('right');
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Tooltip } from "antd";
3
+ import { useEffect, useState } from "react";
4
+ const AdaptiveTooltip = ({ children }) => {
5
+ const [placement, setPlacement] = useState("right");
8
6
  useEffect(() => {
9
7
  const handleResize = () => {
10
- const tooltipElement = document.getElementById('adaptive-tooltip');
8
+ const tooltipElement = document.getElementById("adaptive-tooltip");
11
9
  if (tooltipElement) {
12
10
  const boundingRect = tooltipElement.getBoundingClientRect();
13
11
  const windowWidth = window.innerWidth;
14
12
  if (windowWidth - boundingRect.right < 150) {
15
- setPlacement('left');
13
+ setPlacement("left");
16
14
  } else {
17
- setPlacement('right');
15
+ setPlacement("right");
18
16
  }
19
17
  }
20
18
  };
21
- window.addEventListener('resize', handleResize);
19
+ window.addEventListener("resize", handleResize);
22
20
  handleResize();
23
21
  return () => {
24
- window.removeEventListener('resize', handleResize);
22
+ window.removeEventListener("resize", handleResize);
25
23
  };
26
24
  }, [children]);
27
- return /*#__PURE__*/_jsx(Tooltip, {
28
- placement: placement,
29
- title: /*#__PURE__*/_jsx("div", {
30
- onMouseDown: e => e.stopPropagation(),
31
- children: children
32
- }),
33
- id: "adaptive-tooltip",
34
- children: /*#__PURE__*/_jsxs("span", {
35
- className: "pro-select-ellipse",
36
- children: [" ", children]
37
- })
38
- });
25
+ return /* @__PURE__ */ jsx(
26
+ Tooltip,
27
+ {
28
+ placement,
29
+ title: /* @__PURE__ */ jsx("div", { onMouseDown: (e) => e.stopPropagation(), children }),
30
+ id: "adaptive-tooltip",
31
+ children: /* @__PURE__ */ jsxs("span", { className: "pro-select-ellipse", children: [
32
+ " ",
33
+ children
34
+ ] })
35
+ }
36
+ );
37
+ };
38
+ var AdaptiveTooltip_default = AdaptiveTooltip;
39
+ export {
40
+ AdaptiveTooltip_default as default
39
41
  };
40
- export default AdaptiveTooltip;