@kdcloudjs/kdesign 1.6.6 → 1.6.8

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 (96) hide show
  1. package/CHANGELOG.md +43 -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 +741 -501
  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/slider/slider.js +15 -13
  46. package/es/split-panel/style/index.css +0 -6
  47. package/es/split-panel/style/index.less +0 -3
  48. package/es/steps/style/index.css +0 -13
  49. package/es/steps/style/index.less +0 -11
  50. package/es/table/feature/mergeCellHover.d.ts +3 -0
  51. package/es/table/feature/mergeCellHover.js +7 -0
  52. package/es/table/table.js +2 -0
  53. package/lib/carousel/style/index.css +3 -0
  54. package/lib/carousel/style/index.less +4 -0
  55. package/lib/cascader/style/index.css +7 -7
  56. package/lib/cascader/style/token.less +2 -2
  57. package/lib/config-provider/compDefaultProps.d.ts +4 -0
  58. package/lib/config-provider/compDefaultProps.js +5 -1
  59. package/lib/date-picker/date-picker.js +10 -16
  60. package/lib/date-picker/panel/month/month.d.ts +0 -1
  61. package/lib/date-picker/panel/month/month.js +10 -8
  62. package/lib/date-picker/range/input-range.js +40 -11
  63. package/lib/date-picker/range-picker.js +7 -13
  64. package/lib/date-picker/single/input-date.js +37 -9
  65. package/lib/date-picker/style/index.css +27 -23
  66. package/lib/date-picker/style/index.less +16 -33
  67. package/lib/date-picker/style/mixin.less +7 -0
  68. package/lib/date-picker/style/token.less +2 -1
  69. package/lib/form/Field.d.ts +1 -0
  70. package/lib/form/Field.js +10 -6
  71. package/lib/form/FieldLabel.d.ts +1 -0
  72. package/lib/form/FieldLabel.js +4 -2
  73. package/lib/input/ClearableLabeledInput.js +34 -5
  74. package/lib/input/style/index.css +5 -8
  75. package/lib/input/style/index.less +2 -5
  76. package/lib/input/style/mixin.less +3 -3
  77. package/lib/input/style/token.less +2 -0
  78. package/lib/search/style/index.css +3 -1
  79. package/lib/search/style/index.less +3 -1
  80. package/lib/search/style/token.less +2 -1
  81. package/lib/select/interface.d.ts +2 -0
  82. package/lib/select/option.js +1 -1
  83. package/lib/select/select.js +179 -126
  84. package/lib/select/style/index.css +54 -24
  85. package/lib/select/style/index.less +60 -43
  86. package/lib/select/style/mixin.less +0 -2
  87. package/lib/select/style/token.less +2 -0
  88. package/lib/slider/slider.js +14 -12
  89. package/lib/split-panel/style/index.css +0 -6
  90. package/lib/split-panel/style/index.less +0 -3
  91. package/lib/steps/style/index.css +0 -13
  92. package/lib/steps/style/index.less +0 -11
  93. package/lib/table/feature/mergeCellHover.d.ts +3 -0
  94. package/lib/table/feature/mergeCellHover.js +15 -0
  95. package/lib/table/table.js +3 -0
  96. package/package.json +1 -1
@@ -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;
@@ -156,7 +156,11 @@ var compDefaultProps = {
156
156
  borderType: 'underline',
157
157
  mode: 'single',
158
158
  defaultOpen: false,
159
- showArrow: true
159
+ showArrow: true,
160
+ placeholder: '请输入需要搜索的内容',
161
+ filterOption: true,
162
+ optionLabelProp: 'children',
163
+ optionFilterProp: 'label'
160
164
  },
161
165
  Image: {
162
166
  preview: true
@@ -15,10 +15,10 @@ exports.default = void 0;
15
15
 
16
16
  var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
17
17
 
18
- var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
19
-
20
18
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
21
19
 
20
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
21
+
22
22
  var _react = _interopRequireWildcard(require("react"));
23
23
 
24
24
  var _classnames = _interopRequireDefault(require("classnames"));
@@ -45,8 +45,6 @@ var _dateFns = require("./utils/date-fns");
45
45
 
46
46
  var _useTextValueMapping3 = _interopRequireDefault(require("./hooks/use-text-value-mapping"));
47
47
 
48
- var _locale = require("../locale");
49
-
50
48
  var _getExtraFooter = _interopRequireDefault(require("./utils/get-extra-footer"));
51
49
 
52
50
  var _getRanges = _interopRequireDefault(require("./utils/get-ranges"));
@@ -137,13 +135,9 @@ function DatePicker(props) {
137
135
  // const seconds = generateUnits(0, 59, secondStep, disabledSeconds && disabledSeconds(originHour, minute))
138
136
 
139
137
  var needConfirmButton = picker === 'date' && !!showTime || picker === 'time';
140
- var datePickerLang = locale ? (0, _locale.getCompLangMsg)({
141
- componentName: 'DatePicker'
142
- }, function (_componentName, label) {
143
- return locale[label];
144
- }) : globalLocale.getCompLangMsg({
138
+ var datePickerLang = (0, _extends2.default)({}, globalLocale.getCompLangMsg({
145
139
  componentName: 'DatePicker'
146
- }); // console.log(_format)
140
+ }), locale || {}); // console.log(_format)
147
141
  // 原始数据
148
142
 
149
143
  var _useMergedState = (0, _hooks.useMergedState)(null, {
@@ -210,18 +204,18 @@ function DatePicker(props) {
210
204
  valueText: valueText,
211
205
  onTextChange: function onTextChange(newText) {
212
206
  if (newText === '') {
213
- setSelectedValue(null);
214
- setDateValue(null);
207
+ triggerChange(null);
208
+ setViewDate(null);
215
209
  } else if (newText && newText.length === _format.length) {
216
210
  var inputTempDate = (0, _dateFns.parseDate)(newText, _format);
217
211
 
218
212
  if (inputTempDate && (!disabledDate || !disabledDate(inputTempDate))) {
219
213
  if (picker !== 'year') {
220
- setSelectedValue(inputTempDate);
221
- setDateValue(inputTempDate);
214
+ triggerChange(inputTempDate);
215
+ setViewDate(inputTempDate);
222
216
  } else if ((0, _dateFns.isValid)(inputTempDate)) {
223
- setSelectedValue(inputTempDate);
224
- setDateValue(inputTempDate);
217
+ triggerChange(inputTempDate);
218
+ setViewDate(inputTempDate);
225
219
  }
226
220
  }
227
221
  }
@@ -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;
@@ -11,7 +11,9 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
11
11
  Object.defineProperty(exports, "__esModule", {
12
12
  value: true
13
13
  });
14
- exports.monthsNumToText = exports.default = void 0;
14
+ exports.default = void 0;
15
+
16
+ var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
15
17
 
16
18
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
17
19
 
@@ -25,7 +27,7 @@ var _classnames3 = _interopRequireDefault(require("classnames"));
25
27
 
26
28
  var _dateFns = require("../../utils/date-fns");
27
29
 
28
- var _context = _interopRequireDefault(require("../../context"));
30
+ var _context2 = _interopRequireDefault(require("../../context"));
29
31
 
30
32
  var _useRangeCls = _interopRequireDefault(require("../../hooks/use-range-cls"));
31
33
 
@@ -33,12 +35,10 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "functi
33
35
 
34
36
  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; }
35
37
 
36
- var monthsNumToText = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月', '13月'];
37
- exports.monthsNumToText = monthsNumToText;
38
38
  var monthsThreeColumns = [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]];
39
39
 
40
40
  function Month(props) {
41
- var context = (0, _react.useContext)(_context.default);
41
+ var context = (0, _react.useContext)(_context2.default);
42
42
  var prefixCls = context.prefixCls,
43
43
  dateValue = context.dateValue,
44
44
  viewDate = context.viewDate,
@@ -47,7 +47,8 @@ function Month(props) {
47
47
  onDateMouseLeave = context.onDateMouseLeave,
48
48
  rangeValue = context.rangeValue,
49
49
  panelPosition = context.panelPosition,
50
- hoverRangedValue = context.hoverRangedValue;
50
+ hoverRangedValue = context.hoverRangedValue,
51
+ locale = context.locale;
51
52
  var disabledDate = props.disabledDate;
52
53
 
53
54
  var _dateValue;
@@ -122,10 +123,11 @@ function Month(props) {
122
123
  };
123
124
 
124
125
  var renderMonthItem = function renderMonthItem(i) {
125
- var monthsText = monthsNumToText[i];
126
+ var _context;
127
+
126
128
  return /*#__PURE__*/_react.default.createElement("span", {
127
129
  className: getMonthClassNames(i)
128
- }, monthsText);
130
+ }, (0, _concat.default)(_context = "".concat(i + 1)).call(_context, locale.month));
129
131
  };
130
132
 
131
133
  var renderMonth = function renderMonth() {
@@ -94,6 +94,12 @@ function InputDate(props, ref) {
94
94
  setMergedActivePickerIndex = props.setMergedActivePickerIndex,
95
95
  setHoverRangedValue = props.setHoverRangedValue;
96
96
  var preventBlurRef = (0, _react.useRef)(false);
97
+
98
+ var _useState = (0, _react.useState)(false),
99
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
100
+ isMouseEnter = _useState2[0],
101
+ setIsMouseEnter = _useState2[1];
102
+
97
103
  var placeholder = (0, _utils.getRangePlaceholder)(picker, locale, propsPlaceholder);
98
104
 
99
105
  var onInternalonClick = function onInternalonClick(e) {
@@ -127,12 +133,6 @@ function InputDate(props, ref) {
127
133
  }
128
134
  };
129
135
 
130
- var suffixNode = /*#__PURE__*/_react.default.createElement("span", {
131
- className: "".concat(prefixCls, "-suffix")
132
- }, suffixIcon || /*#__PURE__*/_react.default.createElement(_index.Icon, {
133
- type: picker === 'time' ? 'waiting' : 'date'
134
- }));
135
-
136
136
  var clearNode;
137
137
 
138
138
  if (allowClear && ((0, _utils.getValue)(dateValue, 0) && !mergedDisabled[0] || (0, _utils.getValue)(dateValue, 1) && !mergedDisabled[1])) {
@@ -160,12 +160,24 @@ function InputDate(props, ref) {
160
160
 
161
161
  setHoverRangedValue([null, null]);
162
162
  },
163
- className: "".concat(prefixCls, "-clear")
163
+ className: "".concat(prefixCls, "-range-clear")
164
164
  }, clearIcon || /*#__PURE__*/_react.default.createElement(_index.Icon, {
165
- type: "close"
165
+ type: "close-solid"
166
166
  }));
167
167
  }
168
168
 
169
+ var getSuffixNode = function getSuffixNode() {
170
+ if (isMouseEnter && (startHoverValue || endHoverValue || startText || endText)) {
171
+ return clearNode;
172
+ }
173
+
174
+ return /*#__PURE__*/_react.default.createElement("span", {
175
+ className: "".concat(prefixCls, "-suffix")
176
+ }, suffixIcon || /*#__PURE__*/_react.default.createElement(_index.Icon, {
177
+ type: picker === 'time' ? 'waiting' : 'date'
178
+ }));
179
+ };
180
+
169
181
  var getSharedInputHookProps = function getSharedInputHookProps(index, resetText) {
170
182
  return {
171
183
  preventBlurRef: preventBlurRef,
@@ -218,14 +230,31 @@ function InputDate(props, ref) {
218
230
  endTyping = _usePickerInput4$.typing;
219
231
 
220
232
  var borderClass = (0, _classnames5.default)((_classnames = {}, (0, _defineProperty2.default)(_classnames, "".concat(prefixCls, "-underline"), borderType === 'underline'), (0, _defineProperty2.default)(_classnames, "".concat(prefixCls, "-borderless"), borderType === 'none'), _classnames));
233
+
234
+ var mouseEnterHandle = function mouseEnterHandle(e) {
235
+ setIsMouseEnter(true);
236
+
237
+ if (typeof onMouseEnter === 'function') {
238
+ onMouseEnter(e);
239
+ }
240
+ };
241
+
242
+ var mouseLeaveHandle = function mouseLeaveHandle(e) {
243
+ setIsMouseEnter(false);
244
+
245
+ if (typeof onMouseLeave === 'function') {
246
+ onMouseLeave(e);
247
+ }
248
+ };
249
+
221
250
  return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
222
251
  ref: ref,
223
252
  className: (0, _classnames5.default)(prefixCls, "".concat(prefixCls, "-range"), className, borderClass, (_classnames2 = {}, (0, _defineProperty2.default)(_classnames2, (0, _concat.default)(_context = "".concat(prefixCls, "-")).call(_context, size), size), (0, _defineProperty2.default)(_classnames2, "".concat(prefixCls, "-disabled"), mergedDisabled[0] && mergedDisabled[1]), (0, _defineProperty2.default)(_classnames2, "".concat(prefixCls, "-focused"), mergedActivePickerIndex === 0 ? startFocused : endFocused), _classnames2)),
224
253
  style: style,
225
254
  onMouseDown: onInternalonMouseDown,
226
255
  onMouseUp: onMouseUp,
227
- onMouseEnter: onMouseEnter,
228
- onMouseLeave: onMouseLeave,
256
+ onMouseEnter: mouseEnterHandle,
257
+ onMouseLeave: mouseLeaveHandle,
229
258
  onContextMenu: onContextMenu,
230
259
  onClick: onInternalonClick
231
260
  }, dataOrAriaProps), /*#__PURE__*/_react.default.createElement("div", {
@@ -268,7 +297,7 @@ function InputDate(props, ref) {
268
297
  width: activeBarWidth,
269
298
  position: 'absolute'
270
299
  })
271
- }), suffixNode, clearNode);
300
+ }), getSuffixNode());
272
301
  }
273
302
 
274
303
  var _default = /*#__PURE__*/_react.default.forwardRef(InputDate);
@@ -19,12 +19,12 @@ var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stabl
19
19
 
20
20
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
21
21
 
22
- var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
23
-
24
22
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
25
23
 
26
24
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
27
25
 
26
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
27
+
28
28
  var _react = _interopRequireWildcard(require("react"));
29
29
 
30
30
  var _isSameWeek = _interopRequireDefault(require("date-fns/isSameWeek"));
@@ -53,8 +53,6 @@ var _useTextValueMapping5 = _interopRequireDefault(require("./hooks/use-text-val
53
53
 
54
54
  var _useRangeViewDates3 = _interopRequireDefault(require("./hooks/use-range-view-dates"));
55
55
 
56
- var _locale = require("../locale");
57
-
58
56
  var _useRangeDisabled3 = _interopRequireDefault(require("./hooks/use-range-disabled"));
59
57
 
60
58
  var _getExtraFooter = _interopRequireDefault(require("./utils/get-extra-footer"));
@@ -161,13 +159,9 @@ function DatePicker(props) {
161
159
  onBlur = datePickerProps.onBlur,
162
160
  _onOk = datePickerProps.onOk;
163
161
  var needConfirmButton = picker === 'date' && !!showTime || picker === 'time';
164
- var datePickerLang = locale ? (0, _locale.getCompLangMsg)({
165
- componentName: 'DatePicker'
166
- }, function (_componentName, label) {
167
- return locale[label];
168
- }) : globalLocale.getCompLangMsg({
162
+ var datePickerLang = (0, _extends2.default)({}, globalLocale.getCompLangMsg({
169
163
  componentName: 'DatePicker'
170
- }); // ref
164
+ }), locale || {}); // ref
171
165
 
172
166
  var panelDivRef = _react.default.useRef(null);
173
167
 
@@ -312,7 +306,7 @@ function DatePicker(props) {
312
306
  }
313
307
 
314
308
  if (inputTempDate) {
315
- setSelectedValue((0, _utils2.updateValues)(selectedValue, inputTempDate, index));
309
+ triggerChange((0, _utils2.updateValues)(selectedValue, inputTempDate, index), index);
316
310
  setViewDate(inputTempDate, index);
317
311
  }
318
312
  } else if (newText && newText.length === _format.length) {
@@ -321,10 +315,10 @@ function DatePicker(props) {
321
315
 
322
316
  if (inputTempDate && (!disabledFunc || !disabledFunc(inputTempDate))) {
323
317
  if (picker !== 'year') {
324
- setSelectedValue((0, _utils2.updateValues)(selectedValue, inputTempDate, index));
318
+ triggerChange((0, _utils2.updateValues)(selectedValue, inputTempDate, index), index);
325
319
  setViewDate(inputTempDate, index);
326
320
  } else if ((0, _dateFns.isValid)(inputTempDate)) {
327
- setSelectedValue((0, _utils2.updateValues)(selectedValue, inputTempDate, index));
321
+ triggerChange((0, _utils2.updateValues)(selectedValue, inputTempDate, index), index);
328
322
  setViewDate(inputTempDate, index);
329
323
  }
330
324
  }
@@ -78,13 +78,41 @@ function InputDate(props, ref) {
78
78
  triggerOpen = props.triggerOpen,
79
79
  triggerChange = props.triggerChange;
80
80
  var preventBlurRef = (0, _react.useRef)(false);
81
+
82
+ var _useState = (0, _react.useState)(false),
83
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
84
+ isMouseEnter = _useState2[0],
85
+ setIsMouseEnter = _useState2[1];
86
+
81
87
  var placeholder = (0, _utils.getPlaceholder)(picker, locale, propsPlaceholder);
82
88
 
83
- var suffixNode = /*#__PURE__*/_react.default.createElement("span", {
84
- className: "".concat(prefixCls, "-suffix")
85
- }, suffixIcon || /*#__PURE__*/_react.default.createElement(_index.Icon, {
86
- type: picker === 'time' ? 'waiting' : 'date'
87
- }));
89
+ var getSuffixNode = function getSuffixNode() {
90
+ if (isMouseEnter && (hoverValue || text)) {
91
+ return null;
92
+ }
93
+
94
+ return /*#__PURE__*/_react.default.createElement("span", {
95
+ className: "".concat(prefixCls, "-suffix")
96
+ }, suffixIcon || /*#__PURE__*/_react.default.createElement(_index.Icon, {
97
+ type: picker === 'time' ? 'waiting' : 'date'
98
+ }));
99
+ };
100
+
101
+ var mouseEnterHandle = function mouseEnterHandle(e) {
102
+ setIsMouseEnter(true);
103
+
104
+ if (typeof onMouseEnter === 'function') {
105
+ onMouseEnter(e);
106
+ }
107
+ };
108
+
109
+ var mouseLeaveHandle = function mouseLeaveHandle(e) {
110
+ setIsMouseEnter(false);
111
+
112
+ if (typeof onMouseLeave === 'function') {
113
+ onMouseLeave(e);
114
+ }
115
+ };
88
116
 
89
117
  var clearNode;
90
118
 
@@ -102,7 +130,7 @@ function InputDate(props, ref) {
102
130
  },
103
131
  className: "".concat(prefixCls, "-clear")
104
132
  }, clearIcon || /*#__PURE__*/_react.default.createElement(_index.Icon, {
105
- type: "close"
133
+ type: "close-solid"
106
134
  }));
107
135
  }
108
136
 
@@ -171,8 +199,8 @@ function InputDate(props, ref) {
171
199
  style: style,
172
200
  onMouseDown: onInternalonMouseDown,
173
201
  onMouseUp: onInternalMouseUp,
174
- onMouseEnter: onMouseEnter,
175
- onMouseLeave: onMouseLeave,
202
+ onMouseEnter: mouseEnterHandle,
203
+ onMouseLeave: mouseLeaveHandle,
176
204
  onContextMenu: onContextMenu,
177
205
  onClick: onClick
178
206
  }, dataOrAriaProps), /*#__PURE__*/_react.default.createElement("div", {
@@ -196,7 +224,7 @@ function InputDate(props, ref) {
196
224
  title: text
197
225
  }, inputProps, {
198
226
  size: (0, _utils.getInputSize)(picker, format)
199
- })), suffixNode, clearNode));
227
+ })), getSuffixNode(), clearNode));
200
228
  }
201
229
 
202
230
  var _default = /*#__PURE__*/_react.default.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
  }
@@ -4,8 +4,6 @@
4
4
 
5
5
 
6
6
  @datePicker-prefix-cls: ~'@{kd-prefix}-date-picker';
7
- // @rangePicker-prefix-cls: ~'@{kd-prefix}-rangePicker';
8
- // @datePicker-prefix-cls-input: ~'@{datePicker-prefix-cls}-input';
9
7
  @datePicker-prefix-cls-panel: ~'@{datePicker-prefix-cls}-panel';
10
8
 
11
9
  @datePicker-calendar-text: 24px;
@@ -21,14 +19,6 @@
21
19
  input {
22
20
  font-size: @date-small-font-size;
23
21
  }
24
-
25
- .@{datePicker-prefix-cls}-clear {
26
- right: calc(@date-small-font-size + 1px);
27
- }
28
-
29
- &.@{datePicker-prefix-cls}-range .@{datePicker-prefix-cls}-clear {
30
- right: calc(@date-small-font-size + 12px);
31
- }
32
22
  }
33
23
 
34
24
  &-large {
@@ -37,14 +27,6 @@
37
27
  input {
38
28
  font-size: @date-large-font-size;
39
29
  }
40
-
41
- .@{datePicker-prefix-cls}-clear {
42
- right:calc(@date-large-font-size + 1px);
43
- }
44
-
45
- &.@{datePicker-prefix-cls}-range .@{datePicker-prefix-cls}-clear {
46
- right: calc(@date-large-font-size + 9px);
47
- }
48
30
  }
49
31
 
50
32
  &-middle {
@@ -53,14 +35,6 @@
53
35
  input {
54
36
  font-size: @date-middle-font-size;
55
37
  }
56
-
57
- .@{datePicker-prefix-cls}-clear {
58
- right: calc(@date-middle-font-size + 1px);
59
- }
60
-
61
- &.@{datePicker-prefix-cls}-range .@{datePicker-prefix-cls}-clear {
62
- right: calc(@date-middle-font-size + 11px);
63
- }
64
38
  }
65
39
 
66
40
  &-input {
@@ -102,6 +76,7 @@
102
76
 
103
77
  &-range {
104
78
  display: inline-flex;
79
+ align-items: center;
105
80
  position: relative;
106
81
 
107
82
  &-separator {
@@ -146,15 +121,12 @@
146
121
  .@{datePicker-prefix-cls}-clear {
147
122
  opacity: 1;
148
123
  }
149
-
150
- .@{datePicker-prefix-cls}-suffix {
151
- color: @date-color-background-checked;
152
- }
153
124
  }
154
125
 
155
126
  &-clear {
156
127
  position: absolute;
157
128
  top: 50%;
129
+ right: 0;
158
130
  color: @date-icon-color;
159
131
  line-height: 1;
160
132
  background: @date-clear-background-color;
@@ -167,7 +139,19 @@
167
139
  }
168
140
 
169
141
  &:hover {
170
- color: @date-clear-background-color-hover;
142
+ color: @date-icon-color-hover;
143
+ }
144
+ }
145
+
146
+ .@{datePicker-prefix-cls}-range-clear {
147
+ align-self: center;
148
+ margin-left: @date-suffix-spacing-margin-left;
149
+ color: @date-icon-color;
150
+ line-height: 1;
151
+ cursor: pointer;
152
+
153
+ &:hover {
154
+ color: @date-icon-color-hover;
171
155
  }
172
156
  }
173
157
 
@@ -809,8 +793,6 @@
809
793
  }
810
794
  }
811
795
  }
812
-
813
-
814
796
  }
815
797
 
816
798
  .@{datePicker-prefix-cls}-container {
@@ -834,6 +816,7 @@
834
816
  line-height: @date-panel-header-height;
835
817
  font-size: @date-container-font-size;
836
818
  border-bottom: .5px solid @date-container-color-border;
819
+ cursor: pointer;
837
820
  }
838
821
  }
839
822
  }
@@ -1,5 +1,8 @@
1
+ @import '../../style/themes/index';
1
2
  @import './token.less';
2
3
 
4
+ @datePicker-prefix-cls: ~'@{kd-prefix}-date-picker';
5
+
3
6
  .input-wrapper() {
4
7
  display: inline-flex;
5
8
  border: 1px solid @date-input-color-border;
@@ -71,6 +74,10 @@
71
74
  line-height: calc(@height - (@padding-vertical * 2) - 2);
72
75
  font-size: @fonSize;
73
76
  padding: @padding-vertical @padding-horizontal;
77
+
78
+ &.@{datePicker-prefix-cls}-underline {
79
+ padding: @padding-vertical 0;
80
+ }
74
81
  }
75
82
 
76
83
  .today-after(@background) {
@@ -13,7 +13,8 @@
13
13
  @date-input-color-background: var(~'@{date-picker-custom-prefix}-input-color-background', @color-white);
14
14
  @date-input-color-background-disabled: var(~'@{date-picker-custom-prefix}-input-color-background-disabled', @color-background-contain-disabled);
15
15
  @date-input-color-focus: var(~'@{date-picker-custom-prefix}-input-color-focused', @color-text-primary);
16
- @date-icon-color: var(~'@{date-picker-custom-prefix}-icon-color', @color-disabled);
16
+ @date-icon-color: var(~'@{date-picker-custom-prefix}-icon-color', #d9d9d9);
17
+ @date-icon-color-hover: var(~'@{date-picker-custom-prefix}-icon-color-hover', #999);
17
18
  @date-clear-background-color: var(~'@{date-picker-custom-prefix}-clear-color-background', @color-background);
18
19
  @date-clear-background-color-hover: var(~'@{date-picker-custom-prefix}-clear-color-background-hover', @color-theme-5);
19
20
  @date-clear-background-color-focused: var(~'@{date-picker-custom-prefix}-clear-color-background-focused', @color-theme);
@@ -10,6 +10,7 @@ export interface FormItemProps {
10
10
  labelWidth?: string | number;
11
11
  labelAlign?: LabelAlign;
12
12
  name: NamePath;
13
+ htmlFor?: string;
13
14
  prefixCls?: string;
14
15
  required?: boolean;
15
16
  rules?: Rule[];