UNPKG

@ant-design/react-native

Version:

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

1 lines 4.92 kB
"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 _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _AlertContainer=_interopRequireDefault(require("../AlertContainer"));var _OperationContainer=_interopRequireDefault(require("../OperationContainer"));var _PromptContainer=_interopRequireDefault(require("../PromptContainer"));var _alert=_interopRequireDefault(require("../alert"));var _operation=_interopRequireDefault(require("../operation"));var _prompt=_interopRequireDefault(require("../prompt"));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;}var StaticMethod={alert:_alert.default,prompt:_prompt.default,operation:_operation.default};var nextKey=200000;function useModal(){var _React$useState=_react.default.useState([]),_React$useState2=(0,_slicedToArray2.default)(_React$useState,2),actionQueue=_React$useState2[0],setActionQueue=_React$useState2[1];var remove=(0,_react.useCallback)(function(key){setActionQueue(function(prev){return prev.filter(function(p){return p.key!==key;});});},[]);var ElementsHolder=_react.default.useMemo(function(){return actionQueue.length?_react.default.createElement(_reactNative.Modal,{transparent:true},_react.default.createElement(_reactNative.View,{style:{flex:1,position:'relative'}},actionQueue.map(function(a){return a.el;}))):undefined;},[actionQueue]);var fns=_react.default.useMemo(function(){return{alert:function alert(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}var title=args[0],content=args[1],_args$=args[2],actions=_args$===void 0?[{text:'确定'}]:_args$,onBackHandler=args[3];var key=nextKey++;setActionQueue(function(prev){return[].concat((0,_toConsumableArray2.default)(prev),[{key:key,el:_react.default.createElement(_AlertContainer.default,{key:key,title:title,content:content,actions:actions,onAnimationEnd:function onAnimationEnd(visible){if(!visible){remove(key);}},onBackHandler:onBackHandler,modalType:"view"})}]);});return key;},prompt:function prompt(){for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2];}var title=args[0],message=args[1],callbackOrActions=args[2],_args$2=args[3],type=_args$2===void 0?'default':_args$2,_args$3=args[4],defaultValue=_args$3===void 0?'':_args$3,_args$4=args[5],placeholders=_args$4===void 0?['','']:_args$4,onBackHandler=args[6];if(!callbackOrActions){console.error('Must specify callbackOrActions');return;}var key=nextKey++;setActionQueue(function(prev){return[].concat((0,_toConsumableArray2.default)(prev),[{key:key,el:_react.default.createElement(_PromptContainer.default,{key:key,title:title,message:message,actions:callbackOrActions,type:type,defaultValue:defaultValue,onAnimationEnd:function onAnimationEnd(visible){if(!visible){remove(key);}},placeholders:placeholders,onBackHandler:onBackHandler,modalType:"view"})}]);});return key;},operation:function operation(){for(var _len3=arguments.length,args=new Array(_len3),_key3=0;_key3<_len3;_key3++){args[_key3]=arguments[_key3];}var actions=args[0],onBackHandler=args[1];var key=nextKey++;setActionQueue(function(prev){return[].concat((0,_toConsumableArray2.default)(prev),[{key:key,el:_react.default.createElement(_OperationContainer.default,{key:key,actions:actions.length>0?actions:[{text:'确定'}],onAnimationEnd:function onAnimationEnd(visible){if(!visible){remove(key);}},onBackHandler:onBackHandler,modalType:"view"})}]);});return key;},remove:remove};},[remove]);return[fns,ElementsHolder];}var _default=useModal;exports.default=_default;