@arco-design/mobile-react 2.30.9 → 2.30.10
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.
- package/CHANGELOG.md +13 -0
- package/README.en-US.md +70 -2
- package/README.md +69 -2
- package/cjs/carousel/index.js +3 -0
- package/cjs/picker/index.js +3 -2
- package/cjs/picker/type.d.ts +1 -1
- package/cjs/picker-view/components/cascader.d.ts +1 -0
- package/cjs/picker-view/components/cascader.js +8 -1
- package/cjs/picker-view/components/picker-cell.d.ts +1 -0
- package/cjs/picker-view/components/picker-cell.js +6 -1
- package/cjs/picker-view/index.d.ts +6 -1
- package/cjs/picker-view/index.js +25 -13
- package/cjs/tabs/tab-cell.js +54 -29
- package/cjs/tabs/type.d.ts +5 -0
- package/dist/index.js +102 -48
- package/dist/index.min.js +1 -1
- package/esm/carousel/index.js +3 -0
- package/esm/picker/index.js +3 -2
- package/esm/picker/type.d.ts +1 -1
- package/esm/picker-view/components/cascader.d.ts +1 -0
- package/esm/picker-view/components/cascader.js +8 -1
- package/esm/picker-view/components/picker-cell.d.ts +1 -0
- package/esm/picker-view/components/picker-cell.js +6 -1
- package/esm/picker-view/index.d.ts +6 -1
- package/esm/picker-view/index.js +26 -13
- package/esm/tabs/tab-cell.js +55 -29
- package/esm/tabs/type.d.ts +5 -0
- package/package.json +3 -3
- package/umd/carousel/index.js +3 -0
- package/umd/picker/index.js +3 -2
- package/umd/picker/type.d.ts +1 -1
- package/umd/picker-view/components/cascader.d.ts +1 -0
- package/umd/picker-view/components/cascader.js +8 -1
- package/umd/picker-view/components/picker-cell.d.ts +1 -0
- package/umd/picker-view/components/picker-cell.js +6 -1
- package/umd/picker-view/index.d.ts +6 -1
- package/umd/picker-view/index.js +25 -13
- package/umd/tabs/tab-cell.js +54 -29
- package/umd/tabs/type.d.ts +5 -0
package/umd/tabs/tab-cell.js
CHANGED
@@ -94,14 +94,18 @@
|
|
94
94
|
return tabs.length < overflowThreshold ? tabBarArrange : 'start';
|
95
95
|
}),
|
96
96
|
originArrange = _useState3[0],
|
97
|
-
setOriginArrange = _useState3[1];
|
97
|
+
setOriginArrange = _useState3[1];
|
98
98
|
|
99
|
+
var _useState4 = (0, _react.useState)(false),
|
100
|
+
forceUpdate = _useState4[0],
|
101
|
+
setForceUpdate = _useState4[1]; // 默认tab小于overflowThreshold个时不开启加载前隐藏,大于overflowThreshold个时开启
|
99
102
|
|
100
|
-
|
103
|
+
|
104
|
+
var _useState5 = (0, _react.useState)(function () {
|
101
105
|
return hideTabBarBeforeMounted === void 0 ? tabs.length < overflowThreshold || activeIndex === 0 : !hideTabBarBeforeMounted;
|
102
106
|
}),
|
103
|
-
showTab =
|
104
|
-
setShowTab =
|
107
|
+
showTab = _useState5[0],
|
108
|
+
setShowTab = _useState5[1];
|
105
109
|
|
106
110
|
var isVertical = tabDirection === 'vertical';
|
107
111
|
var isLine = (type || '').indexOf('line') !== -1;
|
@@ -116,6 +120,15 @@
|
|
116
120
|
var hasDivider = tabBarHasDivider === void 0 ? isLine : tabBarHasDivider;
|
117
121
|
var wrapSize = isVertical ? wrapWidth : wrapHeight;
|
118
122
|
var system = (0, _helpers.useSystem)();
|
123
|
+
|
124
|
+
var updateScrollPosition = function updateScrollPosition() {
|
125
|
+
if (wrapSize && tabBarScrollChance !== 'none') {
|
126
|
+
setTimeout(function () {
|
127
|
+
scrollToCenter();
|
128
|
+
}, tabBarScrollChance === 'after-jump' ? Math.max(transitionDuration || 0, duration || 0) : 0);
|
129
|
+
}
|
130
|
+
};
|
131
|
+
|
119
132
|
(0, _react.useEffect)(function () {
|
120
133
|
(0, _mobileUtils.nextTick)(function () {
|
121
134
|
setCellOverflow(); // dom出来之后originArrange置空,交由tabBarArrange控制
|
@@ -135,31 +148,16 @@
|
|
135
148
|
(_underlineRef$current = underlineRef.current) == null ? void 0 : _underlineRef$current.resetUnderlineStyle();
|
136
149
|
});
|
137
150
|
}, [activeIndex, tabs, getCellPadding('left'), getCellPadding('right'), tabBarGutter, tabDirection]);
|
138
|
-
(0, _react.useImperativeHandle)(ref, function () {
|
139
|
-
return {
|
140
|
-
dom: domRef.current,
|
141
|
-
scrollTo: scrollTo,
|
142
|
-
scrollToCenter: scrollToCenter,
|
143
|
-
hasOverflow: hasOverflow,
|
144
|
-
setCaterpillarAnimate: function setCaterpillarAnimate(ratio) {
|
145
|
-
var _underlineRef$current2;
|
146
|
-
|
147
|
-
return (_underlineRef$current2 = underlineRef.current) == null ? void 0 : _underlineRef$current2.setCaterpillarAnimate(ratio);
|
148
|
-
},
|
149
|
-
resetUnderlineStyle: function resetUnderlineStyle() {
|
150
|
-
var _underlineRef$current3;
|
151
|
-
|
152
|
-
return (_underlineRef$current3 = underlineRef.current) == null ? void 0 : _underlineRef$current3.resetUnderlineStyle();
|
153
|
-
}
|
154
|
-
};
|
155
|
-
}, [scrollToCenter, scrollTo, hasOverflow]);
|
156
151
|
(0, _react.useEffect)(function () {
|
157
|
-
|
158
|
-
setTimeout(function () {
|
159
|
-
scrollToCenter();
|
160
|
-
}, tabBarScrollChance === 'after-jump' ? Math.max(transitionDuration || 0, duration || 0) : 0);
|
161
|
-
}
|
152
|
+
updateScrollPosition();
|
162
153
|
}, [activeIndex, wrapSize]);
|
154
|
+
(0, _react.useEffect)(function () {
|
155
|
+
var _underlineRef$current2;
|
156
|
+
|
157
|
+
setCellOverflow();
|
158
|
+
(_underlineRef$current2 = underlineRef.current) == null ? void 0 : _underlineRef$current2.resetUnderlineStyle();
|
159
|
+
updateScrollPosition();
|
160
|
+
}, [forceUpdate]);
|
163
161
|
(0, _react.useEffect)(function () {
|
164
162
|
tabBarScrollChance !== 'none' && scrollToCenter(true); // TabCell左右可滚动时,防止触发父级touchmove事件导致滚不动
|
165
163
|
// @en When the TabCell can be scrolled left and right, prevent the parent touchmove event from being triggered which result in inability to scroll
|
@@ -300,7 +298,7 @@
|
|
300
298
|
return typeof tab === 'string' ? tab : tab.title;
|
301
299
|
}
|
302
300
|
|
303
|
-
function renderTabUnderline() {
|
301
|
+
var renderTabUnderline = function renderTabUnderline() {
|
304
302
|
if (!showUnderline || !isLine) {
|
305
303
|
return null;
|
306
304
|
}
|
@@ -331,7 +329,7 @@
|
|
331
329
|
getTabCenterLeft: getTabCenterLeft,
|
332
330
|
getTabRect: getTabRect
|
333
331
|
}, lineProps));
|
334
|
-
}
|
332
|
+
};
|
335
333
|
|
336
334
|
var cellInner = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, tabs.map(function (tab, index) {
|
337
335
|
return /*#__PURE__*/_react.default.createElement("div", {
|
@@ -374,6 +372,33 @@
|
|
374
372
|
}
|
375
373
|
}) : null);
|
376
374
|
|
375
|
+
var _updateLayout = function updateLayout() {
|
376
|
+
setForceUpdate(function (val) {
|
377
|
+
return !val;
|
378
|
+
});
|
379
|
+
};
|
380
|
+
|
381
|
+
(0, _react.useImperativeHandle)(ref, function () {
|
382
|
+
return {
|
383
|
+
dom: domRef.current,
|
384
|
+
scrollTo: scrollTo,
|
385
|
+
scrollToCenter: scrollToCenter,
|
386
|
+
hasOverflow: hasOverflow,
|
387
|
+
setCaterpillarAnimate: function setCaterpillarAnimate(ratio) {
|
388
|
+
var _underlineRef$current3;
|
389
|
+
|
390
|
+
return (_underlineRef$current3 = underlineRef.current) == null ? void 0 : _underlineRef$current3.setCaterpillarAnimate(ratio);
|
391
|
+
},
|
392
|
+
resetUnderlineStyle: function resetUnderlineStyle() {
|
393
|
+
var _underlineRef$current4;
|
394
|
+
|
395
|
+
return (_underlineRef$current4 = underlineRef.current) == null ? void 0 : _underlineRef$current4.resetUnderlineStyle();
|
396
|
+
},
|
397
|
+
updateLayout: function updateLayout() {
|
398
|
+
return _updateLayout();
|
399
|
+
}
|
400
|
+
};
|
401
|
+
}, [scrollToCenter, scrollTo, hasOverflow]);
|
377
402
|
return /*#__PURE__*/_react.default.createElement("div", {
|
378
403
|
className: (0, _mobileUtils.cls)(prefix + "-container-wrap", tabDirection, "type-" + type, tabBarClass, system),
|
379
404
|
style: tabBarStyle
|
package/umd/tabs/type.d.ts
CHANGED
@@ -565,6 +565,11 @@ export interface TabCellRef {
|
|
565
565
|
* @en Recalculate underline style
|
566
566
|
*/
|
567
567
|
resetUnderlineStyle: () => void;
|
568
|
+
/**
|
569
|
+
* 强制更新 tab-cell
|
570
|
+
* @en Force update tab-cell
|
571
|
+
*/
|
572
|
+
updateLayout: () => void;
|
568
573
|
}
|
569
574
|
export interface TabPaneProps extends Pick<TabsProps, 'duration' | 'transitionDuration' | 'lazyloadCount' | 'hideContentStyle' | 'renderHideContent' | 'mode' | 'tabPaneClass' | 'tabPaneStyle' | 'tabPaneExtra' | 'getScrollContainer' | 'scrollThrottle' | 'scrollOffset' | 'goLastWhenScrollBottom' | 'scrollVertical' | 'translateZ' | 'fullScreen' | 'autoHeight' | 'onScroll' | 'swipeEnergySaving'> {
|
570
575
|
prefixCls?: string;
|