{"version":3,"sources":["index.native.js"],"names":["ENABLE_SCREENS","enableScreens","shouldEnableScreens","UIManager","getViewManagerConfig","console","error","shouldUseActivityState","screensEnabled","NativeScreenValue","NativeScreenContainerValue","NativeScreenStack","NativeScreenStackHeaderConfig","NativeScreenStackHeaderSubview","AnimatedNativeScreen","ScreensNativeModules","NativeScreen","NativeScreenContainer","Screen","React","Component","ref","_ref","props","onComponentRef","setNativeProps","render","enabled","active","rest","setRef","Animated","createAnimatedComponent","activityState","undefined","warn","ScreenContainer","styles","StyleSheet","create","headerSubview","position","top","right","flexDirection","alignItems","justifyContent","ScreenStackHeaderBackButtonImage","ScreenStackHeaderRightView","ScreenStackHeaderLeftView","ScreenStackHeaderCenterView","module","exports","ScreenStack","ScreenStackHeaderConfig","ScreenStackHeaderSubview"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n Animated,\n Image,\n requireNativeComponent,\n StyleSheet,\n UIManager,\n View,\n} from 'react-native';\n\nlet ENABLE_SCREENS = false;\n\nfunction enableScreens(shouldEnableScreens = true) {\n ENABLE_SCREENS = shouldEnableScreens;\n if (ENABLE_SCREENS && !UIManager.getViewManagerConfig('RNSScreen')) {\n console.error(\n `Screen native module hasn't been linked. Please check the react-native-screens README for more details`\n );\n }\n}\n\n// const that tells if the library should use new implementation, will be undefined for older versions\nconst shouldUseActivityState = true;\n\nfunction screensEnabled() {\n return ENABLE_SCREENS;\n}\n\n// We initialize these lazily so that importing the module doesn't throw error when not linked\n// This is necessary coz libraries such as React Navigation import the library where it may not be enabled\nlet NativeScreenValue;\nlet NativeScreenContainerValue;\nlet NativeScreenStack;\nlet NativeScreenStackHeaderConfig;\nlet NativeScreenStackHeaderSubview;\nlet AnimatedNativeScreen;\n\nconst ScreensNativeModules = {\n get NativeScreen() {\n NativeScreenValue =\n NativeScreenValue || requireNativeComponent('RNSScreen', null);\n return NativeScreenValue;\n },\n\n get NativeScreenContainer() {\n NativeScreenContainerValue =\n NativeScreenContainerValue ||\n requireNativeComponent('RNSScreenContainer', null);\n return NativeScreenContainerValue;\n },\n\n get NativeScreenStack() {\n NativeScreenStack =\n NativeScreenStack || requireNativeComponent('RNSScreenStack', null);\n return NativeScreenStack;\n },\n\n get NativeScreenStackHeaderConfig() {\n NativeScreenStackHeaderConfig =\n NativeScreenStackHeaderConfig ||\n requireNativeComponent('RNSScreenStackHeaderConfig', null);\n return NativeScreenStackHeaderConfig;\n },\n\n get NativeScreenStackHeaderSubview() {\n NativeScreenStackHeaderSubview =\n NativeScreenStackHeaderSubview ||\n requireNativeComponent('RNSScreenStackHeaderSubview', null);\n return NativeScreenStackHeaderSubview;\n },\n};\n\nclass Screen extends React.Component {\n setNativeProps(props) {\n this._ref.setNativeProps(props);\n }\n\n setRef = (ref) => {\n this._ref = ref;\n this.props.onComponentRef && this.props.onComponentRef(ref);\n };\n\n render() {\n const { enabled = true } = this.props;\n\n if (!ENABLE_SCREENS || !enabled) {\n // Filter out active prop in this case because it is unused and\n // can cause problems depending on react-native version:\n // https://github.com/react-navigation/react-navigation/issues/4886\n\n /* eslint-disable no-unused-vars */\n const { active, enabled, onComponentRef, ...rest } = this.props;\n\n return ;\n } else {\n AnimatedNativeScreen =\n AnimatedNativeScreen ||\n Animated.createAnimatedComponent(ScreensNativeModules.NativeScreen);\n\n let { enabled, active, activityState, ...rest } = this.props;\n if (active !== undefined && activityState === undefined) {\n console.warn(\n 'It appears that you are using old version of react-navigation library. Please update @react-navigation/bottom-tabs, @react-navigation/stack and @react-navigation/drawer to version 5.10.0 or above to take full advantage of new functionality added to react-native-screens'\n );\n activityState = active !== 0 ? 2 : 0; // in the new version, we need one of the screens to have value of 2 after the transition\n }\n return (\n \n );\n }\n }\n}\n\nclass ScreenContainer extends React.Component {\n render() {\n const { enabled = true, ...rest } = this.props;\n\n if (!ENABLE_SCREENS || !enabled) {\n return ;\n } else {\n return ;\n }\n }\n}\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\nconst ScreenStackHeaderBackButtonImage = (props) => (\n \n \n \n);\n\nconst ScreenStackHeaderRightView = (props) => (\n \n);\n\nconst ScreenStackHeaderLeftView = (props) => (\n \n);\n\nconst ScreenStackHeaderCenterView = (props) => (\n \n);\n\nmodule.exports = {\n ScreenContainer,\n Screen,\n get NativeScreen() {\n return ScreensNativeModules.NativeScreen;\n },\n\n get NativeScreenContainer() {\n return ScreensNativeModules.NativeScreenContainer;\n },\n\n get ScreenStack() {\n return ScreensNativeModules.NativeScreenStack;\n },\n get ScreenStackHeaderConfig() {\n return ScreensNativeModules.NativeScreenStackHeaderConfig;\n },\n get ScreenStackHeaderSubview() {\n return ScreensNativeModules.NativeScreenStackHeaderSubview;\n },\n ScreenStackHeaderBackButtonImage,\n ScreenStackHeaderRightView,\n ScreenStackHeaderLeftView,\n ScreenStackHeaderCenterView,\n\n enableScreens,\n screensEnabled,\n shouldUseActivityState,\n};\n"]}