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
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ContextHooks = void 0;
|
|
7
|
+
var _reactNativeReanimated = require("react-native-reanimated");
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
10
|
+
var _lodash = require("lodash");
|
|
11
|
+
var _Context = require("./Context.helpers");
|
|
12
|
+
/**
|
|
13
|
+
* Hook to reset the scroll offset for the approaching screen in a tab navigation context.
|
|
14
|
+
*
|
|
15
|
+
* @param {Object} params - The parameters for configuring the scroll offset reset.
|
|
16
|
+
* @param {ReanimatedTopTabNavigation.ContextType["context"]} params.context - The context containing navigation and screen information.
|
|
17
|
+
* @param {ReanimatedTopTabNavigation.ContextType["transformationX"]} params.transformationX - The horizontal transformation value used in animations.
|
|
18
|
+
* @param {ReanimatedTopTabNavigation.ContextType["currentYPosition"]} params.currentYPosition - The current vertical scroll position.
|
|
19
|
+
*
|
|
20
|
+
* The hook is responsible for resetting the vertical scroll offset of the "approaching" screen within a tabbed navigation interface,
|
|
21
|
+
* ensuring a smooth user experience by resetting the scroll position to the top under certain conditions.
|
|
22
|
+
* When the user swipes across tabs, it checks if the approaching screen has a non-zero scroll offset and resets it
|
|
23
|
+
* if the current screen is at the top position.
|
|
24
|
+
*/
|
|
25
|
+
const useResetApproachingScreenScrollOffset = ({
|
|
26
|
+
context,
|
|
27
|
+
transformationX,
|
|
28
|
+
currentYPosition
|
|
29
|
+
}) => {
|
|
30
|
+
const screenOffsets = (0, _reactNativeReanimated.useDerivedValue)(() => Object.values(context.screen.properties).map(({
|
|
31
|
+
scrollY
|
|
32
|
+
}) => scrollY.value));
|
|
33
|
+
const resetApproachingScreenOffset = (index, shouldReset) => {
|
|
34
|
+
if (shouldReset) {
|
|
35
|
+
const {
|
|
36
|
+
scrollTo
|
|
37
|
+
} = context.screen.getRef(context.route.getKeyForIndex(index)).current ?? {
|
|
38
|
+
scrollTo: () => {}
|
|
39
|
+
};
|
|
40
|
+
//NOTE: use reanimated scrollTo does not work
|
|
41
|
+
scrollTo({
|
|
42
|
+
y: 0,
|
|
43
|
+
animated: false
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
(0, _reactNativeReanimated.useAnimatedReaction)(() => transformationX.value, (current, previous) => {
|
|
48
|
+
const approachingIndex = _Context.ContextHelpers.getTargetIndex(current, previous);
|
|
49
|
+
const approachingScreenOffset = screenOffsets.value[approachingIndex] ?? -1;
|
|
50
|
+
(0, _reactNativeReanimated.runOnJS)(resetApproachingScreenOffset)(approachingIndex, approachingScreenOffset > 0 && currentYPosition.value === 0);
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Custom hook to prepare a key map for Tab Navigation.
|
|
56
|
+
*
|
|
57
|
+
* @param {Object} params - The parameters for the hook.
|
|
58
|
+
* @param {TabNavigationState<any>} params.state - The navigation state object containing route information.
|
|
59
|
+
* @returns {ReanimatedTopTabNavigation.TopTabContextProps['context']['route']} An object containing:
|
|
60
|
+
* - map: A mapping of tab indices to route keys.
|
|
61
|
+
* - getKeyForIndex: A function that takes an index and returns the corresponding route key.
|
|
62
|
+
* @throws Will throw an error if the key for the provided index does not exist.
|
|
63
|
+
*/
|
|
64
|
+
const usePrepareKeyMap = ({
|
|
65
|
+
state
|
|
66
|
+
}) => {
|
|
67
|
+
const indexToKeyMap = (0, _react.useRef)(state.routes.reduce((previousValue, currentValue, currentIndex) => ({
|
|
68
|
+
...previousValue,
|
|
69
|
+
[currentIndex]: currentValue.key
|
|
70
|
+
}), {}));
|
|
71
|
+
const getKeyForIndex = index => {
|
|
72
|
+
const key = indexToKeyMap.current[index];
|
|
73
|
+
if (!key) throw '[getKeyForIndex]: Key does not exist';
|
|
74
|
+
return key;
|
|
75
|
+
};
|
|
76
|
+
return {
|
|
77
|
+
map: indexToKeyMap.current,
|
|
78
|
+
getKeyForIndex
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Prepares screen properties and manages scroll references for each route in the navigation state.
|
|
84
|
+
*
|
|
85
|
+
* @param {Object} params - The parameters for preparing the screen.
|
|
86
|
+
* @param {TabNavigationState<any>} params.state - The navigation state containing route information.
|
|
87
|
+
* @returns {Object} An object containing screen properties, and methods to set and get scroll references.
|
|
88
|
+
* @property {Object} properties - The current screen properties.
|
|
89
|
+
* @property {Function} setRef - Function to set the scroll reference for a specific route.
|
|
90
|
+
* @property {Function} getRef - Function to get the scroll reference of a specific route.
|
|
91
|
+
*/
|
|
92
|
+
const usePrepareScreen = ({
|
|
93
|
+
state
|
|
94
|
+
}) => {
|
|
95
|
+
const screenProperties = (0, _react.useRef)(state.routes.reduce((prev, route) => ({
|
|
96
|
+
...prev,
|
|
97
|
+
[route.key]: {
|
|
98
|
+
innerLayout: (0, _reactNativeReanimated.makeMutable)({
|
|
99
|
+
height: 0,
|
|
100
|
+
width: 0,
|
|
101
|
+
x: 0,
|
|
102
|
+
y: 0
|
|
103
|
+
}),
|
|
104
|
+
nativeGesture: _reactNativeGestureHandler.Gesture.Native(),
|
|
105
|
+
outerLayout: (0, _reactNativeReanimated.makeMutable)({
|
|
106
|
+
height: 0,
|
|
107
|
+
width: 0,
|
|
108
|
+
x: 0,
|
|
109
|
+
y: 0
|
|
110
|
+
}),
|
|
111
|
+
scrollY: (0, _reactNativeReanimated.makeMutable)(0),
|
|
112
|
+
scrollRef: {
|
|
113
|
+
current: null
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}), {}));
|
|
117
|
+
const setRef = (key, ref) => {
|
|
118
|
+
const newProperties = (0, _lodash.assign)({}, screenProperties.current[key], {
|
|
119
|
+
scrollRef: {
|
|
120
|
+
current: ref
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
screenProperties.current = (0, _lodash.assign)({}, screenProperties.current, {
|
|
124
|
+
[key]: newProperties
|
|
125
|
+
});
|
|
126
|
+
};
|
|
127
|
+
const getRef = key => {
|
|
128
|
+
const _ref = screenProperties.current[key]?.scrollRef;
|
|
129
|
+
if (!_ref) throw '[getRef]: Ref does not exist';
|
|
130
|
+
return _ref;
|
|
131
|
+
};
|
|
132
|
+
return {
|
|
133
|
+
properties: screenProperties.current,
|
|
134
|
+
setRef,
|
|
135
|
+
getRef
|
|
136
|
+
};
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Prepares the context required for top tab navigation.
|
|
141
|
+
*
|
|
142
|
+
* This function takes the current state of the navigation
|
|
143
|
+
* and prepares the necessary context properties such as `screen`
|
|
144
|
+
* and `route`, which are then used for navigation purposes.
|
|
145
|
+
*
|
|
146
|
+
* @param {Object} params - The parameters for preparing the context.
|
|
147
|
+
* @param {TabNavigationState<any>} params.state - The current state of the navigation.
|
|
148
|
+
*
|
|
149
|
+
* @returns {ReanimatedTopTabNavigation.TopTabContextProps['context']} The prepared context containing screen and route properties.
|
|
150
|
+
*/
|
|
151
|
+
const usePrepareContext = ({
|
|
152
|
+
state
|
|
153
|
+
}) => {
|
|
154
|
+
const screen = usePrepareScreen({
|
|
155
|
+
state
|
|
156
|
+
});
|
|
157
|
+
const route = usePrepareKeyMap({
|
|
158
|
+
state
|
|
159
|
+
});
|
|
160
|
+
return {
|
|
161
|
+
screen,
|
|
162
|
+
route
|
|
163
|
+
};
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Custom hook that handles the transformation of a header component based on tab changes, particularly
|
|
168
|
+
* for animations and configurations involving header behavior. Utilizes shared and derived values to
|
|
169
|
+
* manage the translation of the header on the Y-axis and maintain its position based on the specified
|
|
170
|
+
* configurations.
|
|
171
|
+
*
|
|
172
|
+
* @param {Object} params - The parameters object.
|
|
173
|
+
* @param {Array} params.config - An array of configuration settings to determine the header's transformation.
|
|
174
|
+
* @returns {Object} An object containing shared values for header transformations and positioning:
|
|
175
|
+
* - transformationY: The derived Y-axis transformation value for the header.
|
|
176
|
+
* - transformationX: The shared X-axis transformation value to be observed.
|
|
177
|
+
* - currentYPosition: The shared Y-axis position of the header.
|
|
178
|
+
* - headerHeight: The shared height value of the header.
|
|
179
|
+
*/
|
|
180
|
+
const useTransformHeaderOnTabChange = ({
|
|
181
|
+
config
|
|
182
|
+
}) => {
|
|
183
|
+
const headerHeight = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
184
|
+
const transformationY = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
185
|
+
const transformationX = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
186
|
+
const currentYPosition = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
187
|
+
|
|
188
|
+
//Hide header base on config
|
|
189
|
+
const inputRange = (0, _reactNativeReanimated.useDerivedValue)(() => config.map((_, idx) => idx), [config]);
|
|
190
|
+
const outputRange = (0, _reactNativeReanimated.useDerivedValue)(() => config.map(type => {
|
|
191
|
+
switch (type) {
|
|
192
|
+
case 'normal':
|
|
193
|
+
return 0;
|
|
194
|
+
case 'minimalized':
|
|
195
|
+
return -headerHeight.value;
|
|
196
|
+
default:
|
|
197
|
+
return 0;
|
|
198
|
+
}
|
|
199
|
+
}), [config]);
|
|
200
|
+
(0, _reactNativeReanimated.useAnimatedReaction)(() => transformationX.value, value => {
|
|
201
|
+
if (currentYPosition.value === -headerHeight.value) return;
|
|
202
|
+
transformationY.value = (0, _reactNativeReanimated.interpolate)(value, inputRange.value, outputRange.value, 'clamp');
|
|
203
|
+
});
|
|
204
|
+
return {
|
|
205
|
+
transformationY,
|
|
206
|
+
transformationX,
|
|
207
|
+
currentYPosition,
|
|
208
|
+
headerHeight
|
|
209
|
+
};
|
|
210
|
+
};
|
|
211
|
+
const ContextHooks = exports.ContextHooks = {
|
|
212
|
+
useResetApproachingScreenScrollOffset,
|
|
213
|
+
usePrepareContext,
|
|
214
|
+
useTransformHeaderOnTabChange
|
|
215
|
+
};
|
|
216
|
+
//# sourceMappingURL=Context.hooks.js.map
|
|
@@ -0,0 +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","transformationY","inputRange","_","idx","outputRange","type","interpolate","ContextHooks","exports"],"sourceRoot":"../../../src","sources":["context/Context.hooks.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Provider = exports.Context = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
9
|
+
var _reactNativeReanimated = require("react-native-reanimated");
|
|
10
|
+
var _Context = require("./Context.hooks");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
const Context = exports.Context = /*#__PURE__*/(0, _react.createContext)({});
|
|
13
|
+
const Provider = exports.Provider = /*#__PURE__*/(0, _react.memo)(({
|
|
14
|
+
children,
|
|
15
|
+
config,
|
|
16
|
+
context
|
|
17
|
+
}) => {
|
|
18
|
+
const gestureEnabled = (0, _reactNativeReanimated.useSharedValue)(true);
|
|
19
|
+
const currentScreenIndex = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
20
|
+
const navHeight = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
21
|
+
const closeOffset = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
22
|
+
const topTabHeight = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
23
|
+
const topTabNativeGesture = (0, _react.useRef)(_reactNativeGestureHandler.Gesture.Native()).current;
|
|
24
|
+
const {
|
|
25
|
+
transformationX,
|
|
26
|
+
transformationY,
|
|
27
|
+
currentYPosition,
|
|
28
|
+
headerHeight
|
|
29
|
+
} = _Context.ContextHooks.useTransformHeaderOnTabChange({
|
|
30
|
+
config
|
|
31
|
+
});
|
|
32
|
+
_Context.ContextHooks.useResetApproachingScreenScrollOffset({
|
|
33
|
+
currentYPosition,
|
|
34
|
+
transformationX,
|
|
35
|
+
context
|
|
36
|
+
});
|
|
37
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Context.Provider, {
|
|
38
|
+
value: {
|
|
39
|
+
closeOffset,
|
|
40
|
+
config,
|
|
41
|
+
currentScreenIndex,
|
|
42
|
+
currentYPosition,
|
|
43
|
+
gestureEnabled,
|
|
44
|
+
headerHeight,
|
|
45
|
+
navHeight,
|
|
46
|
+
topTabHeight,
|
|
47
|
+
topTabNativeGesture,
|
|
48
|
+
transformationX,
|
|
49
|
+
transformationY,
|
|
50
|
+
context
|
|
51
|
+
},
|
|
52
|
+
children: children({
|
|
53
|
+
closeOffset,
|
|
54
|
+
config,
|
|
55
|
+
currentScreenIndex,
|
|
56
|
+
currentYPosition,
|
|
57
|
+
gestureEnabled,
|
|
58
|
+
headerHeight,
|
|
59
|
+
navHeight,
|
|
60
|
+
topTabHeight,
|
|
61
|
+
topTabNativeGesture,
|
|
62
|
+
transformationX,
|
|
63
|
+
transformationY,
|
|
64
|
+
context
|
|
65
|
+
})
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
//# sourceMappingURL=Context.js.map
|
|
@@ -0,0 +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","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;IAAEC,eAAe;IAAEC,eAAe;IAAEC,gBAAgB;IAAEC;EAAa,CAAC,GACxEC,qBAAY,CAACC,6BAA6B,CAAC;IAAElB;EAAO,CAAC,CAAC;EAExDiB,qBAAY,CAACE,qCAAqC,CAAC;IACjDJ,gBAAgB;IAChBF,eAAe;IACfZ;EACF,CAAC,CAAC;EAEF,oBACE,IAAAR,WAAA,CAAA2B,GAAA,EAAC1B,OAAO,CAACG,QAAQ;IACfwB,KAAK,EAAE;MACLf,WAAW;MACXN,MAAM;MACNI,kBAAkB;MAClBW,gBAAgB;MAChBb,cAAc;MACdc,YAAY;MACZX,SAAS;MACTE,YAAY;MACZC,mBAAmB;MACnBK,eAAe;MACfC,eAAe;MACfb;IACF,CAAE;IAAAF,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;IACF,CAAC;EAAC,CACc,CAAC;AAEvB,CACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useHeader = void 0;
|
|
7
|
+
var _useTabContext = require("./useTabContext");
|
|
8
|
+
var _reactNativeReanimated = require("react-native-reanimated");
|
|
9
|
+
const useHeader = () => {
|
|
10
|
+
const {
|
|
11
|
+
headerHeight,
|
|
12
|
+
transformationX,
|
|
13
|
+
transformationY
|
|
14
|
+
} = (0, _useTabContext.useTabContext)();
|
|
15
|
+
const hideHeader = () => {
|
|
16
|
+
transformationX.value = (0, _reactNativeReanimated.withTiming)(-headerHeight.value);
|
|
17
|
+
};
|
|
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
|
+
return {
|
|
25
|
+
hideHeader,
|
|
26
|
+
defaultStyle
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
exports.useHeader = useHeader;
|
|
30
|
+
//# sourceMappingURL=useHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_useTabContext","require","_reactNativeReanimated","useHeader","headerHeight","transformationX","transformationY","useTabContext","hideHeader","value","withTiming","defaultStyle","useAnimatedStyle","transform","translateY","interpolate","zIndex","exports"],"sourceRoot":"../../../src","sources":["hooks/useHeader.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAMO,MAAME,SAAS,GAAGA,CAAA,KAAM;EAC7B,MAAM;IAAEC,YAAY;IAAEC,eAAe;IAAEC;EAAgB,CAAC,GAAG,IAAAC,4BAAa,EAAC,CAAC;EAE1E,MAAMC,UAAU,GAAGA,CAAA,KAAM;IACvBH,eAAe,CAACI,KAAK,GAAG,IAAAC,iCAAU,EAAC,CAACN,YAAY,CAACK,KAAK,CAAC;EACzD,CAAC;EAED,MAAME,YAAY,GAAG,IAAAC,uCAAgB,EAAC,OAAO;IAC3CC,SAAS,EAAE,CACT;MACEC,UAAU,EAAE,IAAAC,kCAAW,EACrBT,eAAe,CAACG,KAAK,EACrB,CAAC,CAAC,EAAE,CAACL,YAAY,CAACK,KAAK,CAAC,EACxB,CAAC,CAAC,EAAE,CAACL,YAAY,CAACK,KAAK,CAAC,EACxB,OACF;IACF,CAAC,CACF;IACDO,MAAM,EAAE,CAAC;EACX,CAAC,CAAC,CAAC;EAEH,OAAO;IAAER,UAAU;IAAEG;EAAa,CAAC;AACrC,CAAC;AAACM,OAAA,CAAAd,SAAA,GAAAA,SAAA","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useScreenGesture = void 0;
|
|
7
|
+
var _native = require("@react-navigation/native");
|
|
8
|
+
var _useTabContext = require("./useTabContext");
|
|
9
|
+
const useScreenGesture = () => {
|
|
10
|
+
const {
|
|
11
|
+
key
|
|
12
|
+
} = (0, _native.useRoute)();
|
|
13
|
+
const {
|
|
14
|
+
context
|
|
15
|
+
} = (0, _useTabContext.useTabContext)();
|
|
16
|
+
const nativeRef = context.screen.properties[key]?.nativeGesture;
|
|
17
|
+
if (!nativeRef) throw 'GestureRef does not exist for this route';
|
|
18
|
+
return nativeRef;
|
|
19
|
+
};
|
|
20
|
+
exports.useScreenGesture = useScreenGesture;
|
|
21
|
+
//# sourceMappingURL=useScreenGesture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_native","require","_useTabContext","useScreenGesture","key","useRoute","context","useTabContext","nativeRef","screen","properties","nativeGesture","exports"],"sourceRoot":"../../../src","sources":["hooks/useScreenGesture.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEO,MAAME,gBAAgB,GAAGA,CAAA,KAAM;EACpC,MAAM;IAAEC;EAAI,CAAC,GAAG,IAAAC,gBAAQ,EAAC,CAAC;EAC1B,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,4BAAa,EAAC,CAAC;EAEnC,MAAMC,SAAS,GAAGF,OAAO,CAACG,MAAM,CAACC,UAAU,CAACN,GAAG,CAAC,EAAEO,aAAa;EAE/D,IAAI,CAACH,SAAS,EAAE,MAAM,0CAA0C;EAEhE,OAAOA,SAAS;AAClB,CAAC;AAACI,OAAA,CAAAT,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useScreenProperties = void 0;
|
|
7
|
+
var _native = require("@react-navigation/native");
|
|
8
|
+
var _useTabContext = require("./useTabContext");
|
|
9
|
+
const useScreenProperties = () => {
|
|
10
|
+
const {
|
|
11
|
+
key
|
|
12
|
+
} = (0, _native.useRoute)();
|
|
13
|
+
const {
|
|
14
|
+
context
|
|
15
|
+
} = (0, _useTabContext.useTabContext)();
|
|
16
|
+
const screen = context.screen.properties[key];
|
|
17
|
+
if (!screen) throw 'No screen properties registered for this route';
|
|
18
|
+
return screen;
|
|
19
|
+
};
|
|
20
|
+
exports.useScreenProperties = useScreenProperties;
|
|
21
|
+
//# sourceMappingURL=useScreenProperties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_native","require","_useTabContext","useScreenProperties","key","useRoute","context","useTabContext","screen","properties","exports"],"sourceRoot":"../../../src","sources":["hooks/useScreenProperties.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEO,MAAME,mBAAmB,GAAGA,CAAA,KAAM;EACvC,MAAM;IAAEC;EAAI,CAAC,GAAG,IAAAC,gBAAQ,EAAC,CAAC;EAC1B,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,4BAAa,EAAC,CAAC;EACnC,MAAMC,MAAM,GAAGF,OAAO,CAACE,MAAM,CAACC,UAAU,CAACL,GAAG,CAAC;EAC7C,IAAI,CAACI,MAAM,EAAE,MAAM,gDAAgD;EAEnE,OAAOA,MAAM;AACf,CAAC;AAACE,OAAA,CAAAP,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useScreenScrollable = void 0;
|
|
7
|
+
var _native = require("@react-navigation/native");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
10
|
+
var _useTabContext = require("./useTabContext");
|
|
11
|
+
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _elements = require("@react-navigation/elements");
|
|
13
|
+
var _reactNativeReanimated = require("react-native-reanimated");
|
|
14
|
+
var _useScreenProperties = require("./useScreenProperties");
|
|
15
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
16
|
+
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; }
|
|
17
|
+
const useScreenScrollable = () => {
|
|
18
|
+
const {
|
|
19
|
+
key
|
|
20
|
+
} = (0, _native.useRoute)();
|
|
21
|
+
const {
|
|
22
|
+
height
|
|
23
|
+
} = (0, _reactNative.useWindowDimensions)();
|
|
24
|
+
const {
|
|
25
|
+
bottom,
|
|
26
|
+
top
|
|
27
|
+
} = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
|
|
28
|
+
const {
|
|
29
|
+
currentYPosition,
|
|
30
|
+
gestureEnabled,
|
|
31
|
+
headerHeight,
|
|
32
|
+
context,
|
|
33
|
+
topTabHeight,
|
|
34
|
+
transformationY
|
|
35
|
+
} = (0, _useTabContext.useTabContext)();
|
|
36
|
+
const screen = (0, _useScreenProperties.useScreenProperties)();
|
|
37
|
+
const navigationHeader = React.useContext(_elements.HeaderHeightContext) ?? top;
|
|
38
|
+
const animatedProps = (0, _reactNativeReanimated.useAnimatedProps)(() => ({
|
|
39
|
+
scrollEnabled: !gestureEnabled.value || currentYPosition.value === -headerHeight.value
|
|
40
|
+
}));
|
|
41
|
+
const onScroll = (0, _reactNativeReanimated.useAnimatedScrollHandler)(({
|
|
42
|
+
contentOffset
|
|
43
|
+
}) => {
|
|
44
|
+
const scrollPosition = context.screen.properties[key]?.scrollY;
|
|
45
|
+
if (!scrollPosition) throw 'ScrollPosition property does not exist for this route';
|
|
46
|
+
scrollPosition.value = contentOffset.y;
|
|
47
|
+
});
|
|
48
|
+
const oppositeHeaderState = (0, _reactNativeReanimated.useDerivedValue)(() => transformationY.value >= 0 ? headerHeight.value : 0);
|
|
49
|
+
const difference = (0, _reactNativeReanimated.useDerivedValue)(() => Math.abs(screen.outerLayout.value.height - screen.innerLayout.value.height));
|
|
50
|
+
const style = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
51
|
+
minHeight: height - topTabHeight.value - oppositeHeaderState.value - navigationHeader - difference.value
|
|
52
|
+
}));
|
|
53
|
+
return {
|
|
54
|
+
animatedProps,
|
|
55
|
+
bounces: false,
|
|
56
|
+
contentContainerStyle: {
|
|
57
|
+
paddingBottom: bottom
|
|
58
|
+
},
|
|
59
|
+
onScroll,
|
|
60
|
+
style
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
exports.useScreenScrollable = useScreenScrollable;
|
|
64
|
+
//# sourceMappingURL=useScreenScrollable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_native","require","_reactNative","_reactNativeSafeAreaContext","_useTabContext","React","_interopRequireWildcard","_elements","_reactNativeReanimated","_useScreenProperties","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useScreenScrollable","key","useRoute","height","useWindowDimensions","bottom","top","useSafeAreaInsets","currentYPosition","gestureEnabled","headerHeight","context","topTabHeight","transformationY","useTabContext","screen","useScreenProperties","navigationHeader","useContext","HeaderHeightContext","animatedProps","useAnimatedProps","scrollEnabled","value","onScroll","useAnimatedScrollHandler","contentOffset","scrollPosition","properties","scrollY","y","oppositeHeaderState","useDerivedValue","difference","Math","abs","outerLayout","innerLayout","style","useAnimatedStyle","minHeight","bounces","contentContainerStyle","paddingBottom","exports"],"sourceRoot":"../../../src","sources":["hooks/useScreenScrollable.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useTabContext = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _Context = require("../context/Context");
|
|
9
|
+
const useTabContext = () => (0, _react.useContext)(_Context.Context);
|
|
10
|
+
exports.useTabContext = useTabContext;
|
|
11
|
+
//# sourceMappingURL=useTabContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_Context","useTabContext","useContext","Context","exports"],"sourceRoot":"../../../src","sources":["hooks/useTabContext.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEO,MAAME,aAAa,GAAGA,CAAA,KAAM,IAAAC,iBAAU,EAACC,gBAAO,CAAC;AAACC,OAAA,CAAAH,aAAA,GAAAA,aAAA","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useTabOffset = void 0;
|
|
7
|
+
var _useTabContext = require("./useTabContext");
|
|
8
|
+
var _reactNativeReanimated = require("react-native-reanimated");
|
|
9
|
+
// returns read-only property
|
|
10
|
+
|
|
11
|
+
const useTabOffset = () => {
|
|
12
|
+
const {
|
|
13
|
+
transformationX
|
|
14
|
+
} = (0, _useTabContext.useTabContext)();
|
|
15
|
+
return (0, _reactNativeReanimated.useDerivedValue)(() => transformationX.value);
|
|
16
|
+
};
|
|
17
|
+
exports.useTabOffset = useTabOffset;
|
|
18
|
+
//# sourceMappingURL=useTabOffset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_useTabContext","require","_reactNativeReanimated","useTabOffset","transformationX","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;EAAgB,CAAC,GAAG,IAAAC,4BAAa,EAAC,CAAC;EAC3C,OAAO,IAAAC,sCAAe,EAAC,MAAMF,eAAe,CAACG,KAAK,CAAC;AACrD,CAAC;AAACC,OAAA,CAAAL,YAAA,GAAAA,YAAA","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -3,90 +3,44 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
-
return _TopTabContext.Context;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
Object.defineProperty(exports, "GestureWrapper", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
-
return _GestureWrapper.GestureWrapper;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
Object.defineProperty(exports, "Provider", {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function () {
|
|
21
|
-
return _TopTabContext.Provider;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
Object.defineProperty(exports, "ScreenWrapper", {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
get: function () {
|
|
27
|
-
return _ScreenWrapper.ScreenWrapper;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
Object.defineProperty(exports, "ScrollView", {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
get: function () {
|
|
33
|
-
return _ScrollView.ScrollView;
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
Object.defineProperty(exports, "TabBarBaseComponent", {
|
|
37
|
-
enumerable: true,
|
|
38
|
-
get: function () {
|
|
39
|
-
return _TabBarBaseComponent.TabBarBaseComponent;
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
Object.defineProperty(exports, "TabBarLabelBaseComponent", {
|
|
43
|
-
enumerable: true,
|
|
44
|
-
get: function () {
|
|
45
|
-
return _TabBarLabelBaseComponent.TabBarLabelBaseComponent;
|
|
46
|
-
}
|
|
47
|
-
});
|
|
6
|
+
exports.TabHooks = exports.Tab = void 0;
|
|
48
7
|
Object.defineProperty(exports, "createReanimatedTopTabNavigator", {
|
|
49
8
|
enumerable: true,
|
|
50
9
|
get: function () {
|
|
51
10
|
return _createReanimatedTopTabNavigator.createReanimatedTopTabNavigator;
|
|
52
11
|
}
|
|
53
12
|
});
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
var _ScreenWrapper = require("./components/wrappers/ScreenWrapper.js");
|
|
88
|
-
var _GestureWrapper = require("./components/wrappers/GestureWrapper.js");
|
|
89
|
-
var _TabBarBaseComponent = require("./components/elements/TabBarBaseComponent.js");
|
|
90
|
-
var _TabBarLabelBaseComponent = require("./components/elements/TabBarLabelBaseComponent.js");
|
|
91
|
-
var _TopTabHooks = require("./hooks/TopTab.hooks.js");
|
|
13
|
+
var _ScrollView = require("./components/wrappers/ScrollView");
|
|
14
|
+
var _ScreenWrapper = require("./components/wrappers/ScreenWrapper");
|
|
15
|
+
var _TabBarBaseComponent = require("./components/elements/TabBarBaseComponent");
|
|
16
|
+
var _TabBarLabelBaseComponent = require("./components/elements/TabBarLabelBaseComponent");
|
|
17
|
+
var _react = require("react");
|
|
18
|
+
var _Warning = require("./services/Warning.service");
|
|
19
|
+
var _useTabContext2 = require("./hooks/useTabContext");
|
|
20
|
+
var _useTabOffset = require("./hooks/useTabOffset");
|
|
21
|
+
var _useScreenGesture = require("./hooks/useScreenGesture");
|
|
22
|
+
var _useScreenScrollable = require("./hooks/useScreenScrollable");
|
|
23
|
+
var _useScreenProperties = require("./hooks/useScreenProperties");
|
|
24
|
+
var _useHeader = require("./hooks/useHeader");
|
|
25
|
+
var _createReanimatedTopTabNavigator = require("./navigator/createReanimatedTopTabNavigator");
|
|
26
|
+
const _useTabContext = () => {
|
|
27
|
+
(0, _react.useEffect)(() => {
|
|
28
|
+
_Warning.WarningService.warn();
|
|
29
|
+
}, []);
|
|
30
|
+
return (0, _useTabContext2.useTabContext)();
|
|
31
|
+
};
|
|
32
|
+
const TabHooks = exports.TabHooks = {
|
|
33
|
+
useHeader: _useHeader.useHeader,
|
|
34
|
+
useScreenProperties: _useScreenProperties.useScreenProperties,
|
|
35
|
+
useScreenScrollable: _useScreenScrollable.useScreenScrollable,
|
|
36
|
+
useScreenGesture: _useScreenGesture.useScreenGesture,
|
|
37
|
+
useTabContext: _useTabContext,
|
|
38
|
+
useTabOffset: _useTabOffset.useTabOffset
|
|
39
|
+
};
|
|
40
|
+
const Tab = exports.Tab = {
|
|
41
|
+
ScrollView: _ScrollView.ScrollView,
|
|
42
|
+
ScreenWrapper: _ScreenWrapper.ScreenWrapper,
|
|
43
|
+
TabBarBaseComponent: _TabBarBaseComponent.TabBarBaseComponent,
|
|
44
|
+
TabBarLabelBaseComponent: _TabBarLabelBaseComponent.TabBarLabelBaseComponent
|
|
45
|
+
};
|
|
92
46
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
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,cAAA,GAAAD,OAAA;AACA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,yBAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,aAAA,GAAAP,OAAA;AACA,IAAAQ,iBAAA,GAAAR,OAAA;AACA,IAAAS,oBAAA,GAAAT,OAAA;AACA,IAAAU,oBAAA,GAAAV,OAAA;AACA,IAAAW,UAAA,GAAAX,OAAA;AAGA,IAAAY,gCAAA,GAAAZ,OAAA;AAEA,MAAMa,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,aAAa,EAAbA,4BAAa;EACbC,mBAAmB,EAAnBA,wCAAmB;EACnBC,wBAAwB,EAAxBA;AACF,CAAC","ignoreList":[]}
|