This repository has been archived on 2022-03-12. You can view files and clone it, but cannot push or open issues or pull requests.
2021-04-02 02:24:13 +03:00

1 line
7.8 KiB
Plaintext

{"version":3,"sources":["NativeStackView.tsx"],"names":["StackActions","useTheme","React","Platform","StyleSheet","View","AppContainer","Screen","ScreenComponent","ScreenStack","HeaderConfig","isAndroid","OS","Container","__DEV__","DebugContainer","props","stackAnimation","rest","NativeStackView","state","navigation","descriptors","key","routes","colors","styles","container","map","route","options","render","renderScene","gestureEnabled","replaceAnimation","stackPresentation","contentStyle","viewStyles","backgroundColor","background","absoluteFill","emit","type","data","closing","target","dispatch","pop","source","create","flex"],"mappings":"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","sourcesContent":["import {\n ParamListBase,\n StackActions,\n StackNavigationState,\n useTheme,\n} from '@react-navigation/native';\nimport * 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 {\n Screen as ScreenComponent,\n ScreenProps,\n ScreenStack,\n} from 'react-native-screens';\nimport {\n NativeStackDescriptorMap,\n NativeStackNavigationHelpers,\n} from '../types';\nimport HeaderConfig from './HeaderConfig';\n\nconst Screen = (ScreenComponent as unknown) as React.ComponentType<ScreenProps>;\nconst isAndroid = Platform.OS === 'android';\n\nlet Container = View;\n\nif (__DEV__) {\n const DebugContainer = (props: ViewProps & { stackAnimation: string }) => {\n const { stackAnimation, ...rest } = props;\n if (Platform.OS === 'ios' && stackAnimation !== '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\ntype Props = {\n state: StackNavigationState<ParamListBase>;\n navigation: NativeStackNavigationHelpers;\n descriptors: NativeStackDescriptorMap;\n};\n\nexport default function NativeStackView({\n state,\n navigation,\n descriptors,\n}: Props): JSX.Element {\n const { key, routes } = state;\n const { colors } = useTheme();\n\n return (\n <ScreenStack style={styles.container}>\n {routes.map((route) => {\n const { options, render: renderScene } = descriptors[route.key];\n const {\n gestureEnabled,\n replaceAnimation = 'pop',\n stackPresentation = 'push',\n stackAnimation,\n contentStyle,\n } = options;\n\n const viewStyles = [\n styles.container,\n stackPresentation !== 'transparentModal' && {\n backgroundColor: colors.background,\n },\n contentStyle,\n ];\n\n return (\n <Screen\n key={route.key}\n style={StyleSheet.absoluteFill}\n gestureEnabled={isAndroid ? false : gestureEnabled}\n replaceAnimation={replaceAnimation}\n stackPresentation={stackPresentation}\n stackAnimation={stackAnimation}\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={() => {\n navigation.emit({\n type: 'dismiss',\n target: route.key,\n });\n\n navigation.dispatch({\n ...StackActions.pop(),\n source: route.key,\n target: key,\n });\n }}>\n <HeaderConfig {...options} route={route} />\n <Container\n style={viewStyles}\n // @ts-ignore Wrong props passed to View\n stackPresentation={stackPresentation}>\n {renderScene()}\n </Container>\n </Screen>\n );\n })}\n </ScreenStack>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n});\n"]}