@kdcloudjs/kdesign 1.6.6 → 1.6.7

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 (94) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/kdesign-complete.less +105 -105
  3. package/dist/kdesign.css +100 -83
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +726 -488
  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/carousel/style/index.css +3 -0
  11. package/es/carousel/style/index.less +4 -0
  12. package/es/cascader/style/index.css +7 -7
  13. package/es/cascader/style/token.less +2 -2
  14. package/es/config-provider/compDefaultProps.d.ts +4 -0
  15. package/es/config-provider/compDefaultProps.js +5 -1
  16. package/es/date-picker/date-picker.js +11 -14
  17. package/es/date-picker/panel/month/month.d.ts +0 -1
  18. package/es/date-picker/panel/month/month.js +6 -4
  19. package/es/date-picker/range/input-range.js +41 -11
  20. package/es/date-picker/range-picker.js +8 -11
  21. package/es/date-picker/single/input-date.js +40 -10
  22. package/es/date-picker/style/index.css +27 -23
  23. package/es/date-picker/style/index.less +16 -33
  24. package/es/date-picker/style/mixin.less +7 -0
  25. package/es/date-picker/style/token.less +2 -1
  26. package/es/form/Field.d.ts +1 -0
  27. package/es/form/Field.js +9 -5
  28. package/es/form/FieldLabel.d.ts +1 -0
  29. package/es/form/FieldLabel.js +4 -2
  30. package/es/input/ClearableLabeledInput.js +23 -5
  31. package/es/input/style/index.css +5 -8
  32. package/es/input/style/index.less +2 -5
  33. package/es/input/style/mixin.less +3 -3
  34. package/es/input/style/token.less +2 -0
  35. package/es/search/style/index.css +3 -1
  36. package/es/search/style/index.less +3 -1
  37. package/es/search/style/token.less +2 -1
  38. package/es/select/interface.d.ts +2 -0
  39. package/es/select/option.js +1 -1
  40. package/es/select/select.js +180 -128
  41. package/es/select/style/index.css +54 -24
  42. package/es/select/style/index.less +60 -43
  43. package/es/select/style/mixin.less +0 -2
  44. package/es/select/style/token.less +2 -0
  45. package/es/split-panel/style/index.css +0 -6
  46. package/es/split-panel/style/index.less +0 -3
  47. package/es/steps/style/index.css +0 -13
  48. package/es/steps/style/index.less +0 -11
  49. package/es/table/feature/mergeCellHover.d.ts +3 -0
  50. package/es/table/feature/mergeCellHover.js +7 -0
  51. package/es/table/table.js +2 -0
  52. package/lib/carousel/style/index.css +3 -0
  53. package/lib/carousel/style/index.less +4 -0
  54. package/lib/cascader/style/index.css +7 -7
  55. package/lib/cascader/style/token.less +2 -2
  56. package/lib/config-provider/compDefaultProps.d.ts +4 -0
  57. package/lib/config-provider/compDefaultProps.js +5 -1
  58. package/lib/date-picker/date-picker.js +10 -16
  59. package/lib/date-picker/panel/month/month.d.ts +0 -1
  60. package/lib/date-picker/panel/month/month.js +10 -8
  61. package/lib/date-picker/range/input-range.js +40 -11
  62. package/lib/date-picker/range-picker.js +7 -13
  63. package/lib/date-picker/single/input-date.js +37 -9
  64. package/lib/date-picker/style/index.css +27 -23
  65. package/lib/date-picker/style/index.less +16 -33
  66. package/lib/date-picker/style/mixin.less +7 -0
  67. package/lib/date-picker/style/token.less +2 -1
  68. package/lib/form/Field.d.ts +1 -0
  69. package/lib/form/Field.js +10 -6
  70. package/lib/form/FieldLabel.d.ts +1 -0
  71. package/lib/form/FieldLabel.js +4 -2
  72. package/lib/input/ClearableLabeledInput.js +34 -5
  73. package/lib/input/style/index.css +5 -8
  74. package/lib/input/style/index.less +2 -5
  75. package/lib/input/style/mixin.less +3 -3
  76. package/lib/input/style/token.less +2 -0
  77. package/lib/search/style/index.css +3 -1
  78. package/lib/search/style/index.less +3 -1
  79. package/lib/search/style/token.less +2 -1
  80. package/lib/select/interface.d.ts +2 -0
  81. package/lib/select/option.js +1 -1
  82. package/lib/select/select.js +179 -126
  83. package/lib/select/style/index.css +54 -24
  84. package/lib/select/style/index.less +60 -43
  85. package/lib/select/style/mixin.less +0 -2
  86. package/lib/select/style/token.less +2 -0
  87. package/lib/split-panel/style/index.css +0 -6
  88. package/lib/split-panel/style/index.less +0 -3
  89. package/lib/steps/style/index.css +0 -13
  90. package/lib/steps/style/index.less +0 -11
  91. package/lib/table/feature/mergeCellHover.d.ts +3 -0
  92. package/lib/table/feature/mergeCellHover.js +15 -0
  93. package/lib/table/table.js +3 -0
  94. package/package.json +1 -1
@@ -109,6 +109,7 @@
109
109
  }
110
110
  .kd-carousel-list {
111
111
  list-style: none;
112
+ padding: 0;
112
113
  display: -webkit-box;
113
114
  display: -ms-flexbox;
114
115
  display: flex;
@@ -182,6 +183,8 @@
182
183
  }
183
184
  .kd-carousel-slidebar {
184
185
  position: absolute;
186
+ list-style: none;
187
+ padding: 0;
185
188
  }
186
189
  .kd-carousel-slidebar-left {
187
190
  display: -webkit-box;
@@ -13,6 +13,7 @@
13
13
 
14
14
  &-list {
15
15
  list-style: none;
16
+ padding: 0;
16
17
  display: flex;
17
18
  flex-direction: row;
18
19
  position: relative;
@@ -79,6 +80,9 @@
79
80
 
80
81
  &-slidebar {
81
82
  position: absolute;
83
+ list-style: none;
84
+ padding: 0;
85
+
82
86
  &-left {
83
87
  .vertical;
84
88
  left: @carousel-dots-margin-left;
@@ -111,15 +111,15 @@
111
111
  cursor: pointer;
112
112
  }
113
113
  .kd-cascader-picker:focus > .kd-cascader-picker-input {
114
- border-color: var(--kd-c-cascader-color-active, var(--kd-g-color-theme, #5582f3));
114
+ border-color: var(--kd-c-cascader-color-active, #999);
115
115
  }
116
116
  .kd-cascader-picker:focus > .kd-cascader-picker-input .kd-input-suffix,
117
117
  .kd-cascader-picker:focus > .kd-cascader-picker-input i[class*="kdicon"] {
118
- color: var(--kd-c-cascader-color-active, var(--kd-g-color-theme, #5582f3));
118
+ color: var(--kd-c-cascader-color-active, #999);
119
119
  }
120
120
  .kd-cascader-picker:hover > .kd-cascader-picker-input .kd-input-suffix,
121
121
  .kd-cascader-picker:hover > .kd-cascader-picker-input i[class*="kdicon"] {
122
- color: var(--kd-c-cascader-color-active, var(--kd-g-color-theme, #5582f3));
122
+ color: var(--kd-c-cascader-color-active, #999);
123
123
  }
124
124
  .kd-cascader-picker.disabled .kd-cascader-picker-input {
125
125
  cursor: not-allowed;
@@ -155,10 +155,10 @@
155
155
  cursor: pointer;
156
156
  }
157
157
  .kd-cascader-picker-input.expand {
158
- border-color: var(--kd-c-cascader-color-active, var(--kd-g-color-theme, #5582f3));
158
+ border-color: var(--kd-c-cascader-color-active, #999);
159
159
  }
160
160
  .kd-cascader-picker-input.expand i[class*="kdicon"] {
161
- color: var(--kd-c-cascader-color-active, var(--kd-g-color-theme, #5582f3));
161
+ color: var(--kd-c-cascader-color-active, #999);
162
162
  -webkit-transform: rotate(180deg);
163
163
  transform: rotate(180deg);
164
164
  }
@@ -188,7 +188,7 @@
188
188
  opacity: 0;
189
189
  cursor: pointer;
190
190
  visibility: hidden;
191
- color: var(--kd-c-cascader-clear-color-text, #666);
191
+ color: var(--kd-c-cascader-clear-color-text, #d9d9d9);
192
192
  -webkit-transition: all 0.1s;
193
193
  transition: all 0.1s;
194
194
  -webkit-transform-origin: 50% 50%;
@@ -197,7 +197,7 @@
197
197
  transform: scale(0.9) translateY(-50%);
198
198
  }
199
199
  .kd-cascader-picker-close:hover {
200
- color: var(--kd-c-cascader-color-active, var(--kd-g-color-theme, #5582f3));
200
+ color: var(--kd-c-cascader-color-active, #999);
201
201
  }
202
202
  .kd-cascader-menus {
203
203
  -webkit-box-sizing: border-box;
@@ -12,14 +12,14 @@
12
12
  @cascader-menu-item-padding-horizontal: var(~'@{cascader-prefix}-menu-item-spacing-padding-horizontal', 12px);
13
13
 
14
14
  // colors
15
- @cascader-active-color: var(~'@{cascader-prefix}-color-active', @color-theme);
15
+ @cascader-active-color: var(~'@{cascader-prefix}-color-active', #999);
16
16
  @cascader-color: var(~'@{cascader-prefix}-color-text', @color-text-primary);
17
17
  @cascader-bg-color: var(~'@{cascader-prefix}-color-background', @color-white);
18
18
  @cascader-hover-bg-color: var(~'@{cascader-prefix}-color-background-hover', @color-hover);
19
19
  @cascader-selected-color: var(~'@{cascader-prefix}-color-text-selected', @color-theme);
20
20
  @cascader-selected-bg-color: var(~'@{cascader-prefix}-color-background-selected', @color-background-ongoing);
21
21
  @cascader-disabled-color: var(~'@{cascader-prefix}-color-text-disabled', @color-disabled);
22
- @cascader-clear-color: var(~'@{cascader-prefix}-clear-color-text', #666);
22
+ @cascader-clear-color: var(~'@{cascader-prefix}-clear-color-text', #d9d9d9);
23
23
 
24
24
  // font
25
25
  @cascader-font-size: var(~'@{cascader-prefix}-font-size', @font-size-small);
@@ -133,6 +133,10 @@ declare const compDefaultProps: {
133
133
  mode: string;
134
134
  defaultOpen: boolean;
135
135
  showArrow: boolean;
136
+ placeholder: string;
137
+ filterOption: boolean;
138
+ optionLabelProp: string;
139
+ optionFilterProp: string;
136
140
  };
137
141
  Image: {
138
142
  preview: boolean;
@@ -138,7 +138,11 @@ var compDefaultProps = {
138
138
  borderType: 'underline',
139
139
  mode: 'single',
140
140
  defaultOpen: false,
141
- showArrow: true
141
+ showArrow: true,
142
+ placeholder: '请输入需要搜索的内容',
143
+ filterOption: true,
144
+ optionLabelProp: 'children',
145
+ optionFilterProp: 'label'
142
146
  },
143
147
  Image: {
144
148
  preview: true
@@ -1,5 +1,5 @@
1
- import _extends from "@babel/runtime-corejs3/helpers/extends";
2
1
  import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
2
+ import _extends from "@babel/runtime-corejs3/helpers/extends";
3
3
  import _findInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/find";
4
4
  import React, { useContext, useEffect } from 'react';
5
5
  import classnames from 'classnames';
@@ -14,7 +14,6 @@ import useValueTexts from './hooks/use-value-texts';
14
14
  import useHoverValue from './hooks/use-hover-value';
15
15
  import { formatDate, getHours, getLowerBoundTime, getMinutes, getSeconds, isEqual, isValid, newDate, parseDate, setTime } from './utils/date-fns';
16
16
  import useTextValueMapping from './hooks/use-text-value-mapping';
17
- import { getCompLangMsg } from '../locale';
18
17
  import getExtraFooter from './utils/get-extra-footer';
19
18
  import getRanges from './utils/get-ranges';
20
19
  import usePopper from '../_utils/usePopper';
@@ -95,15 +94,13 @@ function DatePicker(props) {
95
94
  // const seconds = generateUnits(0, 59, secondStep, disabledSeconds && disabledSeconds(originHour, minute))
96
95
 
97
96
  var needConfirmButton = picker === 'date' && !!showTime || picker === 'time';
98
- var datePickerLang = locale ? getCompLangMsg({
99
- componentName: 'DatePicker'
100
- }, function (_componentName, label) {
101
- return locale[label];
102
- }) : globalLocale.getCompLangMsg({
97
+
98
+ var datePickerLang = _extends({}, globalLocale.getCompLangMsg({
103
99
  componentName: 'DatePicker'
104
- }); // console.log(_format)
100
+ }), locale || {}); // console.log(_format)
105
101
  // 原始数据
106
102
 
103
+
107
104
  var _useMergedState = useMergedState(null, {
108
105
  value: value,
109
106
  defaultValue: defaultValue
@@ -168,18 +165,18 @@ function DatePicker(props) {
168
165
  valueText: valueText,
169
166
  onTextChange: function onTextChange(newText) {
170
167
  if (newText === '') {
171
- setSelectedValue(null);
172
- setDateValue(null);
168
+ triggerChange(null);
169
+ setViewDate(null);
173
170
  } else if (newText && newText.length === _format.length) {
174
171
  var inputTempDate = parseDate(newText, _format);
175
172
 
176
173
  if (inputTempDate && (!disabledDate || !disabledDate(inputTempDate))) {
177
174
  if (picker !== 'year') {
178
- setSelectedValue(inputTempDate);
179
- setDateValue(inputTempDate);
175
+ triggerChange(inputTempDate);
176
+ setViewDate(inputTempDate);
180
177
  } else if (isValid(inputTempDate)) {
181
- setSelectedValue(inputTempDate);
182
- setDateValue(inputTempDate);
178
+ triggerChange(inputTempDate);
179
+ setViewDate(inputTempDate);
183
180
  }
184
181
  }
185
182
  }
@@ -1,6 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import { DateType } from '../../interface';
3
- export declare const monthsNumToText: string[];
4
3
  export interface MonthProps {
5
4
  showFullMonth?: boolean;
6
5
  disabledDate?(date: DateType): boolean;
@@ -1,12 +1,12 @@
1
1
  import _extends from "@babel/runtime-corejs3/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
3
+ import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
3
4
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
4
5
  import React, { useContext } from 'react';
5
6
  import classnames from 'classnames';
6
7
  import { getMonth, newDate, getYear, setMonth, isAfter, isBefore, isSameMonth, getStartOfMonth } from '../../utils/date-fns';
7
8
  import Context from '../../context';
8
9
  import useRangeCls from '../../hooks/use-range-cls';
9
- export var monthsNumToText = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月', '13月'];
10
10
  var monthsThreeColumns = [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]];
11
11
 
12
12
  function Month(props) {
@@ -19,7 +19,8 @@ function Month(props) {
19
19
  onDateMouseLeave = context.onDateMouseLeave,
20
20
  rangeValue = context.rangeValue,
21
21
  panelPosition = context.panelPosition,
22
- hoverRangedValue = context.hoverRangedValue;
22
+ hoverRangedValue = context.hoverRangedValue,
23
+ locale = context.locale;
23
24
  var disabledDate = props.disabledDate;
24
25
 
25
26
  var _dateValue;
@@ -94,10 +95,11 @@ function Month(props) {
94
95
  };
95
96
 
96
97
  var renderMonthItem = function renderMonthItem(i) {
97
- var monthsText = monthsNumToText[i];
98
+ var _context;
99
+
98
100
  return /*#__PURE__*/React.createElement("span", {
99
101
  className: getMonthClassNames(i)
100
- }, monthsText);
102
+ }, _concatInstanceProperty(_context = "".concat(i + 1)).call(_context, locale.month));
101
103
  };
102
104
 
103
105
  var renderMonth = function renderMonth() {
@@ -2,7 +2,7 @@ import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
2
2
  import _extends from "@babel/runtime-corejs3/helpers/extends";
3
3
  import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
4
4
  import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
5
- import React, { useRef } from 'react';
5
+ import React, { useRef, useState } from 'react';
6
6
  import classnames from 'classnames';
7
7
  import { Icon } from '../../index';
8
8
  import usePickerInput from '../hooks/use-picker-input';
@@ -67,6 +67,12 @@ function InputDate(props, ref) {
67
67
  setMergedActivePickerIndex = props.setMergedActivePickerIndex,
68
68
  setHoverRangedValue = props.setHoverRangedValue;
69
69
  var preventBlurRef = useRef(false);
70
+
71
+ var _useState = useState(false),
72
+ _useState2 = _slicedToArray(_useState, 2),
73
+ isMouseEnter = _useState2[0],
74
+ setIsMouseEnter = _useState2[1];
75
+
70
76
  var placeholder = getRangePlaceholder(picker, locale, propsPlaceholder);
71
77
 
72
78
  var onInternalonClick = function onInternalonClick(e) {
@@ -100,11 +106,6 @@ function InputDate(props, ref) {
100
106
  }
101
107
  };
102
108
 
103
- var suffixNode = /*#__PURE__*/React.createElement("span", {
104
- className: "".concat(prefixCls, "-suffix")
105
- }, suffixIcon || /*#__PURE__*/React.createElement(Icon, {
106
- type: picker === 'time' ? 'waiting' : 'date'
107
- }));
108
109
  var clearNode;
109
110
 
110
111
  if (allowClear && (getValue(dateValue, 0) && !mergedDisabled[0] || getValue(dateValue, 1) && !mergedDisabled[1])) {
@@ -132,12 +133,24 @@ function InputDate(props, ref) {
132
133
 
133
134
  setHoverRangedValue([null, null]);
134
135
  },
135
- className: "".concat(prefixCls, "-clear")
136
+ className: "".concat(prefixCls, "-range-clear")
136
137
  }, clearIcon || /*#__PURE__*/React.createElement(Icon, {
137
- type: "close"
138
+ type: "close-solid"
138
139
  }));
139
140
  }
140
141
 
142
+ var getSuffixNode = function getSuffixNode() {
143
+ if (isMouseEnter && (startHoverValue || endHoverValue || startText || endText)) {
144
+ return clearNode;
145
+ }
146
+
147
+ return /*#__PURE__*/React.createElement("span", {
148
+ className: "".concat(prefixCls, "-suffix")
149
+ }, suffixIcon || /*#__PURE__*/React.createElement(Icon, {
150
+ type: picker === 'time' ? 'waiting' : 'date'
151
+ }));
152
+ };
153
+
141
154
  var getSharedInputHookProps = function getSharedInputHookProps(index, resetText) {
142
155
  return {
143
156
  preventBlurRef: preventBlurRef,
@@ -190,14 +203,31 @@ function InputDate(props, ref) {
190
203
  endTyping = _usePickerInput4$.typing;
191
204
 
192
205
  var borderClass = classnames((_classnames = {}, _defineProperty(_classnames, "".concat(prefixCls, "-underline"), borderType === 'underline'), _defineProperty(_classnames, "".concat(prefixCls, "-borderless"), borderType === 'none'), _classnames));
206
+
207
+ var mouseEnterHandle = function mouseEnterHandle(e) {
208
+ setIsMouseEnter(true);
209
+
210
+ if (typeof onMouseEnter === 'function') {
211
+ onMouseEnter(e);
212
+ }
213
+ };
214
+
215
+ var mouseLeaveHandle = function mouseLeaveHandle(e) {
216
+ setIsMouseEnter(false);
217
+
218
+ if (typeof onMouseLeave === 'function') {
219
+ onMouseLeave(e);
220
+ }
221
+ };
222
+
193
223
  return /*#__PURE__*/React.createElement("div", _extends({
194
224
  ref: ref,
195
225
  className: classnames(prefixCls, "".concat(prefixCls, "-range"), className, borderClass, (_classnames2 = {}, _defineProperty(_classnames2, _concatInstanceProperty(_context = "".concat(prefixCls, "-")).call(_context, size), size), _defineProperty(_classnames2, "".concat(prefixCls, "-disabled"), mergedDisabled[0] && mergedDisabled[1]), _defineProperty(_classnames2, "".concat(prefixCls, "-focused"), mergedActivePickerIndex === 0 ? startFocused : endFocused), _classnames2)),
196
226
  style: style,
197
227
  onMouseDown: onInternalonMouseDown,
198
228
  onMouseUp: onMouseUp,
199
- onMouseEnter: onMouseEnter,
200
- onMouseLeave: onMouseLeave,
229
+ onMouseEnter: mouseEnterHandle,
230
+ onMouseLeave: mouseLeaveHandle,
201
231
  onContextMenu: onContextMenu,
202
232
  onClick: onInternalonClick
203
233
  }, dataOrAriaProps), /*#__PURE__*/React.createElement("div", {
@@ -240,7 +270,7 @@ function InputDate(props, ref) {
240
270
  width: activeBarWidth,
241
271
  position: 'absolute'
242
272
  })
243
- }), suffixNode, clearNode);
273
+ }), getSuffixNode());
244
274
  }
245
275
 
246
276
  export default /*#__PURE__*/React.forwardRef(InputDate);
@@ -1,6 +1,6 @@
1
- import _extends from "@babel/runtime-corejs3/helpers/extends";
2
1
  import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
3
2
  import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
3
+ import _extends from "@babel/runtime-corejs3/helpers/extends";
4
4
  import _findInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/find";
5
5
  import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
6
6
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
@@ -18,7 +18,6 @@ import useHoverValue from './hooks/use-hover-value';
18
18
  import { formatDate, isAfter, newDate, parseDate, isEqual, isSameQuarter, isSameDay, isValid, getHours, getMinutes, getSeconds } from './utils/date-fns';
19
19
  import useTextValueMapping from './hooks/use-text-value-mapping';
20
20
  import useRangeViewDates from './hooks/use-range-view-dates';
21
- import { getCompLangMsg } from '../locale';
22
21
  import useRangeDisabled from './hooks/use-range-disabled';
23
22
  import getExtraFooter from './utils/get-extra-footer';
24
23
  import getRanges from './utils/get-ranges';
@@ -116,13 +115,11 @@ function DatePicker(props) {
116
115
  onBlur = datePickerProps.onBlur,
117
116
  _onOk = datePickerProps.onOk;
118
117
  var needConfirmButton = picker === 'date' && !!showTime || picker === 'time';
119
- var datePickerLang = locale ? getCompLangMsg({
120
- componentName: 'DatePicker'
121
- }, function (_componentName, label) {
122
- return locale[label];
123
- }) : globalLocale.getCompLangMsg({
118
+
119
+ var datePickerLang = _extends({}, globalLocale.getCompLangMsg({
124
120
  componentName: 'DatePicker'
125
- }); // ref
121
+ }), locale || {}); // ref
122
+
126
123
 
127
124
  var panelDivRef = React.useRef(null);
128
125
  var inputDivRef = React.useRef(null);
@@ -258,7 +255,7 @@ function DatePicker(props) {
258
255
  }
259
256
 
260
257
  if (inputTempDate) {
261
- setSelectedValue(updateValues(selectedValue, inputTempDate, index));
258
+ triggerChange(updateValues(selectedValue, inputTempDate, index), index);
262
259
  setViewDate(inputTempDate, index);
263
260
  }
264
261
  } else if (newText && newText.length === _format.length) {
@@ -267,10 +264,10 @@ function DatePicker(props) {
267
264
 
268
265
  if (inputTempDate && (!disabledFunc || !disabledFunc(inputTempDate))) {
269
266
  if (picker !== 'year') {
270
- setSelectedValue(updateValues(selectedValue, inputTempDate, index));
267
+ triggerChange(updateValues(selectedValue, inputTempDate, index), index);
271
268
  setViewDate(inputTempDate, index);
272
269
  } else if (isValid(inputTempDate)) {
273
- setSelectedValue(updateValues(selectedValue, inputTempDate, index));
270
+ triggerChange(updateValues(selectedValue, inputTempDate, index), index);
274
271
  setViewDate(inputTempDate, index);
275
272
  }
276
273
  }
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime-corejs3/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
3
3
  import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
4
4
  import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
5
- import React, { useRef } from 'react';
5
+ import React, { useRef, useState } from 'react';
6
6
  import classnames from 'classnames';
7
7
  import { Icon } from '../../index';
8
8
  import usePickerInput from '../hooks/use-picker-input';
@@ -51,12 +51,42 @@ function InputDate(props, ref) {
51
51
  triggerOpen = props.triggerOpen,
52
52
  triggerChange = props.triggerChange;
53
53
  var preventBlurRef = useRef(false);
54
+
55
+ var _useState = useState(false),
56
+ _useState2 = _slicedToArray(_useState, 2),
57
+ isMouseEnter = _useState2[0],
58
+ setIsMouseEnter = _useState2[1];
59
+
54
60
  var placeholder = getPlaceholder(picker, locale, propsPlaceholder);
55
- var suffixNode = /*#__PURE__*/React.createElement("span", {
56
- className: "".concat(prefixCls, "-suffix")
57
- }, suffixIcon || /*#__PURE__*/React.createElement(Icon, {
58
- type: picker === 'time' ? 'waiting' : 'date'
59
- }));
61
+
62
+ var getSuffixNode = function getSuffixNode() {
63
+ if (isMouseEnter && (hoverValue || text)) {
64
+ return null;
65
+ }
66
+
67
+ return /*#__PURE__*/React.createElement("span", {
68
+ className: "".concat(prefixCls, "-suffix")
69
+ }, suffixIcon || /*#__PURE__*/React.createElement(Icon, {
70
+ type: picker === 'time' ? 'waiting' : 'date'
71
+ }));
72
+ };
73
+
74
+ var mouseEnterHandle = function mouseEnterHandle(e) {
75
+ setIsMouseEnter(true);
76
+
77
+ if (typeof onMouseEnter === 'function') {
78
+ onMouseEnter(e);
79
+ }
80
+ };
81
+
82
+ var mouseLeaveHandle = function mouseLeaveHandle(e) {
83
+ setIsMouseEnter(false);
84
+
85
+ if (typeof onMouseLeave === 'function') {
86
+ onMouseLeave(e);
87
+ }
88
+ };
89
+
60
90
  var clearNode;
61
91
 
62
92
  if (allowClear && dateValue && !disabled) {
@@ -73,7 +103,7 @@ function InputDate(props, ref) {
73
103
  },
74
104
  className: "".concat(prefixCls, "-clear")
75
105
  }, clearIcon || /*#__PURE__*/React.createElement(Icon, {
76
- type: "close"
106
+ type: "close-solid"
77
107
  }));
78
108
  }
79
109
 
@@ -142,8 +172,8 @@ function InputDate(props, ref) {
142
172
  style: style,
143
173
  onMouseDown: onInternalonMouseDown,
144
174
  onMouseUp: onInternalMouseUp,
145
- onMouseEnter: onMouseEnter,
146
- onMouseLeave: onMouseLeave,
175
+ onMouseEnter: mouseEnterHandle,
176
+ onMouseLeave: mouseLeaveHandle,
147
177
  onContextMenu: onContextMenu,
148
178
  onClick: onClick
149
179
  }, dataOrAriaProps), /*#__PURE__*/React.createElement("div", {
@@ -167,7 +197,7 @@ function InputDate(props, ref) {
167
197
  title: text
168
198
  }, inputProps, {
169
199
  size: getInputSize(picker, format)
170
- })), suffixNode, clearNode));
200
+ })), getSuffixNode(), clearNode));
171
201
  }
172
202
 
173
203
  export default /*#__PURE__*/React.forwardRef(InputDate);
@@ -157,45 +157,36 @@
157
157
  font-size: var(--kd-c-date-picker-small-font-size, var(--kd-g-font-size-small, 12px));
158
158
  padding: var(--kd-c-date-picker-small-spacing-padding-vertical, 4px) var(--kd-c-date-picker-small-spacing-padding-horizontal, 9px);
159
159
  }
160
+ .kd-date-picker-small.kd-date-picker-underline {
161
+ padding: var(--kd-c-date-picker-small-spacing-padding-vertical, 4px) 0;
162
+ }
160
163
  .kd-date-picker-small input {
161
164
  font-size: var(--kd-c-date-picker-small-font-size, var(--kd-g-font-size-small, 12px));
162
165
  }
163
- .kd-date-picker-small .kd-date-picker-clear {
164
- right: calc(var(--kd-c-date-picker-small-font-size, var(--kd-g-font-size-small, 12px)) + 1px);
165
- }
166
- .kd-date-picker-small.kd-date-picker-range .kd-date-picker-clear {
167
- right: calc(var(--kd-c-date-picker-small-font-size, var(--kd-g-font-size-small, 12px)) + 12px);
168
- }
169
166
  .kd-date-picker-large {
170
167
  height: var(--kd-c-date-picker-large-sizing-height, 36px);
171
168
  line-height: calc(var(--kd-c-date-picker-large-sizing-height, 36px) - (var(--kd-c-date-picker-small-spacing-padding-vertical, 4px) * 2) - 2);
172
169
  font-size: var(--kd-c-date-picker-large-font-size, var(--kd-g-font-size-large, 16px));
173
170
  padding: var(--kd-c-date-picker-small-spacing-padding-vertical, 4px) var(--kd-c-date-picker-small-spacing-padding-horizontal, 9px);
174
171
  }
172
+ .kd-date-picker-large.kd-date-picker-underline {
173
+ padding: var(--kd-c-date-picker-small-spacing-padding-vertical, 4px) 0;
174
+ }
175
175
  .kd-date-picker-large input {
176
176
  font-size: var(--kd-c-date-picker-large-font-size, var(--kd-g-font-size-large, 16px));
177
177
  }
178
- .kd-date-picker-large .kd-date-picker-clear {
179
- right: calc(var(--kd-c-date-picker-large-font-size, var(--kd-g-font-size-large, 16px)) + 1px);
180
- }
181
- .kd-date-picker-large.kd-date-picker-range .kd-date-picker-clear {
182
- right: calc(var(--kd-c-date-picker-large-font-size, var(--kd-g-font-size-large, 16px)) + 9px);
183
- }
184
178
  .kd-date-picker-middle {
185
179
  height: var(--kd-c-date-picker-middle-sizing-height, 30px);
186
180
  line-height: calc(var(--kd-c-date-picker-middle-sizing-height, 30px) - (var(--kd-c-date-picker-small-spacing-padding-vertical, 4px) * 2) - 2);
187
181
  font-size: var(--kd-c-date-picker-middle-font-size, var(--kd-g-font-size-middle, 14px));
188
182
  padding: var(--kd-c-date-picker-small-spacing-padding-vertical, 4px) var(--kd-c-date-picker-small-spacing-padding-horizontal, 9px);
189
183
  }
184
+ .kd-date-picker-middle.kd-date-picker-underline {
185
+ padding: var(--kd-c-date-picker-small-spacing-padding-vertical, 4px) 0;
186
+ }
190
187
  .kd-date-picker-middle input {
191
188
  font-size: var(--kd-c-date-picker-middle-font-size, var(--kd-g-font-size-middle, 14px));
192
189
  }
193
- .kd-date-picker-middle .kd-date-picker-clear {
194
- right: calc(var(--kd-c-date-picker-middle-font-size, var(--kd-g-font-size-middle, 14px)) + 1px);
195
- }
196
- .kd-date-picker-middle.kd-date-picker-range .kd-date-picker-clear {
197
- right: calc(var(--kd-c-date-picker-middle-font-size, var(--kd-g-font-size-middle, 14px)) + 11px);
198
- }
199
190
  .kd-date-picker-input {
200
191
  position: relative;
201
192
  display: -webkit-box;
@@ -266,6 +257,9 @@
266
257
  display: -webkit-inline-box;
267
258
  display: -ms-inline-flexbox;
268
259
  display: inline-flex;
260
+ -webkit-box-align: center;
261
+ -ms-flex-align: center;
262
+ align-items: center;
269
263
  position: relative;
270
264
  }
271
265
  .kd-date-picker-range-separator {
@@ -302,13 +296,11 @@
302
296
  .kd-date-picker:not(.kd-date-picker-disabled):hover .kd-date-picker-clear {
303
297
  opacity: 1;
304
298
  }
305
- .kd-date-picker:not(.kd-date-picker-disabled):hover .kd-date-picker-suffix {
306
- color: var(--kd-c-date-picker-color-background-checked, var(--kd-g-color-theme, #5582f3));
307
- }
308
299
  .kd-date-picker-clear {
309
300
  position: absolute;
310
301
  top: 50%;
311
- color: var(--kd-c-date-picker-icon-color, var(--kd-g-color-disabled, #b2b2b2));
302
+ right: 0;
303
+ color: var(--kd-c-date-picker-icon-color, #d9d9d9);
312
304
  line-height: 1;
313
305
  background: var(--kd-c-date-picker-clear-color-background, var(--kd-g-color-background, #fff));
314
306
  -webkit-transform: translateY(-48%);
@@ -320,7 +312,18 @@
320
312
  vertical-align: top;
321
313
  }
322
314
  .kd-date-picker-clear:hover {
323
- color: var(--kd-c-date-picker-clear-color-background-hover, var(--kd-g-color-theme-5, #87adff));
315
+ color: var(--kd-c-date-picker-icon-color-hover, #999);
316
+ }
317
+ .kd-date-picker .kd-date-picker-range-clear {
318
+ -ms-flex-item-align: center;
319
+ align-self: center;
320
+ margin-left: var(--kd-c-date-picker-suffix-spacing-margin-left, 10px);
321
+ color: var(--kd-c-date-picker-icon-color, #d9d9d9);
322
+ line-height: 1;
323
+ cursor: pointer;
324
+ }
325
+ .kd-date-picker .kd-date-picker-range-clear:hover {
326
+ color: var(--kd-c-date-picker-icon-color-hover, #999);
324
327
  }
325
328
  .kd-date-picker-focused .kd-date-picker-suffix {
326
329
  color: var(--kd-c-date-picker-clear-color-background-focused, var(--kd-g-color-theme, #5582f3));
@@ -918,4 +921,5 @@
918
921
  line-height: var(--kd-c-date-picker-panel-header-sizing-height, 36px);
919
922
  font-size: var(--kd-c-date-picker-container-font-size, var(--kd-g-font-size-small, 12px));
920
923
  border-bottom: 0.5px solid var(--kd-c-date-picker-container-color-border, var(--kd-g-color-border-weak, #e5e5e5));
924
+ cursor: pointer;
921
925
  }