@ant-design/react-native
Version:
基于蚂蚁金服移动设计规范的 React Native 组件库
1 lines • 6.65 kB
JavaScript
"use strict";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 _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 _localeProvider=require("../locale-provider");var _style=require("../style");var _getLocale=require("../_util/getLocale");var _zh_CN=_interopRequireDefault(require("./locale/zh_CN"));var _ModalView=_interopRequireDefault(require("./ModalView"));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 AntmModal=function(_React$Component){(0,_inherits2["default"])(AntmModal,_React$Component);var _super=_createSuper(AntmModal);function AntmModal(){(0,_classCallCheck2["default"])(this,AntmModal);return _super.apply(this,arguments);}(0,_createClass2["default"])(AntmModal,[{key:"render",value:function render(){var _this=this;var _this$props=this.props,title=_this$props.title,closable=_this$props.closable,footer=_this$props.footer,children=_this$props.children,style=_this$props.style,animateAppear=_this$props.animateAppear,maskClosable=_this$props.maskClosable,popup=_this$props.popup,transparent=_this$props.transparent,visible=_this$props.visible,onClose=_this$props.onClose,bodyStyle=_this$props.bodyStyle,onAnimationEnd=_this$props.onAnimationEnd,onRequestClose=_this$props.onRequestClose;var _locale=(0,_getLocale.getComponentLocale)(this.props,this.context,'Modal',function(){return _zh_CN["default"];});return _react["default"].createElement(_style.WithTheme,{styles:this.props.styles,themeStyles:_index["default"]},function(styles){var btnGroupStyle=styles.buttonGroupV;var horizontalFlex={};if(footer&&footer.length===2&&!_this.props.operation){btnGroupStyle=styles.buttonGroupH;horizontalFlex={flex:1};}var buttonWrapStyle=footer&&footer.length===2?styles.buttonWrapH:styles.buttonWrapV;var footerDom;if(footer&&footer.length){var footerButtons=footer.map(function(button,i){var buttonStyle={};if(_this.props.operation){buttonStyle=styles.buttonTextOperation;}if(button.style){buttonStyle=button.style;if(typeof buttonStyle==='string'){var styleMap={cancel:{color:'#000'},"default":{},destructive:{color:'red'}};buttonStyle=styleMap[buttonStyle]||{};}}var noneBorder=footer&&footer.length===2&&i===1?{borderRightWidth:0}:{};var onPressFn=function onPressFn(){if(button.onPress){button.onPress();}if(onClose){onClose();}};return _react["default"].createElement(_reactNative.TouchableHighlight,{key:i,style:horizontalFlex,underlayColor:"#ddd",onPress:onPressFn},_react["default"].createElement(_reactNative.View,{style:[buttonWrapStyle,noneBorder]},_react["default"].createElement(_reactNative.Text,{style:[styles.buttonText,buttonStyle]},button.text||"".concat(_locale.buttonText).concat(i))));});footerDom=_react["default"].createElement(_reactNative.View,{style:[btnGroupStyle,styles.footer]},footerButtons);}var animType=_this.props.animationType;if(transparent){if(animType==='slide'){animType='slide-up';}var closableDom=closable?_react["default"].createElement(_reactNative.View,{style:[styles.closeWrap]},_react["default"].createElement(_reactNative.TouchableWithoutFeedback,{onPress:onClose},_react["default"].createElement(_reactNative.View,null,_react["default"].createElement(_reactNative.Text,{style:[styles.close]},"\xD7")))):null;return _react["default"].createElement(_reactNative.View,{style:styles.container},_react["default"].createElement(_ModalView["default"],{onClose:onClose,animationType:animType,wrapStyle:transparent?styles.wrap:undefined,style:styles.wrap,visible:visible,onAnimationEnd:onAnimationEnd,onRequestClose:onRequestClose,animateAppear:animateAppear,maskClosable:maskClosable},_react["default"].createElement(_reactNative.KeyboardAvoidingView,{behavior:"padding",enabled:_reactNative.Platform.OS==='ios'},_react["default"].createElement(_reactNative.View,{style:[styles.innerContainer,style]},title?_react["default"].createElement(_reactNative.Text,{style:[styles.header]},title):null,_react["default"].createElement(_reactNative.View,{style:[styles.body,bodyStyle]},children),footerDom,closableDom))));}if(popup){var aType='SlideDown';if(animType==='slide-up'){animType='slide-up';aType='SlideUp';}else{animType='slide-down';}return _react["default"].createElement(_reactNative.View,{style:styles.container},_react["default"].createElement(_ModalView["default"],{onClose:onClose,animationType:animType,style:[styles.popupContainer,styles["popup".concat(aType)],style],visible:visible,onAnimationEnd:onAnimationEnd,onRequestClose:onRequestClose,animateAppear:animateAppear,maskClosable:maskClosable},_react["default"].createElement(_reactNative.View,{style:bodyStyle},children)));}if(animType==='slide'){animType=undefined;}return _react["default"].createElement(_reactNative.View,{style:styles.container},_react["default"].createElement(_ModalView["default"],{visible:visible,animationType:animType,onRequestClose:onRequestClose,onClose:onClose},_react["default"].createElement(_reactNative.View,{style:style},children)));});}}]);return AntmModal;}(_react["default"].Component);AntmModal.defaultProps={visible:false,closable:false,maskClosable:false,style:{},bodyStyle:{},animationType:'fade',onClose:function onClose(){},footer:[],transparent:false,popup:false,animateAppear:true,operation:false};AntmModal.contextType=_localeProvider.LocaleContext;var _default=AntmModal;exports["default"]=_default;