@douyinfe/semi-ui 2.27.0-alpha.0 → 2.27.0-alpha.1

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.
@@ -87177,94 +87177,84 @@ class foundation_TabsFoundation extends foundation {
87177
87177
  var tabs_tabs = __webpack_require__("X9hi");
87178
87178
 
87179
87179
  // CONCATENATED MODULE: ./tabs/TabItem.tsx
87180
+ var TabItem_rest = undefined && undefined.__rest || function (s, e) {
87181
+ var t = {};
87180
87182
 
87183
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
87181
87184
 
87185
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
87186
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
87187
+ }
87188
+ return t;
87189
+ };
87182
87190
 
87183
87191
 
87184
87192
 
87185
- class TabItem_TabItem extends external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component {
87186
- constructor() {
87187
- super(...arguments);
87188
87193
 
87189
- this.handleKeyDown = event => {
87190
- const {
87191
- itemKey,
87192
- closable,
87193
- handleKeyDown
87194
- } = this.props;
87195
- handleKeyDown && handleKeyDown(event, itemKey, closable);
87196
- };
87197
87194
 
87198
- this.handleClick = e => {
87199
- const {
87200
- itemKey,
87201
- onClick,
87202
- disabled
87203
- } = this.props;
87204
- !disabled && onClick && onClick(itemKey, e);
87205
- };
87206
- }
87207
87195
 
87208
- renderIcon(icon) {
87209
- return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", null, icon);
87210
- }
87196
+ const TabItem = (props, ref) => {
87197
+ const {
87198
+ tab,
87199
+ size,
87200
+ type,
87201
+ icon,
87202
+ selected,
87203
+ closable,
87204
+ disabled,
87205
+ itemKey,
87206
+ deleteTabItem,
87207
+ tabPosition,
87208
+ handleKeyDown,
87209
+ onClick
87210
+ } = props,
87211
+ resetProps = TabItem_rest(props, ["tab", "size", "type", "icon", "selected", "closable", "disabled", "itemKey", "deleteTabItem", "tabPosition", "handleKeyDown", "onClick"]);
87211
87212
 
87212
- render() {
87213
- const {
87214
- tab,
87215
- size,
87216
- type,
87217
- icon,
87218
- selected,
87219
- closable,
87220
- disabled,
87221
- itemKey,
87222
- deleteTabItem,
87223
- tabPosition
87224
- } = this.props;
87225
- const panelIcon = icon ? this.renderIcon(icon) : null;
87226
- const className = classnames_default()(tabs_constants_cssClasses.TABS_TAB, "".concat(tabs_constants_cssClasses.TABS_TAB, "-").concat(type), "".concat(tabs_constants_cssClasses.TABS_TAB, "-").concat(tabPosition), "".concat(tabs_constants_cssClasses.TABS_TAB, "-single"), {
87227
- [tabs_constants_cssClasses.TABS_TAB_ACTIVE]: selected,
87228
- [tabs_constants_cssClasses.TABS_TAB_DISABLED]: disabled,
87229
- ["".concat(tabs_constants_cssClasses.TABS_TAB, "-small")]: size === 'small',
87230
- ["".concat(tabs_constants_cssClasses.TABS_TAB, "-medium")]: size === 'medium'
87231
- });
87232
- const closableIcon = type === 'card' && closable ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(IconClose, {
87213
+ const closableIcon = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(() => {
87214
+ return type === 'card' && closable ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(IconClose, {
87233
87215
  "aria-label": "Close",
87234
87216
  role: "button",
87235
87217
  className: "".concat(tabs_constants_cssClasses.TABS_TAB, "-icon-close"),
87236
87218
  onClick: e => deleteTabItem(itemKey, e)
87237
87219
  }) : null;
87238
- return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
87239
- role: "tab",
87240
- id: "semiTab".concat(itemKey),
87241
- "data-tabkey": "semiTab".concat(itemKey),
87242
- "aria-controls": "semiTabPanel".concat(itemKey),
87243
- "aria-disabled": disabled ? 'true' : 'false',
87244
- "aria-selected": selected ? 'true' : 'false',
87245
- tabIndex: selected ? 0 : -1,
87246
- onKeyDown: this.handleKeyDown,
87247
- onClick: this.handleClick,
87248
- className: className
87249
- }, panelIcon, tab, closableIcon);
87250
- }
87220
+ }, [type, closable, deleteTabItem, itemKey]);
87221
+ const renderIcon = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(icon => /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", null, icon), []);
87222
+ const handleKeyDownInItem = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(event => {
87223
+ handleKeyDown && handleKeyDown(event, itemKey, closable);
87224
+ }, [handleKeyDown, itemKey, closable]);
87225
+ const handleItemClick = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(e => {
87226
+ !disabled && onClick && onClick(itemKey, e);
87227
+ }, [itemKey, disabled, onClick]);
87228
+ const panelIcon = icon ? renderIcon(icon) : null;
87229
+ const className = classnames_default()(tabs_constants_cssClasses.TABS_TAB, "".concat(tabs_constants_cssClasses.TABS_TAB, "-").concat(type), "".concat(tabs_constants_cssClasses.TABS_TAB, "-").concat(tabPosition), "".concat(tabs_constants_cssClasses.TABS_TAB, "-single"), {
87230
+ [tabs_constants_cssClasses.TABS_TAB_ACTIVE]: selected,
87231
+ [tabs_constants_cssClasses.TABS_TAB_DISABLED]: disabled,
87232
+ ["".concat(tabs_constants_cssClasses.TABS_TAB, "-small")]: size === 'small',
87233
+ ["".concat(tabs_constants_cssClasses.TABS_TAB, "-medium")]: size === 'medium'
87234
+ });
87235
+ return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", Object.assign({
87236
+ role: "tab",
87237
+ id: "semiTab".concat(itemKey),
87238
+ "data-tabkey": "semiTab".concat(itemKey),
87239
+ "aria-controls": "semiTabPanel".concat(itemKey),
87240
+ "aria-disabled": disabled ? 'true' : 'false',
87241
+ "aria-selected": selected ? 'true' : 'false',
87242
+ tabIndex: selected ? 0 : -1,
87243
+ onKeyDown: handleKeyDownInItem,
87244
+ onClick: handleItemClick,
87245
+ className: className
87246
+ }, resetProps, {
87247
+ ref: ref
87248
+ }), panelIcon, tab, closableIcon);
87249
+ }; // Why is forwardRef needed here?
87250
+ // Because TabItem needs to be used in OverflowList (when tabs' type is collapsible),
87251
+ // OverflowList will pass ref to the outermost div DOM node of TabItem
87251
87252
 
87252
- }
87253
- TabItem_TabItem.propsTypes = {
87254
- tab: prop_types_default.a.node,
87255
- icon: prop_types_default.a.node,
87256
- size: prop_types_default.a.oneOf(tabs_constants_strings.SIZE),
87257
- type: prop_types_default.a.oneOf(tabs_constants_strings.TYPE_MAP),
87258
- tabPosition: prop_types_default.a.oneOf(tabs_constants_strings.POSITION_MAP),
87259
- selected: prop_types_default.a.bool,
87260
- closable: prop_types_default.a.bool,
87261
- disabled: prop_types_default.a.bool,
87262
- itemKey: prop_types_default.a.string,
87263
- handleKeyDown: prop_types_default.a.func,
87264
- deleteTabItem: prop_types_default.a.func,
87265
- onClick: prop_types_default.a.func
87266
- };
87267
- TabItem_TabItem.elementType = 'TabItem';
87253
+
87254
+ const ForwardTabItem = /*#__PURE__*/Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["forwardRef"])(TabItem); // @ts-ignore
87255
+
87256
+ ForwardTabItem.elementType = 'TabItem';
87257
+ /* harmony default export */ var tabs_TabItem = (ForwardTabItem);
87268
87258
  // CONCATENATED MODULE: ./tabs/TabBar.tsx
87269
87259
 
87270
87260
 
@@ -87315,51 +87305,6 @@ class TabBar_TabBar extends external_root_React_commonjs2_react_commonjs_react_a
87315
87305
  this.props.handleKeyDown(event, itemKey, closable);
87316
87306
  };
87317
87307
 
87318
- this.renderTabItemInOverflowList = panel => {
87319
- const {
87320
- size,
87321
- type,
87322
- deleteTabItem
87323
- } = this.props;
87324
- const panelIcon = panel.icon ? this.renderIcon(panel.icon) : null;
87325
- const closableIcon = type === 'card' && panel.closable ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(IconClose, {
87326
- "aria-label": "Close",
87327
- role: "button",
87328
- className: "".concat(tabs_constants_cssClasses.TABS_TAB, "-icon-close"),
87329
- onClick: e => deleteTabItem(panel.itemKey, e)
87330
- }) : null;
87331
- let events = {};
87332
- const key = panel.itemKey;
87333
-
87334
- if (!panel.disabled) {
87335
- events = {
87336
- onClick: e => this.handleItemClick(key, e)
87337
- };
87338
- }
87339
-
87340
- const isSelected = this._isActive(key);
87341
-
87342
- const className = classnames_default()(tabs_constants_cssClasses.TABS_TAB, {
87343
- [tabs_constants_cssClasses.TABS_TAB_ACTIVE]: isSelected,
87344
- [tabs_constants_cssClasses.TABS_TAB_DISABLED]: panel.disabled,
87345
- ["".concat(tabs_constants_cssClasses.TABS_TAB, "-small")]: size === 'small',
87346
- ["".concat(tabs_constants_cssClasses.TABS_TAB, "-medium")]: size === 'medium'
87347
- });
87348
- return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", Object.assign({
87349
- role: "tab",
87350
- id: "semiTab".concat(key),
87351
- "data-tabkey": "semiTab".concat(key),
87352
- "aria-controls": "semiTabPanel".concat(key),
87353
- "aria-disabled": panel.disabled ? 'true' : 'false',
87354
- "aria-selected": isSelected ? 'true' : 'false',
87355
- tabIndex: isSelected ? 0 : -1,
87356
- onKeyDown: e => this.handleKeyDown(e, key, panel.closable)
87357
- }, events, {
87358
- className: className,
87359
- key: this._getItemKey(key)
87360
- }), panelIcon, panel.tab, closableIcon);
87361
- };
87362
-
87363
87308
  this.renderTabItem = panel => {
87364
87309
  const {
87365
87310
  size,
@@ -87371,9 +87316,8 @@ class TabBar_TabBar extends external_root_React_commonjs2_react_commonjs_react_a
87371
87316
 
87372
87317
  const isSelected = this._isActive(panel.itemKey);
87373
87318
 
87374
- return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(TabItem_TabItem, Object.assign({
87375
- key: this._getItemKey(panel.itemKey)
87376
- }, panel, {
87319
+ return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(tabs_TabItem, Object.assign({}, panel, {
87320
+ key: this._getItemKey(panel.itemKey),
87377
87321
  selected: isSelected,
87378
87322
  size: size,
87379
87323
  type: type,
@@ -87487,7 +87431,7 @@ class TabBar_TabBar extends external_root_React_commonjs2_react_commonjs_react_a
87487
87431
  overflowRenderer: this.renderOverflow,
87488
87432
  renderMode: "scroll",
87489
87433
  className: "".concat(tabs_constants_cssClasses.TABS_BAR, "-overflow-list"),
87490
- visibleItemRenderer: this.renderTabItemInOverflowList
87434
+ visibleItemRenderer: this.renderTabItem
87491
87435
  });
87492
87436
  };
87493
87437
 
@@ -88068,7 +88012,7 @@ class tabs_Tabs extends baseComponent_BaseComponent {
88068
88012
  }
88069
88013
 
88070
88014
  tabs_Tabs.TabPane = tabs_TabPane;
88071
- tabs_Tabs.TabItem = TabItem_TabItem;
88015
+ tabs_Tabs.TabItem = tabs_TabItem;
88072
88016
  tabs_Tabs.propTypes = {
88073
88017
  activeKey: prop_types_default.a.string,
88074
88018
  className: prop_types_default.a.string,