@douyinfe/semi-ui 2.57.1-alpha.0 → 2.58.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 (93) hide show
  1. package/dist/css/semi.css +85 -9
  2. package/dist/css/semi.min.css +1 -1
  3. package/dist/umd/semi-ui.js +82 -21
  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/_base/base.css +2 -2
  8. package/lib/cjs/button/Button.d.ts +1 -1
  9. package/lib/cjs/button/Button.js +1 -0
  10. package/lib/cjs/datePicker/monthsGrid.d.ts +1 -1
  11. package/lib/cjs/form/baseForm.d.ts +2 -2
  12. package/lib/cjs/form/field.d.ts +2 -2
  13. package/lib/cjs/locale/interface.d.ts +3 -0
  14. package/lib/cjs/locale/source/ar.js +3 -0
  15. package/lib/cjs/locale/source/de.js +3 -0
  16. package/lib/cjs/locale/source/en_GB.js +3 -0
  17. package/lib/cjs/locale/source/en_US.js +3 -0
  18. package/lib/cjs/locale/source/es.js +3 -0
  19. package/lib/cjs/locale/source/fr.js +3 -0
  20. package/lib/cjs/locale/source/id_ID.js +3 -0
  21. package/lib/cjs/locale/source/it.js +3 -0
  22. package/lib/cjs/locale/source/ja_JP.js +3 -0
  23. package/lib/cjs/locale/source/ko_KR.js +3 -0
  24. package/lib/cjs/locale/source/ms_MY.js +3 -0
  25. package/lib/cjs/locale/source/nl_NL.js +3 -0
  26. package/lib/cjs/locale/source/pl_PL.js +3 -0
  27. package/lib/cjs/locale/source/pt_BR.js +3 -0
  28. package/lib/cjs/locale/source/ro.js +3 -0
  29. package/lib/cjs/locale/source/ru_RU.js +3 -0
  30. package/lib/cjs/locale/source/sv_SE.js +3 -0
  31. package/lib/cjs/locale/source/th_TH.js +3 -0
  32. package/lib/cjs/locale/source/tr_TR.js +3 -0
  33. package/lib/cjs/locale/source/vi_VN.js +3 -0
  34. package/lib/cjs/locale/source/zh_CN.js +3 -0
  35. package/lib/cjs/locale/source/zh_TW.js +3 -0
  36. package/lib/cjs/modal/confirm.d.ts +9 -9
  37. package/lib/cjs/navigation/Item.js +1 -1
  38. package/lib/cjs/slider/index.js +9 -6
  39. package/lib/cjs/table/Body/BaseRow.d.ts +0 -2
  40. package/lib/cjs/table/Body/BaseRow.js +4 -9
  41. package/lib/cjs/table/ColGroup.d.ts +2 -2
  42. package/lib/cjs/table/interface.d.ts +16 -15
  43. package/lib/cjs/tabs/TabBar.d.ts +4 -0
  44. package/lib/cjs/tabs/TabBar.js +55 -3
  45. package/lib/cjs/tabs/TabItem.js +3 -1
  46. package/lib/cjs/tabs/index.d.ts +1 -0
  47. package/lib/cjs/tabs/index.js +7 -4
  48. package/lib/cjs/tabs/interface.d.ts +7 -0
  49. package/lib/cjs/typography/title.d.ts +1 -1
  50. package/lib/es/_base/base.css +2 -2
  51. package/lib/es/button/Button.d.ts +1 -1
  52. package/lib/es/button/Button.js +1 -0
  53. package/lib/es/datePicker/monthsGrid.d.ts +1 -1
  54. package/lib/es/form/baseForm.d.ts +2 -2
  55. package/lib/es/form/field.d.ts +2 -2
  56. package/lib/es/locale/interface.d.ts +3 -0
  57. package/lib/es/locale/source/ar.js +3 -0
  58. package/lib/es/locale/source/de.js +3 -0
  59. package/lib/es/locale/source/en_GB.js +3 -0
  60. package/lib/es/locale/source/en_US.js +3 -0
  61. package/lib/es/locale/source/es.js +3 -0
  62. package/lib/es/locale/source/fr.js +3 -0
  63. package/lib/es/locale/source/id_ID.js +3 -0
  64. package/lib/es/locale/source/it.js +3 -0
  65. package/lib/es/locale/source/ja_JP.js +3 -0
  66. package/lib/es/locale/source/ko_KR.js +3 -0
  67. package/lib/es/locale/source/ms_MY.js +3 -0
  68. package/lib/es/locale/source/nl_NL.js +3 -0
  69. package/lib/es/locale/source/pl_PL.js +3 -0
  70. package/lib/es/locale/source/pt_BR.js +3 -0
  71. package/lib/es/locale/source/ro.js +3 -0
  72. package/lib/es/locale/source/ru_RU.js +3 -0
  73. package/lib/es/locale/source/sv_SE.js +3 -0
  74. package/lib/es/locale/source/th_TH.js +3 -0
  75. package/lib/es/locale/source/tr_TR.js +3 -0
  76. package/lib/es/locale/source/vi_VN.js +3 -0
  77. package/lib/es/locale/source/zh_CN.js +3 -0
  78. package/lib/es/locale/source/zh_TW.js +3 -0
  79. package/lib/es/modal/confirm.d.ts +9 -9
  80. package/lib/es/navigation/Item.js +1 -1
  81. package/lib/es/slider/index.js +9 -6
  82. package/lib/es/table/Body/BaseRow.d.ts +0 -2
  83. package/lib/es/table/Body/BaseRow.js +4 -7
  84. package/lib/es/table/ColGroup.d.ts +2 -2
  85. package/lib/es/table/interface.d.ts +16 -15
  86. package/lib/es/tabs/TabBar.d.ts +4 -0
  87. package/lib/es/tabs/TabBar.js +56 -4
  88. package/lib/es/tabs/TabItem.js +3 -1
  89. package/lib/es/tabs/index.d.ts +1 -0
  90. package/lib/es/tabs/index.js +7 -4
  91. package/lib/es/tabs/interface.d.ts +7 -0
  92. package/lib/es/typography/title.d.ts +1 -1
  93. package/package.json +8 -8
@@ -266,11 +266,11 @@ export default class Slider extends BaseComponent {
266
266
  const minPercent = percentInfo.min;
267
267
  const maxPercent = percentInfo.max;
268
268
  let trackStyle = !vertical ? {
269
- width: range ? `${(maxPercent - minPercent) * 100}%` : `${minPercent * 100}%`,
270
- left: range ? `${minPercent * 100}%` : 0
269
+ width: range ? `${Math.abs(maxPercent - minPercent) * 100}%` : `${minPercent * 100}%`,
270
+ left: range ? `${Math.min(minPercent, maxPercent) * 100}%` : 0
271
271
  } : {
272
- height: range ? `${(maxPercent - minPercent) * 100}%` : `${minPercent * 100}%`,
273
- top: range ? `${minPercent * 100}%` : 0
272
+ height: range ? `${Math.abs(maxPercent - minPercent) * 100}%` : `${minPercent * 100}%`,
273
+ top: range ? `${Math.min(minPercent, maxPercent) * 100}%` : 0
274
274
  };
275
275
  trackStyle = included ? trackStyle : {};
276
276
  return (
@@ -448,7 +448,9 @@ export default class Slider extends BaseComponent {
448
448
  let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _noop;
449
449
  this.setState(stateObj, callback);
450
450
  },
451
- notifyChange: cbValue => this.props.onChange(cbValue),
451
+ notifyChange: cbValue => {
452
+ this.props.onChange(Array.isArray(cbValue) ? [...cbValue].sort() : cbValue);
453
+ },
452
454
  setDragging: value => {
453
455
  this.dragging = value;
454
456
  },
@@ -601,7 +603,8 @@ export default class Slider extends BaseComponent {
601
603
  [`${prefixCls}`]: !vertical,
602
604
  [cssClasses.VERTICAL]: vertical
603
605
  });
604
- const ariaLabel = range ? `Range: ${this._getAriaValueText(currentValue[0], 0)} to ${this._getAriaValueText(currentValue[1], 1)}` : undefined;
606
+ const fixedCurrentValue = Array.isArray(currentValue) ? [...currentValue].sort() : currentValue;
607
+ const ariaLabel = range ? `Range: ${this._getAriaValueText(fixedCurrentValue[0], 0)} to ${this._getAriaValueText(fixedCurrentValue[1], 1)}` : undefined;
605
608
  const slider = /*#__PURE__*/React.createElement("div", Object.assign({
606
609
  className: wrapperClass,
607
610
  style: style,
@@ -158,11 +158,9 @@ export default class TableRow extends BaseComponent<BaseRowProps, Record<string,
158
158
  disabled: boolean;
159
159
  };
160
160
  get adapter(): TableRowAdapter<BaseRowProps>;
161
- ref: React.MutableRefObject<any>;
162
161
  constructor(props: BaseRowProps);
163
162
  componentDidMount(): void;
164
163
  shouldComponentUpdate(nextProps: BaseRowProps): boolean;
165
- _cacheNode: (node: any) => void;
166
164
  renderExpandIcon: (record: Record<string, any>) => React.ReactNode;
167
165
  renderCells(): React.ReactNode[];
168
166
  handleMouseEnter: (e: React.MouseEvent) => void;
@@ -13,7 +13,7 @@ var __rest = this && this.__rest || function (s, e) {
13
13
  }
14
14
  return t;
15
15
  };
16
- import React, { createRef } from 'react';
16
+ import React from 'react';
17
17
  import classnames from 'classnames';
18
18
  import PropTypes from 'prop-types';
19
19
  import { strings, cssClasses } from '@douyinfe/semi-foundation/lib/es/table/constants';
@@ -88,9 +88,6 @@ export default class TableRow extends BaseComponent {
88
88
  }
89
89
  constructor(props) {
90
90
  super(props);
91
- this._cacheNode = node => {
92
- this.ref.current = node;
93
- };
94
91
  // Pass true to render the tree-shaped expand button
95
92
  this.renderExpandIcon = record => {
96
93
  const {
@@ -119,7 +116,6 @@ export default class TableRow extends BaseComponent {
119
116
  customRowProps.onClick(e);
120
117
  }
121
118
  };
122
- this.ref = /*#__PURE__*/createRef();
123
119
  this.foundation = new TableRowFoundation(this.adapter);
124
120
  }
125
121
  componentDidMount() {
@@ -260,7 +256,8 @@ export default class TableRow extends BaseComponent {
260
256
  expandableRow,
261
257
  level,
262
258
  expandedRow,
263
- isSection
259
+ isSection,
260
+ rowKey
264
261
  } = this.props;
265
262
  const BodyRow = components.body.row;
266
263
  const _a = onRow(record, index) || {},
@@ -299,7 +296,7 @@ export default class TableRow extends BaseComponent {
299
296
  }, ariaProps, rowProps, {
300
297
  style: baseRowStyle,
301
298
  className: rowCls,
302
- ref: this._cacheNode,
299
+ "data-row-key": rowKey,
303
300
  onMouseEnter: this.handleMouseEnter,
304
301
  onMouseLeave: this.handleMouseLeave,
305
302
  onClick: this.handleClick
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { ColumnProps } from './interface';
3
+ import { ColumnProps, TableComponents } from './interface';
4
4
  export interface ColGroupProps {
5
5
  columns?: ColumnProps[];
6
6
  prefixCls?: string;
7
7
  className?: string;
8
8
  style?: React.CSSProperties;
9
- components?: Record<string, any>;
9
+ components?: TableComponents['body'];
10
10
  }
11
11
  export default class ColGroup extends React.PureComponent<ColGroupProps> {
12
12
  static propTypes: {
@@ -188,29 +188,30 @@ export interface Data {
188
188
  [x: string]: any;
189
189
  key?: string | number;
190
190
  }
191
+ export type TableComponent<P> = React.ComponentType<P> | React.ForwardRefExoticComponent<P> | keyof React.ReactHTML;
191
192
  export interface TableComponents {
192
- table?: ReactNode;
193
+ table?: TableComponent<any>;
193
194
  header?: {
194
- outer?: ReactNode;
195
- wrapper?: ReactNode;
196
- row?: ReactNode;
197
- cell?: ReactNode;
195
+ outer?: TableComponent<any>;
196
+ wrapper?: TableComponent<any>;
197
+ row?: TableComponent<any>;
198
+ cell?: TableComponent<any>;
198
199
  };
199
200
  body?: {
200
- outer?: ReactNode;
201
- wrapper?: ReactNode;
202
- row?: ReactNode;
203
- cell?: ReactNode;
201
+ outer?: TableComponent<any>;
202
+ wrapper?: TableComponent<any>;
203
+ row?: TableComponent<any>;
204
+ cell?: TableComponent<any>;
204
205
  colgroup?: {
205
- wrapper?: ReactNode;
206
- col?: ReactNode;
206
+ wrapper?: TableComponent<any>;
207
+ col?: TableComponent<any>;
207
208
  };
208
209
  };
209
210
  footer?: {
210
- wrapper?: ReactNode;
211
- row?: ReactNode;
212
- cell?: ReactNode;
213
- outer?: ReactNode;
211
+ wrapper?: TableComponent<any>;
212
+ row?: TableComponent<any>;
213
+ cell?: TableComponent<any>;
214
+ outer?: TableComponent<any>;
214
215
  };
215
216
  }
216
217
  export interface RowSelectionProps<RecordType> {
@@ -1,5 +1,6 @@
1
1
  import React, { MouseEvent, ReactNode } from 'react';
2
2
  import PropTypes from 'prop-types';
3
+ import { DropdownProps } from '../dropdown';
3
4
  import { TabBarProps, PlainTab } from './interface';
4
5
  export interface TabBarState {
5
6
  endInd: number;
@@ -25,6 +26,7 @@ declare class TabBar extends React.Component<TabBarProps, TabBarState> {
25
26
  type: PropTypes.Requireable<string>;
26
27
  closable: PropTypes.Requireable<boolean>;
27
28
  deleteTabItem: PropTypes.Requireable<(...args: any[]) => any>;
29
+ more: PropTypes.Requireable<NonNullable<number | object>>;
28
30
  };
29
31
  constructor(props: TabBarProps);
30
32
  componentDidMount(): void;
@@ -38,6 +40,8 @@ declare class TabBar extends React.Component<TabBarProps, TabBarState> {
38
40
  renderCollapse: (items: Array<OverflowItem>, icon: ReactNode, pos: 'start' | 'end') => ReactNode;
39
41
  renderOverflow: (items: any[]) => Array<ReactNode>;
40
42
  renderCollapsedTab: () => ReactNode;
43
+ renderWithMoreTrigger: () => ReactNode;
44
+ renderMoreDropdown: (panels: PlainTab[], dropDownProps: DropdownProps, trigger: ReactNode) => ReactNode;
41
45
  render(): ReactNode;
42
46
  private _isActive;
43
47
  private _getItemKey;
@@ -16,9 +16,10 @@ import getDataAttr from '@douyinfe/semi-foundation/lib/es/utils/getDataAttr';
16
16
  import OverflowList from '../overflowList';
17
17
  import Dropdown from '../dropdown';
18
18
  import Button from '../button';
19
- import { IconChevronRight, IconChevronLeft } from '@douyinfe/semi-icons';
19
+ import { IconChevronRight, IconChevronLeft, IconChevronDown } from '@douyinfe/semi-icons';
20
20
  import { getUuidv4 } from '@douyinfe/semi-foundation/lib/es/utils/uuid';
21
21
  import TabItem from './TabItem';
22
+ import LocaleConsumer from "../locale/localeConsumer";
22
23
  class TabBar extends React.Component {
23
24
  constructor(props) {
24
25
  super(props);
@@ -156,6 +157,55 @@ class TabBar extends React.Component {
156
157
  visibleItemRenderer: this.renderTabItem
157
158
  });
158
159
  };
160
+ this.renderWithMoreTrigger = () => {
161
+ const {
162
+ list,
163
+ more
164
+ } = this.props;
165
+ let tabElements = [];
166
+ let moreTrigger = /*#__PURE__*/React.createElement("div", {
167
+ className: cls({
168
+ [`${cssClasses.TABS_BAR}-more-trigger`]: true,
169
+ [`${cssClasses.TABS_BAR}-more-trigger-${this.props.type}`]: true
170
+ })
171
+ }, /*#__PURE__*/React.createElement(LocaleConsumer, {
172
+ componentName: "Tabs"
173
+ }, (locale, localeCode) => /*#__PURE__*/React.createElement("div", {
174
+ className: `${cssClasses.TABS_BAR}-more-trigger-content`
175
+ }, /*#__PURE__*/React.createElement("div", null, locale.more), /*#__PURE__*/React.createElement(IconChevronDown, {
176
+ className: `${cssClasses.TABS_BAR}-more-trigger-content-icon`
177
+ }))));
178
+ let keepCount;
179
+ if (typeof more === "number") {
180
+ keepCount = list.length - Math.min(more, list.length);
181
+ tabElements = list.slice(0, keepCount).map(panel => this.renderTabItem(panel));
182
+ } else if (typeof more === 'object') {
183
+ keepCount = list.length - Math.min(more.count, list.length);
184
+ tabElements = list.slice(0, keepCount).map(panel => this.renderTabItem(panel));
185
+ if (more.render) {
186
+ moreTrigger = more.render();
187
+ }
188
+ } else if (more !== undefined) {
189
+ throw new Error("[Semi Tabs]: invalid tab props format: more");
190
+ }
191
+ return /*#__PURE__*/React.createElement(React.Fragment, null, tabElements, this.renderMoreDropdown(list.slice(keepCount), more === null || more === void 0 ? void 0 : more['dropdownProps'], moreTrigger));
192
+ };
193
+ this.renderMoreDropdown = (panels, dropDownProps, trigger) => {
194
+ return /*#__PURE__*/React.createElement(Dropdown, Object.assign({
195
+ trigger: 'hover',
196
+ showTick: true,
197
+ position: 'bottomLeft',
198
+ className: `${cssClasses.TABS_BAR}-more-dropdown-${this.props.type}`,
199
+ clickToHide: true,
200
+ menu: panels.map(panel => ({
201
+ node: 'item',
202
+ name: panel.tab,
203
+ icon: panel.icon,
204
+ onClick: e => this.props.onTabClick(panel.itemKey, e),
205
+ active: this.props.activeKey === panel.itemKey
206
+ }))
207
+ }, dropDownProps), trigger);
208
+ };
159
209
  this._isActive = key => key === this.props.activeKey;
160
210
  this._getItemKey = key => `${key}-bar`;
161
211
  this.state = {
@@ -205,9 +255,10 @@ class TabBar extends React.Component {
205
255
  className,
206
256
  list,
207
257
  tabPosition,
258
+ more,
208
259
  collapsible
209
260
  } = _a,
210
- restProps = __rest(_a, ["type", "style", "className", "list", "tabPosition", "collapsible"]);
261
+ restProps = __rest(_a, ["type", "style", "className", "list", "tabPosition", "more", "collapsible"]);
211
262
  const classNames = cls(className, {
212
263
  [cssClasses.TABS_BAR]: true,
213
264
  [cssClasses.TABS_BAR_LINE]: type === 'line',
@@ -217,7 +268,7 @@ class TabBar extends React.Component {
217
268
  [`${cssClasses.TABS_BAR}-collapse`]: collapsible
218
269
  });
219
270
  const extra = this.renderExtra();
220
- const contents = collapsible ? this.renderCollapsedTab() : this.renderTabComponents(list);
271
+ const contents = collapsible ? this.renderCollapsedTab() : more ? this.renderWithMoreTrigger() : this.renderTabComponents(list);
221
272
  return /*#__PURE__*/React.createElement("div", Object.assign({
222
273
  role: "tablist",
223
274
  "aria-orientation": tabPosition === "left" ? "vertical" : "horizontal",
@@ -240,6 +291,7 @@ TabBar.propTypes = {
240
291
  tabPosition: PropTypes.oneOf(strings.POSITION_MAP),
241
292
  type: PropTypes.oneOf(strings.TYPE_MAP),
242
293
  closable: PropTypes.bool,
243
- deleteTabItem: PropTypes.func
294
+ deleteTabItem: PropTypes.func,
295
+ more: PropTypes.oneOfType([PropTypes.number, PropTypes.object])
244
296
  };
245
297
  export default TabBar;
@@ -34,7 +34,9 @@ const TabItem = (props, ref) => {
34
34
  onClick: e => deleteTabItem(itemKey, e)
35
35
  }) : null;
36
36
  }, [type, closable, deleteTabItem, itemKey]);
37
- const renderIcon = useCallback(icon => /*#__PURE__*/React.createElement("span", null, icon), []);
37
+ const renderIcon = useCallback(icon => /*#__PURE__*/React.createElement("span", {
38
+ className: `${cssClasses.TABS_BAR}-icon`
39
+ }, icon), []);
38
40
  const handleKeyDownInItem = useCallback(event => {
39
41
  handleKeyDown && handleKeyDown(event, itemKey, closable);
40
42
  }, [handleKeyDown, itemKey, closable]);
@@ -37,6 +37,7 @@ declare class Tabs extends BaseComponent<TabsProps, TabsState> {
37
37
  type: PropTypes.Requireable<string>;
38
38
  onTabClose: PropTypes.Requireable<(...args: any[]) => any>;
39
39
  preventScroll: PropTypes.Requireable<boolean>;
40
+ more: PropTypes.Requireable<NonNullable<number | object>>;
40
41
  };
41
42
  static __SemiComponentName__: string;
42
43
  static defaultProps: TabsProps;
@@ -222,9 +222,10 @@ class Tabs extends BaseComponent {
222
222
  tabBarStyle,
223
223
  tabPaneMotion,
224
224
  tabPosition,
225
- type
225
+ type,
226
+ more
226
227
  } = _a,
227
- restProps = __rest(_a, ["children", "className", "collapsible", "contentStyle", "keepDOM", "lazyRender", "renderTabBar", "size", "style", "tabBarClassName", "tabBarExtraContent", "tabBarStyle", "tabPaneMotion", "tabPosition", "type"]);
228
+ restProps = __rest(_a, ["children", "className", "collapsible", "contentStyle", "keepDOM", "lazyRender", "renderTabBar", "size", "style", "tabBarClassName", "tabBarExtraContent", "tabBarStyle", "tabPaneMotion", "tabPosition", "type", "more"]);
228
229
  const {
229
230
  panes,
230
231
  activeKey
@@ -249,7 +250,8 @@ class Tabs extends BaseComponent {
249
250
  tabPosition,
250
251
  type,
251
252
  deleteTabItem: this.deleteTabItem,
252
- handleKeyDown: this.foundation.handleKeyDown
253
+ handleKeyDown: this.foundation.handleKeyDown,
254
+ more
253
255
  };
254
256
  const tabBar = renderTabBar ? renderTabBar(tabBarProps, TabBar) : /*#__PURE__*/React.createElement(TabBar, Object.assign({}, tabBarProps));
255
257
  const content = keepDOM ? children : this.getActiveItem();
@@ -296,7 +298,8 @@ Tabs.propTypes = {
296
298
  tabPosition: PropTypes.oneOf(strings.POSITION_MAP),
297
299
  type: PropTypes.oneOf(strings.TYPE_MAP),
298
300
  onTabClose: PropTypes.func,
299
- preventScroll: PropTypes.bool
301
+ preventScroll: PropTypes.bool,
302
+ more: PropTypes.oneOfType([PropTypes.number, PropTypes.object])
300
303
  };
301
304
  Tabs.__SemiComponentName__ = "Tabs";
302
305
  Tabs.defaultProps = getDefaultPropsFromGlobalConfig(Tabs.__SemiComponentName__, {
@@ -1,6 +1,7 @@
1
1
  import React, { CSSProperties, MouseEvent, ReactNode } from 'react';
2
2
  import { Motion } from '../_base/base';
3
3
  import TabBar from './TabBar';
4
+ import { DropdownProps } from "../dropdown";
4
5
  export type TabType = 'line' | 'card' | 'button';
5
6
  export type TabSize = 'small' | 'medium' | 'large';
6
7
  export type TabPosition = 'top' | 'left';
@@ -34,6 +35,11 @@ export interface TabsProps {
34
35
  type?: TabType;
35
36
  onTabClose?: (tabKey: string) => void;
36
37
  preventScroll?: boolean;
38
+ more?: number | {
39
+ count: number;
40
+ render?: () => ReactNode;
41
+ dropdownProps?: DropdownProps;
42
+ };
37
43
  }
38
44
  export interface TabBarProps {
39
45
  activeKey?: string;
@@ -51,6 +57,7 @@ export interface TabBarProps {
51
57
  closable?: boolean;
52
58
  deleteTabItem?: (tabKey: string, event: MouseEvent<Element>) => void;
53
59
  handleKeyDown?: (event: React.KeyboardEvent, itemKey: string, closable: boolean) => void;
60
+ more?: TabsProps['more'];
54
61
  }
55
62
  export interface TabPaneProps {
56
63
  className?: string;
@@ -60,7 +60,7 @@ export default class Title extends PureComponent<TitleProps> {
60
60
  underline: PropTypes.Requireable<boolean>;
61
61
  strong: PropTypes.Requireable<boolean>;
62
62
  type: PropTypes.Requireable<"warning" | "success" | "primary" | "secondary" | "danger" | "tertiary" | "quaternary">;
63
- heading: PropTypes.Requireable<4 | 2 | 1 | 3 | 5 | 6>;
63
+ heading: PropTypes.Requireable<1 | 2 | 3 | 4 | 5 | 6>;
64
64
  style: PropTypes.Requireable<object>;
65
65
  className: PropTypes.Requireable<string>;
66
66
  component: PropTypes.Requireable<string>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@douyinfe/semi-ui",
3
- "version": "2.57.1-alpha.0",
3
+ "version": "2.58.0",
4
4
  "description": "A modern, comprehensive, flexible design system and UI library. Connect DesignOps & DevOps. Quickly build beautiful React apps. Maintained by Douyin-fe team.",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es/index.js",
@@ -20,12 +20,12 @@
20
20
  "@dnd-kit/core": "^6.0.8",
21
21
  "@dnd-kit/sortable": "^7.0.2",
22
22
  "@dnd-kit/utilities": "^3.2.1",
23
- "@douyinfe/semi-animation": "2.57.1-alpha.0",
24
- "@douyinfe/semi-animation-react": "2.57.1-alpha.0",
25
- "@douyinfe/semi-foundation": "2.57.1-alpha.0",
26
- "@douyinfe/semi-icons": "2.57.1-alpha.0",
27
- "@douyinfe/semi-illustrations": "2.57.1-alpha.0",
28
- "@douyinfe/semi-theme-default": "2.57.1-alpha.0",
23
+ "@douyinfe/semi-animation": "2.58.0",
24
+ "@douyinfe/semi-animation-react": "2.58.0",
25
+ "@douyinfe/semi-foundation": "2.58.0",
26
+ "@douyinfe/semi-icons": "2.58.0",
27
+ "@douyinfe/semi-illustrations": "2.58.0",
28
+ "@douyinfe/semi-theme-default": "2.58.0",
29
29
  "async-validator": "^3.5.0",
30
30
  "classnames": "^2.2.6",
31
31
  "copy-text-to-clipboard": "^2.1.1",
@@ -75,7 +75,7 @@
75
75
  ],
76
76
  "author": "",
77
77
  "license": "MIT",
78
- "gitHead": "d911c08d3b5e459aa328fa56a426526e05ef3ce8",
78
+ "gitHead": "71f716ee06be81190ed3d28de4e61542ad0b62d3",
79
79
  "devDependencies": {
80
80
  "@babel/plugin-proposal-decorators": "^7.15.8",
81
81
  "@babel/plugin-transform-runtime": "^7.15.8",