@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,36 +1,31 @@
1
- import _uniqBy from "lodash/uniqBy";
2
- import { useLocalStorageState } from 'ahooks';
3
- import { Button, Tooltip } from 'antd';
4
- import classNames from 'classnames';
5
- import { ReactSVG } from 'react-svg';
6
- import React, { useEffect, useRef } from 'react';
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useLocalStorageState } from "ahooks";
3
+ import { Button, Tooltip } from "antd";
4
+ import classNames from "classnames";
5
+ import uniqBy from "lodash/uniqBy";
6
+ import { ReactSVG } from "react-svg";
7
+ import React, { useEffect, useRef } from "react";
7
8
  import { useProConfig } from "../ProConfigProvider";
8
9
  import { iconMap } from "./config";
9
10
  import { onBeforeInjection } from "./utils";
10
11
  import locale from "../locale";
11
-
12
- // 提取主题色相关辅助函数
13
- import { jsx as _jsx } from "react/jsx-runtime";
14
- const extractThemeColor = target => {
15
- if (!target) return null;
16
- const styleAttr = Object.values(target.attributes ?? {})
17
- // @ts-ignore
18
- .find(item => item.nodeName === 'style');
19
- if (!styleAttr) return null;
20
-
21
- // @ts-ignore
22
- const match = styleAttr.value?.match(/--zaui-brand:(.*?);/);
23
- return match?.[1]?.trim() || null;
12
+ const extractThemeColor = (target) => {
13
+ var _a, _b;
14
+ if (!target)
15
+ return null;
16
+ const styleAttr = Object.values(target.attributes ?? {}).find((item) => item.nodeName === "style");
17
+ if (!styleAttr)
18
+ return null;
19
+ const match = (_a = styleAttr.value) == null ? void 0 : _a.match(/--zaui-brand:(.*?);/);
20
+ return ((_b = match == null ? void 0 : match[1]) == null ? void 0 : _b.trim()) || null;
24
21
  };
25
22
  const updateThemeColor = (newColor, dispatch, primaryColor) => {
26
- if (!newColor) return;
23
+ if (!newColor)
24
+ return;
27
25
  dispatch({
28
- type: 'set',
26
+ type: "set",
29
27
  payload: {
30
- theme: {
31
- primaryColor,
32
- qiankunPrimaryColor: newColor
33
- },
28
+ theme: { primaryColor, qiankunPrimaryColor: newColor },
34
29
  forms: {}
35
30
  }
36
31
  });
@@ -41,35 +36,30 @@ const getMainAppWindow = () => {
41
36
  }
42
37
  let currentWindow = window;
43
38
  while (currentWindow.parent !== currentWindow) {
44
- // @ts-ignore
45
39
  currentWindow = currentWindow.parent;
46
40
  }
47
41
  return currentWindow;
48
42
  };
49
43
  const handleMutation = (mutationsList, dispatch, primaryColor, qiankunPrimaryColor) => {
50
44
  const targetEntries = mutationsList[0];
51
- if (!targetEntries?.target) return;
45
+ if (!(targetEntries == null ? void 0 : targetEntries.target))
46
+ return;
52
47
  const newColor = extractThemeColor(targetEntries.target);
53
- if (!newColor || qiankunPrimaryColor === newColor) return;
48
+ if (!newColor || qiankunPrimaryColor === newColor)
49
+ return;
54
50
  updateThemeColor(newColor, dispatch, primaryColor);
55
51
  };
56
- const ProIcon = props => {
57
- const {
58
- state,
59
- dispatch
60
- } = useProConfig();
61
- const {
62
- ProIcon: config,
63
- theme: antdTheme
64
- } = state;
52
+ const ProIcon = (props) => {
53
+ const { state, dispatch } = useProConfig();
54
+ const { ProIcon: config, theme: antdTheme } = state;
65
55
  const _config = {
66
56
  ...config,
67
- ...(props ?? {})
57
+ ...props ?? {}
68
58
  };
69
59
  const {
70
60
  type = null,
71
61
  onClick,
72
- size = '1em',
62
+ size = "1em",
73
63
  color,
74
64
  className,
75
65
  style = {},
@@ -87,68 +77,46 @@ const ProIcon = props => {
87
77
  tooltip,
88
78
  ...reset
89
79
  } = _config;
90
-
91
- // 主题色 primaryColor 用于单应用或处于组件库文档内 qiankunPrimaryColor用于主子应用
92
- const {
93
- primaryColor = '#006AFF',
94
- qiankunPrimaryColor = '#006AFF'
95
- } = antdTheme ?? {};
96
-
97
- // 本地存储初始化主题
98
- const [themeConfig] = useLocalStorageState('themeConfig');
99
-
100
- // 文档内部就不用判断window.top !== window.self了
101
- const isQiankun =
102
- // @ts-ignore
103
- window?.__POWERED_BY_QIANKUN__ || window?.isMicroApp;
104
-
105
- // 语言
106
- const {
107
- language
108
- } = locale.ProIcon;
80
+ const { primaryColor = "#006AFF", qiankunPrimaryColor = "#006AFF" } = antdTheme ?? {};
81
+ const [themeConfig] = useLocalStorageState("themeConfig");
82
+ const isQiankun = (
83
+ // @ts-ignore
84
+ (window == null ? void 0 : window.__POWERED_BY_QIANKUN__) || (window == null ? void 0 : window.isMicroApp)
85
+ );
86
+ const { language } = locale.ProIcon;
109
87
  const rotateStyle = rotate ? {
110
88
  msTransform: `rotate(${rotate}deg)`,
111
89
  transform: `rotate(${rotate}deg)`
112
- } : undefined;
90
+ } : void 0;
113
91
  const proIconClassNames = classNames(className, {
114
- 'pro-icon': !disabled,
115
- 'pro-icon-spin': !!spin,
116
- 'pro-icon-with-theme': theme
92
+ "pro-icon": !disabled,
93
+ "pro-icon-spin": !!spin,
94
+ "pro-icon-with-theme": theme
117
95
  });
118
-
119
- // 特殊情况,如果指定了type,并且没有接收到组件内的mode,那模式就是icon
120
- let _mode = mode || 'icon';
96
+ let _mode = mode || "icon";
121
97
  if (type && !props.mode) {
122
- _mode = 'icon';
98
+ _mode = "icon";
123
99
  }
124
- const isIconMode = _mode === 'icon';
125
-
126
- // 观察者实例(主题色同步用)
100
+ const isIconMode = _mode === "icon";
127
101
  const observerRef = useRef(null);
128
- const targetTextFill = `text-${language}`; // text-cn text-en
129
- const mergedMapList = _uniqBy(mapList.concat(iconMap), targetTextFill);
102
+ const targetTextFill = `text-${language}`;
103
+ const mergedMapList = uniqBy(mapList.concat(iconMap), targetTextFill);
130
104
  let _type = type;
131
105
  let _text = children;
132
- // svg 图标对应文本
133
- let iconText = tooltip || '';
134
-
135
- // 文本和类型映射处理函数
136
- const resolveIconMapping = (isIconMode, type, text, mergedMapList, targetTextFill) => {
137
- if (isIconMode && !type && text) {
138
- const target = mergedMapList.find(item => item['text-cn'] === text || item['text-en'] === text);
106
+ let iconText = tooltip || "";
107
+ const resolveIconMapping = (isIconMode2, type2, text, mergedMapList2, targetTextFill2) => {
108
+ if (isIconMode2 && !type2 && text) {
109
+ const target = mergedMapList2.find(
110
+ (item) => item["text-cn"] === text || item["text-en"] === text
111
+ );
139
112
  if (target) {
140
- return {
141
- type: target.type,
142
- text: target[targetTextFill]
143
- };
113
+ return { type: target.type, text: target[targetTextFill2] };
144
114
  }
145
115
  }
146
- if (!isIconMode && type && /[a-zA-Z]/.test(type)) {
147
- const target = mergedMapList.find(item => item.type === type);
116
+ if (!isIconMode2 && type2 && /[a-zA-Z]/.test(type2)) {
117
+ const target = mergedMapList2.find((item) => item.type === type2);
148
118
  if (target) {
149
- return {
150
- text: target[targetTextFill]
151
- };
119
+ return { text: target[targetTextFill2] };
152
120
  }
153
121
  }
154
122
  return null;
@@ -157,142 +125,103 @@ const ProIcon = props => {
157
125
  if (mappingResult) {
158
126
  if (mappingResult.type) {
159
127
  _type = mappingResult.type;
160
- iconText = mappingResult.text || '';
128
+ iconText = mappingResult.text || "";
161
129
  } else if (mappingResult.text) {
162
130
  _text = mappingResult.text;
163
131
  }
164
132
  }
165
-
166
- // disabled 时,icon 模式下拦截 onClick,仅保留视觉降级
167
- const effectiveOnClick = disabled ? undefined : onClick;
133
+ const effectiveOnClick = disabled ? void 0 : onClick;
168
134
  const svgProps = {
169
135
  className: proIconClassNames,
170
- fill: 'currentColor',
171
- style: {
172
- width: size,
173
- height: size,
174
- ...rotateStyle,
175
- ...style
176
- }
136
+ fill: "currentColor",
137
+ style: { width: size, height: size, ...rotateStyle, ...style }
177
138
  };
178
-
179
- // 应用颜色到 SVG 路径元素
180
- const applyColorToPaths = (svg, color) => {
181
- const paths = svg.querySelectorAll('path, circle, rect, polygon, ellipse');
182
- paths.forEach(path => {
183
- const currentFill = path.getAttribute('fill');
184
- if (!currentFill || currentFill === 'currentColor') {
185
- path.setAttribute('fill', color);
139
+ const applyColorToPaths = (svg, color2) => {
140
+ const paths = svg.querySelectorAll("path, circle, rect, polygon, ellipse");
141
+ paths.forEach((path) => {
142
+ const currentFill = path.getAttribute("fill");
143
+ if (!currentFill || currentFill === "currentColor") {
144
+ path.setAttribute("fill", color2);
186
145
  }
187
146
  });
188
147
  };
189
-
190
- // 应用颜色到 SVG
191
- const applyColorToSvg = (svg, color, isComponentString = false) => {
192
- if (!color) {
193
- svg.style.color = 'currentColor';
148
+ const applyColorToSvg = (svg, color2, isComponentString = false) => {
149
+ if (!color2) {
150
+ svg.style.color = "currentColor";
194
151
  return;
195
152
  }
196
- svg.setAttribute('fill', color);
197
- svg.style.color = color;
198
-
199
- // 组件字符串类型需要遍历所有路径元素设置 fill
153
+ svg.setAttribute("fill", color2);
154
+ svg.style.color = color2;
200
155
  if (isComponentString) {
201
- applyColorToPaths(svg, color);
156
+ applyColorToPaths(svg, color2);
202
157
  }
203
158
  };
204
-
205
- // 创建 SVG beforeInjection 处理函数
206
- const createSvgBeforeInjection = (isComponentString = false) => svg => {
207
- // 设置 SVG 的宽高和属性
208
- svg.setAttribute('width', String(size));
209
- svg.setAttribute('height', String(size));
210
- svg.setAttribute('aria-hidden', 'true');
211
-
212
- // 应用旋转
159
+ const createSvgBeforeInjection = (isComponentString = false) => (svg) => {
160
+ svg.setAttribute("width", String(size));
161
+ svg.setAttribute("height", String(size));
162
+ svg.setAttribute("aria-hidden", "true");
213
163
  if (rotate) {
214
- const transform = svg.getAttribute('transform') || '';
215
- svg.setAttribute('transform', `${transform} rotate(${rotate})`);
164
+ const transform = svg.getAttribute("transform") || "";
165
+ svg.setAttribute("transform", `${transform} rotate(${rotate})`);
216
166
  svg.style.transform = `rotate(${rotate}deg)`;
217
167
  }
218
-
219
- // 应用颜色
220
168
  applyColorToSvg(svg, color, isComponentString);
221
-
222
- // 应用自定义样式
223
169
  if (style) {
224
- Object.keys(style).forEach(key => {
170
+ Object.keys(style).forEach((key) => {
225
171
  svg.style[key] = style[key];
226
172
  });
227
173
  }
228
-
229
- // 应用 actionMap 的主题配置
230
174
  onBeforeInjection({
231
175
  svg,
232
176
  actionMap,
233
177
  primaryColor: isQiankun ? qiankunPrimaryColor : primaryColor
234
178
  });
235
179
  };
236
-
237
- // 渲染自定义组件 icon
238
- // 注意:icon 本身不绑定 onClick,点击由外层容器(span 或 Button)统一处理,避免重复触发
239
- const renderComponentIcon = (component, svgProps, color) => {
180
+ const renderComponentIcon = (component2, svgProps2, color2) => {
240
181
  const componentProps = {
241
- ...svgProps,
242
- style: {
243
- color,
244
- ...svgProps?.style
245
- },
246
- 'aria-hidden': 'true'
182
+ ...svgProps2,
183
+ style: { color: color2, ...svgProps2 == null ? void 0 : svgProps2.style },
184
+ "aria-hidden": "true"
247
185
  };
248
- return /*#__PURE__*/React.isValidElement(component) ? /*#__PURE__*/React.cloneElement(component, componentProps) : /*#__PURE__*/React.createElement(component, componentProps);
186
+ return React.isValidElement(component2) ? React.cloneElement(component2, componentProps) : React.createElement(component2, componentProps);
249
187
  };
250
-
251
- // 渲染 icon 的优先级:component > src > type
252
- // 所有分支都不绑定 onClick,交由外层容器处理,避免 svg + span 双重触发
253
188
  const renderIcon = () => {
254
- // component 字符串类型:当作 SVG 文件路径处理
255
- if (component && typeof component === 'string') {
256
- return /*#__PURE__*/_jsx(ReactSVG, {
257
- className: proIconClassNames,
258
- src: component,
259
- beforeInjection: createSvgBeforeInjection(true)
260
- });
189
+ if (component && typeof component === "string") {
190
+ return /* @__PURE__ */ jsx(
191
+ ReactSVG,
192
+ {
193
+ className: proIconClassNames,
194
+ src: component,
195
+ beforeInjection: createSvgBeforeInjection(true)
196
+ }
197
+ );
261
198
  }
262
-
263
- // component 组件类型或实例(排除字符串类型)
264
- if (component && typeof component !== 'string') {
265
- return renderComponentIcon(component, svgProps, color);
199
+ if (component && typeof component !== "string") {
200
+ return renderComponentIcon(
201
+ component,
202
+ svgProps,
203
+ color
204
+ );
266
205
  }
267
-
268
- // src 类型:使用 ReactSVG 加载外部 SVG
269
206
  if (src) {
270
- return /*#__PURE__*/_jsx(ReactSVG, {
271
- ...svgProps,
272
- "aria-hidden": "true",
273
- src: src,
274
- beforeInjection: createSvgBeforeInjection()
275
- });
207
+ return /* @__PURE__ */ jsx(
208
+ ReactSVG,
209
+ {
210
+ ...svgProps,
211
+ "aria-hidden": "true",
212
+ src,
213
+ beforeInjection: createSvgBeforeInjection()
214
+ }
215
+ );
276
216
  }
277
-
278
- // symbol icon
279
- return /*#__PURE__*/_jsx("svg", {
280
- ...svgProps,
281
- style: {
282
- color,
283
- ...svgProps?.style
284
- },
285
- "aria-hidden": "true",
286
- children: /*#__PURE__*/_jsx("use", {
287
- xlinkHref: `#icon-${_type}`
288
- })
289
- });
217
+ return /* @__PURE__ */ jsx("svg", { ...svgProps, style: { color, ...svgProps == null ? void 0 : svgProps.style }, "aria-hidden": "true", children: /* @__PURE__ */ jsx("use", { xlinkHref: `#icon-${_type}` }) });
290
218
  };
291
219
  const icon = renderIcon();
292
220
  useEffect(() => {
293
- // 处于主子应用情况下才会执行下方逻辑,主题色的变更以主框架的为准
294
- if (!actionMap || !isQiankun) return;
295
- const observer = new MutationObserver(mutationsList => {
221
+ var _a;
222
+ if (!actionMap || !isQiankun)
223
+ return;
224
+ const observer = new MutationObserver((mutationsList) => {
296
225
  handleMutation(mutationsList, dispatch, primaryColor, qiankunPrimaryColor);
297
226
  });
298
227
  observerRef.current = observer;
@@ -300,11 +229,9 @@ const ProIcon = props => {
300
229
  const zaAccessibilityTarget = mainWindow.document.documentElement;
301
230
  observer.observe(zaAccessibilityTarget, {
302
231
  attributes: true,
303
- attributeFilter: ['style']
232
+ attributeFilter: ["style"]
304
233
  });
305
-
306
- // 未变更时及初始化时
307
- const extendFromMainColor = themeConfig?.data?.zauiBrand;
234
+ const extendFromMainColor = (_a = themeConfig == null ? void 0 : themeConfig.data) == null ? void 0 : _a.zauiBrand;
308
235
  if (extendFromMainColor && qiankunPrimaryColor !== extendFromMainColor) {
309
236
  updateThemeColor(extendFromMainColor, dispatch, primaryColor);
310
237
  }
@@ -313,43 +240,42 @@ const ProIcon = props => {
313
240
  observerRef.current = null;
314
241
  };
315
242
  }, []);
316
-
317
- // mode=button:唯一走 Button 的分支
318
243
  if (!isIconMode) {
319
- return /*#__PURE__*/_jsx(Tooltip, {
320
- title: tooltip,
321
- children: /*#__PURE__*/_jsx(Button, {
322
- type: buttonProps?.type || 'link',
244
+ return /* @__PURE__ */ jsx(Tooltip, { title: tooltip, children: /* @__PURE__ */ jsx(
245
+ Button,
246
+ {
247
+ type: (buttonProps == null ? void 0 : buttonProps.type) || "link",
323
248
  className: proIconClassNames,
324
- disabled: disabled,
249
+ disabled,
325
250
  icon: null,
326
251
  onClick: effectiveOnClick,
327
252
  ...reset,
328
253
  ...buttonProps,
329
254
  children: _text
330
- })
331
- });
255
+ }
256
+ ) });
332
257
  }
333
-
334
- // mode=icon(默认):不套 Button
335
- const wrapperClassName = classNames('anticon', proIconClassNames, {
336
- 'pro-icon-disabled': disabled
258
+ const wrapperClassName = classNames("anticon", proIconClassNames, {
259
+ "pro-icon-disabled": disabled
337
260
  });
338
- return /*#__PURE__*/_jsx(Tooltip, {
339
- title: tooltip || iconText,
340
- children: /*#__PURE__*/_jsx("span", {
261
+ return /* @__PURE__ */ jsx(Tooltip, { title: tooltip || iconText, children: /* @__PURE__ */ jsx(
262
+ "span",
263
+ {
341
264
  className: wrapperClassName,
342
265
  style: {
343
- display: 'inline-flex',
344
- alignItems: 'center',
345
- justifyContent: 'center',
266
+ display: "inline-flex",
267
+ alignItems: "center",
268
+ justifyContent: "center",
346
269
  width: size,
347
270
  height: size
348
271
  },
349
272
  onClick: effectiveOnClick,
350
273
  ...reset,
351
274
  children: icon
352
- })
353
- });
275
+ }
276
+ ) });
277
+ };
278
+ var ProIcon_default = ProIcon;
279
+ export {
280
+ ProIcon_default as default
354
281
  };
355
- export default ProIcon;
@@ -1 +0,0 @@
1
- export {};
@@ -1,15 +1,13 @@
1
1
  import { themeMap, themeFillMap } from "../config";
2
- export const recurseGetNodes = (type, node, queue) => {
2
+ const recurseGetNodes = (type, node, queue) => {
3
3
  switch (type) {
4
- // 渐变
5
- case 'gradation':
6
- if (node.nodeName === 'stop' && node.getAttribute('stop-color')) {
4
+ case "gradation":
5
+ if (node.nodeName === "stop" && node.getAttribute("stop-color")) {
7
6
  queue.push(node);
8
7
  }
9
8
  break;
10
- // 填充
11
- case 'fill':
12
- if (node.getAttribute && node.getAttribute('fill')) {
9
+ case "fill":
10
+ if (node.getAttribute && node.getAttribute("fill")) {
13
11
  queue.push(node);
14
12
  }
15
13
  break;
@@ -22,67 +20,54 @@ export const recurseGetNodes = (type, node, queue) => {
22
20
  }
23
21
  }
24
22
  };
25
- export const onBeforeInjection = ({
26
- svg,
27
- actionMap,
28
- primaryColor
29
- }) => {
23
+ const onBeforeInjection = ({ svg, actionMap, primaryColor }) => {
30
24
  if (actionMap && svg) {
31
- // 项目内置的四种主题匹配渐变色
32
25
  const mergeThemeMap = {
33
26
  ...themeMap,
34
- ...(actionMap.themeMap ?? {})
27
+ ...actionMap.themeMap ?? {}
35
28
  };
36
- // 项目内置的四种双色匹配fill
37
29
  const mergeFillThemeMap = {
38
30
  ...themeFillMap,
39
- ...(actionMap.themeFillMap ?? {})
31
+ ...actionMap.themeFillMap ?? {}
40
32
  };
41
33
  const _gradList = mergeThemeMap[primaryColor];
42
34
  const _fillList = mergeFillThemeMap[primaryColor];
43
- // 渐变操作序列
44
- const gradList = actionMap?.gradation ?? _gradList;
45
- // 填充操作序列
46
- const fillList = actionMap?.fill ?? _fillList;
47
- // 节点收集
35
+ const gradList = (actionMap == null ? void 0 : actionMap.gradation) ?? _gradList;
36
+ const fillList = (actionMap == null ? void 0 : actionMap.fill) ?? _fillList;
48
37
  const nodeMap = {
49
38
  // 渐变色节点收集
50
39
  gradation: [],
51
40
  // 具有fill属性的节点收集
52
41
  fill: []
53
42
  };
54
- // 目前只支持处理渐变及fill填充
55
43
  const types = Reflect.ownKeys(nodeMap ?? {});
56
- types.forEach(typeKey => {
44
+ types.forEach((typeKey) => {
57
45
  recurseGetNodes(typeKey, svg, nodeMap[typeKey]);
58
46
  });
59
- if (gradList?.length > 0) {
47
+ if ((gradList == null ? void 0 : gradList.length) > 0) {
60
48
  nodeMap.gradation.forEach((item, index) => {
61
- // 下一步准备替换的
62
49
  const nextStr = gradList[index];
63
- // 属性原本的值
64
- const originStr = item.getAttribute('stop-color');
50
+ const originStr = item.getAttribute("stop-color");
65
51
  if (nextStr && originStr !== nextStr) {
66
- item.setAttribute('stop-color', nextStr);
52
+ item.setAttribute("stop-color", nextStr);
67
53
  }
68
54
  });
69
55
  }
70
- if (fillList?.length > 0) {
56
+ if ((fillList == null ? void 0 : fillList.length) > 0) {
71
57
  nodeMap.fill.forEach((item, index) => {
72
- // 默认接收的
73
58
  const receiveStr = fillList[index];
74
- // 下一步准备替换的
75
- const nextFillStr = receiveStr === 'theme' ? primaryColor : receiveStr;
76
- // 属性原本的值
77
- const originFill = item.getAttribute('fill');
78
- // 如果包含url(则是内链,不作替换处理
79
- if (!(originFill && originFill.includes('url(')) && nextFillStr) {
80
- // 不同才替换
59
+ const nextFillStr = receiveStr === "theme" ? primaryColor : receiveStr;
60
+ const originFill = item.getAttribute("fill");
61
+ if (!(originFill && originFill.includes("url(")) && nextFillStr) {
81
62
  if (originFill !== nextFillStr) {
82
- item.setAttribute('fill', nextFillStr);
63
+ item.setAttribute("fill", nextFillStr);
83
64
  }
84
65
  }
85
66
  });
86
67
  }
87
68
  }
88
- };
69
+ };
70
+ export {
71
+ onBeforeInjection,
72
+ recurseGetNodes
73
+ };