@kdcloudjs/kdesign 1.7.13 → 1.7.14
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.
- package/CHANGELOG.md +29 -0
- package/dist/kdesign-complete.less +1 -0
- package/dist/kdesign.css +2 -1
- package/dist/kdesign.css.map +1 -1
- package/dist/kdesign.js +293 -172
- package/dist/kdesign.js.map +1 -1
- package/dist/kdesign.min.css +2 -2
- package/dist/kdesign.min.js +5 -5
- package/dist/kdesign.min.js.map +1 -1
- package/es/empty/defaultEmptyImg.d.ts +1 -1
- package/es/empty/defaultEmptyImg.js +3 -2
- package/es/empty/empty.js +3 -1
- package/es/empty/illustrationEmptyImg.d.ts +1 -1
- package/es/empty/illustrationEmptyImg.js +3 -2
- package/es/input/style/index.css +1 -0
- package/es/input/style/index.less +1 -0
- package/es/select/option.d.ts +2 -0
- package/es/select/option.js +10 -3
- package/es/select/select.js +119 -12
- package/lib/empty/defaultEmptyImg.d.ts +1 -1
- package/lib/empty/defaultEmptyImg.js +3 -2
- package/lib/empty/empty.js +3 -1
- package/lib/empty/illustrationEmptyImg.d.ts +1 -1
- package/lib/empty/illustrationEmptyImg.js +3 -2
- package/lib/input/style/index.css +1 -0
- package/lib/input/style/index.less +1 -0
- package/lib/select/option.d.ts +2 -0
- package/lib/select/option.js +10 -3
- package/lib/select/select.js +119 -12
- package/package.json +1 -1
package/lib/select/select.js
CHANGED
|
@@ -13,6 +13,7 @@ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable
|
|
|
13
13
|
var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
|
|
14
14
|
var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
|
|
15
15
|
var _splice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/splice"));
|
|
16
|
+
var _findIndex = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find-index"));
|
|
16
17
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
17
18
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
|
|
18
19
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
@@ -28,6 +29,7 @@ var _index = require("../index");
|
|
|
28
29
|
var _option = _interopRequireDefault(require("./option"));
|
|
29
30
|
var _usePopper = _interopRequireDefault(require("../_utils/usePopper"));
|
|
30
31
|
var _virtualList = _interopRequireDefault(require("../virtual-list"));
|
|
32
|
+
var _KeyCode = _interopRequireDefault(require("../_utils/KeyCode"));
|
|
31
33
|
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); }
|
|
32
34
|
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; }
|
|
33
35
|
var INPUT_MIN_WIDTH = 4; // 输入框最小宽度
|
|
@@ -212,13 +214,13 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
212
214
|
onBlur && onBlur(e);
|
|
213
215
|
}, [onBlur]);
|
|
214
216
|
// 点击组件
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
}
|
|
217
|
+
// const handleClick = () => {
|
|
218
|
+
// if (disabled) return
|
|
219
|
+
// if (optionShow) {
|
|
220
|
+
// const { onDropdownVisibleChange } = selectProps
|
|
221
|
+
// onDropdownVisibleChange && onDropdownVisibleChange(true)
|
|
222
|
+
// }
|
|
223
|
+
// }
|
|
222
224
|
(0, _react.useEffect)(function () {
|
|
223
225
|
selectionRef.current.addEventListener('mouseup', function (e) {
|
|
224
226
|
var _a;
|
|
@@ -472,8 +474,12 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
472
474
|
}, child.props, {
|
|
473
475
|
key: index,
|
|
474
476
|
index: index,
|
|
477
|
+
activeIndex: activeIndex,
|
|
475
478
|
onChangeSelect: handleOption,
|
|
476
|
-
values: multipleRef.current.selectedVal
|
|
479
|
+
values: multipleRef.current.selectedVal,
|
|
480
|
+
onChangeActiveIndex: function onChangeActiveIndex(i) {
|
|
481
|
+
setActiveIndex(i);
|
|
482
|
+
}
|
|
477
483
|
}));
|
|
478
484
|
} else {
|
|
479
485
|
return /*#__PURE__*/_react.default.createElement(_option.default, (0, _extends2.default)({
|
|
@@ -481,8 +487,12 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
481
487
|
value: child === null || child === void 0 ? void 0 : child.value,
|
|
482
488
|
key: index,
|
|
483
489
|
index: index,
|
|
490
|
+
activeIndex: activeIndex,
|
|
484
491
|
onChangeSelect: handleOption,
|
|
485
|
-
values: multipleRef.current.selectedVal
|
|
492
|
+
values: multipleRef.current.selectedVal,
|
|
493
|
+
onChangeActiveIndex: function onChangeActiveIndex(i) {
|
|
494
|
+
setActiveIndex(i);
|
|
495
|
+
}
|
|
486
496
|
}, child), (child === null || child === void 0 ? void 0 : child.label) || (child === null || child === void 0 ? void 0 : child.value));
|
|
487
497
|
}
|
|
488
498
|
};
|
|
@@ -511,6 +521,7 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
511
521
|
(_a = searchRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
512
522
|
}
|
|
513
523
|
}, [isShowSearch, autoFocus, disabled]);
|
|
524
|
+
var optionsListRef = _react.default.useRef(null);
|
|
514
525
|
// 渲染下拉列表框
|
|
515
526
|
var renderContent = function renderContent() {
|
|
516
527
|
var dropdownRender = selectProps.dropdownRender,
|
|
@@ -536,7 +547,8 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
536
547
|
},
|
|
537
548
|
isStaticItemHeight: true,
|
|
538
549
|
height: listHeight || 300,
|
|
539
|
-
measureLongestItem: false
|
|
550
|
+
measureLongestItem: false,
|
|
551
|
+
ref: optionsListRef
|
|
540
552
|
}, virtualListProps), function (child) {
|
|
541
553
|
return child;
|
|
542
554
|
});
|
|
@@ -695,6 +707,101 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
695
707
|
}, renderSuffix()));
|
|
696
708
|
};
|
|
697
709
|
var singleCls = (0, _classnames.default)(commCls, (_classNames12 = {}, (0, _defineProperty2.default)(_classNames12, "".concat(selectPrefixCls, "-single"), true), (0, _defineProperty2.default)(_classNames12, "".concat(selectPrefixCls, "-single-disabled"), disabled), (0, _defineProperty2.default)(_classNames12, "".concat(selectPrefixCls, "-single-focused"), focusd && !disabled || optionShow), _classNames12));
|
|
710
|
+
// keyboard
|
|
711
|
+
var getActiveIndex = function getActiveIndex(index) {
|
|
712
|
+
var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
713
|
+
var len = filledOptions.length;
|
|
714
|
+
for (var i = 0; i < len; i += 1) {
|
|
715
|
+
var current = (index + i * offset + len) % len;
|
|
716
|
+
var _props = filledOptions[current].props;
|
|
717
|
+
if (!(_props === null || _props === void 0 ? void 0 : _props.disabled)) {
|
|
718
|
+
return current;
|
|
719
|
+
}
|
|
720
|
+
}
|
|
721
|
+
return -1;
|
|
722
|
+
};
|
|
723
|
+
// reset activeIndex
|
|
724
|
+
(0, _react.useEffect)(function () {
|
|
725
|
+
if (searchValue) {
|
|
726
|
+
setActiveIndex(getActiveIndex(0));
|
|
727
|
+
}
|
|
728
|
+
}, [searchValue]);
|
|
729
|
+
(0, _react.useEffect)(function () {
|
|
730
|
+
if (optionShow && !disabled) {
|
|
731
|
+
var onDropdownVisibleChange = selectProps.onDropdownVisibleChange;
|
|
732
|
+
onDropdownVisibleChange && onDropdownVisibleChange(true);
|
|
733
|
+
}
|
|
734
|
+
}, [optionShow]);
|
|
735
|
+
var _useState13 = (0, _react.useState)(getActiveIndex(0)),
|
|
736
|
+
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
|
737
|
+
activeIndex = _useState14[0],
|
|
738
|
+
setActiveIndex = _useState14[1];
|
|
739
|
+
var onInternalKeyDown = function onInternalKeyDown(e) {
|
|
740
|
+
var _a, _b;
|
|
741
|
+
var which = e.which;
|
|
742
|
+
// open
|
|
743
|
+
if (which === _KeyCode.default.ENTER || which === _KeyCode.default.UP || which === _KeyCode.default.DOWN) {
|
|
744
|
+
e.preventDefault();
|
|
745
|
+
setOptionShow(true);
|
|
746
|
+
}
|
|
747
|
+
// backspace
|
|
748
|
+
var _multipleRef$current5 = multipleRef.current,
|
|
749
|
+
selectedVal = _multipleRef$current5.selectedVal,
|
|
750
|
+
selectMulOpts = _multipleRef$current5.selectMulOpts;
|
|
751
|
+
// isMultiple
|
|
752
|
+
if (which === _KeyCode.default.BACKSPACE && !searchValue && isMultiple && selectedVal.length && selectMulOpts.length) {
|
|
753
|
+
(0, _splice.default)(selectedVal).call(selectedVal, -1, 1);
|
|
754
|
+
(0, _splice.default)(selectMulOpts).call(selectMulOpts, -1, 1);
|
|
755
|
+
setMulOptions((0, _toConsumableArray2.default)(selectMulOpts));
|
|
756
|
+
onChange && onChange(labelInValue ? selectMulOpts : selectedVal, selectMulOpts);
|
|
757
|
+
// !isMultiple
|
|
758
|
+
} else if (which === _KeyCode.default.BACKSPACE && allowClear && !isMultiple) {
|
|
759
|
+
setInitValue('');
|
|
760
|
+
onClear && onClear('');
|
|
761
|
+
setSearchValue('');
|
|
762
|
+
onChange && onChange(undefined);
|
|
763
|
+
}
|
|
764
|
+
// optionsList: up、down、enter
|
|
765
|
+
if (optionShow) {
|
|
766
|
+
var offset = 0;
|
|
767
|
+
if (which === _KeyCode.default.UP) {
|
|
768
|
+
offset = -1;
|
|
769
|
+
} else if (which === _KeyCode.default.DOWN) {
|
|
770
|
+
offset = 1;
|
|
771
|
+
} else if (which === _KeyCode.default.ENTER) {
|
|
772
|
+
var item = filledOptions[activeIndex];
|
|
773
|
+
var key = ((_a = item.props) === null || _a === void 0 ? void 0 : _a.value) || item.value;
|
|
774
|
+
var label = ((_b = item.props) === null || _b === void 0 ? void 0 : _b.children) || item.label;
|
|
775
|
+
handleOption(key, label, true);
|
|
776
|
+
// search
|
|
777
|
+
if (searchValue) {
|
|
778
|
+
setActiveIndex((0, _findIndex.default)(realChildren).call(realChildren, function (child) {
|
|
779
|
+
var _a;
|
|
780
|
+
if (child && child.props) {
|
|
781
|
+
return ((_a = child.props) === null || _a === void 0 ? void 0 : _a.value) === key;
|
|
782
|
+
} else {
|
|
783
|
+
return (child === null || child === void 0 ? void 0 : child.value) === key;
|
|
784
|
+
}
|
|
785
|
+
}));
|
|
786
|
+
}
|
|
787
|
+
if (!isMultiple) {
|
|
788
|
+
setOptionShow(false);
|
|
789
|
+
}
|
|
790
|
+
} else if (which === _KeyCode.default.ESC) {
|
|
791
|
+
setOptionShow(false);
|
|
792
|
+
}
|
|
793
|
+
if (offset !== 0) {
|
|
794
|
+
var nextActiveIndex = getActiveIndex(activeIndex + offset, offset);
|
|
795
|
+
if (optionsListRef.current) {
|
|
796
|
+
optionsListRef.current.scrollTo({
|
|
797
|
+
index: nextActiveIndex
|
|
798
|
+
});
|
|
799
|
+
}
|
|
800
|
+
setActiveIndex(nextActiveIndex);
|
|
801
|
+
e.preventDefault();
|
|
802
|
+
}
|
|
803
|
+
}
|
|
804
|
+
};
|
|
698
805
|
var renderSelect = function renderSelect() {
|
|
699
806
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
700
807
|
className: selectCls,
|
|
@@ -702,7 +809,6 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
702
809
|
style: style
|
|
703
810
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
704
811
|
className: selectionCls,
|
|
705
|
-
onClick: handleClick,
|
|
706
812
|
tabIndex: disabled ? -1 : 0,
|
|
707
813
|
onFocus: function onFocus() {
|
|
708
814
|
var _a;
|
|
@@ -711,7 +817,8 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
711
817
|
onBlur: function onBlur() {
|
|
712
818
|
var _a;
|
|
713
819
|
return (_a = searchRef.current) === null || _a === void 0 ? void 0 : _a.blur();
|
|
714
|
-
}
|
|
820
|
+
},
|
|
821
|
+
onKeyDown: onInternalKeyDown
|
|
715
822
|
}, !isMultiple ? renderSingle() : renderMultiple()));
|
|
716
823
|
};
|
|
717
824
|
var catchStyle = function catchStyle() {
|