UNPKG

@contentstack/react-toastify

Version:
3 lines (2 loc) 15.5 kB
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react"),n=require("react-transition-group"),o=e(require("clsx"));require("prop-types");var r=e(require("react-dom"));function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}function i(e,t){if(null==e)return{};var n,o,r={},s=Object.keys(e);for(o=0;o<s.length;o++)t.indexOf(n=s[o])>=0||(r[n]=e[n]);return r}function a(e){return"number"==typeof e&&!isNaN(e)}function c(e){return"boolean"==typeof e}function u(e){return"string"==typeof e}function l(e){return"function"==typeof e}function d(e){return u(e)||l(e)?e:null}function f(e){return 0===e||e}var p=!("undefined"==typeof window||!window.document||!window.document.createElement);function m(e){return t.isValidElement(e)||u(e)||l(e)||a(e)}var v={TOP_LEFT:"top-left",TOP_RIGHT:"top-right",TOP_CENTER:"top-center",BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right",BOTTOM_CENTER:"bottom-center"},y={INFO:"info",SUCCESS:"success",WARNING:"warning",ERROR:"error",DEFAULT:"default",DARK:"dark"};function g(e,t,n){void 0===n&&(n=300);var o=e.scrollHeight,r=e.style;requestAnimationFrame((function(){r.minHeight="initial",r.height=o+"px",r.transition="all "+n+"ms",requestAnimationFrame((function(){r.height="0",r.padding="0",r.margin="0",setTimeout((function(){return t()}),n)}))}))}function T(e){var o,r,s=e.enter,a=e.exit,c=e.duration,u=void 0===c?750:c,l=e.appendPosition,d=void 0!==l&&l,f=e.collapse,p=void 0===f||f,m=e.collapseDuration,v=void 0===m?300:m;return Array.isArray(u)&&2===u.length?(o=u[0],r=u[1]):o=r=u,function(e){var c=e.children,u=e.position,l=e.preventExitTransition,f=e.done,m=i(e,["children","position","preventExitTransition","done"]),y=d?s+"--"+u:s,T=d?a+"--"+u:a,h=function e(){var t=m.nodeRef.current;t&&(t.removeEventListener("animationend",e),p?g(t,f,v):f())};return t.createElement(n.Transition,Object.assign({},m,{timeout:l?p?v:50:{enter:o,exit:p?r+v:r+50},onEnter:function(){var e=m.nodeRef.current;e&&(e.classList.add(y),e.style.animationFillMode="forwards",e.style.animationDuration=o+"ms")},onEntered:function(){var e=m.nodeRef.current;e&&(e.classList.remove(y),e.style.cssText="")},onExit:l?h:function(){var e=m.nodeRef.current;e&&(e.classList.add(T),e.style.animationFillMode="forwards",e.style.animationDuration=r+"ms",e.addEventListener("animationend",h))},unmountOnExit:!0}),c)}}var h={list:new Map,emitQueue:new Map,on:function(e,t){return this.list.has(e)||this.list.set(e,[]),this.list.get(e).push(t),this},off:function(e,t){if(t){var n=this.list.get(e).filter((function(e){return e!==t}));return this.list.set(e,n),this}return this.list.delete(e),this},cancelEmit:function(e){var t=this.emitQueue.get(e);return t&&(t.forEach((function(e){return clearTimeout(e)})),this.emitQueue.delete(e)),this},emit:function(e){for(var t=this,n=arguments.length,o=new Array(n>1?n-1:0),r=1;r<n;r++)o[r-1]=arguments[r];this.list.has(e)&&this.list.get(e).forEach((function(n){var r=setTimeout((function(){n.apply(void 0,o)}),0);t.emitQueue.has(e)||t.emitQueue.set(e,[]),t.emitQueue.get(e).push(r)}))}};function E(e,n){void 0===n&&(n=!1);var o=t.useRef(e);return t.useEffect((function(){n&&(o.current=e)})),o.current}function b(e,t){switch(t.type){case"ADD":return[].concat(e,[t.toastId]).filter((function(e){return e!==t.staleId}));case"REMOVE":return f(t.toastId)?e.filter((function(e){return e!==t.toastId})):[]}}function O(e){var n=t.useReducer((function(e){return e+1}),0)[1],o=t.useReducer(b,[]),r=o[0],s=o[1],p=t.useRef(null),v=E(0),y=E([]),g=E({}),T=E({toastKey:1,displayedToast:0,props:e,containerId:null,isToastActive:O,getToast:function(e){return g[e]||null}});function O(e){return-1!==r.indexOf(e)}function C(e){var t=e.containerId,n=T.props;n.limit&&(!t||T.containerId===t&&n.enableMultiContainer)&&(v-=y.length,y=[])}function _(e){var t=y.length;if((v=f(e)?v-1:v-T.displayedToast)<0&&(v=0),t>0){var n=f(e)?1:T.props.limit;if(1===t||1===n)T.displayedToast++,I();else{var o=n>t?t:n;T.displayedToast=o;for(var r=0;r<o;r++)I()}}s({type:"REMOVE",toastId:e})}function I(){var e=y.shift(),t=e.toastContent,n=e.toastProps,o=e.staleId;setTimeout((function(){x(t,n,o)}),500)}function R(e,o){var r=o.delay,s=o.staleId,f=i(o,["delay","staleId"]);if(m(e)&&!function(e){var t=e.updateId;return!!(!p.current||T.props.enableMultiContainer&&e.containerId!==T.props.containerId||T.isToastActive(e.toastId)&&null==t)}(f)){var h=f.toastId,E=f.updateId,b=T.props,O=function(){return _(h)},C=!(0,T.isToastActive)(h);C&&v++;var I,R,N={toastId:h,updateId:E,key:f.key||T.toastKey++,type:f.type,closeToast:O,closeButton:f.closeButton,rtl:b.rtl,position:f.position||b.position,transition:f.transition||b.transition,className:d(f.className||b.toastClassName),bodyClassName:d(f.bodyClassName||b.bodyClassName),style:f.style||b.toastStyle,bodyStyle:f.bodyStyle||b.bodyStyle,onClick:f.onClick||b.onClick,pauseOnHover:c(f.pauseOnHover)?f.pauseOnHover:b.pauseOnHover,pauseOnFocusLoss:c(f.pauseOnFocusLoss)?f.pauseOnFocusLoss:b.pauseOnFocusLoss,draggable:c(f.draggable)?f.draggable:b.draggable,draggablePercent:a(f.draggablePercent)?f.draggablePercent:b.draggablePercent,closeOnClick:c(f.closeOnClick)?f.closeOnClick:b.closeOnClick,progressClassName:d(f.progressClassName||b.progressClassName),progressStyle:f.progressStyle||b.progressStyle,autoClose:(I=f.autoClose,R=b.autoClose,!1===I||a(I)&&I>0?I:R),hideProgressBar:c(f.hideProgressBar)?f.hideProgressBar:b.hideProgressBar,progress:f.progress,role:u(f.role)?f.role:b.role,deleteToast:function(){!function(e){delete g[e],n()}(h)}};l(f.onOpen)&&(N.onOpen=f.onOpen),l(f.onClose)&&(N.onClose=f.onClose);var L=b.closeButton;!1===f.closeButton||m(f.closeButton)?L=f.closeButton:!0===f.closeButton&&(L=!m(b.closeButton)||b.closeButton),N.closeButton=L;var w=e;t.isValidElement(e)&&!u(e.type)?w=t.cloneElement(e,{closeToast:O}):l(e)&&(w=e({closeToast:O})),b.limit&&b.limit>0&&v>b.limit&&C?y.push({toastContent:w,toastProps:N,staleId:s}):a(r)&&r>0?setTimeout((function(){x(w,N,s)}),r):x(w,N,s)}}function x(e,t,n){var o=t.toastId;g[o]={content:e,props:t},s({type:"ADD",toastId:o,staleId:n})}return t.useEffect((function(){return T.containerId=e.containerId,h.cancelEmit(3).on(0,R).on(1,(function(e){return p.current&&_(e)})).on(5,C).emit(2,T),function(){return h.emit(3,T)}}),[]),t.useEffect((function(){T.isToastActive=O,T.displayedToast=r.length,h.emit(4,r.length,e.containerId)}),[r]),t.useEffect((function(){T.props=e})),{getToastToRender:function(t){for(var n={},o=e.newestOnTop?Object.keys(g).reverse():Object.keys(g),r=0;r<o.length;r++){var s=g[o[r]],i=s.props.position;n[i]||(n[i]=[]),n[i].push(s)}return Object.keys(n).map((function(e){return t(e,n[e])}))},collection:g,containerRef:p,isToastActive:O}}function C(e){return e.targetTouches&&e.targetTouches.length>=1?e.targetTouches[0].clientX:e.clientX}function _(e){var n=t.useState(!0),o=n[0],r=n[1],s=t.useState(!1),i=s[0],a=s[1],c=t.useRef(null),u=E({start:0,x:0,y:0,deltaX:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,boundingRect:null}),d=E(e,!0),f=e.autoClose,p=e.pauseOnHover,m=e.closeToast,v=e.onClick,y=e.closeOnClick;function g(t){var n=c.current;u.canCloseOnClick=!0,u.canDrag=!0,u.boundingRect=n.getBoundingClientRect(),n.style.transition="",u.start=u.x=C(t.nativeEvent),u.removalDistance=n.offsetWidth*(e.draggablePercent/100)}function T(){if(u.boundingRect){var t=u.boundingRect;e.pauseOnHover&&u.x>=t.left&&u.x<=t.right&&u.y>=t.top&&u.y<=t.bottom?b():h()}}function h(){r(!0)}function b(){r(!1)}function O(e){var t=c.current;u.canDrag&&(o&&b(),u.x=C(e),u.deltaX=u.x-u.start,u.y=function(e){return e.targetTouches&&e.targetTouches.length>=1?e.targetTouches[0].clientY:e.clientY}(e),u.start!==u.x&&(u.canCloseOnClick=!1),t.style.transform="translateX("+u.deltaX+"px)",t.style.opacity=""+(1-Math.abs(u.deltaX/u.removalDistance)))}function _(){var t=c.current;if(u.canDrag){if(u.canDrag=!1,Math.abs(u.deltaX)>u.removalDistance)return a(!0),void e.closeToast();t.style.transition="transform 0.2s, opacity 0.2s",t.style.transform="translateX(0)",t.style.opacity="1"}}t.useEffect((function(){return l(e.onOpen)&&e.onOpen(t.isValidElement(e.children)&&e.children.props),function(){l(d.onClose)&&d.onClose(t.isValidElement(d.children)&&d.children.props)}}),[]),t.useEffect((function(){return e.draggable&&(document.addEventListener("mousemove",O),document.addEventListener("mouseup",_),document.addEventListener("touchmove",O),document.addEventListener("touchend",_)),function(){e.draggable&&(document.removeEventListener("mousemove",O),document.removeEventListener("mouseup",_),document.removeEventListener("touchmove",O),document.removeEventListener("touchend",_))}}),[e.draggable]),t.useEffect((function(){return e.pauseOnFocusLoss&&(window.addEventListener("focus",h),window.addEventListener("blur",b)),function(){e.pauseOnFocusLoss&&(window.removeEventListener("focus",h),window.removeEventListener("blur",b))}}),[e.pauseOnFocusLoss]);var I={onMouseDown:g,onTouchStart:g,onMouseUp:T,onTouchEnd:T};return f&&p&&(I.onMouseEnter=b,I.onMouseLeave=h),y&&(I.onClick=function(e){v&&v(e),u.canCloseOnClick&&m()}),{playToast:h,pauseToast:b,isRunning:o,preventExitTransition:i,toastRef:c,eventHandlers:I}}function I(e){var n=e.closeToast,o=e.ariaLabel;return t.createElement("button",{className:"Toastify__close-button Toastify__close-button--"+e.type,type:"button",onClick:function(e){e.stopPropagation(),n(e)},"aria-label":void 0===o?"close":o},t.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},t.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 R(e){var n,r,i=e.closeToast,a=e.type,c=e.className,u=e.controlledProgress,d=e.progress,f=e.rtl,p=e.isIn,m=s({},e.style,{animationDuration:e.delay+"ms",animationPlayState:e.isRunning?"running":"paused",opacity:e.hide?0:1});u&&(m.transform="scaleX("+d+")");var v=["Toastify__progress-bar",u?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated","Toastify__progress-bar--"+a,(n={},n["Toastify__progress-bar--rtl"]=f,n)],y=l(c)?c({rtl:f,type:a,defaultClassName:o.apply(void 0,v)}):o.apply(void 0,[].concat(v,[c])),g=((r={})[u&&d>=1?"onTransitionEnd":"onAnimationEnd"]=u&&d<1?null:function(){p&&i()},r);return t.createElement("div",Object.assign({className:y,style:m},g))}R.defaultProps={type:y.DEFAULT,hide:!1};var x=function(e){var n,r=_(e),s=r.isRunning,i=r.preventExitTransition,a=r.toastRef,c=r.eventHandlers,u=e.closeButton,d=e.children,f=e.autoClose,p=e.onClick,m=e.type,v=e.hideProgressBar,y=e.closeToast,g=e.transition,T=e.position,h=e.className,E=e.style,b=e.bodyClassName,O=e.bodyStyle,C=e.progressClassName,I=e.progressStyle,x=e.updateId,N=e.role,L=e.progress,w=e.rtl,P=e.toastId,k=e.deleteToast,B=["Toastify__toast","Toastify__toast--"+m,(n={},n["Toastify__toast--rtl"]=w,n)],A=l(h)?h({rtl:w,position:T,type:m,defaultClassName:o.apply(void 0,B)}):o.apply(void 0,[].concat(B,[h])),D=!!L;return t.createElement(g,{in:e.in,appear:!0,done:k,position:T,preventExitTransition:i,nodeRef:a},t.createElement("div",Object.assign({id:P,onClick:p,className:A||void 0},c,{style:E,ref:a}),t.createElement("div",Object.assign({},e.in&&{role:N},{className:l(b)?b({type:m}):o("Toastify__toast-body",b),style:O}),d),function(e){if(e){var n={closeToast:y,type:m};return l(e)?e(n):t.isValidElement(e)?t.cloneElement(e,n):void 0}}(u),(f||D)&&t.createElement(R,Object.assign({},x&&!D?{key:"pb-"+x}:{},{rtl:w,delay:f,isRunning:s,isIn:e.in,closeToast:y,hide:v,type:m,style:I,className:C,controlledProgress:D,progress:L}))))},N=T({enter:"Toastify__bounce-enter",exit:"Toastify__bounce-exit",appendPosition:!0}),L=T({enter:"Toastify__slide-enter",exit:"Toastify__slide-exit",duration:[450,750],appendPosition:!0}),w=T({enter:"Toastify__zoom-enter",exit:"Toastify__zoom-exit"}),P=T({enter:"Toastify__flip-enter",exit:"Toastify__flip-exit"}),k=function(e){var n=e.children,o=e.className,r=e.style,s=i(e,["children","className","style"]);return delete s.in,t.createElement("div",{className:o,style:r},t.Children.map(n,(function(e){return t.cloneElement(e,s)})))},B=function(e){var n=O(e),r=n.isToastActive,i=e.className,a=e.style,c=e.rtl;return t.createElement("div",{ref:n.containerRef,className:"Toastify",id:e.containerId},(0,n.getToastToRender)((function(e,n){var u,f,p={className:l(i)?i({position:e,rtl:c,defaultClassName:o("Toastify__toast-container","Toastify__toast-container--"+e,(u={},u["Toastify__toast-container--rtl"]=c,u))}):o("Toastify__toast-container","Toastify__toast-container--"+e,(f={},f["Toastify__toast-container--rtl"]=c,f),d(i)),style:0===n.length?s({},a,{pointerEvents:"none"}):s({},a)};return t.createElement(k,Object.assign({},p,{key:"container-"+e}),n.map((function(e){var n=e.content,o=e.props;return t.createElement(x,Object.assign({},o,{in:r(o.toastId),key:"toast-"+o.key,closeButton:!0===o.closeButton?I:o.closeButton}),n)})))})))};B.defaultProps={position:v.TOP_RIGHT,transition:N,rtl:!1,autoClose:5e3,hideProgressBar:!1,closeButton:I,pauseOnHover:!0,pauseOnFocusLoss:!0,closeOnClick:!0,newestOnTop:!1,draggable:!0,draggablePercent:80,role:"alert"};var A,D,S,M=new Map,F=[],j=!1;function H(){return M.size>0}function X(){return(Math.random().toString(36)+Date.now().toString(36)).substr(2,10)}function q(e){return e&&(u(e.toastId)||a(e.toastId))?e.toastId:X()}function Q(e,n){if(H())h.emit(0,e,n);else if(F.push({content:e,options:n}),j&&p){var o;j=!1,D=document.createElement("div"),document.body.appendChild(D);var s=void 0!==r.createRoot;s&&(o=r.createRoot(D)),s?o.render(t.createElement(B,Object.assign({},S))):r.render(t.createElement(B,Object.assign({},S)),D)}return n.toastId}function V(e,t){return s({},t,{type:t&&t.type||e,toastId:q(t)})}var U=function(e,t){return Q(e,V(y.DEFAULT,t))};U.success=function(e,t){return Q(e,V(y.SUCCESS,t))},U.info=function(e,t){return Q(e,V(y.INFO,t))},U.error=function(e,t){return Q(e,V(y.ERROR,t))},U.warning=function(e,t){return Q(e,V(y.WARNING,t))},U.dark=function(e,t){return Q(e,V(y.DARK,t))},U.warn=U.warning,U.dismiss=function(e){return H()&&h.emit(1,e)},U.clearWaitingQueue=function(e){return void 0===e&&(e={}),H()&&h.emit(5,e)},U.isActive=function(e){var t=!1;return M.forEach((function(n){n.isToastActive&&n.isToastActive(e)&&(t=!0)})),t},U.update=function(e,t){void 0===t&&(t={}),setTimeout((function(){var n=function(e,t){var n,o=(n=t.containerId,H()?M.get(n||A):null);return o?o.getToast(e):null}(e,t);if(n){var o=n.content,r=s({},n.props,t,{toastId:t.toastId||e,updateId:X()});r.toastId!==e&&(r.staleId=e);var i=void 0!==r.render?r.render:o;delete r.render,Q(i,r)}}),0)},U.done=function(e){U.update(e,{progress:1})},U.onChange=function(e){return l(e)&&h.on(4,e),function(){l(e)&&h.off(4,e)}},U.configure=function(e){void 0===e&&(e={}),j=!0,S=e},U.POSITION=v,U.TYPE=y,h.on(2,(function(e){M.set(A=e.containerId||e,e),F.forEach((function(e){h.emit(0,e.content,e.options)})),F=[]})).on(3,(function(e){M.delete(e.containerId||e),0===M.size&&h.off(0).off(1).off(5),p&&D&&document.body.removeChild(D)})),exports.Bounce=N,exports.Flip=P,exports.Slide=L,exports.ToastContainer=B,exports.Zoom=w,exports.collapseToast=g,exports.cssTransition=T,exports.toast=U,exports.useToast=_,exports.useToastContainer=O; //# sourceMappingURL=react-toastify.cjs.production.min.js.map