@kdcloudjs/kdesign 1.7.25 → 1.7.26

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 (50) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/kdesign-complete.less +88 -32
  3. package/dist/kdesign.css +68 -27
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +154 -99
  6. package/dist/kdesign.js.map +1 -1
  7. package/dist/kdesign.min.css +2 -2
  8. package/dist/kdesign.min.js +6 -6
  9. package/dist/kdesign.min.js.map +1 -1
  10. package/es/cascader/cascader.js +64 -32
  11. package/es/cascader/style/index.css +40 -24
  12. package/es/cascader/style/index.less +49 -27
  13. package/es/cascader/style/token.less +4 -3
  14. package/es/city-picker/city-picker.js +3 -4
  15. package/es/city-picker/option.js +2 -1
  16. package/es/city-picker/style/index.css +12 -0
  17. package/es/city-picker/style/index.less +14 -0
  18. package/es/collapse/panel.js +31 -18
  19. package/es/collapse/style/index.css +4 -1
  20. package/es/collapse/style/index.less +4 -1
  21. package/es/form/Field.d.ts +1 -0
  22. package/es/form/Field.js +5 -3
  23. package/es/form/FieldWrapper.d.ts +1 -0
  24. package/es/form/FieldWrapper.js +13 -5
  25. package/es/form/style/index.css +11 -1
  26. package/es/form/style/index.less +16 -1
  27. package/es/form/style/token.less +1 -0
  28. package/es/tag/tag.d.ts +1 -0
  29. package/es/tree-select/tree-select.js +2 -1
  30. package/lib/cascader/cascader.js +63 -31
  31. package/lib/cascader/style/index.css +40 -24
  32. package/lib/cascader/style/index.less +49 -27
  33. package/lib/cascader/style/token.less +4 -3
  34. package/lib/city-picker/city-picker.js +3 -4
  35. package/lib/city-picker/option.js +2 -1
  36. package/lib/city-picker/style/index.css +12 -0
  37. package/lib/city-picker/style/index.less +14 -0
  38. package/lib/collapse/panel.js +32 -19
  39. package/lib/collapse/style/index.css +4 -1
  40. package/lib/collapse/style/index.less +4 -1
  41. package/lib/form/Field.d.ts +1 -0
  42. package/lib/form/Field.js +5 -3
  43. package/lib/form/FieldWrapper.d.ts +1 -0
  44. package/lib/form/FieldWrapper.js +13 -5
  45. package/lib/form/style/index.css +11 -1
  46. package/lib/form/style/index.less +16 -1
  47. package/lib/form/style/token.less +1 -0
  48. package/lib/tag/tag.d.ts +1 -0
  49. package/lib/tree-select/tree-select.js +2 -1
  50. package/package.json +1 -1
@@ -16,7 +16,7 @@ var __rest = this && this.__rest || function (s, e) {
16
16
  }
17
17
  return t;
18
18
  };
19
- import React, { useMemo, useCallback, useState, useRef } from 'react';
19
+ import React, { useMemo, useCallback, useState, useRef, useEffect, useImperativeHandle } from 'react';
20
20
  import classNames from 'classnames';
21
21
  import { tuple } from '../_utils/type';
22
22
  import { getCompProps } from '../_utils';
@@ -62,15 +62,15 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
62
62
  customAllowClear = allProps.allowClear,
63
63
  popupPlacement = allProps.popupPlacement,
64
64
  maxTagCount = allProps.maxTagCount,
65
+ autoFocus = allProps.autoFocus,
65
66
  otherProps = __rest(allProps
66
67
  // className前缀
67
- , ["mode", "style", "options", "bordered", "disabled", "children", "loadData", "clearIcon", "className", "fieldNames", "placeholder", "defaultValue", "maxTagPlaceholder", "displayRender", "expandTrigger", "changeOnSelect", "dropdownRender", "notFoundContent", "getPopupContainer", "defaultPopupVisible", "onPopupVisibleChange", "onPopperVisibleChange", "prefixCls", "allowClear", "popupPlacement", "maxTagCount"]);
68
+ , ["mode", "style", "options", "bordered", "disabled", "children", "loadData", "clearIcon", "className", "fieldNames", "placeholder", "defaultValue", "maxTagPlaceholder", "displayRender", "expandTrigger", "changeOnSelect", "dropdownRender", "notFoundContent", "getPopupContainer", "defaultPopupVisible", "onPopupVisibleChange", "onPopperVisibleChange", "prefixCls", "allowClear", "popupPlacement", "maxTagCount", "autoFocus"]);
68
69
  // className前缀
69
70
  var prefixCls = getPrefixCls(pkgPrefixCls, 'cascader', customPrefixcls);
70
- var pickerRef = useRef();
71
- var triggerRef = useRef();
71
+ var mergeRef = useRef();
72
+ var inputRef = useRef();
72
73
  var wrapperRef = useRef();
73
- var mergeRef = ref || pickerRef;
74
74
  var _useState = useState(!!props.popperVisible || !!props.popupVisible || defaultPopupVisible),
75
75
  _useState2 = _slicedToArray(_useState, 2),
76
76
  visible = _useState2[0],
@@ -157,21 +157,53 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
157
157
  setCurrentOptions(newMultipleOptions);
158
158
  }
159
159
  }, [options, value, fieldNames, isMultiple]);
160
- React.useEffect(function () {
160
+ var handleFocus = function handleFocus() {
161
+ var _a, _b;
162
+ if (!disabled) {
163
+ if (isMultiple) {
164
+ (_a = mergeRef.current) === null || _a === void 0 ? void 0 : _a.focus();
165
+ } else {
166
+ (_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.focus();
167
+ }
168
+ }
169
+ };
170
+ var handleBlur = function handleBlur() {
171
+ var _a, _b;
172
+ if (!disabled) {
173
+ if (isMultiple) {
174
+ (_a = mergeRef.current) === null || _a === void 0 ? void 0 : _a.blur();
175
+ } else {
176
+ (_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.blur();
177
+ }
178
+ }
179
+ };
180
+ useImperativeHandle(ref, function () {
181
+ return {
182
+ focus: handleFocus,
183
+ blur: handleBlur,
184
+ dom: mergeRef.current
185
+ };
186
+ });
187
+ useEffect(function () {
188
+ if (autoFocus) {
189
+ handleFocus();
190
+ }
191
+ }, [autoFocus, inputRef]);
192
+ var handleMouseUp = function handleMouseUp(e) {
161
193
  var _a;
162
- if (allProps.autoFocus) {
163
- (_a = mergeRef.current) === null || _a === void 0 ? void 0 : _a.focus();
194
+ var cln = (_a = e === null || e === void 0 ? void 0 : e.target) === null || _a === void 0 ? void 0 : _a.className;
195
+ var isCloseBtn = cln.indexOf('kd-tag-close-icon') > -1 || cln.indexOf('kdicon') > -1;
196
+ if (isCloseBtn) {
197
+ e.stopPropagation();
164
198
  }
165
- }, [allProps.autoFocus, mergeRef]);
199
+ };
166
200
  React.useEffect(function () {
167
201
  var _a;
168
- (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('mouseup', function (e) {
202
+ (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('mouseup', handleMouseUp);
203
+ return function () {
169
204
  var _a;
170
- var isCloseBtn = ((_a = e === null || e === void 0 ? void 0 : e.target) === null || _a === void 0 ? void 0 : _a.className.indexOf('kd-tag-close-icon')) > -1;
171
- if (isCloseBtn) {
172
- e.stopPropagation();
173
- }
174
- });
205
+ (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('mouseup', handleMouseUp);
206
+ };
175
207
  }, []);
176
208
  var labels = useMemo(function () {
177
209
  return !isMultiple ? _mapInstanceProperty(currentOptions).call(currentOptions, function (_ref) {
@@ -195,8 +227,10 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
195
227
  });
196
228
  });
197
229
  }, [currentOptions, isMultiple]);
198
- var allowClear = customAllowClear && value.length > 0;
230
+ var allowClear = customAllowClear && value.length > 0 && !disabled;
199
231
  var handleClear = function handleClear() {
232
+ handleBlur();
233
+ setVisible(false);
200
234
  onChange([]);
201
235
  };
202
236
  var renderSuffix = function renderSuffix() {
@@ -236,9 +270,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
236
270
  };
237
271
  var renderMultiple = function renderMultiple() {
238
272
  var _classNames3, _classNames4;
239
- var multipleCls = classNames((_classNames3 = {
240
- disabled: disabled
241
- }, _defineProperty(_classNames3, "".concat(prefixCls, "-multiple"), true), _defineProperty(_classNames3, "".concat(prefixCls, "-bordered"), bordered), _classNames3));
273
+ var multipleCls = classNames((_classNames3 = {}, _defineProperty(_classNames3, "".concat(prefixCls, "-expand"), visible), _defineProperty(_classNames3, "".concat(prefixCls, "-disabled"), disabled), _defineProperty(_classNames3, "".concat(prefixCls, "-multiple"), true), _defineProperty(_classNames3, "".concat(prefixCls, "-bordered"), bordered), _classNames3));
242
274
  var itemCls = classNames((_classNames4 = {}, _defineProperty(_classNames4, "".concat(prefixCls, "-selection-item"), true), _defineProperty(_classNames4, "".concat(prefixCls, "-tag-describe"), true), _classNames4));
243
275
  var TagStyle = {
244
276
  margin: '2px 8px 2px 0',
@@ -246,9 +278,11 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
246
278
  };
247
279
  return /*#__PURE__*/React.createElement("div", _extends({
248
280
  className: multipleCls,
249
- ref: triggerRef,
281
+ ref: mergeRef,
250
282
  style: style
251
- }, otherProps), /*#__PURE__*/React.createElement("div", {
283
+ }, otherProps, {
284
+ tabIndex: -1
285
+ }), /*#__PURE__*/React.createElement("div", {
252
286
  className: "".concat(prefixCls, "-multiple-wrapper"),
253
287
  ref: wrapperRef
254
288
  }, Array.isArray(currentOptions) && /*#__PURE__*/React.createElement(React.Fragment, null, _mapInstanceProperty(currentOptions).call(currentOptions, function (option, index) {
@@ -257,6 +291,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
257
291
  className: classNames("".concat(prefixCls, "-selection-tag"))
258
292
  }, (!maxTagCount || index <= maxTagCount - 1) && /*#__PURE__*/React.createElement(Tag, {
259
293
  type: "edit",
294
+ disabled: disabled,
260
295
  style: TagStyle,
261
296
  closable: true,
262
297
  onClose: function onClose(e) {
@@ -274,8 +309,10 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
274
309
  }, renderSuffix())));
275
310
  };
276
311
  var renderSingle = function renderSingle() {
312
+ var _classNames5;
277
313
  var inputProps = {
278
314
  value: value,
315
+ ref: inputRef,
279
316
  placeholder: placeholder,
280
317
  readOnly: true,
281
318
  borderType: bordered ? 'bordered' : 'underline',
@@ -293,18 +330,13 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
293
330
  var singleProps = {
294
331
  style: style,
295
332
  tabIndex: 0,
296
- className: classNames("".concat(prefixCls, "-picker"), className, _defineProperty({
297
- expand: visible,
298
- allowClear: allowClear,
299
- disabled: disabled
300
- }, "".concat(prefixCls, "-bordered"), bordered))
333
+ className: classNames("".concat(prefixCls, "-picker"), className, (_classNames5 = {}, _defineProperty(_classNames5, "".concat(prefixCls, "-single"), true), _defineProperty(_classNames5, "".concat(prefixCls, "-expand"), visible), _defineProperty(_classNames5, "allowClear", allowClear), _defineProperty(_classNames5, "".concat(prefixCls, "-disabled"), disabled), _defineProperty(_classNames5, "".concat(prefixCls, "-bordered"), bordered), _classNames5))
301
334
  };
302
335
  return /*#__PURE__*/React.createElement("div", _extends({}, singleProps, {
303
336
  ref: mergeRef
304
- }, otherProps), React.Children.count(children) === 1 && children.type ? /*#__PURE__*/React.cloneElement(children, {
305
- ref: triggerRef
306
- }) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
307
- ref: triggerRef
337
+ }, otherProps), React.Children.count(children) === 1 && children.type ? /*#__PURE__*/React.cloneElement(children) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
338
+ className: "".concat(prefixCls, "-single-wrapper"),
339
+ ref: wrapperRef
308
340
  }, /*#__PURE__*/React.createElement(Input, _extends({}, inputProps)), /*#__PURE__*/React.createElement("span", {
309
341
  className: "".concat(prefixCls, "-picker-label")
310
342
  }, (labels === null || labels === void 0 ? void 0 : labels.length) ? displayRender(labels, currentOptions) : ''), allowClear && /*#__PURE__*/React.createElement(Icon, {
@@ -422,13 +454,13 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
422
454
  gap: 4,
423
455
  visible: visible,
424
456
  onVisibleChange: onVisibleChange,
425
- trigger: 'click',
457
+ trigger: expandTrigger,
426
458
  getPopupContainer: getPopupContainer,
427
459
  prefixCls: "".concat(prefixCls, "-menus"),
428
460
  placement: allProps.popperPlacement || popupPlacement,
429
461
  popperClassName: allProps.popperClassName || allProps.popupClassName,
430
462
  getTriggerElement: function getTriggerElement() {
431
- return triggerRef.current;
463
+ return mergeRef.current;
432
464
  }
433
465
  });
434
466
  return usePopper(cascaderLocator, cascaderPopper, popperProps);
@@ -112,17 +112,6 @@
112
112
  cursor: pointer;
113
113
  background: var(--kd-c-cascader-color-background, var(--kd-g-color-white, #fff));
114
114
  }
115
- .kd-cascader-picker:focus > .kd-cascader-picker-input {
116
- border-color: var(--kd-c-cascader-color-active, #999);
117
- }
118
- .kd-cascader-picker:focus > .kd-cascader-picker-input .kd-input-suffix,
119
- .kd-cascader-picker:focus > .kd-cascader-picker-input i[class*='kdicon'] {
120
- color: var(--kd-c-cascader-color-active, #999);
121
- }
122
- .kd-cascader-picker:hover > .kd-cascader-picker-input .kd-input-suffix,
123
- .kd-cascader-picker:hover > .kd-cascader-picker-input i[class*='kdicon'] {
124
- color: var(--kd-c-cascader-color-active, #999);
125
- }
126
115
  .kd-cascader-picker.disabled .kd-cascader-picker-input {
127
116
  cursor: not-allowed;
128
117
  border-color: var(--kd-g-color-border-strong, #d9d9d9);
@@ -148,7 +137,7 @@
148
137
  text-overflow: ellipsis;
149
138
  }
150
139
  .kd-cascader-picker-input {
151
- background-color: transparent !important;
140
+ background-color: transparent;
152
141
  -webkit-transition: all 0.2s;
153
142
  transition: all 0.2s;
154
143
  }
@@ -156,11 +145,7 @@
156
145
  color: transparent !important;
157
146
  cursor: pointer;
158
147
  }
159
- .kd-cascader-picker-input.expand {
160
- border-color: var(--kd-c-cascader-color-active, #999);
161
- }
162
148
  .kd-cascader-picker-input.expand i[class*='kdicon'] {
163
- color: var(--kd-c-cascader-color-active, #999);
164
149
  -webkit-transform: rotate(180deg);
165
150
  transform: rotate(180deg);
166
151
  }
@@ -190,7 +175,7 @@
190
175
  opacity: 0;
191
176
  cursor: pointer;
192
177
  visibility: hidden;
193
- color: var(--kd-c-cascader-icon-clear-color-text, #d9d9d9);
178
+ color: var(--kd-c-cascader-clear-color-text, #d9d9d9);
194
179
  -webkit-transition: all 0.1s;
195
180
  transition: all 0.1s;
196
181
  -webkit-transform-origin: 50% 50%;
@@ -199,7 +184,7 @@
199
184
  transform: scale(0.9) translateY(-50%);
200
185
  }
201
186
  .kd-cascader-picker-close:hover {
202
- color: var(--kd-c-cascader-color-active, #999);
187
+ color: var(--kd-c-cascader-icon-clear-color-text-hover, #999);
203
188
  }
204
189
  .kd-cascader-menus {
205
190
  -webkit-box-sizing: border-box;
@@ -312,6 +297,10 @@
312
297
  border-bottom: 1px solid #d9d9d9;
313
298
  background: var(--kd-c-cascader-color-background, var(--kd-g-color-white, #fff));
314
299
  }
300
+ .kd-cascader-multiple:not(.kd-cascader-disabled):focus {
301
+ border-color: var(--kd-c-cascader-color-text-selected, var(--kd-g-color-theme, #5582f3));
302
+ outline: none;
303
+ }
315
304
  .kd-cascader-multiple-wrapper {
316
305
  display: -webkit-box;
317
306
  display: -ms-flexbox;
@@ -325,7 +314,8 @@
325
314
  }
326
315
  .kd-cascader-placeholder {
327
316
  position: absolute;
328
- color: #999;
317
+ font-size: 14px;
318
+ color: var(--kd-c-cascader-placeholder-color, var(--kd-g-color-text-placeholder, #ccc));
329
319
  overflow: hidden;
330
320
  white-space: nowrap;
331
321
  text-overflow: ellipsis;
@@ -380,9 +370,6 @@
380
370
  transition: transform calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1);
381
371
  transition: transform calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1);
382
372
  }
383
- .kd-cascader-icon-arrow-focus {
384
- color: var(--kd-c-cascader-color-border-foucs, var(--kd-g-color-theme, #5582f3));
385
- }
386
373
  .kd-cascader-icon-clear {
387
374
  opacity: 0;
388
375
  z-index: 1;
@@ -390,7 +377,7 @@
390
377
  background: #fff;
391
378
  -webkit-transition: opacity 0.15s ease;
392
379
  transition: opacity 0.15s ease;
393
- color: var(--kd-c-cascader-icon-clear-color-text, #d9d9d9);
380
+ color: var(--kd-c-cascader-clear-color-text, #d9d9d9);
394
381
  }
395
382
  .kd-cascader-icon-clear:hover {
396
383
  color: var(--kd-c-cascader-icon-clear-color-text-hover, #999);
@@ -412,7 +399,6 @@
412
399
  -webkit-box-align: center;
413
400
  -ms-flex-align: center;
414
401
  align-items: center;
415
- vertical-align: middle;
416
402
  padding: 0 7px;
417
403
  overflow: hidden;
418
404
  white-space: nowrap;
@@ -420,3 +406,33 @@
420
406
  border: 1px solid #ccc;
421
407
  color: #212121;
422
408
  }
409
+ .kd-cascader-disabled {
410
+ cursor: not-allowed;
411
+ }
412
+ .kd-cascader-disabled .kd-cascader-picker-label {
413
+ color: var(--kd-c-cascader-color-text-disabled, var(--kd-g-color-disabled, #b2b2b2));
414
+ }
415
+ .kd-cascader-disabled .kd-cascader-picker-input {
416
+ background-color: var(--kd-c-cascader-color-background-disabled, var(--kd-g-color-background-contain-disabled, #f5f5f5));
417
+ }
418
+ .kd-cascader-disabled .kd-cascader-picker-input > input {
419
+ background-color: var(--kd-c-cascader-color-background-disabled, var(--kd-g-color-background-contain-disabled, #f5f5f5));
420
+ }
421
+ .kd-cascader-disabled.kd-cascader-multiple {
422
+ background-color: var(--kd-c-cascader-color-background-disabled, var(--kd-g-color-background-contain-disabled, #f5f5f5));
423
+ }
424
+ .kd-cascader-disabled .kd-cascader-suffix {
425
+ color: var(--kd-c-cascader-color-text-disabled, var(--kd-g-color-disabled, #b2b2b2));
426
+ }
427
+ .kd-cascader-disabled .kd-cascader-tag-describe-content {
428
+ color: var(--kd-c-cascader-tag-disabled-color, #d9d9d9);
429
+ border-color: var(--kd-c-cascader-tag-disabled-color, #d9d9d9);
430
+ }
431
+ .kd-cascader-picker:not(.kd-cascader-disabled):hover .kd-input-wrapper,
432
+ .kd-cascader-expand .kd-input-wrapper {
433
+ border-color: var(--kd-c-cascader-color-border-foucs, var(--kd-g-color-theme, #5582f3));
434
+ }
435
+ .kd-cascader-multiple:not(.kd-cascader-disabled):hover,
436
+ .kd-cascader-expand {
437
+ border-color: var(--kd-c-cascader-color-border-foucs, var(--kd-g-color-theme, #5582f3));
438
+ }
@@ -12,22 +12,6 @@
12
12
  cursor: pointer;
13
13
  background: @cascader-bg-color;
14
14
 
15
- &:focus > &-input {
16
- border-color: @cascader-active-color;
17
-
18
- .@{kd-prefix}-input-suffix,
19
- i[class*='kdicon'] {
20
- color: @cascader-active-color;
21
- }
22
- }
23
-
24
- &:hover > &-input {
25
- .@{kd-prefix}-input-suffix,
26
- i[class*='kdicon'] {
27
- color: @cascader-active-color;
28
- }
29
- }
30
-
31
15
  &.disabled {
32
16
  .@{cascader-picker-prefix-cls}-input {
33
17
  cursor: not-allowed;
@@ -54,7 +38,7 @@
54
38
  }
55
39
 
56
40
  &-input {
57
- background-color: transparent !important;
41
+ background-color: transparent;
58
42
  transition: all 0.2s;
59
43
 
60
44
  > input {
@@ -63,10 +47,7 @@
63
47
  }
64
48
 
65
49
  &.expand {
66
- border-color: @cascader-active-color;
67
-
68
50
  i[class*='kdicon'] {
69
- color: @cascader-active-color;
70
51
  transform: rotate(180deg);
71
52
  }
72
53
  }
@@ -105,7 +86,7 @@
105
86
  transform: scale(0.9) translateY(-50%);
106
87
 
107
88
  &:hover {
108
- color: @cascader-active-color;
89
+ color: @cascader-clear-color-hover;
109
90
  }
110
91
  }
111
92
  }
@@ -217,6 +198,11 @@
217
198
  position: relative;
218
199
  border-bottom: 1px solid #d9d9d9;
219
200
  background: @cascader-bg-color;
201
+
202
+ &:not(.@{kd-prefix}-cascader-disabled):focus {
203
+ border-color: @cascader-selected-color;
204
+ outline: none;
205
+ }
220
206
  }
221
207
 
222
208
  &-multiple-wrapper {
@@ -228,7 +214,8 @@
228
214
 
229
215
  &-placeholder {
230
216
  position: absolute;
231
- color: @select-placeholder-color;
217
+ font-size: @middle-font-size;
218
+ color: @cascader-placeholder-color;
232
219
  overflow: hidden;
233
220
  white-space: nowrap;
234
221
  text-overflow: ellipsis;
@@ -267,10 +254,6 @@
267
254
  transform: rotate(0deg);
268
255
  transition: transform calc(@transition-duration - 0.1s) @ease;
269
256
  }
270
-
271
- &-focus {
272
- color: @cascader-g-color-border-foucs;
273
- }
274
257
  }
275
258
 
276
259
  &-clear {
@@ -285,6 +268,7 @@
285
268
  }
286
269
  }
287
270
  }
271
+
288
272
  &-tag {
289
273
  &-describe {
290
274
  font-size: 12px;
@@ -296,7 +280,6 @@
296
280
  &-content {
297
281
  display: inline-flex;
298
282
  align-items: center;
299
- vertical-align: middle;
300
283
  padding: 0 7px;
301
284
  overflow: hidden;
302
285
  white-space: nowrap;
@@ -306,4 +289,43 @@
306
289
  }
307
290
  }
308
291
  }
292
+
293
+ &-disabled {
294
+ cursor: not-allowed;
295
+
296
+ .@{kd-prefix}-cascader-picker-label {
297
+ color: @cascader-disabled-color;
298
+ }
299
+
300
+ .@{kd-prefix}-cascader-picker-input {
301
+ background-color: @cascader-disabled-color-background;
302
+
303
+ > input {
304
+ background-color: @cascader-disabled-color-background;
305
+ }
306
+ }
307
+
308
+ &.@{kd-prefix}-cascader-multiple {
309
+ background-color: @cascader-disabled-color-background;
310
+ }
311
+
312
+ .@{kd-prefix}-cascader-suffix {
313
+ color: @cascader-disabled-color;
314
+ }
315
+
316
+ .@{kd-prefix}-cascader-tag-describe-content {
317
+ color: @cascader-tag-disabled-color;
318
+ border-color: @cascader-tag-disabled-color;
319
+ }
320
+ }
321
+
322
+ &-picker:not(&-disabled):hover, &-expand {
323
+ .kd-input-wrapper {
324
+ border-color: @cascader-g-color-border-focus;
325
+ }
326
+ }
327
+
328
+ &-multiple:not(&-disabled):hover, &-expand {
329
+ border-color: @cascader-g-color-border-focus;
330
+ }
309
331
  }
@@ -12,17 +12,18 @@
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', #999);
16
15
  @cascader-color: var(~'@{cascader-prefix}-color-text', @color-text-primary);
17
16
  @cascader-bg-color: var(~'@{cascader-prefix}-color-background', @color-white);
18
17
  @cascader-hover-bg-color: var(~'@{cascader-prefix}-color-background-hover', @color-hover);
19
18
  @cascader-selected-color: var(~'@{cascader-prefix}-color-text-selected', @color-theme);
20
19
  @cascader-selected-bg-color: var(~'@{cascader-prefix}-color-background-selected', @color-background-ongoing);
21
20
  @cascader-disabled-color: var(~'@{cascader-prefix}-color-text-disabled', @color-disabled);
21
+ @cascader-disabled-color-background: var(~'@{cascader-prefix}-color-background-disabled', @color-background-contain-disabled);
22
22
  @cascader-clear-color: var(~'@{cascader-prefix}-clear-color-text', #d9d9d9);
23
- @cascader-g-color-border-foucs: var(~'@{cascader-prefix}-color-border-foucs', @color-theme);
24
- @cascader-clear-color: var(~'@{cascader-prefix}-icon-clear-color-text', #d9d9d9);
25
23
  @cascader-clear-color-hover: var(~'@{cascader-prefix}-icon-clear-color-text-hover', #999);
24
+ @cascader-g-color-border-focus: var(~'@{cascader-prefix}-color-border-foucs', @color-theme);
25
+ @cascader-tag-disabled-color: var(~'@{cascader-prefix}-tag-disabled-color', #d9d9d9);
26
+ @cascader-placeholder-color: var(~'@{cascader-prefix}-placeholder-color', @color-text-placeholder);
26
27
 
27
28
  // font
28
29
  @cascader-font-size: var(~'@{cascader-prefix}-font-size', @font-size-small);
@@ -116,9 +116,7 @@ var InternalSelect = function InternalSelect(props, ref) {
116
116
  var city = _findInstanceProperty(cityList).call(cityList, function (city) {
117
117
  return city.id === value;
118
118
  });
119
- if (city) {
120
- setSeletedCity(city);
121
- }
119
+ setSeletedCity(city);
122
120
  }, [commonList, domesticList, foreignList, value]);
123
121
  useEffect(function () {
124
122
  if (typeof props.visible !== 'undefined') {
@@ -232,6 +230,7 @@ var InternalSelect = function InternalSelect(props, ref) {
232
230
  key: item.id,
233
231
  value: initValue,
234
232
  city: item,
233
+ className: searchValue ? "".concat(selectPrefixCls, "-list-item-match") : undefined,
235
234
  renderCityInfo: function renderCityInfo(data, flag) {
236
235
  return _renderCityInfo(data, isCommon, flag);
237
236
  },
@@ -277,7 +276,7 @@ var InternalSelect = function InternalSelect(props, ref) {
277
276
  return _concatInstanceProperty(_context3 = "".concat(flag && curVal ? symbol : '')).call(_context3, curVal);
278
277
  } else {
279
278
  var _context4, _context5, _context6;
280
- return _concatInstanceProperty(_context4 = _concatInstanceProperty(_context5 = _concatInstanceProperty(_context6 = "".concat(flag && (data === null || data === void 0 ? void 0 : data.province) ? symbol : '')).call(_context6, data === null || data === void 0 ? void 0 : data.province)).call(_context5, (data === null || data === void 0 ? void 0 : data.country) && (data === null || data === void 0 ? void 0 : data.province) ? symbol : '')).call(_context4, data === null || data === void 0 ? void 0 : data.country);
279
+ return _concatInstanceProperty(_context4 = _concatInstanceProperty(_context5 = _concatInstanceProperty(_context6 = "".concat(flag && ((data === null || data === void 0 ? void 0 : data.province) || (data === null || data === void 0 ? void 0 : data.country)) ? symbol : '')).call(_context6, data === null || data === void 0 ? void 0 : data.province)).call(_context5, (data === null || data === void 0 ? void 0 : data.country) && (data === null || data === void 0 ? void 0 : data.province) ? symbol : '')).call(_context4, data === null || data === void 0 ? void 0 : data.country);
281
280
  }
282
281
  }, [type, tabsValue]);
283
282
  var renderSingle = function renderSingle() {
@@ -8,6 +8,7 @@ var InternalOption = function InternalOption(props, ref) {
8
8
  var children = props.children,
9
9
  value = props.value,
10
10
  disabled = props.disabled,
11
+ className = props.className,
11
12
  onChangeSelect = props.onChangeSelect,
12
13
  _props$city = props.city,
13
14
  city = _props$city === void 0 ? {} : _props$city,
@@ -20,7 +21,7 @@ var InternalOption = function InternalOption(props, ref) {
20
21
  prefixCls = _useContext.prefixCls;
21
22
  var selectOptionPrefixCls = getPrefixCls(prefixCls, 'city-picker-list-item');
22
23
  var isSelected = id !== undefined ? id === value : false;
23
- var optionCls = classNames(selectOptionPrefixCls, (_classNames = {}, _defineProperty(_classNames, "".concat(selectOptionPrefixCls, "-selected"), isSelected), _defineProperty(_classNames, "".concat(selectOptionPrefixCls, "-disabled"), disabled), _classNames));
24
+ var optionCls = classNames(selectOptionPrefixCls, className, (_classNames = {}, _defineProperty(_classNames, "".concat(selectOptionPrefixCls, "-selected"), isSelected), _defineProperty(_classNames, "".concat(selectOptionPrefixCls, "-disabled"), disabled), _classNames));
24
25
  var handleClick = function handleClick(e) {
25
26
  e.preventDefault();
26
27
  if (disabled || id === undefined) return;
@@ -121,6 +121,9 @@
121
121
  -ms-flex-direction: column;
122
122
  flex-direction: column;
123
123
  }
124
+ .kd-city-picker-selector {
125
+ width: 100%;
126
+ }
124
127
  .kd-city-picker-selector:hover .kd-city-picker-icon-active {
125
128
  color: #3761ca;
126
129
  }
@@ -341,11 +344,20 @@
341
344
  background-color: var(--kd-c-city-picker-color-background-selected, var(--kd-g-color-theme-3, #e3eeff));
342
345
  color: var(--kd-c-city-picker-list-item-color-text-selected, var(--kd-g-color-theme, #5582f3));
343
346
  }
347
+ .kd-city-picker-list-item-selected:not(.kd-city-picker-list-item-disabled) .kd-city-picker-list-item-info {
348
+ color: var(--kd-c-city-picker-list-item-color-text-selected, var(--kd-g-color-theme, #5582f3));
349
+ }
344
350
  .kd-city-picker-list-item-disabled {
345
351
  color: var(--kd-c-city-picker-item-color-text-disabled, var(--kd-g-color-disabled, #b2b2b2));
346
352
  cursor: not-allowed;
347
353
  background-color: var(--kd-c-city-picker-item-color-background-disabled, #fff);
348
354
  }
355
+ .kd-city-picker-list > .kd-city-picker-list-item-match {
356
+ color: var(--kd-c-city-picker-footer-color-text, var(--kd-g-color-text-primary, #212121));
357
+ }
358
+ .kd-city-picker-list > .kd-city-picker-list-item-match .kd-city-picker-list-item-info {
359
+ color: var(--kd-c-city-picker-placeholder-color-text, #b2b2b2);
360
+ }
349
361
  .kd-city-picker-highlight {
350
362
  color: var(--kd-c-city-picker-highlight-color-text, var(--kd-g-color-theme, #5582f3));
351
363
  }
@@ -14,6 +14,9 @@
14
14
  display: flex;
15
15
  flex-direction: column;
16
16
 
17
+ &-selector {
18
+ width: 100%;
19
+ }
17
20
  &-selector:hover {
18
21
  .@{city-picker-prefix-cls}-icon-active {
19
22
  color: #3761ca;
@@ -225,6 +228,10 @@
225
228
  &-selected:not(&-disabled) {
226
229
  background-color: @city-picker-item-selected-bg;
227
230
  color: @city-picker-list-item-color-selected;
231
+
232
+ .@{city-picker-prefix-cls}-list-item-info {
233
+ color: @city-picker-list-item-color-selected;
234
+ }
228
235
  }
229
236
 
230
237
  &-disabled {
@@ -233,6 +240,13 @@
233
240
  background-color: @city-picker-disabled-option-bg;
234
241
  }
235
242
  }
243
+
244
+ & > .@{city-picker-prefix-cls}-list-item-match {
245
+ color: @city-picker-font-color;
246
+ .@{city-picker-prefix-cls}-list-item-info {
247
+ color: @city-picker-placeholder-color;
248
+ }
249
+ }
236
250
  }
237
251
 
238
252
  &-highlight {