diff --git a/dist/ReactToastify.min.js b/dist/ReactToastify.min.js index f12c96b0..7daef3ca 100644 --- a/dist/ReactToastify.min.js +++ b/dist/ReactToastify.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("prop-types"),require("react-transition-group/TransitionGroup")):"function"==typeof define&&define.amd?define(["react","prop-types","react-transition-group/TransitionGroup"],t):"object"==typeof exports?exports.ReactOnScreen=t(require("react"),require("prop-types"),require("react-transition-group/TransitionGroup")):e.ReactOnScreen=t(e.react,e["prop-types"],e["react-transition-group/TransitionGroup"])}(this,function(e,t,n){return function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=11)}([function(t,n){t.exports=e},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={POSITION:{TOP_LEFT:"top-left",TOP_RIGHT:"top-right",TOP_CENTER:"top-center",BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right",BOTTOM_CENTER:"bottom-center"},TYPE:{INFO:"info",SUCCESS:"success",WARNING:"warning",ERROR:"error",DEFAULT:"default"},ACTION:{SHOW:"SHOW_TOAST",CLEAR:"CLEAR_TOAST"}}},function(e,n){e.exports=t},function(e,t,n){"use strict";function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t2&&void 0!==arguments[2]?arguments[2]:null;return this.eventList.has(e)||this.eventList.set(e,[]),this.eventList.get(e).push({callback:t,context:n||this}),this},off:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null!=e&&null==t)return this.eventList.delete(e);if(null!=e&&null!=t){var n=this.eventList.get(e);return this.eventList.set(e,n.filter(function(e){return!(e.callback===t||e.callback.toString()===t.toString())})),n.length>0||this.eventList.delete(e),!0}return null===e&&null===t&&(this.eventList.clear(),!0)},once:function(e,t,n){this.on(e,t,n);var o=this.eventList.get(e);return o[o.length-1].once=!0,this},emit:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r Event is not registered. Did you forgot to bind the event ?"),!1;var s=this.eventList.get(e);return this.eventList.set(e,s.filter(function(e){var t;return(t=e.callback).call.apply(t,[e.context].concat(o(n))),!e.once})),!0}};t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=[];return Object.keys(e).forEach(function(n){return t.push(e[n])}),t}},function(e,t,n){"use strict";function o(e){return Object.prototype.toString.call(e).slice(8,-1)}function r(e){return"Number"===o(e)&&!isNaN(e)&&e>0}function s(e){return e.isRequired=function(t,n,o){if(void 0===t[n])return new Error("The prop "+n+" is marked as required in \n "+o+", but its value is undefined.");e(t,n,o)},e}Object.defineProperty(t,"__esModule",{value:!0}),t.falseOrElement=t.falseOrNumber=void 0,t.typeOf=o,t.isValidDelay=r;var i=n(0);t.falseOrNumber=s(function(e,t,n){var o=e[t];return!1===o||r(o)?null:new Error(n+" expect "+t+" \n to be a valid Number > 0 or equal to false. "+o+" given.")}),t.falseOrElement=s(function(e,t,n){var o=e[t];return!1===o||(0,i.isValidElement)(o)?null:new Error(n+" expect "+t+" \n to be a valid react element or equal to false. "+o+" given.")})},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t0}},{key:"renderProps",value:function(){var e={className:"toastify toastify--"+this.props.position};return this.hasToast()||(e.style={pointerEvents:"none"}),null!==this.props.className&&(e.className=e.className+" "+this.props.className),null!==this.props.style&&(e.style=Object.assign({},this.props.style,void 0!==e.style?e.style:{})),e}},{key:"renderToast",value:function(){var e=this,t=[];return Object.keys(this.collection).forEach(function(n){e.state.toast.includes(parseInt(n,10))?t.push(e.collection[n]):delete e.collection[n]}),t}},{key:"render",value:function(){return p.default.createElement("div",this.renderProps(),p.default.createElement(v.default,null,this.hasToast()?this.renderToast():null))}}]),t}(f.Component);N.propTypes={position:h.default.oneOf((0,j.default)(_.default.POSITION)),autoClose:R.falseOrNumber,closeButton:R.falseOrElement,hideProgressBar:h.default.bool,className:h.default.string,style:h.default.object},N.defaultProps={position:_.default.POSITION.TOP_RIGHT,autoClose:5e3,hideProgressBar:!1,closeButton:p.default.createElement(T.default,null),className:null,style:null},t.default=N},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(e){return Object.assign({},p,e)}Object.defineProperty(t,"__esModule",{value:!0});var s=n(3),i=o(s),u=n(1),a=o(u),l=a.default.POSITION,c=a.default.TYPE,f=a.default.ACTION,p={type:c.DEFAULT,autoClose:null,closeButton:null,hideProgressBar:null},d=function(e,t){return i.default.emit(f.SHOW,e,t)};t.default=Object.assign(function(e,t){return d(e,r(t))},{success:function(e,t){return d(e,Object.assign(r(t),{type:c.SUCCESS}))},info:function(e,t){return d(e,Object.assign(r(t),{type:c.INFO}))},warn:function(e,t){return d(e,Object.assign(r(t),{type:c.WARNING}))},error:function(e,t){return d(e,Object.assign(r(t),{type:c.ERROR}))},dismiss:function(){return i.default.emit(f.CLEAR)}},{POSITION:l,TYPE:c})},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(e){var t=e.closeToast;return i.default.createElement("button",{className:"toastify__close",type:"button",onClick:t},"✖")}Object.defineProperty(t,"__esModule",{value:!0});var s=n(0),i=o(s),u=n(2),a=o(u);r.propTypes={closeToast:a.default.func},t.default=r},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(e){var t=e.delay,n=e.isRunning,o=e.closeToast,r=e.type,s=e.hide,u={animationDuration:t+"ms",animationPlayState:n?"running":"paused"};return u.WebkitAnimationPlayState=u.animationPlayState,s&&(u.opacity=0),i.default.createElement("div",{className:"toastify__progress toastify__progress--"+r,style:u,onAnimationEnd:o})}Object.defineProperty(t,"__esModule",{value:!0});var s=n(0),i=o(s),u=n(2),a=o(u),l=n(1),c=o(l);r.propTypes={delay:a.default.number.isRequired,isRunning:a.default.bool.isRequired,closeToast:a.default.func.isRequired,type:a.default.string,hide:a.default.bool},r.defaultProps={type:c.default.TYPE.DEFAULT,hide:!1},t.default=r},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u=function(){function e(e,t){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:null;return this.eventList.has(e)||this.eventList.set(e,[]),this.eventList.get(e).push({callback:t,context:n||this}),this},off:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null!=e&&null==t)return this.eventList.delete(e);if(null!=e&&null!=t){var n=this.eventList.get(e);return this.eventList.set(e,n.filter(function(e){return!(e.callback===t||e.callback.toString()===t.toString())})),n.length>0||this.eventList.delete(e),!0}return null===e&&null===t&&(this.eventList.clear(),!0)},once:function(e,t,n){this.on(e,t,n);var o=this.eventList.get(e);return o[o.length-1].once=!0,this},emit:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r Event is not registered. Did you forgot to bind the event ?"),!1;var s=this.eventList.get(e);return this.eventList.set(e,s.filter(function(e){var t;return(t=e.callback).call.apply(t,[e.context].concat(o(n))),!e.once})),!0}};t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=[];return Object.keys(e).forEach(function(n){return t.push(e[n])}),t}},function(e,t,n){"use strict";function o(e){return Object.prototype.toString.call(e).slice(8,-1)}function r(e){return"Number"===o(e)&&!isNaN(e)&&e>0}function s(e){return e.isRequired=function(t,n,o){if(void 0===t[n])return new Error("The prop "+n+" is marked as required in \n "+o+", but its value is undefined.");e(t,n,o)},e}Object.defineProperty(t,"__esModule",{value:!0}),t.falseOrElement=t.falseOrNumber=void 0,t.typeOf=o,t.isValidDelay=r;var i=n(0);t.falseOrNumber=s(function(e,t,n){var o=e[t];return!1===o||r(o)?null:new Error(n+" expect "+t+" \n to be a valid Number > 0 or equal to false. "+o+" given.")}),t.falseOrElement=s(function(e,t,n){var o=e[t];return!1===o||(0,i.isValidElement)(o)?null:new Error(n+" expect "+t+" \n to be a valid react element or equal to false. "+o+" given.")})},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t0}},{key:"renderProps",value:function(){var e={className:"toastify toastify--"+this.props.position};return this.hasToast()||(e.style={pointerEvents:"none"}),null!==this.props.className&&(e.className=e.className+" "+this.props.className),null!==this.props.style&&(e.style=Object.assign({},this.props.style,void 0!==e.style?e.style:{})),e}},{key:"renderToast",value:function(){var e=this,t=[];return Object.keys(this.collection).forEach(function(n){e.state.toast.includes(parseInt(n,10))?t.push(e.collection[n]):delete e.collection[n]}),t}},{key:"render",value:function(){return p.default.createElement("div",this.renderProps(),p.default.createElement(v.default,null,this.hasToast()?this.renderToast():null))}}]),t}(f.Component);N.propTypes={position:h.default.oneOf((0,j.default)(_.default.POSITION)),autoClose:R.falseOrNumber,closeButton:R.falseOrElement,hideProgressBar:h.default.bool,className:h.default.string,style:h.default.object},N.defaultProps={position:_.default.POSITION.TOP_RIGHT,autoClose:5e3,hideProgressBar:!1,closeButton:p.default.createElement(T.default,null),className:null,style:null},t.default=N},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(e){return Object.assign({},p,e)}Object.defineProperty(t,"__esModule",{value:!0});var s=n(3),i=o(s),u=n(1),a=o(u),l=a.default.POSITION,c=a.default.TYPE,f=a.default.ACTION,p={type:c.DEFAULT,autoClose:null,closeButton:null,hideProgressBar:null},d=function(e,t){return i.default.emit(f.SHOW,e,t)};t.default=Object.assign(function(e,t){return d(e,r(t))},{success:function(e,t){return d(e,Object.assign(r(t),{type:c.SUCCESS}))},info:function(e,t){return d(e,Object.assign(r(t),{type:c.INFO}))},warn:function(e,t){return d(e,Object.assign(r(t),{type:c.WARNING}))},error:function(e,t){return d(e,Object.assign(r(t),{type:c.ERROR}))},dismiss:function(){return i.default.emit(f.CLEAR)}},{POSITION:l,TYPE:c})},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(e){var t=e.closeToast;return i.default.createElement("button",{className:"toastify__close",type:"button",onClick:t},"✖")}Object.defineProperty(t,"__esModule",{value:!0});var s=n(0),i=o(s),u=n(2),a=o(u);r.propTypes={closeToast:a.default.func},t.default=r},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(e){var t=e.delay,n=e.isRunning,o=e.closeToast,r=e.type,s=e.hide,u={animationDuration:t+"ms",animationPlayState:n?"running":"paused"};return u.WebkitAnimationPlayState=u.animationPlayState,s&&(u.opacity=0),i.default.createElement("div",{className:"toastify__progress toastify__progress--"+r,style:u,onAnimationEnd:o})}Object.defineProperty(t,"__esModule",{value:!0});var s=n(0),i=o(s),u=n(2),a=o(u),l=n(1),c=o(l);r.propTypes={delay:a.default.number.isRequired,isRunning:a.default.bool.isRequired,closeToast:a.default.func.isRequired,type:a.default.string,hide:a.default.bool},r.defaultProps={type:c.default.TYPE.DEFAULT,hide:!1},t.default=r},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u=function(){function e(e,t){for(var n=0;n 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n this.eventList.has(event) || this.eventList.set(event, []);\n\n this.eventList.get(event).push({\n callback: callback,\n context: context || this\n });\n\n return this;\n },\n\n\n /**\n * Unbind events\n * Strict comparison voluntary omitted to check both null and undefined\n *\n * @param event\n * @param callback\n * @returns {boolean}\n */\n off: function off() {\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (event != null && callback == null) {\n return this.eventList.delete(event);\n } else if (event != null && callback != null) {\n var listeners = this.eventList.get(event);\n\n this.eventList.set(event, listeners.filter(function (el) {\n return !(el.callback === callback || el.callback.toString() === callback.toString());\n }));\n listeners.length > 0 || this.eventList.delete(event);\n\n return true;\n } else if (event === null && callback === null) {\n this.eventList.clear();\n return true;\n }\n return false;\n },\n\n /**\n * @param event\n * @param callback\n * @param context\n * @returns {eventManager.once}\n */\n once: function once(event, callback, context) {\n this.on(event, callback, context);\n var listener = this.eventList.get(event);\n var idx = listener.length - 1;\n listener[idx].once = true;\n return this;\n },\n\n /**\n * @param event\n * @param args\n * @returns {boolean}\n */\n emit: function emit(event) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (!this.eventList.has(event)) {\n /* eslint no-console: 0 */\n console.warn(\"<\" + event + \"> Event is not registered. Did you forgot to bind the event ?\");\n return false;\n }\n var listeners = this.eventList.get(event);\n\n this.eventList.set(event, listeners.filter(function (listener) {\n var _listener$callback;\n\n (_listener$callback = listener.callback).call.apply(_listener$callback, [listener.context].concat(_toConsumableArray(args)));\n return !listener.once;\n }));\n\n return true;\n }\n};\n\nexports.default = eventManager;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (obj) {\n var values = [];\n Object.keys(obj).forEach(function (key) {\n return values.push(obj[key]);\n });\n return values;\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.falseOrElement = exports.falseOrNumber = undefined;\nexports.typeOf = typeOf;\nexports.isValidDelay = isValidDelay;\n\nvar _react = __webpack_require__(0);\n\nfunction typeOf(obj) {\n return Object.prototype.toString.call(obj).slice(8, -1);\n}\n\nfunction isValidDelay(val) {\n return typeOf(val) === 'Number' && !isNaN(val) && val > 0;\n}\n\nfunction withRequired(fn) {\n fn.isRequired = function (props, propName, componentName) {\n var prop = props[propName];\n\n if (typeof prop === 'undefined') {\n return new Error('The prop ' + propName + ' is marked as required in \\n ' + componentName + ', but its value is undefined.');\n }\n\n fn(props, propName, componentName);\n };\n return fn;\n}\n\n/**\n * TODO: Maybe rethink about the name\n */\nvar falseOrNumber = exports.falseOrNumber = withRequired(function (props, propName, componentName) {\n var prop = props[propName];\n\n if (prop !== false && !isValidDelay(prop)) {\n return new Error(componentName + ' expect ' + propName + ' \\n to be a valid Number > 0 or equal to false. ' + prop + ' given.');\n }\n\n return null;\n});\n\nvar falseOrElement = exports.falseOrElement = withRequired(function (props, propName, componentName) {\n var prop = props[propName];\n\n if (prop !== false && !(0, _react.isValidElement)(prop)) {\n return new Error(componentName + ' expect ' + propName + ' \\n to be a valid react element or equal to false. ' + prop + ' given.');\n }\n\n return null;\n});\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(2);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _TransitionGroup = __webpack_require__(12);\n\nvar _TransitionGroup2 = _interopRequireDefault(_TransitionGroup);\n\nvar _Toast = __webpack_require__(10);\n\nvar _Toast2 = _interopRequireDefault(_Toast);\n\nvar _DefaultCloseButton = __webpack_require__(8);\n\nvar _DefaultCloseButton2 = _interopRequireDefault(_DefaultCloseButton);\n\nvar _config = __webpack_require__(1);\n\nvar _config2 = _interopRequireDefault(_config);\n\nvar _EventManager = __webpack_require__(3);\n\nvar _EventManager2 = _interopRequireDefault(_EventManager);\n\nvar _objectValues = __webpack_require__(4);\n\nvar _objectValues2 = _interopRequireDefault(_objectValues);\n\nvar _propValidator = __webpack_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ToastContainer = function (_Component) {\n _inherits(ToastContainer, _Component);\n\n function ToastContainer(props) {\n _classCallCheck(this, ToastContainer);\n\n var _this = _possibleConstructorReturn(this, (ToastContainer.__proto__ || Object.getPrototypeOf(ToastContainer)).call(this, props));\n\n _this.state = {\n toast: []\n };\n _this.toastId = 0;\n _this.collection = {};\n return _this;\n }\n\n _createClass(ToastContainer, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n _EventManager2.default.on(_config2.default.ACTION.SHOW, function (content, options) {\n return _this2.show(content, options);\n }).on(_config2.default.ACTION.CLEAR, function () {\n return _this2.clear();\n });\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n _EventManager2.default.off(_config2.default.ACTION.SHOW);\n _EventManager2.default.off(_config2.default.ACTION.CLEAR);\n }\n }, {\n key: 'removeToast',\n value: function removeToast(id) {\n this.setState({\n toast: this.state.toast.filter(function (v) {\n return v !== parseInt(id, 10);\n })\n });\n }\n }, {\n key: 'with',\n value: function _with(component, props) {\n return (0, _react.cloneElement)(component, _extends({}, props, component.props));\n }\n }, {\n key: 'makeCloseButton',\n value: function makeCloseButton(toastClose, toastId) {\n var _this3 = this;\n\n var closeButton = this.props.closeButton;\n\n if ((0, _react.isValidElement)(toastClose) || toastClose === false) {\n closeButton = toastClose;\n }\n\n return closeButton === false ? false : this.with(closeButton, {\n closeToast: function closeToast() {\n return _this3.removeToast(toastId);\n }\n });\n }\n }, {\n key: 'getAutoCloseDelay',\n value: function getAutoCloseDelay(toastAutoClose) {\n\n return toastAutoClose === false || (0, _propValidator.isValidDelay)(toastAutoClose) ? toastAutoClose : this.props.autoClose;\n }\n }, {\n key: 'isFunction',\n value: function isFunction(object) {\n return !!(object && object.constructor && object.call && object.apply);\n }\n\n /**\n * TODO: check if throwing an error can be helpful\n */\n\n }, {\n key: 'canBeRendered',\n value: function canBeRendered(content) {\n return (0, _react.isValidElement)(content) || (0, _propValidator.typeOf)(content) !== 'String' || (0, _propValidator.typeOf)(content) !== 'Number';\n }\n }, {\n key: 'show',\n value: function show(content, options) {\n var _this4 = this;\n\n if (this.canBeRendered(content)) {\n var toastId = ++this.toastId;\n var toastOptions = {\n id: toastId,\n type: options.type,\n closeButton: this.makeCloseButton(options.closeButton, toastId)\n };\n\n this.isFunction(options.onOpen) && (toastOptions.onOpen = options.onOpen);\n\n this.isFunction(options.onClose) && (toastOptions.onClose = options.onClose);\n\n toastOptions.autoClose = this.getAutoCloseDelay(options.autoClose !== false ? parseInt(options.autoClose, 10) : options.autoClose);\n\n toastOptions.hideProgressBar = typeof options.hideProgressBar === 'boolean' ? options.hideProgressBar : this.props.hideProgressBar;\n\n toastOptions.closeToast = function () {\n return _this4.removeToast(toastId);\n };\n\n if ((0, _react.isValidElement)(content)) {\n content = this.with(content, {\n closeToast: function closeToast() {\n return _this4.removeToast(toastId);\n }\n });\n }\n\n this.collection = Object.assign({}, this.collection, _defineProperty({}, toastId, this.makeToast(content, toastOptions)));\n\n this.setState({\n toast: [].concat(_toConsumableArray(this.state.toast), [toastId])\n });\n }\n }\n }, {\n key: 'makeToast',\n value: function makeToast(content, options) {\n return _react2.default.createElement(\n _Toast2.default,\n _extends({}, options, {\n position: this.props.position,\n key: 'toast-' + options.id + ' '\n }),\n content\n );\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.collection = {};\n this.setState({ toast: [] });\n }\n }, {\n key: 'hasToast',\n value: function hasToast() {\n return this.state.toast.length > 0;\n }\n }, {\n key: 'renderProps',\n value: function renderProps() {\n var props = {\n className: 'toastify toastify--' + this.props.position\n };\n\n if (!this.hasToast()) {\n props.style = { pointerEvents: 'none' };\n }\n\n if (this.props.className !== null) {\n props.className = props.className + ' ' + this.props.className;\n }\n\n if (this.props.style !== null) {\n props.style = Object.assign({}, this.props.style, typeof props.style !== 'undefined' ? props.style : {});\n }\n\n return props;\n }\n }, {\n key: 'renderToast',\n value: function renderToast() {\n var _this5 = this;\n\n var toastToRender = [];\n Object.keys(this.collection).forEach(function (idx) {\n _this5.state.toast.includes(parseInt(idx, 10)) ? toastToRender.push(_this5.collection[idx]) : delete _this5.collection[idx];\n });\n return toastToRender;\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n this.renderProps(),\n _react2.default.createElement(\n _TransitionGroup2.default,\n null,\n this.hasToast() ? this.renderToast() : null\n )\n );\n }\n }]);\n\n return ToastContainer;\n}(_react.Component);\n\nToastContainer.propTypes = {\n /**\n * Set toast position\n */\n position: _propTypes2.default.oneOf((0, _objectValues2.default)(_config2.default.POSITION)),\n\n /**\n * Disable or set autoClose delay\n */\n autoClose: _propValidator.falseOrNumber,\n\n /**\n * Disable or set a custom react element for the close button\n */\n closeButton: _propValidator.falseOrElement,\n\n /**\n * Hide or not progress bar when autoClose is enabled\n */\n hideProgressBar: _propTypes2.default.bool,\n\n /**\n * An optional className\n */\n className: _propTypes2.default.string,\n\n /**\n * An optional style\n */\n style: _propTypes2.default.object\n};\nToastContainer.defaultProps = {\n position: _config2.default.POSITION.TOP_RIGHT,\n autoClose: 5000,\n hideProgressBar: false,\n closeButton: _react2.default.createElement(_DefaultCloseButton2.default, null),\n className: null,\n style: null\n};\nexports.default = ToastContainer;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _EventManager = __webpack_require__(3);\n\nvar _EventManager2 = _interopRequireDefault(_EventManager);\n\nvar _config = __webpack_require__(1);\n\nvar _config2 = _interopRequireDefault(_config);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*\n* TODO: Add validation here :\n* - Validate type\n* - Maybe autoClose\n* - Maybe closeButton as well\n* */\nvar POSITION = _config2.default.POSITION,\n TYPE = _config2.default.TYPE,\n ACTION = _config2.default.ACTION;\n\n\nvar defaultOptions = {\n type: TYPE.DEFAULT,\n autoClose: null,\n closeButton: null,\n hideProgressBar: null\n};\n\nfunction mergeOptions(options) {\n return Object.assign({}, defaultOptions, options);\n}\n\nvar emitEvent = function emitEvent(content, options) {\n return _EventManager2.default.emit(ACTION.SHOW, content, options);\n};\n\nexports.default = Object.assign(function (content, options) {\n return emitEvent(content, mergeOptions(options));\n}, {\n success: function success(content, options) {\n return emitEvent(content, Object.assign(mergeOptions(options), { type: TYPE.SUCCESS }));\n },\n info: function info(content, options) {\n return emitEvent(content, Object.assign(mergeOptions(options), { type: TYPE.INFO }));\n },\n warn: function warn(content, options) {\n return emitEvent(content, Object.assign(mergeOptions(options), { type: TYPE.WARNING }));\n },\n error: function error(content, options) {\n return emitEvent(content, Object.assign(mergeOptions(options), { type: TYPE.ERROR }));\n },\n dismiss: function dismiss() {\n return _EventManager2.default.emit(ACTION.CLEAR);\n }\n}, {\n POSITION: POSITION,\n TYPE: TYPE\n});\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(2);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* eslint react/require-default-props: 0 */\nfunction DefaultCloseButton(_ref) {\n var closeToast = _ref.closeToast;\n\n return _react2.default.createElement(\n 'button',\n {\n className: 'toastify__close',\n type: 'button',\n onClick: closeToast\n },\n '\\u2716'\n );\n}\n\nDefaultCloseButton.propTypes = {\n closeToast: _propTypes2.default.func\n};\n\nexports.default = DefaultCloseButton;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(2);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _config = __webpack_require__(1);\n\nvar _config2 = _interopRequireDefault(_config);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ProgressBar(_ref) {\n var delay = _ref.delay,\n isRunning = _ref.isRunning,\n closeToast = _ref.closeToast,\n type = _ref.type,\n hide = _ref.hide;\n\n var style = {\n animationDuration: delay + 'ms',\n animationPlayState: isRunning ? 'running' : 'paused'\n };\n style.WebkitAnimationPlayState = style.animationPlayState;\n\n if (hide) {\n style.opacity = 0;\n }\n\n return _react2.default.createElement('div', {\n className: 'toastify__progress toastify__progress--' + type,\n style: style,\n onAnimationEnd: closeToast\n });\n}\n\nProgressBar.propTypes = {\n /**\n * The animation delay which determine when to close the toast\n */\n delay: _propTypes2.default.number.isRequired,\n\n /**\n * Whether or not the animation is running or paused\n */\n isRunning: _propTypes2.default.bool.isRequired,\n\n /**\n * Func to close the current toast\n */\n closeToast: _propTypes2.default.func.isRequired,\n\n /**\n * Optional type : info, success ...\n */\n type: _propTypes2.default.string,\n\n /**\n * Hide or not the progress bar\n */\n hide: _propTypes2.default.bool\n};\n\nProgressBar.defaultProps = {\n type: _config2.default.TYPE.DEFAULT,\n hide: false\n};\n\nexports.default = ProgressBar;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(2);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ProgressBar = __webpack_require__(9);\n\nvar _ProgressBar2 = _interopRequireDefault(_ProgressBar);\n\nvar _config = __webpack_require__(1);\n\nvar _config2 = _interopRequireDefault(_config);\n\nvar _objectValues = __webpack_require__(4);\n\nvar _objectValues2 = _interopRequireDefault(_objectValues);\n\nvar _propValidator = __webpack_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Toast = function (_Component) {\n _inherits(Toast, _Component);\n\n function Toast(props) {\n _classCallCheck(this, Toast);\n\n var _this = _possibleConstructorReturn(this, (Toast.__proto__ || Object.getPrototypeOf(Toast)).call(this, props));\n\n _this.setRef = function (ref) {\n _this.ref = ref;\n };\n\n _this.pauseToast = function () {\n _this.setState({ isRunning: false });\n };\n\n _this.playToast = function () {\n _this.setState({ isRunning: true });\n };\n\n _this.ref = null;\n _this.state = {\n isRunning: true\n };\n return _this;\n }\n\n _createClass(Toast, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.props.onOpen !== null && this.props.onOpen(this.getChildrenProps());\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.props.onClose !== null && this.props.onClose(this.getChildrenProps());\n }\n }, {\n key: 'getChildrenProps',\n value: function getChildrenProps() {\n return this.props.children.props;\n }\n }, {\n key: 'getToastProps',\n value: function getToastProps() {\n var toastProps = {\n className: 'toastify-content toastify-content--' + this.props.type,\n ref: this.setRef\n };\n\n if (this.props.autoClose !== false) {\n toastProps.onMouseEnter = this.pauseToast;\n toastProps.onMouseLeave = this.playToast;\n }\n\n return toastProps;\n }\n }, {\n key: 'componentWillEnter',\n value: function componentWillEnter(callback) {\n this.ref.classList.add('toast-enter--' + this.props.position, 'animated');\n callback();\n }\n }, {\n key: 'componentWillLeave',\n value: function componentWillLeave(callback) {\n this.ref.classList.remove('toast-enter--' + this.props.position, 'animated');\n this.ref.classList.add('toast-exit--' + this.props.position, 'animated');\n setTimeout(function () {\n return callback();\n }, 750);\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n closeButton = _props.closeButton,\n children = _props.children,\n autoClose = _props.autoClose,\n type = _props.type,\n hideProgressBar = _props.hideProgressBar,\n closeToast = _props.closeToast;\n\n\n return _react2.default.createElement(\n 'div',\n this.getToastProps(),\n closeButton !== false && closeButton,\n _react2.default.createElement(\n 'div',\n { className: 'toastify__body' },\n children\n ),\n autoClose !== false && _react2.default.createElement(_ProgressBar2.default, {\n delay: autoClose,\n isRunning: this.state.isRunning,\n closeToast: closeToast,\n hide: hideProgressBar,\n type: type\n })\n );\n }\n }]);\n\n return Toast;\n}(_react.Component);\n\nToast.propTypes = {\n closeButton: _propValidator.falseOrElement.isRequired,\n autoClose: _propValidator.falseOrNumber.isRequired,\n children: _propTypes2.default.node.isRequired,\n closeToast: _propTypes2.default.func.isRequired,\n position: _propTypes2.default.oneOf((0, _objectValues2.default)(_config2.default.POSITION)).isRequired,\n hideProgressBar: _propTypes2.default.bool,\n onOpen: _propTypes2.default.func,\n onClose: _propTypes2.default.func,\n type: _propTypes2.default.oneOf((0, _objectValues2.default)(_config2.default.TYPE))\n};\nToast.defaultProps = {\n type: _config2.default.TYPE.DEFAULT,\n hideProgressBar: false,\n onOpen: null,\n onClose: null\n};\nexports.default = Toast;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.toast = exports.ToastContainer = undefined;\n\nvar _ToastContainer = __webpack_require__(6);\n\nvar _ToastContainer2 = _interopRequireDefault(_ToastContainer);\n\nvar _toastify = __webpack_require__(7);\n\nvar _toastify2 = _interopRequireDefault(_toastify);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.ToastContainer = _ToastContainer2.default;\nexports.toast = _toastify2.default;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_12__;\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// dist/ReactToastify.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 11);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 83a720a0c623827c62fc","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"react\"\n// module id = 0\n// module chunks = 0","export default {\n POSITION: {\n TOP_LEFT: 'top-left',\n TOP_RIGHT: 'top-right',\n TOP_CENTER: 'top-center',\n BOTTOM_LEFT: 'bottom-left',\n BOTTOM_RIGHT: 'bottom-right',\n BOTTOM_CENTER: 'bottom-center'\n },\n TYPE: {\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n ERROR: 'error',\n DEFAULT: 'default'\n },\n ACTION: {\n SHOW: 'SHOW_TOAST',\n CLEAR: 'CLEAR_TOAST'\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/config.js","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"prop-types\"\n// module id = 2\n// module chunks = 0","\nconst eventManager = {\n eventList: new Map(),\n\n /**\n * Bind event\n *\n * @param event\n * @param callback\n * @param context\n * @returns {eventManager.on}\n */\n on(event, callback, context = null) {\n this.eventList.has(event) || this.eventList.set(event, []);\n\n this.eventList.get(event).push({\n callback,\n context: context || this\n });\n\n return this;\n },\n\n /**\n * Unbind events\n * Strict comparison voluntary omitted to check both null and undefined\n *\n * @param event\n * @param callback\n * @returns {boolean}\n */\n off(event = null, callback = null) {\n if (event != null && callback == null) {\n return this.eventList.delete(event);\n } else if (event != null && callback != null) {\n const listeners = this.eventList.get(event);\n\n this.eventList.set(event, listeners.filter(el =>\n !(el.callback === callback || el.callback.toString() === callback.toString())\n ));\n listeners.length > 0 || this.eventList.delete(event);\n\n return true;\n } else if (event === null && callback === null) {\n this.eventList.clear();\n return true;\n }\n return false;\n },\n /**\n * @param event\n * @param callback\n * @param context\n * @returns {eventManager.once}\n */\n once(event, callback, context) {\n this.on(event, callback, context);\n const listener = this.eventList.get(event);\n const idx = listener.length - 1;\n listener[idx].once = true;\n return this;\n },\n /**\n * @param event\n * @param args\n * @returns {boolean}\n */\n emit(event, ...args) {\n if (!this.eventList.has(event)) {\n /* eslint no-console: 0 */\n console.warn(`<${event}> Event is not registered. Did you forgot to bind the event ?`);\n return false;\n }\n const listeners = this.eventList.get(event);\n\n this.eventList.set(event, listeners.filter(listener => {\n listener.callback.call(listener.context, ...args);\n return !listener.once;\n }));\n\n return true;\n }\n};\n\nexport default eventManager;\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/EventManager.js","export default function (obj) {\n const values = [];\n Object.keys(obj).forEach(key => values.push(obj[key]));\n return values;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/objectValues.js","import { isValidElement } from 'react';\n\nexport function typeOf(obj) {\n return Object.prototype.toString.call(obj).slice(8, -1);\n}\n\nexport function isValidDelay(val) {\n return typeOf(val) === 'Number' && !isNaN(val) && val > 0;\n}\n\nfunction withRequired(fn) {\n fn.isRequired = function (props, propName, componentName) {\n const prop = props[propName];\n\n if (typeof prop === 'undefined') {\n return new Error(`The prop ${propName} is marked as required in \n ${componentName}, but its value is undefined.`);\n }\n\n fn(props, propName, componentName);\n };\n return fn;\n}\n\n/**\n * TODO: Maybe rethink about the name\n */\nexport const falseOrNumber = withRequired(\n function (props, propName, componentName) {\n const prop = props[propName];\n\n if (prop !== false && !isValidDelay(prop)) {\n return new Error(`${componentName} expect ${propName} \n to be a valid Number > 0 or equal to false. ${prop} given.`);\n }\n\n return null;\n }\n);\n\nexport const falseOrElement = withRequired(\n function (props, propName, componentName) {\n const prop = props[propName];\n\n if (prop !== false && !isValidElement(prop)) {\n return new Error(`${componentName} expect ${propName} \n to be a valid react element or equal to false. ${prop} given.`);\n }\n\n return null;\n }\n);\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/propValidator.js","import React, {\n Component,\n isValidElement,\n cloneElement,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport Transition from 'react-transition-group/TransitionGroup';\n\nimport Toast from './Toast';\nimport DefaultCloseButton from './DefaultCloseButton';\nimport config from './config';\nimport EventManager from './util/EventManager';\nimport objectValues from './util/objectValues';\nimport {\n falseOrNumber,\n falseOrElement,\n isValidDelay,\n typeOf\n} from './util/propValidator';\n\nclass ToastContainer extends Component {\n\n static propTypes = {\n /**\n * Set toast position\n */\n position: PropTypes.oneOf(objectValues(config.POSITION)),\n\n /**\n * Disable or set autoClose delay\n */\n autoClose: falseOrNumber,\n\n /**\n * Disable or set a custom react element for the close button\n */\n closeButton: falseOrElement,\n\n /**\n * Hide or not progress bar when autoClose is enabled\n */\n hideProgressBar: PropTypes.bool,\n\n /**\n * An optional className\n */\n className: PropTypes.string,\n\n /**\n * An optional style\n */\n style: PropTypes.object\n };\n\n static defaultProps = {\n position: config.POSITION.TOP_RIGHT,\n autoClose: 5000,\n hideProgressBar: false,\n closeButton: ,\n className: null,\n style: null\n };\n\n constructor(props) {\n super(props);\n this.state = {\n toast: []\n };\n this.toastId = 0;\n this.collection = {};\n }\n\n componentDidMount() {\n EventManager.on(config.ACTION.SHOW,\n (content, options) => this.show(content, options))\n .on(config.ACTION.CLEAR, () => this.clear());\n }\n\n componentWillUnmount() {\n EventManager.off(config.ACTION.SHOW);\n EventManager.off(config.ACTION.CLEAR);\n }\n\n removeToast(id) {\n this.setState({\n toast: this.state.toast.filter(v => v !== parseInt(id, 10))\n });\n }\n\n with(component, props) {\n return cloneElement(component, { ...props, ...component.props });\n }\n\n makeCloseButton(toastClose, toastId) {\n let closeButton = this.props.closeButton;\n\n if (isValidElement(toastClose) || toastClose === false) {\n closeButton = toastClose;\n }\n\n return closeButton === false\n ? false\n : this.with(closeButton, {\n closeToast: () => this.removeToast(toastId)\n });\n }\n\n getAutoCloseDelay(toastAutoClose) {\n\n return toastAutoClose === false || isValidDelay(toastAutoClose)\n ? toastAutoClose\n : this.props.autoClose;\n }\n\n isFunction(object) {\n return !!(object && object.constructor && object.call && object.apply);\n }\n\n /**\n * TODO: check if throwing an error can be helpful\n */\n canBeRendered(content) {\n return isValidElement(content)\n || typeOf(content) !== 'String'\n || typeOf(content) !== 'Number';\n }\n\n show(content, options) {\n\n if (this.canBeRendered(content)) {\n const toastId = ++this.toastId;\n const toastOptions = {\n id: toastId,\n type: options.type,\n closeButton: this.makeCloseButton(options.closeButton, toastId)\n };\n\n this.isFunction(options.onOpen) &&\n (toastOptions.onOpen = options.onOpen);\n\n this.isFunction(options.onClose) &&\n (toastOptions.onClose = options.onClose);\n\n toastOptions.autoClose = this.getAutoCloseDelay(\n options.autoClose !== false\n ? parseInt(options.autoClose, 10)\n : options.autoClose\n );\n\n toastOptions.hideProgressBar = typeof options.hideProgressBar ===\n 'boolean'\n ? options.hideProgressBar\n : this.props.hideProgressBar;\n\n toastOptions.closeToast = () => this.removeToast(toastId);\n\n if (isValidElement(content)) {\n content = this.with(content, {\n closeToast: () => this.removeToast(toastId)\n });\n }\n\n this.collection = Object.assign({}, this.collection, {\n [toastId]: this.makeToast(content, toastOptions)\n });\n\n this.setState({\n toast: [...this.state.toast, toastId]\n });\n }\n }\n\n makeToast(content, options) {\n return (\n \n {content}\n \n );\n }\n\n clear() {\n this.collection = {};\n this.setState({ toast: [] });\n }\n\n hasToast() {\n return this.state.toast.length > 0;\n }\n\n renderProps() {\n const props = {\n className: `toastify toastify--${this.props.position}`\n };\n\n if (! this.hasToast()) {\n props.style = { pointerEvents: 'none' };\n }\n\n if (this.props.className !== null) {\n props.className = `${props.className} ${this.props.className}`;\n }\n\n if (this.props.style !== null) {\n props.style = Object.assign({},\n this.props.style,\n typeof props.style !== 'undefined' ? props.style : {}\n );\n }\n\n return props;\n }\n\n renderToast() {\n const toastToRender = [];\n Object.keys(this.collection).forEach(idx => {\n this.state.toast.includes(parseInt(idx, 10))\n ? toastToRender.push(this.collection[idx])\n : delete this.collection[idx];\n });\n return toastToRender;\n }\n\n render() {\n return (\n
\n \n {this.hasToast() ? this.renderToast() : null}\n \n
\n );\n }\n}\n\nexport default ToastContainer;\n\n\n\n// WEBPACK FOOTER //\n// ./src/ToastContainer.js","/*\n* TODO: Add validation here :\n* - Validate type\n* - Maybe autoClose\n* - Maybe closeButton as well\n* */\nimport EventManager from './util/EventManager';\nimport config from './config';\n\nconst { POSITION, TYPE, ACTION } = config;\n\nconst defaultOptions = {\n type: TYPE.DEFAULT,\n autoClose: null,\n closeButton: null,\n hideProgressBar: null\n};\n\nfunction mergeOptions(options) {\n return Object.assign({}, defaultOptions, options);\n}\n\nconst emitEvent = (content, options) => EventManager.emit(ACTION.SHOW, content, options);\n\nexport default Object.assign(\n (content, options) => emitEvent(content, mergeOptions(options)),\n {\n success: (content, options) => emitEvent(content, Object.assign(mergeOptions(options), { type: TYPE.SUCCESS })),\n info: (content, options) => emitEvent(content, Object.assign(mergeOptions(options), { type: TYPE.INFO })),\n warn: (content, options) => emitEvent(content, Object.assign(mergeOptions(options), { type: TYPE.WARNING })),\n error: (content, options) => emitEvent(content, Object.assign(mergeOptions(options), { type: TYPE.ERROR })),\n dismiss: () => EventManager.emit(ACTION.CLEAR)\n },\n {\n POSITION,\n TYPE\n }\n);\n\n\n\n// WEBPACK FOOTER //\n// ./src/toastify.js","/* eslint react/require-default-props: 0 */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nfunction DefaultCloseButton({ closeToast }) {\n return (\n \n ✖\n \n );\n}\n\nDefaultCloseButton.propTypes = {\n closeToast: PropTypes.func\n};\n\nexport default DefaultCloseButton;\n\n\n\n// WEBPACK FOOTER //\n// ./src/DefaultCloseButton.js","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport config from './config';\n\nfunction ProgressBar({ delay, isRunning, closeToast, type, hide }) {\n const style = {\n animationDuration: `${delay}ms`,\n animationPlayState: isRunning ? 'running' : 'paused'\n };\n style.WebkitAnimationPlayState = style.animationPlayState;\n\n if (hide) {\n style.opacity = 0;\n }\n\n return (\n \n );\n}\n\nProgressBar.propTypes = {\n /**\n * The animation delay which determine when to close the toast\n */\n delay: PropTypes.number.isRequired,\n\n /**\n * Whether or not the animation is running or paused\n */\n isRunning: PropTypes.bool.isRequired,\n\n /**\n * Func to close the current toast\n */\n closeToast: PropTypes.func.isRequired,\n\n /**\n * Optional type : info, success ...\n */\n type: PropTypes.string,\n\n /**\n * Hide or not the progress bar\n */\n hide: PropTypes.bool\n};\n\nProgressBar.defaultProps = {\n type: config.TYPE.DEFAULT,\n hide: false\n};\n\nexport default ProgressBar;\n\n\n\n// WEBPACK FOOTER //\n// ./src/ProgressBar.js","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport ProgressBar from './ProgressBar';\nimport config from './config';\nimport objectValues from './util/objectValues';\nimport { falseOrElement, falseOrNumber } from './util/propValidator';\n\nclass Toast extends Component {\n static propTypes = {\n closeButton: falseOrElement.isRequired,\n autoClose: falseOrNumber.isRequired,\n children: PropTypes.node.isRequired,\n closeToast: PropTypes.func.isRequired,\n position: PropTypes.oneOf(objectValues(config.POSITION)).isRequired,\n hideProgressBar: PropTypes.bool,\n onOpen: PropTypes.func,\n onClose: PropTypes.func,\n type: PropTypes.oneOf(objectValues(config.TYPE))\n };\n\n static defaultProps = {\n type: config.TYPE.DEFAULT,\n hideProgressBar: false,\n onOpen: null,\n onClose: null\n };\n\n constructor(props) {\n super(props);\n this.ref = null;\n this.state = {\n isRunning: true\n };\n }\n\n componentDidMount() {\n this.props.onOpen !== null && this.props.onOpen(this.getChildrenProps());\n }\n\n componentWillUnmount() {\n this.props.onClose !== null && this.props.onClose(this.getChildrenProps());\n }\n\n setRef = ref => {\n this.ref = ref;\n };\n\n getChildrenProps() {\n return this.props.children.props;\n }\n\n getToastProps() {\n const toastProps = {\n className: `toastify-content toastify-content--${this.props.type}`,\n ref: this.setRef\n };\n\n if (this.props.autoClose !== false) {\n toastProps.onMouseEnter = this.pauseToast;\n toastProps.onMouseLeave = this.playToast;\n }\n\n return toastProps;\n }\n\n componentWillEnter(callback) {\n this.ref.classList.add(`toast-enter--${this.props.position}`, 'animated');\n callback();\n }\n\n componentWillLeave(callback) {\n this.ref.classList.remove(`toast-enter--${this.props.position}`,\n 'animated');\n this.ref.classList.add(`toast-exit--${this.props.position}`, 'animated');\n setTimeout(() => callback(), 750);\n }\n\n pauseToast = () => {\n this.setState({ isRunning: false });\n };\n\n playToast = () => {\n this.setState({ isRunning: true });\n };\n\n render() {\n const {\n closeButton,\n children,\n autoClose,\n type,\n hideProgressBar,\n closeToast\n } = this.props;\n\n return (\n \n {closeButton !== false && closeButton}\n
\n {children}\n
\n {\n autoClose !== false &&\n \n }\n \n );\n }\n}\n\nexport default Toast;\n\n\n\n// WEBPACK FOOTER //\n// ./src/Toast.js","import ToastContainer from './ToastContainer';\nimport toastify from './toastify';\n\nexport { ToastContainer, toastify as toast };\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","module.exports = __WEBPACK_EXTERNAL_MODULE_12__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"react-transition-group/TransitionGroup\"\n// module id = 12\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///dist/ReactToastify.min.js","webpack:///webpack/bootstrap 99b9c9890b19c93a6cb9","webpack:///external \"react\"","webpack:///./src/config.js","webpack:///external \"prop-types\"","webpack:///./src/util/EventManager.js","webpack:///./src/util/objectValues.js","webpack:///./src/util/propValidator.js","webpack:///./src/ToastContainer.js","webpack:///./src/toastify.js","webpack:///./src/DefaultCloseButton.js","webpack:///./src/ProgressBar.js","webpack:///./src/Toast.js","webpack:///./src/index.js","webpack:///external \"react-transition-group/TransitionGroup\""],"names":["root","factory","exports","module","require","define","amd","ReactOnScreen","react","this","__WEBPACK_EXTERNAL_MODULE_0__","__WEBPACK_EXTERNAL_MODULE_2__","__WEBPACK_EXTERNAL_MODULE_12__","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","default","object","property","prototype","hasOwnProperty","p","s","POSITION","TOP_LEFT","TOP_RIGHT","TOP_CENTER","BOTTOM_LEFT","BOTTOM_RIGHT","BOTTOM_CENTER","TYPE","INFO","SUCCESS","WARNING","ERROR","DEFAULT","ACTION","SHOW","CLEAR","_toConsumableArray","arr","Array","isArray","arr2","length","from","eventManager","eventList","Map","on","event","callback","context","arguments","has","set","push","off","delete","listeners","filter","el","toString","clear","once","listener","emit","_len","args","_key","console","warn","_listener$callback","apply","concat","obj","values","keys","forEach","key","typeOf","slice","isValidDelay","val","isNaN","withRequired","fn","isRequired","props","propName","componentName","Error","falseOrElement","falseOrNumber","_react","prop","isValidElement","_interopRequireDefault","_defineProperty","writable","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","create","constructor","setPrototypeOf","__proto__","_extends","assign","target","source","_createClass","defineProperties","descriptor","protoProps","staticProps","_react2","_propTypes","_propTypes2","_TransitionGroup","_TransitionGroup2","_Toast","_Toast2","_DefaultCloseButton","_DefaultCloseButton2","_config","_config2","_EventManager","_EventManager2","_objectValues","_objectValues2","_propValidator","ToastContainer","_Component","_this","getPrototypeOf","state","toast","toastId","collection","_this2","content","options","show","id","setState","v","parseInt","component","cloneElement","toastClose","_this3","closeButton","with","closeToast","removeToast","toastAutoClose","autoClose","_this4","canBeRendered","toastOptions","type","makeCloseButton","isFunction","onOpen","onClose","getAutoCloseDelay","hideProgressBar","makeToast","createElement","position","className","hasToast","style","pointerEvents","_this5","toastToRender","idx","includes","renderProps","renderToast","Component","propTypes","oneOf","bool","string","defaultProps","mergeOptions","defaultOptions","emitEvent","success","info","error","dismiss","DefaultCloseButton","_ref","onClick","func","ProgressBar","delay","isRunning","hide","animationDuration","animationPlayState","WebkitAnimationPlayState","opacity","onAnimationEnd","number","_ProgressBar","_ProgressBar2","Toast","setRef","ref","pauseToast","playToast","getChildrenProps","children","toastProps","onMouseEnter","onMouseLeave","classList","add","remove","setTimeout","_props","getToastProps","node","_ToastContainer","_ToastContainer2","_toastify","_toastify2"],"mappings":"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","file":"dist/ReactToastify.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"prop-types\"), require(\"react-transition-group/TransitionGroup\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\", \"prop-types\", \"react-transition-group/TransitionGroup\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactOnScreen\"] = factory(require(\"react\"), require(\"prop-types\"), require(\"react-transition-group/TransitionGroup\"));\n\telse\n\t\troot[\"ReactOnScreen\"] = factory(root[\"react\"], root[\"prop-types\"], root[\"react-transition-group/TransitionGroup\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_12__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"prop-types\"), require(\"react-transition-group/TransitionGroup\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\", \"prop-types\", \"react-transition-group/TransitionGroup\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactOnScreen\"] = factory(require(\"react\"), require(\"prop-types\"), require(\"react-transition-group/TransitionGroup\"));\n\telse\n\t\troot[\"ReactOnScreen\"] = factory(root[\"react\"], root[\"prop-types\"], root[\"react-transition-group/TransitionGroup\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_12__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 11);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n POSITION: {\n TOP_LEFT: 'top-left',\n TOP_RIGHT: 'top-right',\n TOP_CENTER: 'top-center',\n BOTTOM_LEFT: 'bottom-left',\n BOTTOM_RIGHT: 'bottom-right',\n BOTTOM_CENTER: 'bottom-center'\n },\n TYPE: {\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n ERROR: 'error',\n DEFAULT: 'default'\n },\n ACTION: {\n SHOW: 'SHOW_TOAST',\n CLEAR: 'CLEAR_TOAST'\n }\n};\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar eventManager = {\n eventList: new Map(),\n\n /**\n * Bind event\n *\n * @param event\n * @param callback\n * @param context\n * @returns {eventManager.on}\n */\n on: function on(event, callback) {\n var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n this.eventList.has(event) || this.eventList.set(event, []);\n\n this.eventList.get(event).push({\n callback: callback,\n context: context || this\n });\n\n return this;\n },\n\n\n /**\n * Unbind events\n * Strict comparison voluntary omitted to check both null and undefined\n *\n * @param event\n * @param callback\n * @returns {boolean}\n */\n off: function off() {\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (event != null && callback == null) {\n return this.eventList.delete(event);\n } else if (event != null && callback != null) {\n var listeners = this.eventList.get(event);\n\n this.eventList.set(event, listeners.filter(function (el) {\n return !(el.callback === callback || el.callback.toString() === callback.toString());\n }));\n listeners.length > 0 || this.eventList.delete(event);\n\n return true;\n } else if (event === null && callback === null) {\n this.eventList.clear();\n return true;\n }\n return false;\n },\n\n /**\n * @param event\n * @param callback\n * @param context\n * @returns {eventManager.once}\n */\n once: function once(event, callback, context) {\n this.on(event, callback, context);\n var listener = this.eventList.get(event);\n var idx = listener.length - 1;\n listener[idx].once = true;\n return this;\n },\n\n /**\n * @param event\n * @param args\n * @returns {boolean}\n */\n emit: function emit(event) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (!this.eventList.has(event)) {\n /* eslint no-console: 0 */\n console.warn(\"<\" + event + \"> Event is not registered. Did you forgot to bind the event ?\");\n return false;\n }\n var listeners = this.eventList.get(event);\n\n this.eventList.set(event, listeners.filter(function (listener) {\n var _listener$callback;\n\n (_listener$callback = listener.callback).call.apply(_listener$callback, [listener.context].concat(_toConsumableArray(args)));\n return !listener.once;\n }));\n\n return true;\n }\n};\n\nexports.default = eventManager;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (obj) {\n var values = [];\n Object.keys(obj).forEach(function (key) {\n return values.push(obj[key]);\n });\n return values;\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.falseOrElement = exports.falseOrNumber = undefined;\nexports.typeOf = typeOf;\nexports.isValidDelay = isValidDelay;\n\nvar _react = __webpack_require__(0);\n\nfunction typeOf(obj) {\n return Object.prototype.toString.call(obj).slice(8, -1);\n}\n\nfunction isValidDelay(val) {\n return typeOf(val) === 'Number' && !isNaN(val) && val > 0;\n}\n\nfunction withRequired(fn) {\n fn.isRequired = function (props, propName, componentName) {\n var prop = props[propName];\n\n if (typeof prop === 'undefined') {\n return new Error('The prop ' + propName + ' is marked as required in \\n ' + componentName + ', but its value is undefined.');\n }\n\n fn(props, propName, componentName);\n };\n return fn;\n}\n\n/**\n * TODO: Maybe rethink about the name\n */\nvar falseOrNumber = exports.falseOrNumber = withRequired(function (props, propName, componentName) {\n var prop = props[propName];\n\n if (prop !== false && !isValidDelay(prop)) {\n return new Error(componentName + ' expect ' + propName + ' \\n to be a valid Number > 0 or equal to false. ' + prop + ' given.');\n }\n\n return null;\n});\n\nvar falseOrElement = exports.falseOrElement = withRequired(function (props, propName, componentName) {\n var prop = props[propName];\n\n if (prop !== false && !(0, _react.isValidElement)(prop)) {\n return new Error(componentName + ' expect ' + propName + ' \\n to be a valid react element or equal to false. ' + prop + ' given.');\n }\n\n return null;\n});\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(2);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _TransitionGroup = __webpack_require__(12);\n\nvar _TransitionGroup2 = _interopRequireDefault(_TransitionGroup);\n\nvar _Toast = __webpack_require__(10);\n\nvar _Toast2 = _interopRequireDefault(_Toast);\n\nvar _DefaultCloseButton = __webpack_require__(8);\n\nvar _DefaultCloseButton2 = _interopRequireDefault(_DefaultCloseButton);\n\nvar _config = __webpack_require__(1);\n\nvar _config2 = _interopRequireDefault(_config);\n\nvar _EventManager = __webpack_require__(3);\n\nvar _EventManager2 = _interopRequireDefault(_EventManager);\n\nvar _objectValues = __webpack_require__(4);\n\nvar _objectValues2 = _interopRequireDefault(_objectValues);\n\nvar _propValidator = __webpack_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ToastContainer = function (_Component) {\n _inherits(ToastContainer, _Component);\n\n function ToastContainer(props) {\n _classCallCheck(this, ToastContainer);\n\n var _this = _possibleConstructorReturn(this, (ToastContainer.__proto__ || Object.getPrototypeOf(ToastContainer)).call(this, props));\n\n _this.state = {\n toast: []\n };\n _this.toastId = 0;\n _this.collection = {};\n return _this;\n }\n\n _createClass(ToastContainer, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n _EventManager2.default.on(_config2.default.ACTION.SHOW, function (content, options) {\n return _this2.show(content, options);\n }).on(_config2.default.ACTION.CLEAR, function () {\n return _this2.clear();\n });\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n _EventManager2.default.off(_config2.default.ACTION.SHOW);\n _EventManager2.default.off(_config2.default.ACTION.CLEAR);\n }\n }, {\n key: 'removeToast',\n value: function removeToast(id) {\n this.setState({\n toast: this.state.toast.filter(function (v) {\n return v !== parseInt(id, 10);\n })\n });\n }\n }, {\n key: 'with',\n value: function _with(component, props) {\n return (0, _react.cloneElement)(component, _extends({}, props, component.props));\n }\n }, {\n key: 'makeCloseButton',\n value: function makeCloseButton(toastClose, toastId) {\n var _this3 = this;\n\n var closeButton = this.props.closeButton;\n\n if ((0, _react.isValidElement)(toastClose) || toastClose === false) {\n closeButton = toastClose;\n }\n\n return closeButton === false ? false : this.with(closeButton, {\n closeToast: function closeToast() {\n return _this3.removeToast(toastId);\n }\n });\n }\n }, {\n key: 'getAutoCloseDelay',\n value: function getAutoCloseDelay(toastAutoClose) {\n return toastAutoClose === false || (0, _propValidator.isValidDelay)(toastAutoClose) ? toastAutoClose : this.props.autoClose;\n }\n }, {\n key: 'isFunction',\n value: function isFunction(object) {\n return !!(object && object.constructor && object.call && object.apply);\n }\n\n /**\n * TODO: check if throwing an error can be helpful\n */\n\n }, {\n key: 'canBeRendered',\n value: function canBeRendered(content) {\n return (0, _react.isValidElement)(content) || (0, _propValidator.typeOf)(content) === 'String' || (0, _propValidator.typeOf)(content) === 'Number';\n }\n }, {\n key: 'show',\n value: function show(content, options) {\n var _this4 = this;\n\n if (this.canBeRendered(content)) {\n var toastId = ++this.toastId;\n var closeToast = function closeToast() {\n return _this4.removeToast(toastId);\n };\n var toastOptions = {\n id: toastId,\n type: options.type,\n closeButton: this.makeCloseButton(options.closeButton, toastId)\n };\n\n this.isFunction(options.onOpen) && (toastOptions.onOpen = options.onOpen);\n\n this.isFunction(options.onClose) && (toastOptions.onClose = options.onClose);\n\n toastOptions.autoClose = this.getAutoCloseDelay(options.autoClose !== false ? parseInt(options.autoClose, 10) : options.autoClose);\n\n toastOptions.hideProgressBar = typeof options.hideProgressBar === 'boolean' ? options.hideProgressBar : this.props.hideProgressBar;\n\n toastOptions.closeToast = closeToast;\n\n if ((0, _react.isValidElement)(content) && (0, _propValidator.typeOf)(content.type) !== 'String') {\n content = this.with(content, {\n closeToast: closeToast\n });\n }\n\n this.collection = Object.assign({}, this.collection, _defineProperty({}, toastId, this.makeToast(content, toastOptions)));\n\n this.setState({\n toast: [].concat(_toConsumableArray(this.state.toast), [toastId])\n });\n }\n }\n }, {\n key: 'makeToast',\n value: function makeToast(content, options) {\n return _react2.default.createElement(\n _Toast2.default,\n _extends({}, options, {\n position: this.props.position,\n key: 'toast-' + options.id + ' '\n }),\n content\n );\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.collection = {};\n this.setState({ toast: [] });\n }\n }, {\n key: 'hasToast',\n value: function hasToast() {\n return this.state.toast.length > 0;\n }\n }, {\n key: 'renderProps',\n value: function renderProps() {\n var props = {\n className: 'toastify toastify--' + this.props.position\n };\n\n if (!this.hasToast()) {\n props.style = { pointerEvents: 'none' };\n }\n\n if (this.props.className !== null) {\n props.className = props.className + ' ' + this.props.className;\n }\n\n if (this.props.style !== null) {\n props.style = Object.assign({}, this.props.style, typeof props.style !== 'undefined' ? props.style : {});\n }\n\n return props;\n }\n }, {\n key: 'renderToast',\n value: function renderToast() {\n var _this5 = this;\n\n var toastToRender = [];\n Object.keys(this.collection).forEach(function (idx) {\n _this5.state.toast.includes(parseInt(idx, 10)) ? toastToRender.push(_this5.collection[idx]) : delete _this5.collection[idx];\n });\n return toastToRender;\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'div',\n this.renderProps(),\n _react2.default.createElement(\n _TransitionGroup2.default,\n null,\n this.hasToast() ? this.renderToast() : null\n )\n );\n }\n }]);\n\n return ToastContainer;\n}(_react.Component);\n\nToastContainer.propTypes = {\n /**\n * Set toast position\n */\n position: _propTypes2.default.oneOf((0, _objectValues2.default)(_config2.default.POSITION)),\n\n /**\n * Disable or set autoClose delay\n */\n autoClose: _propValidator.falseOrNumber,\n\n /**\n * Disable or set a custom react element for the close button\n */\n closeButton: _propValidator.falseOrElement,\n\n /**\n * Hide or not progress bar when autoClose is enabled\n */\n hideProgressBar: _propTypes2.default.bool,\n\n /**\n * An optional className\n */\n className: _propTypes2.default.string,\n\n /**\n * An optional style\n */\n style: _propTypes2.default.object\n};\nToastContainer.defaultProps = {\n position: _config2.default.POSITION.TOP_RIGHT,\n autoClose: 5000,\n hideProgressBar: false,\n closeButton: _react2.default.createElement(_DefaultCloseButton2.default, null),\n className: null,\n style: null\n};\nexports.default = ToastContainer;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _EventManager = __webpack_require__(3);\n\nvar _EventManager2 = _interopRequireDefault(_EventManager);\n\nvar _config = __webpack_require__(1);\n\nvar _config2 = _interopRequireDefault(_config);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*\n* TODO: Add validation here :\n* - Validate type\n* - Maybe autoClose\n* - Maybe closeButton as well\n* */\nvar POSITION = _config2.default.POSITION,\n TYPE = _config2.default.TYPE,\n ACTION = _config2.default.ACTION;\n\n\nvar defaultOptions = {\n type: TYPE.DEFAULT,\n autoClose: null,\n closeButton: null,\n hideProgressBar: null\n};\n\nfunction mergeOptions(options) {\n return Object.assign({}, defaultOptions, options);\n}\n\nvar emitEvent = function emitEvent(content, options) {\n return _EventManager2.default.emit(ACTION.SHOW, content, options);\n};\n\nexports.default = Object.assign(function (content, options) {\n return emitEvent(content, mergeOptions(options));\n}, {\n success: function success(content, options) {\n return emitEvent(content, Object.assign(mergeOptions(options), { type: TYPE.SUCCESS }));\n },\n info: function info(content, options) {\n return emitEvent(content, Object.assign(mergeOptions(options), { type: TYPE.INFO }));\n },\n warn: function warn(content, options) {\n return emitEvent(content, Object.assign(mergeOptions(options), { type: TYPE.WARNING }));\n },\n error: function error(content, options) {\n return emitEvent(content, Object.assign(mergeOptions(options), { type: TYPE.ERROR }));\n },\n dismiss: function dismiss() {\n return _EventManager2.default.emit(ACTION.CLEAR);\n }\n}, {\n POSITION: POSITION,\n TYPE: TYPE\n});\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(2);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* eslint react/require-default-props: 0 */\nfunction DefaultCloseButton(_ref) {\n var closeToast = _ref.closeToast;\n\n return _react2.default.createElement(\n 'button',\n {\n className: 'toastify__close',\n type: 'button',\n onClick: closeToast\n },\n '\\u2716'\n );\n}\n\nDefaultCloseButton.propTypes = {\n closeToast: _propTypes2.default.func\n};\n\nexports.default = DefaultCloseButton;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(2);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _config = __webpack_require__(1);\n\nvar _config2 = _interopRequireDefault(_config);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ProgressBar(_ref) {\n var delay = _ref.delay,\n isRunning = _ref.isRunning,\n closeToast = _ref.closeToast,\n type = _ref.type,\n hide = _ref.hide;\n\n var style = {\n animationDuration: delay + 'ms',\n animationPlayState: isRunning ? 'running' : 'paused'\n };\n style.WebkitAnimationPlayState = style.animationPlayState;\n\n if (hide) {\n style.opacity = 0;\n }\n\n return _react2.default.createElement('div', {\n className: 'toastify__progress toastify__progress--' + type,\n style: style,\n onAnimationEnd: closeToast\n });\n}\n\nProgressBar.propTypes = {\n /**\n * The animation delay which determine when to close the toast\n */\n delay: _propTypes2.default.number.isRequired,\n\n /**\n * Whether or not the animation is running or paused\n */\n isRunning: _propTypes2.default.bool.isRequired,\n\n /**\n * Func to close the current toast\n */\n closeToast: _propTypes2.default.func.isRequired,\n\n /**\n * Optional type : info, success ...\n */\n type: _propTypes2.default.string,\n\n /**\n * Hide or not the progress bar\n */\n hide: _propTypes2.default.bool\n};\n\nProgressBar.defaultProps = {\n type: _config2.default.TYPE.DEFAULT,\n hide: false\n};\n\nexports.default = ProgressBar;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(2);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ProgressBar = __webpack_require__(9);\n\nvar _ProgressBar2 = _interopRequireDefault(_ProgressBar);\n\nvar _config = __webpack_require__(1);\n\nvar _config2 = _interopRequireDefault(_config);\n\nvar _objectValues = __webpack_require__(4);\n\nvar _objectValues2 = _interopRequireDefault(_objectValues);\n\nvar _propValidator = __webpack_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Toast = function (_Component) {\n _inherits(Toast, _Component);\n\n function Toast(props) {\n _classCallCheck(this, Toast);\n\n var _this = _possibleConstructorReturn(this, (Toast.__proto__ || Object.getPrototypeOf(Toast)).call(this, props));\n\n _this.setRef = function (ref) {\n _this.ref = ref;\n };\n\n _this.pauseToast = function () {\n _this.setState({ isRunning: false });\n };\n\n _this.playToast = function () {\n _this.setState({ isRunning: true });\n };\n\n _this.ref = null;\n _this.state = {\n isRunning: true\n };\n return _this;\n }\n\n _createClass(Toast, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.props.onOpen !== null && this.props.onOpen(this.getChildrenProps());\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.props.onClose !== null && this.props.onClose(this.getChildrenProps());\n }\n }, {\n key: 'getChildrenProps',\n value: function getChildrenProps() {\n return this.props.children.props;\n }\n }, {\n key: 'getToastProps',\n value: function getToastProps() {\n var toastProps = {\n className: 'toastify-content toastify-content--' + this.props.type,\n ref: this.setRef\n };\n\n if (this.props.autoClose !== false) {\n toastProps.onMouseEnter = this.pauseToast;\n toastProps.onMouseLeave = this.playToast;\n }\n\n return toastProps;\n }\n }, {\n key: 'componentWillEnter',\n value: function componentWillEnter(callback) {\n this.ref.classList.add('toast-enter--' + this.props.position, 'animated');\n callback();\n }\n }, {\n key: 'componentWillLeave',\n value: function componentWillLeave(callback) {\n this.ref.classList.remove('toast-enter--' + this.props.position, 'animated');\n this.ref.classList.add('toast-exit--' + this.props.position, 'animated');\n setTimeout(function () {\n return callback();\n }, 750);\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n closeButton = _props.closeButton,\n children = _props.children,\n autoClose = _props.autoClose,\n type = _props.type,\n hideProgressBar = _props.hideProgressBar,\n closeToast = _props.closeToast;\n\n\n return _react2.default.createElement(\n 'div',\n this.getToastProps(),\n closeButton !== false && closeButton,\n _react2.default.createElement(\n 'div',\n { className: 'toastify__body' },\n children\n ),\n autoClose !== false && _react2.default.createElement(_ProgressBar2.default, {\n delay: autoClose,\n isRunning: this.state.isRunning,\n closeToast: closeToast,\n hide: hideProgressBar,\n type: type\n })\n );\n }\n }]);\n\n return Toast;\n}(_react.Component);\n\nToast.propTypes = {\n closeButton: _propValidator.falseOrElement.isRequired,\n autoClose: _propValidator.falseOrNumber.isRequired,\n children: _propTypes2.default.node.isRequired,\n closeToast: _propTypes2.default.func.isRequired,\n position: _propTypes2.default.oneOf((0, _objectValues2.default)(_config2.default.POSITION)).isRequired,\n hideProgressBar: _propTypes2.default.bool,\n onOpen: _propTypes2.default.func,\n onClose: _propTypes2.default.func,\n type: _propTypes2.default.oneOf((0, _objectValues2.default)(_config2.default.TYPE))\n};\nToast.defaultProps = {\n type: _config2.default.TYPE.DEFAULT,\n hideProgressBar: false,\n onOpen: null,\n onClose: null\n};\nexports.default = Toast;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.toast = exports.ToastContainer = undefined;\n\nvar _ToastContainer = __webpack_require__(6);\n\nvar _ToastContainer2 = _interopRequireDefault(_ToastContainer);\n\nvar _toastify = __webpack_require__(7);\n\nvar _toastify2 = _interopRequireDefault(_toastify);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.ToastContainer = _ToastContainer2.default;\nexports.toast = _toastify2.default;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_12__;\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// dist/ReactToastify.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 11);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 99b9c9890b19c93a6cb9","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"react\"\n// module id = 0\n// module chunks = 0","export default {\n POSITION: {\n TOP_LEFT: 'top-left',\n TOP_RIGHT: 'top-right',\n TOP_CENTER: 'top-center',\n BOTTOM_LEFT: 'bottom-left',\n BOTTOM_RIGHT: 'bottom-right',\n BOTTOM_CENTER: 'bottom-center'\n },\n TYPE: {\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n ERROR: 'error',\n DEFAULT: 'default'\n },\n ACTION: {\n SHOW: 'SHOW_TOAST',\n CLEAR: 'CLEAR_TOAST'\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/config.js","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"prop-types\"\n// module id = 2\n// module chunks = 0","\nconst eventManager = {\n eventList: new Map(),\n\n /**\n * Bind event\n *\n * @param event\n * @param callback\n * @param context\n * @returns {eventManager.on}\n */\n on(event, callback, context = null) {\n this.eventList.has(event) || this.eventList.set(event, []);\n\n this.eventList.get(event).push({\n callback,\n context: context || this\n });\n\n return this;\n },\n\n /**\n * Unbind events\n * Strict comparison voluntary omitted to check both null and undefined\n *\n * @param event\n * @param callback\n * @returns {boolean}\n */\n off(event = null, callback = null) {\n if (event != null && callback == null) {\n return this.eventList.delete(event);\n } else if (event != null && callback != null) {\n const listeners = this.eventList.get(event);\n\n this.eventList.set(event, listeners.filter(el =>\n !(el.callback === callback || el.callback.toString() === callback.toString())\n ));\n listeners.length > 0 || this.eventList.delete(event);\n\n return true;\n } else if (event === null && callback === null) {\n this.eventList.clear();\n return true;\n }\n return false;\n },\n /**\n * @param event\n * @param callback\n * @param context\n * @returns {eventManager.once}\n */\n once(event, callback, context) {\n this.on(event, callback, context);\n const listener = this.eventList.get(event);\n const idx = listener.length - 1;\n listener[idx].once = true;\n return this;\n },\n /**\n * @param event\n * @param args\n * @returns {boolean}\n */\n emit(event, ...args) {\n if (!this.eventList.has(event)) {\n /* eslint no-console: 0 */\n console.warn(`<${event}> Event is not registered. Did you forgot to bind the event ?`);\n return false;\n }\n const listeners = this.eventList.get(event);\n\n this.eventList.set(event, listeners.filter(listener => {\n listener.callback.call(listener.context, ...args);\n return !listener.once;\n }));\n\n return true;\n }\n};\n\nexport default eventManager;\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/EventManager.js","export default function (obj) {\n const values = [];\n Object.keys(obj).forEach(key => values.push(obj[key]));\n return values;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/objectValues.js","import { isValidElement } from 'react';\n\nexport function typeOf(obj) {\n return Object.prototype.toString.call(obj).slice(8, -1);\n}\n\nexport function isValidDelay(val) {\n return typeOf(val) === 'Number' && !isNaN(val) && val > 0;\n}\n\nfunction withRequired(fn) {\n fn.isRequired = function (props, propName, componentName) {\n const prop = props[propName];\n\n if (typeof prop === 'undefined') {\n return new Error(`The prop ${propName} is marked as required in \n ${componentName}, but its value is undefined.`);\n }\n\n fn(props, propName, componentName);\n };\n return fn;\n}\n\n/**\n * TODO: Maybe rethink about the name\n */\nexport const falseOrNumber = withRequired(\n (props, propName, componentName) => {\n const prop = props[propName];\n\n if (prop !== false && !isValidDelay(prop)) {\n return new Error(`${componentName} expect ${propName} \n to be a valid Number > 0 or equal to false. ${prop} given.`);\n }\n\n return null;\n }\n);\n\nexport const falseOrElement = withRequired(\n (props, propName, componentName) => {\n const prop = props[propName];\n\n if (prop !== false && !isValidElement(prop)) {\n return new Error(`${componentName} expect ${propName} \n to be a valid react element or equal to false. ${prop} given.`);\n }\n\n return null;\n }\n);\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/propValidator.js","import React, {\n Component,\n isValidElement,\n cloneElement\n} from 'react';\nimport PropTypes from 'prop-types';\nimport Transition from 'react-transition-group/TransitionGroup';\n\nimport Toast from './Toast';\nimport DefaultCloseButton from './DefaultCloseButton';\nimport config from './config';\nimport EventManager from './util/EventManager';\nimport objectValues from './util/objectValues';\nimport {\n falseOrNumber,\n falseOrElement,\n isValidDelay,\n typeOf\n} from './util/propValidator';\n\nclass ToastContainer extends Component {\n\n static propTypes = {\n /**\n * Set toast position\n */\n position: PropTypes.oneOf(objectValues(config.POSITION)),\n\n /**\n * Disable or set autoClose delay\n */\n autoClose: falseOrNumber,\n\n /**\n * Disable or set a custom react element for the close button\n */\n closeButton: falseOrElement,\n\n /**\n * Hide or not progress bar when autoClose is enabled\n */\n hideProgressBar: PropTypes.bool,\n\n /**\n * An optional className\n */\n className: PropTypes.string,\n\n /**\n * An optional style\n */\n style: PropTypes.object\n };\n\n static defaultProps = {\n position: config.POSITION.TOP_RIGHT,\n autoClose: 5000,\n hideProgressBar: false,\n closeButton: ,\n className: null,\n style: null\n };\n\n constructor(props) {\n super(props);\n this.state = {\n toast: []\n };\n this.toastId = 0;\n this.collection = {};\n }\n\n componentDidMount() {\n EventManager.on(config.ACTION.SHOW,\n (content, options) => this.show(content, options))\n .on(config.ACTION.CLEAR, () => this.clear());\n }\n\n componentWillUnmount() {\n EventManager.off(config.ACTION.SHOW);\n EventManager.off(config.ACTION.CLEAR);\n }\n\n removeToast(id) {\n this.setState({\n toast: this.state.toast.filter(v => v !== parseInt(id, 10))\n });\n }\n\n with(component, props) {\n return cloneElement(component, { ...props, ...component.props });\n }\n\n makeCloseButton(toastClose, toastId) {\n let closeButton = this.props.closeButton;\n\n if (isValidElement(toastClose) || toastClose === false) {\n closeButton = toastClose;\n }\n\n return closeButton === false\n ? false\n : this.with(closeButton, {\n closeToast: () => this.removeToast(toastId)\n });\n }\n\n getAutoCloseDelay(toastAutoClose) {\n return toastAutoClose === false || isValidDelay(toastAutoClose)\n ? toastAutoClose\n : this.props.autoClose;\n }\n\n isFunction(object) {\n return !!(object && object.constructor && object.call && object.apply);\n }\n\n /**\n * TODO: check if throwing an error can be helpful\n */\n canBeRendered(content) {\n return isValidElement(content)\n || typeOf(content) === 'String'\n || typeOf(content) === 'Number';\n }\n\n show(content, options) {\n if (this.canBeRendered(content)) {\n const toastId = ++this.toastId;\n const closeToast = () => this.removeToast(toastId);\n const toastOptions = {\n id: toastId,\n type: options.type,\n closeButton: this.makeCloseButton(options.closeButton, toastId)\n };\n\n this.isFunction(options.onOpen) &&\n (toastOptions.onOpen = options.onOpen);\n\n this.isFunction(options.onClose) &&\n (toastOptions.onClose = options.onClose);\n\n toastOptions.autoClose = this.getAutoCloseDelay(\n options.autoClose !== false\n ? parseInt(options.autoClose, 10)\n : options.autoClose\n );\n\n toastOptions.hideProgressBar = typeof options.hideProgressBar ===\n 'boolean'\n ? options.hideProgressBar\n : this.props.hideProgressBar;\n\n toastOptions.closeToast = closeToast;\n\n if (isValidElement(content) && typeOf(content.type) !== 'String') {\n content = this.with(content, {\n closeToast\n });\n }\n\n this.collection = Object.assign({}, this.collection, {\n [toastId]: this.makeToast(content, toastOptions)\n });\n\n this.setState({\n toast: [...this.state.toast, toastId]\n });\n }\n }\n\n makeToast(content, options) {\n return (\n \n {content}\n \n );\n }\n\n clear() {\n this.collection = {};\n this.setState({ toast: [] });\n }\n\n hasToast() {\n return this.state.toast.length > 0;\n }\n\n renderProps() {\n const props = {\n className: `toastify toastify--${this.props.position}`\n };\n\n if (!this.hasToast()) {\n props.style = { pointerEvents: 'none' };\n }\n\n if (this.props.className !== null) {\n props.className = `${props.className} ${this.props.className}`;\n }\n\n if (this.props.style !== null) {\n props.style = Object.assign({},\n this.props.style,\n typeof props.style !== 'undefined' ? props.style : {}\n );\n }\n\n return props;\n }\n\n renderToast() {\n const toastToRender = [];\n Object.keys(this.collection).forEach(idx => {\n this.state.toast.includes(parseInt(idx, 10))\n ? toastToRender.push(this.collection[idx])\n : delete this.collection[idx];\n });\n return toastToRender;\n }\n\n render() {\n return (\n
\n \n {this.hasToast() ? this.renderToast() : null}\n \n
\n );\n }\n}\n\nexport default ToastContainer;\n\n\n\n// WEBPACK FOOTER //\n// ./src/ToastContainer.js","/*\n* TODO: Add validation here :\n* - Validate type\n* - Maybe autoClose\n* - Maybe closeButton as well\n* */\nimport EventManager from './util/EventManager';\nimport config from './config';\n\nconst { POSITION, TYPE, ACTION } = config;\n\nconst defaultOptions = {\n type: TYPE.DEFAULT,\n autoClose: null,\n closeButton: null,\n hideProgressBar: null\n};\n\nfunction mergeOptions(options) {\n return Object.assign({}, defaultOptions, options);\n}\n\nconst emitEvent = (content, options) => EventManager.emit(ACTION.SHOW, content, options);\n\nexport default Object.assign(\n (content, options) => emitEvent(content, mergeOptions(options)),\n {\n success: (content, options) => emitEvent(content, Object.assign(mergeOptions(options), { type: TYPE.SUCCESS })),\n info: (content, options) => emitEvent(content, Object.assign(mergeOptions(options), { type: TYPE.INFO })),\n warn: (content, options) => emitEvent(content, Object.assign(mergeOptions(options), { type: TYPE.WARNING })),\n error: (content, options) => emitEvent(content, Object.assign(mergeOptions(options), { type: TYPE.ERROR })),\n dismiss: () => EventManager.emit(ACTION.CLEAR)\n },\n {\n POSITION,\n TYPE\n }\n);\n\n\n\n// WEBPACK FOOTER //\n// ./src/toastify.js","/* eslint react/require-default-props: 0 */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nfunction DefaultCloseButton({ closeToast }) {\n return (\n \n ✖\n \n );\n}\n\nDefaultCloseButton.propTypes = {\n closeToast: PropTypes.func\n};\n\nexport default DefaultCloseButton;\n\n\n\n// WEBPACK FOOTER //\n// ./src/DefaultCloseButton.js","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport config from './config';\n\nfunction ProgressBar({ delay, isRunning, closeToast, type, hide }) {\n const style = {\n animationDuration: `${delay}ms`,\n animationPlayState: isRunning ? 'running' : 'paused'\n };\n style.WebkitAnimationPlayState = style.animationPlayState;\n\n if (hide) {\n style.opacity = 0;\n }\n\n return (\n \n );\n}\n\nProgressBar.propTypes = {\n /**\n * The animation delay which determine when to close the toast\n */\n delay: PropTypes.number.isRequired,\n\n /**\n * Whether or not the animation is running or paused\n */\n isRunning: PropTypes.bool.isRequired,\n\n /**\n * Func to close the current toast\n */\n closeToast: PropTypes.func.isRequired,\n\n /**\n * Optional type : info, success ...\n */\n type: PropTypes.string,\n\n /**\n * Hide or not the progress bar\n */\n hide: PropTypes.bool\n};\n\nProgressBar.defaultProps = {\n type: config.TYPE.DEFAULT,\n hide: false\n};\n\nexport default ProgressBar;\n\n\n\n// WEBPACK FOOTER //\n// ./src/ProgressBar.js","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport ProgressBar from './ProgressBar';\nimport config from './config';\nimport objectValues from './util/objectValues';\nimport { falseOrElement, falseOrNumber } from './util/propValidator';\n\nclass Toast extends Component {\n static propTypes = {\n closeButton: falseOrElement.isRequired,\n autoClose: falseOrNumber.isRequired,\n children: PropTypes.node.isRequired,\n closeToast: PropTypes.func.isRequired,\n position: PropTypes.oneOf(objectValues(config.POSITION)).isRequired,\n hideProgressBar: PropTypes.bool,\n onOpen: PropTypes.func,\n onClose: PropTypes.func,\n type: PropTypes.oneOf(objectValues(config.TYPE))\n };\n\n static defaultProps = {\n type: config.TYPE.DEFAULT,\n hideProgressBar: false,\n onOpen: null,\n onClose: null\n };\n\n constructor(props) {\n super(props);\n this.ref = null;\n this.state = {\n isRunning: true\n };\n }\n\n componentDidMount() {\n this.props.onOpen !== null && this.props.onOpen(this.getChildrenProps());\n }\n\n componentWillUnmount() {\n this.props.onClose !== null && this.props.onClose(this.getChildrenProps());\n }\n\n setRef = ref => {\n this.ref = ref;\n };\n\n getChildrenProps() {\n return this.props.children.props;\n }\n\n getToastProps() {\n const toastProps = {\n className: `toastify-content toastify-content--${this.props.type}`,\n ref: this.setRef\n };\n\n if (this.props.autoClose !== false) {\n toastProps.onMouseEnter = this.pauseToast;\n toastProps.onMouseLeave = this.playToast;\n }\n\n return toastProps;\n }\n\n componentWillEnter(callback) {\n this.ref.classList.add(`toast-enter--${this.props.position}`, 'animated');\n callback();\n }\n\n componentWillLeave(callback) {\n this.ref.classList.remove(`toast-enter--${this.props.position}`,\n 'animated');\n this.ref.classList.add(`toast-exit--${this.props.position}`, 'animated');\n setTimeout(() => callback(), 750);\n }\n\n pauseToast = () => {\n this.setState({ isRunning: false });\n };\n\n playToast = () => {\n this.setState({ isRunning: true });\n };\n\n render() {\n const {\n closeButton,\n children,\n autoClose,\n type,\n hideProgressBar,\n closeToast\n } = this.props;\n\n return (\n \n {closeButton !== false && closeButton}\n
\n {children}\n
\n {\n autoClose !== false &&\n \n }\n \n );\n }\n}\n\nexport default Toast;\n\n\n\n// WEBPACK FOOTER //\n// ./src/Toast.js","import ToastContainer from './ToastContainer';\nimport toastify from './toastify';\n\nexport { ToastContainer, toastify as toast };\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","module.exports = __WEBPACK_EXTERNAL_MODULE_12__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"react-transition-group/TransitionGroup\"\n// module id = 12\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/src/ToastContainer.js b/src/ToastContainer.js index 8b5fa5c3..c4c7fb45 100644 --- a/src/ToastContainer.js +++ b/src/ToastContainer.js @@ -127,6 +127,7 @@ class ToastContainer extends Component { show(content, options) { if (this.canBeRendered(content)) { const toastId = ++this.toastId; + const closeToast = () => this.removeToast(toastId); const toastOptions = { id: toastId, type: options.type, @@ -150,11 +151,11 @@ class ToastContainer extends Component { ? options.hideProgressBar : this.props.hideProgressBar; - toastOptions.closeToast = () => this.removeToast(toastId); + toastOptions.closeToast = closeToast; - if (isValidElement(content)) { + if (isValidElement(content) && typeOf(content.type) !== 'String') { content = this.with(content, { - closeToast: () => this.removeToast(toastId) + closeToast }); }