@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,38 +1,43 @@
1
- import _isEqual from "lodash/isEqual";
2
- /* eslint-disable prefer-const */
3
- // 导入语句
4
- import { message } from 'antd';
5
- import { useEffect, useState } from 'react';
6
- import { usePrevious, useUpdateEffect, useToggle } from 'ahooks';
7
- import { ReactSVG } from 'react-svg';
8
- import classnames from 'classnames';
9
- import { getKebabCase, setThemes, setTableBorder, getMapKebabCase, getMapHumpCase, getAntd5ThemeConfig, setThemeUpdatersGetter } from "./utils/index";
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { message } from "antd";
3
+ import { useEffect, useState } from "react";
4
+ import { usePrevious, useUpdateEffect, useToggle } from "ahooks";
5
+ import { ReactSVG } from "react-svg";
6
+ import isEqual from "lodash/isEqual";
7
+ import classnames from "classnames";
8
+ import {
9
+ getKebabCase,
10
+ setThemes,
11
+ setTableBorder,
12
+ getMapKebabCase,
13
+ getMapHumpCase,
14
+ getAntd5ThemeConfig,
15
+ setThemeUpdatersGetter
16
+ } from "./utils/index";
10
17
  import settingSvg from "../assets/setting.svg";
11
18
  import { ProTools } from "./component";
12
19
  import locale from "../locale";
13
20
  import { useTheme, getThemeUpdaters } from "./context/ThemeContext";
14
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
- const defaultCacheTime = 1; // 配置保存时间为一天
16
-
21
+ const defaultCacheTime = 1;
17
22
  const defaultThemeConfig = {
18
- zauiBrand: '#006AFF',
23
+ zauiBrand: "#006AFF",
19
24
  // 主题颜色
20
- zauiText: '#343434',
21
- zauiFontSize: '14px',
22
- zauiFormAlign: 'left',
25
+ zauiText: "#343434",
26
+ zauiFontSize: "14px",
27
+ zauiFormAlign: "left",
23
28
  // 表单左对齐
24
- zauiFormRequiredBefore: 'none',
29
+ zauiFormRequiredBefore: "none",
25
30
  // 前面*display
26
- zauiFormRequiredAfter: 'inline',
31
+ zauiFormRequiredAfter: "inline",
27
32
  // 后面*display
28
33
  zauiSize: 1,
29
34
  // 间距倍数
30
- zauiSpaceSizeLg: '32px',
35
+ zauiSpaceSizeLg: "32px",
31
36
  // 卡片行间距
32
- zauiSpaceSizeMd: '16px',
37
+ zauiSpaceSizeMd: "16px",
33
38
  // 控件行间距
34
39
  zauiBigText: false,
35
- zauiBaseFontSize: '0px',
40
+ zauiBaseFontSize: "0px",
36
41
  zauiTableBorder: false,
37
42
  zauiStripe: true
38
43
  };
@@ -40,235 +45,177 @@ const ProThemeTools = ({
40
45
  size = 24,
41
46
  className,
42
47
  cacheTime = false,
43
- color = '#343434',
44
- mode = 'prd',
48
+ color = "#343434",
49
+ mode = "prd",
45
50
  iconFollowTheme = false,
46
- prefixCls = 'ant',
51
+ prefixCls = "ant",
47
52
  tableBorder = false,
48
53
  tableStripe = false,
49
54
  theme = {},
50
55
  onChange,
51
56
  ...props
52
57
  }) => {
53
- // Props 和基础 Hooks
54
- const [visible, {
55
- toggle
56
- }] = useToggle(false);
57
- const {
58
- updateLocalConfig,
59
- updateAntdConfig,
60
- updateCssVariables
61
- } = useTheme();
62
-
63
- // 状态和 Refs
58
+ const [visible, { toggle }] = useToggle(false);
59
+ const { updateLocalConfig, updateAntdConfig, updateCssVariables } = useTheme();
64
60
  const [state, setState] = useState({
65
61
  ...defaultThemeConfig,
66
62
  ...getMapHumpCase(theme)
67
63
  });
68
64
  const previousState = usePrevious(state);
69
-
70
- // 配置和计算值
71
- const {
72
- zauiBrand,
73
- zauiStripe,
74
- zauiTableBorder
75
- } = state;
65
+ const { zauiBrand, zauiStripe, zauiTableBorder } = state;
76
66
  const cls = classnames({
77
- 'pro-theme-tools': true,
78
- 'pro-theme-tools-follow': iconFollowTheme,
67
+ "pro-theme-tools": true,
68
+ "pro-theme-tools-follow": iconFollowTheme,
79
69
  [className]: className
80
70
  });
81
-
82
- // 事件处理函数
83
71
  const onReset = () => {
84
72
  const resetConfig = {
85
73
  ...state,
86
74
  ...defaultThemeConfig
87
75
  };
88
76
  setState(resetConfig);
89
-
90
- // 更新 Context
91
77
  updateLocalConfig(resetConfig);
92
-
93
- // 更新 antd 主题
94
78
  const antdConfig = getAntd5ThemeConfig({
95
- 'zaui-brand': '#006AFF'
79
+ "zaui-brand": "#006AFF"
96
80
  });
97
81
  updateAntdConfig(antdConfig);
98
-
99
- // 设置 CSS 变量
100
82
  const cssVars = {
101
- 'zaui-brand': '#006AFF',
102
- 'zaui-text': '#343434',
103
- 'zaui-form-required-after': 'inline',
104
- 'zaui-form-required-before': 'none',
105
- 'zaui-size': 1,
106
- 'zaui-space-size-lg': '32px',
107
- 'zaui-font-size': '14px',
108
- 'zaui-space-size-md': '16px',
109
- 'zaui-base-font-size': 0,
110
- 'zaui-big-text': false,
111
- 'zaui-table-border': false,
112
- 'zaui-stripe': true
83
+ "zaui-brand": "#006AFF",
84
+ "zaui-text": "#343434",
85
+ "zaui-form-required-after": "inline",
86
+ "zaui-form-required-before": "none",
87
+ "zaui-size": 1,
88
+ "zaui-space-size-lg": "32px",
89
+ "zaui-font-size": "14px",
90
+ "zaui-space-size-md": "16px",
91
+ "zaui-base-font-size": 0,
92
+ "zaui-big-text": false,
93
+ "zaui-table-border": false,
94
+ "zaui-stripe": true
113
95
  };
114
96
  setThemes(cssVars);
115
97
  updateCssVariables(cssVars);
116
98
  };
117
99
  const onCopy = () => {
118
- const data = JSON.stringify(getMapKebabCase(state, '@'));
119
- const input = document.createElement('input');
100
+ const data = JSON.stringify(getMapKebabCase(state, "@"));
101
+ const input = document.createElement("input");
120
102
  document.body.appendChild(input);
121
- input.setAttribute('value', data);
103
+ input.setAttribute("value", data);
122
104
  input.select();
123
- if (document.execCommand('copy')) {
124
- document.execCommand('copy');
105
+ if (document.execCommand("copy")) {
106
+ document.execCommand("copy");
125
107
  message.success(`${locale.ProThemeTools.copySuccess}`);
126
108
  }
127
109
  document.body.removeChild(input);
128
110
  };
129
-
130
- // 所有 useEffect 集中放置
131
- // 注册全局更新函数,供 setThemes 静态方法使用
132
111
  useEffect(() => {
133
112
  setThemeUpdatersGetter(() => getThemeUpdaters());
134
113
  }, []);
135
-
136
- // 首次从缓存中读取主题配置
137
114
  useEffect(() => {
138
- // 检查 CSS 变量是否已被 setThemes 设置(优先级高于缓存)
139
- const existingZauiBrand = document.documentElement.style.getPropertyValue('--zaui-brand')?.trim();
140
- const themeConfig = localStorage.getItem('themeConfig');
115
+ var _a;
116
+ const existingZauiBrand = (_a = document.documentElement.style.getPropertyValue("--zaui-brand")) == null ? void 0 : _a.trim();
117
+ const themeConfig = localStorage.getItem("themeConfig");
141
118
  const curThemeConfig = themeConfig ? JSON.parse(themeConfig) : {};
142
- const startTime = curThemeConfig?.startTime;
143
- // 默认时间间隔
144
- const duration = (typeof cacheTime === 'number' ? cacheTime : defaultCacheTime) * 86400000;
145
- if (cacheTime && startTime && new Date().getTime() - startTime < duration) {
119
+ const startTime = curThemeConfig == null ? void 0 : curThemeConfig.startTime;
120
+ const duration = (typeof cacheTime === "number" ? cacheTime : defaultCacheTime) * 864e5;
121
+ if (cacheTime && startTime && (/* @__PURE__ */ new Date()).getTime() - startTime < duration) {
146
122
  let localThemeConfig;
147
123
  localThemeConfig = curThemeConfig.data;
148
-
149
- // 如果 CSS 变量已被 setThemes 设置,优先使用 CSS 变量的值
150
124
  if (existingZauiBrand && existingZauiBrand !== localThemeConfig.zauiBrand) {
151
125
  localThemeConfig.zauiBrand = existingZauiBrand;
152
126
  }
153
- const cssVariables = Object.fromEntries(Object.entries(localThemeConfig).map(item => [`${getKebabCase(item?.[0])}`, ['zauiSize'].includes(item?.[0]) || typeof item?.[1] !== 'number' ? item?.[1] : `${item?.[1]}px` // zauiSize取数字
154
- ]));
155
- setState({
156
- ...state,
157
- ...localThemeConfig
158
- });
127
+ const cssVariables = Object.fromEntries(
128
+ Object.entries(localThemeConfig).map((item) => [
129
+ `${getKebabCase(item == null ? void 0 : item[0])}`,
130
+ ["zauiSize"].includes(item == null ? void 0 : item[0]) || typeof (item == null ? void 0 : item[1]) !== "number" ? item == null ? void 0 : item[1] : `${item == null ? void 0 : item[1]}px`
131
+ // zauiSize取数字
132
+ ])
133
+ );
134
+ setState({ ...state, ...localThemeConfig });
159
135
  setThemes(cssVariables);
160
-
161
- // 更新 Context
162
136
  updateLocalConfig(localThemeConfig);
163
137
  updateCssVariables(cssVariables);
164
-
165
- // 更新 antd 主题
166
138
  const antdConfig = getAntd5ThemeConfig({
167
- 'zaui-brand': localThemeConfig?.zauiBrand
139
+ "zaui-brand": localThemeConfig == null ? void 0 : localThemeConfig.zauiBrand
168
140
  });
169
141
  updateAntdConfig(antdConfig);
170
142
  } else {
171
- // 如果 CSS 变量已被 setThemes 设置,优先使用 CSS 变量的值
172
- let finalZauiBrand = state?.zauiBrand;
173
- if (existingZauiBrand && existingZauiBrand !== state?.zauiBrand) {
143
+ let finalZauiBrand = state == null ? void 0 : state.zauiBrand;
144
+ if (existingZauiBrand && existingZauiBrand !== (state == null ? void 0 : state.zauiBrand)) {
174
145
  finalZauiBrand = existingZauiBrand;
175
146
  }
176
- const cssVars = getMapKebabCase({
177
- ...state,
178
- zauiBrand: finalZauiBrand
179
- });
147
+ const cssVars = getMapKebabCase({ ...state, zauiBrand: finalZauiBrand });
180
148
  setThemes(cssVars);
181
149
  updateCssVariables(cssVars);
182
-
183
- // 更新 antd 主题
184
150
  const antdConfig = getAntd5ThemeConfig({
185
- 'zaui-brand': finalZauiBrand
151
+ "zaui-brand": finalZauiBrand
186
152
  });
187
153
  updateAntdConfig(antdConfig);
188
154
  }
189
155
  }, []);
190
-
191
- // 主题色动态切换
192
156
  useEffect(() => {
193
157
  if (visible && zauiBrand) {
194
- // 更新 antd 主题
195
158
  const antdConfig = getAntd5ThemeConfig({
196
- 'zaui-brand': zauiBrand
159
+ "zaui-brand": zauiBrand
197
160
  });
198
161
  updateAntdConfig(antdConfig);
199
162
  }
200
163
  }, [zauiBrand, visible]);
201
-
202
- // 斑马纹设置
203
164
  useEffect(() => {
204
165
  const cssVar = {
205
- 'zaui-table-strip-bg': zauiStripe ? '#fafafa' : '#ffffff'
166
+ "zaui-table-strip-bg": zauiStripe ? "#fafafa" : "#ffffff"
206
167
  };
207
168
  setThemes(cssVar);
208
169
  updateCssVariables(cssVar);
209
170
  }, [zauiStripe]);
210
-
211
- // 表格边框设置
212
171
  useEffect(() => {
213
172
  setTableBorder(zauiTableBorder);
214
173
  }, [zauiTableBorder]);
215
-
216
- // 主题配置缓存
217
174
  useEffect(() => {
218
175
  if (cacheTime) {
219
176
  const newThemeConfig = {
220
- startTime: new Date().getTime(),
221
- data: {
222
- ...state
223
- }
177
+ startTime: (/* @__PURE__ */ new Date()).getTime(),
178
+ data: { ...state }
224
179
  };
225
- localStorage.setItem('themeConfig', JSON.stringify(newThemeConfig));
180
+ localStorage.setItem("themeConfig", JSON.stringify(newThemeConfig));
226
181
  }
227
182
  }, [state, cacheTime]);
228
-
229
- // 状态变化时同步到 Context
230
183
  useUpdateEffect(() => {
231
- if (!_isEqual(state, previousState) && visible) {
232
- // 更新本地配置
184
+ if (!isEqual(state, previousState) && visible) {
233
185
  updateLocalConfig(state);
234
-
235
- // 更新 CSS 变量
236
186
  const cssVars = getMapKebabCase(state);
237
187
  setThemes(cssVars);
238
188
  updateCssVariables(cssVars);
239
-
240
- // 更新 antd 主题
241
189
  const antdConfig = getAntd5ThemeConfig({
242
- 'zaui-brand': state.zauiBrand
190
+ "zaui-brand": state.zauiBrand
243
191
  });
244
192
  updateAntdConfig(antdConfig);
245
- onChange?.(state);
193
+ onChange == null ? void 0 : onChange(state);
246
194
  }
247
195
  }, [state]);
248
- return /*#__PURE__*/_jsxs("div", {
249
- ...props,
250
- children: [/*#__PURE__*/_jsx("div", {
251
- className: cls,
252
- onClick: toggle,
253
- children: /*#__PURE__*/_jsx(ReactSVG, {
254
- className: "setting-icon",
255
- src: settingSvg
256
- })
257
- }), /*#__PURE__*/_jsx(ProTools, {
258
- prefixCls: prefixCls,
259
- onReset: onReset,
260
- onClose: toggle,
261
- onCopy: onCopy,
262
- setState: setState,
263
- open: visible,
264
- state: state,
265
- tableBorder: tableBorder,
266
- tableStripe: tableStripe
267
- })]
268
- });
196
+ return /* @__PURE__ */ jsxs("div", { ...props, children: [
197
+ /* @__PURE__ */ jsx("div", { className: cls, onClick: toggle, children: /* @__PURE__ */ jsx(ReactSVG, { className: "setting-icon", src: settingSvg }) }),
198
+ /* @__PURE__ */ jsx(
199
+ ProTools,
200
+ {
201
+ prefixCls,
202
+ onReset,
203
+ onClose: toggle,
204
+ onCopy,
205
+ setState,
206
+ open: visible,
207
+ state,
208
+ tableBorder,
209
+ tableStripe
210
+ }
211
+ )
212
+ ] });
269
213
  };
270
214
  ProThemeTools.setThemes = setThemes;
271
- export default ProThemeTools;
272
-
273
- // 导出主题相关组件和类型
274
- export { ThemeProvider, useTheme } from "./context/ThemeContext";
215
+ var ProThemeTools_default = ProThemeTools;
216
+ import { ThemeProvider, useTheme as useTheme2 } from "./context/ThemeContext";
217
+ export {
218
+ ThemeProvider,
219
+ ProThemeTools_default as default,
220
+ useTheme2 as useTheme
221
+ };
@@ -1 +0,0 @@
1
- export {};
@@ -1,60 +1,36 @@
1
1
  import { getThemeUpdaters as getThemeUpdatersFromContext } from "../context/ThemeContext";
2
- // 动态导入 getThemeUpdaters,避免循环依赖
3
- // 保留向后兼容性,但优先使用 ThemeContext 中的 getThemeUpdaters
4
2
  let getThemeUpdaters = null;
5
-
6
- // 设置 getThemeUpdaters 函数(由 index.tsx 调用,用于向后兼容)
7
- export const setThemeUpdatersGetter = getter => {
3
+ const setThemeUpdatersGetter = (getter) => {
8
4
  getThemeUpdaters = getter;
9
5
  };
10
-
11
- // 保存待应用的主题配置(用于 ThemeProvider 初始化前设置的主题)
12
6
  let pendingThemes = null;
13
-
14
- // 获取待应用的主题配置
15
- export const getPendingThemes = () => {
7
+ const getPendingThemes = () => {
16
8
  return pendingThemes;
17
9
  };
18
-
19
- // 清除待应用的主题配置
20
- export const clearPendingThemes = () => {
10
+ const clearPendingThemes = () => {
21
11
  pendingThemes = null;
22
12
  };
23
-
24
- // 获取主题更新函数的统一入口
25
- // 优先使用 ThemeContext 中的 getThemeUpdaters,如果不可用则使用局部变量
26
13
  const getThemeUpdatersWrapper = () => {
27
14
  try {
28
- // 优先使用 ThemeContext 中的 getThemeUpdaters(不依赖 ProThemeTools 组件)
29
15
  const contextUpdaters = getThemeUpdatersFromContext();
30
16
  if (contextUpdaters && (contextUpdaters.updateAntdConfig || contextUpdaters.updateCssVariables || contextUpdaters.updateLocalConfig)) {
31
17
  return contextUpdaters;
32
18
  }
33
19
  } catch (e) {
34
- // ThemeContext 可能还未初始化,继续使用局部变量
35
20
  }
36
- // 回退到局部变量(向后兼容)
37
21
  return getThemeUpdaters ? getThemeUpdaters() : null;
38
22
  };
39
-
40
- /** antd5 主题配置 mapping */
41
23
  const antd5ConfigMapping = {
42
- 'zaui-brand': 'colorPrimary'
24
+ "zaui-brand": "colorPrimary"
43
25
  // 可以根据需要添加更多映射
44
26
  };
45
-
46
- /**
47
- * 将 kebab-case 的主题配置转换为 antd5 的 token 格式
48
- * @param themes kebab-case 格式的主题配置
49
- * @param themeMapping 自定义映射关系
50
- */
51
- export const convertToAntd5Tokens = (themes, themeMapping) => {
27
+ const convertToAntd5Tokens = (themes, themeMapping) => {
52
28
  const mapping = {
53
29
  ...antd5ConfigMapping,
54
30
  ...themeMapping
55
31
  };
56
32
  const tokens = {};
57
- Object.keys(themes).forEach(key => {
33
+ Object.keys(themes).forEach((key) => {
58
34
  const value = themes[key];
59
35
  const mappingKey = mapping[key];
60
36
  if (mappingKey) {
@@ -65,64 +41,49 @@ export const convertToAntd5Tokens = (themes, themeMapping) => {
65
41
  token: tokens
66
42
  };
67
43
  };
68
-
69
- /**
70
- * 设置主题变量 - antd5 兼容版本
71
- * 设置 CSS 变量,并同步更新 Context 的 antdConfig
72
- * @param themes 主题配置对象,会自动过滤掉 antdConfig
73
- */
74
- export const setThemes = themes => {
44
+ const setThemes = (themes) => {
75
45
  if (!themes || !Object.keys(themes).length) {
76
46
  return false;
77
47
  }
78
-
79
- // 过滤掉 antdConfig,它只用于 Ant Design ConfigProvider,不应作为 CSS 变量
80
- const filteredThemes = Object.entries(themes).filter(([key]) => key !== 'antdConfig');
48
+ const filteredThemes = Object.entries(themes).filter(([key]) => key !== "antdConfig");
81
49
  if (!filteredThemes.length) {
82
50
  return false;
83
51
  }
84
-
85
- // 设置 CSS 变量
86
52
  filteredThemes.forEach(([key, value]) => {
87
- // 确保值是字符串或数字,对象类型不应作为 CSS 变量
88
- if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
53
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
89
54
  const cssVarName = `--${key}`;
90
55
  const cssVarValue = String(value);
91
56
  document.documentElement.style.setProperty(cssVarName, cssVarValue);
92
57
  }
93
58
  });
94
-
95
- // 同步更新 Context(如果已注册)
96
- // 使用统一的获取函数,优先使用 ThemeContext 中的更新函数
97
59
  const updaters = getThemeUpdatersWrapper();
98
60
  if (updaters) {
99
- // 更新 CSS 变量到 Context
100
61
  if (updaters.updateCssVariables) {
101
- updaters.updateCssVariables(filteredThemes.reduce((acc, [key, value]) => {
102
- if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
103
- acc[key] = value;
104
- }
105
- return acc;
106
- }, {}));
62
+ updaters.updateCssVariables(
63
+ filteredThemes.reduce(
64
+ (acc, [key, value]) => {
65
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
66
+ acc[key] = value;
67
+ }
68
+ return acc;
69
+ },
70
+ {}
71
+ )
72
+ );
107
73
  }
108
-
109
- // 如果设置了 zaui-brand,同步更新 antdConfig
110
- const zauiBrand = themes['zaui-brand'];
111
- if (zauiBrand && typeof zauiBrand === 'string' && updaters.updateAntdConfig) {
74
+ const zauiBrand = themes["zaui-brand"];
75
+ if (zauiBrand && typeof zauiBrand === "string" && updaters.updateAntdConfig) {
112
76
  const antdConfig = convertToAntd5Tokens({
113
- 'zaui-brand': zauiBrand
77
+ "zaui-brand": zauiBrand
114
78
  });
115
79
  updaters.updateAntdConfig(antdConfig);
116
80
  }
117
-
118
- // 更新本地配置(将 kebab-case 转换为驼峰格式)
119
81
  if (updaters.updateLocalConfig) {
120
82
  const localConfig = {};
121
83
  filteredThemes.forEach(([key, value]) => {
122
- if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
123
- // 将 kebab-case 转换为驼峰格式
84
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
124
85
  const camelKey = key.replace(/-(\w)/g, (_, letter) => letter.toUpperCase());
125
- if (camelKey === 'zauiBrand') {
86
+ if (camelKey === "zauiBrand") {
126
87
  localConfig.zauiBrand = value;
127
88
  }
128
89
  }
@@ -131,56 +92,38 @@ export const setThemes = themes => {
131
92
  updaters.updateLocalConfig(localConfig);
132
93
  }
133
94
  }
134
- // 清除待应用的主题配置(因为已经应用了)
135
95
  pendingThemes = null;
136
96
  } else {
137
- // 如果更新函数不可用,保存主题配置,等待 ThemeProvider 初始化后应用
138
- pendingThemes = {
139
- ...themes
140
- };
97
+ pendingThemes = { ...themes };
141
98
  }
142
99
  return true;
143
100
  };
144
-
145
- /**
146
- * 获取 antd5 主题配置
147
- * @param themes kebab-case 格式的主题配置
148
- */
149
- export const getAntd5ThemeConfig = themes => {
101
+ const getAntd5ThemeConfig = (themes) => {
150
102
  return convertToAntd5Tokens(themes);
151
103
  };
152
-
153
- /** JS实现驼峰命名与横线命名的转换 */
154
- export const getKebabCase = str => {
155
- let temp = str.replace(/[A-Z]/g, i => {
104
+ const getKebabCase = (str) => {
105
+ let temp = str.replace(/[A-Z]/g, (i) => {
156
106
  return `-${i.toLowerCase()}`;
157
107
  });
158
- if (temp.slice(0, 1) === '-') {
159
- temp = temp.slice(1); // 如果首字母是大写,执行replace时会多一个-,需要去掉
108
+ if (temp.slice(0, 1) === "-") {
109
+ temp = temp.slice(1);
160
110
  }
161
111
  return temp;
162
112
  };
163
-
164
- /** JS实现对象驼峰命名与横线命名的转换 */
165
- export const getMapKebabCase = (obj, prefix = '') => {
166
- return Object.fromEntries(Object.entries(obj).map(item => [`${prefix}${getKebabCase(item?.[0])}`, item?.[1]]));
113
+ const getMapKebabCase = (obj, prefix = "") => {
114
+ return Object.fromEntries(
115
+ Object.entries(obj).map((item) => [`${prefix}${getKebabCase(item == null ? void 0 : item[0])}`, item == null ? void 0 : item[1]])
116
+ );
167
117
  };
168
-
169
- /** JS实现对象横线命名与驼峰命名的转换 */
170
- export const getMapHumpCase = (obj = {}) => {
118
+ const getMapHumpCase = (obj = {}) => {
171
119
  return Object.keys(obj).reduce((acc, key) => {
172
120
  const transformedKey = key.replace(/-(\w)/g, (_, letter) => letter.toUpperCase());
173
121
  acc[transformedKey] = obj[key];
174
122
  return acc;
175
123
  }, {});
176
124
  };
177
-
178
- /**
179
- * 设置表格斑马纹
180
- * @param stripe boolean
181
- */
182
- export const setTableNoStripe = (stripe, prefixCls = 'ant') => {
183
- const proTables = document.querySelectorAll('.pro-table');
125
+ const setTableNoStripe = (stripe, prefixCls = "ant") => {
126
+ const proTables = document.querySelectorAll(".pro-table");
184
127
  const antTables = document.querySelectorAll(`.${prefixCls}-table`);
185
128
  if (!proTables.length) {
186
129
  return;
@@ -188,27 +131,22 @@ export const setTableNoStripe = (stripe, prefixCls = 'ant') => {
188
131
  for (let i = 0; i < proTables.length; i++) {
189
132
  const proTable = proTables[i];
190
133
  if (stripe) {
191
- proTable.classList.remove('pro-table-no-stripe');
134
+ proTable.classList.remove("pro-table-no-stripe");
192
135
  } else {
193
- proTable.classList.add('pro-table-no-stripe');
136
+ proTable.classList.add("pro-table-no-stripe");
194
137
  }
195
138
  }
196
139
  for (let i = 0; i < antTables.length; i++) {
197
140
  const antTable = antTables[i];
198
141
  if (stripe) {
199
- antTable.classList.remove('pro-table-no-stripe');
142
+ antTable.classList.remove("pro-table-no-stripe");
200
143
  } else {
201
- antTable.classList.add('pro-table-no-stripe');
144
+ antTable.classList.add("pro-table-no-stripe");
202
145
  }
203
146
  }
204
147
  };
205
-
206
- /**
207
- * 设置表格边框
208
- * @param border boolean
209
- */
210
- export const setTableBorder = border => {
211
- const proTables = document.querySelectorAll('.pro-table');
148
+ const setTableBorder = (border) => {
149
+ const proTables = document.querySelectorAll(".pro-table");
212
150
  if (!proTables.length) {
213
151
  return;
214
152
  }
@@ -216,10 +154,23 @@ export const setTableBorder = border => {
216
154
  const proTable = proTables[i];
217
155
  if (proTable && proTable.classList) {
218
156
  if (border) {
219
- proTable.classList.add('pro-table-bordered');
157
+ proTable.classList.add("pro-table-bordered");
220
158
  } else {
221
- proTable.classList.remove('pro-table-bordered');
159
+ proTable.classList.remove("pro-table-bordered");
222
160
  }
223
161
  }
224
162
  }
225
- };
163
+ };
164
+ export {
165
+ clearPendingThemes,
166
+ convertToAntd5Tokens,
167
+ getAntd5ThemeConfig,
168
+ getKebabCase,
169
+ getMapHumpCase,
170
+ getMapKebabCase,
171
+ getPendingThemes,
172
+ setTableBorder,
173
+ setTableNoStripe,
174
+ setThemeUpdatersGetter,
175
+ setThemes
176
+ };