react-navigation-reanimated-top-tabs 0.7.0 → 0.9.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.
- package/lib/commonjs/components/ReanimatedTopTab/AnimationHelper.js +21 -26
- package/lib/commonjs/components/ReanimatedTopTab/AnimationHelper.js.map +1 -1
- package/lib/commonjs/components/ReanimatedTopTab/ReanimatedTabView.js +13 -12
- package/lib/commonjs/components/ReanimatedTopTab/ReanimatedTabView.js.map +1 -1
- package/lib/commonjs/components/elements/TabBarBaseComponent.js +42 -25
- package/lib/commonjs/components/elements/TabBarBaseComponent.js.map +1 -1
- package/lib/commonjs/components/elements/TabBarBaseItem.js +55 -0
- package/lib/commonjs/components/elements/TabBarBaseItem.js.map +1 -0
- package/lib/commonjs/components/elements/TabBarLabelBaseComponent.js +3 -3
- package/lib/commonjs/components/elements/TabBarLabelBaseComponent.js.map +1 -1
- package/lib/commonjs/components/wrappers/GestureWrapper.js +40 -11
- package/lib/commonjs/components/wrappers/GestureWrapper.js.map +1 -1
- package/lib/commonjs/components/wrappers/SectionList.js +72 -0
- package/lib/commonjs/components/wrappers/SectionList.js.map +1 -0
- package/lib/commonjs/context/Context.hooks.js +22 -17
- package/lib/commonjs/context/Context.hooks.js.map +1 -1
- package/lib/commonjs/context/Context.js +11 -8
- package/lib/commonjs/context/Context.js.map +1 -1
- package/lib/commonjs/hooks/useHeader.js +2 -10
- package/lib/commonjs/hooks/useHeader.js.map +1 -1
- package/lib/commonjs/hooks/useTabOffset.js +2 -2
- package/lib/commonjs/hooks/useTabOffset.js.map +1 -1
- package/lib/commonjs/index.js +2 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/navigator/createReanimatedTopTabNavigator.js +27 -23
- package/lib/commonjs/navigator/createReanimatedTopTabNavigator.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/module/components/ReanimatedTopTab/AnimationHelper.js +23 -28
- package/lib/module/components/ReanimatedTopTab/AnimationHelper.js.map +1 -1
- package/lib/module/components/ReanimatedTopTab/ReanimatedTabView.js +14 -13
- package/lib/module/components/ReanimatedTopTab/ReanimatedTabView.js.map +1 -1
- package/lib/module/components/elements/TabBarBaseComponent.js +44 -27
- package/lib/module/components/elements/TabBarBaseComponent.js.map +1 -1
- package/lib/module/components/elements/TabBarBaseItem.js +48 -0
- package/lib/module/components/elements/TabBarBaseItem.js.map +1 -0
- package/lib/module/components/elements/TabBarLabelBaseComponent.js +3 -3
- package/lib/module/components/elements/TabBarLabelBaseComponent.js.map +1 -1
- package/lib/module/components/wrappers/GestureWrapper.js +41 -12
- package/lib/module/components/wrappers/GestureWrapper.js.map +1 -1
- package/lib/module/components/wrappers/SectionList.js +66 -0
- package/lib/module/components/wrappers/SectionList.js.map +1 -0
- package/lib/module/context/Context.hooks.js +22 -17
- package/lib/module/context/Context.hooks.js.map +1 -1
- package/lib/module/context/Context.js +11 -8
- package/lib/module/context/Context.js.map +1 -1
- package/lib/module/hooks/useHeader.js +3 -11
- package/lib/module/hooks/useHeader.js.map +1 -1
- package/lib/module/hooks/useTabOffset.js +2 -2
- package/lib/module/hooks/useTabOffset.js.map +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/navigator/createReanimatedTopTabNavigator.js +28 -24
- package/lib/module/navigator/createReanimatedTopTabNavigator.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/typescript/src/components/ReanimatedTopTab/AnimationHelper.d.ts.map +1 -1
- package/lib/typescript/src/components/ReanimatedTopTab/ReanimatedTabView.d.ts +2 -1
- package/lib/typescript/src/components/ReanimatedTopTab/ReanimatedTabView.d.ts.map +1 -1
- package/lib/typescript/src/components/ReanimatedTopTab/types.d.ts +3 -7
- package/lib/typescript/src/components/ReanimatedTopTab/types.d.ts.map +1 -1
- package/lib/typescript/src/components/elements/TabBarBaseComponent.d.ts +1 -1
- package/lib/typescript/src/components/elements/TabBarBaseComponent.d.ts.map +1 -1
- package/lib/typescript/src/components/elements/TabBarBaseItem.d.ts +12 -0
- package/lib/typescript/src/components/elements/TabBarBaseItem.d.ts.map +1 -0
- package/lib/typescript/src/components/wrappers/GestureWrapper.d.ts +2 -1
- package/lib/typescript/src/components/wrappers/GestureWrapper.d.ts.map +1 -1
- package/lib/typescript/src/components/wrappers/SectionList.d.ts +3 -0
- package/lib/typescript/src/components/wrappers/SectionList.d.ts.map +1 -0
- package/lib/typescript/src/context/Context.d.ts.map +1 -1
- package/lib/typescript/src/context/Context.hooks.d.ts +4 -3
- package/lib/typescript/src/context/Context.hooks.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useHeader.d.ts +0 -6
- package/lib/typescript/src/hooks/useHeader.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useScreenProperties.d.ts +1 -1
- package/lib/typescript/src/index.d.ts +3 -8
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/navigator/createReanimatedTopTabNavigator.d.ts +1 -1
- package/lib/typescript/src/navigator/createReanimatedTopTabNavigator.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +11 -5
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/ReanimatedTopTab/AnimationHelper.ts +24 -32
- package/src/components/ReanimatedTopTab/ReanimatedTabView.tsx +19 -17
- package/src/components/ReanimatedTopTab/types.ts +3 -5
- package/src/components/elements/TabBarBaseComponent.tsx +47 -36
- package/src/components/elements/TabBarBaseItem.tsx +76 -0
- package/src/components/elements/TabBarLabelBaseComponent.tsx +3 -3
- package/src/components/wrappers/GestureWrapper.tsx +41 -14
- package/src/components/wrappers/SectionList.tsx +75 -0
- package/src/context/Context.hooks.ts +26 -16
- package/src/context/Context.tsx +8 -5
- package/src/hooks/useHeader.ts +4 -22
- package/src/hooks/useTabOffset.ts +2 -2
- package/src/index.tsx +2 -0
- package/src/navigator/createReanimatedTopTabNavigator.tsx +31 -26
- package/src/types.ts +21 -5
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SectionList = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
9
|
+
var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
|
|
10
|
+
var _react = require("react");
|
|
11
|
+
var _native = require("@react-navigation/native");
|
|
12
|
+
var _useTabContext = require("../../hooks/useTabContext");
|
|
13
|
+
var _useScreenGesture = require("../../hooks/useScreenGesture");
|
|
14
|
+
var _useScreenScrollable = require("../../hooks/useScreenScrollable");
|
|
15
|
+
var _useScreenProperties = require("../../hooks/useScreenProperties");
|
|
16
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
|
+
const SectionList = ({
|
|
19
|
+
children,
|
|
20
|
+
style,
|
|
21
|
+
contentContainerStyle,
|
|
22
|
+
onLayout,
|
|
23
|
+
...props
|
|
24
|
+
}) => {
|
|
25
|
+
const gesture = (0, _useScreenGesture.useScreenGesture)();
|
|
26
|
+
const {
|
|
27
|
+
style: _style,
|
|
28
|
+
contentContainerStyle: _contentContainerStyle,
|
|
29
|
+
onScroll,
|
|
30
|
+
bounces,
|
|
31
|
+
animatedProps,
|
|
32
|
+
overScrollMode
|
|
33
|
+
} = (0, _useScreenScrollable.useScreenScrollable)();
|
|
34
|
+
const {
|
|
35
|
+
innerLayout
|
|
36
|
+
} = (0, _useScreenProperties.useScreenProperties)();
|
|
37
|
+
const {
|
|
38
|
+
context
|
|
39
|
+
} = (0, _useTabContext.useTabContext)();
|
|
40
|
+
const {
|
|
41
|
+
key
|
|
42
|
+
} = (0, _native.useRoute)();
|
|
43
|
+
const _ref = (0, _react.useRef)(null);
|
|
44
|
+
const _onLayout = event => {
|
|
45
|
+
onLayout?.(event);
|
|
46
|
+
innerLayout.value = event.nativeEvent.layout;
|
|
47
|
+
context.screen.setRef(key, _ref.current);
|
|
48
|
+
};
|
|
49
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
|
|
50
|
+
gesture: gesture,
|
|
51
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedSectionList, {
|
|
52
|
+
ref: _ref,
|
|
53
|
+
contentContainerStyle: [_contentContainerStyle, styleSheet.contentContainerStyle, contentContainerStyle],
|
|
54
|
+
onLayout: _onLayout,
|
|
55
|
+
style: [_style, style],
|
|
56
|
+
onScroll: onScroll,
|
|
57
|
+
bounces: bounces,
|
|
58
|
+
animatedProps: animatedProps,
|
|
59
|
+
overScrollMode: overScrollMode,
|
|
60
|
+
...props,
|
|
61
|
+
children: children
|
|
62
|
+
})
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
exports.SectionList = SectionList;
|
|
66
|
+
const styleSheet = _reactNative.StyleSheet.create({
|
|
67
|
+
contentContainerStyle: {
|
|
68
|
+
flexGrow: 1
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
const AnimatedSectionList = _reactNativeReanimated.default.createAnimatedComponent(_reactNative.SectionList);
|
|
72
|
+
//# sourceMappingURL=SectionList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireDefault","_react","_native","_useTabContext","_useScreenGesture","_useScreenScrollable","_useScreenProperties","_jsxRuntime","e","__esModule","default","SectionList","children","style","contentContainerStyle","onLayout","props","gesture","useScreenGesture","_style","_contentContainerStyle","onScroll","bounces","animatedProps","overScrollMode","useScreenScrollable","innerLayout","useScreenProperties","context","useTabContext","key","useRoute","_ref","useRef","_onLayout","event","value","nativeEvent","layout","screen","setRef","current","jsx","GestureDetector","AnimatedSectionList","ref","styleSheet","exports","StyleSheet","create","flexGrow","Reanimated","createAnimatedComponent","RNSectionList"],"sourceRoot":"../../../../src","sources":["components/wrappers/SectionList.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAOA,IAAAC,0BAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AACA,IAAAO,iBAAA,GAAAP,OAAA;AACA,IAAAQ,oBAAA,GAAAR,OAAA;AACA,IAAAS,oBAAA,GAAAT,OAAA;AAAsE,IAAAU,WAAA,GAAAV,OAAA;AAAA,SAAAG,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE/D,MAAMG,WAAW,GAAGA,CAAoC;EAC7DC,QAAQ;EACRC,KAAK;EACLC,qBAAqB;EACrBC,QAAQ;EACR,GAAGC;AAC8B,CAAC,KAAK;EACvC,MAAMC,OAAO,GAAG,IAAAC,kCAAgB,EAAC,CAAC;EAClC,MAAM;IACJL,KAAK,EAAEM,MAAM;IACbL,qBAAqB,EAAEM,sBAAsB;IAC7CC,QAAQ;IACRC,OAAO;IACPC,aAAa;IACbC;EACF,CAAC,GAAG,IAAAC,wCAAmB,EAAC,CAAC;EACzB,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,wCAAmB,EAAC,CAAC;EAC7C,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,4BAAa,EAAC,CAAC;EAEnC,MAAM;IAAEC;EAAI,CAAC,GAAG,IAAAC,gBAAQ,EAAC,CAAC;EAC1B,MAAMC,IAAI,GAAG,IAAAC,aAAM,EAAqB,IAAI,CAAC;EAE7C,MAAMC,SAAS,GAAIC,KAAwB,IAAK;IAC9CpB,QAAQ,GAAGoB,KAAK,CAAC;IACjBT,WAAW,CAACU,KAAK,GAAGD,KAAK,CAACE,WAAW,CAACC,MAAM;IAC5CV,OAAO,CAACW,MAAM,CAACC,MAAM,CAACV,GAAG,EAAEE,IAAI,CAACS,OAAO,CAAC;EAC1C,CAAC;EAED,oBACE,IAAAlC,WAAA,CAAAmC,GAAA,EAAC5C,0BAAA,CAAA6C,eAAe;IAAC1B,OAAO,EAAEA,OAAQ;IAAAL,QAAA,eAChC,IAAAL,WAAA,CAAAmC,GAAA,EAACE,mBAAmB;MAClBC,GAAG,EAAEb,IAAK;MACVlB,qBAAqB,EAAE,CACrBM,sBAAsB,EACtB0B,UAAU,CAAChC,qBAAqB,EAChCA,qBAAqB,CACrB;MACFC,QAAQ,EAAEmB,SAAU;MACpBrB,KAAK,EAAE,CAACM,MAAM,EAAEN,KAAK,CAAE;MACvBQ,QAAQ,EAAEA,QAAS;MACnBC,OAAO,EAAEA,OAAQ;MACjBC,aAAa,EAAEA,aAAc;MAC7BC,cAAc,EAAEA,cAAe;MAAA,GAC3BR,KAAK;MAAAJ,QAAA,EAERA;IAAQ,CACU;EAAC,CACP,CAAC;AAEtB,CAAC;AAACmC,OAAA,CAAApC,WAAA,GAAAA,WAAA;AAEF,MAAMmC,UAAU,GAAGE,uBAAU,CAACC,MAAM,CAAC;EACnCnC,qBAAqB,EAAE;IACrBoC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;AAEF,MAAMN,mBAAmB,GACvBO,8BAAU,CAACC,uBAAuB,CAA6BC,wBAAa,CAAC","ignoreList":[]}
|
|
@@ -9,12 +9,13 @@ var _react = require("react");
|
|
|
9
9
|
var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
10
10
|
var _lodash = require("lodash");
|
|
11
11
|
var _Context = require("./Context.helpers");
|
|
12
|
+
var _reactNative = require("react-native");
|
|
12
13
|
/**
|
|
13
14
|
* Hook to reset the scroll offset for the approaching screen in a tab navigation context.
|
|
14
15
|
*
|
|
15
16
|
* @param {Object} params - The parameters for configuring the scroll offset reset.
|
|
16
17
|
* @param {ReanimatedTopTabNavigation.ContextType["context"]} params.context - The context containing navigation and screen information.
|
|
17
|
-
* @param {ReanimatedTopTabNavigation.ContextType["
|
|
18
|
+
* @param {ReanimatedTopTabNavigation.ContextType["positionX"]} params.positionX - The horizontal transformation value used in animations.
|
|
18
19
|
* @param {ReanimatedTopTabNavigation.ContextType["currentYPosition"]} params.currentYPosition - The current vertical scroll position.
|
|
19
20
|
*
|
|
20
21
|
* The hook is responsible for resetting the vertical scroll offset of the "approaching" screen within a tabbed navigation interface,
|
|
@@ -24,7 +25,7 @@ var _Context = require("./Context.helpers");
|
|
|
24
25
|
*/
|
|
25
26
|
const useResetApproachingScreenScrollOffset = ({
|
|
26
27
|
context,
|
|
27
|
-
|
|
28
|
+
positionX,
|
|
28
29
|
currentYPosition
|
|
29
30
|
}) => {
|
|
30
31
|
const screenOffsets = (0, _reactNativeReanimated.useDerivedValue)(() => Object.values(context.screen.properties).map(({
|
|
@@ -32,19 +33,21 @@ const useResetApproachingScreenScrollOffset = ({
|
|
|
32
33
|
}) => scrollY.value));
|
|
33
34
|
const resetApproachingScreenOffset = (index, shouldReset) => {
|
|
34
35
|
if (shouldReset) {
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
36
|
+
const ref = context.screen.getRef(context.route.getKeyForIndex(index)).current;
|
|
37
|
+
if (ref instanceof _reactNative.SectionList) {
|
|
38
|
+
ref.scrollToLocation({
|
|
39
|
+
animated: false,
|
|
40
|
+
sectionIndex: 0,
|
|
41
|
+
itemIndex: 0,
|
|
42
|
+
viewOffset: 0
|
|
43
|
+
});
|
|
44
|
+
} else ref?.scrollTo({
|
|
42
45
|
y: 0,
|
|
43
46
|
animated: false
|
|
44
47
|
});
|
|
45
48
|
}
|
|
46
49
|
};
|
|
47
|
-
(0, _reactNativeReanimated.useAnimatedReaction)(() =>
|
|
50
|
+
(0, _reactNativeReanimated.useAnimatedReaction)(() => positionX.value, (current, previous) => {
|
|
48
51
|
const approachingIndex = _Context.ContextHelpers.getTargetIndex(current, previous);
|
|
49
52
|
const approachingScreenOffset = screenOffsets.value[approachingIndex] ?? -1;
|
|
50
53
|
(0, _reactNativeReanimated.runOnJS)(resetApproachingScreenOffset)(approachingIndex, approachingScreenOffset > 0 && currentYPosition.value === 0);
|
|
@@ -173,7 +176,7 @@ const usePrepareContext = ({
|
|
|
173
176
|
* @param {Array} params.config - An array of configuration settings to determine the header's transformation.
|
|
174
177
|
* @returns {Object} An object containing shared values for header transformations and positioning:
|
|
175
178
|
* - transformationY: The derived Y-axis transformation value for the header.
|
|
176
|
-
* -
|
|
179
|
+
* - positionX: The shared X-axis transformation value to be observed.
|
|
177
180
|
* - currentYPosition: The shared Y-axis position of the header.
|
|
178
181
|
* - headerHeight: The shared height value of the header.
|
|
179
182
|
*/
|
|
@@ -183,7 +186,8 @@ const useTransformHeaderOnTabChange = ({
|
|
|
183
186
|
const headerHeight = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
184
187
|
const isHeaderHeightSet = (0, _reactNativeReanimated.useSharedValue)(false);
|
|
185
188
|
const transformationY = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
186
|
-
const
|
|
189
|
+
const scrollY = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
190
|
+
const positionX = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
187
191
|
const currentYPosition = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
188
192
|
|
|
189
193
|
//Hide header base on config
|
|
@@ -214,21 +218,22 @@ const useTransformHeaderOnTabChange = ({
|
|
|
214
218
|
(0, _reactNativeReanimated.runOnJS)(debouncedSetIsHeaderSet)();
|
|
215
219
|
}
|
|
216
220
|
}, []);
|
|
217
|
-
(0, _reactNativeReanimated.useAnimatedReaction)(() =>
|
|
221
|
+
(0, _reactNativeReanimated.useAnimatedReaction)(() => positionX.value, value => {
|
|
218
222
|
if (currentYPosition.value === -headerHeight.value) return;
|
|
219
223
|
transformationY.value = (0, _reactNativeReanimated.interpolate)(value, inputRange.value, outputRange.value, 'clamp');
|
|
220
224
|
});
|
|
221
225
|
return {
|
|
222
226
|
transformationY,
|
|
223
|
-
|
|
227
|
+
positionX,
|
|
224
228
|
currentYPosition,
|
|
225
229
|
headerHeight,
|
|
226
|
-
isHeaderHeightSet
|
|
230
|
+
isHeaderHeightSet,
|
|
231
|
+
scrollY
|
|
227
232
|
};
|
|
228
233
|
};
|
|
229
234
|
const useApproachingTabChange = ({
|
|
230
235
|
config,
|
|
231
|
-
|
|
236
|
+
positionX,
|
|
232
237
|
gestureEnabled,
|
|
233
238
|
currentScreenIndex
|
|
234
239
|
}) => {
|
|
@@ -249,7 +254,7 @@ const useApproachingTabChange = ({
|
|
|
249
254
|
}
|
|
250
255
|
}
|
|
251
256
|
};
|
|
252
|
-
(0, _reactNativeReanimated.useAnimatedReaction)(() =>
|
|
257
|
+
(0, _reactNativeReanimated.useAnimatedReaction)(() => positionX.value, (current, previous) => {
|
|
253
258
|
const approachingIndex = _Context.ContextHelpers.getTargetIndex(current, previous);
|
|
254
259
|
onIndexApproach(approachingIndex);
|
|
255
260
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeReanimated","require","_react","_reactNativeGestureHandler","_lodash","_Context","useResetApproachingScreenScrollOffset","context","
|
|
1
|
+
{"version":3,"names":["_reactNativeReanimated","require","_react","_reactNativeGestureHandler","_lodash","_Context","_reactNative","useResetApproachingScreenScrollOffset","context","positionX","currentYPosition","screenOffsets","useDerivedValue","Object","values","screen","properties","map","scrollY","value","resetApproachingScreenOffset","index","shouldReset","ref","getRef","route","getKeyForIndex","current","SectionList","scrollToLocation","animated","sectionIndex","itemIndex","viewOffset","scrollTo","y","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","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":[]}
|
|
@@ -22,23 +22,24 @@ const Provider = exports.Provider = /*#__PURE__*/(0, _react.memo)(({
|
|
|
22
22
|
const topTabHeight = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
23
23
|
const topTabNativeGesture = (0, _react.useRef)(_reactNativeGestureHandler.Gesture.Native()).current;
|
|
24
24
|
const {
|
|
25
|
-
|
|
25
|
+
positionX,
|
|
26
26
|
transformationY,
|
|
27
27
|
currentYPosition,
|
|
28
28
|
headerHeight,
|
|
29
|
-
isHeaderHeightSet
|
|
29
|
+
isHeaderHeightSet,
|
|
30
|
+
scrollY
|
|
30
31
|
} = _Context.ContextHooks.useTransformHeaderOnTabChange({
|
|
31
32
|
config
|
|
32
33
|
});
|
|
33
34
|
_Context.ContextHooks.useResetApproachingScreenScrollOffset({
|
|
34
35
|
currentYPosition,
|
|
35
|
-
|
|
36
|
+
positionX,
|
|
36
37
|
context
|
|
37
38
|
});
|
|
38
39
|
_Context.ContextHooks.useApproachingTabChange({
|
|
39
40
|
config,
|
|
40
41
|
gestureEnabled,
|
|
41
|
-
|
|
42
|
+
positionX,
|
|
42
43
|
currentScreenIndex
|
|
43
44
|
});
|
|
44
45
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Context.Provider, {
|
|
@@ -52,10 +53,11 @@ const Provider = exports.Provider = /*#__PURE__*/(0, _react.memo)(({
|
|
|
52
53
|
navHeight,
|
|
53
54
|
topTabHeight,
|
|
54
55
|
topTabNativeGesture,
|
|
55
|
-
|
|
56
|
+
positionX,
|
|
56
57
|
transformationY,
|
|
57
58
|
context,
|
|
58
|
-
isHeaderHeightSet
|
|
59
|
+
isHeaderHeightSet,
|
|
60
|
+
scrollY
|
|
59
61
|
},
|
|
60
62
|
children: children({
|
|
61
63
|
closeOffset,
|
|
@@ -67,10 +69,11 @@ const Provider = exports.Provider = /*#__PURE__*/(0, _react.memo)(({
|
|
|
67
69
|
navHeight,
|
|
68
70
|
topTabHeight,
|
|
69
71
|
topTabNativeGesture,
|
|
70
|
-
|
|
72
|
+
positionX,
|
|
71
73
|
transformationY,
|
|
72
74
|
context,
|
|
73
|
-
isHeaderHeightSet
|
|
75
|
+
isHeaderHeightSet,
|
|
76
|
+
scrollY
|
|
74
77
|
})
|
|
75
78
|
});
|
|
76
79
|
});
|
|
@@ -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","
|
|
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","positionX","transformationY","currentYPosition","headerHeight","isHeaderHeightSet","scrollY","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,SAAS;IACTC,eAAe;IACfC,gBAAgB;IAChBC,YAAY;IACZC,iBAAiB;IACjBC;EACF,CAAC,GAAGC,qBAAY,CAACC,6BAA6B,CAAC;IAAEpB;EAAO,CAAC,CAAC;EAE1DmB,qBAAY,CAACE,qCAAqC,CAAC;IACjDN,gBAAgB;IAChBF,SAAS;IACTZ;EACF,CAAC,CAAC;EAEFkB,qBAAY,CAACG,uBAAuB,CAAC;IACnCtB,MAAM;IACNE,cAAc;IACdW,SAAS;IACTT;EACF,CAAC,CAAC;EAEF,oBACE,IAAAX,WAAA,CAAA8B,GAAA,EAAC7B,OAAO,CAACG,QAAQ;IACf2B,KAAK,EAAE;MACLlB,WAAW;MACXN,MAAM;MACNI,kBAAkB;MAClBW,gBAAgB;MAChBb,cAAc;MACdc,YAAY;MACZX,SAAS;MACTE,YAAY;MACZC,mBAAmB;MACnBK,SAAS;MACTC,eAAe;MACfb,OAAO;MACPgB,iBAAiB;MACjBC;IACF,CAAE;IAAAnB,QAAA,EAEDA,QAAQ,CAAC;MACRO,WAAW;MACXN,MAAM;MACNI,kBAAkB;MAClBW,gBAAgB;MAChBb,cAAc;MACdc,YAAY;MACZX,SAAS;MACTE,YAAY;MACZC,mBAAmB;MACnBK,SAAS;MACTC,eAAe;MACfb,OAAO;MACPgB,iBAAiB;MACjBC;IACF,CAAC;EAAC,CACc,CAAC;AAEvB,CACF,CAAC","ignoreList":[]}
|
|
@@ -9,21 +9,13 @@ var _reactNativeReanimated = require("react-native-reanimated");
|
|
|
9
9
|
const useHeader = () => {
|
|
10
10
|
const {
|
|
11
11
|
headerHeight,
|
|
12
|
-
transformationX,
|
|
13
12
|
transformationY
|
|
14
13
|
} = (0, _useTabContext.useTabContext)();
|
|
15
14
|
const hideHeader = () => {
|
|
16
|
-
|
|
15
|
+
transformationY.value = (0, _reactNativeReanimated.withTiming)(-headerHeight.value);
|
|
17
16
|
};
|
|
18
|
-
const defaultStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
19
|
-
transform: [{
|
|
20
|
-
translateY: (0, _reactNativeReanimated.interpolate)(transformationY.value, [0, -headerHeight.value], [0, -headerHeight.value], 'clamp')
|
|
21
|
-
}],
|
|
22
|
-
zIndex: -1
|
|
23
|
-
}));
|
|
24
17
|
return {
|
|
25
|
-
hideHeader
|
|
26
|
-
defaultStyle
|
|
18
|
+
hideHeader
|
|
27
19
|
};
|
|
28
20
|
};
|
|
29
21
|
exports.useHeader = useHeader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_useTabContext","require","_reactNativeReanimated","useHeader","headerHeight","
|
|
1
|
+
{"version":3,"names":["_useTabContext","require","_reactNativeReanimated","useHeader","headerHeight","transformationY","useTabContext","hideHeader","value","withTiming","exports"],"sourceRoot":"../../../src","sources":["hooks/useHeader.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAEO,MAAME,SAAS,GAAGA,CAAA,KAAM;EAC7B,MAAM;IAAEC,YAAY;IAAEC;EAAgB,CAAC,GAAG,IAAAC,4BAAa,EAAC,CAAC;EAEzD,MAAMC,UAAU,GAAGA,CAAA,KAAM;IACvBF,eAAe,CAACG,KAAK,GAAG,IAAAC,iCAAU,EAAC,CAACL,YAAY,CAACI,KAAK,CAAC;EACzD,CAAC;EAED,OAAO;IAAED;EAAW,CAAC;AACvB,CAAC;AAACG,OAAA,CAAAP,SAAA,GAAAA,SAAA","ignoreList":[]}
|
|
@@ -10,9 +10,9 @@ var _reactNativeReanimated = require("react-native-reanimated");
|
|
|
10
10
|
|
|
11
11
|
const useTabOffset = () => {
|
|
12
12
|
const {
|
|
13
|
-
|
|
13
|
+
positionX
|
|
14
14
|
} = (0, _useTabContext.useTabContext)();
|
|
15
|
-
return (0, _reactNativeReanimated.useDerivedValue)(() =>
|
|
15
|
+
return (0, _reactNativeReanimated.useDerivedValue)(() => positionX.value);
|
|
16
16
|
};
|
|
17
17
|
exports.useTabOffset = useTabOffset;
|
|
18
18
|
//# sourceMappingURL=useTabOffset.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_useTabContext","require","_reactNativeReanimated","useTabOffset","
|
|
1
|
+
{"version":3,"names":["_useTabContext","require","_reactNativeReanimated","useTabOffset","positionX","useTabContext","useDerivedValue","value","exports"],"sourceRoot":"../../../src","sources":["hooks/useTabOffset.ts"],"mappings":";;;;;;AACA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAFA;;AAIO,MAAME,YAAY,GAAGA,CAAA,KAAM;EAChC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,4BAAa,EAAC,CAAC;EACrC,OAAO,IAAAC,sCAAe,EAAC,MAAMF,SAAS,CAACG,KAAK,CAAC;AAC/C,CAAC;AAACC,OAAA,CAAAL,YAAA,GAAAA,YAAA","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "createReanimatedTopTabNavigator", {
|
|
|
11
11
|
}
|
|
12
12
|
});
|
|
13
13
|
var _ScrollView = require("./components/wrappers/ScrollView");
|
|
14
|
+
var _SectionList = require("./components/wrappers/SectionList");
|
|
14
15
|
var _ScreenWrapper = require("./components/wrappers/ScreenWrapper");
|
|
15
16
|
var _TabBarBaseComponent = require("./components/elements/TabBarBaseComponent");
|
|
16
17
|
var _TabBarLabelBaseComponent = require("./components/elements/TabBarLabelBaseComponent");
|
|
@@ -39,6 +40,7 @@ const TabHooks = exports.TabHooks = {
|
|
|
39
40
|
};
|
|
40
41
|
const Tab = exports.Tab = {
|
|
41
42
|
ScrollView: _ScrollView.ScrollView,
|
|
43
|
+
SectionList: _SectionList.SectionList,
|
|
42
44
|
ScreenWrapper: _ScreenWrapper.ScreenWrapper,
|
|
43
45
|
TabBarBaseComponent: _TabBarBaseComponent.TabBarBaseComponent,
|
|
44
46
|
TabBarLabelBaseComponent: _TabBarLabelBaseComponent.TabBarLabelBaseComponent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_ScrollView","require","_ScreenWrapper","_TabBarBaseComponent","_TabBarLabelBaseComponent","_react","_Warning","_useTabContext2","_useTabOffset","_useScreenGesture","_useScreenScrollable","_useScreenProperties","_useHeader","_createReanimatedTopTabNavigator","_useTabContext","useEffect","WarningService","warn","useTabContext","TabHooks","exports","useHeader","useScreenProperties","useScreenScrollable","useScreenGesture","useTabOffset","Tab","ScrollView","ScreenWrapper","TabBarBaseComponent","TabBarLabelBaseComponent"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,
|
|
1
|
+
{"version":3,"names":["_ScrollView","require","_SectionList","_ScreenWrapper","_TabBarBaseComponent","_TabBarLabelBaseComponent","_react","_Warning","_useTabContext2","_useTabOffset","_useScreenGesture","_useScreenScrollable","_useScreenProperties","_useHeader","_createReanimatedTopTabNavigator","_useTabContext","useEffect","WarningService","warn","useTabContext","TabHooks","exports","useHeader","useScreenProperties","useScreenScrollable","useScreenGesture","useTabOffset","Tab","ScrollView","SectionList","ScreenWrapper","TabBarBaseComponent","TabBarLabelBaseComponent"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AACA,IAAAI,yBAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,eAAA,GAAAP,OAAA;AACA,IAAAQ,aAAA,GAAAR,OAAA;AACA,IAAAS,iBAAA,GAAAT,OAAA;AACA,IAAAU,oBAAA,GAAAV,OAAA;AACA,IAAAW,oBAAA,GAAAX,OAAA;AACA,IAAAY,UAAA,GAAAZ,OAAA;AAGA,IAAAa,gCAAA,GAAAb,OAAA;AAEA,MAAMc,cAAc,GAAGA,CAAA,KAAM;EAC3B,IAAAC,gBAAS,EAAC,MAAM;IACdC,uBAAc,CAACC,IAAI,CAAC,CAAC;EACvB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,IAAAC,6BAAa,EAAC,CAAC;AACxB,CAAC;AAEM,MAAMC,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG;EACtBE,SAAS,EAATA,oBAAS;EACTC,mBAAmB,EAAnBA,wCAAmB;EACnBC,mBAAmB,EAAnBA,wCAAmB;EACnBC,gBAAgB,EAAhBA,kCAAgB;EAChBN,aAAa,EAAEJ,cAAc;EAC7BW,YAAY,EAAZA;AACF,CAAC;AAEM,MAAMC,GAAG,GAAAN,OAAA,CAAAM,GAAA,GAAG;EACjBC,UAAU,EAAVA,sBAAU;EACVC,WAAW,EAAXA,wBAAW;EACXC,aAAa,EAAbA,4BAAa;EACbC,mBAAmB,EAAnBA,wCAAmB;EACnBC,wBAAwB,EAAxBA;AACF,CAAC","ignoreList":[]}
|
|
@@ -17,11 +17,13 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
17
17
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
18
|
const TabViewNavigator = ({
|
|
19
19
|
HeaderComponent,
|
|
20
|
+
TopComponent,
|
|
20
21
|
TabBarComponent = _TabBarBaseComponent.TabBarBaseComponent,
|
|
21
22
|
children,
|
|
22
23
|
config,
|
|
23
24
|
initialRouteName,
|
|
24
|
-
screenOptions = {}
|
|
25
|
+
screenOptions = {},
|
|
26
|
+
bounces
|
|
25
27
|
}) => {
|
|
26
28
|
const {
|
|
27
29
|
NavigationContent,
|
|
@@ -50,8 +52,8 @@ const TabViewNavigator = ({
|
|
|
50
52
|
index: state.index,
|
|
51
53
|
routes: state.routes.map((route, index) => {
|
|
52
54
|
const restOptions = (0, _lodash.omit)(descriptors[route.key]?.options, 'tabBarLabel');
|
|
53
|
-
const tabBarLabel = descriptors[route.key]?.options.tabBarLabel ?
|
|
54
|
-
focused
|
|
55
|
+
const tabBarLabel = descriptors[route.key]?.options.tabBarLabel ? focused => descriptors[route.key]?.options.tabBarLabel?.({
|
|
56
|
+
focused,
|
|
55
57
|
title: descriptors[route.key]?.options.title || route.name,
|
|
56
58
|
index
|
|
57
59
|
}) : undefined;
|
|
@@ -72,26 +74,28 @@ const TabViewNavigator = ({
|
|
|
72
74
|
children: ({
|
|
73
75
|
headerHeight,
|
|
74
76
|
transformationY
|
|
75
|
-
}) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
76
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
77
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(NavigationContent, {
|
|
78
|
+
children: [TopComponent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(TopComponent, {
|
|
79
|
+
transformationY: transformationY
|
|
80
|
+
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GestureWrapper.GestureWrapper, {
|
|
81
|
+
bounces: bounces,
|
|
82
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
83
|
+
onLayout: ({
|
|
84
|
+
nativeEvent
|
|
85
|
+
}) => {
|
|
86
|
+
headerHeight.value = nativeEvent.layout.height;
|
|
87
|
+
},
|
|
88
|
+
children: HeaderComponent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(HeaderComponent, {
|
|
89
|
+
headerHeight: headerHeight,
|
|
90
|
+
transformationY: transformationY
|
|
91
|
+
}) : null
|
|
92
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ReanimatedTabView.ReanimatedTabView, {
|
|
93
|
+
navigationState: navigationState,
|
|
94
|
+
navigate: navigate,
|
|
95
|
+
renderScene: renderScene,
|
|
96
|
+
renderTabBar: TabBarComponent,
|
|
97
|
+
screenOptions: screenOptions
|
|
98
|
+
})]
|
|
95
99
|
})]
|
|
96
100
|
})
|
|
97
101
|
});
|
|
@@ -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","navigate","index","route","dispatch","TabActions","jumpTo","name","navigationState","useMemo","restOptions","omit","key","options","tabBarLabel","focused","title","undefined","renderScene","render","jsx","Provider","headerHeight","transformationY","jsxs","
|
|
1
|
+
{"version":3,"names":["_native","require","_GestureWrapper","_TabBarBaseComponent","_Context","_lodash","_react","_reactNativeReanimated","_interopRequireDefault","_ReanimatedTabView","_Context2","_jsxRuntime","e","__esModule","default","TabViewNavigator","HeaderComponent","TopComponent","TabBarComponent","TabBarBaseComponent","children","config","initialRouteName","screenOptions","bounces","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","GestureWrapper","View","onLayout","nativeEvent","value","layout","height","ReanimatedTabView","renderTabBar","createReanimatedTopTabNavigator","createNavigatorFactory","exports"],"sourceRoot":"../../../src","sources":["navigator/createReanimatedTopTabNavigator.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ReanimatedTopTabNavigation","exports"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["ReanimatedTopTabNavigation","exports"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;;;;;IAaiBA,0BAA0B,GAAAC,OAAA,CAAAD,0BAAA","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { withTiming
|
|
3
|
+
import { withTiming } from 'react-native-reanimated';
|
|
4
4
|
const onChange = (event, animationValue, width, navigationState) => {
|
|
5
5
|
'worklet';
|
|
6
6
|
|
|
@@ -16,51 +16,46 @@ const onChange = (event, animationValue, width, navigationState) => {
|
|
|
16
16
|
const getIndex = (navigationState, type) => {
|
|
17
17
|
'worklet';
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
const max = navigationState.size - 1;
|
|
20
|
+
const current = navigationState.index;
|
|
21
|
+
if (type === 'increment' && current < max) {
|
|
22
|
+
return current + 1;
|
|
21
23
|
}
|
|
22
|
-
|
|
24
|
+
if (type === 'decrement' && current > 0) {
|
|
25
|
+
return current - 1;
|
|
26
|
+
}
|
|
27
|
+
return current;
|
|
23
28
|
};
|
|
24
29
|
const onEnd = (event, minimumValueToChangeView, width, navigationState) => {
|
|
25
30
|
'worklet';
|
|
26
31
|
|
|
27
|
-
|
|
32
|
+
const {
|
|
33
|
+
velocityX,
|
|
34
|
+
translationX
|
|
35
|
+
} = event;
|
|
36
|
+
if (velocityX < -200 || translationX < -minimumValueToChangeView) {
|
|
37
|
+
const newIndex = getIndex(navigationState, 'increment');
|
|
28
38
|
return {
|
|
29
|
-
index:
|
|
30
|
-
value: -width *
|
|
39
|
+
index: newIndex,
|
|
40
|
+
value: -width * newIndex
|
|
31
41
|
};
|
|
32
42
|
}
|
|
33
|
-
if (
|
|
43
|
+
if (velocityX > 200 || translationX > minimumValueToChangeView) {
|
|
44
|
+
const newIndex = getIndex(navigationState, 'decrement');
|
|
34
45
|
return {
|
|
35
|
-
index:
|
|
36
|
-
value: -width *
|
|
46
|
+
index: newIndex,
|
|
47
|
+
value: -width * newIndex
|
|
37
48
|
};
|
|
38
49
|
}
|
|
39
|
-
if (event.translationX < 0) {
|
|
40
|
-
if (event.translationX < -minimumValueToChangeView) {
|
|
41
|
-
return {
|
|
42
|
-
index: getIndex(navigationState, 'increment'),
|
|
43
|
-
value: -width * (navigationState.index + 1)
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
if (event.translationX > 0) {
|
|
48
|
-
if (event.translationX > minimumValueToChangeView) {
|
|
49
|
-
return {
|
|
50
|
-
index: getIndex(navigationState, 'decrement'),
|
|
51
|
-
value: -width * (navigationState.index - 1)
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
50
|
return {
|
|
56
51
|
index: navigationState.index,
|
|
57
52
|
value: -width * navigationState.index
|
|
58
53
|
};
|
|
59
54
|
};
|
|
60
|
-
const animation = (newValue, duration =
|
|
55
|
+
const animation = (newValue, duration = 350) => {
|
|
61
56
|
'worklet';
|
|
62
57
|
|
|
63
|
-
return
|
|
58
|
+
return withTiming(newValue, {
|
|
64
59
|
duration
|
|
65
60
|
});
|
|
66
61
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["withTiming","
|
|
1
|
+
{"version":3,"names":["withTiming","onChange","event","animationValue","width","navigationState","routesLength","size","changeX","getIndex","type","max","current","index","onEnd","minimumValueToChangeView","velocityX","translationX","newIndex","value","animation","newValue","duration","AnimationHelper"],"sourceRoot":"../../../../src","sources":["components/ReanimatedTopTab/AnimationHelper.ts"],"mappings":";;AAMA,SAASA,UAAU,QAAQ,yBAAyB;AAIpD,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,MAAMC,GAAG,GAAGN,eAAe,CAACE,IAAI,GAAG,CAAC;EACpC,MAAMK,OAAO,GAAGP,eAAe,CAACQ,KAAK;EAErC,IAAIH,IAAI,KAAK,WAAW,IAAIE,OAAO,GAAGD,GAAG,EAAE;IACzC,OAAOC,OAAO,GAAG,CAAC;EACpB;EAEA,IAAIF,IAAI,KAAK,WAAW,IAAIE,OAAO,GAAG,CAAC,EAAE;IACvC,OAAOA,OAAO,GAAG,CAAC;EACpB;EAEA,OAAOA,OAAO;AAChB,CAAC;AAED,MAAME,KAAK,GAAGA,CACZZ,KAA6D,EAC7Da,wBAAgC,EAChCX,KAAa,EACbC,eAAgC,KAC7B;EACH,SAAS;;EACT,MAAM;IAAEW,SAAS;IAAEC;EAAa,CAAC,GAAGf,KAAK;EAEzC,IAAIc,SAAS,GAAG,CAAC,GAAG,IAAIC,YAAY,GAAG,CAACF,wBAAwB,EAAE;IAChE,MAAMG,QAAQ,GAAGT,QAAQ,CAACJ,eAAe,EAAE,WAAW,CAAC;IACvD,OAAO;MACLQ,KAAK,EAAEK,QAAQ;MACfC,KAAK,EAAE,CAACf,KAAK,GAAGc;IAClB,CAAC;EACH;EACA,IAAIF,SAAS,GAAG,GAAG,IAAIC,YAAY,GAAGF,wBAAwB,EAAE;IAC9D,MAAMG,QAAQ,GAAGT,QAAQ,CAACJ,eAAe,EAAE,WAAW,CAAC;IACvD,OAAO;MACLQ,KAAK,EAAEK,QAAQ;MACfC,KAAK,EAAE,CAACf,KAAK,GAAGc;IAClB,CAAC;EACH;EACA,OAAO;IACLL,KAAK,EAAER,eAAe,CAACQ,KAAK;IAC5BM,KAAK,EAAE,CAACf,KAAK,GAAGC,eAAe,CAACQ;EAClC,CAAC;AACH,CAAC;AAED,MAAMO,SAAS,GAAGA,CAACC,QAAgB,EAAEC,QAAQ,GAAG,GAAG,KAAK;EACtD,SAAS;;EACT,OAAOtB,UAAU,CAACqB,QAAQ,EAAE;IAAEC;EAAS,CAAC,CAAC;AAC3C,CAAC;AAED,OAAO,MAAMC,eAAe,GAAG;EAC7BH,SAAS;EACTnB,QAAQ;EACRa;AACF,CAAC","ignoreList":[]}
|