@kdcloudjs/kdesign 1.3.2 → 1.3.5

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 (80) hide show
  1. package/CHANGELOG.md +43 -1
  2. package/dist/kdesign-complete.less +176 -107
  3. package/dist/kdesign.css +161 -77
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +3776 -2037
  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/_utils/usePopper.d.ts +1 -0
  11. package/es/_utils/usePopper.js +29 -25
  12. package/es/anchor/anchor.js +20 -1
  13. package/es/base-data/style/index.css +1 -0
  14. package/es/base-data/style/index.less +1 -0
  15. package/es/button/group.js +2 -1
  16. package/es/button/style/index.css +20 -19
  17. package/es/button/style/index.less +29 -27
  18. package/es/button/style/token.less +4 -4
  19. package/es/checkbox/checkbox.js +20 -12
  20. package/es/config-provider/compDefaultProps.d.ts +0 -1
  21. package/es/config-provider/compDefaultProps.js +1 -2
  22. package/es/form/Field.js +7 -6
  23. package/es/form/Form.d.ts +1 -0
  24. package/es/form/Form.js +3 -1
  25. package/es/form/interface.d.ts +1 -0
  26. package/es/menu/menu.d.ts +1 -1
  27. package/es/menu/menu.js +55 -22
  28. package/es/menu/menuItem.d.ts +1 -0
  29. package/es/menu/menuItem.js +14 -10
  30. package/es/menu/style/index.css +139 -53
  31. package/es/menu/style/index.less +101 -69
  32. package/es/menu/style/mixin.less +33 -1
  33. package/es/menu/style/token.less +4 -2
  34. package/es/menu/subMenu.d.ts +1 -1
  35. package/es/menu/subMenu.js +126 -119
  36. package/es/radio/radio.d.ts +1 -1
  37. package/es/radio/radio.js +18 -11
  38. package/es/select/select.js +33 -20
  39. package/es/style/core/reset.less +4 -4
  40. package/es/style/index.css +0 -4
  41. package/es/table/feature/useRangeSelection.d.ts +3 -0
  42. package/es/table/feature/useRangeSelection.js +10 -0
  43. package/es/table/interface.d.ts +15 -2
  44. package/es/table/table.js +14 -7
  45. package/lib/_utils/usePopper.d.ts +1 -0
  46. package/lib/_utils/usePopper.js +29 -25
  47. package/lib/anchor/anchor.js +20 -1
  48. package/lib/base-data/style/index.css +1 -0
  49. package/lib/base-data/style/index.less +1 -0
  50. package/lib/button/group.js +2 -1
  51. package/lib/button/style/index.css +20 -19
  52. package/lib/button/style/index.less +29 -27
  53. package/lib/button/style/token.less +4 -4
  54. package/lib/checkbox/checkbox.js +19 -11
  55. package/lib/config-provider/compDefaultProps.d.ts +0 -1
  56. package/lib/config-provider/compDefaultProps.js +1 -2
  57. package/lib/form/Field.js +7 -6
  58. package/lib/form/Form.d.ts +1 -0
  59. package/lib/form/Form.js +3 -1
  60. package/lib/form/interface.d.ts +1 -0
  61. package/lib/menu/menu.d.ts +1 -1
  62. package/lib/menu/menu.js +61 -26
  63. package/lib/menu/menuItem.d.ts +1 -0
  64. package/lib/menu/menuItem.js +16 -10
  65. package/lib/menu/style/index.css +139 -53
  66. package/lib/menu/style/index.less +101 -69
  67. package/lib/menu/style/mixin.less +33 -1
  68. package/lib/menu/style/token.less +4 -2
  69. package/lib/menu/subMenu.d.ts +1 -1
  70. package/lib/menu/subMenu.js +145 -142
  71. package/lib/radio/radio.d.ts +1 -1
  72. package/lib/radio/radio.js +30 -20
  73. package/lib/select/select.js +33 -20
  74. package/lib/style/core/reset.less +4 -4
  75. package/lib/style/index.css +0 -4
  76. package/lib/table/feature/useRangeSelection.d.ts +3 -0
  77. package/lib/table/feature/useRangeSelection.js +21 -0
  78. package/lib/table/interface.d.ts +15 -2
  79. package/lib/table/table.js +15 -7
  80. package/package.json +2 -2
package/es/table/table.js CHANGED
@@ -17,6 +17,7 @@ import useTreeMode from './feature/treeMode';
17
17
  import useColumnResize from './feature/columnResize';
18
18
  import useColumnDrag from './feature/columnDrag';
19
19
  import useContextMenu from './feature/contextMenu';
20
+ import useRangeSelection from './feature/useRangeSelection';
20
21
  import devWarning from '../_utils/devwarning';
21
22
 
22
23
  function Table(props) {
@@ -46,6 +47,7 @@ function Table(props) {
46
47
  getRowProps = props.getRowProps,
47
48
  getTableProps = props.getTableProps,
48
49
  contextMenu = props.contextMenu,
50
+ rangeSelection = props.rangeSelection,
49
51
  cssVariables = props.cssVariables;
50
52
 
51
53
  var _useContext = useContext(ConfigContext),
@@ -56,19 +58,24 @@ function Table(props) {
56
58
  var tableCls = classNames(tablePrefixCls, className);
57
59
  var pipeline = useTablePipeline({
58
60
  components: {
59
- Checkbox: Checkbox,
60
- Radio: Radio
61
+ Checkbox: (components === null || components === void 0 ? void 0 : components.Checkbox) || Checkbox,
62
+ Radio: (components === null || components === void 0 ? void 0 : components.Radio) || Radio
61
63
  }
62
64
  }).primaryKey(primaryKey === undefined ? '' : primaryKey).input({
63
65
  columns: columns,
64
66
  dataSource: dataSource
65
67
  });
68
+
69
+ if (footerDataSource) {
70
+ pipeline.footerDataSource(footerDataSource);
71
+ }
66
72
  /* -------------------------------------------------------------------------- */
67
73
 
68
74
  /* features */
69
75
 
70
76
  /* -------------------------------------------------------------------------- */
71
77
 
78
+
72
79
  useRowSelection(pipeline, rowSelection);
73
80
  useRowDetail(pipeline, rowDetail);
74
81
  useFilter(pipeline, filter);
@@ -78,6 +85,7 @@ function Table(props) {
78
85
  useColumnResize(pipeline, columnResize);
79
86
  useColumnDrag(pipeline, columnDrag);
80
87
  useContextMenu(pipeline, contextMenu);
88
+ useRangeSelection(pipeline, rangeSelection);
81
89
  /* -------------------------------------------------------------------------- */
82
90
 
83
91
  /* after useTablePipeline, merge pipeline.getProps result */
@@ -101,18 +109,17 @@ function Table(props) {
101
109
  className: tableCls,
102
110
  style: style,
103
111
  isLoading: isLoading,
104
- components: _extends({
105
- LoadingIcon: function LoadingIcon() {
112
+ components: {
113
+ LoadingIcon: (components === null || components === void 0 ? void 0 : components.LoadingIcon) || function () {
106
114
  return /*#__PURE__*/React.createElement(Spin, {
107
115
  type: "container"
108
116
  });
109
117
  },
110
- EmptyContent: function EmptyContent() {
118
+ EmptyContent: (components === null || components === void 0 ? void 0 : components.EmptyContent) || function () {
111
119
  return /*#__PURE__*/React.createElement(Empty, null);
112
120
  }
113
- }, components),
121
+ },
114
122
  useVirtual: useVirtual,
115
- footerDataSource: footerDataSource,
116
123
  estimatedRowHeight: estimatedRowHeight,
117
124
  emptyCellHeight: emptyCellHeight,
118
125
  hasHeader: hasHeader,
@@ -15,6 +15,7 @@ export interface PopperProps {
15
15
  mouseEnterDelay?: number;
16
16
  mouseLeaveDelay?: number;
17
17
  defaultVisible?: boolean;
18
+ autoPlacement?: boolean;
18
19
  popperClassName?: string;
19
20
  placement?: PlacementType;
20
21
  popperStyle?: React.CSSProperties;
@@ -186,6 +186,8 @@ function usePopper(locatorElement, popperElement, props) {
186
186
  mouseLeaveDelay = _props$mouseLeaveDela === void 0 ? 0.1 : _props$mouseLeaveDela,
187
187
  _props$defaultVisible = props.defaultVisible,
188
188
  defaultVisible = _props$defaultVisible === void 0 ? false : _props$defaultVisible,
189
+ _props$autoPlacement = props.autoPlacement,
190
+ autoPlacement = _props$autoPlacement === void 0 ? true : _props$autoPlacement,
189
191
  _props$getTriggerElem = props.getTriggerElement,
190
192
  getTriggerElement = _props$getTriggerElem === void 0 ? function (locatorNode) {
191
193
  return locatorNode;
@@ -323,36 +325,38 @@ function usePopper(locatorElement, popperElement, props) {
323
325
  var currentPos = trigger === 'contextMenu' ? mousePos : locatorPos;
324
326
  var _currentPlacement = placement;
325
327
 
326
- if (top - gap - popperHeight <= 5 && bottom + gap + popperHeight < document.body.clientHeight - 5) {
327
- _currentPlacement = _currentPlacement.replace('top', 'bottom');
328
- }
328
+ if (autoPlacement) {
329
+ if (top - gap - popperHeight <= 5 && bottom + gap + popperHeight < document.body.clientHeight - 5) {
330
+ _currentPlacement = _currentPlacement.replace('top', 'bottom');
331
+ }
329
332
 
330
- if (bottom + gap + popperHeight >= document.body.clientHeight - 5 && top - gap - popperHeight > 5) {
331
- _currentPlacement = _currentPlacement.replace('bottom', 'top');
332
- }
333
+ if (bottom + gap + popperHeight >= document.body.clientHeight - 5 && top - gap - popperHeight > 5) {
334
+ _currentPlacement = _currentPlacement.replace('bottom', 'top');
335
+ }
333
336
 
334
- if (left + popperWidth >= document.body.clientWidth - 5 && right - popperWidth > 5) {
335
- _currentPlacement = _currentPlacement.replace('Left', 'Right');
336
- }
337
+ if (left + popperWidth >= document.body.clientWidth - 5 && right - popperWidth > 5) {
338
+ _currentPlacement = _currentPlacement.replace('Left', 'Right');
339
+ }
337
340
 
338
- if (right - popperWidth <= 5 && left + popperWidth < document.body.clientWidth - 5) {
339
- _currentPlacement = _currentPlacement.replace('Right', 'Left');
340
- }
341
+ if (right - popperWidth <= 5 && left + popperWidth < document.body.clientWidth - 5) {
342
+ _currentPlacement = _currentPlacement.replace('Right', 'Left');
343
+ }
341
344
 
342
- if (top + popperHeight >= document.body.clientHeight - 5 && bottom - popperHeight > 5) {
343
- _currentPlacement = _currentPlacement.replace('Top', 'Bottom');
344
- }
345
+ if (top + popperHeight >= document.body.clientHeight - 5 && bottom - popperHeight > 5) {
346
+ _currentPlacement = _currentPlacement.replace('Top', 'Bottom');
347
+ }
345
348
 
346
- if (bottom - popperHeight <= 5 && top + popperHeight < document.body.clientHeight - 5) {
347
- _currentPlacement = _currentPlacement.replace('Bottom', 'Top');
348
- }
349
+ if (bottom - popperHeight <= 5 && top + popperHeight < document.body.clientHeight - 5) {
350
+ _currentPlacement = _currentPlacement.replace('Bottom', 'Top');
351
+ }
349
352
 
350
- if (left - gap - popperWidth <= 5 && right + gap + popperWidth < document.body.clientWidth - 5) {
351
- _currentPlacement = _currentPlacement.replace('left', 'right');
352
- }
353
+ if (left - gap - popperWidth <= 5 && right + gap + popperWidth < document.body.clientWidth - 5) {
354
+ _currentPlacement = _currentPlacement.replace('left', 'right');
355
+ }
353
356
 
354
- if (right + gap + popperWidth >= document.body.clientWidth - 5 && left - gap - popperWidth > 5) {
355
- _currentPlacement = _currentPlacement.replace('right', 'left');
357
+ if (right + gap + popperWidth >= document.body.clientWidth - 5 && left - gap - popperWidth > 5) {
358
+ _currentPlacement = _currentPlacement.replace('right', 'left');
359
+ }
356
360
  }
357
361
 
358
362
  var leftLeft = currentPos.left - popperWidth - gap;
@@ -465,7 +469,7 @@ function usePopper(locatorElement, popperElement, props) {
465
469
  setArrowPos(_arrowPos);
466
470
  setCurrentPlacement(_currentPlacement);
467
471
  }
468
- }, [locatorRef, popperRef, container, trigger, mousePos, placement, gap, arrowOffset, arrowSize, arrowWidth]);
472
+ }, [locatorRef, popperRef, container, trigger, mousePos, placement, gap, arrowOffset, arrowSize, arrowWidth, autoPlacement]);
469
473
  (0, _react.useEffect)(function () {
470
474
  if (canAlign) {
471
475
  alignPopper();
@@ -479,7 +483,7 @@ function usePopper(locatorElement, popperElement, props) {
479
483
  if (arrowPos.left) arrowStyle["--arrowLeft"] = arrowPos.left + 'px';
480
484
  var popperContainerStyle = (0, _extends2.default)((0, _extends2.default)((0, _extends2.default)({
481
485
  position: 'absolute'
482
- }, popperStyle), align), arrow ? arrowStyle : {});
486
+ }, align), arrow ? arrowStyle : {}), popperStyle);
483
487
  var popperProps = {
484
488
  ref: popperRef,
485
489
  style: popperContainerStyle,
@@ -367,7 +367,9 @@ var InternalAnchor = function InternalAnchor(props, ref) {
367
367
  !isLocked && setOptionShow(visible);
368
368
  };
369
369
 
370
- var popperProps = (0, _extends2.default)((0, _extends2.default)({}, anchorProps), {
370
+ var popperProps = (0, _extends2.default)((0, _extends2.default)({
371
+ autoPlacement: false
372
+ }, anchorProps), {
371
373
  prefixCls: anchorPrefixCls,
372
374
  defaultVisible: optionShow,
373
375
  visible: optionShow,
@@ -375,6 +377,22 @@ var InternalAnchor = function InternalAnchor(props, ref) {
375
377
  onVisibleChange: handleVisibleChange
376
378
  });
377
379
 
380
+ var fixedRef = _react.default.useRef(null);
381
+
382
+ if (type === 'advanced' && isLocked) {
383
+ if (fixedRef.current) {
384
+ var _fixedRef$current$get = fixedRef.current.getBoundingClientRect(),
385
+ left = _fixedRef$current$get.left,
386
+ top = _fixedRef$current$get.top;
387
+
388
+ popperProps.popperStyle = {
389
+ position: 'fixed',
390
+ left: left,
391
+ top: top
392
+ };
393
+ }
394
+ }
395
+
378
396
  var addChildrenProps = function addChildrenProps(linksChildren) {
379
397
  var _context4;
380
398
 
@@ -504,6 +522,7 @@ var InternalAnchor = function InternalAnchor(props, ref) {
504
522
  });
505
523
 
506
524
  return /*#__PURE__*/_react.default.createElement("div", {
525
+ ref: fixedRef,
507
526
  className: anchorAdvancedClass,
508
527
  style: dropdownStyle
509
528
  }, lockedIcon !== false && /*#__PURE__*/_react.default.createElement("span", {
@@ -222,6 +222,7 @@
222
222
  }
223
223
  .kd-baseData-dropdown-options {
224
224
  height: var(--kd-c-base-data-dropdown-options-sizing-height, 32px);
225
+ cursor: pointer;
225
226
  }
226
227
  .kd-baseData-dropdown-options:hover {
227
228
  background: var(--kd-c-base-data-color-background-hover, var(--kd-g-color-hover, #f5f5f5));
@@ -115,6 +115,7 @@
115
115
 
116
116
  &-options {
117
117
  height: @base-data-dropdown-options-height;
118
+ cursor: pointer;
118
119
 
119
120
  &:hover {
120
121
  background: @base-data-hover-bg;
@@ -146,7 +146,8 @@ var InternalButtonGroup = function InternalButtonGroup(props, ref) {
146
146
 
147
147
  var popperProps = (0, _extends2.default)((0, _extends2.default)({
148
148
  placement: 'bottomLeft',
149
- trigger: 'click'
149
+ trigger: 'click',
150
+ gap: 0
150
151
  }, buttonGoupProps), {
151
152
  prefixCls: btnGroupPrefixCls,
152
153
  defaultVisible: optionShow,
@@ -354,35 +354,36 @@
354
354
  .kd-btn-group-basic-icon {
355
355
  margin-left: 4px;
356
356
  }
357
- .kd-btn-group-trigger .kd-btn-primary {
358
- background: var(--kd-c-button-group-trigger-color-background, #4367c1);
357
+ .kd-btn-group-similar .kd-btn-group-trigger .kd-btn {
358
+ border-top-left-radius: 0;
359
+ border-bottom-left-radius: 0;
360
+ margin-left: -1px;
359
361
  }
360
- .kd-btn-group-trigger .kd-btn-primary:hover {
361
- background: var(--kd-c-button-group-trigger-color-background-hover, #4c74da);
362
- border-color: var(--kd-c-button-group-trigger-color-background-hover, #4c74da);
362
+ .kd-btn-group-similar .kd-btn-group-trigger .kd-btn-primary {
363
+ background: var(--kd-c-button-group-trigger-color-background, var(--kd-g-color-theme-7, #375cca));
363
364
  }
364
- .kd-btn-group-trigger .kd-btn-primary:active {
365
- background: var(--kd-c-button-group-trigger-color-background-active, #3B5AA9);
365
+ .kd-btn-group-similar .kd-btn-group-trigger .kd-btn-primary:hover {
366
+ background: var(--kd-c-button-group-trigger-color-background-hover, var(--kd-g-color-theme-6, #5582f3));
367
+ border-color: var(--kd-c-button-group-trigger-color-background-hover, var(--kd-g-color-theme-6, #5582f3));
366
368
  }
367
- .kd-btn-group-trigger .kd-btn-primary:disabled {
368
- background: var(--kd-c-button-group-trigger-color-background-disabled, #95a4c8) !important;
369
+ .kd-btn-group-similar .kd-btn-group-trigger .kd-btn-primary:active {
370
+ background: var(--kd-c-button-group-trigger-color-background-active, var(--kd-g-color-theme-8, #1f3ba1));
369
371
  }
370
- .kd-btn-group-trigger .kd-btn {
371
- margin-left: -1px;
372
+ .kd-btn-group-similar .kd-btn-group-trigger .kd-btn-primary:disabled {
373
+ background: var(--kd-c-button-group-trigger-color-background-disabled, var(--kd-g-color-theme-5, #87adff)) !important;
374
+ }
375
+ .kd-btn-group-similar > .kd-btn:first-child {
376
+ border-top-right-radius: 0;
377
+ border-bottom-right-radius: 0;
378
+ }
379
+ .kd-btn-group-similar > .kd-btn:first-child:hover {
380
+ z-index: 1;
372
381
  }
373
382
  .kd-btn-group .kd-btn-size-small,
374
383
  .kd-btn-group .kd-btn-size-middle,
375
384
  .kd-btn-group .kd-btn-size-large {
376
385
  min-width: unset;
377
386
  }
378
- .kd-btn-group .kd-btn:first-child {
379
- border-top-right-radius: 0;
380
- border-bottom-right-radius: 0;
381
- }
382
- .kd-btn-group .kd-btn:last-child {
383
- border-top-left-radius: 0;
384
- border-bottom-left-radius: 0;
385
- }
386
387
  .kd-btn-group .kd-dropdown-menu {
387
388
  padding: 0;
388
389
  }
@@ -259,25 +259,37 @@
259
259
  }
260
260
  }
261
261
 
262
- &-trigger {
263
- .@{btn-prefix-cls}-primary {
264
- background: @btn-group-trigger-color-background;
265
- &:hover {
266
- background: @btn-group-trigger-color-background-hover;
267
- border-color: @btn-group-trigger-color-background-hover;
268
- }
269
-
270
- &:active {
271
- background: @btn-group-trigger-color-background-active;
272
- }
273
-
274
- &:disabled {
275
- background: @btn-group-trigger-color-background-disabled !important;
262
+ &-similar {
263
+ .@{btn-prefix-cls}-group-trigger {
264
+ .@{btn-prefix-cls} {
265
+ border-top-left-radius: 0;
266
+ border-bottom-left-radius: 0;
267
+ margin-left: -1px;
268
+ &-primary {
269
+ background: @btn-group-trigger-color-background;
270
+ &:hover {
271
+ background: @btn-group-trigger-color-background-hover;
272
+ border-color: @btn-group-trigger-color-background-hover;
273
+ }
274
+
275
+ &:active {
276
+ background: @btn-group-trigger-color-background-active;
277
+ }
278
+
279
+ &:disabled {
280
+ background: @btn-group-trigger-color-background-disabled !important;
281
+ }
282
+ }
276
283
  }
277
284
  }
278
-
279
- .@{btn-prefix-cls} {
280
- margin-left: -1px;
285
+ &>.@{btn-prefix-cls} {
286
+ &:first-child {
287
+ border-top-right-radius: 0;
288
+ border-bottom-right-radius: 0;
289
+ &:hover {
290
+ z-index: 1;
291
+ }
292
+ }
281
293
  }
282
294
  }
283
295
 
@@ -287,16 +299,6 @@
287
299
  &-size-large {
288
300
  min-width: unset;
289
301
  }
290
-
291
- &:first-child {
292
- border-top-right-radius: 0;
293
- border-bottom-right-radius: 0;
294
- }
295
-
296
- &:last-child {
297
- border-top-left-radius: 0;
298
- border-bottom-left-radius: 0;
299
- }
300
302
  }
301
303
 
302
304
  .@{kd-prefix}-dropdown {
@@ -61,10 +61,10 @@
61
61
  @btn-group-dropdown-item-border-color: var(~'@{button-custom-prefix}-group-dropdown-item-border-color', #E5E5E5); // 集合按钮 下拉边框颜色
62
62
  @btn-group-dropdown-item-color-background-hover: var(~'@{button-custom-prefix}-group-dropdown-item-color-background-hover', #F5F5F5); // 集合按钮 下拉hover背景颜色
63
63
  @btn-group-dropdown-color-background: var(~'@{button-custom-prefix}-group-dropdown-color-background', #fff); // 集合按钮 下拉菜单背景颜色
64
- @btn-group-trigger-color-background: var(~'@{button-custom-prefix}-group-trigger-color-background', #4367c1);
65
- @btn-group-trigger-color-background-hover: var(~'@{button-custom-prefix}-group-trigger-color-background-hover', #4c74da);
66
- @btn-group-trigger-color-background-active: var(~'@{button-custom-prefix}-group-trigger-color-background-active', #3B5AA9);
67
- @btn-group-trigger-color-background-disabled: var(~'@{button-custom-prefix}-group-trigger-color-background-disabled', #95a4c8);
64
+ @btn-group-trigger-color-background: var(~'@{button-custom-prefix}-group-trigger-color-background', @color-theme-7);
65
+ @btn-group-trigger-color-background-hover: var(~'@{button-custom-prefix}-group-trigger-color-background-hover', @color-theme-6);
66
+ @btn-group-trigger-color-background-active: var(~'@{button-custom-prefix}-group-trigger-color-background-active', @color-theme-8);
67
+ @btn-group-trigger-color-background-disabled: var(~'@{button-custom-prefix}-group-trigger-color-background-disabled', @color-theme-5);
68
68
 
69
69
  // font
70
70
  @btn-g-font-weight: var(~'@{button-custom-prefix}-font-weight', @font-weight-light);
@@ -71,11 +71,12 @@ var InternalCheckbox = function InternalCheckbox(props, ref) {
71
71
  return (0, _isBoolean.default)(checked) ? checked : defaultChecked;
72
72
  };
73
73
 
74
- var _React$useState = _react.default.useState(getChecked()),
75
- _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
76
- selected = _React$useState2[0],
77
- setSelected = _React$useState2[1];
74
+ var _useState = (0, _react.useState)(getChecked()),
75
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
76
+ selected = _useState2[0],
77
+ setSelected = _useState2[1];
78
78
 
79
+ var labelRef = (0, _react.useRef)(null);
79
80
  (0, _devwarning.default)(CheckboxTypes.indexOf(checkboxType) === -1, 'checkbox', "cannot found checkbox type '".concat(checkboxType, "'"));
80
81
  (0, _devwarning.default)(CheckboxSizes.indexOf(size) === -1, 'checkbox', "cannot found size type '".concat(size, "'"));
81
82
  var checkboxPrefixCls = getPrefixCls(prefixCls, 'checkbox', customPrefixcls);
@@ -102,14 +103,21 @@ var InternalCheckbox = function InternalCheckbox(props, ref) {
102
103
  (0, _react.useEffect)(function () {
103
104
  (0, _isBoolean.default)(checked) && checked !== selected && setSelected(checked);
104
105
  }, [checked, selected]);
106
+ (0, _react.useEffect)(function () {
107
+ var handleRepeatClick = function handleRepeatClick(e) {
108
+ var element = e.target;
105
109
 
106
- var handleRepeatClick = function handleRepeatClick(e) {
107
- var element = e.target;
110
+ if (element.tagName !== 'INPUT') {
111
+ e.stopPropagation();
112
+ }
113
+ };
108
114
 
109
- if (element.tagName !== 'INPUT') {
110
- e.stopPropagation();
111
- }
112
- };
115
+ labelRef.current.addEventListener('click', handleRepeatClick);
116
+ return function () {
117
+ // eslint-disable-next-line react-hooks/exhaustive-deps
118
+ labelRef.current.removeEventListener('click', handleRepeatClick);
119
+ };
120
+ }, []);
113
121
 
114
122
  var getDefaultCheckbox = function getDefaultCheckbox() {
115
123
  var _context19, _context20;
@@ -120,7 +128,7 @@ var InternalCheckbox = function InternalCheckbox(props, ref) {
120
128
  _react.default.createElement("label", {
121
129
  className: getRootClassName,
122
130
  style: style,
123
- onClick: handleRepeatClick
131
+ ref: labelRef
124
132
  }, /*#__PURE__*/_react.default.createElement("span", {
125
133
  className: checkedWrapperClassName
126
134
  }, selected && /*#__PURE__*/_react.default.createElement("span", {
@@ -132,7 +132,6 @@ declare const compDefaultProps: {
132
132
  mode: string;
133
133
  defaultOpen: boolean;
134
134
  showArrow: boolean;
135
- showSearch: boolean;
136
135
  };
137
136
  Image: {
138
137
  preview: boolean;
@@ -155,8 +155,7 @@ var compDefaultProps = {
155
155
  borderType: 'underline',
156
156
  mode: 'single',
157
157
  defaultOpen: false,
158
- showArrow: true,
159
- showSearch: false
158
+ showArrow: true
160
159
  },
161
160
  Image: {
162
161
  preview: true
package/lib/form/Field.js CHANGED
@@ -137,7 +137,8 @@ var Field = function Field(props) {
137
137
  getInternalHooks = fieldContext.getInternalHooks,
138
138
  vertical = fieldContext.vertical,
139
139
  getDefaultValue = fieldContext.getDefaultValue,
140
- local = fieldContext.local;
140
+ local = fieldContext.local,
141
+ formDisabled = fieldContext.disabled;
141
142
 
142
143
  var _getInternalHooks = getInternalHooks(_useForm.INTERNAL_HOOK_KEY),
143
144
  registerField = _getInternalHooks.registerField,
@@ -305,17 +306,17 @@ var Field = function Field(props) {
305
306
  chDisabled = _ch$props.disabled,
306
307
  chDefaultValue = _ch$props.defaultValue;
307
308
 
308
- var onChange = function onChange(evt) {
309
+ var onChange = function onChange() {
309
310
  if (chValue === undefined) {
310
- setFieldValue(getInputValueFormProp(evt));
311
+ setFieldValue(getInputValueFormProp(arguments.length <= 0 ? undefined : arguments[0]));
311
312
  }
312
313
 
313
314
  if (typeof faChange === 'function') {
314
- faChange(evt);
315
+ faChange.apply(void 0, arguments);
315
316
  }
316
317
 
317
318
  if (typeof chChange === 'function') {
318
- chChange(evt);
319
+ chChange.apply(void 0, arguments);
319
320
  }
320
321
  };
321
322
 
@@ -333,7 +334,7 @@ var Field = function Field(props) {
333
334
  return (0, _extends5.default)((0, _extends5.default)({}, rest), (_extends3 = {
334
335
  onChange: onChange,
335
336
  defaultValue: defaultValue
336
- }, (0, _defineProperty2.default)(_extends3, innerValuePropName, fieldValue), (0, _defineProperty2.default)(_extends3, "disabled", chDisabled || faDisabled), _extends3));
337
+ }, (0, _defineProperty2.default)(_extends3, innerValuePropName, fieldValue), (0, _defineProperty2.default)(_extends3, "disabled", chDisabled !== undefined ? chDisabled : faDisabled !== undefined ? faDisabled : formDisabled), _extends3));
337
338
  };
338
339
 
339
340
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -4,6 +4,7 @@ declare type BaseFormProps = Omit<React.FormHTMLAttributes<HTMLFormElement>, 'on
4
4
  export interface FormProps<Values = any> extends BaseFormProps {
5
5
  children?: React.ReactNode;
6
6
  defaultValues?: Store;
7
+ disabled?: boolean;
7
8
  className?: string;
8
9
  form?: FormInstance<Values>;
9
10
  labelAlign?: LabelAlign;
package/lib/form/Form.js CHANGED
@@ -81,7 +81,8 @@ var Form = function Form(props, ref) {
81
81
  onFinish = formProps.onFinish,
82
82
  onFinishFailed = formProps.onFinishFailed,
83
83
  onValuesChange = formProps.onValuesChange,
84
- restProps = __rest(formProps, ["children", "defaultValues", "className", "form", "labelAlign", "labelWidth", "layout", "name", "prefixCls", "wrapperWidth", "onFinish", "onFinishFailed", "onValuesChange"]);
84
+ disabled = formProps.disabled,
85
+ restProps = __rest(formProps, ["children", "defaultValues", "className", "form", "labelAlign", "labelWidth", "layout", "name", "prefixCls", "wrapperWidth", "onFinish", "onFinishFailed", "onValuesChange", "disabled"]);
85
86
 
86
87
  var formPrefixCls = getPrefixCls(prefixCls, 'form', customizePrefixCls);
87
88
  var formClassName = (0, _classnames2.default)((_classnames = {}, (0, _defineProperty2.default)(_classnames, "".concat(formPrefixCls), true), (0, _defineProperty2.default)(_classnames, (0, _concat.default)(_context = "".concat(formPrefixCls, "-")).call(_context, layout), true), _classnames), className);
@@ -121,6 +122,7 @@ var Form = function Form(props, ref) {
121
122
  labelWidth: labelWidth,
122
123
  wrapperWidth: wrapperWidth,
123
124
  local: formLang,
125
+ disabled: disabled,
124
126
  vertical: layout === 'vertical'
125
127
  });
126
128
  }, [formInstance, labelAlign, labelWidth, wrapperWidth, layout, formLang]);
@@ -34,6 +34,7 @@ export interface InternalFormInstance extends FormInstance {
34
34
  labelAlign?: LabelAlign;
35
35
  wrapperWidth?: string | number;
36
36
  vertical?: boolean;
37
+ disabled?: boolean;
37
38
  local?: InnerLocale;
38
39
  getInternalHooks: (key: string) => InternalHooks | null;
39
40
  }
@@ -1,4 +1,4 @@
1
- import * as React from 'react';
1
+ import React from 'react';
2
2
  import { MenuMode, MenuTheme, TriggerSubMenuAction, SubMenuChangeEventHandler } from './interface';
3
3
  import MenuItem from './menuItem';
4
4
  import SubMenu from './subMenu';