@ant-design/react-native
Version:
基于蚂蚁金服移动设计规范的 React Native 组件库
1 lines • 4.04 kB
JavaScript
;var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");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 _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _icon=_interopRequireDefault(require("../icon"));var _style=require("../style");var _Marquee=_interopRequireDefault(require("./Marquee"));var _index=_interopRequireDefault(require("./style/index"));function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=(0,_getPrototypeOf2["default"])(Derived),result;if(hasNativeReflectConstruct){var NewTarget=(0,_getPrototypeOf2["default"])(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return(0,_possibleConstructorReturn2["default"])(this,result);};}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}var NoticeBar=function(_React$Component){(0,_inherits2["default"])(NoticeBar,_React$Component);var _super=_createSuper(NoticeBar);function NoticeBar(props){var _this;(0,_classCallCheck2["default"])(this,NoticeBar);_this=_super.call(this,props);_this.onPress=function(){var _this$props=_this.props,mode=_this$props.mode,onPress=_this$props.onPress;if(onPress){onPress();}if(mode==='closable'){_this.setState({show:false});}};_this.state={show:true};return _this;}(0,_createClass2["default"])(NoticeBar,[{key:"render",value:function render(){var _this2=this;var _this$props2=this.props,children=_this$props2.children,mode=_this$props2.mode,icon=_this$props2.icon,style=_this$props2.style,action=_this$props2.action,marqueeProps=_this$props2.marqueeProps;return _react["default"].createElement(_style.WithTheme,{styles:this.props.styles,themeStyles:_index["default"]},function(styles,theme){var operationDom=null;icon=typeof icon==='undefined'?_react["default"].createElement(_icon["default"],{name:"sound",color:theme.brand_warning}):icon;if(mode==='closable'){operationDom=_react["default"].createElement(_reactNative.TouchableWithoutFeedback,{onPress:_this2.onPress},_react["default"].createElement(_reactNative.View,{style:styles.actionWrap},action?action:_react["default"].createElement(_reactNative.Text,{style:[styles.close]},"\xD7")));}else if(mode==='link'){operationDom=_react["default"].createElement(_reactNative.View,{style:styles.actionWrap},action?action:_react["default"].createElement(_reactNative.Text,{style:[styles.link]},"\u221F"));}var main=_react["default"].createElement(_reactNative.View,{style:[styles.notice,style]},icon&&_react["default"].createElement(_reactNative.View,{style:styles.left15},icon),_react["default"].createElement(_reactNative.View,{style:[styles.container,icon?styles.left6:styles.left15]},_react["default"].createElement(_Marquee["default"],(0,_extends2["default"])({style:styles.content,text:children},marqueeProps))),operationDom);return _this2.state.show?mode==='closable'?main:_react["default"].createElement(_reactNative.TouchableWithoutFeedback,{onPress:_this2.onPress},main):null;});}}]);return NoticeBar;}(_react["default"].Component);exports["default"]=NoticeBar;NoticeBar.defaultProps={mode:'',onPress:function onPress(){}};