notistack
Advanced tools
Comparing version
@@ -31,2 +31,7 @@ import * as React from 'react'; | ||
/** | ||
* Id/key of the snackbar this transition belongs to. Used in transition callbacks | ||
* (e.g. onExited) to identify which snackbar has exited. | ||
*/ | ||
id: SnackbarKey; | ||
/** | ||
* Show the component; triggers the enter or exit states | ||
@@ -83,3 +88,3 @@ */ | ||
export type SnackbarAction = React.ReactNode | ((key: SnackbarKey) => React.ReactNode); | ||
export type SnackbarContentCallback = React.ReactNode | ((key: SnackbarKey, message: SnackbarMessage) => React.ReactNode); | ||
export type SnackbarContentCallback = React.ReactNode | ((key: SnackbarKey, message?: SnackbarMessage) => React.ReactNode); | ||
@@ -86,0 +91,0 @@ export type TransitionCloseHandler = (event: React.SyntheticEvent<any> | null, reason: CloseReason, key?: SnackbarKey) => void; |
@@ -11,3 +11,2 @@ 'use strict'; | ||
var clsx = _interopDefault(require('clsx')); | ||
var reactTransitionGroup = require('react-transition-group'); | ||
var goober = require('goober'); | ||
@@ -89,19 +88,277 @@ var hoistNonReactStatics = _interopDefault(require('hoist-non-react-statics')); | ||
/** | ||
* onEnter*** and onExit*** callbacks have a different arguments.length value. | ||
*/ | ||
var UNMOUNTED = 'unmounted'; | ||
var EXITED = 'exited'; | ||
var ENTERING = 'entering'; | ||
var ENTERED = 'entered'; | ||
var EXITING = 'exiting'; | ||
var useCallbackNormaliser = function useCallbackNormaliser(nodeRef) { | ||
return React.useCallback(function (callback) { | ||
return function (maybeIsAppearing) { | ||
if (!callback) return; | ||
var node = nodeRef.current; | ||
var Transition = /*#__PURE__*/function (_React$Component) { | ||
_inheritsLoose(Transition, _React$Component); | ||
if (maybeIsAppearing === undefined) { | ||
callback(node); | ||
function Transition(props) { | ||
var _this; | ||
_this = _React$Component.call(this, props) || this; | ||
var appear = props.appear; | ||
var initialStatus; | ||
_this.appearStatus = null; | ||
if (props["in"]) { | ||
if (appear) { | ||
initialStatus = EXITED; | ||
_this.appearStatus = ENTERING; | ||
} else { | ||
callback(node, maybeIsAppearing); | ||
initialStatus = ENTERED; | ||
} | ||
} else if (props.unmountOnExit || props.mountOnEnter) { | ||
initialStatus = UNMOUNTED; | ||
} else { | ||
initialStatus = EXITED; | ||
} | ||
_this.state = { | ||
status: initialStatus | ||
}; | ||
}, []); | ||
_this.nextCallback = null; | ||
return _this; | ||
} | ||
Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) { | ||
var nextIn = _ref["in"]; | ||
if (nextIn && prevState.status === UNMOUNTED) { | ||
return { | ||
status: EXITED | ||
}; | ||
} | ||
return null; | ||
}; | ||
var _proto = Transition.prototype; | ||
_proto.componentDidMount = function componentDidMount() { | ||
this.updateStatus(true, this.appearStatus); | ||
}; | ||
_proto.componentDidUpdate = function componentDidUpdate(prevProps) { | ||
var nextStatus = null; | ||
if (prevProps !== this.props) { | ||
var status = this.state.status; | ||
if (this.props["in"]) { | ||
if (status !== ENTERING && status !== ENTERED) { | ||
nextStatus = ENTERING; | ||
} | ||
} else if (status === ENTERING || status === ENTERED) { | ||
nextStatus = EXITING; | ||
} | ||
} | ||
this.updateStatus(false, nextStatus); | ||
}; | ||
_proto.componentWillUnmount = function componentWillUnmount() { | ||
this.cancelNextCallback(); | ||
}; | ||
_proto.getTimeouts = function getTimeouts() { | ||
var timeout = this.props.timeout; | ||
var enter = timeout; | ||
var exit = timeout; | ||
if (timeout != null && typeof timeout !== 'number') { | ||
exit = timeout.exit; | ||
enter = timeout.enter; | ||
} | ||
return { | ||
exit: exit, | ||
enter: enter | ||
}; | ||
}; | ||
_proto.updateStatus = function updateStatus(mounting, nextStatus) { | ||
if (mounting === void 0) { | ||
mounting = false; | ||
} | ||
if (nextStatus !== null) { | ||
this.cancelNextCallback(); | ||
if (nextStatus === ENTERING) { | ||
this.performEnter(mounting); | ||
} else { | ||
this.performExit(); | ||
} | ||
} else if (this.props.unmountOnExit && this.state.status === EXITED) { | ||
this.setState({ | ||
status: UNMOUNTED | ||
}); | ||
} | ||
}; | ||
_proto.performEnter = function performEnter(mounting) { | ||
var _this2 = this; | ||
var _this$props = this.props, | ||
enter = _this$props.enter, | ||
id = _this$props.id; | ||
var isAppearing = mounting; | ||
var timeouts = this.getTimeouts(); | ||
if (!mounting && !enter) { | ||
this.safeSetState({ | ||
status: ENTERED | ||
}, function () { | ||
_this2.props.onEntered(_this2.node, isAppearing, id); | ||
}); | ||
return; | ||
} | ||
this.props.onEnter(this.node, isAppearing, id); | ||
this.safeSetState({ | ||
status: ENTERING | ||
}, function () { | ||
_this2.props.onEntering(_this2.node, isAppearing, id); | ||
_this2.onTransitionEnd(timeouts.enter, function () { | ||
_this2.safeSetState({ | ||
status: ENTERED | ||
}, function () { | ||
_this2.props.onEntered(_this2.node, isAppearing, id); | ||
}); | ||
}); | ||
}); | ||
}; | ||
_proto.performExit = function performExit() { | ||
var _this3 = this; | ||
var _this$props2 = this.props, | ||
exit = _this$props2.exit, | ||
id = _this$props2.id; | ||
var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED | ||
if (!exit) { | ||
this.safeSetState({ | ||
status: EXITED | ||
}, function () { | ||
_this3.props.onExited(_this3.node, id); | ||
}); | ||
return; | ||
} | ||
this.props.onExit(this.node, id); | ||
this.safeSetState({ | ||
status: EXITING | ||
}, function () { | ||
_this3.props.onExiting(_this3.node, id); | ||
_this3.onTransitionEnd(timeouts.exit, function () { | ||
_this3.safeSetState({ | ||
status: EXITED | ||
}, function () { | ||
_this3.props.onExited(_this3.node, id); | ||
}); | ||
}); | ||
}); | ||
}; | ||
_proto.cancelNextCallback = function cancelNextCallback() { | ||
if (this.nextCallback !== null) { | ||
this.nextCallback.cancel(); | ||
this.nextCallback = null; | ||
} | ||
}; | ||
_proto.safeSetState = function safeSetState(nextState, callback) { | ||
callback = this.setNextCallback(callback); | ||
this.setState(nextState, callback); | ||
}; | ||
_proto.setNextCallback = function setNextCallback(callback) { | ||
var _this4 = this; | ||
var active = true; | ||
this.nextCallback = function (event) { | ||
if (active) { | ||
active = false; | ||
_this4.nextCallback = null; | ||
callback(event); | ||
} | ||
}; | ||
this.nextCallback.cancel = function () { | ||
active = false; | ||
}; | ||
return this.nextCallback; | ||
}; | ||
_proto.onTransitionEnd = function onTransitionEnd(timeout, handler) { | ||
this.setNextCallback(handler); | ||
var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener; | ||
if (!this.node || doesNotHaveTimeoutOrListener) { | ||
setTimeout(this.nextCallback, 0); | ||
return; | ||
} | ||
if (this.props.addEndListener) { | ||
this.props.addEndListener(this.node, this.nextCallback); | ||
} | ||
if (timeout != null) { | ||
setTimeout(this.nextCallback, timeout); | ||
} | ||
}; | ||
_proto.render = function render() { | ||
var status = this.state.status; | ||
if (status === UNMOUNTED) { | ||
return null; | ||
} | ||
var _this$props3 = this.props, | ||
children = _this$props3.children, | ||
childProps = _objectWithoutPropertiesLoose(_this$props3, ["children", "id", "in", "mountOnEnter", "unmountOnExit", "appear", "enter", "exit", "timeout", "addEndListener", "onEnter", "onEntering", "onEntered", "onExit", "onExiting", "onExited", "nodeRef"]); | ||
return children(status, childProps); | ||
}; | ||
_createClass(Transition, [{ | ||
key: "node", | ||
get: function get() { | ||
var node = this.props.nodeRef.current; | ||
if (!node) { | ||
throw new Error('notistack - Custom snackbar is not refForwarding'); | ||
} | ||
return node; | ||
} | ||
}]); | ||
return Transition; | ||
}(React__default.Component); | ||
function noop() {} | ||
Transition.defaultProps = { | ||
"in": false, | ||
mountOnEnter: false, | ||
unmountOnExit: false, | ||
appear: false, | ||
enter: true, | ||
exit: true, | ||
onEnter: noop, | ||
onEntering: noop, | ||
onEntered: noop, | ||
onExit: noop, | ||
onExiting: noop, | ||
onExited: noop | ||
}; | ||
@@ -218,3 +475,6 @@ | ||
// A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B. | ||
/** | ||
* Corresponds to 10 frames at 60 Hz. | ||
* A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B. | ||
*/ | ||
@@ -319,4 +579,4 @@ function debounce(func, wait) { | ||
var handleRef = useForkRef(handleRefIntermediary, ref); | ||
var callbackNormaliser = useCallbackNormaliser(nodeRef); | ||
var handleEnter = callbackNormaliser(function (node, isAppearing) { | ||
var handleEnter = function handleEnter(node, isAppearing, snackId) { | ||
setTranslateValue(direction, node); | ||
@@ -326,6 +586,7 @@ reflow(node); | ||
if (onEnter) { | ||
onEnter(node, isAppearing); | ||
onEnter(node, isAppearing, snackId); | ||
} | ||
}); | ||
var handleEntering = callbackNormaliser(function (node) { | ||
}; | ||
var handleEntering = function handleEntering(node) { | ||
var easing = (style === null || style === void 0 ? void 0 : style.transitionTimingFunction) || defaultEasing.easeOut; | ||
@@ -343,5 +604,5 @@ var transitionProps = getTransitionProps({ | ||
node.style.transform = 'none'; | ||
}); | ||
var handleEntered = callbackNormaliser(onEntered); | ||
var handleExit = callbackNormaliser(function (node) { | ||
}; | ||
var handleExit = function handleExit(node, snackId) { | ||
var easing = (style === null || style === void 0 ? void 0 : style.transitionTimingFunction) || defaultEasing.sharp; | ||
@@ -360,6 +621,7 @@ var transitionProps = getTransitionProps({ | ||
if (onExit) { | ||
onExit(node); | ||
onExit(node, snackId); | ||
} | ||
}); | ||
var handleExited = callbackNormaliser(function (node) { | ||
}; | ||
var handleExited = function handleExited(node, snackId) { | ||
// No need for transitions when the component is hidden | ||
@@ -370,5 +632,6 @@ node.style.webkitTransition = ''; | ||
if (onExited) { | ||
onExited(node); | ||
onExited(node, snackId); | ||
} | ||
}); | ||
}; | ||
var updatePosition = React.useCallback(function () { | ||
@@ -404,7 +667,7 @@ if (nodeRef.current) { | ||
}, [inProp, updatePosition]); | ||
return React.createElement(reactTransitionGroup.Transition, Object.assign({ | ||
return React.createElement(Transition, Object.assign({ | ||
appear: true, | ||
nodeRef: nodeRef, | ||
onEnter: handleEnter, | ||
onEntered: handleEntered, | ||
onEntered: onEntered, | ||
onEntering: handleEntering, | ||
@@ -621,3 +884,2 @@ onExit: handleExit, | ||
var handleRef = useForkRef(ref, nodeRef); | ||
var callbackNormaliser = useCallbackNormaliser(nodeRef); | ||
@@ -628,10 +890,11 @@ var getWrapperSize = function getWrapperSize() { | ||
var handleEnter = callbackNormaliser(function (node, isAppearing) { | ||
var handleEnter = function handleEnter(node, isAppearing, snackId) { | ||
node.style.height = collapsedSize; | ||
if (onEnter) { | ||
onEnter(node, isAppearing); | ||
onEnter(node, isAppearing, snackId); | ||
} | ||
}); | ||
var handleEntering = callbackNormaliser(function (node) { | ||
}; | ||
var handleEntering = function handleEntering(node) { | ||
var wrapperSize = getWrapperSize(); | ||
@@ -657,19 +920,21 @@ | ||
node.style.transitionTimingFunction = easing || ''; | ||
}); | ||
var handleEntered = callbackNormaliser(function (node, isAppearing) { | ||
}; | ||
var handleEntered = function handleEntered(node, isAppearing, snackId) { | ||
node.style.height = 'auto'; | ||
if (onEntered) { | ||
onEntered(node, isAppearing); | ||
onEntered(node, isAppearing, snackId); | ||
} | ||
}); | ||
var handleExit = callbackNormaliser(function (node) { | ||
}; | ||
var handleExit = function handleExit(node, snackId) { | ||
node.style.height = getWrapperSize() + "px"; | ||
if (onExit) { | ||
onExit(node); | ||
onExit(node, snackId); | ||
} | ||
}); | ||
var handleExited = callbackNormaliser(onExited); | ||
var handleExiting = callbackNormaliser(function (node) { | ||
}; | ||
var handleExiting = function handleExiting(node) { | ||
var wrapperSize = getWrapperSize(); | ||
@@ -695,3 +960,3 @@ | ||
node.style.transitionTimingFunction = easing || ''; | ||
}); | ||
}; | ||
@@ -704,3 +969,3 @@ var handleAddEndListener = function handleAddEndListener(next) { | ||
return React.createElement(reactTransitionGroup.Transition, Object.assign({ | ||
return React.createElement(Transition, Object.assign({ | ||
"in": inProp, | ||
@@ -711,3 +976,3 @@ onEnter: handleEnter, | ||
onExit: handleExit, | ||
onExited: handleExited, | ||
onExited: onExited, | ||
onExiting: handleExiting, | ||
@@ -1219,5 +1484,6 @@ addEndListener: handleAddEndListener, | ||
return _extends({}, acc, (_extends2 = {}, _extends2[cbName] = createChainedFunction([props.snack[cbName], props[cbName]], otherSnack.id), _extends2)); | ||
return _extends({}, acc, (_extends2 = {}, _extends2[cbName] = createChainedFunction([props.snack[cbName], props[cbName]]), _extends2)); | ||
}, {}); | ||
return React__default.createElement(Collapse, { | ||
id: otherSnack.id, | ||
unmountOnExit: true, | ||
@@ -1235,2 +1501,3 @@ timeout: 175, | ||
}, React__default.createElement(TransitionComponent, Object.assign({}, transitionProps, { | ||
id: otherSnack.id, | ||
"in": open, | ||
@@ -1339,3 +1606,3 @@ onExit: callbacks.onExit, | ||
if (typeof console !== 'undefined') { | ||
console.error("WARNING - notistack: " + messages); | ||
console.error("WARNING - notistack: " + message); | ||
} | ||
@@ -1609,3 +1876,3 @@ | ||
_this.handleExitedSnack = function (event, key) { | ||
_this.handleExitedSnack = function (node, key) { | ||
if (!isDefined(key)) { | ||
@@ -1612,0 +1879,0 @@ throw new Error('handleExitedSnack Cannot be called with undefined key'); |
@@ -1,2 +0,2 @@ | ||
"use strict";function n(n){return n&&"object"==typeof n&&"default"in n?n.default:n}Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=n(e),r=require("react-dom"),i=n(require("clsx")),o=require("react-transition-group"),a=require("goober"),u=n(require("hoist-non-react-statics"));function c(){return(c=Object.assign||function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n}).apply(this,arguments)}function s(n,e){if(null==n)return{};var t,r,i={},o=Object.keys(n);for(r=0;r<o.length;r++)e.indexOf(t=o[r])>=0||(i[t]=n[t]);return i}var l=t.createContext(),f=function(n){return n.charAt(0).toUpperCase()+n.slice(1)},d=function(n){return""+f(n.vertical)+f(n.horizontal)},p=function(n){return!!n||0===n},m=function(n){return e.useCallback((function(e){return function(t){if(e){var r=n.current;void 0===t?e(r):e(r,t)}}}),[])};function v(n,e){"function"==typeof n?n(e):n&&(n.current=e)}function h(n,t){return e.useMemo((function(){return null==n&&null==t?null:function(e){v(n,e),v(t,e)}}),[n,t])}function g(n){var e,t=n.timeout,r=n.style,i=void 0===r?{}:r;return{duration:null!==(e=i.transitionDuration)&&void 0!==e?e:"object"==typeof t?t[n.mode]||0:t,easing:i.transitionTimingFunction,delay:i.transitionDelay}}var E=function(n){return Math.round(n)+"ms"};function x(n,e){void 0===n&&(n=["all"]);var t=e||{},r=t.duration,i=void 0===r?300:r,o=t.easing,a=void 0===o?"cubic-bezier(0.4, 0, 0.2, 1)":o,u=t.delay,c=void 0===u?0:u;return(Array.isArray(n)?n:[n]).map((function(n){var e="string"==typeof i?i:E(i),t="string"==typeof c?c:E(c);return n+" "+e+" "+a+" "+t})).join(",")}function k(n){return n&&n.ownerDocument||document}function b(n){return k(n).defaultView||window}function y(n,e){if(e){var t=function(n,e){var t,r=e.getBoundingClientRect(),i=b(e);if(e.fakeTransform)t=e.fakeTransform;else{var o=i.getComputedStyle(e);t=o.getPropertyValue("-webkit-transform")||o.getPropertyValue("transform")}var a=0,u=0;if(t&&"none"!==t&&"string"==typeof t){var c=t.split("(")[1].split(")")[0].split(",");a=parseInt(c[4],10),u=parseInt(c[5],10)}switch(n){case"left":return"translateX("+(i.innerWidth+a-r.left)+"px)";case"right":return"translateX(-"+(r.left+r.width-a)+"px)";case"up":return"translateY("+(i.innerHeight+u-r.top)+"px)";default:return"translateY(-"+(r.top+r.height-u)+"px)"}}(n,e);t&&(e.style.webkitTransform=t,e.style.transform=t)}}var w=e.forwardRef((function(n,t){var r=n.children,i=n.direction,a=void 0===i?"down":i,u=n.in,l=n.style,f=n.timeout,d=void 0===f?0:f,p=n.onEnter,v=n.onEntered,E=n.onExit,k=n.onExited,w=s(n,["children","direction","in","style","timeout","onEnter","onEntered","onExit","onExited"]),C=e.useRef(null),S=h(r.ref,C),L=h(S,t),T=m(C),D=T((function(n,e){y(a,n),function(n){n.scrollTop=n.scrollTop}(n),p&&p(n,e)})),O=T((function(n){var e=g({timeout:d,mode:"enter",style:c({},l,{transitionTimingFunction:(null==l?void 0:l.transitionTimingFunction)||"cubic-bezier(0.0, 0, 0.2, 1)"})});n.style.webkitTransition=x("-webkit-transform",e),n.style.transition=x("transform",e),n.style.webkitTransform="none",n.style.transform="none"})),R=T(v),H=T((function(n){var e=g({timeout:d,mode:"exit",style:c({},l,{transitionTimingFunction:(null==l?void 0:l.transitionTimingFunction)||"cubic-bezier(0.4, 0, 0.6, 1)"})});n.style.webkitTransition=x("-webkit-transform",e),n.style.transition=x("transform",e),y(a,n),E&&E(n)})),q=T((function(n){n.style.webkitTransition="",n.style.transition="",k&&k(n)})),M=e.useCallback((function(){C.current&&y(a,C.current)}),[a]);return e.useEffect((function(){if(!u&&"down"!==a&&"right"!==a){var n=function(n,e){var t;function r(){for(var r=this,i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];var u=function(){n.apply(r,o)};clearTimeout(t),t=setTimeout(u,e)}return void 0===e&&(e=166),r.clear=function(){clearTimeout(t)},r}((function(){C.current&&y(a,C.current)})),e=b(C.current);return e.addEventListener("resize",n),function(){n.clear(),e.removeEventListener("resize",n)}}}),[a,u]),e.useEffect((function(){u||M()}),[u,M]),e.createElement(o.Transition,Object.assign({appear:!0,nodeRef:C,onEnter:D,onEntered:R,onEntering:O,onExit:H,onExited:q,in:u,timeout:d},w),(function(n,t){return e.cloneElement(r,c({ref:L,style:c({visibility:"exited"!==n||u?void 0:"hidden"},l,{},r.props.style)},t))}))})),C=function(n){return t.createElement("svg",Object.assign({viewBox:"0 0 24 24",focusable:"false",style:{fontSize:20,marginInlineEnd:8,userSelect:"none",width:"1em",height:"1em",display:"inline-block",fill:"currentColor",flexShrink:0}},n))},S=function(){return t.createElement(C,null,t.createElement("path",{d:"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M10 17L5 12L6.41\n 10.59L10 14.17L17.59 6.58L19 8L10 17Z"}))},L=function(){return t.createElement(C,null,t.createElement("path",{d:"M13,14H11V10H13M13,18H11V16H13M1,21H23L12,2L1,21Z"}))},T=function(){return t.createElement(C,null,t.createElement("path",{d:"M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,\n 6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,\n 13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z"}))},D=function(){return t.createElement(C,null,t.createElement("path",{d:"M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,\n 0 22,12A10,10 0 0,0 12,2Z"}))},O={maxSnack:3,persist:!1,hideIconVariant:!1,disableWindowBlurListener:!1,variant:"default",autoHideDuration:5e3,iconVariant:{default:void 0,success:t.createElement(S,null),warning:t.createElement(L,null),error:t.createElement(T,null),info:t.createElement(D,null)},anchorOrigin:{vertical:"bottom",horizontal:"left"},TransitionComponent:w,transitionDuration:{enter:225,exit:195}};function R(n){if(!n)return 0;var e=n/36;return Math.round(10*(4+15*Math.pow(e,.25)+e/5))}function H(n){return Object.entries(n).reduce((function(n,e){var t;return c({},n,((t={})[e[0]]=a.css(e[1]),t))}),{})}var q=H({root:{height:0},entered:{height:"auto"}}),M=e.forwardRef((function(n,t){var r=n.children,a=n.style,u=n.timeout,l=void 0===u?300:u,f=n.in,d=n.onEnter,p=n.onEntered,v=n.onExit,E=n.onExited,k=s(n,["children","style","timeout","in","onEnter","onEntered","onExit","onExited","direction"]),b=e.useRef(),y=e.useRef(null),w=e.useRef();e.useEffect((function(){return function(){b.current&&clearTimeout(b.current)}}),[]);var C=e.useRef(null),S=h(t,C),L=m(C),T=function(){return y.current?y.current.clientHeight:0},D=L((function(n,e){n.style.height="0px",d&&d(n,e)})),O=L((function(n){var e=T(),t=g({style:a,timeout:l,mode:"enter"}),r=t.duration,i=t.easing;if("auto"===l){var o=R(e);n.style.transitionDuration=o+"ms",w.current=o}else n.style.transitionDuration="string"==typeof r?r:r+"ms";n.style.height=e+"px",n.style.transitionTimingFunction=i||""})),H=L((function(n,e){n.style.height="auto",p&&p(n,e)})),M=L((function(n){n.style.height=T()+"px",v&&v(n)})),j=L(E),P=L((function(n){var e=T(),t=g({style:a,timeout:l,mode:"exit"}),r=t.duration,i=t.easing;if("auto"===l){var o=R(e);n.style.transitionDuration=o+"ms",w.current=o}else n.style.transitionDuration="string"==typeof r?r:r+"ms";n.style.height="0px",n.style.transitionTimingFunction=i||""}));return e.createElement(o.Transition,Object.assign({in:f,onEnter:D,onEntered:H,onEntering:O,onExit:M,onExited:j,onExiting:P,addEndListener:function(n){"auto"===l&&(b.current=setTimeout(n,w.current||0))},nodeRef:C,timeout:"auto"===l?null:l},k),(function(n,t){return e.createElement("div",Object.assign({ref:S,className:i(q.root,"entered"===n&&q.entered),style:c({pointerEvents:"all",overflow:"hidden",minHeight:"0px",transition:x("height")},"entered"===n&&{overflow:"visible"},{},"exited"===n&&!f&&{visibility:"hidden"},{},a)},t),e.createElement("div",{ref:y,className:"notistack-CollapseWrapper",style:{display:"flex"}},e.createElement("div",{style:{width:"100%"}},r)))}))})),j={right:"left",left:"right",bottom:"up",top:"down"},P=function(n){return"anchorOrigin"+d(n)};function A(n,e){return n.reduce((function(n,t){return null==t?n:function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];var a=[].concat(i);e&&-1===a.indexOf(e)&&a.push(e),n.apply(this,a),t.apply(this,a)}}),(function(){}))}var W="undefined"!=typeof window?e.useLayoutEffect:e.useEffect;function V(n){var t=e.useRef(n);return W((function(){t.current=n})),e.useCallback((function(){return t.current.apply(void 0,arguments)}),[])}function I(n){return n.substring(2).toLowerCase()}function N(n){var t=n.children,r=n.onClickAway,i=e.useRef(!1),o=e.useRef(null),a=e.useRef(!1),u=e.useRef(!1);e.useEffect((function(){return setTimeout((function(){a.current=!0}),0),function(){a.current=!1}}),[]);var c=h(t.ref,o),s=V((function(n){var e=u.current;u.current=!1;var t=k(o.current);!a.current||!o.current||"clientX"in n&&function(n,e){return e.documentElement.clientWidth<n.clientX||e.documentElement.clientHeight<n.clientY}(n,t)||(i.current?i.current=!1:(n.composedPath?n.composedPath().indexOf(o.current)>-1:!t.documentElement.contains(n.target)||o.current.contains(n.target))||e||r(n))})),l=function(n){return function(e){u.current=!0;var r=t.props[n];r&&r(e)}},f={ref:c};return f.onTouchEnd=l("onTouchEnd"),e.useEffect((function(){var n=I("onTouchEnd"),e=k(o.current),t=function(){i.current=!0};return e.addEventListener(n,s),e.addEventListener("touchmove",t),function(){e.removeEventListener(n,s),e.removeEventListener("touchmove",t)}}),[s,"onTouchEnd"]),f.onClick=l("onClick"),e.useEffect((function(){var n=I("onClick"),e=k(o.current);return e.addEventListener(n,s),function(){e.removeEventListener(n,s)}}),[s,"onClick"]),e.createElement(e.Fragment,null,e.cloneElement(t,f))}var z,B,F,X,_,Z,Q=e.forwardRef((function(n,t){var r=n.children,o=n.className,a=n.autoHideDuration,u=n.disableWindowBlurListener,c=void 0!==u&&u,s=n.onClose,l=n.open,f=n.SnackbarProps,d=void 0===f?{}:f,p=e.useRef(),m=V((function(n){s&&s.apply(void 0,n)})),v=V((function(n){s&&null!=n&&(p.current&&clearTimeout(p.current),p.current=setTimeout((function(){m(null,"timeout")}),n))}));e.useEffect((function(){return l&&v(a),function(){p.current&&clearTimeout(p.current)}}),[l,a,v]);var h=function(){p.current&&clearTimeout(p.current)},g=e.useCallback((function(){null!=a&&v(.5*a)}),[a,v]);return e.useEffect((function(){if(!c&&l)return window.addEventListener("focus",g),window.addEventListener("blur",h),function(){window.removeEventListener("focus",g),window.removeEventListener("blur",h)}}),[c,g,l]),e.createElement(N,{onClickAway:function(n){s&&s(n,"clickaway")}},e.createElement("div",Object.assign({ref:t},d,{className:i("notistack-Snackbar",o),onMouseEnter:function(n){d.onMouseEnter&&d.onMouseEnter(n),h()},onMouseLeave:function(n){d.onMouseLeave&&d.onMouseLeave(n),g()}}),r))})),Y=H({root:(z={display:"flex",flexWrap:"wrap",flexGrow:1},z["@media (min-width:600px)"]={flexGrow:"initial",minWidth:"288px"},z)}),G=e.forwardRef((function(n,e){var r=n.className,o=s(n,["className"]);return t.createElement("div",Object.assign({ref:e,className:i(Y.root,r)},o))})),U=H({root:{backgroundColor:"#313131",fontFamily:'"Roboto", "Helvetica", "Arial", sans-serif',fontWeight:400,fontSize:"0.875rem",lineHeight:1.43,letterSpacing:"0.01071em",color:"#fff",alignItems:"center",padding:"6px 16px",borderRadius:"4px",boxShadow:"0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px 0px rgba(0,0,0,0.14),0px 1px 18px 0px rgba(0,0,0,0.12)"},lessPadding:{paddingLeft:"20px"},default:{backgroundColor:"#313131"},success:{backgroundColor:"#43a047"},error:{backgroundColor:"#d32f2f"},warning:{backgroundColor:"#ff9800"},info:{backgroundColor:"#2196f3"},message:{display:"flex",alignItems:"center",padding:"8px 0"},action:{display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:"16px",marginRight:"-8px"}}),J=e.memo(e.forwardRef((function(n,e){var r=n.message,o=n.variant,a=n.hideIconVariant,u=n.style,c=n.iconVariant[o],s=n.action;return"function"==typeof s&&(s=s(n.id)),t.createElement(G,{ref:e,role:"alert",style:u,className:i("notistack-MuiContent",U.root,U[o],!a&&c&&U.lessPadding)},t.createElement("div",{id:"notistack-snackbar",className:U.message},a?null:c,r),s&&t.createElement("div",{className:U.action},s))}))),K=H({wrappedRoot:{position:"relative",transform:"translateX(0)",top:0,right:0,bottom:0,left:0,minWidth:"288px"}}),$=function(n){var r=e.useRef(),o=e.useState(!0),a=o[0],u=o[1],l=A([n.snack.onClose,n.onClose],n.snack.id),f=e.useCallback((function(){r.current=setTimeout((function(){u((function(n){return!n}))}),125)}),[]);e.useEffect((function(){return function(){r.current&&clearTimeout(r.current)}}),[]);var d,p=n.snack,m=n.classes,v=n.Component,h=void 0===v?J:v,g=e.useMemo((function(){return function(n){void 0===n&&(n={});var e={containerRoot:!0,containerAnchorOriginTopCenter:!0,containerAnchorOriginBottomCenter:!0,containerAnchorOriginTopRight:!0,containerAnchorOriginBottomRight:!0,containerAnchorOriginTopLeft:!0,containerAnchorOriginBottomLeft:!0};return Object.keys(n).filter((function(n){return!e[n]})).reduce((function(e,t){var r;return c({},e,((r={})[t]=n[t],r))}),{})}(m)}),[m]),E=p.open,x=p.SnackbarProps,k=p.TransitionComponent,b=p.TransitionProps,y=p.transitionDuration,w=p.disableWindowBlurListener,C=p.content,S=s(p,["open","SnackbarProps","TransitionComponent","TransitionProps","transitionDuration","disableWindowBlurListener","content","entered","requestClose","onEnter","onEntered","onExit","onExited"]),L=c({direction:(d=S.anchorOrigin,"center"!==d.horizontal?j[d.horizontal]:j[d.vertical]),timeout:y},b),T=C;"function"==typeof T&&(T=T(S.id,S.message));var D=["onEnter","onEntered","onExit","onExited"].reduce((function(e,t){var r;return c({},e,((r={})[t]=A([n.snack[t],n[t]],S.id),r))}),{});return t.createElement(M,{unmountOnExit:!0,timeout:175,in:a,onExited:D.onExited},t.createElement(Q,{open:E,disableWindowBlurListener:w,autoHideDuration:S.autoHideDuration,className:i(K.wrappedRoot,g.root,g[P(S.anchorOrigin)]),SnackbarProps:x,onClose:l},t.createElement(k,Object.assign({},L,{in:E,onExit:D.onExit,onExited:f,onEnter:D.onEnter,onEntered:A([D.onEntered,function(){n.snack.requestClose&&l(null,"instructed")}])}),T||t.createElement(h,Object.assign({},S)))))},nn=H({root:(B={boxSizing:"border-box",display:"flex",maxHeight:"100%",position:"fixed",zIndex:1400,height:"auto",width:"auto",transition:x(["top","right","bottom","left","max-width"],{duration:300,easing:"ease"}),pointerEvents:"none"},B[".notistack-CollapseWrapper"]={padding:"6px 0px",transition:"padding 300ms ease 0ms"},B.maxWidth="calc(100% - 40px)",B["@media (max-width:599.95px)"]={width:"100%",maxWidth:"calc(100% - 32px)"},B),rootDense:(F={},F[".notistack-CollapseWrapper"]={padding:"2px 0px"},F),top:{top:"14px",flexDirection:"column"},bottom:{bottom:"14px",flexDirection:"column-reverse"},left:(X={left:"20px"},X["@media (min-width:600px)"]={alignItems:"flex-start"},X["@media (max-width:599.95px)"]={left:"16px"},X),right:(_={right:"20px"},_["@media (min-width:600px)"]={alignItems:"flex-end"},_["@media (max-width:599.95px)"]={right:"16px"},_),center:(Z={left:"50%",transform:"translateX(-50%)"},Z["@media (min-width:600px)"]={alignItems:"center"},Z)}),en=e.memo((function(n){var e=n.classes,r=void 0===e?{}:e,o=n.anchorOrigin,a=n.dense,u=n.children,c=i("notistack-SnackbarContainer",nn[o.vertical],nn[o.horizontal],nn.root,r.containerRoot,r["containerAnchorOrigin"+d(o)],a&&nn.rootDense);return t.createElement("div",{className:c},u)})),tn=function(n){return"string"!=typeof n},rn=function(n){var e,o,a;function u(e){var t;return(t=n.call(this,e)||this).enqueueSnackbar=function(n,e){void 0===e&&(e={});var r=tn(n)?n:e,o=n;tn(n)&&(o=n.message);var a=r.key,u=r.preventDuplicate,l=s(r,["key","preventDuplicate"]),f=p(a),d=f?a:(new Date).getTime()+Math.random(),m=function(n,e){return function(t,r){return void 0===r&&(r=!1),r?c({},O[t],{},e[t],{},n[t]):"autoHideDuration"===t?(o=e.autoHideDuration,(a=function(n){return"number"==typeof n||null===n})(i=n.autoHideDuration)?i:a(o)?o:O.autoHideDuration):"transitionDuration"===t?function(n,e){var t=function(n,e){return e.some((function(e){return typeof n===e}))};return t(n,["string","number"])?n:t(n,["object"])?c({},O.transitionDuration,{},t(e,["object"])&&e,{},n):t(e,["string","number"])?e:t(e,["object"])?c({},O.transitionDuration,{},e):O.transitionDuration}(n.transitionDuration,e.transitionDuration):n[t]||e[t]||O[t];var i,o,a}}(l,t.props),v=c({id:d},l,{message:o,open:!0,entered:!1,requestClose:!1,persist:m("persist"),action:m("action"),content:m("content"),variant:m("variant"),anchorOrigin:m("anchorOrigin"),disableWindowBlurListener:m("disableWindowBlurListener"),autoHideDuration:m("autoHideDuration"),hideIconVariant:m("hideIconVariant"),TransitionComponent:m("TransitionComponent"),transitionDuration:m("transitionDuration"),TransitionProps:m("TransitionProps",!0),iconVariant:m("iconVariant",!0),style:m("style",!0),SnackbarProps:m("SnackbarProps",!0),className:i(t.props.className,l.className)});return v.persist&&(v.autoHideDuration=void 0),t.setState((function(n){if(void 0===u&&t.props.preventDuplicate||u){var e=function(n){return f?n.id===d:n.message===o},r=n.queue.findIndex(e)>-1,i=n.snacks.findIndex(e)>-1;if(r||i)return n}return t.handleDisplaySnack(c({},n,{queue:[].concat(n.queue,[v])}))})),d},t.handleDisplaySnack=function(n){return n.snacks.length>=t.maxSnack?t.handleDismissOldest(n):t.processQueue(n)},t.processQueue=function(n){var e=n.queue;return e.length>0?c({},n,{snacks:[].concat(n.snacks,[e[0]]),queue:e.slice(1,e.length)}):n},t.handleDismissOldest=function(n){if(n.snacks.some((function(n){return!n.open||n.requestClose})))return n;var e=!1,r=!1;n.snacks.reduce((function(n,e){return n+(e.open&&e.persist?1:0)}),0)===t.maxSnack&&(r=!0);var i=n.snacks.map((function(n){return e||n.persist&&!r?c({},n):(e=!0,n.entered?(n.onClose&&n.onClose(null,"maxsnack",n.id),t.props.onClose&&t.props.onClose(null,"maxsnack",n.id),c({},n,{open:!1})):c({},n,{requestClose:!0}))}));return c({},n,{snacks:i})},t.handleEnteredSnack=function(n,e,r){if(!p(r))throw new Error("handleEnteredSnack Cannot be called with undefined key");t.setState((function(n){return{snacks:n.snacks.map((function(n){return n.id===r?c({},n,{entered:!0}):c({},n)}))}}))},t.handleCloseSnack=function(n,e,r){if(t.props.onClose&&t.props.onClose(n,e,r),"clickaway"!==e){var i=void 0===r;t.setState((function(n){var e=n.queue;return{snacks:n.snacks.map((function(n){return i||n.id===r?c({},n,n.entered?{open:!1}:{requestClose:!0}):c({},n)})),queue:e.filter((function(n){return n.id!==r}))}}))}},t.closeSnackbar=function(n){var e=t.state.snacks.find((function(e){return e.id===n}));p(n)&&e&&e.onClose&&e.onClose(null,"instructed",n),t.handleCloseSnack(null,"instructed",n)},t.handleExitedSnack=function(n,e){if(!p(e))throw new Error("handleExitedSnack Cannot be called with undefined key");t.setState((function(n){var r=t.processQueue(c({},n,{snacks:n.snacks.filter((function(n){return n.id!==e}))}));return 0===r.queue.length?r:t.handleDismissOldest(r)}))},t.state={snacks:[],queue:[],contextValue:{enqueueSnackbar:t.enqueueSnackbar,closeSnackbar:t.closeSnackbar}},t}return o=n,(e=u).prototype=Object.create(o.prototype),e.prototype.constructor=e,e.__proto__=o,u.prototype.render=function(){var n=this,e=this.state.contextValue,i=this.props,o=i.domRoot,a=i.children,u=i.dense,s=void 0!==u&&u,f=i.Components,p=void 0===f?{}:f,m=i.classes,v=this.state.snacks.reduce((function(n,e){var t,r=d(e.anchorOrigin);return c({},n,((t={})[r]=[].concat(n[r]||[],[e]),t))}),{}),h=Object.keys(v).map((function(e){var r=v[e];return t.createElement(en,{key:e,dense:s,anchorOrigin:r[0].anchorOrigin,classes:m},r.map((function(e){return t.createElement($,{key:e.id,snack:e,classes:m,Component:p[e.variant],onClose:n.handleCloseSnack,onEnter:n.props.onEnter,onExit:n.props.onExit,onExited:A([n.handleExitedSnack,n.props.onExited]),onEntered:A([n.handleEnteredSnack,n.props.onEntered])})})))}));return t.createElement(l.Provider,{value:e},a,o?r.createPortal(h,o):h)},(a=[{key:"maxSnack",get:function(){return this.props.maxSnack||O.maxSnack}}])&&function(n,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(n,r.key,r)}}(u.prototype,a),u}(e.Component);exports.SnackbarContent=G,exports.SnackbarProvider=rn,exports.useSnackbar=function(){return e.useContext(l)},exports.withSnackbar=function(n){var e=t.forwardRef((function(e,r){return t.createElement(l.Consumer,null,(function(i){return t.createElement(n,c({},e,{ref:r,enqueueSnackbar:i.enqueueSnackbar,closeSnackbar:i.closeSnackbar}))}))}));return u(e,n),e}; | ||
"use strict";function n(n){return n&&"object"==typeof n&&"default"in n?n.default:n}Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=n(e),r=require("react-dom"),i=n(require("clsx")),o=require("goober"),a=n(require("hoist-non-react-statics"));function u(n,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(n,r.key,r)}}function s(n,e,t){return e&&u(n.prototype,e),t&&u(n,t),n}function c(){return(c=Object.assign||function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n}).apply(this,arguments)}function l(n,e){n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.__proto__=e}function d(n,e){if(null==n)return{};var t,r,i={},o=Object.keys(n);for(r=0;r<o.length;r++)e.indexOf(t=o[r])>=0||(i[t]=n[t]);return i}var f=t.createContext(),p=function(n){return n.charAt(0).toUpperCase()+n.slice(1)},m=function(n){return""+p(n.vertical)+p(n.horizontal)},h=function(n){return!!n||0===n},x=function(n){function e(e){var t;t=n.call(this,e)||this;var r,i=e.appear;return t.appearStatus=null,e.in?i?(r="exited",t.appearStatus="entering"):r="entered":r=e.unmountOnExit||e.mountOnEnter?"unmounted":"exited",t.state={status:r},t.nextCallback=null,t}l(e,n),e.getDerivedStateFromProps=function(n,e){return n.in&&"unmounted"===e.status?{status:"exited"}:null};var t=e.prototype;return t.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},t.componentDidUpdate=function(n){var e=null;if(n!==this.props){var t=this.state.status;this.props.in?"entering"!==t&&"entered"!==t&&(e="entering"):"entering"!==t&&"entered"!==t||(e="exiting")}this.updateStatus(!1,e)},t.componentWillUnmount=function(){this.cancelNextCallback()},t.getTimeouts=function(){var n=this.props.timeout,e=n,t=n;return null!=n&&"number"!=typeof n&&(t=n.exit,e=n.enter),{exit:t,enter:e}},t.updateStatus=function(n,e){void 0===n&&(n=!1),null!==e?(this.cancelNextCallback(),"entering"===e?this.performEnter(n):this.performExit()):this.props.unmountOnExit&&"exited"===this.state.status&&this.setState({status:"unmounted"})},t.performEnter=function(n){var e=this,t=this.props,r=t.enter,i=t.id,o=n,a=this.getTimeouts();n||r?(this.props.onEnter(this.node,o,i),this.safeSetState({status:"entering"},(function(){e.props.onEntering(e.node,o,i),e.onTransitionEnd(a.enter,(function(){e.safeSetState({status:"entered"},(function(){e.props.onEntered(e.node,o,i)}))}))}))):this.safeSetState({status:"entered"},(function(){e.props.onEntered(e.node,o,i)}))},t.performExit=function(){var n=this,e=this.props,t=e.exit,r=e.id,i=this.getTimeouts();t?(this.props.onExit(this.node,r),this.safeSetState({status:"exiting"},(function(){n.props.onExiting(n.node,r),n.onTransitionEnd(i.exit,(function(){n.safeSetState({status:"exited"},(function(){n.props.onExited(n.node,r)}))}))}))):this.safeSetState({status:"exited"},(function(){n.props.onExited(n.node,r)}))},t.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},t.safeSetState=function(n,e){e=this.setNextCallback(e),this.setState(n,e)},t.setNextCallback=function(n){var e=this,t=!0;return this.nextCallback=function(r){t&&(t=!1,e.nextCallback=null,n(r))},this.nextCallback.cancel=function(){t=!1},this.nextCallback},t.onTransitionEnd=function(n,e){this.setNextCallback(e),!this.node||null==n&&!this.props.addEndListener?setTimeout(this.nextCallback,0):(this.props.addEndListener&&this.props.addEndListener(this.node,this.nextCallback),null!=n&&setTimeout(this.nextCallback,n))},t.render=function(){var n=this.state.status;if("unmounted"===n)return null;var e=this.props;return(0,e.children)(n,d(e,["children","id","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]))},s(e,[{key:"node",get:function(){var n=this.props.nodeRef.current;if(!n)throw new Error("notistack - Custom snackbar is not refForwarding");return n}}]),e}(t.Component);function v(){}function E(n,e){"function"==typeof n?n(e):n&&(n.current=e)}function g(n,t){return e.useMemo((function(){return null==n&&null==t?null:function(e){E(n,e),E(t,e)}}),[n,t])}function k(n){var e,t=n.timeout,r=n.style,i=void 0===r?{}:r;return{duration:null!==(e=i.transitionDuration)&&void 0!==e?e:"object"==typeof t?t[n.mode]||0:t,easing:i.transitionTimingFunction,delay:i.transitionDelay}}x.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:v,onEntering:v,onEntered:v,onExit:v,onExiting:v,onExited:v};var b=function(n){return Math.round(n)+"ms"};function y(n,e){void 0===n&&(n=["all"]);var t=e||{},r=t.duration,i=void 0===r?300:r,o=t.easing,a=void 0===o?"cubic-bezier(0.4, 0, 0.2, 1)":o,u=t.delay,s=void 0===u?0:u;return(Array.isArray(n)?n:[n]).map((function(n){var e="string"==typeof i?i:b(i),t="string"==typeof s?s:b(s);return n+" "+e+" "+a+" "+t})).join(",")}function C(n){return n&&n.ownerDocument||document}function w(n){return C(n).defaultView||window}function S(n,e){if(e){var t=function(n,e){var t,r=e.getBoundingClientRect(),i=w(e);if(e.fakeTransform)t=e.fakeTransform;else{var o=i.getComputedStyle(e);t=o.getPropertyValue("-webkit-transform")||o.getPropertyValue("transform")}var a=0,u=0;if(t&&"none"!==t&&"string"==typeof t){var s=t.split("(")[1].split(")")[0].split(",");a=parseInt(s[4],10),u=parseInt(s[5],10)}switch(n){case"left":return"translateX("+(i.innerWidth+a-r.left)+"px)";case"right":return"translateX(-"+(r.left+r.width-a)+"px)";case"up":return"translateY("+(i.innerHeight+u-r.top)+"px)";default:return"translateY(-"+(r.top+r.height-u)+"px)"}}(n,e);t&&(e.style.webkitTransform=t,e.style.transform=t)}}var L=e.forwardRef((function(n,t){var r=n.children,i=n.direction,o=void 0===i?"down":i,a=n.in,u=n.style,s=n.timeout,l=void 0===s?0:s,f=n.onEnter,p=n.onEntered,m=n.onExit,h=n.onExited,v=d(n,["children","direction","in","style","timeout","onEnter","onEntered","onExit","onExited"]),E=e.useRef(null),b=g(r.ref,E),C=g(b,t),L=e.useCallback((function(){E.current&&S(o,E.current)}),[o]);return e.useEffect((function(){if(!a&&"down"!==o&&"right"!==o){var n=function(n,e){var t;function r(){for(var r=this,i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];var u=function(){n.apply(r,o)};clearTimeout(t),t=setTimeout(u,e)}return void 0===e&&(e=166),r.clear=function(){clearTimeout(t)},r}((function(){E.current&&S(o,E.current)})),e=w(E.current);return e.addEventListener("resize",n),function(){n.clear(),e.removeEventListener("resize",n)}}}),[o,a]),e.useEffect((function(){a||L()}),[a,L]),e.createElement(x,Object.assign({appear:!0,nodeRef:E,onEnter:function(n,e,t){S(o,n),function(n){n.scrollTop=n.scrollTop}(n),f&&f(n,e,t)},onEntered:p,onEntering:function(n){var e=k({timeout:l,mode:"enter",style:c({},u,{transitionTimingFunction:(null==u?void 0:u.transitionTimingFunction)||"cubic-bezier(0.0, 0, 0.2, 1)"})});n.style.webkitTransition=y("-webkit-transform",e),n.style.transition=y("transform",e),n.style.webkitTransform="none",n.style.transform="none"},onExit:function(n,e){var t=k({timeout:l,mode:"exit",style:c({},u,{transitionTimingFunction:(null==u?void 0:u.transitionTimingFunction)||"cubic-bezier(0.4, 0, 0.6, 1)"})});n.style.webkitTransition=y("-webkit-transform",t),n.style.transition=y("transform",t),S(o,n),m&&m(n,e)},onExited:function(n,e){n.style.webkitTransition="",n.style.transition="",h&&h(n,e)},in:a,timeout:l},v),(function(n,t){return e.cloneElement(r,c({ref:C,style:c({visibility:"exited"!==n||a?void 0:"hidden"},u,{},r.props.style)},t))}))})),T=function(n){return t.createElement("svg",Object.assign({viewBox:"0 0 24 24",focusable:"false",style:{fontSize:20,marginInlineEnd:8,userSelect:"none",width:"1em",height:"1em",display:"inline-block",fill:"currentColor",flexShrink:0}},n))},O=function(){return t.createElement(T,null,t.createElement("path",{d:"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M10 17L5 12L6.41\n 10.59L10 14.17L17.59 6.58L19 8L10 17Z"}))},D=function(){return t.createElement(T,null,t.createElement("path",{d:"M13,14H11V10H13M13,18H11V16H13M1,21H23L12,2L1,21Z"}))},R=function(){return t.createElement(T,null,t.createElement("path",{d:"M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,\n 6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,\n 13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z"}))},H=function(){return t.createElement(T,null,t.createElement("path",{d:"M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,\n 0 22,12A10,10 0 0,0 12,2Z"}))},q={maxSnack:3,persist:!1,hideIconVariant:!1,disableWindowBlurListener:!1,variant:"default",autoHideDuration:5e3,iconVariant:{default:void 0,success:t.createElement(O,null),warning:t.createElement(D,null),error:t.createElement(R,null),info:t.createElement(H,null)},anchorOrigin:{vertical:"bottom",horizontal:"left"},TransitionComponent:L,transitionDuration:{enter:225,exit:195}};function M(n){if(!n)return 0;var e=n/36;return Math.round(10*(4+15*Math.pow(e,.25)+e/5))}function P(n){return Object.entries(n).reduce((function(n,e){var t;return c({},n,((t={})[e[0]]=o.css(e[1]),t))}),{})}var j=P({root:{height:0},entered:{height:"auto"}}),N=e.forwardRef((function(n,t){var r=n.children,o=n.style,a=n.timeout,u=void 0===a?300:a,s=n.in,l=n.onEnter,f=n.onEntered,p=n.onExit,m=n.onExited,h=d(n,["children","style","timeout","in","onEnter","onEntered","onExit","onExited","direction"]),v=e.useRef(),E=e.useRef(null),b=e.useRef();e.useEffect((function(){return function(){v.current&&clearTimeout(v.current)}}),[]);var C=e.useRef(null),w=g(t,C),S=function(){return E.current?E.current.clientHeight:0};return e.createElement(x,Object.assign({in:s,onEnter:function(n,e,t){n.style.height="0px",l&&l(n,e,t)},onEntered:function(n,e,t){n.style.height="auto",f&&f(n,e,t)},onEntering:function(n){var e=S(),t=k({style:o,timeout:u,mode:"enter"}),r=t.duration,i=t.easing;if("auto"===u){var a=M(e);n.style.transitionDuration=a+"ms",b.current=a}else n.style.transitionDuration="string"==typeof r?r:r+"ms";n.style.height=e+"px",n.style.transitionTimingFunction=i||""},onExit:function(n,e){n.style.height=S()+"px",p&&p(n,e)},onExited:m,onExiting:function(n){var e=S(),t=k({style:o,timeout:u,mode:"exit"}),r=t.duration,i=t.easing;if("auto"===u){var a=M(e);n.style.transitionDuration=a+"ms",b.current=a}else n.style.transitionDuration="string"==typeof r?r:r+"ms";n.style.height="0px",n.style.transitionTimingFunction=i||""},addEndListener:function(n){"auto"===u&&(v.current=setTimeout(n,b.current||0))},nodeRef:C,timeout:"auto"===u?null:u},h),(function(n,t){return e.createElement("div",Object.assign({ref:w,className:i(j.root,"entered"===n&&j.entered),style:c({pointerEvents:"all",overflow:"hidden",minHeight:"0px",transition:y("height")},"entered"===n&&{overflow:"visible"},{},"exited"===n&&!s&&{visibility:"hidden"},{},o)},t),e.createElement("div",{ref:E,className:"notistack-CollapseWrapper",style:{display:"flex"}},e.createElement("div",{style:{width:"100%"}},r)))}))})),A={right:"left",left:"right",bottom:"up",top:"down"},W=function(n){return"anchorOrigin"+m(n)};function V(n,e){return n.reduce((function(n,t){return null==t?n:function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];var a=[].concat(i);e&&-1===a.indexOf(e)&&a.push(e),n.apply(this,a),t.apply(this,a)}}),(function(){}))}var I="undefined"!=typeof window?e.useLayoutEffect:e.useEffect;function z(n){var t=e.useRef(n);return I((function(){t.current=n})),e.useCallback((function(){return t.current.apply(void 0,arguments)}),[])}function B(n){return n.substring(2).toLowerCase()}function F(n){var t=n.children,r=n.onClickAway,i=e.useRef(!1),o=e.useRef(null),a=e.useRef(!1),u=e.useRef(!1);e.useEffect((function(){return setTimeout((function(){a.current=!0}),0),function(){a.current=!1}}),[]);var s=g(t.ref,o),c=z((function(n){var e=u.current;u.current=!1;var t=C(o.current);!a.current||!o.current||"clientX"in n&&function(n,e){return e.documentElement.clientWidth<n.clientX||e.documentElement.clientHeight<n.clientY}(n,t)||(i.current?i.current=!1:(n.composedPath?n.composedPath().indexOf(o.current)>-1:!t.documentElement.contains(n.target)||o.current.contains(n.target))||e||r(n))})),l=function(n){return function(e){u.current=!0;var r=t.props[n];r&&r(e)}},d={ref:s};return d.onTouchEnd=l("onTouchEnd"),e.useEffect((function(){var n=B("onTouchEnd"),e=C(o.current),t=function(){i.current=!0};return e.addEventListener(n,c),e.addEventListener("touchmove",t),function(){e.removeEventListener(n,c),e.removeEventListener("touchmove",t)}}),[c,"onTouchEnd"]),d.onClick=l("onClick"),e.useEffect((function(){var n=B("onClick"),e=C(o.current);return e.addEventListener(n,c),function(){e.removeEventListener(n,c)}}),[c,"onClick"]),e.createElement(e.Fragment,null,e.cloneElement(t,d))}var X,_,Z,Q,U,Y,G=e.forwardRef((function(n,t){var r=n.children,o=n.className,a=n.autoHideDuration,u=n.disableWindowBlurListener,s=void 0!==u&&u,c=n.onClose,l=n.open,d=n.SnackbarProps,f=void 0===d?{}:d,p=e.useRef(),m=z((function(n){c&&c.apply(void 0,n)})),h=z((function(n){c&&null!=n&&(p.current&&clearTimeout(p.current),p.current=setTimeout((function(){m(null,"timeout")}),n))}));e.useEffect((function(){return l&&h(a),function(){p.current&&clearTimeout(p.current)}}),[l,a,h]);var x=function(){p.current&&clearTimeout(p.current)},v=e.useCallback((function(){null!=a&&h(.5*a)}),[a,h]);return e.useEffect((function(){if(!s&&l)return window.addEventListener("focus",v),window.addEventListener("blur",x),function(){window.removeEventListener("focus",v),window.removeEventListener("blur",x)}}),[s,v,l]),e.createElement(F,{onClickAway:function(n){c&&c(n,"clickaway")}},e.createElement("div",Object.assign({ref:t},f,{className:i("notistack-Snackbar",o),onMouseEnter:function(n){f.onMouseEnter&&f.onMouseEnter(n),x()},onMouseLeave:function(n){f.onMouseLeave&&f.onMouseLeave(n),v()}}),r))})),J=P({root:(X={display:"flex",flexWrap:"wrap",flexGrow:1},X["@media (min-width:600px)"]={flexGrow:"initial",minWidth:"288px"},X)}),K=e.forwardRef((function(n,e){var r=n.className,o=d(n,["className"]);return t.createElement("div",Object.assign({ref:e,className:i(J.root,r)},o))})),$=P({root:{backgroundColor:"#313131",fontFamily:'"Roboto", "Helvetica", "Arial", sans-serif',fontWeight:400,fontSize:"0.875rem",lineHeight:1.43,letterSpacing:"0.01071em",color:"#fff",alignItems:"center",padding:"6px 16px",borderRadius:"4px",boxShadow:"0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px 0px rgba(0,0,0,0.14),0px 1px 18px 0px rgba(0,0,0,0.12)"},lessPadding:{paddingLeft:"20px"},default:{backgroundColor:"#313131"},success:{backgroundColor:"#43a047"},error:{backgroundColor:"#d32f2f"},warning:{backgroundColor:"#ff9800"},info:{backgroundColor:"#2196f3"},message:{display:"flex",alignItems:"center",padding:"8px 0"},action:{display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:"16px",marginRight:"-8px"}}),nn=e.memo(e.forwardRef((function(n,e){var r=n.message,o=n.variant,a=n.hideIconVariant,u=n.style,s=n.iconVariant[o],c=n.action;return"function"==typeof c&&(c=c(n.id)),t.createElement(K,{ref:e,role:"alert",style:u,className:i("notistack-MuiContent",$.root,$[o],!a&&s&&$.lessPadding)},t.createElement("div",{id:"notistack-snackbar",className:$.message},a?null:s,r),c&&t.createElement("div",{className:$.action},c))}))),en=P({wrappedRoot:{position:"relative",transform:"translateX(0)",top:0,right:0,bottom:0,left:0,minWidth:"288px"}}),tn=function(n){var r=e.useRef(),o=e.useState(!0),a=o[0],u=o[1],s=V([n.snack.onClose,n.onClose],n.snack.id),l=e.useCallback((function(){r.current=setTimeout((function(){u((function(n){return!n}))}),125)}),[]);e.useEffect((function(){return function(){r.current&&clearTimeout(r.current)}}),[]);var f,p=n.snack,m=n.classes,h=n.Component,x=void 0===h?nn:h,v=e.useMemo((function(){return function(n){void 0===n&&(n={});var e={containerRoot:!0,containerAnchorOriginTopCenter:!0,containerAnchorOriginBottomCenter:!0,containerAnchorOriginTopRight:!0,containerAnchorOriginBottomRight:!0,containerAnchorOriginTopLeft:!0,containerAnchorOriginBottomLeft:!0};return Object.keys(n).filter((function(n){return!e[n]})).reduce((function(e,t){var r;return c({},e,((r={})[t]=n[t],r))}),{})}(m)}),[m]),E=p.open,g=p.SnackbarProps,k=p.TransitionComponent,b=p.TransitionProps,y=p.transitionDuration,C=p.disableWindowBlurListener,w=p.content,S=d(p,["open","SnackbarProps","TransitionComponent","TransitionProps","transitionDuration","disableWindowBlurListener","content","entered","requestClose","onEnter","onEntered","onExit","onExited"]),L=c({direction:(f=S.anchorOrigin,"center"!==f.horizontal?A[f.horizontal]:A[f.vertical]),timeout:y},b),T=w;"function"==typeof T&&(T=T(S.id,S.message));var O=["onEnter","onEntered","onExit","onExited"].reduce((function(e,t){var r;return c({},e,((r={})[t]=V([n.snack[t],n[t]]),r))}),{});return t.createElement(N,{id:S.id,unmountOnExit:!0,timeout:175,in:a,onExited:O.onExited},t.createElement(G,{open:E,disableWindowBlurListener:C,autoHideDuration:S.autoHideDuration,className:i(en.wrappedRoot,v.root,v[W(S.anchorOrigin)]),SnackbarProps:g,onClose:s},t.createElement(k,Object.assign({},L,{id:S.id,in:E,onExit:O.onExit,onExited:l,onEnter:O.onEnter,onEntered:V([O.onEntered,function(){n.snack.requestClose&&s(null,"instructed")}])}),T||t.createElement(x,Object.assign({},S)))))},rn=P({root:(_={boxSizing:"border-box",display:"flex",maxHeight:"100%",position:"fixed",zIndex:1400,height:"auto",width:"auto",transition:y(["top","right","bottom","left","max-width"],{duration:300,easing:"ease"}),pointerEvents:"none"},_[".notistack-CollapseWrapper"]={padding:"6px 0px",transition:"padding 300ms ease 0ms"},_.maxWidth="calc(100% - 40px)",_["@media (max-width:599.95px)"]={width:"100%",maxWidth:"calc(100% - 32px)"},_),rootDense:(Z={},Z[".notistack-CollapseWrapper"]={padding:"2px 0px"},Z),top:{top:"14px",flexDirection:"column"},bottom:{bottom:"14px",flexDirection:"column-reverse"},left:(Q={left:"20px"},Q["@media (min-width:600px)"]={alignItems:"flex-start"},Q["@media (max-width:599.95px)"]={left:"16px"},Q),right:(U={right:"20px"},U["@media (min-width:600px)"]={alignItems:"flex-end"},U["@media (max-width:599.95px)"]={right:"16px"},U),center:(Y={left:"50%",transform:"translateX(-50%)"},Y["@media (min-width:600px)"]={alignItems:"center"},Y)}),on=e.memo((function(n){var e=n.classes,r=void 0===e?{}:e,o=n.anchorOrigin,a=n.dense,u=n.children,s=i("notistack-SnackbarContainer",rn[o.vertical],rn[o.horizontal],rn.root,r.containerRoot,r["containerAnchorOrigin"+m(o)],a&&rn.rootDense);return t.createElement("div",{className:s},u)})),an=function(n){return"string"!=typeof n},un=function(n){function e(e){var t;return(t=n.call(this,e)||this).enqueueSnackbar=function(n,e){void 0===e&&(e={});var r=an(n)?n:e,o=n;an(n)&&(o=n.message);var a=r.key,u=r.preventDuplicate,s=d(r,["key","preventDuplicate"]),l=h(a),f=l?a:(new Date).getTime()+Math.random(),p=function(n,e){return function(t,r){return void 0===r&&(r=!1),r?c({},q[t],{},e[t],{},n[t]):"autoHideDuration"===t?(o=e.autoHideDuration,(a=function(n){return"number"==typeof n||null===n})(i=n.autoHideDuration)?i:a(o)?o:q.autoHideDuration):"transitionDuration"===t?function(n,e){var t=function(n,e){return e.some((function(e){return typeof n===e}))};return t(n,["string","number"])?n:t(n,["object"])?c({},q.transitionDuration,{},t(e,["object"])&&e,{},n):t(e,["string","number"])?e:t(e,["object"])?c({},q.transitionDuration,{},e):q.transitionDuration}(n.transitionDuration,e.transitionDuration):n[t]||e[t]||q[t];var i,o,a}}(s,t.props),m=c({id:f},s,{message:o,open:!0,entered:!1,requestClose:!1,persist:p("persist"),action:p("action"),content:p("content"),variant:p("variant"),anchorOrigin:p("anchorOrigin"),disableWindowBlurListener:p("disableWindowBlurListener"),autoHideDuration:p("autoHideDuration"),hideIconVariant:p("hideIconVariant"),TransitionComponent:p("TransitionComponent"),transitionDuration:p("transitionDuration"),TransitionProps:p("TransitionProps",!0),iconVariant:p("iconVariant",!0),style:p("style",!0),SnackbarProps:p("SnackbarProps",!0),className:i(t.props.className,s.className)});return m.persist&&(m.autoHideDuration=void 0),t.setState((function(n){if(void 0===u&&t.props.preventDuplicate||u){var e=function(n){return l?n.id===f:n.message===o},r=n.queue.findIndex(e)>-1,i=n.snacks.findIndex(e)>-1;if(r||i)return n}return t.handleDisplaySnack(c({},n,{queue:[].concat(n.queue,[m])}))})),f},t.handleDisplaySnack=function(n){return n.snacks.length>=t.maxSnack?t.handleDismissOldest(n):t.processQueue(n)},t.processQueue=function(n){var e=n.queue;return e.length>0?c({},n,{snacks:[].concat(n.snacks,[e[0]]),queue:e.slice(1,e.length)}):n},t.handleDismissOldest=function(n){if(n.snacks.some((function(n){return!n.open||n.requestClose})))return n;var e=!1,r=!1;n.snacks.reduce((function(n,e){return n+(e.open&&e.persist?1:0)}),0)===t.maxSnack&&(r=!0);var i=n.snacks.map((function(n){return e||n.persist&&!r?c({},n):(e=!0,n.entered?(n.onClose&&n.onClose(null,"maxsnack",n.id),t.props.onClose&&t.props.onClose(null,"maxsnack",n.id),c({},n,{open:!1})):c({},n,{requestClose:!0}))}));return c({},n,{snacks:i})},t.handleEnteredSnack=function(n,e,r){if(!h(r))throw new Error("handleEnteredSnack Cannot be called with undefined key");t.setState((function(n){return{snacks:n.snacks.map((function(n){return n.id===r?c({},n,{entered:!0}):c({},n)}))}}))},t.handleCloseSnack=function(n,e,r){if(t.props.onClose&&t.props.onClose(n,e,r),"clickaway"!==e){var i=void 0===r;t.setState((function(n){var e=n.queue;return{snacks:n.snacks.map((function(n){return i||n.id===r?c({},n,n.entered?{open:!1}:{requestClose:!0}):c({},n)})),queue:e.filter((function(n){return n.id!==r}))}}))}},t.closeSnackbar=function(n){var e=t.state.snacks.find((function(e){return e.id===n}));h(n)&&e&&e.onClose&&e.onClose(null,"instructed",n),t.handleCloseSnack(null,"instructed",n)},t.handleExitedSnack=function(n,e){if(!h(e))throw new Error("handleExitedSnack Cannot be called with undefined key");t.setState((function(n){var r=t.processQueue(c({},n,{snacks:n.snacks.filter((function(n){return n.id!==e}))}));return 0===r.queue.length?r:t.handleDismissOldest(r)}))},t.state={snacks:[],queue:[],contextValue:{enqueueSnackbar:t.enqueueSnackbar,closeSnackbar:t.closeSnackbar}},t}return l(e,n),e.prototype.render=function(){var n=this,e=this.state.contextValue,i=this.props,o=i.domRoot,a=i.children,u=i.dense,s=void 0!==u&&u,l=i.Components,d=void 0===l?{}:l,p=i.classes,h=this.state.snacks.reduce((function(n,e){var t,r=m(e.anchorOrigin);return c({},n,((t={})[r]=[].concat(n[r]||[],[e]),t))}),{}),x=Object.keys(h).map((function(e){var r=h[e];return t.createElement(on,{key:e,dense:s,anchorOrigin:r[0].anchorOrigin,classes:p},r.map((function(e){return t.createElement(tn,{key:e.id,snack:e,classes:p,Component:d[e.variant],onClose:n.handleCloseSnack,onEnter:n.props.onEnter,onExit:n.props.onExit,onExited:V([n.handleExitedSnack,n.props.onExited]),onEntered:V([n.handleEnteredSnack,n.props.onEntered])})})))}));return t.createElement(f.Provider,{value:e},a,o?r.createPortal(x,o):x)},s(e,[{key:"maxSnack",get:function(){return this.props.maxSnack||q.maxSnack}}]),e}(e.Component);exports.SnackbarContent=K,exports.SnackbarProvider=un,exports.useSnackbar=function(){return e.useContext(f)},exports.withSnackbar=function(n){var e=t.forwardRef((function(e,r){return t.createElement(f.Consumer,null,(function(i){return t.createElement(n,c({},e,{ref:r,enqueueSnackbar:i.enqueueSnackbar,closeSnackbar:i.closeSnackbar}))}))}));return a(e,n),e}; | ||
//# sourceMappingURL=notistack.cjs.production.min.js.map |
@@ -1,5 +0,4 @@ | ||
import React__default, { useCallback, useMemo, forwardRef, useRef, useEffect, createElement, cloneElement, useLayoutEffect, Fragment, memo, useState, Component, useContext } from 'react'; | ||
import React__default, { useMemo, forwardRef, useRef, useCallback, useEffect, createElement, cloneElement, useLayoutEffect, Fragment, memo, useState, Component, useContext } from 'react'; | ||
import { createPortal } from 'react-dom'; | ||
import clsx from 'clsx'; | ||
import { Transition } from 'react-transition-group'; | ||
import { css } from 'goober'; | ||
@@ -81,19 +80,277 @@ import hoistNonReactStatics from 'hoist-non-react-statics'; | ||
/** | ||
* onEnter*** and onExit*** callbacks have a different arguments.length value. | ||
*/ | ||
var UNMOUNTED = 'unmounted'; | ||
var EXITED = 'exited'; | ||
var ENTERING = 'entering'; | ||
var ENTERED = 'entered'; | ||
var EXITING = 'exiting'; | ||
var useCallbackNormaliser = function useCallbackNormaliser(nodeRef) { | ||
return useCallback(function (callback) { | ||
return function (maybeIsAppearing) { | ||
if (!callback) return; | ||
var node = nodeRef.current; | ||
var Transition = /*#__PURE__*/function (_React$Component) { | ||
_inheritsLoose(Transition, _React$Component); | ||
if (maybeIsAppearing === undefined) { | ||
callback(node); | ||
function Transition(props) { | ||
var _this; | ||
_this = _React$Component.call(this, props) || this; | ||
var appear = props.appear; | ||
var initialStatus; | ||
_this.appearStatus = null; | ||
if (props["in"]) { | ||
if (appear) { | ||
initialStatus = EXITED; | ||
_this.appearStatus = ENTERING; | ||
} else { | ||
callback(node, maybeIsAppearing); | ||
initialStatus = ENTERED; | ||
} | ||
} else if (props.unmountOnExit || props.mountOnEnter) { | ||
initialStatus = UNMOUNTED; | ||
} else { | ||
initialStatus = EXITED; | ||
} | ||
_this.state = { | ||
status: initialStatus | ||
}; | ||
}, []); | ||
_this.nextCallback = null; | ||
return _this; | ||
} | ||
Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) { | ||
var nextIn = _ref["in"]; | ||
if (nextIn && prevState.status === UNMOUNTED) { | ||
return { | ||
status: EXITED | ||
}; | ||
} | ||
return null; | ||
}; | ||
var _proto = Transition.prototype; | ||
_proto.componentDidMount = function componentDidMount() { | ||
this.updateStatus(true, this.appearStatus); | ||
}; | ||
_proto.componentDidUpdate = function componentDidUpdate(prevProps) { | ||
var nextStatus = null; | ||
if (prevProps !== this.props) { | ||
var status = this.state.status; | ||
if (this.props["in"]) { | ||
if (status !== ENTERING && status !== ENTERED) { | ||
nextStatus = ENTERING; | ||
} | ||
} else if (status === ENTERING || status === ENTERED) { | ||
nextStatus = EXITING; | ||
} | ||
} | ||
this.updateStatus(false, nextStatus); | ||
}; | ||
_proto.componentWillUnmount = function componentWillUnmount() { | ||
this.cancelNextCallback(); | ||
}; | ||
_proto.getTimeouts = function getTimeouts() { | ||
var timeout = this.props.timeout; | ||
var enter = timeout; | ||
var exit = timeout; | ||
if (timeout != null && typeof timeout !== 'number') { | ||
exit = timeout.exit; | ||
enter = timeout.enter; | ||
} | ||
return { | ||
exit: exit, | ||
enter: enter | ||
}; | ||
}; | ||
_proto.updateStatus = function updateStatus(mounting, nextStatus) { | ||
if (mounting === void 0) { | ||
mounting = false; | ||
} | ||
if (nextStatus !== null) { | ||
this.cancelNextCallback(); | ||
if (nextStatus === ENTERING) { | ||
this.performEnter(mounting); | ||
} else { | ||
this.performExit(); | ||
} | ||
} else if (this.props.unmountOnExit && this.state.status === EXITED) { | ||
this.setState({ | ||
status: UNMOUNTED | ||
}); | ||
} | ||
}; | ||
_proto.performEnter = function performEnter(mounting) { | ||
var _this2 = this; | ||
var _this$props = this.props, | ||
enter = _this$props.enter, | ||
id = _this$props.id; | ||
var isAppearing = mounting; | ||
var timeouts = this.getTimeouts(); | ||
if (!mounting && !enter) { | ||
this.safeSetState({ | ||
status: ENTERED | ||
}, function () { | ||
_this2.props.onEntered(_this2.node, isAppearing, id); | ||
}); | ||
return; | ||
} | ||
this.props.onEnter(this.node, isAppearing, id); | ||
this.safeSetState({ | ||
status: ENTERING | ||
}, function () { | ||
_this2.props.onEntering(_this2.node, isAppearing, id); | ||
_this2.onTransitionEnd(timeouts.enter, function () { | ||
_this2.safeSetState({ | ||
status: ENTERED | ||
}, function () { | ||
_this2.props.onEntered(_this2.node, isAppearing, id); | ||
}); | ||
}); | ||
}); | ||
}; | ||
_proto.performExit = function performExit() { | ||
var _this3 = this; | ||
var _this$props2 = this.props, | ||
exit = _this$props2.exit, | ||
id = _this$props2.id; | ||
var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED | ||
if (!exit) { | ||
this.safeSetState({ | ||
status: EXITED | ||
}, function () { | ||
_this3.props.onExited(_this3.node, id); | ||
}); | ||
return; | ||
} | ||
this.props.onExit(this.node, id); | ||
this.safeSetState({ | ||
status: EXITING | ||
}, function () { | ||
_this3.props.onExiting(_this3.node, id); | ||
_this3.onTransitionEnd(timeouts.exit, function () { | ||
_this3.safeSetState({ | ||
status: EXITED | ||
}, function () { | ||
_this3.props.onExited(_this3.node, id); | ||
}); | ||
}); | ||
}); | ||
}; | ||
_proto.cancelNextCallback = function cancelNextCallback() { | ||
if (this.nextCallback !== null) { | ||
this.nextCallback.cancel(); | ||
this.nextCallback = null; | ||
} | ||
}; | ||
_proto.safeSetState = function safeSetState(nextState, callback) { | ||
callback = this.setNextCallback(callback); | ||
this.setState(nextState, callback); | ||
}; | ||
_proto.setNextCallback = function setNextCallback(callback) { | ||
var _this4 = this; | ||
var active = true; | ||
this.nextCallback = function (event) { | ||
if (active) { | ||
active = false; | ||
_this4.nextCallback = null; | ||
callback(event); | ||
} | ||
}; | ||
this.nextCallback.cancel = function () { | ||
active = false; | ||
}; | ||
return this.nextCallback; | ||
}; | ||
_proto.onTransitionEnd = function onTransitionEnd(timeout, handler) { | ||
this.setNextCallback(handler); | ||
var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener; | ||
if (!this.node || doesNotHaveTimeoutOrListener) { | ||
setTimeout(this.nextCallback, 0); | ||
return; | ||
} | ||
if (this.props.addEndListener) { | ||
this.props.addEndListener(this.node, this.nextCallback); | ||
} | ||
if (timeout != null) { | ||
setTimeout(this.nextCallback, timeout); | ||
} | ||
}; | ||
_proto.render = function render() { | ||
var status = this.state.status; | ||
if (status === UNMOUNTED) { | ||
return null; | ||
} | ||
var _this$props3 = this.props, | ||
children = _this$props3.children, | ||
childProps = _objectWithoutPropertiesLoose(_this$props3, ["children", "id", "in", "mountOnEnter", "unmountOnExit", "appear", "enter", "exit", "timeout", "addEndListener", "onEnter", "onEntering", "onEntered", "onExit", "onExiting", "onExited", "nodeRef"]); | ||
return children(status, childProps); | ||
}; | ||
_createClass(Transition, [{ | ||
key: "node", | ||
get: function get() { | ||
var node = this.props.nodeRef.current; | ||
if (!node) { | ||
throw new Error('notistack - Custom snackbar is not refForwarding'); | ||
} | ||
return node; | ||
} | ||
}]); | ||
return Transition; | ||
}(React__default.Component); | ||
function noop() {} | ||
Transition.defaultProps = { | ||
"in": false, | ||
mountOnEnter: false, | ||
unmountOnExit: false, | ||
appear: false, | ||
enter: true, | ||
exit: true, | ||
onEnter: noop, | ||
onEntering: noop, | ||
onEntered: noop, | ||
onExit: noop, | ||
onExiting: noop, | ||
onExited: noop | ||
}; | ||
@@ -210,3 +467,6 @@ | ||
// A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B. | ||
/** | ||
* Corresponds to 10 frames at 60 Hz. | ||
* A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B. | ||
*/ | ||
@@ -311,4 +571,4 @@ function debounce(func, wait) { | ||
var handleRef = useForkRef(handleRefIntermediary, ref); | ||
var callbackNormaliser = useCallbackNormaliser(nodeRef); | ||
var handleEnter = callbackNormaliser(function (node, isAppearing) { | ||
var handleEnter = function handleEnter(node, isAppearing, snackId) { | ||
setTranslateValue(direction, node); | ||
@@ -318,6 +578,7 @@ reflow(node); | ||
if (onEnter) { | ||
onEnter(node, isAppearing); | ||
onEnter(node, isAppearing, snackId); | ||
} | ||
}); | ||
var handleEntering = callbackNormaliser(function (node) { | ||
}; | ||
var handleEntering = function handleEntering(node) { | ||
var easing = (style === null || style === void 0 ? void 0 : style.transitionTimingFunction) || defaultEasing.easeOut; | ||
@@ -335,5 +596,5 @@ var transitionProps = getTransitionProps({ | ||
node.style.transform = 'none'; | ||
}); | ||
var handleEntered = callbackNormaliser(onEntered); | ||
var handleExit = callbackNormaliser(function (node) { | ||
}; | ||
var handleExit = function handleExit(node, snackId) { | ||
var easing = (style === null || style === void 0 ? void 0 : style.transitionTimingFunction) || defaultEasing.sharp; | ||
@@ -352,6 +613,7 @@ var transitionProps = getTransitionProps({ | ||
if (onExit) { | ||
onExit(node); | ||
onExit(node, snackId); | ||
} | ||
}); | ||
var handleExited = callbackNormaliser(function (node) { | ||
}; | ||
var handleExited = function handleExited(node, snackId) { | ||
// No need for transitions when the component is hidden | ||
@@ -362,5 +624,6 @@ node.style.webkitTransition = ''; | ||
if (onExited) { | ||
onExited(node); | ||
onExited(node, snackId); | ||
} | ||
}); | ||
}; | ||
var updatePosition = useCallback(function () { | ||
@@ -400,3 +663,3 @@ if (nodeRef.current) { | ||
onEnter: handleEnter, | ||
onEntered: handleEntered, | ||
onEntered: onEntered, | ||
onEntering: handleEntering, | ||
@@ -613,3 +876,2 @@ onExit: handleExit, | ||
var handleRef = useForkRef(ref, nodeRef); | ||
var callbackNormaliser = useCallbackNormaliser(nodeRef); | ||
@@ -620,10 +882,11 @@ var getWrapperSize = function getWrapperSize() { | ||
var handleEnter = callbackNormaliser(function (node, isAppearing) { | ||
var handleEnter = function handleEnter(node, isAppearing, snackId) { | ||
node.style.height = collapsedSize; | ||
if (onEnter) { | ||
onEnter(node, isAppearing); | ||
onEnter(node, isAppearing, snackId); | ||
} | ||
}); | ||
var handleEntering = callbackNormaliser(function (node) { | ||
}; | ||
var handleEntering = function handleEntering(node) { | ||
var wrapperSize = getWrapperSize(); | ||
@@ -649,19 +912,21 @@ | ||
node.style.transitionTimingFunction = easing || ''; | ||
}); | ||
var handleEntered = callbackNormaliser(function (node, isAppearing) { | ||
}; | ||
var handleEntered = function handleEntered(node, isAppearing, snackId) { | ||
node.style.height = 'auto'; | ||
if (onEntered) { | ||
onEntered(node, isAppearing); | ||
onEntered(node, isAppearing, snackId); | ||
} | ||
}); | ||
var handleExit = callbackNormaliser(function (node) { | ||
}; | ||
var handleExit = function handleExit(node, snackId) { | ||
node.style.height = getWrapperSize() + "px"; | ||
if (onExit) { | ||
onExit(node); | ||
onExit(node, snackId); | ||
} | ||
}); | ||
var handleExited = callbackNormaliser(onExited); | ||
var handleExiting = callbackNormaliser(function (node) { | ||
}; | ||
var handleExiting = function handleExiting(node) { | ||
var wrapperSize = getWrapperSize(); | ||
@@ -687,3 +952,3 @@ | ||
node.style.transitionTimingFunction = easing || ''; | ||
}); | ||
}; | ||
@@ -702,3 +967,3 @@ var handleAddEndListener = function handleAddEndListener(next) { | ||
onExit: handleExit, | ||
onExited: handleExited, | ||
onExited: onExited, | ||
onExiting: handleExiting, | ||
@@ -1210,5 +1475,6 @@ addEndListener: handleAddEndListener, | ||
return _extends({}, acc, (_extends2 = {}, _extends2[cbName] = createChainedFunction([props.snack[cbName], props[cbName]], otherSnack.id), _extends2)); | ||
return _extends({}, acc, (_extends2 = {}, _extends2[cbName] = createChainedFunction([props.snack[cbName], props[cbName]]), _extends2)); | ||
}, {}); | ||
return React__default.createElement(Collapse, { | ||
id: otherSnack.id, | ||
unmountOnExit: true, | ||
@@ -1226,2 +1492,3 @@ timeout: 175, | ||
}, React__default.createElement(TransitionComponent, Object.assign({}, transitionProps, { | ||
id: otherSnack.id, | ||
"in": open, | ||
@@ -1332,3 +1599,3 @@ onExit: callbacks.onExit, | ||
if (typeof console !== 'undefined') { | ||
console.error("WARNING - notistack: " + messages); | ||
console.error("WARNING - notistack: " + message); | ||
} | ||
@@ -1602,3 +1869,3 @@ | ||
_this.handleExitedSnack = function (event, key) { | ||
_this.handleExitedSnack = function (node, key) { | ||
if (!isDefined(key)) { | ||
@@ -1605,0 +1872,0 @@ throw new Error('handleExitedSnack Cannot be called with undefined key'); |
{ | ||
"name": "notistack", | ||
"version": "3.0.0-alpha.1", | ||
"version": "3.0.0-alpha.2", | ||
"description": "Highly customizable notification snackbars (toasts) that can be stacked on top of each other", | ||
@@ -38,3 +38,2 @@ "main": "./index.js", | ||
"@types/react-is": "^16.7.1", | ||
"@types/react-transition-group": "^4.4.4", | ||
"@typescript-eslint/eslint-plugin": "^3.9.1", | ||
@@ -63,4 +62,3 @@ "@typescript-eslint/parser": "^3.9.1", | ||
"goober": "^2.0.33", | ||
"hoist-non-react-statics": "^3.3.0", | ||
"react-transition-group": "^4.4.2" | ||
"hoist-non-react-statics": "^3.3.0" | ||
}, | ||
@@ -67,0 +65,0 @@ "bugs": { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
510080
11.44%5
-16.67%24
-4%3889
12.5%0
-100%- Removed
- Removed
- Removed
- Removed
- Removed
- Removed