@douyinfe/semi-ui 2.31.2-alpha.0 → 2.32.0-beta.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 (137) hide show
  1. package/dist/css/semi.css +40 -11
  2. package/dist/css/semi.min.css +1 -1
  3. package/dist/umd/semi-ui.js +693 -379
  4. package/dist/umd/semi-ui.js.map +1 -1
  5. package/dist/umd/semi-ui.min.js +1 -1
  6. package/dist/umd/semi-ui.min.js.map +1 -1
  7. package/lib/cjs/anchor/index.d.ts +1 -1
  8. package/lib/cjs/autoComplete/index.d.ts +1 -1
  9. package/lib/cjs/button/Button.d.ts +1 -1
  10. package/lib/cjs/button/buttonGroup.d.ts +1 -1
  11. package/lib/cjs/button/index.d.ts +1 -1
  12. package/lib/cjs/cascader/index.d.ts +1 -0
  13. package/lib/cjs/cascader/index.js +10 -1
  14. package/lib/cjs/datePicker/dateInput.d.ts +5 -1
  15. package/lib/cjs/datePicker/dateInput.js +16 -9
  16. package/lib/cjs/datePicker/datePicker.d.ts +33 -5
  17. package/lib/cjs/datePicker/datePicker.js +104 -23
  18. package/lib/cjs/datePicker/index.d.ts +1 -0
  19. package/lib/cjs/datePicker/monthsGrid.d.ts +1 -1
  20. package/lib/cjs/datePicker/monthsGrid.js +11 -3
  21. package/lib/cjs/datePicker/yearAndMonth.d.ts +10 -6
  22. package/lib/cjs/datePicker/yearAndMonth.js +84 -30
  23. package/lib/cjs/form/baseForm.d.ts +3 -3
  24. package/lib/cjs/form/field.d.ts +2 -2
  25. package/lib/cjs/input/index.d.ts +1 -1
  26. package/lib/cjs/input/inputGroup.d.ts +1 -1
  27. package/lib/cjs/locale/interface.d.ts +1 -0
  28. package/lib/cjs/locale/source/ar.js +2 -1
  29. package/lib/cjs/locale/source/de.js +2 -1
  30. package/lib/cjs/locale/source/en_GB.js +2 -1
  31. package/lib/cjs/locale/source/en_US.js +2 -1
  32. package/lib/cjs/locale/source/es.js +2 -1
  33. package/lib/cjs/locale/source/fr.js +2 -1
  34. package/lib/cjs/locale/source/id_ID.js +2 -1
  35. package/lib/cjs/locale/source/it.js +2 -1
  36. package/lib/cjs/locale/source/ja_JP.js +2 -1
  37. package/lib/cjs/locale/source/ko_KR.js +2 -1
  38. package/lib/cjs/locale/source/ms_MY.js +2 -1
  39. package/lib/cjs/locale/source/nl_NL.js +2 -1
  40. package/lib/cjs/locale/source/pl_PL.js +2 -1
  41. package/lib/cjs/locale/source/pt_BR.js +2 -1
  42. package/lib/cjs/locale/source/ro.d.ts +1 -0
  43. package/lib/cjs/locale/source/ro.js +2 -1
  44. package/lib/cjs/locale/source/ru_RU.js +2 -1
  45. package/lib/cjs/locale/source/sv_SE.js +2 -1
  46. package/lib/cjs/locale/source/th_TH.js +2 -1
  47. package/lib/cjs/locale/source/tr_TR.js +2 -1
  48. package/lib/cjs/locale/source/vi_VN.js +2 -1
  49. package/lib/cjs/locale/source/zh_CN.js +2 -1
  50. package/lib/cjs/locale/source/zh_TW.js +2 -1
  51. package/lib/cjs/modal/confirm.d.ts +8 -8
  52. package/lib/cjs/navigation/Item.js +4 -2
  53. package/lib/cjs/navigation/nav-context.d.ts +2 -0
  54. package/lib/cjs/rating/index.d.ts +1 -1
  55. package/lib/cjs/rating/item.d.ts +1 -1
  56. package/lib/cjs/select/index.d.ts +18 -1
  57. package/lib/cjs/select/index.js +4 -1
  58. package/lib/cjs/sideSheet/SideSheetContent.d.ts +3 -1
  59. package/lib/cjs/sideSheet/SideSheetContent.js +3 -2
  60. package/lib/cjs/sideSheet/index.js +6 -3
  61. package/lib/cjs/space/index.js +5 -2
  62. package/lib/cjs/switch/index.d.ts +1 -1
  63. package/lib/cjs/switch/index.js +1 -1
  64. package/lib/cjs/table/Table.d.ts +2 -2
  65. package/lib/cjs/table/index.d.ts +1 -1
  66. package/lib/cjs/tagInput/index.d.ts +1 -1
  67. package/lib/cjs/timePicker/TimePicker.d.ts +1 -1
  68. package/lib/cjs/timePicker/index.d.ts +1 -1
  69. package/lib/cjs/treeSelect/index.d.ts +1 -0
  70. package/lib/cjs/treeSelect/index.js +7 -3
  71. package/lib/cjs/typography/title.d.ts +1 -1
  72. package/lib/es/anchor/index.d.ts +1 -1
  73. package/lib/es/autoComplete/index.d.ts +1 -1
  74. package/lib/es/button/Button.d.ts +1 -1
  75. package/lib/es/button/buttonGroup.d.ts +1 -1
  76. package/lib/es/button/index.d.ts +1 -1
  77. package/lib/es/cascader/index.d.ts +1 -0
  78. package/lib/es/cascader/index.js +10 -1
  79. package/lib/es/datePicker/dateInput.d.ts +5 -1
  80. package/lib/es/datePicker/dateInput.js +16 -9
  81. package/lib/es/datePicker/datePicker.d.ts +33 -5
  82. package/lib/es/datePicker/datePicker.js +109 -23
  83. package/lib/es/datePicker/index.d.ts +1 -0
  84. package/lib/es/datePicker/monthsGrid.d.ts +1 -1
  85. package/lib/es/datePicker/monthsGrid.js +11 -3
  86. package/lib/es/datePicker/yearAndMonth.d.ts +10 -6
  87. package/lib/es/datePicker/yearAndMonth.js +83 -29
  88. package/lib/es/form/baseForm.d.ts +3 -3
  89. package/lib/es/form/field.d.ts +2 -2
  90. package/lib/es/input/index.d.ts +1 -1
  91. package/lib/es/input/inputGroup.d.ts +1 -1
  92. package/lib/es/locale/interface.d.ts +1 -0
  93. package/lib/es/locale/source/ar.js +2 -1
  94. package/lib/es/locale/source/de.js +2 -1
  95. package/lib/es/locale/source/en_GB.js +2 -1
  96. package/lib/es/locale/source/en_US.js +2 -1
  97. package/lib/es/locale/source/es.js +2 -1
  98. package/lib/es/locale/source/fr.js +2 -1
  99. package/lib/es/locale/source/id_ID.js +2 -1
  100. package/lib/es/locale/source/it.js +2 -1
  101. package/lib/es/locale/source/ja_JP.js +2 -1
  102. package/lib/es/locale/source/ko_KR.js +2 -1
  103. package/lib/es/locale/source/ms_MY.js +2 -1
  104. package/lib/es/locale/source/nl_NL.js +2 -1
  105. package/lib/es/locale/source/pl_PL.js +2 -1
  106. package/lib/es/locale/source/pt_BR.js +2 -1
  107. package/lib/es/locale/source/ro.d.ts +1 -0
  108. package/lib/es/locale/source/ro.js +2 -1
  109. package/lib/es/locale/source/ru_RU.js +2 -1
  110. package/lib/es/locale/source/sv_SE.js +2 -1
  111. package/lib/es/locale/source/th_TH.js +2 -1
  112. package/lib/es/locale/source/tr_TR.js +2 -1
  113. package/lib/es/locale/source/vi_VN.js +2 -1
  114. package/lib/es/locale/source/zh_CN.js +2 -1
  115. package/lib/es/locale/source/zh_TW.js +2 -1
  116. package/lib/es/modal/confirm.d.ts +8 -8
  117. package/lib/es/navigation/Item.js +4 -2
  118. package/lib/es/navigation/nav-context.d.ts +2 -0
  119. package/lib/es/rating/index.d.ts +1 -1
  120. package/lib/es/rating/item.d.ts +1 -1
  121. package/lib/es/select/index.d.ts +18 -1
  122. package/lib/es/select/index.js +4 -1
  123. package/lib/es/sideSheet/SideSheetContent.d.ts +3 -1
  124. package/lib/es/sideSheet/SideSheetContent.js +3 -2
  125. package/lib/es/sideSheet/index.js +6 -3
  126. package/lib/es/space/index.js +4 -2
  127. package/lib/es/switch/index.d.ts +1 -1
  128. package/lib/es/switch/index.js +1 -1
  129. package/lib/es/table/Table.d.ts +2 -2
  130. package/lib/es/table/index.d.ts +1 -1
  131. package/lib/es/tagInput/index.d.ts +1 -1
  132. package/lib/es/timePicker/TimePicker.d.ts +1 -1
  133. package/lib/es/timePicker/index.d.ts +1 -1
  134. package/lib/es/treeSelect/index.d.ts +1 -0
  135. package/lib/es/treeSelect/index.js +7 -3
  136. package/lib/es/typography/title.d.ts +1 -1
  137. package/package.json +8 -8
@@ -140,16 +140,16 @@ export declare function withWarning(props: ModalReactProps): {
140
140
  type: "warning";
141
141
  };
142
142
  export declare function withError(props: ModalReactProps): {
143
+ title?: React.ReactNode;
143
144
  children?: React.ReactNode;
144
- motion?: boolean;
145
+ size?: import("@douyinfe/semi-foundation/lib/cjs/modal/modalFoundation").Size;
145
146
  style?: React.CSSProperties;
146
147
  className?: string;
148
+ motion?: boolean;
147
149
  getPopupContainer?: () => HTMLElement;
148
150
  footer?: React.ReactNode;
149
151
  header?: React.ReactNode;
150
- title?: React.ReactNode;
151
152
  direction?: any;
152
- size?: import("@douyinfe/semi-foundation/lib/cjs/modal/modalFoundation").Size;
153
153
  width?: string | number;
154
154
  height?: string | number;
155
155
  mask?: boolean;
@@ -201,13 +201,13 @@ export declare function withError(props: ModalReactProps): {
201
201
  onMouseEnter?: React.MouseEventHandler<HTMLButtonElement>;
202
202
  onMouseLeave?: React.MouseEventHandler<HTMLButtonElement>;
203
203
  'aria-label'?: string;
204
+ title?: string;
205
+ name?: string;
206
+ value?: string | number | readonly string[];
204
207
  onAnimationStart?: React.AnimationEventHandler<HTMLButtonElement>;
205
208
  onAnimationEnd?: React.AnimationEventHandler<HTMLButtonElement>;
206
- value?: string | number | readonly string[];
207
209
  form?: string;
208
210
  slot?: string;
209
- title?: string;
210
- name?: string;
211
211
  hidden?: boolean;
212
212
  color?: string;
213
213
  onChange?: React.FormEventHandler<HTMLButtonElement>;
@@ -228,7 +228,7 @@ export declare function withError(props: ModalReactProps): {
228
228
  translate?: "no" | "yes";
229
229
  prefix?: string;
230
230
  contentEditable?: "inherit" | (boolean | "false" | "true");
231
- inputMode?: "none" | "search" | "text" | "tel" | "url" | "email" | "numeric" | "decimal";
231
+ inputMode?: "search" | "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal";
232
232
  tabIndex?: number;
233
233
  role?: React.AriaRole;
234
234
  onMouseOut?: React.MouseEventHandler<HTMLButtonElement>;
@@ -274,7 +274,7 @@ export declare function withError(props: ModalReactProps): {
274
274
  'aria-current'?: boolean | "time" | "page" | "false" | "true" | "location" | "step" | "date";
275
275
  'aria-details'?: string;
276
276
  'aria-disabled'?: boolean | "false" | "true";
277
- 'aria-dropeffect'?: "none" | "link" | "copy" | "move" | "execute" | "popup";
277
+ 'aria-dropeffect'?: "link" | "none" | "copy" | "move" | "execute" | "popup";
278
278
  'aria-errormessage'?: string;
279
279
  'aria-flowto'?: string;
280
280
  'aria-grabbed'?: boolean | "false" | "true";
@@ -53,12 +53,14 @@ class NavItem extends _baseComponent.default {
53
53
  tooltipHideDelay,
54
54
  tooltipShowDelay
55
55
  } = this.props;
56
+ const hideDelay = tooltipHideDelay !== null && tooltipHideDelay !== void 0 ? tooltipHideDelay : this.context.tooltipHideDelay;
57
+ const showDelay = tooltipShowDelay !== null && tooltipShowDelay !== void 0 ? tooltipShowDelay : this.context.tooltipShowDelay;
56
58
  return /*#__PURE__*/_react.default.createElement(_tooltip.default, {
57
59
  content: text,
58
60
  position: "right",
59
61
  trigger: 'hover',
60
- mouseEnterDelay: tooltipShowDelay,
61
- mouseLeaveDelay: tooltipHideDelay
62
+ mouseEnterDelay: showDelay,
63
+ mouseLeaveDelay: hideDelay
62
64
  }, node);
63
65
  };
64
66
 
@@ -21,6 +21,8 @@ export interface NavContextType {
21
21
  canUpdateOpenKeys?: boolean;
22
22
  renderWrapper?: NavProps['renderWrapper'];
23
23
  getPopupContainer?: DropdownProps['getPopupContainer'];
24
+ tooltipShowDelay?: number;
25
+ tooltipHideDelay?: number;
24
26
  }
25
27
  declare const NavContext: React.Context<NavContextType>;
26
28
  export default NavContext;
@@ -69,7 +69,7 @@ export default class Rating extends BaseComponent<RatingProps, RatingState> {
69
69
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
70
70
  onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
71
71
  autoFocus: PropTypes.Requireable<boolean>;
72
- size: PropTypes.Requireable<NonNullable<number | "small" | "default">>;
72
+ size: PropTypes.Requireable<NonNullable<number | "default" | "small">>;
73
73
  tooltips: PropTypes.Requireable<string[]>;
74
74
  id: PropTypes.Requireable<string>;
75
75
  preventScroll: PropTypes.Requireable<boolean>;
@@ -40,7 +40,7 @@ export default class Item extends BaseComponent<RatingItemProps, RatingItemState
40
40
  disabled: PropTypes.Requireable<boolean>;
41
41
  count: PropTypes.Requireable<number>;
42
42
  ariaLabelPrefix: PropTypes.Requireable<string>;
43
- size: PropTypes.Requireable<NonNullable<number | "small" | "default">>;
43
+ size: PropTypes.Requireable<NonNullable<number | "default" | "small">>;
44
44
  'aria-describedby': PropTypes.Requireable<string>;
45
45
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
46
46
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
@@ -33,6 +33,23 @@ export interface optionRenderProps {
33
33
  onClick?: (e: React.MouseEvent) => any;
34
34
  [x: string]: any;
35
35
  }
36
+ export interface SelectedItemProps {
37
+ value: OptionProps['value'];
38
+ label: OptionProps['label'];
39
+ _show?: boolean;
40
+ _selected: boolean;
41
+ _scrollIndex?: number;
42
+ }
43
+ export interface TriggerRenderProps {
44
+ value: SelectedItemProps[];
45
+ inputValue: string;
46
+ onSearch: (inputValue: string) => void;
47
+ onClear: () => void;
48
+ onRemove: (option: OptionProps) => void;
49
+ disabled: boolean;
50
+ placeholder: string;
51
+ componentProps: Record<string, any>;
52
+ }
36
53
  export interface selectMethod {
37
54
  clearInput?: () => void;
38
55
  selectAll?: () => void;
@@ -121,7 +138,7 @@ export declare type SelectProps = {
121
138
  onDeselect?: (value: SelectProps['value'], option: Record<string, any>) => void;
122
139
  onSelect?: (value: SelectProps['value'], option: Record<string, any>) => void;
123
140
  allowCreate?: boolean;
124
- triggerRender?: (props?: any) => React.ReactNode;
141
+ triggerRender?: (props?: TriggerRenderProps) => React.ReactNode;
125
142
  onClear?: () => void;
126
143
  virtualize?: virtualListProps;
127
144
  onFocus?: (e: React.FocusEvent) => void;
@@ -1212,11 +1212,14 @@ class Select extends _baseComponent.default {
1212
1212
  }, arrowIcon) : /*#__PURE__*/_react.default.createElement("div", {
1213
1213
  className: `${prefixcls}-arrow-empty`
1214
1214
  });
1215
- const clear = clearIcon ? clearIcon : /*#__PURE__*/_react.default.createElement(_semiIcons.IconClear, null);
1215
+ const clear = clearIcon ? clearIcon : /*#__PURE__*/_react.default.createElement(_semiIcons.IconClear, null); // semantics of onSearch are more in line with behavior, onChange is alias of onSearch, will be deprecate next major version
1216
+
1216
1217
  const inner = useCustomTrigger ? /*#__PURE__*/_react.default.createElement(_trigger.default, {
1217
1218
  value: Array.from(selections.values()),
1218
1219
  inputValue: inputValue,
1219
1220
  onChange: this.handleInputChange,
1221
+ onSearch: this.handleInputChange,
1222
+ onRemove: item => this.foundation.removeTag(item),
1220
1223
  onClear: this.onClear,
1221
1224
  disabled: disabled,
1222
1225
  triggerRender: triggerRender,
@@ -1,5 +1,6 @@
1
1
  import React, { CSSProperties } from 'react';
2
2
  import PropTypes from 'prop-types';
3
+ import { SideSheetProps } from '@douyinfe/semi-foundation/lib/cjs/sideSheet/sideSheetFoundation';
3
4
  export interface SideSheetContentProps {
4
5
  onClose?: (e: React.MouseEvent) => void;
5
6
  mask?: boolean;
@@ -9,9 +10,10 @@ export interface SideSheetContentProps {
9
10
  title?: React.ReactNode;
10
11
  closable?: boolean;
11
12
  headerStyle?: CSSProperties;
12
- width: CSSProperties['width'];
13
+ width?: CSSProperties['width'];
13
14
  height: CSSProperties['height'];
14
15
  style: CSSProperties;
16
+ size: SideSheetProps['size'];
15
17
  bodyStyle?: CSSProperties;
16
18
  className: string;
17
19
  dialogClassName?: string;
@@ -143,7 +143,7 @@ class SideSheetContent extends _react.default.PureComponent {
143
143
  key: "dialog-element",
144
144
  role: "dialog",
145
145
  tabIndex: -1,
146
- className: (0, _classnames.default)(`${prefixCls}-inner`, `${prefixCls}-inner-wrap`, (_a = this.props.dialogClassName) !== null && _a !== void 0 ? _a : ""),
146
+ className: (0, _classnames.default)(`${prefixCls}-inner`, `${prefixCls}-inner-wrap`, (_a = this.props.dialogClassName) !== null && _a !== void 0 ? _a : "", `${prefixCls}-size-${props.size}`),
147
147
  // onMouseDown={this.onDialogMouseDown}
148
148
  style: Object.assign(Object.assign({}, props.style), style)
149
149
  }, this.props.wrapperExtraProps), /*#__PURE__*/_react.default.createElement("div", {
@@ -167,7 +167,8 @@ class SideSheetContent extends _react.default.PureComponent {
167
167
  width
168
168
  } = this.props;
169
169
  const wrapperCls = (0, _classnames.default)(className, {
170
- [`${prefixCls}-fixed`]: !mask
170
+ [`${prefixCls}-fixed`]: !mask,
171
+ [`${prefixCls}-size-${this.props.size}`]: !mask
171
172
  });
172
173
  const wrapperStyle = {};
173
174
 
@@ -182,7 +182,6 @@ class SideSheet extends _baseComponent.default {
182
182
  } = this.context;
183
183
  const isVertical = placement === 'left' || placement === 'right';
184
184
  const isHorizontal = placement === 'top' || placement === 'bottom';
185
- const sheetWidth = isVertical ? width ? width : defaultWidthList[size] : '100%';
186
185
  const sheetHeight = isHorizontal ? height ? height : defaultHeight : '100%';
187
186
  const classList = (0, _classnames.default)(prefixCls, className, {
188
187
  [`${prefixCls}-${placement}`]: placement,
@@ -191,11 +190,15 @@ class SideSheet extends _baseComponent.default {
191
190
  [`${prefixCls}-rtl`]: direction === 'rtl',
192
191
  [`${prefixCls}-hidden`]: keepDOM && this.state.displayNone
193
192
  });
194
- const contentProps = Object.assign(Object.assign({}, props), {
193
+ const contentProps = Object.assign(Object.assign(Object.assign({}, isVertical ? width ? {
194
+ width
195
+ } : {} : {
196
+ width: "100%"
197
+ }), props), {
195
198
  visible,
196
199
  motion: false,
200
+ size,
197
201
  className: classList,
198
- width: sheetWidth,
199
202
  height: sheetHeight,
200
203
  onClose: this.handleCancel
201
204
  });
@@ -23,6 +23,8 @@ require("@douyinfe/semi-foundation/lib/cjs/space/space.css");
23
23
 
24
24
  var _utils = require("./utils");
25
25
 
26
+ var _getDataAttr = _interopRequireDefault(require("@douyinfe/semi-foundation/lib/cjs/utils/getDataAttr"));
27
+
26
28
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
29
 
28
30
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -80,11 +82,12 @@ class Space extends _react.PureComponent {
80
82
  [`${prefixCls}-loose-vertical`]: spacingVerticalType === _constants.strings.SPACING_LOOSE
81
83
  });
82
84
  const childrenNodes = (0, _utils.flatten)(children);
83
- return /*#__PURE__*/_react.default.createElement("div", {
85
+ const dataAttributes = (0, _getDataAttr.default)(this.props);
86
+ return /*#__PURE__*/_react.default.createElement("div", Object.assign({}, dataAttributes, {
84
87
  className: classNames,
85
88
  style: realStyle,
86
89
  "x-semi-prop": "children"
87
- }, childrenNodes);
90
+ }), childrenNodes);
88
91
  }
89
92
 
90
93
  }
@@ -45,7 +45,7 @@ declare class Switch extends BaseComponent<SwitchProps, SwitchState> {
45
45
  onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
46
46
  onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
47
47
  style: PropTypes.Requireable<object>;
48
- size: PropTypes.Requireable<"small" | "default" | "large">;
48
+ size: PropTypes.Requireable<"default" | "small" | "large">;
49
49
  uncheckedText: PropTypes.Requireable<PropTypes.ReactNodeLike>;
50
50
  id: PropTypes.Requireable<string>;
51
51
  };
@@ -39,7 +39,7 @@ class Switch extends _baseComponent.default {
39
39
  };
40
40
 
41
41
  this.state = {
42
- nativeControlChecked: false,
42
+ nativeControlChecked: props.defaultChecked || props.checked,
43
43
  nativeControlDisabled: false,
44
44
  focusVisible: false
45
45
  };
@@ -60,7 +60,7 @@ declare class Table<RecordType extends Record<string, any>> extends BaseComponen
60
60
  components: PropTypes.Requireable<any>;
61
61
  bordered: PropTypes.Requireable<boolean>;
62
62
  loading: PropTypes.Requireable<boolean>;
63
- size: PropTypes.Requireable<"small" | "default" | "middle">;
63
+ size: PropTypes.Requireable<"default" | "small" | "middle">;
64
64
  tableLayout: PropTypes.Requireable<"" | "fixed" | "auto">;
65
65
  columns: PropTypes.Requireable<PropTypes.InferProps<{
66
66
  align: PropTypes.Requireable<"left" | "right" | "center">;
@@ -297,7 +297,7 @@ declare class Table<RecordType extends Record<string, any>> extends BaseComponen
297
297
  showTotal?: boolean;
298
298
  pageSize?: number;
299
299
  pageSizeOpts?: number[];
300
- size?: "small" | "default";
300
+ size?: "default" | "small";
301
301
  currentPage?: number;
302
302
  defaultCurrentPage?: number;
303
303
  onPageChange?: (currentPage: number) => void;
@@ -16,7 +16,7 @@ declare class Table<RecordType extends Record<string, any> = Data> extends React
16
16
  components: PropTypes.Requireable<any>;
17
17
  bordered: PropTypes.Requireable<boolean>;
18
18
  loading: PropTypes.Requireable<boolean>;
19
- size: PropTypes.Requireable<"small" | "default" | "middle">;
19
+ size: PropTypes.Requireable<"default" | "small" | "middle">;
20
20
  tableLayout: PropTypes.Requireable<"" | "fixed" | "auto">;
21
21
  columns: PropTypes.Requireable<PropTypes.InferProps<{
22
22
  align: PropTypes.Requireable<"left" | "right" | "center">;
@@ -96,7 +96,7 @@ declare class TagInput extends BaseComponent<TagInputProps, TagInputState> {
96
96
  onAdd: PropTypes.Requireable<(...args: any[]) => any>;
97
97
  onRemove: PropTypes.Requireable<(...args: any[]) => any>;
98
98
  onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
99
- size: PropTypes.Requireable<"small" | "default" | "large">;
99
+ size: PropTypes.Requireable<"default" | "small" | "large">;
100
100
  validateStatus: PropTypes.Requireable<"default" | "error" | "warning" | "success">;
101
101
  prefix: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
102
102
  suffix: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
@@ -130,7 +130,7 @@ export default class TimePicker extends BaseComponent<TimePickerProps, TimePicke
130
130
  secondStep: PropTypes.Requireable<number>;
131
131
  focusOnOpen: PropTypes.Requireable<boolean>;
132
132
  autoFocus: PropTypes.Requireable<boolean>;
133
- size: PropTypes.Requireable<"small" | "default" | "large">;
133
+ size: PropTypes.Requireable<"default" | "small" | "large">;
134
134
  panels: PropTypes.Requireable<PropTypes.InferProps<{
135
135
  panelHeader: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
136
136
  panelFooter: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
@@ -48,7 +48,7 @@ export default class LocaleTimePicker extends React.PureComponent<LocalePickerPr
48
48
  secondStep: import("prop-types").Requireable<number>;
49
49
  focusOnOpen: import("prop-types").Requireable<boolean>;
50
50
  autoFocus: import("prop-types").Requireable<boolean>;
51
- size: import("prop-types").Requireable<"small" | "default" | "large">;
51
+ size: import("prop-types").Requireable<"default" | "small" | "large">;
52
52
  panels: import("prop-types").Requireable<import("prop-types").InferProps<{
53
53
  panelHeader: import("prop-types").Requireable<NonNullable<import("prop-types").ReactNodeLike>>;
54
54
  panelFooter: import("prop-types").Requireable<NonNullable<import("prop-types").ReactNodeLike>>;
@@ -180,6 +180,7 @@ declare class TreeSelect extends BaseComponent<TreeSelectProps, TreeSelectState>
180
180
  showRestTagsPopover: PropTypes.Requireable<boolean>;
181
181
  restTagsPopoverProps: PropTypes.Requireable<object>;
182
182
  preventScroll: PropTypes.Requireable<boolean>;
183
+ clickTriggerToHide: PropTypes.Requireable<boolean>;
183
184
  };
184
185
  static defaultProps: Partial<TreeSelectProps>;
185
186
  inputRef: React.RefObject<typeof Input>;
@@ -485,7 +485,9 @@ class TreeSelect extends _baseComponent.default {
485
485
  onClear: this.handleClear,
486
486
  componentName: 'TreeSelect',
487
487
  triggerRender: triggerRender,
488
- componentProps: Object.assign({}, this.props)
488
+ componentProps: Object.assign({}, this.props),
489
+ onSearch: this.search,
490
+ onRemove: this.removeTag
489
491
  }) : [/*#__PURE__*/_react.default.createElement(_react.Fragment, {
490
492
  key: 'prefix'
491
493
  }, prefix || insetLabel ? this.renderPrefix() : null), /*#__PURE__*/_react.default.createElement(_react.Fragment, {
@@ -1420,7 +1422,8 @@ TreeSelect.propTypes = {
1420
1422
  'aria-label': _propTypes.default.string,
1421
1423
  showRestTagsPopover: _propTypes.default.bool,
1422
1424
  restTagsPopoverProps: _propTypes.default.object,
1423
- preventScroll: _propTypes.default.bool
1425
+ preventScroll: _propTypes.default.bool,
1426
+ clickTriggerToHide: _propTypes.default.bool
1424
1427
  };
1425
1428
  TreeSelect.defaultProps = {
1426
1429
  searchPosition: _constants.strings.SEARCH_POSITION_DROPDOWN,
@@ -1450,7 +1453,8 @@ TreeSelect.defaultProps = {
1450
1453
  checkRelation: 'related',
1451
1454
  'aria-label': 'TreeSelect',
1452
1455
  showRestTagsPopover: false,
1453
- restTagsPopoverProps: {}
1456
+ restTagsPopoverProps: {},
1457
+ clickTriggerToHide: true
1454
1458
  };
1455
1459
  var _default = TreeSelect;
1456
1460
  exports.default = _default;
@@ -37,7 +37,7 @@ export default class Title extends PureComponent<TitleProps> {
37
37
  underline: PropTypes.Requireable<boolean>;
38
38
  strong: PropTypes.Requireable<boolean>;
39
39
  type: PropTypes.Requireable<"warning" | "success" | "primary" | "tertiary" | "secondary" | "danger" | "quaternary">;
40
- heading: PropTypes.Requireable<4 | 2 | 1 | 3 | 6 | 5>;
40
+ heading: PropTypes.Requireable<1 | 2 | 3 | 4 | 6 | 5>;
41
41
  style: PropTypes.Requireable<object>;
42
42
  className: PropTypes.Requireable<string>;
43
43
  component: PropTypes.Requireable<string>;
@@ -39,7 +39,7 @@ declare class Anchor extends BaseComponent<AnchorProps, AnchorState> {
39
39
  static contextType: React.Context<ContextValue>;
40
40
  static Link: typeof Link;
41
41
  static PropTypes: {
42
- size: PropTypes.Requireable<"small" | "default">;
42
+ size: PropTypes.Requireable<"default" | "small">;
43
43
  railTheme: PropTypes.Requireable<"primary" | "tertiary" | "muted">;
44
44
  className: PropTypes.Requireable<string>;
45
45
  style: PropTypes.Requireable<object>;
@@ -125,7 +125,7 @@ declare class AutoComplete<T extends AutoCompleteItems> extends BaseComponent<Au
125
125
  renderSelectedItem: PropTypes.Requireable<(...args: any[]) => any>;
126
126
  suffix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
127
127
  showClear: PropTypes.Requireable<boolean>;
128
- size: PropTypes.Requireable<"small" | "default" | "large">;
128
+ size: PropTypes.Requireable<"default" | "small" | "large">;
129
129
  style: PropTypes.Requireable<object>;
130
130
  stopPropagation: PropTypes.Requireable<NonNullable<string | boolean>>;
131
131
  maxHeight: PropTypes.Requireable<NonNullable<string | number>>;
@@ -47,7 +47,7 @@ export default class Button extends PureComponent<ButtonProps> {
47
47
  disabled: PropTypes.Requireable<boolean>;
48
48
  prefixCls: PropTypes.Requireable<string>;
49
49
  style: PropTypes.Requireable<object>;
50
- size: PropTypes.Requireable<"small" | "default" | "large">;
50
+ size: PropTypes.Requireable<"default" | "small" | "large">;
51
51
  type: PropTypes.Requireable<"warning" | "primary" | "tertiary" | "secondary" | "danger">;
52
52
  block: PropTypes.Requireable<boolean>;
53
53
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
@@ -18,7 +18,7 @@ export default class ButtonGroup extends BaseComponent<ButtonGroupProps> {
18
18
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
19
19
  disabled: PropTypes.Requireable<boolean>;
20
20
  type: PropTypes.Requireable<string>;
21
- size: PropTypes.Requireable<"small" | "default" | "large">;
21
+ size: PropTypes.Requireable<"default" | "small" | "large">;
22
22
  theme: PropTypes.Requireable<"solid" | "light" | "borderless">;
23
23
  'aria-label': PropTypes.Requireable<string>;
24
24
  };
@@ -22,7 +22,7 @@ declare class Button extends React.PureComponent<ButtonProps> {
22
22
  onMouseEnter: import("prop-types").Requireable<(...args: any[]) => any>;
23
23
  onMouseLeave: import("prop-types").Requireable<(...args: any[]) => any>;
24
24
  disabled: import("prop-types").Requireable<boolean>;
25
- size: import("prop-types").Requireable<"small" | "default" | "large">;
25
+ size: import("prop-types").Requireable<"default" | "small" | "large">;
26
26
  type: import("prop-types").Requireable<"warning" | "primary" | "tertiary" | "secondary" | "danger">;
27
27
  block: import("prop-types").Requireable<boolean>;
28
28
  onClick: import("prop-types").Requireable<(...args: any[]) => any>;
@@ -188,6 +188,7 @@ declare class Cascader extends BaseComponent<CascaderProps, CascaderState> {
188
188
  componentDidUpdate(prevProps: CascaderProps): void;
189
189
  handleInputChange: (value: string) => void;
190
190
  handleTagRemove: (e: any, tagValuePath: Array<string | number>) => void;
191
+ handleRemoveByKey: (key: any) => void;
191
192
  renderTagItem: (value: string | Array<string>, idx: number, type: string) => string | number | boolean | React.ReactFragment | JSX.Element;
192
193
  renderTagInput(): JSX.Element;
193
194
  renderInput(): JSX.Element;
@@ -41,6 +41,13 @@ class Cascader extends BaseComponent {
41
41
  this.foundation.handleTagRemove(e, tagValuePath);
42
42
  };
43
43
 
44
+ this.handleRemoveByKey = key => {
45
+ const {
46
+ keyEntities
47
+ } = this.state;
48
+ this.handleTagRemove(null, keyEntities[key].valuePath);
49
+ };
50
+
44
51
  this.renderTagItem = (value, idx, type) => {
45
52
  const {
46
53
  keyEntities,
@@ -330,7 +337,9 @@ class Cascader extends BaseComponent {
330
337
  disabled: disabled,
331
338
  triggerRender: triggerRender,
332
339
  componentName: 'Cascader',
333
- componentProps: Object.assign({}, this.props)
340
+ componentProps: Object.assign({}, this.props),
341
+ onSearch: this.handleInputChange,
342
+ onRemove: this.handleRemoveByKey
334
343
  });
335
344
  };
336
345
 
@@ -15,6 +15,9 @@ export interface DateInputProps extends DateInputFoundationProps, BaseProps {
15
15
  onClear?: (e: React.MouseEvent<HTMLDivElement>) => void;
16
16
  onInsetInputChange?: (options: InsetInputChangeProps) => void;
17
17
  value?: Date[];
18
+ inputRef?: React.RefObject<HTMLInputElement>;
19
+ rangeInputStartRef?: React.RefObject<HTMLInputElement>;
20
+ rangeInputEndRef?: React.RefObject<HTMLInputElement>;
18
21
  }
19
22
  export default class DateInput extends BaseComponent<DateInputProps, {}> {
20
23
  static propTypes: {
@@ -26,7 +29,7 @@ export default class DateInput extends BaseComponent<DateInputProps, {}> {
26
29
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
27
30
  value: PropTypes.Requireable<any[]>;
28
31
  disabled: PropTypes.Requireable<boolean>;
29
- type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "dateTimeRange">;
32
+ type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
30
33
  showClear: PropTypes.Requireable<boolean>;
31
34
  format: PropTypes.Requireable<string>;
32
35
  inputStyle: PropTypes.Requireable<object>;
@@ -81,6 +84,7 @@ export default class DateInput extends BaseComponent<DateInputProps, {}> {
81
84
  renderRangeClearBtn(rangeStart: string, rangeEnd: string): JSX.Element;
82
85
  renderRangeSuffix(suffix: React.ReactNode): JSX.Element;
83
86
  renderRangeInput(rangeProps: DateInputProps): JSX.Element;
87
+ isRenderMultipleInputs(): boolean;
84
88
  renderInputInset(): JSX.Element;
85
89
  renderTriggerInput(): JSX.Element;
86
90
  render(): JSX.Element;
@@ -264,6 +264,14 @@ export default class DateInput extends BaseComponent {
264
264
  })), this.renderRangeClearBtn(rangeStart, rangeEnd), this.renderRangeSuffix(suffix));
265
265
  }
266
266
 
267
+ isRenderMultipleInputs() {
268
+ const {
269
+ type
270
+ } = this.props; // isRange and not monthRange render multiple inputs
271
+
272
+ return type.includes('Range') && type !== 'monthRange';
273
+ }
274
+
267
275
  renderInputInset() {
268
276
  const {
269
277
  type,
@@ -277,9 +285,6 @@ export default class DateInput extends BaseComponent {
277
285
  density,
278
286
  insetInput
279
287
  } = this.props;
280
-
281
- const _isRangeType = type.includes('Range');
282
-
283
288
  const newInsetInputValue = this.foundation.getInsetInputValue({
284
289
  value,
285
290
  insetInputValue
@@ -316,7 +321,7 @@ export default class DateInput extends BaseComponent {
316
321
  valuePath: 'monthLeft.timeInput',
317
322
  onChange: this.handleInsetInputChange,
318
323
  onFocus: handleInsetTimeFocus
319
- }), _isRangeType && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
324
+ }), this.isRenderMultipleInputs() && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
320
325
  className: separatorCls
321
326
  }, density === 'compact' ? null : '-'), /*#__PURE__*/React.createElement(InsetDateInput, {
322
327
  forwardRef: rangeInputEndRef,
@@ -361,6 +366,7 @@ export default class DateInput extends BaseComponent {
361
366
  prefix,
362
367
  autofocus,
363
368
  size,
369
+ inputRef,
364
370
  // range input support props, no need passing to not range type
365
371
  rangeInputStartRef,
366
372
  rangeInputEndRef,
@@ -373,7 +379,7 @@ export default class DateInput extends BaseComponent {
373
379
  insetInputValue,
374
380
  defaultPickerValue
375
381
  } = _a,
376
- rest = __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", "defaultPickerValue"]);
382
+ rest = __rest(_a, ["placeholder", "type", "value", "inputValue", "inputStyle", "disabled", "showClear", "inputReadOnly", "insetLabel", "validateStatus", "block", "prefixCls", "multiple", "dateFnsLocale", "onBlur", "onClear", "onFocus", "prefix", "autofocus", "size", "inputRef", "rangeInputStartRef", "rangeInputEndRef", "onRangeClear", "onRangeBlur", "onRangeEndTabPress", "rangeInputFocus", "rangeSeparator", "insetInput", "insetInputValue", "defaultPickerValue"]);
377
383
 
378
384
  const dateIcon = /*#__PURE__*/React.createElement(IconCalendar, {
379
385
  "aria-hidden": true
@@ -391,22 +397,23 @@ export default class DateInput extends BaseComponent {
391
397
  }
392
398
 
393
399
  const inputCls = cls({
394
- [`${prefixCls}-input-readonly`]: inputReadOnly
400
+ [`${prefixCls}-input-readonly`]: inputReadOnly,
401
+ [`${prefixCls}-monthRange-input`]: type === 'monthRange'
395
402
  });
396
- const isRangeType = /range/i.test(type);
397
403
  const rangeProps = Object.assign(Object.assign({}, this.props), {
398
404
  text,
399
405
  suffix,
400
406
  inputCls
401
407
  });
402
- return isRangeType ? this.renderRangeInput(rangeProps) : /*#__PURE__*/React.createElement(Input, Object.assign({}, rest, {
408
+ return this.isRenderMultipleInputs() ? this.renderRangeInput(rangeProps) : /*#__PURE__*/React.createElement(Input, Object.assign({}, rest, {
409
+ ref: inputRef,
403
410
  insetLabel: insetLabel,
404
411
  disabled: disabled,
405
412
  readonly: inputReadOnly,
406
413
  className: inputCls,
407
414
  style: inputStyle,
408
415
  hideSuffix: showClear,
409
- placeholder: placeholder,
416
+ placeholder: type === 'monthRange' && Array.isArray(placeholder) ? placeholder[0] + rangeSeparator + placeholder[1] : placeholder,
410
417
  onEnterPress: this.handleEnterPress,
411
418
  onChange: this.handleChange,
412
419
  onClear: this.handleInputClear,