@kdcloudjs/kdesign 1.6.30 → 1.6.32

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 (77) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/LICENSE +3 -0
  3. package/dist/kdesign-complete.less +16 -0
  4. package/dist/kdesign.css +13 -1
  5. package/dist/kdesign.css.map +1 -1
  6. package/dist/kdesign.js +1678 -49
  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/_utils/getStringLength.d.ts +1 -0
  12. package/es/_utils/getStringLength.js +14 -0
  13. package/es/_utils/hooks.d.ts +3 -0
  14. package/es/_utils/hooks.js +50 -1
  15. package/es/_utils/raf.d.ts +3 -0
  16. package/es/_utils/raf.js +35 -0
  17. package/es/_utils/resizeObserver.d.ts +15 -0
  18. package/es/_utils/resizeObserver.js +79 -0
  19. package/es/_utils/testBrowserType.d.ts +1 -0
  20. package/es/_utils/testBrowserType.js +11 -0
  21. package/es/_utils/usePopper.js +1 -1
  22. package/es/form/style/index.css +4 -0
  23. package/es/form/style/index.less +6 -0
  24. package/es/grid/col.js +7 -2
  25. package/es/grid/row.js +6 -1
  26. package/es/grid/style/index.css +6 -0
  27. package/es/grid/style/index.less +8 -0
  28. package/es/select/interface.d.ts +2 -0
  29. package/es/select/select.js +52 -21
  30. package/es/select/style/index.css +2 -0
  31. package/es/select/style/index.less +2 -0
  32. package/es/stepper/stepper.js +2 -1
  33. package/es/tree/treeHooks.js +1 -1
  34. package/es/virtual-list/Filler.d.ts +9 -0
  35. package/es/virtual-list/Filler.js +38 -0
  36. package/es/virtual-list/index.d.ts +3 -0
  37. package/es/virtual-list/index.js +3 -0
  38. package/es/virtual-list/utils/algorithmUtil.d.ts +19 -0
  39. package/es/virtual-list/utils/algorithmUtil.js +79 -0
  40. package/es/virtual-list/utils/itemUtil.d.ts +75 -0
  41. package/es/virtual-list/utils/itemUtil.js +176 -0
  42. package/es/virtual-list/virtual-list.d.ts +34 -0
  43. package/es/virtual-list/virtual-list.js +589 -0
  44. package/lib/_utils/getStringLength.d.ts +1 -0
  45. package/lib/_utils/getStringLength.js +21 -0
  46. package/lib/_utils/hooks.d.ts +3 -0
  47. package/lib/_utils/hooks.js +56 -0
  48. package/lib/_utils/raf.d.ts +3 -0
  49. package/lib/_utils/raf.js +43 -0
  50. package/lib/_utils/resizeObserver.d.ts +15 -0
  51. package/lib/_utils/resizeObserver.js +95 -0
  52. package/lib/_utils/testBrowserType.d.ts +1 -0
  53. package/lib/_utils/testBrowserType.js +18 -0
  54. package/lib/_utils/usePopper.js +1 -1
  55. package/lib/form/style/index.css +4 -0
  56. package/lib/form/style/index.less +6 -0
  57. package/lib/grid/col.js +8 -2
  58. package/lib/grid/row.js +7 -1
  59. package/lib/grid/style/index.css +6 -0
  60. package/lib/grid/style/index.less +8 -0
  61. package/lib/select/interface.d.ts +2 -0
  62. package/lib/select/select.js +52 -21
  63. package/lib/select/style/index.css +2 -0
  64. package/lib/select/style/index.less +2 -0
  65. package/lib/stepper/stepper.js +3 -1
  66. package/lib/tree/treeHooks.js +1 -1
  67. package/lib/virtual-list/Filler.d.ts +9 -0
  68. package/lib/virtual-list/Filler.js +59 -0
  69. package/lib/virtual-list/index.d.ts +3 -0
  70. package/lib/virtual-list/index.js +36 -0
  71. package/lib/virtual-list/utils/algorithmUtil.d.ts +19 -0
  72. package/lib/virtual-list/utils/algorithmUtil.js +88 -0
  73. package/lib/virtual-list/utils/itemUtil.d.ts +75 -0
  74. package/lib/virtual-list/utils/itemUtil.js +206 -0
  75. package/lib/virtual-list/virtual-list.d.ts +34 -0
  76. package/lib/virtual-list/virtual-list.js +626 -0
  77. package/package.json +1 -1
@@ -0,0 +1,3 @@
1
+ declare let raf: any;
2
+ declare let caf: any;
3
+ export { raf, caf };
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.raf = exports.caf = void 0;
7
+ var target = typeof window === 'undefined' ? global : window;
8
+ var vendors = ['webkit', 'ms', 'moz', 'o'];
9
+ var raf = target.requestAnimationFrame; // eslint-disable-line
10
+
11
+ exports.raf = raf;
12
+ var caf = target.cancelAnimationFrame; // eslint-disable-line
13
+
14
+ exports.caf = caf;
15
+
16
+ if (!raf || !caf) {
17
+ vendors.some(function (prefix) {
18
+ exports.raf = raf = target["".concat(prefix, "RequestAnimationFrame")];
19
+ exports.caf = caf = target["".concat(prefix, "CancelAnimationFrame")] || target["".concat(prefix, "CancelRequestAnimationFrame")];
20
+ return raf && caf;
21
+ });
22
+
23
+ if (!raf || !caf) {
24
+ var lastTime = 0;
25
+
26
+ exports.raf = raf = function raf(cb) {
27
+ var currentTime = Date.now();
28
+ var diff = Math.max(0, 16 - (currentTime - lastTime));
29
+ var timer = setTimeout(function () {
30
+ cb();
31
+ lastTime = currentTime + diff;
32
+ }, diff);
33
+ return timer;
34
+ };
35
+
36
+ exports.caf = caf = function caf(timer) {
37
+ clearTimeout(timer);
38
+ };
39
+ }
40
+ }
41
+
42
+ exports.raf = raf = raf.bind(target);
43
+ exports.caf = caf = caf.bind(target);
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ export interface ResizeProps {
3
+ onResize?: (entry: ResizeObserverEntry[]) => void;
4
+ children?: React.ReactNode;
5
+ }
6
+ declare class ResizeObserverComponent extends React.Component<ResizeProps> {
7
+ resizeObserver: any;
8
+ componentDidMount(): void;
9
+ componentDidUpdate(): void;
10
+ componentWillUnmount: () => void;
11
+ createResizeObserver: () => void;
12
+ destroyResizeObserver: () => void;
13
+ render(): React.ReactNode;
14
+ }
15
+ export default ResizeObserverComponent;
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ var _Reflect$construct = require("@babel/runtime-corejs3/core-js-stable/reflect/construct");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/classCallCheck"));
13
+
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/createClass"));
15
+
16
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/assertThisInitialized"));
17
+
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/inherits"));
19
+
20
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/possibleConstructorReturn"));
21
+
22
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/getPrototypeOf"));
23
+
24
+ var _react = _interopRequireDefault(require("react"));
25
+
26
+ var _resizeObserverPolyfill = _interopRequireDefault(require("resize-observer-polyfill"));
27
+
28
+ var _reactDom = require("react-dom");
29
+
30
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
31
+
32
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
33
+
34
+ var ResizeObserverComponent = /*#__PURE__*/function (_React$Component) {
35
+ (0, _inherits2.default)(ResizeObserverComponent, _React$Component);
36
+
37
+ var _super = _createSuper(ResizeObserverComponent);
38
+
39
+ function ResizeObserverComponent() {
40
+ var _this;
41
+
42
+ (0, _classCallCheck2.default)(this, ResizeObserverComponent);
43
+ _this = _super.apply(this, arguments);
44
+
45
+ _this.componentWillUnmount = function () {
46
+ if (_this.resizeObserver) {
47
+ _this.destroyResizeObserver();
48
+ }
49
+ };
50
+
51
+ _this.createResizeObserver = function () {
52
+ _this.resizeObserver = new _resizeObserverPolyfill.default(function (entry) {
53
+ var onResize = _this.props.onResize;
54
+ onResize && onResize(entry);
55
+ }); // eslint-disable-next-line react/no-find-dom-node
56
+
57
+ _this.resizeObserver.observe((0, _reactDom.findDOMNode)((0, _assertThisInitialized2.default)(_this)));
58
+ };
59
+
60
+ _this.destroyResizeObserver = function () {
61
+ _this.resizeObserver && _this.resizeObserver.disconnect();
62
+ _this.resizeObserver = null;
63
+ };
64
+
65
+ return _this;
66
+ }
67
+
68
+ (0, _createClass2.default)(ResizeObserverComponent, [{
69
+ key: "componentDidMount",
70
+ value: function componentDidMount() {
71
+ if (! /*#__PURE__*/_react.default.isValidElement(this.props.children)) {
72
+ console.warn('The children of ResizeObserver is invalid.');
73
+ } else {
74
+ this.createResizeObserver();
75
+ }
76
+ }
77
+ }, {
78
+ key: "componentDidUpdate",
79
+ value: function componentDidUpdate() {
80
+ // eslint-disable-next-line react/no-find-dom-node
81
+ if (!this.resizeObserver && (0, _reactDom.findDOMNode)(this)) {
82
+ this.createResizeObserver();
83
+ }
84
+ }
85
+ }, {
86
+ key: "render",
87
+ value: function render() {
88
+ return this.props.children;
89
+ }
90
+ }]);
91
+ return ResizeObserverComponent;
92
+ }(_react.default.Component);
93
+
94
+ var _default = ResizeObserverComponent;
95
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ export declare function testBrowserType(reg: RegExp, type: number): boolean;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.testBrowserType = testBrowserType;
7
+
8
+ function testBrowserType(reg, type) {
9
+ var external = window.external || {};
10
+
11
+ for (var i in external) {
12
+ if (reg.test(type ? external[i] : i)) {
13
+ return true;
14
+ }
15
+ }
16
+
17
+ return false;
18
+ }
@@ -579,7 +579,7 @@ function usePopper(locatorElement, popperElement, props) {
579
579
  } else {
580
580
  if (matchTrigger('hover')) {
581
581
  mouseleaveTimer && clearTimeout(mouseleaveTimer);
582
- mouseleaveTimer = window.setTimeout(hidePopper, mouseLeaveDelay * 3000);
582
+ mouseleaveTimer = window.setTimeout(hidePopper, mouseLeaveDelay * 1000);
583
583
  } else {
584
584
  hidePopper();
585
585
  }
@@ -120,6 +120,10 @@
120
120
  display: -ms-flexbox;
121
121
  display: flex;
122
122
  }
123
+ .kd-form-horizontal .kd-form-field-label {
124
+ -ms-flex-negative: 0;
125
+ flex-shrink: 0;
126
+ }
123
127
  .kd-form-inline .kd-form-field {
124
128
  display: -webkit-inline-box;
125
129
  display: -ms-inline-flexbox;
@@ -17,6 +17,12 @@
17
17
  }
18
18
  }
19
19
 
20
+ &-horizontal {
21
+ .@{field-label-cls} {
22
+ flex-shrink: 0;
23
+ }
24
+ }
25
+
20
26
  &-inline {
21
27
  .@{field-prefix-cls} {
22
28
  display: inline-flex;
package/lib/grid/col.js CHANGED
@@ -25,6 +25,8 @@ var _utils = require("../_utils");
25
25
 
26
26
  var _configProvider = require("../config-provider");
27
27
 
28
+ var _testBrowserType = require("../_utils/testBrowserType");
29
+
28
30
  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); }
29
31
 
30
32
  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; }
@@ -52,8 +54,10 @@ var Col = function Col(props) {
52
54
  winWidth = _getCompProps.winWidth,
53
55
  children = _getCompProps.children,
54
56
  className = _getCompProps.className,
55
- customPrefixcls = _getCompProps.prefixCls; // className前缀
57
+ customPrefixcls = _getCompProps.prefixCls; // 浏览器名称
58
+
56
59
 
60
+ var isSogou = (0, _testBrowserType.testBrowserType)(/^sogou/i, 0); // className前缀
57
61
 
58
62
  var prefixCls = getPrefixCls(pkgPrefixCls, 'col', customPrefixcls);
59
63
  var columns = 24;
@@ -120,7 +124,9 @@ var Col = function Col(props) {
120
124
  marginLeft: base.offset && base.offset / columns * 100 + '%'
121
125
  }, style);
122
126
  return /*#__PURE__*/React.createElement("div", {
123
- className: (0, _classnames.default)(prefixCls, className),
127
+ className: (0, _classnames.default)(prefixCls, className, {
128
+ 'sogou-col': isSogou
129
+ }),
124
130
  style: styleString
125
131
  }, children);
126
132
  };
package/lib/grid/row.js CHANGED
@@ -29,6 +29,8 @@ var _configProvider = require("../config-provider");
29
29
 
30
30
  var _throttle = _interopRequireDefault(require("lodash/throttle"));
31
31
 
32
+ var _testBrowserType = require("../_utils/testBrowserType");
33
+
32
34
  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); }
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; }
@@ -65,8 +67,10 @@ var Row = function Row(props) {
65
67
  gutter = _getCompProps.gutter,
66
68
  align = _getCompProps.align,
67
69
  justify = _getCompProps.justify,
68
- customPrefixcls = _getCompProps.prefixCls; // className前缀
70
+ customPrefixcls = _getCompProps.prefixCls; // 浏览器名称
71
+
69
72
 
73
+ var isSogou = (0, _testBrowserType.testBrowserType)(/^sogou/i, 0); // className前缀
70
74
 
71
75
  var prefixCls = getPrefixCls(pkgPrefixCls, 'row', customPrefixcls);
72
76
 
@@ -123,6 +127,8 @@ var Row = function Row(props) {
123
127
  return /*#__PURE__*/React.createElement("div", {
124
128
  className: (0, _classnames.default)(prefixCls, className, {
125
129
  nowrap: !wrap
130
+ }, {
131
+ 'sogou-row': isSogou
126
132
  }),
127
133
  style: styleString
128
134
  }, (0, _map.default)(_context = React.Children).call(_context, children, function (child) {
@@ -119,9 +119,15 @@
119
119
  -ms-flex-wrap: nowrap;
120
120
  flex-wrap: nowrap;
121
121
  }
122
+ .kd-row.sogou-row {
123
+ margin-bottom: calc(-1 * var(--rgap));
124
+ }
122
125
  .kd-col {
123
126
  position: relative;
124
127
  -webkit-box-sizing: border-box;
125
128
  box-sizing: border-box;
126
129
  padding: 0 calc(var(--cgap) / 2);
127
130
  }
131
+ .kd-col.sogou-col {
132
+ margin-bottom: var(--rgap);
133
+ }
@@ -13,10 +13,18 @@
13
13
  &.nowrap {
14
14
  flex-wrap: nowrap;
15
15
  }
16
+
17
+ &.sogou-row {
18
+ margin-bottom: calc(-1 * var(--rgap));
19
+ }
16
20
  }
17
21
 
18
22
  .@{col-prefix-cls} {
19
23
  position: relative;
20
24
  box-sizing: border-box;
21
25
  padding: 0 calc(var(--cgap) / 2);
26
+
27
+ &.sogou-col {
28
+ margin-bottom: var(--rgap);
29
+ }
22
30
  }
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { PopperProps } from '../_utils/usePopper';
3
+ import { AvailableVirtualListProps } from '../virtual-list';
3
4
  export declare const SelectSizes: ["large", "middle", "small"];
4
5
  export declare type SelectSize = typeof SelectSizes[number];
5
6
  export declare const BorderTypes: ["none", "underline", "bordered"];
@@ -37,6 +38,7 @@ export interface AbstractSelectProps extends PopperProps {
37
38
  filterOption?: boolean | ((inputValue: string, option?: OptionsType) => boolean);
38
39
  optionFilterProp?: string;
39
40
  optionLabelProp?: string;
41
+ virtualListProps?: AvailableVirtualListProps | boolean;
40
42
  }
41
43
  export interface LabeledValue {
42
44
  key?: string;
@@ -51,6 +51,8 @@ var _option = _interopRequireDefault(require("./option"));
51
51
 
52
52
  var _usePopper = _interopRequireDefault(require("../_utils/usePopper"));
53
53
 
54
+ var _virtualList = _interopRequireDefault(require("../virtual-list"));
55
+
54
56
  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); }
55
57
 
56
58
  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; }
@@ -99,7 +101,8 @@ var InternalSelect = function InternalSelect(props, ref) {
99
101
  optionLabelProp = selectProps.optionLabelProp,
100
102
  _selectProps$popperSt = selectProps.popperStyle,
101
103
  popperStyle = _selectProps$popperSt === void 0 ? {} : _selectProps$popperSt,
102
- tagRender = selectProps.tagRender;
104
+ tagRender = selectProps.tagRender,
105
+ virtualListProps = selectProps.virtualListProps;
103
106
  var isMultiple = mode === 'multiple'; // 是否多选
104
107
 
105
108
  var _useMergedState = (0, _hooks.useMergedState)(undefined, {
@@ -440,31 +443,41 @@ var InternalSelect = function InternalSelect(props, ref) {
440
443
  var _multipleRef$current3 = multipleRef.current,
441
444
  selectedVal = _multipleRef$current3.selectedVal,
442
445
  selectMulOpts = _multipleRef$current3.selectMulOpts;
446
+ var newSelectedVal = (0, _toConsumableArray2.default)(selectedVal);
447
+ var newSelectMulOpts = (0, _toConsumableArray2.default)(selectMulOpts);
448
+
449
+ if ((filledOptions === null || filledOptions === void 0 ? void 0 : filledOptions.length) !== newSelectedVal.length) {
450
+ (0, _map.default)(filledOptions).call(filledOptions, function (child) {
451
+ var _ref = child.props || child,
452
+ value = _ref.value;
453
+
454
+ if (!(0, _includes.default)(newSelectedVal).call(newSelectedVal, value)) {
455
+ newSelectedVal.push(value);
456
+ newSelectMulOpts.push({
457
+ value: value,
458
+ label: getOptionLabel(child)
459
+ });
460
+ }
461
+ });
443
462
 
444
- if (!('value' in selectProps)) {
445
- if ((filledOptions === null || filledOptions === void 0 ? void 0 : filledOptions.length) !== selectedVal.length) {
446
- (0, _map.default)(filledOptions).call(filledOptions, function (child) {
447
- var _ref = child.props || child,
448
- value = _ref.value;
449
-
450
- if (!(0, _includes.default)(selectedVal).call(selectedVal, value)) {
451
- selectedVal.push(value);
452
- selectMulOpts.push({
453
- value: value,
454
- label: getOptionLabel(child)
455
- });
456
- }
457
- });
458
- setMulOptions((0, _toConsumableArray2.default)(selectMulOpts));
463
+ if (typeof value === 'undefined') {
464
+ multipleRef.current.selectedVal = newSelectedVal;
465
+ multipleRef.current.selectMulOpts = newSelectMulOpts;
466
+ setMulOptions((0, _toConsumableArray2.default)(newSelectMulOpts));
459
467
  setSearchValue('');
460
- } else {
461
- multipleRef.current.selectedVal = selectedVal = [];
462
- multipleRef.current.selectMulOpts = selectMulOpts = [];
468
+ }
469
+ } else {
470
+ newSelectedVal = [];
471
+ newSelectMulOpts = [];
472
+
473
+ if (typeof value === 'undefined') {
474
+ multipleRef.current.selectedVal = [];
475
+ multipleRef.current.selectMulOpts = [];
463
476
  setMulOptions([]);
464
477
  }
465
478
  }
466
479
 
467
- onChange && onChange(labelInValue ? selectMulOpts : selectedVal, selectMulOpts);
480
+ onChange && onChange(labelInValue ? newSelectMulOpts : newSelectedVal, newSelectMulOpts);
468
481
  }; // 输入框变化搜索内容
469
482
 
470
483
 
@@ -585,6 +598,7 @@ var InternalSelect = function InternalSelect(props, ref) {
585
598
  listHeight = selectProps.listHeight;
586
599
  var selectedVal = multipleRef.current.selectedVal;
587
600
  var childrenToRender = filledOptions;
601
+ var eleOptionList = filledOptions;
588
602
 
589
603
  if (Array.isArray(childrenToRender) && childrenToRender.length > 0) {
590
604
  childrenToRender = (0, _map.default)(childrenToRender).call(childrenToRender, function (item, index) {
@@ -592,6 +606,23 @@ var InternalSelect = function InternalSelect(props, ref) {
592
606
  var temp = renderOption(item, index);
593
607
  return temp;
594
608
  });
609
+ eleOptionList = /*#__PURE__*/_react.default.createElement(_virtualList.default, (0, _extends2.default)({
610
+ role: "listbox",
611
+ data: childrenToRender,
612
+ itemKey: function itemKey(child) {
613
+ var _a;
614
+
615
+ return (_a = child.props) === null || _a === void 0 ? void 0 : _a.value;
616
+ },
617
+ onMouseDown: function onMouseDown(e) {
618
+ return e === null || e === void 0 ? void 0 : e.preventDefault();
619
+ },
620
+ isStaticItemHeight: true,
621
+ height: listHeight || 300,
622
+ measureLongestItem: false
623
+ }, virtualListProps), function (child) {
624
+ return child;
625
+ });
595
626
  }
596
627
 
597
628
  var heightStyle = {
@@ -611,7 +642,7 @@ var InternalSelect = function InternalSelect(props, ref) {
611
642
  className: dropDownCls,
612
643
  style: dropDownStyle,
613
644
  ref: dropDownRef
614
- }, !dropdownRender && childrenToRender.length > 0 && dropRender(childrenToRender, heightStyle), renderNotContent(), /*#__PURE__*/_react.default.createElement("div", null, dropdownRender && dropdownRender(dropRender(childrenToRender, heightStyle))), isMultiple && /*#__PURE__*/_react.default.createElement("div", {
645
+ }, !dropdownRender && childrenToRender.length > 0 && dropRender(eleOptionList, heightStyle), renderNotContent(), /*#__PURE__*/_react.default.createElement("div", null, dropdownRender && dropdownRender(dropRender(childrenToRender, heightStyle))), isMultiple && /*#__PURE__*/_react.default.createElement("div", {
615
646
  className: multipleFooterCls
616
647
  }, /*#__PURE__*/_react.default.createElement(_index.Checkbox, {
617
648
  style: checkboxStyle,
@@ -298,6 +298,8 @@
298
298
  overflow: hidden;
299
299
  white-space: nowrap;
300
300
  text-overflow: ellipsis;
301
+ right: 28px;
302
+ left: 0;
301
303
  }
302
304
  .kd-select-borderless {
303
305
  border: none;
@@ -67,6 +67,8 @@
67
67
  overflow: hidden;
68
68
  white-space: nowrap;
69
69
  text-overflow: ellipsis;
70
+ right: 28px;
71
+ left: 0;
70
72
  }
71
73
 
72
74
  &-borderless {
@@ -43,6 +43,8 @@ var _omit = require("../_utils/omit");
43
43
 
44
44
  var _hooks = require("../_utils/hooks");
45
45
 
46
+ var _numberUtil = require("../_utils/numberUtil");
47
+
46
48
  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); }
47
49
 
48
50
  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; }
@@ -140,7 +142,7 @@ var InternalStepper = function InternalStepper(props, ref) {
140
142
  return false;
141
143
  }
142
144
 
143
- var startingNumber = parseFloat(stepperrref.current.value) || parseFloat(inputNumberProps.min) || 0;
145
+ var startingNumber = (0, _numberUtil.isExp)(stepperrref.current.value) ? (0, _big.default)(stepperrref.current.value).valueOf() : stepperrref.current.value || parseFloat(inputNumberProps.min) || 0;
144
146
  var calculationResults = new _big.default(startingNumber)[type](stepNum).valueOf();
145
147
  var legalNumber = stepperrref.current.verifiValue(calculationResults);
146
148
 
@@ -123,7 +123,7 @@ var useExpand = function useExpand(flattenAllData, expandedKeysProps, defaultExp
123
123
 
124
124
  _react.default.useEffect(function () {
125
125
  setExpandedKeys(initialExpandedKeys);
126
- }, [expandedKeysProps, searchExpandedKeys, defaultExpandAll, defaultExpandedKeys, defaultExpandRoot, defaultExpandParent]);
126
+ }, [flattenAllData, expandedKeysProps, searchExpandedKeys, defaultExpandAll, defaultExpandedKeys, defaultExpandRoot, defaultExpandParent]);
127
127
 
128
128
  return [expandedKeys, setExpandedKeys];
129
129
  };
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ interface FillerProps {
3
+ height: number;
4
+ offset?: number;
5
+ outerStyle?: React.CSSProperties;
6
+ children: React.ReactNode;
7
+ }
8
+ declare const Filler: React.FC<FillerProps>;
9
+ export default Filler;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+
5
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
6
+
7
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
8
+
9
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
10
+
11
+ Object.defineProperty(exports, "__esModule", {
12
+ value: true
13
+ });
14
+ exports.default = void 0;
15
+
16
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
17
+
18
+ var React = _interopRequireWildcard(require("react"));
19
+
20
+ 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); }
21
+
22
+ 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; }
23
+
24
+ var Filler = function Filler(_ref) {
25
+ var height = _ref.height,
26
+ offset = _ref.offset,
27
+ children = _ref.children,
28
+ propsOuterStyle = _ref.outerStyle;
29
+ var outerStyle = {};
30
+ var innerStyle = {
31
+ display: 'flex',
32
+ flexDirection: 'column'
33
+ };
34
+
35
+ if (offset !== undefined) {
36
+ outerStyle = (0, _extends2.default)({
37
+ height: height,
38
+ position: 'relative',
39
+ overflow: 'hidden',
40
+ zIndex: 0
41
+ }, propsOuterStyle);
42
+ innerStyle = (0, _extends2.default)((0, _extends2.default)({}, innerStyle), {
43
+ transform: "translateY(".concat(offset, "px)"),
44
+ position: 'absolute',
45
+ left: 0,
46
+ right: 0,
47
+ top: 0
48
+ });
49
+ }
50
+
51
+ return /*#__PURE__*/React.createElement("div", {
52
+ style: outerStyle
53
+ }, /*#__PURE__*/React.createElement("div", {
54
+ style: innerStyle
55
+ }, children));
56
+ };
57
+
58
+ var _default = Filler;
59
+ exports.default = _default;
@@ -0,0 +1,3 @@
1
+ import VirtualList from './virtual-list';
2
+ export * from './virtual-list';
3
+ export default VirtualList;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+
5
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
6
+
7
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
8
+
9
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
10
+
11
+ Object.defineProperty(exports, "__esModule", {
12
+ value: true
13
+ });
14
+ var _exportNames = {};
15
+ exports.default = void 0;
16
+
17
+ var _virtualList = _interopRequireWildcard(require("./virtual-list"));
18
+
19
+ _Object$keys(_virtualList).forEach(function (key) {
20
+ if (key === "default" || key === "__esModule") return;
21
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
22
+ if (key in exports && exports[key] === _virtualList[key]) return;
23
+ Object.defineProperty(exports, key, {
24
+ enumerable: true,
25
+ get: function get() {
26
+ return _virtualList[key];
27
+ }
28
+ });
29
+ });
30
+
31
+ 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
+
33
+ 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; }
34
+
35
+ var _default = _virtualList.default;
36
+ exports.default = _default;
@@ -0,0 +1,19 @@
1
+ import { Key } from './itemUtil';
2
+ /**
3
+ * Get index with specific start index one by one. e.g.
4
+ * min: 3, max: 9, start: 6
5
+ *
6
+ * Return index is:
7
+ * [0]: 6
8
+ * [1]: 7
9
+ * [2]: 5
10
+ * [3]: 8
11
+ * [4]: 4
12
+ * [5]: 9
13
+ * [6]: 3
14
+ */
15
+ export declare function getIndexByStartLoc(min: number, max: number, start: number, index: number): number;
16
+ export declare function findListDiffIndex<T>(originList: T[], targetList: T[], getKey: (item: T, index: number) => Key): {
17
+ index: number;
18
+ multiple: boolean;
19
+ } | null;