@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,49 +1,42 @@
1
- /* eslint-disable no-restricted-syntax */
2
- export const hideTooltipIfOpen = (dom, open) => {
3
- if (!open && document.querySelector('.pro-modal-select-parent-open') && dom) {
4
- const parent = dom.closest('.pro-form-item-changed');
5
- const grandParent = parent?.parentElement;
6
- if (parent) {
7
- parent.className = 'pro-form-item-changed';
1
+ const hideTooltipIfOpen = (dom, open) => {
2
+ if (!open && document.querySelector(".pro-modal-select-parent-open") && dom) {
3
+ const parent2 = dom.closest(".pro-form-item-changed");
4
+ const grandParent2 = parent2 == null ? void 0 : parent2.parentElement;
5
+ if (parent2) {
6
+ parent2.className = "pro-form-item-changed";
8
7
  }
9
- if (grandParent) {
10
- grandParent.classList.remove('pro-modal-select-parent-open');
8
+ if (grandParent2) {
9
+ grandParent2.classList.remove("pro-modal-select-parent-open");
11
10
  }
12
- const tooltip = grandParent?.querySelector('.ant-tooltip');
11
+ const tooltip = grandParent2 == null ? void 0 : grandParent2.querySelector(".ant-tooltip");
13
12
  if (tooltip) {
14
- tooltip.classList.add('ant-tooltip-hidden');
13
+ tooltip.classList.add("ant-tooltip-hidden");
15
14
  }
16
15
  }
17
- if (!dom) return;
18
- const modal = dom.className.includes('pro-modal-select-open');
19
- if (!modal) return;
20
- const parent = dom.closest('.pro-form-item-changed');
21
- const grandParent = parent?.parentElement;
16
+ if (!dom)
17
+ return;
18
+ const modal = dom.className.includes("pro-modal-select-open");
19
+ if (!modal)
20
+ return;
21
+ const parent = dom.closest(".pro-form-item-changed");
22
+ const grandParent = parent == null ? void 0 : parent.parentElement;
22
23
  if (open && grandParent) {
23
- grandParent.classList.add('pro-modal-select-parent-open');
24
+ grandParent.classList.add("pro-modal-select-parent-open");
24
25
  }
25
26
  };
26
-
27
- /**
28
- * 合并跨页/筛选场景下的多选行数据
29
- *
30
- * antd Table 开启 preserveSelectedRowKeys 后,onChange 回传的 rowKeys 是全量(含不在当前页的 key),
31
- * 但 rows 中不在当前 dataSource 的行对象会是 undefined。此函数用历史已选行(prevRows)补全这些缺失的行对象,
32
- * 保证返回的 rows 与 rowKeys 全量对齐,从而避免翻页/精准筛选后丢失已选数据。
33
- *
34
- * @param prevRows 历史已选行(累积缓存)
35
- * @param nextRowKeys antd 回传的全量选中 key
36
- * @param nextRows antd 回传的行对象(不在当前页的为 undefined)
37
- * @param getRowKey 取行 key 的方法
38
- * @returns 与 nextRowKeys 对齐的全量行对象(无法找到行对象的 key 会被过滤)
39
- */
40
- export const mergeSelectedRows = (prevRows, nextRowKeys, nextRows, getRowKey) => {
41
- const rowMap = new Map();
42
- prevRows?.forEach(row => {
43
- if (row) rowMap.set(getRowKey(row), row);
27
+ const mergeSelectedRows = (prevRows, nextRowKeys, nextRows, getRowKey) => {
28
+ const rowMap = /* @__PURE__ */ new Map();
29
+ prevRows == null ? void 0 : prevRows.forEach((row) => {
30
+ if (row)
31
+ rowMap.set(getRowKey(row), row);
44
32
  });
45
- nextRows?.forEach(row => {
46
- if (row) rowMap.set(getRowKey(row), row);
33
+ nextRows == null ? void 0 : nextRows.forEach((row) => {
34
+ if (row)
35
+ rowMap.set(getRowKey(row), row);
47
36
  });
48
- return nextRowKeys.map(key => rowMap.get(key)).filter(Boolean);
49
- };
37
+ return nextRowKeys.map((key) => rowMap.get(key)).filter(Boolean);
38
+ };
39
+ export {
40
+ hideTooltipIfOpen,
41
+ mergeSelectedRows
42
+ };
@@ -1,21 +1,20 @@
1
- import _isEmpty from "lodash/isEmpty";
2
- import _isEqual from "lodash/isEqual";
3
- import { useSetState, useDeepCompareEffect } from 'ahooks';
4
- import { Button, Input, InputNumber, Space } from 'antd';
5
- import { memo } from 'react';
6
- import classnames from 'classnames';
7
- import { tools } from '@zat-design/utils';
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useSetState, useDeepCompareEffect } from "ahooks";
3
+ import { Button, Input, InputNumber, Space } from "antd";
4
+ import isEqual from "lodash/isEqual";
5
+ import isEmpty from "lodash/isEmpty";
6
+ import { memo } from "react";
7
+ import classnames from "classnames";
8
+ import { tools } from "@zat-design/utils";
8
9
  import Container from "../../Container";
9
10
  import locale from "../../../../locale";
10
11
  import ProForm from "../../../../ProForm";
11
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
- const {
13
- formatAmount
14
- } = tools;
15
- const ProNumberRange = props => {
12
+ const { formatAmount } = tools;
13
+ const ProNumberRange = (props) => {
16
14
  const {
17
15
  value = [],
18
- onChange = () => {},
16
+ onChange = () => {
17
+ },
19
18
  min = 0,
20
19
  max,
21
20
  className,
@@ -31,150 +30,97 @@ const ProNumberRange = props => {
31
30
  // 弃用属性,保持向后兼容
32
31
  id
33
32
  } = props;
34
- const {
35
- isView: isViewCon,
36
- viewEmpty,
37
- valueType
38
- } = ProForm.useFieldProps() || {};
39
-
40
- // 向后兼容处理:优先使用 separator,如果没有则使用 split,最后使用默认值
41
- const finalSeparator = separator ?? split ?? '~';
42
- const isView = typeof props.isView === 'boolean' ? props.isView : isViewCon; // 组件可直接接收isView参数, 优先级高
43
-
44
- const [{
45
- range
46
- }, setState] = useSetState({
33
+ const { isView: isViewCon, viewEmpty, valueType } = ProForm.useFieldProps() || {};
34
+ const finalSeparator = separator ?? split ?? "~";
35
+ const isView = typeof props.isView === "boolean" ? props.isView : isViewCon;
36
+ const [{ range }, setState] = useSetState({
47
37
  range: value || []
48
38
  });
49
39
  let valueProps = {};
50
40
  useDeepCompareEffect(() => {
51
- // 同步value值
52
41
  if (Array.isArray(value)) {
53
- setState({
54
- range: value
55
- });
42
+ setState({ range: value });
56
43
  }
57
44
  }, [value]);
58
- const firstHandleChange = val => {
45
+ const firstHandleChange = (val) => {
59
46
  range[0] = val;
60
- const isEmptyArray = range.every(item => !item && item !== 0);
47
+ const isEmptyArray = range.every((item) => !item && item !== 0);
61
48
  if (isEmptyArray) {
62
49
  onChange([]);
63
50
  } else {
64
51
  onChange([...range]);
65
52
  }
66
- setState({
67
- range
68
- });
53
+ setState({ range });
69
54
  };
70
- const lastHandleChange = val => {
55
+ const lastHandleChange = (val) => {
71
56
  range[1] = val;
72
- const isEmptyArray = range.every(item => !item && item !== 0);
57
+ const isEmptyArray = range.every((item) => !item && item !== 0);
73
58
  if (isEmptyArray) {
74
59
  onChange([]);
75
60
  } else {
76
61
  onChange([...range]);
77
62
  }
78
- setState({
79
- range
80
- });
63
+ setState({ range });
81
64
  };
82
65
  const cls = classnames({
83
- 'pro-number-range': true,
84
- 'pro-number-range-disabled': disabled,
66
+ "pro-number-range": true,
67
+ "pro-number-range-disabled": disabled,
85
68
  className
86
69
  });
87
-
88
- // 查看模式
89
70
  if (isView || props.isView) {
90
- if (_isEmpty(value) || value?.every(item => typeof item !== 'number')) {
71
+ if (isEmpty(value) || (value == null ? void 0 : value.every((item) => typeof item !== "number"))) {
91
72
  return viewEmpty;
92
73
  }
93
74
  switch (valueType) {
94
- // 百分比
95
- case 'percent':
96
- case 'percentage':
97
- return /*#__PURE__*/_jsx(Container, {
98
- viewEmpty: viewEmpty,
99
- children: /*#__PURE__*/_jsxs(Space, {
100
- separator: finalSeparator,
101
- children: [/*#__PURE__*/_jsx("span", {
102
- children: formatAmount(value[0], precision || decimal)
103
- }), /*#__PURE__*/_jsx("span", {
104
- children: formatAmount(value[1], precision || decimal)
105
- })]
106
- })
107
- });
108
- // 千分比
109
- case 'permillage':
110
- return /*#__PURE__*/_jsx(Container, {
111
- viewEmpty: viewEmpty,
112
- children: /*#__PURE__*/_jsxs(Space, {
113
- separator: finalSeparator,
114
- children: [/*#__PURE__*/_jsx("span", {
115
- children: formatAmount(value[0], precision || decimal)
116
- }), /*#__PURE__*/_jsx("span", {
117
- children: formatAmount(value[1], precision || decimal)
118
- })]
119
- })
120
- });
121
- // 千分位
122
- case 'amount':
123
- case 'thousandth':
124
- return /*#__PURE__*/_jsx(Container, {
125
- viewEmpty: viewEmpty,
126
- children: /*#__PURE__*/_jsxs(Space, {
127
- separator: finalSeparator,
128
- children: [/*#__PURE__*/_jsx("span", {
129
- children: formatAmount(value[0], precision || decimal)
130
- }), /*#__PURE__*/_jsx("span", {
131
- children: formatAmount(value[1], precision || decimal)
132
- })]
133
- })
134
- });
75
+ case "percent":
76
+ case "percentage":
77
+ return /* @__PURE__ */ jsx(Container, { viewEmpty, children: /* @__PURE__ */ jsxs(Space, { separator: finalSeparator, children: [
78
+ /* @__PURE__ */ jsx("span", { children: formatAmount(value[0], precision || decimal) }),
79
+ /* @__PURE__ */ jsx("span", { children: formatAmount(value[1], precision || decimal) })
80
+ ] }) });
81
+ case "permillage":
82
+ return /* @__PURE__ */ jsx(Container, { viewEmpty, children: /* @__PURE__ */ jsxs(Space, { separator: finalSeparator, children: [
83
+ /* @__PURE__ */ jsx("span", { children: formatAmount(value[0], precision || decimal) }),
84
+ /* @__PURE__ */ jsx("span", { children: formatAmount(value[1], precision || decimal) })
85
+ ] }) });
86
+ case "amount":
87
+ case "thousandth":
88
+ return /* @__PURE__ */ jsx(Container, { viewEmpty, children: /* @__PURE__ */ jsxs(Space, { separator: finalSeparator, children: [
89
+ /* @__PURE__ */ jsx("span", { children: formatAmount(value[0], precision || decimal) }),
90
+ /* @__PURE__ */ jsx("span", { children: formatAmount(value[1], precision || decimal) })
91
+ ] }) });
135
92
  default:
136
- return /*#__PURE__*/_jsx(Container, {
137
- viewEmpty: viewEmpty,
138
- children: /*#__PURE__*/_jsxs(Space, {
139
- separator: finalSeparator,
140
- children: [/*#__PURE__*/_jsx("span", {
141
- children: value[0] || '-'
142
- }), /*#__PURE__*/_jsx("span", {
143
- children: value[1] || '-'
144
- })]
145
- })
146
- });
93
+ return /* @__PURE__ */ jsx(Container, { viewEmpty, children: /* @__PURE__ */ jsxs(Space, { separator: finalSeparator, children: [
94
+ /* @__PURE__ */ jsx("span", { children: value[0] || "-" }),
95
+ /* @__PURE__ */ jsx("span", { children: value[1] || "-" })
96
+ ] }) });
147
97
  }
148
98
  }
149
-
150
- // 值类型模式
151
99
  if (valueType || inValueType) {
152
100
  switch (valueType || inValueType) {
153
- case 'thousandth':
154
- case 'amount':
101
+ case "thousandth":
102
+ case "amount":
155
103
  valueProps = {
156
- formatter: value => {
157
- return typeof value === 'number' || value ? Number(value).toLocaleString('zh-CN', {
104
+ formatter: (value2) => {
105
+ return typeof value2 === "number" || value2 ? Number(value2).toLocaleString("zh-CN", {
158
106
  minimumFractionDigits: precision ?? null,
159
107
  maximumFractionDigits: precision ?? 9
160
- }) : value;
108
+ }) : value2;
161
109
  },
162
- parser: value => value.replace(/\$\s?|(,*)/g, '')
110
+ parser: (value2) => value2.replace(/\$\s?|(,*)/g, "")
163
111
  };
164
112
  break;
165
- // 百分比
166
- case 'percentage':
113
+ case "percentage":
167
114
  valueProps = {
168
115
  min: 0,
169
116
  max: 100,
170
117
  step: 1
171
118
  };
172
119
  break;
173
- // 千分比
174
- case 'permillage':
120
+ case "permillage":
175
121
  valueProps = {
176
122
  min: 0,
177
- max: 1000,
123
+ max: 1e3,
178
124
  step: 1
179
125
  };
180
126
  break;
@@ -184,72 +130,70 @@ const ProNumberRange = props => {
184
130
  };
185
131
  }
186
132
  }
187
-
188
- /**
189
- * 计算范围禁用值
190
- * @param disabled 禁用值
191
- * @param index 位置
192
- */
193
- const getDisabled = (disabled, index) => {
194
- let result = disabled;
195
- if (Array.isArray(disabled)) {
196
- result = disabled[index];
133
+ const getDisabled = (disabled2, index) => {
134
+ let result = disabled2;
135
+ if (Array.isArray(disabled2)) {
136
+ result = disabled2[index];
197
137
  }
198
138
  return result;
199
139
  };
200
- return /*#__PURE__*/_jsx(Space, {
201
- className: cls,
202
- children: /*#__PURE__*/_jsxs(Space.Compact, {
203
- children: [/*#__PURE__*/_jsx(InputNumber, {
204
- id: id,
140
+ return /* @__PURE__ */ jsx(Space, { className: cls, children: /* @__PURE__ */ jsxs(Space.Compact, { children: [
141
+ /* @__PURE__ */ jsx(
142
+ InputNumber,
143
+ {
144
+ id,
205
145
  className: "range-left",
206
- value: value?.[0] || range[0],
146
+ value: (value == null ? void 0 : value[0]) || range[0],
207
147
  placeholder: `${locale.ProForm.inputPlaceholder}`,
208
- precision: precision,
148
+ precision,
209
149
  disabled: getDisabled(disabled, 0),
210
- onChange: e => {
150
+ onChange: (e) => {
211
151
  firstHandleChange(e);
212
152
  },
213
153
  ...valueProps,
214
- min: min ?? valueProps?.min,
215
- max: value?.[1] ?? range[1] ?? max ?? valueProps?.max,
216
- ...childProps?.[0]
217
- }), addonBefore ? /*#__PURE__*/_jsx(Button, {
218
- disabled: true,
219
- className: "range-addon-before",
220
- children: addonBefore
221
- }) : null, /*#__PURE__*/_jsx(Input, {
154
+ min: min ?? (valueProps == null ? void 0 : valueProps.min),
155
+ max: (value == null ? void 0 : value[1]) ?? range[1] ?? max ?? (valueProps == null ? void 0 : valueProps.max),
156
+ ...childProps == null ? void 0 : childProps[0]
157
+ }
158
+ ),
159
+ addonBefore ? /* @__PURE__ */ jsx(Button, { disabled: true, className: "range-addon-before", children: addonBefore }) : null,
160
+ /* @__PURE__ */ jsx(
161
+ Input,
162
+ {
222
163
  className: classnames({
223
- 'range-split': true,
224
- 'range-split-disabled': !!disabled
164
+ "range-split": true,
165
+ "range-split-disabled": !!disabled
225
166
  }),
226
167
  placeholder: finalSeparator,
227
168
  disabled: true
228
- }), /*#__PURE__*/_jsx(InputNumber, {
169
+ }
170
+ ),
171
+ /* @__PURE__ */ jsx(
172
+ InputNumber,
173
+ {
229
174
  className: "range-right",
230
- value: value?.[1] || range[1],
175
+ value: (value == null ? void 0 : value[1]) || range[1],
231
176
  placeholder: `${locale.ProForm.inputPlaceholder}`,
232
- precision: precision,
177
+ precision,
233
178
  disabled: getDisabled(disabled, 1),
234
- onChange: e => {
179
+ onChange: (e) => {
235
180
  lastHandleChange(e);
236
181
  },
237
182
  ...valueProps,
238
- min: value?.[0] ?? range[0] ?? min ?? valueProps?.min,
239
- max: max ?? valueProps?.max,
240
- ...childProps?.[1]
241
- }), addonAfter ? /*#__PURE__*/_jsx(Button, {
242
- disabled: true,
243
- className: "range-addon-after",
244
- children: addonAfter
245
- }) : null]
246
- })
247
- });
183
+ min: (value == null ? void 0 : value[0]) ?? range[0] ?? min ?? (valueProps == null ? void 0 : valueProps.min),
184
+ max: max ?? (valueProps == null ? void 0 : valueProps.max),
185
+ ...childProps == null ? void 0 : childProps[1]
186
+ }
187
+ ),
188
+ addonAfter ? /* @__PURE__ */ jsx(Button, { disabled: true, className: "range-addon-after", children: addonAfter }) : null
189
+ ] }) });
248
190
  };
249
- export default /*#__PURE__*/memo(ProNumberRange, (prevProps, nextProps) => {
250
- // 基本props比较 只比较关键的
251
- if (!_isEqual(prevProps?.value, nextProps?.value) || prevProps?.disabled !== nextProps?.disabled || !_isEqual(prevProps?.childProps, nextProps?.childProps)) {
191
+ var ProNumberRange_default = memo(ProNumberRange, (prevProps, nextProps) => {
192
+ if (!isEqual(prevProps == null ? void 0 : prevProps.value, nextProps == null ? void 0 : nextProps.value) || (prevProps == null ? void 0 : prevProps.disabled) !== (nextProps == null ? void 0 : nextProps.disabled) || !isEqual(prevProps == null ? void 0 : prevProps.childProps, nextProps == null ? void 0 : nextProps.childProps)) {
252
193
  return false;
253
194
  }
254
195
  return true;
255
- });
196
+ });
197
+ export {
198
+ ProNumberRange_default as default
199
+ };