@kdcloudjs/kdesign 1.6.19 → 1.6.21

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.
@@ -1,4 +1,5 @@
1
1
  import React, { CSSProperties, ReactNode } from 'react';
2
+ import { PopperProps } from '../_utils/usePopper';
2
3
  import { ButtonType, ButtonSize } from './button';
3
4
  export declare const ButtonGroupTypes: ["basic", "similar"];
4
5
  export declare type ButtonGroupType = typeof ButtonGroupTypes[number];
@@ -6,7 +7,7 @@ export interface OverlayType {
6
7
  value?: string;
7
8
  label?: React.ReactNode;
8
9
  }
9
- export interface ButtonGroupProps {
10
+ export interface ButtonGroupProps extends PopperProps {
10
11
  buttonType?: ButtonType;
11
12
  children?: ReactNode;
12
13
  className?: string;
@@ -87,7 +87,7 @@ var InternalCheckbox = function InternalCheckbox(props, ref) {
87
87
  var innerIconClassName = classNames(_defineProperty({}, _concatInstanceProperty(_context18 = "".concat(checkboxPrefixCls, "-")).call(_context18, mergedCheckboxType, "-inner"), true));
88
88
  var handleChange = useCallback(function (e) {
89
89
  onChange && onChange(e);
90
- (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.onCheckboxGroupChange) && (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.onCheckboxGroupChange(value, e.target.checked));
90
+ (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.onCheckboxGroupChange) && (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.onCheckboxGroupChange(value, e.target.checked, e));
91
91
 
92
92
  if (!(checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.isControlled)) {
93
93
  setSelected(e.target.checked);
@@ -10,7 +10,7 @@ export interface CheckboxGroupContext {
10
10
  groupValue?: Array<CheckboxValueType>;
11
11
  checkboxType?: CheckboxType;
12
12
  disabled?: boolean;
13
- onCheckboxGroupChange?: (checkedValue: CheckboxValueType, isChecked: boolean) => void;
13
+ onCheckboxGroupChange?: (checkedValue: CheckboxValueType, isChecked: boolean, e: React.ChangeEvent<HTMLInputElement>) => void;
14
14
  }
15
15
  export declare const GroupContext: React.Context<CheckboxGroupContext | null>;
16
16
  export interface CheckboxGroupProps {
@@ -66,7 +66,7 @@ var CheckboxGroup = /*#__PURE__*/React.forwardRef(function (props, ref) {
66
66
  return innerValue.current.indexOf(targetValue) > -1 ? innerValue.current : _concatInstanceProperty(_context2 = innerValue.current).call(_context2, targetValue);
67
67
  };
68
68
 
69
- var onCheckboxChange = function onCheckboxChange(checkedValue, isChecked) {
69
+ var onCheckboxChange = function onCheckboxChange(checkedValue, isChecked, e) {
70
70
  var newVal = [];
71
71
 
72
72
  if (isChecked) {
@@ -79,7 +79,7 @@ var CheckboxGroup = /*#__PURE__*/React.forwardRef(function (props, ref) {
79
79
  innerValue.current = newVal;
80
80
  }
81
81
 
82
- onChange && onChange(newVal);
82
+ onChange && onChange(e, newVal);
83
83
  };
84
84
 
85
85
  var context = {
@@ -88,8 +88,8 @@ var CheckboxGroup = /*#__PURE__*/React.forwardRef(function (props, ref) {
88
88
  name: name,
89
89
  isControlled: isControlled,
90
90
  checkboxType: checkboxType,
91
- onCheckboxGroupChange: function onCheckboxGroupChange(checkedValue, isChecked) {
92
- onCheckboxChange(checkedValue, isChecked);
91
+ onCheckboxGroupChange: function onCheckboxGroupChange(checkedValue, isChecked, e) {
92
+ onCheckboxChange(checkedValue, isChecked, e);
93
93
  }
94
94
  };
95
95
 
@@ -25,6 +25,7 @@ import { serialization } from '../_utils/numberUtil';
25
25
  import { formatEditNumber, formatNumber } from '../_utils/formatUtil';
26
26
  import devWarning from '../_utils/devwarning';
27
27
  import Big from 'big.js';
28
+ import classNames from 'classnames';
28
29
 
29
30
  var InternalInputNumber = function InternalInputNumber(props, ref) {
30
31
  var _useContext = useContext(ConfigContext),
@@ -55,7 +56,8 @@ var InternalInputNumber = function InternalInputNumber(props, ref) {
55
56
  prefix = inputNumberProps.prefix,
56
57
  suffix = inputNumberProps.suffix,
57
58
  formatter = inputNumberProps.formatter,
58
- others = __rest(inputNumberProps, ["value", "defaultValue", "mustInScope", "decimalLength", "mustInPrecisionScope", "digitLength", "onChange", "symbol", "zeroShow", "showDecimalTailZero", "code", "roundMethod", "mask", "stepOption", "min", "minMark", "max", "maxMark", "prefix", "suffix", "formatter"]);
59
+ className = inputNumberProps.className,
60
+ others = __rest(inputNumberProps, ["value", "defaultValue", "mustInScope", "decimalLength", "mustInPrecisionScope", "digitLength", "onChange", "symbol", "zeroShow", "showDecimalTailZero", "code", "roundMethod", "mask", "stepOption", "min", "minMark", "max", "maxMark", "prefix", "suffix", "formatter", "className"]);
59
61
 
60
62
  var initVal = value === undefined ? defaultValue : value;
61
63
 
@@ -342,7 +344,7 @@ var InternalInputNumber = function InternalInputNumber(props, ref) {
342
344
  onFocus: handleFocus,
343
345
  onBlur: handleBlur,
344
346
  onKeyDown: handleKeyDown,
345
- className: inputPrefixCls
347
+ className: classNames(inputPrefixCls, className)
346
348
  }));
347
349
  };
348
350
 
@@ -104,6 +104,20 @@
104
104
  /* 多行显示省略号 */
105
105
  /* 单行显示省略号 */
106
106
  /** 浮层箭头样式 **/
107
+ .menu-hidden {
108
+ opacity: 0;
109
+ visibility: hidden;
110
+ -webkit-animation: kdZoomTopLeftOut calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s) cubic-bezier(0, 0.4, 0.4, 1) forwards;
111
+ animation: kdZoomTopLeftOut calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s) cubic-bezier(0, 0.4, 0.4, 1) forwards;
112
+ -webkit-animation-delay: 0.1s;
113
+ animation-delay: 0.1s;
114
+ -webkit-transition: opacity, visibility;
115
+ transition: opacity, visibility;
116
+ -webkit-transition-duration: calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s);
117
+ transition-duration: calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s);
118
+ -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
119
+ transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
120
+ }
107
121
  .menu-dark-hover {
108
122
  background-color: var(--kd-c-menu-sub-color-background, #121319);
109
123
  color: var(--kd-c-menu-sub-color-text-hover, var(--kd-g-color-white, #fff));
@@ -520,9 +534,10 @@
520
534
  .kd-menu-popper.hidden {
521
535
  opacity: 0;
522
536
  visibility: hidden;
523
- display: none;
524
537
  -webkit-animation: kdZoomTopLeftOut calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s) cubic-bezier(0, 0.4, 0.4, 1) forwards;
525
538
  animation: kdZoomTopLeftOut calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s) cubic-bezier(0, 0.4, 0.4, 1) forwards;
539
+ -webkit-animation-delay: 0.1s;
540
+ animation-delay: 0.1s;
526
541
  -webkit-transition: opacity, visibility;
527
542
  transition: opacity, visibility;
528
543
  -webkit-transition-duration: calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s);
@@ -562,6 +577,8 @@
562
577
  visibility: hidden;
563
578
  -webkit-animation: kdZoomTopLeftOut calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s) cubic-bezier(0, 0.4, 0.4, 1) forwards;
564
579
  animation: kdZoomTopLeftOut calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s) cubic-bezier(0, 0.4, 0.4, 1) forwards;
580
+ -webkit-animation-delay: 0.1s;
581
+ animation-delay: 0.1s;
565
582
  -webkit-transition: opacity, visibility;
566
583
  transition: opacity, visibility;
567
584
  -webkit-transition-duration: calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s);
@@ -187,13 +187,7 @@
187
187
  }
188
188
 
189
189
  &.hidden {
190
- opacity: 0;
191
- visibility: hidden;
192
- display: none;
193
- animation: kdZoomTopLeftOut calc(@menu-motion-duration - 0.1s) cubic-bezier(0, .4, .4, 1) forwards;
194
- transition: opacity, visibility;
195
- transition-duration: calc(@menu-motion-duration - 0.1s);
196
- transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
190
+ .menu-hidden()
197
191
  }
198
192
 
199
193
  .@{submenu-prefix-cls} {
@@ -223,12 +217,7 @@
223
217
  }
224
218
 
225
219
  &-hide {
226
- opacity: 0;
227
- visibility: hidden;
228
- animation: kdZoomTopLeftOut calc(@menu-motion-duration - 0.1s) cubic-bezier(0, .4, .4, 1) forwards;
229
- transition: opacity, visibility;
230
- transition-duration: calc(@menu-motion-duration - 0.1s);
231
- transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
220
+ .menu-hidden()
232
221
  }
233
222
  }
234
223
  }
@@ -78,6 +78,15 @@
78
78
  }
79
79
  }
80
80
 
81
+ .menu-hidden {
82
+ opacity: 0;
83
+ visibility: hidden;
84
+ animation: kdZoomTopLeftOut calc(@menu-motion-duration - 0.1s) cubic-bezier(0, .4, .4, 1) forwards;
85
+ animation-delay: 0.1s;
86
+ transition: opacity, visibility;
87
+ transition-duration: calc(@menu-motion-duration - 0.1s);
88
+ transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
89
+ }
81
90
 
82
91
  .menu-dark-hover {
83
92
  background-color: @menu-sub-color-background;
package/es/radio/group.js CHANGED
@@ -22,23 +22,22 @@ var RadioGroup = /*#__PURE__*/React.forwardRef(function (props, ref) {
22
22
 
23
23
 
24
24
  React.useEffect(function () {
25
- if (props.value) {
25
+ if (props.value !== undefined) {
26
26
  setValue(props.value);
27
27
  }
28
28
  }, [props.value]);
29
29
 
30
- var onRadioChange = function onRadioChange(ev) {
30
+ var onRadioChange = function onRadioChange(ev, checkedValue) {
31
31
  var lastValue = value;
32
- var val = ev.target.value;
33
32
 
34
33
  if (!('value' in props)) {
35
- setValue(val);
34
+ setValue(checkedValue);
36
35
  }
37
36
 
38
37
  var onChange = props.onChange;
39
38
 
40
- if (onChange && val !== lastValue) {
41
- onChange(ev);
39
+ if (onChange && checkedValue !== lastValue) {
40
+ onChange(ev, checkedValue);
42
41
  }
43
42
  };
44
43
 
@@ -30,7 +30,7 @@ export interface IRadioGroupProps {
30
30
  value?: any;
31
31
  className?: string;
32
32
  style?: React.CSSProperties;
33
- onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
33
+ onChange?: (e: React.ChangeEvent<HTMLInputElement>, value: RadioValueType) => void;
34
34
  size?: SizeType;
35
35
  name?: string;
36
36
  children?: React.ReactNode;
@@ -40,7 +40,7 @@ export interface IRadioGroupProps {
40
40
  optionType?: RadioGroupOptionType;
41
41
  }
42
42
  export interface IRadioGroupContextProps {
43
- onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
43
+ onChange: (e: React.ChangeEvent<HTMLInputElement>, value: RadioValueType) => void;
44
44
  value: any;
45
45
  disabled?: boolean;
46
46
  name?: string;
package/es/radio/radio.js CHANGED
@@ -1,5 +1,5 @@
1
- import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
2
1
  import _extends from "@babel/runtime-corejs3/helpers/extends";
2
+ import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
3
3
  import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
4
4
  import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
5
5
 
@@ -19,9 +19,12 @@ var __rest = this && this.__rest || function (s, e) {
19
19
  import React, { useEffect } from 'react';
20
20
  import classNames from 'classnames';
21
21
  import isBoolean from 'lodash/isBoolean';
22
+ import isNumber from 'lodash/isNumber';
23
+ import isString from 'lodash/isString';
22
24
  import ConfigContext from '../config-provider/ConfigContext';
23
25
  import { getCompProps } from '../_utils';
24
26
  import RadioGroupContext from './context';
27
+ import devWarning from '../_utils/devwarning';
25
28
 
26
29
  var InternalRadio = function InternalRadio(props, ref) {
27
30
  var _classNames;
@@ -42,14 +45,17 @@ var InternalRadio = function InternalRadio(props, ref) {
42
45
  children = _a.children,
43
46
  className = _a.className,
44
47
  radioType = _a.radioType,
48
+ value = _a.value,
49
+ disabled = _a.disabled,
45
50
  defaultChecked = _a.defaultChecked,
46
51
  customPrefixcls = _a.prefixCls,
47
- restProps = __rest(_a, ["style", "checked", "children", "className", "radioType", "defaultChecked", "prefixCls"]); // 属性需要合并一遍用户定义的默认属性
52
+ restProps = __rest(_a, ["style", "checked", "children", "className", "radioType", "value", "disabled", "defaultChecked", "prefixCls"]); // 属性需要合并一遍用户定义的默认属性
48
53
 
49
54
 
50
- var getChecked = function getChecked() {
51
- return isBoolean(checked) ? checked : defaultChecked;
52
- };
55
+ devWarning(!(isNumber(value) || isString(value)) && value !== '', 'radio', 'radio `value` type must string or number ');
56
+ devWarning(value === '', 'radio', 'radio value type is not empty string ');
57
+ var mergedDisabled = (context === null || context === void 0 ? void 0 : context.disabled) || restProps.disabled;
58
+ var initValue = context ? value === context.value : isBoolean(checked) ? checked : defaultChecked;
53
59
 
54
60
  var getPrefix = function getPrefix(radioType) {
55
61
  return "radio".concat(radioType === 'square' ? "-".concat(radioType) : '');
@@ -57,16 +63,15 @@ var InternalRadio = function InternalRadio(props, ref) {
57
63
 
58
64
  var radioPrefixCls = getPrefixCls === null || getPrefixCls === void 0 ? void 0 : getPrefixCls(prefixCls, getPrefix(radioType), customPrefixcls); // 样式前缀
59
65
 
60
- var _React$useState = React.useState(getChecked()),
66
+ var _React$useState = React.useState(initValue),
61
67
  _React$useState2 = _slicedToArray(_React$useState, 2),
62
68
  isChecked = _React$useState2[0],
63
69
  setIsChecked = _React$useState2[1];
64
70
 
65
71
  React.useEffect(function () {
66
- checked !== undefined && setIsChecked(checked);
67
- }, [checked]);
68
-
69
- var radioProps = _extends({}, restProps);
72
+ var checkedValue = context ? value === context.value : isBoolean(checked) ? checked : defaultChecked;
73
+ setIsChecked(checkedValue);
74
+ }, [checked, defaultChecked, context === null || context === void 0 ? void 0 : context.value]);
70
75
 
71
76
  var onChange = function onChange(e) {
72
77
  setIsChecked(e.target.checked);
@@ -76,19 +81,11 @@ var InternalRadio = function InternalRadio(props, ref) {
76
81
  }
77
82
 
78
83
  if (context === null || context === void 0 ? void 0 : context.onChange) {
79
- context.onChange(e);
84
+ context.onChange(e, value);
80
85
  }
81
86
  };
82
87
 
83
- radioProps.onChange = onChange;
84
-
85
- if (context) {
86
- radioProps.name = context.name;
87
- radioProps.checked = String(props.value) === String(context.value);
88
- radioProps.disabled = props.disabled || context.disabled;
89
- }
90
-
91
- var classString = classNames((_classNames = {}, _defineProperty(_classNames, "".concat(radioPrefixCls), true), _defineProperty(_classNames, "".concat(radioPrefixCls, "-disabled"), radioProps.disabled), _defineProperty(_classNames, "".concat(radioPrefixCls, "-checked"), context ? radioProps.checked : isChecked), _classNames), className); // 单选包裹元素class名称
88
+ var classString = classNames((_classNames = {}, _defineProperty(_classNames, "".concat(radioPrefixCls), true), _defineProperty(_classNames, "".concat(radioPrefixCls, "-disabled"), disabled), _defineProperty(_classNames, "".concat(radioPrefixCls, "-checked"), isChecked), _classNames), className); // 单选包裹元素class名称
92
89
 
93
90
  useEffect(function () {
94
91
  var _a;
@@ -119,8 +116,13 @@ var InternalRadio = function InternalRadio(props, ref) {
119
116
  ref: mergedRef
120
117
  }, /*#__PURE__*/React.createElement("input", _extends({
121
118
  type: "radio",
122
- className: "".concat(radioPrefixCls, "-input")
123
- }, radioProps)), children !== undefined ? /*#__PURE__*/React.createElement("span", {
119
+ className: "".concat(radioPrefixCls, "-input"),
120
+ checked: isChecked,
121
+ onChange: onChange,
122
+ value: value,
123
+ name: context === null || context === void 0 ? void 0 : context.name,
124
+ disabled: mergedDisabled
125
+ }, restProps)), children !== undefined ? /*#__PURE__*/React.createElement("span", {
124
126
  className: "".concat(radioPrefixCls, "-text")
125
127
  }, children) : null)
126
128
  );
@@ -410,8 +410,8 @@ var InternalSelect = function InternalSelect(props, ref) {
410
410
  selectedVal = _multipleRef$current3.selectedVal,
411
411
  selectMulOpts = _multipleRef$current3.selectMulOpts;
412
412
 
413
- if ((realChildren === null || realChildren === void 0 ? void 0 : realChildren.length) !== selectedVal.length) {
414
- _mapInstanceProperty(realChildren).call(realChildren, function (child) {
413
+ if ((filledOptions === null || filledOptions === void 0 ? void 0 : filledOptions.length) !== selectedVal.length) {
414
+ _mapInstanceProperty(filledOptions).call(filledOptions, function (child) {
415
415
  var _ref = child.props || child,
416
416
  value = _ref.value;
417
417
 
@@ -425,6 +425,7 @@ var InternalSelect = function InternalSelect(props, ref) {
425
425
  });
426
426
 
427
427
  setMulOptions(_toConsumableArray(selectMulOpts));
428
+ setSearchValue('');
428
429
  } else {
429
430
  multipleRef.current.selectedVal = selectedVal = [];
430
431
  multipleRef.current.selectMulOpts = selectMulOpts = [];
@@ -540,10 +541,7 @@ var InternalSelect = function InternalSelect(props, ref) {
540
541
  return (filledOptions === null || filledOptions === void 0 ? void 0 : filledOptions.length) === 0 && /*#__PURE__*/React.createElement("div", {
541
542
  className: emptyListCls
542
543
  }, emptyContent);
543
- }; // const isShowSearch = useCallback(() => {
544
- // return !showSearch ? false : !!searchValue
545
- // }, [showSearch, searchValue])
546
-
544
+ };
547
545
 
548
546
  var isShowSearch = useMemo(function () {
549
547
  return isBoolean(showSearch) ? showSearch : isMultiple;
@@ -575,8 +573,8 @@ var InternalSelect = function InternalSelect(props, ref) {
575
573
  height: '30px',
576
574
  background: 'none'
577
575
  };
578
- var indeterminate = mulOptions.length > 0 && mulOptions.length < realChildren.length;
579
- var checked = mulOptions.length === realChildren.length;
576
+ var indeterminate = mulOptions.length > 0 && mulOptions.length < filledOptions.length;
577
+ var checked = mulOptions.length === filledOptions.length;
580
578
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
581
579
  className: dropDownCls,
582
580
  style: dropDownStyle,
@@ -213,6 +213,7 @@ var InternalStepper = function InternalStepper(props, ref) {
213
213
 
214
214
  return /*#__PURE__*/React.createElement(InputNumber, _extends({}, omit(inputNumberProps, ['step', 'type', 'stepBtnClassName', 'value', 'defaultValue']), {
215
215
  ref: inputNumberRef,
216
+ className: "".concat(inputPrefixCls, "-stepper"),
216
217
  stepperrref: stepperrref,
217
218
  value: value,
218
219
  prefix: getStepPrefix(),
@@ -101,22 +101,22 @@
101
101
  普通组件内部自身层级应设置在0-100间
102
102
  */
103
103
  /* ----------- zIndex ——————---- end */
104
- .kd-inputNumber {
104
+ .kd-inputNumber-stepper {
105
105
  width: 100px;
106
- height: var(--kd-c-stepper-input-middle-sizing-height, 28px);
106
+ --kd-c-input-sizing-height-middle: 28px;
107
107
  --kd-c-input-wrapper-padding-left: 9px;
108
108
  --kd-c-input-padding-left: 0;
109
109
  }
110
- .kd-inputNumber input {
110
+ .kd-inputNumber-stepper input {
111
111
  text-align: center;
112
112
  color: var(--kd-c-stepper-input-color, var(--kd-g-color-text-primary, #212121));
113
113
  margin: 0 4px;
114
114
  font-size: var(--kd-c-stepper-input-font-size, 12px);
115
115
  }
116
- .kd-inputNumber-icon {
116
+ .kd-inputNumber-stepper-icon {
117
117
  font-size: 14px;
118
118
  }
119
- .kd-inputNumber-baseStep {
119
+ .kd-inputNumber-stepper-baseStep {
120
120
  display: -webkit-box;
121
121
  display: -ms-flexbox;
122
122
  display: flex;
@@ -131,65 +131,65 @@
131
131
  height: 100%;
132
132
  cursor: pointer;
133
133
  }
134
- .kd-inputNumber-baseStep-small {
134
+ .kd-inputNumber-stepper-baseStep-small {
135
135
  width: var(--kd-c-stepper-input-small-sizing-height, 20px);
136
136
  }
137
- .kd-inputNumber-baseStep-middle {
137
+ .kd-inputNumber-stepper-baseStep-middle {
138
138
  width: var(--kd-c-stepper-input-middle-sizing-height, 28px);
139
139
  }
140
- .kd-inputNumber-baseStep-large {
140
+ .kd-inputNumber-stepper-baseStep-large {
141
141
  width: var(--kd-c-stepper-input-large-sizing-height, 36px);
142
142
  }
143
- .kd-inputNumber-baseStep .kd-inputNumber-icon {
143
+ .kd-inputNumber-stepper-baseStep .kd-inputNumber-stepper-icon {
144
144
  color: var(--kd-c-stepper-icon-color, var(--kd-g-color-text-secondary, #666));
145
145
  -webkit-transition: color var(--kd-c-stepper-motion-duration, var(--kd-g-duration, 0.3s));
146
146
  transition: color var(--kd-c-stepper-motion-duration, var(--kd-g-duration, 0.3s));
147
147
  font-size: 16px;
148
148
  }
149
- .kd-inputNumber-baseStep .kd-inputNumber-icon:hover {
149
+ .kd-inputNumber-stepper-baseStep .kd-inputNumber-stepper-icon:hover {
150
150
  color: var(--kd-c-stepper-icon-color-hover, var(--kd-g-color-theme, #5582f3));
151
151
  }
152
- .kd-inputNumber-baseStep:hover:not(.kd-inputNumber-baseStep-disabled) .kd-inputNumber-icon {
152
+ .kd-inputNumber-stepper-baseStep:hover:not(.kd-inputNumber-stepper-baseStep-disabled) .kd-inputNumber-stepper-icon {
153
153
  color: var(--kd-c-stepper-icon-color-hover, var(--kd-g-color-theme, #5582f3));
154
154
  }
155
- .kd-inputNumber-baseStep-disabled {
155
+ .kd-inputNumber-stepper-baseStep-disabled {
156
156
  cursor: not-allowed;
157
157
  color: var(--kd-c-stepper-icon-color-disabled, var(--kd-g-color-disabled, #b2b2b2));
158
158
  }
159
- .kd-inputNumber-baseStep-disabled .kd-inputNumber-icon {
159
+ .kd-inputNumber-stepper-baseStep-disabled .kd-inputNumber-stepper-icon {
160
160
  color: unset !important;
161
161
  }
162
- .kd-inputNumber-baseStep-decrease {
162
+ .kd-inputNumber-stepper-baseStep-decrease {
163
163
  border-right: 1px solid var(--kd-c-stepper-color-border-strong, var(--kd-g-color-border-strong, #d9d9d9));
164
164
  }
165
- .kd-inputNumber-baseStep-decrease.kd-inputNumber-baseStep-small,
166
- .kd-inputNumber-baseStep-decrease.kd-inputNumber-embedStep-small {
165
+ .kd-inputNumber-stepper-baseStep-decrease.kd-inputNumber-stepper-baseStep-small,
166
+ .kd-inputNumber-stepper-baseStep-decrease.kd-inputNumber-stepper-embedStep-small {
167
167
  margin-left: calc(-1 * var(--kd-c-stepper-input-spacing-padding-horizontal, 9px));
168
168
  }
169
- .kd-inputNumber-baseStep-decrease.kd-inputNumber-baseStep-middle,
170
- .kd-inputNumber-baseStep-decrease.kd-inputNumber-embedStep-middle {
169
+ .kd-inputNumber-stepper-baseStep-decrease.kd-inputNumber-stepper-baseStep-middle,
170
+ .kd-inputNumber-stepper-baseStep-decrease.kd-inputNumber-stepper-embedStep-middle {
171
171
  margin-left: calc(-1 * var(--kd-c-stepper-input-spacing-padding-horizontal, 9px));
172
172
  }
173
- .kd-inputNumber-baseStep-decrease.kd-inputNumber-baseStep-large,
174
- .kd-inputNumber-baseStep-decrease.kd-inputNumber-embedStep-large {
173
+ .kd-inputNumber-stepper-baseStep-decrease.kd-inputNumber-stepper-baseStep-large,
174
+ .kd-inputNumber-stepper-baseStep-decrease.kd-inputNumber-stepper-embedStep-large {
175
175
  margin-left: calc(-1 * var(--kd-c-stepper-input-spacing-padding-horizontal, 9px));
176
176
  }
177
- .kd-inputNumber-baseStep-increase {
177
+ .kd-inputNumber-stepper-baseStep-increase {
178
178
  border-left: 1px solid var(--kd-c-stepper-color-border-strong, var(--kd-g-color-border-strong, #d9d9d9));
179
179
  }
180
- .kd-inputNumber-baseStep-increase.kd-inputNumber-baseStep-small,
181
- .kd-inputNumber-baseStep-increase.kd-inputNumber-embedStep-small {
180
+ .kd-inputNumber-stepper-baseStep-increase.kd-inputNumber-stepper-baseStep-small,
181
+ .kd-inputNumber-stepper-baseStep-increase.kd-inputNumber-stepper-embedStep-small {
182
182
  margin-right: calc(-1 * var(--kd-c-stepper-input-spacing-padding-horizontal, 9px));
183
183
  }
184
- .kd-inputNumber-baseStep-increase.kd-inputNumber-baseStep-middle,
185
- .kd-inputNumber-baseStep-increase.kd-inputNumber-embedStep-middle {
184
+ .kd-inputNumber-stepper-baseStep-increase.kd-inputNumber-stepper-baseStep-middle,
185
+ .kd-inputNumber-stepper-baseStep-increase.kd-inputNumber-stepper-embedStep-middle {
186
186
  margin-right: calc(-1 * var(--kd-c-stepper-input-spacing-padding-horizontal, 9px));
187
187
  }
188
- .kd-inputNumber-baseStep-increase.kd-inputNumber-baseStep-large,
189
- .kd-inputNumber-baseStep-increase.kd-inputNumber-embedStep-large {
188
+ .kd-inputNumber-stepper-baseStep-increase.kd-inputNumber-stepper-baseStep-large,
189
+ .kd-inputNumber-stepper-baseStep-increase.kd-inputNumber-stepper-embedStep-large {
190
190
  margin-right: calc(-1 * var(--kd-c-stepper-input-spacing-padding-horizontal, 9px));
191
191
  }
192
- .kd-inputNumber-embedStep {
192
+ .kd-inputNumber-stepper-embedStep {
193
193
  display: -webkit-box;
194
194
  display: -ms-flexbox;
195
195
  display: flex;
@@ -207,19 +207,19 @@
207
207
  border-left: 1px solid var(--kd-c-stepper-color-border-strong, var(--kd-g-color-border-strong, #d9d9d9));
208
208
  border: none;
209
209
  }
210
- .kd-inputNumber-embedStep.kd-inputNumber-baseStep-small,
211
- .kd-inputNumber-embedStep.kd-inputNumber-embedStep-small {
210
+ .kd-inputNumber-stepper-embedStep.kd-inputNumber-stepper-baseStep-small,
211
+ .kd-inputNumber-stepper-embedStep.kd-inputNumber-stepper-embedStep-small {
212
212
  margin-right: calc(-1 * var(--kd-c-stepper-input-spacing-padding-horizontal, 9px));
213
213
  }
214
- .kd-inputNumber-embedStep.kd-inputNumber-baseStep-middle,
215
- .kd-inputNumber-embedStep.kd-inputNumber-embedStep-middle {
214
+ .kd-inputNumber-stepper-embedStep.kd-inputNumber-stepper-baseStep-middle,
215
+ .kd-inputNumber-stepper-embedStep.kd-inputNumber-stepper-embedStep-middle {
216
216
  margin-right: calc(-1 * var(--kd-c-stepper-input-spacing-padding-horizontal, 9px));
217
217
  }
218
- .kd-inputNumber-embedStep.kd-inputNumber-baseStep-large,
219
- .kd-inputNumber-embedStep.kd-inputNumber-embedStep-large {
218
+ .kd-inputNumber-stepper-embedStep.kd-inputNumber-stepper-baseStep-large,
219
+ .kd-inputNumber-stepper-embedStep.kd-inputNumber-stepper-embedStep-large {
220
220
  margin-right: calc(-1 * var(--kd-c-stepper-input-spacing-padding-horizontal, 9px));
221
221
  }
222
- .kd-inputNumber-embedStep span {
222
+ .kd-inputNumber-stepper-embedStep span {
223
223
  height: 50%;
224
224
  display: -webkit-box;
225
225
  display: -ms-flexbox;
@@ -235,20 +235,20 @@
235
235
  cursor: pointer;
236
236
  font-size: 12px;
237
237
  }
238
- .kd-inputNumber-embedStep span .kd-inputNumber-icon {
238
+ .kd-inputNumber-stepper-embedStep span .kd-inputNumber-stepper-icon {
239
239
  -webkit-transition: color var(--kd-c-stepper-motion-duration, var(--kd-g-duration, 0.3s));
240
240
  transition: color var(--kd-c-stepper-motion-duration, var(--kd-g-duration, 0.3s));
241
241
  }
242
- .kd-inputNumber-embedStep span:hover .kd-inputNumber-icon {
242
+ .kd-inputNumber-stepper-embedStep span:hover .kd-inputNumber-stepper-icon {
243
243
  color: var(--kd-c-stepper-icon-color-hover, var(--kd-g-color-theme, #5582f3));
244
244
  }
245
- .kd-inputNumber-embedStep span:last-child {
245
+ .kd-inputNumber-stepper-embedStep span:last-child {
246
246
  border-bottom: none;
247
247
  }
248
- .kd-inputNumber-embedStep-disabled {
248
+ .kd-inputNumber-stepper-embedStep-disabled {
249
249
  cursor: not-allowed !important;
250
250
  color: var(--kd-c-stepper-icon-color-disabled, var(--kd-g-color-disabled, #b2b2b2));
251
251
  }
252
- .kd-inputNumber-embedStep-disabled .kd-inputNumber-icon {
252
+ .kd-inputNumber-stepper-embedStep-disabled .kd-inputNumber-stepper-icon {
253
253
  color: unset !important;
254
254
  }
@@ -1,12 +1,12 @@
1
1
  @import '../../style/themes/index';
2
2
  @import './mixin.less';
3
3
 
4
- @inputNumber-prefix-cls: ~'@{kd-prefix}-inputNumber';
4
+ @inputNumber-prefix-cls: ~'@{kd-prefix}-inputNumber-stepper';
5
5
  @inputWrapper-prefix-cls: ~'@{kd-prefix}-wrapper';
6
6
  .@{inputNumber-prefix-cls} {
7
7
  width: 100px;
8
- height: @stepper-input-middle-sizing-height;
9
8
 
9
+ --kd-c-input-sizing-height-middle: 28px;
10
10
  --kd-c-input-wrapper-padding-left: 9px;
11
11
  --kd-c-input-padding-left: 0;
12
12
  input {
@@ -1,4 +1,5 @@
1
1
  import React, { CSSProperties, ReactNode } from 'react';
2
+ import { PopperProps } from '../_utils/usePopper';
2
3
  import { ButtonType, ButtonSize } from './button';
3
4
  export declare const ButtonGroupTypes: ["basic", "similar"];
4
5
  export declare type ButtonGroupType = typeof ButtonGroupTypes[number];
@@ -6,7 +7,7 @@ export interface OverlayType {
6
7
  value?: string;
7
8
  label?: React.ReactNode;
8
9
  }
9
- export interface ButtonGroupProps {
10
+ export interface ButtonGroupProps extends PopperProps {
10
11
  buttonType?: ButtonType;
11
12
  children?: ReactNode;
12
13
  className?: string;
@@ -120,7 +120,7 @@ var InternalCheckbox = function InternalCheckbox(props, ref) {
120
120
  var innerIconClassName = (0, _classnames.default)((0, _defineProperty2.default)({}, (0, _concat.default)(_context18 = "".concat(checkboxPrefixCls, "-")).call(_context18, mergedCheckboxType, "-inner"), true));
121
121
  var handleChange = (0, _react.useCallback)(function (e) {
122
122
  onChange && onChange(e);
123
- (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.onCheckboxGroupChange) && (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.onCheckboxGroupChange(value, e.target.checked));
123
+ (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.onCheckboxGroupChange) && (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.onCheckboxGroupChange(value, e.target.checked, e));
124
124
 
125
125
  if (!(checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.isControlled)) {
126
126
  setSelected(e.target.checked);
@@ -10,7 +10,7 @@ export interface CheckboxGroupContext {
10
10
  groupValue?: Array<CheckboxValueType>;
11
11
  checkboxType?: CheckboxType;
12
12
  disabled?: boolean;
13
- onCheckboxGroupChange?: (checkedValue: CheckboxValueType, isChecked: boolean) => void;
13
+ onCheckboxGroupChange?: (checkedValue: CheckboxValueType, isChecked: boolean, e: React.ChangeEvent<HTMLInputElement>) => void;
14
14
  }
15
15
  export declare const GroupContext: React.Context<CheckboxGroupContext | null>;
16
16
  export interface CheckboxGroupProps {
@@ -105,7 +105,7 @@ var CheckboxGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
105
105
  return innerValue.current.indexOf(targetValue) > -1 ? innerValue.current : (0, _concat.default)(_context2 = innerValue.current).call(_context2, targetValue);
106
106
  };
107
107
 
108
- var onCheckboxChange = function onCheckboxChange(checkedValue, isChecked) {
108
+ var onCheckboxChange = function onCheckboxChange(checkedValue, isChecked, e) {
109
109
  var newVal = [];
110
110
 
111
111
  if (isChecked) {
@@ -118,7 +118,7 @@ var CheckboxGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
118
118
  innerValue.current = newVal;
119
119
  }
120
120
 
121
- onChange && onChange(newVal);
121
+ onChange && onChange(e, newVal);
122
122
  };
123
123
 
124
124
  var context = {
@@ -127,8 +127,8 @@ var CheckboxGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
127
127
  name: name,
128
128
  isControlled: isControlled,
129
129
  checkboxType: checkboxType,
130
- onCheckboxGroupChange: function onCheckboxGroupChange(checkedValue, isChecked) {
131
- onCheckboxChange(checkedValue, isChecked);
130
+ onCheckboxGroupChange: function onCheckboxGroupChange(checkedValue, isChecked, e) {
131
+ onCheckboxChange(checkedValue, isChecked, e);
132
132
  }
133
133
  };
134
134