UNPKG

@ant-design/react-native

Version:

基于蚂蚁金服移动设计规范的 React Native 组件库

1 lines 5.77 kB
"use client";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));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 _getLocale=require("../_util/getLocale");var _localeProvider=require("../locale-provider");var _style=require("../style");var _Modal=_interopRequireDefault(require("./Modal"));var _zh_CN=_interopRequireDefault(require("./locale/zh_CN"));var _prompt=_interopRequireDefault(require("./style/prompt"));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 PropmptContainer=function(_React$Component){function PropmptContainer(props){var _this2;(0,_classCallCheck2.default)(this,PropmptContainer);_this2=_callSuper(this,PropmptContainer,[props]);_this2.onBackAndroid=function(){var onBackHandler=_this2.props.onBackHandler;if(typeof onBackHandler==='function'){var flag=onBackHandler();if(flag){_this2.onClose();}return flag;}if(_this2.state.visible){_this2.onClose();return true;}return false;};_this2.onClose=function(){_this2.setState({visible:false});};_this2.state={visible:true,text:props.defaultValue,password:props.type==='secure-text'?props.defaultValue:''};return _this2;}(0,_inherits2.default)(PropmptContainer,_React$Component);return(0,_createClass2.default)(PropmptContainer,[{key:"onChangeText",value:function onChangeText(type,value){this.setState((0,_defineProperty2.default)({},type,value));}},{key:"render",value:function render(){var _this3=this;var _this$props=this.props,title=_this$props.title,onAnimationEnd=_this$props.onAnimationEnd,message=_this$props.message,type=_this$props.type,actions=_this$props.actions,placeholders=_this$props.placeholders;var _this$state=this.state,text=_this$state.text,password=_this$state.password;var getArgs=function getArgs(func){if(type==='login-password'){return func.apply(this,[text,password]);}else if(type==='secure-text'){return func.apply(this,[password]);}return func.apply(this,[text]);};var _locale=(0,_getLocale.getComponentLocale)(this.props,this.context,'Modal',function(){return _zh_CN.default;});var callbacks;if(typeof actions==='function'){callbacks=[{text:_locale.cancelText,style:'cancel',onPress:function onPress(){}},{text:_locale.okText,onPress:function onPress(){return getArgs(actions);}}];}else{callbacks=actions.map(function(item){return{text:item.text,onPress:function onPress(){if(item.onPress){return getArgs(item.onPress);}},style:item.style||{}};});}var footer=callbacks.map(function(button){var orginPress=button.onPress||function(){};button.onPress=function(){var res=orginPress();if(res&&res.then){res.then(function(){_this3.onClose();});}else{_this3.onClose();}};return button;});return _react.default.createElement(_style.WithTheme,{styles:this.props.styles,themeStyles:_prompt.default},function(styles,theme){var firstStyle=[styles.inputWrapper];var lastStyle=[styles.inputWrapper];if(type==='login-password'){firstStyle.push(styles.inputFirst);lastStyle.push(styles.inputLast);}else if(type==='secure-text'){lastStyle.push(styles.inputFirst);lastStyle.push(styles.inputLast);}else{firstStyle.push(styles.inputFirst);firstStyle.push(styles.inputLast);}return _react.default.createElement(_Modal.default,{transparent:true,title:title,visible:_this3.state.visible,footer:footer,modalType:_this3.props.modalType,onAnimationEnd:onAnimationEnd,onRequestClose:_this3.onBackAndroid},message?_react.default.createElement(_reactNative.Text,{style:styles.message},message):null,_react.default.createElement(_reactNative.View,{style:styles.inputGroup},type!=='secure-text'&&_react.default.createElement(_reactNative.View,{style:firstStyle},_react.default.createElement(_reactNative.TextInput,{autoFocus:true,onChangeText:function onChangeText(value){_this3.onChangeText('text',value);},defaultValue:_this3.state.text,style:styles.input,underlineColorAndroid:"transparent",placeholder:placeholders[0],placeholderTextColor:theme.color_text_placeholder})),(type==='secure-text'||type==='login-password')&&_react.default.createElement(_reactNative.View,{style:lastStyle},_react.default.createElement(_reactNative.TextInput,{autoFocus:true,secureTextEntry:true,onChangeText:function onChangeText(value){_this3.onChangeText('password',value);},defaultValue:_this3.state.password,style:styles.input,underlineColorAndroid:"transparent",placeholder:placeholders[1],placeholderTextColor:theme.color_text_placeholder}))));});}}]);}(_react.default.Component);PropmptContainer.defaultProps={type:'default',defaultValue:''};PropmptContainer.contextType=_localeProvider.LocaleContext;var _default=PropmptContainer;exports.default=_default;