diff options
author | Indrajith K L | 2017-12-19 19:10:01 +0530 |
---|---|---|
committer | Indrajith K L | 2017-12-19 19:10:01 +0530 |
commit | 9b608b89b16953c8d717ed8fde02ae396eea6094 (patch) | |
tree | a914badf600f8f95c4d25e8d8f4138290162bd8b | |
parent | 90d191ce4b23106657712efe3e8830410b89225e (diff) | |
download | vanilla-yo-notification-9b608b89b16953c8d717ed8fde02ae396eea6094.tar.gz vanilla-yo-notification-9b608b89b16953c8d717ed8fde02ae396eea6094.tar.bz2 vanilla-yo-notification-9b608b89b16953c8d717ed8fde02ae396eea6094.zip |
* Webpack config changes
* Updated documentation with example
* removed unwanted dependencies from starter pack
-rw-r--r-- | .vscode/launch.json | 14 | ||||
-rw-r--r-- | dist/vanilla-yo-notification.js | 2 | ||||
-rw-r--r-- | dist/vanilla-yo-notification.js.map | 2 | ||||
-rw-r--r-- | docs/README.md | 2 | ||||
-rw-r--r-- | docs/example/64x64.png (renamed from example/64x64.png) | bin | 206 -> 206 bytes | |||
-rw-r--r-- | docs/example/example.html | 23 | ||||
-rw-r--r-- | docs/example/example.js (renamed from example/example.js) | 4 | ||||
-rw-r--r-- | docs/example/vanilla-yo-notification.js | 2 | ||||
-rw-r--r-- | docs/example/vanilla-yo-notification.js.map | 1 | ||||
-rw-r--r-- | docs/index.html | 2 | ||||
-rw-r--r-- | example/example.html | 17 | ||||
-rw-r--r-- | package.json | 4 | ||||
-rw-r--r-- | webpack.config.js | 10 |
13 files changed, 56 insertions, 27 deletions
diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..a6631b3 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,14 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "node", + "request": "launch", + "name": "Launch Program", + "program": "${workspaceFolder}\\src\\index.ts" + } + ] +}
\ No newline at end of file diff --git a/dist/vanilla-yo-notification.js b/dist/vanilla-yo-notification.js index a764b6a..ec7e447 100644 --- a/dist/vanilla-yo-notification.js +++ b/dist/vanilla-yo-notification.js @@ -1,2 +1,2 @@ -!function(t){function n(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}var e={};n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:o})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},n.p="",n(n.s=0)}([function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var o=e(1);window.VanillaYoNotification=o.default},function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),e(2);var o=function(){function t(t){this.defaultConfig={content:t.content?t.content:"",footer:t.footer?t.footer:"",timeout:t.timeout?t.timeout:3e3,title:t.title?t.title:"",type:t.type?t.type:"success",position:t.position&&2==t.position.length?t.position:["bottom","right"]},this.init()}return t.prototype.init=function(){this.buildContainers()},t.prototype.buildContainers=function(){this.container=document.createElement("div"),this.container.className="notif-mainContainer "+this.defaultConfig.position.join("-"),this.notifInner=document.createElement("div"),this.notifInner.className="notif-inner",this.container.appendChild(this.notifInner),document.body.appendChild(this.container)},t.prototype.show=function(t){var n=this,e=document.createElement("div");e.className="vanilla-yo-notification "+(t.type?t.type:this.defaultConfig.type),this.notificationTemplate='\n <div class="notification_container">\n <div class="notification_header">\n '+(t.title?t.title:this.defaultConfig.title)+'\n </div>\n <div class="notification_body">\n '+(t.content?t.content:this.defaultConfig.content)+'\n </div>\n <div class="notification_footer">\n '+(t.footer?t.footer:this.defaultConfig.footer)+"\n </div>\n </div>\n ",e.innerHTML=this.notificationTemplate,this.notifInner.appendChild(e),setTimeout(function(){e.className=e.className+" close",n.destroyNotification(e)},t.timeout?t.timeout:this.defaultConfig.timeout)},t.prototype.destroyNotification=function(t){var n=this;setTimeout(function(){n.notifInner.removeChild(t)},100)},t}();n.default=o},function(t,n,e){var o=e(3);"string"==typeof o&&(o=[[t.i,o,""]]);var i={};i.transform=void 0;e(5)(o,i);o.locals&&(t.exports=o.locals)},function(t,n,e){n=t.exports=e(4)(void 0),n.push([t.i,'\n\n.notif-mainContainer {\n z-index: 999;\n position: fixed;\n width: 350px;\n max-width: 98%;\n font-family: "Segoe UI","Tahoma","Calibri","Verdana",sans-serif;\n color: #999;\n box-sizing: border-box;\n}\n\n.notif-mainContainer.top-right{\n top: 8px;\n right: 8px;\n}\n\n.notif-mainContainer.bottom-right{\n bottom: 8px;\n right: 8px;\n}\n\n.notif-mainContainer.top-left{\n top: 8px;\n left: 8px;\n}\n.notif-mainContainer.bottom-left{\n bottom: 8px;\n left: 8px;\n}\n\n.notif-inner {\n display: flex;\n flex-direction: column;\n}\n\n.vanilla-yo-notification{\n width: 250px;\n color: white;\n position: relative;\n cursor: pointer;\n padding: 8px;\n margin-bottom: 12px;\n display: flex;\n border-radius: 10px;\n -webkit-animation-duration: 500ms;animation-duration: 500ms;\n}\n\n.vanilla-yo-notification.error {\n background: #e74c3c;\n}\n\n.vanilla-yo-notification.warning {\n background: #f39c12;\n}\n\n.vanilla-yo-notification.success {\n background: #2ecc71;\n}\n\n\n\n@-webkit-keyframes fadeOut {\n 0% {opacity: 1;}\n 100% {opacity: 0;}\n }\n \n @keyframes fadeOut {\n 0% {opacity: 1;}\n 100% {opacity: 0;}\n }\n\n.close {\n -webkit-animation-name: fadeOut;\n animation-name: fadeOut;\n}\n\n\n\n\n.notification_header{\n\tfont-size: 15px;\n font-weight: bold\n}',""])},function(t,n){function e(t,n){var e=t[1]||"",i=t[3];if(!i)return e;if(n&&"function"==typeof btoa){var r=o(i);return[e].concat(i.sources.map(function(t){return"/*# sourceURL="+i.sourceRoot+t+" */"})).concat([r]).join("\n")}return[e].join("\n")}function o(t){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+" */"}t.exports=function(t){var n=[];return n.toString=function(){return this.map(function(n){var o=e(n,t);return n[2]?"@media "+n[2]+"{"+o+"}":o}).join("")},n.i=function(t,e){"string"==typeof t&&(t=[[null,t,""]]);for(var o={},i=0;i<this.length;i++){var r=this[i][0];"number"==typeof r&&(o[r]=!0)}for(i=0;i<t.length;i++){var a=t[i];"number"==typeof a[0]&&o[a[0]]||(e&&!a[2]?a[2]=e:e&&(a[2]="("+a[2]+") and ("+e+")"),n.push(a))}},n}},function(t,n,e){function o(t,n){for(var e=0;e<t.length;e++){var o=t[e],i=h[o.id];if(i){i.refs++;for(var r=0;r<i.parts.length;r++)i.parts[r](o.parts[r]);for(;r<o.parts.length;r++)i.parts.push(u(o.parts[r],n))}else{for(var a=[],r=0;r<o.parts.length;r++)a.push(u(o.parts[r],n));h[o.id]={id:o.id,refs:1,parts:a}}}}function i(t,n){for(var e=[],o={},i=0;i<t.length;i++){var r=t[i],a=n.base?r[0]+n.base:r[0],s=r[1],f=r[2],c=r[3],u={css:s,media:f,sourceMap:c};o[a]?o[a].parts.push(u):e.push(o[a]={id:a,parts:[u]})}return e}function r(t,n){var e=v(t.insertInto);if(!e)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var o=g[g.length-1];if("top"===t.insertAt)o?o.nextSibling?e.insertBefore(n,o.nextSibling):e.appendChild(n):e.insertBefore(n,e.firstChild),g.push(n);else{if("bottom"!==t.insertAt)throw new Error("Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.");e.appendChild(n)}}function a(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t);var n=g.indexOf(t);n>=0&&g.splice(n,1)}function s(t){var n=document.createElement("style");return t.attrs.type="text/css",c(n,t.attrs),r(t,n),n}function f(t){var n=document.createElement("link");return t.attrs.type="text/css",t.attrs.rel="stylesheet",c(n,t.attrs),r(t,n),n}function c(t,n){Object.keys(n).forEach(function(e){t.setAttribute(e,n[e])})}function u(t,n){var e,o,i,r;if(n.transform&&t.css){if(!(r=n.transform(t.css)))return function(){};t.css=r}if(n.singleton){var c=y++;e=b||(b=s(n)),o=l.bind(null,e,c,!1),i=l.bind(null,e,c,!0)}else t.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(e=f(n),o=d.bind(null,e,n),i=function(){a(e),e.href&&URL.revokeObjectURL(e.href)}):(e=s(n),o=p.bind(null,e),i=function(){a(e)});return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else i()}}function l(t,n,e,o){var i=e?"":o.css;if(t.styleSheet)t.styleSheet.cssText=w(n,i);else{var r=document.createTextNode(i),a=t.childNodes;a[n]&&t.removeChild(a[n]),a.length?t.insertBefore(r,a[n]):t.appendChild(r)}}function p(t,n){var e=n.css,o=n.media;if(o&&t.setAttribute("media",o),t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}function d(t,n,e){var o=e.css,i=e.sourceMap,r=void 0===n.convertToAbsoluteUrls&&i;(n.convertToAbsoluteUrls||r)&&(o=x(o)),i&&(o+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */");var a=new Blob([o],{type:"text/css"}),s=t.href;t.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}var h={},m=function(t){var n;return function(){return void 0===n&&(n=t.apply(this,arguments)),n}}(function(){return window&&document&&document.all&&!window.atob}),v=function(t){var n={};return function(e){return void 0===n[e]&&(n[e]=t.call(this,e)),n[e]}}(function(t){return document.querySelector(t)}),b=null,y=0,g=[],x=e(6);t.exports=function(t,n){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");n=n||{},n.attrs="object"==typeof n.attrs?n.attrs:{},n.singleton||(n.singleton=m()),n.insertInto||(n.insertInto="head"),n.insertAt||(n.insertAt="bottom");var e=i(t,n);return o(e,n),function(t){for(var r=[],a=0;a<e.length;a++){var s=e[a],f=h[s.id];f.refs--,r.push(f)}if(t){o(i(t,n),n)}for(var a=0;a<r.length;a++){var f=r[a];if(0===f.refs){for(var c=0;c<f.parts.length;c++)f.parts[c]();delete h[f.id]}}}};var w=function(){var t=[];return function(n,e){return t[n]=e,t.filter(Boolean).join("\n")}}()},function(t,n){t.exports=function(t){var n="undefined"!=typeof window&&window.location;if(!n)throw new Error("fixUrls requires window.location");if(!t||"string"!=typeof t)return t;var e=n.protocol+"//"+n.host,o=e+n.pathname.replace(/\/[^\/]*$/,"/");return t.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(t,n){var i=n.trim().replace(/^"(.*)"$/,function(t,n){return n}).replace(/^'(.*)'$/,function(t,n){return n});if(/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/)/i.test(i))return t;var r;return r=0===i.indexOf("//")?i:0===i.indexOf("/")?e+i:o+i.replace(/^\.\//,""),"url("+JSON.stringify(r)+")"})}}]); +!function(t){function n(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}var e={};n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:o})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},n.p="",n(n.s=0)}([function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var o=e(1);window.VYN=o.default},function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),e(2);var o=function(){function t(t){this.defaultConfig={content:t.content?t.content:"",footer:t.footer?t.footer:"",timeout:t.timeout?t.timeout:3e3,title:t.title?t.title:"",type:t.type?t.type:"success",position:t.position&&2==t.position.length?t.position:["bottom","right"]},this.init()}return t.prototype.init=function(){this.buildContainers()},t.prototype.buildContainers=function(){this.container=document.createElement("div"),this.container.className="notif-mainContainer "+this.defaultConfig.position.join("-"),this.notifInner=document.createElement("div"),this.notifInner.className="notif-inner",this.container.appendChild(this.notifInner),document.body.appendChild(this.container)},t.prototype.show=function(t){var n=this,e=document.createElement("div");e.className="vanilla-yo-notification "+(t.type?t.type:this.defaultConfig.type),this.notificationTemplate='\n <div class="notification_container">\n <div class="notification_header">\n '+(t.title?t.title:this.defaultConfig.title)+'\n </div>\n <div class="notification_body">\n '+(t.content?t.content:this.defaultConfig.content)+'\n </div>\n <div class="notification_footer">\n '+(t.footer?t.footer:this.defaultConfig.footer)+"\n </div>\n </div>\n ",e.innerHTML=this.notificationTemplate,this.notifInner.appendChild(e),setTimeout(function(){e.className=e.className+" close",n.destroyNotification(e)},t.timeout?t.timeout:this.defaultConfig.timeout)},t.prototype.destroyNotification=function(t){var n=this;setTimeout(function(){n.notifInner.removeChild(t)},100)},t}();n.default=o},function(t,n,e){var o=e(3);"string"==typeof o&&(o=[[t.i,o,""]]);var i={};i.transform=void 0;e(5)(o,i);o.locals&&(t.exports=o.locals)},function(t,n,e){n=t.exports=e(4)(void 0),n.push([t.i,'\n\n.notif-mainContainer {\n z-index: 999;\n position: fixed;\n width: 350px;\n max-width: 98%;\n font-family: "Segoe UI","Tahoma","Calibri","Verdana",sans-serif;\n color: #999;\n box-sizing: border-box;\n}\n\n.notif-mainContainer.top-right{\n top: 8px;\n right: 8px;\n}\n\n.notif-mainContainer.bottom-right{\n bottom: 8px;\n right: 8px;\n}\n\n.notif-mainContainer.top-left{\n top: 8px;\n left: 8px;\n}\n.notif-mainContainer.bottom-left{\n bottom: 8px;\n left: 8px;\n}\n\n.notif-inner {\n display: flex;\n flex-direction: column;\n}\n\n.vanilla-yo-notification{\n width: 250px;\n color: white;\n position: relative;\n cursor: pointer;\n padding: 8px;\n margin-bottom: 12px;\n display: flex;\n border-radius: 10px;\n -webkit-animation-duration: 500ms;animation-duration: 500ms;\n}\n\n.vanilla-yo-notification.error {\n background: #e74c3c;\n}\n\n.vanilla-yo-notification.warning {\n background: #f39c12;\n}\n\n.vanilla-yo-notification.success {\n background: #2ecc71;\n}\n\n\n\n@-webkit-keyframes fadeOut {\n 0% {opacity: 1;}\n 100% {opacity: 0;}\n }\n \n @keyframes fadeOut {\n 0% {opacity: 1;}\n 100% {opacity: 0;}\n }\n\n.close {\n -webkit-animation-name: fadeOut;\n animation-name: fadeOut;\n}\n\n\n\n\n.notification_header{\n\tfont-size: 15px;\n font-weight: bold\n}',""])},function(t,n){function e(t,n){var e=t[1]||"",i=t[3];if(!i)return e;if(n&&"function"==typeof btoa){var r=o(i);return[e].concat(i.sources.map(function(t){return"/*# sourceURL="+i.sourceRoot+t+" */"})).concat([r]).join("\n")}return[e].join("\n")}function o(t){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+" */"}t.exports=function(t){var n=[];return n.toString=function(){return this.map(function(n){var o=e(n,t);return n[2]?"@media "+n[2]+"{"+o+"}":o}).join("")},n.i=function(t,e){"string"==typeof t&&(t=[[null,t,""]]);for(var o={},i=0;i<this.length;i++){var r=this[i][0];"number"==typeof r&&(o[r]=!0)}for(i=0;i<t.length;i++){var a=t[i];"number"==typeof a[0]&&o[a[0]]||(e&&!a[2]?a[2]=e:e&&(a[2]="("+a[2]+") and ("+e+")"),n.push(a))}},n}},function(t,n,e){function o(t,n){for(var e=0;e<t.length;e++){var o=t[e],i=h[o.id];if(i){i.refs++;for(var r=0;r<i.parts.length;r++)i.parts[r](o.parts[r]);for(;r<o.parts.length;r++)i.parts.push(u(o.parts[r],n))}else{for(var a=[],r=0;r<o.parts.length;r++)a.push(u(o.parts[r],n));h[o.id]={id:o.id,refs:1,parts:a}}}}function i(t,n){for(var e=[],o={},i=0;i<t.length;i++){var r=t[i],a=n.base?r[0]+n.base:r[0],s=r[1],f=r[2],c=r[3],u={css:s,media:f,sourceMap:c};o[a]?o[a].parts.push(u):e.push(o[a]={id:a,parts:[u]})}return e}function r(t,n){var e=v(t.insertInto);if(!e)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var o=g[g.length-1];if("top"===t.insertAt)o?o.nextSibling?e.insertBefore(n,o.nextSibling):e.appendChild(n):e.insertBefore(n,e.firstChild),g.push(n);else{if("bottom"!==t.insertAt)throw new Error("Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.");e.appendChild(n)}}function a(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t);var n=g.indexOf(t);n>=0&&g.splice(n,1)}function s(t){var n=document.createElement("style");return t.attrs.type="text/css",c(n,t.attrs),r(t,n),n}function f(t){var n=document.createElement("link");return t.attrs.type="text/css",t.attrs.rel="stylesheet",c(n,t.attrs),r(t,n),n}function c(t,n){Object.keys(n).forEach(function(e){t.setAttribute(e,n[e])})}function u(t,n){var e,o,i,r;if(n.transform&&t.css){if(!(r=n.transform(t.css)))return function(){};t.css=r}if(n.singleton){var c=y++;e=b||(b=s(n)),o=l.bind(null,e,c,!1),i=l.bind(null,e,c,!0)}else t.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(e=f(n),o=d.bind(null,e,n),i=function(){a(e),e.href&&URL.revokeObjectURL(e.href)}):(e=s(n),o=p.bind(null,e),i=function(){a(e)});return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else i()}}function l(t,n,e,o){var i=e?"":o.css;if(t.styleSheet)t.styleSheet.cssText=w(n,i);else{var r=document.createTextNode(i),a=t.childNodes;a[n]&&t.removeChild(a[n]),a.length?t.insertBefore(r,a[n]):t.appendChild(r)}}function p(t,n){var e=n.css,o=n.media;if(o&&t.setAttribute("media",o),t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}function d(t,n,e){var o=e.css,i=e.sourceMap,r=void 0===n.convertToAbsoluteUrls&&i;(n.convertToAbsoluteUrls||r)&&(o=x(o)),i&&(o+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */");var a=new Blob([o],{type:"text/css"}),s=t.href;t.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}var h={},m=function(t){var n;return function(){return void 0===n&&(n=t.apply(this,arguments)),n}}(function(){return window&&document&&document.all&&!window.atob}),v=function(t){var n={};return function(e){return void 0===n[e]&&(n[e]=t.call(this,e)),n[e]}}(function(t){return document.querySelector(t)}),b=null,y=0,g=[],x=e(6);t.exports=function(t,n){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");n=n||{},n.attrs="object"==typeof n.attrs?n.attrs:{},n.singleton||(n.singleton=m()),n.insertInto||(n.insertInto="head"),n.insertAt||(n.insertAt="bottom");var e=i(t,n);return o(e,n),function(t){for(var r=[],a=0;a<e.length;a++){var s=e[a],f=h[s.id];f.refs--,r.push(f)}if(t){o(i(t,n),n)}for(var a=0;a<r.length;a++){var f=r[a];if(0===f.refs){for(var c=0;c<f.parts.length;c++)f.parts[c]();delete h[f.id]}}}};var w=function(){var t=[];return function(n,e){return t[n]=e,t.filter(Boolean).join("\n")}}()},function(t,n){t.exports=function(t){var n="undefined"!=typeof window&&window.location;if(!n)throw new Error("fixUrls requires window.location");if(!t||"string"!=typeof t)return t;var e=n.protocol+"//"+n.host,o=e+n.pathname.replace(/\/[^\/]*$/,"/");return t.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(t,n){var i=n.trim().replace(/^"(.*)"$/,function(t,n){return n}).replace(/^'(.*)'$/,function(t,n){return n});if(/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/)/i.test(i))return t;var r;return r=0===i.indexOf("//")?i:0===i.indexOf("/")?e+i:o+i.replace(/^\.\//,""),"url("+JSON.stringify(r)+")"})}}]); //# sourceMappingURL=vanilla-yo-notification.js.map
\ No newline at end of file diff --git a/dist/vanilla-yo-notification.js.map b/dist/vanilla-yo-notification.js.map index e5b4149..4c6f8bf 100644 --- a/dist/vanilla-yo-notification.js.map +++ b/dist/vanilla-yo-notification.js.map @@ -1 +1 @@ -{"version":3,"sources":["file:///vanilla-yo-notification.js","file:///webpack/bootstrap 9e2daa66262b0b8457aa","file:///C:\\Users\\InApp\\Desktop\\custom-notification\\src\\index.ts","file:///C:\\Users\\InApp\\Desktop\\custom-notification\\src\\yo\\vanilla.yo.notification.ts","webpack:///./styles/style.css?42e5","file:///C:\\Users\\InApp\\Desktop\\custom-notification\\src\\styles\\style.css","file:///C:\\Users\\InApp\\Desktop\\custom-notification\\node_modules\\css-loader\\lib\\css-base.js","file:///C:\\Users\\InApp\\Desktop\\custom-notification\\node_modules\\style-loader\\lib\\addStyles.js","file:///C:\\Users\\InApp\\Desktop\\custom-notification\\node_modules\\style-loader\\lib\\urls.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","value","vanilla_yo_notification_1","window","VanillaYoNotification","default","config","this","defaultConfig","content","footer","timeout","title","type","position","length","init","buildContainers","container","document","createElement","className","join","notifInner","appendChild","body","show","_this","notifContainer","notificationTemplate","innerHTML","setTimeout","destroyNotification","removeChild","options","transform","locals","undefined","push","cssWithMappingToString","item","useSourceMap","cssMapping","btoa","sourceMapping","toComment","concat","sources","map","source","sourceRoot","sourceMap","unescape","encodeURIComponent","JSON","stringify","list","toString","mediaQuery","alreadyImportedModules","id","addStylesToDom","styles","domStyle","stylesInDom","refs","j","parts","addStyle","listToStyles","newStyles","base","css","media","part","insertStyleElement","style","target","getElement","insertInto","Error","lastStyleElementInsertedAtTop","stylesInsertedAtTop","insertAt","nextSibling","insertBefore","firstChild","removeStyleElement","parentNode","idx","indexOf","splice","createStyleElement","attrs","addAttrs","createLinkElement","link","rel","el","keys","forEach","key","setAttribute","obj","update","remove","result","singleton","styleIndex","singletonCounter","applyToSingletonTag","bind","URL","createObjectURL","revokeObjectURL","Blob","updateLink","href","applyToTag","newObj","index","styleSheet","cssText","replaceText","cssNode","createTextNode","childNodes","autoFixUrls","convertToAbsoluteUrls","fixUrls","blob","oldSrc","isOldIE","fn","memo","apply","arguments","all","atob","selector","querySelector","DEBUG","newList","mayRemove","textStore","replacement","filter","Boolean","location","baseUrl","protocol","host","currentDir","pathname","replace","fullMatch","origUrl","unquotedOrigUrl","trim","$1","test","newUrl"],"mappings":"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","file":"vanilla-yo-notification.js","sourcesContent":["/******/ (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// 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 = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar vanilla_yo_notification_1 = __webpack_require__(1);\r\nwindow.VanillaYoNotification = vanilla_yo_notification_1.default;\r\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n// Import stylesheets\r\n__webpack_require__(2);\r\nvar VanillaYoNotification = /** @class */ (function () {\r\n function VanillaYoNotification(config) {\r\n this.defaultConfig = {\r\n content: config.content ? config.content : '',\r\n footer: config.footer ? config.footer : '',\r\n timeout: config.timeout ? config.timeout : 3000,\r\n title: config.title ? config.title : '',\r\n type: config.type ? config.type : 'success',\r\n position: (config.position && config.position.length == 2) ? config.position : ['bottom', 'right']\r\n };\r\n this.init();\r\n }\r\n VanillaYoNotification.prototype.init = function () {\r\n this.buildContainers();\r\n };\r\n VanillaYoNotification.prototype.buildContainers = function () {\r\n this.container = document.createElement('div');\r\n this.container.className = \"notif-mainContainer \" + this.defaultConfig.position.join('-');\r\n this.notifInner = document.createElement('div');\r\n this.notifInner.className = \"notif-inner\";\r\n this.container.appendChild(this.notifInner);\r\n document.body.appendChild(this.container);\r\n };\r\n VanillaYoNotification.prototype.show = function (config) {\r\n var _this = this;\r\n var notifContainer = document.createElement('div');\r\n notifContainer.className = \"vanilla-yo-notification \" + (config.type ? config.type : this.defaultConfig.type);\r\n this.notificationTemplate = \"\\n <div class=\\\"notification_container\\\">\\n <div class=\\\"notification_header\\\">\\n \" + (config.title ? config.title : this.defaultConfig.title) + \"\\n </div>\\n <div class=\\\"notification_body\\\">\\n \" + (config.content ? config.content : this.defaultConfig.content) + \"\\n </div>\\n <div class=\\\"notification_footer\\\">\\n \" + (config.footer ? config.footer : this.defaultConfig.footer) + \"\\n </div>\\n </div>\\n \";\r\n notifContainer.innerHTML = (this.notificationTemplate);\r\n this.notifInner.appendChild(notifContainer);\r\n setTimeout(function () {\r\n notifContainer.className = notifContainer.className + ' close';\r\n _this.destroyNotification(notifContainer);\r\n }, (config.timeout ? config.timeout : this.defaultConfig.timeout));\r\n };\r\n VanillaYoNotification.prototype.destroyNotification = function (container) {\r\n var _this = this;\r\n setTimeout(function () {\r\n _this.notifInner.removeChild(container);\r\n }, 100);\r\n };\r\n return VanillaYoNotification;\r\n}());\r\nexports.default = VanillaYoNotification;\r\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(3);\nif(typeof content === 'string') content = [[module.i, content, '']];\n// Prepare cssTransformation\nvar transform;\n\nvar options = {}\noptions.transform = transform\n// add the styles to the DOM\nvar update = __webpack_require__(5)(content, options);\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(false) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!../../node_modules/css-loader/index.js!./style.css\", function() {\n\t\t\tvar newContent = require(\"!!../../node_modules/css-loader/index.js!./style.css\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(4)(undefined);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n.notif-mainContainer {\\n z-index: 999;\\n position: fixed;\\n width: 350px;\\n max-width: 98%;\\n font-family: \\\"Segoe UI\\\",\\\"Tahoma\\\",\\\"Calibri\\\",\\\"Verdana\\\",sans-serif;\\n color: #999;\\n box-sizing: border-box;\\n}\\n\\n.notif-mainContainer.top-right{\\n top: 8px;\\n right: 8px;\\n}\\n\\n.notif-mainContainer.bottom-right{\\n bottom: 8px;\\n right: 8px;\\n}\\n\\n.notif-mainContainer.top-left{\\n top: 8px;\\n left: 8px;\\n}\\n.notif-mainContainer.bottom-left{\\n bottom: 8px;\\n left: 8px;\\n}\\n\\n.notif-inner {\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.vanilla-yo-notification{\\n width: 250px;\\n color: white;\\n position: relative;\\n cursor: pointer;\\n padding: 8px;\\n margin-bottom: 12px;\\n display: flex;\\n border-radius: 10px;\\n -webkit-animation-duration: 500ms;animation-duration: 500ms;\\n}\\n\\n.vanilla-yo-notification.error {\\n background: #e74c3c;\\n}\\n\\n.vanilla-yo-notification.warning {\\n background: #f39c12;\\n}\\n\\n.vanilla-yo-notification.success {\\n background: #2ecc71;\\n}\\n\\n\\n\\n@-webkit-keyframes fadeOut {\\n 0% {opacity: 1;}\\n 100% {opacity: 0;}\\n }\\n \\n @keyframes fadeOut {\\n 0% {opacity: 1;}\\n 100% {opacity: 0;}\\n }\\n\\n.close {\\n -webkit-animation-name: fadeOut;\\n animation-name: fadeOut;\\n}\\n\\n\\n\\n\\n.notification_header{\\n\\tfont-size: 15px;\\n font-weight: bold\\n}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(selector) {\n\t\tif (typeof memo[selector] === \"undefined\") {\n\t\t\tmemo[selector] = fn.call(this, selector);\n\t\t}\n\n\t\treturn memo[selector]\n\t};\n})(function (target) {\n\treturn document.querySelector(target)\n});\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = __webpack_require__(6);\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n\t// tags it will allow on a page\n\tif (!options.singleton) options.singleton = isOldIE();\n\n\t// By default, add <style> tags to the <head> element\n\tif (!options.insertInto) options.insertInto = \"head\";\n\n\t// By default, add <style> tags to the bottom of the target\n\tif (!options.insertAt) options.insertAt = \"bottom\";\n\n\tvar styles = listToStyles(list, options);\n\n\taddStylesToDom(styles, options);\n\n\treturn function update (newList) {\n\t\tvar mayRemove = [];\n\n\t\tfor (var i = 0; i < styles.length; i++) {\n\t\t\tvar item = styles[i];\n\t\t\tvar domStyle = stylesInDom[item.id];\n\n\t\t\tdomStyle.refs--;\n\t\t\tmayRemove.push(domStyle);\n\t\t}\n\n\t\tif(newList) {\n\t\t\tvar newStyles = listToStyles(newList, options);\n\t\t\taddStylesToDom(newStyles, options);\n\t\t}\n\n\t\tfor (var i = 0; i < mayRemove.length; i++) {\n\t\t\tvar domStyle = mayRemove[i];\n\n\t\t\tif(domStyle.refs === 0) {\n\t\t\t\tfor (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();\n\n\t\t\t\tdelete stylesInDom[domStyle.id];\n\t\t\t}\n\t\t}\n\t};\n};\n\nfunction addStylesToDom (styles, options) {\n\tfor (var i = 0; i < styles.length; i++) {\n\t\tvar item = styles[i];\n\t\tvar domStyle = stylesInDom[item.id];\n\n\t\tif(domStyle) {\n\t\t\tdomStyle.refs++;\n\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\n\t\t\t}\n\n\t\t\tfor(; j < item.parts.length; j++) {\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = [];\n\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n\t\t}\n\t}\n}\n\nfunction listToStyles (list, options) {\n\tvar styles = [];\n\tvar newStyles = {};\n\n\tfor (var i = 0; i < list.length; i++) {\n\t\tvar item = list[i];\n\t\tvar id = options.base ? item[0] + options.base : item[0];\n\t\tvar css = item[1];\n\t\tvar media = item[2];\n\t\tvar sourceMap = item[3];\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n\n\t\tif(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});\n\t\telse newStyles[id].parts.push(part);\n\t}\n\n\treturn styles;\n}\n\nfunction insertStyleElement (options, style) {\n\tvar target = getElement(options.insertInto)\n\n\tif (!target) {\n\t\tthrow new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");\n\t}\n\n\tvar lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];\n\n\tif (options.insertAt === \"top\") {\n\t\tif (!lastStyleElementInsertedAtTop) {\n\t\t\ttarget.insertBefore(style, target.firstChild);\n\t\t} else if (lastStyleElementInsertedAtTop.nextSibling) {\n\t\t\ttarget.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);\n\t\t} else {\n\t\t\ttarget.appendChild(style);\n\t\t}\n\t\tstylesInsertedAtTop.push(style);\n\t} else if (options.insertAt === \"bottom\") {\n\t\ttarget.appendChild(style);\n\t} else {\n\t\tthrow new Error(\"Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.\");\n\t}\n}\n\nfunction removeStyleElement (style) {\n\tif (style.parentNode === null) return false;\n\tstyle.parentNode.removeChild(style);\n\n\tvar idx = stylesInsertedAtTop.indexOf(style);\n\tif(idx >= 0) {\n\t\tstylesInsertedAtTop.splice(idx, 1);\n\t}\n}\n\nfunction createStyleElement (options) {\n\tvar style = document.createElement(\"style\");\n\n\toptions.attrs.type = \"text/css\";\n\n\taddAttrs(style, options.attrs);\n\tinsertStyleElement(options, style);\n\n\treturn style;\n}\n\nfunction createLinkElement (options) {\n\tvar link = document.createElement(\"link\");\n\n\toptions.attrs.type = \"text/css\";\n\toptions.attrs.rel = \"stylesheet\";\n\n\taddAttrs(link, options.attrs);\n\tinsertStyleElement(options, link);\n\n\treturn link;\n}\n\nfunction addAttrs (el, attrs) {\n\tObject.keys(attrs).forEach(function (key) {\n\t\tel.setAttribute(key, attrs[key]);\n\t});\n}\n\nfunction addStyle (obj, options) {\n\tvar style, update, remove, result;\n\n\t// If a transform function was defined, run it on the css\n\tif (options.transform && obj.css) {\n\t result = options.transform(obj.css);\n\n\t if (result) {\n\t \t// If transform returns a value, use that instead of the original css.\n\t \t// This allows running runtime transformations on the css.\n\t \tobj.css = result;\n\t } else {\n\t \t// If the transform function returns a falsy value, don't add this css.\n\t \t// This allows conditional loading of css\n\t \treturn function() {\n\t \t\t// noop\n\t \t};\n\t }\n\t}\n\n\tif (options.singleton) {\n\t\tvar styleIndex = singletonCounter++;\n\n\t\tstyle = singleton || (singleton = createStyleElement(options));\n\n\t\tupdate = applyToSingletonTag.bind(null, style, styleIndex, false);\n\t\tremove = applyToSingletonTag.bind(null, style, styleIndex, true);\n\n\t} else if (\n\t\tobj.sourceMap &&\n\t\ttypeof URL === \"function\" &&\n\t\ttypeof URL.createObjectURL === \"function\" &&\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\n\t\ttypeof Blob === \"function\" &&\n\t\ttypeof btoa === \"function\"\n\t) {\n\t\tstyle = createLinkElement(options);\n\t\tupdate = updateLink.bind(null, style, options);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\n\t\t\tif(style.href) URL.revokeObjectURL(style.href);\n\t\t};\n\t} else {\n\t\tstyle = createStyleElement(options);\n\t\tupdate = applyToTag.bind(null, style);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\t\t};\n\t}\n\n\tupdate(obj);\n\n\treturn function updateStyle (newObj) {\n\t\tif (newObj) {\n\t\t\tif (\n\t\t\t\tnewObj.css === obj.css &&\n\t\t\t\tnewObj.media === obj.media &&\n\t\t\t\tnewObj.sourceMap === obj.sourceMap\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdate(obj = newObj);\n\t\t} else {\n\t\t\tremove();\n\t\t}\n\t};\n}\n\nvar replaceText = (function () {\n\tvar textStore = [];\n\n\treturn function (index, replacement) {\n\t\ttextStore[index] = replacement;\n\n\t\treturn textStore.filter(Boolean).join('\\n');\n\t};\n})();\n\nfunction applyToSingletonTag (style, index, remove, obj) {\n\tvar css = remove ? \"\" : obj.css;\n\n\tif (style.styleSheet) {\n\t\tstyle.styleSheet.cssText = replaceText(index, css);\n\t} else {\n\t\tvar cssNode = document.createTextNode(css);\n\t\tvar childNodes = style.childNodes;\n\n\t\tif (childNodes[index]) style.removeChild(childNodes[index]);\n\n\t\tif (childNodes.length) {\n\t\t\tstyle.insertBefore(cssNode, childNodes[index]);\n\t\t} else {\n\t\t\tstyle.appendChild(cssNode);\n\t\t}\n\t}\n}\n\nfunction applyToTag (style, obj) {\n\tvar css = obj.css;\n\tvar media = obj.media;\n\n\tif(media) {\n\t\tstyle.setAttribute(\"media\", media)\n\t}\n\n\tif(style.styleSheet) {\n\t\tstyle.styleSheet.cssText = css;\n\t} else {\n\t\twhile(style.firstChild) {\n\t\t\tstyle.removeChild(style.firstChild);\n\t\t}\n\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n}\n\nfunction updateLink (link, options, obj) {\n\tvar css = obj.css;\n\tvar sourceMap = obj.sourceMap;\n\n\t/*\n\t\tIf convertToAbsoluteUrls isn't defined, but sourcemaps are enabled\n\t\tand there is no publicPath defined then lets turn convertToAbsoluteUrls\n\t\ton by default. Otherwise default to the convertToAbsoluteUrls option\n\t\tdirectly\n\t*/\n\tvar autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;\n\n\tif (options.convertToAbsoluteUrls || autoFixUrls) {\n\t\tcss = fixUrls(css);\n\t}\n\n\tif (sourceMap) {\n\t\t// http://stackoverflow.com/a/26603875\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n\t}\n\n\tvar blob = new Blob([css], { type: \"text/css\" });\n\n\tvar oldSrc = link.href;\n\n\tlink.href = URL.createObjectURL(blob);\n\n\tif(oldSrc) URL.revokeObjectURL(oldSrc);\n}\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\n\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// vanilla-yo-notification.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// 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 = 0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 9e2daa66262b0b8457aa","import VanillaYoNotification from \"./yo/vanilla.yo.notification\";\n\n\n(window as any).VanillaYoNotification = VanillaYoNotification;\n\n\n// WEBPACK FOOTER //\n// ../node_modules/source-map-loader!./index.ts","// Import stylesheets\r\nimport '../styles/style.css';\r\nimport { Config } from '../interfaces/config.interface';\r\n\r\n\r\nexport default class VanillaYoNotification {\r\n\r\n private notificationTemplate: string;\r\n private defaultConfig: Config;\r\n private notifInner: any;\r\n private container: any;\r\n public back: any;\r\n\r\n constructor(config: Config) {\r\n this.defaultConfig = {\r\n content: config.content ? config.content : '',\r\n footer: config.footer ? config.footer : '',\r\n timeout: config.timeout ? config.timeout : 3000,\r\n title: config.title ? config.title : '',\r\n type: config.type ? config.type : 'success',\r\n position: (config.position && config.position.length == 2) ? config.position : ['bottom', 'right']\r\n }\r\n this.init();\r\n }\r\n\r\n private init() {\r\n\r\n this.buildContainers();\r\n\r\n\r\n }\r\n\r\n buildContainers() {\r\n this.container = document.createElement('div');\r\n this.container.className = `notif-mainContainer ${this.defaultConfig.position.join('-')}`;\r\n\r\n this.notifInner = document.createElement('div');\r\n this.notifInner.className = \"notif-inner\";\r\n\r\n this.container.appendChild(this.notifInner);\r\n document.body.appendChild(this.container);\r\n }\r\n\r\n\r\n show(config: Config) {\r\n\r\n let notifContainer = document.createElement('div');\r\n notifContainer.className = `vanilla-yo-notification ${config.type ? config.type : this.defaultConfig.type}`;\r\n\r\n this.notificationTemplate = `\r\n <div class=\"notification_container\">\r\n <div class=\"notification_header\">\r\n ${config.title ? config.title : this.defaultConfig.title}\r\n </div>\r\n <div class=\"notification_body\">\r\n ${config.content ? config.content : this.defaultConfig.content}\r\n </div>\r\n <div class=\"notification_footer\">\r\n ${config.footer ? config.footer : this.defaultConfig.footer}\r\n </div>\r\n </div>\r\n `;\r\n\r\n\r\n notifContainer.innerHTML = (this.notificationTemplate);\r\n this.notifInner.appendChild(notifContainer);\r\n\r\n\r\n setTimeout(() => {\r\n notifContainer.className = notifContainer.className + ' close';\r\n this.destroyNotification(notifContainer);\r\n }, (config.timeout ? config.timeout : this.defaultConfig.timeout));\r\n\r\n\r\n }\r\n\r\n private destroyNotification(container: Node) {\r\n setTimeout(()=>{\r\n this.notifInner.removeChild(container);\r\n },100);\r\n \r\n }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ../node_modules/source-map-loader!./yo/vanilla.yo.notification.ts","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/css-loader/index.js!./style.css\");\nif(typeof content === 'string') content = [[module.id, content, '']];\n// Prepare cssTransformation\nvar transform;\n\nvar options = {}\noptions.transform = transform\n// add the styles to the DOM\nvar update = require(\"!../../node_modules/style-loader/lib/addStyles.js\")(content, options);\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(module.hot) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!../../node_modules/css-loader/index.js!./style.css\", function() {\n\t\t\tvar newContent = require(\"!!../../node_modules/css-loader/index.js!./style.css\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./styles/style.css\n// module id = 2\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \"\\n\\n.notif-mainContainer {\\n z-index: 999;\\n position: fixed;\\n width: 350px;\\n max-width: 98%;\\n font-family: \\\"Segoe UI\\\",\\\"Tahoma\\\",\\\"Calibri\\\",\\\"Verdana\\\",sans-serif;\\n color: #999;\\n box-sizing: border-box;\\n}\\n\\n.notif-mainContainer.top-right{\\n top: 8px;\\n right: 8px;\\n}\\n\\n.notif-mainContainer.bottom-right{\\n bottom: 8px;\\n right: 8px;\\n}\\n\\n.notif-mainContainer.top-left{\\n top: 8px;\\n left: 8px;\\n}\\n.notif-mainContainer.bottom-left{\\n bottom: 8px;\\n left: 8px;\\n}\\n\\n.notif-inner {\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.vanilla-yo-notification{\\n width: 250px;\\n color: white;\\n position: relative;\\n cursor: pointer;\\n padding: 8px;\\n margin-bottom: 12px;\\n display: flex;\\n border-radius: 10px;\\n -webkit-animation-duration: 500ms;animation-duration: 500ms;\\n}\\n\\n.vanilla-yo-notification.error {\\n background: #e74c3c;\\n}\\n\\n.vanilla-yo-notification.warning {\\n background: #f39c12;\\n}\\n\\n.vanilla-yo-notification.success {\\n background: #2ecc71;\\n}\\n\\n\\n\\n@-webkit-keyframes fadeOut {\\n 0% {opacity: 1;}\\n 100% {opacity: 0;}\\n }\\n \\n @keyframes fadeOut {\\n 0% {opacity: 1;}\\n 100% {opacity: 0;}\\n }\\n\\n.close {\\n -webkit-animation-name: fadeOut;\\n animation-name: fadeOut;\\n}\\n\\n\\n\\n\\n.notification_header{\\n\\tfont-size: 15px;\\n font-weight: bold\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/css-loader!./styles/style.css\n// module id = 3\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/css-loader/lib/css-base.js\n// module id = 4\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(selector) {\n\t\tif (typeof memo[selector] === \"undefined\") {\n\t\t\tmemo[selector] = fn.call(this, selector);\n\t\t}\n\n\t\treturn memo[selector]\n\t};\n})(function (target) {\n\treturn document.querySelector(target)\n});\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = require(\"./urls\");\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n\t// tags it will allow on a page\n\tif (!options.singleton) options.singleton = isOldIE();\n\n\t// By default, add <style> tags to the <head> element\n\tif (!options.insertInto) options.insertInto = \"head\";\n\n\t// By default, add <style> tags to the bottom of the target\n\tif (!options.insertAt) options.insertAt = \"bottom\";\n\n\tvar styles = listToStyles(list, options);\n\n\taddStylesToDom(styles, options);\n\n\treturn function update (newList) {\n\t\tvar mayRemove = [];\n\n\t\tfor (var i = 0; i < styles.length; i++) {\n\t\t\tvar item = styles[i];\n\t\t\tvar domStyle = stylesInDom[item.id];\n\n\t\t\tdomStyle.refs--;\n\t\t\tmayRemove.push(domStyle);\n\t\t}\n\n\t\tif(newList) {\n\t\t\tvar newStyles = listToStyles(newList, options);\n\t\t\taddStylesToDom(newStyles, options);\n\t\t}\n\n\t\tfor (var i = 0; i < mayRemove.length; i++) {\n\t\t\tvar domStyle = mayRemove[i];\n\n\t\t\tif(domStyle.refs === 0) {\n\t\t\t\tfor (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();\n\n\t\t\t\tdelete stylesInDom[domStyle.id];\n\t\t\t}\n\t\t}\n\t};\n};\n\nfunction addStylesToDom (styles, options) {\n\tfor (var i = 0; i < styles.length; i++) {\n\t\tvar item = styles[i];\n\t\tvar domStyle = stylesInDom[item.id];\n\n\t\tif(domStyle) {\n\t\t\tdomStyle.refs++;\n\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\n\t\t\t}\n\n\t\t\tfor(; j < item.parts.length; j++) {\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = [];\n\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n\t\t}\n\t}\n}\n\nfunction listToStyles (list, options) {\n\tvar styles = [];\n\tvar newStyles = {};\n\n\tfor (var i = 0; i < list.length; i++) {\n\t\tvar item = list[i];\n\t\tvar id = options.base ? item[0] + options.base : item[0];\n\t\tvar css = item[1];\n\t\tvar media = item[2];\n\t\tvar sourceMap = item[3];\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n\n\t\tif(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});\n\t\telse newStyles[id].parts.push(part);\n\t}\n\n\treturn styles;\n}\n\nfunction insertStyleElement (options, style) {\n\tvar target = getElement(options.insertInto)\n\n\tif (!target) {\n\t\tthrow new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");\n\t}\n\n\tvar lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];\n\n\tif (options.insertAt === \"top\") {\n\t\tif (!lastStyleElementInsertedAtTop) {\n\t\t\ttarget.insertBefore(style, target.firstChild);\n\t\t} else if (lastStyleElementInsertedAtTop.nextSibling) {\n\t\t\ttarget.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);\n\t\t} else {\n\t\t\ttarget.appendChild(style);\n\t\t}\n\t\tstylesInsertedAtTop.push(style);\n\t} else if (options.insertAt === \"bottom\") {\n\t\ttarget.appendChild(style);\n\t} else {\n\t\tthrow new Error(\"Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.\");\n\t}\n}\n\nfunction removeStyleElement (style) {\n\tif (style.parentNode === null) return false;\n\tstyle.parentNode.removeChild(style);\n\n\tvar idx = stylesInsertedAtTop.indexOf(style);\n\tif(idx >= 0) {\n\t\tstylesInsertedAtTop.splice(idx, 1);\n\t}\n}\n\nfunction createStyleElement (options) {\n\tvar style = document.createElement(\"style\");\n\n\toptions.attrs.type = \"text/css\";\n\n\taddAttrs(style, options.attrs);\n\tinsertStyleElement(options, style);\n\n\treturn style;\n}\n\nfunction createLinkElement (options) {\n\tvar link = document.createElement(\"link\");\n\n\toptions.attrs.type = \"text/css\";\n\toptions.attrs.rel = \"stylesheet\";\n\n\taddAttrs(link, options.attrs);\n\tinsertStyleElement(options, link);\n\n\treturn link;\n}\n\nfunction addAttrs (el, attrs) {\n\tObject.keys(attrs).forEach(function (key) {\n\t\tel.setAttribute(key, attrs[key]);\n\t});\n}\n\nfunction addStyle (obj, options) {\n\tvar style, update, remove, result;\n\n\t// If a transform function was defined, run it on the css\n\tif (options.transform && obj.css) {\n\t result = options.transform(obj.css);\n\n\t if (result) {\n\t \t// If transform returns a value, use that instead of the original css.\n\t \t// This allows running runtime transformations on the css.\n\t \tobj.css = result;\n\t } else {\n\t \t// If the transform function returns a falsy value, don't add this css.\n\t \t// This allows conditional loading of css\n\t \treturn function() {\n\t \t\t// noop\n\t \t};\n\t }\n\t}\n\n\tif (options.singleton) {\n\t\tvar styleIndex = singletonCounter++;\n\n\t\tstyle = singleton || (singleton = createStyleElement(options));\n\n\t\tupdate = applyToSingletonTag.bind(null, style, styleIndex, false);\n\t\tremove = applyToSingletonTag.bind(null, style, styleIndex, true);\n\n\t} else if (\n\t\tobj.sourceMap &&\n\t\ttypeof URL === \"function\" &&\n\t\ttypeof URL.createObjectURL === \"function\" &&\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\n\t\ttypeof Blob === \"function\" &&\n\t\ttypeof btoa === \"function\"\n\t) {\n\t\tstyle = createLinkElement(options);\n\t\tupdate = updateLink.bind(null, style, options);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\n\t\t\tif(style.href) URL.revokeObjectURL(style.href);\n\t\t};\n\t} else {\n\t\tstyle = createStyleElement(options);\n\t\tupdate = applyToTag.bind(null, style);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\t\t};\n\t}\n\n\tupdate(obj);\n\n\treturn function updateStyle (newObj) {\n\t\tif (newObj) {\n\t\t\tif (\n\t\t\t\tnewObj.css === obj.css &&\n\t\t\t\tnewObj.media === obj.media &&\n\t\t\t\tnewObj.sourceMap === obj.sourceMap\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdate(obj = newObj);\n\t\t} else {\n\t\t\tremove();\n\t\t}\n\t};\n}\n\nvar replaceText = (function () {\n\tvar textStore = [];\n\n\treturn function (index, replacement) {\n\t\ttextStore[index] = replacement;\n\n\t\treturn textStore.filter(Boolean).join('\\n');\n\t};\n})();\n\nfunction applyToSingletonTag (style, index, remove, obj) {\n\tvar css = remove ? \"\" : obj.css;\n\n\tif (style.styleSheet) {\n\t\tstyle.styleSheet.cssText = replaceText(index, css);\n\t} else {\n\t\tvar cssNode = document.createTextNode(css);\n\t\tvar childNodes = style.childNodes;\n\n\t\tif (childNodes[index]) style.removeChild(childNodes[index]);\n\n\t\tif (childNodes.length) {\n\t\t\tstyle.insertBefore(cssNode, childNodes[index]);\n\t\t} else {\n\t\t\tstyle.appendChild(cssNode);\n\t\t}\n\t}\n}\n\nfunction applyToTag (style, obj) {\n\tvar css = obj.css;\n\tvar media = obj.media;\n\n\tif(media) {\n\t\tstyle.setAttribute(\"media\", media)\n\t}\n\n\tif(style.styleSheet) {\n\t\tstyle.styleSheet.cssText = css;\n\t} else {\n\t\twhile(style.firstChild) {\n\t\t\tstyle.removeChild(style.firstChild);\n\t\t}\n\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n}\n\nfunction updateLink (link, options, obj) {\n\tvar css = obj.css;\n\tvar sourceMap = obj.sourceMap;\n\n\t/*\n\t\tIf convertToAbsoluteUrls isn't defined, but sourcemaps are enabled\n\t\tand there is no publicPath defined then lets turn convertToAbsoluteUrls\n\t\ton by default. Otherwise default to the convertToAbsoluteUrls option\n\t\tdirectly\n\t*/\n\tvar autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;\n\n\tif (options.convertToAbsoluteUrls || autoFixUrls) {\n\t\tcss = fixUrls(css);\n\t}\n\n\tif (sourceMap) {\n\t\t// http://stackoverflow.com/a/26603875\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n\t}\n\n\tvar blob = new Blob([css], { type: \"text/css\" });\n\n\tvar oldSrc = link.href;\n\n\tlink.href = URL.createObjectURL(blob);\n\n\tif(oldSrc) URL.revokeObjectURL(oldSrc);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/style-loader/lib/addStyles.js\n// module id = 5\n// module chunks = 0","\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/style-loader/lib/urls.js\n// module id = 6\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["file:///vanilla-yo-notification.js","file:///webpack/bootstrap 0a6d13dad964777753d3","file:///C:\\Users\\InApp\\Desktop\\custom-notification\\src\\index.ts","file:///C:\\Users\\InApp\\Desktop\\custom-notification\\src\\yo\\vanilla.yo.notification.ts","webpack:///./styles/style.css?42e5","file:///C:\\Users\\InApp\\Desktop\\custom-notification\\src\\styles\\style.css","file:///C:\\Users\\InApp\\Desktop\\custom-notification\\node_modules\\css-loader\\lib\\css-base.js","file:///C:\\Users\\InApp\\Desktop\\custom-notification\\node_modules\\style-loader\\lib\\addStyles.js","file:///C:\\Users\\InApp\\Desktop\\custom-notification\\node_modules\\style-loader\\lib\\urls.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","value","vanilla_yo_notification_1","window","VYN","default","config","this","defaultConfig","content","footer","timeout","title","type","position","length","init","buildContainers","container","document","createElement","className","join","notifInner","appendChild","body","show","_this","notifContainer","notificationTemplate","innerHTML","setTimeout","destroyNotification","removeChild","options","transform","locals","undefined","push","cssWithMappingToString","item","useSourceMap","cssMapping","btoa","sourceMapping","toComment","concat","sources","map","source","sourceRoot","sourceMap","unescape","encodeURIComponent","JSON","stringify","list","toString","mediaQuery","alreadyImportedModules","id","addStylesToDom","styles","domStyle","stylesInDom","refs","j","parts","addStyle","listToStyles","newStyles","base","css","media","part","insertStyleElement","style","target","getElement","insertInto","Error","lastStyleElementInsertedAtTop","stylesInsertedAtTop","insertAt","nextSibling","insertBefore","firstChild","removeStyleElement","parentNode","idx","indexOf","splice","createStyleElement","attrs","addAttrs","createLinkElement","link","rel","el","keys","forEach","key","setAttribute","obj","update","remove","result","singleton","styleIndex","singletonCounter","applyToSingletonTag","bind","URL","createObjectURL","revokeObjectURL","Blob","updateLink","href","applyToTag","newObj","index","styleSheet","cssText","replaceText","cssNode","createTextNode","childNodes","autoFixUrls","convertToAbsoluteUrls","fixUrls","blob","oldSrc","isOldIE","fn","memo","apply","arguments","all","atob","selector","querySelector","DEBUG","newList","mayRemove","textStore","replacement","filter","Boolean","location","baseUrl","protocol","host","currentDir","pathname","replace","fullMatch","origUrl","unquotedOrigUrl","trim","$1","test","newUrl"],"mappings":"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","file":"vanilla-yo-notification.js","sourcesContent":["/******/ (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// 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 = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar vanilla_yo_notification_1 = __webpack_require__(1);\r\nwindow.VYN = vanilla_yo_notification_1.default;\r\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n// Import stylesheets\r\n__webpack_require__(2);\r\nvar VYN = /** @class */ (function () {\r\n function VYN(config) {\r\n this.defaultConfig = {\r\n content: config.content ? config.content : '',\r\n footer: config.footer ? config.footer : '',\r\n timeout: config.timeout ? config.timeout : 3000,\r\n title: config.title ? config.title : '',\r\n type: config.type ? config.type : 'success',\r\n position: (config.position && config.position.length == 2) ? config.position : ['bottom', 'right']\r\n };\r\n this.init();\r\n }\r\n VYN.prototype.init = function () {\r\n this.buildContainers();\r\n };\r\n VYN.prototype.buildContainers = function () {\r\n this.container = document.createElement('div');\r\n this.container.className = \"notif-mainContainer \" + this.defaultConfig.position.join('-');\r\n this.notifInner = document.createElement('div');\r\n this.notifInner.className = \"notif-inner\";\r\n this.container.appendChild(this.notifInner);\r\n document.body.appendChild(this.container);\r\n };\r\n VYN.prototype.show = function (config) {\r\n var _this = this;\r\n var notifContainer = document.createElement('div');\r\n notifContainer.className = \"vanilla-yo-notification \" + (config.type ? config.type : this.defaultConfig.type);\r\n this.notificationTemplate = \"\\n <div class=\\\"notification_container\\\">\\n <div class=\\\"notification_header\\\">\\n \" + (config.title ? config.title : this.defaultConfig.title) + \"\\n </div>\\n <div class=\\\"notification_body\\\">\\n \" + (config.content ? config.content : this.defaultConfig.content) + \"\\n </div>\\n <div class=\\\"notification_footer\\\">\\n \" + (config.footer ? config.footer : this.defaultConfig.footer) + \"\\n </div>\\n </div>\\n \";\r\n notifContainer.innerHTML = (this.notificationTemplate);\r\n this.notifInner.appendChild(notifContainer);\r\n setTimeout(function () {\r\n notifContainer.className = notifContainer.className + ' close';\r\n _this.destroyNotification(notifContainer);\r\n }, (config.timeout ? config.timeout : this.defaultConfig.timeout));\r\n };\r\n VYN.prototype.destroyNotification = function (container) {\r\n var _this = this;\r\n setTimeout(function () {\r\n _this.notifInner.removeChild(container);\r\n }, 100);\r\n };\r\n return VYN;\r\n}());\r\nexports.default = VYN;\r\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(3);\nif(typeof content === 'string') content = [[module.i, content, '']];\n// Prepare cssTransformation\nvar transform;\n\nvar options = {}\noptions.transform = transform\n// add the styles to the DOM\nvar update = __webpack_require__(5)(content, options);\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(false) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!../../node_modules/css-loader/index.js!./style.css\", function() {\n\t\t\tvar newContent = require(\"!!../../node_modules/css-loader/index.js!./style.css\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(4)(undefined);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n.notif-mainContainer {\\n z-index: 999;\\n position: fixed;\\n width: 350px;\\n max-width: 98%;\\n font-family: \\\"Segoe UI\\\",\\\"Tahoma\\\",\\\"Calibri\\\",\\\"Verdana\\\",sans-serif;\\n color: #999;\\n box-sizing: border-box;\\n}\\n\\n.notif-mainContainer.top-right{\\n top: 8px;\\n right: 8px;\\n}\\n\\n.notif-mainContainer.bottom-right{\\n bottom: 8px;\\n right: 8px;\\n}\\n\\n.notif-mainContainer.top-left{\\n top: 8px;\\n left: 8px;\\n}\\n.notif-mainContainer.bottom-left{\\n bottom: 8px;\\n left: 8px;\\n}\\n\\n.notif-inner {\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.vanilla-yo-notification{\\n width: 250px;\\n color: white;\\n position: relative;\\n cursor: pointer;\\n padding: 8px;\\n margin-bottom: 12px;\\n display: flex;\\n border-radius: 10px;\\n -webkit-animation-duration: 500ms;animation-duration: 500ms;\\n}\\n\\n.vanilla-yo-notification.error {\\n background: #e74c3c;\\n}\\n\\n.vanilla-yo-notification.warning {\\n background: #f39c12;\\n}\\n\\n.vanilla-yo-notification.success {\\n background: #2ecc71;\\n}\\n\\n\\n\\n@-webkit-keyframes fadeOut {\\n 0% {opacity: 1;}\\n 100% {opacity: 0;}\\n }\\n \\n @keyframes fadeOut {\\n 0% {opacity: 1;}\\n 100% {opacity: 0;}\\n }\\n\\n.close {\\n -webkit-animation-name: fadeOut;\\n animation-name: fadeOut;\\n}\\n\\n\\n\\n\\n.notification_header{\\n\\tfont-size: 15px;\\n font-weight: bold\\n}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(selector) {\n\t\tif (typeof memo[selector] === \"undefined\") {\n\t\t\tmemo[selector] = fn.call(this, selector);\n\t\t}\n\n\t\treturn memo[selector]\n\t};\n})(function (target) {\n\treturn document.querySelector(target)\n});\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = __webpack_require__(6);\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n\t// tags it will allow on a page\n\tif (!options.singleton) options.singleton = isOldIE();\n\n\t// By default, add <style> tags to the <head> element\n\tif (!options.insertInto) options.insertInto = \"head\";\n\n\t// By default, add <style> tags to the bottom of the target\n\tif (!options.insertAt) options.insertAt = \"bottom\";\n\n\tvar styles = listToStyles(list, options);\n\n\taddStylesToDom(styles, options);\n\n\treturn function update (newList) {\n\t\tvar mayRemove = [];\n\n\t\tfor (var i = 0; i < styles.length; i++) {\n\t\t\tvar item = styles[i];\n\t\t\tvar domStyle = stylesInDom[item.id];\n\n\t\t\tdomStyle.refs--;\n\t\t\tmayRemove.push(domStyle);\n\t\t}\n\n\t\tif(newList) {\n\t\t\tvar newStyles = listToStyles(newList, options);\n\t\t\taddStylesToDom(newStyles, options);\n\t\t}\n\n\t\tfor (var i = 0; i < mayRemove.length; i++) {\n\t\t\tvar domStyle = mayRemove[i];\n\n\t\t\tif(domStyle.refs === 0) {\n\t\t\t\tfor (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();\n\n\t\t\t\tdelete stylesInDom[domStyle.id];\n\t\t\t}\n\t\t}\n\t};\n};\n\nfunction addStylesToDom (styles, options) {\n\tfor (var i = 0; i < styles.length; i++) {\n\t\tvar item = styles[i];\n\t\tvar domStyle = stylesInDom[item.id];\n\n\t\tif(domStyle) {\n\t\t\tdomStyle.refs++;\n\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\n\t\t\t}\n\n\t\t\tfor(; j < item.parts.length; j++) {\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = [];\n\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n\t\t}\n\t}\n}\n\nfunction listToStyles (list, options) {\n\tvar styles = [];\n\tvar newStyles = {};\n\n\tfor (var i = 0; i < list.length; i++) {\n\t\tvar item = list[i];\n\t\tvar id = options.base ? item[0] + options.base : item[0];\n\t\tvar css = item[1];\n\t\tvar media = item[2];\n\t\tvar sourceMap = item[3];\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n\n\t\tif(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});\n\t\telse newStyles[id].parts.push(part);\n\t}\n\n\treturn styles;\n}\n\nfunction insertStyleElement (options, style) {\n\tvar target = getElement(options.insertInto)\n\n\tif (!target) {\n\t\tthrow new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");\n\t}\n\n\tvar lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];\n\n\tif (options.insertAt === \"top\") {\n\t\tif (!lastStyleElementInsertedAtTop) {\n\t\t\ttarget.insertBefore(style, target.firstChild);\n\t\t} else if (lastStyleElementInsertedAtTop.nextSibling) {\n\t\t\ttarget.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);\n\t\t} else {\n\t\t\ttarget.appendChild(style);\n\t\t}\n\t\tstylesInsertedAtTop.push(style);\n\t} else if (options.insertAt === \"bottom\") {\n\t\ttarget.appendChild(style);\n\t} else {\n\t\tthrow new Error(\"Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.\");\n\t}\n}\n\nfunction removeStyleElement (style) {\n\tif (style.parentNode === null) return false;\n\tstyle.parentNode.removeChild(style);\n\n\tvar idx = stylesInsertedAtTop.indexOf(style);\n\tif(idx >= 0) {\n\t\tstylesInsertedAtTop.splice(idx, 1);\n\t}\n}\n\nfunction createStyleElement (options) {\n\tvar style = document.createElement(\"style\");\n\n\toptions.attrs.type = \"text/css\";\n\n\taddAttrs(style, options.attrs);\n\tinsertStyleElement(options, style);\n\n\treturn style;\n}\n\nfunction createLinkElement (options) {\n\tvar link = document.createElement(\"link\");\n\n\toptions.attrs.type = \"text/css\";\n\toptions.attrs.rel = \"stylesheet\";\n\n\taddAttrs(link, options.attrs);\n\tinsertStyleElement(options, link);\n\n\treturn link;\n}\n\nfunction addAttrs (el, attrs) {\n\tObject.keys(attrs).forEach(function (key) {\n\t\tel.setAttribute(key, attrs[key]);\n\t});\n}\n\nfunction addStyle (obj, options) {\n\tvar style, update, remove, result;\n\n\t// If a transform function was defined, run it on the css\n\tif (options.transform && obj.css) {\n\t result = options.transform(obj.css);\n\n\t if (result) {\n\t \t// If transform returns a value, use that instead of the original css.\n\t \t// This allows running runtime transformations on the css.\n\t \tobj.css = result;\n\t } else {\n\t \t// If the transform function returns a falsy value, don't add this css.\n\t \t// This allows conditional loading of css\n\t \treturn function() {\n\t \t\t// noop\n\t \t};\n\t }\n\t}\n\n\tif (options.singleton) {\n\t\tvar styleIndex = singletonCounter++;\n\n\t\tstyle = singleton || (singleton = createStyleElement(options));\n\n\t\tupdate = applyToSingletonTag.bind(null, style, styleIndex, false);\n\t\tremove = applyToSingletonTag.bind(null, style, styleIndex, true);\n\n\t} else if (\n\t\tobj.sourceMap &&\n\t\ttypeof URL === \"function\" &&\n\t\ttypeof URL.createObjectURL === \"function\" &&\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\n\t\ttypeof Blob === \"function\" &&\n\t\ttypeof btoa === \"function\"\n\t) {\n\t\tstyle = createLinkElement(options);\n\t\tupdate = updateLink.bind(null, style, options);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\n\t\t\tif(style.href) URL.revokeObjectURL(style.href);\n\t\t};\n\t} else {\n\t\tstyle = createStyleElement(options);\n\t\tupdate = applyToTag.bind(null, style);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\t\t};\n\t}\n\n\tupdate(obj);\n\n\treturn function updateStyle (newObj) {\n\t\tif (newObj) {\n\t\t\tif (\n\t\t\t\tnewObj.css === obj.css &&\n\t\t\t\tnewObj.media === obj.media &&\n\t\t\t\tnewObj.sourceMap === obj.sourceMap\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdate(obj = newObj);\n\t\t} else {\n\t\t\tremove();\n\t\t}\n\t};\n}\n\nvar replaceText = (function () {\n\tvar textStore = [];\n\n\treturn function (index, replacement) {\n\t\ttextStore[index] = replacement;\n\n\t\treturn textStore.filter(Boolean).join('\\n');\n\t};\n})();\n\nfunction applyToSingletonTag (style, index, remove, obj) {\n\tvar css = remove ? \"\" : obj.css;\n\n\tif (style.styleSheet) {\n\t\tstyle.styleSheet.cssText = replaceText(index, css);\n\t} else {\n\t\tvar cssNode = document.createTextNode(css);\n\t\tvar childNodes = style.childNodes;\n\n\t\tif (childNodes[index]) style.removeChild(childNodes[index]);\n\n\t\tif (childNodes.length) {\n\t\t\tstyle.insertBefore(cssNode, childNodes[index]);\n\t\t} else {\n\t\t\tstyle.appendChild(cssNode);\n\t\t}\n\t}\n}\n\nfunction applyToTag (style, obj) {\n\tvar css = obj.css;\n\tvar media = obj.media;\n\n\tif(media) {\n\t\tstyle.setAttribute(\"media\", media)\n\t}\n\n\tif(style.styleSheet) {\n\t\tstyle.styleSheet.cssText = css;\n\t} else {\n\t\twhile(style.firstChild) {\n\t\t\tstyle.removeChild(style.firstChild);\n\t\t}\n\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n}\n\nfunction updateLink (link, options, obj) {\n\tvar css = obj.css;\n\tvar sourceMap = obj.sourceMap;\n\n\t/*\n\t\tIf convertToAbsoluteUrls isn't defined, but sourcemaps are enabled\n\t\tand there is no publicPath defined then lets turn convertToAbsoluteUrls\n\t\ton by default. Otherwise default to the convertToAbsoluteUrls option\n\t\tdirectly\n\t*/\n\tvar autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;\n\n\tif (options.convertToAbsoluteUrls || autoFixUrls) {\n\t\tcss = fixUrls(css);\n\t}\n\n\tif (sourceMap) {\n\t\t// http://stackoverflow.com/a/26603875\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n\t}\n\n\tvar blob = new Blob([css], { type: \"text/css\" });\n\n\tvar oldSrc = link.href;\n\n\tlink.href = URL.createObjectURL(blob);\n\n\tif(oldSrc) URL.revokeObjectURL(oldSrc);\n}\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\n\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// vanilla-yo-notification.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// 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 = 0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 0a6d13dad964777753d3","import VYN from \"./yo/vanilla.yo.notification\";\n\n\n(window as any).VYN = VYN;\n\n\n// WEBPACK FOOTER //\n// ../node_modules/source-map-loader!./index.ts","// Import stylesheets\r\nimport '../styles/style.css';\r\nimport { Config } from '../interfaces/config.interface';\r\n\r\n\r\nexport default class VYN {\r\n\r\n private notificationTemplate: string;\r\n private defaultConfig: Config;\r\n private notifInner: any;\r\n private container: any;\r\n\r\n constructor(config: Config) {\r\n this.defaultConfig = {\r\n content: config.content ? config.content : '',\r\n footer: config.footer ? config.footer : '',\r\n timeout: config.timeout ? config.timeout : 3000,\r\n title: config.title ? config.title : '',\r\n type: config.type ? config.type : 'success',\r\n position: (config.position && config.position.length == 2) ? config.position : ['bottom', 'right']\r\n }\r\n this.init();\r\n }\r\n\r\n private init() {\r\n\r\n this.buildContainers();\r\n\r\n\r\n }\r\n\r\n buildContainers() {\r\n this.container = document.createElement('div');\r\n this.container.className = `notif-mainContainer ${this.defaultConfig.position.join('-')}`;\r\n\r\n this.notifInner = document.createElement('div');\r\n this.notifInner.className = \"notif-inner\";\r\n\r\n this.container.appendChild(this.notifInner);\r\n document.body.appendChild(this.container);\r\n }\r\n\r\n\r\n show(config: Config) {\r\n\r\n let notifContainer = document.createElement('div');\r\n notifContainer.className = `vanilla-yo-notification ${config.type ? config.type : this.defaultConfig.type}`;\r\n\r\n this.notificationTemplate = `\r\n <div class=\"notification_container\">\r\n <div class=\"notification_header\">\r\n ${config.title ? config.title : this.defaultConfig.title}\r\n </div>\r\n <div class=\"notification_body\">\r\n ${config.content ? config.content : this.defaultConfig.content}\r\n </div>\r\n <div class=\"notification_footer\">\r\n ${config.footer ? config.footer : this.defaultConfig.footer}\r\n </div>\r\n </div>\r\n `;\r\n\r\n\r\n notifContainer.innerHTML = (this.notificationTemplate);\r\n this.notifInner.appendChild(notifContainer);\r\n\r\n\r\n setTimeout(() => {\r\n notifContainer.className = notifContainer.className + ' close';\r\n this.destroyNotification(notifContainer);\r\n }, (config.timeout ? config.timeout : this.defaultConfig.timeout));\r\n\r\n\r\n }\r\n\r\n private destroyNotification(container: Node) {\r\n setTimeout(()=>{\r\n this.notifInner.removeChild(container);\r\n },100);\r\n \r\n }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ../node_modules/source-map-loader!./yo/vanilla.yo.notification.ts","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/css-loader/index.js!./style.css\");\nif(typeof content === 'string') content = [[module.id, content, '']];\n// Prepare cssTransformation\nvar transform;\n\nvar options = {}\noptions.transform = transform\n// add the styles to the DOM\nvar update = require(\"!../../node_modules/style-loader/lib/addStyles.js\")(content, options);\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(module.hot) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!../../node_modules/css-loader/index.js!./style.css\", function() {\n\t\t\tvar newContent = require(\"!!../../node_modules/css-loader/index.js!./style.css\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./styles/style.css\n// module id = 2\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \"\\n\\n.notif-mainContainer {\\n z-index: 999;\\n position: fixed;\\n width: 350px;\\n max-width: 98%;\\n font-family: \\\"Segoe UI\\\",\\\"Tahoma\\\",\\\"Calibri\\\",\\\"Verdana\\\",sans-serif;\\n color: #999;\\n box-sizing: border-box;\\n}\\n\\n.notif-mainContainer.top-right{\\n top: 8px;\\n right: 8px;\\n}\\n\\n.notif-mainContainer.bottom-right{\\n bottom: 8px;\\n right: 8px;\\n}\\n\\n.notif-mainContainer.top-left{\\n top: 8px;\\n left: 8px;\\n}\\n.notif-mainContainer.bottom-left{\\n bottom: 8px;\\n left: 8px;\\n}\\n\\n.notif-inner {\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.vanilla-yo-notification{\\n width: 250px;\\n color: white;\\n position: relative;\\n cursor: pointer;\\n padding: 8px;\\n margin-bottom: 12px;\\n display: flex;\\n border-radius: 10px;\\n -webkit-animation-duration: 500ms;animation-duration: 500ms;\\n}\\n\\n.vanilla-yo-notification.error {\\n background: #e74c3c;\\n}\\n\\n.vanilla-yo-notification.warning {\\n background: #f39c12;\\n}\\n\\n.vanilla-yo-notification.success {\\n background: #2ecc71;\\n}\\n\\n\\n\\n@-webkit-keyframes fadeOut {\\n 0% {opacity: 1;}\\n 100% {opacity: 0;}\\n }\\n \\n @keyframes fadeOut {\\n 0% {opacity: 1;}\\n 100% {opacity: 0;}\\n }\\n\\n.close {\\n -webkit-animation-name: fadeOut;\\n animation-name: fadeOut;\\n}\\n\\n\\n\\n\\n.notification_header{\\n\\tfont-size: 15px;\\n font-weight: bold\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/css-loader!./styles/style.css\n// module id = 3\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/css-loader/lib/css-base.js\n// module id = 4\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(selector) {\n\t\tif (typeof memo[selector] === \"undefined\") {\n\t\t\tmemo[selector] = fn.call(this, selector);\n\t\t}\n\n\t\treturn memo[selector]\n\t};\n})(function (target) {\n\treturn document.querySelector(target)\n});\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = require(\"./urls\");\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n\t// tags it will allow on a page\n\tif (!options.singleton) options.singleton = isOldIE();\n\n\t// By default, add <style> tags to the <head> element\n\tif (!options.insertInto) options.insertInto = \"head\";\n\n\t// By default, add <style> tags to the bottom of the target\n\tif (!options.insertAt) options.insertAt = \"bottom\";\n\n\tvar styles = listToStyles(list, options);\n\n\taddStylesToDom(styles, options);\n\n\treturn function update (newList) {\n\t\tvar mayRemove = [];\n\n\t\tfor (var i = 0; i < styles.length; i++) {\n\t\t\tvar item = styles[i];\n\t\t\tvar domStyle = stylesInDom[item.id];\n\n\t\t\tdomStyle.refs--;\n\t\t\tmayRemove.push(domStyle);\n\t\t}\n\n\t\tif(newList) {\n\t\t\tvar newStyles = listToStyles(newList, options);\n\t\t\taddStylesToDom(newStyles, options);\n\t\t}\n\n\t\tfor (var i = 0; i < mayRemove.length; i++) {\n\t\t\tvar domStyle = mayRemove[i];\n\n\t\t\tif(domStyle.refs === 0) {\n\t\t\t\tfor (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();\n\n\t\t\t\tdelete stylesInDom[domStyle.id];\n\t\t\t}\n\t\t}\n\t};\n};\n\nfunction addStylesToDom (styles, options) {\n\tfor (var i = 0; i < styles.length; i++) {\n\t\tvar item = styles[i];\n\t\tvar domStyle = stylesInDom[item.id];\n\n\t\tif(domStyle) {\n\t\t\tdomStyle.refs++;\n\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\n\t\t\t}\n\n\t\t\tfor(; j < item.parts.length; j++) {\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = [];\n\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n\t\t}\n\t}\n}\n\nfunction listToStyles (list, options) {\n\tvar styles = [];\n\tvar newStyles = {};\n\n\tfor (var i = 0; i < list.length; i++) {\n\t\tvar item = list[i];\n\t\tvar id = options.base ? item[0] + options.base : item[0];\n\t\tvar css = item[1];\n\t\tvar media = item[2];\n\t\tvar sourceMap = item[3];\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n\n\t\tif(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});\n\t\telse newStyles[id].parts.push(part);\n\t}\n\n\treturn styles;\n}\n\nfunction insertStyleElement (options, style) {\n\tvar target = getElement(options.insertInto)\n\n\tif (!target) {\n\t\tthrow new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");\n\t}\n\n\tvar lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];\n\n\tif (options.insertAt === \"top\") {\n\t\tif (!lastStyleElementInsertedAtTop) {\n\t\t\ttarget.insertBefore(style, target.firstChild);\n\t\t} else if (lastStyleElementInsertedAtTop.nextSibling) {\n\t\t\ttarget.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);\n\t\t} else {\n\t\t\ttarget.appendChild(style);\n\t\t}\n\t\tstylesInsertedAtTop.push(style);\n\t} else if (options.insertAt === \"bottom\") {\n\t\ttarget.appendChild(style);\n\t} else {\n\t\tthrow new Error(\"Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.\");\n\t}\n}\n\nfunction removeStyleElement (style) {\n\tif (style.parentNode === null) return false;\n\tstyle.parentNode.removeChild(style);\n\n\tvar idx = stylesInsertedAtTop.indexOf(style);\n\tif(idx >= 0) {\n\t\tstylesInsertedAtTop.splice(idx, 1);\n\t}\n}\n\nfunction createStyleElement (options) {\n\tvar style = document.createElement(\"style\");\n\n\toptions.attrs.type = \"text/css\";\n\n\taddAttrs(style, options.attrs);\n\tinsertStyleElement(options, style);\n\n\treturn style;\n}\n\nfunction createLinkElement (options) {\n\tvar link = document.createElement(\"link\");\n\n\toptions.attrs.type = \"text/css\";\n\toptions.attrs.rel = \"stylesheet\";\n\n\taddAttrs(link, options.attrs);\n\tinsertStyleElement(options, link);\n\n\treturn link;\n}\n\nfunction addAttrs (el, attrs) {\n\tObject.keys(attrs).forEach(function (key) {\n\t\tel.setAttribute(key, attrs[key]);\n\t});\n}\n\nfunction addStyle (obj, options) {\n\tvar style, update, remove, result;\n\n\t// If a transform function was defined, run it on the css\n\tif (options.transform && obj.css) {\n\t result = options.transform(obj.css);\n\n\t if (result) {\n\t \t// If transform returns a value, use that instead of the original css.\n\t \t// This allows running runtime transformations on the css.\n\t \tobj.css = result;\n\t } else {\n\t \t// If the transform function returns a falsy value, don't add this css.\n\t \t// This allows conditional loading of css\n\t \treturn function() {\n\t \t\t// noop\n\t \t};\n\t }\n\t}\n\n\tif (options.singleton) {\n\t\tvar styleIndex = singletonCounter++;\n\n\t\tstyle = singleton || (singleton = createStyleElement(options));\n\n\t\tupdate = applyToSingletonTag.bind(null, style, styleIndex, false);\n\t\tremove = applyToSingletonTag.bind(null, style, styleIndex, true);\n\n\t} else if (\n\t\tobj.sourceMap &&\n\t\ttypeof URL === \"function\" &&\n\t\ttypeof URL.createObjectURL === \"function\" &&\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\n\t\ttypeof Blob === \"function\" &&\n\t\ttypeof btoa === \"function\"\n\t) {\n\t\tstyle = createLinkElement(options);\n\t\tupdate = updateLink.bind(null, style, options);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\n\t\t\tif(style.href) URL.revokeObjectURL(style.href);\n\t\t};\n\t} else {\n\t\tstyle = createStyleElement(options);\n\t\tupdate = applyToTag.bind(null, style);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\t\t};\n\t}\n\n\tupdate(obj);\n\n\treturn function updateStyle (newObj) {\n\t\tif (newObj) {\n\t\t\tif (\n\t\t\t\tnewObj.css === obj.css &&\n\t\t\t\tnewObj.media === obj.media &&\n\t\t\t\tnewObj.sourceMap === obj.sourceMap\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdate(obj = newObj);\n\t\t} else {\n\t\t\tremove();\n\t\t}\n\t};\n}\n\nvar replaceText = (function () {\n\tvar textStore = [];\n\n\treturn function (index, replacement) {\n\t\ttextStore[index] = replacement;\n\n\t\treturn textStore.filter(Boolean).join('\\n');\n\t};\n})();\n\nfunction applyToSingletonTag (style, index, remove, obj) {\n\tvar css = remove ? \"\" : obj.css;\n\n\tif (style.styleSheet) {\n\t\tstyle.styleSheet.cssText = replaceText(index, css);\n\t} else {\n\t\tvar cssNode = document.createTextNode(css);\n\t\tvar childNodes = style.childNodes;\n\n\t\tif (childNodes[index]) style.removeChild(childNodes[index]);\n\n\t\tif (childNodes.length) {\n\t\t\tstyle.insertBefore(cssNode, childNodes[index]);\n\t\t} else {\n\t\t\tstyle.appendChild(cssNode);\n\t\t}\n\t}\n}\n\nfunction applyToTag (style, obj) {\n\tvar css = obj.css;\n\tvar media = obj.media;\n\n\tif(media) {\n\t\tstyle.setAttribute(\"media\", media)\n\t}\n\n\tif(style.styleSheet) {\n\t\tstyle.styleSheet.cssText = css;\n\t} else {\n\t\twhile(style.firstChild) {\n\t\t\tstyle.removeChild(style.firstChild);\n\t\t}\n\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n}\n\nfunction updateLink (link, options, obj) {\n\tvar css = obj.css;\n\tvar sourceMap = obj.sourceMap;\n\n\t/*\n\t\tIf convertToAbsoluteUrls isn't defined, but sourcemaps are enabled\n\t\tand there is no publicPath defined then lets turn convertToAbsoluteUrls\n\t\ton by default. Otherwise default to the convertToAbsoluteUrls option\n\t\tdirectly\n\t*/\n\tvar autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;\n\n\tif (options.convertToAbsoluteUrls || autoFixUrls) {\n\t\tcss = fixUrls(css);\n\t}\n\n\tif (sourceMap) {\n\t\t// http://stackoverflow.com/a/26603875\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n\t}\n\n\tvar blob = new Blob([css], { type: \"text/css\" });\n\n\tvar oldSrc = link.href;\n\n\tlink.href = URL.createObjectURL(blob);\n\n\tif(oldSrc) URL.revokeObjectURL(oldSrc);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/style-loader/lib/addStyles.js\n// module id = 5\n// module chunks = 0","\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/style-loader/lib/urls.js\n// module id = 6\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file diff --git a/docs/README.md b/docs/README.md index a9c706e..ad120ac 100644 --- a/docs/README.md +++ b/docs/README.md @@ -79,6 +79,8 @@ position filed expects an array of two values. This determines where the notific number filed is the one which determines how much time notification should be visible. It expects time in **milliseconds**. Default value is *6000ms(6s)* +#### [example](http://libvyn.indrajith.surge.sh/example/example.html) + ### Support ME [![](https://az743702.vo.msecnd.net/cdn/kofi2.png?v=0)](https://ko-fi.com/R6R36EBQ)
\ No newline at end of file diff --git a/example/64x64.png b/docs/example/64x64.png Binary files differindex d889069..d889069 100644 --- a/example/64x64.png +++ b/docs/example/64x64.png diff --git a/docs/example/example.html b/docs/example/example.html new file mode 100644 index 0000000..4335544 --- /dev/null +++ b/docs/example/example.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="ie=edge"> + <title>Vanilla Yo Notification</title> + <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300,300italic,700,700italic"> + <link rel="stylesheet" href="//cdn.rawgit.com/necolas/normalize.css/master/normalize.css"> + <link rel="stylesheet" href="//cdn.rawgit.com/milligram/milligram/master/dist/milligram.min.css"> +</head> + +<body> + <button class="button" onclick="showNotificationSuccess()">Show Success Notification</button> + <button class="button" onclick="showNotificationWarning()">Show Warning Notification</button> + <button class="button" onclick="showNotificationError()">Show Error Notification</button> + + <script src="./vanilla-yo-notification.js"></script> + <script src="./example.js"></script> +</body> + +</html>
\ No newline at end of file diff --git a/example/example.js b/docs/example/example.js index 4500c70..a0b53fa 100644 --- a/example/example.js +++ b/docs/example/example.js @@ -1,6 +1,6 @@ (function(window){ - var notif = new VanillaYoNotification({ - position: ['bottom', 'left'] + var notif = new VYN({ + position: ['bottom', 'right'] }); var counter = 0; window.showNotificationSuccess = function(){ diff --git a/docs/example/vanilla-yo-notification.js b/docs/example/vanilla-yo-notification.js new file mode 100644 index 0000000..ec7e447 --- /dev/null +++ b/docs/example/vanilla-yo-notification.js @@ -0,0 +1,2 @@ +!function(t){function n(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}var e={};n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:o})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},n.p="",n(n.s=0)}([function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var o=e(1);window.VYN=o.default},function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),e(2);var o=function(){function t(t){this.defaultConfig={content:t.content?t.content:"",footer:t.footer?t.footer:"",timeout:t.timeout?t.timeout:3e3,title:t.title?t.title:"",type:t.type?t.type:"success",position:t.position&&2==t.position.length?t.position:["bottom","right"]},this.init()}return t.prototype.init=function(){this.buildContainers()},t.prototype.buildContainers=function(){this.container=document.createElement("div"),this.container.className="notif-mainContainer "+this.defaultConfig.position.join("-"),this.notifInner=document.createElement("div"),this.notifInner.className="notif-inner",this.container.appendChild(this.notifInner),document.body.appendChild(this.container)},t.prototype.show=function(t){var n=this,e=document.createElement("div");e.className="vanilla-yo-notification "+(t.type?t.type:this.defaultConfig.type),this.notificationTemplate='\n <div class="notification_container">\n <div class="notification_header">\n '+(t.title?t.title:this.defaultConfig.title)+'\n </div>\n <div class="notification_body">\n '+(t.content?t.content:this.defaultConfig.content)+'\n </div>\n <div class="notification_footer">\n '+(t.footer?t.footer:this.defaultConfig.footer)+"\n </div>\n </div>\n ",e.innerHTML=this.notificationTemplate,this.notifInner.appendChild(e),setTimeout(function(){e.className=e.className+" close",n.destroyNotification(e)},t.timeout?t.timeout:this.defaultConfig.timeout)},t.prototype.destroyNotification=function(t){var n=this;setTimeout(function(){n.notifInner.removeChild(t)},100)},t}();n.default=o},function(t,n,e){var o=e(3);"string"==typeof o&&(o=[[t.i,o,""]]);var i={};i.transform=void 0;e(5)(o,i);o.locals&&(t.exports=o.locals)},function(t,n,e){n=t.exports=e(4)(void 0),n.push([t.i,'\n\n.notif-mainContainer {\n z-index: 999;\n position: fixed;\n width: 350px;\n max-width: 98%;\n font-family: "Segoe UI","Tahoma","Calibri","Verdana",sans-serif;\n color: #999;\n box-sizing: border-box;\n}\n\n.notif-mainContainer.top-right{\n top: 8px;\n right: 8px;\n}\n\n.notif-mainContainer.bottom-right{\n bottom: 8px;\n right: 8px;\n}\n\n.notif-mainContainer.top-left{\n top: 8px;\n left: 8px;\n}\n.notif-mainContainer.bottom-left{\n bottom: 8px;\n left: 8px;\n}\n\n.notif-inner {\n display: flex;\n flex-direction: column;\n}\n\n.vanilla-yo-notification{\n width: 250px;\n color: white;\n position: relative;\n cursor: pointer;\n padding: 8px;\n margin-bottom: 12px;\n display: flex;\n border-radius: 10px;\n -webkit-animation-duration: 500ms;animation-duration: 500ms;\n}\n\n.vanilla-yo-notification.error {\n background: #e74c3c;\n}\n\n.vanilla-yo-notification.warning {\n background: #f39c12;\n}\n\n.vanilla-yo-notification.success {\n background: #2ecc71;\n}\n\n\n\n@-webkit-keyframes fadeOut {\n 0% {opacity: 1;}\n 100% {opacity: 0;}\n }\n \n @keyframes fadeOut {\n 0% {opacity: 1;}\n 100% {opacity: 0;}\n }\n\n.close {\n -webkit-animation-name: fadeOut;\n animation-name: fadeOut;\n}\n\n\n\n\n.notification_header{\n\tfont-size: 15px;\n font-weight: bold\n}',""])},function(t,n){function e(t,n){var e=t[1]||"",i=t[3];if(!i)return e;if(n&&"function"==typeof btoa){var r=o(i);return[e].concat(i.sources.map(function(t){return"/*# sourceURL="+i.sourceRoot+t+" */"})).concat([r]).join("\n")}return[e].join("\n")}function o(t){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+" */"}t.exports=function(t){var n=[];return n.toString=function(){return this.map(function(n){var o=e(n,t);return n[2]?"@media "+n[2]+"{"+o+"}":o}).join("")},n.i=function(t,e){"string"==typeof t&&(t=[[null,t,""]]);for(var o={},i=0;i<this.length;i++){var r=this[i][0];"number"==typeof r&&(o[r]=!0)}for(i=0;i<t.length;i++){var a=t[i];"number"==typeof a[0]&&o[a[0]]||(e&&!a[2]?a[2]=e:e&&(a[2]="("+a[2]+") and ("+e+")"),n.push(a))}},n}},function(t,n,e){function o(t,n){for(var e=0;e<t.length;e++){var o=t[e],i=h[o.id];if(i){i.refs++;for(var r=0;r<i.parts.length;r++)i.parts[r](o.parts[r]);for(;r<o.parts.length;r++)i.parts.push(u(o.parts[r],n))}else{for(var a=[],r=0;r<o.parts.length;r++)a.push(u(o.parts[r],n));h[o.id]={id:o.id,refs:1,parts:a}}}}function i(t,n){for(var e=[],o={},i=0;i<t.length;i++){var r=t[i],a=n.base?r[0]+n.base:r[0],s=r[1],f=r[2],c=r[3],u={css:s,media:f,sourceMap:c};o[a]?o[a].parts.push(u):e.push(o[a]={id:a,parts:[u]})}return e}function r(t,n){var e=v(t.insertInto);if(!e)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var o=g[g.length-1];if("top"===t.insertAt)o?o.nextSibling?e.insertBefore(n,o.nextSibling):e.appendChild(n):e.insertBefore(n,e.firstChild),g.push(n);else{if("bottom"!==t.insertAt)throw new Error("Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.");e.appendChild(n)}}function a(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t);var n=g.indexOf(t);n>=0&&g.splice(n,1)}function s(t){var n=document.createElement("style");return t.attrs.type="text/css",c(n,t.attrs),r(t,n),n}function f(t){var n=document.createElement("link");return t.attrs.type="text/css",t.attrs.rel="stylesheet",c(n,t.attrs),r(t,n),n}function c(t,n){Object.keys(n).forEach(function(e){t.setAttribute(e,n[e])})}function u(t,n){var e,o,i,r;if(n.transform&&t.css){if(!(r=n.transform(t.css)))return function(){};t.css=r}if(n.singleton){var c=y++;e=b||(b=s(n)),o=l.bind(null,e,c,!1),i=l.bind(null,e,c,!0)}else t.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(e=f(n),o=d.bind(null,e,n),i=function(){a(e),e.href&&URL.revokeObjectURL(e.href)}):(e=s(n),o=p.bind(null,e),i=function(){a(e)});return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else i()}}function l(t,n,e,o){var i=e?"":o.css;if(t.styleSheet)t.styleSheet.cssText=w(n,i);else{var r=document.createTextNode(i),a=t.childNodes;a[n]&&t.removeChild(a[n]),a.length?t.insertBefore(r,a[n]):t.appendChild(r)}}function p(t,n){var e=n.css,o=n.media;if(o&&t.setAttribute("media",o),t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}function d(t,n,e){var o=e.css,i=e.sourceMap,r=void 0===n.convertToAbsoluteUrls&&i;(n.convertToAbsoluteUrls||r)&&(o=x(o)),i&&(o+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */");var a=new Blob([o],{type:"text/css"}),s=t.href;t.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}var h={},m=function(t){var n;return function(){return void 0===n&&(n=t.apply(this,arguments)),n}}(function(){return window&&document&&document.all&&!window.atob}),v=function(t){var n={};return function(e){return void 0===n[e]&&(n[e]=t.call(this,e)),n[e]}}(function(t){return document.querySelector(t)}),b=null,y=0,g=[],x=e(6);t.exports=function(t,n){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");n=n||{},n.attrs="object"==typeof n.attrs?n.attrs:{},n.singleton||(n.singleton=m()),n.insertInto||(n.insertInto="head"),n.insertAt||(n.insertAt="bottom");var e=i(t,n);return o(e,n),function(t){for(var r=[],a=0;a<e.length;a++){var s=e[a],f=h[s.id];f.refs--,r.push(f)}if(t){o(i(t,n),n)}for(var a=0;a<r.length;a++){var f=r[a];if(0===f.refs){for(var c=0;c<f.parts.length;c++)f.parts[c]();delete h[f.id]}}}};var w=function(){var t=[];return function(n,e){return t[n]=e,t.filter(Boolean).join("\n")}}()},function(t,n){t.exports=function(t){var n="undefined"!=typeof window&&window.location;if(!n)throw new Error("fixUrls requires window.location");if(!t||"string"!=typeof t)return t;var e=n.protocol+"//"+n.host,o=e+n.pathname.replace(/\/[^\/]*$/,"/");return t.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(t,n){var i=n.trim().replace(/^"(.*)"$/,function(t,n){return n}).replace(/^'(.*)'$/,function(t,n){return n});if(/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/)/i.test(i))return t;var r;return r=0===i.indexOf("//")?i:0===i.indexOf("/")?e+i:o+i.replace(/^\.\//,""),"url("+JSON.stringify(r)+")"})}}]); +//# sourceMappingURL=vanilla-yo-notification.js.map
\ No newline at end of file diff --git a/docs/example/vanilla-yo-notification.js.map b/docs/example/vanilla-yo-notification.js.map new file mode 100644 index 0000000..4c6f8bf --- /dev/null +++ b/docs/example/vanilla-yo-notification.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["file:///vanilla-yo-notification.js","file:///webpack/bootstrap 0a6d13dad964777753d3","file:///C:\\Users\\InApp\\Desktop\\custom-notification\\src\\index.ts","file:///C:\\Users\\InApp\\Desktop\\custom-notification\\src\\yo\\vanilla.yo.notification.ts","webpack:///./styles/style.css?42e5","file:///C:\\Users\\InApp\\Desktop\\custom-notification\\src\\styles\\style.css","file:///C:\\Users\\InApp\\Desktop\\custom-notification\\node_modules\\css-loader\\lib\\css-base.js","file:///C:\\Users\\InApp\\Desktop\\custom-notification\\node_modules\\style-loader\\lib\\addStyles.js","file:///C:\\Users\\InApp\\Desktop\\custom-notification\\node_modules\\style-loader\\lib\\urls.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","value","vanilla_yo_notification_1","window","VYN","default","config","this","defaultConfig","content","footer","timeout","title","type","position","length","init","buildContainers","container","document","createElement","className","join","notifInner","appendChild","body","show","_this","notifContainer","notificationTemplate","innerHTML","setTimeout","destroyNotification","removeChild","options","transform","locals","undefined","push","cssWithMappingToString","item","useSourceMap","cssMapping","btoa","sourceMapping","toComment","concat","sources","map","source","sourceRoot","sourceMap","unescape","encodeURIComponent","JSON","stringify","list","toString","mediaQuery","alreadyImportedModules","id","addStylesToDom","styles","domStyle","stylesInDom","refs","j","parts","addStyle","listToStyles","newStyles","base","css","media","part","insertStyleElement","style","target","getElement","insertInto","Error","lastStyleElementInsertedAtTop","stylesInsertedAtTop","insertAt","nextSibling","insertBefore","firstChild","removeStyleElement","parentNode","idx","indexOf","splice","createStyleElement","attrs","addAttrs","createLinkElement","link","rel","el","keys","forEach","key","setAttribute","obj","update","remove","result","singleton","styleIndex","singletonCounter","applyToSingletonTag","bind","URL","createObjectURL","revokeObjectURL","Blob","updateLink","href","applyToTag","newObj","index","styleSheet","cssText","replaceText","cssNode","createTextNode","childNodes","autoFixUrls","convertToAbsoluteUrls","fixUrls","blob","oldSrc","isOldIE","fn","memo","apply","arguments","all","atob","selector","querySelector","DEBUG","newList","mayRemove","textStore","replacement","filter","Boolean","location","baseUrl","protocol","host","currentDir","pathname","replace","fullMatch","origUrl","unquotedOrigUrl","trim","$1","test","newUrl"],"mappings":"CAAS,SAAUA,GCInB,QAAAC,GAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAE,OAGA,IAAAC,GAAAF,EAAAD,IACAI,EAAAJ,EACAK,GAAA,EACAH,WAUA,OANAJ,GAAAE,GAAAM,KAAAH,EAAAD,QAAAC,IAAAD,QAAAH,GAGAI,EAAAE,GAAA,EAGAF,EAAAD,QAvBA,GAAAD,KA4BAF,GAAAQ,EAAAT,EAGAC,EAAAS,EAAAP,EAGAF,EAAAU,EAAA,SAAAP,EAAAQ,EAAAC,GACAZ,EAAAa,EAAAV,EAAAQ,IACAG,OAAAC,eAAAZ,EAAAQ,GACAK,cAAA,EACAC,YAAA,EACAC,IAAAN,KAMAZ,EAAAmB,EAAA,SAAAf,GACA,GAAAQ,GAAAR,KAAAgB,WACA,WAA2B,MAAAhB,GAAA,SAC3B,WAAiC,MAAAA,GAEjC,OADAJ,GAAAU,EAAAE,EAAA,IAAAA,GACAA,GAIAZ,EAAAa,EAAA,SAAAQ,EAAAC,GAAsD,MAAAR,QAAAS,UAAAC,eAAAjB,KAAAc,EAAAC,IAGtDtB,EAAAyB,EAAA,GAGAzB,IAAA0B,EAAA,KDMM,SAAUtB,EAAQD,EAASH,GAEjC,YAEAc,QAAOC,eAAeZ,EAAS,cAAgBwB,OAAO,GEvEtD,IAAAC,GAAA5B,EAAA,EAGC6B,QAAeC,IAAMF,EAAAG,SF2EhB,SAAU3B,EAAQD,EAASH,GAEjC,YAEAc,QAAOC,eAAeZ,EAAS,cAAgBwB,OAAO,IGjFtD3B,EAAA,EAIA,IAAA8B,GAAA,WAOI,QAAAA,GAAYE,GACRC,KAAKC,eACDC,QAASH,EAAOG,QAAUH,EAAOG,QAAU,GAC3CC,OAAQJ,EAAOI,OAASJ,EAAOI,OAAS,GACxCC,QAASL,EAAOK,QAAUL,EAAOK,QAAU,IAC3CC,MAAON,EAAOM,MAAQN,EAAOM,MAAQ,GACrCC,KAAMP,EAAOO,KAAOP,EAAOO,KAAO,UAClCC,SAAWR,EAAOQ,UAAsC,GAA1BR,EAAOQ,SAASC,OAAeT,EAAOQ,UAAY,SAAU,UAE9FP,KAAKS,OA4Db,MAzDYZ,GAAAP,UAAAmB,KAAR,WAEIT,KAAKU,mBAKTb,EAAAP,UAAAoB,gBAAA,WACIV,KAAKW,UAAYC,SAASC,cAAc,OACxCb,KAAKW,UAAUG,UAAY,uBAAuBd,KAAKC,cAAcM,SAASQ,KAAK,KAEnFf,KAAKgB,WAAaJ,SAASC,cAAc,OACzCb,KAAKgB,WAAWF,UAAY,cAE5Bd,KAAKW,UAAUM,YAAYjB,KAAKgB,YAChCJ,SAASM,KAAKD,YAAYjB,KAAKW,YAInCd,EAAAP,UAAA6B,KAAA,SAAKpB,GAAL,GAAAqB,GAAApB,KAEQqB,EAAiBT,SAASC,cAAc,MAC5CQ,GAAeP,UAAY,4BAA2Bf,EAAOO,KAAOP,EAAOO,KAAON,KAAKC,cAAcK,MAErGN,KAAKsB,qBAAuB,+GAGtBvB,EAAOM,MAAQN,EAAOM,MAAQL,KAAKC,cAAcI,OAAK,mFAGtDN,EAAOG,QAAUH,EAAOG,QAAUF,KAAKC,cAAcC,SAAO,qFAG5DH,EAAOI,OAASJ,EAAOI,OAASH,KAAKC,cAAcE,QAAM,iDAM/DkB,EAAeE,UAAavB,KAAyB,qBACrDA,KAAKgB,WAAWC,YAAYI,GAG5BG,WAAW,WACPH,EAAeP,UAAYO,EAAeP,UAAY,SACtDM,EAAKK,oBAAoBJ,IACzBtB,EAAOK,QAAUL,EAAOK,QAAUJ,KAAKC,cAAcG,UAKrDP,EAAAP,UAAAmC,oBAAR,SAA4Bd,GAA5B,GAAAS,GAAApB,IACIwB,YAAW,WACPJ,EAAKJ,WAAWU,YAAYf,IAC9B,MAGVd,IH+CA3B,GAAQ4B,QAAUD,GAKZ,SAAU1B,EAAQD,EAASH,GIlIjC,GAAAmC,GAAAnC,EAAA,EACA,iBAAAmC,SAAA/B,EAAAC,EAAA8B,EAAA,KAEA,IAEAyB,KACAA,GAAAC,cAHAA,EAKA7D,GAAA,GAAAmC,EAAAyB,EACAzB,GAAA2B,SAAA1D,EAAAD,QAAAgC,EAAA2B,SJwJM,SAAU1D,EAAQD,EAASH,GKpKjCG,EAAAC,EAAAD,QAAAH,EAAA,OAAA+D,IAKA5D,EAAA6D,MAAA5D,EAAAC,EAAA,q2CAAo4C,ML6K93C,SAAUD,EAAQD,GMjIxB,QAAA8D,GAAAC,EAAAC,GACA,GAAAhC,GAAA+B,EAAA,OACAE,EAAAF,EAAA,EACA,KAAAE,EACA,MAAAjC,EAGA,IAAAgC,GAAA,kBAAAE,MAAA,CACA,GAAAC,GAAAC,EAAAH,EAKA,QAAAjC,GAAAqC,OAJAJ,EAAAK,QAAAC,IAAA,SAAAC,GACA,uBAAAP,EAAAQ,WAAAD,EAAA,SAGAH,QAAAF,IAAAtB,KAAA,MAGA,OAAAb,GAAAa,KAAA,MAIA,QAAAuB,GAAAM,GAKA,yEAHAR,KAAAS,SAAAC,mBAAAC,KAAAC,UAAAJ,MAGA,MArEAzE,EAAAD,QAAA,SAAAgE,GACA,GAAAe,KAwCA,OArCAA,GAAAC,SAAA,WACA,MAAAlD,MAAAyC,IAAA,SAAAR,GACA,GAAA/B,GAAA8B,EAAAC,EAAAC,EACA,OAAAD,GAAA,GACA,UAAAA,EAAA,OAAmC/B,EAAA,IAEnCA,IAEGa,KAAA,KAIHkC,EAAA7E,EAAA,SAAAN,EAAAqF,GACA,gBAAArF,KACAA,IAAA,KAAAA,EAAA,KAEA,QADAsF,MACAhF,EAAA,EAAgBA,EAAA4B,KAAAQ,OAAiBpC,IAAA,CACjC,GAAAiF,GAAArD,KAAA5B,GAAA,EACA,iBAAAiF,KACAD,EAAAC,IAAA,GAEA,IAAAjF,EAAA,EAAYA,EAAAN,EAAA0C,OAAoBpC,IAAA,CAChC,GAAA6D,GAAAnE,EAAAM,EAKA,iBAAA6D,GAAA,IAAAmB,EAAAnB,EAAA,MACAkB,IAAAlB,EAAA,GACAA,EAAA,GAAAkB,EACKA,IACLlB,EAAA,OAAAA,EAAA,aAAAkB,EAAA,KAEAF,EAAAlB,KAAAE,MAIAgB,INsNM,SAAU9E,EAAQD,EAASH,GOpKjC,QAAAuF,GAAAC,EAAA5B,GACA,OAAAvD,GAAA,EAAgBA,EAAAmF,EAAA/C,OAAmBpC,IAAA,CACnC,GAAA6D,GAAAsB,EAAAnF,GACAoF,EAAAC,EAAAxB,EAAAoB,GAEA,IAAAG,EAAA,CACAA,EAAAE,MAEA,QAAAC,GAAA,EAAiBA,EAAAH,EAAAI,MAAApD,OAA2BmD,IAC5CH,EAAAI,MAAAD,GAAA1B,EAAA2B,MAAAD,GAGA,MAAQA,EAAA1B,EAAA2B,MAAApD,OAAuBmD,IAC/BH,EAAAI,MAAA7B,KAAA8B,EAAA5B,EAAA2B,MAAAD,GAAAhC,QAEG,CAGH,OAFAiC,MAEAD,EAAA,EAAiBA,EAAA1B,EAAA2B,MAAApD,OAAuBmD,IACxCC,EAAA7B,KAAA8B,EAAA5B,EAAA2B,MAAAD,GAAAhC,GAGA8B,GAAAxB,EAAAoB,KAA2BA,GAAApB,EAAAoB,GAAAK,KAAA,EAAAE,WAK3B,QAAAE,GAAAb,EAAAtB,GAIA,OAHA4B,MACAQ,KAEA3F,EAAA,EAAgBA,EAAA6E,EAAAzC,OAAiBpC,IAAA,CACjC,GAAA6D,GAAAgB,EAAA7E,GACAiF,EAAA1B,EAAAqC,KAAA/B,EAAA,GAAAN,EAAAqC,KAAA/B,EAAA,GACAgC,EAAAhC,EAAA,GACAiC,EAAAjC,EAAA,GACAW,EAAAX,EAAA,GACAkC,GAAcF,MAAAC,QAAAtB,YAEdmB,GAAAV,GACAU,EAAAV,GAAAO,MAAA7B,KAAAoC,GADAZ,EAAAxB,KAAAgC,EAAAV,IAAkDA,KAAAO,OAAAO,KAIlD,MAAAZ,GAGA,QAAAa,GAAAzC,EAAA0C,GACA,GAAAC,GAAAC,EAAA5C,EAAA6C,WAEA,KAAAF,EACA,SAAAG,OAAA,8GAGA,IAAAC,GAAAC,IAAAnE,OAAA,EAEA,YAAAmB,EAAAiD,SACAF,EAEGA,EAAAG,YACHP,EAAAQ,aAAAT,EAAAK,EAAAG,aAEAP,EAAArD,YAAAoD,GAJAC,EAAAQ,aAAAT,EAAAC,EAAAS,YAMAJ,EAAA5C,KAAAsC,OACE,eAAA1C,EAAAiD,SAGF,SAAAH,OAAA,qEAFAH,GAAArD,YAAAoD,IAMA,QAAAW,GAAAX,GACA,UAAAA,EAAAY,WAAA,QACAZ,GAAAY,WAAAvD,YAAA2C,EAEA,IAAAa,GAAAP,EAAAQ,QAAAd,EACAa,IAAA,GACAP,EAAAS,OAAAF,EAAA,GAIA,QAAAG,GAAA1D,GACA,GAAA0C,GAAAzD,SAAAC,cAAA,QAOA,OALAc,GAAA2D,MAAAhF,KAAA,WAEAiF,EAAAlB,EAAA1C,EAAA2D,OACAlB,EAAAzC,EAAA0C,GAEAA,EAGA,QAAAmB,GAAA7D,GACA,GAAA8D,GAAA7E,SAAAC,cAAA,OAQA,OANAc,GAAA2D,MAAAhF,KAAA,WACAqB,EAAA2D,MAAAI,IAAA,aAEAH,EAAAE,EAAA9D,EAAA2D,OACAlB,EAAAzC,EAAA8D,GAEAA,EAGA,QAAAF,GAAAI,EAAAL,GACAzG,OAAA+G,KAAAN,GAAAO,QAAA,SAAAC,GACAH,EAAAI,aAAAD,EAAAR,EAAAQ,MAIA,QAAAjC,GAAAmC,EAAArE,GACA,GAAA0C,GAAA4B,EAAAC,EAAAC,CAGA,IAAAxE,EAAAC,WAAAoE,EAAA/B,IAAA,CAGA,KAFAkC,EAAAxE,EAAAC,UAAAoE,EAAA/B,MASA,mBAJA+B,GAAA/B,IAAAkC,EAUA,GAAAxE,EAAAyE,UAAA,CACA,GAAAC,GAAAC,GAEAjC,GAAA+B,MAAAf,EAAA1D,IAEAsE,EAAAM,EAAAC,KAAA,KAAAnC,EAAAgC,GAAA,GACAH,EAAAK,EAAAC,KAAA,KAAAnC,EAAAgC,GAAA,OAGAL,GAAApD,WACA,kBAAA6D,MACA,kBAAAA,KAAAC,iBACA,kBAAAD,KAAAE,iBACA,kBAAAC,OACA,kBAAAxE,OAEAiC,EAAAmB,EAAA7D,GACAsE,EAAAY,EAAAL,KAAA,KAAAnC,EAAA1C,GACAuE,EAAA,WACAlB,EAAAX,GAEAA,EAAAyC,MAAAL,IAAAE,gBAAAtC,EAAAyC,SAGAzC,EAAAgB,EAAA1D,GACAsE,EAAAc,EAAAP,KAAA,KAAAnC,GACA6B,EAAA,WACAlB,EAAAX,IAMA,OAFA4B,GAAAD,GAEA,SAAAgB,GACA,GAAAA,EAAA,CACA,GACAA,EAAA/C,MAAA+B,EAAA/B,KACA+C,EAAA9C,QAAA8B,EAAA9B,OACA8C,EAAApE,YAAAoD,EAAApD,UAEA,MAGAqD,GAAAD,EAAAgB,OAEAd,MAeA,QAAAK,GAAAlC,EAAA4C,EAAAf,EAAAF,GACA,GAAA/B,GAAAiC,EAAA,GAAAF,EAAA/B,GAEA,IAAAI,EAAA6C,WACA7C,EAAA6C,WAAAC,QAAAC,EAAAH,EAAAhD,OACE,CACF,GAAAoD,GAAAzG,SAAA0G,eAAArD,GACAsD,EAAAlD,EAAAkD,UAEAA,GAAAN,IAAA5C,EAAA3C,YAAA6F,EAAAN,IAEAM,EAAA/G,OACA6D,EAAAS,aAAAuC,EAAAE,EAAAN,IAEA5C,EAAApD,YAAAoG,IAKA,QAAAN,GAAA1C,EAAA2B,GACA,GAAA/B,GAAA+B,EAAA/B,IACAC,EAAA8B,EAAA9B,KAMA,IAJAA,GACAG,EAAA0B,aAAA,QAAA7B,GAGAG,EAAA6C,WACA7C,EAAA6C,WAAAC,QAAAlD,MACE,CACF,KAAAI,EAAAU,YACAV,EAAA3C,YAAA2C,EAAAU,WAGAV,GAAApD,YAAAL,SAAA0G,eAAArD,KAIA,QAAA4C,GAAApB,EAAA9D,EAAAqE,GACA,GAAA/B,GAAA+B,EAAA/B,IACArB,EAAAoD,EAAApD,UAQA4E,MAAA1F,KAAAH,EAAA8F,uBAAA7E,GAEAjB,EAAA8F,uBAAAD,KACAvD,EAAAyD,EAAAzD,IAGArB,IAEAqB,GAAA,uDAAuD7B,KAAAS,SAAAC,mBAAAC,KAAAC,UAAAJ,MAAA,MAGvD,IAAA+E,GAAA,GAAAf,OAAA3C,IAA6B3D,KAAA,aAE7BsH,EAAAnC,EAAAqB,IAEArB,GAAAqB,KAAAL,IAAAC,gBAAAiB,GAEAC,GAAAnB,IAAAE,gBAAAiB,GA1VA,GAAAnE,MAWAoE,EATA,SAAAC,GACA,GAAAC,EAEA,mBAEA,WADA,KAAAA,MAAAD,EAAAE,MAAAhI,KAAAiI,YACAF,IAIA,WAMA,MAAAnI,SAAAgB,mBAAAsH,MAAAtI,OAAAuI,OAGA5D,EAAA,SAAAuD,GACA,GAAAC,KAEA,iBAAAK,GAKA,WAJA,KAAAL,EAAAK,KACAL,EAAAK,GAAAN,EAAAxJ,KAAA0B,KAAAoI,IAGAL,EAAAK,KAEC,SAAA9D,GACD,MAAA1D,UAAAyH,cAAA/D,KAGA8B,EAAA,KACAE,EAAA,EACA3B,KAEA+C,EAAA3J,EAAA,EAEAI,GAAAD,QAAA,SAAA+E,EAAAtB,GACA,sBAAA2G,eACA,gBAAA1H,UAAA,SAAA6D,OAAA,+DAGA9C,SAEAA,EAAA2D,MAAA,gBAAA3D,GAAA2D,MAAA3D,EAAA2D,SAIA3D,EAAAyE,YAAAzE,EAAAyE,UAAAyB,KAGAlG,EAAA6C,aAAA7C,EAAA6C,WAAA,QAGA7C,EAAAiD,WAAAjD,EAAAiD,SAAA,SAEA,IAAArB,GAAAO,EAAAb,EAAAtB,EAIA,OAFA2B,GAAAC,EAAA5B,GAEA,SAAA4G,GAGA,OAFAC,MAEApK,EAAA,EAAiBA,EAAAmF,EAAA/C,OAAmBpC,IAAA,CACpC,GAAA6D,GAAAsB,EAAAnF,GACAoF,EAAAC,EAAAxB,EAAAoB,GAEAG,GAAAE,OACA8E,EAAAzG,KAAAyB,GAGA,GAAA+E,EAAA,CAEAjF,EADAQ,EAAAyE,EAAA5G,GACAA,GAGA,OAAAvD,GAAA,EAAiBA,EAAAoK,EAAAhI,OAAsBpC,IAAA,CACvC,GAAAoF,GAAAgF,EAAApK,EAEA,QAAAoF,EAAAE,KAAA,CACA,OAAAC,GAAA,EAAmBA,EAAAH,EAAAI,MAAApD,OAA2BmD,IAAAH,EAAAI,MAAAD,WAE9CF,GAAAD,EAAAH,OA0LA,IAAA+D,GAAA,WACA,GAAAqB,KAEA,iBAAAxB,EAAAyB,GAGA,MAFAD,GAAAxB,GAAAyB,EAEAD,EAAAE,OAAAC,SAAA7H,KAAA,WPiVM,SAAU5C,EAAQD,GQ7lBxBC,EAAAD,QAAA,SAAA+F,GAEA,GAAA4E,GAAA,mBAAAjJ,gBAAAiJ,QAEA,KAAAA,EACA,SAAApE,OAAA,mCAIA,KAAAR,GAAA,gBAAAA,GACA,MAAAA,EAGA,IAAA6E,GAAAD,EAAAE,SAAA,KAAAF,EAAAG,KACAC,EAAAH,EAAAD,EAAAK,SAAAC,QAAA,gBA2DA,OA/BAlF,GAAAkF,QAAA,+DAAAC,EAAAC,GAEA,GAAAC,GAAAD,EACAE,OACAJ,QAAA,oBAAAvK,EAAA4K,GAAwC,MAAAA,KACxCL,QAAA,oBAAAvK,EAAA4K,GAAwC,MAAAA,IAGxC,mDAAAC,KAAAH,GACA,MAAAF,EAIA,IAAAM,EAcA,OAVAA,GAFA,IAAAJ,EAAAnE,QAAA,MAEAmE,EACG,IAAAA,EAAAnE,QAAA,KAEH2D,EAAAQ,EAGAL,EAAAK,EAAAH,QAAA,YAIA,OAAApG,KAAAC,UAAA0G,GAAA","file":"vanilla-yo-notification.js","sourcesContent":["/******/ (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// 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 = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar vanilla_yo_notification_1 = __webpack_require__(1);\r\nwindow.VYN = vanilla_yo_notification_1.default;\r\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n// Import stylesheets\r\n__webpack_require__(2);\r\nvar VYN = /** @class */ (function () {\r\n function VYN(config) {\r\n this.defaultConfig = {\r\n content: config.content ? config.content : '',\r\n footer: config.footer ? config.footer : '',\r\n timeout: config.timeout ? config.timeout : 3000,\r\n title: config.title ? config.title : '',\r\n type: config.type ? config.type : 'success',\r\n position: (config.position && config.position.length == 2) ? config.position : ['bottom', 'right']\r\n };\r\n this.init();\r\n }\r\n VYN.prototype.init = function () {\r\n this.buildContainers();\r\n };\r\n VYN.prototype.buildContainers = function () {\r\n this.container = document.createElement('div');\r\n this.container.className = \"notif-mainContainer \" + this.defaultConfig.position.join('-');\r\n this.notifInner = document.createElement('div');\r\n this.notifInner.className = \"notif-inner\";\r\n this.container.appendChild(this.notifInner);\r\n document.body.appendChild(this.container);\r\n };\r\n VYN.prototype.show = function (config) {\r\n var _this = this;\r\n var notifContainer = document.createElement('div');\r\n notifContainer.className = \"vanilla-yo-notification \" + (config.type ? config.type : this.defaultConfig.type);\r\n this.notificationTemplate = \"\\n <div class=\\\"notification_container\\\">\\n <div class=\\\"notification_header\\\">\\n \" + (config.title ? config.title : this.defaultConfig.title) + \"\\n </div>\\n <div class=\\\"notification_body\\\">\\n \" + (config.content ? config.content : this.defaultConfig.content) + \"\\n </div>\\n <div class=\\\"notification_footer\\\">\\n \" + (config.footer ? config.footer : this.defaultConfig.footer) + \"\\n </div>\\n </div>\\n \";\r\n notifContainer.innerHTML = (this.notificationTemplate);\r\n this.notifInner.appendChild(notifContainer);\r\n setTimeout(function () {\r\n notifContainer.className = notifContainer.className + ' close';\r\n _this.destroyNotification(notifContainer);\r\n }, (config.timeout ? config.timeout : this.defaultConfig.timeout));\r\n };\r\n VYN.prototype.destroyNotification = function (container) {\r\n var _this = this;\r\n setTimeout(function () {\r\n _this.notifInner.removeChild(container);\r\n }, 100);\r\n };\r\n return VYN;\r\n}());\r\nexports.default = VYN;\r\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(3);\nif(typeof content === 'string') content = [[module.i, content, '']];\n// Prepare cssTransformation\nvar transform;\n\nvar options = {}\noptions.transform = transform\n// add the styles to the DOM\nvar update = __webpack_require__(5)(content, options);\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(false) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!../../node_modules/css-loader/index.js!./style.css\", function() {\n\t\t\tvar newContent = require(\"!!../../node_modules/css-loader/index.js!./style.css\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(4)(undefined);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n.notif-mainContainer {\\n z-index: 999;\\n position: fixed;\\n width: 350px;\\n max-width: 98%;\\n font-family: \\\"Segoe UI\\\",\\\"Tahoma\\\",\\\"Calibri\\\",\\\"Verdana\\\",sans-serif;\\n color: #999;\\n box-sizing: border-box;\\n}\\n\\n.notif-mainContainer.top-right{\\n top: 8px;\\n right: 8px;\\n}\\n\\n.notif-mainContainer.bottom-right{\\n bottom: 8px;\\n right: 8px;\\n}\\n\\n.notif-mainContainer.top-left{\\n top: 8px;\\n left: 8px;\\n}\\n.notif-mainContainer.bottom-left{\\n bottom: 8px;\\n left: 8px;\\n}\\n\\n.notif-inner {\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.vanilla-yo-notification{\\n width: 250px;\\n color: white;\\n position: relative;\\n cursor: pointer;\\n padding: 8px;\\n margin-bottom: 12px;\\n display: flex;\\n border-radius: 10px;\\n -webkit-animation-duration: 500ms;animation-duration: 500ms;\\n}\\n\\n.vanilla-yo-notification.error {\\n background: #e74c3c;\\n}\\n\\n.vanilla-yo-notification.warning {\\n background: #f39c12;\\n}\\n\\n.vanilla-yo-notification.success {\\n background: #2ecc71;\\n}\\n\\n\\n\\n@-webkit-keyframes fadeOut {\\n 0% {opacity: 1;}\\n 100% {opacity: 0;}\\n }\\n \\n @keyframes fadeOut {\\n 0% {opacity: 1;}\\n 100% {opacity: 0;}\\n }\\n\\n.close {\\n -webkit-animation-name: fadeOut;\\n animation-name: fadeOut;\\n}\\n\\n\\n\\n\\n.notification_header{\\n\\tfont-size: 15px;\\n font-weight: bold\\n}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(selector) {\n\t\tif (typeof memo[selector] === \"undefined\") {\n\t\t\tmemo[selector] = fn.call(this, selector);\n\t\t}\n\n\t\treturn memo[selector]\n\t};\n})(function (target) {\n\treturn document.querySelector(target)\n});\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = __webpack_require__(6);\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n\t// tags it will allow on a page\n\tif (!options.singleton) options.singleton = isOldIE();\n\n\t// By default, add <style> tags to the <head> element\n\tif (!options.insertInto) options.insertInto = \"head\";\n\n\t// By default, add <style> tags to the bottom of the target\n\tif (!options.insertAt) options.insertAt = \"bottom\";\n\n\tvar styles = listToStyles(list, options);\n\n\taddStylesToDom(styles, options);\n\n\treturn function update (newList) {\n\t\tvar mayRemove = [];\n\n\t\tfor (var i = 0; i < styles.length; i++) {\n\t\t\tvar item = styles[i];\n\t\t\tvar domStyle = stylesInDom[item.id];\n\n\t\t\tdomStyle.refs--;\n\t\t\tmayRemove.push(domStyle);\n\t\t}\n\n\t\tif(newList) {\n\t\t\tvar newStyles = listToStyles(newList, options);\n\t\t\taddStylesToDom(newStyles, options);\n\t\t}\n\n\t\tfor (var i = 0; i < mayRemove.length; i++) {\n\t\t\tvar domStyle = mayRemove[i];\n\n\t\t\tif(domStyle.refs === 0) {\n\t\t\t\tfor (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();\n\n\t\t\t\tdelete stylesInDom[domStyle.id];\n\t\t\t}\n\t\t}\n\t};\n};\n\nfunction addStylesToDom (styles, options) {\n\tfor (var i = 0; i < styles.length; i++) {\n\t\tvar item = styles[i];\n\t\tvar domStyle = stylesInDom[item.id];\n\n\t\tif(domStyle) {\n\t\t\tdomStyle.refs++;\n\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\n\t\t\t}\n\n\t\t\tfor(; j < item.parts.length; j++) {\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = [];\n\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n\t\t}\n\t}\n}\n\nfunction listToStyles (list, options) {\n\tvar styles = [];\n\tvar newStyles = {};\n\n\tfor (var i = 0; i < list.length; i++) {\n\t\tvar item = list[i];\n\t\tvar id = options.base ? item[0] + options.base : item[0];\n\t\tvar css = item[1];\n\t\tvar media = item[2];\n\t\tvar sourceMap = item[3];\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n\n\t\tif(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});\n\t\telse newStyles[id].parts.push(part);\n\t}\n\n\treturn styles;\n}\n\nfunction insertStyleElement (options, style) {\n\tvar target = getElement(options.insertInto)\n\n\tif (!target) {\n\t\tthrow new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");\n\t}\n\n\tvar lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];\n\n\tif (options.insertAt === \"top\") {\n\t\tif (!lastStyleElementInsertedAtTop) {\n\t\t\ttarget.insertBefore(style, target.firstChild);\n\t\t} else if (lastStyleElementInsertedAtTop.nextSibling) {\n\t\t\ttarget.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);\n\t\t} else {\n\t\t\ttarget.appendChild(style);\n\t\t}\n\t\tstylesInsertedAtTop.push(style);\n\t} else if (options.insertAt === \"bottom\") {\n\t\ttarget.appendChild(style);\n\t} else {\n\t\tthrow new Error(\"Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.\");\n\t}\n}\n\nfunction removeStyleElement (style) {\n\tif (style.parentNode === null) return false;\n\tstyle.parentNode.removeChild(style);\n\n\tvar idx = stylesInsertedAtTop.indexOf(style);\n\tif(idx >= 0) {\n\t\tstylesInsertedAtTop.splice(idx, 1);\n\t}\n}\n\nfunction createStyleElement (options) {\n\tvar style = document.createElement(\"style\");\n\n\toptions.attrs.type = \"text/css\";\n\n\taddAttrs(style, options.attrs);\n\tinsertStyleElement(options, style);\n\n\treturn style;\n}\n\nfunction createLinkElement (options) {\n\tvar link = document.createElement(\"link\");\n\n\toptions.attrs.type = \"text/css\";\n\toptions.attrs.rel = \"stylesheet\";\n\n\taddAttrs(link, options.attrs);\n\tinsertStyleElement(options, link);\n\n\treturn link;\n}\n\nfunction addAttrs (el, attrs) {\n\tObject.keys(attrs).forEach(function (key) {\n\t\tel.setAttribute(key, attrs[key]);\n\t});\n}\n\nfunction addStyle (obj, options) {\n\tvar style, update, remove, result;\n\n\t// If a transform function was defined, run it on the css\n\tif (options.transform && obj.css) {\n\t result = options.transform(obj.css);\n\n\t if (result) {\n\t \t// If transform returns a value, use that instead of the original css.\n\t \t// This allows running runtime transformations on the css.\n\t \tobj.css = result;\n\t } else {\n\t \t// If the transform function returns a falsy value, don't add this css.\n\t \t// This allows conditional loading of css\n\t \treturn function() {\n\t \t\t// noop\n\t \t};\n\t }\n\t}\n\n\tif (options.singleton) {\n\t\tvar styleIndex = singletonCounter++;\n\n\t\tstyle = singleton || (singleton = createStyleElement(options));\n\n\t\tupdate = applyToSingletonTag.bind(null, style, styleIndex, false);\n\t\tremove = applyToSingletonTag.bind(null, style, styleIndex, true);\n\n\t} else if (\n\t\tobj.sourceMap &&\n\t\ttypeof URL === \"function\" &&\n\t\ttypeof URL.createObjectURL === \"function\" &&\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\n\t\ttypeof Blob === \"function\" &&\n\t\ttypeof btoa === \"function\"\n\t) {\n\t\tstyle = createLinkElement(options);\n\t\tupdate = updateLink.bind(null, style, options);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\n\t\t\tif(style.href) URL.revokeObjectURL(style.href);\n\t\t};\n\t} else {\n\t\tstyle = createStyleElement(options);\n\t\tupdate = applyToTag.bind(null, style);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\t\t};\n\t}\n\n\tupdate(obj);\n\n\treturn function updateStyle (newObj) {\n\t\tif (newObj) {\n\t\t\tif (\n\t\t\t\tnewObj.css === obj.css &&\n\t\t\t\tnewObj.media === obj.media &&\n\t\t\t\tnewObj.sourceMap === obj.sourceMap\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdate(obj = newObj);\n\t\t} else {\n\t\t\tremove();\n\t\t}\n\t};\n}\n\nvar replaceText = (function () {\n\tvar textStore = [];\n\n\treturn function (index, replacement) {\n\t\ttextStore[index] = replacement;\n\n\t\treturn textStore.filter(Boolean).join('\\n');\n\t};\n})();\n\nfunction applyToSingletonTag (style, index, remove, obj) {\n\tvar css = remove ? \"\" : obj.css;\n\n\tif (style.styleSheet) {\n\t\tstyle.styleSheet.cssText = replaceText(index, css);\n\t} else {\n\t\tvar cssNode = document.createTextNode(css);\n\t\tvar childNodes = style.childNodes;\n\n\t\tif (childNodes[index]) style.removeChild(childNodes[index]);\n\n\t\tif (childNodes.length) {\n\t\t\tstyle.insertBefore(cssNode, childNodes[index]);\n\t\t} else {\n\t\t\tstyle.appendChild(cssNode);\n\t\t}\n\t}\n}\n\nfunction applyToTag (style, obj) {\n\tvar css = obj.css;\n\tvar media = obj.media;\n\n\tif(media) {\n\t\tstyle.setAttribute(\"media\", media)\n\t}\n\n\tif(style.styleSheet) {\n\t\tstyle.styleSheet.cssText = css;\n\t} else {\n\t\twhile(style.firstChild) {\n\t\t\tstyle.removeChild(style.firstChild);\n\t\t}\n\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n}\n\nfunction updateLink (link, options, obj) {\n\tvar css = obj.css;\n\tvar sourceMap = obj.sourceMap;\n\n\t/*\n\t\tIf convertToAbsoluteUrls isn't defined, but sourcemaps are enabled\n\t\tand there is no publicPath defined then lets turn convertToAbsoluteUrls\n\t\ton by default. Otherwise default to the convertToAbsoluteUrls option\n\t\tdirectly\n\t*/\n\tvar autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;\n\n\tif (options.convertToAbsoluteUrls || autoFixUrls) {\n\t\tcss = fixUrls(css);\n\t}\n\n\tif (sourceMap) {\n\t\t// http://stackoverflow.com/a/26603875\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n\t}\n\n\tvar blob = new Blob([css], { type: \"text/css\" });\n\n\tvar oldSrc = link.href;\n\n\tlink.href = URL.createObjectURL(blob);\n\n\tif(oldSrc) URL.revokeObjectURL(oldSrc);\n}\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\n\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// vanilla-yo-notification.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// 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 = 0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 0a6d13dad964777753d3","import VYN from \"./yo/vanilla.yo.notification\";\n\n\n(window as any).VYN = VYN;\n\n\n// WEBPACK FOOTER //\n// ../node_modules/source-map-loader!./index.ts","// Import stylesheets\r\nimport '../styles/style.css';\r\nimport { Config } from '../interfaces/config.interface';\r\n\r\n\r\nexport default class VYN {\r\n\r\n private notificationTemplate: string;\r\n private defaultConfig: Config;\r\n private notifInner: any;\r\n private container: any;\r\n\r\n constructor(config: Config) {\r\n this.defaultConfig = {\r\n content: config.content ? config.content : '',\r\n footer: config.footer ? config.footer : '',\r\n timeout: config.timeout ? config.timeout : 3000,\r\n title: config.title ? config.title : '',\r\n type: config.type ? config.type : 'success',\r\n position: (config.position && config.position.length == 2) ? config.position : ['bottom', 'right']\r\n }\r\n this.init();\r\n }\r\n\r\n private init() {\r\n\r\n this.buildContainers();\r\n\r\n\r\n }\r\n\r\n buildContainers() {\r\n this.container = document.createElement('div');\r\n this.container.className = `notif-mainContainer ${this.defaultConfig.position.join('-')}`;\r\n\r\n this.notifInner = document.createElement('div');\r\n this.notifInner.className = \"notif-inner\";\r\n\r\n this.container.appendChild(this.notifInner);\r\n document.body.appendChild(this.container);\r\n }\r\n\r\n\r\n show(config: Config) {\r\n\r\n let notifContainer = document.createElement('div');\r\n notifContainer.className = `vanilla-yo-notification ${config.type ? config.type : this.defaultConfig.type}`;\r\n\r\n this.notificationTemplate = `\r\n <div class=\"notification_container\">\r\n <div class=\"notification_header\">\r\n ${config.title ? config.title : this.defaultConfig.title}\r\n </div>\r\n <div class=\"notification_body\">\r\n ${config.content ? config.content : this.defaultConfig.content}\r\n </div>\r\n <div class=\"notification_footer\">\r\n ${config.footer ? config.footer : this.defaultConfig.footer}\r\n </div>\r\n </div>\r\n `;\r\n\r\n\r\n notifContainer.innerHTML = (this.notificationTemplate);\r\n this.notifInner.appendChild(notifContainer);\r\n\r\n\r\n setTimeout(() => {\r\n notifContainer.className = notifContainer.className + ' close';\r\n this.destroyNotification(notifContainer);\r\n }, (config.timeout ? config.timeout : this.defaultConfig.timeout));\r\n\r\n\r\n }\r\n\r\n private destroyNotification(container: Node) {\r\n setTimeout(()=>{\r\n this.notifInner.removeChild(container);\r\n },100);\r\n \r\n }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ../node_modules/source-map-loader!./yo/vanilla.yo.notification.ts","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/css-loader/index.js!./style.css\");\nif(typeof content === 'string') content = [[module.id, content, '']];\n// Prepare cssTransformation\nvar transform;\n\nvar options = {}\noptions.transform = transform\n// add the styles to the DOM\nvar update = require(\"!../../node_modules/style-loader/lib/addStyles.js\")(content, options);\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(module.hot) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!../../node_modules/css-loader/index.js!./style.css\", function() {\n\t\t\tvar newContent = require(\"!!../../node_modules/css-loader/index.js!./style.css\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./styles/style.css\n// module id = 2\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \"\\n\\n.notif-mainContainer {\\n z-index: 999;\\n position: fixed;\\n width: 350px;\\n max-width: 98%;\\n font-family: \\\"Segoe UI\\\",\\\"Tahoma\\\",\\\"Calibri\\\",\\\"Verdana\\\",sans-serif;\\n color: #999;\\n box-sizing: border-box;\\n}\\n\\n.notif-mainContainer.top-right{\\n top: 8px;\\n right: 8px;\\n}\\n\\n.notif-mainContainer.bottom-right{\\n bottom: 8px;\\n right: 8px;\\n}\\n\\n.notif-mainContainer.top-left{\\n top: 8px;\\n left: 8px;\\n}\\n.notif-mainContainer.bottom-left{\\n bottom: 8px;\\n left: 8px;\\n}\\n\\n.notif-inner {\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.vanilla-yo-notification{\\n width: 250px;\\n color: white;\\n position: relative;\\n cursor: pointer;\\n padding: 8px;\\n margin-bottom: 12px;\\n display: flex;\\n border-radius: 10px;\\n -webkit-animation-duration: 500ms;animation-duration: 500ms;\\n}\\n\\n.vanilla-yo-notification.error {\\n background: #e74c3c;\\n}\\n\\n.vanilla-yo-notification.warning {\\n background: #f39c12;\\n}\\n\\n.vanilla-yo-notification.success {\\n background: #2ecc71;\\n}\\n\\n\\n\\n@-webkit-keyframes fadeOut {\\n 0% {opacity: 1;}\\n 100% {opacity: 0;}\\n }\\n \\n @keyframes fadeOut {\\n 0% {opacity: 1;}\\n 100% {opacity: 0;}\\n }\\n\\n.close {\\n -webkit-animation-name: fadeOut;\\n animation-name: fadeOut;\\n}\\n\\n\\n\\n\\n.notification_header{\\n\\tfont-size: 15px;\\n font-weight: bold\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/css-loader!./styles/style.css\n// module id = 3\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/css-loader/lib/css-base.js\n// module id = 4\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(selector) {\n\t\tif (typeof memo[selector] === \"undefined\") {\n\t\t\tmemo[selector] = fn.call(this, selector);\n\t\t}\n\n\t\treturn memo[selector]\n\t};\n})(function (target) {\n\treturn document.querySelector(target)\n});\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = require(\"./urls\");\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n\t// tags it will allow on a page\n\tif (!options.singleton) options.singleton = isOldIE();\n\n\t// By default, add <style> tags to the <head> element\n\tif (!options.insertInto) options.insertInto = \"head\";\n\n\t// By default, add <style> tags to the bottom of the target\n\tif (!options.insertAt) options.insertAt = \"bottom\";\n\n\tvar styles = listToStyles(list, options);\n\n\taddStylesToDom(styles, options);\n\n\treturn function update (newList) {\n\t\tvar mayRemove = [];\n\n\t\tfor (var i = 0; i < styles.length; i++) {\n\t\t\tvar item = styles[i];\n\t\t\tvar domStyle = stylesInDom[item.id];\n\n\t\t\tdomStyle.refs--;\n\t\t\tmayRemove.push(domStyle);\n\t\t}\n\n\t\tif(newList) {\n\t\t\tvar newStyles = listToStyles(newList, options);\n\t\t\taddStylesToDom(newStyles, options);\n\t\t}\n\n\t\tfor (var i = 0; i < mayRemove.length; i++) {\n\t\t\tvar domStyle = mayRemove[i];\n\n\t\t\tif(domStyle.refs === 0) {\n\t\t\t\tfor (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();\n\n\t\t\t\tdelete stylesInDom[domStyle.id];\n\t\t\t}\n\t\t}\n\t};\n};\n\nfunction addStylesToDom (styles, options) {\n\tfor (var i = 0; i < styles.length; i++) {\n\t\tvar item = styles[i];\n\t\tvar domStyle = stylesInDom[item.id];\n\n\t\tif(domStyle) {\n\t\t\tdomStyle.refs++;\n\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\n\t\t\t}\n\n\t\t\tfor(; j < item.parts.length; j++) {\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = [];\n\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n\t\t}\n\t}\n}\n\nfunction listToStyles (list, options) {\n\tvar styles = [];\n\tvar newStyles = {};\n\n\tfor (var i = 0; i < list.length; i++) {\n\t\tvar item = list[i];\n\t\tvar id = options.base ? item[0] + options.base : item[0];\n\t\tvar css = item[1];\n\t\tvar media = item[2];\n\t\tvar sourceMap = item[3];\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n\n\t\tif(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});\n\t\telse newStyles[id].parts.push(part);\n\t}\n\n\treturn styles;\n}\n\nfunction insertStyleElement (options, style) {\n\tvar target = getElement(options.insertInto)\n\n\tif (!target) {\n\t\tthrow new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");\n\t}\n\n\tvar lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];\n\n\tif (options.insertAt === \"top\") {\n\t\tif (!lastStyleElementInsertedAtTop) {\n\t\t\ttarget.insertBefore(style, target.firstChild);\n\t\t} else if (lastStyleElementInsertedAtTop.nextSibling) {\n\t\t\ttarget.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);\n\t\t} else {\n\t\t\ttarget.appendChild(style);\n\t\t}\n\t\tstylesInsertedAtTop.push(style);\n\t} else if (options.insertAt === \"bottom\") {\n\t\ttarget.appendChild(style);\n\t} else {\n\t\tthrow new Error(\"Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.\");\n\t}\n}\n\nfunction removeStyleElement (style) {\n\tif (style.parentNode === null) return false;\n\tstyle.parentNode.removeChild(style);\n\n\tvar idx = stylesInsertedAtTop.indexOf(style);\n\tif(idx >= 0) {\n\t\tstylesInsertedAtTop.splice(idx, 1);\n\t}\n}\n\nfunction createStyleElement (options) {\n\tvar style = document.createElement(\"style\");\n\n\toptions.attrs.type = \"text/css\";\n\n\taddAttrs(style, options.attrs);\n\tinsertStyleElement(options, style);\n\n\treturn style;\n}\n\nfunction createLinkElement (options) {\n\tvar link = document.createElement(\"link\");\n\n\toptions.attrs.type = \"text/css\";\n\toptions.attrs.rel = \"stylesheet\";\n\n\taddAttrs(link, options.attrs);\n\tinsertStyleElement(options, link);\n\n\treturn link;\n}\n\nfunction addAttrs (el, attrs) {\n\tObject.keys(attrs).forEach(function (key) {\n\t\tel.setAttribute(key, attrs[key]);\n\t});\n}\n\nfunction addStyle (obj, options) {\n\tvar style, update, remove, result;\n\n\t// If a transform function was defined, run it on the css\n\tif (options.transform && obj.css) {\n\t result = options.transform(obj.css);\n\n\t if (result) {\n\t \t// If transform returns a value, use that instead of the original css.\n\t \t// This allows running runtime transformations on the css.\n\t \tobj.css = result;\n\t } else {\n\t \t// If the transform function returns a falsy value, don't add this css.\n\t \t// This allows conditional loading of css\n\t \treturn function() {\n\t \t\t// noop\n\t \t};\n\t }\n\t}\n\n\tif (options.singleton) {\n\t\tvar styleIndex = singletonCounter++;\n\n\t\tstyle = singleton || (singleton = createStyleElement(options));\n\n\t\tupdate = applyToSingletonTag.bind(null, style, styleIndex, false);\n\t\tremove = applyToSingletonTag.bind(null, style, styleIndex, true);\n\n\t} else if (\n\t\tobj.sourceMap &&\n\t\ttypeof URL === \"function\" &&\n\t\ttypeof URL.createObjectURL === \"function\" &&\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\n\t\ttypeof Blob === \"function\" &&\n\t\ttypeof btoa === \"function\"\n\t) {\n\t\tstyle = createLinkElement(options);\n\t\tupdate = updateLink.bind(null, style, options);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\n\t\t\tif(style.href) URL.revokeObjectURL(style.href);\n\t\t};\n\t} else {\n\t\tstyle = createStyleElement(options);\n\t\tupdate = applyToTag.bind(null, style);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\t\t};\n\t}\n\n\tupdate(obj);\n\n\treturn function updateStyle (newObj) {\n\t\tif (newObj) {\n\t\t\tif (\n\t\t\t\tnewObj.css === obj.css &&\n\t\t\t\tnewObj.media === obj.media &&\n\t\t\t\tnewObj.sourceMap === obj.sourceMap\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdate(obj = newObj);\n\t\t} else {\n\t\t\tremove();\n\t\t}\n\t};\n}\n\nvar replaceText = (function () {\n\tvar textStore = [];\n\n\treturn function (index, replacement) {\n\t\ttextStore[index] = replacement;\n\n\t\treturn textStore.filter(Boolean).join('\\n');\n\t};\n})();\n\nfunction applyToSingletonTag (style, index, remove, obj) {\n\tvar css = remove ? \"\" : obj.css;\n\n\tif (style.styleSheet) {\n\t\tstyle.styleSheet.cssText = replaceText(index, css);\n\t} else {\n\t\tvar cssNode = document.createTextNode(css);\n\t\tvar childNodes = style.childNodes;\n\n\t\tif (childNodes[index]) style.removeChild(childNodes[index]);\n\n\t\tif (childNodes.length) {\n\t\t\tstyle.insertBefore(cssNode, childNodes[index]);\n\t\t} else {\n\t\t\tstyle.appendChild(cssNode);\n\t\t}\n\t}\n}\n\nfunction applyToTag (style, obj) {\n\tvar css = obj.css;\n\tvar media = obj.media;\n\n\tif(media) {\n\t\tstyle.setAttribute(\"media\", media)\n\t}\n\n\tif(style.styleSheet) {\n\t\tstyle.styleSheet.cssText = css;\n\t} else {\n\t\twhile(style.firstChild) {\n\t\t\tstyle.removeChild(style.firstChild);\n\t\t}\n\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n}\n\nfunction updateLink (link, options, obj) {\n\tvar css = obj.css;\n\tvar sourceMap = obj.sourceMap;\n\n\t/*\n\t\tIf convertToAbsoluteUrls isn't defined, but sourcemaps are enabled\n\t\tand there is no publicPath defined then lets turn convertToAbsoluteUrls\n\t\ton by default. Otherwise default to the convertToAbsoluteUrls option\n\t\tdirectly\n\t*/\n\tvar autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;\n\n\tif (options.convertToAbsoluteUrls || autoFixUrls) {\n\t\tcss = fixUrls(css);\n\t}\n\n\tif (sourceMap) {\n\t\t// http://stackoverflow.com/a/26603875\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n\t}\n\n\tvar blob = new Blob([css], { type: \"text/css\" });\n\n\tvar oldSrc = link.href;\n\n\tlink.href = URL.createObjectURL(blob);\n\n\tif(oldSrc) URL.revokeObjectURL(oldSrc);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/style-loader/lib/addStyles.js\n// module id = 5\n// module chunks = 0","\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/style-loader/lib/urls.js\n// module id = 6\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 747731f..04a12c4 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ <script> window.$docsify = { name: 'vanilla-yo-notification', - repo: '' + repo: 'https://github.com/cooljith91112/vanilla-yo-notification' } </script> <script src="//unpkg.com/docsify/lib/docsify.min.js"></script> diff --git a/example/example.html b/example/example.html deleted file mode 100644 index 889c1c8..0000000 --- a/example/example.html +++ /dev/null @@ -1,17 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta http-equiv="X-UA-Compatible" content="ie=edge"> - <title>Vanilla Yo Notification</title> -</head> -<body> - <button onclick="showNotificationSuccess()">Show Success Notification</button> - <button onclick="showNotificationWarning()">Show Warning Notification</button> - <button onclick="showNotificationError()">Show Error Notification</button> - - <script src="../dist/vanilla-yo-notification.js"></script> - <script src="./example.js"></script> -</body> -</html>
\ No newline at end of file diff --git a/package.json b/package.json index 856b8c3..d5a63b8 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "tslint-loader": "^3.5.3", "typescript": "^2.4.1", "webpack": "^3.3.0", - "webpack-dashboard": "^0.4.0", - "webpack-dev-server": "2.5.1" + "webpack-dev-server": "2.5.1", + "webpack-shell-plugin": "^0.5.0" } } diff --git a/webpack.config.js b/webpack.config.js index e88631d..33c1e5f 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,10 +1,12 @@ const webpack = require("webpack"); const path = require("path"); -const HtmlWebpackPlugin = require("html-webpack-plugin"); const DashboardPlugin = require("webpack-dashboard/plugin"); +const WebpackShellPlugin = require('webpack-shell-plugin'); + + const nodeEnv = process.env.NODE_ENV || "development"; const isProd = nodeEnv === "production"; - +console.log(webpack.plugins); var config = { devtool: isProd ? "hidden-source-map" : "source-map", context: path.resolve("./src"), @@ -45,7 +47,6 @@ var config = { output: { comments: false }, sourceMap: true }), - new DashboardPlugin(), new webpack.LoaderOptionsPlugin({ options: { tslint: { @@ -53,6 +54,9 @@ var config = { failOnHint: true } } + }), + new WebpackShellPlugin({ + onBuildEnd: 'cp -r dist/* docs/example/' }) ], devServer: { |