@douyinfe/semi-ui 2.6.0-beta.0 → 2.7.0

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 (105) hide show
  1. package/button/__test__/button.test.js +7 -0
  2. package/button/buttonGroup.tsx +5 -2
  3. package/button/index.tsx +1 -1
  4. package/cascader/__test__/cascader.test.js +159 -81
  5. package/cascader/_story/cascader.stories.js +36 -23
  6. package/cascader/index.tsx +26 -5
  7. package/datePicker/_story/v2/InsetInput.jsx +104 -0
  8. package/datePicker/_story/v2/InsetInputE2E.jsx +69 -0
  9. package/datePicker/_story/v2/index.js +2 -0
  10. package/datePicker/dateInput.tsx +95 -9
  11. package/datePicker/datePicker.tsx +89 -15
  12. package/datePicker/index.tsx +15 -0
  13. package/datePicker/insetInput.tsx +76 -0
  14. package/datePicker/monthsGrid.tsx +14 -7
  15. package/dist/css/semi.css +105 -2
  16. package/dist/css/semi.min.css +1 -1
  17. package/dist/umd/semi-ui.js +949 -163
  18. package/dist/umd/semi-ui.js.map +1 -1
  19. package/dist/umd/semi-ui.min.js +1 -1
  20. package/dist/umd/semi-ui.min.js.map +1 -1
  21. package/form/hooks/useFormApi.tsx +3 -2
  22. package/input/_story/input.stories.js +13 -0
  23. package/lib/cjs/button/Button.d.ts +4 -4
  24. package/lib/cjs/button/buttonGroup.d.ts +3 -2
  25. package/lib/cjs/button/buttonGroup.js +6 -2
  26. package/lib/cjs/button/index.d.ts +5 -6
  27. package/lib/cjs/cascader/index.d.ts +1 -0
  28. package/lib/cjs/cascader/index.js +38 -9
  29. package/lib/cjs/datePicker/dateInput.d.ts +9 -2
  30. package/lib/cjs/datePicker/dateInput.js +92 -9
  31. package/lib/cjs/datePicker/datePicker.d.ts +7 -2
  32. package/lib/cjs/datePicker/datePicker.js +123 -18
  33. package/lib/cjs/datePicker/index.js +24 -2
  34. package/lib/cjs/datePicker/insetInput.d.ts +21 -0
  35. package/lib/cjs/datePicker/insetInput.js +80 -0
  36. package/lib/cjs/datePicker/monthsGrid.js +19 -7
  37. package/lib/cjs/form/hooks/useFormApi.d.ts +2 -1
  38. package/lib/cjs/iconButton/index.d.ts +2 -2
  39. package/lib/cjs/navigation/Item.d.ts +2 -2
  40. package/lib/cjs/navigation/Item.js +8 -6
  41. package/lib/cjs/navigation/SubNav.js +2 -2
  42. package/lib/cjs/radio/radioGroup.js +6 -0
  43. package/lib/cjs/select/index.js +5 -2
  44. package/lib/cjs/table/Body/index.d.ts +2 -0
  45. package/lib/cjs/table/Body/index.js +13 -4
  46. package/lib/cjs/tag/group.d.ts +2 -0
  47. package/lib/cjs/tag/group.js +4 -2
  48. package/lib/cjs/tooltip/index.js +6 -2
  49. package/lib/cjs/tree/index.js +5 -3
  50. package/lib/cjs/tree/interface.d.ts +1 -0
  51. package/lib/cjs/tree/nodeList.js +3 -1
  52. package/lib/cjs/treeSelect/index.js +11 -3
  53. package/lib/es/button/Button.d.ts +4 -4
  54. package/lib/es/button/buttonGroup.d.ts +3 -2
  55. package/lib/es/button/buttonGroup.js +5 -2
  56. package/lib/es/button/index.d.ts +5 -6
  57. package/lib/es/cascader/index.d.ts +1 -0
  58. package/lib/es/cascader/index.js +35 -6
  59. package/lib/es/datePicker/dateInput.d.ts +9 -2
  60. package/lib/es/datePicker/dateInput.js +91 -9
  61. package/lib/es/datePicker/datePicker.d.ts +7 -2
  62. package/lib/es/datePicker/datePicker.js +124 -18
  63. package/lib/es/datePicker/index.js +20 -0
  64. package/lib/es/datePicker/insetInput.d.ts +21 -0
  65. package/lib/es/datePicker/insetInput.js +65 -0
  66. package/lib/es/datePicker/monthsGrid.js +19 -7
  67. package/lib/es/form/hooks/useFormApi.d.ts +2 -1
  68. package/lib/es/iconButton/index.d.ts +2 -2
  69. package/lib/es/navigation/Item.d.ts +2 -2
  70. package/lib/es/navigation/Item.js +8 -6
  71. package/lib/es/navigation/SubNav.js +2 -2
  72. package/lib/es/radio/radioGroup.js +6 -0
  73. package/lib/es/select/index.js +5 -2
  74. package/lib/es/table/Body/index.d.ts +2 -0
  75. package/lib/es/table/Body/index.js +13 -4
  76. package/lib/es/tag/group.d.ts +2 -0
  77. package/lib/es/tag/group.js +4 -2
  78. package/lib/es/tooltip/index.js +6 -2
  79. package/lib/es/tree/index.js +5 -3
  80. package/lib/es/tree/interface.d.ts +1 -0
  81. package/lib/es/tree/nodeList.js +3 -1
  82. package/lib/es/treeSelect/index.js +11 -3
  83. package/navigation/Item.tsx +15 -12
  84. package/navigation/SubNav.tsx +4 -4
  85. package/package.json +9 -9
  86. package/radio/__test__/radioGroup.test.jsx +9 -1
  87. package/radio/_story/radio.stories.js +22 -1
  88. package/radio/radioGroup.tsx +9 -0
  89. package/select/_story/select.stories.js +73 -2
  90. package/select/index.tsx +5 -3
  91. package/table/Body/index.tsx +15 -4
  92. package/table/__test__/table.test.js +18 -0
  93. package/table/_story/v2/FixedExpandedRow/index.jsx +95 -0
  94. package/table/_story/v2/index.js +2 -1
  95. package/tag/group.tsx +5 -3
  96. package/tooltip/_story/tooltip.stories.js +702 -625
  97. package/tooltip/index.tsx +2 -2
  98. package/tree/__test__/tree.test.js +87 -2
  99. package/tree/_story/tree.stories.js +65 -5
  100. package/tree/index.tsx +4 -2
  101. package/tree/interface.ts +1 -0
  102. package/tree/nodeList.tsx +3 -2
  103. package/treeSelect/__test__/treeSelect.test.js +28 -0
  104. package/treeSelect/_story/treeSelect.stories.js +55 -2
  105. package/treeSelect/index.tsx +14 -3
@@ -24247,25 +24247,25 @@ class foundation_Tooltip extends foundation {
24247
24247
  break;
24248
24248
 
24249
24249
  case 'leftTopOver':
24250
- left = triggerRect.left;
24251
- top = triggerRect.top;
24250
+ left = triggerRect.left - SPACING;
24251
+ top = triggerRect.top - SPACING;
24252
24252
  break;
24253
24253
 
24254
24254
  case 'rightTopOver':
24255
- left = triggerRect.right;
24256
- top = triggerRect.top;
24255
+ left = triggerRect.right + SPACING;
24256
+ top = triggerRect.top - SPACING;
24257
24257
  translateX = -1;
24258
24258
  break;
24259
24259
 
24260
24260
  case 'leftBottomOver':
24261
- left = triggerRect.left;
24262
- top = triggerRect.bottom;
24261
+ left = triggerRect.left - SPACING;
24262
+ top = triggerRect.bottom + SPACING;
24263
24263
  translateY = -1;
24264
24264
  break;
24265
24265
 
24266
24266
  case 'rightBottomOver':
24267
- left = triggerRect.right;
24268
- top = triggerRect.bottom;
24267
+ left = triggerRect.right + SPACING;
24268
+ top = triggerRect.bottom + SPACING;
24269
24269
  translateX = -1;
24270
24270
  translateY = -1;
24271
24271
  break;
@@ -26895,7 +26895,9 @@ class tooltip_Tooltip extends baseComponent_BaseComponent {
26895
26895
  } = _ref;
26896
26896
  return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", assign_default()({
26897
26897
  className: classnames_default()(className, animateCls),
26898
- style: assign_default()(assign_default()(assign_default()({}, animateStyle), {
26898
+ style: assign_default()(assign_default()(assign_default()({
26899
+ visibility: 'visible'
26900
+ }, animateStyle), {
26899
26901
  transformOrigin
26900
26902
  }), style)
26901
26903
  }, portalEventSet, animateEvents, {
@@ -26907,7 +26909,9 @@ class tooltip_Tooltip extends baseComponent_BaseComponent {
26907
26909
  className: className
26908
26910
  }, portalEventSet, {
26909
26911
  "x-placement": placement,
26910
- style: style
26912
+ style: assign_default()({
26913
+ visibility: motion ? undefined : 'visible'
26914
+ }, style)
26911
26915
  }), content, icon);
26912
26916
  return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(_portal, {
26913
26917
  getPopupContainer: this.props.getPopupContainer,
@@ -36381,6 +36385,7 @@ var buttonGroup_rest = undefined && undefined.__rest || function (s, e) {
36381
36385
 
36382
36386
 
36383
36387
 
36388
+
36384
36389
  const buttonGroup_prefixCls = button_constants_cssClasses.PREFIX;
36385
36390
  const buttonGroup_btnSizes = button_constants_strings.sizes;
36386
36391
  class buttonGroup_ButtonGroup extends baseComponent_BaseComponent {
@@ -36391,11 +36396,13 @@ class buttonGroup_ButtonGroup extends baseComponent_BaseComponent {
36391
36396
  disabled,
36392
36397
  size,
36393
36398
  type,
36399
+ className,
36394
36400
  'aria-label': ariaLabel
36395
36401
  } = _a,
36396
- rest = buttonGroup_rest(_a, ["children", "disabled", "size", "type", 'aria-label']);
36402
+ rest = buttonGroup_rest(_a, ["children", "disabled", "size", "type", "className", 'aria-label']);
36397
36403
 
36398
36404
  let inner;
36405
+ const cls = classnames_default()("".concat(buttonGroup_prefixCls, "-group"), className);
36399
36406
 
36400
36407
  if (children) {
36401
36408
  var _context;
@@ -36410,7 +36417,7 @@ class buttonGroup_ButtonGroup extends baseComponent_BaseComponent {
36410
36417
  }
36411
36418
 
36412
36419
  return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
36413
- className: "".concat(buttonGroup_prefixCls, "-group"),
36420
+ className: cls,
36414
36421
  role: "group",
36415
36422
  "aria-label": ariaLabel
36416
36423
  }, inner);
@@ -47182,6 +47189,36 @@ class cascader_Cascader extends baseComponent_BaseComponent {
47182
47189
  return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Fragment, null, displayTag, !isEmpty_default()(hiddenTag) && this.renderPlusN(hiddenTag));
47183
47190
  };
47184
47191
 
47192
+ this.renderDisplayText = () => {
47193
+ const {
47194
+ displayProp,
47195
+ separator,
47196
+ displayRender
47197
+ } = this.props;
47198
+ const {
47199
+ selectedKeys
47200
+ } = this.state;
47201
+ let displayText = '';
47202
+
47203
+ if (selectedKeys.size) {
47204
+ const displayPath = this.foundation.getItemPropPath([...selectedKeys][0], displayProp);
47205
+
47206
+ if (displayRender && typeof displayRender === 'function') {
47207
+ displayText = displayRender(displayPath);
47208
+ } else {
47209
+ displayText = map_default()(displayPath).call(displayPath, (path, index) => {
47210
+ var _context3;
47211
+
47212
+ return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(external_root_React_commonjs2_react_commonjs_react_amd_react_["Fragment"], {
47213
+ key: concat_default()(_context3 = "".concat(path, "-")).call(_context3, index)
47214
+ }, index < displayPath.length - 1 ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Fragment, null, path, separator) : path);
47215
+ });
47216
+ }
47217
+ }
47218
+
47219
+ return displayText;
47220
+ };
47221
+
47185
47222
  this.renderSelectContent = () => {
47186
47223
  const {
47187
47224
  placeholder,
@@ -47189,7 +47226,6 @@ class cascader_Cascader extends baseComponent_BaseComponent {
47189
47226
  multiple
47190
47227
  } = this.props;
47191
47228
  const {
47192
- selectedKeys,
47193
47229
  checkedKeys
47194
47230
  } = this.state;
47195
47231
  const searchable = Boolean(filterTreeNode);
@@ -47204,9 +47240,9 @@ class cascader_Cascader extends baseComponent_BaseComponent {
47204
47240
 
47205
47241
  return this.renderMultipleTags();
47206
47242
  } else {
47207
- const displayText = selectedKeys.size ? this.foundation.renderDisplayText([...selectedKeys][0]) : '';
47243
+ const displayText = this.renderDisplayText();
47208
47244
  const spanCls = classnames_default()({
47209
- ["".concat(cascader_prefixcls, "-selection-placeholder")]: !displayText || !displayText.length
47245
+ ["".concat(cascader_prefixcls, "-selection-placeholder")]: !displayText
47210
47246
  });
47211
47247
  return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
47212
47248
  className: spanCls
@@ -47751,7 +47787,7 @@ class cascader_Cascader extends baseComponent_BaseComponent {
47751
47787
  }
47752
47788
 
47753
47789
  renderTagInput() {
47754
- var _context3;
47790
+ var _context4;
47755
47791
 
47756
47792
  const {
47757
47793
  size,
@@ -47771,7 +47807,7 @@ class cascader_Cascader extends baseComponent_BaseComponent {
47771
47807
  const tagValue = [];
47772
47808
  const realKeys = this.mergeType === cascader_constants_strings.NONE_MERGE_TYPE ? checkedKeys : resolvedCheckedKeys;
47773
47809
 
47774
- for_each_default()(_context3 = [...realKeys]).call(_context3, checkedKey => {
47810
+ for_each_default()(_context4 = [...realKeys]).call(_context4, checkedKey => {
47775
47811
  if (!isEmpty_default()(keyEntities[checkedKey])) {
47776
47812
  tagValue.push(keyEntities[checkedKey].valuePath);
47777
47813
  }
@@ -48705,6 +48741,70 @@ function forwardStatics(obj, srcObj) {
48705
48741
 
48706
48742
  return obj;
48707
48743
  }
48744
+ // CONCATENATED MODULE: ../semi-foundation/datePicker/constants.ts
48745
+
48746
+
48747
+
48748
+ const dayItemClasses = {
48749
+ DAY_TODAY: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-today"),
48750
+ DAY_IN_RANGE: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-inrange"),
48751
+ DAY_HOVER: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-inhover"),
48752
+ DAY_SELECTED: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-selected"),
48753
+ DAY_SELECTED_START: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-selected-start"),
48754
+ DAY_SELECTED_END: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-selected-end"),
48755
+ DAY_DISABLED: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-disabled"),
48756
+ DAY_HOVER_DAY: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-hoverday"),
48757
+ DAY_HOVER_DAY_OFFSET: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-hoverday-offset"),
48758
+ DAY_IN_OFFSET_RANGE: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-inoffsetrange"),
48759
+ DAY_SELECTED_RANGE_HOVER: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-selectedrange-hover"),
48760
+ DAY_OFFSET_RANGE_START: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-offsetrange-start"),
48761
+ DAY_OFFSET_RANGE_END: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-offsetrange-end"),
48762
+ DAY_SELECTED_START_AFTER_HOVER: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-selected-start-afterhover"),
48763
+ DAY_SELECTED_END_BEFORE_HOVER: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-selected-end-beforehover"),
48764
+ DAY_HOVER_DAY_BEFORE_RANGE: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-hoverday-beforerange"),
48765
+ DAY_HOVER_DAY_AFTER_RANGE: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-hoverday-afterrange"),
48766
+ DAY_HOVER_DAY_IN_RANGE: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-hoverday-inrange"),
48767
+ DAY_HOVER_DAY_AROUND_SINGLE_SELECTED: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-hoverday-around-singleselected")
48768
+ };
48769
+
48770
+ const datePicker_constants_cssClasses = assign_default()({
48771
+ PREFIX: "".concat(BASE_CLASS_PREFIX, "-datepicker"),
48772
+ NAVIGATION: "".concat(BASE_CLASS_PREFIX, "-datepicker-navigation"),
48773
+ PANEL_YAM: "".concat(BASE_CLASS_PREFIX, "-datepicker-panel-yam"),
48774
+ MONTH: "".concat(BASE_CLASS_PREFIX, "-datepicker-month"),
48775
+ WEEKDAY: "".concat(BASE_CLASS_PREFIX, "-datepicker-weekday"),
48776
+ WEEKS: "".concat(BASE_CLASS_PREFIX, "-datepicker-weeks"),
48777
+ WEEK: "".concat(BASE_CLASS_PREFIX, "-datepicker-week"),
48778
+ DAY: "".concat(BASE_CLASS_PREFIX, "-datepicker-day")
48779
+ }, dayItemClasses);
48780
+
48781
+ const constants_formatToken = {
48782
+ FORMAT_FULL_DATE: 'yyyy-MM-dd',
48783
+ FORMAT_TIME_PICKER: 'HH:mm:ss',
48784
+ FORMAT_DATE_TIME: 'yyyy-MM-dd HH:mm:ss',
48785
+ FORMAT_YEAR_MONTH: 'yyyy-MM'
48786
+ };
48787
+
48788
+ const datePicker_constants_strings = assign_default()({
48789
+ DEFAULT_SEPARATOR_MULTIPLE: ',',
48790
+ DEFAULT_SEPARATOR_RANGE: ' ~ ',
48791
+ SIZE_SET: ['small', 'default', 'large'],
48792
+ TYPE_SET: ['date', 'dateRange', 'year', 'month', 'dateTime', 'dateTimeRange'],
48793
+ DENSITY_SET: ['default', 'compact'],
48794
+ PANEL_TYPE_LEFT: 'left',
48795
+ PANEL_TYPE_RIGHT: 'right',
48796
+ STATUS: VALIDATE_STATUS,
48797
+ POSITION_SET: popover_constants_strings.POSITION_SET,
48798
+ POSITION_INLINE_INPUT: 'leftTopOver'
48799
+ }, constants_formatToken);
48800
+
48801
+ const datePicker_constants_numbers = {
48802
+ WEEK_START_ON: 0,
48803
+ WEEK_HEIGHT: 36,
48804
+ SPACING: constants_numbers.SPACING,
48805
+ SPACING_INSET_INPUT: 1
48806
+ };
48807
+
48708
48808
  // EXTERNAL MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash/isDate.js
48709
48809
  var lodash_isDate = __webpack_require__("+f76");
48710
48810
  var isDate_default = /*#__PURE__*/__webpack_require__.n(lodash_isDate);
@@ -52740,69 +52840,6 @@ function compatiableParse(value, formatToken, baseDate, locale) {
52740
52840
 
52741
52841
  return result;
52742
52842
  }
52743
- // CONCATENATED MODULE: ../semi-foundation/datePicker/constants.ts
52744
-
52745
-
52746
-
52747
- const dayItemClasses = {
52748
- DAY_TODAY: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-today"),
52749
- DAY_IN_RANGE: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-inrange"),
52750
- DAY_HOVER: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-inhover"),
52751
- DAY_SELECTED: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-selected"),
52752
- DAY_SELECTED_START: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-selected-start"),
52753
- DAY_SELECTED_END: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-selected-end"),
52754
- DAY_DISABLED: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-disabled"),
52755
- DAY_HOVER_DAY: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-hoverday"),
52756
- DAY_HOVER_DAY_OFFSET: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-hoverday-offset"),
52757
- DAY_IN_OFFSET_RANGE: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-inoffsetrange"),
52758
- DAY_SELECTED_RANGE_HOVER: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-selectedrange-hover"),
52759
- DAY_OFFSET_RANGE_START: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-offsetrange-start"),
52760
- DAY_OFFSET_RANGE_END: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-offsetrange-end"),
52761
- DAY_SELECTED_START_AFTER_HOVER: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-selected-start-afterhover"),
52762
- DAY_SELECTED_END_BEFORE_HOVER: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-selected-end-beforehover"),
52763
- DAY_HOVER_DAY_BEFORE_RANGE: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-hoverday-beforerange"),
52764
- DAY_HOVER_DAY_AFTER_RANGE: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-hoverday-afterrange"),
52765
- DAY_HOVER_DAY_IN_RANGE: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-hoverday-inrange"),
52766
- DAY_HOVER_DAY_AROUND_SINGLE_SELECTED: "".concat(BASE_CLASS_PREFIX, "-datepicker-day-hoverday-around-singleselected")
52767
- };
52768
-
52769
- const datePicker_constants_cssClasses = assign_default()({
52770
- PREFIX: "".concat(BASE_CLASS_PREFIX, "-datepicker"),
52771
- NAVIGATION: "".concat(BASE_CLASS_PREFIX, "-datepicker-navigation"),
52772
- PANEL_YAM: "".concat(BASE_CLASS_PREFIX, "-datepicker-panel-yam"),
52773
- MONTH: "".concat(BASE_CLASS_PREFIX, "-datepicker-month"),
52774
- WEEKDAY: "".concat(BASE_CLASS_PREFIX, "-datepicker-weekday"),
52775
- WEEKS: "".concat(BASE_CLASS_PREFIX, "-datepicker-weeks"),
52776
- WEEK: "".concat(BASE_CLASS_PREFIX, "-datepicker-week"),
52777
- DAY: "".concat(BASE_CLASS_PREFIX, "-datepicker-day")
52778
- }, dayItemClasses);
52779
-
52780
- const constants_formatToken = {
52781
- FORMAT_FULL_DATE: 'yyyy-MM-dd',
52782
- FORMAT_TIME_PICKER: 'HH:mm:ss',
52783
- FORMAT_DATE_TIME: 'yyyy-MM-dd HH:mm:ss',
52784
- FORMAT_YEAR_MONTH: 'yyyy-MM'
52785
- };
52786
-
52787
- const datePicker_constants_strings = assign_default()({
52788
- DEFAULT_SEPARATOR_MULTIPLE: ',',
52789
- DEFAULT_SEPARATOR_RANGE: ' ~ ',
52790
- SIZE_SET: ['small', 'default', 'large'],
52791
- TYPE_SET: ['date', 'dateRange', 'year', 'month', 'dateTime', 'dateTimeRange'],
52792
- DENSITY_SET: ['default', 'compact'],
52793
- PANEL_TYPE_LEFT: 'left',
52794
- PANEL_TYPE_RIGHT: 'right',
52795
- STATUS: VALIDATE_STATUS,
52796
- POSITION_SET: popover_constants_strings.POSITION_SET
52797
- }, constants_formatToken);
52798
-
52799
- const datePicker_constants_numbers = {
52800
- WEEK_START_ON: 0,
52801
- WEEK_HEIGHT: 36,
52802
- SPACING: constants_numbers.SPACING // Floating distance trigger interval
52803
-
52804
- };
52805
-
52806
52843
  // CONCATENATED MODULE: ../semi-foundation/datePicker/_utils/getDefaultFormatToken.ts
52807
52844
 
52808
52845
  const defaultFormatTokens = {
@@ -52819,6 +52856,122 @@ function getDefaultFormatTokenByType(type) {
52819
52856
  return type && defaultFormatTokens[type];
52820
52857
  }
52821
52858
  /* harmony default export */ var _utils_getDefaultFormatToken = (getDefaultFormatToken);
52859
+ // CONCATENATED MODULE: ../semi-foundation/datePicker/_utils/getInsetInputFormatToken.ts
52860
+
52861
+
52862
+ /**
52863
+ * 获取 insetInput 输入框的 placeholder
52864
+ * Get the placeholder of the insetInput input
52865
+ *
52866
+ * If type is time related, we only recognize the format like `dateFormat timeFormat`
52867
+ * - 'yyyy-MM-dd HH:mm:ss' // ok
52868
+ * - 'yyyy-MM-dd HH:mm:ss' // bad format
52869
+ *
52870
+ * @example
52871
+ * 'yyyy-MM-dd' => 'yyyy-MM-dd'
52872
+ * 'yyyy-MM' => 'yyyy-MM'
52873
+ * 'yyyy-MM-dd HH:mm:ss' => 'yyyy-MM-dd HH:mm:ss'
52874
+ * 'yyyy-MM-dd HH:mm' => 'yyyy-MM-dd HH:mm'
52875
+ * 'Pp' => 'yyyy-MM-dd'
52876
+ */
52877
+
52878
+ function getInsetInputFormatToken(options) {
52879
+ var _context;
52880
+
52881
+ const {
52882
+ format,
52883
+ type
52884
+ } = options;
52885
+ const dateReg = /([yMd]{0,4}[^a-z\s]*[yMd]{0,4}[^a-z\s]*[yMd]{0,4})/i;
52886
+ const dateTimeReg = /([yMd]{0,4}[^a-z\s]*[yMd]{0,4}[^a-z\s]*[yMd]{0,4}) (H{0,2}[^a-z\s]*m{0,2}[^a-z\s]*s{0,2})/i;
52887
+ const defaultToken = getDefaultFormatTokenByType(type);
52888
+ let insetInputFormat;
52889
+
52890
+ switch (type) {
52891
+ case 'dateTime':
52892
+ case 'dateTimeRange':
52893
+ const dateTimeResult = dateTimeReg.exec(format);
52894
+ insetInputFormat = dateTimeResult && dateTimeResult[1] && dateTimeResult[2] ? concat_default()(_context = "".concat(dateTimeResult[1], " ")).call(_context, dateTimeResult[2]) : defaultToken;
52895
+ break;
52896
+
52897
+ case 'date':
52898
+ case 'month':
52899
+ case 'dateRange':
52900
+ default:
52901
+ const dateResult = dateReg.exec(format);
52902
+ insetInputFormat = dateResult && dateResult[1] || defaultToken;
52903
+ break;
52904
+ }
52905
+
52906
+ return insetInputFormat;
52907
+ }
52908
+ // CONCATENATED MODULE: ../semi-foundation/datePicker/_utils/getInsetInputValueFromInsetInputStr.ts
52909
+ /**
52910
+ * 从 insetInputStr 字符串解析出 insetInputValue 对象
52911
+ * Parse the insetInputValue object from the insetInputStr string
52912
+ *
52913
+ * @example
52914
+ * ```
52915
+ * '2022-02-01' => { monthLeft: { dateInput: '2022-02-01' } }
52916
+ * '2022-02-01 00:00:00' => { monthLeft: { dateInput: '2022-02-01', timeInput: '00:00:00' } }
52917
+ * '2022-02-01 00:00:00 ~ 2022-02-15 00:00:00' => { monthLeft: { dateInput: '2022-02-01', timeInput: '00:00:00'}, monthRight: { dateInput: '2022-02-15', timeInput: '00:00:00' } }
52918
+ *
52919
+ * '2022-0' => { monthLeft: { dateInput: '2022-0' } }
52920
+ * '2022-02-01 00:00:' => { monthLeft: { dateInput: '2022-02-01', timeInput: '00:00:' } }
52921
+ * '2022-02-01 00:00:00 ~ ' => { monthLeft: { dateInput: '2022-02-01', timeInput: '00:00:00'}, monthRight: { dateInput: '', timeInput: '' } }
52922
+ * ' ~ 2022-02-15 00:00:00' => { monthLeft: { dateInput: '', timeInput: '' }, monthRight: { dateInput: '2022-02-15', timeInput: '00:00:00' } }
52923
+ * ```
52924
+ */
52925
+ function getInsetInputValueFromInsetInputStr(options) {
52926
+ const timeSeparator = ' ';
52927
+ const {
52928
+ inputValue = '',
52929
+ rangeSeparator,
52930
+ type
52931
+ } = options;
52932
+ let leftDateInput, leftTimeInput, rightDateInput, rightTimeInput;
52933
+ const insetInputValue = {
52934
+ monthLeft: {
52935
+ dateInput: '',
52936
+ timeInput: ''
52937
+ },
52938
+ monthRight: {
52939
+ dateInput: '',
52940
+ timeInput: ''
52941
+ }
52942
+ };
52943
+
52944
+ switch (type) {
52945
+ case 'date':
52946
+ case 'month':
52947
+ insetInputValue.monthLeft.dateInput = inputValue;
52948
+ break;
52949
+
52950
+ case 'dateRange':
52951
+ [leftDateInput = '', rightDateInput = ''] = inputValue.split(rangeSeparator);
52952
+ insetInputValue.monthLeft.dateInput = leftDateInput;
52953
+ insetInputValue.monthRight.dateInput = rightDateInput;
52954
+ break;
52955
+
52956
+ case 'dateTime':
52957
+ [leftDateInput = '', leftTimeInput = ''] = inputValue.split(timeSeparator);
52958
+ insetInputValue.monthLeft.dateInput = leftDateInput;
52959
+ insetInputValue.monthLeft.timeInput = leftTimeInput;
52960
+ break;
52961
+
52962
+ case 'dateTimeRange':
52963
+ const [leftInput = '', rightInput = ''] = inputValue.split(rangeSeparator);
52964
+ [leftDateInput = '', leftTimeInput = ''] = leftInput.split(timeSeparator);
52965
+ [rightDateInput = '', rightTimeInput = ''] = rightInput.split(timeSeparator);
52966
+ insetInputValue.monthLeft.dateInput = leftDateInput;
52967
+ insetInputValue.monthLeft.timeInput = leftTimeInput;
52968
+ insetInputValue.monthRight.dateInput = rightDateInput;
52969
+ insetInputValue.monthRight.timeInput = rightTimeInput;
52970
+ break;
52971
+ }
52972
+
52973
+ return insetInputValue;
52974
+ }
52822
52975
  // CONCATENATED MODULE: ../semi-foundation/datePicker/foundation.ts
52823
52976
 
52824
52977
 
@@ -52853,6 +53006,8 @@ function getDefaultFormatTokenByType(type) {
52853
53006
 
52854
53007
 
52855
53008
 
53009
+
53010
+
52856
53011
  /**
52857
53012
  * The datePicker foundation.js is responsible for maintaining the date value and the input box value, as well as the callback of both
52858
53013
  * task 1. Accept the selected date change, update the date value, and update the input box value according to the date = > Notify the change
@@ -53084,6 +53239,20 @@ class foundation_DatePickerFoundation extends foundation {
53084
53239
  this.resetCachedSelectedValue(willUpdateDates);
53085
53240
  }
53086
53241
  }
53242
+ /**
53243
+ * clear inset input value when close panel
53244
+ */
53245
+
53246
+
53247
+ clearInsetInputValue() {
53248
+ const {
53249
+ insetInput
53250
+ } = this._adapter.getProps();
53251
+
53252
+ if (insetInput) {
53253
+ this._adapter.updateInsetInputValue(null);
53254
+ }
53255
+ }
53087
53256
 
53088
53257
  resetCachedSelectedValue(willUpdateDates) {
53089
53258
  const {
@@ -53131,6 +53300,7 @@ class foundation_DatePickerFoundation extends foundation {
53131
53300
 
53132
53301
  this.rangeTypeSideEffectsWhenClosePanel(inputValue, willUpdateDates);
53133
53302
  this.needConfirmSideEffectsWhenClosePanel(willUpdateDates);
53303
+ this.clearInsetInputValue();
53134
53304
 
53135
53305
  this._adapter.notifyOpenChange(false);
53136
53306
 
@@ -53176,6 +53346,52 @@ class foundation_DatePickerFoundation extends foundation {
53176
53346
  this._adapter.updateInputValue(input);
53177
53347
  }
53178
53348
  }
53349
+ /**
53350
+ * inset input 变化时需要更新以下 state 状态
53351
+ * - insetInputValue(总是)
53352
+ * - inputValue(可以解析为合法日期时)
53353
+ * - value(可以解析为合法日期时)
53354
+ */
53355
+
53356
+
53357
+ handleInsetInputChange(options) {
53358
+ const {
53359
+ insetInputStr,
53360
+ format,
53361
+ insetInputValue
53362
+ } = options;
53363
+
53364
+ const _isMultiple = this._isMultiple();
53365
+
53366
+ const result = _isMultiple ? this.parseMultipleInput(insetInputStr, format) : this.parseInput(insetInputStr, format);
53367
+ const {
53368
+ value: stateValue
53369
+ } = this.getStates();
53370
+
53371
+ if (result && result.length) {
53372
+ const changedDates = this._getChangedDates(result);
53373
+
53374
+ if (!this._someDateDisabled(changedDates)) {
53375
+ if (this._adapter.needConfirm()) {
53376
+ this._adapter.updateCachedSelectedValue(result);
53377
+ }
53378
+
53379
+ if (!isEqual_default()(result, stateValue)) {
53380
+ if (!this._isControlledComponent()) {
53381
+ this._adapter.updateValue(result);
53382
+ }
53383
+
53384
+ this._notifyChange(result);
53385
+ }
53386
+
53387
+ const triggerInput = _isMultiple ? this.formatMultipleDates(result) : this.formatDates(result);
53388
+
53389
+ this._adapter.updateInputValue(triggerInput);
53390
+ }
53391
+ }
53392
+
53393
+ this._adapter.updateInsetInputValue(insetInputValue);
53394
+ }
53179
53395
  /**
53180
53396
  * Input box blur
53181
53397
  * @param {String} input
@@ -53306,6 +53522,7 @@ class foundation_DatePickerFoundation extends foundation {
53306
53522
 
53307
53523
  parseInput() {
53308
53524
  let input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
53525
+ let format = arguments.length > 1 ? arguments[1] : undefined;
53309
53526
  let result = []; // console.log(input);
53310
53527
 
53311
53528
  const {
@@ -53315,7 +53532,7 @@ class foundation_DatePickerFoundation extends foundation {
53315
53532
 
53316
53533
  if (input && input.length) {
53317
53534
  const type = this.getProp('type');
53318
- const formatToken = this.getProp('format') || getDefaultFormatTokenByType(type);
53535
+ const formatToken = format || this.getProp('format') || getDefaultFormatTokenByType(type);
53319
53536
  let parsedResult, formatedInput;
53320
53537
  const nowDate = new Date();
53321
53538
 
@@ -53409,12 +53626,13 @@ class foundation_DatePickerFoundation extends foundation {
53409
53626
 
53410
53627
  formatDates() {
53411
53628
  let dates = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
53629
+ let customFormat = arguments.length > 1 ? arguments[1] : undefined;
53412
53630
  let str = '';
53413
53631
  const rangeSeparator = this.getProp('rangeSeparator');
53414
53632
 
53415
53633
  if (is_array_default()(dates) && dates.length) {
53416
53634
  const type = this.getProp('type');
53417
- const formatToken = this.getProp('format') || getDefaultFormatTokenByType(type);
53635
+ const formatToken = customFormat || this.getProp('format') || getDefaultFormatTokenByType(type);
53418
53636
 
53419
53637
  switch (type) {
53420
53638
  case 'date':
@@ -53464,6 +53682,7 @@ class foundation_DatePickerFoundation extends foundation {
53464
53682
  formatMultipleDates() {
53465
53683
  let dates = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
53466
53684
  let separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : datePicker_constants_strings.DEFAULT_SEPARATOR_MULTIPLE;
53685
+ let customFormat = arguments.length > 2 ? arguments[2] : undefined;
53467
53686
  const strs = [];
53468
53687
 
53469
53688
  if (is_array_default()(dates) && dates.length) {
@@ -53473,14 +53692,14 @@ class foundation_DatePickerFoundation extends foundation {
53473
53692
  case 'date':
53474
53693
  case 'dateTime':
53475
53694
  case 'month':
53476
- for_each_default()(dates).call(dates, date => strs.push(this.formatDates([date])));
53695
+ for_each_default()(dates).call(dates, date => strs.push(this.formatDates([date], customFormat)));
53477
53696
 
53478
53697
  break;
53479
53698
 
53480
53699
  case 'dateRange':
53481
53700
  case 'dateTimeRange':
53482
53701
  for (let i = 0; i < dates.length; i += 2) {
53483
- strs.push(this.formatDates(slice_default()(dates).call(dates, i, i + 2)));
53702
+ strs.push(this.formatDates(slice_default()(dates).call(dates, i, i + 2), customFormat));
53484
53703
  }
53485
53704
 
53486
53705
  break;
@@ -53530,7 +53749,13 @@ class foundation_DatePickerFoundation extends foundation {
53530
53749
 
53531
53750
 
53532
53751
  handleSelectedChange(value, options) {
53533
- const type = this.getProp('type');
53752
+ const {
53753
+ type,
53754
+ format,
53755
+ rangeSeparator,
53756
+ insetInput
53757
+ } = this._adapter.getProps();
53758
+
53534
53759
  const {
53535
53760
  value: stateValue
53536
53761
  } = this.getStates();
@@ -53557,10 +53782,24 @@ class foundation_DatePickerFoundation extends foundation {
53557
53782
 
53558
53783
  const changedDates = this._getChangedDates(dates);
53559
53784
 
53560
- let inputValue;
53785
+ let inputValue, insetInputValue;
53561
53786
 
53562
53787
  if (!this._someDateDisabled(changedDates)) {
53563
53788
  inputValue = this._isMultiple() ? this.formatMultipleDates(dates) : this.formatDates(dates);
53789
+
53790
+ if (insetInput) {
53791
+ const insetInputFormatToken = getInsetInputFormatToken({
53792
+ format,
53793
+ type
53794
+ });
53795
+ const insetInputStr = this._isMultiple() ? this.formatMultipleDates(dates, undefined, insetInputFormatToken) : this.formatDates(dates, insetInputFormatToken);
53796
+ insetInputValue = getInsetInputValueFromInsetInputStr({
53797
+ inputValue: insetInputStr,
53798
+ type,
53799
+ rangeSeparator
53800
+ });
53801
+ }
53802
+
53564
53803
  const isRangeTypeAndInputIncomplete = this._isRangeType() && !this._isRangeValueComplete(dates);
53565
53804
  /**
53566
53805
  * If the input is incomplete when under control, the notifyChange is not triggered because
@@ -53575,15 +53814,23 @@ class foundation_DatePickerFoundation extends foundation {
53575
53814
  // do not change value when selected value is incomplete
53576
53815
  this._adapter.updateInputValue(inputValue);
53577
53816
 
53817
+ this._adapter.updateInsetInputValue(insetInputValue);
53818
+
53578
53819
  return;
53579
53820
  } else {
53580
- (!controlled || fromPreset) && this._updateValueAndInput(dates, true, inputValue);
53821
+ if (!controlled || fromPreset) {
53822
+ this._updateValueAndInput(dates, true, inputValue);
53823
+
53824
+ this._adapter.updateInsetInputValue(insetInputValue);
53825
+ }
53581
53826
  }
53582
53827
  }
53583
53828
 
53584
53829
  if (!controlled && this._adapter.needConfirm()) {
53585
53830
  // select date only change inputValue when needConfirm is true
53586
- this._adapter.updateInputValue(inputValue); // if inputValue is not complete, don't notifyChange
53831
+ this._adapter.updateInputValue(inputValue);
53832
+
53833
+ this._adapter.updateInsetInputValue(insetInputValue); // if inputValue is not complete, don't notifyChange
53587
53834
 
53588
53835
 
53589
53836
  if (isRangeTypeAndInputIncomplete) {
@@ -53627,7 +53874,7 @@ class foundation_DatePickerFoundation extends foundation {
53627
53874
  const {
53628
53875
  cachedSelectedValue,
53629
53876
  value
53630
- } = this.getStates();
53877
+ } = this._adapter.getStates();
53631
53878
 
53632
53879
  const isRangeValueComplete = this._isRangeValueComplete(cachedSelectedValue);
53633
53880
 
@@ -53998,6 +54245,23 @@ class foundation_DatePickerFoundation extends foundation {
53998
54245
  }
53999
54246
  }
54000
54247
 
54248
+ handlePanelVisibleChange(visible) {
54249
+ if (visible) {
54250
+ this._adapter.setInsetInputFocus();
54251
+ /**
54252
+ * After the panel is closed, the trigger input is disabled
54253
+ * 面板关闭后,trigger input 禁用
54254
+ */
54255
+
54256
+
54257
+ set_timeout_default()(() => {
54258
+ this._adapter.setTriggerDisabled(true);
54259
+ }, 0);
54260
+ } else {
54261
+ this._adapter.setTriggerDisabled(false);
54262
+ }
54263
+ }
54264
+
54001
54265
  }
54002
54266
  // CONCATENATED MODULE: ../semi-foundation/datePicker/_utils/formatter.ts
54003
54267
 
@@ -54060,7 +54324,11 @@ function formatDateValues(values, formatToken) {
54060
54324
  // CONCATENATED MODULE: ../semi-foundation/datePicker/inputFoundation.ts
54061
54325
 
54062
54326
 
54063
- /* eslint-disable max-len */
54327
+
54328
+
54329
+
54330
+
54331
+
54064
54332
 
54065
54333
 
54066
54334
 
@@ -54122,7 +54390,7 @@ class inputFoundation_InputFoundation extends foundation {
54122
54390
  this._adapter.notifyRangeInputFocus(e, rangeType);
54123
54391
  }
54124
54392
 
54125
- formatShowText(value) {
54393
+ formatShowText(value, customFormat) {
54126
54394
  const {
54127
54395
  type,
54128
54396
  dateFnsLocale,
@@ -54130,7 +54398,7 @@ class inputFoundation_InputFoundation extends foundation {
54130
54398
  rangeSeparator
54131
54399
  } = this._adapter.getProps();
54132
54400
 
54133
- const formatToken = format || getDefaultFormatTokenByType(type);
54401
+ const formatToken = customFormat || format || getDefaultFormatTokenByType(type);
54134
54402
  let text = '';
54135
54403
 
54136
54404
  switch (type) {
@@ -54167,6 +54435,256 @@ class inputFoundation_InputFoundation extends foundation {
54167
54435
  return text;
54168
54436
  }
54169
54437
 
54438
+ handleInsetInputChange(options) {
54439
+ const {
54440
+ value,
54441
+ valuePath,
54442
+ insetInputValue
54443
+ } = options;
54444
+
54445
+ const {
54446
+ format,
54447
+ type
54448
+ } = this._adapter.getProps();
54449
+
54450
+ const insetFormatToken = getInsetInputFormatToken({
54451
+ type,
54452
+ format
54453
+ });
54454
+
54455
+ const newInsetInputValue = lodash_set_default()(cloneDeep_default()(insetInputValue), valuePath, value);
54456
+
54457
+ const newInputValue = this.concatInsetInputValue({
54458
+ insetInputValue: newInsetInputValue
54459
+ });
54460
+
54461
+ this._adapter.notifyInsetInputChange({
54462
+ insetInputValue: newInsetInputValue,
54463
+ format: insetFormatToken,
54464
+ insetInputStr: newInputValue
54465
+ });
54466
+ }
54467
+ /**
54468
+ * 只有传入的 format 符合 formatReg 时,才会使用用户传入的 format
54469
+ * 否则会使用默认的 format 作为 placeholder
54470
+ *
54471
+ * The format passed in by the user will be used only if the incoming format conforms to formatReg
54472
+ * Otherwise the default format will be used as placeholder
54473
+ */
54474
+
54475
+
54476
+ getInsetInputPlaceholder() {
54477
+ const {
54478
+ type,
54479
+ format
54480
+ } = this._adapter.getProps();
54481
+
54482
+ const insetInputFormat = getInsetInputFormatToken({
54483
+ type,
54484
+ format
54485
+ });
54486
+ let datePlaceholder, timePlaceholder;
54487
+
54488
+ switch (type) {
54489
+ case 'date':
54490
+ case 'month':
54491
+ case 'dateRange':
54492
+ datePlaceholder = insetInputFormat;
54493
+ break;
54494
+
54495
+ case 'dateTime':
54496
+ case 'dateTimeRange':
54497
+ [datePlaceholder, timePlaceholder] = insetInputFormat.split(' ');
54498
+ break;
54499
+ }
54500
+
54501
+ return {
54502
+ datePlaceholder,
54503
+ timePlaceholder
54504
+ };
54505
+ }
54506
+ /**
54507
+ * 从当前日期值或 inputValue 中解析出 insetInputValue
54508
+ *
54509
+ * Parse out insetInputValue from current date value or inputValue
54510
+ */
54511
+
54512
+
54513
+ getInsetInputValue(_ref) {
54514
+ let {
54515
+ value,
54516
+ insetInputValue
54517
+ } = _ref;
54518
+
54519
+ const {
54520
+ type,
54521
+ rangeSeparator,
54522
+ format
54523
+ } = this._adapter.getProps();
54524
+
54525
+ let inputValueStr = '';
54526
+
54527
+ if (isObject_default()(insetInputValue)) {
54528
+ inputValueStr = this.concatInsetInputValue({
54529
+ insetInputValue
54530
+ });
54531
+ } else {
54532
+ const insetInputFormat = getInsetInputFormatToken({
54533
+ format,
54534
+ type
54535
+ });
54536
+ inputValueStr = this.formatShowText(value, insetInputFormat);
54537
+ }
54538
+
54539
+ const newInsetInputValue = getInsetInputValueFromInsetInputStr({
54540
+ inputValue: inputValueStr,
54541
+ type,
54542
+ rangeSeparator
54543
+ });
54544
+ return newInsetInputValue;
54545
+ }
54546
+
54547
+ concatInsetDateAndTime(_ref2) {
54548
+ var _context;
54549
+
54550
+ let {
54551
+ date,
54552
+ time
54553
+ } = _ref2;
54554
+ return concat_default()(_context = "".concat(date, " ")).call(_context, time);
54555
+ }
54556
+
54557
+ concatInsetDateRange(_ref3) {
54558
+ var _context2, _context3;
54559
+
54560
+ let {
54561
+ rangeStart,
54562
+ rangeEnd
54563
+ } = _ref3;
54564
+
54565
+ const {
54566
+ rangeSeparator
54567
+ } = this._adapter.getProps();
54568
+
54569
+ return concat_default()(_context2 = concat_default()(_context3 = "".concat(rangeStart)).call(_context3, rangeSeparator)).call(_context2, rangeEnd);
54570
+ }
54571
+
54572
+ concatInsetInputValue(_ref4) {
54573
+ let {
54574
+ insetInputValue
54575
+ } = _ref4;
54576
+
54577
+ const {
54578
+ type
54579
+ } = this._adapter.getProps();
54580
+
54581
+ let inputValue = '';
54582
+
54583
+ switch (type) {
54584
+ case 'date':
54585
+ case 'month':
54586
+ inputValue = insetInputValue.monthLeft.dateInput;
54587
+ break;
54588
+
54589
+ case 'dateRange':
54590
+ inputValue = this.concatInsetDateRange({
54591
+ rangeStart: insetInputValue.monthLeft.dateInput,
54592
+ rangeEnd: insetInputValue.monthRight.dateInput
54593
+ });
54594
+ break;
54595
+
54596
+ case 'dateTime':
54597
+ inputValue = this.concatInsetDateAndTime({
54598
+ date: insetInputValue.monthLeft.dateInput,
54599
+ time: insetInputValue.monthLeft.timeInput
54600
+ });
54601
+ break;
54602
+
54603
+ case 'dateTimeRange':
54604
+ const rangeStart = this.concatInsetDateAndTime({
54605
+ date: insetInputValue.monthLeft.dateInput,
54606
+ time: insetInputValue.monthLeft.timeInput
54607
+ });
54608
+ const rangeEnd = this.concatInsetDateAndTime({
54609
+ date: insetInputValue.monthRight.dateInput,
54610
+ time: insetInputValue.monthRight.timeInput
54611
+ });
54612
+ inputValue = this.concatInsetDateRange({
54613
+ rangeStart,
54614
+ rangeEnd
54615
+ });
54616
+ break;
54617
+ }
54618
+
54619
+ return inputValue;
54620
+ }
54621
+
54622
+ }
54623
+ // CONCATENATED MODULE: ./datePicker/insetInput.tsx
54624
+
54625
+
54626
+
54627
+
54628
+ function InsetDateInput(props) {
54629
+ const {
54630
+ insetInputValue,
54631
+ valuePath,
54632
+ onFocus,
54633
+ onChange,
54634
+ placeholder,
54635
+ forwardRef
54636
+ } = props;
54637
+
54638
+ const value = get_default()(insetInputValue, valuePath);
54639
+
54640
+ return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(input_0, {
54641
+ value: value,
54642
+ onChange: (value, event) => {
54643
+ onChange({
54644
+ value,
54645
+ event,
54646
+ insetInputValue,
54647
+ valuePath
54648
+ });
54649
+ },
54650
+ onFocus: onFocus,
54651
+ placeholder: placeholder,
54652
+ ref: forwardRef
54653
+ });
54654
+ }
54655
+ function InsetTimeInput(props) {
54656
+ const {
54657
+ insetInputValue,
54658
+ valuePath,
54659
+ type,
54660
+ onFocus,
54661
+ onChange,
54662
+ placeholder,
54663
+ disabled
54664
+ } = props;
54665
+
54666
+ const _isTimeType = includes_default()(type).call(type, 'Time');
54667
+
54668
+ if (!_isTimeType) {
54669
+ return null;
54670
+ }
54671
+
54672
+ const value = get_default()(insetInputValue, valuePath);
54673
+
54674
+ return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(input_0, {
54675
+ value: value,
54676
+ onChange: (value, event) => {
54677
+ onChange({
54678
+ value,
54679
+ event,
54680
+ insetInputValue,
54681
+ valuePath
54682
+ });
54683
+ },
54684
+ onFocus: onFocus,
54685
+ placeholder: placeholder,
54686
+ disabled: disabled
54687
+ });
54170
54688
  }
54171
54689
  // CONCATENATED MODULE: ./datePicker/dateInput.tsx
54172
54690
 
@@ -54186,7 +54704,9 @@ var dateInput_rest = undefined && undefined.__rest || function (s, e) {
54186
54704
  }
54187
54705
  return t;
54188
54706
  };
54189
- /* eslint-disable jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions,jsx-a11y/interactive-supports-focus */
54707
+ /* eslint-disable jsx-a11y/click-events-have-key-events */
54708
+
54709
+ /* eslint-disable jsx-a11y/no-static-element-interactions */
54190
54710
 
54191
54711
  /* eslint-disable max-lines-per-function */
54192
54712
 
@@ -54202,6 +54722,7 @@ var dateInput_rest = undefined && undefined.__rest || function (s, e) {
54202
54722
 
54203
54723
 
54204
54724
 
54725
+
54205
54726
  // eslint-disable-next-line @typescript-eslint/ban-types
54206
54727
 
54207
54728
  class dateInput_DateInput extends baseComponent_BaseComponent {
@@ -54240,6 +54761,10 @@ class dateInput_DateInput extends baseComponent_BaseComponent {
54240
54761
  this.handleRangeInputFocus(e, 'rangeStart');
54241
54762
  };
54242
54763
 
54764
+ this.handleInsetInputChange = options => {
54765
+ this.foundation.handleInsetInputChange(options);
54766
+ };
54767
+
54243
54768
  this.getRangeInputValue = (rangeStart, rangeEnd) => {
54244
54769
  var _context, _context2;
54245
54770
 
@@ -54288,7 +54813,8 @@ class dateInput_DateInput extends baseComponent_BaseComponent {
54288
54813
  },
54289
54814
  notifyTabPress: function () {
54290
54815
  return _this.props.onRangeEndTabPress(...arguments);
54291
- }
54816
+ },
54817
+ notifyInsetInputChange: options => this.props.onInsetInputChange(options)
54292
54818
  });
54293
54819
  }
54294
54820
 
@@ -54393,11 +54919,11 @@ class dateInput_DateInput extends baseComponent_BaseComponent {
54393
54919
  const rangePlaceholder = is_array_default()(placeholder) ? placeholder : [placeholder, placeholder];
54394
54920
  const [rangeStartPlaceholder, rangeEndPlaceholder] = rangePlaceholder;
54395
54921
  const inputLeftWrapperCls = classnames_default()("".concat(prefixCls, "-range-input-wrapper-start"), "".concat(prefixCls, "-range-input-wrapper"), {
54396
- ["".concat(prefixCls, "-range-input-wrapper-active")]: rangeInputFocus === 'rangeStart',
54922
+ ["".concat(prefixCls, "-range-input-wrapper-active")]: rangeInputFocus === 'rangeStart' && !disabled,
54397
54923
  ["".concat(prefixCls, "-range-input-wrapper-start-with-prefix")]: this.props.prefix || this.props.insetLabel
54398
54924
  });
54399
54925
  const inputRightWrapperCls = classnames_default()("".concat(prefixCls, "-range-input-wrapper-end"), "".concat(prefixCls, "-range-input-wrapper"), {
54400
- ["".concat(prefixCls, "-range-input-wrapper-active")]: rangeInputFocus === 'rangeEnd'
54926
+ ["".concat(prefixCls, "-range-input-wrapper-active")]: rangeInputFocus === 'rangeEnd' && !disabled
54401
54927
  });
54402
54928
  return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Fragment, null, this.renderRangePrefix(), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
54403
54929
  onClick: e => !disabled && this.handleRangeInputFocus(e, 'rangeStart'),
@@ -54436,7 +54962,70 @@ class dateInput_DateInput extends baseComponent_BaseComponent {
54436
54962
  })), this.renderRangeClearBtn(rangeStart, rangeEnd), this.renderRangeSuffix(suffix));
54437
54963
  }
54438
54964
 
54439
- render() {
54965
+ renderInputInset() {
54966
+ const {
54967
+ type,
54968
+ handleInsetDateFocus,
54969
+ handleInsetTimeFocus,
54970
+ value,
54971
+ insetInputValue,
54972
+ prefixCls,
54973
+ rangeInputStartRef,
54974
+ rangeInputEndRef,
54975
+ density
54976
+ } = this.props;
54977
+
54978
+ const _isRangeType = includes_default()(type).call(type, 'Range');
54979
+
54980
+ const newInsetInputValue = this.foundation.getInsetInputValue({
54981
+ value,
54982
+ insetInputValue
54983
+ });
54984
+ const {
54985
+ datePlaceholder,
54986
+ timePlaceholder
54987
+ } = this.foundation.getInsetInputPlaceholder();
54988
+ const insetInputWrapperCls = "".concat(prefixCls, "-inset-input-wrapper");
54989
+ const separatorCls = "".concat(prefixCls, "-inset-input-separator");
54990
+ return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
54991
+ className: insetInputWrapperCls,
54992
+ "x-type": type
54993
+ }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(InsetDateInput, {
54994
+ forwardRef: rangeInputStartRef,
54995
+ insetInputValue: newInsetInputValue,
54996
+ placeholder: datePlaceholder,
54997
+ valuePath: 'monthLeft.dateInput',
54998
+ onChange: this.handleInsetInputChange,
54999
+ onFocus: e => handleInsetDateFocus(e, 'rangeStart')
55000
+ }), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(InsetTimeInput, {
55001
+ disabled: !newInsetInputValue.monthLeft.dateInput,
55002
+ insetInputValue: newInsetInputValue,
55003
+ placeholder: timePlaceholder,
55004
+ type: type,
55005
+ valuePath: 'monthLeft.timeInput',
55006
+ onChange: this.handleInsetInputChange,
55007
+ onFocus: handleInsetTimeFocus
55008
+ }), _isRangeType && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Fragment, null, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
55009
+ className: separatorCls
55010
+ }, density === 'compact' ? null : '-'), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(InsetDateInput, {
55011
+ forwardRef: rangeInputEndRef,
55012
+ insetInputValue: newInsetInputValue,
55013
+ placeholder: datePlaceholder,
55014
+ valuePath: 'monthRight.dateInput',
55015
+ onChange: this.handleInsetInputChange,
55016
+ onFocus: e => handleInsetDateFocus(e, 'rangeEnd')
55017
+ }), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(InsetTimeInput, {
55018
+ disabled: !newInsetInputValue.monthRight.dateInput,
55019
+ insetInputValue: newInsetInputValue,
55020
+ placeholder: timePlaceholder,
55021
+ type: type,
55022
+ valuePath: 'monthRight.timeInput',
55023
+ onChange: this.handleInsetInputChange,
55024
+ onFocus: handleInsetTimeFocus
55025
+ })));
55026
+ }
55027
+
55028
+ renderTriggerInput() {
54440
55029
  const _a = this.props,
54441
55030
  {
54442
55031
  placeholder,
@@ -54468,9 +55057,11 @@ class dateInput_DateInput extends baseComponent_BaseComponent {
54468
55057
  onRangeBlur,
54469
55058
  onRangeEndTabPress,
54470
55059
  rangeInputFocus,
54471
- rangeSeparator
55060
+ rangeSeparator,
55061
+ insetInput,
55062
+ insetInputValue
54472
55063
  } = _a,
54473
- rest = dateInput_rest(_a, ["placeholder", "type", "value", "inputValue", "inputStyle", "disabled", "showClear", "inputReadOnly", "insetLabel", "validateStatus", "block", "prefixCls", "multiple", "dateFnsLocale", "onBlur", "onClear", "onFocus", "prefix", "autofocus", "size", "rangeInputStartRef", "rangeInputEndRef", "onRangeClear", "onRangeBlur", "onRangeEndTabPress", "rangeInputFocus", "rangeSeparator"]);
55064
+ rest = dateInput_rest(_a, ["placeholder", "type", "value", "inputValue", "inputStyle", "disabled", "showClear", "inputReadOnly", "insetLabel", "validateStatus", "block", "prefixCls", "multiple", "dateFnsLocale", "onBlur", "onClear", "onFocus", "prefix", "autofocus", "size", "rangeInputStartRef", "rangeInputEndRef", "onRangeClear", "onRangeBlur", "onRangeEndTabPress", "rangeInputFocus", "rangeSeparator", "insetInput", "insetInputValue"]);
54474
55065
 
54475
55066
  const dateIcon = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(IconCalendar, {
54476
55067
  "aria-hidden": true
@@ -54521,6 +55112,13 @@ class dateInput_DateInput extends baseComponent_BaseComponent {
54521
55112
  }));
54522
55113
  }
54523
55114
 
55115
+ render() {
55116
+ const {
55117
+ insetInput
55118
+ } = this.props;
55119
+ return insetInput ? this.renderInputInset() : this.renderTriggerInput();
55120
+ }
55121
+
54524
55122
  }
54525
55123
  dateInput_DateInput.propTypes = {
54526
55124
  onClick: prop_types_default.a.func,
@@ -54545,7 +55143,9 @@ dateInput_DateInput.propTypes = {
54545
55143
  rangeInputFocus: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.bool]),
54546
55144
  rangeInputStartRef: prop_types_default.a.object,
54547
55145
  rangeInputEndRef: prop_types_default.a.object,
54548
- rangeSeparator: prop_types_default.a.string
55146
+ rangeSeparator: prop_types_default.a.string,
55147
+ insetInput: prop_types_default.a.bool,
55148
+ insetInputValue: prop_types_default.a.object
54549
55149
  };
54550
55150
  dateInput_DateInput.defaultProps = {
54551
55151
  showClear: true,
@@ -55233,7 +55833,8 @@ class monthsGridFoundation_MonthsGridFoundation extends foundation {
55233
55833
  let refreshPicker = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
55234
55834
  const monthLeft = this.getState('monthLeft');
55235
55835
 
55236
- const newMonthLeft = assign_default()({}, monthLeft);
55836
+ const newMonthLeft = assign_default()({}, monthLeft); // REMOVE:
55837
+
55237
55838
 
55238
55839
  this._adapter.updateMonthOnLeft(newMonthLeft);
55239
55840
 
@@ -55250,6 +55851,7 @@ class monthsGridFoundation_MonthsGridFoundation extends foundation {
55250
55851
  if (refreshPicker) {
55251
55852
  this.handleShowDateAndTime(datePicker_constants_strings.PANEL_TYPE_LEFT, values[0] || newMonthLeft.pickerDate);
55252
55853
  } else {
55854
+ // FIXME:
55253
55855
  this.handleShowDateAndTime(datePicker_constants_strings.PANEL_TYPE_LEFT, newMonthLeft.pickerDate);
55254
55856
  }
55255
55857
 
@@ -55651,7 +56253,7 @@ class monthsGridFoundation_MonthsGridFoundation extends foundation {
55651
56253
  selected: selectedSet,
55652
56254
  rangeStart,
55653
56255
  rangeEnd
55654
- } = this.getStates();
56256
+ } = this.getStates(); // FIXME:
55655
56257
 
55656
56258
  const includeRange = includes_default()(_context3 = ['dateRange', 'dateTimeRange']).call(_context3, type);
55657
56259
 
@@ -58866,6 +59468,8 @@ yearAndMonth_YearAndMonth.defaultProps = {
58866
59468
 
58867
59469
  /* eslint-disable jsx-a11y/interactive-supports-focus,jsx-a11y/click-events-have-key-events */
58868
59470
 
59471
+ /* eslint-disable jsx-a11y/no-static-element-interactions */
59472
+
58869
59473
  /* eslint-disable react/no-did-update-set-state */
58870
59474
 
58871
59475
  /* eslint-disable max-len */
@@ -59141,6 +59745,9 @@ class monthsGrid_MonthsGrid extends baseComponent_BaseComponent {
59141
59745
  monthRight,
59142
59746
  currentPanelHeight
59143
59747
  } = this.state;
59748
+ const {
59749
+ insetInput
59750
+ } = this.props;
59144
59751
  const panelDetail = panelType === datePicker_constants_strings.PANEL_TYPE_RIGHT ? monthRight : monthLeft;
59145
59752
  const {
59146
59753
  isTimePickerOpen,
@@ -59163,7 +59770,7 @@ class monthsGrid_MonthsGrid extends baseComponent_BaseComponent {
59163
59770
  style.minWidth = wrap.getBoundingClientRect().width;
59164
59771
  }
59165
59772
 
59166
- if (this.leftIsYearOrTime() && this.rightIsYearOrTime()) {
59773
+ if (this.leftIsYearOrTime() && this.rightIsYearOrTime() && !insetInput) {
59167
59774
  /**
59168
59775
  * left和right同时为tpk时,panel会有一个minHeight
59169
59776
  * 如果缓存的currentPanelHeight为0,则需要计算滚动列表的高度
@@ -59173,7 +59780,7 @@ class monthsGrid_MonthsGrid extends baseComponent_BaseComponent {
59173
59780
  * When left and right are tpk at the same time, the panel will have a minHeight
59174
59781
  * If the cached currentPanelHeight is 0, you need to calculate the height of the scrolling list
59175
59782
  * If there is a cached value, use currentPanelHeight (if this height is less than the actual value, it will affect the number of cycles in the ScrollList to render the list)
59176
- * See packages/semi-foundation/scrollList/itemF oundation.js initWheelList function
59783
+ * See packages/semi-foundation/scrollList/itemFoundation.js initWheelList function
59177
59784
  */
59178
59785
  style.minHeight = currentPanelHeight ? currentPanelHeight : this.calcScrollListHeight();
59179
59786
  }
@@ -59181,10 +59788,14 @@ class monthsGrid_MonthsGrid extends baseComponent_BaseComponent {
59181
59788
  monthCls = classnames_default()(monthCls, "".concat(monthsGrid_prefixCls, "-yam-showing"));
59182
59789
  }
59183
59790
 
59791
+ const _isDatePanelOpen = !(isYearPickerOpen || isTimePickerOpen);
59792
+
59793
+ const xOpenType = _isDatePanelOpen ? 'date' : isYearPickerOpen ? 'year' : 'time';
59184
59794
  return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
59185
59795
  className: monthCls,
59186
59796
  key: panelType,
59187
- style: style
59797
+ style: style,
59798
+ "x-open-type": xOpenType
59188
59799
  }, yearAndMonthLayer, timePickerLayer, this.foundation.isRangeType() ? panelContent : isYearPickerOpen || isTimePickerOpen ? null : panelContent, this.renderSwitch(panelType));
59189
59800
  }
59190
59801
 
@@ -59395,10 +60006,11 @@ class monthsGrid_MonthsGrid extends baseComponent_BaseComponent {
59395
60006
  locale,
59396
60007
  disabledTimePicker,
59397
60008
  density,
59398
- dateFnsLocale
59399
- } = this.props; // Type: date, dateRange, year, month, no rendering required
60009
+ dateFnsLocale,
60010
+ insetInput
60011
+ } = this.props; // Type: date, dateRange, year, month, inset input no rendering required
59400
60012
 
59401
- if (!includes_default()(type).call(type, 'Time')) {
60013
+ if (!includes_default()(type).call(type, 'Time') || insetInput) {
59402
60014
  return null;
59403
60015
  } // switch year/month & time
59404
60016
 
@@ -59471,7 +60083,8 @@ class monthsGrid_MonthsGrid extends baseComponent_BaseComponent {
59471
60083
  monthRight
59472
60084
  } = this.state;
59473
60085
  const {
59474
- type
60086
+ type,
60087
+ insetInput
59475
60088
  } = this.props;
59476
60089
  const monthGridCls = classnames_default()({
59477
60090
  ["".concat(monthsGrid_prefixCls, "-month-grid")]: true
@@ -59493,6 +60106,7 @@ class monthsGrid_MonthsGrid extends baseComponent_BaseComponent {
59493
60106
  className: monthGridCls,
59494
60107
  "x-type": type,
59495
60108
  "x-panel-yearandmonth-open-type": yearOpenType,
60109
+ "x-insetInput": insetInput ? "true" : "false",
59496
60110
  ref: current => this.cacheRefCurrent('monthGrid', current)
59497
60111
  }, content);
59498
60112
  }
@@ -59644,10 +60258,15 @@ var datePicker = __webpack_require__("IJ0B");
59644
60258
 
59645
60259
 
59646
60260
 
60261
+
59647
60262
  /* eslint-disable jsx-a11y/click-events-have-key-events,jsx-a11y/interactive-supports-focus */
59648
60263
 
59649
60264
  /* eslint-disable max-len */
59650
60265
 
60266
+ /* eslint-disable jsx-a11y/click-events-have-key-events */
60267
+
60268
+ /* eslint-disable jsx-a11y/no-static-element-interactions */
60269
+
59651
60270
 
59652
60271
 
59653
60272
 
@@ -59700,6 +60319,8 @@ class datePicker_DatePicker extends baseComponent_BaseComponent {
59700
60319
  return _this.foundation.handleInputChange(...arguments);
59701
60320
  };
59702
60321
 
60322
+ this.handleInsetInputChange = options => this.foundation.handleInsetInputChange(options);
60323
+
59703
60324
  this.handleInputComplete = v => this.foundation.handleInputComplete(v);
59704
60325
 
59705
60326
  this.handleInputBlur = e => this.foundation.handleInputBlur(get_default()(e, 'nativeEvent.target.value'), e);
@@ -59728,6 +60349,30 @@ class datePicker_DatePicker extends baseComponent_BaseComponent {
59728
60349
  }
59729
60350
  };
59730
60351
 
60352
+ this.handleInsetDateFocus = (e, rangeType) => {
60353
+ const monthGridFoundation = get_default()(this, 'monthGrid.current.foundation');
60354
+
60355
+ if (monthGridFoundation) {
60356
+ monthGridFoundation.showDatePanel(datePicker_constants_strings.PANEL_TYPE_LEFT);
60357
+ monthGridFoundation.showDatePanel(datePicker_constants_strings.PANEL_TYPE_RIGHT);
60358
+ }
60359
+
60360
+ this.handleInputFocus(e, rangeType);
60361
+ };
60362
+
60363
+ this.handleInsetTimeFocus = () => {
60364
+ const monthGridFoundation = get_default()(this, 'monthGrid.current.foundation');
60365
+
60366
+ if (monthGridFoundation) {
60367
+ monthGridFoundation.showTimePicker(datePicker_constants_strings.PANEL_TYPE_LEFT);
60368
+ monthGridFoundation.showTimePicker(datePicker_constants_strings.PANEL_TYPE_RIGHT);
60369
+ }
60370
+ };
60371
+
60372
+ this.handlePanelVisibleChange = visible => {
60373
+ this.foundation.handlePanelVisibleChange(visible);
60374
+ };
60375
+
59731
60376
  this.handleConfirm = e => this.foundation.handleConfirm();
59732
60377
 
59733
60378
  this.handleCancel = e => this.foundation.handleCancel();
@@ -59751,19 +60396,43 @@ class datePicker_DatePicker extends baseComponent_BaseComponent {
59751
60396
  dropdownStyle,
59752
60397
  density,
59753
60398
  topSlot,
59754
- bottomSlot
60399
+ bottomSlot,
60400
+ insetInput,
60401
+ type,
60402
+ format,
60403
+ rangeSeparator
59755
60404
  } = this.props;
60405
+ const {
60406
+ insetInputValue,
60407
+ value
60408
+ } = this.state;
59756
60409
  const wrapCls = classnames_default()(datePicker_constants_cssClasses.PREFIX, {
59757
60410
  [datePicker_constants_cssClasses.PANEL_YAM]: this.adapter.typeIsYearOrMonth(),
59758
60411
  ["".concat(datePicker_constants_cssClasses.PREFIX, "-compact")]: density === 'compact'
59759
60412
  }, dropdownClassName);
60413
+ const insetInputProps = {
60414
+ dateFnsLocale,
60415
+ format,
60416
+ insetInputValue,
60417
+ rangeSeparator,
60418
+ type,
60419
+ value: value,
60420
+ handleInsetDateFocus: this.handleInsetDateFocus,
60421
+ handleInsetTimeFocus: this.handleInsetTimeFocus,
60422
+ onInsetInputChange: this.handleInsetInputChange,
60423
+ rangeInputStartRef: this.rangeInputStartRef,
60424
+ rangeInputEndRef: this.rangeInputEndRef,
60425
+ density
60426
+ };
59760
60427
  return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
59761
60428
  ref: this.panelRef,
59762
60429
  className: wrapCls,
59763
60430
  style: dropdownStyle
59764
60431
  }, topSlot && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
59765
60432
  className: "".concat(datePicker_constants_cssClasses.PREFIX, "-topSlot")
59766
- }, topSlot), this.adapter.typeIsYearOrMonth() ? this.renderYearMonthPanel(locale, localeCode) : this.renderMonthGrid(locale, localeCode, dateFnsLocale), this.renderQuickControls(), bottomSlot && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
60433
+ }, topSlot), insetInput && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(dateInput_DateInput, assign_default()({}, insetInputProps, {
60434
+ insetInput: true
60435
+ })), this.adapter.typeIsYearOrMonth() ? this.renderYearMonthPanel(locale, localeCode) : this.renderMonthGrid(locale, localeCode, dateFnsLocale), this.renderQuickControls(), bottomSlot && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
59767
60436
  className: "".concat(datePicker_constants_cssClasses.PREFIX, "-bottomSlot")
59768
60437
  }, bottomSlot), this.renderFooter(locale, localeCode));
59769
60438
  };
@@ -59827,7 +60496,8 @@ class datePicker_DatePicker extends baseComponent_BaseComponent {
59827
60496
  position: position,
59828
60497
  visible: panelShow,
59829
60498
  stopPropagation: stopPropagation,
59830
- spacing: spacing
60499
+ spacing: spacing,
60500
+ onVisibleChange: this.handlePanelVisibleChange
59831
60501
  }, children);
59832
60502
  };
59833
60503
 
@@ -59840,7 +60510,9 @@ class datePicker_DatePicker extends baseComponent_BaseComponent {
59840
60510
  prevTimeZone: null,
59841
60511
  motionEnd: false,
59842
60512
  rangeInputFocus: undefined,
59843
- autofocus: props.autoFocus || this.isRangeType(props.type, props.triggerRender) && (props.open || props.defaultOpen)
60513
+ autofocus: props.autoFocus || this.isRangeType(props.type, props.triggerRender) && (props.open || props.defaultOpen),
60514
+ insetInputValue: null,
60515
+ triggerDisabled: undefined
59844
60516
  };
59845
60517
  this.adapter.setCache('cachedSelectedValue', null);
59846
60518
  this.triggerElRef = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createRef();
@@ -59943,6 +60615,17 @@ class datePicker_DatePicker extends baseComponent_BaseComponent {
59943
60615
  inputValue
59944
60616
  });
59945
60617
  },
60618
+ updateInsetInputValue: insetInputValue => {
60619
+ const {
60620
+ insetInput
60621
+ } = this.props;
60622
+
60623
+ if (insetInput && !isEqual_default()(insetInputValue, this.state.insetInputValue)) {
60624
+ this.setState({
60625
+ insetInputValue
60626
+ });
60627
+ }
60628
+ },
59946
60629
  needConfirm: () => {
59947
60630
  var _context;
59948
60631
 
@@ -60017,7 +60700,38 @@ class datePicker_DatePicker extends baseComponent_BaseComponent {
60017
60700
  }
60018
60701
  },
60019
60702
  couldPanelClosed: () => this.focusRecordsRef.current.rangeStart && this.focusRecordsRef.current.rangeEnd,
60020
- isEventTarget: e => e && e.target === e.currentTarget
60703
+ isEventTarget: e => e && e.target === e.currentTarget,
60704
+ setInsetInputFocus: () => {
60705
+ const {
60706
+ rangeInputFocus
60707
+ } = this.state;
60708
+
60709
+ switch (rangeInputFocus) {
60710
+ case 'rangeEnd':
60711
+ if (document.activeElement !== this.rangeInputEndRef.current) {
60712
+ const inputEndNode = get_default()(this, 'rangeInputEndRef.current');
60713
+
60714
+ inputEndNode && inputEndNode.focus();
60715
+ }
60716
+
60717
+ break;
60718
+
60719
+ case 'rangeStart':
60720
+ default:
60721
+ if (document.activeElement !== this.rangeInputStartRef.current) {
60722
+ const inputStartNode = get_default()(this, 'rangeInputStartRef.current');
60723
+
60724
+ inputStartNode && inputStartNode.focus();
60725
+ }
60726
+
60727
+ break;
60728
+ }
60729
+ },
60730
+ setTriggerDisabled: disabled => {
60731
+ this.setState({
60732
+ triggerDisabled: disabled
60733
+ });
60734
+ }
60021
60735
  });
60022
60736
  }
60023
60737
 
@@ -60075,7 +60789,8 @@ class datePicker_DatePicker extends baseComponent_BaseComponent {
60075
60789
  syncSwitchMonth,
60076
60790
  onPanelChange,
60077
60791
  timeZone,
60078
- triggerRender
60792
+ triggerRender,
60793
+ insetInput
60079
60794
  } = this.props;
60080
60795
  const {
60081
60796
  value,
@@ -60123,7 +60838,8 @@ class datePicker_DatePicker extends baseComponent_BaseComponent {
60123
60838
  onPanelChange: onPanelChange,
60124
60839
  timeZone: timeZone,
60125
60840
  focusRecordsRef: this.focusRecordsRef,
60126
- triggerRender: triggerRender
60841
+ triggerRender: triggerRender,
60842
+ insetInput: insetInput
60127
60843
  });
60128
60844
  }
60129
60845
 
@@ -60159,20 +60875,23 @@ class datePicker_DatePicker extends baseComponent_BaseComponent {
60159
60875
  triggerRender,
60160
60876
  size,
60161
60877
  inputReadOnly,
60162
- rangeSeparator
60878
+ rangeSeparator,
60879
+ insetInput
60163
60880
  } = this.props;
60164
60881
  const {
60165
60882
  value,
60166
60883
  inputValue,
60167
- rangeInputFocus
60884
+ rangeInputFocus,
60885
+ triggerDisabled
60168
60886
  } = this.state; // This class is not needed when triggerRender is function
60169
60887
 
60170
60888
  const isRangeType = this.isRangeType(type, triggerRender);
60889
+ const inputDisabled = disabled || insetInput && triggerDisabled;
60171
60890
  const inputCls = classnames_default()("".concat(datePicker_constants_cssClasses.PREFIX, "-input"), {
60172
60891
  ["".concat(datePicker_constants_cssClasses.PREFIX, "-range-input")]: isRangeType,
60173
60892
  [concat_default()(_context3 = "".concat(datePicker_constants_cssClasses.PREFIX, "-range-input-")).call(_context3, size)]: isRangeType && size,
60174
- ["".concat(datePicker_constants_cssClasses.PREFIX, "-range-input-active")]: isRangeType && rangeInputFocus && !disabled,
60175
- ["".concat(datePicker_constants_cssClasses.PREFIX, "-range-input-disabled")]: isRangeType && disabled,
60893
+ ["".concat(datePicker_constants_cssClasses.PREFIX, "-range-input-active")]: isRangeType && rangeInputFocus && !inputDisabled,
60894
+ ["".concat(datePicker_constants_cssClasses.PREFIX, "-range-input-disabled")]: isRangeType && inputDisabled,
60176
60895
  [concat_default()(_context4 = "".concat(datePicker_constants_cssClasses.PREFIX, "-range-input-")).call(_context4, validateStatus)]: isRangeType && validateStatus
60177
60896
  });
60178
60897
  const phText = placeholder || locale.placeholder[type]; // i18n
@@ -60180,9 +60899,9 @@ class datePicker_DatePicker extends baseComponent_BaseComponent {
60180
60899
 
60181
60900
  const props = assign_default()(assign_default()({}, extraProps), {
60182
60901
  placeholder: phText,
60183
- disabled,
60902
+ disabled: inputDisabled,
60184
60903
  inputValue,
60185
- value,
60904
+ value: value,
60186
60905
  onChange: this.handleInputChange,
60187
60906
  onEnterPress: this.handleInputComplete,
60188
60907
  // TODO: remove in next major version
@@ -60195,7 +60914,7 @@ class datePicker_DatePicker extends baseComponent_BaseComponent {
60195
60914
  format,
60196
60915
  multiple,
60197
60916
  validateStatus,
60198
- inputReadOnly,
60917
+ inputReadOnly: inputReadOnly || insetInput,
60199
60918
  // onClick: this.handleOpenPanel,
60200
60919
  onBlur: this.handleInputBlur,
60201
60920
  onFocus: this.handleInputFocus,
@@ -60204,13 +60923,13 @@ class datePicker_DatePicker extends baseComponent_BaseComponent {
60204
60923
  size,
60205
60924
  autofocus: this.state.autofocus,
60206
60925
  dateFnsLocale,
60207
- rangeInputStartRef: this.rangeInputStartRef,
60208
- rangeInputEndRef: this.rangeInputEndRef,
60209
60926
  rangeInputFocus,
60210
60927
  rangeSeparator,
60211
60928
  onRangeBlur: this.handleRangeInputBlur,
60212
60929
  onRangeClear: this.handleRangeInputClear,
60213
- onRangeEndTabPress: this.handleRangeEndTabPress
60930
+ onRangeEndTabPress: this.handleRangeEndTabPress,
60931
+ rangeInputStartRef: insetInput ? null : this.rangeInputStartRef,
60932
+ rangeInputEndRef: insetInput ? null : this.rangeInputEndRef
60214
60933
  });
60215
60934
 
60216
60935
  return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
@@ -60358,7 +61077,8 @@ datePicker_DatePicker.defaultProps = {
60358
61077
  spacing: datePicker_constants_numbers.SPACING,
60359
61078
  autoSwitchDate: true,
60360
61079
  syncSwitchMonth: false,
60361
- rangeSeparator: datePicker_constants_strings.DEFAULT_SEPARATOR_RANGE
61080
+ rangeSeparator: datePicker_constants_strings.DEFAULT_SEPARATOR_RANGE,
61081
+ insetInput: false
60362
61082
  };
60363
61083
  // CONCATENATED MODULE: ./datePicker/index.tsx
60364
61084
 
@@ -60374,6 +61094,8 @@ datePicker_DatePicker.defaultProps = {
60374
61094
 
60375
61095
 
60376
61096
 
61097
+
61098
+
60377
61099
  /* harmony default export */ var datePicker_0 = (forwardStatics( /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef((props, ref) => {
60378
61100
  const propsObj = assign_default()({}, props);
60379
61101
 
@@ -60398,6 +61120,24 @@ datePicker_DatePicker.defaultProps = {
60398
61120
  propsObj.rangeSeparator = " ".concat(trim_default()(rangeSeparator).call(rangeSeparator), " ");
60399
61121
  }
60400
61122
 
61123
+ if (propsObj.insetInput) {
61124
+ var _context;
61125
+
61126
+ if (!propsObj.position) {
61127
+ propsObj.position = datePicker_constants_strings.POSITION_INLINE_INPUT;
61128
+ }
61129
+ /**
61130
+ * When insetInput is `true` and `position` includes `over`, use 1px `spacing` to solve the problem of border-radius leakage in the upper left corner
61131
+ *
61132
+ * @see https://user-images.githubusercontent.com/26477537/158817185-126a5f33-41f7-414a-8e36-8d1be2dda5cd.png
61133
+ */
61134
+
61135
+
61136
+ if (includes_default()(_context = propsObj.position).call(_context, 'Over') && !propsObj.spacing) {
61137
+ propsObj.spacing = datePicker_constants_numbers.SPACING_INSET_INPUT;
61138
+ }
61139
+ }
61140
+
60401
61141
  return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(configProvider_context.Consumer, null, _ref => {
60402
61142
  let {
60403
61143
  timeZone
@@ -66385,6 +67125,7 @@ class Item_NavItem extends baseComponent_BaseComponent {
66385
67125
  var _context3;
66386
67126
 
66387
67127
  let isToggleIcon = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
67128
+ let key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
66388
67129
 
66389
67130
  if (this.props.isSubNav) {
66390
67131
  return null;
@@ -66405,7 +67146,8 @@ class Item_NavItem extends baseComponent_BaseComponent {
66405
67146
  ["".concat(Item_clsPrefix, "-icon-info")]: !isToggleIcon
66406
67147
  });
66407
67148
  return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("i", {
66408
- className: className
67149
+ className: className,
67150
+ key: key
66409
67151
  }, Object(_utils["d" /* isSemiIcon */])(icon) ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.cloneElement(icon, {
66410
67152
  size: icon.props.size || iconSize
66411
67153
  }) : icon);
@@ -66445,12 +67187,12 @@ class Item_NavItem extends baseComponent_BaseComponent {
66445
67187
 
66446
67188
  if (mode === navigation_constants_strings.MODE_VERTICAL && !limitIndent && !isCollapsed) {
66447
67189
  const iconAmount = icon && !indent ? level : level - 1;
66448
- placeholderIcons = times_default()(iconAmount, () => this.renderIcon(null, navigation_constants_strings.ICON_POS_RIGHT, false));
67190
+ placeholderIcons = times_default()(iconAmount, index => this.renderIcon(null, navigation_constants_strings.ICON_POS_RIGHT, false, index));
66449
67191
  }
66450
67192
 
66451
- itemChildren = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Fragment, null, placeholderIcons, this.context.toggleIconPosition === navigation_constants_strings.TOGGLE_ICON_LEFT && this.renderIcon(toggleIcon, navigation_constants_strings.ICON_POS_RIGHT, true), icon || indent || isInSubNav ? this.renderIcon(icon, navigation_constants_strings.ICON_POS_LEFT) : null, !isNullOrUndefined(text) ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
67193
+ itemChildren = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Fragment, null, placeholderIcons, this.context.toggleIconPosition === navigation_constants_strings.TOGGLE_ICON_LEFT && this.renderIcon(toggleIcon, navigation_constants_strings.ICON_POS_RIGHT, true, 'key-toggle-pos-right'), icon || indent || isInSubNav ? this.renderIcon(icon, navigation_constants_strings.ICON_POS_LEFT, false, 'key-position-left') : null, !isNullOrUndefined(text) ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
66452
67194
  className: "".concat(navigation_constants_cssClasses.PREFIX, "-item-text")
66453
- }, text) : '', this.context.toggleIconPosition === navigation_constants_strings.TOGGLE_ICON_RIGHT && this.renderIcon(toggleIcon, navigation_constants_strings.ICON_POS_RIGHT, true));
67195
+ }, text) : '', this.context.toggleIconPosition === navigation_constants_strings.TOGGLE_ICON_RIGHT && this.renderIcon(toggleIcon, navigation_constants_strings.ICON_POS_RIGHT, true, 'key-toggle-pos-right'));
66454
67196
  }
66455
67197
 
66456
67198
  if (typeof link === 'string') {
@@ -66891,7 +67633,7 @@ class SubNav_SubNav extends baseComponent_BaseComponent {
66891
67633
  if (mode === navigation_constants_strings.MODE_VERTICAL && !limitIndent && !isCollapsed) {
66892
67634
  /* Different icons' amount means different indents.*/
66893
67635
  const iconAmount = icon && !indent ? level : level - 1;
66894
- placeholderIcons = times_default()(iconAmount, index => this.renderIcon(null, navigation_constants_strings.ICON_POS_RIGHT, false, undefined, index));
67636
+ placeholderIcons = times_default()(iconAmount, index => this.renderIcon(null, navigation_constants_strings.ICON_POS_RIGHT, false, false, index));
66895
67637
  }
66896
67638
 
66897
67639
  const titleDiv = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
@@ -66903,7 +67645,7 @@ class SubNav_SubNav extends baseComponent_BaseComponent {
66903
67645
  onKeyPress: this.handleKeyPress
66904
67646
  }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
66905
67647
  className: "".concat(prefixCls, "-item-inner")
66906
- }, placeholderIcons, this.context.toggleIconPosition === navigation_constants_strings.TOGGLE_ICON_LEFT && this.renderIcon(toggleIconType, navigation_constants_strings.ICON_POS_RIGHT, withTransition, true, 'key-toggle-position-left'), icon || indent || isInSubNav && mode !== navigation_constants_strings.MODE_HORIZONTAL ? this.renderIcon(icon, navigation_constants_strings.ICON_POS_LEFT, undefined, undefined, 'key-inSubNav-position-left') : null, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
67648
+ }, placeholderIcons, this.context.toggleIconPosition === navigation_constants_strings.TOGGLE_ICON_LEFT && this.renderIcon(toggleIconType, navigation_constants_strings.ICON_POS_RIGHT, withTransition, true, 'key-toggle-position-left'), icon || indent || isInSubNav && mode !== navigation_constants_strings.MODE_HORIZONTAL ? this.renderIcon(icon, navigation_constants_strings.ICON_POS_LEFT, false, false, 'key-inSubNav-position-left') : null, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
66907
67649
  className: "".concat(prefixCls, "-item-text")
66908
67650
  }, text), this.context.toggleIconPosition === navigation_constants_strings.TOGGLE_ICON_RIGHT && this.renderIcon(toggleIconType, navigation_constants_strings.ICON_POS_RIGHT, withTransition, true, 'key-toggle-position-right')));
66909
67651
  return titleDiv;
@@ -72952,9 +73694,10 @@ class group_TagGroup extends external_root_React_commonjs2_react_commonjs_react_
72952
73694
  renderMergeTags(tags) {
72953
73695
  const {
72954
73696
  maxTagCount,
72955
- tagList
73697
+ tagList,
73698
+ restCount
72956
73699
  } = this.props;
72957
- const n = tagList.length - maxTagCount;
73700
+ const n = restCount ? restCount : tagList.length - maxTagCount;
72958
73701
  let renderTags = tags;
72959
73702
 
72960
73703
  const normalTags = slice_default()(tags).call(tags, 0, maxTagCount);
@@ -73034,6 +73777,7 @@ group_TagGroup.propTypes = {
73034
73777
  style: prop_types_default.a.object,
73035
73778
  className: prop_types_default.a.string,
73036
73779
  maxTagCount: prop_types_default.a.number,
73780
+ restCount: prop_types_default.a.number,
73037
73781
  tagList: prop_types_default.a.array,
73038
73782
  size: prop_types_default.a.oneOf(group_tagSize),
73039
73783
  mode: prop_types_default.a.string,
@@ -73898,7 +74642,9 @@ class select_Select extends baseComponent_BaseComponent {
73898
74642
  });
73899
74643
  }
73900
74644
 
73901
- const tags = map_default()(selectedItems).call(selectedItems, (item, i) => {
74645
+ const mapItems = maxTagCount ? slice_default()(selectedItems).call(selectedItems, 0, maxTagCount) : selectedItems; // no need to render rest tag when maxTagCount is setting
74646
+
74647
+ const tags = map_default()(mapItems).call(mapItems, (item, i) => {
73902
74648
  const label = item[0];
73903
74649
  const {
73904
74650
  value
@@ -73957,12 +74703,13 @@ class select_Select extends baseComponent_BaseComponent {
73957
74703
  const placeholderText = placeholder && !inputValue ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
73958
74704
  className: spanCls
73959
74705
  }, placeholder) : null;
73960
- const n = tags.length > maxTagCount ? maxTagCount : undefined;
74706
+ const n = selectedItems.length > maxTagCount ? maxTagCount : undefined;
73961
74707
  const NotOneLine = !maxTagCount; // Multiple lines (that is, do not set maxTagCount), do not use TagGroup, directly traverse with Tag, otherwise Input cannot follow the correct position
73962
74708
 
73963
74709
  const tagContent = NotOneLine ? tags : /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(group_TagGroup, {
73964
74710
  tagList: tags,
73965
74711
  maxTagCount: n,
74712
+ restCount: maxTagCount ? selectedItems.length - maxTagCount : undefined,
73966
74713
  size: "large",
73967
74714
  mode: "custom"
73968
74715
  });
@@ -75964,6 +76711,12 @@ class radioGroup_RadioGroup extends baseComponent_BaseComponent {
75964
76711
  }
75965
76712
 
75966
76713
  componentDidUpdate(prevProps) {
76714
+ if (typeof prevProps.value === 'number' && isNaN(prevProps.value) && typeof this.props.value === 'number' && isNaN(this.props.value)) {
76715
+ // `NaN === NaN` returns false, and this will fail the next if check
76716
+ // therefore triggering an infinite loop
76717
+ return;
76718
+ }
76719
+
75967
76720
  if (prevProps.value !== this.props.value) {
75968
76721
  this.foundation.handlePropValueChange(this.props.value);
75969
76722
  }
@@ -84963,8 +85716,13 @@ class Body_Body extends baseComponent_BaseComponent {
84963
85716
  const {
84964
85717
  flattenedColumns,
84965
85718
  getCellWidths
84966
- } = _this.context;
84967
- const cellWidths = getCellWidths(flattenedColumns);
85719
+ } = _this.context; // we use memoized cellWidths to avoid re-render expanded row (fix #686)
85720
+
85721
+ if (flattenedColumns !== _this.flattenedColumns) {
85722
+ _this.flattenedColumns = flattenedColumns;
85723
+ _this.cellWidths = getCellWidths(flattenedColumns);
85724
+ }
85725
+
84968
85726
  return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(ExpandedRow_TableExpandedRow, {
84969
85727
  style: style,
84970
85728
  components: components,
@@ -84976,7 +85734,7 @@ class Body_Body extends baseComponent_BaseComponent {
84976
85734
  index: index,
84977
85735
  virtualized: virtualized,
84978
85736
  key: genExpandedRowKey(key),
84979
- cellWidths: cellWidths
85737
+ cellWidths: _this.cellWidths
84980
85738
  });
84981
85739
  };
84982
85740
  /**
@@ -85154,7 +85912,9 @@ class Body_Body extends baseComponent_BaseComponent {
85154
85912
  };
85155
85913
  this.listRef = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createRef();
85156
85914
  const {
85157
- getVirtualizedListRef
85915
+ getVirtualizedListRef,
85916
+ flattenedColumns,
85917
+ getCellWidths
85158
85918
  } = context;
85159
85919
 
85160
85920
  if (getVirtualizedListRef) {
@@ -85166,6 +85926,8 @@ class Body_Body extends baseComponent_BaseComponent {
85166
85926
  }
85167
85927
 
85168
85928
  this.foundation = new bodyFoundation_TableBodyFoundation(this.adapter);
85929
+ this.flattenedColumns = flattenedColumns;
85930
+ this.cellWidths = getCellWidths(flattenedColumns);
85169
85931
  this.observer = null;
85170
85932
  }
85171
85933
 
@@ -92295,6 +93057,7 @@ class nodeList_NodeList extends external_root_React_commonjs2_react_commonjs_rea
92295
93057
  super(props);
92296
93058
 
92297
93059
  this.onMotionEnd = () => {
93060
+ typeof this.props.onMotionEnd === 'function' && this.props.onMotionEnd();
92298
93061
  this.setState({
92299
93062
  transitionNodes: []
92300
93063
  });
@@ -92356,12 +93119,13 @@ class nodeList_NodeList extends external_root_React_commonjs2_react_commonjs_rea
92356
93119
  const {
92357
93120
  flattenNodes,
92358
93121
  motionType,
93122
+ searchTargetIsDeep,
92359
93123
  renderTreeNode
92360
93124
  } = this.props;
92361
93125
  const {
92362
93126
  transitionNodes
92363
93127
  } = this.state;
92364
- const mapData = transitionNodes.length ? transitionNodes : flattenNodes;
93128
+ const mapData = transitionNodes.length && !searchTargetIsDeep ? transitionNodes : flattenNodes;
92365
93129
 
92366
93130
  const options = map_default()(mapData).call(mapData, treeNode => {
92367
93131
  const isMotionNode = is_array_default()(treeNode);
@@ -92611,7 +93375,8 @@ class tree_Tree extends baseComponent_BaseComponent {
92611
93375
  const isSeaching = Boolean(props.filterTreeNode && prevState.inputValue && prevState.inputValue.length);
92612
93376
  const newState = {
92613
93377
  prevProps: props
92614
- }; // Accept a props field as a parameter to determine whether to update the field
93378
+ };
93379
+ const isExpandControlled = ('expandedKeys' in props); // Accept a props field as a parameter to determine whether to update the field
92615
93380
 
92616
93381
  const needUpdate = name => {
92617
93382
  const firstInProps = !prevProps && name in props;
@@ -92655,7 +93420,8 @@ class tree_Tree extends baseComponent_BaseComponent {
92655
93420
  }
92656
93421
  }
92657
93422
 
92658
- const expandAllWhenDataChange = (needUpdate('treeDataSimpleJson') || needUpdate('treeData')) && props.expandAll;
93423
+ const dataUpdated = needUpdate('treeDataSimpleJson') || needUpdate('treeData');
93424
+ const expandAllWhenDataChange = dataUpdated && props.expandAll;
92659
93425
 
92660
93426
  if (!isSeaching) {
92661
93427
  // Update expandedKeys
@@ -92681,7 +93447,7 @@ class tree_Tree extends baseComponent_BaseComponent {
92681
93447
  newState.expandedKeys = calcExpandedKeys(props.defaultExpandedKeys, keyEntities);
92682
93448
  } else if (!prevProps && props.defaultValue) {
92683
93449
  newState.expandedKeys = calcExpandedKeysForValues(props.defaultValue, keyEntities, props.multiple, valueEntities);
92684
- } else if (!prevProps && props.value) {
93450
+ } else if ((!prevProps || !isExpandControlled && dataUpdated) && props.value) {
92685
93451
  newState.expandedKeys = calcExpandedKeysForValues(props.value, keyEntities, props.multiple, valueEntities);
92686
93452
  }
92687
93453
 
@@ -93183,6 +93949,7 @@ const treeSelect_constants_numbers = {};
93183
93949
 
93184
93950
 
93185
93951
 
93952
+
93186
93953
 
93187
93954
 
93188
93955
  // eslint-disable-next-line max-len
@@ -93325,7 +94092,7 @@ class foundation_TreeSelectFoundation extends foundation {
93325
94092
  const isSearching = Boolean(inputValue);
93326
94093
  const treeNodeProps = {
93327
94094
  eventKey: key,
93328
- expanded: isSearching ? filteredExpandedKeys.has(key) : expandedKeys.has(key),
94095
+ expanded: isSearching && !this._isExpandControlled() ? filteredExpandedKeys.has(key) : expandedKeys.has(key),
93329
94096
  selected: includes_default()(selectedKeys).call(selectedKeys, key),
93330
94097
  checked: realChecked,
93331
94098
  halfChecked: realHalfChecked,
@@ -93612,20 +94379,25 @@ class foundation_TreeSelectFoundation extends foundation {
93612
94379
 
93613
94380
  clearInput() {
93614
94381
  const {
94382
+ flattenNodes,
93615
94383
  expandedKeys,
93616
94384
  selectedKeys,
93617
94385
  keyEntities,
93618
94386
  treeData
93619
94387
  } = this.getStates();
94388
+ const newExpandedKeys = new set_default.a(expandedKeys);
94389
+
94390
+ const isExpandControlled = this._isExpandControlled();
94391
+
93620
94392
  const expandedOptsKeys = findAncestorKeys(selectedKeys, keyEntities);
93621
94393
 
93622
- for_each_default()(expandedOptsKeys).call(expandedOptsKeys, item => expandedKeys.add(item));
94394
+ for_each_default()(expandedOptsKeys).call(expandedOptsKeys, item => newExpandedKeys.add(item));
93623
94395
 
93624
- const flattenNodes = flattenTreeData(treeData, expandedKeys);
94396
+ const newFlattenNodes = flattenTreeData(treeData, newExpandedKeys);
93625
94397
 
93626
94398
  this._adapter.updateState({
93627
- expandedKeys,
93628
- flattenNodes,
94399
+ expandedKeys: isExpandControlled ? expandedKeys : newExpandedKeys,
94400
+ flattenNodes: isExpandControlled ? flattenNodes : newFlattenNodes,
93629
94401
  inputValue: '',
93630
94402
  motionKeys: new set_default.a([]),
93631
94403
  filteredKeys: new set_default.a([]),
@@ -93639,6 +94411,7 @@ class foundation_TreeSelectFoundation extends foundation {
93639
94411
  this._adapter.updateInputValue(sugInput);
93640
94412
 
93641
94413
  const {
94414
+ flattenNodes,
93642
94415
  expandedKeys,
93643
94416
  selectedKeys,
93644
94417
  keyEntities,
@@ -93649,17 +94422,18 @@ class foundation_TreeSelectFoundation extends foundation {
93649
94422
  filterTreeNode,
93650
94423
  treeNodeFilterProp
93651
94424
  } = this.getProps();
94425
+ const newExpandedKeys = new set_default.a(expandedKeys);
93652
94426
  let filteredOptsKeys = [];
93653
94427
  let expandedOptsKeys = [];
93654
- let flattenNodes = [];
94428
+ let newFlattenNodes = [];
93655
94429
  let filteredShownKeys = new set_default.a([]);
93656
94430
 
93657
94431
  if (!sugInput) {
93658
94432
  expandedOptsKeys = findAncestorKeys(selectedKeys, keyEntities);
93659
94433
 
93660
- for_each_default()(expandedOptsKeys).call(expandedOptsKeys, item => expandedKeys.add(item));
94434
+ for_each_default()(expandedOptsKeys).call(expandedOptsKeys, item => newExpandedKeys.add(item));
93661
94435
 
93662
- flattenNodes = flattenTreeData(treeData, expandedKeys);
94436
+ newFlattenNodes = flattenTreeData(treeData, newExpandedKeys);
93663
94437
  } else {
93664
94438
  var _context3, _context4;
93665
94439
 
@@ -93672,17 +94446,19 @@ class foundation_TreeSelectFoundation extends foundation {
93672
94446
  expandedOptsKeys = findAncestorKeys(filteredOptsKeys, keyEntities, false);
93673
94447
  const shownChildKeys = findDescendantKeys(filteredOptsKeys, keyEntities, true);
93674
94448
  filteredShownKeys = new set_default.a([...shownChildKeys, ...expandedOptsKeys]);
93675
- flattenNodes = flattenTreeData(treeData, new set_default.a(expandedOptsKeys), showFilteredOnly && filteredShownKeys);
94449
+ newFlattenNodes = flattenTreeData(treeData, new set_default.a(expandedOptsKeys), showFilteredOnly && filteredShownKeys);
93676
94450
  }
93677
94451
 
93678
- this._adapter.notifySearch(sugInput);
94452
+ const newFilteredExpandedKeys = new set_default.a(expandedOptsKeys);
94453
+
94454
+ this._adapter.notifySearch(sugInput, from_default()(newFilteredExpandedKeys));
93679
94455
 
93680
94456
  this._adapter.updateState({
93681
- expandedKeys,
93682
- flattenNodes,
94457
+ expandedKeys: this._isExpandControlled() ? expandedKeys : newExpandedKeys,
94458
+ flattenNodes: this._isExpandControlled() ? flattenNodes : newFlattenNodes,
93683
94459
  motionKeys: new set_default.a([]),
93684
94460
  filteredKeys: new set_default.a(filteredOptsKeys),
93685
- filteredExpandedKeys: new set_default.a(expandedOptsKeys),
94461
+ filteredExpandedKeys: newFilteredExpandedKeys,
93686
94462
  filteredShownKeys
93687
94463
  });
93688
94464
  }
@@ -93926,7 +94702,9 @@ class foundation_TreeSelectFoundation extends foundation {
93926
94702
  return;
93927
94703
  }
93928
94704
 
93929
- if (isSearching) {
94705
+ const isExpandControlled = this._isExpandControlled();
94706
+
94707
+ if (isSearching && !isExpandControlled) {
93930
94708
  this.handleNodeExpandInSearch(e, treeNode);
93931
94709
  return;
93932
94710
  }
@@ -93954,7 +94732,7 @@ class foundation_TreeSelectFoundation extends foundation {
93954
94732
 
93955
94733
  this._adapter.cacheFlattenNodes(motionType === 'hide' && this._isAnimated());
93956
94734
 
93957
- if (!this._isExpandControlled()) {
94735
+ if (!isExpandControlled) {
93958
94736
  const flattenNodes = flattenTreeData(treeData, expandedKeys);
93959
94737
  const motionKeys = this._isAnimated() ? getMotionKeys(eventKey, expandedKeys, keyEntities) : [];
93960
94738
  const newState = {
@@ -94766,7 +95544,8 @@ class treeSelect_TreeSelect extends baseComponent_BaseComponent {
94766
95544
  const {
94767
95545
  flattenNodes,
94768
95546
  motionKeys,
94769
- motionType
95547
+ motionType,
95548
+ filteredKeys
94770
95549
  } = this.state;
94771
95550
  const {
94772
95551
  direction
@@ -94775,6 +95554,7 @@ class treeSelect_TreeSelect extends baseComponent_BaseComponent {
94775
95554
  virtualize,
94776
95555
  motionExpand
94777
95556
  } = this.props;
95557
+ const isExpandControlled = ('expandedKeys' in this.props);
94778
95558
 
94779
95559
  if (!virtualize || isEmpty_default()(virtualize)) {
94780
95560
  return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(nodeList_NodeList, {
@@ -94782,6 +95562,8 @@ class treeSelect_TreeSelect extends baseComponent_BaseComponent {
94782
95562
  flattenList: this._flattenNodes,
94783
95563
  motionKeys: motionExpand ? motionKeys : new set_default.a([]),
94784
95564
  motionType: motionType,
95565
+ // When motionKeys is empty, but filteredKeys is not empty (that is, the search hits), this situation should be distinguished from ordinary motionKeys
95566
+ searchTargetIsDeep: isExpandControlled && motionExpand && isEmpty_default()(motionKeys) && !isEmpty_default()(filteredKeys),
94785
95567
  onMotionEnd: this.onMotionEnd,
94786
95568
  renderTreeNode: this.renderTreeNode
94787
95569
  });
@@ -94922,6 +95704,10 @@ class treeSelect_TreeSelect extends baseComponent_BaseComponent {
94922
95704
  this.clickOutsideHandler = null;
94923
95705
  this.foundation = new foundation_TreeSelectFoundation(this.adapter);
94924
95706
  this.treeSelectID = slice_default()(_context2 = Math.random().toString(36)).call(_context2, 2);
95707
+
95708
+ this.onMotionEnd = () => {
95709
+ this.adapter.rePositionDropdown();
95710
+ };
94925
95711
  } // eslint-disable-next-line max-lines-per-function
94926
95712
 
94927
95713
 
@@ -95101,8 +95887,8 @@ class treeSelect_TreeSelect extends baseComponent_BaseComponent {
95101
95887
  notifySelect: (selectKey, bool, node) => {
95102
95888
  this.props.onSelect && this.props.onSelect(selectKey, bool, node);
95103
95889
  },
95104
- notifySearch: input => {
95105
- this.props.onSearch && this.props.onSearch(input);
95890
+ notifySearch: (input, filteredExpandedKeys) => {
95891
+ this.props.onSearch && this.props.onSearch(input, filteredExpandedKeys);
95106
95892
  },
95107
95893
  cacheFlattenNodes: bool => {
95108
95894
  this._flattenNodes = bool ? treeUtil_cloneDeep(this.state.flattenNodes) : null;