@ant-design/react-native
Version:
基于蚂蚁金服移动设计规范的 React Native 组件库
1 lines • 4.35 kB
JavaScript
"use client";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));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=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _icon=_interopRequireDefault(require("../icon"));function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}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 TabBarItem=function(_React$Component){function TabBarItem(){(0,_classCallCheck2.default)(this,TabBarItem);return _callSuper(this,TabBarItem,arguments);}(0,_inherits2.default)(TabBarItem,_React$Component);return(0,_createClass2.default)(TabBarItem,[{key:"render",value:function render(){var _this$props=this.props,title=_this$props.title,selected=_this$props.selected,tintColor=_this$props.tintColor,unselectedTintColor=_this$props.unselectedTintColor,icon=_this$props.icon,selectedIcon=_this$props.selectedIcon,onPress=_this$props.onPress,badge=_this$props.badge,iconStyle=_this$props.iconStyle,style=_this$props.style;var styles=this.props.styles;var itemSelectedStyle=selected?styles.barItemSelected:null;var badgeDom=badge?_react.default.createElement(_reactNative.View,{style:[styles.badge]},_react.default.createElement(_reactNative.Text,{style:[styles.badgeText]},badge)):null;var source=selected&&selectedIcon!==undefined?selectedIcon:icon!==undefined?icon:null;var color=selected?tintColor:unselectedTintColor;var isIcon=source&&source.type&&source.type.displayName==='Icon';return _react.default.createElement(_reactNative.TouchableWithoutFeedback,{onPress:onPress},_react.default.createElement(_reactNative.View,{style:[styles.barItem,itemSelectedStyle,style]},_react.default.createElement(_reactNative.View,null,source===null?null:(0,_react.isValidElement)(source)?isIcon?_react.default.createElement(_icon.default,(0,_extends2.default)({color:color},source.props)):source:_react.default.createElement(_reactNative.Image,{source:source,style:[styles.barIcon,iconStyle]}),badgeDom),_react.default.createElement(_reactNative.Text,{style:[styles.barItemTitle,{color:color}]},title)));}}]);}(_react.default.Component);TabBarItem.defaultProps={onPress:function onPress(){}};var _default=TabBarItem;exports.default=_default;