@kdcloudjs/kdesign 1.2.3 → 1.3.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 (48) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/kdesign-complete.less +14 -64
  3. package/dist/kdesign.css +25 -90
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +193 -120
  6. package/dist/kdesign.js.map +1 -1
  7. package/dist/kdesign.min.css +3 -3
  8. package/dist/kdesign.min.js +8 -8
  9. package/dist/kdesign.min.js.map +1 -1
  10. package/es/badge/style/index.css +3 -4
  11. package/es/badge/style/index.less +3 -4
  12. package/es/badge/style/token.less +1 -0
  13. package/es/carousel/style/index.css +11 -84
  14. package/es/carousel/style/index.less +3 -60
  15. package/es/cascader/cascader.d.ts +7 -3
  16. package/es/cascader/cascader.js +8 -6
  17. package/es/checkbox/checkbox.js +4 -2
  18. package/es/checkbox/style/index.css +7 -0
  19. package/es/checkbox/style/index.less +7 -0
  20. package/es/form/Field.d.ts +2 -1
  21. package/es/form/Field.js +76 -20
  22. package/es/grid/row.d.ts +1 -1
  23. package/es/icon/interface.js +1 -1
  24. package/es/select/index.d.ts +2 -2
  25. package/es/select/interface.d.ts +7 -7
  26. package/es/select/select.js +12 -1
  27. package/es/style/icon/kdicon.css +3 -1
  28. package/es/style/icon/kdicon.woff +0 -0
  29. package/lib/badge/style/index.css +3 -4
  30. package/lib/badge/style/index.less +3 -4
  31. package/lib/badge/style/token.less +1 -0
  32. package/lib/carousel/style/index.css +11 -84
  33. package/lib/carousel/style/index.less +3 -60
  34. package/lib/cascader/cascader.d.ts +7 -3
  35. package/lib/cascader/cascader.js +10 -8
  36. package/lib/checkbox/checkbox.js +4 -2
  37. package/lib/checkbox/style/index.css +7 -0
  38. package/lib/checkbox/style/index.less +7 -0
  39. package/lib/form/Field.d.ts +2 -1
  40. package/lib/form/Field.js +79 -22
  41. package/lib/grid/row.d.ts +1 -1
  42. package/lib/icon/interface.js +1 -1
  43. package/lib/select/index.d.ts +2 -2
  44. package/lib/select/interface.d.ts +7 -7
  45. package/lib/select/select.js +12 -1
  46. package/lib/style/icon/kdicon.css +3 -1
  47. package/lib/style/icon/kdicon.woff +0 -0
  48. package/package.json +1 -1
@@ -221,8 +221,19 @@ var InternalSelect = function InternalSelect(props, ref) {
221
221
  onDropdownVisibleChange && onDropdownVisibleChange(!optionShow);
222
222
  } // handleClear()
223
223
 
224
- }; // 点击下拉列表中某项回调
224
+ };
225
+
226
+ useEffect(function () {
227
+ selectionRef.current.addEventListener('mouseup', function (e) {
228
+ var _a;
229
+
230
+ var isCloseBtn = ((_a = e === null || e === void 0 ? void 0 : e.target) === null || _a === void 0 ? void 0 : _a.className.indexOf('kd-tag-close-icon')) > -1;
225
231
 
232
+ if (isCloseBtn) {
233
+ e.stopPropagation();
234
+ }
235
+ });
236
+ }, []); // 点击下拉列表中某项回调
226
237
 
227
238
  var handleOption = function handleOption(key, label, isSelected) {
228
239
  var _a, _b, _c;
@@ -1,9 +1,10 @@
1
1
  @font-face {
2
2
  font-family: "kdicon";
3
- src: url("kdicon.woff?t=1649311510226") format("woff");
3
+ src: url("kdicon.woff?t=1654677347390") format("woff");
4
4
  }
5
5
  .kdicon {
6
6
  font-family: 'kdicon' !important;
7
+ font-size:16px;
7
8
  font-style:normal;
8
9
  -webkit-font-smoothing: antialiased;
9
10
  -moz-osx-font-smoothing: grayscale;
@@ -62,6 +63,7 @@
62
63
  .kdicon-copy:before { content: "\e678"; }
63
64
  .kdicon-counterclockwise:before { content: "\e6e5"; }
64
65
  .kdicon-customize:before { content: "\e707"; }
66
+ .kdicon-dashboard:before { content: "\e71c"; }
65
67
  .kdicon-date-selection:before { content: "\e70f"; }
66
68
  .kdicon-date:before { content: "\e6eb"; }
67
69
  .kdicon-delete-indentation:before { content: "\e697"; }
Binary file
@@ -172,7 +172,6 @@
172
172
  background-color: var(--kd-c-badge-color-success, var(--kd-g-color-success, #1ba854));
173
173
  }
174
174
  .kd-badge-status-processing {
175
- position: relative;
176
175
  background-color: var(--kd-c-badge-color-ongoing, var(--kd-g-color-ongoing, #276ff5));
177
176
  }
178
177
  .kd-badge-status-processing::after {
@@ -188,13 +187,13 @@
188
187
  content: '';
189
188
  }
190
189
  .kd-badge-status-error {
191
- background-color: var(--kd-c-badge-color-warning, var(--kd-g-color-warning, #ff991c));
190
+ background-color: var(--kd-c-badge-color-error, var(--kd-g-color-error, #fb2323));
192
191
  }
193
192
  .kd-badge-status-default {
194
- background-color: var(--kd-c-badge-color-success, var(--kd-g-color-success, #1ba854));
193
+ background-color: var(--kd-c-badge-color-default, #d9d9d9);
195
194
  }
196
195
  .kd-badge-status-warning {
197
- background-color: var(--kd-c-badge-color-error, var(--kd-g-color-error, #fb2323));
196
+ background-color: var(--kd-c-badge-color-warning, var(--kd-g-color-warning, #ff991c));
198
197
  }
199
198
  .kd-badge-not-a-wrapper:not(.kd-badge-status) {
200
199
  vertical-align: middle;
@@ -74,7 +74,6 @@
74
74
  background-color: @badge-color-success;
75
75
  }
76
76
  &-processing {
77
- position: relative;
78
77
  background-color: @badge-color-ongoing;
79
78
  &::after {
80
79
  position: absolute;
@@ -89,13 +88,13 @@
89
88
  }
90
89
  }
91
90
  &-error {
92
- background-color: @badge-color-warning;
91
+ background-color: @badge-color-error;
93
92
  }
94
93
  &-default {
95
- background-color: @badge-color-success;
94
+ background-color: @badge-color-default;
96
95
  }
97
96
  &-warning {
98
- background-color: @badge-color-error;
97
+ background-color: @badge-color-warning;
99
98
  }
100
99
  }
101
100
 
@@ -21,3 +21,4 @@
21
21
  @badge-color-ongoing: var(~'@{badge-prefix}-color-ongoing', @color-ongoing);
22
22
  @badge-color-warning: var(~'@{badge-prefix}-color-warning', @color-warning);
23
23
  @badge-color-error: var(~'@{badge-prefix}-color-error', @color-error);
24
+ @badge-color-default: var(~'@{badge-prefix}-color-default', #d9d9d9);
@@ -107,87 +107,6 @@
107
107
  -ms-flex: 1;
108
108
  flex: 1;
109
109
  }
110
- .kd-carousel-slidelist {
111
- list-style: none;
112
- display: -webkit-box;
113
- display: -ms-flexbox;
114
- display: flex;
115
- -webkit-box-orient: horizontal;
116
- -webkit-box-direction: normal;
117
- -ms-flex-direction: row;
118
- flex-direction: row;
119
- width: 100%;
120
- }
121
- .kd-carousel-slidelist-item {
122
- -ms-flex-negative: 0;
123
- flex-shrink: 0;
124
- height: 100%;
125
- width: 100%;
126
- overflow: hidden;
127
- border-radius: var(--kd-c-carousel-border-radius, 0px);
128
- }
129
- .kd-carousel-fadelist {
130
- list-style: none;
131
- display: -webkit-box;
132
- display: -ms-flexbox;
133
- display: flex;
134
- -webkit-box-orient: horizontal;
135
- -webkit-box-direction: normal;
136
- -ms-flex-direction: row;
137
- flex-direction: row;
138
- -webkit-box-flex: 1;
139
- -ms-flex: 1;
140
- flex: 1;
141
- position: relative;
142
- }
143
- .kd-carousel-fadelist-item {
144
- opacity: 1;
145
- position: relative;
146
- -ms-flex-negative: 0;
147
- flex-shrink: 0;
148
- height: 100%;
149
- width: 100%;
150
- }
151
- .kd-carousel-fadelist-item-animation {
152
- -webkit-transition: opacity 0.3s ease;
153
- transition: opacity 0.3s ease;
154
- }
155
- .kd-carousel-fadelist-item-none-animation {
156
- -webkit-transition: none;
157
- transition: none;
158
- }
159
- .kd-carousel-fadelist-item-not-hidden {
160
- opacity: 1;
161
- }
162
- .kd-carousel-fadelist-item-hidden {
163
- opacity: 0;
164
- }
165
- .kd-carousel-displaylist {
166
- list-style: none;
167
- display: -webkit-box;
168
- display: -ms-flexbox;
169
- display: flex;
170
- -webkit-box-orient: horizontal;
171
- -webkit-box-direction: normal;
172
- -ms-flex-direction: row;
173
- flex-direction: row;
174
- width: 100%;
175
- position: relative;
176
- }
177
- .kd-carousel-displaylist-item {
178
- display: block;
179
- position: relative;
180
- -ms-flex-negative: 0;
181
- flex-shrink: 0;
182
- height: 100%;
183
- width: 100%;
184
- }
185
- .kd-carousel-displaylist-item-not-hidden {
186
- display: block;
187
- }
188
- .kd-carousel-displaylist-item-hidden {
189
- display: none;
190
- }
191
110
  .kd-carousel-list {
192
111
  list-style: none;
193
112
  display: -webkit-box;
@@ -197,9 +116,6 @@
197
116
  -webkit-box-direction: normal;
198
117
  -ms-flex-direction: row;
199
118
  flex-direction: row;
200
- -webkit-box-flex: 1;
201
- -ms-flex: 1;
202
- flex: 1;
203
119
  position: relative;
204
120
  }
205
121
  .kd-carousel-list-item {
@@ -209,6 +125,9 @@
209
125
  height: 100%;
210
126
  width: 100%;
211
127
  }
128
+ .kd-carousel-list-slide {
129
+ width: 100%;
130
+ }
212
131
  .kd-carousel-list-slide .kd-carousel-list-item {
213
132
  opacity: 1;
214
133
  border-radius: var(--kd-c-carousel-border-radius, 0px);
@@ -227,6 +146,11 @@
227
146
  .kd-carousel-list-slide .kd-carousel-list-item-hidden {
228
147
  opacity: 0;
229
148
  }
149
+ .kd-carousel-list-fade {
150
+ -webkit-box-flex: 1;
151
+ -ms-flex: 1;
152
+ flex: 1;
153
+ }
230
154
  .kd-carousel-list-fade .kd-carousel-list-item {
231
155
  opacity: 1;
232
156
  }
@@ -244,6 +168,9 @@
244
168
  .kd-carousel-list-fade .kd-carousel-list-item-hidden {
245
169
  opacity: 0;
246
170
  }
171
+ .kd-carousel-list-display {
172
+ width: 100%;
173
+ }
247
174
  .kd-carousel-list-display .kd-carousel-list-item {
248
175
  display: block;
249
176
  }
@@ -10,71 +10,11 @@
10
10
  overflow: hidden;
11
11
  flex: 1;
12
12
  }
13
- &-slidelist {
14
- list-style: none;
15
- display: flex;
16
- flex-direction: row;
17
- width: 100%;
18
- &-item {
19
- flex-shrink: 0;
20
- height: 100%;
21
- width: 100%;
22
- overflow: hidden;
23
- border-radius: @carousel-boder-radius;
24
- }
25
- }
26
- &-fadelist {
27
- list-style: none;
28
- display: flex;
29
- flex-direction: row;
30
- flex: 1;
31
- position: relative;
32
- &-item {
33
- opacity: 1;
34
- position: relative;
35
- flex-shrink: 0;
36
- height: 100%;
37
- width: 100%;
38
- &-animation {
39
- transition: opacity 0.3s ease;
40
- }
41
- &-none-animation {
42
- transition: none;
43
- }
44
- &-not-hidden {
45
- opacity: 1;
46
- }
47
- &-hidden {
48
- opacity: 0;
49
- }
50
- }
51
- }
52
- &-displaylist {
53
- list-style: none;
54
- display: flex;
55
- flex-direction: row;
56
- width: 100%;
57
- position: relative;
58
- &-item {
59
- display: block;
60
- position: relative;
61
- flex-shrink: 0;
62
- height: 100%;
63
- width: 100%;
64
- &-not-hidden {
65
- display: block;
66
- }
67
- &-hidden {
68
- display: none;
69
- }
70
- }
71
- }
72
13
 
73
14
  &-list {
74
15
  list-style: none;
75
16
  display: flex;
76
17
  flex-direction: row;
77
- flex: 1;
78
18
  position: relative;
79
19
 
80
20
  &-item {
@@ -85,6 +25,7 @@
85
25
  }
86
26
 
87
27
  &-slide {
28
+ width: 100%;
88
29
  .@{carousel-prefix-cls}-list-item {
89
30
  opacity: 1;
90
31
  border-radius: @carousel-boder-radius;
@@ -104,6 +45,7 @@
104
45
  }
105
46
 
106
47
  &-fade {
48
+ flex: 1;
107
49
  .@{carousel-prefix-cls}-list-item {
108
50
  opacity: 1;
109
51
  &-animation {
@@ -122,6 +64,7 @@
122
64
  }
123
65
 
124
66
  &-display {
67
+ width: 100%;
125
68
  .@{carousel-prefix-cls}-list-item {
126
69
  display: block;
127
70
  &-not-hidden {
@@ -14,8 +14,8 @@ declare type FieldNames = {
14
14
  value: string;
15
15
  children: string;
16
16
  };
17
- export declare const PopupPlacement: ["topLeft", "topRight", "bottomLeft", "bottomRight"];
18
- export declare type PopupPlacementType = typeof PopupPlacement[number];
17
+ export declare const CascaderPlacement: ["topLeft", "topRight", "bottomLeft", "bottomRight"];
18
+ export declare type CascaderPlacementType = typeof CascaderPlacement[number];
19
19
  export declare type CascaderValueType = Array<string | number>;
20
20
  export declare type CascaderExpandTrigger = 'click' | 'hover';
21
21
  export interface CascaderProps extends PopperProps {
@@ -29,8 +29,10 @@ export interface CascaderProps extends PopperProps {
29
29
  allowClear?: boolean;
30
30
  placeholder?: string;
31
31
  popupVisible?: boolean;
32
+ popperVisible?: boolean;
32
33
  fieldNames?: FieldNames;
33
34
  popupClassName?: string;
35
+ popperClassName?: string;
34
36
  changeOnSelect?: boolean;
35
37
  notFoundContent?: string;
36
38
  value?: CascaderValueType;
@@ -40,10 +42,12 @@ export interface CascaderProps extends PopperProps {
40
42
  expandIcon?: React.ReactNode;
41
43
  defaultPopupVisible?: boolean;
42
44
  defaultValue?: CascaderValueType;
43
- popupPlacement?: PopupPlacementType;
45
+ popupPlacement?: CascaderPlacementType;
46
+ popperPlacement?: CascaderPlacementType;
44
47
  options?: Array<CascaderOptionType>;
45
48
  expandTrigger?: CascaderExpandTrigger;
46
49
  onPopupVisibleChange?: (visible: boolean) => void;
50
+ onPopperVisibleChange?: (visible: boolean) => void;
47
51
  loadData?: (selectedOptions: CascaderOptionType[]) => void;
48
52
  dropdownRender?: (menus: React.ReactNode) => React.ReactNode;
49
53
  getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;
@@ -11,7 +11,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
11
11
  Object.defineProperty(exports, "__esModule", {
12
12
  value: true
13
13
  });
14
- exports.default = exports.PopupPlacement = void 0;
14
+ exports.default = exports.CascaderPlacement = void 0;
15
15
 
16
16
  var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
17
17
 
@@ -49,8 +49,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "functi
49
49
 
50
50
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
51
51
 
52
- var PopupPlacement = (0, _type.tuple)('topLeft', 'topRight', 'bottomLeft', 'bottomRight');
53
- exports.PopupPlacement = PopupPlacement;
52
+ var CascaderPlacement = (0, _type.tuple)('topLeft', 'topRight', 'bottomLeft', 'bottomRight');
53
+ exports.CascaderPlacement = CascaderPlacement;
54
54
  var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
55
55
  var _React$useContext = React.useContext(_configProvider.ConfigContext),
56
56
  getPrefixCls = _React$useContext.getPrefixCls,
@@ -75,6 +75,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
75
75
  getPopupContainer = allProps.getPopupContainer,
76
76
  defaultPopupVisible = allProps.defaultPopupVisible,
77
77
  onPopupVisibleChange = allProps.onPopupVisibleChange,
78
+ onPopperVisibleChange = allProps.onPopperVisibleChange,
78
79
  customPrefixcls = allProps.prefixCls; // className前缀
79
80
 
80
81
  var prefixCls = getPrefixCls(pkgPrefixCls, 'cascader', customPrefixcls);
@@ -82,14 +83,14 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
82
83
  var triggerRef = React.useRef();
83
84
  var mergeRef = ref || pickerRef;
84
85
 
85
- var _React$useState = React.useState(!!props.popupVisible || defaultPopupVisible),
86
+ var _React$useState = React.useState(!!props.popperVisible || !!props.popupVisible || defaultPopupVisible),
86
87
  _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
87
88
  visible = _React$useState2[0],
88
89
  setVisible = _React$useState2[1];
89
90
 
90
91
  React.useEffect(function () {
91
- setVisible(!!props.popupVisible);
92
- }, [props.popupVisible]);
92
+ setVisible(!!props.popperVisible || !!props.popupVisible);
93
+ }, [props.popperVisible, props.popupVisible]);
93
94
 
94
95
  var _React$useState3 = React.useState([options]),
95
96
  _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
@@ -231,6 +232,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
231
232
  var onVisibleChange = function onVisibleChange(visible) {
232
233
  setVisible(visible);
233
234
  onPopupVisibleChange && onPopupVisibleChange(visible);
235
+ onPopperVisibleChange && onPopperVisibleChange(visible);
234
236
  visible && setSelectedOptions((0, _slice.default)(currentOptions).call(currentOptions, 0));
235
237
  };
236
238
 
@@ -282,8 +284,8 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
282
284
  trigger: 'click',
283
285
  getPopupContainer: getPopupContainer,
284
286
  prefixCls: "".concat(prefixCls, "-menus"),
285
- placement: allProps.popupPlacement,
286
- popperClassName: allProps.popupClassName,
287
+ placement: allProps.popperPlacement || allProps.popupPlacement,
288
+ popperClassName: allProps.popperClassName || allProps.popupClassName,
287
289
  getTriggerElement: function getTriggerElement() {
288
290
  return triggerRef.current;
289
291
  }
@@ -64,7 +64,8 @@ var InternalCheckbox = function InternalCheckbox(props, ref) {
64
64
  children = CheckboxProps.children,
65
65
  style = CheckboxProps.style,
66
66
  value = CheckboxProps.value,
67
- indeterminate = CheckboxProps.indeterminate;
67
+ indeterminate = CheckboxProps.indeterminate,
68
+ name = CheckboxProps.name;
68
69
 
69
70
  var getChecked = function getChecked() {
70
71
  return (0, _isBoolean.default)(checked) ? checked : defaultChecked;
@@ -134,7 +135,8 @@ var InternalCheckbox = function InternalCheckbox(props, ref) {
134
135
  ref: ref,
135
136
  value: value,
136
137
  checked: selected,
137
- disabled: disabled
138
+ disabled: disabled,
139
+ name: name
138
140
  })), children && /*#__PURE__*/_react.default.createElement("span", {
139
141
  className: "".concat(checkboxPrefixCls, "-children")
140
142
  }, children), !isDefaultType() && /*#__PURE__*/_react.default.createElement("span", {
@@ -151,6 +151,10 @@
151
151
  -ms-flex-align: center;
152
152
  align-items: center;
153
153
  z-index: 999;
154
+ -webkit-user-select: none;
155
+ -moz-user-select: none;
156
+ -ms-user-select: none;
157
+ user-select: none;
154
158
  }
155
159
  .kd-checkbox-children .kd-input-underline {
156
160
  background-color: transparent;
@@ -383,3 +387,6 @@
383
387
  .kd-checkbox-default.checked .kd-checkbox-children {
384
388
  color: var(--kd-c-checkbox-color-text-primary, #212121);
385
389
  }
390
+ .kd-checkbox-default-indeterminate .kd-checkbox-children {
391
+ color: var(--kd-c-checkbox-color-text-primary, #212121);
392
+ }
@@ -38,6 +38,8 @@
38
38
  justify-content: center;
39
39
  align-items: center;
40
40
  z-index: 999;
41
+ user-select: none;
42
+
41
43
  .kd-input-underline {
42
44
  background-color: transparent;
43
45
  border-bottom: none;
@@ -249,4 +251,9 @@
249
251
  color: @checkbox-font-color;
250
252
  }
251
253
  }
254
+ &-indeterminate {
255
+ .@{checkbox-prefix-cls}-children {
256
+ color: @checkbox-font-color;
257
+ }
258
+ }
252
259
  }
@@ -3,7 +3,7 @@ import { NamePath, LabelAlign, Rule } from './interface';
3
3
  export interface FormItemProps {
4
4
  children?: React.ReactNode;
5
5
  className?: string;
6
- defaultValue?: string;
6
+ defaultValue?: any;
7
7
  disabled?: boolean;
8
8
  hidden?: boolean;
9
9
  label?: string | number;
@@ -15,6 +15,7 @@ export interface FormItemProps {
15
15
  rules?: Rule[];
16
16
  validateTrigger?: string | string[];
17
17
  wrapperWidth?: string | number;
18
+ valuePropName?: string;
18
19
  }
19
20
  declare const Field: React.FC<FormItemProps>;
20
21
  export default Field;
package/lib/form/Field.js CHANGED
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "__esModule", {
13
13
  });
14
14
  exports.default = void 0;
15
15
 
16
- var _extends3 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
16
+ var _extends5 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
17
17
 
18
18
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
19
19
 
@@ -23,10 +23,14 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/hel
23
23
 
24
24
  var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
25
25
 
26
+ var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
27
+
26
28
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
27
29
 
28
30
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
29
31
 
32
+ var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
33
+
30
34
  var _react = _interopRequireWildcard(require("react"));
31
35
 
32
36
  var _get = _interopRequireDefault(require("lodash/get"));
@@ -67,6 +71,7 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
67
71
  };
68
72
 
69
73
  var DEFAULT_TRIGGER = 'onChange';
74
+ var FormEventValuePropNames = ['value', 'checked'];
70
75
 
71
76
  var generateEventHandler = function generateEventHandler(handler, validateTrigger) {
72
77
  var eventHandler = {};
@@ -86,8 +91,30 @@ var generateEventHandler = function generateEventHandler(handler, validateTrigge
86
91
  return eventHandler;
87
92
  };
88
93
 
94
+ var INNER_VALUE_PROPS_LIST = [{
95
+ name: 'Radio',
96
+ propName: 'checked'
97
+ }, {
98
+ name: 'Checkbox',
99
+ propName: 'checked'
100
+ }, {
101
+ name: 'Switch',
102
+ propName: 'checked'
103
+ }, {
104
+ name: 'Upload',
105
+ propName: 'fileList'
106
+ }, {
107
+ name: 'Transfer',
108
+ propName: 'targetKey'
109
+ }, {
110
+ name: 'RangePicker',
111
+ propName: 'ranges'
112
+ }];
113
+
89
114
  var Field = function Field(props) {
90
- var _classnames, _context2;
115
+ var _classnames;
116
+
117
+ var _a;
91
118
 
92
119
  (0, _devwarning.default)(! /*#__PURE__*/_react.default.isValidElement(props.children), 'Form.Item', 'Children of Form.Item is not a valid element');
93
120
  (0, _devwarning.default)(!props.name, 'Form.Item', 'Form.Item must have a name');
@@ -131,7 +158,30 @@ var Field = function Field(props) {
131
158
  rules = _props$rules === void 0 ? [] : _props$rules,
132
159
  wrapperWidth = props.wrapperWidth,
133
160
  validateTrigger = props.validateTrigger,
134
- defaultValue = props.defaultValue;
161
+ defaultValue = props.defaultValue,
162
+ valuePropName = props.valuePropName;
163
+ var childrenNode = null;
164
+ var innerValuePropName = 'value';
165
+ var childrenArray = (0, _reactChildren.toArray)(children);
166
+
167
+ if (childrenArray.length) {
168
+ (0, _devwarning.default)(childrenArray.length > 1, 'Form.Item', 'Form.Item must have only child');
169
+ childrenNode = childrenArray[0];
170
+ }
171
+
172
+ var innerDisplayName = (_a = childrenNode === null || childrenNode === void 0 ? void 0 : childrenNode.type) === null || _a === void 0 ? void 0 : _a.displayName;
173
+
174
+ if (valuePropName !== undefined) {
175
+ innerValuePropName = valuePropName;
176
+ } else if (innerDisplayName) {
177
+ var filter = (0, _filter.default)(INNER_VALUE_PROPS_LIST).call(INNER_VALUE_PROPS_LIST, function (item) {
178
+ return innerDisplayName === item.name;
179
+ });
180
+
181
+ if (filter.length) {
182
+ innerValuePropName = filter[0].propName;
183
+ }
184
+ }
135
185
 
136
186
  var onStoreChange = function onStoreChange(stores, _namePathList, source) {
137
187
  var prev = stores.prev,
@@ -206,10 +256,22 @@ var Field = function Field(props) {
206
256
  var value = getFieldValue(name);
207
257
  var validateMessage = getFieldError(name);
208
258
 
209
- var handleValueChange = _react.default.useCallback(function (evt) {
259
+ var getInputValueFormProp = function getInputValueFormProp(evt) {
210
260
  var _a;
211
261
 
212
- var inputValue = typeof evt === 'string' ? evt : (_a = evt.target) === null || _a === void 0 ? void 0 : _a.value;
262
+ var inputValue;
263
+
264
+ if (Object.prototype.hasOwnProperty.call(evt, 'target') && (0, _includes.default)(FormEventValuePropNames).call(FormEventValuePropNames, innerValuePropName)) {
265
+ inputValue = (_a = evt.target) === null || _a === void 0 ? void 0 : _a[innerValuePropName];
266
+ } else {
267
+ inputValue = evt;
268
+ }
269
+
270
+ return inputValue;
271
+ };
272
+
273
+ var handleValueChange = _react.default.useCallback(function (evt) {
274
+ var inputValue = getInputValueFormProp(evt);
213
275
  dispatch({
214
276
  type: 'updateValue',
215
277
  namePath: name,
@@ -224,9 +286,11 @@ var Field = function Field(props) {
224
286
  });
225
287
  }, [name]);
226
288
 
227
- var trigger = (0, _extends3.default)((0, _defineProperty2.default)({}, DEFAULT_TRIGGER, handleValueChange), generateEventHandler(handleValueValidate, validateTrigger));
289
+ var trigger = (0, _extends5.default)((0, _defineProperty2.default)({}, DEFAULT_TRIGGER, handleValueChange), generateEventHandler(handleValueValidate, validateTrigger));
228
290
 
229
291
  var mergeProps = function mergeProps(fa, ch) {
292
+ var _extends3;
293
+
230
294
  if (!ch) {
231
295
  return {};
232
296
  }
@@ -237,17 +301,13 @@ var Field = function Field(props) {
237
301
 
238
302
  var _ch$props = ch.props,
239
303
  chChange = _ch$props.onChange,
240
- chValue = _ch$props.value,
304
+ chValue = _ch$props[innerValuePropName],
241
305
  chDisabled = _ch$props.disabled,
242
306
  chDefaultValue = _ch$props.defaultValue;
243
307
 
244
308
  var onChange = function onChange(evt) {
245
309
  if (chValue === undefined) {
246
- if (typeof evt === 'string') {
247
- setFieldValue(evt);
248
- } else {
249
- setFieldValue(evt.target.value);
250
- }
310
+ setFieldValue(getInputValueFormProp(evt));
251
311
  }
252
312
 
253
313
  if (typeof faChange === 'function') {
@@ -270,12 +330,10 @@ var Field = function Field(props) {
270
330
  forceUpdate();
271
331
  }
272
332
 
273
- return (0, _extends3.default)((0, _extends3.default)({}, rest), {
333
+ return (0, _extends5.default)((0, _extends5.default)({}, rest), (_extends3 = {
274
334
  onChange: onChange,
275
- defaultValue: defaultValue,
276
- value: fieldValue,
277
- disabled: chDisabled || faDisabled
278
- });
335
+ defaultValue: defaultValue
336
+ }, (0, _defineProperty2.default)(_extends3, innerValuePropName, fieldValue), (0, _defineProperty2.default)(_extends3, "disabled", chDisabled || faDisabled), _extends3));
279
337
  };
280
338
 
281
339
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -288,11 +346,10 @@ var Field = function Field(props) {
288
346
  }), /*#__PURE__*/_react.default.createElement(_FieldWrapper.default, {
289
347
  width: wrapperWidth,
290
348
  validateMessage: validateMessage
291
- }, (0, _map.default)(_context2 = (0, _reactChildren.toArray)(children)).call(_context2, function (child, index) {
292
- var keys = mergeProps((0, _extends3.default)((0, _extends3.default)({
293
- disabled: disabled,
294
- value: value
295
- }, trigger), {
349
+ }, (0, _map.default)(childrenArray).call(childrenArray, function (child, index) {
350
+ var keys = mergeProps((0, _extends5.default)((0, _extends5.default)((0, _defineProperty2.default)({
351
+ disabled: disabled
352
+ }, innerValuePropName, value), trigger), {
296
353
  key: index
297
354
  }), child);
298
355
  return child ? /*#__PURE__*/_react.default.cloneElement(child, keys) : child;