@ant-design/react-native
Version:
基于蚂蚁金服移动设计规范的 React Native 组件库
1 lines • 3.36 kB
JavaScript
;"use client";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");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 _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _style=require("../style");var _TabBarItem=_interopRequireDefault(require("./TabBarItem"));var _index=_interopRequireDefault(require("./style/index"));function _callSuper(_this,derived,args){function isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{return!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(e){return false;}}derived=(0,_getPrototypeOf2.default)(derived);return(0,_possibleConstructorReturn2.default)(_this,isNativeReflectConstruct()?Reflect.construct(derived,args||[],(0,_getPrototypeOf2.default)(_this).constructor):derived.apply(_this,args));}var TabBar=function(_React$Component){function TabBar(){(0,_classCallCheck2.default)(this,TabBar);return _callSuper(this,TabBar,arguments);}(0,_inherits2.default)(TabBar,_React$Component);return(0,_createClass2.default)(TabBar,[{key:"getPanes",value:function getPanes(styles,content){var _this$props=this.props,tintColor=_this$props.tintColor,unselectedTintColor=_this$props.unselectedTintColor,children=_this$props.children;var selectedIndex=0;[].concat(children).forEach(function(child,idx){if(child.props.selected){selectedIndex=idx;}});var newChildren=[];_react.default.Children.map(children,function(child,idx){if(content&&selectedIndex===idx){newChildren.push(_react.default.createElement(_reactNative.View,{key:idx,style:[styles.contentItem,idx===selectedIndex?styles.contentItemSelected:undefined]},child.props.children));}else{newChildren.push(_react.default.cloneElement(child,{key:idx,tintColor:tintColor,unselectedTintColor:unselectedTintColor,styles:styles}));}});if(content){return newChildren.filter(function(_,i){return i===selectedIndex;});}return newChildren;}},{key:"render",value:function render(){var _this2=this;var style={backgroundColor:this.props.barTintColor};return _react.default.createElement(_reactNative.SafeAreaView,{style:[{flex:1},style]},_react.default.createElement(_style.WithTheme,{styles:this.props.styles,themeStyles:_index.default},function(styles){return _react.default.createElement(_reactNative.View,{style:styles.tabbar},_react.default.createElement(_reactNative.View,{style:styles.content},_this2.getPanes(styles,true)),_react.default.createElement(_reactNative.View,{style:[style,styles.tabs]},_this2.getPanes(styles,false)));}));}}]);}(_react.default.Component);TabBar.defaultProps={barTintColor:'white',tintColor:'#108ee9',unselectedTintColor:'#888'};TabBar.Item=_TabBarItem.default;var _default=TabBar;exports.default=_default;