@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,17 +1,13 @@
1
- import _omit from "lodash/omit";
2
- import _isArray from "lodash/isArray";
3
- import { Button, Drawer } from 'antd';
4
- import React, { useCallback, useState, useRef } from 'react';
5
- import { useScroll } from 'ahooks';
6
- import classNames from 'classnames';
7
- import { ReactSVG } from 'react-svg';
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { Button, Drawer } from "antd";
3
+ import React, { useCallback, useState, useRef } from "react";
4
+ import { useScroll } from "ahooks";
5
+ import classNames from "classnames";
6
+ import isArray from "lodash/isArray";
7
+ import omit from "lodash/omit";
8
+ import { ReactSVG } from "react-svg";
8
9
  import closeSvg from "../../../assets/close.svg";
9
10
  import { useConfirmClose } from "../../hooks/useConfirmClose";
10
-
11
- /**
12
- * 抽屉组件
13
- */
14
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
15
11
  const ProDrawer = ({
16
12
  form,
17
13
  title,
@@ -35,22 +31,12 @@ const ProDrawer = ({
35
31
  drawerProps
36
32
  }) => {
37
33
  const ref = useRef(null);
38
- const {
39
- top
40
- } = useScroll(ref) || {};
34
+ const { top } = useScroll(ref) || {};
41
35
  const [loading, toggleLoading] = useState(false);
42
36
  const noRenderFooter = isView || footer === false || footer === null;
43
- const {
44
- mask: drawerMask,
45
- ...restDrawerProps
46
- } = drawerProps || {};
47
- // 抽屉宽度统一走 size(antd v6 width 已废弃);数字优先,自定义 width 兜底
48
- const drawerSize = restDrawerProps?.size ?? width;
49
- const {
50
- markInteracted,
51
- onConfirm,
52
- contextHolder
53
- } = useConfirmClose({
37
+ const { mask: drawerMask, ...restDrawerProps } = drawerProps || {};
38
+ const drawerSize = (restDrawerProps == null ? void 0 : restDrawerProps.size) ?? width;
39
+ const { markInteracted, onConfirm, contextHolder } = useConfirmClose({
54
40
  open,
55
41
  isView,
56
42
  isConfirmClose,
@@ -61,115 +47,99 @@ const ProDrawer = ({
61
47
  try {
62
48
  if (open) {
63
49
  const values = await form.validateFields();
64
- // 当传入okLoading时不走下面的默认loading逻辑
65
- if (okLoading !== undefined) {
66
- if (onOk && (await onOk(values, form)) === true) {
50
+ if (okLoading !== void 0) {
51
+ if (onOk && await onOk(values, form) === true) {
67
52
  onCancel && onCancel();
68
53
  }
69
54
  return true;
70
55
  }
71
56
  toggleLoading(true);
72
- if (onOk && (await onOk(values, form)) === true) {
57
+ if (onOk && await onOk(values, form) === true) {
73
58
  onCancel && onCancel();
74
59
  }
75
60
  }
76
61
  } catch (error) {
77
- /** 使用setTimeout确保DOM已经更新,错误标记已经渲染 */
78
62
  setTimeout(() => {
79
- const errorElement = ref.current?.querySelector('[class*="form-item-has-error"]');
80
- if (errorElement && error?.errorFields?.length) {
81
- errorElement.scrollIntoView({
82
- behavior: 'smooth',
83
- block: 'center'
84
- });
63
+ var _a, _b;
64
+ const errorElement = (_a = ref.current) == null ? void 0 : _a.querySelector('[class*="form-item-has-error"]');
65
+ if (errorElement && ((_b = error == null ? void 0 : error.errorFields) == null ? void 0 : _b.length)) {
66
+ errorElement.scrollIntoView({ behavior: "smooth", block: "center" });
85
67
  }
86
68
  }, 100);
87
69
  } finally {
88
70
  toggleLoading(false);
89
71
  }
90
72
  }, [onOk, onCancel, form]);
91
-
92
- /**
93
- * 描述:默认底部操作按钮
94
- *
95
- */
96
- const defaultFooter = /*#__PURE__*/_jsxs("div", {
97
- className: "pro-drawer-footer",
98
- children: [/*#__PURE__*/_jsx(Button, {
99
- type: "primary",
100
- onClick: handleFinish,
101
- loading: okLoading ?? loading,
102
- disabled: okDisabled ?? loading,
103
- children: okText
104
- }), /*#__PURE__*/_jsx(Button, {
105
- onClick: onCancel,
106
- children: cancelText
107
- })]
108
- });
73
+ const defaultFooter = /* @__PURE__ */ jsxs("div", { className: "pro-drawer-footer", children: [
74
+ /* @__PURE__ */ jsx(
75
+ Button,
76
+ {
77
+ type: "primary",
78
+ onClick: handleFinish,
79
+ loading: okLoading ?? loading,
80
+ disabled: okDisabled ?? loading,
81
+ children: okText
82
+ }
83
+ ),
84
+ /* @__PURE__ */ jsx(Button, { onClick: onCancel, children: cancelText })
85
+ ] });
109
86
  const renderFooter = () => {
110
87
  if (noRenderFooter) {
111
88
  return null;
112
89
  }
113
- if ( /*#__PURE__*/React.isValidElement(footer)) {
114
- return /*#__PURE__*/_jsx("div", {
115
- className: "pro-drawer-footer",
116
- children: footer
117
- });
90
+ if (React.isValidElement(footer)) {
91
+ return /* @__PURE__ */ jsx("div", { className: "pro-drawer-footer", children: footer });
118
92
  }
119
- if (_isArray(footer) && footer?.length) {
120
- return /*#__PURE__*/_jsx("div", {
121
- className: "pro-drawer-footer",
122
- children: footer.map(item => {
123
- if ( /*#__PURE__*/React.isValidElement(item)) {
124
- return item;
125
- }
126
- return false;
127
- })
128
- });
93
+ if (isArray(footer) && (footer == null ? void 0 : footer.length)) {
94
+ return /* @__PURE__ */ jsx("div", { className: "pro-drawer-footer", children: footer.map((item) => {
95
+ if (React.isValidElement(item)) {
96
+ return item;
97
+ }
98
+ return false;
99
+ }) });
129
100
  }
130
101
  return defaultFooter;
131
102
  };
132
- return /*#__PURE__*/_jsxs(_Fragment, {
133
- children: [contextHolder, /*#__PURE__*/_jsxs(Drawer, {
134
- size: drawerSize,
135
- open: open,
136
- mask: typeof drawerMask === 'object' ? {
137
- closable: maskClosable,
138
- ...drawerMask
139
- } : drawerMask ?? {
140
- blur: false,
141
- closable: maskClosable
142
- },
143
- placement: "right",
144
- rootClassName: classNames(className, 'pro-drawer'),
145
- closable: false,
146
- onClose: onConfirm,
147
- zIndex: zIndex,
148
- destroyOnHidden: destroyOnHidden,
149
- ..._omit(restDrawerProps, 'width', 'size'),
150
- children: [/*#__PURE__*/_jsx("div", {
151
- className: "pro-drawer-close",
152
- onClick: onConfirm,
153
- children: /*#__PURE__*/_jsx(ReactSVG, {
154
- className: "close-icon",
155
- src: closeSvg
156
- })
157
- }), title ? /*#__PURE__*/_jsx("div", {
158
- className: `pro-drawer-title ${top > 0 ? 'pro-drawer-scrolling' : ''}`,
159
- children: title
160
- }) : null, /*#__PURE__*/_jsx("div", {
161
- ref: ref,
162
- className: "pro-drawer-content",
163
- onInput: markInteracted,
164
- onChange: markInteracted,
165
- style: {
166
- marginTop: title ? 64 : 0,
167
- paddingBottom: noRenderFooter ? 0 : 64,
168
- height: `calc(100% - ${title ? 64 : 0}px)`
169
- },
170
- children: children
171
- }), renderFooter()]
172
- })]
173
- });
103
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
104
+ contextHolder,
105
+ /* @__PURE__ */ jsxs(
106
+ Drawer,
107
+ {
108
+ size: drawerSize,
109
+ open,
110
+ mask: typeof drawerMask === "object" ? { closable: maskClosable, ...drawerMask } : drawerMask ?? { blur: false, closable: maskClosable },
111
+ placement: "right",
112
+ rootClassName: classNames(className, "pro-drawer"),
113
+ closable: false,
114
+ onClose: onConfirm,
115
+ zIndex,
116
+ destroyOnHidden,
117
+ ...omit(restDrawerProps, "width", "size"),
118
+ children: [
119
+ /* @__PURE__ */ jsx("div", { className: "pro-drawer-close", onClick: onConfirm, children: /* @__PURE__ */ jsx(ReactSVG, { className: "close-icon", src: closeSvg }) }),
120
+ title ? /* @__PURE__ */ jsx("div", { className: `pro-drawer-title ${top > 0 ? "pro-drawer-scrolling" : ""}`, children: title }) : null,
121
+ /* @__PURE__ */ jsx(
122
+ "div",
123
+ {
124
+ ref,
125
+ className: "pro-drawer-content",
126
+ onInput: markInteracted,
127
+ onChange: markInteracted,
128
+ style: {
129
+ marginTop: title ? 64 : 0,
130
+ paddingBottom: noRenderFooter ? 0 : 64,
131
+ height: `calc(100% - ${title ? 64 : 0}px)`
132
+ },
133
+ children
134
+ }
135
+ ),
136
+ renderFooter()
137
+ ]
138
+ }
139
+ )
140
+ ] });
141
+ };
142
+ var ProDrawer_default = ProDrawer;
143
+ export {
144
+ ProDrawer_default as default
174
145
  };
175
- export default ProDrawer;
@@ -1,14 +1,10 @@
1
- import _isArray from "lodash/isArray";
2
- import React, { useCallback, useState, useRef } from 'react';
3
- import { Space, Button, Modal } from 'antd';
4
- import { useScroll, useSize } from 'ahooks';
5
- import classnames from 'classnames';
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import React, { useCallback, useState, useRef } from "react";
3
+ import { Space, Button, Modal } from "antd";
4
+ import { useScroll, useSize } from "ahooks";
5
+ import classnames from "classnames";
6
+ import isArray from "lodash/isArray";
6
7
  import { useConfirmClose } from "../../hooks/useConfirmClose";
7
-
8
- /**
9
- * 弹窗组件
10
- */
11
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
12
8
  const ProModal = ({
13
9
  form,
14
10
  title,
@@ -32,139 +28,112 @@ const ProModal = ({
32
28
  destroyOnHidden,
33
29
  modalProps
34
30
  }) => {
31
+ var _a;
35
32
  const ref = useRef(null);
36
- const {
37
- top
38
- } = useScroll(ref.current?.parentNode) || {};
39
- const {
40
- height
41
- } = useSize(ref) || {};
33
+ const { top } = useScroll((_a = ref.current) == null ? void 0 : _a.parentNode) || {};
34
+ const { height } = useSize(ref) || {};
42
35
  const noRenderFooter = isView || footer === false || footer === null;
43
- const {
44
- mask: modalMask,
45
- ...restModalProps
46
- } = modalProps || {};
36
+ const { mask: modalMask, ...restModalProps } = modalProps || {};
47
37
  const [loading, toggleLoading] = useState(false);
48
- const {
49
- markInteracted,
50
- onConfirm,
51
- contextHolder
52
- } = useConfirmClose({
38
+ const { markInteracted, onConfirm, contextHolder } = useConfirmClose({
53
39
  open,
54
40
  isView,
55
41
  isConfirmClose,
56
42
  isConfirmCloseModalProps,
57
43
  onCancel
58
44
  });
59
- const _className = classnames(['pro-modal', className, {
60
- 'pro-modal-scrolling': top > 0,
61
- 'pro-modal-no-footer': noRenderFooter,
62
- 'pro-modal-footer-shadow': height >= 450
63
- }]);
45
+ const _className = classnames([
46
+ "pro-modal",
47
+ className,
48
+ {
49
+ "pro-modal-scrolling": top > 0,
50
+ "pro-modal-no-footer": noRenderFooter,
51
+ "pro-modal-footer-shadow": height >= 450
52
+ }
53
+ ]);
64
54
  const handleFinish = useCallback(async () => {
65
55
  try {
66
56
  if (open) {
67
57
  const values = await form.validateFields();
68
- // 当传入okLoading时不走下面的默认loading逻辑
69
- if (okLoading !== undefined) {
70
- if (onOk && (await onOk(values, form)) === true) {
58
+ if (okLoading !== void 0) {
59
+ if (onOk && await onOk(values, form) === true) {
71
60
  onCancel && onCancel();
72
61
  }
73
62
  return true;
74
63
  }
75
64
  toggleLoading(true);
76
- if (onOk && (await onOk(values, form)) === true) {
65
+ if (onOk && await onOk(values, form) === true) {
77
66
  onCancel && onCancel();
78
67
  }
79
68
  }
80
69
  } catch (error) {
81
- /** 使用setTimeout确保DOM已经更新,错误标记已经渲染 */
82
70
  setTimeout(() => {
83
- const errorElement = ref.current?.querySelector('[class*="form-item-has-error"]');
84
- if (errorElement && error?.errorFields?.length) {
85
- errorElement.scrollIntoView({
86
- behavior: 'smooth',
87
- block: 'center'
88
- });
71
+ var _a2, _b;
72
+ const errorElement = (_a2 = ref.current) == null ? void 0 : _a2.querySelector('[class*="form-item-has-error"]');
73
+ if (errorElement && ((_b = error == null ? void 0 : error.errorFields) == null ? void 0 : _b.length)) {
74
+ errorElement.scrollIntoView({ behavior: "smooth", block: "center" });
89
75
  }
90
76
  }, 100);
91
77
  } finally {
92
78
  toggleLoading(false);
93
79
  }
94
80
  }, [onOk, onCancel, form]);
95
-
96
- /**
97
- * 描述:默认底部操作按钮
98
- *
99
- */
100
- const defaultFooter = /*#__PURE__*/_jsxs("div", {
101
- className: classnames({
102
- 'pro-modal-footer': extraLeft,
103
- 'pro-modal-footer-123': true
104
- }),
105
- children: [extraLeft, /*#__PURE__*/_jsxs(Space, {
106
- children: [/*#__PURE__*/_jsx(Button, {
107
- onClick: onCancel,
108
- children: cancelText
109
- }), /*#__PURE__*/_jsx(Button, {
110
- type: "primary",
111
- onClick: handleFinish,
112
- loading: okLoading ?? loading,
113
- disabled: okDisabled ?? loading,
114
- children: okText
115
- })]
116
- })]
117
- });
81
+ const defaultFooter = /* @__PURE__ */ jsxs("div", { className: classnames({ "pro-modal-footer": extraLeft, "pro-modal-footer-123": true }), children: [
82
+ extraLeft,
83
+ /* @__PURE__ */ jsxs(Space, { children: [
84
+ /* @__PURE__ */ jsx(Button, { onClick: onCancel, children: cancelText }),
85
+ /* @__PURE__ */ jsx(
86
+ Button,
87
+ {
88
+ type: "primary",
89
+ onClick: handleFinish,
90
+ loading: okLoading ?? loading,
91
+ disabled: okDisabled ?? loading,
92
+ children: okText
93
+ }
94
+ )
95
+ ] })
96
+ ] });
118
97
  const renderFooter = () => {
119
98
  if (noRenderFooter) {
120
99
  return null;
121
100
  }
122
- if ( /*#__PURE__*/React.isValidElement(footer)) {
123
- return /*#__PURE__*/_jsx("div", {
124
- className: "pro-drawer-footer",
125
- children: footer
126
- });
101
+ if (React.isValidElement(footer)) {
102
+ return /* @__PURE__ */ jsx("div", { className: "pro-drawer-footer", children: footer });
127
103
  }
128
- if (_isArray(footer) && footer?.length) {
129
- return /*#__PURE__*/_jsx("div", {
130
- className: "pro-drawer-footer",
131
- children: footer.map(item => {
132
- if ( /*#__PURE__*/React.isValidElement(item)) {
133
- return item;
134
- }
135
- return false;
136
- })
137
- });
104
+ if (isArray(footer) && (footer == null ? void 0 : footer.length)) {
105
+ return /* @__PURE__ */ jsx("div", { className: "pro-drawer-footer", children: footer.map((item) => {
106
+ if (React.isValidElement(item)) {
107
+ return item;
108
+ }
109
+ return false;
110
+ }) });
138
111
  }
139
112
  return defaultFooter;
140
113
  };
141
- return /*#__PURE__*/_jsxs(_Fragment, {
142
- children: [contextHolder, /*#__PURE__*/_jsx(Modal, {
143
- className: _className,
144
- title: title,
145
- width: width,
146
- open: open,
147
- mask: typeof modalMask === 'object' && modalMask !== null ? {
148
- closable: maskClosable,
149
- ...modalMask
150
- } : modalMask ?? {
151
- blur: false,
152
- closable: maskClosable
153
- },
154
- onCancel: onConfirm,
155
- footer: renderFooter(),
156
- okText: okText,
157
- cancelText: cancelText,
158
- zIndex: zIndex,
159
- destroyOnHidden: destroyOnHidden,
160
- ...restModalProps,
161
- children: /*#__PURE__*/_jsx("div", {
162
- ref: ref,
163
- onInput: markInteracted,
164
- onChange: markInteracted,
165
- children: children
166
- })
167
- })]
168
- });
114
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
115
+ contextHolder,
116
+ /* @__PURE__ */ jsx(
117
+ Modal,
118
+ {
119
+ className: _className,
120
+ title,
121
+ width,
122
+ open,
123
+ mask: typeof modalMask === "object" && modalMask !== null ? { closable: maskClosable, ...modalMask } : modalMask ?? { blur: false, closable: maskClosable },
124
+ onCancel: onConfirm,
125
+ footer: renderFooter(),
126
+ okText,
127
+ cancelText,
128
+ zIndex,
129
+ destroyOnHidden,
130
+ ...restModalProps,
131
+ children: /* @__PURE__ */ jsx("div", { ref, onInput: markInteracted, onChange: markInteracted, children })
132
+ }
133
+ )
134
+ ] });
135
+ };
136
+ var ProModal_default = ProModal;
137
+ export {
138
+ ProModal_default as default
169
139
  };
170
- export default ProModal;
@@ -1,2 +1,6 @@
1
- export { default as ProDrawer } from "./ProDrawer";
2
- export { default as ProModal } from "./ProModal";
1
+ import { default as default2 } from "./ProDrawer";
2
+ import { default as default3 } from "./ProModal";
3
+ export {
4
+ default2 as ProDrawer,
5
+ default3 as ProModal
6
+ };
@@ -1,18 +1,8 @@
1
- import { useCallback, useEffect, useRef } from 'react';
2
- import { Modal } from 'antd';
1
+ import { useCallback, useEffect, useRef } from "react";
2
+ import { Modal } from "antd";
3
3
  import { shouldConfirmClose } from "../utils";
4
4
  import locale from "../../locale";
5
- /**
6
- * 关闭抽屉/弹窗时的二次确认逻辑
7
- *
8
- * - markInteracted:绑定到内容容器的 input / change 事件,标记用户真实交互过。
9
- * setFieldsValue 等程序回填不会派发用户输入事件,因此异步回填不会误触发二次确认。
10
- * - onConfirm:组件自带关闭入口(右上角 × / 遮罩)的关闭处理。未交互、查看模式或
11
- * 未开启二次确认时直接关闭;否则弹出二次确认。底部取消按钮不走此逻辑。
12
- * - contextHolder:Modal.useModal 的上下文占位,需渲染进组件,使二次确认弹框能继承
13
- * ConfigProvider 的主题 / 国际化(替代静态 Modal.confirm,消除上下文告警)。
14
- */
15
- export const useConfirmClose = ({
5
+ const useConfirmClose = ({
16
6
  open,
17
7
  isView,
18
8
  isConfirmClose,
@@ -20,11 +10,8 @@ export const useConfirmClose = ({
20
10
  onCancel
21
11
  }) => {
22
12
  const [modal, contextHolder] = Modal.useModal();
23
- // 记录用户是否真实交互过表单内容(区别于 setFieldsValue 等程序回填)
24
13
  const userInteractedRef = useRef(false);
25
14
  const confirmingRef = useRef(false);
26
-
27
- // open 变化时重置用户交互标记
28
15
  useEffect(() => {
29
16
  userInteractedRef.current = false;
30
17
  }, [open]);
@@ -32,29 +19,24 @@ export const useConfirmClose = ({
32
19
  userInteractedRef.current = true;
33
20
  }, []);
34
21
  const onConfirm = useCallback(() => {
35
- // 用户真实交互过才弹二次确认;查看模式、未开启确认、或仅程序回填均直接关闭
36
- if (!shouldConfirmClose({
37
- isView,
38
- isConfirmClose,
39
- userInteracted: userInteractedRef.current
40
- })) {
41
- onCancel?.();
22
+ var _a, _b, _c, _d, _e, _f, _g, _h;
23
+ if (!shouldConfirmClose({ isView, isConfirmClose, userInteracted: userInteractedRef.current })) {
24
+ onCancel == null ? void 0 : onCancel();
42
25
  return;
43
26
  }
44
- if (confirmingRef.current) return;
27
+ if (confirmingRef.current)
28
+ return;
45
29
  confirmingRef.current = true;
46
30
  modal.confirm({
47
- className: 'width430',
48
- title: locale?.ProDrawerForm?.isSureClose,
49
- okText: locale?.ProDrawerForm?.confirm,
50
- cancelText: locale?.ProDrawerForm?.cancel,
51
- content: locale?.ProDrawerForm?.secondTipsWhenSave,
52
- mask: {
53
- blur: false
54
- },
31
+ className: "width430",
32
+ title: (_b = (_a = locale) == null ? void 0 : _a.ProDrawerForm) == null ? void 0 : _b.isSureClose,
33
+ okText: (_d = (_c = locale) == null ? void 0 : _c.ProDrawerForm) == null ? void 0 : _d.confirm,
34
+ cancelText: (_f = (_e = locale) == null ? void 0 : _e.ProDrawerForm) == null ? void 0 : _f.cancel,
35
+ content: (_h = (_g = locale) == null ? void 0 : _g.ProDrawerForm) == null ? void 0 : _h.secondTipsWhenSave,
36
+ mask: { blur: false },
55
37
  onOk: () => {
56
38
  confirmingRef.current = false;
57
- onCancel?.();
39
+ onCancel == null ? void 0 : onCancel();
58
40
  },
59
41
  onCancel: () => {
60
42
  confirmingRef.current = false;
@@ -62,9 +44,8 @@ export const useConfirmClose = ({
62
44
  ...isConfirmCloseModalProps
63
45
  });
64
46
  }, [isView, isConfirmClose, isConfirmCloseModalProps, onCancel, modal]);
65
- return {
66
- markInteracted,
67
- onConfirm,
68
- contextHolder
69
- };
70
- };
47
+ return { markInteracted, onConfirm, contextHolder };
48
+ };
49
+ export {
50
+ useConfirmClose
51
+ };