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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. package/es/FormsProvider/index.js +14 -21
  2. package/es/ProAction/components/CheckModalContent/index.js +12 -26
  3. package/es/ProAction/index.js +79 -83
  4. package/es/ProAction/propsType.js +0 -1
  5. package/es/ProConfigProvider/index.js +63 -110
  6. package/es/ProConfigProvider/propsType.js +0 -1
  7. package/es/ProDownload/index.js +55 -65
  8. package/es/ProDownload/propsType.js +0 -1
  9. package/es/ProDownload/utils.js +61 -95
  10. package/es/ProDrawerForm/components/ProDrawer/index.js +83 -113
  11. package/es/ProDrawerForm/components/ProModal/index.js +77 -108
  12. package/es/ProDrawerForm/components/index.js +6 -2
  13. package/es/ProDrawerForm/hooks/useConfirmClose.js +20 -39
  14. package/es/ProDrawerForm/index.js +29 -38
  15. package/es/ProDrawerForm/propsType.js +0 -1
  16. package/es/ProDrawerForm/utils/index.js +18 -36
  17. package/es/ProEditLabel/components/RenderProForm.js +45 -49
  18. package/es/ProEditLabel/index.js +126 -163
  19. package/es/ProEditLabel/propsType.js +0 -1
  20. package/es/ProEditLabel/utils/index.js +5 -8
  21. package/es/ProEditTable/components/ActionButton/index.js +111 -119
  22. package/es/ProEditTable/components/RcTable/BaseTable.js +38 -51
  23. package/es/ProEditTable/components/RcTable/DraggableTable.js +97 -129
  24. package/es/ProEditTable/components/RcTable/index.js +6 -4
  25. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +77 -95
  26. package/es/ProEditTable/components/RenderField/index.js +490 -587
  27. package/es/ProEditTable/components/RenderField/propsType.js +0 -1
  28. package/es/ProEditTable/components/RenderField/tools.js +115 -112
  29. package/es/ProEditTable/components/RenderToolbar/index.js +47 -73
  30. package/es/ProEditTable/components/Summary/index.js +38 -64
  31. package/es/ProEditTable/components/Validator/index.js +46 -46
  32. package/es/ProEditTable/components/index.js +12 -5
  33. package/es/ProEditTable/index.js +456 -378
  34. package/es/ProEditTable/propsType.js +0 -1
  35. package/es/ProEditTable/utils/config.js +60 -122
  36. package/es/ProEditTable/utils/diffOriginal.js +45 -82
  37. package/es/ProEditTable/utils/getDefaultProps.js +19 -24
  38. package/es/ProEditTable/utils/index.js +150 -236
  39. package/es/ProEditTable/utils/tools.js +149 -286
  40. package/es/ProEditTable/utils/transform.js +25 -30
  41. package/es/ProEditTable/utils/useEditTableError.js +30 -43
  42. package/es/ProEditTable/utils/useShouldUpdateForTable.js +42 -72
  43. package/es/ProEditTable/utils/validateAll.js +87 -154
  44. package/es/ProEnum/components/Group.js +38 -30
  45. package/es/ProEnum/components/Tag.js +22 -26
  46. package/es/ProEnum/hooks/useEnum.js +48 -116
  47. package/es/ProEnum/hooks/useEnumRequest.js +128 -179
  48. package/es/ProEnum/hooks/useFrequentEnumRequest.js +40 -48
  49. package/es/ProEnum/index.js +162 -172
  50. package/es/ProEnum/propsType.js +0 -1
  51. package/es/ProEnum/utils/eventCenter.js +10 -12
  52. package/es/ProEnum/utils/frequentEnum.js +35 -92
  53. package/es/ProEnum/utils/getEnum.js +32 -90
  54. package/es/ProEnum/utils/getEnumLabel.js +44 -49
  55. package/es/ProEnum/utils/index.js +93 -207
  56. package/es/ProForm/components/Container.js +13 -28
  57. package/es/ProForm/components/FormFooter/index.js +36 -44
  58. package/es/ProForm/components/FormFooter/propsType.js +0 -1
  59. package/es/ProForm/components/base/Checkbox/index.js +32 -59
  60. package/es/ProForm/components/base/DatePicker/index.js +49 -71
  61. package/es/ProForm/components/base/Input/index.js +63 -97
  62. package/es/ProForm/components/base/Input/propsType.js +0 -1
  63. package/es/ProForm/components/base/InputNumber/index.js +118 -172
  64. package/es/ProForm/components/base/Radio/index.js +39 -52
  65. package/es/ProForm/components/base/RangePicker/index.js +109 -127
  66. package/es/ProForm/components/base/RangePicker/useDateRange.js +20 -17
  67. package/es/ProForm/components/base/Select/index.js +63 -89
  68. package/es/ProForm/components/base/Switch/index.js +27 -35
  69. package/es/ProForm/components/base/SwitchCheckbox/index.js +36 -54
  70. package/es/ProForm/components/base/TextArea/index.js +30 -41
  71. package/es/ProForm/components/base/TimePicker/index.js +27 -37
  72. package/es/ProForm/components/combination/Container/index.js +37 -47
  73. package/es/ProForm/components/combination/Container/propsType.js +0 -1
  74. package/es/ProForm/components/combination/FormList/components/ActionButton.js +165 -237
  75. package/es/ProForm/components/combination/FormList/components/BlockFields.js +98 -103
  76. package/es/ProForm/components/combination/FormList/components/Empty.js +27 -54
  77. package/es/ProForm/components/combination/FormList/components/LineFields.js +57 -54
  78. package/es/ProForm/components/combination/FormList/components/ToolbarButton.js +61 -109
  79. package/es/ProForm/components/combination/FormList/index.js +151 -161
  80. package/es/ProForm/components/combination/FormList/propsType.js +0 -1
  81. package/es/ProForm/components/combination/FormList/utils.js +22 -38
  82. package/es/ProForm/components/combination/Group/component/AddonWrapper/index.js +12 -28
  83. package/es/ProForm/components/combination/Group/component/ComRender.js +50 -111
  84. package/es/ProForm/components/combination/Group/component/FlexibleGroup.js +105 -206
  85. package/es/ProForm/components/combination/Group/hooks/index.js +68 -128
  86. package/es/ProForm/components/combination/Group/index.js +87 -126
  87. package/es/ProForm/components/combination/Group/propsType.js +0 -1
  88. package/es/ProForm/components/combination/Group/utils/index.js +124 -239
  89. package/es/ProForm/components/combination/ProCascader/index.js +156 -199
  90. package/es/ProForm/components/combination/ProCascader/propsType.js +0 -1
  91. package/es/ProForm/components/combination/ProCascader/utils/index.js +12 -21
  92. package/es/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +63 -75
  93. package/es/ProForm/components/combination/ProModalSelect/index.js +290 -348
  94. package/es/ProForm/components/combination/ProModalSelect/propsType.js +0 -1
  95. package/es/ProForm/components/combination/ProModalSelect/utils/index.js +32 -39
  96. package/es/ProForm/components/combination/ProNumberRange/index.js +100 -156
  97. package/es/ProForm/components/combination/ProNumberRange/propsType.js +0 -1
  98. package/es/ProForm/components/combination/ProRangeLimit/index.js +104 -115
  99. package/es/ProForm/components/combination/ProRangeLimit/propsType.js +0 -1
  100. package/es/ProForm/components/combination/ProTimeLimit/hooks/useControlled.js +16 -16
  101. package/es/ProForm/components/combination/ProTimeLimit/index.js +75 -109
  102. package/es/ProForm/components/index.js +56 -34
  103. package/es/ProForm/components/render/ChangedWrapper.js +85 -94
  104. package/es/ProForm/components/render/ConfirmWrapper.js +27 -39
  105. package/es/ProForm/components/render/CustomComponentViewWrapper.js +65 -82
  106. package/es/ProForm/components/render/Render.js +223 -329
  107. package/es/ProForm/components/render/RenderFields.js +76 -113
  108. package/es/ProForm/components/render/propsType.js +0 -1
  109. package/es/ProForm/hooks/useControlled.js +8 -10
  110. package/es/ProForm/hooks/useDeepCompareMemo.js +11 -11
  111. package/es/ProForm/hooks/useFieldProps.js +8 -4
  112. package/es/ProForm/hooks/useForm.js +50 -110
  113. package/es/ProForm/hooks/useRules.js +17 -33
  114. package/es/ProForm/hooks/useShouldUpdate.js +77 -152
  115. package/es/ProForm/hooks/useWatch.js +58 -129
  116. package/es/ProForm/index.js +157 -194
  117. package/es/ProForm/propsType.js +15 -7
  118. package/es/ProForm/utils/buildFormItemProps.js +51 -58
  119. package/es/ProForm/utils/diffOriginal.js +43 -73
  120. package/es/ProForm/utils/getDefaultProps.js +18 -24
  121. package/es/ProForm/utils/index.js +159 -234
  122. package/es/ProForm/utils/processDependencies.js +21 -60
  123. package/es/ProForm/utils/reactiveValues.js +20 -34
  124. package/es/ProForm/utils/rulesCreator.js +42 -40
  125. package/es/ProForm/utils/transformNames.js +10 -13
  126. package/es/ProForm/utils/transformValue.js +16 -29
  127. package/es/ProForm/utils/valueType.js +96 -178
  128. package/es/ProIcon/config/index.js +340 -274
  129. package/es/ProIcon/index.js +135 -209
  130. package/es/ProIcon/propsTypes.js +0 -1
  131. package/es/ProIcon/utils/index.js +24 -39
  132. package/es/ProLayout/components/Layout/Header/index.js +108 -141
  133. package/es/ProLayout/components/Layout/Menu/FoldMenu/index.js +134 -190
  134. package/es/ProLayout/components/Layout/Menu/OpenMenu/index.js +111 -137
  135. package/es/ProLayout/components/Layout/Menu/OpenMenu/propsType.js +0 -1
  136. package/es/ProLayout/components/Layout/Menu/SideMenu/index.js +23 -31
  137. package/es/ProLayout/components/Layout/Menu/index.js +92 -89
  138. package/es/ProLayout/components/Layout/Notice/index.js +13 -27
  139. package/es/ProLayout/components/Layout/index.js +8 -3
  140. package/es/ProLayout/components/ProCollapse/PropTypes.js +0 -1
  141. package/es/ProLayout/components/ProCollapse/index.js +89 -111
  142. package/es/ProLayout/components/ProFooter/PropTypes.js +0 -1
  143. package/es/ProLayout/components/ProFooter/index.js +27 -25
  144. package/es/ProLayout/components/ProHeader/PropTypes.js +0 -1
  145. package/es/ProLayout/components/ProHeader/components/Copy/index.js +23 -21
  146. package/es/ProLayout/components/ProHeader/components/Describe/index.js +67 -86
  147. package/es/ProLayout/components/ProHeader/components/ProBackBtn/index.js +18 -21
  148. package/es/ProLayout/components/ProHeader/components/ProBackBtn/propsType.js +0 -1
  149. package/es/ProLayout/components/ProHeader/components/index.js +6 -2
  150. package/es/ProLayout/components/ProHeader/index.js +216 -356
  151. package/es/ProLayout/components/ProHeader/utils/index.js +19 -26
  152. package/es/ProLayout/components/TabsManager/components/TabContextMenu.js +92 -85
  153. package/es/ProLayout/components/TabsManager/components/TabItem.js +53 -64
  154. package/es/ProLayout/components/TabsManager/components/TabsContext.js +5 -5
  155. package/es/ProLayout/components/TabsManager/components/TabsHeader.js +42 -52
  156. package/es/ProLayout/components/TabsManager/hooks/useActiveTab.js +8 -9
  157. package/es/ProLayout/components/TabsManager/hooks/useIframeRoute.js +19 -32
  158. package/es/ProLayout/components/TabsManager/hooks/useProLayoutTabs.js +6 -20
  159. package/es/ProLayout/components/TabsManager/hooks/useTabsCache.js +25 -42
  160. package/es/ProLayout/components/TabsManager/hooks/useTabsState.js +290 -408
  161. package/es/ProLayout/components/TabsManager/hooks/useTabsUrlSync.js +132 -95
  162. package/es/ProLayout/components/TabsManager/index.js +406 -390
  163. package/es/ProLayout/components/TabsManager/propTypes.js +7 -15
  164. package/es/ProLayout/components/TabsManager/utils/historyObserver.js +26 -23
  165. package/es/ProLayout/components/TabsManager/utils/index.js +127 -184
  166. package/es/ProLayout/components/index.js +8 -3
  167. package/es/ProLayout/index.js +171 -229
  168. package/es/ProLayout/propTypes.js +12 -52
  169. package/es/ProLayout/utils/index.js +48 -128
  170. package/es/ProSelect/components/AdaptiveTooltip.js +26 -25
  171. package/es/ProSelect/index.js +184 -229
  172. package/es/ProSelect/propsType.js +0 -1
  173. package/es/ProSelect/utils/index.js +100 -146
  174. package/es/ProStep/components/Anchor/index.js +71 -82
  175. package/es/ProStep/components/Item/index.js +49 -56
  176. package/es/ProStep/components/LazyLoad/index.js +23 -29
  177. package/es/ProStep/components/Listener/index.js +20 -33
  178. package/es/ProStep/components/Step/index.js +31 -38
  179. package/es/ProStep/constants.js +4 -1
  180. package/es/ProStep/index.js +166 -153
  181. package/es/ProStep/propsType.js +0 -1
  182. package/es/ProStep/utils/index.js +29 -55
  183. package/es/ProStepTab/index.js +83 -138
  184. package/es/ProStepTab/propsType.js +0 -1
  185. package/es/ProTable/components/EditableCell/EditIcon.js +10 -14
  186. package/es/ProTable/components/EditableCell/index.js +37 -71
  187. package/es/ProTable/components/EditableCell/propsType.js +0 -1
  188. package/es/ProTable/components/FormatColumn/index.js +209 -340
  189. package/es/ProTable/components/FormatColumn/propsType.js +0 -1
  190. package/es/ProTable/components/RcTable/components/BaseTable/index.js +35 -39
  191. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +80 -107
  192. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +54 -48
  193. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/propsType.js +0 -1
  194. package/es/ProTable/components/RcTable/components/DraggableTable/index.js +47 -54
  195. package/es/ProTable/components/RcTable/index.js +6 -4
  196. package/es/ProTable/components/RenderColumn/index.js +158 -186
  197. package/es/ProTable/components/RenderEmptyText/index.js +12 -21
  198. package/es/ProTable/components/RenderFooter/index.js +15 -15
  199. package/es/ProTable/components/RenderSummary/index.js +33 -50
  200. package/es/ProTable/components/RenderTableHeader/index.js +44 -46
  201. package/es/ProTable/components/RenderTabs/index.js +47 -51
  202. package/es/ProTable/components/TableResizable/index.js +56 -72
  203. package/es/ProTable/components/TooltipTitle/index.js +13 -21
  204. package/es/ProTable/components/index.js +16 -36
  205. package/es/ProTable/hooks/useAntdTable.js +185 -219
  206. package/es/ProTable/index.js +232 -249
  207. package/es/ProTable/propsType.js +0 -1
  208. package/es/ProTable/utils/columnStorage.js +63 -88
  209. package/es/ProTable/utils/index.js +57 -90
  210. package/es/ProTabs/components/Card/index.js +20 -48
  211. package/es/ProTabs/components/index.js +4 -1
  212. package/es/ProTabs/index.js +39 -56
  213. package/es/ProTabs/propType.js +0 -1
  214. package/es/ProThemeTools/component/ProTools/index.js +106 -158
  215. package/es/ProThemeTools/component/index.js +4 -1
  216. package/es/ProThemeTools/context/ThemeContext.js +67 -146
  217. package/es/ProThemeTools/index.js +103 -156
  218. package/es/ProThemeTools/propsType.js +0 -1
  219. package/es/ProThemeTools/utils/index.js +60 -109
  220. package/es/ProTooltip/index.js +132 -165
  221. package/es/ProTooltip/propsType.js +0 -1
  222. package/es/ProTree/components/AdaptiveTooltip.js +15 -17
  223. package/es/ProTree/components/CloseIcon.js +18 -26
  224. package/es/ProTree/components/List.js +28 -47
  225. package/es/ProTree/components/ProTree.js +152 -211
  226. package/es/ProTree/components/ProTreeSelect/index.js +254 -458
  227. package/es/ProTree/components/ProTreeSelect/propsType.js +0 -1
  228. package/es/ProTree/components/SearchTitle.js +23 -42
  229. package/es/ProTree/components/Tree.js +147 -195
  230. package/es/ProTree/components/index.js +10 -5
  231. package/es/ProTree/index.js +12 -16
  232. package/es/ProTree/propsType.js +0 -1
  233. package/es/ProTree/utils.js +46 -118
  234. package/es/ProTreeModal/components/Cascader.js +56 -64
  235. package/es/ProTreeModal/components/CloseIcon.js +18 -26
  236. package/es/ProTreeModal/components/List.js +114 -180
  237. package/es/ProTreeModal/components/SearchTitle.js +15 -18
  238. package/es/ProTreeModal/components/SortableItem.js +29 -58
  239. package/es/ProTreeModal/components/Tree.js +99 -113
  240. package/es/ProTreeModal/components/Trigger.js +87 -121
  241. package/es/ProTreeModal/components/index.js +14 -6
  242. package/es/ProTreeModal/index.js +397 -435
  243. package/es/ProTreeModal/propsType.js +0 -1
  244. package/es/ProTreeModal/utils.js +52 -95
  245. package/es/ProUpload/components/ButtonRender.js +44 -54
  246. package/es/ProUpload/components/DragRender.js +94 -134
  247. package/es/ProUpload/components/DraggableUploadListItem.js +12 -25
  248. package/es/ProUpload/components/Example.js +27 -31
  249. package/es/ProUpload/components/FileItem.js +69 -163
  250. package/es/ProUpload/components/ImageRender.js +134 -170
  251. package/es/ProUpload/index.js +68 -100
  252. package/es/ProUpload/propsType.js +0 -1
  253. package/es/ProUpload/uitls.js +8 -4
  254. package/es/ProUtils/utils/index.js +17 -13
  255. package/es/ProViewer/index.js +154 -175
  256. package/es/ProViewer/propsType.js +0 -5
  257. package/es/ProWaterMark/index.js +9 -16
  258. package/es/ProWaterMark/propsType.js +0 -1
  259. package/es/hooks/useDraggableRow.js +25 -53
  260. package/es/index.js +57 -77
  261. package/es/locale/en_US.js +153 -142
  262. package/es/locale/index.js +23 -36
  263. package/es/locale/zh_CN.js +145 -142
  264. package/es/tokens.js +84 -83
  265. package/es/utils/index.js +24 -51
  266. package/package.json +4 -3
@@ -1,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
+ };