UNPKG

@ant-design/react-native

Version:

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

1 lines 4.07 kB
"use strict";"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 _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _methods=require("../methods");var _ToastContainer=_interopRequireDefault(require("../ToastContainer"));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 nextKey=300000;function useToast(){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 removeAll=(0,_react.useCallback)(function(){setActionQueue([]);},[]);var ElementsHolder=_react.default.useMemo(function(){return actionQueue.length?_react.default.createElement(_react.default.Fragment,null,actionQueue.map(function(a){return a.el;})):undefined;},[actionQueue]);var notice=(0,_react.useCallback)(function(content,type){var duration=arguments.length>2&&arguments[2]!==undefined?arguments[2]:_methods.defaultConfig.duration;var onClose=arguments.length>3&&arguments[3]!==undefined?arguments[3]:_methods.defaultConfig.onClose;var mask=arguments.length>4&&arguments[4]!==undefined?arguments[4]:_methods.defaultConfig.mask;var props=(0,_extends2.default)((0,_extends2.default)({},_methods.defaultConfig),{content:content,type:type,duration:duration,onClose:onClose,mask:mask});if(typeof content!=='string'){props=(0,_extends2.default)((0,_extends2.default)({},props),content);}if(!props.stackable){removeAll();}var key=nextKey++;setActionQueue(function(prev){return[].concat((0,_toConsumableArray2.default)(prev),[{key:key,el:_react.default.createElement(_ToastContainer.default,(0,_extends2.default)({},props,{onAnimationEnd:function onAnimationEnd(){remove(key);},key:key}))}]);});return key;},[remove,removeAll]);var base=(0,_react.useCallback)(function(type){return function(props,duration,onClose,mask){return notice(props,type,duration,onClose,mask);};},[notice]);var show=(0,_react.useCallback)(function(props,duration,mask){return notice(props,'info',duration!==null&&duration!==void 0?duration:1.5,function(){},mask!==null&&mask!==void 0?mask:false);},[notice]);var methods=(0,_react.useMemo)(function(){return{show:show,info:base('info'),success:base('success'),fail:base('fail'),offline:base('offline'),loading:base('loading')};},[base,show]);var fns=_react.default.useMemo(function(){return(0,_extends2.default)((0,_extends2.default)({},methods),{remove:remove,removeAll:removeAll});},[methods,remove,removeAll]);return[fns,ElementsHolder];}var _default=useToast;exports.default=_default;