react-native-screens 3.12.0 → 3.14.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 +2 -2
- package/RNScreens.podspec +5 -4
- package/android/build.gradle +18 -1
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +8 -4
- package/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt +24 -6
- package/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.kt +18 -20
- package/android/src/main/jni/Android.mk +1 -2
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerDelegate.java +39 -14
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerInterface.java +15 -6
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerDelegate.java +3 -3
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerInterface.java +1 -1
- package/common/cpp/Android.mk +1 -2
- package/createNativeStackNavigator/README.md +4 -0
- package/ios/RNSConvert.h +30 -0
- package/ios/RNSConvert.mm +120 -0
- package/ios/RNSEnums.h +59 -0
- package/ios/RNSFullWindowOverlay.h +17 -2
- package/ios/RNSFullWindowOverlay.mm +199 -0
- package/ios/RNSScreen.h +70 -79
- package/ios/{RNSScreen.m → RNSScreen.mm} +679 -302
- package/ios/RNSScreenContainer.h +15 -1
- package/ios/{RNSScreenContainer.m → RNSScreenContainer.mm} +99 -8
- package/ios/{RNSScreenNavigationContainer.m → RNSScreenNavigationContainer.mm} +22 -0
- package/ios/RNSScreenStack.h +19 -3
- package/ios/{RNSScreenStack.m → RNSScreenStack.mm} +387 -124
- package/ios/{RNSScreenStackAnimator.m → RNSScreenStackAnimator.mm} +19 -14
- package/ios/RNSScreenStackHeaderConfig.h +20 -21
- package/ios/{RNSScreenStackHeaderConfig.m → RNSScreenStackHeaderConfig.mm} +232 -117
- package/ios/RNSScreenStackHeaderSubview.h +45 -0
- package/ios/RNSScreenStackHeaderSubview.mm +137 -0
- package/ios/RNSScreenViewEvent.h +12 -0
- package/ios/RNSScreenViewEvent.mm +59 -0
- package/ios/{RNSScreenWindowTraits.m → RNSScreenWindowTraits.mm} +3 -2
- package/ios/RNSSearchBar.h +14 -1
- package/ios/RNSSearchBar.mm +351 -0
- package/ios/{UIViewController+RNScreens.m → UIViewController+RNScreens.mm} +0 -0
- package/ios/{UIWindow+RNScreens.m → UIWindow+RNScreens.mm} +0 -0
- package/lib/commonjs/fabric/FullWindowOverlay.js +26 -0
- package/lib/commonjs/fabric/FullWindowOverlay.js.map +1 -0
- package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js +21 -0
- package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js.map +1 -0
- package/lib/commonjs/fabric/Screen.js +10 -8
- package/lib/commonjs/fabric/Screen.js.map +1 -1
- package/lib/commonjs/fabric/ScreenContainer.js +28 -0
- package/lib/commonjs/fabric/ScreenContainer.js.map +1 -0
- package/lib/commonjs/fabric/ScreenContainerNativeComponent.js +21 -0
- package/lib/commonjs/fabric/ScreenContainerNativeComponent.js.map +1 -0
- package/lib/commonjs/fabric/ScreenNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ScreenNavigationContainer.js +28 -0
- package/lib/commonjs/fabric/ScreenNavigationContainer.js.map +1 -0
- package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js +21 -0
- package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -0
- package/lib/commonjs/fabric/ScreenStack.js +6 -7
- package/lib/commonjs/fabric/ScreenStack.js.map +1 -1
- package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ScreenStackHeaderSubview.js +4 -1
- package/lib/commonjs/fabric/ScreenStackHeaderSubview.js.map +1 -1
- package/lib/commonjs/fabric/ScreenStackNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/SearchBar.js +37 -0
- package/lib/commonjs/fabric/SearchBar.js.map +1 -0
- package/lib/commonjs/fabric/SearchBarNativeComponent.js +25 -0
- package/lib/commonjs/fabric/SearchBarNativeComponent.js.map +1 -0
- package/lib/commonjs/fabric/index.js +32 -0
- package/lib/commonjs/fabric/index.js.map +1 -1
- package/lib/commonjs/index.native.js +5 -18
- package/lib/commonjs/index.native.js.map +1 -1
- package/lib/commonjs/native-stack/views/NativeStackView.js +30 -0
- package/lib/commonjs/native-stack/views/NativeStackView.js.map +1 -1
- package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js +8 -2
- package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
- package/lib/module/fabric/FullWindowOverlay.js +15 -0
- package/lib/module/fabric/FullWindowOverlay.js.map +1 -0
- package/lib/module/fabric/FullWindowOverlayNativeComponent.js +9 -0
- package/lib/module/fabric/FullWindowOverlayNativeComponent.js.map +1 -0
- package/lib/module/fabric/Screen.js +8 -3
- package/lib/module/fabric/Screen.js.map +1 -1
- package/lib/module/fabric/ScreenContainer.js +17 -0
- package/lib/module/fabric/ScreenContainer.js.map +1 -0
- package/lib/module/fabric/ScreenContainerNativeComponent.js +9 -0
- package/lib/module/fabric/ScreenContainerNativeComponent.js.map +1 -0
- package/lib/module/fabric/ScreenNativeComponent.js.map +1 -1
- package/lib/module/fabric/ScreenNavigationContainer.js +17 -0
- package/lib/module/fabric/ScreenNavigationContainer.js.map +1 -0
- package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js +9 -0
- package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -0
- package/lib/module/fabric/ScreenStack.js +5 -2
- package/lib/module/fabric/ScreenStack.js.map +1 -1
- package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
- package/lib/module/fabric/ScreenStackHeaderSubview.js +4 -1
- package/lib/module/fabric/ScreenStackHeaderSubview.js.map +1 -1
- package/lib/module/fabric/ScreenStackNativeComponent.js.map +1 -1
- package/lib/module/fabric/SearchBar.js +24 -0
- package/lib/module/fabric/SearchBar.js.map +1 -0
- package/lib/module/fabric/SearchBarNativeComponent.js +11 -0
- package/lib/module/fabric/SearchBarNativeComponent.js.map +1 -0
- package/lib/module/fabric/index.js +5 -1
- package/lib/module/fabric/index.js.map +1 -1
- package/lib/module/index.native.js +6 -20
- package/lib/module/index.native.js.map +1 -1
- package/lib/module/native-stack/views/NativeStackView.js +30 -0
- package/lib/module/native-stack/views/NativeStackView.js.map +1 -1
- package/lib/module/reanimated/ReanimatedNativeStackScreen.js +7 -2
- package/lib/module/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
- package/lib/typescript/native-stack/types.d.ts +12 -0
- package/lib/typescript/reanimated/ReanimatedNativeStackScreen.d.ts +1 -1
- package/lib/typescript/reanimated/ReanimatedScreen.d.ts +1 -1
- package/lib/typescript/types.d.ts +24 -0
- package/native-stack/README.md +21 -0
- package/package.json +3 -4
- package/src/fabric/FullWindowOverlay.js +13 -0
- package/src/fabric/FullWindowOverlayNativeComponent.js +19 -0
- package/src/fabric/Screen.js +5 -2
- package/src/fabric/ScreenContainer.js +16 -0
- package/src/fabric/ScreenContainerNativeComponent.js +19 -0
- package/src/fabric/ScreenNativeComponent.js +41 -8
- package/src/fabric/ScreenNavigationContainer.js +16 -0
- package/src/fabric/ScreenNavigationContainerNativeComponent.js +19 -0
- package/src/fabric/ScreenStack.js +4 -2
- package/src/fabric/ScreenStackHeaderConfigNativeComponent.js +1 -1
- package/src/fabric/ScreenStackHeaderSubview.js +3 -1
- package/src/fabric/ScreenStackNativeComponent.js +4 -0
- package/src/fabric/SearchBar.js +20 -0
- package/src/fabric/SearchBarNativeComponent.js +62 -0
- package/src/fabric/index.js +8 -0
- package/src/index.native.tsx +13 -19
- package/src/native-stack/types.tsx +12 -0
- package/src/native-stack/views/NativeStackView.tsx +27 -0
- package/src/reanimated/ReanimatedNativeStackScreen.tsx +6 -0
- package/src/types.tsx +25 -0
- package/ios/RNSFullWindowOverlay.m +0 -105
- package/ios/RNSScreenComponentView.h +0 -23
- package/ios/RNSScreenComponentView.mm +0 -159
- package/ios/RNSScreenController.h +0 -10
- package/ios/RNSScreenController.mm +0 -79
- package/ios/RNSScreenStackComponentView.h +0 -15
- package/ios/RNSScreenStackComponentView.mm +0 -295
- package/ios/RNSScreenStackHeaderConfigComponentView.h +0 -42
- package/ios/RNSScreenStackHeaderConfigComponentView.mm +0 -662
- package/ios/RNSScreenStackHeaderSubviewComponentView.h +0 -14
- package/ios/RNSScreenStackHeaderSubviewComponentView.mm +0 -77
- package/ios/RNSSearchBar.m +0 -198
|
@@ -118,6 +118,7 @@ const RouteView = ({
|
|
|
118
118
|
const {
|
|
119
119
|
gestureEnabled,
|
|
120
120
|
headerShown,
|
|
121
|
+
hideKeyboardOnSwipe,
|
|
121
122
|
homeIndicatorHidden,
|
|
122
123
|
nativeBackButtonDismissalEnabled = false,
|
|
123
124
|
navigationBarColor,
|
|
@@ -135,6 +136,7 @@ const RouteView = ({
|
|
|
135
136
|
let {
|
|
136
137
|
customAnimationOnSwipe,
|
|
137
138
|
fullScreenSwipeEnabled,
|
|
139
|
+
gestureResponseDistance,
|
|
138
140
|
stackAnimation,
|
|
139
141
|
stackPresentation = 'push'
|
|
140
142
|
} = options;
|
|
@@ -158,6 +160,32 @@ const RouteView = ({
|
|
|
158
160
|
}
|
|
159
161
|
}
|
|
160
162
|
|
|
163
|
+
if (gestureResponseDistance === undefined) {
|
|
164
|
+
// default values, required for unification of Fabric & Paper implementation
|
|
165
|
+
gestureResponseDistance = {
|
|
166
|
+
start: -1,
|
|
167
|
+
end: -1,
|
|
168
|
+
top: -1,
|
|
169
|
+
bottom: -1
|
|
170
|
+
};
|
|
171
|
+
} else {
|
|
172
|
+
if (gestureResponseDistance.start === undefined) {
|
|
173
|
+
gestureResponseDistance.start = -1;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
if (gestureResponseDistance.end === undefined) {
|
|
177
|
+
gestureResponseDistance.end = -1;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
if (gestureResponseDistance.top === undefined) {
|
|
181
|
+
gestureResponseDistance.top = -1;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
if (gestureResponseDistance.bottom === undefined) {
|
|
185
|
+
gestureResponseDistance.bottom = -1;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
161
189
|
if (index === 0) {
|
|
162
190
|
// first screen should always be treated as `push`, it resolves problems with no header animation
|
|
163
191
|
// for navigator with first screen as `modal` and the next as `push`
|
|
@@ -177,8 +205,10 @@ const RouteView = ({
|
|
|
177
205
|
style: _reactNative.StyleSheet.absoluteFill,
|
|
178
206
|
customAnimationOnSwipe: customAnimationOnSwipe,
|
|
179
207
|
fullScreenSwipeEnabled: fullScreenSwipeEnabled,
|
|
208
|
+
hideKeyboardOnSwipe: hideKeyboardOnSwipe,
|
|
180
209
|
homeIndicatorHidden: homeIndicatorHidden,
|
|
181
210
|
gestureEnabled: isAndroid ? false : gestureEnabled,
|
|
211
|
+
gestureResponseDistance: gestureResponseDistance,
|
|
182
212
|
nativeBackButtonDismissalEnabled: nativeBackButtonDismissalEnabled,
|
|
183
213
|
navigationBarColor: navigationBarColor,
|
|
184
214
|
navigationBarHidden: navigationBarHidden,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["NativeStackView.tsx"],"names":["isAndroid","Platform","OS","Container","View","__DEV__","DebugContainer","props","stackPresentation","rest","MaybeNestedStack","options","route","children","colors","headerShown","contentStyle","Screen","React","useContext","ScreenContext","isHeaderInModal","headerShownPreviousRef","useRef","useEffect","current","name","content","styles","container","backgroundColor","background","topInset","top","dimensions","headerHeight","StyleSheet","absoluteFill","RouteView","descriptors","index","navigation","stateKey","render","renderScene","key","gestureEnabled","homeIndicatorHidden","nativeBackButtonDismissalEnabled","navigationBarColor","navigationBarHidden","replaceAnimation","screenOrientation","statusBarAnimation","statusBarColor","statusBarHidden","statusBarStyle","statusBarTranslucent","swipeDirection","transitionDuration","customAnimationOnSwipe","fullScreenSwipeEnabled","stackAnimation","undefined","isHeaderInPush","parentHeaderHeight","HeaderHeightContext","dispatch","StackActions","pop","source","target","emit","type","data","closing","e","dismissCount","nativeEvent","NativeStackViewInner","state","routes","map","NativeStackView","create","flex"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { Platform, StyleSheet, View, ViewProps } from 'react-native';\n// @ts-ignore Getting private component\nimport AppContainer from 'react-native/Libraries/ReactNative/AppContainer';\nimport warnOnce from 'warn-once';\nimport {\n ScreenStack,\n StackPresentationTypes,\n ScreenContext,\n} from 'react-native-screens';\nimport {\n ParamListBase,\n StackActions,\n StackNavigationState,\n useTheme,\n Route,\n NavigationState,\n PartialState,\n} from '@react-navigation/native';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\n\nimport {\n NativeStackDescriptorMap,\n NativeStackNavigationHelpers,\n NativeStackNavigationOptions,\n} from '../types';\nimport HeaderConfig from './HeaderConfig';\nimport SafeAreaProviderCompat from '../utils/SafeAreaProviderCompat';\nimport getDefaultHeaderHeight from '../utils/getDefaultHeaderHeight';\nimport HeaderHeightContext from '../utils/HeaderHeightContext';\n\nconst isAndroid = Platform.OS === 'android';\n\nlet Container = View;\n\nif (__DEV__) {\n const DebugContainer = (\n props: ViewProps & { stackPresentation: StackPresentationTypes }\n ) => {\n const { stackPresentation, ...rest } = props;\n if (Platform.OS === 'ios' && stackPresentation !== 'push') {\n return (\n <AppContainer>\n <View {...rest} />\n </AppContainer>\n );\n }\n return <View {...rest} />;\n };\n // @ts-ignore Wrong props\n Container = DebugContainer;\n}\n\nconst MaybeNestedStack = ({\n options,\n route,\n stackPresentation,\n children,\n}: {\n options: NativeStackNavigationOptions;\n route: Route<string>;\n stackPresentation: StackPresentationTypes;\n children: React.ReactNode;\n}) => {\n const { colors } = useTheme();\n const { headerShown = true, contentStyle } = options;\n\n const Screen = React.useContext(ScreenContext);\n\n const isHeaderInModal = isAndroid\n ? false\n : stackPresentation !== 'push' && headerShown === true;\n\n const headerShownPreviousRef = React.useRef(headerShown);\n\n React.useEffect(() => {\n warnOnce(\n !isAndroid &&\n stackPresentation !== 'push' &&\n headerShownPreviousRef.current !== headerShown,\n `Dynamically changing 'headerShown' in modals will result in remounting the screen and losing all local state. See options for the screen '${route.name}'.`\n );\n\n headerShownPreviousRef.current = headerShown;\n }, [headerShown, stackPresentation, route.name]);\n\n const content = (\n <Container\n style={[\n styles.container,\n stackPresentation !== 'transparentModal' &&\n stackPresentation !== 'containedTransparentModal' && {\n backgroundColor: colors.background,\n },\n contentStyle,\n ]}\n // @ts-ignore Wrong props passed to View\n stackPresentation={stackPresentation}>\n {children}\n </Container>\n );\n\n const topInset = useSafeAreaInsets().top;\n const dimensions = useSafeAreaFrame();\n const headerHeight = getDefaultHeaderHeight(\n dimensions,\n topInset,\n stackPresentation\n );\n\n if (isHeaderInModal) {\n return (\n <ScreenStack style={styles.container}>\n <Screen enabled isNativeStack style={StyleSheet.absoluteFill}>\n <HeaderHeightContext.Provider value={headerHeight}>\n <HeaderConfig {...options} route={route} />\n {content}\n </HeaderHeightContext.Provider>\n </Screen>\n </ScreenStack>\n );\n }\n\n return content;\n};\n\ntype NavigationRoute<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList\n> = Route<Extract<RouteName, string>, ParamList[RouteName]> & {\n state?: NavigationState | PartialState<NavigationState>;\n};\n\nconst RouteView = ({\n descriptors,\n route,\n index,\n navigation,\n stateKey,\n}: {\n descriptors: NativeStackDescriptorMap;\n route: NavigationRoute<ParamListBase, string>;\n index: number;\n navigation: NativeStackNavigationHelpers;\n stateKey: string;\n}) => {\n const { options, render: renderScene } = descriptors[route.key];\n const {\n gestureEnabled,\n headerShown,\n homeIndicatorHidden,\n nativeBackButtonDismissalEnabled = false,\n navigationBarColor,\n navigationBarHidden,\n replaceAnimation = 'pop',\n screenOrientation,\n statusBarAnimation,\n statusBarColor,\n statusBarHidden,\n statusBarStyle,\n statusBarTranslucent,\n swipeDirection = 'horizontal',\n transitionDuration,\n } = options;\n\n let {\n customAnimationOnSwipe,\n fullScreenSwipeEnabled,\n stackAnimation,\n stackPresentation = 'push',\n } = options;\n\n if (swipeDirection === 'vertical') {\n // for `vertical` direction to work, we need to set `fullScreenSwipeEnabled` to `true`\n // so the screen can be dismissed from any point on screen.\n // `customAnimationOnSwipe` needs to be set to `true` so the `stackAnimation` set by user can be used,\n // otherwise `simple_push` will be used.\n // Also, the default animation for this direction seems to be `slide_from_bottom`.\n if (fullScreenSwipeEnabled === undefined) {\n fullScreenSwipeEnabled = true;\n }\n if (customAnimationOnSwipe === undefined) {\n customAnimationOnSwipe = true;\n }\n if (stackAnimation === undefined) {\n stackAnimation = 'slide_from_bottom';\n }\n }\n\n if (index === 0) {\n // first screen should always be treated as `push`, it resolves problems with no header animation\n // for navigator with first screen as `modal` and the next as `push`\n stackPresentation = 'push';\n }\n\n const isHeaderInPush = isAndroid\n ? headerShown\n : stackPresentation === 'push' && headerShown !== false;\n\n const dimensions = useSafeAreaFrame();\n const topInset = useSafeAreaInsets().top;\n const headerHeight = getDefaultHeaderHeight(\n dimensions,\n topInset,\n stackPresentation\n );\n const parentHeaderHeight = React.useContext(HeaderHeightContext);\n const Screen = React.useContext(ScreenContext);\n\n return (\n <Screen\n key={route.key}\n enabled\n isNativeStack\n style={StyleSheet.absoluteFill}\n customAnimationOnSwipe={customAnimationOnSwipe}\n fullScreenSwipeEnabled={fullScreenSwipeEnabled}\n homeIndicatorHidden={homeIndicatorHidden}\n gestureEnabled={isAndroid ? false : gestureEnabled}\n nativeBackButtonDismissalEnabled={nativeBackButtonDismissalEnabled}\n navigationBarColor={navigationBarColor}\n navigationBarHidden={navigationBarHidden}\n replaceAnimation={replaceAnimation}\n screenOrientation={screenOrientation}\n stackAnimation={stackAnimation}\n stackPresentation={stackPresentation}\n statusBarAnimation={statusBarAnimation}\n statusBarColor={statusBarColor}\n statusBarHidden={statusBarHidden}\n statusBarStyle={statusBarStyle}\n statusBarTranslucent={statusBarTranslucent}\n swipeDirection={swipeDirection}\n transitionDuration={transitionDuration}\n onHeaderBackButtonClicked={() => {\n navigation.dispatch({\n ...StackActions.pop(),\n source: route.key,\n target: stateKey,\n });\n }}\n onWillAppear={() => {\n navigation.emit({\n type: 'transitionStart',\n data: { closing: false },\n target: route.key,\n });\n }}\n onWillDisappear={() => {\n navigation.emit({\n type: 'transitionStart',\n data: { closing: true },\n target: route.key,\n });\n }}\n onAppear={() => {\n navigation.emit({\n type: 'appear',\n target: route.key,\n });\n navigation.emit({\n type: 'transitionEnd',\n data: { closing: false },\n target: route.key,\n });\n }}\n onDisappear={() => {\n navigation.emit({\n type: 'transitionEnd',\n data: { closing: true },\n target: route.key,\n });\n }}\n onDismissed={(e) => {\n navigation.emit({\n type: 'dismiss',\n target: route.key,\n });\n\n const dismissCount =\n e.nativeEvent.dismissCount > 0 ? e.nativeEvent.dismissCount : 1;\n\n navigation.dispatch({\n ...StackActions.pop(dismissCount),\n source: route.key,\n target: stateKey,\n });\n }}>\n <HeaderHeightContext.Provider\n value={\n isHeaderInPush !== false ? headerHeight : parentHeaderHeight ?? 0\n }>\n <HeaderConfig {...options} route={route} headerShown={isHeaderInPush} />\n <MaybeNestedStack\n options={options}\n route={route}\n stackPresentation={stackPresentation}>\n {renderScene()}\n </MaybeNestedStack>\n </HeaderHeightContext.Provider>\n </Screen>\n );\n};\n\ntype Props = {\n state: StackNavigationState<ParamListBase>;\n navigation: NativeStackNavigationHelpers;\n descriptors: NativeStackDescriptorMap;\n};\n\nfunction NativeStackViewInner({\n state,\n navigation,\n descriptors,\n}: Props): JSX.Element {\n const { key, routes } = state;\n\n return (\n <ScreenStack style={styles.container}>\n {routes.map((route, index) => (\n <RouteView\n key={route.key}\n descriptors={descriptors}\n route={route}\n index={index}\n navigation={navigation}\n stateKey={key}\n />\n ))}\n </ScreenStack>\n );\n}\n\nexport default function NativeStackView(props: Props) {\n return (\n <SafeAreaProviderCompat>\n <NativeStackViewInner {...props} />\n </SafeAreaProviderCompat>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["NativeStackView.tsx"],"names":["isAndroid","Platform","OS","Container","View","__DEV__","DebugContainer","props","stackPresentation","rest","MaybeNestedStack","options","route","children","colors","headerShown","contentStyle","Screen","React","useContext","ScreenContext","isHeaderInModal","headerShownPreviousRef","useRef","useEffect","current","name","content","styles","container","backgroundColor","background","topInset","top","dimensions","headerHeight","StyleSheet","absoluteFill","RouteView","descriptors","index","navigation","stateKey","render","renderScene","key","gestureEnabled","hideKeyboardOnSwipe","homeIndicatorHidden","nativeBackButtonDismissalEnabled","navigationBarColor","navigationBarHidden","replaceAnimation","screenOrientation","statusBarAnimation","statusBarColor","statusBarHidden","statusBarStyle","statusBarTranslucent","swipeDirection","transitionDuration","customAnimationOnSwipe","fullScreenSwipeEnabled","gestureResponseDistance","stackAnimation","undefined","start","end","bottom","isHeaderInPush","parentHeaderHeight","HeaderHeightContext","dispatch","StackActions","pop","source","target","emit","type","data","closing","e","dismissCount","nativeEvent","NativeStackViewInner","state","routes","map","NativeStackView","create","flex"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { Platform, StyleSheet, View, ViewProps } from 'react-native';\n// @ts-ignore Getting private component\nimport AppContainer from 'react-native/Libraries/ReactNative/AppContainer';\nimport warnOnce from 'warn-once';\nimport {\n ScreenStack,\n StackPresentationTypes,\n ScreenContext,\n} from 'react-native-screens';\nimport {\n ParamListBase,\n StackActions,\n StackNavigationState,\n useTheme,\n Route,\n NavigationState,\n PartialState,\n} from '@react-navigation/native';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\n\nimport {\n NativeStackDescriptorMap,\n NativeStackNavigationHelpers,\n NativeStackNavigationOptions,\n} from '../types';\nimport HeaderConfig from './HeaderConfig';\nimport SafeAreaProviderCompat from '../utils/SafeAreaProviderCompat';\nimport getDefaultHeaderHeight from '../utils/getDefaultHeaderHeight';\nimport HeaderHeightContext from '../utils/HeaderHeightContext';\n\nconst isAndroid = Platform.OS === 'android';\n\nlet Container = View;\n\nif (__DEV__) {\n const DebugContainer = (\n props: ViewProps & { stackPresentation: StackPresentationTypes }\n ) => {\n const { stackPresentation, ...rest } = props;\n if (Platform.OS === 'ios' && stackPresentation !== 'push') {\n return (\n <AppContainer>\n <View {...rest} />\n </AppContainer>\n );\n }\n return <View {...rest} />;\n };\n // @ts-ignore Wrong props\n Container = DebugContainer;\n}\n\nconst MaybeNestedStack = ({\n options,\n route,\n stackPresentation,\n children,\n}: {\n options: NativeStackNavigationOptions;\n route: Route<string>;\n stackPresentation: StackPresentationTypes;\n children: React.ReactNode;\n}) => {\n const { colors } = useTheme();\n const { headerShown = true, contentStyle } = options;\n\n const Screen = React.useContext(ScreenContext);\n\n const isHeaderInModal = isAndroid\n ? false\n : stackPresentation !== 'push' && headerShown === true;\n\n const headerShownPreviousRef = React.useRef(headerShown);\n\n React.useEffect(() => {\n warnOnce(\n !isAndroid &&\n stackPresentation !== 'push' &&\n headerShownPreviousRef.current !== headerShown,\n `Dynamically changing 'headerShown' in modals will result in remounting the screen and losing all local state. See options for the screen '${route.name}'.`\n );\n\n headerShownPreviousRef.current = headerShown;\n }, [headerShown, stackPresentation, route.name]);\n\n const content = (\n <Container\n style={[\n styles.container,\n stackPresentation !== 'transparentModal' &&\n stackPresentation !== 'containedTransparentModal' && {\n backgroundColor: colors.background,\n },\n contentStyle,\n ]}\n // @ts-ignore Wrong props passed to View\n stackPresentation={stackPresentation}>\n {children}\n </Container>\n );\n\n const topInset = useSafeAreaInsets().top;\n const dimensions = useSafeAreaFrame();\n const headerHeight = getDefaultHeaderHeight(\n dimensions,\n topInset,\n stackPresentation\n );\n\n if (isHeaderInModal) {\n return (\n <ScreenStack style={styles.container}>\n <Screen enabled isNativeStack style={StyleSheet.absoluteFill}>\n <HeaderHeightContext.Provider value={headerHeight}>\n <HeaderConfig {...options} route={route} />\n {content}\n </HeaderHeightContext.Provider>\n </Screen>\n </ScreenStack>\n );\n }\n\n return content;\n};\n\ntype NavigationRoute<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList\n> = Route<Extract<RouteName, string>, ParamList[RouteName]> & {\n state?: NavigationState | PartialState<NavigationState>;\n};\n\nconst RouteView = ({\n descriptors,\n route,\n index,\n navigation,\n stateKey,\n}: {\n descriptors: NativeStackDescriptorMap;\n route: NavigationRoute<ParamListBase, string>;\n index: number;\n navigation: NativeStackNavigationHelpers;\n stateKey: string;\n}) => {\n const { options, render: renderScene } = descriptors[route.key];\n const {\n gestureEnabled,\n headerShown,\n hideKeyboardOnSwipe,\n homeIndicatorHidden,\n nativeBackButtonDismissalEnabled = false,\n navigationBarColor,\n navigationBarHidden,\n replaceAnimation = 'pop',\n screenOrientation,\n statusBarAnimation,\n statusBarColor,\n statusBarHidden,\n statusBarStyle,\n statusBarTranslucent,\n swipeDirection = 'horizontal',\n transitionDuration,\n } = options;\n\n let {\n customAnimationOnSwipe,\n fullScreenSwipeEnabled,\n gestureResponseDistance,\n stackAnimation,\n stackPresentation = 'push',\n } = options;\n\n if (swipeDirection === 'vertical') {\n // for `vertical` direction to work, we need to set `fullScreenSwipeEnabled` to `true`\n // so the screen can be dismissed from any point on screen.\n // `customAnimationOnSwipe` needs to be set to `true` so the `stackAnimation` set by user can be used,\n // otherwise `simple_push` will be used.\n // Also, the default animation for this direction seems to be `slide_from_bottom`.\n if (fullScreenSwipeEnabled === undefined) {\n fullScreenSwipeEnabled = true;\n }\n if (customAnimationOnSwipe === undefined) {\n customAnimationOnSwipe = true;\n }\n if (stackAnimation === undefined) {\n stackAnimation = 'slide_from_bottom';\n }\n }\n\n if (gestureResponseDistance === undefined) {\n // default values, required for unification of Fabric & Paper implementation\n gestureResponseDistance = {\n start: -1,\n end: -1,\n top: -1,\n bottom: -1,\n };\n } else {\n if (gestureResponseDistance.start === undefined) {\n gestureResponseDistance.start = -1;\n }\n if (gestureResponseDistance.end === undefined) {\n gestureResponseDistance.end = -1;\n }\n if (gestureResponseDistance.top === undefined) {\n gestureResponseDistance.top = -1;\n }\n if (gestureResponseDistance.bottom === undefined) {\n gestureResponseDistance.bottom = -1;\n }\n }\n\n if (index === 0) {\n // first screen should always be treated as `push`, it resolves problems with no header animation\n // for navigator with first screen as `modal` and the next as `push`\n stackPresentation = 'push';\n }\n\n const isHeaderInPush = isAndroid\n ? headerShown\n : stackPresentation === 'push' && headerShown !== false;\n\n const dimensions = useSafeAreaFrame();\n const topInset = useSafeAreaInsets().top;\n const headerHeight = getDefaultHeaderHeight(\n dimensions,\n topInset,\n stackPresentation\n );\n const parentHeaderHeight = React.useContext(HeaderHeightContext);\n const Screen = React.useContext(ScreenContext);\n\n return (\n <Screen\n key={route.key}\n enabled\n isNativeStack\n style={StyleSheet.absoluteFill}\n customAnimationOnSwipe={customAnimationOnSwipe}\n fullScreenSwipeEnabled={fullScreenSwipeEnabled}\n hideKeyboardOnSwipe={hideKeyboardOnSwipe}\n homeIndicatorHidden={homeIndicatorHidden}\n gestureEnabled={isAndroid ? false : gestureEnabled}\n gestureResponseDistance={gestureResponseDistance}\n nativeBackButtonDismissalEnabled={nativeBackButtonDismissalEnabled}\n navigationBarColor={navigationBarColor}\n navigationBarHidden={navigationBarHidden}\n replaceAnimation={replaceAnimation}\n screenOrientation={screenOrientation}\n stackAnimation={stackAnimation}\n stackPresentation={stackPresentation}\n statusBarAnimation={statusBarAnimation}\n statusBarColor={statusBarColor}\n statusBarHidden={statusBarHidden}\n statusBarStyle={statusBarStyle}\n statusBarTranslucent={statusBarTranslucent}\n swipeDirection={swipeDirection}\n transitionDuration={transitionDuration}\n onHeaderBackButtonClicked={() => {\n navigation.dispatch({\n ...StackActions.pop(),\n source: route.key,\n target: stateKey,\n });\n }}\n onWillAppear={() => {\n navigation.emit({\n type: 'transitionStart',\n data: { closing: false },\n target: route.key,\n });\n }}\n onWillDisappear={() => {\n navigation.emit({\n type: 'transitionStart',\n data: { closing: true },\n target: route.key,\n });\n }}\n onAppear={() => {\n navigation.emit({\n type: 'appear',\n target: route.key,\n });\n navigation.emit({\n type: 'transitionEnd',\n data: { closing: false },\n target: route.key,\n });\n }}\n onDisappear={() => {\n navigation.emit({\n type: 'transitionEnd',\n data: { closing: true },\n target: route.key,\n });\n }}\n onDismissed={(e) => {\n navigation.emit({\n type: 'dismiss',\n target: route.key,\n });\n\n const dismissCount =\n e.nativeEvent.dismissCount > 0 ? e.nativeEvent.dismissCount : 1;\n\n navigation.dispatch({\n ...StackActions.pop(dismissCount),\n source: route.key,\n target: stateKey,\n });\n }}>\n <HeaderHeightContext.Provider\n value={\n isHeaderInPush !== false ? headerHeight : parentHeaderHeight ?? 0\n }>\n <HeaderConfig {...options} route={route} headerShown={isHeaderInPush} />\n <MaybeNestedStack\n options={options}\n route={route}\n stackPresentation={stackPresentation}>\n {renderScene()}\n </MaybeNestedStack>\n </HeaderHeightContext.Provider>\n </Screen>\n );\n};\n\ntype Props = {\n state: StackNavigationState<ParamListBase>;\n navigation: NativeStackNavigationHelpers;\n descriptors: NativeStackDescriptorMap;\n};\n\nfunction NativeStackViewInner({\n state,\n navigation,\n descriptors,\n}: Props): JSX.Element {\n const { key, routes } = state;\n\n return (\n <ScreenStack style={styles.container}>\n {routes.map((route, index) => (\n <RouteView\n key={route.key}\n descriptors={descriptors}\n route={route}\n index={index}\n navigation={navigation}\n stateKey={key}\n />\n ))}\n </ScreenStack>\n );\n}\n\nexport default function NativeStackView(props: Props) {\n return (\n <SafeAreaProviderCompat>\n <NativeStackViewInner {...props} />\n </SafeAreaProviderCompat>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n});\n"]}
|
|
@@ -15,6 +15,8 @@ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reani
|
|
|
15
15
|
|
|
16
16
|
var _ReanimatedTransitionProgressContext = _interopRequireDefault(require("./ReanimatedTransitionProgressContext"));
|
|
17
17
|
|
|
18
|
+
var _global;
|
|
19
|
+
|
|
18
20
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
19
21
|
|
|
20
22
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -23,7 +25,10 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
23
25
|
|
|
24
26
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
25
27
|
|
|
26
|
-
const AnimatedScreen = _reactNativeReanimated.default.createAnimatedComponent(_reactNativeScreens.Screen);
|
|
28
|
+
const AnimatedScreen = _reactNativeReanimated.default.createAnimatedComponent(_reactNativeScreens.Screen); // @ts-expect-error nativeFabricUIManager is not yet included in the RN types
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
const ENABLE_FABRIC = !!((_global = global) !== null && _global !== void 0 && _global.nativeFabricUIManager);
|
|
27
32
|
|
|
28
33
|
const ReanimatedNativeStackScreen = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
29
34
|
const {
|
|
@@ -44,7 +49,8 @@ const ReanimatedNativeStackScreen = /*#__PURE__*/_react.default.forwardRef((prop
|
|
|
44
49
|
goingForward.value = event.goingForward;
|
|
45
50
|
}, [// This should not be necessary, but is not properly managed by `react-native-reanimated`
|
|
46
51
|
// @ts-ignore wrong type
|
|
47
|
-
_reactNative.Platform.OS === 'android' ? 'onTransitionProgress' :
|
|
52
|
+
_reactNative.Platform.OS === 'android' ? 'onTransitionProgress' : // for some reason there is a difference in required event name between architectures
|
|
53
|
+
ENABLE_FABRIC ? 'onTransitionProgress' : 'topTransitionProgress'])
|
|
48
54
|
}, rest), /*#__PURE__*/_react.default.createElement(_ReanimatedTransitionProgressContext.default.Provider, {
|
|
49
55
|
value: {
|
|
50
56
|
progress: progress,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ReanimatedNativeStackScreen.tsx"],"names":["AnimatedScreen","Animated","createAnimatedComponent","Screen","ReanimatedNativeStackScreen","React","forwardRef","props","ref","children","rest","progress","closing","goingForward","event","value","Platform","OS","displayName"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAOA;;AACA
|
|
1
|
+
{"version":3,"sources":["ReanimatedNativeStackScreen.tsx"],"names":["AnimatedScreen","Animated","createAnimatedComponent","Screen","ENABLE_FABRIC","global","nativeFabricUIManager","ReanimatedNativeStackScreen","React","forwardRef","props","ref","children","rest","progress","closing","goingForward","event","value","Platform","OS","displayName"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAOA;;AACA;;;;;;;;;;;;AAEA,MAAMA,cAAc,GAAGC,+BAASC,uBAAT,CACpBC,0BADoB,CAAvB,C,CAIA;;;AACA,MAAMC,aAAa,GAAG,CAAC,aAACC,MAAD,oCAAC,QAAQC,qBAAT,CAAvB;;AAEA,MAAMC,2BAA2B,gBAAGC,eAAMC,UAAN,CAGlC,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAChB,QAAM;AAAEC,IAAAA,QAAF;AAAY,OAAGC;AAAf,MAAwBH,KAA9B;AAEA,QAAMI,QAAQ,GAAG,2CAAe,CAAf,CAAjB;AACA,QAAMC,OAAO,GAAG,2CAAe,CAAf,CAAhB;AACA,QAAMC,YAAY,GAAG,2CAAe,CAAf,CAArB;AAEA,sBACE,6BAAC,cAAD,CACE;AADF;AAEE,IAAA,GAAG,EAAEL,GAFP;AAGE,IAAA,8BAA8B,EAAE,qCAC7BM,KAAD,IAAwC;AACtC;;AACAH,MAAAA,QAAQ,CAACI,KAAT,GAAiBD,KAAK,CAACH,QAAvB;AACAC,MAAAA,OAAO,CAACG,KAAR,GAAgBD,KAAK,CAACF,OAAtB;AACAC,MAAAA,YAAY,CAACE,KAAb,GAAqBD,KAAK,CAACD,YAA3B;AACD,KAN6B,EAO9B,CACE;AACA;AACAG,0BAASC,EAAT,KAAgB,SAAhB,GACI,sBADJ,GAEI;AACFhB,IAAAA,aAAa,GACX,sBADW,GAEX,uBARN,CAP8B;AAHlC,KAqBMS,IArBN,gBAsBE,6BAAC,4CAAD,CAAqC,QAArC;AACE,IAAA,KAAK,EAAE;AACLC,MAAAA,QAAQ,EAAEA,QADL;AAELC,MAAAA,OAAO,EAAEA,OAFJ;AAGLC,MAAAA,YAAY,EAAEA;AAHT;AADT,KAMGJ,QANH,CAtBF,CADF;AAiCD,CA3CmC,CAApC;;AA6CAL,2BAA2B,CAACc,WAA5B,GAA0C,6BAA1C;eAEed,2B","sourcesContent":["import React from 'react';\nimport { Platform } from 'react-native';\nimport {\n Screen,\n ScreenProps,\n TransitionProgressEventType,\n} from 'react-native-screens';\n\n// @ts-ignore file to be used only if `react-native-reanimated` available in the project\nimport Animated, { useEvent, useSharedValue } from 'react-native-reanimated';\nimport ReanimatedTransitionProgressContext from './ReanimatedTransitionProgressContext';\n\nconst AnimatedScreen = Animated.createAnimatedComponent(\n (Screen as unknown) as React.ComponentClass\n);\n\n// @ts-expect-error nativeFabricUIManager is not yet included in the RN types\nconst ENABLE_FABRIC = !!global?.nativeFabricUIManager;\n\nconst ReanimatedNativeStackScreen = React.forwardRef<\n typeof AnimatedScreen,\n ScreenProps\n>((props, ref) => {\n const { children, ...rest } = props;\n\n const progress = useSharedValue(0);\n const closing = useSharedValue(0);\n const goingForward = useSharedValue(0);\n\n return (\n <AnimatedScreen\n // @ts-ignore some problems with ref and onTransitionProgressReanimated being \"fake\" prop for parsing of `useEvent` return value\n ref={ref}\n onTransitionProgressReanimated={useEvent(\n (event: TransitionProgressEventType) => {\n 'worklet';\n progress.value = event.progress;\n closing.value = event.closing;\n goingForward.value = event.goingForward;\n },\n [\n // This should not be necessary, but is not properly managed by `react-native-reanimated`\n // @ts-ignore wrong type\n Platform.OS === 'android'\n ? 'onTransitionProgress'\n : // for some reason there is a difference in required event name between architectures\n ENABLE_FABRIC\n ? 'onTransitionProgress'\n : 'topTransitionProgress',\n ]\n )}\n {...rest}>\n <ReanimatedTransitionProgressContext.Provider\n value={{\n progress: progress,\n closing: closing,\n goingForward: goingForward,\n }}>\n {children}\n </ReanimatedTransitionProgressContext.Provider>\n </AnimatedScreen>\n );\n});\n\nReanimatedNativeStackScreen.displayName = 'ReanimatedNativeStackScreen';\n\nexport default ReanimatedNativeStackScreen;\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import FullWindowOverlayNativeComponent from './FullWindowOverlayNativeComponent';
|
|
5
|
+
|
|
6
|
+
function FullWindowOverlay(props) {
|
|
7
|
+
return /*#__PURE__*/React.createElement(FullWindowOverlayNativeComponent, _extends({}, props, {
|
|
8
|
+
style: [{
|
|
9
|
+
flex: 1
|
|
10
|
+
}, props.style]
|
|
11
|
+
}));
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export default FullWindowOverlay;
|
|
15
|
+
//# sourceMappingURL=FullWindowOverlay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["FullWindowOverlay.js"],"names":["React","FullWindowOverlayNativeComponent","FullWindowOverlay","props","flex","style"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,gCAAP,MAA6C,oCAA7C;;AAEA,SAASC,iBAAT,CAA2BC,KAA3B,EAAkC;AAChC,sBACE,oBAAC,gCAAD,eACMA,KADN;AAEE,IAAA,KAAK,EAAE,CAAC;AAAEC,MAAAA,IAAI,EAAE;AAAR,KAAD,EAAcD,KAAK,CAACE,KAApB;AAFT,KADF;AAMD;;AAED,eAAeH,iBAAf","sourcesContent":["import React from 'react';\nimport FullWindowOverlayNativeComponent from './FullWindowOverlayNativeComponent';\n\nfunction FullWindowOverlay(props) {\n return (\n <FullWindowOverlayNativeComponent\n {...props}\n style={[{ flex: 1 }, props.style]}\n />\n );\n}\n\nexport default FullWindowOverlay;\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @format
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/* eslint-disable */
|
|
7
|
+
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
8
|
+
export default codegenNativeComponent('RNSFullWindowOverlay', {});
|
|
9
|
+
//# sourceMappingURL=FullWindowOverlayNativeComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["FullWindowOverlayNativeComponent.js"],"names":["codegenNativeComponent"],"mappings":"AAAA;AACA;AACA;AACA;;AACA;AACA,OAAOA,sBAAP,MAAmC,yDAAnC;AAUA,eAAgBA,sBAAsB,CACpC,sBADoC,EAEpC,EAFoC,CAAtC","sourcesContent":["/**\n * @flow strict-local\n * @format\n */\n/* eslint-disable */\nimport codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ViewProps } from 'react-native/Libraries/Components/View/ViewPropTypes';\nimport type { HostComponent } from 'react-native/Libraries/Renderer/shims/ReactNativeTypes';\n\ntype NativeProps = $ReadOnly<{|\n ...ViewProps,\n|}>;\n\ntype ComponentType = HostComponent<NativeProps>;\n\nexport default (codegenNativeComponent<NativeProps>(\n 'RNSFullWindowOverlay',\n {}\n): ComponentType);\n"]}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import React from 'react';
|
|
4
4
|
import ScreenNativeComponent from './ScreenNativeComponent';
|
|
5
5
|
import { StyleSheet } from 'react-native';
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
|
|
7
|
+
function Screen(props, ref) {
|
|
8
|
+
return /*#__PURE__*/React.createElement(ScreenNativeComponent, _extends({
|
|
9
|
+
ref: ref
|
|
10
|
+
}, props, {
|
|
8
11
|
style: [props.style, StyleSheet.absoluteFill]
|
|
9
12
|
}));
|
|
10
13
|
}
|
|
14
|
+
|
|
15
|
+
export default /*#__PURE__*/React.forwardRef(Screen);
|
|
11
16
|
//# sourceMappingURL=Screen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Screen.js"],"names":["React","ScreenNativeComponent","StyleSheet","Screen","props","style","absoluteFill"],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"sources":["Screen.js"],"names":["React","ScreenNativeComponent","StyleSheet","Screen","props","ref","style","absoluteFill","forwardRef"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,qBAAP,MAAkC,yBAAlC;AACA,SAASC,UAAT,QAA2B,cAA3B;;AAEA,SAASC,MAAT,CAAgBC,KAAhB,EAAuBC,GAAvB,EAA4B;AAC1B,sBACE,oBAAC,qBAAD;AACE,IAAA,GAAG,EAAEA;AADP,KAEMD,KAFN;AAGE,IAAA,KAAK,EAAE,CAACA,KAAK,CAACE,KAAP,EAAcJ,UAAU,CAACK,YAAzB;AAHT,KADF;AAOD;;AAED,4BAAeP,KAAK,CAACQ,UAAN,CAAiBL,MAAjB,CAAf","sourcesContent":["import React from 'react';\nimport ScreenNativeComponent from './ScreenNativeComponent';\nimport { StyleSheet } from 'react-native';\n\nfunction Screen(props, ref) {\n return (\n <ScreenNativeComponent\n ref={ref}\n {...props}\n style={[props.style, StyleSheet.absoluteFill]}\n />\n );\n}\n\nexport default React.forwardRef(Screen);\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import ScreenContainerNativeComponent from './ScreenContainerNativeComponent';
|
|
5
|
+
|
|
6
|
+
function ScreenContainer(props) {
|
|
7
|
+
return /*#__PURE__*/React.createElement(ScreenContainerNativeComponent, _extends({}, props, {
|
|
8
|
+
style: [{
|
|
9
|
+
flex: 1,
|
|
10
|
+
alignItems: 'center',
|
|
11
|
+
justifyContent: 'center'
|
|
12
|
+
}, props.style]
|
|
13
|
+
}));
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export default ScreenContainer;
|
|
17
|
+
//# sourceMappingURL=ScreenContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ScreenContainer.js"],"names":["React","ScreenContainerNativeComponent","ScreenContainer","props","flex","alignItems","justifyContent","style"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,8BAAP,MAA2C,kCAA3C;;AAEA,SAASC,eAAT,CAAyBC,KAAzB,EAAgC;AAC9B,sBACE,oBAAC,8BAAD,eACMA,KADN;AAEE,IAAA,KAAK,EAAE,CACL;AAAEC,MAAAA,IAAI,EAAE,CAAR;AAAWC,MAAAA,UAAU,EAAE,QAAvB;AAAiCC,MAAAA,cAAc,EAAE;AAAjD,KADK,EAELH,KAAK,CAACI,KAFD;AAFT,KADF;AASD;;AAED,eAAeL,eAAf","sourcesContent":["import React from 'react';\nimport ScreenContainerNativeComponent from './ScreenContainerNativeComponent';\n\nfunction ScreenContainer(props) {\n return (\n <ScreenContainerNativeComponent\n {...props}\n style={[\n { flex: 1, alignItems: 'center', justifyContent: 'center' },\n props.style,\n ]}\n />\n );\n}\n\nexport default ScreenContainer;\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @format
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/* eslint-disable */
|
|
7
|
+
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
8
|
+
export default codegenNativeComponent('RNSScreenContainer', {});
|
|
9
|
+
//# sourceMappingURL=ScreenContainerNativeComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ScreenContainerNativeComponent.js"],"names":["codegenNativeComponent"],"mappings":"AAAA;AACA;AACA;AACA;;AACA;AACA,OAAOA,sBAAP,MAAmC,yDAAnC;AAUA,eAAgBA,sBAAsB,CACpC,oBADoC,EAEpC,EAFoC,CAAtC","sourcesContent":["/**\n * @flow strict-local\n * @format\n */\n/* eslint-disable */\nimport codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ViewProps } from 'react-native/Libraries/Components/View/ViewPropTypes';\nimport type { HostComponent } from 'react-native/Libraries/Renderer/shims/ReactNativeTypes';\n\ntype NativeProps = $ReadOnly<{|\n ...ViewProps,\n|}>;\n\ntype ComponentType = HostComponent<NativeProps>;\n\nexport default (codegenNativeComponent<NativeProps>(\n 'RNSScreenContainer',\n {}\n): ComponentType);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ScreenNativeComponent.js"],"names":["codegenNativeComponent","interfaceOnly"],"mappings":"AAAA;AACA;AACA;AACA;;AACA;AACA,OAAOA,sBAAP,MAAmC,yDAAnC;
|
|
1
|
+
{"version":3,"sources":["ScreenNativeComponent.js"],"names":["codegenNativeComponent","interfaceOnly"],"mappings":"AAAA;AACA;AACA;AACA;;AACA;AACA,OAAOA,sBAAP,MAAmC,yDAAnC;AAyFA,eAAgBA,sBAAsB,CAAc,WAAd,EAA2B;AAC/DC,EAAAA,aAAa,EAAE;AADgD,CAA3B,CAAtC","sourcesContent":["/**\n * @flow strict-local\n * @format\n */\n/* eslint-disable */\nimport codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ViewProps } from 'react-native/Libraries/Components/View/ViewPropTypes';\nimport type { HostComponent } from 'react-native/Libraries/Renderer/shims/ReactNativeTypes';\nimport type { ColorValue } from 'react-native/Libraries/StyleSheet/StyleSheet';\nimport type {\n BubblingEventHandler,\n WithDefault,\n Int32,\n} from 'react-native/Libraries/Types/CodegenTypes';\n\ntype ScreenEvent = $ReadOnly<{||}>;\n\ntype ScreenDismissedEvent = $ReadOnly<{|\n dismissCount: Int32,\n|}>;\n\ntype TransitionProgressEvent = $ReadOnly<{|\n progress: Double,\n closing: Int32,\n goingForward: Int32,\n|}>;\n\ntype GestureResponseDistanceType = $ReadOnly<{|\n start: Float,\n end: Float,\n top: Float,\n bottom: Float,\n|}>;\n\ntype StackPresentation =\n | 'push'\n | 'modal'\n | 'transparentModal'\n | 'fullScreenModal'\n | 'formSheet'\n | 'containedModal'\n | 'containedTransparentModal';\n\ntype StackAnimation =\n | 'default'\n | 'flip'\n | 'simple_push'\n | 'none'\n | 'fade'\n | 'slide_from_right'\n | 'slide_from_left'\n | 'slide_from_bottom'\n | 'fade_from_bottom';\n\ntype SwipeDirection = 'vertical' | 'horizontal';\n\ntype ReplaceAnimation = 'pop' | 'push';\n\nexport type NativeProps = $ReadOnly<{|\n ...ViewProps,\n onAppear?: ?BubblingEventHandler<ScreenEvent>,\n onDisappear?: ?BubblingEventHandler<ScreenEvent>,\n onDismissed?: ?BubblingEventHandler<ScreenDismissedEvent>,\n onNativeDismissCancelled?: ?BubblingEventHandler<ScreenDismissedEvent>,\n onWillAppear?: ?BubblingEventHandler<ScreenEvent>,\n onWillDisappear?: ?BubblingEventHandler<ScreenEvent>,\n onTransitionProgress?: ?BubblingEventHandler<TransitionProgressEvent>,\n customAnimationOnSwipe?: boolean,\n fullScreenSwipeEnabled?: boolean,\n homeIndicatorHidden?: boolean,\n preventNativeDismiss?: boolean,\n gestureEnabled?: WithDefault<boolean, true>,\n statusBarColor?: ColorValue,\n statusBarHidden?: boolean,\n screenOrientation?: string,\n statusBarAnimation?: string,\n statusBarStyle?: string,\n statusBarTranslucent?: boolean,\n gestureResponseDistance?: GestureResponseDistanceType,\n stackPresentation?: WithDefault<StackPresentation, 'push'>,\n stackAnimation?: WithDefault<StackAnimation, 'default'>,\n transitionDuration?: WithDefault<Int32, 350>,\n replaceAnimation?: WithDefault<ReplaceAnimation, 'pop'>,\n swipeDirection?: WithDefault<SwipeDirection, 'horizontal'>,\n hideKeyboardOnSwipe?: boolean,\n activityState?: WithDefault<Float, -1.0>,\n // TODO: implement these props on iOS\n navigationBarColor?: ColorValue,\n navigationBarHidden?: boolean,\n nativeBackButtonDismissalEnabled?: boolean,\n|}>;\n\ntype ComponentType = HostComponent<NativeProps>;\n\nexport default (codegenNativeComponent<NativeProps>('RNSScreen', {\n interfaceOnly: true,\n}): ComponentType);\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import ScreenNavigationContainerNativeComponent from './ScreenNavigationContainerNativeComponent';
|
|
5
|
+
|
|
6
|
+
function ScreenNavigationContainer(props) {
|
|
7
|
+
return /*#__PURE__*/React.createElement(ScreenNavigationContainerNativeComponent, _extends({}, props, {
|
|
8
|
+
style: [{
|
|
9
|
+
flex: 1,
|
|
10
|
+
alignItems: 'center',
|
|
11
|
+
justifyContent: 'center'
|
|
12
|
+
}, props.style]
|
|
13
|
+
}));
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export default ScreenNavigationContainer;
|
|
17
|
+
//# sourceMappingURL=ScreenNavigationContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ScreenNavigationContainer.js"],"names":["React","ScreenNavigationContainerNativeComponent","ScreenNavigationContainer","props","flex","alignItems","justifyContent","style"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,wCAAP,MAAqD,4CAArD;;AAEA,SAASC,yBAAT,CAAmCC,KAAnC,EAA0C;AACxC,sBACE,oBAAC,wCAAD,eACMA,KADN;AAEE,IAAA,KAAK,EAAE,CACL;AAAEC,MAAAA,IAAI,EAAE,CAAR;AAAWC,MAAAA,UAAU,EAAE,QAAvB;AAAiCC,MAAAA,cAAc,EAAE;AAAjD,KADK,EAELH,KAAK,CAACI,KAFD;AAFT,KADF;AASD;;AAED,eAAeL,yBAAf","sourcesContent":["import React from 'react';\nimport ScreenNavigationContainerNativeComponent from './ScreenNavigationContainerNativeComponent';\n\nfunction ScreenNavigationContainer(props) {\n return (\n <ScreenNavigationContainerNativeComponent\n {...props}\n style={[\n { flex: 1, alignItems: 'center', justifyContent: 'center' },\n props.style,\n ]}\n />\n );\n}\n\nexport default ScreenNavigationContainer;\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @format
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/* eslint-disable */
|
|
7
|
+
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
8
|
+
export default codegenNativeComponent('RNSScreenNavigationContainer', {});
|
|
9
|
+
//# sourceMappingURL=ScreenNavigationContainerNativeComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ScreenNavigationContainerNativeComponent.js"],"names":["codegenNativeComponent"],"mappings":"AAAA;AACA;AACA;AACA;;AACA;AACA,OAAOA,sBAAP,MAAmC,yDAAnC;AAUA,eAAgBA,sBAAsB,CACpC,8BADoC,EAEpC,EAFoC,CAAtC","sourcesContent":["/**\n * @flow strict-local\n * @format\n */\n/* eslint-disable */\nimport codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ViewProps } from 'react-native/Libraries/Components/View/ViewPropTypes';\nimport type { HostComponent } from 'react-native/Libraries/Renderer/shims/ReactNativeTypes';\n\ntype NativeProps = $ReadOnly<{|\n ...ViewProps,\n|}>;\n\ntype ComponentType = HostComponent<NativeProps>;\n\nexport default (codegenNativeComponent<NativeProps>(\n 'RNSScreenNavigationContainer',\n {}\n): ComponentType);\n"]}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import React from 'react';
|
|
4
4
|
import ScreenStackNativeComponent from './ScreenStackNativeComponent';
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
function ScreenStack(props) {
|
|
6
7
|
return /*#__PURE__*/React.createElement(ScreenStackNativeComponent, _extends({}, props, {
|
|
7
8
|
style: [{
|
|
8
9
|
flex: 1
|
|
9
10
|
}, props.style]
|
|
10
11
|
}));
|
|
11
12
|
}
|
|
13
|
+
|
|
14
|
+
export default ScreenStack;
|
|
12
15
|
//# sourceMappingURL=ScreenStack.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ScreenStack.js"],"names":["React","ScreenStackNativeComponent","ScreenStack","props","flex","style"],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"sources":["ScreenStack.js"],"names":["React","ScreenStackNativeComponent","ScreenStack","props","flex","style"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,0BAAP,MAAuC,8BAAvC;;AAEA,SAASC,WAAT,CAAqBC,KAArB,EAA4B;AAC1B,sBACE,oBAAC,0BAAD,eAAgCA,KAAhC;AAAuC,IAAA,KAAK,EAAE,CAAC;AAAEC,MAAAA,IAAI,EAAE;AAAR,KAAD,EAAcD,KAAK,CAACE,KAApB;AAA9C,KADF;AAGD;;AAED,eAAeH,WAAf","sourcesContent":["import React from 'react';\nimport ScreenStackNativeComponent from './ScreenStackNativeComponent';\n\nfunction ScreenStack(props) {\n return (\n <ScreenStackNativeComponent {...props} style={[{ flex: 1 }, props.style]} />\n );\n}\n\nexport default ScreenStack;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ScreenStackHeaderConfigNativeComponent.js"],"names":["React","codegenNativeComponent"],"mappings":"AAAA;AACA;AACA;AACA;;AACA;AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,OAAOC,sBAAP,MAAmC,yDAAnC;AA2CA,eAAgBA,sBAAsB,CACpC,4BADoC,EAEpC,EAFoC,CAAtC","sourcesContent":["/**\n * @flow strict-local\n * @format\n */\n/* eslint-disable */\nimport * as React from 'react';\n\nimport codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ViewProps } from 'react-native/Libraries/Components/View/ViewPropTypes';\nimport type { HostComponent } from 'react-native/Libraries/Renderer/shims/ReactNativeTypes';\nimport type { ColorValue } from 'react-native/Libraries/StyleSheet/StyleSheet';\nimport type {\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\n\ntype DirectionType = 'rtl' | 'ltr';\n\nexport type NativeProps = $ReadOnly<{|\n ...ViewProps,\n backgroundColor?: ColorValue,\n backTitle?: string,\n backTitleFontFamily?: string,\n backTitleFontSize?: Int32,\n color?: ColorValue,\n direction?: WithDefault<DirectionType, 'ltr'>,\n hidden?: boolean,\n hideShadow?: boolean,\n largeTitle?: boolean,\n largeTitleFontFamily?: string,\n largeTitleFontSize?: Int32,\n largeTitleFontWeight?: string,\n largeTitleBackgroundColor?: ColorValue,\n largeTitleHideShadow?: boolean,\n largeTitleColor?: ColorValue,\n translucent?: boolean,\n title?: string,\n titleFontFamily?: string,\n titleFontSize?: Int32,\n titleFontWeight?: string,\n titleColor?: ColorValue,\n disableBackButtonMenu?: boolean,\n hideBackButton?: boolean,\n // TODO: implement this props on iOS\n topInsetEnabled?: boolean,\n
|
|
1
|
+
{"version":3,"sources":["ScreenStackHeaderConfigNativeComponent.js"],"names":["React","codegenNativeComponent"],"mappings":"AAAA;AACA;AACA;AACA;;AACA;AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,OAAOC,sBAAP,MAAmC,yDAAnC;AA2CA,eAAgBA,sBAAsB,CACpC,4BADoC,EAEpC,EAFoC,CAAtC","sourcesContent":["/**\n * @flow strict-local\n * @format\n */\n/* eslint-disable */\nimport * as React from 'react';\n\nimport codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ViewProps } from 'react-native/Libraries/Components/View/ViewPropTypes';\nimport type { HostComponent } from 'react-native/Libraries/Renderer/shims/ReactNativeTypes';\nimport type { ColorValue } from 'react-native/Libraries/StyleSheet/StyleSheet';\nimport type {\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\n\ntype DirectionType = 'rtl' | 'ltr';\n\nexport type NativeProps = $ReadOnly<{|\n ...ViewProps,\n backgroundColor?: ColorValue,\n backTitle?: string,\n backTitleFontFamily?: string,\n backTitleFontSize?: Int32,\n color?: ColorValue,\n direction?: WithDefault<DirectionType, 'ltr'>,\n hidden?: boolean,\n hideShadow?: boolean,\n largeTitle?: boolean,\n largeTitleFontFamily?: string,\n largeTitleFontSize?: Int32,\n largeTitleFontWeight?: string,\n largeTitleBackgroundColor?: ColorValue,\n largeTitleHideShadow?: boolean,\n largeTitleColor?: ColorValue,\n translucent?: boolean,\n title?: string,\n titleFontFamily?: string,\n titleFontSize?: Int32,\n titleFontWeight?: string,\n titleColor?: ColorValue,\n disableBackButtonMenu?: boolean,\n hideBackButton?: boolean,\n backButtonInCustomView?: boolean,\n // TODO: implement this props on iOS\n topInsetEnabled?: boolean,\n|}>;\n\ntype ComponentType = HostComponent<NativeProps>;\n\nexport default (codegenNativeComponent<NativeProps>(\n 'RNSScreenStackHeaderConfig',\n {}\n): ComponentType);\n"]}
|
|
@@ -13,9 +13,12 @@ const styles = StyleSheet.create({
|
|
|
13
13
|
justifyContent: 'center'
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
|
-
|
|
16
|
+
|
|
17
|
+
function ScreenStackHeaderSubview(props) {
|
|
17
18
|
return /*#__PURE__*/React.createElement(NativeScreenStackHeaderSubview, _extends({}, props, {
|
|
18
19
|
style: styles.headerSubview
|
|
19
20
|
}));
|
|
20
21
|
}
|
|
22
|
+
|
|
23
|
+
export default ScreenStackHeaderSubview;
|
|
21
24
|
//# sourceMappingURL=ScreenStackHeaderSubview.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ScreenStackHeaderSubview.js"],"names":["React","NativeScreenStackHeaderSubview","StyleSheet","styles","create","headerSubview","position","top","right","flexDirection","alignItems","justifyContent","ScreenStackHeaderSubview","props"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,8BAAP,MAA2C,2CAA3C;AACA,SAASC,UAAT,QAA2B,cAA3B;AAEA,MAAMC,MAAM,GAAGD,UAAU,CAACE,MAAX,CAAkB;AAC/BC,EAAAA,aAAa,EAAE;AACbC,IAAAA,QAAQ,EAAE,UADG;AAEbC,IAAAA,GAAG,EAAE,CAFQ;AAGbC,IAAAA,KAAK,EAAE,CAHM;AAIbC,IAAAA,aAAa,EAAE,KAJF;AAKbC,IAAAA,UAAU,EAAE,QALC;AAMbC,IAAAA,cAAc,EAAE;AANH;AADgB,CAAlB,CAAf
|
|
1
|
+
{"version":3,"sources":["ScreenStackHeaderSubview.js"],"names":["React","NativeScreenStackHeaderSubview","StyleSheet","styles","create","headerSubview","position","top","right","flexDirection","alignItems","justifyContent","ScreenStackHeaderSubview","props"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,8BAAP,MAA2C,2CAA3C;AACA,SAASC,UAAT,QAA2B,cAA3B;AAEA,MAAMC,MAAM,GAAGD,UAAU,CAACE,MAAX,CAAkB;AAC/BC,EAAAA,aAAa,EAAE;AACbC,IAAAA,QAAQ,EAAE,UADG;AAEbC,IAAAA,GAAG,EAAE,CAFQ;AAGbC,IAAAA,KAAK,EAAE,CAHM;AAIbC,IAAAA,aAAa,EAAE,KAJF;AAKbC,IAAAA,UAAU,EAAE,QALC;AAMbC,IAAAA,cAAc,EAAE;AANH;AADgB,CAAlB,CAAf;;AAWA,SAASC,wBAAT,CAAkCC,KAAlC,EAAyC;AACvC,sBACE,oBAAC,8BAAD,eAAoCA,KAApC;AAA2C,IAAA,KAAK,EAAEV,MAAM,CAACE;AAAzD,KADF;AAGD;;AAED,eAAeO,wBAAf","sourcesContent":["import React from 'react';\nimport NativeScreenStackHeaderSubview from './ScreenStackHeaderSubviewNativeComponent';\nimport { StyleSheet } from 'react-native';\n\nconst styles = StyleSheet.create({\n headerSubview: {\n position: 'absolute',\n top: 0,\n right: 0,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n\nfunction ScreenStackHeaderSubview(props) {\n return (\n <NativeScreenStackHeaderSubview {...props} style={styles.headerSubview} />\n );\n}\n\nexport default ScreenStackHeaderSubview;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ScreenStackNativeComponent.js"],"names":["codegenNativeComponent"],"mappings":"AAAA;AACA;AACA;AACA;;AACA;AACA,OAAOA,sBAAP,MAAmC,yDAAnC;
|
|
1
|
+
{"version":3,"sources":["ScreenStackNativeComponent.js"],"names":["codegenNativeComponent"],"mappings":"AAAA;AACA;AACA;AACA;;AACA;AACA,OAAOA,sBAAP,MAAmC,yDAAnC;AAcA,eAAgBA,sBAAsB,CACpC,gBADoC,EAEpC,EAFoC,CAAtC","sourcesContent":["/**\n * @flow strict-local\n * @format\n */\n/* eslint-disable */\nimport codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ViewProps } from 'react-native/Libraries/Components/View/ViewPropTypes';\nimport type { HostComponent } from 'react-native/Libraries/Renderer/shims/ReactNativeTypes';\nimport type { DirectEventHandler } from 'react-native/Libraries/Types/CodegenTypes';\n\ntype FinishTransitioningEvent = $ReadOnly<{||}>;\n\ntype NativeProps = $ReadOnly<{|\n ...ViewProps,\n onFinishTransitioning?: ?DirectEventHandler<FinishTransitioningEvent>,\n|}>;\n\ntype ComponentType = HostComponent<NativeProps>;\n\nexport default (codegenNativeComponent<NativeProps>(\n 'RNSScreenStack',\n {}\n): ComponentType);\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import SearchBarNativeComponent from './SearchBarNativeComponent';
|
|
5
|
+
import { StyleSheet } from 'react-native';
|
|
6
|
+
const styles = StyleSheet.create({
|
|
7
|
+
headerSubview: {
|
|
8
|
+
position: 'absolute',
|
|
9
|
+
top: 0,
|
|
10
|
+
right: 0,
|
|
11
|
+
flexDirection: 'row',
|
|
12
|
+
alignItems: 'center',
|
|
13
|
+
justifyContent: 'center'
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
function SearchBar(props) {
|
|
18
|
+
return /*#__PURE__*/React.createElement(SearchBarNativeComponent, _extends({}, props, {
|
|
19
|
+
style: styles.headerSubview
|
|
20
|
+
}));
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export default SearchBar;
|
|
24
|
+
//# sourceMappingURL=SearchBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["SearchBar.js"],"names":["React","SearchBarNativeComponent","StyleSheet","styles","create","headerSubview","position","top","right","flexDirection","alignItems","justifyContent","SearchBar","props"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,wBAAP,MAAqC,4BAArC;AACA,SAASC,UAAT,QAA2B,cAA3B;AAEA,MAAMC,MAAM,GAAGD,UAAU,CAACE,MAAX,CAAkB;AAC/BC,EAAAA,aAAa,EAAE;AACbC,IAAAA,QAAQ,EAAE,UADG;AAEbC,IAAAA,GAAG,EAAE,CAFQ;AAGbC,IAAAA,KAAK,EAAE,CAHM;AAIbC,IAAAA,aAAa,EAAE,KAJF;AAKbC,IAAAA,UAAU,EAAE,QALC;AAMbC,IAAAA,cAAc,EAAE;AANH;AADgB,CAAlB,CAAf;;AAWA,SAASC,SAAT,CAAmBC,KAAnB,EAA0B;AACxB,sBAAO,oBAAC,wBAAD,eAA8BA,KAA9B;AAAqC,IAAA,KAAK,EAAEV,MAAM,CAACE;AAAnD,KAAP;AACD;;AAED,eAAeO,SAAf","sourcesContent":["import React from 'react';\nimport SearchBarNativeComponent from './SearchBarNativeComponent';\nimport { StyleSheet } from 'react-native';\n\nconst styles = StyleSheet.create({\n headerSubview: {\n position: 'absolute',\n top: 0,\n right: 0,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n\nfunction SearchBar(props) {\n return <SearchBarNativeComponent {...props} style={styles.headerSubview} />;\n}\n\nexport default SearchBar;\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @format
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/* eslint-disable */
|
|
7
|
+
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
8
|
+
import { ColorValue } from 'react-native/Libraries/StyleSheet/StyleSheet';
|
|
9
|
+
import { tintColor } from 'react-native/Libraries/Components/View/ReactNativeStyleAttributes';
|
|
10
|
+
export default codegenNativeComponent('RNSSearchBar', {});
|
|
11
|
+
//# sourceMappingURL=SearchBarNativeComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["SearchBarNativeComponent.js"],"names":["codegenNativeComponent","ColorValue","tintColor"],"mappings":"AAAA;AACA;AACA;AACA;;AACA;AACA,OAAOA,sBAAP,MAAmC,yDAAnC;AAGA,SAASC,UAAT,QAA2B,8CAA3B;AAKA,SAASC,SAAT,QAA0B,mEAA1B;AA6CA,eAAgBF,sBAAsB,CACpC,cADoC,EAEpC,EAFoC,CAAtC","sourcesContent":["/**\n * @flow strict-local\n * @format\n */\n/* eslint-disable */\nimport codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ViewProps } from 'react-native/Libraries/Components/View/ViewPropTypes';\nimport type { HostComponent } from 'react-native/Libraries/Renderer/shims/ReactNativeTypes';\nimport { ColorValue } from 'react-native/Libraries/StyleSheet/StyleSheet';\nimport type {\n WithDefault,\n BubblingEventHandler,\n} from 'react-native/Libraries/Types/CodegenTypes';\nimport { tintColor } from 'react-native/Libraries/Components/View/ReactNativeStyleAttributes';\n\ntype SearchBarEvent = $ReadOnly<{||}>;\n\ntype SearchButtonPressedEvent = $ReadOnly<{|\n text?: string,\n|}>;\n\ntype ChangeTextEvent = $ReadOnly<{|\n text?: string,\n|}>;\n\ntype AutoCapitalizeType = 'none' | 'words' | 'sentences' | 'characters';\n\ntype NativeProps = $ReadOnly<{|\n ...ViewProps,\n onFocus?: ?BubblingEventHandler<SearchBarEvent>,\n onBlur?: ?BubblingEventHandler<SearchBarEvent>,\n onSearchButtonPress?: ?BubblingEventHandler<SearchButtonPressedEvent>,\n onCancelButtonPress?: ?BubblingEventHandler<SearchBarEvent>,\n onChangeText?: ?BubblingEventHandler<ChangeTextEvent>,\n hideWhenScrolling?: boolean,\n autoCapitalize?: WithDefault<AutoCapitalizeType, 'none'>,\n placeholder?: string,\n obscureBackground?: boolean,\n hideNavigationBar?: boolean,\n cancelButtonText?: string,\n // TODO: implement these on iOS\n barTintColor?: ColorValue,\n tintColor?: ColorValue,\n textColor?: ColorValue,\n\n // Android only\n disableBackButtonOverride?: boolean,\n // TODO: consider creating enum here\n inputType?: string,\n onClose?: ?BubblingEventHandler<SearchBarEvent>,\n onOpen?: ?BubblingEventHandler<SearchBarEvent>,\n hintTextColor?: ColorValue,\n headerIconColor?: ColorValue,\n shouldShowHintSearchIcon?: WithDefault<boolean, true>,\n|}>;\n\ntype ComponentType = HostComponent<NativeProps>;\n\nexport default (codegenNativeComponent<NativeProps>(\n 'RNSSearchBar',\n {}\n): ComponentType);\n"]}
|
|
@@ -2,5 +2,9 @@ import Screen from './Screen';
|
|
|
2
2
|
import ScreenStackHeaderSubview from './ScreenStackHeaderSubview';
|
|
3
3
|
import ScreenStackHeaderConfig from './ScreenStackHeaderConfigNativeComponent';
|
|
4
4
|
import ScreenStack from './ScreenStack';
|
|
5
|
-
|
|
5
|
+
import SearchBar from './SearchBar';
|
|
6
|
+
import ScreenContainer from './ScreenContainer';
|
|
7
|
+
import ScreenNavigationContainer from './ScreenNavigationContainer';
|
|
8
|
+
import FullWindowOverlay from './FullWindowOverlay';
|
|
9
|
+
export { Screen, ScreenStackHeaderSubview, ScreenStackHeaderConfig, ScreenStack, SearchBar, ScreenContainer, ScreenNavigationContainer, FullWindowOverlay };
|
|
6
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.js"],"names":["Screen","ScreenStackHeaderSubview","ScreenStackHeaderConfig","ScreenStack"],"mappings":"AAAA,OAAOA,MAAP,MAAmB,UAAnB;AACA,OAAOC,wBAAP,MAAqC,4BAArC;AACA,OAAOC,uBAAP,MAAoC,0CAApC;AACA,OAAOC,WAAP,MAAwB,eAAxB;AAEA,
|
|
1
|
+
{"version":3,"sources":["index.js"],"names":["Screen","ScreenStackHeaderSubview","ScreenStackHeaderConfig","ScreenStack","SearchBar","ScreenContainer","ScreenNavigationContainer","FullWindowOverlay"],"mappings":"AAAA,OAAOA,MAAP,MAAmB,UAAnB;AACA,OAAOC,wBAAP,MAAqC,4BAArC;AACA,OAAOC,uBAAP,MAAoC,0CAApC;AACA,OAAOC,WAAP,MAAwB,eAAxB;AACA,OAAOC,SAAP,MAAsB,aAAtB;AACA,OAAOC,eAAP,MAA4B,mBAA5B;AACA,OAAOC,yBAAP,MAAsC,6BAAtC;AACA,OAAOC,iBAAP,MAA8B,qBAA9B;AAEA,SACEP,MADF,EAEEC,wBAFF,EAGEC,uBAHF,EAIEC,WAJF,EAKEC,SALF,EAMEC,eANF,EAOEC,yBAPF,EAQEC,iBARF","sourcesContent":["import Screen from './Screen';\nimport ScreenStackHeaderSubview from './ScreenStackHeaderSubview';\nimport ScreenStackHeaderConfig from './ScreenStackHeaderConfigNativeComponent';\nimport ScreenStack from './ScreenStack';\nimport SearchBar from './SearchBar';\nimport ScreenContainer from './ScreenContainer';\nimport ScreenNavigationContainer from './ScreenNavigationContainer';\nimport FullWindowOverlay from './FullWindowOverlay';\n\nexport {\n Screen,\n ScreenStackHeaderSubview,\n ScreenStackHeaderConfig,\n ScreenStack,\n SearchBar,\n ScreenContainer,\n ScreenNavigationContainer,\n FullWindowOverlay,\n};\n"]}
|
|
@@ -6,10 +6,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
6
6
|
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import { Animated, Image, Platform, requireNativeComponent, StyleSheet, UIManager, View } from 'react-native';
|
|
9
|
-
import { Freeze } from 'react-freeze';
|
|
10
|
-
// eslint-disable-next-line import/default
|
|
11
|
-
|
|
12
|
-
import processColor from 'react-native/Libraries/StyleSheet/processColor';
|
|
9
|
+
import { Freeze } from 'react-freeze';
|
|
13
10
|
import { version } from 'react-native/package.json';
|
|
14
11
|
import TransitionProgressContext from './TransitionProgressContext';
|
|
15
12
|
import useTransitionProgress from './useTransitionProgress';
|
|
@@ -67,12 +64,12 @@ const ScreensNativeModules = {
|
|
|
67
64
|
},
|
|
68
65
|
|
|
69
66
|
get NativeScreenContainer() {
|
|
70
|
-
NativeScreenContainerValue = NativeScreenContainerValue || requireNativeComponent('RNSScreenContainer');
|
|
67
|
+
NativeScreenContainerValue = NativeScreenContainerValue || FabricComponents.ScreenContainer || requireNativeComponent('RNSScreenContainer');
|
|
71
68
|
return NativeScreenContainerValue;
|
|
72
69
|
},
|
|
73
70
|
|
|
74
71
|
get NativeScreenNavigationContainer() {
|
|
75
|
-
NativeScreenNavigationContainerValue = NativeScreenNavigationContainerValue || (Platform.OS === 'ios' ? requireNativeComponent('RNSScreenNavigationContainer') : this.NativeScreenContainer);
|
|
72
|
+
NativeScreenNavigationContainerValue = NativeScreenNavigationContainerValue || (Platform.OS === 'ios' ? FabricComponents.ScreenNavigationContainer || requireNativeComponent('RNSScreenNavigationContainer') : this.NativeScreenContainer);
|
|
76
73
|
return NativeScreenNavigationContainerValue;
|
|
77
74
|
},
|
|
78
75
|
|
|
@@ -92,12 +89,12 @@ const ScreensNativeModules = {
|
|
|
92
89
|
},
|
|
93
90
|
|
|
94
91
|
get NativeSearchBar() {
|
|
95
|
-
NativeSearchBar = NativeSearchBar || requireNativeComponent('RNSSearchBar');
|
|
92
|
+
NativeSearchBar = NativeSearchBar || FabricComponents.SearchBar || requireNativeComponent('RNSSearchBar');
|
|
96
93
|
return NativeSearchBar;
|
|
97
94
|
},
|
|
98
95
|
|
|
99
96
|
get NativeFullWindowOverlay() {
|
|
100
|
-
NativeFullWindowOverlay = NativeFullWindowOverlay || requireNativeComponent('RNSFullWindowOverlay');
|
|
97
|
+
NativeFullWindowOverlay = NativeFullWindowOverlay || FabricComponents.FullWindowOverlay || requireNativeComponent('RNSFullWindowOverlay');
|
|
101
98
|
return NativeFullWindowOverlay;
|
|
102
99
|
}
|
|
103
100
|
|
|
@@ -190,14 +187,7 @@ class Screen extends React.Component {
|
|
|
190
187
|
} = this.props;
|
|
191
188
|
|
|
192
189
|
if (enabled && isPlatformSupported) {
|
|
193
|
-
|
|
194
|
-
if (ENABLE_FABRIC) {
|
|
195
|
-
AnimatedNativeScreen = ScreensNativeModules.NativeScreen;
|
|
196
|
-
} else {
|
|
197
|
-
AnimatedNativeScreen = Animated.createAnimatedComponent(ScreensNativeModules.NativeScreen);
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
|
|
190
|
+
AnimatedNativeScreen = AnimatedNativeScreen || Animated.createAnimatedComponent(ScreensNativeModules.NativeScreen);
|
|
201
191
|
let {
|
|
202
192
|
// Filter out active prop in this case because it is unused and
|
|
203
193
|
// can cause problems depending on react-native version:
|
|
@@ -206,7 +196,6 @@ class Screen extends React.Component {
|
|
|
206
196
|
activityState,
|
|
207
197
|
children,
|
|
208
198
|
isNativeStack,
|
|
209
|
-
statusBarColor,
|
|
210
199
|
...props
|
|
211
200
|
} = rest;
|
|
212
201
|
|
|
@@ -215,8 +204,6 @@ class Screen extends React.Component {
|
|
|
215
204
|
activityState = active !== 0 ? 2 : 0; // in the new version, we need one of the screens to have value of 2 after the transition
|
|
216
205
|
}
|
|
217
206
|
|
|
218
|
-
const processedColor = processColor(statusBarColor);
|
|
219
|
-
|
|
220
207
|
const handleRef = ref => {
|
|
221
208
|
if (!ENABLE_FABRIC) {
|
|
222
209
|
var _ref$viewConfig, _ref$viewConfig$valid;
|
|
@@ -234,7 +221,6 @@ class Screen extends React.Component {
|
|
|
234
221
|
return /*#__PURE__*/React.createElement(MaybeFreeze, {
|
|
235
222
|
freeze: activityState === 0
|
|
236
223
|
}, /*#__PURE__*/React.createElement(AnimatedNativeScreen, _extends({}, props, {
|
|
237
|
-
statusBarColor: processedColor,
|
|
238
224
|
activityState: activityState // This prevents showing blank screen when navigating between multiple screens with freezing
|
|
239
225
|
// https://github.com/software-mansion/react-native-screens/pull/1208
|
|
240
226
|
,
|