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
11 KiB
Plaintext

{"version":3,"sources":["index.native.js"],"names":["React","Animated","Image","requireNativeComponent","StyleSheet","UIManager","View","ENABLE_SCREENS","enableScreens","shouldEnableScreens","getViewManagerConfig","console","error","shouldUseActivityState","screensEnabled","NativeScreenValue","NativeScreenContainerValue","NativeScreenStack","NativeScreenStackHeaderConfig","NativeScreenStackHeaderSubview","AnimatedNativeScreen","ScreensNativeModules","NativeScreen","NativeScreenContainer","Screen","Component","ref","_ref","props","onComponentRef","setNativeProps","render","enabled","active","rest","setRef","createAnimatedComponent","activityState","undefined","warn","ScreenContainer","styles","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 <Animated.View {...rest} ref={this.setRef} />;\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 <AnimatedNativeScreen\n {...rest}\n activityState={activityState}\n ref={this.setRef}\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 <View {...rest} />;\n } else {\n return <ScreensNativeModules.NativeScreenContainer {...this.props} />;\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 <ScreensNativeModules.NativeScreenStackHeaderSubview\n type=\"back\"\n style={styles.headerSubview}>\n <Image resizeMode=\"center\" fadeDuration={0} {...props} />\n </ScreensNativeModules.NativeScreenStackHeaderSubview>\n);\n\nconst ScreenStackHeaderRightView = (props) => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"right\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderLeftView = (props) => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"left\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderCenterView = (props) => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"center\"\n style={styles.headerSubview}\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"]}