UNPKG

react-toastify

Version:
3 lines (2 loc) 17.4 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("clsx")):"function"==typeof define&&define.amd?define(["exports","react","clsx"],t):t((e||self).reactToastify={},e.react,e.clsx)}(this,function(e,t,n){function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=/*#__PURE__*/o(t),a=/*#__PURE__*/o(n);function r(e){return"number"==typeof e&&!isNaN(e)}function i(e){return"boolean"==typeof e}function l(e){return"string"==typeof e}function c(e){return"function"==typeof e}function u(e){return l(e)||c(e)?e:null}function d(e){return 0===e||e}function f(e){return t.isValidElement(e)||l(e)||c(e)||r(e)}const p={TOP_LEFT:"top-left",TOP_RIGHT:"top-right",TOP_CENTER:"top-center",BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right",BOTTOM_CENTER:"bottom-center"},m={INFO:"info",SUCCESS:"success",WARNING:"warning",ERROR:"error",DEFAULT:"default"};function g(e,t,n){void 0===n&&(n=300);const{scrollHeight:o,style:s}=e;requestAnimationFrame(()=>{s.minHeight="initial",s.height=o+"px",s.transition="all "+n+"ms",requestAnimationFrame(()=>{s.height="0",s.padding="0",s.margin="0",setTimeout(t,n)})})}function y(e){let{enter:n,exit:o,appendPosition:a=!1,collapse:r=!0,collapseDuration:i=300}=e;return function(e){let{children:l,position:c,preventExitTransition:u,done:d,nodeRef:f,isIn:p}=e;const m=a?n+"--"+c:n,y=a?o+"--"+c:o,h=t.useRef(),T=t.useRef(0);function v(e){if(e.target!==f.current)return;const t=f.current;t.dispatchEvent(new Event("d")),t.removeEventListener("animationend",v),t.removeEventListener("animationcancel",v),0===T.current&&"animationcancel"!==e.type&&(t.className=h.current)}function E(){const e=f.current;e.removeEventListener("animationend",E),r?g(e,d,i):d()}return t.useLayoutEffect(()=>{!function(){const e=f.current;h.current=e.className,e.className+=" "+m,e.addEventListener("animationend",v),e.addEventListener("animationcancel",v)}()},[]),t.useEffect(()=>{p||(u?E():function(){T.current=1;const e=f.current;e.className+=" "+y,e.addEventListener("animationend",E)}())},[p]),s.default.createElement(s.default.Fragment,null,l)}}function h(e,t){return{content:e.content,containerId:e.props.containerId,id:e.props.toastId,theme:e.props.theme,type:e.props.type,data:e.props.data||{},isLoading:e.props.isLoading,icon:e.props.icon,status:t}}const T={list:new Map,emitQueue:new Map,on(e,t){return this.list.has(e)||this.list.set(e,[]),this.list.get(e).push(t),this},off(e,t){if(t){const n=this.list.get(e).filter(e=>e!==t);return this.list.set(e,n),this}return this.list.delete(e),this},cancelEmit(e){const t=this.emitQueue.get(e);return t&&(t.forEach(clearTimeout),this.emitQueue.delete(e)),this},emit(e){this.list.has(e)&&this.list.get(e).forEach(t=>{const n=setTimeout(()=>{t(...[].slice.call(arguments,1))},0);this.emitQueue.has(e)||this.emitQueue.set(e,[]),this.emitQueue.get(e).push(n)})}},v=e=>{let{theme:t,type:n,...o}=e;return s.default.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:"colored"===t?"currentColor":"var(--toastify-icon-color-"+n+")",...o})},E={info:function(e){return s.default.createElement(v,{...e},s.default.createElement("path",{d:"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z"}))},warning:function(e){return s.default.createElement(v,{...e},s.default.createElement("path",{d:"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z"}))},success:function(e){return s.default.createElement(v,{...e},s.default.createElement("path",{d:"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z"}))},error:function(e){return s.default.createElement(v,{...e},s.default.createElement("path",{d:"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"}))},spinner:function(){return s.default.createElement("div",{className:"Toastify__spinner"})}};function b(e){const[,n]=t.useReducer(e=>e+1,0),[o,s]=t.useState([]),a=t.useRef(null),p=t.useRef(new Map).current,m=e=>-1!==o.indexOf(e),g=t.useRef({toastKey:1,displayedToast:0,count:0,queue:[],props:e,containerId:null,isToastActive:m,getToast:e=>p.get(e)}).current;function y(e){let{containerId:t}=e;const{limit:n}=g.props;!n||t&&g.containerId!==t||(g.count-=g.queue.length,g.queue=[])}function v(e){s(t=>d(e)?t.filter(t=>t!==e):[])}function b(){const{toastContent:e,toastProps:t,staleId:n}=g.queue.shift();_(e,t,n)}function C(e,o){let{delay:s,staleId:m,...y}=o;if(!f(e)||function(e){return!a.current||g.props.enableMultiContainer&&e.containerId!==g.props.containerId||p.has(e.toastId)&&null==e.updateId}(y))return;const{toastId:C,updateId:I,data:O}=y,{props:L}=g,N=()=>v(C),R=null==I;R&&g.count++;const x={toastId:C,updateId:I,data:O,containerId:y.containerId,isLoading:y.isLoading,theme:y.theme||L.theme,icon:null!=y.icon?y.icon:L.icon,isIn:!1,key:y.key||g.toastKey++,type:y.type,closeToast:N,closeButton:y.closeButton,rtl:L.rtl,position:y.position||L.position,transition:y.transition||L.transition,className:u(y.className||L.toastClassName),bodyClassName:u(y.bodyClassName||L.bodyClassName),style:y.style||L.toastStyle,bodyStyle:y.bodyStyle||L.bodyStyle,onClick:y.onClick||L.onClick,pauseOnHover:i(y.pauseOnHover)?y.pauseOnHover:L.pauseOnHover,pauseOnFocusLoss:i(y.pauseOnFocusLoss)?y.pauseOnFocusLoss:L.pauseOnFocusLoss,draggable:i(y.draggable)?y.draggable:L.draggable,draggablePercent:y.draggablePercent||L.draggablePercent,draggableDirection:y.draggableDirection||L.draggableDirection,closeOnClick:i(y.closeOnClick)?y.closeOnClick:L.closeOnClick,progressClassName:u(y.progressClassName||L.progressClassName),progressStyle:y.progressStyle||L.progressStyle,autoClose:!y.isLoading&&(P=y.autoClose,B=L.autoClose,!1===P||r(P)&&P>0?P:B),hideProgressBar:i(y.hideProgressBar)?y.hideProgressBar:L.hideProgressBar,progress:y.progress,role:y.role||L.role,deleteToast(){const e=h(p.get(C),"removed");p.delete(C),T.emit(4,e);const t=g.queue.length;if(g.count=d(C)?g.count-1:g.count-g.displayedToast,g.count<0&&(g.count=0),t>0){const e=d(C)?1:g.props.limit;if(1===t||1===e)g.displayedToast++,b();else{const n=e>t?t:e;g.displayedToast=n;for(let e=0;e<n;e++)b()}}else n()}};var P,B;x.iconOut=function(e){let{theme:n,type:o,isLoading:s,icon:a}=e,i=null;const u={theme:n,type:o};return!1===a||(c(a)?i=a(u):t.isValidElement(a)?i=t.cloneElement(a,u):l(a)||r(a)?i=a:s?i=E.spinner():(e=>e in E)(o)&&(i=E[o](u))),i}(x),c(y.onOpen)&&(x.onOpen=y.onOpen),c(y.onClose)&&(x.onClose=y.onClose),x.closeButton=L.closeButton,!1===y.closeButton||f(y.closeButton)?x.closeButton=y.closeButton:!0===y.closeButton&&(x.closeButton=!f(L.closeButton)||L.closeButton);let k=e;t.isValidElement(e)&&!l(e.type)?k=t.cloneElement(e,{closeToast:N,toastProps:x,data:O}):c(e)&&(k=e({closeToast:N,toastProps:x,data:O})),L.limit&&L.limit>0&&g.count>L.limit&&R?g.queue.push({toastContent:k,toastProps:x,staleId:m}):r(s)?setTimeout(()=>{_(k,x,m)},s):_(k,x,m)}function _(e,t,n){const{toastId:o}=t;n&&p.delete(n);const a={content:e,props:t};p.set(o,a),s(e=>[...e,o].filter(e=>e!==n)),T.emit(4,h(a,null==a.props.updateId?"added":"updated"))}return t.useEffect(()=>(g.containerId=e.containerId,T.cancelEmit(3).on(0,C).on(1,e=>a.current&&v(e)).on(5,y).emit(2,g),()=>T.emit(3,g)),[]),t.useEffect(()=>{g.props=e,g.isToastActive=m,g.displayedToast=o.length}),{getToastToRender:function(t){const n=new Map,o=Array.from(p.values());return e.newestOnTop&&o.reverse(),o.forEach(e=>{const{position:t}=e.props;n.has(t)||n.set(t,[]),n.get(t).push(e)}),Array.from(n,e=>t(e[0],e[1]))},containerRef:a,isToastActive:m}}function C(e){return e.targetTouches&&e.targetTouches.length>=1?e.targetTouches[0].clientX:e.clientX}function _(e){return e.targetTouches&&e.targetTouches.length>=1?e.targetTouches[0].clientY:e.clientY}function I(e){const[n,o]=t.useState(!1),[s,a]=t.useState(!1),r=t.useRef(null),i=t.useRef({start:0,x:0,y:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,boundingRect:null,didMove:!1}).current,l=t.useRef(e),{autoClose:u,pauseOnHover:d,closeToast:f,onClick:p,closeOnClick:m}=e;function g(t){if(e.draggable){i.didMove=!1,document.addEventListener("mousemove",v),document.addEventListener("mouseup",E),document.addEventListener("touchmove",v),document.addEventListener("touchend",E);const n=r.current;i.canCloseOnClick=!0,i.canDrag=!0,i.boundingRect=n.getBoundingClientRect(),n.style.transition="",i.x=C(t.nativeEvent),i.y=_(t.nativeEvent),"x"===e.draggableDirection?(i.start=i.x,i.removalDistance=n.offsetWidth*(e.draggablePercent/100)):(i.start=i.y,i.removalDistance=n.offsetHeight*(80===e.draggablePercent?1.5*e.draggablePercent:e.draggablePercent/100))}}function y(){if(i.boundingRect){const{top:t,bottom:n,left:o,right:s}=i.boundingRect;e.pauseOnHover&&i.x>=o&&i.x<=s&&i.y>=t&&i.y<=n?T():h()}}function h(){o(!0)}function T(){o(!1)}function v(t){const o=r.current;i.canDrag&&o&&(i.didMove=!0,n&&T(),i.x=C(t),i.y=_(t),i.delta="x"===e.draggableDirection?i.x-i.start:i.y-i.start,i.start!==i.x&&(i.canCloseOnClick=!1),o.style.transform="translate"+e.draggableDirection+"("+i.delta+"px)",o.style.opacity=""+(1-Math.abs(i.delta/i.removalDistance)))}function E(){document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",E),document.removeEventListener("touchmove",v),document.removeEventListener("touchend",E);const t=r.current;if(i.canDrag&&i.didMove&&t){if(i.canDrag=!1,Math.abs(i.delta)>i.removalDistance)return a(!0),void e.closeToast();t.style.transition="transform 0.2s, opacity 0.2s",t.style.transform="translate"+e.draggableDirection+"(0)",t.style.opacity="1"}}t.useEffect(()=>{l.current=e}),t.useEffect(()=>(r.current&&r.current.addEventListener("d",h,{once:!0}),c(e.onOpen)&&e.onOpen(t.isValidElement(e.children)&&e.children.props),()=>{const e=l.current;c(e.onClose)&&e.onClose(t.isValidElement(e.children)&&e.children.props)}),[]),t.useEffect(()=>(e.pauseOnFocusLoss&&(document.hasFocus()||T(),window.addEventListener("focus",h),window.addEventListener("blur",T)),()=>{e.pauseOnFocusLoss&&(window.removeEventListener("focus",h),window.removeEventListener("blur",T))}),[e.pauseOnFocusLoss]);const b={onMouseDown:g,onTouchStart:g,onMouseUp:y,onTouchEnd:y};return u&&d&&(b.onMouseEnter=T,b.onMouseLeave=h),m&&(b.onClick=e=>{p&&p(e),i.canCloseOnClick&&f()}),{playToast:h,pauseToast:T,isRunning:n,preventExitTransition:s,toastRef:r,eventHandlers:b}}function O(e){let{closeToast:t,theme:n,ariaLabel:o="close"}=e;return s.default.createElement("button",{className:"Toastify__close-button Toastify__close-button--"+n,type:"button",onClick:e=>{e.stopPropagation(),t(e)},"aria-label":o},s.default.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},s.default.createElement("path",{fillRule:"evenodd",d:"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"})))}function L(e){let{delay:t,isRunning:n,closeToast:o,type:r,hide:i,className:l,style:u,controlledProgress:d,progress:f,rtl:p,isIn:m,theme:g}=e;const y={...u,animationDuration:t+"ms",animationPlayState:n?"running":"paused",opacity:i?0:1};d&&(y.transform="scaleX("+f+")");const h=a.default("Toastify__progress-bar",d?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated","Toastify__progress-bar-theme--"+g,"Toastify__progress-bar--"+r,{"Toastify__progress-bar--rtl":p}),T=c(l)?l({rtl:p,type:r,defaultClassName:h}):a.default(h,l);return s.default.createElement("div",{role:"progressbar","aria-hidden":i?"true":"false","aria-label":"notification timer",className:T,style:y,[d&&f>=1?"onTransitionEnd":"onAnimationEnd"]:d&&f<1?null:()=>{m&&o()}})}L.defaultProps={type:m.DEFAULT,hide:!1};const N=e=>{const{isRunning:t,preventExitTransition:n,toastRef:o,eventHandlers:r}=I(e),{closeButton:i,children:l,autoClose:u,onClick:d,type:f,hideProgressBar:p,closeToast:m,transition:g,position:y,className:h,style:T,bodyClassName:v,bodyStyle:E,progressClassName:b,progressStyle:C,updateId:_,role:N,progress:R,rtl:x,toastId:P,deleteToast:B,isIn:k,isLoading:M,iconOut:w,theme:D}=e,A=a.default("Toastify__toast","Toastify__toast-theme--"+D,"Toastify__toast--"+f,{"Toastify__toast--rtl":x}),S=c(h)?h({rtl:x,position:y,type:f,defaultClassName:A}):a.default(A,h),F=!!R,z={closeToast:m,type:f,theme:D};let H=null;return!1===i||(H=c(i)?i(z):s.default.isValidElement(i)?s.default.cloneElement(i,z):O(z)),s.default.createElement(g,{isIn:k,done:B,position:y,preventExitTransition:n,nodeRef:o},s.default.createElement("div",{id:P,onClick:d,className:S,...r,style:T,ref:o},s.default.createElement("div",{...k&&{role:N},className:c(v)?v({type:f}):a.default("Toastify__toast-body",v),style:E},null!=w&&s.default.createElement("div",{className:a.default("Toastify__toast-icon",{"Toastify--animate-icon Toastify__zoom-enter":!M})},w),s.default.createElement("div",null,l)),H,(u||F)&&s.default.createElement(L,{..._&&!F?{key:"pb-"+_}:{},rtl:x,theme:D,delay:u,isRunning:t,isIn:k,closeToast:m,hide:p,type:f,style:C,className:b,controlledProgress:F,progress:R})))},R=y({enter:"Toastify--animate Toastify__bounce-enter",exit:"Toastify--animate Toastify__bounce-exit",appendPosition:!0}),x=y({enter:"Toastify--animate Toastify__slide-enter",exit:"Toastify--animate Toastify__slide-exit",appendPosition:!0}),P=y({enter:"Toastify--animate Toastify__zoom-enter",exit:"Toastify--animate Toastify__zoom-exit"}),B=y({enter:"Toastify--animate Toastify__flip-enter",exit:"Toastify--animate Toastify__flip-exit"}),k=t.forwardRef((e,n)=>{const{getToastToRender:o,containerRef:r,isToastActive:i}=b(e),{className:l,style:d,rtl:f,containerId:p}=e;function m(e){const t=a.default("Toastify__toast-container","Toastify__toast-container--"+e,{"Toastify__toast-container--rtl":f});return c(l)?l({position:e,rtl:f,defaultClassName:t}):a.default(t,u(l))}return t.useEffect(()=>{n&&(n.current=r.current)},[]),s.default.createElement("div",{ref:r,className:"Toastify",id:p},o((e,t)=>{const n=t.length?{...d}:{...d,pointerEvents:"none"};return s.default.createElement("div",{className:m(e),style:n,key:"container-"+e},t.map((e,n)=>{let{content:o,props:a}=e;return s.default.createElement(N,{...a,isIn:i(a.toastId),style:{...a.style,"--nth":n+1,"--len":t.length},key:"toast-"+a.key},o)}))}))});k.displayName="ToastContainer",k.defaultProps={position:p.TOP_RIGHT,transition:R,rtl:!1,autoClose:5e3,hideProgressBar:!1,closeButton:O,pauseOnHover:!0,pauseOnFocusLoss:!0,closeOnClick:!0,newestOnTop:!1,draggable:!0,draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light"};let M,w=new Map,D=[];function A(){return Math.random().toString(36).substring(2,9)}function S(e){return e&&(l(e.toastId)||r(e.toastId))?e.toastId:A()}function F(e,t){return w.size>0?T.emit(0,e,t):D.push({content:e,options:t}),t.toastId}function z(e,t){return{...t,type:t&&t.type||e,toastId:S(t)}}function H(e){return(t,n)=>F(t,z(e,n))}function q(e,t){return F(e,z(m.DEFAULT,t))}q.loading=(e,t)=>F(e,z(m.DEFAULT,{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...t})),q.promise=function(e,t,n){let o,{pending:s,error:a,success:r}=t;s&&(o=l(s)?q.loading(s,n):q.loading(s.render,{...n,...s}));const i={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null,delay:100},u=(e,t,s)=>{if(null==t)return void q.dismiss(o);const a={type:e,...i,...n,data:s},r=l(t)?{render:t}:t;return o?q.update(o,{...a,...r}):q(r.render,{...a,...r}),s},d=c(e)?e():e;return d.then(e=>u("success",r,e)).catch(e=>u("error",a,e)),d},q.success=H(m.SUCCESS),q.info=H(m.INFO),q.error=H(m.ERROR),q.warning=H(m.WARNING),q.warn=q.warning,q.dark=(e,t)=>F(e,z(m.DEFAULT,{theme:"dark",...t})),q.dismiss=e=>T.emit(1,e),q.clearWaitingQueue=function(e){return void 0===e&&(e={}),T.emit(5,e)},q.isActive=e=>{let t=!1;return w.forEach(n=>{n.isToastActive&&n.isToastActive(e)&&(t=!0)}),t},q.update=function(e,t){void 0===t&&(t={}),setTimeout(()=>{const n=function(e,t){let{containerId:n}=t;const o=w.get(n||M);return o?o.getToast(e):null}(e,t);if(n){const{props:o,content:s}=n,a={...o,...t,toastId:t.toastId||e,updateId:A()};a.toastId!==e&&(a.staleId=e);const r=a.render||s;delete a.render,F(r,a)}},0)},q.done=e=>{q.update(e,{progress:1})},q.onChange=e=>(T.on(4,e),()=>{T.off(4,e)}),q.POSITION=p,q.TYPE=m,T.on(2,e=>{M=e.containerId||e,w.set(M,e),D.forEach(e=>{T.emit(0,e.content,e.options)}),D=[]}).on(3,e=>{w.delete(e.containerId||e),0===w.size&&T.off(0).off(1).off(5)}),e.Bounce=R,e.Flip=B,e.Icons=E,e.Slide=x,e.ToastContainer=k,e.Zoom=P,e.collapseToast=g,e.cssTransition=y,e.toast=q,e.useToast=I,e.useToastContainer=b}); //# sourceMappingURL=react-toastify.umd.js.map