@react-navigation/bottom-tabs 7.9.0 → 8.0.0-alpha.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/module/index.js +3 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/navigators/createBottomTabNavigator.js +27 -9
- package/lib/module/navigators/createBottomTabNavigator.js.map +1 -1
- package/lib/module/utils/BottomTabAnimationContext.js +5 -0
- package/lib/module/utils/BottomTabAnimationContext.js.map +1 -0
- package/lib/module/utils/useBottomTabAnimation.js +12 -0
- package/lib/module/utils/useBottomTabAnimation.js.map +1 -0
- package/lib/module/utils/useTabBarPosition.js +34 -0
- package/lib/module/utils/useTabBarPosition.js.map +1 -0
- package/lib/module/views/BottomTabBar.js +46 -49
- package/lib/module/views/BottomTabBar.js.map +1 -1
- package/lib/module/views/BottomTabItem.js +17 -15
- package/lib/module/views/BottomTabItem.js.map +1 -1
- package/lib/module/views/BottomTabViewCommon.js +16 -0
- package/lib/module/views/BottomTabViewCommon.js.map +1 -0
- package/lib/module/views/{BottomTabView.js → BottomTabViewCustom.js} +107 -106
- package/lib/module/views/BottomTabViewCustom.js.map +1 -0
- package/lib/module/views/BottomTabViewNative.android.js +4 -0
- package/lib/module/views/BottomTabViewNative.android.js.map +1 -0
- package/lib/module/views/BottomTabViewNative.ios.js +4 -0
- package/lib/module/views/BottomTabViewNative.ios.js.map +1 -0
- package/lib/module/views/BottomTabViewNative.js +5 -0
- package/lib/module/views/BottomTabViewNative.js.map +1 -0
- package/lib/module/{unstable/NativeBottomTabView.native.js → views/BottomTabViewNativeImpl.js} +95 -77
- package/lib/module/views/BottomTabViewNativeImpl.js.map +1 -0
- package/lib/module/views/ScreenContent.js +39 -0
- package/lib/module/views/ScreenContent.js.map +1 -0
- package/lib/module/views/TabBarIcon.js +40 -4
- package/lib/module/views/TabBarIcon.js.map +1 -1
- package/lib/typescript/src/index.d.ts +4 -3
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/navigators/createBottomTabNavigator.d.ts +10 -6
- package/lib/typescript/src/navigators/createBottomTabNavigator.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +383 -115
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/utils/BottomTabAnimationContext.d.ts +4 -0
- package/lib/typescript/src/utils/BottomTabAnimationContext.d.ts.map +1 -0
- package/lib/typescript/src/utils/useBottomTabAnimation.d.ts +2 -0
- package/lib/typescript/src/utils/useBottomTabAnimation.d.ts.map +1 -0
- package/lib/typescript/src/utils/useTabBarPosition.d.ts +3 -0
- package/lib/typescript/src/utils/useTabBarPosition.d.ts.map +1 -0
- package/lib/typescript/src/views/BottomTabBar.d.ts +4 -4
- package/lib/typescript/src/views/BottomTabBar.d.ts.map +1 -1
- package/lib/typescript/src/views/BottomTabItem.d.ts +16 -14
- package/lib/typescript/src/views/BottomTabItem.d.ts.map +1 -1
- package/lib/typescript/src/views/{BottomTabView.d.ts → BottomTabViewCommon.d.ts} +2 -2
- package/lib/typescript/src/views/BottomTabViewCommon.d.ts.map +1 -0
- package/lib/typescript/src/views/BottomTabViewCustom.d.ts +10 -0
- package/lib/typescript/src/views/BottomTabViewCustom.d.ts.map +1 -0
- package/lib/typescript/src/views/BottomTabViewNative.android.d.ts +2 -0
- package/lib/typescript/src/views/BottomTabViewNative.android.d.ts.map +1 -0
- package/lib/typescript/src/views/BottomTabViewNative.d.ts +3 -0
- package/lib/typescript/src/views/BottomTabViewNative.d.ts.map +1 -0
- package/lib/typescript/src/views/BottomTabViewNative.ios.d.ts +2 -0
- package/lib/typescript/src/views/BottomTabViewNative.ios.d.ts.map +1 -0
- package/lib/typescript/src/views/BottomTabViewNativeImpl.d.ts +10 -0
- package/lib/typescript/src/views/BottomTabViewNativeImpl.d.ts.map +1 -0
- package/lib/typescript/src/views/ScreenContent.d.ts +13 -0
- package/lib/typescript/src/views/ScreenContent.d.ts.map +1 -0
- package/lib/typescript/src/views/TabBarIcon.d.ts +9 -9
- package/lib/typescript/src/views/TabBarIcon.d.ts.map +1 -1
- package/package.json +11 -16
- package/src/index.tsx +7 -2
- package/src/navigators/createBottomTabNavigator.tsx +78 -27
- package/src/types.tsx +417 -122
- package/src/utils/BottomTabAnimationContext.tsx +7 -0
- package/src/utils/useBottomTabAnimation.tsx +15 -0
- package/src/utils/useTabBarPosition.tsx +41 -0
- package/src/views/BottomTabBar.tsx +68 -67
- package/src/views/BottomTabItem.tsx +39 -34
- package/src/views/BottomTabViewCommon.tsx +26 -0
- package/src/views/{BottomTabView.tsx → BottomTabViewCustom.tsx} +142 -129
- package/src/views/BottomTabViewNative.android.tsx +1 -0
- package/src/views/BottomTabViewNative.ios.tsx +1 -0
- package/src/views/BottomTabViewNative.tsx +3 -0
- package/src/{unstable/NativeBottomTabView.native.tsx → views/BottomTabViewNativeImpl.tsx} +139 -116
- package/src/views/ScreenContent.tsx +58 -0
- package/src/views/TabBarIcon.tsx +63 -10
- package/lib/module/unstable/NativeBottomTabView.js +0 -6
- package/lib/module/unstable/NativeBottomTabView.js.map +0 -1
- package/lib/module/unstable/NativeBottomTabView.native.js.map +0 -1
- package/lib/module/unstable/NativeScreen/NativeScreen.js +0 -152
- package/lib/module/unstable/NativeScreen/NativeScreen.js.map +0 -1
- package/lib/module/unstable/NativeScreen/debounce.js +0 -12
- package/lib/module/unstable/NativeScreen/debounce.js.map +0 -1
- package/lib/module/unstable/NativeScreen/types.js +0 -4
- package/lib/module/unstable/NativeScreen/types.js.map +0 -1
- package/lib/module/unstable/NativeScreen/useAnimatedHeaderHeight.js +0 -12
- package/lib/module/unstable/NativeScreen/useAnimatedHeaderHeight.js.map +0 -1
- package/lib/module/unstable/NativeScreen/useHeaderConfig.js +0 -304
- package/lib/module/unstable/NativeScreen/useHeaderConfig.js.map +0 -1
- package/lib/module/unstable/createNativeBottomTabNavigator.js +0 -6
- package/lib/module/unstable/createNativeBottomTabNavigator.js.map +0 -1
- package/lib/module/unstable/createNativeBottomTabNavigator.native.js +0 -65
- package/lib/module/unstable/createNativeBottomTabNavigator.native.js.map +0 -1
- package/lib/module/unstable/index.js +0 -16
- package/lib/module/unstable/index.js.map +0 -1
- package/lib/module/unstable/types.js +0 -4
- package/lib/module/unstable/types.js.map +0 -1
- package/lib/module/views/BottomTabView.js.map +0 -1
- package/lib/module/views/ScreenFallback.js +0 -42
- package/lib/module/views/ScreenFallback.js.map +0 -1
- package/lib/typescript/src/unstable/NativeBottomTabView.d.ts +0 -10
- package/lib/typescript/src/unstable/NativeBottomTabView.d.ts.map +0 -1
- package/lib/typescript/src/unstable/NativeBottomTabView.native.d.ts +0 -10
- package/lib/typescript/src/unstable/NativeBottomTabView.native.d.ts.map +0 -1
- package/lib/typescript/src/unstable/NativeScreen/NativeScreen.d.ts +0 -8
- package/lib/typescript/src/unstable/NativeScreen/NativeScreen.d.ts.map +0 -1
- package/lib/typescript/src/unstable/NativeScreen/debounce.d.ts +0 -2
- package/lib/typescript/src/unstable/NativeScreen/debounce.d.ts.map +0 -1
- package/lib/typescript/src/unstable/NativeScreen/types.d.ts +0 -523
- package/lib/typescript/src/unstable/NativeScreen/types.d.ts.map +0 -1
- package/lib/typescript/src/unstable/NativeScreen/useAnimatedHeaderHeight.d.ts +0 -5
- package/lib/typescript/src/unstable/NativeScreen/useAnimatedHeaderHeight.d.ts.map +0 -1
- package/lib/typescript/src/unstable/NativeScreen/useHeaderConfig.d.ts +0 -11
- package/lib/typescript/src/unstable/NativeScreen/useHeaderConfig.d.ts.map +0 -1
- package/lib/typescript/src/unstable/createNativeBottomTabNavigator.d.ts +0 -2
- package/lib/typescript/src/unstable/createNativeBottomTabNavigator.d.ts.map +0 -1
- package/lib/typescript/src/unstable/createNativeBottomTabNavigator.native.d.ts +0 -16
- package/lib/typescript/src/unstable/createNativeBottomTabNavigator.native.d.ts.map +0 -1
- package/lib/typescript/src/unstable/index.d.ts +0 -13
- package/lib/typescript/src/unstable/index.d.ts.map +0 -1
- package/lib/typescript/src/unstable/types.d.ts +0 -319
- package/lib/typescript/src/unstable/types.d.ts.map +0 -1
- package/lib/typescript/src/views/BottomTabView.d.ts.map +0 -1
- package/lib/typescript/src/views/ScreenFallback.d.ts +0 -18
- package/lib/typescript/src/views/ScreenFallback.d.ts.map +0 -1
- package/src/unstable/NativeBottomTabView.tsx +0 -20
- package/src/unstable/NativeScreen/NativeScreen.tsx +0 -212
- package/src/unstable/NativeScreen/debounce.tsx +0 -14
- package/src/unstable/NativeScreen/types.ts +0 -573
- package/src/unstable/NativeScreen/useAnimatedHeaderHeight.tsx +0 -18
- package/src/unstable/NativeScreen/useHeaderConfig.tsx +0 -434
- package/src/unstable/createNativeBottomTabNavigator.native.tsx +0 -116
- package/src/unstable/createNativeBottomTabNavigator.tsx +0 -4
- package/src/unstable/index.tsx +0 -23
- package/src/unstable/types.tsx +0 -405
- package/src/views/ScreenFallback.tsx +0 -50
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { getDefaultHeaderHeight, HeaderHeightContext, HeaderShownContext, useFrameSize } from '@react-navigation/elements';
|
|
4
|
-
import * as React from 'react';
|
|
5
|
-
import { Animated, Platform, StyleSheet, useAnimatedValue, View } from 'react-native';
|
|
6
|
-
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
7
|
-
import { ScreenStack, ScreenStackItem } from 'react-native-screens';
|
|
8
|
-
import { debounce } from "./debounce.js";
|
|
9
|
-
import { AnimatedHeaderHeightContext } from "./useAnimatedHeaderHeight.js";
|
|
10
|
-
import { useHeaderConfig } from "./useHeaderConfig.js";
|
|
11
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
|
-
const ANDROID_DEFAULT_HEADER_HEIGHT = 56;
|
|
13
|
-
export function NativeScreen({
|
|
14
|
-
route,
|
|
15
|
-
navigation,
|
|
16
|
-
options,
|
|
17
|
-
children
|
|
18
|
-
}) {
|
|
19
|
-
const {
|
|
20
|
-
header: renderCustomHeader,
|
|
21
|
-
headerShown = renderCustomHeader != null,
|
|
22
|
-
headerTransparent,
|
|
23
|
-
headerBackground
|
|
24
|
-
} = options;
|
|
25
|
-
const isModal = false;
|
|
26
|
-
const insets = useSafeAreaInsets();
|
|
27
|
-
|
|
28
|
-
// Modals are fullscreen in landscape only on iPhone
|
|
29
|
-
const isIPhone = Platform.OS === 'ios' && !(Platform.isPad || Platform.isTV);
|
|
30
|
-
const isParentHeaderShown = React.useContext(HeaderShownContext);
|
|
31
|
-
const parentHeaderHeight = React.useContext(HeaderHeightContext);
|
|
32
|
-
const isLandscape = useFrameSize(frame => frame.width > frame.height);
|
|
33
|
-
const topInset = isParentHeaderShown || Platform.OS === 'ios' && isModal || isIPhone && isLandscape ? 0 : insets.top;
|
|
34
|
-
const defaultHeaderHeight = useFrameSize(frame => Platform.select({
|
|
35
|
-
// FIXME: Currently screens isn't using Material 3
|
|
36
|
-
// So our `getDefaultHeaderHeight` doesn't return the correct value
|
|
37
|
-
// So we hardcode the value here for now until screens is updated
|
|
38
|
-
android: ANDROID_DEFAULT_HEADER_HEIGHT + topInset,
|
|
39
|
-
default: getDefaultHeaderHeight(frame, isModal, topInset)
|
|
40
|
-
}));
|
|
41
|
-
const [headerHeight, setHeaderHeight] = React.useState(defaultHeaderHeight);
|
|
42
|
-
|
|
43
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
44
|
-
const setHeaderHeightDebounced = React.useCallback(
|
|
45
|
-
// Debounce the header height updates to avoid excessive re-renders
|
|
46
|
-
debounce(setHeaderHeight, 100), []);
|
|
47
|
-
const hasCustomHeader = renderCustomHeader != null;
|
|
48
|
-
const animatedHeaderHeight = useAnimatedValue(defaultHeaderHeight);
|
|
49
|
-
const headerTopInsetEnabled = topInset !== 0;
|
|
50
|
-
const onHeaderHeightChange = Animated.event([{
|
|
51
|
-
nativeEvent: {
|
|
52
|
-
headerHeight: animatedHeaderHeight
|
|
53
|
-
}
|
|
54
|
-
}], {
|
|
55
|
-
useNativeDriver: true,
|
|
56
|
-
listener: e => {
|
|
57
|
-
if (hasCustomHeader) {
|
|
58
|
-
// If we have a custom header, don't use native header height
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
if (e.nativeEvent && typeof e.nativeEvent === 'object' && 'headerHeight' in e.nativeEvent && typeof e.nativeEvent.headerHeight === 'number') {
|
|
62
|
-
const headerHeight = e.nativeEvent.headerHeight;
|
|
63
|
-
|
|
64
|
-
// Only debounce if header has large title or search bar
|
|
65
|
-
// As it's the only case where the header height can change frequently
|
|
66
|
-
const doesHeaderAnimate = Platform.OS === 'ios' && (options.headerLargeTitleEnabled || options.headerSearchBarOptions);
|
|
67
|
-
if (doesHeaderAnimate) {
|
|
68
|
-
setHeaderHeightDebounced(headerHeight);
|
|
69
|
-
} else {
|
|
70
|
-
setHeaderHeight(headerHeight);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
const headerConfig = useHeaderConfig({
|
|
76
|
-
...options,
|
|
77
|
-
route,
|
|
78
|
-
headerHeight,
|
|
79
|
-
headerShown: hasCustomHeader ? false : headerShown === true,
|
|
80
|
-
headerTopInsetEnabled
|
|
81
|
-
});
|
|
82
|
-
return /*#__PURE__*/_jsx(ScreenStack, {
|
|
83
|
-
style: styles.container,
|
|
84
|
-
children: /*#__PURE__*/_jsx(ScreenStackItem, {
|
|
85
|
-
screenId: route.key
|
|
86
|
-
// Needed to show search bar in tab bar with systemItem=search
|
|
87
|
-
,
|
|
88
|
-
stackPresentation: "push",
|
|
89
|
-
headerConfig: headerConfig,
|
|
90
|
-
onHeaderHeightChange: onHeaderHeightChange,
|
|
91
|
-
children: /*#__PURE__*/_jsx(AnimatedHeaderHeightContext.Provider, {
|
|
92
|
-
value: animatedHeaderHeight,
|
|
93
|
-
children: /*#__PURE__*/_jsxs(HeaderHeightContext.Provider, {
|
|
94
|
-
value: headerShown ? headerHeight : parentHeaderHeight ?? 0,
|
|
95
|
-
children: [headerBackground != null ?
|
|
96
|
-
/*#__PURE__*/
|
|
97
|
-
/**
|
|
98
|
-
* To show a custom header background, we render it at the top of the screen below the header
|
|
99
|
-
* The header also needs to be positioned absolutely (with `translucent` style)
|
|
100
|
-
*/
|
|
101
|
-
_jsx(View, {
|
|
102
|
-
style: [styles.background, headerTransparent ? styles.translucent : null, {
|
|
103
|
-
height: headerHeight
|
|
104
|
-
}],
|
|
105
|
-
children: headerBackground()
|
|
106
|
-
}) : null, hasCustomHeader && headerShown ? /*#__PURE__*/_jsx(View, {
|
|
107
|
-
onLayout: e => {
|
|
108
|
-
const headerHeight = e.nativeEvent.layout.height;
|
|
109
|
-
setHeaderHeight(headerHeight);
|
|
110
|
-
animatedHeaderHeight.setValue(headerHeight);
|
|
111
|
-
},
|
|
112
|
-
style: [styles.header, headerTransparent ? styles.absolute : null],
|
|
113
|
-
children: renderCustomHeader?.({
|
|
114
|
-
route,
|
|
115
|
-
navigation,
|
|
116
|
-
options
|
|
117
|
-
})
|
|
118
|
-
}) : null, /*#__PURE__*/_jsx(HeaderShownContext.Provider, {
|
|
119
|
-
value: isParentHeaderShown || headerShown,
|
|
120
|
-
children: children
|
|
121
|
-
})]
|
|
122
|
-
})
|
|
123
|
-
})
|
|
124
|
-
})
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
const styles = StyleSheet.create({
|
|
128
|
-
container: {
|
|
129
|
-
flex: 1
|
|
130
|
-
},
|
|
131
|
-
header: {
|
|
132
|
-
zIndex: 1
|
|
133
|
-
},
|
|
134
|
-
absolute: {
|
|
135
|
-
position: 'absolute',
|
|
136
|
-
top: 0,
|
|
137
|
-
start: 0,
|
|
138
|
-
end: 0
|
|
139
|
-
},
|
|
140
|
-
translucent: {
|
|
141
|
-
position: 'absolute',
|
|
142
|
-
top: 0,
|
|
143
|
-
start: 0,
|
|
144
|
-
end: 0,
|
|
145
|
-
zIndex: 1,
|
|
146
|
-
elevation: 1
|
|
147
|
-
},
|
|
148
|
-
background: {
|
|
149
|
-
overflow: 'hidden'
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
//# sourceMappingURL=NativeScreen.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getDefaultHeaderHeight","HeaderHeightContext","HeaderShownContext","useFrameSize","React","Animated","Platform","StyleSheet","useAnimatedValue","View","useSafeAreaInsets","ScreenStack","ScreenStackItem","debounce","AnimatedHeaderHeightContext","useHeaderConfig","jsx","_jsx","jsxs","_jsxs","ANDROID_DEFAULT_HEADER_HEIGHT","NativeScreen","route","navigation","options","children","header","renderCustomHeader","headerShown","headerTransparent","headerBackground","isModal","insets","isIPhone","OS","isPad","isTV","isParentHeaderShown","useContext","parentHeaderHeight","isLandscape","frame","width","height","topInset","top","defaultHeaderHeight","select","android","default","headerHeight","setHeaderHeight","useState","setHeaderHeightDebounced","useCallback","hasCustomHeader","animatedHeaderHeight","headerTopInsetEnabled","onHeaderHeightChange","event","nativeEvent","useNativeDriver","listener","e","doesHeaderAnimate","headerLargeTitleEnabled","headerSearchBarOptions","headerConfig","style","styles","container","screenId","key","stackPresentation","Provider","value","background","translucent","onLayout","layout","setValue","absolute","create","flex","zIndex","position","start","end","elevation","overflow"],"sourceRoot":"../../../../src","sources":["unstable/NativeScreen/NativeScreen.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["debounce","func","duration","timeout","args","clearTimeout","setTimeout","apply"],"sourceRoot":"../../../../src","sources":["unstable/NativeScreen/debounce.tsx"],"mappings":";;AAAA,OAAO,SAASA,QAAQA,CACtBC,IAAO,EACPC,QAAgB,EACb;EACH,IAAIC,OAAsC;EAE1C,OAAO,UAAyB,GAAGC,IAAI,EAAE;IACvCC,YAAY,CAACF,OAAO,CAAC;IAErBA,OAAO,GAAGG,UAAU,CAAC,MAAM;MACzBL,IAAI,CAACM,KAAK,CAAC,IAAI,EAAEH,IAAI,CAAC;IACxB,CAAC,EAAEF,QAAQ,CAAC;EACd,CAAC;AACH","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["unstable/NativeScreen/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
export const AnimatedHeaderHeightContext = /*#__PURE__*/React.createContext(undefined);
|
|
5
|
-
export function useAnimatedHeaderHeight() {
|
|
6
|
-
const animatedValue = React.useContext(AnimatedHeaderHeightContext);
|
|
7
|
-
if (animatedValue === undefined) {
|
|
8
|
-
throw new Error("Couldn't find the header height. Are you inside a screen in a native stack navigator?");
|
|
9
|
-
}
|
|
10
|
-
return animatedValue;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=useAnimatedHeaderHeight.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","AnimatedHeaderHeightContext","createContext","undefined","useAnimatedHeaderHeight","animatedValue","useContext","Error"],"sourceRoot":"../../../../src","sources":["unstable/NativeScreen/useAnimatedHeaderHeight.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAG9B,OAAO,MAAMC,2BAA2B,gBAAGD,KAAK,CAACE,aAAa,CAE5DC,SAAS,CAAC;AAEZ,OAAO,SAASC,uBAAuBA,CAAA,EAAG;EACxC,MAAMC,aAAa,GAAGL,KAAK,CAACM,UAAU,CAACL,2BAA2B,CAAC;EAEnE,IAAII,aAAa,KAAKF,SAAS,EAAE;IAC/B,MAAM,IAAII,KAAK,CACb,uFACF,CAAC;EACH;EAEA,OAAOF,aAAa;AACtB","ignoreList":[]}
|
|
@@ -1,304 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { getHeaderTitle, HeaderTitle } from '@react-navigation/elements';
|
|
4
|
-
import { useLocale, useTheme } from '@react-navigation/native';
|
|
5
|
-
import Color from 'color';
|
|
6
|
-
import { Platform, StyleSheet, View } from 'react-native';
|
|
7
|
-
import { isSearchBarAvailableForCurrentPlatform, ScreenStackHeaderCenterView, ScreenStackHeaderLeftView, ScreenStackHeaderRightView, ScreenStackHeaderSearchBarView, SearchBar } from 'react-native-screens';
|
|
8
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
-
const processBarButtonItems = (items, colors, fonts) => {
|
|
10
|
-
return items?.map((item, index) => {
|
|
11
|
-
if (item.type === 'custom') {
|
|
12
|
-
// Handled with `ScreenStackHeaderLeftView` or `ScreenStackHeaderRightView`
|
|
13
|
-
return null;
|
|
14
|
-
}
|
|
15
|
-
if (item.type === 'spacing') {
|
|
16
|
-
if (item.spacing == null) {
|
|
17
|
-
throw new Error(`Spacing item must have a 'spacing' property defined: ${JSON.stringify(item)}`);
|
|
18
|
-
}
|
|
19
|
-
return item;
|
|
20
|
-
}
|
|
21
|
-
if (item.type === 'button' || item.type === 'menu') {
|
|
22
|
-
if (item.type === 'menu' && item.menu == null) {
|
|
23
|
-
throw new Error(`Menu item must have a 'menu' property defined: ${JSON.stringify(item)}`);
|
|
24
|
-
}
|
|
25
|
-
const {
|
|
26
|
-
badge,
|
|
27
|
-
label,
|
|
28
|
-
labelStyle,
|
|
29
|
-
icon,
|
|
30
|
-
...rest
|
|
31
|
-
} = item;
|
|
32
|
-
let processedItem = {
|
|
33
|
-
...rest,
|
|
34
|
-
index,
|
|
35
|
-
title: label,
|
|
36
|
-
titleStyle: {
|
|
37
|
-
...fonts.regular,
|
|
38
|
-
...labelStyle
|
|
39
|
-
},
|
|
40
|
-
icon: icon?.type === 'image' ? icon.tinted === false ? {
|
|
41
|
-
type: 'imageSource',
|
|
42
|
-
imageSource: icon.source
|
|
43
|
-
} : {
|
|
44
|
-
type: 'templateSource',
|
|
45
|
-
templateSource: icon.source
|
|
46
|
-
} : icon
|
|
47
|
-
};
|
|
48
|
-
if (processedItem.type === 'menu' && item.type === 'menu') {
|
|
49
|
-
const {
|
|
50
|
-
multiselectable,
|
|
51
|
-
layout
|
|
52
|
-
} = item.menu;
|
|
53
|
-
processedItem = {
|
|
54
|
-
...processedItem,
|
|
55
|
-
menu: {
|
|
56
|
-
...processedItem.menu,
|
|
57
|
-
singleSelection: !multiselectable,
|
|
58
|
-
displayAsPalette: layout === 'palette',
|
|
59
|
-
items: item.menu.items.map(getMenuItem)
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
if (badge) {
|
|
64
|
-
const badgeBackgroundColor = badge.style?.backgroundColor ?? colors.notification;
|
|
65
|
-
const badgeTextColor = typeof badgeBackgroundColor === 'string' && Color(badgeBackgroundColor)?.isLight() ? 'black' : 'white';
|
|
66
|
-
processedItem = {
|
|
67
|
-
...processedItem,
|
|
68
|
-
badge: {
|
|
69
|
-
...badge,
|
|
70
|
-
value: String(badge.value),
|
|
71
|
-
style: {
|
|
72
|
-
backgroundColor: badgeBackgroundColor,
|
|
73
|
-
color: badgeTextColor,
|
|
74
|
-
...fonts.regular,
|
|
75
|
-
...badge.style
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
return processedItem;
|
|
81
|
-
}
|
|
82
|
-
throw new Error(`Invalid item type: ${JSON.stringify(item)}. Valid types are 'button', 'menu', 'custom' and 'spacing'.`);
|
|
83
|
-
}).filter(item => item != null);
|
|
84
|
-
};
|
|
85
|
-
const getMenuItem = item => {
|
|
86
|
-
if (item.type === 'submenu') {
|
|
87
|
-
const {
|
|
88
|
-
label,
|
|
89
|
-
inline,
|
|
90
|
-
layout,
|
|
91
|
-
items,
|
|
92
|
-
multiselectable,
|
|
93
|
-
...rest
|
|
94
|
-
} = item;
|
|
95
|
-
return {
|
|
96
|
-
...rest,
|
|
97
|
-
title: label,
|
|
98
|
-
displayAsPalette: layout === 'palette',
|
|
99
|
-
displayInline: inline,
|
|
100
|
-
singleSelection: !multiselectable,
|
|
101
|
-
items: items.map(getMenuItem)
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
const {
|
|
105
|
-
label,
|
|
106
|
-
description,
|
|
107
|
-
...rest
|
|
108
|
-
} = item;
|
|
109
|
-
return {
|
|
110
|
-
...rest,
|
|
111
|
-
title: label,
|
|
112
|
-
subtitle: description
|
|
113
|
-
};
|
|
114
|
-
};
|
|
115
|
-
export function useHeaderConfig({
|
|
116
|
-
headerShadowVisible,
|
|
117
|
-
headerLargeStyle,
|
|
118
|
-
headerLargeTitleEnabled,
|
|
119
|
-
headerLargeTitleShadowVisible,
|
|
120
|
-
headerLargeTitleStyle,
|
|
121
|
-
headerBackground,
|
|
122
|
-
headerLeft,
|
|
123
|
-
headerRight,
|
|
124
|
-
headerShown,
|
|
125
|
-
headerStyle,
|
|
126
|
-
headerBlurEffect,
|
|
127
|
-
headerTintColor,
|
|
128
|
-
headerTitle,
|
|
129
|
-
headerTitleAlign,
|
|
130
|
-
headerTitleStyle,
|
|
131
|
-
headerTransparent,
|
|
132
|
-
headerSearchBarOptions,
|
|
133
|
-
headerTopInsetEnabled,
|
|
134
|
-
route,
|
|
135
|
-
title,
|
|
136
|
-
unstable_headerLeftItems: headerLeftItems,
|
|
137
|
-
unstable_headerRightItems: headerRightItems
|
|
138
|
-
}) {
|
|
139
|
-
const {
|
|
140
|
-
direction
|
|
141
|
-
} = useLocale();
|
|
142
|
-
const {
|
|
143
|
-
colors,
|
|
144
|
-
fonts,
|
|
145
|
-
dark
|
|
146
|
-
} = useTheme();
|
|
147
|
-
const tintColor = headerTintColor ?? (Platform.OS === 'ios' ? colors.primary : colors.text);
|
|
148
|
-
const headerLargeTitleStyleFlattened = StyleSheet.flatten([Platform.select({
|
|
149
|
-
ios: fonts.heavy,
|
|
150
|
-
default: fonts.medium
|
|
151
|
-
}), headerLargeTitleStyle]) || {};
|
|
152
|
-
const headerTitleStyleFlattened = StyleSheet.flatten([Platform.select({
|
|
153
|
-
ios: fonts.bold,
|
|
154
|
-
default: fonts.medium
|
|
155
|
-
}), headerTitleStyle]) || {};
|
|
156
|
-
const headerStyleFlattened = StyleSheet.flatten(headerStyle) || {};
|
|
157
|
-
const headerLargeStyleFlattened = StyleSheet.flatten(headerLargeStyle) || {};
|
|
158
|
-
const titleText = getHeaderTitle({
|
|
159
|
-
title,
|
|
160
|
-
headerTitle
|
|
161
|
-
}, route.name);
|
|
162
|
-
const titleColor = 'color' in headerTitleStyleFlattened ? headerTitleStyleFlattened.color : headerTintColor ?? colors.text;
|
|
163
|
-
const titleFontSize = 'fontSize' in headerTitleStyleFlattened ? headerTitleStyleFlattened.fontSize : undefined;
|
|
164
|
-
const titleFontFamily = headerTitleStyleFlattened.fontFamily;
|
|
165
|
-
const titleFontWeight = headerTitleStyleFlattened.fontWeight;
|
|
166
|
-
const largeTitleFontFamily = headerLargeTitleStyleFlattened.fontFamily;
|
|
167
|
-
const largeTitleBackgroundColor = headerLargeStyleFlattened.backgroundColor;
|
|
168
|
-
const largeTitleColor = 'color' in headerLargeTitleStyleFlattened ? headerLargeTitleStyleFlattened.color : undefined;
|
|
169
|
-
const largeTitleFontSize = 'fontSize' in headerLargeTitleStyleFlattened ? headerLargeTitleStyleFlattened.fontSize : undefined;
|
|
170
|
-
const largeTitleFontWeight = headerLargeTitleStyleFlattened.fontWeight;
|
|
171
|
-
const headerTitleStyleSupported = {
|
|
172
|
-
color: titleColor
|
|
173
|
-
};
|
|
174
|
-
if (headerTitleStyleFlattened.fontFamily != null) {
|
|
175
|
-
headerTitleStyleSupported.fontFamily = headerTitleStyleFlattened.fontFamily;
|
|
176
|
-
}
|
|
177
|
-
if (titleFontSize != null) {
|
|
178
|
-
headerTitleStyleSupported.fontSize = titleFontSize;
|
|
179
|
-
}
|
|
180
|
-
if (titleFontWeight != null) {
|
|
181
|
-
headerTitleStyleSupported.fontWeight = titleFontWeight;
|
|
182
|
-
}
|
|
183
|
-
const headerBackgroundColor = headerStyleFlattened.backgroundColor ?? (headerBackground != null || headerTransparent ? 'transparent' : colors.card);
|
|
184
|
-
const headerLeftElement = headerLeft?.({
|
|
185
|
-
tintColor
|
|
186
|
-
});
|
|
187
|
-
const headerRightElement = headerRight?.({
|
|
188
|
-
tintColor
|
|
189
|
-
});
|
|
190
|
-
const headerTitleElement = typeof headerTitle === 'function' ? headerTitle({
|
|
191
|
-
tintColor,
|
|
192
|
-
children: titleText
|
|
193
|
-
}) : null;
|
|
194
|
-
const hasHeaderSearchBar = isSearchBarAvailableForCurrentPlatform && headerSearchBarOptions != null;
|
|
195
|
-
const translucent = headerBackground != null || headerTransparent ||
|
|
196
|
-
// When using a SearchBar or large title, the header needs to be translucent for it to work on iOS
|
|
197
|
-
(hasHeaderSearchBar || headerLargeTitleEnabled) && Platform.OS === 'ios' && headerTransparent !== false;
|
|
198
|
-
const isCenterViewRenderedAndroid = headerTitleAlign === 'center';
|
|
199
|
-
const leftItems = headerLeftItems?.({
|
|
200
|
-
tintColor
|
|
201
|
-
});
|
|
202
|
-
let rightItems = headerRightItems?.({
|
|
203
|
-
tintColor
|
|
204
|
-
});
|
|
205
|
-
if (rightItems) {
|
|
206
|
-
// iOS renders right items in reverse order
|
|
207
|
-
// So we need to reverse them here to match the order
|
|
208
|
-
rightItems = [...rightItems].reverse();
|
|
209
|
-
}
|
|
210
|
-
const children = /*#__PURE__*/_jsxs(_Fragment, {
|
|
211
|
-
children: [Platform.OS === 'ios' ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
212
|
-
children: [leftItems ? leftItems.map((item, index) => {
|
|
213
|
-
if (item.type === 'custom') {
|
|
214
|
-
return /*#__PURE__*/_jsx(ScreenStackHeaderLeftView
|
|
215
|
-
// eslint-disable-next-line @eslint-react/no-array-index-key
|
|
216
|
-
, {
|
|
217
|
-
hidesSharedBackground: item.hidesSharedBackground,
|
|
218
|
-
children: item.element
|
|
219
|
-
}, index);
|
|
220
|
-
}
|
|
221
|
-
return null;
|
|
222
|
-
}) : headerLeftElement != null ? /*#__PURE__*/_jsx(ScreenStackHeaderLeftView, {
|
|
223
|
-
children: headerLeftElement
|
|
224
|
-
}) : null, headerTitleElement != null ? /*#__PURE__*/_jsx(ScreenStackHeaderCenterView, {
|
|
225
|
-
children: headerTitleElement
|
|
226
|
-
}) : null]
|
|
227
|
-
}) : /*#__PURE__*/_jsxs(_Fragment, {
|
|
228
|
-
children: [headerLeftElement != null || typeof headerTitle === 'function' ?
|
|
229
|
-
/*#__PURE__*/
|
|
230
|
-
// The style passed to header left, together with title element being wrapped
|
|
231
|
-
// in flex view is reqruied for proper header layout, in particular,
|
|
232
|
-
// for the text truncation to work.
|
|
233
|
-
_jsxs(ScreenStackHeaderLeftView, {
|
|
234
|
-
style: !isCenterViewRenderedAndroid ? {
|
|
235
|
-
flex: 1
|
|
236
|
-
} : null,
|
|
237
|
-
children: [headerLeftElement, headerTitleAlign !== 'center' ? typeof headerTitle === 'function' ? /*#__PURE__*/_jsx(View, {
|
|
238
|
-
style: {
|
|
239
|
-
flex: 1
|
|
240
|
-
},
|
|
241
|
-
children: headerTitleElement
|
|
242
|
-
}) : /*#__PURE__*/_jsx(View, {
|
|
243
|
-
style: {
|
|
244
|
-
flex: 1
|
|
245
|
-
},
|
|
246
|
-
children: /*#__PURE__*/_jsx(HeaderTitle, {
|
|
247
|
-
tintColor: tintColor,
|
|
248
|
-
style: headerTitleStyleSupported,
|
|
249
|
-
children: titleText
|
|
250
|
-
})
|
|
251
|
-
}) : null]
|
|
252
|
-
}) : null, isCenterViewRenderedAndroid ? /*#__PURE__*/_jsx(ScreenStackHeaderCenterView, {
|
|
253
|
-
children: typeof headerTitle === 'function' ? headerTitleElement : /*#__PURE__*/_jsx(HeaderTitle, {
|
|
254
|
-
tintColor: tintColor,
|
|
255
|
-
style: headerTitleStyleSupported,
|
|
256
|
-
children: titleText
|
|
257
|
-
})
|
|
258
|
-
}) : null]
|
|
259
|
-
}), Platform.OS === 'ios' && rightItems ? rightItems.map((item, index) => {
|
|
260
|
-
if (item.type === 'custom') {
|
|
261
|
-
return /*#__PURE__*/_jsx(ScreenStackHeaderRightView
|
|
262
|
-
// eslint-disable-next-line @eslint-react/no-array-index-key
|
|
263
|
-
, {
|
|
264
|
-
hidesSharedBackground: item.hidesSharedBackground,
|
|
265
|
-
children: item.element
|
|
266
|
-
}, index);
|
|
267
|
-
}
|
|
268
|
-
return null;
|
|
269
|
-
}) : headerRightElement != null ? /*#__PURE__*/_jsx(ScreenStackHeaderRightView, {
|
|
270
|
-
children: headerRightElement
|
|
271
|
-
}) : null, hasHeaderSearchBar ? /*#__PURE__*/_jsx(ScreenStackHeaderSearchBarView, {
|
|
272
|
-
children: /*#__PURE__*/_jsx(SearchBar, {
|
|
273
|
-
...headerSearchBarOptions
|
|
274
|
-
})
|
|
275
|
-
}) : null]
|
|
276
|
-
});
|
|
277
|
-
return {
|
|
278
|
-
backgroundColor: headerBackgroundColor,
|
|
279
|
-
blurEffect: headerBlurEffect,
|
|
280
|
-
color: tintColor,
|
|
281
|
-
direction,
|
|
282
|
-
hidden: headerShown === false,
|
|
283
|
-
hideShadow: headerShadowVisible === false || headerBackground != null || headerTransparent && headerShadowVisible !== true,
|
|
284
|
-
largeTitle: headerLargeTitleEnabled,
|
|
285
|
-
largeTitleBackgroundColor,
|
|
286
|
-
largeTitleColor,
|
|
287
|
-
largeTitleFontFamily,
|
|
288
|
-
largeTitleFontSize,
|
|
289
|
-
largeTitleFontWeight,
|
|
290
|
-
largeTitleHideShadow: headerLargeTitleShadowVisible === false,
|
|
291
|
-
title: titleText,
|
|
292
|
-
titleColor,
|
|
293
|
-
titleFontFamily,
|
|
294
|
-
titleFontSize,
|
|
295
|
-
titleFontWeight: String(titleFontWeight),
|
|
296
|
-
topInsetEnabled: headerTopInsetEnabled,
|
|
297
|
-
translucent: translucent === true,
|
|
298
|
-
children,
|
|
299
|
-
headerLeftBarButtonItems: processBarButtonItems(leftItems, colors, fonts),
|
|
300
|
-
headerRightBarButtonItems: processBarButtonItems(rightItems, colors, fonts),
|
|
301
|
-
experimental_userInterfaceStyle: dark ? 'dark' : 'light'
|
|
302
|
-
};
|
|
303
|
-
}
|
|
304
|
-
//# sourceMappingURL=useHeaderConfig.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getHeaderTitle","HeaderTitle","useLocale","useTheme","Color","Platform","StyleSheet","View","isSearchBarAvailableForCurrentPlatform","ScreenStackHeaderCenterView","ScreenStackHeaderLeftView","ScreenStackHeaderRightView","ScreenStackHeaderSearchBarView","SearchBar","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","processBarButtonItems","items","colors","fonts","map","item","index","type","spacing","Error","JSON","stringify","menu","badge","label","labelStyle","icon","rest","processedItem","title","titleStyle","regular","tinted","imageSource","source","templateSource","multiselectable","layout","singleSelection","displayAsPalette","getMenuItem","badgeBackgroundColor","style","backgroundColor","notification","badgeTextColor","isLight","value","String","color","filter","inline","displayInline","description","subtitle","useHeaderConfig","headerShadowVisible","headerLargeStyle","headerLargeTitleEnabled","headerLargeTitleShadowVisible","headerLargeTitleStyle","headerBackground","headerLeft","headerRight","headerShown","headerStyle","headerBlurEffect","headerTintColor","headerTitle","headerTitleAlign","headerTitleStyle","headerTransparent","headerSearchBarOptions","headerTopInsetEnabled","route","unstable_headerLeftItems","headerLeftItems","unstable_headerRightItems","headerRightItems","direction","dark","tintColor","OS","primary","text","headerLargeTitleStyleFlattened","flatten","select","ios","heavy","default","medium","headerTitleStyleFlattened","bold","headerStyleFlattened","headerLargeStyleFlattened","titleText","name","titleColor","titleFontSize","fontSize","undefined","titleFontFamily","fontFamily","titleFontWeight","fontWeight","largeTitleFontFamily","largeTitleBackgroundColor","largeTitleColor","largeTitleFontSize","largeTitleFontWeight","headerTitleStyleSupported","headerBackgroundColor","card","headerLeftElement","headerRightElement","headerTitleElement","children","hasHeaderSearchBar","translucent","isCenterViewRenderedAndroid","leftItems","rightItems","reverse","hidesSharedBackground","element","flex","blurEffect","hidden","hideShadow","largeTitle","largeTitleHideShadow","topInsetEnabled","headerLeftBarButtonItems","headerRightBarButtonItems","experimental_userInterfaceStyle"],"sourceRoot":"../../../../src","sources":["unstable/NativeScreen/useHeaderConfig.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["createNativeBottomTabNavigator","Error"],"sourceRoot":"../../../src","sources":["unstable/createNativeBottomTabNavigator.tsx"],"mappings":";;AAAA,OAAO,MAAMA,8BAAuH,GAClIA,CAAA,KAAM;EACJ,MAAM,IAAIC,KAAK,CAAC,wDAAwD,CAAC;AAC3E,CAAC","ignoreList":[]}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { createNavigatorFactory, StackActions, TabRouter, useNavigationBuilder } from '@react-navigation/native';
|
|
4
|
-
import * as React from 'react';
|
|
5
|
-
import { NativeBottomTabView } from "./NativeBottomTabView.native.js";
|
|
6
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
-
function NativeBottomTabNavigator({
|
|
8
|
-
id,
|
|
9
|
-
initialRouteName,
|
|
10
|
-
backBehavior,
|
|
11
|
-
children,
|
|
12
|
-
layout,
|
|
13
|
-
screenListeners,
|
|
14
|
-
screenOptions,
|
|
15
|
-
screenLayout,
|
|
16
|
-
UNSTABLE_router,
|
|
17
|
-
UNSTABLE_routeNamesChangeBehavior,
|
|
18
|
-
...rest
|
|
19
|
-
}) {
|
|
20
|
-
const {
|
|
21
|
-
state,
|
|
22
|
-
navigation,
|
|
23
|
-
descriptors,
|
|
24
|
-
NavigationContent
|
|
25
|
-
} = useNavigationBuilder(TabRouter, {
|
|
26
|
-
id,
|
|
27
|
-
initialRouteName,
|
|
28
|
-
backBehavior,
|
|
29
|
-
children,
|
|
30
|
-
layout,
|
|
31
|
-
screenListeners,
|
|
32
|
-
screenOptions,
|
|
33
|
-
screenLayout,
|
|
34
|
-
UNSTABLE_router,
|
|
35
|
-
UNSTABLE_routeNamesChangeBehavior
|
|
36
|
-
});
|
|
37
|
-
const focusedRouteKey = state.routes[state.index].key;
|
|
38
|
-
const previousRouteKeyRef = React.useRef(focusedRouteKey);
|
|
39
|
-
React.useEffect(() => {
|
|
40
|
-
const previousRouteKey = previousRouteKeyRef.current;
|
|
41
|
-
if (previousRouteKey !== focusedRouteKey && descriptors[previousRouteKey]?.options.popToTopOnBlur) {
|
|
42
|
-
const prevRoute = state.routes.find(route => route.key === previousRouteKey);
|
|
43
|
-
if (prevRoute?.state?.type === 'stack' && prevRoute.state.key) {
|
|
44
|
-
const popToTopAction = {
|
|
45
|
-
...StackActions.popToTop(),
|
|
46
|
-
target: prevRoute.state.key
|
|
47
|
-
};
|
|
48
|
-
navigation.dispatch(popToTopAction);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
previousRouteKeyRef.current = focusedRouteKey;
|
|
52
|
-
}, [descriptors, focusedRouteKey, navigation, state.index, state.routes]);
|
|
53
|
-
return /*#__PURE__*/_jsx(NavigationContent, {
|
|
54
|
-
children: /*#__PURE__*/_jsx(NativeBottomTabView, {
|
|
55
|
-
...rest,
|
|
56
|
-
state: state,
|
|
57
|
-
navigation: navigation,
|
|
58
|
-
descriptors: descriptors
|
|
59
|
-
})
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
export function createNativeBottomTabNavigator(config) {
|
|
63
|
-
return createNavigatorFactory(NativeBottomTabNavigator)(config);
|
|
64
|
-
}
|
|
65
|
-
//# sourceMappingURL=createNativeBottomTabNavigator.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["createNavigatorFactory","StackActions","TabRouter","useNavigationBuilder","React","NativeBottomTabView","jsx","_jsx","NativeBottomTabNavigator","id","initialRouteName","backBehavior","children","layout","screenListeners","screenOptions","screenLayout","UNSTABLE_router","UNSTABLE_routeNamesChangeBehavior","rest","state","navigation","descriptors","NavigationContent","focusedRouteKey","routes","index","key","previousRouteKeyRef","useRef","useEffect","previousRouteKey","current","options","popToTopOnBlur","prevRoute","find","route","type","popToTopAction","popToTop","target","dispatch","createNativeBottomTabNavigator","config"],"sourceRoot":"../../../src","sources":["unstable/createNativeBottomTabNavigator.native.tsx"],"mappings":";;AAAA,SACEA,sBAAsB,EAGtBC,YAAY,EAIZC,SAAS,EAGTC,oBAAoB,QACf,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,SAASC,mBAAmB,QAAQ,iCAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQnE,SAASC,wBAAwBA,CAAC;EAChCC,EAAE;EACFC,gBAAgB;EAChBC,YAAY;EACZC,QAAQ;EACRC,MAAM;EACNC,eAAe;EACfC,aAAa;EACbC,YAAY;EACZC,eAAe;EACfC,iCAAiC;EACjC,GAAGC;AAC0B,CAAC,EAAE;EAChC,MAAM;IAAEC,KAAK;IAAEC,UAAU;IAAEC,WAAW;IAAEC;EAAkB,CAAC,GACzDpB,oBAAoB,CAMlBD,SAAS,EAAE;IACXO,EAAE;IACFC,gBAAgB;IAChBC,YAAY;IACZC,QAAQ;IACRC,MAAM;IACNC,eAAe;IACfC,aAAa;IACbC,YAAY;IACZC,eAAe;IACfC;EACF,CAAC,CAAC;EAEJ,MAAMM,eAAe,GAAGJ,KAAK,CAACK,MAAM,CAACL,KAAK,CAACM,KAAK,CAAC,CAACC,GAAG;EACrD,MAAMC,mBAAmB,GAAGxB,KAAK,CAACyB,MAAM,CAACL,eAAe,CAAC;EAEzDpB,KAAK,CAAC0B,SAAS,CAAC,MAAM;IACpB,MAAMC,gBAAgB,GAAGH,mBAAmB,CAACI,OAAO;IAEpD,IACED,gBAAgB,KAAKP,eAAe,IACpCF,WAAW,CAACS,gBAAgB,CAAC,EAAEE,OAAO,CAACC,cAAc,EACrD;MACA,MAAMC,SAAS,GAAGf,KAAK,CAACK,MAAM,CAACW,IAAI,CAChCC,KAAK,IAAKA,KAAK,CAACV,GAAG,KAAKI,gBAC3B,CAAC;MAED,IAAII,SAAS,EAAEf,KAAK,EAAEkB,IAAI,KAAK,OAAO,IAAIH,SAAS,CAACf,KAAK,CAACO,GAAG,EAAE;QAC7D,MAAMY,cAAc,GAAG;UACrB,GAAGtC,YAAY,CAACuC,QAAQ,CAAC,CAAC;UAC1BC,MAAM,EAAEN,SAAS,CAACf,KAAK,CAACO;QAC1B,CAAC;QACDN,UAAU,CAACqB,QAAQ,CAACH,cAAc,CAAC;MACrC;IACF;IAEAX,mBAAmB,CAACI,OAAO,GAAGR,eAAe;EAC/C,CAAC,EAAE,CAACF,WAAW,EAAEE,eAAe,EAAEH,UAAU,EAAED,KAAK,CAACM,KAAK,EAAEN,KAAK,CAACK,MAAM,CAAC,CAAC;EAEzE,oBACElB,IAAA,CAACgB,iBAAiB;IAAAX,QAAA,eAChBL,IAAA,CAACF,mBAAmB;MAAA,GACdc,IAAI;MACRC,KAAK,EAAEA,KAAM;MACbC,UAAU,EAAEA,UAAW;MACvBC,WAAW,EAAEA;IAAY,CAC1B;EAAC,CACe,CAAC;AAExB;AAEA,OAAO,SAASqB,8BAA8BA,CAmB5CC,MAAe,EAAmC;EAClD,OAAO5C,sBAAsB,CAACQ,wBAAwB,CAAC,CAACoC,MAAM,CAAC;AACjE","ignoreList":[]}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Navigators
|
|
5
|
-
*/
|
|
6
|
-
export { createNativeBottomTabNavigator } from './createNativeBottomTabNavigator';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Views
|
|
10
|
-
*/
|
|
11
|
-
export { NativeBottomTabView } from './NativeBottomTabView';
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Types
|
|
15
|
-
*/
|
|
16
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["createNativeBottomTabNavigator","NativeBottomTabView"],"sourceRoot":"../../../src","sources":["unstable/index.tsx"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,8BAA8B,QAAQ,kCAAkC;;AAEjF;AACA;AACA;AACA,SAASC,mBAAmB,QAAQ,uBAAuB;;AAE3D;AACA;AACA","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["unstable/types.tsx"],"mappings":"","ignoreList":[]}
|