UNPKG

react-navigation-stack

Version:
2 lines 4.86 kB
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _extends from"@babel/runtime/helpers/extends";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _classCallCheck from"@babel/runtime/helpers/classCallCheck";import _createClass from"@babel/runtime/helpers/createClass";import _possibleConstructorReturn from"@babel/runtime/helpers/possibleConstructorReturn";import _getPrototypeOf from"@babel/runtime/helpers/getPrototypeOf";import _inherits from"@babel/runtime/helpers/inherits";var _jsxFileName="/Users/satya/Workspace/Callstack/react-navigation-stack/src/views/StackView/StackViewCard.tsx";function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly)symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;});keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(source,true).forEach(function(key){_defineProperty(target,key,source[key]);});}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source));}else{ownKeys(source).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}}return target;}import*as React from'react';import{Animated,StyleSheet,Platform}from'react-native';import{Screen}from'react-native-screens';import{ThemeContext,ThemeColors}from'react-navigation';import createPointerEventsContainer from'./createPointerEventsContainer';var EPS=1e-5;function getAccessibilityProps(isActive){if(Platform.OS==='ios'){return{accessibilityElementsHidden:!isActive};}else if(Platform.OS==='android'){return{importantForAccessibility:isActive?'yes':'no-hide-descendants'};}else{return{};}}var Card=function(_React$Component){_inherits(Card,_React$Component);function Card(){_classCallCheck(this,Card);return _possibleConstructorReturn(this,_getPrototypeOf(Card).apply(this,arguments));}_createClass(Card,[{key:"render",value:function render(){var _this$props=this.props,children=_this$props.children,pointerEvents=_this$props.pointerEvents,style=_this$props.style,position=_this$props.position,transparent=_this$props.transparent,_this$props$scene=_this$props.scene,index=_this$props$scene.index,isActive=_this$props$scene.isActive;var active=Platform.select({web:isActive,default:transparent||isActive?1:position.interpolate({inputRange:[index,index+1-EPS,index+1],outputRange:[1,1,0],extrapolate:'clamp'})});var animatedStyle=this.props.animatedStyle||{};var shadowOpacity=animatedStyle.shadowOpacity,overlayOpacity=animatedStyle.overlayOpacity,containerAnimatedStyle=_objectWithoutProperties(animatedStyle,["shadowOpacity","overlayOpacity"]);var flattenedStyle=StyleSheet.flatten(style)||{};var backgroundColor=flattenedStyle.backgroundColor,screenStyle=_objectWithoutProperties(flattenedStyle,["backgroundColor"]);var isDark=this.context==='dark';var baseCardStyle;if(isDark){baseCardStyle=transparent?styles.transparentDark:styles.cardDark;}else{baseCardStyle=transparent?styles.transparentLight:styles.cardLight;}return React.createElement(Screen,{pointerEvents:pointerEvents,onComponentRef:this.props.onComponentRef,style:[containerAnimatedStyle,screenStyle],active:active,__source:{fileName:_jsxFileName,lineNumber:93}},!transparent&&shadowOpacity?React.createElement(Animated.View,{style:[styles.shadow,{shadowOpacity:shadowOpacity}],pointerEvents:"none",__source:{fileName:_jsxFileName,lineNumber:101}}):null,React.createElement(Animated.View,_extends({},getAccessibilityProps(isActive),{style:[baseCardStyle,backgroundColor&&backgroundColor!=='transparent'?{backgroundColor:backgroundColor}:null],__source:{fileName:_jsxFileName,lineNumber:106}}),children),overlayOpacity?React.createElement(Animated.View,{pointerEvents:"none",style:[isDark?styles.overlayDark:styles.overlayLight,{opacity:overlayOpacity}],__source:{fileName:_jsxFileName,lineNumber:118}}):null);}}]);return Card;}(React.Component);Card.contextType=ThemeContext;var styles=StyleSheet.create({cardLight:{flex:1,backgroundColor:ThemeColors.light.body},cardDark:{flex:1,backgroundColor:ThemeColors.dark.body},overlayLight:_objectSpread({},StyleSheet.absoluteFillObject,{backgroundColor:'#000'}),overlayDark:_objectSpread({},StyleSheet.absoluteFillObject,{backgroundColor:'#fff'}),shadow:{top:0,left:0,bottom:0,width:3,position:'absolute',backgroundColor:'#fff',shadowOffset:{width:-1,height:1},shadowRadius:5,shadowColor:'#000'},transparentLight:{flex:1,backgroundColor:'transparent'},transparentDark:{flex:1,backgroundColor:'transparent'}});export default createPointerEventsContainer(Card); //# sourceMappingURL=StackViewCard.js.map