@kdcloudjs/kdesign 1.7.26 → 1.7.27

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 (44) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/kdesign-complete.less +21 -13
  3. package/dist/kdesign.css +18 -14
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +114 -9
  6. package/dist/kdesign.js.map +1 -1
  7. package/dist/kdesign.min.css +3 -3
  8. package/dist/kdesign.min.js +2 -2
  9. package/dist/kdesign.min.js.map +1 -1
  10. package/es/anchor/style/index.css +1 -1
  11. package/es/anchor/style/index.less +1 -1
  12. package/es/anchor/style/token.less +1 -0
  13. package/es/cascader/style/index.css +2 -2
  14. package/es/cascader/style/index.less +2 -2
  15. package/es/cascader/style/token.less +1 -0
  16. package/es/city-picker/city-picker.js +102 -10
  17. package/es/city-picker/interface.d.ts +3 -0
  18. package/es/city-picker/option.js +14 -3
  19. package/es/city-picker/style/index.css +10 -10
  20. package/es/city-picker/style/index.less +10 -10
  21. package/es/select/style/index.css +1 -0
  22. package/es/select/style/index.less +1 -0
  23. package/es/select/style/token.less +1 -0
  24. package/es/tabs/style/index.css +3 -0
  25. package/es/tabs/style/index.less +3 -0
  26. package/es/tabs/style/token.less +1 -0
  27. package/lib/anchor/style/index.css +1 -1
  28. package/lib/anchor/style/index.less +1 -1
  29. package/lib/anchor/style/token.less +1 -0
  30. package/lib/cascader/style/index.css +2 -2
  31. package/lib/cascader/style/index.less +2 -2
  32. package/lib/cascader/style/token.less +1 -0
  33. package/lib/city-picker/city-picker.js +101 -9
  34. package/lib/city-picker/interface.d.ts +3 -0
  35. package/lib/city-picker/option.js +14 -3
  36. package/lib/city-picker/style/index.css +10 -10
  37. package/lib/city-picker/style/index.less +10 -10
  38. package/lib/select/style/index.css +1 -0
  39. package/lib/select/style/index.less +1 -0
  40. package/lib/select/style/token.less +1 -0
  41. package/lib/tabs/style/index.css +3 -0
  42. package/lib/tabs/style/index.less +3 -0
  43. package/lib/tabs/style/token.less +1 -0
  44. package/package.json +1 -1
package/dist/kdesign.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * @kdcloudjs/kdesign v1.7.25
3
+ * @kdcloudjs/kdesign v1.7.26
4
4
  *
5
5
  * Copyright 2020-present, Kingdee, Inc.
6
6
  * All rights reserved.
@@ -7516,6 +7516,7 @@ __webpack_require__.r(__webpack_exports__);
7516
7516
  /* harmony import */ var _option__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./option */ "./components/city-picker/option.tsx");
7517
7517
  /* harmony import */ var lodash_escapeRegExp__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! lodash/escapeRegExp */ "./node_modules/lodash/escapeRegExp.js");
7518
7518
  /* harmony import */ var lodash_escapeRegExp__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(lodash_escapeRegExp__WEBPACK_IMPORTED_MODULE_28__);
7519
+ /* harmony import */ var _utils_KeyCode__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../_utils/KeyCode */ "./components/_utils/KeyCode.ts");
7519
7520
 
7520
7521
 
7521
7522
 
@@ -7545,6 +7546,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
7545
7546
 
7546
7547
 
7547
7548
 
7549
+
7548
7550
 
7549
7551
 
7550
7552
  var InternalSelect = function InternalSelect(props, ref) {
@@ -7614,6 +7616,7 @@ var InternalSelect = function InternalSelect(props, ref) {
7614
7616
  var searchRef = Object(react__WEBPACK_IMPORTED_MODULE_20__["useRef"])(null); // 搜索框ref
7615
7617
  var selectionRef = Object(react__WEBPACK_IMPORTED_MODULE_20__["useRef"])(null);
7616
7618
  var clearRef = Object(react__WEBPACK_IMPORTED_MODULE_20__["useRef"])(null);
7619
+ var optionsListRef = Object(react__WEBPACK_IMPORTED_MODULE_20__["useRef"])(null);
7617
7620
  var _useState = Object(react__WEBPACK_IMPORTED_MODULE_20__["useState"])(typeof props.visible === 'undefined' ? !!defaultOpen : !!props.visible),
7618
7621
  _useState2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2___default()(_useState, 2),
7619
7622
  optionShow = _useState2[0],
@@ -7762,8 +7765,9 @@ var InternalSelect = function InternalSelect(props, ref) {
7762
7765
  return renderNotContent(notContent);
7763
7766
  }
7764
7767
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_20___default.a.createElement("div", {
7765
- className: "".concat(selectPrefixCls, "-list")
7766
- }, data.map(function (item) {
7768
+ className: "".concat(selectPrefixCls, "-list"),
7769
+ ref: optionsListRef
7770
+ }, data.map(function (item, index) {
7767
7771
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_20___default.a.createElement(_option__WEBPACK_IMPORTED_MODULE_27__["default"], {
7768
7772
  key: item.id,
7769
7773
  value: initValue,
@@ -7773,7 +7777,12 @@ var InternalSelect = function InternalSelect(props, ref) {
7773
7777
  return _renderCityInfo(data, isCommon, flag);
7774
7778
  },
7775
7779
  onChangeSelect: handleOption,
7776
- itemRender: itemRender
7780
+ itemRender: itemRender,
7781
+ activeIndex: activeIndex,
7782
+ index: index,
7783
+ onChangeActiveIndex: function onChangeActiveIndex(i) {
7784
+ setActiveIndex(i);
7785
+ }
7777
7786
  }, 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);
7778
7787
  }));
7779
7788
  };
@@ -7810,7 +7819,11 @@ var InternalSelect = function InternalSelect(props, ref) {
7810
7819
  var symbol = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ', ';
7811
7820
  if (!data) return null;
7812
7821
  if (isDomestic(type)) {
7813
- var curVal = tabsValue === 'domestic' || isCommon ? data === null || data === void 0 ? void 0 : data.province : data === null || data === void 0 ? void 0 : data.country;
7822
+ if (isCommon) {
7823
+ var _curVal = data !== null && data !== void 0 && data.province ? data === null || data === void 0 ? void 0 : data.province : data === null || data === void 0 ? void 0 : data.country;
7824
+ return "".concat(flag && _curVal ? symbol : '').concat(_curVal);
7825
+ }
7826
+ var curVal = tabsValue === 'domestic' ? data === null || data === void 0 ? void 0 : data.province : data === null || data === void 0 ? void 0 : data.country;
7814
7827
  return "".concat(flag && curVal ? symbol : '').concat(curVal);
7815
7828
  } else {
7816
7829
  return "".concat(flag && (data !== null && data !== void 0 && data.province || data !== null && data !== void 0 && data.country) ? symbol : '').concat(data === null || data === void 0 ? void 0 : data.province).concat(data !== null && data !== void 0 && data.country && data !== null && data !== void 0 && data.province ? symbol : '').concat(data === null || data === void 0 ? void 0 : data.country);
@@ -7865,6 +7878,83 @@ var InternalSelect = function InternalSelect(props, ref) {
7865
7878
  (_clearRef$current2 = clearRef.current) === null || _clearRef$current2 === void 0 ? void 0 : _clearRef$current2.removeEventListener('mouseup', fn);
7866
7879
  };
7867
7880
  }, [initValue]);
7881
+
7882
+ // keyboard
7883
+ var curkeyboardList = Object(react__WEBPACK_IMPORTED_MODULE_20__["useMemo"])(function () {
7884
+ if (!searchValue) {
7885
+ return commonList;
7886
+ } else if (tabsValue === 'domestic') {
7887
+ return domesticList;
7888
+ } else {
7889
+ return foreignList;
7890
+ }
7891
+ }, [commonList, domesticList, foreignList, searchValue, tabsValue]);
7892
+ var getActiveIndex = function getActiveIndex(index) {
7893
+ var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
7894
+ var len = curkeyboardList.length;
7895
+ for (var i = 0; i < len; i += 1) {
7896
+ var current = (index + i * offset + len) % len;
7897
+ return current;
7898
+ }
7899
+ return -1;
7900
+ };
7901
+ var _useState11 = Object(react__WEBPACK_IMPORTED_MODULE_20__["useState"])(getActiveIndex(0)),
7902
+ _useState12 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2___default()(_useState11, 2),
7903
+ activeIndex = _useState12[0],
7904
+ setActiveIndex = _useState12[1];
7905
+ var initActiveIndex = function initActiveIndex() {
7906
+ setActiveIndex(getActiveIndex(0));
7907
+ };
7908
+ Object(react__WEBPACK_IMPORTED_MODULE_20__["useEffect"])(function () {
7909
+ initActiveIndex();
7910
+ }, [searchValue, tabsValue]);
7911
+ var onInternalKeyDown = function onInternalKeyDown(e) {
7912
+ var which = e.which;
7913
+ // open
7914
+ if (which === _utils_KeyCode__WEBPACK_IMPORTED_MODULE_29__["default"].ENTER || which === _utils_KeyCode__WEBPACK_IMPORTED_MODULE_29__["default"].UP || which === _utils_KeyCode__WEBPACK_IMPORTED_MODULE_29__["default"].DOWN) {
7915
+ e.preventDefault();
7916
+ setOptionShow(true);
7917
+ }
7918
+ // up、down、enter、esc
7919
+ if (optionShow) {
7920
+ var offset = 0;
7921
+ switch (which) {
7922
+ case _utils_KeyCode__WEBPACK_IMPORTED_MODULE_29__["default"].UP:
7923
+ offset = -1;
7924
+ break;
7925
+ case _utils_KeyCode__WEBPACK_IMPORTED_MODULE_29__["default"].DOWN:
7926
+ offset = 1;
7927
+ break;
7928
+ case _utils_KeyCode__WEBPACK_IMPORTED_MODULE_29__["default"].ENTER:
7929
+ {
7930
+ var item = curkeyboardList[activeIndex];
7931
+ if (!item) return;
7932
+ handleOption(item);
7933
+ setOptionShow(false);
7934
+ break;
7935
+ }
7936
+ case _utils_KeyCode__WEBPACK_IMPORTED_MODULE_29__["default"].ESC:
7937
+ setOptionShow(false);
7938
+ break;
7939
+ default:
7940
+ break;
7941
+ }
7942
+ if (offset !== 0) {
7943
+ var _optionsListRef$curre, _optionsListRef$curre2;
7944
+ var nextActiveIndex = getActiveIndex(activeIndex + offset, offset);
7945
+ var curDom = (_optionsListRef$curre = optionsListRef.current) === null || _optionsListRef$curre === void 0 ? void 0 : (_optionsListRef$curre2 = _optionsListRef$curre.children) === null || _optionsListRef$curre2 === void 0 ? void 0 : _optionsListRef$curre2[nextActiveIndex];
7946
+ if (curDom) {
7947
+ var _optionsListRef$curre3;
7948
+ (_optionsListRef$curre3 = optionsListRef.current) === null || _optionsListRef$curre3 === void 0 ? void 0 : _optionsListRef$curre3.children[nextActiveIndex].scrollIntoView({
7949
+ behavior: 'auto',
7950
+ block: 'nearest'
7951
+ });
7952
+ }
7953
+ setActiveIndex(nextActiveIndex);
7954
+ e.preventDefault();
7955
+ }
7956
+ }
7957
+ };
7868
7958
  var renderCityPicker = function renderCityPicker() {
7869
7959
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_20___default.a.createElement("div", {
7870
7960
  className: cityPickerCls,
@@ -7882,7 +7972,8 @@ var InternalSelect = function InternalSelect(props, ref) {
7882
7972
  onBlur: function onBlur() {
7883
7973
  var _searchRef$current2;
7884
7974
  return (_searchRef$current2 = searchRef.current) === null || _searchRef$current2 === void 0 ? void 0 : _searchRef$current2.blur();
7885
- }
7975
+ },
7976
+ onKeyDown: onInternalKeyDown
7886
7977
  }, renderSingle()));
7887
7978
  };
7888
7979
  var catchStyle = function catchStyle() {
@@ -7900,6 +7991,9 @@ var InternalSelect = function InternalSelect(props, ref) {
7900
7991
  }
7901
7992
  };
7902
7993
  var handleVisibleChange = function handleVisibleChange(visible) {
7994
+ if (!visible) {
7995
+ initActiveIndex();
7996
+ }
7903
7997
  if (visible !== optionShow) {
7904
7998
  props.visible === undefined && setOptionShow(visible);
7905
7999
  onVisibleChange && onVisibleChange(visible);
@@ -7973,11 +8067,14 @@ var InternalOption = function InternalOption(props, ref) {
7973
8067
  value = props.value,
7974
8068
  disabled = props.disabled,
7975
8069
  className = props.className,
8070
+ activeIndex = props.activeIndex,
8071
+ index = props.index,
7976
8072
  onChangeSelect = props.onChangeSelect,
7977
8073
  _props$city = props.city,
7978
8074
  city = _props$city === void 0 ? {} : _props$city,
7979
8075
  renderCityInfo = props.renderCityInfo,
7980
- itemRender = props.itemRender;
8076
+ itemRender = props.itemRender,
8077
+ onChangeActiveIndex = props.onChangeActiveIndex;
7981
8078
  var _ref = city,
7982
8079
  id = _ref.id,
7983
8080
  name = _ref.name;
@@ -7986,17 +8083,25 @@ var InternalOption = function InternalOption(props, ref) {
7986
8083
  prefixCls = _useContext.prefixCls;
7987
8084
  var selectOptionPrefixCls = getPrefixCls(prefixCls, 'city-picker-list-item');
7988
8085
  var isSelected = id !== undefined ? id === value : false;
7989
- var optionCls = classnames__WEBPACK_IMPORTED_MODULE_3___default()(selectOptionPrefixCls, className, (_classNames = {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, "".concat(selectOptionPrefixCls, "-selected"), isSelected), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, "".concat(selectOptionPrefixCls, "-disabled"), disabled), _classNames));
8086
+ var optionCls = classnames__WEBPACK_IMPORTED_MODULE_3___default()(selectOptionPrefixCls, className, (_classNames = {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, "".concat(selectOptionPrefixCls, "-selected"), isSelected), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, "".concat(selectOptionPrefixCls, "-disabled"), disabled), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, "".concat(selectOptionPrefixCls, "-active"), activeIndex === index), _classNames));
7990
8087
  var handleClick = function handleClick(e) {
7991
8088
  e.preventDefault();
7992
8089
  if (disabled || id === undefined) return;
7993
8090
  onChangeSelect === null || onChangeSelect === void 0 ? void 0 : onChangeSelect(city);
7994
8091
  };
8092
+ var handleOnMouseEnter = function handleOnMouseEnter() {
8093
+ onChangeActiveIndex && onChangeActiveIndex(index);
8094
+ };
8095
+ var handleOnMouseLeave = function handleOnMouseLeave() {
8096
+ onChangeActiveIndex && onChangeActiveIndex(-1);
8097
+ };
7995
8098
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_2___default.a.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", {
7996
8099
  ref: optionRef,
7997
8100
  className: optionCls,
7998
8101
  title: name,
7999
- onClick: handleClick
8102
+ onClick: handleClick,
8103
+ onMouseEnter: handleOnMouseEnter,
8104
+ onMouseLeave: handleOnMouseLeave
8000
8105
  }, typeof itemRender === 'function' ? itemRender(city) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_2___default.a.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("span", {
8001
8106
  className: "".concat(selectOptionPrefixCls, "-content")
8002
8107
  }, children), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("span", {