UNPKG

react-navigation-stack

Version:
2 lines 3.08 kB
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _interopRequireWildcard=require("@babel/runtime/helpers/interopRequireWildcard");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf3=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var React=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _reactNativeGestureHandler=require("react-native-gesture-handler");var _jsxFileName="/Users/satya/Workspace/Callstack/react-navigation-stack/src/views/BorderlessButton.tsx";var AnimatedBaseButton=_reactNative.Animated.createAnimatedComponent(_reactNativeGestureHandler.BaseButton);var USE_NATIVE_DRIVER=_reactNative.Platform.OS==='android'||_reactNative.Platform.OS==='ios';var BorderlessButton=function(_React$Component){(0,_inherits2.default)(BorderlessButton,_React$Component);function BorderlessButton(){var _getPrototypeOf2;var _this;(0,_classCallCheck2.default)(this,BorderlessButton);for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}_this=(0,_possibleConstructorReturn2.default)(this,(_getPrototypeOf2=(0,_getPrototypeOf3.default)(BorderlessButton)).call.apply(_getPrototypeOf2,[this].concat(args)));_this.opacity=new _reactNative.Animated.Value(1);_this.handleActiveStateChange=function(active){if(_reactNative.Platform.OS!=='android'){_reactNative.Animated.spring(_this.opacity,{stiffness:1000,damping:500,mass:3,overshootClamping:true,restDisplacementThreshold:0.01,restSpeedThreshold:0.01,toValue:active?_this.props.activeOpacity:1,useNativeDriver:USE_NATIVE_DRIVER}).start();}_this.props.onActiveStateChange&&_this.props.onActiveStateChange(active);};return _this;}(0,_createClass2.default)(BorderlessButton,[{key:"render",value:function render(){var _this$props=this.props,children=_this$props.children,style=_this$props.style,enabled=_this$props.enabled,rest=(0,_objectWithoutProperties2.default)(_this$props,["children","style","enabled"]);return React.createElement(AnimatedBaseButton,(0,_extends2.default)({},rest,{onActiveStateChange:this.handleActiveStateChange,style:[style,_reactNative.Platform.OS==='ios'&&enabled&&{opacity:this.opacity}],__source:{fileName:_jsxFileName,lineNumber:42}}),children);}}]);return BorderlessButton;}(React.Component);exports.default=BorderlessButton;BorderlessButton.defaultProps={activeOpacity:0.3,borderless:true}; //# sourceMappingURL=BorderlessButton.js.map