react-navigation-reanimated-top-tabs 0.2.0 → 0.4.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/README.md +5 -17
- package/lib/commonjs/components/ReanimatedTopTab/ReanimatedTabView.js +5 -3
- package/lib/commonjs/components/ReanimatedTopTab/ReanimatedTabView.js.map +1 -1
- package/lib/commonjs/components/elements/TabBarBaseComponent.js +6 -5
- package/lib/commonjs/components/elements/TabBarBaseComponent.js.map +1 -1
- package/lib/commonjs/components/elements/TabBarLabelBaseComponent.js +2 -4
- package/lib/commonjs/components/elements/TabBarLabelBaseComponent.js.map +1 -1
- package/lib/commonjs/components/wrappers/GestureWrapper.js +18 -26
- package/lib/commonjs/components/wrappers/GestureWrapper.js.map +1 -1
- package/lib/commonjs/components/wrappers/ScreenWrapper.js +4 -4
- package/lib/commonjs/components/wrappers/ScreenWrapper.js.map +1 -1
- package/lib/commonjs/components/wrappers/ScrollView.js +27 -16
- package/lib/commonjs/components/wrappers/ScrollView.js.map +1 -1
- package/lib/commonjs/context/Context.helpers.js +19 -0
- package/lib/commonjs/context/Context.helpers.js.map +1 -0
- package/lib/commonjs/context/Context.hooks.js +216 -0
- package/lib/commonjs/context/Context.hooks.js.map +1 -0
- package/lib/commonjs/context/Context.js +68 -0
- package/lib/commonjs/context/Context.js.map +1 -0
- package/lib/commonjs/hooks/useHeader.js +30 -0
- package/lib/commonjs/hooks/useHeader.js.map +1 -0
- package/lib/commonjs/hooks/useScreenGesture.js +21 -0
- package/lib/commonjs/hooks/useScreenGesture.js.map +1 -0
- package/lib/commonjs/hooks/useScreenProperties.js +21 -0
- package/lib/commonjs/hooks/useScreenProperties.js.map +1 -0
- package/lib/commonjs/hooks/useScreenScrollable.js +64 -0
- package/lib/commonjs/hooks/useScreenScrollable.js.map +1 -0
- package/lib/commonjs/hooks/useTabContext.js +11 -0
- package/lib/commonjs/hooks/useTabContext.js.map +1 -0
- package/lib/commonjs/hooks/useTabOffset.js +18 -0
- package/lib/commonjs/hooks/useTabOffset.js.map +1 -0
- package/lib/commonjs/index.js +34 -80
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/navigator/createReanimatedTopTabNavigator.js +14 -29
- package/lib/commonjs/navigator/createReanimatedTopTabNavigator.js.map +1 -1
- package/lib/commonjs/services/Warning.service.js +16 -0
- package/lib/commonjs/services/Warning.service.js.map +1 -0
- package/lib/module/components/ReanimatedTopTab/ReanimatedTabView.js +8 -6
- package/lib/module/components/ReanimatedTopTab/ReanimatedTabView.js.map +1 -1
- package/lib/module/components/elements/TabBarBaseComponent.js +5 -4
- package/lib/module/components/elements/TabBarBaseComponent.js.map +1 -1
- package/lib/module/components/elements/TabBarLabelBaseComponent.js +2 -4
- package/lib/module/components/elements/TabBarLabelBaseComponent.js.map +1 -1
- package/lib/module/components/wrappers/GestureWrapper.js +18 -27
- package/lib/module/components/wrappers/GestureWrapper.js.map +1 -1
- package/lib/module/components/wrappers/ScreenWrapper.js +3 -3
- package/lib/module/components/wrappers/ScreenWrapper.js.map +1 -1
- package/lib/module/components/wrappers/ScrollView.js +23 -12
- package/lib/module/components/wrappers/ScrollView.js.map +1 -1
- package/lib/module/context/Context.helpers.js +15 -0
- package/lib/module/context/Context.helpers.js.map +1 -0
- package/lib/module/context/Context.hooks.js +213 -0
- package/lib/module/context/Context.hooks.js.map +1 -0
- package/lib/module/context/Context.js +64 -0
- package/lib/module/context/Context.js.map +1 -0
- package/lib/module/hooks/useHeader.js +25 -0
- package/lib/module/hooks/useHeader.js.map +1 -0
- package/lib/module/hooks/useScreenGesture.js +16 -0
- package/lib/module/hooks/useScreenGesture.js.map +1 -0
- package/lib/module/hooks/useScreenProperties.js +16 -0
- package/lib/module/hooks/useScreenProperties.js.map +1 -0
- package/lib/module/hooks/useScreenScrollable.js +57 -0
- package/lib/module/hooks/useScreenScrollable.js.map +1 -0
- package/lib/module/hooks/useTabContext.js +6 -0
- package/lib/module/hooks/useTabContext.js.map +1 -0
- package/lib/module/hooks/useTabOffset.js +12 -0
- package/lib/module/hooks/useTabOffset.js.map +1 -0
- package/lib/module/index.js +33 -8
- package/lib/module/index.js.map +1 -1
- package/lib/module/navigator/createReanimatedTopTabNavigator.js +13 -27
- package/lib/module/navigator/createReanimatedTopTabNavigator.js.map +1 -1
- package/lib/module/services/Warning.service.js +12 -0
- package/lib/module/services/Warning.service.js.map +1 -0
- package/lib/typescript/src/components/ReanimatedTopTab/AnimationHelper.d.ts.map +1 -0
- package/lib/typescript/src/components/ReanimatedTopTab/ReanimatedTabView.d.ts.map +1 -0
- package/lib/typescript/src/components/ReanimatedTopTab/types.d.ts.map +1 -0
- package/lib/typescript/{module/src → src}/components/elements/TabBarBaseComponent.d.ts +1 -2
- package/lib/typescript/src/components/elements/TabBarBaseComponent.d.ts.map +1 -0
- package/lib/typescript/{commonjs/src → src}/components/elements/TabBarLabelBaseComponent.d.ts +1 -2
- package/lib/typescript/src/components/elements/TabBarLabelBaseComponent.d.ts.map +1 -0
- package/lib/typescript/src/components/wrappers/GestureWrapper.d.ts +7 -0
- package/lib/typescript/src/components/wrappers/GestureWrapper.d.ts.map +1 -0
- package/lib/typescript/src/components/wrappers/ScreenWrapper.d.ts.map +1 -0
- package/lib/typescript/src/components/wrappers/ScrollView.d.ts +5 -0
- package/lib/typescript/src/components/wrappers/ScrollView.d.ts.map +1 -0
- package/lib/typescript/{commonjs/src/context/TopTabContext.d.ts → src/context/Context.d.ts} +2 -2
- package/lib/typescript/src/context/Context.d.ts.map +1 -0
- package/lib/typescript/src/context/Context.helpers.d.ts +4 -0
- package/lib/typescript/src/context/Context.helpers.d.ts.map +1 -0
- package/lib/typescript/src/context/Context.hooks.d.ts +15 -0
- package/lib/typescript/src/context/Context.hooks.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useHeader.d.ts +10 -0
- package/lib/typescript/src/hooks/useHeader.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useScreenGesture.d.ts +2 -0
- package/lib/typescript/src/hooks/useScreenGesture.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useScreenProperties.d.ts +10 -0
- package/lib/typescript/src/hooks/useScreenProperties.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useScreenScrollable.d.ts +14 -0
- package/lib/typescript/src/hooks/useScreenScrollable.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useTabContext.d.ts +2 -0
- package/lib/typescript/src/hooks/useTabContext.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useTabOffset.d.ts +2 -0
- package/lib/typescript/src/hooks/useTabOffset.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +45 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/navigator/createReanimatedTopTabNavigator.d.ts.map +1 -0
- package/lib/typescript/src/services/Warning.service.d.ts +5 -0
- package/lib/typescript/src/services/Warning.service.d.ts.map +1 -0
- package/lib/typescript/{module/src → src}/types.d.ts +24 -17
- package/lib/typescript/src/types.d.ts.map +1 -0
- package/package.json +24 -38
- package/src/components/ReanimatedTopTab/ReanimatedTabView.tsx +7 -6
- package/src/components/elements/TabBarBaseComponent.tsx +7 -3
- package/src/components/elements/TabBarLabelBaseComponent.tsx +4 -3
- package/src/components/wrappers/GestureWrapper.tsx +27 -29
- package/src/components/wrappers/ScreenWrapper.tsx +4 -3
- package/src/components/wrappers/ScrollView.tsx +33 -19
- package/src/context/Context.helpers.tsx +10 -0
- package/src/context/Context.hooks.ts +253 -0
- package/src/context/Context.tsx +69 -0
- package/src/hooks/useHeader.ts +30 -0
- package/src/hooks/useScreenGesture.ts +13 -0
- package/src/hooks/useScreenProperties.ts +11 -0
- package/src/hooks/useScreenScrollable.ts +69 -0
- package/src/hooks/useTabContext.ts +4 -0
- package/src/hooks/useTabOffset.ts +8 -0
- package/src/index.tsx +34 -10
- package/src/navigator/createReanimatedTopTabNavigator.tsx +8 -32
- package/src/services/Warning.service.ts +11 -0
- package/src/types.ts +23 -19
- package/lib/commonjs/context/TopTabContext.hooks.js +0 -48
- package/lib/commonjs/context/TopTabContext.hooks.js.map +0 -1
- package/lib/commonjs/context/TopTabContext.js +0 -86
- package/lib/commonjs/context/TopTabContext.js.map +0 -1
- package/lib/commonjs/hooks/TopTab.hooks.js +0 -120
- package/lib/commonjs/hooks/TopTab.hooks.js.map +0 -1
- package/lib/module/context/TopTabContext.hooks.js +0 -44
- package/lib/module/context/TopTabContext.hooks.js.map +0 -1
- package/lib/module/context/TopTabContext.js +0 -82
- package/lib/module/context/TopTabContext.js.map +0 -1
- package/lib/module/hooks/TopTab.hooks.js +0 -110
- package/lib/module/hooks/TopTab.hooks.js.map +0 -1
- package/lib/typescript/commonjs/src/components/ReanimatedTopTab/AnimationHelper.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/components/ReanimatedTopTab/ReanimatedTabView.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/components/ReanimatedTopTab/types.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/components/elements/TabBarBaseComponent.d.ts +0 -24
- package/lib/typescript/commonjs/src/components/elements/TabBarBaseComponent.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/components/elements/TabBarLabelBaseComponent.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/components/wrappers/GestureWrapper.d.ts +0 -2
- package/lib/typescript/commonjs/src/components/wrappers/GestureWrapper.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/components/wrappers/ScreenWrapper.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/components/wrappers/ScrollView.d.ts +0 -6
- package/lib/typescript/commonjs/src/components/wrappers/ScrollView.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/context/TopTabContext.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/context/TopTabContext.hooks.d.ts +0 -5
- package/lib/typescript/commonjs/src/context/TopTabContext.hooks.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/hooks/TopTab.hooks.d.ts +0 -33
- package/lib/typescript/commonjs/src/hooks/TopTab.hooks.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/index.d.ts +0 -10
- package/lib/typescript/commonjs/src/index.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/navigator/createReanimatedTopTabNavigator.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/types.d.ts +0 -56
- package/lib/typescript/commonjs/src/types.d.ts.map +0 -1
- package/lib/typescript/module/src/components/ReanimatedTopTab/AnimationHelper.d.ts +0 -11
- package/lib/typescript/module/src/components/ReanimatedTopTab/AnimationHelper.d.ts.map +0 -1
- package/lib/typescript/module/src/components/ReanimatedTopTab/ReanimatedTabView.d.ts +0 -14
- package/lib/typescript/module/src/components/ReanimatedTopTab/ReanimatedTabView.d.ts.map +0 -1
- package/lib/typescript/module/src/components/ReanimatedTopTab/types.d.ts +0 -30
- package/lib/typescript/module/src/components/ReanimatedTopTab/types.d.ts.map +0 -1
- package/lib/typescript/module/src/components/elements/TabBarBaseComponent.d.ts.map +0 -1
- package/lib/typescript/module/src/components/elements/TabBarLabelBaseComponent.d.ts +0 -8
- package/lib/typescript/module/src/components/elements/TabBarLabelBaseComponent.d.ts.map +0 -1
- package/lib/typescript/module/src/components/wrappers/GestureWrapper.d.ts +0 -2
- package/lib/typescript/module/src/components/wrappers/GestureWrapper.d.ts.map +0 -1
- package/lib/typescript/module/src/components/wrappers/ScreenWrapper.d.ts +0 -6
- package/lib/typescript/module/src/components/wrappers/ScreenWrapper.d.ts.map +0 -1
- package/lib/typescript/module/src/components/wrappers/ScrollView.d.ts +0 -6
- package/lib/typescript/module/src/components/wrappers/ScrollView.d.ts.map +0 -1
- package/lib/typescript/module/src/context/TopTabContext.d.ts +0 -4
- package/lib/typescript/module/src/context/TopTabContext.d.ts.map +0 -1
- package/lib/typescript/module/src/context/TopTabContext.hooks.d.ts +0 -5
- package/lib/typescript/module/src/context/TopTabContext.hooks.d.ts.map +0 -1
- package/lib/typescript/module/src/hooks/TopTab.hooks.d.ts +0 -33
- package/lib/typescript/module/src/hooks/TopTab.hooks.d.ts.map +0 -1
- package/lib/typescript/module/src/index.d.ts +0 -10
- package/lib/typescript/module/src/index.d.ts.map +0 -1
- package/lib/typescript/module/src/navigator/createReanimatedTopTabNavigator.d.ts +0 -4
- package/lib/typescript/module/src/navigator/createReanimatedTopTabNavigator.d.ts.map +0 -1
- package/lib/typescript/module/src/types.d.ts.map +0 -1
- package/src/context/TopTabContext.hooks.ts +0 -55
- package/src/context/TopTabContext.tsx +0 -115
- package/src/hooks/TopTab.hooks.ts +0 -112
- /package/lib/{typescript/commonjs → commonjs}/package.json +0 -0
- /package/lib/{typescript/module → module}/package.json +0 -0
- /package/lib/typescript/{commonjs/src → src}/components/ReanimatedTopTab/AnimationHelper.d.ts +0 -0
- /package/lib/typescript/{commonjs/src → src}/components/ReanimatedTopTab/ReanimatedTabView.d.ts +0 -0
- /package/lib/typescript/{commonjs/src → src}/components/ReanimatedTopTab/types.d.ts +0 -0
- /package/lib/typescript/{commonjs/src → src}/components/wrappers/ScreenWrapper.d.ts +0 -0
- /package/lib/typescript/{commonjs/src → src}/navigator/createReanimatedTopTabNavigator.d.ts +0 -0
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { type ReanimatedTopTabNavigation } from '../types';
|
|
2
|
-
import { createContext, memo, useRef } from 'react';
|
|
3
|
-
import { Gesture } from 'react-native-gesture-handler';
|
|
4
|
-
import {
|
|
5
|
-
interpolate,
|
|
6
|
-
useAnimatedReaction,
|
|
7
|
-
useDerivedValue,
|
|
8
|
-
useSharedValue,
|
|
9
|
-
} from 'react-native-reanimated';
|
|
10
|
-
import { useScreenRefs } from '../hooks/TopTab.hooks';
|
|
11
|
-
import { TopTabContextHooks } from './TopTabContext.hooks';
|
|
12
|
-
|
|
13
|
-
export const Context = createContext<ReanimatedTopTabNavigation.ContextType>(
|
|
14
|
-
{} as ReanimatedTopTabNavigation.ContextType
|
|
15
|
-
);
|
|
16
|
-
|
|
17
|
-
export const Provider = memo(
|
|
18
|
-
({
|
|
19
|
-
children,
|
|
20
|
-
config,
|
|
21
|
-
screenProperties,
|
|
22
|
-
}: ReanimatedTopTabNavigation.TopTabContextProps) => {
|
|
23
|
-
const transformationY = useSharedValue(0);
|
|
24
|
-
const transformationX = useSharedValue(0);
|
|
25
|
-
const currentYPosition = useSharedValue(0);
|
|
26
|
-
|
|
27
|
-
const gestureEnabled = useSharedValue(true);
|
|
28
|
-
const currentScreenIndex = useSharedValue(0);
|
|
29
|
-
|
|
30
|
-
const navHeight = useSharedValue(0);
|
|
31
|
-
const headerHeight = useSharedValue(0);
|
|
32
|
-
const closeOffset = useSharedValue(0);
|
|
33
|
-
const topTabHeight = useSharedValue(0);
|
|
34
|
-
|
|
35
|
-
const topTapNativeRef = useRef(Gesture.Native()).current;
|
|
36
|
-
const screenRefs = useScreenRefs(Object.keys(screenProperties));
|
|
37
|
-
|
|
38
|
-
//Hide header base on config
|
|
39
|
-
const inputRange = useDerivedValue(
|
|
40
|
-
() => config.map((_, idx) => idx),
|
|
41
|
-
[config]
|
|
42
|
-
);
|
|
43
|
-
|
|
44
|
-
const outputRange = useDerivedValue(
|
|
45
|
-
() =>
|
|
46
|
-
config.map((type) => {
|
|
47
|
-
switch (type) {
|
|
48
|
-
case 'normal':
|
|
49
|
-
return 0;
|
|
50
|
-
case 'minimalized':
|
|
51
|
-
return -headerHeight.value;
|
|
52
|
-
default:
|
|
53
|
-
return 0;
|
|
54
|
-
}
|
|
55
|
-
}),
|
|
56
|
-
[config]
|
|
57
|
-
);
|
|
58
|
-
|
|
59
|
-
useAnimatedReaction(
|
|
60
|
-
() => transformationX.value,
|
|
61
|
-
(value) => {
|
|
62
|
-
if (currentYPosition.value === -headerHeight.value) return;
|
|
63
|
-
transformationY.value = interpolate(
|
|
64
|
-
value,
|
|
65
|
-
inputRange.value,
|
|
66
|
-
outputRange.value,
|
|
67
|
-
'clamp'
|
|
68
|
-
);
|
|
69
|
-
}
|
|
70
|
-
);
|
|
71
|
-
|
|
72
|
-
TopTabContextHooks.useResetApproachingScreenScrollOffset({
|
|
73
|
-
screenRefs,
|
|
74
|
-
currentYPosition,
|
|
75
|
-
screenProperties,
|
|
76
|
-
transformationX,
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
return (
|
|
80
|
-
<Context.Provider
|
|
81
|
-
value={{
|
|
82
|
-
closeOffset,
|
|
83
|
-
config,
|
|
84
|
-
currentScreenIndex,
|
|
85
|
-
currentYPosition,
|
|
86
|
-
gestureEnabled,
|
|
87
|
-
headerHeight,
|
|
88
|
-
navHeight,
|
|
89
|
-
screenProperties,
|
|
90
|
-
topTabHeight,
|
|
91
|
-
topTapNativeRef,
|
|
92
|
-
transformationX,
|
|
93
|
-
transformationY,
|
|
94
|
-
screenRefs,
|
|
95
|
-
}}
|
|
96
|
-
>
|
|
97
|
-
{children({
|
|
98
|
-
screenRefs,
|
|
99
|
-
closeOffset,
|
|
100
|
-
config,
|
|
101
|
-
currentScreenIndex,
|
|
102
|
-
currentYPosition,
|
|
103
|
-
gestureEnabled,
|
|
104
|
-
headerHeight,
|
|
105
|
-
navHeight,
|
|
106
|
-
screenProperties,
|
|
107
|
-
topTabHeight,
|
|
108
|
-
topTapNativeRef,
|
|
109
|
-
transformationX,
|
|
110
|
-
transformationY,
|
|
111
|
-
})}
|
|
112
|
-
</Context.Provider>
|
|
113
|
-
);
|
|
114
|
-
}
|
|
115
|
-
);
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { useRoute } from '@react-navigation/native';
|
|
2
|
-
import { Context } from '../context/TopTabContext';
|
|
3
|
-
import { useContext } from 'react';
|
|
4
|
-
import {
|
|
5
|
-
useAnimatedProps,
|
|
6
|
-
useAnimatedScrollHandler,
|
|
7
|
-
useAnimatedStyle,
|
|
8
|
-
useDerivedValue,
|
|
9
|
-
withTiming,
|
|
10
|
-
} from 'react-native-reanimated';
|
|
11
|
-
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
12
|
-
import { useWindowDimensions } from 'react-native';
|
|
13
|
-
|
|
14
|
-
export const useTabContext = () => useContext(Context);
|
|
15
|
-
|
|
16
|
-
export const useScreenGesture = () => {
|
|
17
|
-
const { key } = useRoute();
|
|
18
|
-
const { screenProperties } = useTabContext();
|
|
19
|
-
|
|
20
|
-
const nativeRef = screenProperties[key]?.nativeGesture;
|
|
21
|
-
|
|
22
|
-
if (!nativeRef) throw 'GestureRef does not exist for this route';
|
|
23
|
-
|
|
24
|
-
return nativeRef;
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
export const useScreenScrollable = () => {
|
|
28
|
-
const { key } = useRoute();
|
|
29
|
-
const { height } = useWindowDimensions();
|
|
30
|
-
const { bottom } = useSafeAreaInsets();
|
|
31
|
-
const {
|
|
32
|
-
currentYPosition,
|
|
33
|
-
gestureEnabled,
|
|
34
|
-
headerHeight,
|
|
35
|
-
screenProperties,
|
|
36
|
-
topTabHeight,
|
|
37
|
-
transformationY,
|
|
38
|
-
} = useTabContext();
|
|
39
|
-
|
|
40
|
-
//TODO: Navigation header hook is available if Tabs are rendered inside the Stack (createNavigationStack())
|
|
41
|
-
//useHeaderHeight();
|
|
42
|
-
const navigationHeader = 50;
|
|
43
|
-
|
|
44
|
-
const animatedProps = useAnimatedProps(() => ({
|
|
45
|
-
scrollEnabled:
|
|
46
|
-
!gestureEnabled.value || currentYPosition.value === -headerHeight.value,
|
|
47
|
-
}));
|
|
48
|
-
|
|
49
|
-
const onScroll = useAnimatedScrollHandler(({ contentOffset }) => {
|
|
50
|
-
const scrollPosition = screenProperties[key]?.scrollY;
|
|
51
|
-
if (!scrollPosition)
|
|
52
|
-
throw 'ScrollPosition property does not exist for this route';
|
|
53
|
-
scrollPosition.value = contentOffset.y;
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
const oppositeHeaderState = useDerivedValue(() =>
|
|
57
|
-
transformationY.value >= 0 ? headerHeight.value : 0
|
|
58
|
-
);
|
|
59
|
-
|
|
60
|
-
const style = useAnimatedStyle(() => ({
|
|
61
|
-
minHeight:
|
|
62
|
-
height -
|
|
63
|
-
topTabHeight.value -
|
|
64
|
-
oppositeHeaderState.value -
|
|
65
|
-
navigationHeader,
|
|
66
|
-
}));
|
|
67
|
-
|
|
68
|
-
return {
|
|
69
|
-
animatedProps,
|
|
70
|
-
bounces: false,
|
|
71
|
-
contentContainerStyle: { paddingBottom: bottom },
|
|
72
|
-
onScroll,
|
|
73
|
-
style,
|
|
74
|
-
};
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
export const useScreenProperties = () => {
|
|
78
|
-
const { key } = useRoute();
|
|
79
|
-
const { screenProperties } = useTabContext();
|
|
80
|
-
const screen = screenProperties[key];
|
|
81
|
-
if (!screen) throw 'No screen properties registered for this route';
|
|
82
|
-
|
|
83
|
-
return screen;
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
export const useHeader = () => {
|
|
87
|
-
const { headerHeight, transformationX } = useTabContext();
|
|
88
|
-
|
|
89
|
-
const hideHeader = () => {
|
|
90
|
-
transformationX.value = withTiming(-headerHeight.value);
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
return { hideHeader };
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
export const useScreenRefs = (keys: string[]) => {
|
|
97
|
-
const refs = {
|
|
98
|
-
current: keys.reduce(
|
|
99
|
-
(prev, key) => ({
|
|
100
|
-
...prev,
|
|
101
|
-
[key]: { current: null },
|
|
102
|
-
}),
|
|
103
|
-
{} as Record<string, { current: any }>
|
|
104
|
-
),
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
const setRef = (key: string, ref: any) => {
|
|
108
|
-
refs.current = { ...refs.current, [key]: ref };
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
return { setRef, refs };
|
|
112
|
-
};
|
|
File without changes
|
|
File without changes
|
/package/lib/typescript/{commonjs/src → src}/components/ReanimatedTopTab/AnimationHelper.d.ts
RENAMED
|
File without changes
|
/package/lib/typescript/{commonjs/src → src}/components/ReanimatedTopTab/ReanimatedTabView.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|