react-navigation-reanimated-top-tabs 0.6.0 → 0.6.2
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/lib/commonjs/components/ReanimatedTopTab/AnimationHelper.js +2 -2
- package/lib/commonjs/components/ReanimatedTopTab/AnimationHelper.js.map +1 -1
- package/lib/commonjs/components/ReanimatedTopTab/ReanimatedTabView.js +26 -16
- package/lib/commonjs/components/ReanimatedTopTab/ReanimatedTabView.js.map +1 -1
- package/lib/commonjs/components/elements/TabBarBaseComponent.js +4 -4
- package/lib/commonjs/components/elements/TabBarBaseComponent.js.map +1 -1
- package/lib/commonjs/components/wrappers/GestureWrapper.js +5 -6
- package/lib/commonjs/components/wrappers/GestureWrapper.js.map +1 -1
- package/lib/commonjs/context/Context.hooks.js +30 -1
- package/lib/commonjs/context/Context.hooks.js.map +1 -1
- package/lib/commonjs/context/Context.js +6 -0
- package/lib/commonjs/context/Context.js.map +1 -1
- package/lib/commonjs/navigator/createReanimatedTopTabNavigator.js +6 -31
- package/lib/commonjs/navigator/createReanimatedTopTabNavigator.js.map +1 -1
- package/lib/module/components/ReanimatedTopTab/AnimationHelper.js +2 -2
- package/lib/module/components/ReanimatedTopTab/AnimationHelper.js.map +1 -1
- package/lib/module/components/ReanimatedTopTab/ReanimatedTabView.js +27 -17
- package/lib/module/components/ReanimatedTopTab/ReanimatedTabView.js.map +1 -1
- package/lib/module/components/elements/TabBarBaseComponent.js +4 -4
- package/lib/module/components/elements/TabBarBaseComponent.js.map +1 -1
- package/lib/module/components/wrappers/GestureWrapper.js +5 -6
- package/lib/module/components/wrappers/GestureWrapper.js.map +1 -1
- package/lib/module/context/Context.hooks.js +30 -1
- package/lib/module/context/Context.hooks.js.map +1 -1
- package/lib/module/context/Context.js +6 -0
- package/lib/module/context/Context.js.map +1 -1
- package/lib/module/navigator/createReanimatedTopTabNavigator.js +7 -32
- package/lib/module/navigator/createReanimatedTopTabNavigator.js.map +1 -1
- package/lib/typescript/src/components/ReanimatedTopTab/AnimationHelper.d.ts +7 -3
- package/lib/typescript/src/components/ReanimatedTopTab/AnimationHelper.d.ts.map +1 -1
- package/lib/typescript/src/components/ReanimatedTopTab/ReanimatedTabView.d.ts +1 -1
- package/lib/typescript/src/components/ReanimatedTopTab/ReanimatedTabView.d.ts.map +1 -1
- package/lib/typescript/src/components/ReanimatedTopTab/types.d.ts +1 -3
- package/lib/typescript/src/components/ReanimatedTopTab/types.d.ts.map +1 -1
- package/lib/typescript/src/components/elements/TabBarBaseComponent.d.ts +4 -18
- package/lib/typescript/src/components/elements/TabBarBaseComponent.d.ts.map +1 -1
- package/lib/typescript/src/components/wrappers/GestureWrapper.d.ts.map +1 -1
- package/lib/typescript/src/context/Context.d.ts.map +1 -1
- package/lib/typescript/src/context/Context.hooks.d.ts +1 -0
- package/lib/typescript/src/context/Context.hooks.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -1
- package/lib/typescript/src/navigator/createReanimatedTopTabNavigator.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/ReanimatedTopTab/AnimationHelper.ts +7 -6
- package/src/components/ReanimatedTopTab/ReanimatedTabView.tsx +33 -25
- package/src/components/ReanimatedTopTab/types.ts +1 -4
- package/src/components/elements/TabBarBaseComponent.tsx +5 -20
- package/src/components/wrappers/GestureWrapper.tsx +5 -8
- package/src/context/Context.hooks.ts +34 -0
- package/src/context/Context.tsx +7 -0
- package/src/navigator/createReanimatedTopTabNavigator.tsx +11 -51
|
@@ -11,7 +11,7 @@ const onChange = (event, animationValue, width, navigationState) => {
|
|
|
11
11
|
if (animationValue > 0) {
|
|
12
12
|
return 0;
|
|
13
13
|
}
|
|
14
|
-
const routesLength = navigationState.
|
|
14
|
+
const routesLength = navigationState.size - 1;
|
|
15
15
|
if (animationValue < -width * routesLength) {
|
|
16
16
|
return -width * routesLength;
|
|
17
17
|
}
|
|
@@ -21,7 +21,7 @@ const getIndex = (navigationState, type) => {
|
|
|
21
21
|
'worklet';
|
|
22
22
|
|
|
23
23
|
if (type === 'increment') {
|
|
24
|
-
return navigationState.index === navigationState.
|
|
24
|
+
return navigationState.index === navigationState.size - 1 ? navigationState.index : navigationState.index + 1;
|
|
25
25
|
}
|
|
26
26
|
return navigationState.index === 0 ? navigationState.index : navigationState.index - 1;
|
|
27
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeReanimated","require","onChange","event","animationValue","width","navigationState","routesLength","
|
|
1
|
+
{"version":3,"names":["_reactNativeReanimated","require","onChange","event","animationValue","width","navigationState","routesLength","size","changeX","getIndex","type","index","onEnd","minimumValueToChangeView","velocityX","value","translationX","animation","newValue","duration","reanimatedWithTiming","AnimationHelper","exports"],"sourceRoot":"../../../../src","sources":["components/ReanimatedTopTab/AnimationHelper.ts"],"mappings":";;;;;;AAMA,IAAAA,sBAAA,GAAAC,OAAA;AAIA,MAAMC,QAAQ,GAAGA,CACfC,KAEC,EACDC,cAAsB,EACtBC,KAAa,EACbC,eAAgC,KAC7B;EACH,SAAS;;EACT,IAAIF,cAAc,GAAG,CAAC,EAAE;IACtB,OAAO,CAAC;EACV;EACA,MAAMG,YAAY,GAAGD,eAAe,CAACE,IAAI,GAAG,CAAC;EAC7C,IAAIJ,cAAc,GAAG,CAACC,KAAK,GAAGE,YAAY,EAAE;IAC1C,OAAO,CAACF,KAAK,GAAGE,YAAY;EAC9B;EACA,OAAOH,cAAc,GAAGD,KAAK,CAACM,OAAO;AACvC,CAAC;AAED,MAAMC,QAAQ,GAAGA,CACfJ,eAAgC,EAChCK,IAA+B,KAC5B;EACH,SAAS;;EACT,IAAIA,IAAI,KAAK,WAAW,EAAE;IACxB,OAAOL,eAAe,CAACM,KAAK,KAAKN,eAAe,CAACE,IAAI,GAAG,CAAC,GACrDF,eAAe,CAACM,KAAK,GACrBN,eAAe,CAACM,KAAK,GAAG,CAAC;EAC/B;EACA,OAAON,eAAe,CAACM,KAAK,KAAK,CAAC,GAC9BN,eAAe,CAACM,KAAK,GACrBN,eAAe,CAACM,KAAK,GAAG,CAAC;AAC/B,CAAC;AAED,MAAMC,KAAK,GAAGA,CACZV,KAA6D,EAC7DW,wBAAgC,EAChCT,KAAa,EACbC,eAAgC,KAC7B;EACH,SAAS;;EACT,IAAIH,KAAK,CAACY,SAAS,GAAG,CAAC,GAAG,EAAE;IAC1B,OAAO;MACLH,KAAK,EAAEF,QAAQ,CAACJ,eAAe,EAAE,WAAW,CAAC;MAC7CU,KAAK,EAAE,CAACX,KAAK,IAAIC,eAAe,CAACM,KAAK,GAAG,CAAC;IAC5C,CAAC;EACH;EACA,IAAIT,KAAK,CAACY,SAAS,GAAG,GAAG,EAAE;IACzB,OAAO;MACLH,KAAK,EAAEF,QAAQ,CAACJ,eAAe,EAAE,WAAW,CAAC;MAC7CU,KAAK,EAAE,CAACX,KAAK,IAAIC,eAAe,CAACM,KAAK,GAAG,CAAC;IAC5C,CAAC;EACH;EACA,IAAIT,KAAK,CAACc,YAAY,GAAG,CAAC,EAAE;IAC1B,IAAId,KAAK,CAACc,YAAY,GAAG,CAACH,wBAAwB,EAAE;MAClD,OAAO;QACLF,KAAK,EAAEF,QAAQ,CAACJ,eAAe,EAAE,WAAW,CAAC;QAC7CU,KAAK,EAAE,CAACX,KAAK,IAAIC,eAAe,CAACM,KAAK,GAAG,CAAC;MAC5C,CAAC;IACH;EACF;EACA,IAAIT,KAAK,CAACc,YAAY,GAAG,CAAC,EAAE;IAC1B,IAAId,KAAK,CAACc,YAAY,GAAGH,wBAAwB,EAAE;MACjD,OAAO;QACLF,KAAK,EAAEF,QAAQ,CAACJ,eAAe,EAAE,WAAW,CAAC;QAC7CU,KAAK,EAAE,CAACX,KAAK,IAAIC,eAAe,CAACM,KAAK,GAAG,CAAC;MAC5C,CAAC;IACH;EACF;EACA,OAAO;IACLA,KAAK,EAAEN,eAAe,CAACM,KAAK;IAC5BI,KAAK,EAAE,CAACX,KAAK,GAAGC,eAAe,CAACM;EAClC,CAAC;AACH,CAAC;AAED,MAAMM,SAAS,GAAGA,CAACC,QAAgB,EAAEC,QAAQ,GAAG,GAAG,KAAK;EACtD,SAAS;;EACT,OAAO,IAAAC,iCAAoB,EAACF,QAAQ,EAAE;IAAEC;EAAS,CAAC,CAAC;AACrD,CAAC;AAEM,MAAME,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG;EAC7BJ,SAAS;EACThB,QAAQ;EACRW;AACF,CAAC","ignoreList":[]}
|
|
@@ -16,17 +16,16 @@ const ReanimatedTabView = exports.ReanimatedTabView = /*#__PURE__*/_react.defaul
|
|
|
16
16
|
LazyPlaceholder = () => null,
|
|
17
17
|
lazy = false,
|
|
18
18
|
navigationState,
|
|
19
|
-
onIndexChange,
|
|
20
19
|
percentageTrigger = 0.4,
|
|
21
20
|
positionInterpolation,
|
|
22
21
|
renderScene,
|
|
23
|
-
renderTabBar
|
|
22
|
+
renderTabBar,
|
|
23
|
+
navigate
|
|
24
24
|
}) => {
|
|
25
25
|
const {
|
|
26
26
|
width
|
|
27
27
|
} = (0, _reactNative.useWindowDimensions)();
|
|
28
28
|
const loadedScreens = (0, _react.useRef)([navigationState.routes[navigationState.index]]);
|
|
29
|
-
// const width = 160;
|
|
30
29
|
const scrollPosition = (0, _reactNativeReanimated.useSharedValue)(navigationState.index);
|
|
31
30
|
const position = (0, _reactNativeReanimated.useDerivedValue)(() => {
|
|
32
31
|
if (!positionInterpolation) {
|
|
@@ -34,35 +33,45 @@ const ReanimatedTabView = exports.ReanimatedTabView = /*#__PURE__*/_react.defaul
|
|
|
34
33
|
}
|
|
35
34
|
return (0, _reactNativeReanimated.interpolate)(-scrollPosition.value, positionInterpolation.input, positionInterpolation.output, _reactNativeReanimated.Extrapolation.CLAMP);
|
|
36
35
|
}, [positionInterpolation]);
|
|
37
|
-
|
|
38
|
-
scrollPosition.value = _AnimationHelper.AnimationHelper.animation(-
|
|
39
|
-
|
|
36
|
+
const _navigate = index => {
|
|
37
|
+
scrollPosition.value = _AnimationHelper.AnimationHelper.animation(-index * width);
|
|
38
|
+
navigate(index);
|
|
39
|
+
};
|
|
40
40
|
const minimumValueToChangeView = (0, _react.useMemo)(() => width * percentageTrigger, [percentageTrigger, width]);
|
|
41
|
-
const
|
|
41
|
+
const _navigationState = (0, _reactNativeReanimated.useSharedValue)({
|
|
42
|
+
size: 0,
|
|
43
|
+
index: 0
|
|
44
|
+
});
|
|
45
|
+
(0, _react.useEffect)(() => {
|
|
46
|
+
(0, _reactNativeReanimated.runOnUI)(() => {
|
|
47
|
+
_navigationState.value.size = navigationState.routes.length;
|
|
48
|
+
_navigationState.value.index = navigationState.index;
|
|
49
|
+
})();
|
|
50
|
+
}, [navigationState]);
|
|
51
|
+
const panGesture = _react.default.useMemo(() => _reactNativeGestureHandler.Gesture.Pan().failOffsetY([-10, 10]).activeOffsetX([-20, 20]).onChange(event => {
|
|
42
52
|
'worklet';
|
|
43
53
|
|
|
44
|
-
scrollPosition.value = _AnimationHelper.AnimationHelper.onChange(event, scrollPosition.value, width,
|
|
54
|
+
scrollPosition.value = _AnimationHelper.AnimationHelper.onChange(event, scrollPosition.value, width, _navigationState.value);
|
|
45
55
|
}).onEnd(event => {
|
|
46
56
|
'worklet';
|
|
47
57
|
|
|
48
|
-
const state = _AnimationHelper.AnimationHelper.onEnd(event, minimumValueToChangeView, width,
|
|
58
|
+
const state = _AnimationHelper.AnimationHelper.onEnd(event, minimumValueToChangeView, width, _navigationState.value);
|
|
49
59
|
scrollPosition.value = _AnimationHelper.AnimationHelper.animation(state.value);
|
|
50
|
-
|
|
51
|
-
|
|
60
|
+
_navigationState.value.index = state.index;
|
|
61
|
+
(0, _reactNativeReanimated.runOnJS)(navigate)(state.index);
|
|
62
|
+
}), [minimumValueToChangeView, width, _navigationState]);
|
|
52
63
|
const scrollPositionStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
53
64
|
transform: [{
|
|
54
65
|
translateX: (0, _reactNativeReanimated.interpolate)(scrollPosition.value, [-width * (navigationState.routes.length - 1), 0], [-width * (navigationState.routes.length - 1), 0], _reactNativeReanimated.Extrapolation.CLAMP)
|
|
55
66
|
}]
|
|
56
67
|
}));
|
|
57
68
|
const jumpTo = _react.default.useCallback(key => {
|
|
58
|
-
const newIndex = navigationState.routes.findIndex(
|
|
69
|
+
const newIndex = navigationState.routes.findIndex(route => route.key === key);
|
|
59
70
|
if (newIndex === -1) {
|
|
60
|
-
// throw
|
|
61
71
|
return;
|
|
62
72
|
}
|
|
63
73
|
scrollPosition.value = _AnimationHelper.AnimationHelper.animation(-newIndex * width);
|
|
64
|
-
|
|
65
|
-
}, [navigationState.routes, onIndexChange, scrollPosition, width]);
|
|
74
|
+
}, [navigationState.routes, scrollPosition, width]);
|
|
66
75
|
const chooseRender = (0, _react.useCallback)((params, useRenderScene = true) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
67
76
|
style: {
|
|
68
77
|
width
|
|
@@ -102,7 +111,8 @@ const ReanimatedTabView = exports.ReanimatedTabView = /*#__PURE__*/_react.defaul
|
|
|
102
111
|
style: defaultStyles.flex,
|
|
103
112
|
children: [renderTabBar ? renderTabBar({
|
|
104
113
|
navigationState,
|
|
105
|
-
position
|
|
114
|
+
position,
|
|
115
|
+
navigate: _navigate
|
|
106
116
|
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
|
|
107
117
|
gesture: panGesture,
|
|
108
118
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_AnimationHelper","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ReanimatedTabView","exports","React","memo","LazyPlaceholder","lazy","navigationState","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_AnimationHelper","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ReanimatedTabView","exports","React","memo","LazyPlaceholder","lazy","navigationState","percentageTrigger","positionInterpolation","renderScene","renderTabBar","navigate","width","useWindowDimensions","loadedScreens","useRef","routes","index","scrollPosition","useSharedValue","position","useDerivedValue","value","interpolate","input","output","Extrapolation","CLAMP","_navigate","AnimationHelper","animation","minimumValueToChangeView","useMemo","_navigationState","size","useEffect","runOnUI","length","panGesture","Gesture","Pan","failOffsetY","activeOffsetX","onChange","event","onEnd","state","runOnJS","scrollPositionStyle","useAnimatedStyle","transform","translateX","jumpTo","useCallback","key","newIndex","findIndex","route","chooseRender","params","useRenderScene","jsx","View","style","children","Routes","map","screen","current","find","loadedScreen","undefined","push","GestureHandlerRootView","defaultStyles","flex","jsxs","layout","LinearTransition","GestureDetector","gesture","viewsContainer","StyleSheet","create","flexDirection"],"sourceRoot":"../../../../src","sources":["components/ReanimatedTopTab/ReanimatedTabView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,10 +13,10 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
|
|
|
13
13
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
14
|
const TabBarBaseComponent = ({
|
|
15
15
|
children,
|
|
16
|
-
navigate,
|
|
17
16
|
navigationState,
|
|
18
17
|
position,
|
|
19
|
-
style
|
|
18
|
+
style,
|
|
19
|
+
navigate
|
|
20
20
|
}) => {
|
|
21
21
|
const layout = (0, _reactNative.useWindowDimensions)();
|
|
22
22
|
const {
|
|
@@ -36,10 +36,10 @@ const TabBarBaseComponent = ({
|
|
|
36
36
|
},
|
|
37
37
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
38
38
|
style: [styles.wrapper, style],
|
|
39
|
-
children: navigationState.routes.map(route => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
39
|
+
children: navigationState.routes.map((route, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
40
40
|
style: styles.labelWrapper,
|
|
41
41
|
onPress: () => {
|
|
42
|
-
navigate(
|
|
42
|
+
navigate(index);
|
|
43
43
|
},
|
|
44
44
|
children: route.tabBarLabel ? route.tabBarLabel() : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
45
45
|
style: styles.label,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_useTabContext","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TabBarBaseComponent","children","
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_useTabContext","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TabBarBaseComponent","children","navigationState","position","style","navigate","layout","useWindowDimensions","topTabHeight","transformationX","useTabContext","useAnimatedReaction","interpolate","value","routes","map","_","width","jsxs","View","onLayout","nativeEvent","height","jsx","styles","wrapper","route","index","Pressable","labelWrapper","onPress","tabBarLabel","Text","label","title","key","exports","StyleSheet","create","flex","alignItems","justifyContent","color","flexDirection","backgroundColor","paddingVertical"],"sourceRoot":"../../../../src","sources":["components/elements/TabBarBaseComponent.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -32,15 +32,14 @@ const GestureWrapper = ({
|
|
|
32
32
|
easing: _reactNativeReanimated.Easing.bezier(0.25, 0.1, 0.25, 1)
|
|
33
33
|
};
|
|
34
34
|
const [_gestureEnabled, setGestureEnabled] = (0, _react.useState)(gestureEnabled.value);
|
|
35
|
-
(0, _reactNativeReanimated.useAnimatedReaction)(() => gestureEnabled.value,
|
|
36
|
-
(
|
|
35
|
+
(0, _reactNativeReanimated.useAnimatedReaction)(() => gestureEnabled.value, (next, prev) => {
|
|
36
|
+
if (next === prev) return;
|
|
37
|
+
(0, _reactNativeReanimated.runOnJS)(setGestureEnabled)(next);
|
|
37
38
|
}, []);
|
|
38
|
-
const gesture = (0, _react.useMemo)(() => _reactNativeGestureHandler.Gesture.Pan().activeOffsetY([-10, 10]).onTouchesMove(({
|
|
39
|
-
state
|
|
40
|
-
}, stateManager) => {
|
|
39
|
+
const gesture = (0, _react.useMemo)(() => _reactNativeGestureHandler.Gesture.Pan().activeOffsetY([-10, 10]).onTouchesMove((_, stateManager) => {
|
|
41
40
|
'worklet';
|
|
42
41
|
|
|
43
|
-
if (currentScreenScrollOffset.value > 0
|
|
42
|
+
if (currentScreenScrollOffset.value > 0 || !gestureEnabled.value) {
|
|
44
43
|
stateManager.fail();
|
|
45
44
|
}
|
|
46
45
|
}).onUpdate(({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeGestureHandler","_reactNativeReanimated","_useTabContext","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","GestureWrapper","children","context","currentScreenIndex","currentYPosition","gestureEnabled","headerHeight","transformationY","useTabContext","movedY","useSharedValue","gestureRef","useRef","Gesture","Pan","currentScreenScrollOffset","useDerivedValue","values","screen","properties","map","scrollY","value","withTimingConfig","duration","easing","Easing","bezier","_gestureEnabled","setGestureEnabled","useState","useAnimatedReaction","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeGestureHandler","_reactNativeReanimated","_useTabContext","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","GestureWrapper","children","context","currentScreenIndex","currentYPosition","gestureEnabled","headerHeight","transformationY","useTabContext","movedY","useSharedValue","gestureRef","useRef","Gesture","Pan","currentScreenScrollOffset","useDerivedValue","values","screen","properties","map","scrollY","value","withTimingConfig","duration","easing","Easing","bezier","_gestureEnabled","setGestureEnabled","useState","useAnimatedReaction","next","prev","runOnJS","gesture","useMemo","activeOffsetY","onTouchesMove","_","stateManager","fail","onUpdate","translationY","onEnd","velocityY","gestureValue","changeOffset","withTiming","destination","onFinalize","simultaneousWithExternalGesture","nativeGesture","withRef","enabled","style","useAnimatedStyle","flex","transform","translateY","interpolate","jsx","GestureDetector","View","exports"],"sourceRoot":"../../../../src","sources":["components/wrappers/GestureWrapper.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -226,9 +226,38 @@ const useTransformHeaderOnTabChange = ({
|
|
|
226
226
|
isHeaderHeightSet
|
|
227
227
|
};
|
|
228
228
|
};
|
|
229
|
+
const useApproachingTabChange = ({
|
|
230
|
+
config,
|
|
231
|
+
transformationX,
|
|
232
|
+
gestureEnabled,
|
|
233
|
+
currentScreenIndex
|
|
234
|
+
}) => {
|
|
235
|
+
const onIndexApproach = index => {
|
|
236
|
+
'worklet';
|
|
237
|
+
|
|
238
|
+
currentScreenIndex.value = index;
|
|
239
|
+
switch (config[index]) {
|
|
240
|
+
case 'normal':
|
|
241
|
+
{
|
|
242
|
+
gestureEnabled.value = true;
|
|
243
|
+
break;
|
|
244
|
+
}
|
|
245
|
+
case 'minimalized':
|
|
246
|
+
{
|
|
247
|
+
gestureEnabled.value = false;
|
|
248
|
+
break;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
};
|
|
252
|
+
(0, _reactNativeReanimated.useAnimatedReaction)(() => transformationX.value, (current, previous) => {
|
|
253
|
+
const approachingIndex = _Context.ContextHelpers.getTargetIndex(current, previous);
|
|
254
|
+
onIndexApproach(approachingIndex);
|
|
255
|
+
});
|
|
256
|
+
};
|
|
229
257
|
const ContextHooks = exports.ContextHooks = {
|
|
230
258
|
useResetApproachingScreenScrollOffset,
|
|
231
259
|
usePrepareContext,
|
|
232
|
-
useTransformHeaderOnTabChange
|
|
260
|
+
useTransformHeaderOnTabChange,
|
|
261
|
+
useApproachingTabChange
|
|
233
262
|
};
|
|
234
263
|
//# sourceMappingURL=Context.hooks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeReanimated","require","_react","_reactNativeGestureHandler","_lodash","_Context","useResetApproachingScreenScrollOffset","context","transformationX","currentYPosition","screenOffsets","useDerivedValue","Object","values","screen","properties","map","scrollY","value","resetApproachingScreenOffset","index","shouldReset","scrollTo","getRef","route","getKeyForIndex","current","y","animated","useAnimatedReaction","previous","approachingIndex","ContextHelpers","getTargetIndex","approachingScreenOffset","runOnJS","usePrepareKeyMap","state","indexToKeyMap","useRef","routes","reduce","previousValue","currentValue","currentIndex","key","usePrepareScreen","screenProperties","prev","innerLayout","makeMutable","height","width","x","nativeGesture","Gesture","Native","outerLayout","scrollRef","setRef","ref","newProperties","assign","_ref","usePrepareContext","useTransformHeaderOnTabChange","config","headerHeight","useSharedValue","isHeaderHeightSet","transformationY","inputRange","_","idx","outputRange","type","debouncedSetIsHeaderSet","throttle","cancel","prepared","interpolate","ContextHooks","exports"],"sourceRoot":"../../../src","sources":["context/Context.hooks.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_reactNativeReanimated","require","_react","_reactNativeGestureHandler","_lodash","_Context","useResetApproachingScreenScrollOffset","context","transformationX","currentYPosition","screenOffsets","useDerivedValue","Object","values","screen","properties","map","scrollY","value","resetApproachingScreenOffset","index","shouldReset","scrollTo","getRef","route","getKeyForIndex","current","y","animated","useAnimatedReaction","previous","approachingIndex","ContextHelpers","getTargetIndex","approachingScreenOffset","runOnJS","usePrepareKeyMap","state","indexToKeyMap","useRef","routes","reduce","previousValue","currentValue","currentIndex","key","usePrepareScreen","screenProperties","prev","innerLayout","makeMutable","height","width","x","nativeGesture","Gesture","Native","outerLayout","scrollRef","setRef","ref","newProperties","assign","_ref","usePrepareContext","useTransformHeaderOnTabChange","config","headerHeight","useSharedValue","isHeaderHeightSet","transformationY","inputRange","_","idx","outputRange","type","debouncedSetIsHeaderSet","throttle","cancel","prepared","interpolate","useApproachingTabChange","gestureEnabled","currentScreenIndex","onIndexApproach","ContextHooks","exports"],"sourceRoot":"../../../src","sources":["context/Context.hooks.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -35,6 +35,12 @@ const Provider = exports.Provider = /*#__PURE__*/(0, _react.memo)(({
|
|
|
35
35
|
transformationX,
|
|
36
36
|
context
|
|
37
37
|
});
|
|
38
|
+
_Context.ContextHooks.useApproachingTabChange({
|
|
39
|
+
config,
|
|
40
|
+
gestureEnabled,
|
|
41
|
+
transformationX,
|
|
42
|
+
currentScreenIndex
|
|
43
|
+
});
|
|
38
44
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Context.Provider, {
|
|
39
45
|
value: {
|
|
40
46
|
closeOffset,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNativeGestureHandler","_reactNativeReanimated","_Context","_jsxRuntime","Context","exports","createContext","Provider","memo","children","config","context","gestureEnabled","useSharedValue","currentScreenIndex","navHeight","closeOffset","topTabHeight","topTabNativeGesture","useRef","Gesture","Native","current","transformationX","transformationY","currentYPosition","headerHeight","isHeaderHeightSet","ContextHooks","useTransformHeaderOnTabChange","useResetApproachingScreenScrollOffset","jsx","value"],"sourceRoot":"../../../src","sources":["context/Context.tsx"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAA+C,IAAAI,WAAA,GAAAJ,OAAA;AAExC,MAAMK,OAAO,GAAAC,OAAA,CAAAD,OAAA,gBAAG,IAAAE,oBAAa,EAClC,CAAC,CACH,CAAC;AAEM,MAAMC,QAAQ,GAAAF,OAAA,CAAAE,QAAA,gBAAG,IAAAC,WAAI,EAC1B,CAAC;EACCC,QAAQ;EACRC,MAAM;EACNC;AAC6C,CAAC,KAAK;EACnD,MAAMC,cAAc,GAAG,IAAAC,qCAAc,EAAC,IAAI,CAAC;EAC3C,MAAMC,kBAAkB,GAAG,IAAAD,qCAAc,EAAC,CAAC,CAAC;EAE5C,MAAME,SAAS,GAAG,IAAAF,qCAAc,EAAC,CAAC,CAAC;EACnC,MAAMG,WAAW,GAAG,IAAAH,qCAAc,EAAC,CAAC,CAAC;EACrC,MAAMI,YAAY,GAAG,IAAAJ,qCAAc,EAAC,CAAC,CAAC;EAEtC,MAAMK,mBAAmB,GAAG,IAAAC,aAAM,EAACC,kCAAO,CAACC,MAAM,CAAC,CAAC,CAAC,CAACC,OAAO;EAE5D,MAAM;IACJC,eAAe;IACfC,eAAe;IACfC,gBAAgB;IAChBC,YAAY;IACZC;EACF,CAAC,GAAGC,qBAAY,CAACC,6BAA6B,CAAC;IAAEnB;EAAO,CAAC,CAAC;EAE1DkB,qBAAY,CAACE,qCAAqC,CAAC;IACjDL,gBAAgB;IAChBF,eAAe;IACfZ;EACF,CAAC,CAAC;EAEF,oBACE,
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNativeGestureHandler","_reactNativeReanimated","_Context","_jsxRuntime","Context","exports","createContext","Provider","memo","children","config","context","gestureEnabled","useSharedValue","currentScreenIndex","navHeight","closeOffset","topTabHeight","topTabNativeGesture","useRef","Gesture","Native","current","transformationX","transformationY","currentYPosition","headerHeight","isHeaderHeightSet","ContextHooks","useTransformHeaderOnTabChange","useResetApproachingScreenScrollOffset","useApproachingTabChange","jsx","value"],"sourceRoot":"../../../src","sources":["context/Context.tsx"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAA+C,IAAAI,WAAA,GAAAJ,OAAA;AAExC,MAAMK,OAAO,GAAAC,OAAA,CAAAD,OAAA,gBAAG,IAAAE,oBAAa,EAClC,CAAC,CACH,CAAC;AAEM,MAAMC,QAAQ,GAAAF,OAAA,CAAAE,QAAA,gBAAG,IAAAC,WAAI,EAC1B,CAAC;EACCC,QAAQ;EACRC,MAAM;EACNC;AAC6C,CAAC,KAAK;EACnD,MAAMC,cAAc,GAAG,IAAAC,qCAAc,EAAC,IAAI,CAAC;EAC3C,MAAMC,kBAAkB,GAAG,IAAAD,qCAAc,EAAC,CAAC,CAAC;EAE5C,MAAME,SAAS,GAAG,IAAAF,qCAAc,EAAC,CAAC,CAAC;EACnC,MAAMG,WAAW,GAAG,IAAAH,qCAAc,EAAC,CAAC,CAAC;EACrC,MAAMI,YAAY,GAAG,IAAAJ,qCAAc,EAAC,CAAC,CAAC;EAEtC,MAAMK,mBAAmB,GAAG,IAAAC,aAAM,EAACC,kCAAO,CAACC,MAAM,CAAC,CAAC,CAAC,CAACC,OAAO;EAE5D,MAAM;IACJC,eAAe;IACfC,eAAe;IACfC,gBAAgB;IAChBC,YAAY;IACZC;EACF,CAAC,GAAGC,qBAAY,CAACC,6BAA6B,CAAC;IAAEnB;EAAO,CAAC,CAAC;EAE1DkB,qBAAY,CAACE,qCAAqC,CAAC;IACjDL,gBAAgB;IAChBF,eAAe;IACfZ;EACF,CAAC,CAAC;EAEFiB,qBAAY,CAACG,uBAAuB,CAAC;IACnCrB,MAAM;IACNE,cAAc;IACdW,eAAe;IACfT;EACF,CAAC,CAAC;EAEF,oBACE,IAAAX,WAAA,CAAA6B,GAAA,EAAC5B,OAAO,CAACG,QAAQ;IACf0B,KAAK,EAAE;MACLjB,WAAW;MACXN,MAAM;MACNI,kBAAkB;MAClBW,gBAAgB;MAChBb,cAAc;MACdc,YAAY;MACZX,SAAS;MACTE,YAAY;MACZC,mBAAmB;MACnBK,eAAe;MACfC,eAAe;MACfb,OAAO;MACPgB;IACF,CAAE;IAAAlB,QAAA,EAEDA,QAAQ,CAAC;MACRO,WAAW;MACXN,MAAM;MACNI,kBAAkB;MAClBW,gBAAgB;MAChBb,cAAc;MACdc,YAAY;MACZX,SAAS;MACTE,YAAY;MACZC,mBAAmB;MACnBK,eAAe;MACfC,eAAe;MACfb,OAAO;MACPgB;IACF,CAAC;EAAC,CACc,CAAC;AAEvB,CACF,CAAC","ignoreList":[]}
|
|
@@ -41,23 +41,10 @@ const TabViewNavigator = ({
|
|
|
41
41
|
const context = _Context2.ContextHooks.usePrepareContext({
|
|
42
42
|
state
|
|
43
43
|
});
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
navigation.
|
|
48
|
-
currentScreenIndex.value = index;
|
|
49
|
-
switch (_config[index]) {
|
|
50
|
-
case 'normal':
|
|
51
|
-
{
|
|
52
|
-
gestureEnabled.value = true;
|
|
53
|
-
break;
|
|
54
|
-
}
|
|
55
|
-
case 'minimalized':
|
|
56
|
-
{
|
|
57
|
-
gestureEnabled.value = false;
|
|
58
|
-
break;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
44
|
+
const navigate = index => {
|
|
45
|
+
const route = state.routes[index];
|
|
46
|
+
if (!route) return;
|
|
47
|
+
navigation.dispatch(_native.TabActions.jumpTo(route.name));
|
|
61
48
|
};
|
|
62
49
|
const navigationState = (0, _react.useMemo)(() => ({
|
|
63
50
|
index: state.index,
|
|
@@ -76,16 +63,6 @@ const TabViewNavigator = ({
|
|
|
76
63
|
};
|
|
77
64
|
})
|
|
78
65
|
}), [state]);
|
|
79
|
-
const navigate = route => {
|
|
80
|
-
navigation.dispatch({
|
|
81
|
-
..._native.TabActions.jumpTo(route.name, route.params),
|
|
82
|
-
target: state.key
|
|
83
|
-
});
|
|
84
|
-
};
|
|
85
|
-
const renderTabBar = (0, _react.useCallback)(props => /*#__PURE__*/(0, _jsxRuntime.jsx)(TabBarComponent, {
|
|
86
|
-
...props,
|
|
87
|
-
navigate: navigate
|
|
88
|
-
}), []);
|
|
89
66
|
const renderScene = ({
|
|
90
67
|
route
|
|
91
68
|
}) => descriptors[route.key]?.render();
|
|
@@ -93,8 +70,6 @@ const TabViewNavigator = ({
|
|
|
93
70
|
config: _config,
|
|
94
71
|
context: context,
|
|
95
72
|
children: ({
|
|
96
|
-
currentScreenIndex,
|
|
97
|
-
gestureEnabled,
|
|
98
73
|
headerHeight,
|
|
99
74
|
transformationY
|
|
100
75
|
}) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
@@ -112,9 +87,9 @@ const TabViewNavigator = ({
|
|
|
112
87
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_GestureWrapper.GestureWrapper, {
|
|
113
88
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ReanimatedTabView.ReanimatedTabView, {
|
|
114
89
|
navigationState: navigationState,
|
|
115
|
-
|
|
90
|
+
navigate: navigate,
|
|
116
91
|
renderScene: renderScene,
|
|
117
|
-
renderTabBar:
|
|
92
|
+
renderTabBar: TabBarComponent
|
|
118
93
|
})
|
|
119
94
|
})
|
|
120
95
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_native","require","_GestureWrapper","_TabBarBaseComponent","_Context","_lodash","_react","_reactNativeReanimated","_interopRequireDefault","_ReanimatedTabView","_Context2","_jsxRuntime","e","__esModule","default","TabViewNavigator","HeaderComponent","TabBarComponent","TabBarBaseComponent","children","config","initialRouteName","screenOptions","NavigationContent","descriptors","navigation","state","useNavigationBuilder","TabRouter","defaultScreenOptions","_config","routes","map","context","ContextHooks","usePrepareContext","
|
|
1
|
+
{"version":3,"names":["_native","require","_GestureWrapper","_TabBarBaseComponent","_Context","_lodash","_react","_reactNativeReanimated","_interopRequireDefault","_ReanimatedTabView","_Context2","_jsxRuntime","e","__esModule","default","TabViewNavigator","HeaderComponent","TabBarComponent","TabBarBaseComponent","children","config","initialRouteName","screenOptions","NavigationContent","descriptors","navigation","state","useNavigationBuilder","TabRouter","defaultScreenOptions","_config","routes","map","context","ContextHooks","usePrepareContext","navigate","index","route","dispatch","TabActions","jumpTo","name","navigationState","useMemo","restOptions","omit","key","options","tabBarLabel","focused","title","undefined","renderScene","render","jsx","Provider","headerHeight","transformationY","jsxs","Fragment","View","onLayout","nativeEvent","value","layout","height","GestureWrapper","ReanimatedTabView","renderTabBar","createReanimatedTopTabNavigator","createNavigatorFactory","exports"],"sourceRoot":"../../../src","sources":["navigator/createReanimatedTopTabNavigator.tsx"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AASA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAEA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,sBAAA,GAAAC,sBAAA,CAAAP,OAAA;AAEA,IAAAQ,kBAAA,GAAAR,OAAA;AACA,IAAAS,SAAA,GAAAT,OAAA;AAAwD,IAAAU,WAAA,GAAAV,OAAA;AAAA,SAAAO,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExD,MAAMG,gBAAgB,GAAGA,CAAC;EACxBC,eAAe;EACfC,eAAe,GAAGC,wCAAmB;EACrCC,QAAQ;EACRC,MAAM;EACNC,gBAAgB;EAChBC,aAAa,GAAG,CAAC;AAC+B,CAAC,KAAK;EACtD,MAAM;IAAEC,iBAAiB;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAM,CAAC,GACzD,IAAAC,4BAAoB,EAMlBC,iBAAS,EAAE;IACXT,QAAQ;IACRU,oBAAoB,EAAEP,aAAa;IACnCD,gBAAgB;IAChBC;EACF,CAAC,CAAC;EAEJ,IAAIQ,OAAiB,GAAGV,MAAO;EAE/B,IAAI,CAACA,MAAM,EAAE;IACXU,OAAO,GAAGJ,KAAK,CAACK,MAAM,CAACC,GAAG,CAAC,MAAM,QAAQ,CAAC;EAC5C;EAEA,MAAMC,OAAO,GAAGC,sBAAY,CAACC,iBAAiB,CAAC;IAAET;EAAM,CAAC,CAAC;EAEzD,MAAMU,QAAQ,GAAIC,KAAa,IAAK;IAClC,MAAMC,KAAK,GAAGZ,KAAK,CAACK,MAAM,CAACM,KAAK,CAAC;IACjC,IAAI,CAACC,KAAK,EAAE;IACZb,UAAU,CAACc,QAAQ,CAACC,kBAAU,CAACC,MAAM,CAACH,KAAK,CAACI,IAAI,CAAC,CAAC;EACpD,CAAC;EAED,MAAMC,eAAe,GAAG,IAAAC,cAAO,EAC7B,OAAO;IACLP,KAAK,EAAEX,KAAK,CAACW,KAAK;IAClBN,MAAM,EAAEL,KAAK,CAACK,MAAM,CAACC,GAAG,CAAC,CAACM,KAAK,EAAED,KAAK,KAAK;MACzC,MAAMQ,WAAW,GAAG,IAAAC,YAAI,EACtBtB,WAAW,CAACc,KAAK,CAACS,GAAG,CAAC,EAAEC,OAAO,EAC/B,aACF,CAAC;MACD,MAAMC,WAAW,GAAGzB,WAAW,CAACc,KAAK,CAACS,GAAG,CAAC,EAAEC,OAAO,CAACC,WAAW,GAC3D,MACEzB,WAAW,CAACc,KAAK,CAACS,GAAG,CAAC,EAAEC,OAAO,CAACC,WAAW,GAAG;QAC5CC,OAAO,EAAExB,KAAK,CAACW,KAAK,KAAKA,KAAK;QAC9Bc,KAAK,EAAE3B,WAAW,CAACc,KAAK,CAACS,GAAG,CAAC,EAAEC,OAAO,CAACG,KAAK,IAAIb,KAAK,CAACI,IAAI;QAC1DL;MACF,CAAC,CAAC,GACJe,SAAS;MAEb,OAAO;QACL,GAAGd,KAAK;QACR,GAAGO,WAAW;QACdI,WAAW;QACXE,KAAK,EAAE3B,WAAW,CAACc,KAAK,CAACS,GAAG,CAAC,EAAEC,OAAO,CAACG,KAAK,IAAIb,KAAK,CAACI;MACxD,CAAC;IACH,CAAC;EACH,CAAC,CAAC,EACF,CAAChB,KAAK,CACR,CAAC;EAED,MAAM2B,WAAW,GAAGA,CAAC;IAAEf;EAAyC,CAAC,KAC/Dd,WAAW,CAACc,KAAK,CAACS,GAAG,CAAC,EAAEO,MAAM,CAAC,CAAC;EAElC,oBACE,IAAA3C,WAAA,CAAA4C,GAAA,EAACnD,QAAA,CAAAoD,QAAQ;IAACpC,MAAM,EAAEU,OAAQ;IAACG,OAAO,EAAEA,OAAQ;IAAAd,QAAA,EACzCA,CAAC;MAAEsC,YAAY;MAAEC;IAAgB,CAAC,kBACjC,IAAA/C,WAAA,CAAAgD,IAAA,EAAAhD,WAAA,CAAAiD,QAAA;MAAAzC,QAAA,gBACE,IAAAR,WAAA,CAAA4C,GAAA,EAAChD,sBAAA,CAAAO,OAAU,CAAC+C,IAAI;QACdC,QAAQ,EAAEA,CAAC;UAAEC;QAAY,CAAC,KAAK;UAC7BN,YAAY,CAACO,KAAK,GAAGD,WAAW,CAACE,MAAM,CAACC,MAAM;QAChD,CAAE;QAAA/C,QAAA,EAEDH,eAAe,gBACd,IAAAL,WAAA,CAAA4C,GAAA,EAACvC,eAAe;UACdyC,YAAY,EAAEA,YAAa;UAC3BC,eAAe,EAAEA;QAAgB,CAClC,CAAC,GACA;MAAI,CACO,CAAC,eAClB,IAAA/C,WAAA,CAAA4C,GAAA,EAAChC,iBAAiB;QAAAJ,QAAA,eAChB,IAAAR,WAAA,CAAA4C,GAAA,EAACrD,eAAA,CAAAiE,cAAc;UAAAhD,QAAA,eACb,IAAAR,WAAA,CAAA4C,GAAA,EAAC9C,kBAAA,CAAA2D,iBAAiB;YAChBzB,eAAe,EAAEA,eAAgB;YACjCP,QAAQ,EAAEA,QAAS;YACnBiB,WAAW,EAAEA,WAAY;YACzBgB,YAAY,EAAEpD;UAAgB,CAC/B;QAAC,CACY;MAAC,CACA,CAAC;IAAA,CACpB;EACH,CACO,CAAC;AAEf,CAAC;AAEM,MAAMqD,+BAA+B,GAAGA,CAAA,KAG7C,IAAAC,8BAAsB,EAKpBxD,gBAAgB,CAAC,CAAC,CAAC;AAACyD,OAAA,CAAAF,+BAAA,GAAAA,+BAAA","ignoreList":[]}
|
|
@@ -7,7 +7,7 @@ const onChange = (event, animationValue, width, navigationState) => {
|
|
|
7
7
|
if (animationValue > 0) {
|
|
8
8
|
return 0;
|
|
9
9
|
}
|
|
10
|
-
const routesLength = navigationState.
|
|
10
|
+
const routesLength = navigationState.size - 1;
|
|
11
11
|
if (animationValue < -width * routesLength) {
|
|
12
12
|
return -width * routesLength;
|
|
13
13
|
}
|
|
@@ -17,7 +17,7 @@ const getIndex = (navigationState, type) => {
|
|
|
17
17
|
'worklet';
|
|
18
18
|
|
|
19
19
|
if (type === 'increment') {
|
|
20
|
-
return navigationState.index === navigationState.
|
|
20
|
+
return navigationState.index === navigationState.size - 1 ? navigationState.index : navigationState.index + 1;
|
|
21
21
|
}
|
|
22
22
|
return navigationState.index === 0 ? navigationState.index : navigationState.index - 1;
|
|
23
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["withTiming","reanimatedWithTiming","onChange","event","animationValue","width","navigationState","routesLength","
|
|
1
|
+
{"version":3,"names":["withTiming","reanimatedWithTiming","onChange","event","animationValue","width","navigationState","routesLength","size","changeX","getIndex","type","index","onEnd","minimumValueToChangeView","velocityX","value","translationX","animation","newValue","duration","AnimationHelper"],"sourceRoot":"../../../../src","sources":["components/ReanimatedTopTab/AnimationHelper.ts"],"mappings":";;AAMA,SAASA,UAAU,IAAIC,oBAAoB,QAAQ,yBAAyB;AAI5E,MAAMC,QAAQ,GAAGA,CACfC,KAEC,EACDC,cAAsB,EACtBC,KAAa,EACbC,eAAgC,KAC7B;EACH,SAAS;;EACT,IAAIF,cAAc,GAAG,CAAC,EAAE;IACtB,OAAO,CAAC;EACV;EACA,MAAMG,YAAY,GAAGD,eAAe,CAACE,IAAI,GAAG,CAAC;EAC7C,IAAIJ,cAAc,GAAG,CAACC,KAAK,GAAGE,YAAY,EAAE;IAC1C,OAAO,CAACF,KAAK,GAAGE,YAAY;EAC9B;EACA,OAAOH,cAAc,GAAGD,KAAK,CAACM,OAAO;AACvC,CAAC;AAED,MAAMC,QAAQ,GAAGA,CACfJ,eAAgC,EAChCK,IAA+B,KAC5B;EACH,SAAS;;EACT,IAAIA,IAAI,KAAK,WAAW,EAAE;IACxB,OAAOL,eAAe,CAACM,KAAK,KAAKN,eAAe,CAACE,IAAI,GAAG,CAAC,GACrDF,eAAe,CAACM,KAAK,GACrBN,eAAe,CAACM,KAAK,GAAG,CAAC;EAC/B;EACA,OAAON,eAAe,CAACM,KAAK,KAAK,CAAC,GAC9BN,eAAe,CAACM,KAAK,GACrBN,eAAe,CAACM,KAAK,GAAG,CAAC;AAC/B,CAAC;AAED,MAAMC,KAAK,GAAGA,CACZV,KAA6D,EAC7DW,wBAAgC,EAChCT,KAAa,EACbC,eAAgC,KAC7B;EACH,SAAS;;EACT,IAAIH,KAAK,CAACY,SAAS,GAAG,CAAC,GAAG,EAAE;IAC1B,OAAO;MACLH,KAAK,EAAEF,QAAQ,CAACJ,eAAe,EAAE,WAAW,CAAC;MAC7CU,KAAK,EAAE,CAACX,KAAK,IAAIC,eAAe,CAACM,KAAK,GAAG,CAAC;IAC5C,CAAC;EACH;EACA,IAAIT,KAAK,CAACY,SAAS,GAAG,GAAG,EAAE;IACzB,OAAO;MACLH,KAAK,EAAEF,QAAQ,CAACJ,eAAe,EAAE,WAAW,CAAC;MAC7CU,KAAK,EAAE,CAACX,KAAK,IAAIC,eAAe,CAACM,KAAK,GAAG,CAAC;IAC5C,CAAC;EACH;EACA,IAAIT,KAAK,CAACc,YAAY,GAAG,CAAC,EAAE;IAC1B,IAAId,KAAK,CAACc,YAAY,GAAG,CAACH,wBAAwB,EAAE;MAClD,OAAO;QACLF,KAAK,EAAEF,QAAQ,CAACJ,eAAe,EAAE,WAAW,CAAC;QAC7CU,KAAK,EAAE,CAACX,KAAK,IAAIC,eAAe,CAACM,KAAK,GAAG,CAAC;MAC5C,CAAC;IACH;EACF;EACA,IAAIT,KAAK,CAACc,YAAY,GAAG,CAAC,EAAE;IAC1B,IAAId,KAAK,CAACc,YAAY,GAAGH,wBAAwB,EAAE;MACjD,OAAO;QACLF,KAAK,EAAEF,QAAQ,CAACJ,eAAe,EAAE,WAAW,CAAC;QAC7CU,KAAK,EAAE,CAACX,KAAK,IAAIC,eAAe,CAACM,KAAK,GAAG,CAAC;MAC5C,CAAC;IACH;EACF;EACA,OAAO;IACLA,KAAK,EAAEN,eAAe,CAACM,KAAK;IAC5BI,KAAK,EAAE,CAACX,KAAK,GAAGC,eAAe,CAACM;EAClC,CAAC;AACH,CAAC;AAED,MAAMM,SAAS,GAAGA,CAACC,QAAgB,EAAEC,QAAQ,GAAG,GAAG,KAAK;EACtD,SAAS;;EACT,OAAOnB,oBAAoB,CAACkB,QAAQ,EAAE;IAAEC;EAAS,CAAC,CAAC;AACrD,CAAC;AAED,OAAO,MAAMC,eAAe,GAAG;EAC7BH,SAAS;EACThB,QAAQ;EACRW;AACF,CAAC","ignoreList":[]}
|
|
@@ -3,24 +3,23 @@
|
|
|
3
3
|
import React, { useCallback, useEffect, useMemo, useRef } from 'react';
|
|
4
4
|
import { StyleSheet, useWindowDimensions, View } from 'react-native';
|
|
5
5
|
import { Gesture, GestureDetector, GestureHandlerRootView } from 'react-native-gesture-handler';
|
|
6
|
-
import Reanimated, { Extrapolation, interpolate, LinearTransition, runOnJS, useAnimatedStyle, useDerivedValue, useSharedValue } from 'react-native-reanimated';
|
|
6
|
+
import Reanimated, { Extrapolation, interpolate, LinearTransition, runOnJS, runOnUI, useAnimatedStyle, useDerivedValue, useSharedValue } from 'react-native-reanimated';
|
|
7
7
|
import { AnimationHelper } from './AnimationHelper';
|
|
8
8
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
9
|
export const ReanimatedTabView = /*#__PURE__*/React.memo(({
|
|
10
10
|
LazyPlaceholder = () => null,
|
|
11
11
|
lazy = false,
|
|
12
12
|
navigationState,
|
|
13
|
-
onIndexChange,
|
|
14
13
|
percentageTrigger = 0.4,
|
|
15
14
|
positionInterpolation,
|
|
16
15
|
renderScene,
|
|
17
|
-
renderTabBar
|
|
16
|
+
renderTabBar,
|
|
17
|
+
navigate
|
|
18
18
|
}) => {
|
|
19
19
|
const {
|
|
20
20
|
width
|
|
21
21
|
} = useWindowDimensions();
|
|
22
22
|
const loadedScreens = useRef([navigationState.routes[navigationState.index]]);
|
|
23
|
-
// const width = 160;
|
|
24
23
|
const scrollPosition = useSharedValue(navigationState.index);
|
|
25
24
|
const position = useDerivedValue(() => {
|
|
26
25
|
if (!positionInterpolation) {
|
|
@@ -28,35 +27,45 @@ export const ReanimatedTabView = /*#__PURE__*/React.memo(({
|
|
|
28
27
|
}
|
|
29
28
|
return interpolate(-scrollPosition.value, positionInterpolation.input, positionInterpolation.output, Extrapolation.CLAMP);
|
|
30
29
|
}, [positionInterpolation]);
|
|
31
|
-
|
|
32
|
-
scrollPosition.value = AnimationHelper.animation(-
|
|
33
|
-
|
|
30
|
+
const _navigate = index => {
|
|
31
|
+
scrollPosition.value = AnimationHelper.animation(-index * width);
|
|
32
|
+
navigate(index);
|
|
33
|
+
};
|
|
34
34
|
const minimumValueToChangeView = useMemo(() => width * percentageTrigger, [percentageTrigger, width]);
|
|
35
|
-
const
|
|
35
|
+
const _navigationState = useSharedValue({
|
|
36
|
+
size: 0,
|
|
37
|
+
index: 0
|
|
38
|
+
});
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
runOnUI(() => {
|
|
41
|
+
_navigationState.value.size = navigationState.routes.length;
|
|
42
|
+
_navigationState.value.index = navigationState.index;
|
|
43
|
+
})();
|
|
44
|
+
}, [navigationState]);
|
|
45
|
+
const panGesture = React.useMemo(() => Gesture.Pan().failOffsetY([-10, 10]).activeOffsetX([-20, 20]).onChange(event => {
|
|
36
46
|
'worklet';
|
|
37
47
|
|
|
38
|
-
scrollPosition.value = AnimationHelper.onChange(event, scrollPosition.value, width,
|
|
48
|
+
scrollPosition.value = AnimationHelper.onChange(event, scrollPosition.value, width, _navigationState.value);
|
|
39
49
|
}).onEnd(event => {
|
|
40
50
|
'worklet';
|
|
41
51
|
|
|
42
|
-
const state = AnimationHelper.onEnd(event, minimumValueToChangeView, width,
|
|
52
|
+
const state = AnimationHelper.onEnd(event, minimumValueToChangeView, width, _navigationState.value);
|
|
43
53
|
scrollPosition.value = AnimationHelper.animation(state.value);
|
|
44
|
-
|
|
45
|
-
|
|
54
|
+
_navigationState.value.index = state.index;
|
|
55
|
+
runOnJS(navigate)(state.index);
|
|
56
|
+
}), [minimumValueToChangeView, width, _navigationState]);
|
|
46
57
|
const scrollPositionStyle = useAnimatedStyle(() => ({
|
|
47
58
|
transform: [{
|
|
48
59
|
translateX: interpolate(scrollPosition.value, [-width * (navigationState.routes.length - 1), 0], [-width * (navigationState.routes.length - 1), 0], Extrapolation.CLAMP)
|
|
49
60
|
}]
|
|
50
61
|
}));
|
|
51
62
|
const jumpTo = React.useCallback(key => {
|
|
52
|
-
const newIndex = navigationState.routes.findIndex(
|
|
63
|
+
const newIndex = navigationState.routes.findIndex(route => route.key === key);
|
|
53
64
|
if (newIndex === -1) {
|
|
54
|
-
// throw
|
|
55
65
|
return;
|
|
56
66
|
}
|
|
57
67
|
scrollPosition.value = AnimationHelper.animation(-newIndex * width);
|
|
58
|
-
|
|
59
|
-
}, [navigationState.routes, onIndexChange, scrollPosition, width]);
|
|
68
|
+
}, [navigationState.routes, scrollPosition, width]);
|
|
60
69
|
const chooseRender = useCallback((params, useRenderScene = true) => /*#__PURE__*/_jsx(View, {
|
|
61
70
|
style: {
|
|
62
71
|
width
|
|
@@ -96,7 +105,8 @@ export const ReanimatedTabView = /*#__PURE__*/React.memo(({
|
|
|
96
105
|
style: defaultStyles.flex,
|
|
97
106
|
children: [renderTabBar ? renderTabBar({
|
|
98
107
|
navigationState,
|
|
99
|
-
position
|
|
108
|
+
position,
|
|
109
|
+
navigate: _navigate
|
|
100
110
|
}) : null, /*#__PURE__*/_jsx(GestureDetector, {
|
|
101
111
|
gesture: panGesture,
|
|
102
112
|
children: /*#__PURE__*/_jsx(Reanimated.View, {
|