@kdcloudjs/kdesign 1.7.48-usePopper.1 → 1.7.48-usePopper.2

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 (80) hide show
  1. package/CHANGELOG.md +120 -0
  2. package/dist/kdesign-complete.less +20 -21
  3. package/dist/kdesign.css +17 -16
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +2591 -1435
  6. package/dist/kdesign.js.map +1 -1
  7. package/dist/kdesign.min.css +3 -3
  8. package/dist/kdesign.min.js +15 -10
  9. package/dist/kdesign.min.js.map +1 -1
  10. package/es/_utils/useId.d.ts +2 -0
  11. package/es/_utils/useId.js +30 -0
  12. package/es/_utils/usePopper.js +13 -7
  13. package/es/anchor/anchor.js +11 -2
  14. package/es/city-picker/style/index.css +0 -1
  15. package/es/city-picker/style/index.less +0 -1
  16. package/es/color-picker/color-picker-panel.js +1 -1
  17. package/es/date-picker/date-panel.js +35 -30
  18. package/es/date-picker/date-picker.js +4 -1
  19. package/es/date-picker/hooks/use-picker-input.js +2 -3
  20. package/es/date-picker/range-picker.js +10 -24
  21. package/es/date-picker/utils/date-fns.js +4 -2
  22. package/es/filter/filter.js +4 -5
  23. package/es/grid/col.js +14 -3
  24. package/es/grid/row.js +15 -4
  25. package/es/input/ClearableLabeledInput.js +2 -2
  26. package/es/input/TextArea.js +1 -7
  27. package/es/input-number/inputNumber.js +29 -8
  28. package/es/pagination/style/index.css +1 -0
  29. package/es/pagination/style/index.less +1 -0
  30. package/es/popper/index.d.ts +4 -1
  31. package/es/popper/index.js +214 -137
  32. package/es/popper/style/index.css +10 -11
  33. package/es/popper/style/index.less +17 -19
  34. package/es/qr-code/qr-code.js +1 -1
  35. package/es/radio/radio.js +2 -2
  36. package/es/radio/style/index.css +0 -1
  37. package/es/radio/style/index.less +1 -1
  38. package/es/select/style/index.css +3 -0
  39. package/es/select/style/index.less +1 -0
  40. package/es/split-panel/split-panel.js +16 -0
  41. package/es/tooltip/style/index.css +2 -2
  42. package/es/tooltip/style/index.less +1 -1
  43. package/es/tree/utils/treeUtils.js +1 -1
  44. package/es/upload/upload.js +1 -1
  45. package/lib/_utils/useId.d.ts +2 -0
  46. package/lib/_utils/useId.js +43 -0
  47. package/lib/_utils/usePopper.js +13 -7
  48. package/lib/anchor/anchor.js +11 -2
  49. package/lib/city-picker/style/index.css +0 -1
  50. package/lib/city-picker/style/index.less +0 -1
  51. package/lib/color-picker/color-picker-panel.js +1 -1
  52. package/lib/date-picker/date-panel.js +39 -34
  53. package/lib/date-picker/date-picker.js +4 -1
  54. package/lib/date-picker/hooks/use-picker-input.js +2 -3
  55. package/lib/date-picker/range-picker.js +10 -24
  56. package/lib/date-picker/utils/date-fns.js +4 -2
  57. package/lib/filter/filter.js +4 -5
  58. package/lib/grid/col.js +14 -3
  59. package/lib/grid/row.js +15 -4
  60. package/lib/input/ClearableLabeledInput.js +2 -2
  61. package/lib/input/TextArea.js +1 -7
  62. package/lib/input-number/inputNumber.js +29 -8
  63. package/lib/pagination/style/index.css +1 -0
  64. package/lib/pagination/style/index.less +1 -0
  65. package/lib/popper/index.d.ts +4 -1
  66. package/lib/popper/index.js +213 -136
  67. package/lib/popper/style/index.css +10 -11
  68. package/lib/popper/style/index.less +17 -19
  69. package/lib/qr-code/qr-code.js +1 -1
  70. package/lib/radio/radio.js +2 -2
  71. package/lib/radio/style/index.css +0 -1
  72. package/lib/radio/style/index.less +1 -1
  73. package/lib/select/style/index.css +3 -0
  74. package/lib/select/style/index.less +1 -0
  75. package/lib/split-panel/split-panel.js +16 -0
  76. package/lib/tooltip/style/index.css +2 -2
  77. package/lib/tooltip/style/index.less +1 -1
  78. package/lib/tree/utils/treeUtils.js +1 -1
  79. package/lib/upload/upload.js +1 -1
  80. package/package.json +7 -3
@@ -1,6 +1,5 @@
1
1
  @import '../../style/themes/index';
2
2
  @import '../../style/mixins/index';
3
- // @import './token.less';
4
3
 
5
4
  @popper-prefix-cls: ~'@{kd-prefix}-popper';
6
5
 
@@ -12,27 +11,25 @@
12
11
  &.hidden {
13
12
  opacity: 0;
14
13
  visibility: hidden;
15
- transition: all calc(@transition-duration - 0.1s);
16
14
  pointer-events: none;
17
15
  }
18
16
 
19
- &-content {
20
- .arrow {
21
- visibility: hidden;
22
-
23
- &::before {
24
- visibility: visible;
25
- position: absolute;
26
- border-style: solid;
27
- border-width: var(--arrowSize);
28
- content: '';
29
- transform: rotate(45deg);
30
- }
17
+ .arrow {
18
+ visibility: hidden;
19
+
20
+ &::before {
21
+ visibility: visible;
22
+ position: absolute;
23
+ border-style: solid;
24
+ border-color: transparent;
25
+ border-width: var(--arrowSize);
26
+ content: '';
27
+ transform: rotate(45deg);
31
28
  }
32
29
  }
33
30
 
34
31
  &[data-popper-placement^='top'] .arrow {
35
- bottom: var(--arrowSize);
32
+ bottom: calc(0.9 * var(--arrowSize));
36
33
 
37
34
  &::before {
38
35
  left: calc(-1 * var(--arrowSize));
@@ -42,7 +39,7 @@
42
39
  }
43
40
 
44
41
  &[data-popper-placement^='bottom'] .arrow {
45
- top: calc(-1 * var(--arrowSize));
42
+ top: calc(-0.9 * var(--arrowSize));
46
43
 
47
44
  &::before {
48
45
  left: calc(-1 * var(--arrowSize));
@@ -52,7 +49,7 @@
52
49
  }
53
50
 
54
51
  &[data-popper-placement^='left'] .arrow {
55
- right: var(--arrowSize);
52
+ right: calc(0.9 * var(--arrowSize));
56
53
 
57
54
  &::before {
58
55
  top: calc(-1 * var(--arrowSize));
@@ -62,7 +59,7 @@
62
59
  }
63
60
 
64
61
  &[data-popper-placement^='right'] .arrow {
65
- left: calc(-1 * var(--arrowSize));
62
+ left: calc(-0.9 * var(--arrowSize));
66
63
 
67
64
  &::before {
68
65
  top: calc(-1 * var(--arrowSize));
@@ -93,7 +90,7 @@
93
90
  .popper-motion(~'@{popper-prefix-cls}-right', kdZoomLeft);
94
91
  .popper-motion(~'@{popper-prefix-cls}-bottom', kdZoomTop);
95
92
  .popper-motion(~'@{popper-prefix-cls}-top-start', kdZoomLeftBottom);
96
- .popper-motion(~'@{popper-prefix-cls}-rightBottom', kdZoomLeftBottom);
93
+ .popper-motion(~'@{popper-prefix-cls}-right-end', kdZoomLeftBottom);
97
94
  .popper-motion(~'@{popper-prefix-cls}-top-end', kdZoomRightBottom);
98
95
  .popper-motion(~'@{popper-prefix-cls}-left-end', kdZoomRightBottom);
99
96
  .popper-motion(~'@{popper-prefix-cls}-left-start', kdZoomTopRight);
@@ -101,3 +98,4 @@
101
98
  .popper-motion(~'@{popper-prefix-cls}-right-start', kdZoomTopLeft);
102
99
  .popper-motion(~'@{popper-prefix-cls}-bottom-start', kdZoomTopLeft);
103
100
 
101
+
@@ -4,7 +4,7 @@ import React, { useContext } from 'react';
4
4
  import classNames from 'classnames';
5
5
  import ConfigContext from '../config-provider/ConfigContext';
6
6
  import { getCompProps } from '../_utils';
7
- import { QRCodeCanvas, QRCodeSVG } from 'qrcode.react';
7
+ import { QRCodeCanvas, QRCodeSVG } from 'qrcode.react-ie';
8
8
  import Spin from '../spin';
9
9
  import Button from '../button';
10
10
  import Icon from '../icon';
package/es/radio/radio.js CHANGED
@@ -91,7 +91,7 @@ var InternalRadio = function InternalRadio(props, ref) {
91
91
  className: classString,
92
92
  style: style,
93
93
  ref: mergedRef
94
- }, /*#__PURE__*/React.createElement("input", _extends({
94
+ }, /*#__PURE__*/React.createElement("input", _extends({}, restProps, {
95
95
  type: "radio",
96
96
  className: "".concat(radioPrefixCls, "-input"),
97
97
  checked: isChecked,
@@ -99,7 +99,7 @@ var InternalRadio = function InternalRadio(props, ref) {
99
99
  value: value,
100
100
  name: context === null || context === void 0 ? void 0 : context.name,
101
101
  disabled: mergedDisabled
102
- }, restProps)), children !== undefined ? /*#__PURE__*/React.createElement("span", {
102
+ })), children !== undefined ? /*#__PURE__*/React.createElement("span", {
103
103
  className: "".concat(radioPrefixCls, "-text")
104
104
  }, children) : null)
105
105
  );
@@ -126,7 +126,6 @@
126
126
  color: var(--kd-c-radio-color-font, var(--kd-g-color-text-primary, #212121));
127
127
  font-size: var(--kd-c-radio-font-size, var(--kd-g-font-size-small, 12px));
128
128
  max-width: var(--kd-c-radio-default-label-max-width);
129
- overflow: hidden;
130
129
  min-height: var(--kd-c-radio-square-sizing-width-height, 14px);
131
130
  }
132
131
  .kd-radio::before {
@@ -23,7 +23,7 @@
23
23
  color: @radio-font-color;
24
24
  font-size: @radio-font-size;
25
25
  max-width: @radio-default-label-max-width;
26
- overflow: hidden;
26
+ // overflow: hidden;
27
27
  min-height: @radio-circle-size;
28
28
 
29
29
  &::before {
@@ -429,6 +429,9 @@
429
429
  }
430
430
  .kd-select-item-option-content .kd-checkbox {
431
431
  width: 100%;
432
+ display: -webkit-box;
433
+ display: -ms-flexbox;
434
+ display: flex;
432
435
  }
433
436
  .kd-select-item-option-content .kd-checkbox .kd-checkbox-children {
434
437
  display: inline-block;
@@ -194,6 +194,7 @@
194
194
 
195
195
  .@{kd-prefix}-checkbox {
196
196
  width: 100%;
197
+ display: flex;
197
198
 
198
199
  .@{kd-prefix}-checkbox-children {
199
200
  display: inline-block;
@@ -9,6 +9,7 @@ import classNames from 'classnames';
9
9
  import { getCompProps } from '../_utils';
10
10
  import { tuple } from '../_utils/type';
11
11
  import devWarning from '../_utils/devwarning';
12
+ import ResizeObserver from 'resize-observer-polyfill';
12
13
  export var SplitPanelModes = tuple('horizontal', 'vertical');
13
14
  function pxToScale(numerator, denominator) {
14
15
  var percent = parseFloat(numerator) / parseFloat(denominator);
@@ -118,6 +119,21 @@ var SplitPanel = function SplitPanel(props) {
118
119
  }, [min, max, defaultSplit, getComputedThresholdValue, getComputeOffset]);
119
120
  useEffect(function () {
120
121
  initPanel();
122
+ var element = outerWrapper.current;
123
+ if (!element) {
124
+ devWarning(!element && element !== null, 'useResizeMeasure', 'useResizeMeasure指定的元素不存在');
125
+ return;
126
+ }
127
+ var resizeObserver = new ResizeObserver(function (entries) {
128
+ var entry = entries[0];
129
+ if (entry.contentRect) {
130
+ initPanel();
131
+ }
132
+ });
133
+ resizeObserver.observe(element);
134
+ return function () {
135
+ resizeObserver.disconnect();
136
+ };
121
137
  }, [initPanel]);
122
138
  var handleMove = useCallback(function (e) {
123
139
  // 将鼠标移动距离与offset进行处理
@@ -122,8 +122,8 @@
122
122
  font-size: var(--kd-c-tooltip-color-text, var(--kd-g-font-size-small, 12px));
123
123
  line-height: 1.5;
124
124
  background-color: var(--kd-c-tooltip-color-background, var(--kd-g-color-background, #fff));
125
- -webkit-box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
126
- box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
125
+ -webkit-filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.2));
126
+ filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.2));
127
127
  }
128
128
  .kd-tooltip .arrow::before {
129
129
  border-color: var(--kd-c-tooltip-color-background, var(--kd-g-color-background, #fff));
@@ -13,7 +13,7 @@
13
13
  font-size: @tooltip-font-size;
14
14
  line-height: 1.5;
15
15
  background-color: @tooltip-background-color;
16
- box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
16
+ filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.2));
17
17
 
18
18
  .arrow::before {
19
19
  border-color: @tooltip-background-color;
@@ -616,7 +616,7 @@ export var getInitExpandedKeys = function getInitExpandedKeys(data, expandedKeys
616
616
  if (isSearching && searchStatus === 'SEARCH_START') {
617
617
  keys = _toConsumableArray(getAllFilterKeys(data, filterTreeNode, keysData, expandOnFilterNode).filterExpandKeys);
618
618
  }
619
- return keys;
619
+ return _Array$from(new _Set(_toConsumableArray(keys)));
620
620
  };
621
621
  export var getExpandedKeys = function getExpandedKeys(expandedKeys) {
622
622
  var expandScrollkeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
@@ -425,7 +425,7 @@ var InternalUpload = function InternalUpload(props, ref) {
425
425
  handleRemove: handleRemove,
426
426
  disabled: disabled,
427
427
  onPreview: onPreview
428
- })), file, setFileList) : /*#__PURE__*/React.createElement(Item, _extends({
428
+ })), file, fileList) : /*#__PURE__*/React.createElement(Item, _extends({
429
429
  key: file.uid
430
430
  }, {
431
431
  file: file,
@@ -0,0 +1,2 @@
1
+ declare const _default: (id?: string | undefined) => any;
2
+ export default _default;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
5
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
6
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
13
+ var React = _interopRequireWildcard(require("react"));
14
+ 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); }
15
+ 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; }
16
+ function getUseId() {
17
+ var fullClone = (0, _extends2.default)({}, React);
18
+ return fullClone === null || fullClone === void 0 ? void 0 : fullClone.useId;
19
+ }
20
+ var uuid = 0;
21
+ var useOriginId = getUseId();
22
+ var _default = useOriginId ? function useId(id) {
23
+ var reactId = useOriginId();
24
+ if (id) {
25
+ return id;
26
+ }
27
+ return reactId;
28
+ } : function useCompatId(id) {
29
+ var _React$useState = React.useState('ssr-id'),
30
+ _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
31
+ innerId = _React$useState2[0],
32
+ setInnerId = _React$useState2[1];
33
+ React.useEffect(function () {
34
+ var nextId = uuid;
35
+ uuid += 1;
36
+ setInnerId("kd_unique_".concat(nextId));
37
+ }, []);
38
+ if (id) {
39
+ return id;
40
+ }
41
+ return innerId;
42
+ };
43
+ exports.default = _default;
@@ -127,6 +127,7 @@ var getRealDom = function getRealDom(locatorRef, locatorElement) {
127
127
  var name = REF_NAME_OBJ[(_a = locatorElement === null || locatorElement === void 0 ? void 0 : locatorElement.type) === null || _a === void 0 ? void 0 : _a.displayName];
128
128
  return locatorRef === null || locatorRef === void 0 ? void 0 : locatorRef.current[name];
129
129
  };
130
+ var DEFAULT_PLACEMENT = 'top';
130
131
  function usePopper(locatorElement, popperElement, props) {
131
132
  var _context3, _context4, _arrowStyle;
132
133
  var prefixCls = props.prefixCls,
@@ -145,7 +146,7 @@ function usePopper(locatorElement, popperElement, props) {
145
146
  _props$trigger = props.trigger,
146
147
  trigger = _props$trigger === void 0 ? 'click' : _props$trigger,
147
148
  _props$placement = props.placement,
148
- placement = _props$placement === void 0 ? 'top' : _props$placement,
149
+ placement = _props$placement === void 0 ? DEFAULT_PLACEMENT : _props$placement,
149
150
  _props$gap = props.gap,
150
151
  defaultGap = _props$gap === void 0 ? 4 : _props$gap,
151
152
  _props$scrollHidden = props.scrollHidden,
@@ -242,10 +243,15 @@ function usePopper(locatorElement, popperElement, props) {
242
243
  _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
243
244
  align = _useState16[0],
244
245
  setAlign = _useState16[1];
245
- var _useState17 = (0, _react.useState)(placement),
246
+ var _useState17 = (0, _react.useState)((0, _includes.default)(Placements).call(Placements, placement) ? placement : DEFAULT_PLACEMENT),
246
247
  _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
247
248
  nextPlacement = _useState18[0],
248
249
  setNextPlacement = _useState18[1];
250
+ (0, _react.useEffect)(function () {
251
+ if (nextPlacement !== placement && (0, _includes.default)(Placements).call(Placements, placement)) {
252
+ setNextPlacement(placement);
253
+ }
254
+ }, [placement]);
249
255
  var alignPopper = (0, _react.useCallback)(function () {
250
256
  var realDom = getRealDom(locatorRef, locatorElement);
251
257
  if (realDom && (popperRef === null || popperRef === void 0 ? void 0 : popperRef.current)) {
@@ -259,6 +265,10 @@ function usePopper(locatorElement, popperElement, props) {
259
265
  right = _realDom$getBoundingC.right,
260
266
  height = _realDom$getBoundingC.height,
261
267
  width = _realDom$getBoundingC.width;
268
+ if (height === 0 && width === 0) {
269
+ hidePopper();
270
+ return;
271
+ }
262
272
  var _getOffsetPos = getOffsetPos(container),
263
273
  containerTop = _getOffsetPos.top,
264
274
  containerLeft = _getOffsetPos.left;
@@ -429,7 +439,7 @@ function usePopper(locatorElement, popperElement, props) {
429
439
  setArrowPos(_arrowPos);
430
440
  setNextPlacement(currentPlacement);
431
441
  }
432
- }, [locatorRef, popperRef, container, trigger, mousePos, autoPlacement, gap, arrowOffset, arrowSize, arrowWidth]);
442
+ }, [locatorRef, popperRef, container, trigger, mousePos, autoPlacement, gap, arrowOffset, arrowSize, arrowWidth, align === null || align === void 0 ? void 0 : align.left, align === null || align === void 0 ? void 0 : align.top, nextPlacement]);
433
443
  (0, _react.useEffect)(function () {
434
444
  if (canAlign) {
435
445
  alignPopper();
@@ -554,13 +564,9 @@ function usePopper(locatorElement, popperElement, props) {
554
564
  }, 10);
555
565
  window.addEventListener('resize', alignPopper);
556
566
  document.addEventListener('scroll', scrollAlign, true);
557
- locatorNode === null || locatorNode === void 0 ? void 0 : locatorNode.addEventListener('DOMSubtreeModified', alignPopper);
558
- exist && (popperNode === null || popperNode === void 0 ? void 0 : popperNode.addEventListener('DOMSubtreeModified', alignPopper));
559
567
  return function () {
560
568
  window.removeEventListener('resize', alignPopper);
561
569
  document.removeEventListener('scroll', scrollAlign, true);
562
- locatorNode === null || locatorNode === void 0 ? void 0 : locatorNode.removeEventListener('DOMSubtreeModified', alignPopper);
563
- exist && (popperNode === null || popperNode === void 0 ? void 0 : popperNode.removeEventListener('DOMSubtreeModified', alignPopper));
564
570
  };
565
571
  }
566
572
  }, [alignPopper, exist, onVisibleChange, popperNode, props.visible, scrollHidden, locatorNode, visible, popperRef]);
@@ -192,6 +192,7 @@ var InternalAnchor = function InternalAnchor(props, ref) {
192
192
  var normalRef = _react.default.useRef(null);
193
193
  var anchorRef = ref || normalRef;
194
194
  var linksWidthRef = _react.default.useRef([]);
195
+ var animating = _react.default.useRef(false);
195
196
  var wrapperClass = (0, _classnames.default)(className, (0, _defineProperty2.default)({}, "".concat(anchorPrefixCls, "-wrapper"), true));
196
197
  // classes
197
198
  var anchorMenuClass = (0, _classnames.default)((0, _defineProperty2.default)({}, "".concat(anchorPrefixCls, "-menu"), true));
@@ -311,8 +312,12 @@ var InternalAnchor = function InternalAnchor(props, ref) {
311
312
  var eleOffsetTop = getOffsetTop(targetElement, container);
312
313
  var y = scrollTop + eleOffsetTop;
313
314
  y -= targetOffset !== undefined ? targetOffset : offsetTop || 0;
315
+ animating.current = true;
314
316
  scrollTo(y, {
315
- getContainer: getScrollContainer
317
+ getContainer: getScrollContainer,
318
+ callback: function callback() {
319
+ animating.current = false;
320
+ }
316
321
  });
317
322
  };
318
323
  var setCurrentActiveLink = (0, _react.useCallback)(function (link) {
@@ -333,6 +338,9 @@ var InternalAnchor = function InternalAnchor(props, ref) {
333
338
  setFixedTop(false);
334
339
  }
335
340
  }
341
+ if (animating.current) {
342
+ return;
343
+ }
336
344
  var currentActiveLink = getAnchor(targetOffset !== undefined ? targetOffset : offsetTop || 0, bounds);
337
345
  currentActiveLink && setCurrentActiveLink(currentActiveLink);
338
346
  }, [affix, setFixedTop, offsetTop, bounds, getAnchor, setCurrentActiveLink, type, getScrollContainer, anchorRef, targetOffset]);
@@ -340,7 +348,8 @@ var InternalAnchor = function InternalAnchor(props, ref) {
340
348
  getScrollContainer().addEventListener('scroll', handleScroll);
341
349
  handleScroll();
342
350
  return function () {
343
- return getScrollContainer().removeEventListener('scroll', handleScroll);
351
+ var _a;
352
+ return (_a = getScrollContainer()) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', handleScroll);
344
353
  };
345
354
  }, [handleScroll, getScrollContainer]);
346
355
  (0, _react.useEffect)(function () {
@@ -250,7 +250,6 @@
250
250
  }
251
251
  .kd-city-picker-dropdown {
252
252
  display: block;
253
- left: 0;
254
253
  z-index: var(--kd-c-city-picker-z-index, var(--kd-g-z-index-popper, 1050));
255
254
  -webkit-box-sizing: border-box;
256
255
  box-sizing: border-box;
@@ -142,7 +142,6 @@
142
142
 
143
143
  &-dropdown {
144
144
  display: block;
145
- left: 0;
146
145
  z-index: @city-picker-z-index;
147
146
  box-sizing: border-box;
148
147
  margin: 0;
@@ -89,7 +89,7 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
89
89
  setColTypeArr(formatArr);
90
90
  }
91
91
  setClickedColorIndex(index);
92
- onChange && onChange(formatValue, colTypeArr);
92
+ onChange && onChange(formatValue, formatArr);
93
93
  };
94
94
  var handleTypeChange = function handleTypeChange(selectValue, option) {
95
95
  setCurrentColorType(option.label);
@@ -11,7 +11,7 @@ exports.default = void 0;
11
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
12
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
13
13
  var _react = _interopRequireWildcard(require("react"));
14
- var _classnames3 = _interopRequireDefault(require("classnames"));
14
+ var _classnames4 = _interopRequireDefault(require("classnames"));
15
15
  var _month = _interopRequireDefault(require("./panel/month/month"));
16
16
  var _year = _interopRequireDefault(require("./panel/year/year"));
17
17
  var _quarter = _interopRequireDefault(require("./panel/quarter/quarter"));
@@ -35,6 +35,8 @@ function Panel(props) {
35
35
  innerPicker = context.innerPicker,
36
36
  setInnerPicker = context.setInnerPicker;
37
37
  var isInnerPicker = innerPicker !== undefined;
38
+ var isInnerYear = innerPicker === 'year';
39
+ var isInnerMonth = innerPicker === 'month';
38
40
  var isPositionLeft = panelPosition === 'left';
39
41
  var isPositionRight = panelPosition === 'right';
40
42
  var isPositionUnset = typeof panelPosition === 'undefined';
@@ -60,14 +62,20 @@ function Panel(props) {
60
62
  }));
61
63
  };
62
64
  var renderMonthPanel = function renderMonthPanel() {
65
+ if (isInnerYear) {
66
+ return renderYearPanel();
67
+ }
63
68
  return /*#__PURE__*/_react.default.createElement(_month.default, (0, _extends2.default)({}, props));
64
69
  };
65
70
  var renderQuarterPanel = function renderQuarterPanel() {
71
+ if (isInnerYear) {
72
+ return renderYearPanel();
73
+ }
66
74
  return /*#__PURE__*/_react.default.createElement(_quarter.default, (0, _extends2.default)({}, props));
67
75
  };
68
76
  var renderDatePanel = function renderDatePanel() {
69
77
  if (isInnerPicker) {
70
- if (innerPicker === 'year') {
78
+ if (isInnerYear) {
71
79
  return renderYearPanel();
72
80
  } else {
73
81
  return renderMonthPanel();
@@ -120,41 +128,38 @@ function Panel(props) {
120
128
  var _getYearsPeriod = (0, _dateFns.getYearsPeriod)(viewDate, yearItemNumber),
121
129
  startPeriod = _getYearsPeriod.startPeriod,
122
130
  endPeriod = _getYearsPeriod.endPeriod;
123
- var headerCls = (0, _classnames3.default)("".concat(prefixCls, "-header"), "".concat(prefixCls, "-header-year"));
131
+ var headerCls = (0, _classnames4.default)("".concat(prefixCls, "-header"), "".concat(prefixCls, "-header-year"));
124
132
  return {
125
133
  children: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, startPeriod, " - ", endPeriod),
126
134
  className: headerCls
127
135
  };
128
136
  };
137
+ var onHeaderYearClick = function onHeaderYearClick() {
138
+ setInnerPicker('year');
139
+ };
140
+ var onHeaderMonthClick = function onHeaderMonthClick() {
141
+ setInnerPicker('month');
142
+ };
129
143
  var renderMonthHeader = function renderMonthHeader() {
130
144
  var year = (0, _dateFns.getYear)(viewDate);
131
- var headerCls = (0, _classnames3.default)("".concat(prefixCls, "-header"), "".concat(prefixCls, "-header-month"));
145
+ var headerCls = (0, _classnames4.default)("".concat(prefixCls, "-header"), "".concat(prefixCls, "-header-month"), "".concat(prefixCls, "-header-text-inner-hover"), (0, _defineProperty2.default)({}, "".concat(prefixCls, "-header-text-inner-active"), isInnerYear));
132
146
  return {
133
- children: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, year + locale.year),
147
+ children: /*#__PURE__*/_react.default.createElement("span", {
148
+ onClick: onHeaderYearClick
149
+ }, year + locale.year),
134
150
  className: headerCls
135
151
  };
136
152
  };
137
- var onHeaderYearClick = function onHeaderYearClick() {
138
- if (picker === 'date') {
139
- setInnerPicker('year');
140
- }
141
- };
142
- var onHeaderMonthClick = function onHeaderMonthClick() {
143
- if (picker === 'date') {
144
- setInnerPicker('month');
145
- }
146
- };
147
153
  var renderDateHeader = function renderDateHeader() {
148
- var _classnames, _classnames2;
149
154
  var year = (0, _dateFns.getYear)(viewDate);
150
155
  var month = (0, _dateFns.getMonth)(viewDate) + 1;
151
- var headerCls = (0, _classnames3.default)("".concat(prefixCls, "-header"), "".concat(prefixCls, "-header-date"));
156
+ var headerCls = (0, _classnames4.default)("".concat(prefixCls, "-header"), "".concat(prefixCls, "-header-date"));
152
157
  return {
153
158
  children: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
154
- className: (0, _classnames3.default)("".concat(prefixCls, "-header-text-inner"), (_classnames = {}, (0, _defineProperty2.default)(_classnames, "".concat(prefixCls, "-header-text-inner-active"), innerPicker === 'year'), (0, _defineProperty2.default)(_classnames, "".concat(prefixCls, "-header-text-inner-hover"), picker === 'date'), _classnames)),
159
+ className: (0, _classnames4.default)("".concat(prefixCls, "-header-text-inner"), "".concat(prefixCls, "-header-text-inner-hover"), (0, _defineProperty2.default)({}, "".concat(prefixCls, "-header-text-inner-active"), isInnerYear)),
155
160
  onClick: onHeaderYearClick
156
161
  }, year + locale.year), /*#__PURE__*/_react.default.createElement("span", {
157
- className: (0, _classnames3.default)("".concat(prefixCls, "-header-text-inner"), (_classnames2 = {}, (0, _defineProperty2.default)(_classnames2, "".concat(prefixCls, "-header-text-inner-active"), innerPicker === 'month'), (0, _defineProperty2.default)(_classnames2, "".concat(prefixCls, "-header-text-inner-hover"), picker === 'date'), _classnames2)),
162
+ className: (0, _classnames4.default)("".concat(prefixCls, "-header-text-inner"), "".concat(prefixCls, "-header-text-inner-hover"), (0, _defineProperty2.default)({}, "".concat(prefixCls, "-header-text-inner-active"), isInnerMonth)),
158
163
  onClick: onHeaderMonthClick
159
164
  }, month + locale.month)),
160
165
  className: headerCls
@@ -162,7 +167,7 @@ function Panel(props) {
162
167
  };
163
168
  var onSuperPrev = function onSuperPrev() {
164
169
  var date;
165
- if (picker === 'year' || innerPicker === 'year') {
170
+ if (picker === 'year' || isInnerYear) {
166
171
  var _props$yearItemNumber3 = props.yearItemNumber,
167
172
  yearItemNumber = _props$yearItemNumber3 === void 0 ? _dateFns.DEFAULT_YEAR_ITEM_NUMBER : _props$yearItemNumber3;
168
173
  date = (0, _dateFns.addYears)(viewDate, 0 - yearItemNumber);
@@ -173,7 +178,7 @@ function Panel(props) {
173
178
  };
174
179
  var onSuperNext = function onSuperNext() {
175
180
  var date;
176
- if (picker === 'year' || innerPicker === 'year') {
181
+ if (picker === 'year' || isInnerYear) {
177
182
  var _props$yearItemNumber4 = props.yearItemNumber,
178
183
  yearItemNumber = _props$yearItemNumber4 === void 0 ? _dateFns.DEFAULT_YEAR_ITEM_NUMBER : _props$yearItemNumber4;
179
184
  var _viewDate = viewDate;
@@ -217,8 +222,8 @@ function Panel(props) {
217
222
  panel = renderMonthPanel();
218
223
  headerObj = renderMonthHeader();
219
224
  headerProps = {
220
- onSuperPrev: isPositionRight ? undefined : onSuperPrev,
221
- onSuperNext: isPositionLeft ? undefined : onSuperNext
225
+ onSuperPrev: !isPositionRight || innerPicker ? onSuperPrev : undefined,
226
+ onSuperNext: !isPositionLeft || innerPicker ? onSuperNext : undefined
222
227
  };
223
228
  break;
224
229
  }
@@ -227,8 +232,8 @@ function Panel(props) {
227
232
  panel = renderQuarterPanel();
228
233
  headerObj = renderMonthHeader();
229
234
  headerProps = {
230
- onSuperPrev: isPositionRight ? undefined : onSuperPrev,
231
- onSuperNext: isPositionLeft ? undefined : onSuperNext
235
+ onSuperPrev: !isPositionRight || innerPicker ? onSuperPrev : undefined,
236
+ onSuperNext: !isPositionLeft || innerPicker ? onSuperNext : undefined
232
237
  };
233
238
  break;
234
239
  }
@@ -237,10 +242,10 @@ function Panel(props) {
237
242
  {
238
243
  headerObj = renderDateHeader();
239
244
  headerProps = {
240
- onPrev: isPositionLeft && !isInnerPicker || innerPicker === 'month' || isPositionUnset ? onPrev : undefined,
241
- onNext: isPositionRight && !isInnerPicker || innerPicker === 'month' || isPositionUnset ? onNext : undefined,
242
- onSuperPrev: isPositionLeft && !isInnerPicker || innerPicker === 'year' || isPositionUnset ? onSuperPrev : undefined,
243
- onSuperNext: isPositionRight && !isInnerPicker || innerPicker === 'year' || isPositionUnset ? onSuperNext : undefined
245
+ onPrev: isPositionLeft && !isInnerPicker || isInnerMonth || isPositionUnset ? onPrev : undefined,
246
+ onNext: isPositionRight && !isInnerPicker || isInnerMonth || isPositionUnset ? onNext : undefined,
247
+ onSuperPrev: isPositionLeft && !isInnerPicker || isInnerYear || isPositionUnset ? onSuperPrev : undefined,
248
+ onSuperNext: isPositionRight && !isInnerPicker || isInnerYear || isPositionUnset ? onSuperNext : undefined
244
249
  };
245
250
  panel = renderDatePanel();
246
251
  break;
@@ -250,10 +255,10 @@ function Panel(props) {
250
255
  panel = renderDatePanel();
251
256
  headerObj = renderDateHeader();
252
257
  headerProps = {
253
- onPrev: isPositionRight ? undefined : onPrev,
254
- onNext: isPositionLeft ? undefined : onNext,
255
- onSuperPrev: isPositionRight ? undefined : onSuperPrev,
256
- onSuperNext: isPositionLeft ? undefined : onSuperNext
258
+ onPrev: isPositionLeft && !isInnerPicker || isInnerMonth || isPositionUnset ? onPrev : undefined,
259
+ onNext: isPositionRight && !isInnerPicker || isInnerMonth || isPositionUnset ? onNext : undefined,
260
+ onSuperPrev: isPositionLeft && !isInnerPicker || isInnerYear || isPositionUnset ? onSuperPrev : undefined,
261
+ onSuperNext: isPositionRight && !isInnerPicker || isInnerYear || isPositionUnset ? onSuperNext : undefined
257
262
  };
258
263
  break;
259
264
  }
@@ -268,7 +273,7 @@ function Panel(props) {
268
273
  }
269
274
  }
270
275
  var showHeader = !(picker === 'date' && showTime || picker === 'time') || innerPicker !== undefined;
271
- var containerCls = (0, _classnames3.default)("".concat(prefixCls, "-warpper"));
276
+ var containerCls = (0, _classnames4.default)("".concat(prefixCls, "-warpper"));
272
277
  return /*#__PURE__*/_react.default.createElement("div", {
273
278
  className: containerCls
274
279
  }, showHeader ? getHeader() : null, panel);
@@ -162,7 +162,7 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
162
162
  if (newText === '') {
163
163
  triggerChange(null);
164
164
  setViewDate(null);
165
- } else if (newText && newText.length === _format.length) {
165
+ } else if (newText && newText.length >= _format.length) {
166
166
  var inputTempDate = (0, _dateFns.parseDate)(newText, _format);
167
167
  if (inputTempDate && (!disabledDate || !disabledDate(inputTempDate))) {
168
168
  if (picker !== 'year') {
@@ -229,6 +229,9 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
229
229
  if (valueText !== text) {
230
230
  resetText();
231
231
  }
232
+ if (hoverValue) {
233
+ onLeave();
234
+ }
232
235
  } else {
233
236
  setInnerPicker(undefined);
234
237
  }
@@ -36,8 +36,6 @@ function usePickerInput(_ref) {
36
36
  },
37
37
  onKeyDown: function onKeyDown(e) {
38
38
  var _context;
39
- setTyping(true);
40
- triggerOpen(true);
41
39
  switch (e.which) {
42
40
  case _KeyCode.default.ENTER:
43
41
  {
@@ -53,8 +51,9 @@ function usePickerInput(_ref) {
53
51
  {
54
52
  if (typing && open && !e.shiftKey) {
55
53
  setTyping(false);
56
- e.preventDefault();
54
+ // e.preventDefault()
57
55
  }
56
+
58
57
  return;
59
58
  }
60
59
  case _KeyCode.default.ESC: