@kdcloudjs/kdesign 1.7.26 → 1.7.28

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 (53) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/dist/default-theme.js +1 -1
  3. package/dist/kdesign-complete.less +30 -14
  4. package/dist/kdesign.css +29 -14
  5. package/dist/kdesign.css.map +1 -1
  6. package/dist/kdesign.js +168 -42
  7. package/dist/kdesign.js.map +1 -1
  8. package/dist/kdesign.min.css +3 -3
  9. package/dist/kdesign.min.js +8 -8
  10. package/dist/kdesign.min.js.map +1 -1
  11. package/es/anchor/style/index.css +1 -1
  12. package/es/anchor/style/index.less +1 -1
  13. package/es/anchor/style/token.less +1 -0
  14. package/es/cascader/style/index.css +2 -2
  15. package/es/cascader/style/index.less +2 -2
  16. package/es/cascader/style/token.less +1 -0
  17. package/es/city-picker/city-picker.js +121 -12
  18. package/es/city-picker/interface.d.ts +5 -1
  19. package/es/city-picker/option.js +14 -3
  20. package/es/city-picker/style/index.css +21 -10
  21. package/es/city-picker/style/index.less +17 -10
  22. package/es/grid/col.js +1 -1
  23. package/es/grid/row.js +1 -1
  24. package/es/select/select.js +2 -2
  25. package/es/select/style/index.css +1 -0
  26. package/es/select/style/index.less +1 -0
  27. package/es/select/style/token.less +1 -0
  28. package/es/style/themes/default.less +2 -2
  29. package/es/tabs/style/index.css +3 -0
  30. package/es/tabs/style/index.less +3 -0
  31. package/es/tabs/style/token.less +1 -0
  32. package/lib/anchor/style/index.css +1 -1
  33. package/lib/anchor/style/index.less +1 -1
  34. package/lib/anchor/style/token.less +1 -0
  35. package/lib/cascader/style/index.css +2 -2
  36. package/lib/cascader/style/index.less +2 -2
  37. package/lib/cascader/style/token.less +1 -0
  38. package/lib/city-picker/city-picker.js +120 -11
  39. package/lib/city-picker/interface.d.ts +5 -1
  40. package/lib/city-picker/option.js +14 -3
  41. package/lib/city-picker/style/index.css +21 -10
  42. package/lib/city-picker/style/index.less +17 -10
  43. package/lib/grid/col.js +1 -1
  44. package/lib/grid/row.js +1 -1
  45. package/lib/select/select.js +2 -2
  46. package/lib/select/style/index.css +1 -0
  47. package/lib/select/style/index.less +1 -0
  48. package/lib/select/style/token.less +1 -0
  49. package/lib/style/themes/default.less +2 -2
  50. package/lib/tabs/style/index.css +3 -0
  51. package/lib/tabs/style/index.less +3 -0
  52. package/lib/tabs/style/token.less +1 -0
  53. package/package.json +1 -1
@@ -6,6 +6,7 @@
6
6
  @cascader-height: var(~'@{cascader-prefix}-sizing-height', 192px);
7
7
  @cascader-menu-min-width: var(~'@{cascader-prefix}-menu-sizing-min-width', 116px);
8
8
  @cascader-menu-item-height: var(~'@{cascader-prefix}-menu-item-sizing-height', 32px);
9
+ @cascader-menu-item-label-width: var(~'@{cascader-prefix}-menu-item-label-sizing-width', 72px);
9
10
 
10
11
  // spacing
11
12
  @cascader-menu-padding-vertical: var(~'@{cascader-prefix}-menu-spacing-padding-vertical', 8px);
@@ -24,8 +24,16 @@ var _index = require("../index");
24
24
  var _usePopper = _interopRequireDefault(require("../_utils/usePopper"));
25
25
  var _option = _interopRequireDefault(require("./option"));
26
26
  var _escapeRegExp = _interopRequireDefault(require("lodash/escapeRegExp"));
27
+ var _KeyCode = _interopRequireDefault(require("../_utils/KeyCode"));
28
+ var _isObject = _interopRequireDefault(require("lodash/isObject"));
27
29
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
28
30
  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; }
31
+ var getCityId = function getCityId(data) {
32
+ if ((0, _isObject.default)(data)) {
33
+ return data === null || data === void 0 ? void 0 : data.id;
34
+ }
35
+ return data;
36
+ };
29
37
  var InternalSelect = function InternalSelect(props, ref) {
30
38
  var _context, _classNames3, _classNames5;
31
39
  var _useContext = (0, _react.useContext)(_ConfigContext.default),
@@ -75,8 +83,8 @@ var InternalSelect = function InternalSelect(props, ref) {
75
83
  itemRender = selectProps.itemRender,
76
84
  onTabPaneChange = selectProps.onTabPaneChange;
77
85
  var _useMergedState = (0, _hooks.useMergedState)(undefined, {
78
- value: value,
79
- defaultValue: defaultValue
86
+ value: getCityId(value),
87
+ defaultValue: getCityId(defaultValue)
80
88
  }),
81
89
  _useMergedState2 = (0, _slicedToArray2.default)(_useMergedState, 2),
82
90
  initValue = _useMergedState2[0],
@@ -93,6 +101,7 @@ var InternalSelect = function InternalSelect(props, ref) {
93
101
  var searchRef = (0, _react.useRef)(null); // 搜索框ref
94
102
  var selectionRef = (0, _react.useRef)(null);
95
103
  var clearRef = (0, _react.useRef)(null);
104
+ var optionsListRef = (0, _react.useRef)(null);
96
105
  var _useState = (0, _react.useState)(typeof props.visible === 'undefined' ? !!defaultOpen : !!props.visible),
97
106
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
98
107
  optionShow = _useState2[0],
@@ -124,6 +133,10 @@ var InternalSelect = function InternalSelect(props, ref) {
124
133
  (0, _react.useEffect)(function () {
125
134
  var _context2;
126
135
  if (typeof value === 'undefined') return;
136
+ if ((0, _isObject.default)(value)) {
137
+ setSeletedCity(value);
138
+ return;
139
+ }
127
140
  var cityList = (0, _concat.default)(_context2 = []).call(_context2, (0, _toConsumableArray2.default)(commonList), (0, _toConsumableArray2.default)(domesticList), (0, _toConsumableArray2.default)(foreignList));
128
141
  var city = (0, _find.default)(cityList).call(cityList, function (city) {
129
142
  return city.id === value;
@@ -224,6 +237,7 @@ var InternalSelect = function InternalSelect(props, ref) {
224
237
  };
225
238
  var handleOption = function handleOption(city) {
226
239
  handleVisibleChange(false);
240
+ city.type = tabsValue === 'domestic' ? 'domestic' : 'foreign';
227
241
  (city === null || city === void 0 ? void 0 : city.id) !== initValue && (onChange === null || onChange === void 0 ? void 0 : onChange(city === null || city === void 0 ? void 0 : city.id, city));
228
242
  if (typeof value === 'undefined') {
229
243
  setSeletedCity(city);
@@ -236,8 +250,9 @@ var InternalSelect = function InternalSelect(props, ref) {
236
250
  return renderNotContent(notContent);
237
251
  }
238
252
  return /*#__PURE__*/_react.default.createElement("div", {
239
- className: "".concat(selectPrefixCls, "-list")
240
- }, (0, _map.default)(data).call(data, function (item) {
253
+ className: "".concat(selectPrefixCls, "-list"),
254
+ ref: optionsListRef
255
+ }, (0, _map.default)(data).call(data, function (item, index) {
241
256
  return /*#__PURE__*/_react.default.createElement(_option.default, {
242
257
  key: item.id,
243
258
  value: initValue,
@@ -247,7 +262,12 @@ var InternalSelect = function InternalSelect(props, ref) {
247
262
  return _renderCityInfo(data, isCommon, flag);
248
263
  },
249
264
  onChangeSelect: handleOption,
250
- itemRender: itemRender
265
+ itemRender: itemRender,
266
+ activeIndex: activeIndex,
267
+ index: index,
268
+ onChangeActiveIndex: function onChangeActiveIndex(i) {
269
+ setActiveIndex(i);
270
+ }
251
271
  }, searchValue ? getHighlightText(item === null || item === void 0 ? void 0 : item.name, (item === null || item === void 0 ? void 0 : item[optionHighlightProps]) || searchValue) : item === null || item === void 0 ? void 0 : item.name);
252
272
  }));
253
273
  };
@@ -283,12 +303,22 @@ var InternalSelect = function InternalSelect(props, ref) {
283
303
  var symbol = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ', ';
284
304
  if (!data) return null;
285
305
  if (isDomestic(type)) {
286
- var _context3;
287
- var curVal = tabsValue === 'domestic' || isCommon ? data === null || data === void 0 ? void 0 : data.province : data === null || data === void 0 ? void 0 : data.country;
288
- return (0, _concat.default)(_context3 = "".concat(flag && curVal ? symbol : '')).call(_context3, curVal);
306
+ var _context5;
307
+ if (isCommon) {
308
+ var _context3;
309
+ var _curVal = (data === null || data === void 0 ? void 0 : data.province) ? data === null || data === void 0 ? void 0 : data.province : data === null || data === void 0 ? void 0 : data.country;
310
+ return (0, _concat.default)(_context3 = "".concat(flag && _curVal ? symbol : '')).call(_context3, _curVal);
311
+ }
312
+ if (data === null || data === void 0 ? void 0 : data.type) {
313
+ var _context4;
314
+ var _curVal2 = data.type === 'domestic' ? (data === null || data === void 0 ? void 0 : data.province) || (data === null || data === void 0 ? void 0 : data.country) : data === null || data === void 0 ? void 0 : data.country;
315
+ return (0, _concat.default)(_context4 = "".concat(flag && _curVal2 ? symbol : '')).call(_context4, _curVal2);
316
+ }
317
+ var curVal = tabsValue === 'domestic' ? (data === null || data === void 0 ? void 0 : data.province) || (data === null || data === void 0 ? void 0 : data.country) : data === null || data === void 0 ? void 0 : data.country;
318
+ return (0, _concat.default)(_context5 = "".concat(flag && curVal ? symbol : '')).call(_context5, curVal);
289
319
  } else {
290
- var _context4, _context5, _context6;
291
- return (0, _concat.default)(_context4 = (0, _concat.default)(_context5 = (0, _concat.default)(_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);
320
+ var _context6, _context7, _context8;
321
+ return (0, _concat.default)(_context6 = (0, _concat.default)(_context7 = (0, _concat.default)(_context8 = "".concat(flag && ((data === null || data === void 0 ? void 0 : data.province) || (data === null || data === void 0 ? void 0 : data.country)) ? symbol : '')).call(_context8, data === null || data === void 0 ? void 0 : data.province)).call(_context7, (data === null || data === void 0 ? void 0 : data.country) && (data === null || data === void 0 ? void 0 : data.province) ? symbol : '')).call(_context6, data === null || data === void 0 ? void 0 : data.country);
292
322
  }
293
323
  }, [type, tabsValue]);
294
324
  var renderSingle = function renderSingle() {
@@ -340,6 +370,81 @@ var InternalSelect = function InternalSelect(props, ref) {
340
370
  (_a = clearRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('mouseup', fn);
341
371
  };
342
372
  }, [initValue]);
373
+ // keyboard
374
+ var curkeyboardList = (0, _react.useMemo)(function () {
375
+ if (!searchValue) {
376
+ return commonList;
377
+ } else if (tabsValue === 'domestic') {
378
+ return domesticList;
379
+ } else {
380
+ return foreignList;
381
+ }
382
+ }, [commonList, domesticList, foreignList, searchValue, tabsValue]);
383
+ var getActiveIndex = function getActiveIndex(index) {
384
+ var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
385
+ var len = curkeyboardList.length;
386
+ for (var i = 0; i < len; i += 1) {
387
+ var current = (index + i * offset + len) % len;
388
+ return current;
389
+ }
390
+ return -1;
391
+ };
392
+ var _useState11 = (0, _react.useState)(getActiveIndex(0)),
393
+ _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
394
+ activeIndex = _useState12[0],
395
+ setActiveIndex = _useState12[1];
396
+ var initActiveIndex = function initActiveIndex() {
397
+ setActiveIndex(getActiveIndex(0));
398
+ };
399
+ (0, _react.useEffect)(function () {
400
+ initActiveIndex();
401
+ }, [searchValue, tabsValue]);
402
+ var onInternalKeyDown = function onInternalKeyDown(e) {
403
+ var _a, _b, _c;
404
+ var which = e.which;
405
+ // open
406
+ if (which === _KeyCode.default.ENTER || which === _KeyCode.default.UP || which === _KeyCode.default.DOWN) {
407
+ e.preventDefault();
408
+ setOptionShow(true);
409
+ }
410
+ // up、down、enter、esc
411
+ if (optionShow) {
412
+ var offset = 0;
413
+ switch (which) {
414
+ case _KeyCode.default.UP:
415
+ offset = -1;
416
+ break;
417
+ case _KeyCode.default.DOWN:
418
+ offset = 1;
419
+ break;
420
+ case _KeyCode.default.ENTER:
421
+ {
422
+ var item = curkeyboardList[activeIndex];
423
+ if (!item) return;
424
+ handleOption(item);
425
+ setOptionShow(false);
426
+ break;
427
+ }
428
+ case _KeyCode.default.ESC:
429
+ setOptionShow(false);
430
+ break;
431
+ default:
432
+ break;
433
+ }
434
+ if (offset !== 0) {
435
+ var nextActiveIndex = getActiveIndex(activeIndex + offset, offset);
436
+ var curDom = (_b = (_a = optionsListRef.current) === null || _a === void 0 ? void 0 : _a.children) === null || _b === void 0 ? void 0 : _b[nextActiveIndex];
437
+ if (curDom) {
438
+ (_c = optionsListRef.current) === null || _c === void 0 ? void 0 : _c.children[nextActiveIndex].scrollIntoView({
439
+ behavior: 'auto',
440
+ block: 'nearest'
441
+ });
442
+ }
443
+ setActiveIndex(nextActiveIndex);
444
+ e.preventDefault();
445
+ }
446
+ }
447
+ };
343
448
  var renderCityPicker = function renderCityPicker() {
344
449
  return /*#__PURE__*/_react.default.createElement("div", {
345
450
  className: cityPickerCls,
@@ -357,7 +462,8 @@ var InternalSelect = function InternalSelect(props, ref) {
357
462
  onBlur: function onBlur() {
358
463
  var _a;
359
464
  return (_a = searchRef.current) === null || _a === void 0 ? void 0 : _a.blur();
360
- }
465
+ },
466
+ onKeyDown: onInternalKeyDown
361
467
  }, renderSingle()));
362
468
  };
363
469
  var catchStyle = function catchStyle() {
@@ -375,6 +481,9 @@ var InternalSelect = function InternalSelect(props, ref) {
375
481
  }
376
482
  };
377
483
  var handleVisibleChange = function handleVisibleChange(visible) {
484
+ if (!visible) {
485
+ initActiveIndex();
486
+ }
378
487
  if (visible !== optionShow) {
379
488
  props.visible === undefined && setOptionShow(visible);
380
489
  onVisibleChange && onVisibleChange(visible);
@@ -4,6 +4,7 @@ export declare type City = {
4
4
  country?: string;
5
5
  province?: string;
6
6
  name?: string;
7
+ type?: 'domestic' | 'foreign';
7
8
  [key: string]: any;
8
9
  };
9
10
  export declare const BorderTypes: ["none", "underline", "bordered"];
@@ -33,7 +34,7 @@ export interface CityPickerProps {
33
34
  clearIcon?: React.ReactNode;
34
35
  suffixIcon?: React.ReactNode;
35
36
  optionHighlightProps?: string;
36
- value?: string | number;
37
+ value?: string | number | City;
37
38
  defaultValue?: string | number;
38
39
  description?: React.ReactNode;
39
40
  showDescription?: boolean;
@@ -52,7 +53,10 @@ export interface ICityPickerOptionProps {
52
53
  children?: React.ReactNode;
53
54
  className?: string;
54
55
  style?: React.CSSProperties;
56
+ activeIndex?: number;
57
+ index: number;
55
58
  onChangeSelect?: (city: City | null) => void;
56
59
  renderCityInfo?: (city: City, flag?: boolean, symbol?: string) => React.ReactNode;
57
60
  itemRender?: (city: City) => React.ReactNode;
61
+ onChangeActiveIndex?: (index: number) => void;
58
62
  }
@@ -21,11 +21,14 @@ var InternalOption = function InternalOption(props, ref) {
21
21
  value = props.value,
22
22
  disabled = props.disabled,
23
23
  className = props.className,
24
+ activeIndex = props.activeIndex,
25
+ index = props.index,
24
26
  onChangeSelect = props.onChangeSelect,
25
27
  _props$city = props.city,
26
28
  city = _props$city === void 0 ? {} : _props$city,
27
29
  renderCityInfo = props.renderCityInfo,
28
- itemRender = props.itemRender;
30
+ itemRender = props.itemRender,
31
+ onChangeActiveIndex = props.onChangeActiveIndex;
29
32
  var id = city.id,
30
33
  name = city.name;
31
34
  var _useContext = (0, _react.useContext)(_ConfigContext.default),
@@ -33,17 +36,25 @@ var InternalOption = function InternalOption(props, ref) {
33
36
  prefixCls = _useContext.prefixCls;
34
37
  var selectOptionPrefixCls = getPrefixCls(prefixCls, 'city-picker-list-item');
35
38
  var isSelected = id !== undefined ? id === value : false;
36
- var optionCls = (0, _classnames.default)(selectOptionPrefixCls, className, (_classNames = {}, (0, _defineProperty2.default)(_classNames, "".concat(selectOptionPrefixCls, "-selected"), isSelected), (0, _defineProperty2.default)(_classNames, "".concat(selectOptionPrefixCls, "-disabled"), disabled), _classNames));
39
+ var optionCls = (0, _classnames.default)(selectOptionPrefixCls, className, (_classNames = {}, (0, _defineProperty2.default)(_classNames, "".concat(selectOptionPrefixCls, "-selected"), isSelected), (0, _defineProperty2.default)(_classNames, "".concat(selectOptionPrefixCls, "-disabled"), disabled), (0, _defineProperty2.default)(_classNames, "".concat(selectOptionPrefixCls, "-active"), activeIndex === index), _classNames));
37
40
  var handleClick = function handleClick(e) {
38
41
  e.preventDefault();
39
42
  if (disabled || id === undefined) return;
40
43
  onChangeSelect === null || onChangeSelect === void 0 ? void 0 : onChangeSelect(city);
41
44
  };
45
+ var handleOnMouseEnter = function handleOnMouseEnter() {
46
+ onChangeActiveIndex && onChangeActiveIndex(index);
47
+ };
48
+ var handleOnMouseLeave = function handleOnMouseLeave() {
49
+ onChangeActiveIndex && onChangeActiveIndex(-1);
50
+ };
42
51
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
43
52
  ref: optionRef,
44
53
  className: optionCls,
45
54
  title: name,
46
- onClick: handleClick
55
+ onClick: handleClick,
56
+ onMouseEnter: handleOnMouseEnter,
57
+ onMouseLeave: handleOnMouseLeave
47
58
  }, typeof itemRender === 'function' ? itemRender(city) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
48
59
  className: "".concat(selectOptionPrefixCls, "-content")
49
60
  }, children), /*#__PURE__*/_react.default.createElement("span", {
@@ -166,6 +166,7 @@
166
166
  opacity: 0;
167
167
  z-index: 1;
168
168
  position: absolute;
169
+ top: 0;
169
170
  background: #fff;
170
171
  -webkit-transition: opacity 0.15s ease;
171
172
  transition: opacity 0.15s ease;
@@ -181,6 +182,14 @@
181
182
  text-overflow: ellipsis;
182
183
  right: 24px;
183
184
  left: 0;
185
+ top: 0;
186
+ bottom: 0;
187
+ display: -webkit-box;
188
+ display: -ms-flexbox;
189
+ display: flex;
190
+ -webkit-box-align: center;
191
+ -ms-flex-align: center;
192
+ align-items: center;
184
193
  }
185
194
  .kd-city-picker-borderless {
186
195
  border: none;
@@ -312,6 +321,15 @@
312
321
  -ms-flex-pack: center;
313
322
  justify-content: center;
314
323
  }
324
+ .kd-city-picker-dropdown.topLeft.hidden,
325
+ .kd-city-picker-dropdown.bottomLeft.hidden,
326
+ .kd-city-picker-dropdown.topRight.hidden,
327
+ .kd-city-picker-dropdown.bottomRight.hidden {
328
+ opacity: 0;
329
+ visibility: hidden;
330
+ -webkit-transition: all calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1);
331
+ transition: all calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1);
332
+ }
315
333
  .kd-city-picker-list {
316
334
  padding: 8px 0;
317
335
  max-height: 320px;
@@ -337,7 +355,7 @@
337
355
  color: var(--kd-c-city-picker-placeholder-color-text, #b2b2b2);
338
356
  white-space: nowrap;
339
357
  }
340
- .kd-city-picker-list-item:hover {
358
+ .kd-city-picker-list-item-active:not(.kd-city-picker-list-item-disabled) {
341
359
  background-color: var(--kd-c-city-picker-color-background, #f5f5f5);
342
360
  }
343
361
  .kd-city-picker-list-item-selected:not(.kd-city-picker-list-item-disabled) {
@@ -378,6 +396,8 @@
378
396
  }
379
397
  .kd-city-picker-suffix {
380
398
  right: 0;
399
+ top: 0;
400
+ bottom: 0;
381
401
  position: absolute;
382
402
  display: -webkit-box;
383
403
  display: -ms-flexbox;
@@ -458,12 +478,3 @@
458
478
  white-space: nowrap;
459
479
  text-overflow: ellipsis;
460
480
  }
461
- .kd-city-picker.topLeft.hidden,
462
- .kd-city-picker.bottomLeft.hidden,
463
- .kd-city-picker.topRight.hidden,
464
- .kd-city-picker.bottomRight.hidden {
465
- opacity: 0;
466
- visibility: hidden;
467
- -webkit-transition: all calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1);
468
- transition: all calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1);
469
- }
@@ -58,6 +58,7 @@
58
58
  opacity: 0;
59
59
  z-index: 1;
60
60
  position: absolute;
61
+ top: 0;
61
62
  background: #fff;
62
63
  transition: opacity 0.15s ease;
63
64
  &:hover {
@@ -74,6 +75,10 @@
74
75
  text-overflow: ellipsis;
75
76
  right: 24px;
76
77
  left: 0;
78
+ top: 0;
79
+ bottom: 0;
80
+ display: flex;
81
+ align-items: center;
77
82
  }
78
83
 
79
84
  &-borderless {
@@ -202,6 +207,15 @@
202
207
  align-items: center;
203
208
  justify-content: center;
204
209
  }
210
+
211
+ &.topLeft.hidden,
212
+ &.bottomLeft.hidden,
213
+ &.topRight.hidden,
214
+ &.bottomRight.hidden {
215
+ opacity: 0;
216
+ visibility: hidden;
217
+ transition: all calc(@transition-duration - 0.1s) @ease;
218
+ }
205
219
  }
206
220
 
207
221
  &-list {
@@ -221,7 +235,7 @@
221
235
  white-space: nowrap;
222
236
  }
223
237
 
224
- &:hover {
238
+ &-active:not(&-disabled) {
225
239
  background-color: @city-picker-item-active-bg;
226
240
  }
227
241
 
@@ -268,6 +282,8 @@
268
282
 
269
283
  &-suffix {
270
284
  right: 0;
285
+ top: 0;
286
+ bottom: 0;
271
287
  position: absolute;
272
288
  display: flex;
273
289
  flex: 0;
@@ -337,13 +353,4 @@
337
353
  .over();
338
354
  }
339
355
  }
340
-
341
- &.topLeft.hidden,
342
- &.bottomLeft.hidden,
343
- &.topRight.hidden,
344
- &.bottomRight.hidden {
345
- opacity: 0;
346
- visibility: hidden;
347
- transition: all calc(@transition-duration - 0.1s) @ease;
348
- }
349
356
  }
package/lib/grid/col.js CHANGED
@@ -41,7 +41,7 @@ var Col = function Col(props) {
41
41
  className = _getCompProps.className,
42
42
  customPrefixcls = _getCompProps.prefixCls;
43
43
  // 浏览器名称
44
- var isSogou = (0, _testBrowserType.testBrowserType)(/^sogou/i, 0);
44
+ var isSogou = (0, _testBrowserType.testBrowserType)(/^sogou/i, 0) || /Trident|MSIE/.test(navigator.userAgent);
45
45
  // className前缀
46
46
  var prefixCls = getPrefixCls(pkgPrefixCls, 'col', customPrefixcls);
47
47
  var columns = 24;
package/lib/grid/row.js CHANGED
@@ -50,7 +50,7 @@ var Row = function Row(props) {
50
50
  justify = _getCompProps.justify,
51
51
  customPrefixcls = _getCompProps.prefixCls;
52
52
  // 浏览器名称
53
- var isSogou = (0, _testBrowserType.testBrowserType)(/^sogou/i, 0);
53
+ var isSogou = (0, _testBrowserType.testBrowserType)(/^sogou/i, 0) || /Trident|MSIE/.test(navigator.userAgent);
54
54
  // className前缀
55
55
  var prefixCls = getPrefixCls(pkgPrefixCls, 'row', customPrefixcls);
56
56
  var _React$useState = React.useState(window.innerWidth),
@@ -641,9 +641,9 @@ var InternalSelect = function InternalSelect(props, ref) {
641
641
  onFocus: handleFocus,
642
642
  onBlur: handleBlur,
643
643
  readOnly: !isShowSearch || !!disabled
644
- })), singleVal && !searchValue && /*#__PURE__*/_react.default.createElement("span", {
644
+ })), singleVal && !searchValue ? /*#__PURE__*/_react.default.createElement("span", {
645
645
  className: "".concat(selectPrefixCls, "-selection-item")
646
- }, singleVal), /*#__PURE__*/_react.default.createElement("span", {
646
+ }, singleVal) : null, /*#__PURE__*/_react.default.createElement("span", {
647
647
  className: "".concat(selectPrefixCls, "-placeholder"),
648
648
  style: hiddenStyle
649
649
  }, placeholder), /*#__PURE__*/_react.default.createElement("span", {
@@ -405,6 +405,7 @@
405
405
  min-width: 75px;
406
406
  }
407
407
  .kd-select-item-option-content {
408
+ max-width: var(--kd-c-select-item-sizing-max-width);
408
409
  overflow: hidden;
409
410
  white-space: nowrap;
410
411
  text-overflow: ellipsis;
@@ -176,6 +176,7 @@
176
176
  min-width: 75px;
177
177
 
178
178
  &-content {
179
+ max-width: @select-item-max-width;
179
180
  .over();
180
181
 
181
182
  .@{kd-prefix}-checkbox {
@@ -40,6 +40,7 @@
40
40
  @select-large-height: var(~'@{select-custom-prefix}-sizing-height-large', 36px); // 大号高度 lh:28px
41
41
  @select-middle-height: var(~'@{select-custom-prefix}-sizing-height-middle', 30px); // 中号高度lh:22px
42
42
  @select-small-height: var(~'@{select-custom-prefix}-sizing-height-small', 24px); // 小号高度lh:12px
43
+ @select-item-max-width: var(~'@{select-custom-prefix}-item-sizing-max-width');
43
44
 
44
45
  // spacing
45
46
  @select-bordered: var(~'@{select-custom-prefix}-bordered-spacing-padding-left', 8px);
@@ -282,7 +282,7 @@
282
282
  @radio-border-width: 1px;
283
283
  @radio-margin-right: 8px;
284
284
  @radio-transition-fn: cubic-bezier(0.075, 0.82, 0.165, 1);
285
- @radio-circle-size: 13px;
285
+ @radio-circle-size: 14px;
286
286
  @radio-square-height: 32px;
287
287
  @radio-square-padding: 0 20px;
288
288
  @radio-button-height: 24px;
@@ -706,4 +706,4 @@
706
706
  @advancedSelector-dropdown-options-height: 32px;
707
707
  @advancedSelector-hover-bg: @hover-color;
708
708
 
709
- /* ----------- AdvancedSelector ——————---- end */
709
+ /* ----------- AdvancedSelector ——————---- end */
@@ -380,6 +380,9 @@
380
380
  display: inline-block;
381
381
  -webkit-transition: color var(--kd-c-tabs-motion-duration, var(--kd-g-duration, 0.3s));
382
382
  transition: color var(--kd-c-tabs-motion-duration, var(--kd-g-duration, 0.3s));
383
+ overflow: hidden;
384
+ text-overflow: ellipsis;
385
+ max-width: var(--kd-c-tabs-pane-text-sizing-max-width);
383
386
  }
384
387
  .kd-tab-pane-text-active,
385
388
  .kd-tab-pane-text:hover {
@@ -216,6 +216,9 @@
216
216
  &-text {
217
217
  display: inline-block;
218
218
  transition: color @tab-g-motion-duration;
219
+ overflow: hidden;
220
+ text-overflow: ellipsis;
221
+ max-width: @tab-pane-text-max-width;
219
222
  &-active,
220
223
  &:hover {
221
224
  color: @tabPane-font-color-active;
@@ -29,6 +29,7 @@
29
29
  @tab-pane-type-line-height-small: var(~'@{tabs-custom-prefix}-pane-type-line-sizing-height-small', 32px);
30
30
  @tab-pane-type-line-height-middle: var(~'@{tabs-custom-prefix}-pane-type-line-sizing-height-middle', 32px);
31
31
  @tab-pane-type-dynamic-height: var(~'@{tabs-custom-prefix}-pane-type-dynamic-sizing-height', 32px);
32
+ @tab-pane-text-max-width: var(~'@{tabs-custom-prefix}-pane-text-sizing-max-width');
32
33
 
33
34
 
34
35
  // spacing
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kdcloudjs/kdesign",
3
- "version": "1.7.26",
3
+ "version": "1.7.28",
4
4
  "description": "KDesign 金蝶前端react 组件库",
5
5
  "title": "kdesign",
6
6
  "keywords": [