@sheinx/base 3.5.5-beta.4 → 3.5.5-beta.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-header.d.ts","sourceRoot":"","sources":["tabs-header.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAwBrD,QAAA,MAAM,UAAU,UAAW,eAAe,gBAmRzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"tabs-header.d.ts","sourceRoot":"","sources":["tabs-header.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAwBrD,QAAA,MAAM,UAAU,UAAW,eAAe,gBA4QzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -14,17 +13,18 @@ var _button = _interopRequireDefault(require("../button"));
14
13
  var _config = require("../config");
15
14
  var _jsxRuntime = require("react/jsx-runtime");
16
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
20
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
21
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
16
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
22
17
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
23
18
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
24
19
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
25
20
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
26
21
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
27
22
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
23
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
26
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
27
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
28
28
  var getRectDiff = function getRectDiff(node, pNode) {
29
29
  var nodeRect = node.getBoundingClientRect();
30
30
  var pNodeRect = pNode.getBoundingClientRect();
@@ -48,14 +48,9 @@ var TabsHeader = function TabsHeader(props) {
48
48
  extra = props.extra,
49
49
  splitColor = props.splitColor,
50
50
  tabBarStyle = props.tabBarStyle,
51
- getPosition = props.getPosition,
52
- sticky = props.sticky;
51
+ getPosition = props.getPosition;
53
52
  var headerRef = (0, _react.useRef)(null);
54
53
  var scrollRef = (0, _react.useRef)(null);
55
- var _useState = (0, _react.useState)(false),
56
- _useState2 = _slicedToArray(_useState, 2),
57
- loaded = _useState2[0],
58
- setLoaded = _useState2[1];
59
54
  var tabRef = (0, _react.useRef)({});
60
55
  var _useTabsContext = (0, _hooks.useTabsContext)(),
61
56
  shape = _useTabsContext.shape,
@@ -64,11 +59,6 @@ var TabsHeader = function TabsHeader(props) {
64
59
  active = _useTabsContext.active;
65
60
  var config = (0, _config.useConfig)();
66
61
  var isRtl = config.direction === 'rtl';
67
- (0, _react.useEffect)(function () {
68
- if (sticky && headerRef.current && scrollRef.current && !loaded) {
69
- setLoaded(true);
70
- }
71
- }, [loaded, sticky]);
72
62
  var _useTransform = (0, _hooks.useTransform)({
73
63
  autoScroll: true,
74
64
  direction: isVertical ? 'Y' : 'X',
@@ -130,17 +120,17 @@ var TabsHeader = function TabsHeader(props) {
130
120
  var single = isRtl && !isVertical ? -1 : 1;
131
121
  setTransform(delta + headerRef.current.clientWidth * single);
132
122
  };
133
- var _useState3 = (0, _react.useState)({
123
+ var _useState = (0, _react.useState)({
134
124
  offsetTop: 0,
135
125
  offsetLeft: 0
136
126
  }),
127
+ _useState2 = _slicedToArray(_useState, 2),
128
+ currentTabOffset = _useState2[0],
129
+ setCurrentTabOffset = _useState2[1];
130
+ var _useState3 = (0, _react.useState)(null),
137
131
  _useState4 = _slicedToArray(_useState3, 2),
138
- currentTabOffset = _useState4[0],
139
- setCurrentTabOffset = _useState4[1];
140
- var _useState5 = (0, _react.useState)(null),
141
- _useState6 = _slicedToArray(_useState5, 2),
142
- currentTabRect = _useState6[0],
143
- setCurrentTabRect = _useState6[1];
132
+ currentTabRect = _useState4[0],
133
+ setCurrentTabRect = _useState4[1];
144
134
  (0, _react.useEffect)(function () {
145
135
  var _currentTab$getBoundi;
146
136
  if (shape !== 'line' && shape !== 'dash') return;
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-panel.d.ts","sourceRoot":"","sources":["tabs-panel.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,QAAA,MAAM,SAAS,UAAW,cAAc,uBA0DvC,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"tabs-panel.d.ts","sourceRoot":"","sources":["tabs-panel.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,QAAA,MAAM,SAAS,UAAW,cAAc,uBAqEvC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -25,6 +25,7 @@ var TabsPanel = function TabsPanel(props) {
25
25
  var _jssStyle$tabs;
26
26
  var children = props.children,
27
27
  id = props.id,
28
+ indexInTabs = props.index,
28
29
  tab = props.tab,
29
30
  className = props.className,
30
31
  style = props.style,
@@ -46,16 +47,22 @@ var TabsPanel = function TabsPanel(props) {
46
47
  color: props.color || (active === id ? color : undefined)
47
48
  };
48
49
  setTabs(function (prev) {
49
- var prevTab = prev.find(function (item) {
50
+ var oldTab = prev.find(function (item) {
50
51
  return item.id === id;
51
52
  });
52
- if (prevTab) {
53
+ if (oldTab) {
53
54
  return prev.map(function (item) {
54
55
  if (item.id !== id) return item;
55
56
  return _objectSpread(_objectSpread({}, item), tabData);
56
57
  });
57
58
  }
58
- return [].concat(_toConsumableArray(prev), [tabData]);
59
+ if (indexInTabs === undefined) {
60
+ return [].concat(_toConsumableArray(prev), [tabData]);
61
+ }
62
+
63
+ // 向indexInTabs位置插入tabData
64
+ var newTabs = [].concat(_toConsumableArray(prev.slice(0, indexInTabs)), [tabData], _toConsumableArray(prev.slice(indexInTabs)));
65
+ return newTabs;
59
66
  });
60
67
  return function () {
61
68
  // Panel卸载了通知父组件,去销毁相应的TabsHeader
@@ -65,7 +72,7 @@ var TabsPanel = function TabsPanel(props) {
65
72
  });
66
73
  });
67
74
  };
68
- }, [id, tab, color].concat(_toConsumableArray(color ? [active] : []), [props.disabled, props.jssStyle]));
75
+ }, [id, tab, color, active, props.disabled, props.jssStyle]);
69
76
  if (!isActive && lazy && !keekAlive.current) {
70
77
  return null;
71
78
  }
@@ -44,5 +44,11 @@ export interface TabsPanelProps extends Omit<TabsContextProps, 'tabs' | 'setTabs
44
44
  * @cn 标签页文字颜色,仅当 shape 为 "card" 时生效
45
45
  */
46
46
  color?: string;
47
+ /**
48
+ * @en The index of the panel
49
+ * @cn 面板的索引
50
+ * @private
51
+ */
52
+ index?: number;
47
53
  }
48
54
  //# sourceMappingURL=tabs-panel.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-panel.type.d.ts","sourceRoot":"","sources":["tabs-panel.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC,EAChD,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC;IACzC,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,WAAW,CAAC;QACxB,MAAM,EAAE,MAAM,aAAa,CAAC;KAC7B,CAAC;IACF;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB;;;;OAIG;IACH,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"tabs-panel.type.d.ts","sourceRoot":"","sources":["tabs-panel.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC,EAChD,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC;IACzC,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,WAAW,CAAC;QACxB,MAAM,EAAE,MAAM,aAAa,CAAC;KAC7B,CAAC;IACF;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB;;;;OAIG;IACH,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["tabs.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAe,SAAS,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOnD,QAAA,MAAM,IAAI;YAAW,SAAS;;CA2Q7B,CAAC;AAIF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["tabs.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAe,SAAS,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOnD,QAAA,MAAM,IAAI;YAAW,SAAS;;CA4Q7B,CAAC;AAIF,eAAe,IAAI,CAAC"}
package/cjs/tabs/tabs.js CHANGED
@@ -185,7 +185,8 @@ var Tabs = function Tabs(props) {
185
185
  var Child = child;
186
186
  if (isNamedComponent(Child.type) && Child.type.displayName === 'ShineoutTabsPanel') {
187
187
  return /*#__PURE__*/(0, _react.cloneElement)(Child, {
188
- id: Child.props.id !== undefined ? Child.props.id : index
188
+ id: Child.props.id !== undefined ? Child.props.id : index,
189
+ index: index
189
190
  });
190
191
  }
191
192
  if (allowNonPanel) {
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-header.d.ts","sourceRoot":"","sources":["tabs-header.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAwBrD,QAAA,MAAM,UAAU,UAAW,eAAe,gBAmRzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"tabs-header.d.ts","sourceRoot":"","sources":["tabs-header.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAwBrD,QAAA,MAAM,UAAU,UAAW,eAAe,gBA4QzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,15 +1,15 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
2
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
3
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
4
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
5
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
6
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
7
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
12
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
13
  import { useEffect, useRef, useState } from 'react';
14
14
  import classNames from 'classnames';
15
15
  import { useTabsContext, useTransform, util } from '@sheinx/hooks';
@@ -42,14 +42,9 @@ var TabsHeader = function TabsHeader(props) {
42
42
  extra = props.extra,
43
43
  splitColor = props.splitColor,
44
44
  tabBarStyle = props.tabBarStyle,
45
- getPosition = props.getPosition,
46
- sticky = props.sticky;
45
+ getPosition = props.getPosition;
47
46
  var headerRef = useRef(null);
48
47
  var scrollRef = useRef(null);
49
- var _useState = useState(false),
50
- _useState2 = _slicedToArray(_useState, 2),
51
- loaded = _useState2[0],
52
- setLoaded = _useState2[1];
53
48
  var tabRef = useRef({});
54
49
  var _useTabsContext = useTabsContext(),
55
50
  shape = _useTabsContext.shape,
@@ -58,11 +53,6 @@ var TabsHeader = function TabsHeader(props) {
58
53
  active = _useTabsContext.active;
59
54
  var config = useConfig();
60
55
  var isRtl = config.direction === 'rtl';
61
- useEffect(function () {
62
- if (sticky && headerRef.current && scrollRef.current && !loaded) {
63
- setLoaded(true);
64
- }
65
- }, [loaded, sticky]);
66
56
  var _useTransform = useTransform({
67
57
  autoScroll: true,
68
58
  direction: isVertical ? 'Y' : 'X',
@@ -124,17 +114,17 @@ var TabsHeader = function TabsHeader(props) {
124
114
  var single = isRtl && !isVertical ? -1 : 1;
125
115
  setTransform(delta + headerRef.current.clientWidth * single);
126
116
  };
127
- var _useState3 = useState({
117
+ var _useState = useState({
128
118
  offsetTop: 0,
129
119
  offsetLeft: 0
130
120
  }),
121
+ _useState2 = _slicedToArray(_useState, 2),
122
+ currentTabOffset = _useState2[0],
123
+ setCurrentTabOffset = _useState2[1];
124
+ var _useState3 = useState(null),
131
125
  _useState4 = _slicedToArray(_useState3, 2),
132
- currentTabOffset = _useState4[0],
133
- setCurrentTabOffset = _useState4[1];
134
- var _useState5 = useState(null),
135
- _useState6 = _slicedToArray(_useState5, 2),
136
- currentTabRect = _useState6[0],
137
- setCurrentTabRect = _useState6[1];
126
+ currentTabRect = _useState4[0],
127
+ setCurrentTabRect = _useState4[1];
138
128
  useEffect(function () {
139
129
  var _currentTab$getBoundi;
140
130
  if (shape !== 'line' && shape !== 'dash') return;
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-panel.d.ts","sourceRoot":"","sources":["tabs-panel.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,QAAA,MAAM,SAAS,UAAW,cAAc,uBA0DvC,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"tabs-panel.d.ts","sourceRoot":"","sources":["tabs-panel.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,QAAA,MAAM,SAAS,UAAW,cAAc,uBAqEvC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -18,6 +18,7 @@ var TabsPanel = function TabsPanel(props) {
18
18
  var _jssStyle$tabs;
19
19
  var children = props.children,
20
20
  id = props.id,
21
+ indexInTabs = props.index,
21
22
  tab = props.tab,
22
23
  className = props.className,
23
24
  style = props.style,
@@ -39,16 +40,22 @@ var TabsPanel = function TabsPanel(props) {
39
40
  color: props.color || (active === id ? color : undefined)
40
41
  };
41
42
  setTabs(function (prev) {
42
- var prevTab = prev.find(function (item) {
43
+ var oldTab = prev.find(function (item) {
43
44
  return item.id === id;
44
45
  });
45
- if (prevTab) {
46
+ if (oldTab) {
46
47
  return prev.map(function (item) {
47
48
  if (item.id !== id) return item;
48
49
  return _objectSpread(_objectSpread({}, item), tabData);
49
50
  });
50
51
  }
51
- return [].concat(_toConsumableArray(prev), [tabData]);
52
+ if (indexInTabs === undefined) {
53
+ return [].concat(_toConsumableArray(prev), [tabData]);
54
+ }
55
+
56
+ // 向indexInTabs位置插入tabData
57
+ var newTabs = [].concat(_toConsumableArray(prev.slice(0, indexInTabs)), [tabData], _toConsumableArray(prev.slice(indexInTabs)));
58
+ return newTabs;
52
59
  });
53
60
  return function () {
54
61
  // Panel卸载了通知父组件,去销毁相应的TabsHeader
@@ -58,7 +65,7 @@ var TabsPanel = function TabsPanel(props) {
58
65
  });
59
66
  });
60
67
  };
61
- }, [id, tab, color].concat(_toConsumableArray(color ? [active] : []), [props.disabled, props.jssStyle]));
68
+ }, [id, tab, color, active, props.disabled, props.jssStyle]);
62
69
  if (!isActive && lazy && !keekAlive.current) {
63
70
  return null;
64
71
  }
@@ -44,5 +44,11 @@ export interface TabsPanelProps extends Omit<TabsContextProps, 'tabs' | 'setTabs
44
44
  * @cn 标签页文字颜色,仅当 shape 为 "card" 时生效
45
45
  */
46
46
  color?: string;
47
+ /**
48
+ * @en The index of the panel
49
+ * @cn 面板的索引
50
+ * @private
51
+ */
52
+ index?: number;
47
53
  }
48
54
  //# sourceMappingURL=tabs-panel.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-panel.type.d.ts","sourceRoot":"","sources":["tabs-panel.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC,EAChD,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC;IACzC,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,WAAW,CAAC;QACxB,MAAM,EAAE,MAAM,aAAa,CAAC;KAC7B,CAAC;IACF;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB;;;;OAIG;IACH,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"tabs-panel.type.d.ts","sourceRoot":"","sources":["tabs-panel.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC,EAChD,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC;IACzC,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,WAAW,CAAC;QACxB,MAAM,EAAE,MAAM,aAAa,CAAC;KAC7B,CAAC;IACF;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB;;;;OAIG;IACH,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["tabs.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAe,SAAS,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOnD,QAAA,MAAM,IAAI;YAAW,SAAS;;CA2Q7B,CAAC;AAIF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["tabs.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAe,SAAS,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOnD,QAAA,MAAM,IAAI;YAAW,SAAS;;CA4Q7B,CAAC;AAIF,eAAe,IAAI,CAAC"}
package/esm/tabs/tabs.js CHANGED
@@ -178,7 +178,8 @@ var Tabs = function Tabs(props) {
178
178
  var Child = child;
179
179
  if (isNamedComponent(Child.type) && Child.type.displayName === 'ShineoutTabsPanel') {
180
180
  return /*#__PURE__*/cloneElement(Child, {
181
- id: Child.props.id !== undefined ? Child.props.id : index
181
+ id: Child.props.id !== undefined ? Child.props.id : index,
182
+ index: index
182
183
  });
183
184
  }
184
185
  if (allowNonPanel) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheinx/base",
3
- "version": "3.5.5-beta.4",
3
+ "version": "3.5.5-beta.6",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -10,7 +10,7 @@
10
10
  "module": "./esm/index.js",
11
11
  "typings": "./cjs/index.d.ts",
12
12
  "dependencies": {
13
- "@sheinx/hooks": "3.5.5-beta.4",
13
+ "@sheinx/hooks": "3.5.5-beta.6",
14
14
  "immer": "^10.0.0",
15
15
  "classnames": "^2.0.0",
16
16
  "@shined/reactive": "^0.1.3-alpha.0"