@zat-design/sisyphus-react 3.7.3-beta.1 → 3.7.3-beta.10

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 (211) hide show
  1. package/dist/index.esm.css +79 -0
  2. package/dist/less.esm.css +76 -0
  3. package/es/ProAction/index.js +4 -4
  4. package/es/ProDownload/index.d.ts +1 -1
  5. package/es/ProEditTable/components/ActionButton/index.d.ts +1 -1
  6. package/es/ProEditTable/components/RcTable/BaseTable.d.ts +1 -1
  7. package/es/ProEditTable/components/RcTable/DraggableTable.d.ts +1 -1
  8. package/es/ProEditTable/components/RcTable/VirtualTable.d.ts +1 -1
  9. package/es/ProEditTable/components/RenderField/{ListChanged.d.ts → ListChangedWrapper.d.ts} +4 -3
  10. package/es/ProEditTable/components/RenderField/{ListChanged.js → ListChangedWrapper.js} +22 -10
  11. package/es/ProEditTable/components/RenderField/index.d.ts +1 -1
  12. package/es/ProEditTable/components/RenderField/index.js +2 -2
  13. package/es/ProEditTable/components/RenderToolbar/index.d.ts +1 -1
  14. package/es/ProEditTable/components/Summary/index.d.ts +1 -1
  15. package/es/ProEditTable/utils/config.d.ts +1 -1
  16. package/es/ProEditTable/utils/tools.js +3 -3
  17. package/es/ProEnum/components/Group.d.ts +1 -1
  18. package/es/ProEnum/components/Tag.d.ts +1 -1
  19. package/es/ProEnum/index.d.ts +2 -2
  20. package/es/ProEnum/index.js +5 -4
  21. package/es/ProEnum/style/index.less +8 -4
  22. package/es/ProEnum/utils/eventCenter.js +2 -1
  23. package/es/ProEnum/utils/getEnumLabel.d.ts +1 -1
  24. package/es/ProEnum/utils/index.d.ts +1 -1
  25. package/es/ProEnum/utils/index.js +4 -0
  26. package/es/ProForm/components/base/Input/index.d.ts +1 -1
  27. package/es/ProForm/components/combination/Container/index.js +5 -3
  28. package/es/ProForm/components/combination/Container/propsType.d.ts +2 -1
  29. package/es/ProForm/components/combination/ProCascader/index.d.ts +1 -1
  30. package/es/ProForm/components/combination/ProCascader/index.js +7 -7
  31. package/es/ProForm/components/combination/ProNumberRange/index.js +3 -1
  32. package/es/ProForm/components/old/InputRange/index.d.ts +1 -1
  33. package/es/ProForm/components/old/InputWithSuffix/index.d.ts +1 -1
  34. package/es/ProForm/components/old/ProAddress/index.d.ts +2 -1
  35. package/es/ProForm/components/old/ProRangeBox/index.d.ts +2 -1
  36. package/es/ProForm/components/render/ChangedWrapper.d.ts +16 -0
  37. package/es/ProForm/components/render/{Changed.js → ChangedWrapper.js} +43 -15
  38. package/es/ProForm/components/render/Render.js +7 -8
  39. package/es/ProForm/components/render/RenderFields.d.ts +2 -3
  40. package/es/ProForm/components/render/RenderFields.js +3 -4
  41. package/es/ProForm/components/render/propsType.d.ts +4 -3
  42. package/es/ProForm/index.js +3 -6
  43. package/es/ProForm/propsType.d.ts +12 -2
  44. package/es/ProForm/style/index.less +102 -4
  45. package/es/ProForm/utils/diffOriginal.d.ts +4 -4
  46. package/es/ProForm/utils/diffOriginal.js +18 -7
  47. package/es/ProForm/utils/index.js +10 -14
  48. package/es/ProIcon/utils/index.js +3 -4
  49. package/es/ProLayout/components/Layout/Menu/OpenMenu/index.d.ts +1 -1
  50. package/es/ProLayout/components/Layout/Menu/OpenMenu/index.js +3 -3
  51. package/es/ProLayout/components/ProCollapse/index.d.ts +1 -1
  52. package/es/ProLayout/components/ProFooter/index.d.ts +1 -1
  53. package/es/ProLayout/components/ProHeader/components/Copy/index.d.ts +1 -1
  54. package/es/ProLayout/components/ProHeader/index.d.ts +1 -1
  55. package/es/ProLayout/index.d.ts +4 -4
  56. package/es/ProLayout/utils/index.js +9 -9
  57. package/es/ProSelect/components/AdaptiveTooltip.d.ts +1 -1
  58. package/es/ProSelect/index.d.ts +1 -1
  59. package/es/ProStep/components/Anchor/index.d.ts +1 -1
  60. package/es/ProStep/components/Item/index.d.ts +1 -1
  61. package/es/ProStep/components/Listener/index.d.ts +1 -1
  62. package/es/ProStep/components/Listener/index.js +5 -2
  63. package/es/ProStep/components/Step/index.d.ts +1 -1
  64. package/es/ProStep/index.d.ts +3 -3
  65. package/es/ProStep/index.js +24 -17
  66. package/es/ProTable/components/FormatColumn/index.js +3 -3
  67. package/es/ProTable/components/RcTable/components/BaseTable/index.d.ts +1 -1
  68. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +8 -9
  69. package/es/ProTable/components/RcTable/components/DraggableTable/index.d.ts +1 -1
  70. package/es/ProTable/components/RenderFooter/index.d.ts +1 -1
  71. package/es/ProTable/components/RenderTableHeader/index.d.ts +1 -1
  72. package/es/ProTable/components/TableResizable/index.d.ts +1 -1
  73. package/es/ProTable/index.d.ts +1 -1
  74. package/es/ProTabs/components/Card/index.d.ts +1 -1
  75. package/es/ProThemeTools/component/ProTools/index.d.ts +1 -1
  76. package/es/ProThemeTools/index.d.ts +1 -1
  77. package/es/ProTooltip/index.d.ts +1 -1
  78. package/es/ProTree/components/CloseIcon.d.ts +2 -1
  79. package/es/ProTree/components/List.d.ts +1 -1
  80. package/es/ProTree/components/ProTree.d.ts +1 -1
  81. package/es/ProTree/components/ProTreeSelect/index.d.ts +1 -1
  82. package/es/ProTree/components/ProTreeSelect/index.js +18 -18
  83. package/es/ProTree/components/ProTreeSelect/style/index.less +2 -2
  84. package/es/ProTree/components/SearchTitle.d.ts +1 -1
  85. package/es/ProTree/components/Tree.d.ts +1 -1
  86. package/es/ProTree/components/Tree.js +3 -3
  87. package/es/ProTree/index.d.ts +1 -1
  88. package/es/ProTree/utils.js +11 -12
  89. package/es/ProTreeModal/components/Cascader.d.ts +1 -1
  90. package/es/ProTreeModal/components/CloseIcon.d.ts +2 -1
  91. package/es/ProTreeModal/components/SearchTitle.d.ts +1 -1
  92. package/es/ProTreeModal/components/Tree.js +6 -6
  93. package/es/ProTreeModal/components/Trigger.d.ts +1 -1
  94. package/es/ProTreeModal/index.d.ts +1 -1
  95. package/es/ProTreeModal/utils.js +11 -12
  96. package/es/ProUpload/components/DraggableUploadListItem.d.ts +1 -1
  97. package/es/style/theme/antd.less +5 -0
  98. package/es/style/theme/index.less +1 -0
  99. package/es/style/theme/tokens.less +1 -0
  100. package/es/utils/index.d.ts +2 -0
  101. package/es/utils/index.js +13 -0
  102. package/lib/ProAction/index.js +4 -4
  103. package/lib/ProDownload/index.d.ts +1 -1
  104. package/lib/ProEditTable/components/ActionButton/index.d.ts +1 -1
  105. package/lib/ProEditTable/components/RcTable/BaseTable.d.ts +1 -1
  106. package/lib/ProEditTable/components/RcTable/DraggableTable.d.ts +1 -1
  107. package/lib/ProEditTable/components/RcTable/VirtualTable.d.ts +1 -1
  108. package/lib/ProEditTable/components/RenderField/{ListChanged.d.ts → ListChangedWrapper.d.ts} +4 -3
  109. package/lib/ProEditTable/components/RenderField/{ListChanged.js → ListChangedWrapper.js} +25 -11
  110. package/lib/ProEditTable/components/RenderField/index.d.ts +1 -1
  111. package/lib/ProEditTable/components/RenderField/index.js +2 -2
  112. package/lib/ProEditTable/components/RenderToolbar/index.d.ts +1 -1
  113. package/lib/ProEditTable/components/Summary/index.d.ts +1 -1
  114. package/lib/ProEditTable/utils/config.d.ts +1 -1
  115. package/lib/ProEditTable/utils/tools.js +3 -3
  116. package/lib/ProEnum/components/Group.d.ts +1 -1
  117. package/lib/ProEnum/components/Tag.d.ts +1 -1
  118. package/lib/ProEnum/index.d.ts +2 -2
  119. package/lib/ProEnum/index.js +5 -4
  120. package/lib/ProEnum/style/index.less +8 -4
  121. package/lib/ProEnum/utils/eventCenter.js +2 -1
  122. package/lib/ProEnum/utils/getEnumLabel.d.ts +1 -1
  123. package/lib/ProEnum/utils/index.d.ts +1 -1
  124. package/lib/ProEnum/utils/index.js +4 -0
  125. package/lib/ProForm/components/base/Input/index.d.ts +1 -1
  126. package/lib/ProForm/components/combination/Container/index.js +5 -3
  127. package/lib/ProForm/components/combination/Container/propsType.d.ts +2 -1
  128. package/lib/ProForm/components/combination/ProCascader/index.d.ts +1 -1
  129. package/lib/ProForm/components/combination/ProCascader/index.js +7 -7
  130. package/lib/ProForm/components/combination/ProNumberRange/index.js +3 -1
  131. package/lib/ProForm/components/old/InputRange/index.d.ts +1 -1
  132. package/lib/ProForm/components/old/InputWithSuffix/index.d.ts +1 -1
  133. package/lib/ProForm/components/old/ProAddress/index.d.ts +2 -1
  134. package/lib/ProForm/components/old/ProRangeBox/index.d.ts +2 -1
  135. package/lib/ProForm/components/render/ChangedWrapper.d.ts +16 -0
  136. package/lib/ProForm/components/render/{Changed.js → ChangedWrapper.js} +43 -15
  137. package/lib/ProForm/components/render/Render.js +7 -8
  138. package/lib/ProForm/components/render/RenderFields.d.ts +2 -3
  139. package/lib/ProForm/components/render/RenderFields.js +3 -4
  140. package/lib/ProForm/components/render/propsType.d.ts +4 -3
  141. package/lib/ProForm/index.js +3 -6
  142. package/lib/ProForm/propsType.d.ts +12 -2
  143. package/lib/ProForm/style/index.less +102 -4
  144. package/lib/ProForm/utils/diffOriginal.d.ts +4 -4
  145. package/lib/ProForm/utils/diffOriginal.js +18 -7
  146. package/lib/ProForm/utils/index.js +10 -10
  147. package/lib/ProIcon/utils/index.js +3 -3
  148. package/lib/ProLayout/components/Layout/Menu/OpenMenu/index.d.ts +1 -1
  149. package/lib/ProLayout/components/Layout/Menu/OpenMenu/index.js +3 -3
  150. package/lib/ProLayout/components/ProCollapse/index.d.ts +1 -1
  151. package/lib/ProLayout/components/ProFooter/index.d.ts +1 -1
  152. package/lib/ProLayout/components/ProHeader/components/Copy/index.d.ts +1 -1
  153. package/lib/ProLayout/components/ProHeader/index.d.ts +1 -1
  154. package/lib/ProLayout/index.d.ts +4 -4
  155. package/lib/ProLayout/utils/index.js +9 -9
  156. package/lib/ProSelect/components/AdaptiveTooltip.d.ts +1 -1
  157. package/lib/ProSelect/index.d.ts +1 -1
  158. package/lib/ProStep/components/Anchor/index.d.ts +1 -1
  159. package/lib/ProStep/components/Item/index.d.ts +1 -1
  160. package/lib/ProStep/components/Listener/index.d.ts +1 -1
  161. package/lib/ProStep/components/Listener/index.js +5 -2
  162. package/lib/ProStep/components/Step/index.d.ts +1 -1
  163. package/lib/ProStep/index.d.ts +3 -3
  164. package/lib/ProStep/index.js +24 -17
  165. package/lib/ProTable/components/FormatColumn/index.js +3 -3
  166. package/lib/ProTable/components/RcTable/components/BaseTable/index.d.ts +1 -1
  167. package/lib/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +8 -8
  168. package/lib/ProTable/components/RcTable/components/DraggableTable/index.d.ts +1 -1
  169. package/lib/ProTable/components/RenderFooter/index.d.ts +1 -1
  170. package/lib/ProTable/components/RenderTableHeader/index.d.ts +1 -1
  171. package/lib/ProTable/components/TableResizable/index.d.ts +1 -1
  172. package/lib/ProTable/index.d.ts +1 -1
  173. package/lib/ProTabs/components/Card/index.d.ts +1 -1
  174. package/lib/ProThemeTools/component/ProTools/index.d.ts +1 -1
  175. package/lib/ProThemeTools/index.d.ts +1 -1
  176. package/lib/ProTooltip/index.d.ts +1 -1
  177. package/lib/ProTree/components/CloseIcon.d.ts +2 -1
  178. package/lib/ProTree/components/List.d.ts +1 -1
  179. package/lib/ProTree/components/ProTree.d.ts +1 -1
  180. package/lib/ProTree/components/ProTreeSelect/index.d.ts +1 -1
  181. package/lib/ProTree/components/ProTreeSelect/index.js +18 -18
  182. package/lib/ProTree/components/ProTreeSelect/style/index.less +2 -2
  183. package/lib/ProTree/components/SearchTitle.d.ts +1 -1
  184. package/lib/ProTree/components/Tree.d.ts +1 -1
  185. package/lib/ProTree/components/Tree.js +3 -3
  186. package/lib/ProTree/index.d.ts +1 -1
  187. package/lib/ProTree/utils.js +11 -11
  188. package/lib/ProTreeModal/components/Cascader.d.ts +1 -1
  189. package/lib/ProTreeModal/components/CloseIcon.d.ts +2 -1
  190. package/lib/ProTreeModal/components/SearchTitle.d.ts +1 -1
  191. package/lib/ProTreeModal/components/Tree.js +6 -6
  192. package/lib/ProTreeModal/components/Trigger.d.ts +1 -1
  193. package/lib/ProTreeModal/index.d.ts +1 -1
  194. package/lib/ProTreeModal/utils.js +11 -11
  195. package/lib/ProUpload/components/DraggableUploadListItem.d.ts +1 -1
  196. package/lib/style/theme/antd.less +5 -0
  197. package/lib/style/theme/index.less +1 -0
  198. package/lib/style/theme/tokens.less +1 -0
  199. package/lib/utils/index.d.ts +2 -0
  200. package/lib/utils/index.js +19 -0
  201. package/package.json +2 -1
  202. package/es/ProForm/components/render/Changed.d.ts +0 -14
  203. package/lib/ProForm/components/render/Changed.d.ts +0 -14
  204. /package/es/ProForm/utils/{useChanged.d.ts → _useChanged.d.ts} +0 -0
  205. /package/es/ProForm/utils/{useChanged.js → _useChanged.js} +0 -0
  206. /package/es/ProForm/utils/{useListChanged.d.ts → _useListChanged.d.ts} +0 -0
  207. /package/es/ProForm/utils/{useListChanged.js → _useListChanged.js} +0 -0
  208. /package/lib/ProForm/utils/{useChanged.d.ts → _useChanged.d.ts} +0 -0
  209. /package/lib/ProForm/utils/{useChanged.js → _useChanged.js} +0 -0
  210. /package/lib/ProForm/utils/{useListChanged.d.ts → _useListChanged.d.ts} +0 -0
  211. /package/lib/ProForm/utils/{useListChanged.js → _useListChanged.js} +0 -0
@@ -9,11 +9,12 @@ import ProCollapse from '../../../../ProLayout/components/ProCollapse';
9
9
  import ProForm from '../../../../ProForm';
10
10
  var Container = function Container(props) {
11
11
  var children = props.children,
12
- otherProps = props.otherProps,
13
12
  className = props.className,
14
13
  container = props.container,
15
14
  show = props.show,
16
- clearNotShow = props.clearNotShow;
15
+ clearNotShow = props.clearNotShow,
16
+ diffConfig = props.diffConfig,
17
+ otherProps = props.otherProps;
17
18
  var _ref = ProForm.useFieldProps() || {},
18
19
  type = _ref.type,
19
20
  form = _ref.form,
@@ -38,7 +39,8 @@ var Container = function Container(props) {
38
39
  var childRender = function childRender() {
39
40
  var child = _jsx(RenderFields, _objectSpread({
40
41
  columns: _children,
41
- form: form
42
+ form: form,
43
+ diffConfig: diffConfig
42
44
  }, otherProps));
43
45
  if (type === 'ProCollapse') {
44
46
  return _jsx(ProCollapse, _objectSpread(_objectSpread({}, omit(props, ['otherProps', 'children', 'onBlur', 'onChange', 'placeholder', 'className'])), {}, {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { RowProps } from 'antd';
3
- import { ProColumnProps, ProFormOtherProps } from '../../../propsType';
3
+ import { ProColumnProps, ProFormOtherProps, DiffConfigProps } from '../../../propsType';
4
4
  export interface ContainerProps {
5
5
  children?: ProColumnProps[];
6
6
  otherProps?: ProFormOtherProps;
@@ -8,5 +8,6 @@ export interface ContainerProps {
8
8
  className?: string;
9
9
  container?: string | React.ReactNode;
10
10
  show?: boolean | (() => boolean);
11
+ diffConfig?: DiffConfigProps;
11
12
  clearNotShow?: boolean;
12
13
  }
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { ProCascaderProps } from './propsType';
3
- declare const _default: import("react").MemoExoticComponent<(props: ProCascaderProps) => import("react/jsx-runtime").JSX.Element>;
3
+ declare const _default: import("react").MemoExoticComponent<(props: ProCascaderProps) => JSX.Element>;
4
4
  export default _default;
@@ -29,9 +29,9 @@ var defaultFieldNames = {
29
29
  value: 'code',
30
30
  children: 'children'
31
31
  };
32
- var _filterDataSource = function filterDataSource(dataSource, level, fieldNames) {
32
+ var filterDataSource = function filterDataSource(dataSource, level, fieldNames) {
33
33
  return dataSource === null || dataSource === void 0 ? void 0 : dataSource.map(function (item) {
34
- return _objectSpread(_objectSpread({}, item), {}, _defineProperty({}, (fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.children) || 'children', level === 1 ? [] : _filterDataSource(item === null || item === void 0 ? void 0 : item[(fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.children) || 'children'], level - 1, fieldNames)));
34
+ return _objectSpread(_objectSpread({}, item), {}, _defineProperty({}, (fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.children) || 'children', level === 1 ? [] : filterDataSource(item === null || item === void 0 ? void 0 : item[(fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.children) || 'children'], level - 1, fieldNames)));
35
35
  });
36
36
  };
37
37
  var getViewLabel = function getViewLabel(_ref) {
@@ -96,7 +96,7 @@ var ProCascader = function ProCascader(props) {
96
96
  enumDataSource = _ref5$ === void 0 ? [] : _ref5$;
97
97
  var realDataSource = useMemo(function () {
98
98
  var innerDataSource = dataSource || (addressCode ? enumDataSource : []);
99
- var result = isAddressMode && realLevel === 2 ? _filterDataSource(innerDataSource, level, fieldNames) : innerDataSource;
99
+ var result = isAddressMode && realLevel === 2 ? filterDataSource(innerDataSource, level, fieldNames) : innerDataSource;
100
100
  return transformDataName(result, fieldNames);
101
101
  }, [isAddressMode, addressCode, realLevel, dataSource, enumDataSource === null || enumDataSource === void 0 ? void 0 : enumDataSource.length]);
102
102
  var _useRequest = _objectSpread({}, useRequest),
@@ -131,7 +131,7 @@ var ProCascader = function ProCascader(props) {
131
131
  value: fieldNames.value,
132
132
  children: (fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.children) || 'children'
133
133
  });
134
- serviceData = isAddressMode && realLevel === 2 ? _filterDataSource(transFormData, level, fieldNames) : transFormData;
134
+ serviceData = isAddressMode && realLevel === 2 ? filterDataSource(transFormData, level, fieldNames) : transFormData;
135
135
  setServiceData(serviceData);
136
136
  case 9:
137
137
  case "end":
@@ -196,7 +196,7 @@ var ProCascader = function ProCascader(props) {
196
196
  })) === null || _ref7$filter === void 0 ? void 0 : _ref7$filter.join(separator)) || '-' : (defaultLabel === null || defaultLabel === void 0 ? void 0 : (_defaultLabel$filter = defaultLabel.filter(function (item) {
197
197
  return !!item;
198
198
  })) === null || _defaultLabel$filter === void 0 ? void 0 : _defaultLabel$filter.join(separator)) || '-';
199
- var _findSelectedOptions = function findSelectedOptions(options, value) {
199
+ var findSelectedOptions = function findSelectedOptions(options, value) {
200
200
  var path = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
201
201
  var _value = value !== null && value !== void 0 ? value : [];
202
202
  // 基准情况:如果 value 数组为空,且 path 不为空,说明找到了完整的路径
@@ -215,7 +215,7 @@ var ProCascader = function ProCascader(props) {
215
215
  if (foundOption) {
216
216
  // 如果找到了匹配的选项,并且还有更多的 value 需要匹配,递归地在子选项中查找
217
217
  if (_value.length > 1 && foundOption.children) {
218
- return _findSelectedOptions(foundOption.children, _value.slice(1), [].concat(_toConsumableArray(path), [foundOption]));
218
+ return findSelectedOptions(foundOption.children, _value.slice(1), [].concat(_toConsumableArray(path), [foundOption]));
219
219
  }
220
220
  // 如果没有更多的 value 需要匹配,返回当前选项(以及之前的路径)
221
221
  return [].concat(_toConsumableArray(path), [foundOption]);
@@ -224,7 +224,7 @@ var ProCascader = function ProCascader(props) {
224
224
  return null;
225
225
  };
226
226
  var _selectedOptions = useMemo(function () {
227
- return _findSelectedOptions(service ? serviceData : realDataSource, addressValue);
227
+ return findSelectedOptions(service ? serviceData : realDataSource, addressValue);
228
228
  }, [service, serviceData, realDataSource, addressValue]);
229
229
  var handleAddressChange = function handleAddressChange(e) {
230
230
  var cascaderValue = value === null || value === void 0 ? void 0 : value.slice(0, realLevel);
@@ -91,7 +91,9 @@ var ProNumberRange = function ProNumberRange(props) {
91
91
  });
92
92
  // 查看模式
93
93
  if (isView || props.isView) {
94
- if (isEmpty(value)) {
94
+ if (isEmpty(value) || (value === null || value === void 0 ? void 0 : value.every(function (item) {
95
+ return typeof item !== 'number';
96
+ }))) {
95
97
  return viewEmpty;
96
98
  }
97
99
  switch (valueType) {
@@ -12,5 +12,5 @@ export interface InputRangeProps {
12
12
  isPositiveInteger?: boolean;
13
13
  precision?: number;
14
14
  }
15
- declare const InputRange: ({ value, onChange, min, max, group, disabled, precision, isPositiveInteger, }: InputRangeProps) => import("react/jsx-runtime").JSX.Element;
15
+ declare const InputRange: ({ value, onChange, min, max, group, disabled, precision, isPositiveInteger, }: InputRangeProps) => JSX.Element;
16
16
  export default InputRange;
@@ -1,3 +1,3 @@
1
1
  import { comPropsType } from './propsTypes';
2
- declare const InputWithSuffix: (props: comPropsType) => import("react/jsx-runtime").JSX.Element;
2
+ declare const InputWithSuffix: (props: comPropsType) => JSX.Element;
3
3
  export default InputWithSuffix;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { ProAddressPropsType } from './propsTypes';
2
3
  export declare const transferAddressInfoToRegion: () => {
3
4
  normalize: (value: any) => {
@@ -23,5 +24,5 @@ export declare const transferAddressInfoToRegion: () => {
23
24
  };
24
25
  };
25
26
  };
26
- export declare function ProAddress({ ...props }: ProAddressPropsType): import("react/jsx-runtime").JSX.Element;
27
+ export declare function ProAddress({ ...props }: ProAddressPropsType): JSX.Element;
27
28
  export default ProAddress;
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  import { ProRangeBoxPropsType } from './propsType';
2
- export default function ProRangeBox({ configOption }: ProRangeBoxPropsType): import("react/jsx-runtime").JSX.Element;
3
+ export default function ProRangeBox({ configOption }: ProRangeBoxPropsType): JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { FormInstance } from 'antd';
2
+ import { NamePath } from 'antd/lib/form/interface';
3
+ import React from 'react';
4
+ import { DiffOriginalParams } from '../../utils/diffOriginal';
5
+ import { DiffConfigProps } from '../../propsType';
6
+ interface Props {
7
+ name?: NamePath;
8
+ names?: NamePath[];
9
+ namesStr?: string;
10
+ diffConfig?: DiffConfigProps;
11
+ form: FormInstance;
12
+ equalWith?: DiffOriginalParams['equalWith'];
13
+ [name: string]: any;
14
+ }
15
+ declare const ChangedWrapper: React.FC<Props>;
16
+ export default ChangedWrapper;
@@ -4,61 +4,89 @@ import "antd/es/tooltip/style";
4
4
  import _Tooltip from "antd/es/tooltip";
5
5
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
6
6
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
7
- var _excluded = ["name", "names", "namesStr", "originalValues", "form", "equalWith", "children", "type", "originalDiffTip"];
7
+ var _excluded = ["name", "names", "namesStr", "form", "equalWith", "children", "type", "diffConfig", "valuePropName"];
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ import classNames from 'classnames';
9
10
  import { get } from 'lodash';
10
11
  import React, { useMemo } from 'react';
11
12
  import { diffOriginal } from '../../utils/diffOriginal';
12
- var Changed = function Changed(props) {
13
+ import { useProConfig } from '../../../ProConfigProvider';
14
+ import { isEmpty } from '../../../utils';
15
+ var ChangedWrapper = function ChangedWrapper(props) {
16
+ var _diffConfig$toolTip;
13
17
  var name = props.name,
14
18
  names = props.names,
15
19
  namesStr = props.namesStr,
16
- originalValues = props.originalValues,
17
20
  form = props.form,
18
21
  equalWith = props.equalWith,
19
22
  children = props.children,
20
23
  type = props.type,
21
- originalDiffTip = props.originalDiffTip,
24
+ diffConfig = props.diffConfig,
25
+ _props$valuePropName = props.valuePropName,
26
+ valuePropName = _props$valuePropName === void 0 ? 'value' : _props$valuePropName,
22
27
  rest = _objectWithoutProperties(props, _excluded);
28
+ var _useProConfig = useProConfig('ProForm'),
29
+ isDiffAll = _useProConfig.isDiffAll;
30
+ var originalValues = diffConfig.originalValues,
31
+ changeTipColor = diffConfig.changeTipColor,
32
+ addTipColor = diffConfig.addTipColor;
33
+ var toolTip = (_diffConfig$toolTip = diffConfig.toolTip) !== null && _diffConfig$toolTip !== void 0 ? _diffConfig$toolTip : true;
23
34
  // 不渲染tooltip
24
- var notWatch = !originalDiffTip || ['FormList', 'ProEditTable'].includes(type);
35
+ var isWatch = toolTip && !['FormList', 'ProEditTable'].includes(type);
25
36
  var originalValue = (names === null || names === void 0 ? void 0 : names.length) ? names.map(function (name) {
26
37
  return get(originalValues, name);
27
38
  }) : get(originalValues, name);
28
- var noChange = !equalWith && (!originalValues || originalValue === undefined);
29
- var changed = useMemo(function () {
30
- if (notWatch || noChange) return false;
39
+ var noChange = !equalWith && (!originalValues || isDiffAll ? false : isEmpty(originalValue));
40
+ var diffType = useMemo(function () {
41
+ if (!isWatch || noChange) return 'same';
31
42
  return diffOriginal({
32
43
  originalValue: originalValue,
33
- value: props.value,
44
+ value: props[valuePropName],
34
45
  form: form,
35
46
  equalWith: equalWith
36
47
  // name: namesStr || name,
37
48
  });
38
- }, [notWatch, noChange, props.value, originalValue]);
49
+ }, [isWatch, noChange, props[valuePropName], originalValue]);
50
+ var isAdd = diffType === 'add';
51
+ var isChanged = diffType === 'changed';
39
52
  var tipContent = useMemo(function () {
40
- if (notWatch || noChange) return undefined;
53
+ if (!isWatch || noChange) return undefined;
41
54
  return /*#__PURE__*/React.isValidElement(children) ? /*#__PURE__*/React.cloneElement(children, _objectSpread(_objectSpread({}, children.props), {}, {
42
55
  isView: true,
43
56
  value: originalValue,
44
57
  checked: type === 'Switch' ? originalValue : undefined
45
58
  })) : undefined;
46
59
  }, [originalValue, children]);
47
- if (notWatch || noChange) {
60
+ if (!isWatch || noChange) {
48
61
  return /*#__PURE__*/React.isValidElement(children) && /*#__PURE__*/React.cloneElement(children, _objectSpread(_objectSpread({}, children.props), rest));
49
62
  }
63
+ var tipOpenCalc = function tipOpenCalc() {
64
+ if (!toolTip) return false;
65
+ // 传入undefined 鼠标移入显示移出隐藏
66
+ return isChanged ? undefined : false;
67
+ };
68
+ var style = {
69
+ '--zaui-contract-bg': changeTipColor,
70
+ '--zaui-contract-bg-add': addTipColor
71
+ };
72
+ var diffClassName = classNames({
73
+ 'pro-form-item-changed': isChanged,
74
+ 'pro-form-item-add': isAdd
75
+ });
50
76
  return _jsx(_Tooltip, {
51
- open: changed ? undefined : false,
77
+ open: tipOpenCalc(),
52
78
  getPopupContainer: function getPopupContainer(target) {
53
79
  return target.parentElement;
54
80
  },
55
81
  title: _jsxs(_Space, {
56
82
  children: ["\u521D\u59CB\u503C\uFF1A", tipContent]
57
83
  }),
84
+ placement: "topLeft",
58
85
  children: _jsx("div", {
59
- className: changed ? 'pro-form-item-changed' : '',
86
+ className: diffClassName,
87
+ style: style,
60
88
  children: /*#__PURE__*/React.isValidElement(children) ? /*#__PURE__*/React.cloneElement(children, _objectSpread(_objectSpread({}, children.props), rest)) : undefined
61
89
  })
62
90
  });
63
91
  };
64
- export default Changed;
92
+ export default ChangedWrapper;
@@ -28,7 +28,7 @@ import valueTypeMap from '../../utils/valueType';
28
28
  import tipSvg from '../../../assets/tip.svg';
29
29
  import useRules from '../../utils/useRules';
30
30
  import ConfirmWrapper from './ConfirmWrapper';
31
- import Changed from './Changed';
31
+ import ChangedWrapper from './ChangedWrapper';
32
32
  // 这个组件只管渲染, 参数的整理在外部处理
33
33
  var Render = function Render(props) {
34
34
  var _ref2, _ref3, _ref4, _ref5, _otherProps$names2;
@@ -46,12 +46,11 @@ var Render = function Render(props) {
46
46
  formDisabled = props.formDisabled,
47
47
  type = props.type,
48
48
  isSelect = props.isSelect,
49
- originalValues = props.originalValues,
50
49
  equalWith = props.equalWith,
51
50
  requiredOnView = props.requiredOnView,
52
- originalDiffTip = props.originalDiffTip,
53
51
  confirm = props.confirm,
54
- globalControl = props.globalControl;
52
+ globalControl = props.globalControl,
53
+ diffConfig = props.diffConfig;
55
54
  var colProps = props.colProps;
56
55
  // 剔除一些不是FormItem的属性, 防止控制台报warning
57
56
  var labelWidth = formItemProps.labelWidth,
@@ -427,17 +426,17 @@ var Render = function Render(props) {
427
426
  span: 24 // 默认占一行
428
427
  });
429
428
  }
430
- if (originalValues) {
431
- child = _jsx(Changed, {
429
+ if (diffConfig) {
430
+ child = _jsx(ChangedWrapper, {
432
431
  name: formItemProps.name,
433
432
  names: otherProps.names,
434
433
  namesStr: namesStr,
435
- originalValues: originalValues,
434
+ diffConfig: diffConfig,
436
435
  form: form,
437
436
  equalWith: equalWith,
438
- originalDiffTip: originalDiffTip,
439
437
  type: type,
440
438
  onChange: handleChange,
439
+ valuePropName: _otherFormItemProps.valuePropName,
441
440
  children: child
442
441
  });
443
442
  }
@@ -2,7 +2,7 @@ import { ColProps } from 'antd';
2
2
  import { FormInstance } from 'antd/es/form/Form';
3
3
  import React from 'react';
4
4
  import { ProColumnProps } from './propsType';
5
- import { ProFormProps } from '../../propsType';
5
+ import { DiffConfigProps } from '../../propsType';
6
6
  interface Props<T = any> {
7
7
  isView?: boolean;
8
8
  columns: ProColumnProps[];
@@ -13,11 +13,10 @@ interface Props<T = any> {
13
13
  viewEmpty?: React.ReactNode;
14
14
  openState?: boolean;
15
15
  labelWidth?: string | number;
16
- originalValues?: ProFormProps<T>['originalValues'];
16
+ diffConfig?: DiffConfigProps;
17
17
  clearNotShow?: boolean;
18
18
  requiredOnView?: boolean;
19
19
  required?: boolean | boolean[] | (() => boolean | boolean[]);
20
- originalDiffTip?: boolean;
21
20
  globalControl?: boolean;
22
21
  }
23
22
  declare const RenderFields: React.FC<Props>;
@@ -22,11 +22,10 @@ var RenderFields = function RenderFields(props) {
22
22
  viewEmpty = _props$viewEmpty === void 0 ? '-' : _props$viewEmpty,
23
23
  openState = props.openState,
24
24
  labelWidth = props.labelWidth,
25
- originalValues = props.originalValues,
26
25
  outerClearNotShow = props.clearNotShow,
27
26
  requiredOnView = props.requiredOnView,
28
27
  required = props.required,
29
- originalDiffTip = props.originalDiffTip,
28
+ diffConfig = props.diffConfig,
30
29
  globalControl = props.globalControl;
31
30
  // 是否包含隐藏字段
32
31
  var hiddenData = columns.filter(function (item) {
@@ -154,6 +153,7 @@ var RenderFields = function RenderFields(props) {
154
153
  if (['ProCollapse', 'Container'].includes(_type)) {
155
154
  componentProps.show = show;
156
155
  componentProps.clearNotShow = clearNotShow;
156
+ componentProps.diffConfig = diffConfig;
157
157
  }
158
158
  // switch与SwitchCheckbox单独添加valuePropName
159
159
  if (['Switch', 'SwitchCheckbox'].includes(_type)) {
@@ -206,10 +206,9 @@ var RenderFields = function RenderFields(props) {
206
206
  otherProps: otherProps,
207
207
  fieldProps: isFunction(fieldProps) ? fieldProps : null,
208
208
  isSelect: _isSelect,
209
- originalValues: originalValues,
209
+ diffConfig: diffConfig,
210
210
  equalWith: equalWith,
211
211
  requiredOnView: requiredOnView,
212
- originalDiffTip: originalDiffTip,
213
212
  globalControl: globalControl
214
213
  })
215
214
  }, "".concat(_formItemProps.name || _formItemProps.label).concat(index));
@@ -30,7 +30,8 @@ import { ProUploadProps } from '../../../ProUpload/propsType';
30
30
  import { ProTreeProps } from '../../../ProTree/propsType';
31
31
  import { GroupProps as GroupCopyProps } from '../combination/Group/propsType';
32
32
  import { ProCollapseProps } from '../../../ProLayout/components/ProCollapse/PropTypes';
33
- import { DistributiveOmit } from '../../propsType';
33
+ import { DistributiveOmit, DiffConfigProps } from '../../propsType';
34
+ import { DiffOriginalParams } from '../../utils/diffOriginal';
34
35
  export type ComponentMap = keyof typeof componentMap;
35
36
  type ValidateKey = keyof typeof validate;
36
37
  type RegExpKey = keyof typeof regExp;
@@ -201,7 +202,7 @@ export interface ProFormColumnProps<Values = any> extends Omit<FormItemProps<Val
201
202
  upperCase?: boolean;
202
203
  hiddenNames?: string[] | any[];
203
204
  rules?: ProRule[] | ReactiveFunction<Values, ProRule[]>;
204
- equalWith?: (originValue: any, currentValue: any) => boolean;
205
+ equalWith?: DiffOriginalParams['equalWith'];
205
206
  required?: boolean | boolean[] | ReactiveFunction<Values, boolean | boolean[]>;
206
207
  labelRequired?: boolean;
207
208
  toISOString?: boolean;
@@ -267,7 +268,7 @@ export interface RenderProps<Values = any> {
267
268
  form: FormInstance<Values>;
268
269
  fieldProps?: ReactiveFunction<Values, React.ReactNode>;
269
270
  isSelect: boolean;
270
- originalValues?: Values;
271
+ diffConfig: DiffConfigProps;
271
272
  requiredOnView?: boolean;
272
273
  confirm?: ProFormColumnProps['confirm'];
273
274
  globalControl?: boolean;
@@ -11,7 +11,7 @@ import _Space from "antd/es/space";
11
11
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
12
12
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
13
13
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
14
- var _excluded = ["mode", "span", "disabled", "isView", "columns", "footer", "onOk", "okText", "onCancel", "confirmLoading", "cancelText", "form", "children", "rowProps", "className", "expand", "expandOpen", "expandOpenChange", "viewEmpty", "labelAlign", "labelWidth", "onValuesChange", "onFinish", "originalValues", "submitOnEnter", "clearNotShow", "initialValues", "requiredOnView", "formId", "required", "originalDiffTip", "formKey", "globalControl", "scrollToError", "optimize"];
14
+ var _excluded = ["mode", "span", "disabled", "isView", "columns", "footer", "onOk", "okText", "onCancel", "confirmLoading", "cancelText", "form", "children", "rowProps", "className", "expand", "expandOpen", "expandOpenChange", "viewEmpty", "labelAlign", "labelWidth", "onValuesChange", "onFinish", "diffConfig", "submitOnEnter", "clearNotShow", "initialValues", "requiredOnView", "formId", "required", "formKey", "globalControl", "scrollToError", "optimize"];
15
15
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
16
  import { DoubleLeftOutlined } from '@ant-design/icons';
17
17
  import classnames from 'classnames';
@@ -53,7 +53,7 @@ var ProForm = function ProForm(props, ref) {
53
53
  labelWidth = props.labelWidth,
54
54
  onValuesChange = props.onValuesChange,
55
55
  onFinish = props.onFinish,
56
- originalValues = props.originalValues,
56
+ diffConfig = props.diffConfig,
57
57
  submitOnEnter = props.submitOnEnter,
58
58
  _props$clearNotShow = props.clearNotShow,
59
59
  clearNotShow = _props$clearNotShow === void 0 ? true : _props$clearNotShow,
@@ -62,8 +62,6 @@ var ProForm = function ProForm(props, ref) {
62
62
  requiredOnView = _props$requiredOnView === void 0 ? true : _props$requiredOnView,
63
63
  formId = props.formId,
64
64
  required = props.required,
65
- _props$originalDiffTi = props.originalDiffTip,
66
- originalDiffTip = _props$originalDiffTi === void 0 ? true : _props$originalDiffTi,
67
65
  formKey = props.formKey,
68
66
  globalControl = props.globalControl,
69
67
  _props$scrollToError = props.scrollToError,
@@ -261,11 +259,10 @@ var ProForm = function ProForm(props, ref) {
261
259
  colProps: colProps,
262
260
  viewEmpty: viewEmpty,
263
261
  labelWidth: labelWidth,
264
- originalValues: originalValues,
262
+ diffConfig: diffConfig,
265
263
  clearNotShow: clearNotShow,
266
264
  requiredOnView: requiredOnView,
267
265
  required: required,
268
- originalDiffTip: originalDiffTip,
269
266
  globalControl: globalControl
270
267
  }), footerRender()]
271
268
  })), children]
@@ -45,6 +45,16 @@ export interface ProFormOtherProps {
45
45
  globalControl?: boolean;
46
46
  formDisabled?: boolean;
47
47
  }
48
+ export interface DiffConfigProps<Values = any> {
49
+ /** 比对原始数据源 */
50
+ originalValues: Values;
51
+ /** 是否显示对比值气泡 */
52
+ toolTip?: boolean;
53
+ /** 变更提示颜色 */
54
+ changeTipColor?: string;
55
+ /** 新增提示颜色 */
56
+ addTipColor?: string;
57
+ }
48
58
  export interface ProFormProps<Values = any> extends FormProps<Values> {
49
59
  disabled?: boolean;
50
60
  /** 全局控制优先 */
@@ -67,14 +77,14 @@ export interface ProFormProps<Values = any> extends FormProps<Values> {
67
77
  viewEmpty?: React.ReactNode | string;
68
78
  confirmLoading?: boolean;
69
79
  labelWidth?: string | number;
70
- originalValues?: Values;
71
80
  /** 是否回车提交 */
72
81
  submitOnEnter?: boolean;
73
82
  clearNotShow?: boolean;
74
83
  requiredOnView?: boolean;
75
84
  formId?: string;
76
85
  required?: boolean | boolean[];
77
- originalDiffTip?: boolean;
86
+ /** 表单比对配置 */
87
+ diffConfig?: DiffConfigProps;
78
88
  scrollToError?: boolean;
79
89
  /** 性能模式,谨慎使用,默认不开启
80
90
  * 1. 开启不过滤names的中间态值
@@ -99,10 +99,12 @@
99
99
 
100
100
  &.pro-form-item-width-auto {
101
101
  .@{ant-prefix}-form-item-control-input {
102
+ width: 100%;
102
103
  flex-grow: inherit;
103
104
  }
104
105
 
105
106
  .@{ant-prefix}-form-item-control-input-content {
107
+ width: 100%;
106
108
  flex: initial;
107
109
  }
108
110
  }
@@ -314,16 +316,23 @@
314
316
  vertical-align: middle;
315
317
  }
316
318
  }
317
- .pro-form-list-mode-block{
318
- .pro-collapse-content{
319
- .@{ant-prefix}-row{
319
+
320
+ .pro-form-list-mode-block {
321
+ .pro-collapse-content {
322
+ .@{ant-prefix}-row {
320
323
  width: auto;
321
324
  }
322
325
  }
323
326
  }
324
327
 
325
- // 比较原始值场景下 不同时的样式
326
328
  .pro-form-item-changed {
329
+ border-radius: 4px;
330
+ background: @zaui-contract-bg !important;
331
+
332
+ .@{ant-prefix}-select.@{ant-prefix}-select-disabled .@{ant-prefix}-select-selector{
333
+ background: @zaui-contract-bg !important;
334
+ }
335
+
327
336
  span.@{ant-prefix}-input-affix-wrapper,
328
337
  .@{ant-prefix}-select .@{ant-prefix}-select-selector,
329
338
  .@{ant-prefix}-picker,
@@ -367,10 +376,99 @@
367
376
  }
368
377
  }
369
378
 
379
+ // checkbox
380
+ .@{ant-prefix}-checkbox-group {
381
+ padding: 5px 0
382
+ }
383
+ // switch
384
+ &:has(.@{ant-prefix}-switch) {
385
+ padding: 5px 0;
386
+ }
387
+
388
+ // textArea
389
+ .@{ant-prefix}-input-textarea > textarea {
390
+ background: @zaui-contract-bg;
391
+ }
392
+
370
393
  .pro-form-view-container {
371
394
  padding: 4px 8px;
372
395
  background: @zaui-contract-bg;
373
396
  border-radius: 4px;
374
397
  }
375
398
  }
399
+
400
+
401
+ // 比较原始值场景下 不同时的样式
402
+ .pro-form-item-add {
403
+ border-radius: 4px;
404
+ background: @zaui-contract-bg-add !important;
405
+
406
+ .@{ant-prefix}-select.@{ant-prefix}-select-disabled .@{ant-prefix}-select-selector{
407
+ background: @zaui-contract-bg-add !important;
408
+ }
409
+
410
+ span.@{ant-prefix}-input-affix-wrapper,
411
+ .@{ant-prefix}-select .@{ant-prefix}-select-selector,
412
+ .@{ant-prefix}-picker,
413
+ .@{ant-prefix}-input-number {
414
+ background: @zaui-contract-bg-add !important;
415
+
416
+ input {
417
+ background: transparent !important;
418
+ }
419
+ .@{ant-prefix}-select-selection-placeholder {
420
+ z-index: 9;
421
+ }
422
+ }
423
+
424
+ .@{ant-prefix}-form-item-control:has(.@{ant-prefix}-switch-handle),
425
+ .@{ant-prefix}-form-item-control:has(.@{ant-prefix}-checkbox-wrapper-in-form-item) {
426
+ background: @zaui-contract-bg-add;
427
+ border-radius: 4px;
428
+ }
429
+
430
+ // 地址组件
431
+ .@{ant-prefix}-form-item-control-input-content {
432
+ // 查看模式
433
+ & > span {
434
+ border-radius: 4px;
435
+ padding: 5px 8px;
436
+ background: @zaui-contract-bg-add;
437
+ }
438
+
439
+ & > .pro-address {
440
+ .@{ant-prefix}-select-selector,
441
+ .@{ant-prefix}-input-affix-wrapper,
442
+ .@{ant-prefix}-input-disabled {
443
+ background: @zaui-contract-bg-add;
444
+ }
445
+ }
446
+ & > .@{ant-prefix}-input-group {
447
+ .forever-checkbox {
448
+ background: @zaui-contract-bg-add;
449
+ }
450
+ }
451
+ }
452
+
453
+ // checkbox
454
+ .@{ant-prefix}-checkbox-group {
455
+ padding: 5px 0
456
+ }
457
+ // switch
458
+ &:has(.@{ant-prefix}-switch) {
459
+ padding: 5px 0;
460
+ }
461
+
462
+ // textArea
463
+ .@{ant-prefix}-input-textarea > textarea {
464
+ background: @zaui-contract-bg-add;
465
+ }
466
+
467
+
468
+ .pro-form-view-container {
469
+ padding: 4px 8px;
470
+ background: @zaui-contract-bg-add;
471
+ border-radius: 4px;
472
+ }
473
+ }
376
474
  }
@@ -1,9 +1,9 @@
1
1
  import { FormInstance } from 'antd';
2
- interface Params {
2
+ export interface DiffOriginalParams {
3
3
  originalValue: any;
4
4
  value: any;
5
5
  form: FormInstance;
6
- equalWith?: (originalValue: any, currentValue: any) => boolean;
6
+ equalWith?: (originalValue: any, currentValue: any) => DiffType | boolean | undefined;
7
7
  }
8
- export declare const diffOriginal: (params: Params) => boolean;
9
- export {};
8
+ export type DiffType = 'same' | 'add' | 'changed';
9
+ export declare const diffOriginal: (params: DiffOriginalParams) => DiffType;