@zat-design/sisyphus-react 3.3.3 → 3.4.0

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 (69) hide show
  1. package/dist/index.esm.css +32 -5
  2. package/es/ProConfigProvider/index.d.ts +10 -2
  3. package/es/ProConfigProvider/index.js +13 -7
  4. package/es/ProEditLabel/index.js +2 -3
  5. package/es/ProEditTable/components/ActionButton/index.js +6 -6
  6. package/es/ProEditTable/components/RenderField/index.js +5 -5
  7. package/es/ProEditTable/style/index.less +0 -1
  8. package/es/ProEditTable/utils/index.js +2 -4
  9. package/es/ProForm/components/base/Switch/index.js +0 -1
  10. package/es/ProForm/components/base/TextArea/index.js +1 -3
  11. package/es/ProForm/components/base/TextArea/index.less +7 -0
  12. package/es/ProForm/components/combination/FormList/components/ActionButton.js +2 -2
  13. package/es/ProForm/components/combination/Group/index.js +6 -1
  14. package/es/ProForm/components/combination/Group/style/index.less +2 -1
  15. package/es/ProForm/components/combination/ProCombination/index.js +0 -1
  16. package/es/ProForm/components/combination/ProModalSelect/index.js +2 -2
  17. package/es/ProForm/components/render/Render.js +3 -4
  18. package/es/ProForm/index.js +36 -6
  19. package/es/ProForm/propsType.d.ts +1 -0
  20. package/es/ProForm/utils/index.d.ts +4 -0
  21. package/es/ProForm/utils/index.js +23 -6
  22. package/es/ProForm/utils/useForm.js +48 -75
  23. package/es/ProForm/utils/useRules.js +4 -2
  24. package/es/ProForm/utils/useShouldUpdate.js +11 -7
  25. package/es/ProStep/index.js +0 -1
  26. package/es/ProThemeTools/index.d.ts +1 -1
  27. package/es/ProThemeTools/index.js +10 -2
  28. package/es/ProThemeTools/propsType.d.ts +1 -0
  29. package/es/ProThemeTools/utils/index.js +0 -1
  30. package/es/ProTree/components/Tree.js +0 -1
  31. package/es/ProTreeSelect/index.js +2 -4
  32. package/es/ProUpload/index.js +0 -1
  33. package/es/old/ProEditableTable/index.js +1 -1
  34. package/es/style/theme/antd.less +46 -5
  35. package/lib/ProConfigProvider/index.d.ts +10 -2
  36. package/lib/ProConfigProvider/index.js +14 -7
  37. package/lib/ProEditLabel/index.js +2 -3
  38. package/lib/ProEditTable/components/ActionButton/index.js +6 -6
  39. package/lib/ProEditTable/components/RenderField/index.js +5 -5
  40. package/lib/ProEditTable/style/index.less +0 -1
  41. package/lib/ProEditTable/utils/index.js +2 -4
  42. package/lib/ProForm/components/base/TextArea/index.js +1 -3
  43. package/lib/ProForm/components/base/TextArea/index.less +7 -0
  44. package/lib/ProForm/components/combination/FormList/components/ActionButton.js +2 -2
  45. package/lib/ProForm/components/combination/Group/index.js +6 -1
  46. package/lib/ProForm/components/combination/Group/style/index.less +2 -1
  47. package/lib/ProForm/components/combination/ProCombination/index.js +0 -1
  48. package/lib/ProForm/components/combination/ProModalSelect/index.js +2 -2
  49. package/lib/ProForm/components/old/InputRange/index.js +1 -0
  50. package/lib/ProForm/components/render/Render.js +3 -4
  51. package/lib/ProForm/index.js +35 -5
  52. package/lib/ProForm/propsType.d.ts +1 -0
  53. package/lib/ProForm/utils/index.d.ts +4 -0
  54. package/lib/ProForm/utils/index.js +24 -7
  55. package/lib/ProForm/utils/useForm.js +48 -75
  56. package/lib/ProForm/utils/useRules.js +4 -2
  57. package/lib/ProForm/utils/useShouldUpdate.js +10 -6
  58. package/lib/ProStep/index.js +0 -1
  59. package/lib/ProThemeTools/index.d.ts +1 -1
  60. package/lib/ProThemeTools/index.js +10 -2
  61. package/lib/ProThemeTools/propsType.d.ts +1 -0
  62. package/lib/ProThemeTools/utils/index.js +0 -1
  63. package/lib/ProTree/components/Tree.js +0 -1
  64. package/lib/ProTree/index.js +1 -0
  65. package/lib/ProTreeSelect/index.js +2 -4
  66. package/lib/ProUpload/index.js +0 -1
  67. package/lib/old/ProEditableTable/index.js +1 -1
  68. package/lib/style/theme/antd.less +46 -5
  69. package/package.json +1 -1
@@ -1941,6 +1941,9 @@ div.pro-textarea-view::after {
1941
1941
  display: none;
1942
1942
  padding-bottom: 12px;
1943
1943
  }
1944
+ .pro-textarea .ant-input {
1945
+ resize: auto !important;
1946
+ }
1944
1947
  .pro-form-list-block-title {
1945
1948
  height: 14px;
1946
1949
  margin: calc(var(--zaui-space-size-xs, 4px) * var(--zaui-size, 1)) 0;
@@ -2233,10 +2236,12 @@ span.ant-input-group-compact.pro-range-limit .forever-checkbox {
2233
2236
  .pro-group {
2234
2237
  width: unset !important;
2235
2238
  }
2236
- .pro-group.pro-group-diy-width .ant-space .ant-space-item {
2239
+ .pro-group.pro-group-diy-width .ant-space .ant-space-item,
2240
+ .pro-group.pro-group-width-auto .ant-space .ant-space-item {
2237
2241
  width: auto;
2238
2242
  }
2239
- .pro-group.pro-group-diy-width .ant-space .ant-space-item .ant-space-item {
2243
+ .pro-group.pro-group-diy-width .ant-space .ant-space-item .ant-space-item,
2244
+ .pro-group.pro-group-width-auto .ant-space .ant-space-item .ant-space-item {
2240
2245
  width: auto;
2241
2246
  }
2242
2247
  .pro-group .ant-space {
@@ -4220,9 +4225,6 @@ span.ant-input-group-compact.pro-range-limit .forever-checkbox {
4220
4225
  position: absolute;
4221
4226
  bottom: var(--zaui-space-size-md, 16px);
4222
4227
  }
4223
- .pro-edit-table-toolbar {
4224
- margin-top: var(--zaui-space-size-md, 16px);
4225
- }
4226
4228
  .pro-edit-table-toolbar .ant-space {
4227
4229
  gap: var(--zaui-space-size-sm, 8px);
4228
4230
  }
@@ -5508,3 +5510,28 @@ input[type='button'] {
5508
5510
  width: -moz-max-content;
5509
5511
  width: max-content;
5510
5512
  }
5513
+ .ant-tooltip > .ant-tooltip-content > .ant-tooltip-inner {
5514
+ color: #1d2129;
5515
+ background-color: #fff;
5516
+ -webkit-box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
5517
+ box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
5518
+ }
5519
+ .ant-tooltip > .ant-tooltip-content > .ant-tooltip-inner::-moz-selection {
5520
+ color: inherit !important;
5521
+ background: rgba(24, 144, 255, 0.3) !important;
5522
+ }
5523
+ .ant-tooltip > .ant-tooltip-content > .ant-tooltip-inner::selection {
5524
+ color: inherit !important;
5525
+ background: rgba(24, 144, 255, 0.3) !important;
5526
+ }
5527
+ .ant-tooltip > .ant-tooltip-content > .ant-tooltip-inner > div::-moz-selection {
5528
+ color: inherit !important;
5529
+ background: rgba(24, 144, 255, 0.3) !important;
5530
+ }
5531
+ .ant-tooltip > .ant-tooltip-content > .ant-tooltip-inner > div::selection {
5532
+ color: inherit !important;
5533
+ background: rgba(24, 144, 255, 0.3) !important;
5534
+ }
5535
+ .ant-tooltip > .ant-tooltip-content > .ant-tooltip-arrow > .ant-tooltip-arrow-content {
5536
+ --antd-arrow-background-color: linear-gradient(to right bottom, rgba(255, 255, 255, 0.95), #ffffff);
5537
+ }
@@ -1,4 +1,5 @@
1
1
  import React, { FC } from 'react';
2
+ import { FormInstance } from 'antd';
2
3
  import { PropSelectProps } from '../ProSelect/propsType';
3
4
  import { ProModalSelectPropsType } from '../ProForm/components/combination/ProModalSelect/propsType';
4
5
  import { AddressProps } from '../ProForm/components/combination/ProAddressBar/propsType';
@@ -9,17 +10,24 @@ export interface ProConfigState {
9
10
  ProSelect?: Partial<PropSelectProps> & Record<string, any>;
10
11
  ProModalSelect?: Partial<ProModalSelectPropsType> & Record<string, any>;
11
12
  ProAddressBar?: Partial<AddressProps> & Record<string, any>;
13
+ forms: Record<string, FormInstance | undefined>;
12
14
  [key: string]: any;
13
15
  }
14
16
  interface ConfigContext {
15
17
  state: ProConfigState;
16
- dispatch: React.Dispatch<ProConfigState>;
18
+ dispatch: React.Dispatch<Actions>;
17
19
  }
18
20
  export declare const ProConfigContext: React.Context<ConfigContext>;
19
21
  export declare function useProConfig(): ConfigContext;
20
22
  export declare function useProConfig(name: keyof ConfigContext['state']): ConfigContext['state'][keyof ConfigContext['state']];
23
+ export declare function useContextForms(): Record<string, FormInstance<any>>;
24
+ type ActionsType = 'set' | 'setProEnum' | 'setProEnumDic';
25
+ interface Actions {
26
+ type: ActionsType;
27
+ payload: any;
28
+ }
21
29
  export declare const ProConfigProvider: FC<{
22
- value: ProConfigState;
30
+ value?: ProConfigState;
23
31
  locale?: string;
24
32
  }>;
25
33
  export default ProConfigProvider;
@@ -9,12 +9,14 @@ import enUS from 'antd/es/locale/en_US';
9
9
  import merge from 'lodash/merge';
10
10
  import useEnumRequest from '../ProEnum/hooks/useEnumRequest';
11
11
  import { setLanguage } from '../locale';
12
- export var ProConfigContext = /*#__PURE__*/React.createContext({
13
- state: {
14
- ProEnum: {
15
- dics: {}
16
- }
12
+ var initialState = {
13
+ ProEnum: {
14
+ dics: {}
17
15
  },
16
+ forms: {}
17
+ };
18
+ export var ProConfigContext = /*#__PURE__*/React.createContext({
19
+ state: initialState,
18
20
  dispatch: function dispatch() {}
19
21
  });
20
22
  // eslint-disable-next-line no-redeclare
@@ -22,11 +24,15 @@ export function useProConfig(name) {
22
24
  var config = useContext(ProConfigContext);
23
25
  return name ? config.state[name] : config;
24
26
  }
27
+ export function useContextForms() {
28
+ var _config$state;
29
+ var config = useContext(ProConfigContext);
30
+ return (_config$state = config.state) === null || _config$state === void 0 ? void 0 : _config$state.forms;
31
+ }
25
32
  var antdLangMap = {
26
33
  'zh-CN': zhCN,
27
34
  'en-US': enUS // en-US
28
35
  };
29
-
30
36
  var reducer = function reducer(state, action) {
31
37
  var _state$ProEnum;
32
38
  switch (action.type) {
@@ -48,7 +54,7 @@ var reducer = function reducer(state, action) {
48
54
  };
49
55
  export var ProConfigProvider = function ProConfigProvider(props) {
50
56
  var _props$value, _props$value2;
51
- var _useReducer = useReducer(reducer, {}),
57
+ var _useReducer = useReducer(reducer, initialState),
52
58
  _useReducer2 = _slicedToArray(_useReducer, 2),
53
59
  state = _useReducer2[0],
54
60
  dispatch = _useReducer2[1];
@@ -22,7 +22,6 @@ import { omit } from 'lodash';
22
22
  import RenderProForm from './components/RenderProForm';
23
23
  import { matchFormValue } from './utils';
24
24
  var ProEditLabel = function ProEditLabel(_ref) {
25
- var _classnames;
26
25
  var _ref$open = _ref.open,
27
26
  open = _ref$open === void 0 ? false : _ref$open,
28
27
  _ref$disabled = _ref.disabled,
@@ -128,9 +127,9 @@ var ProEditLabel = function ProEditLabel(_ref) {
128
127
  }
129
128
  }
130
129
  }, [confirmValue, mode]);
131
- var cls = classnames((_classnames = {
130
+ var cls = classnames(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
132
131
  'pro-edit-label': true
133
- }, _defineProperty(_classnames, "trigger-".concat(trigger), trigger), _defineProperty(_classnames, 'pro-edit-label-small', size === 'small'), _defineProperty(_classnames, 'pro-edit-label-middle', size === 'middle'), _defineProperty(_classnames, 'pro-edit-label-large', size === 'large'), _defineProperty(_classnames, "".concat(className), className), _classnames));
132
+ }, "trigger-".concat(trigger), trigger), 'pro-edit-label-small', size === 'small'), 'pro-edit-label-middle', size === 'middle'), 'pro-edit-label-large', size === 'large'), "".concat(className), className));
134
133
  /**
135
134
  * pop确认回调
136
135
  */
@@ -82,24 +82,24 @@ var ActionButton = function ActionButton(_ref) {
82
82
  disabled: isDisabled,
83
83
  okText: locale.ProEditTable.confirm,
84
84
  cancelText: locale.ProEditTable.cancel,
85
- children: /*#__PURE__*/React.isValidElement(btnConfig.label) ? /*#__PURE__*/React.cloneElement(btnConfig.label, _objectSpread(_objectSpread({}, omit(delBtnProps, ['buttonProps', 'isEditable'])), {}, {
85
+ children: /*#__PURE__*/React.isValidElement(btnConfig.label) ? ( /*#__PURE__*/React.cloneElement(btnConfig.label, _objectSpread(_objectSpread({}, omit(delBtnProps, ['buttonProps', 'isEditable'])), {}, {
86
86
  record: record,
87
87
  index: index,
88
88
  disabled: isDisabled
89
- })) : _jsx(_Button, _objectSpread(_objectSpread({}, omit(delBtnProps, ['buttonProps', 'isEditable'])), {}, {
89
+ }))) : _jsx(_Button, _objectSpread(_objectSpread({}, omit(delBtnProps, ['buttonProps', 'isEditable'])), {}, {
90
90
  disabled: isDisabled,
91
91
  type: "link",
92
92
  children: btnConfig.label
93
93
  }))
94
94
  }) : _jsx(_Fragment, {
95
- children: /*#__PURE__*/React.isValidElement(btnConfig.label) ? /*#__PURE__*/React.cloneElement(btnConfig.label, _objectSpread(_objectSpread({}, omit(delBtnProps, ['buttonProps', 'isEditable'])), {}, {
95
+ children: /*#__PURE__*/React.isValidElement(btnConfig.label) ? ( /*#__PURE__*/React.cloneElement(btnConfig.label, _objectSpread(_objectSpread({}, omit(delBtnProps, ['buttonProps', 'isEditable'])), {}, {
96
96
  record: record,
97
97
  index: index,
98
98
  disabled: isDisabled,
99
99
  onClick: function onClick() {
100
100
  btnConfig.onEvent(record, index);
101
101
  }
102
- })) : _jsx(_Button, _objectSpread(_objectSpread({}, omit(delBtnProps, ['buttonProps', 'isEditable'])), {}, {
102
+ }))) : _jsx(_Button, _objectSpread(_objectSpread({}, omit(delBtnProps, ['buttonProps', 'isEditable'])), {}, {
103
103
  disabled: isDisabled,
104
104
  type: "link",
105
105
  onClick: function onClick() {
@@ -109,10 +109,10 @@ var ActionButton = function ActionButton(_ref) {
109
109
  }))
110
110
  })
111
111
  }) : _jsx(_Fragment, {
112
- children: /*#__PURE__*/React.isValidElement(btnConfig.label) ? /*#__PURE__*/React.cloneElement(btnConfig.label, _objectSpread(_objectSpread({}, omit(actionBtnProps, ['buttonProps', 'isEditable'])), {}, {
112
+ children: /*#__PURE__*/React.isValidElement(btnConfig.label) ? ( /*#__PURE__*/React.cloneElement(btnConfig.label, _objectSpread(_objectSpread({}, omit(actionBtnProps, ['buttonProps', 'isEditable'])), {}, {
113
113
  record: record,
114
114
  index: index
115
- })) : _jsx(_Button, _objectSpread(_objectSpread({
115
+ }))) : _jsx(_Button, _objectSpread(_objectSpread({
116
116
  className: "action-button"
117
117
  }, omit(actionBtnProps, ['buttonProps', 'isEditable'])), {}, {
118
118
  type: "link",
@@ -30,7 +30,7 @@ import useRules from '../../../ProForm/utils/useRules';
30
30
  import { isSelect } from '../../../ProForm/utils';
31
31
  import locale from '../../../locale';
32
32
  var RenderField = function RenderField(_ref) {
33
- var _type, _type$replace, _fieldProps2, _fieldProps3, _fieldProps4, _names, _formItemChildProps$p, _TargetComponent4, _classNames;
33
+ var _type, _type$replace, _fieldProps2, _fieldProps3, _fieldProps4, _names, _formItemChildProps$p, _TargetComponent4;
34
34
  var value = _ref.text,
35
35
  record = _ref.record,
36
36
  index = _ref.index,
@@ -506,13 +506,13 @@ var RenderField = function RenderField(_ref) {
506
506
  if (!isEditing) {
507
507
  delete _formItemProps.rules;
508
508
  }
509
- var _className = classNames((_classNames = {}, _defineProperty(_classNames, className, className), _defineProperty(_classNames, 'pro-form-item-changed', changed), _classNames));
509
+ var _className = classNames(_defineProperty(_defineProperty({}, className, className), 'pro-form-item-changed', changed));
510
510
  var originalTitle = originalTip ? _jsxs(_Space, {
511
- children: ["\u521D\u59CB\u503C\uFF1A", /*#__PURE__*/React.isValidElement(TargetComponent) ? /*#__PURE__*/React.cloneElement(TargetComponent, _objectSpread(_objectSpread({}, omit(componentProps, ['onFieldChange'])), {}, {
511
+ children: ["\u521D\u59CB\u503C\uFF1A", /*#__PURE__*/React.isValidElement(TargetComponent) ? ( /*#__PURE__*/React.cloneElement(TargetComponent, _objectSpread(_objectSpread({}, omit(componentProps, ['onFieldChange'])), {}, {
512
512
  isView: true,
513
513
  value: originalValue,
514
514
  checked: type === 'Switch' ? originalValue : undefined
515
- })) : _jsx(TargetComponent, _objectSpread(_objectSpread({}, omit(componentProps, ['onFieldChange'])), {}, {
515
+ }))) : _jsx(TargetComponent, _objectSpread(_objectSpread({}, omit(componentProps, ['onFieldChange'])), {}, {
516
516
  isView: true,
517
517
  value: originalValue,
518
518
  checked: type === 'Switch' ? originalValue : undefined
@@ -523,7 +523,7 @@ var RenderField = function RenderField(_ref) {
523
523
  }, omit(_formItemProps, ['render', 'cache', 'key', 'width', 'hiddenNames', 'name'])), {}, {
524
524
  className: _className,
525
525
  name: cellName,
526
- children: /*#__PURE__*/React.isValidElement(TargetComponent) ? /*#__PURE__*/React.cloneElement(TargetComponent, _objectSpread({}, omit(componentProps, ['onFieldChange']))) : _jsx(TargetComponent, _objectSpread({}, omit(componentProps, ['onFieldChange'])))
526
+ children: /*#__PURE__*/React.isValidElement(TargetComponent) ? ( /*#__PURE__*/React.cloneElement(TargetComponent, _objectSpread({}, omit(componentProps, ['onFieldChange'])))) : _jsx(TargetComponent, _objectSpread({}, omit(componentProps, ['onFieldChange'])))
527
527
  })) : _jsx(Container, {
528
528
  viewEmpty: viewEmpty
529
529
  });
@@ -313,7 +313,6 @@
313
313
  }
314
314
 
315
315
  .pro-edit-table-toolbar {
316
- margin-top: var(--zaui-space-size-md, 16px);
317
316
  .@{ant-prefix}-space {
318
317
  gap: var(--zaui-space-size-sm, 8px);
319
318
 
@@ -217,9 +217,9 @@ export var transformColumns = function transformColumns() {
217
217
  children: [columnTitle, _jsx(_Tooltip, _objectSpread(_objectSpread({
218
218
  title: tooltipTitle !== null && tooltipTitle !== void 0 ? tooltipTitle : tooltip
219
219
  }, resetProps), {}, {
220
- children: icon ? /*#__PURE__*/React.cloneElement(icon, {
220
+ children: icon ? ( /*#__PURE__*/React.cloneElement(icon, {
221
221
  className: 'icon-tip'
222
- }) : _jsx(ReactSVG, {
222
+ })) : _jsx(ReactSVG, {
223
223
  className: "icon-tip",
224
224
  src: tipSvg
225
225
  })
@@ -336,7 +336,6 @@ export var transformColumns = function transformColumns() {
336
336
  })
337
337
  });
338
338
  };
339
-
340
339
  item.render = _render;
341
340
  });
342
341
  if (disabled || isView) {
@@ -359,7 +358,6 @@ export var transformColumns = function transformColumns() {
359
358
  var actionColumn = getActionColumn(_objectSpread(_objectSpread({}, config), {}, {
360
359
  validateKeys: validateKeys // 需要校验的单元格的formItem的name
361
360
  }));
362
-
363
361
  actionColumn && _columns.push(actionColumn);
364
362
  }
365
363
  // cacheMap 用来存储缓存值,若有值后不再请求
@@ -38,5 +38,4 @@ var Switch = function Switch(props) {
38
38
  id: "switch_only" // 解决点击label联动的问题
39
39
  }));
40
40
  };
41
-
42
41
  export default Switch;
@@ -40,9 +40,7 @@ var TextAreaDef = function TextAreaDef(props) {
40
40
  showCount: true,
41
41
  autoComplete: "off",
42
42
  placeholder: placeholder || "".concat(locale.ProForm.inputPlaceholder).concat(label || ''),
43
- autoSize: {
44
- minRows: 4
45
- }
43
+ autoSize: true
46
44
  }, omit(initialConfig, ['trim'])), rest), {}, {
47
45
  className: _className
48
46
  }));
@@ -10,3 +10,10 @@ div.pro-textarea-view {
10
10
  padding-bottom: 12px;
11
11
  }
12
12
  }
13
+
14
+ // input-textarea级联选择
15
+ .pro-textarea {
16
+ .@{ant-prefix}-input {
17
+ resize: auto !important;
18
+ }
19
+ }
@@ -225,13 +225,13 @@ var ActionButton = function ActionButton(props) {
225
225
  },
226
226
  children: label
227
227
  }))
228
- }), "".concat(item === null || item === void 0 ? void 0 : item.actionType).concat(index)) : /*#__PURE__*/_createElement(_Button, _objectSpread(_objectSpread({}, rest), {}, {
228
+ }), "".concat(item === null || item === void 0 ? void 0 : item.actionType).concat(index)) : ( /*#__PURE__*/_createElement(_Button, _objectSpread(_objectSpread({}, rest), {}, {
229
229
  key: "".concat(item === null || item === void 0 ? void 0 : item.actionType).concat(index),
230
230
  onClick: function onClick(e) {
231
231
  e.stopPropagation();
232
232
  handleClick(_onClick, index);
233
233
  }
234
- }), label);
234
+ }), label));
235
235
  })
236
236
  });
237
237
  };
@@ -51,6 +51,9 @@ var Group = function Group(props) {
51
51
  'pro-group-diy-width': columns.some(function (item) {
52
52
  var _item$fieldProps, _item$fieldProps$styl;
53
53
  return item === null || item === void 0 ? void 0 : (_item$fieldProps = item.fieldProps) === null || _item$fieldProps === void 0 ? void 0 : (_item$fieldProps$styl = _item$fieldProps.style) === null || _item$fieldProps$styl === void 0 ? void 0 : _item$fieldProps$styl.width;
54
+ }),
55
+ 'pro-group-width-auto': columns.some(function (item) {
56
+ return ['Radio', 'Checkbox', 'Switch'].includes(item.type);
54
57
  })
55
58
  }, "".concat(className), className));
56
59
  return _jsx("div", {
@@ -60,7 +63,9 @@ var Group = function Group(props) {
60
63
  columns: data.columns,
61
64
  form: form
62
65
  }, omit(otherProps, ['colProps'])))
63
- }) : _jsx(_Space, _objectSpread(_objectSpread({}, omit(space, ['separator', 'compact'])), {}, {
66
+ }) : _jsx(_Space, _objectSpread(_objectSpread({
67
+ align: "start"
68
+ }, omit(space, ['separator', 'compact'])), {}, {
64
69
  children: data.columns.map(function (column, index) {
65
70
  return _jsx(RenderFields, _objectSpread({
66
71
  columns: [column],
@@ -20,8 +20,9 @@
20
20
 
21
21
  .pro-group {
22
22
  width: unset !important;
23
+
23
24
 
24
- &.pro-group-diy-width {
25
+ &.pro-group-diy-width, &.pro-group-width-auto {
25
26
  .@{ant-prefix}-space .@{ant-prefix}-space-item {
26
27
  width: auto;
27
28
 
@@ -83,7 +83,6 @@ export var ProCombination = function ProCombination(props) {
83
83
  _handleChange(_values, rest === null || rest === void 0 ? void 0 : rest[0], form);
84
84
  (_childProps$index = childProps[index]) === null || _childProps$index === void 0 ? void 0 : (_childProps$index$onC = _childProps$index.onChange) === null || _childProps$index$onC === void 0 ? void 0 : _childProps$index$onC.call(_childProps$index, value, rest === null || rest === void 0 ? void 0 : rest[0], form); // 支持子组件分别传入onChange
85
85
  };
86
-
87
86
  var className = classNames({
88
87
  'pro-combination': true,
89
88
  'pro-combination-view': isView
@@ -548,8 +548,7 @@ var ProModalSelect = function ProModalSelect(props, ref) {
548
548
  _value: value
549
549
  });
550
550
  } else if (Object.prototype.toString.call(value) === '[object Object]') {
551
- var _initialValue;
552
- var initialValue = (_initialValue = {}, _defineProperty(_initialValue, valueKey, value[valueKey]), _defineProperty(_initialValue, labelKey, value[labelKey]), _initialValue);
551
+ var initialValue = _defineProperty(_defineProperty({}, valueKey, value[valueKey]), labelKey, value[labelKey]);
553
552
  setState({
554
553
  selectedRowKeys: [value],
555
554
  selectedRows: [initialValue],
@@ -740,6 +739,7 @@ var ProModalSelect = function ProModalSelect(props, ref) {
740
739
  visible: visible
741
740
  }, restModalProps), {}, {
742
741
  children: [_jsx(ProForm, {
742
+ submitOnEnter: true,
743
743
  form: form,
744
744
  columns: formColumns,
745
745
  onFinish: handleSearch,
@@ -33,7 +33,7 @@ import tipSvg from '../../../assets/tip.svg';
33
33
  import useRules from '../../utils/useRules';
34
34
  // 这个组件只管渲染, 参数的整理在外部处理
35
35
  var Render = function Render(props) {
36
- var _ref2, _classNames, _otherProps$names2;
36
+ var _ref2, _otherProps$names2;
37
37
  var component = props.component,
38
38
  originComponent = props.originComponent,
39
39
  _props$formItemProps = props.formItemProps,
@@ -171,7 +171,7 @@ var Render = function Render(props) {
171
171
  var lastComponentProps = _objectSpread(_objectSpread(_objectSpread({}, componentProps), _fieldProps), {}, {
172
172
  disabled: lastDisabled
173
173
  });
174
- var _className = classNames((_classNames = {}, _defineProperty(_classNames, className, className), _defineProperty(_classNames, 'pro-form-item-changed', changed), _defineProperty(_classNames, 'pro-form-item-width-auto', ['Switch'].includes(type)), _classNames));
174
+ var _className = classNames(_defineProperty(_defineProperty(_defineProperty({}, className, className), 'pro-form-item-changed', changed), 'pro-form-item-width-auto', ['Switch'].includes(type)));
175
175
  if (formItemProps.hidden === true || _show === false) {
176
176
  // 为了监听shouldUpdate 必须存在一个FormItem, 空Input解决 【[antd: Form.Item] `name` is only used for validate React element】
177
177
  return _jsx(_Form.Item, {
@@ -344,7 +344,7 @@ var Render = function Render(props) {
344
344
  if (originComponent) {
345
345
  delete childProps.otherProps;
346
346
  }
347
- var child = /*#__PURE__*/React.isValidElement(AutoComponent) ? /*#__PURE__*/React.cloneElement(AutoComponent, childProps) : _jsx(AutoComponent, _objectSpread(_objectSpread({}, omit(lastComponentProps, ['onFieldChange', 'disabledStrictly'])), {}, {
347
+ var child = /*#__PURE__*/React.isValidElement(AutoComponent) ? ( /*#__PURE__*/React.cloneElement(AutoComponent, childProps)) : _jsx(AutoComponent, _objectSpread(_objectSpread({}, omit(lastComponentProps, ['onFieldChange', 'disabledStrictly'])), {}, {
348
348
  otherProps: _objectSpread(_objectSpread({}, otherProps), {}, {
349
349
  show: show,
350
350
  disabled: lastDisabled,
@@ -390,7 +390,6 @@ var Render = function Render(props) {
390
390
  span: 24 // 默认占一行
391
391
  });
392
392
  }
393
-
394
393
  var orgFormItem = _jsx(_Form.Item, _objectSpread(_objectSpread({}, omit(_otherFormItemProps, filterFormItemKey)), {}, {
395
394
  // @ts-ignore
396
395
  _internalItemRender: internalItemRender,
@@ -3,16 +3,16 @@ import "antd/es/row/style";
3
3
  import _Row from "antd/es/row";
4
4
  import "antd/es/form/style";
5
5
  import _Form from "antd/es/form";
6
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
7
6
  import "antd/es/col/style";
8
7
  import _Col from "antd/es/col";
9
8
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
10
9
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
11
10
  import "antd/es/space/style";
12
11
  import _Space from "antd/es/space";
12
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
13
13
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
14
14
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
15
- 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", "originalTip"];
15
+ 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", "originalTip", "formKey"];
16
16
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
17
  import { DoubleLeftOutlined } from '@ant-design/icons';
18
18
  import classnames from 'classnames';
@@ -20,13 +20,13 @@ import React, { forwardRef, useImperativeHandle, useMemo } from 'react';
20
20
  import { isObject, isString, merge } from 'lodash';
21
21
  import { FormFooter, InputRange, ProAddress, ProAddressBar, ProCertNo, ProCertValidity, ProCombination, ProModalSelect, ProNumberRange, ProRangeBox, ProTimeLimit, transferAddressInfoToRegion, ProUpload, ProTreeSelect, ProTreeModal, ProTree, EnumSelect } from './components';
22
22
  import RenderFields from './components/render/RenderFields';
23
- import { useProConfig } from '../ProConfigProvider';
23
+ import { useProConfig, useContextForms } from '../ProConfigProvider';
24
24
  import { getLayout, splitNameStr, useControlled, initialValuesToNames } from './utils/index';
25
25
  import { useForm } from './utils/useForm';
26
26
  import { useFieldProps } from './utils/useFieldProps';
27
27
  import locale from '../locale';
28
28
  var ProForm = function ProForm(props, ref) {
29
- var _localStorage;
29
+ var _forms$formKey, _localStorage;
30
30
  var _props$mode = props.mode,
31
31
  mode = _props$mode === void 0 ? 'search' : _props$mode,
32
32
  span = props.span,
@@ -65,8 +65,14 @@ var ProForm = function ProForm(props, ref) {
65
65
  required = props.required,
66
66
  _props$originalTip = props.originalTip,
67
67
  originalTip = _props$originalTip === void 0 ? true : _props$originalTip,
68
+ formKey = props.formKey,
68
69
  otherProps = _objectWithoutProperties(props, _excluded);
69
- var _useForm = useForm(originForm),
70
+ var _useProConfig = useProConfig(),
71
+ state = _useProConfig.state,
72
+ dispatch = _useProConfig.dispatch;
73
+ var config = state.ProForm,
74
+ forms = state.forms;
75
+ var _useForm = useForm((_forms$formKey = forms[formKey]) !== null && _forms$formKey !== void 0 ? _forms$formKey : originForm),
70
76
  _useForm2 = _slicedToArray(_useForm, 1),
71
77
  form = _useForm2[0];
72
78
  var _useControlled = useControlled({
@@ -76,7 +82,30 @@ var ProForm = function ProForm(props, ref) {
76
82
  _useControlled2 = _slicedToArray(_useControlled, 2),
77
83
  openState = _useControlled2[0],
78
84
  setOpenState = _useControlled2[1];
79
- var config = useProConfig('ProForm');
85
+ // 把表单实例存入表单组
86
+ useMemo(function () {
87
+ if (formKey && forms[formKey] !== form) {
88
+ forms[formKey] = form;
89
+ dispatch({
90
+ type: 'set',
91
+ payload: {
92
+ forms: _objectSpread({}, forms)
93
+ }
94
+ });
95
+ }
96
+ // 销毁
97
+ return function () {
98
+ if (formKey && forms[formKey]) {
99
+ delete forms[formKey];
100
+ dispatch({
101
+ type: 'set',
102
+ payload: {
103
+ forms: _objectSpread({}, forms)
104
+ }
105
+ });
106
+ }
107
+ };
108
+ }, [formKey, form]);
80
109
  var _getLayout = getLayout({
81
110
  span: span,
82
111
  form: form
@@ -281,6 +310,7 @@ var ProFormProvider = function ProFormProvider(props) {
281
310
  };
282
311
  ProFormForward.Provider = ProFormProvider; // 包装Provider
283
312
  ProFormForward.useFieldProps = useFieldProps; // 获取每个字段的其他参数 -otherProps
313
+ ProFormForward.useContextForms = useContextForms; // 获取 ProConfigProvider中的表单实例map
284
314
  // 内置组合
285
315
  ProFormForward.ProAddressBar = ProAddressBar;
286
316
  ProFormForward.ProCombination = ProCombination;
@@ -43,6 +43,7 @@ export interface ProFormOtherProps {
43
43
  export interface ProFormProps<Values = any> extends FormProps<Values> {
44
44
  disabled?: boolean;
45
45
  mode?: ModeEnum;
46
+ formKey?: string;
46
47
  /** 是否查看 */
47
48
  isView?: boolean;
48
49
  span?: number;
@@ -84,4 +84,8 @@ export declare const deleteForPath: (values: any, namePath: string | number | (s
84
84
  * @returns {}
85
85
  */
86
86
  export declare const findOptionByValue: (treeData: any[], value: string | number) => any;
87
+ /**
88
+ * 对比依赖列表中的 值是否变更
89
+ */
90
+ export declare const equalDependencies: (dependencies: any, prevValues: any, currentValues: any) => any;
87
91
  export {};
@@ -134,18 +134,22 @@ export var splitNameStr = function splitNameStr(name) {
134
134
  // 过滤掉字段名中包含 '-' 的字段
135
135
  export var filterInternalFields = function filterInternalFields(values) {
136
136
  var nextValues = values;
137
+ // fix: braft-editor对象不可遍历
138
+ if (values === null || values === void 0 ? void 0 : values._immutable) {
139
+ return nextValues;
140
+ }
137
141
  if (Array.isArray(nextValues)) {
138
- nextValues.forEach(function (item) {
139
- filterInternalFields(item);
142
+ return nextValues.map(function (item) {
143
+ return filterInternalFields(item);
140
144
  });
141
145
  }
142
146
  if (isObject(nextValues)) {
147
+ var result = {};
143
148
  Object.keys(nextValues).forEach(function (key) {
144
- if (key.includes('-')) {
145
- delete nextValues[key];
146
- }
147
- filterInternalFields(nextValues[key]);
149
+ if (key.includes('-')) return;
150
+ result[key] = filterInternalFields(nextValues[key]);
148
151
  });
152
+ return result;
149
153
  }
150
154
  return nextValues;
151
155
  };
@@ -403,4 +407,17 @@ export var findOptionByValue = function findOptionByValue(treeData, value) {
403
407
  }
404
408
  }
405
409
  }
410
+ };
411
+ /**
412
+ * 对比依赖列表中的 值是否变更
413
+ */
414
+ export var equalDependencies = function equalDependencies(dependencies, prevValues, currentValues) {
415
+ if (dependencies === null || dependencies === void 0 ? void 0 : dependencies.length) {
416
+ return dependencies.some(function (namePath) {
417
+ var prevValue = get(prevValues, namePath);
418
+ var currentValue = get(currentValues, namePath);
419
+ return prevValue !== currentValue;
420
+ });
421
+ }
422
+ return false;
406
423
  };