react-native-tab-view
Version:
Tab view component for React Native
2 lines • 2.71 kB
JavaScript
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 _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 _reactNativeReanimated=_interopRequireDefault(require("react-native-reanimated"));var _memoize=_interopRequireDefault(require("./memoize"));var _jsxFileName="/Users/satya/Workspace/Projects/react-native-tab-view/src/TabBarIndicator.tsx";var max=_reactNativeReanimated.default.max,min=_reactNativeReanimated.default.min,multiply=_reactNativeReanimated.default.multiply;var TabBarIndicator=function(_React$Component){(0,_inherits2.default)(TabBarIndicator,_React$Component);function TabBarIndicator(){var _getPrototypeOf2;var _this;(0,_classCallCheck2.default)(this,TabBarIndicator);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)(TabBarIndicator)).call.apply(_getPrototypeOf2,[this].concat(args)));_this.getTranslateX=(0,_memoize.default)(function(position,routes,width){return multiply(max(min(position,routes.length-1),0),width*(_reactNative.I18nManager.isRTL?-1:1));});return _this;}(0,_createClass2.default)(TabBarIndicator,[{key:"render",value:function render(){var _this$props=this.props,width=_this$props.width,position=_this$props.position,navigationState=_this$props.navigationState,style=_this$props.style;var routes=navigationState.routes;var translateX=this.getTranslateX(position,routes,width);return React.createElement(_reactNativeReanimated.default.View,{style:[styles.indicator,{width:100/routes.length+"%"},width?{transform:[{translateX:translateX}]}:{left:100/routes.length*navigationState.index+"%"},style],__source:{fileName:_jsxFileName,lineNumber:34}});}}]);return TabBarIndicator;}(React.Component);exports.default=TabBarIndicator;var styles=_reactNative.StyleSheet.create({indicator:{backgroundColor:'#ffeb3b',position:'absolute',left:0,bottom:0,right:0,height:2}});
//# sourceMappingURL=TabBarIndicator.js.map