{"version":3,"sources":["createNativeStackNavigator.js"],"names":["React","Platform","StyleSheet","Screen","ScreenStack","ScreenStackHeaderBackButtonImage","ScreenStackHeaderCenterView","ScreenStackHeaderConfig","ScreenStackHeaderLeftView","ScreenStackHeaderRightView","createNavigator","SceneView","StackActions","StackRouter","HeaderBackButton","renderComponentOrThunk","componentOrThunk","props","REMOVE_ACTION","StackView","Component","route","navigation","dispatch","type","immediate","key","descriptor","options","onAppear","completeTransition","toChildKey","state","routes","lastRoute","length","index","navigationConfig","headerMode","backButtonInCustomView","direction","headerBackTitle","headerBackTitleStyle","headerBackTitleVisible","headerHideBackButton","headerLargeTitleStyle","headerStyle","headerTintColor","headerTitleStyle","headerTopInsetEnabled","hideShadow","largeTitle","statusBarAnimation","statusBarHidden","statusBarStyle","title","translucent","scene","headerOptions","backTitle","backTitleFontFamily","fontFamily","backTitleFontSize","fontSize","color","topInsetEnabled","hideBackButton","largeTitleBackgroundColor","backgroundColor","largeTitleColor","largeTitleFontFamily","largeTitleFontSize","titleColor","titleFontFamily","titleFontSize","undefined","hasHeader","header","blurEffect","children","backButtonImage","push","headerLeft","headerBackImage","goBack","requestAnimationFrame","headerPressColorAndroid","backButtonTitle","truncatedBackButtonTitle","backTitleVisible","layoutPreset","headerTitle","headerRight","getComponent","mode","transparentCard","SceneComponent","stackPresentation","cardTransparent","stackAnimation","animationEnabled","screenProps","absoluteFill","cardStyle","replaceAnimation","OS","gestureEnabled","_onAppear","_removeScene","_renderHeaderConfig","render","descriptors","styles","scenes","_onFinishTransitioning","map","i","_renderScene","create","flex","createStackNavigator","routeConfigMap","stackConfig","router","superGetStateForAction","getStateForAction","action","backRouteIndex","backRoute","find","indexOf","newRoutes","splice","isTransitioning"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Platform, StyleSheet } from 'react-native';\nimport {\n Screen,\n ScreenStack,\n ScreenStackHeaderBackButtonImage,\n ScreenStackHeaderCenterView,\n ScreenStackHeaderConfig,\n ScreenStackHeaderLeftView,\n ScreenStackHeaderRightView,\n} from 'react-native-screens';\nimport {\n createNavigator,\n SceneView,\n StackActions,\n StackRouter,\n} from 'react-navigation';\nimport { HeaderBackButton } from 'react-navigation-stack';\n\nfunction renderComponentOrThunk(componentOrThunk, props) {\n if (typeof componentOrThunk === 'function') {\n return componentOrThunk(props);\n }\n return componentOrThunk;\n}\n\nconst REMOVE_ACTION = 'NativeStackNavigator/REMOVE';\n\nclass StackView extends React.Component {\n _removeScene = (route) => {\n this.props.navigation.dispatch({\n type: REMOVE_ACTION,\n immediate: true,\n key: route.key,\n });\n };\n\n _onAppear = (route, descriptor) => {\n descriptor.options &&\n descriptor.options.onAppear &&\n descriptor.options.onAppear();\n this.props.navigation.dispatch(\n StackActions.completeTransition({\n toChildKey: route.key,\n key: this.props.navigation.state.key,\n })\n );\n };\n\n _onFinishTransitioning = () => {\n const { routes } = this.props.navigation.state;\n const lastRoute = routes?.length && routes[routes.length - 1];\n\n if (lastRoute) {\n this.props.navigation.dispatch(\n StackActions.completeTransition({\n toChildKey: lastRoute.key,\n key: this.props.navigation.state.key,\n })\n );\n }\n };\n\n _renderHeaderConfig = (index, route, descriptor) => {\n const { navigationConfig } = this.props;\n const { options } = descriptor;\n const { headerMode } = navigationConfig;\n\n const {\n backButtonInCustomView,\n direction,\n headerBackTitle,\n headerBackTitleStyle,\n headerBackTitleVisible,\n headerHideBackButton,\n headerLargeTitleStyle,\n headerStyle,\n headerTintColor,\n headerTitleStyle,\n headerTopInsetEnabled = true,\n hideShadow,\n largeTitle,\n statusBarAnimation,\n statusBarHidden,\n statusBarStyle,\n title,\n translucent,\n } = options;\n\n const scene = {\n index,\n key: route.key,\n route,\n descriptor,\n };\n\n const headerOptions = {\n backButtonInCustomView,\n backTitle: headerBackTitleVisible === false ? '' : headerBackTitle,\n backTitleFontFamily:\n headerBackTitleStyle && headerBackTitleStyle.fontFamily,\n backTitleFontSize: headerBackTitleStyle && headerBackTitleStyle.fontSize,\n color: headerTintColor,\n direction,\n topInsetEnabled: headerTopInsetEnabled,\n hideBackButton: headerHideBackButton,\n hideShadow,\n largeTitle,\n largeTitleBackgroundColor:\n headerLargeTitleStyle && headerLargeTitleStyle.backgroundColor,\n largeTitleColor: headerLargeTitleStyle && headerLargeTitleStyle.color,\n largeTitleFontFamily:\n headerLargeTitleStyle && headerLargeTitleStyle.fontFamily,\n largeTitleFontSize:\n headerLargeTitleStyle && headerLargeTitleStyle.fontSize,\n statusBarAnimation,\n statusBarHidden,\n statusBarStyle,\n title,\n titleColor:\n (headerTitleStyle && headerTitleStyle.color) || headerTintColor,\n titleFontFamily: headerTitleStyle && headerTitleStyle.fontFamily,\n titleFontSize: headerTitleStyle && headerTitleStyle.fontSize,\n translucent: translucent === undefined ? false : translucent,\n };\n\n const hasHeader = headerMode !== 'none' && options.header !== null;\n if (!hasHeader) {\n return ;\n }\n\n if (headerStyle !== undefined) {\n headerOptions.backgroundColor = headerStyle.backgroundColor;\n headerOptions.blurEffect = headerStyle.blurEffect;\n }\n\n const children = [];\n\n if (options.backButtonImage) {\n children.push(\n \n );\n }\n\n if (options.headerLeft !== undefined) {\n children.push(\n \n {renderComponentOrThunk(options.headerLeft, { scene })}\n \n );\n } else if (options.headerBackImage !== undefined) {\n const goBack = () => {\n // Go back on next tick because button ripple effect needs to happen on Android\n requestAnimationFrame(() => {\n descriptor.navigation.goBack(descriptor.key);\n });\n };\n\n children.push(\n \n \n \n );\n }\n\n if (options.headerTitle) {\n if (title === undefined && typeof options.headerTitle === 'string') {\n headerOptions.title = options.headerTitle;\n } else {\n children.push(\n \n {renderComponentOrThunk(options.headerTitle, { scene })}\n \n );\n }\n }\n\n if (options.headerRight) {\n children.push(\n \n {renderComponentOrThunk(options.headerRight, { scene })}\n \n );\n }\n\n if (children.length > 0) {\n headerOptions.children = children;\n }\n\n return ;\n };\n\n _renderScene = (index, route, descriptor) => {\n const { navigation, getComponent, options } = descriptor;\n const { mode, transparentCard } = this.props.navigationConfig;\n const SceneComponent = getComponent();\n\n let stackPresentation = 'push';\n if (mode === 'modal' || mode === 'containedModal') {\n stackPresentation = mode;\n if (transparentCard || options.cardTransparent) {\n stackPresentation =\n mode === 'containedModal'\n ? 'containedTransparentModal'\n : 'transparentModal';\n }\n }\n\n let stackAnimation = options.stackAnimation;\n if (options.animationEnabled === false) {\n stackAnimation = 'none';\n }\n\n const { screenProps } = this.props;\n return (\n this._onAppear(route, descriptor)}\n onDismissed={() => this._removeScene(route)}>\n {this._renderHeaderConfig(index, route, descriptor)}\n \n \n );\n };\n\n render() {\n const { navigation, descriptors } = this.props;\n\n return (\n \n {navigation.state.routes.map((route, i) =>\n this._renderScene(i, route, descriptors[route.key])\n )}\n \n );\n }\n}\n\nconst styles = StyleSheet.create({\n scenes: { flex: 1 },\n});\n\nfunction createStackNavigator(routeConfigMap, stackConfig = {}) {\n const router = StackRouter(routeConfigMap, stackConfig);\n\n // belowe we override getStateForAction method in order to add handling for\n // a custom native stack navigation action. The action REMOVE that we want to\n // add works in a similar way to POP, but it does not remove all the routes\n // that sit on top of the removed route. For example if we have three routes\n // [a,b,c] and call POP on b, then both b and c will go away. In case we\n // call REMOVE on b, only b will be removed from the stack and the resulting\n // state will be [a, c]\n const superGetStateForAction = router.getStateForAction;\n router.getStateForAction = (action, state) => {\n if (action.type === REMOVE_ACTION) {\n const { key, immediate } = action;\n let backRouteIndex = state.index;\n if (key) {\n const backRoute = state.routes.find((route) => route.key === key);\n backRouteIndex = state.routes.indexOf(backRoute);\n }\n\n if (backRouteIndex > 0) {\n const newRoutes = [...state.routes];\n newRoutes.splice(backRouteIndex, 1);\n return {\n ...state,\n routes: newRoutes,\n index: newRoutes.length - 1,\n isTransitioning: immediate !== true,\n };\n }\n }\n return superGetStateForAction(action, state);\n };\n // Create a navigator with StackView as the view\n return createNavigator(StackView, router, stackConfig);\n}\n\nexport default createStackNavigator;\n"]}