Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

angular-toastify

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

angular-toastify - npm Package Compare versions

Comparing version
1.0.7
to
1.0.8
+2
-2
bundles/angular-toastify.umd.js

@@ -246,3 +246,3 @@ (function (global, factory) {

/** @nocollapse */ ToastifyToastComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0__namespace, type: ToastifyToastComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.NgZone }], target: i0__namespace.ɵɵFactoryTarget.Component });
/** @nocollapse */ ToastifyToastComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: ToastifyToastComponent, selector: "lib-toastify-toast", inputs: { autoClose: "autoClose", autoCloseError: "autoCloseError", autoCloseSuccess: "autoCloseSuccess", autoCloseInfo: "autoCloseInfo", autoCloseWarn: "autoCloseWarn", hideProgressBar: "hideProgressBar", pauseOnHover: "pauseOnHover", pauseOnVisibilityChange: "pauseOnVisibilityChange", closeOnClick: "closeOnClick", toast: "toast", iconLibrary: "iconLibrary" }, outputs: { dismissEvent: "dismissEvent" }, host: { listeners: { "click": "handleHostClick()", "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()", "document:visibilitychange": "handleVisibilityChange()" } }, viewQueries: [{ propertyName: "progressBar", first: true, predicate: ["progressBar"], descendants: true }, { propertyName: "progressBarCover", first: true, predicate: ["progressBarCover"], descendants: true }], ngImport: i0__namespace, template: "<div role=\"alert\" class=\"toast-body\">\n <div class=\"icon-container\">\n <span *ngIf=\"iconLibrary == 'material'\" [ngSwitch]=\"toast.type\">\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.info\">info_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.default\">info_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.warning\">warning_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.error\">error_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.success\">done</i>\n </span>\n <span *ngIf=\"iconLibrary == 'font-awesome'\" [ngSwitch]=\"toast.type\">\n <i *ngSwitchCase=\"ToastType.info\" class=\"fa fa-info\"></i>\n <i *ngSwitchCase=\"ToastType.default\" class=\"fa fa-info\"></i>\n <i *ngSwitchCase=\"ToastType.warning\" class=\"fa fa-exclamation-triangle\"></i>\n <i *ngSwitchCase=\"ToastType.error\" class=\"fa fa-exclamation\"></i>\n <i *ngSwitchCase=\"ToastType.success\" class=\"fa fa-check\"></i>\n </span>\n </div>\n <div class=\"toast-container\">\n <span>{{toast.message}}</span>\n </div>\n</div>\n<button (click)=\"handleDismissButtonAction()\" class=\"close-button close-button--{{ToastType[toast.type]}}\" type=\"button\" aria-label=\"close\">\u2716</button>\n\n<div #progressBar *ngIf=\"!hideProgressBar\" class=\"progress-bar progress-bar&#45;&#45;{{ToastType[toast.type]}}\" style=\"opacity: 1;\"></div>\n<div #progressBarCover *ngIf=\"!hideProgressBar\" class=\"progress-bar-cover toast--{{ToastType[toast.type]}}\" [style.animation-duration]=\"this.autoCloseAfterSpecificChange() + 'ms'\" [style.animation-play-state]=\"running? 'running' : 'paused'\"></div>\n", styles: [".toast{position:relative;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:1px;box-shadow:0 1px 10px 0 rgba(0,0,0,.1),0 2px 15px 0 rgba(0,0,0,.05);display:flex;justify-content:space-between;max-height:800px;overflow:hidden;font-family:sans-serif;cursor:pointer;direction:ltr}.toast--rtl{direction:rtl}.toast--default{background:#fff;color:#aaa}.toast--info{background:#3498db}.toast--success{background:#07bc0c}.toast--warning{background:#f1c40f}.toast--error{background:#e74c3c}.toast-body{margin:auto 0;flex:1}@media only screen and (max-width:480px){.toast{margin-bottom:0}}.close-button{color:#fff;font-weight:700;font-size:14px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;align-self:flex-start}.close-button--default{color:#000;opacity:.3}.close-button:focus,.close-button:hover{opacity:1}.progress-bar-cover{right:0;z-index:100;direction:rtl}.progress-bar,.progress-bar-cover{position:absolute;bottom:0;width:100%;height:5px;transform-origin:left}.progress-bar{left:0;z-index:99;opacity:.7;background-color:hsla(0,0%,100%,.7)}.progress-bar--controlled{transition:transform .2s}.progress-bar--rtl{right:0;left:auto;transform-origin:right}.progress-bar--default{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55)}.icon-container,.toast-body{vertical-align:middle}.icon-container{display:inline-block;width:25px}.icon-container span{margin-right:.5rem;display:inline-block;text-align:center;width:20px}.icon-container span i{vertical-align:middle}.fa,.material-icons{font-size:18px}.toast-container{display:inline-block;width:calc(100% - 25px);vertical-align:middle}"], directives: [{ type: i1__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
/** @nocollapse */ ToastifyToastComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: ToastifyToastComponent, selector: "lib-toastify-toast", inputs: { autoClose: "autoClose", autoCloseError: "autoCloseError", autoCloseSuccess: "autoCloseSuccess", autoCloseInfo: "autoCloseInfo", autoCloseWarn: "autoCloseWarn", hideProgressBar: "hideProgressBar", pauseOnHover: "pauseOnHover", pauseOnVisibilityChange: "pauseOnVisibilityChange", closeOnClick: "closeOnClick", toast: "toast", iconLibrary: "iconLibrary" }, outputs: { dismissEvent: "dismissEvent" }, host: { listeners: { "click": "handleHostClick()", "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()", "document:visibilitychange": "handleVisibilityChange()" } }, viewQueries: [{ propertyName: "progressBar", first: true, predicate: ["progressBar"], descendants: true }, { propertyName: "progressBarCover", first: true, predicate: ["progressBarCover"], descendants: true }], ngImport: i0__namespace, template: "<div role=\"alert\" class=\"toast-body\">\n <div class=\"icon-container\">\n <span *ngIf=\"iconLibrary == 'material'\" [ngSwitch]=\"toast.type\">\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.info\">info_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.default\">info_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.warning\">warning_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.error\">error_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.success\">done</i>\n </span>\n <span *ngIf=\"iconLibrary == 'font-awesome'\" [ngSwitch]=\"toast.type\">\n <i *ngSwitchCase=\"ToastType.info\" class=\"fa fa-info\"></i>\n <i *ngSwitchCase=\"ToastType.default\" class=\"fa fa-info\"></i>\n <i *ngSwitchCase=\"ToastType.warning\" class=\"fa fa-exclamation-triangle\"></i>\n <i *ngSwitchCase=\"ToastType.error\" class=\"fa fa-exclamation\"></i>\n <i *ngSwitchCase=\"ToastType.success\" class=\"fa fa-check\"></i>\n </span>\n </div>\n <div class=\"toast-container\">\n <div>{{toast.message}}</div>\n </div>\n <div class=\"close-container\">\n <button (click)=\"handleDismissButtonAction()\" class=\"close-button close-button--{{ToastType[toast.type]}}\" type=\"button\" aria-label=\"close\">\u2716</button>\n </div>\n</div>\n\n<div #progressBar *ngIf=\"!hideProgressBar\" class=\"progress-bar progress-bar&#45;&#45;{{ToastType[toast.type]}}\" style=\"opacity: 1;\"></div>\n<div #progressBarCover *ngIf=\"!hideProgressBar\" class=\"progress-bar-cover toast--{{ToastType[toast.type]}}\" [style.animation-duration]=\"this.autoCloseAfterSpecificChange() + 'ms'\" [style.animation-play-state]=\"running? 'running' : 'paused'\"></div>\n", styles: [".toast{position:relative;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:1px;box-shadow:0 1px 10px 0 rgba(0,0,0,.1),0 2px 15px 0 rgba(0,0,0,.05);display:flex;justify-content:space-between;max-height:800px;overflow:hidden;font-family:sans-serif;cursor:pointer;direction:ltr}.toast--rtl{direction:rtl}.toast--default{background:#fff;color:#aaa}.toast--info{background:#3498db}.toast--success{background:#07bc0c}.toast--warning{background:#f1c40f}.toast--error{background:#e74c3c}.toast-body{margin:auto 0;flex:1}@media only screen and (max-width:480px){.toast{margin-bottom:0}}.close-button{color:#fff;font-weight:700;font-size:14px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;align-self:flex-start}.close-button--default{color:#000;opacity:.3}.close-button:focus,.close-button:hover{opacity:1}.progress-bar-cover{right:0;z-index:100;direction:rtl}.progress-bar,.progress-bar-cover{position:absolute;bottom:0;width:100%;height:5px;transform-origin:left}.progress-bar{left:0;z-index:99;opacity:.7;background-color:hsla(0,0%,100%,.7)}.progress-bar--controlled{transition:transform .2s}.progress-bar--rtl{right:0;left:auto;transform-origin:right}.progress-bar--default{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55)}.toast-body{min-width:0;min-height:0}.icon-container,.toast-body{vertical-align:middle;display:flex}.icon-container{flex-direction:column;justify-content:center;width:25px}.icon-container span{margin-right:.5rem;display:inline-block;text-align:center;width:20px}.icon-container span i{vertical-align:middle}.fa,.material-icons{font-size:18px}.toast-container{width:calc(100% - 25px);overflow-y:scroll;display:flex;flex-direction:column;min-height:0}.toast-container>div{display:flex;flex:1;flex-direction:column;justify-content:center}"], directives: [{ type: i1__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0__namespace, type: ToastifyToastComponent, decorators: [{

@@ -385,3 +385,3 @@ type: i0.Component,

/** @nocollapse */ ToastifyToastContainerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0__namespace, type: ToastifyToastContainerComponent, deps: [{ token: ToastService }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
/** @nocollapse */ ToastifyToastContainerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: ToastifyToastContainerComponent, selector: "lib-toastify-toast-container", inputs: { position: "position", transition: "transition", autoClose: "autoClose", autoCloseError: "autoCloseError", autoCloseSuccess: "autoCloseSuccess", autoCloseInfo: "autoCloseInfo", autoCloseWarn: "autoCloseWarn", hideProgressBar: "hideProgressBar", pauseOnHover: "pauseOnHover", pauseOnVisibilityChange: "pauseOnVisibilityChange", closeOnClick: "closeOnClick", newestOnTop: "newestOnTop", preventDuplicates: "preventDuplicates", iconLibrary: "iconLibrary" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div class=\"toast-container toast-container--{{position}}\">\n <lib-toastify-toast *ngFor=\"let toast of toasts\" [class]=\"getClass(toast)\" style=\"animation-fill-mode: both; animation-duration: 0.75s\"\n [autoClose]=\"autoClose\" [autoCloseSuccess]=\"this.autoCloseSuccess\" [autoCloseError]=\"this.autoCloseError\" [autoCloseWarn]=\"this.autoCloseWarn\" \n [autoCloseInfo]=\"this.autoCloseInfo\" [toast]=\"toast\" (dismissEvent)=\"dismiss(toast)\" [hideProgressBar]=\"hideProgressBar\" [pauseOnHover]=\"pauseOnHover\"\n [pauseOnVisibilityChange]=\"pauseOnVisibilityChange\" [closeOnClick]=\"closeOnClick\" [iconLibrary]=\"iconLibrary\">\n </lib-toastify-toast>\n</div>", styles: [".toast-container{z-index:9999;-webkit-transform:translateZ(9999px);position:fixed;padding:4px;width:320px;box-sizing:border-box;color:#fff}.toast-container--top-left{top:1em;left:1em}.toast-container--top-center{top:1em;left:50%;margin-left:-160px}.toast-container--top-right{top:1em;right:1em}.toast-container--bottom-left{bottom:1em;left:1em}.toast-container--bottom-center{bottom:1em;left:50%;margin-left:-160px}.toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.toast-container{width:100vw;padding:0;left:0;margin:0}.toast-container--top-center,.toast-container--top-left,.toast-container--top-right{top:0}.toast-container--bottom-center,.toast-container--bottom-left,.toast-container--bottom-right{bottom:0}.toast-container--rtl{right:0;left:auto}}.toast{position:relative;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:1px;box-shadow:0 1px 10px 0 rgba(0,0,0,.1),0 2px 15px 0 rgba(0,0,0,.05);display:flex;justify-content:space-between;max-height:800px;overflow:hidden;font-family:sans-serif;cursor:pointer;direction:ltr}.toast--rtl{direction:rtl}.toast--default{background:#fff;color:#aaa}.toast--info{background:#3498db}.toast--success{background:#07bc0c}.toast--warning{background:#f1c40f}.toast--error{background:#e74c3c}.toast-body{margin:auto 0;flex:1}@media only screen and (max-width:480px){.toast{margin-bottom:0}}@keyframes bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.bounce-enter--bottom-left,.bounce-enter--top-left{animation-name:bounceInLeft}.bounce-enter--bottom-right,.bounce-enter--top-right{animation-name:bounceInRight}.bounce-enter--top-center{animation-name:bounceInDown}.bounce-enter--bottom-center{animation-name:bounceInUp}.bounce-exit--bottom-left,.bounce-exit--top-left{animation-name:bounceOutLeft}.bounce-exit--bottom-right,.bounce-exit--top-right{animation-name:bounceOutRight}.bounce-exit--top-center{animation-name:bounceOutUp}.bounce-exit--bottom-center{animation-name:bounceOutDown}@keyframes zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoom-enter{animation-name:zoomIn}.zoom-exit{animation-name:zoomOut}@keyframes flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes flipOut{0%{transform:perspective(400px)}30%{transform:perspective(400px) rotateX(-20deg);opacity:1}to{transform:perspective(400px) rotateX(90deg);opacity:0}}.flip-enter{animation-name:flipIn}.flip-exit{animation-name:flipOut}@keyframes slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideOutRight{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(110%,0,0)}}@keyframes slideOutLeft{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(-110%,0,0)}}@keyframes slideOutDown{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes slideOutUp{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.slide-enter--bottom-left,.slide-enter--top-left{animation-name:slideInLeft}.slide-enter--bottom-right,.slide-enter--top-right{animation-name:slideInRight}.slide-enter--top-center{animation-name:slideInDown}.slide-enter--bottom-center{animation-name:slideInUp}.slide-exit--bottom-left,.slide-exit--top-left{animation-name:slideOutLeft}.slide-exit--bottom-right,.slide-exit--top-right{animation-name:slideOutRight}.slide-exit--top-center{animation-name:slideOutUp}.slide-exit--bottom-center{animation-name:slideOutDown}"], components: [{ type: ToastifyToastComponent, selector: "lib-toastify-toast", inputs: ["autoClose", "autoCloseError", "autoCloseSuccess", "autoCloseInfo", "autoCloseWarn", "hideProgressBar", "pauseOnHover", "pauseOnVisibilityChange", "closeOnClick", "toast", "iconLibrary"], outputs: ["dismissEvent"] }], directives: [{ type: i1__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
/** @nocollapse */ ToastifyToastContainerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: ToastifyToastContainerComponent, selector: "lib-toastify-toast-container", inputs: { position: "position", transition: "transition", autoClose: "autoClose", autoCloseError: "autoCloseError", autoCloseSuccess: "autoCloseSuccess", autoCloseInfo: "autoCloseInfo", autoCloseWarn: "autoCloseWarn", hideProgressBar: "hideProgressBar", pauseOnHover: "pauseOnHover", pauseOnVisibilityChange: "pauseOnVisibilityChange", closeOnClick: "closeOnClick", newestOnTop: "newestOnTop", preventDuplicates: "preventDuplicates", iconLibrary: "iconLibrary" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div class=\"toast-container toast-container--{{position}}\">\n <lib-toastify-toast *ngFor=\"let toast of toasts\" [class]=\"getClass(toast)\" style=\"animation-fill-mode: both; animation-duration: 0.75s; flex-direction: column;\"\n [autoClose]=\"autoClose\" [autoCloseSuccess]=\"this.autoCloseSuccess\" [autoCloseError]=\"this.autoCloseError\" [autoCloseWarn]=\"this.autoCloseWarn\"\n [autoCloseInfo]=\"this.autoCloseInfo\" [toast]=\"toast\" (dismissEvent)=\"dismiss(toast)\" [hideProgressBar]=\"hideProgressBar\" [pauseOnHover]=\"pauseOnHover\"\n [pauseOnVisibilityChange]=\"pauseOnVisibilityChange\" [closeOnClick]=\"closeOnClick\" [iconLibrary]=\"iconLibrary\">\n </lib-toastify-toast>\n</div>\n", styles: [".toast-container{word-break:break-word;z-index:9999;-webkit-transform:translateZ(9999px);position:fixed;padding:4px;width:320px;box-sizing:border-box;color:#fff}.toast-container--top-left{top:1em;left:1em}.toast-container--top-center{top:1em;left:50%;margin-left:-160px}.toast-container--top-right{top:1em;right:1em}.toast-container--bottom-left{bottom:1em;left:1em}.toast-container--bottom-center{bottom:1em;left:50%;margin-left:-160px}.toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.toast-container{width:100vw;padding:0;left:0;margin:0}.toast-container--top-center,.toast-container--top-left,.toast-container--top-right{top:0}.toast-container--bottom-center,.toast-container--bottom-left,.toast-container--bottom-right{bottom:0}.toast-container--rtl{right:0;left:auto}}.toast{position:relative;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:1px;box-shadow:0 1px 10px 0 rgba(0,0,0,.1),0 2px 15px 0 rgba(0,0,0,.05);display:flex;justify-content:space-between;max-height:800px;overflow:hidden;font-family:sans-serif;cursor:pointer;direction:ltr}.toast--rtl{direction:rtl}.toast--default{background:#fff;color:#aaa}.toast--info{background:#3498db}.toast--success{background:#07bc0c}.toast--warning{background:#f1c40f}.toast--error{background:#e74c3c}.toast-body{margin:auto 0;flex:1}@media only screen and (max-width:480px){.toast{margin-bottom:0}}@keyframes bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.bounce-enter--bottom-left,.bounce-enter--top-left{animation-name:bounceInLeft}.bounce-enter--bottom-right,.bounce-enter--top-right{animation-name:bounceInRight}.bounce-enter--top-center{animation-name:bounceInDown}.bounce-enter--bottom-center{animation-name:bounceInUp}.bounce-exit--bottom-left,.bounce-exit--top-left{animation-name:bounceOutLeft}.bounce-exit--bottom-right,.bounce-exit--top-right{animation-name:bounceOutRight}.bounce-exit--top-center{animation-name:bounceOutUp}.bounce-exit--bottom-center{animation-name:bounceOutDown}@keyframes zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoom-enter{animation-name:zoomIn}.zoom-exit{animation-name:zoomOut}@keyframes flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes flipOut{0%{transform:perspective(400px)}30%{transform:perspective(400px) rotateX(-20deg);opacity:1}to{transform:perspective(400px) rotateX(90deg);opacity:0}}.flip-enter{animation-name:flipIn}.flip-exit{animation-name:flipOut}@keyframes slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideOutRight{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(110%,0,0)}}@keyframes slideOutLeft{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(-110%,0,0)}}@keyframes slideOutDown{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes slideOutUp{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.slide-enter--bottom-left,.slide-enter--top-left{animation-name:slideInLeft}.slide-enter--bottom-right,.slide-enter--top-right{animation-name:slideInRight}.slide-enter--top-center{animation-name:slideInDown}.slide-enter--bottom-center{animation-name:slideInUp}.slide-exit--bottom-left,.slide-exit--top-left{animation-name:slideOutLeft}.slide-exit--bottom-right,.slide-exit--top-right{animation-name:slideOutRight}.slide-exit--top-center{animation-name:slideOutUp}.slide-exit--bottom-center{animation-name:slideOutDown}"], components: [{ type: ToastifyToastComponent, selector: "lib-toastify-toast", inputs: ["autoClose", "autoCloseError", "autoCloseSuccess", "autoCloseInfo", "autoCloseWarn", "hideProgressBar", "pauseOnHover", "pauseOnVisibilityChange", "closeOnClick", "toast", "iconLibrary"], outputs: ["dismissEvent"] }], directives: [{ type: i1__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0__namespace, type: ToastifyToastContainerComponent, decorators: [{

@@ -388,0 +388,0 @@ type: i0.Component,

@@ -1,1 +0,1 @@

{"version":3,"file":"angular-toastify.umd.js","sources":["../../../projects/angular-toastify/src/lib/toast.ts","../../../projects/angular-toastify/src/lib/toast-type.ts","../../../projects/angular-toastify/src/lib/toast.service.ts","../../../projects/angular-toastify/src/lib/toastify-toast/toastify-toast.component.ts","../../../projects/angular-toastify/src/lib/toastify-toast/toastify-toast.component.html","../../../projects/angular-toastify/src/lib/toastify-toast-container/toastify-toast-container.component.ts","../../../projects/angular-toastify/src/lib/toastify-toast-container/toastify-toast-container.component.html","../../../projects/angular-toastify/src/lib/angular-toastify.module.ts","../../../projects/angular-toastify/src/public-api.ts","../../../projects/angular-toastify/src/angular-toastify.ts"],"sourcesContent":["import { ToastType } from './toast-type';\nimport { Observable, Subject } from 'rxjs';\n\nlet toastIdentitySequence = 0;\n\nexport class Toast {\n id: number;\n message: string;\n type: ToastType;\n readonly time: number;\n\n $resetToast: Subject<any>;\n\n constructor(message: string, type: ToastType) {\n this.message = message;\n this.type = type;\n this.time = new Date().getTime();\n this.id = toastIdentitySequence++;\n\n this.$resetToast = new Subject();\n }\n}\n","export enum ToastType {\n info,\n success,\n warning,\n error,\n default\n}\n","import { Injectable, EventEmitter } from '@angular/core';\nimport { Toast } from './toast';\nimport { ToastType } from './toast-type';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToastService {\n\n toastAddedEvent = new EventEmitter();\n constructor() { }\n\n dismissAllEvent = new EventEmitter();\n\n dismissAll() {\n this.dismissAllEvent.emit();\n }\n\n info(message: string) {\n const toast = new Toast(message, ToastType.info);\n this.toastAddedEvent.emit(toast);\n }\n\n success(message: string) {\n const toast = new Toast(message, ToastType.success);\n this.toastAddedEvent.emit(toast);\n }\n\n warn(message: string) {\n const toast = new Toast(message, ToastType.warning);\n this.toastAddedEvent.emit(toast);\n }\n\n error(message: string) {\n const toast = new Toast(message, ToastType.error);\n this.toastAddedEvent.emit(toast);\n }\n\n default(message: string) {\n const toast = new Toast(message, ToastType.default);\n this.toastAddedEvent.emit(toast);\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from \"@angular/core\";\nimport { ToastType } from \"../toast-type\";\nimport { Toast } from \"../toast\";\nimport { interval } from \"rxjs\";\nimport { throttle, throttleTime } from \"rxjs/operators\";\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: \"lib-toastify-toast\",\n templateUrl: \"./toastify-toast.component.html\",\n styleUrls: [\"./toastify-toast.component.scss\"],\n // changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ToastifyToastComponent implements OnInit, OnDestroy {\n @ViewChild(\"progressBar\") progressBar: ElementRef<HTMLElement>;\n @ViewChild(\"progressBarCover\") progressBarCover: ElementRef<HTMLElement>;\n\n @Input() autoClose = 5000; \n @Input() autoCloseError = undefined;\n @Input() autoCloseSuccess = undefined;\n @Input() autoCloseInfo = undefined;\n @Input() autoCloseWarn = undefined;\n @Input() hideProgressBar = false;\n @Input() pauseOnHover = true;\n @Input() pauseOnVisibilityChange = true;\n @Input() closeOnClick = true;\n @Input() toast: Toast;\n @Input() iconLibrary: \"material\" | \"font-awesome\" | \"none\";\n\n @Output() dismissEvent = new EventEmitter();\n\n private expectedAutoDismissTime: number;\n private autoDismissTimeout: any;\n private autoCloseRemaining: number;\n\n private pauseTime: number;\n private startTime: number;\n\n private _progressBarAnimation: number;\n private _$updateTimer;\n\n ToastType = ToastType;\n running = false;\n\n constructor(private _cd: ChangeDetectorRef, private _zone: NgZone) {}\n\n ngOnInit(): void {\n this.autoCloseRemaining = this.autoCloseAfterSpecificChange();\n this.startTime = this.toast.time;\n this.toast.$resetToast.subscribe(() => this.resetToastTimer());\n // Do not start timer when toast is prompted while window is out of focus\n if (this.handleVisibilityChange && document.visibilityState === \"visible\") {\n this.startCloseTimer();\n }\n\n // Start progress bar animation\n this.triggerProgressBarAnimation();\n }\n\n private triggerProgressBarAnimation(): void {\n // Cancel previous animlation to avoid leaks\n if (this._progressBarAnimation !== undefined) {\n cancelAnimationFrame(this._progressBarAnimation);\n }\n\n // Start animation\n const frame = () => {\n if (this.running) {\n const remainingTime = Math.max(0, this.expectedAutoDismissTime - new Date().getTime());\n const percentage = 100 - ((remainingTime / this.autoCloseAfterSpecificChange()) * 100);\n this.progressBarCover.nativeElement.style.width = percentage + \"%\";\n if (percentage <= 0) return;\n }\n this._progressBarAnimation = requestAnimationFrame(frame);\n };\n this._progressBarAnimation = requestAnimationFrame(frame);\n }\n\n ngOnDestroy(): void {\n // Cancel animation\n if (this._progressBarAnimation) {\n cancelAnimationFrame(this._progressBarAnimation);\n this._progressBarAnimation = undefined;\n }\n // Clear auto close timeout\n this.clearTimerTimeout();\n // Complete all observables\n this.toast.$resetToast?.complete();\n this.toast.$resetToast = null;\n this._$updateTimer?.complete();\n this._$updateTimer = null;\n }\n\n startCloseTimer(): void {\n if (this.running || !this.autoCloseAfterSpecificChange()) {\n return;\n }\n\n this.running = true;\n this.expectedAutoDismissTime =\n new Date().getTime() + this.autoCloseRemaining;\n this.autoDismissTimeout = this._zone.runOutsideAngular(() =>\n setTimeout(() => {\n this._zone.run(() => {\n this.dismissEvent.emit();\n this._cd.markForCheck();\n });\n }, this.autoCloseRemaining)\n );\n }\n\n autoCloseAfterSpecificChange(): number {\n const specificAmount = (() => {\n switch (this.toast.type) {\n case ToastType.success:\n return this.autoCloseSuccess;\n case ToastType.error:\n return this.autoCloseError;\n case ToastType.warning:\n return this.autoCloseWarn;\n case ToastType.info:\n return this.autoCloseInfo;\n default:\n return undefined;\n }\n })();\n\n return specificAmount === undefined ? this.autoClose : specificAmount;\n }\n\n pauseCloseTimer(): void {\n this.running = false;\n this.clearTimerTimeout();\n\n // Calculate the elapsed time, subtract remaining time\n this.pauseTime = new Date().getTime();\n const elapsed = this.pauseTime - this.startTime;\n this.autoCloseRemaining = this.autoCloseAfterSpecificChange() - elapsed;\n }\n\n resetToastTimer() {\n this.clearTimerTimeout();\n this.running = false;\n this.startTime = new Date().getTime();\n this.autoCloseRemaining = this.autoCloseAfterSpecificChange();\n this.startCloseTimer();\n }\n\n clearTimerTimeout(): void {\n if (this.autoDismissTimeout !== undefined) {\n this.expectedAutoDismissTime = undefined;\n clearTimeout(this.autoDismissTimeout);\n }\n }\n\n handleDismissButtonAction(): void {\n if (this.closeOnClick) {\n return; // Let the other event handle the dismissal\n }\n\n this.clearTimerTimeout();\n this.dismissEvent.emit();\n }\n\n @HostListener(\"click\")\n handleHostClick(): void {\n if (this.closeOnClick) {\n this.clearTimerTimeout();\n this.dismissEvent.emit();\n }\n }\n\n @HostListener(\"mouseenter\")\n handleMouseEnter(): void {\n if (this.pauseOnHover) {\n this.pauseCloseTimer();\n }\n }\n\n @HostListener(\"mouseleave\")\n handleMouseLeave(): void {\n if (this.pauseOnHover) {\n this.startCloseTimer();\n this.startTime = new Date().getTime() + (this.startTime - this.pauseTime);\n }\n }\n\n @HostListener(\"document:visibilitychange\")\n handleVisibilityChange(): void {\n if (!this.pauseOnVisibilityChange) {\n return;\n }\n\n if (document.visibilityState !== \"visible\") {\n this.pauseCloseTimer();\n this._cd.detectChanges();\n } else {\n this.startCloseTimer();\n }\n }\n}\n","<div role=\"alert\" class=\"toast-body\">\n <div class=\"icon-container\">\n <span *ngIf=\"iconLibrary == 'material'\" [ngSwitch]=\"toast.type\">\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.info\">info_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.default\">info_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.warning\">warning_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.error\">error_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.success\">done</i>\n </span>\n <span *ngIf=\"iconLibrary == 'font-awesome'\" [ngSwitch]=\"toast.type\">\n <i *ngSwitchCase=\"ToastType.info\" class=\"fa fa-info\"></i>\n <i *ngSwitchCase=\"ToastType.default\" class=\"fa fa-info\"></i>\n <i *ngSwitchCase=\"ToastType.warning\" class=\"fa fa-exclamation-triangle\"></i>\n <i *ngSwitchCase=\"ToastType.error\" class=\"fa fa-exclamation\"></i>\n <i *ngSwitchCase=\"ToastType.success\" class=\"fa fa-check\"></i>\n </span>\n </div>\n <div class=\"toast-container\">\n <span>{{toast.message}}</span>\n </div>\n</div>\n<button (click)=\"handleDismissButtonAction()\" class=\"close-button close-button--{{ToastType[toast.type]}}\" type=\"button\" aria-label=\"close\">✖</button>\n\n<div #progressBar *ngIf=\"!hideProgressBar\" class=\"progress-bar progress-bar&#45;&#45;{{ToastType[toast.type]}}\" style=\"opacity: 1;\"></div>\n<div #progressBarCover *ngIf=\"!hideProgressBar\" class=\"progress-bar-cover toast--{{ToastType[toast.type]}}\" [style.animation-duration]=\"this.autoCloseAfterSpecificChange() + 'ms'\" [style.animation-play-state]=\"running? 'running' : 'paused'\"></div>\n","import { Component, OnInit, Input, ChangeDetectionStrategy, ChangeDetectorRef, OnChanges, SimpleChanges } from '@angular/core';\nimport { ToastService } from '../toast.service';\nimport { Toast } from '../toast';\nimport { ToastType } from '../toast-type';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'lib-toastify-toast-container',\n templateUrl: './toastify-toast-container.component.html',\n styleUrls: ['./toastify-toast-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ToastifyToastContainerComponent implements OnInit, OnChanges {\n private readonly transitionDurations = 400;\n\n @Input() position: 'top-left' | 'top-right' | 'bottom-right' | 'bottom-left' = 'top-right';\n @Input() transition: 'bounce' | 'slide' | 'zoom' | 'flip' = 'bounce';\n @Input() autoClose = 5000;\n @Input() autoCloseError = undefined;\n @Input() autoCloseSuccess = undefined;\n @Input() autoCloseInfo = undefined;\n @Input() autoCloseWarn = undefined;\n @Input() hideProgressBar = false;\n @Input() pauseOnHover = true;\n @Input() pauseOnVisibilityChange = true;\n @Input() closeOnClick = true;\n @Input() newestOnTop = false;\n @Input() preventDuplicates = false;\n @Input() iconLibrary: 'material' | 'font-awesome' | 'none' = 'none';\n\n ToastType = ToastType;\n toasts = new Array<Toast>();\n toastTransitionDict = {};\n\n constructor(private _toastService: ToastService, private _cd: ChangeDetectorRef) { }\n\n ngOnChanges(): void {\n this._cd.markForCheck();\n }\n\n dismiss(toast: Toast): void {\n this.toastTransitionDict[toast.id] = TransitionState.exiting;\n setTimeout(() => {\n const index = this.toasts.indexOf(toast);\n this.toasts.splice(index, 1);\n this._cd.markForCheck();\n }, this.transitionDurations);\n }\n\n getClass(toast: Toast): string {\n let base = `toast toast--${ToastType[toast.type]} `;\n const state = this.toastTransitionDict[toast.id];\n if (state === TransitionState.entering) {\n base += `${this.transition}-enter ${this.transition}-enter--${this.position}`;\n } else if (state === TransitionState.exiting) {\n base += `${this.transition}-exit ${this.transition}-exit--${this.position}`;\n }\n\n return base;\n }\n\n ngOnInit(): void {\n this._toastService.dismissAllEvent.subscribe(() => {\n this.toasts = new Array<Toast>();\n this._cd.markForCheck();\n });\n\n this._toastService.toastAddedEvent.subscribe((toast: Toast) => this.handleToastAddedEvent(toast));\n }\n\n handleToastAddedEvent(toast: Toast): void {\n // If \"preventDuplicates\" is enabled, toast is not added if one toast with same message exists\n // The only thing to do is to update the toast time to keep it visible\n if(this.preventDuplicates === true) {\n const sameToast: Toast = this.toasts.find((existingToast) => existingToast.message === toast.message);\n if (sameToast) {\n sameToast.$resetToast.next();\n this._cd.markForCheck();\n return;\n }\n }\n\n // Add new toast transition\n this.toastTransitionDict[toast.id] = TransitionState.entering;\n setTimeout(() => {\n this.toastTransitionDict[toast.id] = TransitionState.noTransition;\n this._cd.markForCheck();\n }, this.transitionDurations);\n\n // Add new toast\n if (this.newestOnTop) {\n this.toasts.unshift(toast);\n } else {\n this.toasts.push(toast);\n }\n this._cd.markForCheck();\n }\n}\n\nenum TransitionState {\n entering,\n noTransition,\n exiting\n}\n","<div class=\"toast-container toast-container--{{position}}\">\n <lib-toastify-toast *ngFor=\"let toast of toasts\" [class]=\"getClass(toast)\" style=\"animation-fill-mode: both; animation-duration: 0.75s\"\n [autoClose]=\"autoClose\" [autoCloseSuccess]=\"this.autoCloseSuccess\" [autoCloseError]=\"this.autoCloseError\" [autoCloseWarn]=\"this.autoCloseWarn\" \n [autoCloseInfo]=\"this.autoCloseInfo\" [toast]=\"toast\" (dismissEvent)=\"dismiss(toast)\" [hideProgressBar]=\"hideProgressBar\" [pauseOnHover]=\"pauseOnHover\"\n [pauseOnVisibilityChange]=\"pauseOnVisibilityChange\" [closeOnClick]=\"closeOnClick\" [iconLibrary]=\"iconLibrary\">\n </lib-toastify-toast>\n</div>","import { NgModule } from '@angular/core';\nimport { ToastifyToastComponent } from './toastify-toast/toastify-toast.component';\nimport { ToastifyToastContainerComponent } from './toastify-toast-container/toastify-toast-container.component';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [ToastifyToastComponent, ToastifyToastContainerComponent],\n imports: [ CommonModule ],\n exports: [ToastifyToastContainerComponent]\n})\nexport class AngularToastifyModule { }\n","/*\n * Public API Surface of angular-toastify\n */\n\nexport * from './lib/toast.service';\nexport * from './lib/toastify-toast-container/toastify-toast-container.component';\nexport * from './lib/angular-toastify.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Subject","EventEmitter","Injectable","Component","ViewChild","Input","Output","HostListener","ChangeDetectionStrategy","CommonModule","NgModule"],"mappings":"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"}
{"version":3,"file":"angular-toastify.umd.js","sources":["../../../projects/angular-toastify/src/lib/toast.ts","../../../projects/angular-toastify/src/lib/toast-type.ts","../../../projects/angular-toastify/src/lib/toast.service.ts","../../../projects/angular-toastify/src/lib/toastify-toast/toastify-toast.component.ts","../../../projects/angular-toastify/src/lib/toastify-toast/toastify-toast.component.html","../../../projects/angular-toastify/src/lib/toastify-toast-container/toastify-toast-container.component.ts","../../../projects/angular-toastify/src/lib/toastify-toast-container/toastify-toast-container.component.html","../../../projects/angular-toastify/src/lib/angular-toastify.module.ts","../../../projects/angular-toastify/src/public-api.ts","../../../projects/angular-toastify/src/angular-toastify.ts"],"sourcesContent":["import { ToastType } from './toast-type';\nimport { Observable, Subject } from 'rxjs';\n\nlet toastIdentitySequence = 0;\n\nexport class Toast {\n id: number;\n message: string;\n type: ToastType;\n readonly time: number;\n\n $resetToast: Subject<any>;\n\n constructor(message: string, type: ToastType) {\n this.message = message;\n this.type = type;\n this.time = new Date().getTime();\n this.id = toastIdentitySequence++;\n\n this.$resetToast = new Subject();\n }\n}\n","export enum ToastType {\n info,\n success,\n warning,\n error,\n default\n}\n","import { Injectable, EventEmitter } from '@angular/core';\nimport { Toast } from './toast';\nimport { ToastType } from './toast-type';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToastService {\n\n toastAddedEvent = new EventEmitter();\n constructor() { }\n\n dismissAllEvent = new EventEmitter();\n\n dismissAll() {\n this.dismissAllEvent.emit();\n }\n\n info(message: string) {\n const toast = new Toast(message, ToastType.info);\n this.toastAddedEvent.emit(toast);\n }\n\n success(message: string) {\n const toast = new Toast(message, ToastType.success);\n this.toastAddedEvent.emit(toast);\n }\n\n warn(message: string) {\n const toast = new Toast(message, ToastType.warning);\n this.toastAddedEvent.emit(toast);\n }\n\n error(message: string) {\n const toast = new Toast(message, ToastType.error);\n this.toastAddedEvent.emit(toast);\n }\n\n default(message: string) {\n const toast = new Toast(message, ToastType.default);\n this.toastAddedEvent.emit(toast);\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from \"@angular/core\";\nimport { ToastType } from \"../toast-type\";\nimport { Toast } from \"../toast\";\nimport { interval } from \"rxjs\";\nimport { throttle, throttleTime } from \"rxjs/operators\";\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: \"lib-toastify-toast\",\n templateUrl: \"./toastify-toast.component.html\",\n styleUrls: [\"./toastify-toast.component.scss\"],\n // changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ToastifyToastComponent implements OnInit, OnDestroy {\n @ViewChild(\"progressBar\") progressBar: ElementRef<HTMLElement>;\n @ViewChild(\"progressBarCover\") progressBarCover: ElementRef<HTMLElement>;\n\n @Input() autoClose = 5000; \n @Input() autoCloseError = undefined;\n @Input() autoCloseSuccess = undefined;\n @Input() autoCloseInfo = undefined;\n @Input() autoCloseWarn = undefined;\n @Input() hideProgressBar = false;\n @Input() pauseOnHover = true;\n @Input() pauseOnVisibilityChange = true;\n @Input() closeOnClick = true;\n @Input() toast: Toast;\n @Input() iconLibrary: \"material\" | \"font-awesome\" | \"none\";\n\n @Output() dismissEvent = new EventEmitter();\n\n private expectedAutoDismissTime: number;\n private autoDismissTimeout: any;\n private autoCloseRemaining: number;\n\n private pauseTime: number;\n private startTime: number;\n\n private _progressBarAnimation: number;\n private _$updateTimer;\n\n ToastType = ToastType;\n running = false;\n\n constructor(private _cd: ChangeDetectorRef, private _zone: NgZone) {}\n\n ngOnInit(): void {\n this.autoCloseRemaining = this.autoCloseAfterSpecificChange();\n this.startTime = this.toast.time;\n this.toast.$resetToast.subscribe(() => this.resetToastTimer());\n // Do not start timer when toast is prompted while window is out of focus\n if (this.handleVisibilityChange && document.visibilityState === \"visible\") {\n this.startCloseTimer();\n }\n\n // Start progress bar animation\n this.triggerProgressBarAnimation();\n }\n\n private triggerProgressBarAnimation(): void {\n // Cancel previous animlation to avoid leaks\n if (this._progressBarAnimation !== undefined) {\n cancelAnimationFrame(this._progressBarAnimation);\n }\n\n // Start animation\n const frame = () => {\n if (this.running) {\n const remainingTime = Math.max(0, this.expectedAutoDismissTime - new Date().getTime());\n const percentage = 100 - ((remainingTime / this.autoCloseAfterSpecificChange()) * 100);\n this.progressBarCover.nativeElement.style.width = percentage + \"%\";\n if (percentage <= 0) return;\n }\n this._progressBarAnimation = requestAnimationFrame(frame);\n };\n this._progressBarAnimation = requestAnimationFrame(frame);\n }\n\n ngOnDestroy(): void {\n // Cancel animation\n if (this._progressBarAnimation) {\n cancelAnimationFrame(this._progressBarAnimation);\n this._progressBarAnimation = undefined;\n }\n // Clear auto close timeout\n this.clearTimerTimeout();\n // Complete all observables\n this.toast.$resetToast?.complete();\n this.toast.$resetToast = null;\n this._$updateTimer?.complete();\n this._$updateTimer = null;\n }\n\n startCloseTimer(): void {\n if (this.running || !this.autoCloseAfterSpecificChange()) {\n return;\n }\n\n this.running = true;\n this.expectedAutoDismissTime =\n new Date().getTime() + this.autoCloseRemaining;\n this.autoDismissTimeout = this._zone.runOutsideAngular(() =>\n setTimeout(() => {\n this._zone.run(() => {\n this.dismissEvent.emit();\n this._cd.markForCheck();\n });\n }, this.autoCloseRemaining)\n );\n }\n\n autoCloseAfterSpecificChange(): number {\n const specificAmount = (() => {\n switch (this.toast.type) {\n case ToastType.success:\n return this.autoCloseSuccess;\n case ToastType.error:\n return this.autoCloseError;\n case ToastType.warning:\n return this.autoCloseWarn;\n case ToastType.info:\n return this.autoCloseInfo;\n default:\n return undefined;\n }\n })();\n\n return specificAmount === undefined ? this.autoClose : specificAmount;\n }\n\n pauseCloseTimer(): void {\n this.running = false;\n this.clearTimerTimeout();\n\n // Calculate the elapsed time, subtract remaining time\n this.pauseTime = new Date().getTime();\n const elapsed = this.pauseTime - this.startTime;\n this.autoCloseRemaining = this.autoCloseAfterSpecificChange() - elapsed;\n }\n\n resetToastTimer() {\n this.clearTimerTimeout();\n this.running = false;\n this.startTime = new Date().getTime();\n this.autoCloseRemaining = this.autoCloseAfterSpecificChange();\n this.startCloseTimer();\n }\n\n clearTimerTimeout(): void {\n if (this.autoDismissTimeout !== undefined) {\n this.expectedAutoDismissTime = undefined;\n clearTimeout(this.autoDismissTimeout);\n }\n }\n\n handleDismissButtonAction(): void {\n if (this.closeOnClick) {\n return; // Let the other event handle the dismissal\n }\n\n this.clearTimerTimeout();\n this.dismissEvent.emit();\n }\n\n @HostListener(\"click\")\n handleHostClick(): void {\n if (this.closeOnClick) {\n this.clearTimerTimeout();\n this.dismissEvent.emit();\n }\n }\n\n @HostListener(\"mouseenter\")\n handleMouseEnter(): void {\n if (this.pauseOnHover) {\n this.pauseCloseTimer();\n }\n }\n\n @HostListener(\"mouseleave\")\n handleMouseLeave(): void {\n if (this.pauseOnHover) {\n this.startCloseTimer();\n this.startTime = new Date().getTime() + (this.startTime - this.pauseTime);\n }\n }\n\n @HostListener(\"document:visibilitychange\")\n handleVisibilityChange(): void {\n if (!this.pauseOnVisibilityChange) {\n return;\n }\n\n if (document.visibilityState !== \"visible\") {\n this.pauseCloseTimer();\n this._cd.detectChanges();\n } else {\n this.startCloseTimer();\n }\n }\n}\n","<div role=\"alert\" class=\"toast-body\">\n <div class=\"icon-container\">\n <span *ngIf=\"iconLibrary == 'material'\" [ngSwitch]=\"toast.type\">\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.info\">info_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.default\">info_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.warning\">warning_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.error\">error_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.success\">done</i>\n </span>\n <span *ngIf=\"iconLibrary == 'font-awesome'\" [ngSwitch]=\"toast.type\">\n <i *ngSwitchCase=\"ToastType.info\" class=\"fa fa-info\"></i>\n <i *ngSwitchCase=\"ToastType.default\" class=\"fa fa-info\"></i>\n <i *ngSwitchCase=\"ToastType.warning\" class=\"fa fa-exclamation-triangle\"></i>\n <i *ngSwitchCase=\"ToastType.error\" class=\"fa fa-exclamation\"></i>\n <i *ngSwitchCase=\"ToastType.success\" class=\"fa fa-check\"></i>\n </span>\n </div>\n <div class=\"toast-container\">\n <div>{{toast.message}}</div>\n </div>\n <div class=\"close-container\">\n <button (click)=\"handleDismissButtonAction()\" class=\"close-button close-button--{{ToastType[toast.type]}}\" type=\"button\" aria-label=\"close\">✖</button>\n </div>\n</div>\n\n<div #progressBar *ngIf=\"!hideProgressBar\" class=\"progress-bar progress-bar&#45;&#45;{{ToastType[toast.type]}}\" style=\"opacity: 1;\"></div>\n<div #progressBarCover *ngIf=\"!hideProgressBar\" class=\"progress-bar-cover toast--{{ToastType[toast.type]}}\" [style.animation-duration]=\"this.autoCloseAfterSpecificChange() + 'ms'\" [style.animation-play-state]=\"running? 'running' : 'paused'\"></div>\n","import { Component, OnInit, Input, ChangeDetectionStrategy, ChangeDetectorRef, OnChanges, SimpleChanges } from '@angular/core';\nimport { ToastService } from '../toast.service';\nimport { Toast } from '../toast';\nimport { ToastType } from '../toast-type';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'lib-toastify-toast-container',\n templateUrl: './toastify-toast-container.component.html',\n styleUrls: ['./toastify-toast-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ToastifyToastContainerComponent implements OnInit, OnChanges {\n private readonly transitionDurations = 400;\n\n @Input() position: 'top-left' | 'top-right' | 'bottom-right' | 'bottom-left' = 'top-right';\n @Input() transition: 'bounce' | 'slide' | 'zoom' | 'flip' = 'bounce';\n @Input() autoClose = 5000;\n @Input() autoCloseError = undefined;\n @Input() autoCloseSuccess = undefined;\n @Input() autoCloseInfo = undefined;\n @Input() autoCloseWarn = undefined;\n @Input() hideProgressBar = false;\n @Input() pauseOnHover = true;\n @Input() pauseOnVisibilityChange = true;\n @Input() closeOnClick = true;\n @Input() newestOnTop = false;\n @Input() preventDuplicates = false;\n @Input() iconLibrary: 'material' | 'font-awesome' | 'none' = 'none';\n\n ToastType = ToastType;\n toasts = new Array<Toast>();\n toastTransitionDict = {};\n\n constructor(private _toastService: ToastService, private _cd: ChangeDetectorRef) { }\n\n ngOnChanges(): void {\n this._cd.markForCheck();\n }\n\n dismiss(toast: Toast): void {\n this.toastTransitionDict[toast.id] = TransitionState.exiting;\n setTimeout(() => {\n const index = this.toasts.indexOf(toast);\n this.toasts.splice(index, 1);\n this._cd.markForCheck();\n }, this.transitionDurations);\n }\n\n getClass(toast: Toast): string {\n let base = `toast toast--${ToastType[toast.type]} `;\n const state = this.toastTransitionDict[toast.id];\n if (state === TransitionState.entering) {\n base += `${this.transition}-enter ${this.transition}-enter--${this.position}`;\n } else if (state === TransitionState.exiting) {\n base += `${this.transition}-exit ${this.transition}-exit--${this.position}`;\n }\n\n return base;\n }\n\n ngOnInit(): void {\n this._toastService.dismissAllEvent.subscribe(() => {\n this.toasts = new Array<Toast>();\n this._cd.markForCheck();\n });\n\n this._toastService.toastAddedEvent.subscribe((toast: Toast) => this.handleToastAddedEvent(toast));\n }\n\n handleToastAddedEvent(toast: Toast): void {\n // If \"preventDuplicates\" is enabled, toast is not added if one toast with same message exists\n // The only thing to do is to update the toast time to keep it visible\n if(this.preventDuplicates === true) {\n const sameToast: Toast = this.toasts.find((existingToast) => existingToast.message === toast.message);\n if (sameToast) {\n sameToast.$resetToast.next();\n this._cd.markForCheck();\n return;\n }\n }\n\n // Add new toast transition\n this.toastTransitionDict[toast.id] = TransitionState.entering;\n setTimeout(() => {\n this.toastTransitionDict[toast.id] = TransitionState.noTransition;\n this._cd.markForCheck();\n }, this.transitionDurations);\n\n // Add new toast\n if (this.newestOnTop) {\n this.toasts.unshift(toast);\n } else {\n this.toasts.push(toast);\n }\n this._cd.markForCheck();\n }\n}\n\nenum TransitionState {\n entering,\n noTransition,\n exiting\n}\n","<div class=\"toast-container toast-container--{{position}}\">\n <lib-toastify-toast *ngFor=\"let toast of toasts\" [class]=\"getClass(toast)\" style=\"animation-fill-mode: both; animation-duration: 0.75s; flex-direction: column;\"\n [autoClose]=\"autoClose\" [autoCloseSuccess]=\"this.autoCloseSuccess\" [autoCloseError]=\"this.autoCloseError\" [autoCloseWarn]=\"this.autoCloseWarn\"\n [autoCloseInfo]=\"this.autoCloseInfo\" [toast]=\"toast\" (dismissEvent)=\"dismiss(toast)\" [hideProgressBar]=\"hideProgressBar\" [pauseOnHover]=\"pauseOnHover\"\n [pauseOnVisibilityChange]=\"pauseOnVisibilityChange\" [closeOnClick]=\"closeOnClick\" [iconLibrary]=\"iconLibrary\">\n </lib-toastify-toast>\n</div>\n","import { NgModule } from '@angular/core';\nimport { ToastifyToastComponent } from './toastify-toast/toastify-toast.component';\nimport { ToastifyToastContainerComponent } from './toastify-toast-container/toastify-toast-container.component';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [ToastifyToastComponent, ToastifyToastContainerComponent],\n imports: [ CommonModule ],\n exports: [ToastifyToastContainerComponent]\n})\nexport class AngularToastifyModule { }\n","/*\n * Public API Surface of angular-toastify\n */\n\nexport * from './lib/toast.service';\nexport * from './lib/toastify-toast-container/toastify-toast-container.component';\nexport * from './lib/angular-toastify.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Subject","EventEmitter","Injectable","Component","ViewChild","Input","Output","HostListener","ChangeDetectionStrategy","CommonModule","NgModule"],"mappings":"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"}

@@ -88,3 +88,3 @@ import { Component, Input, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';

/** @nocollapse */ ToastifyToastContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: ToastifyToastContainerComponent, deps: [{ token: i1.ToastService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
/** @nocollapse */ ToastifyToastContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: ToastifyToastContainerComponent, selector: "lib-toastify-toast-container", inputs: { position: "position", transition: "transition", autoClose: "autoClose", autoCloseError: "autoCloseError", autoCloseSuccess: "autoCloseSuccess", autoCloseInfo: "autoCloseInfo", autoCloseWarn: "autoCloseWarn", hideProgressBar: "hideProgressBar", pauseOnHover: "pauseOnHover", pauseOnVisibilityChange: "pauseOnVisibilityChange", closeOnClick: "closeOnClick", newestOnTop: "newestOnTop", preventDuplicates: "preventDuplicates", iconLibrary: "iconLibrary" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"toast-container toast-container--{{position}}\">\n <lib-toastify-toast *ngFor=\"let toast of toasts\" [class]=\"getClass(toast)\" style=\"animation-fill-mode: both; animation-duration: 0.75s\"\n [autoClose]=\"autoClose\" [autoCloseSuccess]=\"this.autoCloseSuccess\" [autoCloseError]=\"this.autoCloseError\" [autoCloseWarn]=\"this.autoCloseWarn\" \n [autoCloseInfo]=\"this.autoCloseInfo\" [toast]=\"toast\" (dismissEvent)=\"dismiss(toast)\" [hideProgressBar]=\"hideProgressBar\" [pauseOnHover]=\"pauseOnHover\"\n [pauseOnVisibilityChange]=\"pauseOnVisibilityChange\" [closeOnClick]=\"closeOnClick\" [iconLibrary]=\"iconLibrary\">\n </lib-toastify-toast>\n</div>", styles: [".toast-container{z-index:9999;-webkit-transform:translateZ(9999px);position:fixed;padding:4px;width:320px;box-sizing:border-box;color:#fff}.toast-container--top-left{top:1em;left:1em}.toast-container--top-center{top:1em;left:50%;margin-left:-160px}.toast-container--top-right{top:1em;right:1em}.toast-container--bottom-left{bottom:1em;left:1em}.toast-container--bottom-center{bottom:1em;left:50%;margin-left:-160px}.toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.toast-container{width:100vw;padding:0;left:0;margin:0}.toast-container--top-center,.toast-container--top-left,.toast-container--top-right{top:0}.toast-container--bottom-center,.toast-container--bottom-left,.toast-container--bottom-right{bottom:0}.toast-container--rtl{right:0;left:auto}}.toast{position:relative;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:1px;box-shadow:0 1px 10px 0 rgba(0,0,0,.1),0 2px 15px 0 rgba(0,0,0,.05);display:flex;justify-content:space-between;max-height:800px;overflow:hidden;font-family:sans-serif;cursor:pointer;direction:ltr}.toast--rtl{direction:rtl}.toast--default{background:#fff;color:#aaa}.toast--info{background:#3498db}.toast--success{background:#07bc0c}.toast--warning{background:#f1c40f}.toast--error{background:#e74c3c}.toast-body{margin:auto 0;flex:1}@media only screen and (max-width:480px){.toast{margin-bottom:0}}@keyframes bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.bounce-enter--bottom-left,.bounce-enter--top-left{animation-name:bounceInLeft}.bounce-enter--bottom-right,.bounce-enter--top-right{animation-name:bounceInRight}.bounce-enter--top-center{animation-name:bounceInDown}.bounce-enter--bottom-center{animation-name:bounceInUp}.bounce-exit--bottom-left,.bounce-exit--top-left{animation-name:bounceOutLeft}.bounce-exit--bottom-right,.bounce-exit--top-right{animation-name:bounceOutRight}.bounce-exit--top-center{animation-name:bounceOutUp}.bounce-exit--bottom-center{animation-name:bounceOutDown}@keyframes zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoom-enter{animation-name:zoomIn}.zoom-exit{animation-name:zoomOut}@keyframes flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes flipOut{0%{transform:perspective(400px)}30%{transform:perspective(400px) rotateX(-20deg);opacity:1}to{transform:perspective(400px) rotateX(90deg);opacity:0}}.flip-enter{animation-name:flipIn}.flip-exit{animation-name:flipOut}@keyframes slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideOutRight{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(110%,0,0)}}@keyframes slideOutLeft{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(-110%,0,0)}}@keyframes slideOutDown{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes slideOutUp{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.slide-enter--bottom-left,.slide-enter--top-left{animation-name:slideInLeft}.slide-enter--bottom-right,.slide-enter--top-right{animation-name:slideInRight}.slide-enter--top-center{animation-name:slideInDown}.slide-enter--bottom-center{animation-name:slideInUp}.slide-exit--bottom-left,.slide-exit--top-left{animation-name:slideOutLeft}.slide-exit--bottom-right,.slide-exit--top-right{animation-name:slideOutRight}.slide-exit--top-center{animation-name:slideOutUp}.slide-exit--bottom-center{animation-name:slideOutDown}"], components: [{ type: i2.ToastifyToastComponent, selector: "lib-toastify-toast", inputs: ["autoClose", "autoCloseError", "autoCloseSuccess", "autoCloseInfo", "autoCloseWarn", "hideProgressBar", "pauseOnHover", "pauseOnVisibilityChange", "closeOnClick", "toast", "iconLibrary"], outputs: ["dismissEvent"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
/** @nocollapse */ ToastifyToastContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: ToastifyToastContainerComponent, selector: "lib-toastify-toast-container", inputs: { position: "position", transition: "transition", autoClose: "autoClose", autoCloseError: "autoCloseError", autoCloseSuccess: "autoCloseSuccess", autoCloseInfo: "autoCloseInfo", autoCloseWarn: "autoCloseWarn", hideProgressBar: "hideProgressBar", pauseOnHover: "pauseOnHover", pauseOnVisibilityChange: "pauseOnVisibilityChange", closeOnClick: "closeOnClick", newestOnTop: "newestOnTop", preventDuplicates: "preventDuplicates", iconLibrary: "iconLibrary" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"toast-container toast-container--{{position}}\">\n <lib-toastify-toast *ngFor=\"let toast of toasts\" [class]=\"getClass(toast)\" style=\"animation-fill-mode: both; animation-duration: 0.75s; flex-direction: column;\"\n [autoClose]=\"autoClose\" [autoCloseSuccess]=\"this.autoCloseSuccess\" [autoCloseError]=\"this.autoCloseError\" [autoCloseWarn]=\"this.autoCloseWarn\"\n [autoCloseInfo]=\"this.autoCloseInfo\" [toast]=\"toast\" (dismissEvent)=\"dismiss(toast)\" [hideProgressBar]=\"hideProgressBar\" [pauseOnHover]=\"pauseOnHover\"\n [pauseOnVisibilityChange]=\"pauseOnVisibilityChange\" [closeOnClick]=\"closeOnClick\" [iconLibrary]=\"iconLibrary\">\n </lib-toastify-toast>\n</div>\n", styles: [".toast-container{word-break:break-word;z-index:9999;-webkit-transform:translateZ(9999px);position:fixed;padding:4px;width:320px;box-sizing:border-box;color:#fff}.toast-container--top-left{top:1em;left:1em}.toast-container--top-center{top:1em;left:50%;margin-left:-160px}.toast-container--top-right{top:1em;right:1em}.toast-container--bottom-left{bottom:1em;left:1em}.toast-container--bottom-center{bottom:1em;left:50%;margin-left:-160px}.toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.toast-container{width:100vw;padding:0;left:0;margin:0}.toast-container--top-center,.toast-container--top-left,.toast-container--top-right{top:0}.toast-container--bottom-center,.toast-container--bottom-left,.toast-container--bottom-right{bottom:0}.toast-container--rtl{right:0;left:auto}}.toast{position:relative;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:1px;box-shadow:0 1px 10px 0 rgba(0,0,0,.1),0 2px 15px 0 rgba(0,0,0,.05);display:flex;justify-content:space-between;max-height:800px;overflow:hidden;font-family:sans-serif;cursor:pointer;direction:ltr}.toast--rtl{direction:rtl}.toast--default{background:#fff;color:#aaa}.toast--info{background:#3498db}.toast--success{background:#07bc0c}.toast--warning{background:#f1c40f}.toast--error{background:#e74c3c}.toast-body{margin:auto 0;flex:1}@media only screen and (max-width:480px){.toast{margin-bottom:0}}@keyframes bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.bounce-enter--bottom-left,.bounce-enter--top-left{animation-name:bounceInLeft}.bounce-enter--bottom-right,.bounce-enter--top-right{animation-name:bounceInRight}.bounce-enter--top-center{animation-name:bounceInDown}.bounce-enter--bottom-center{animation-name:bounceInUp}.bounce-exit--bottom-left,.bounce-exit--top-left{animation-name:bounceOutLeft}.bounce-exit--bottom-right,.bounce-exit--top-right{animation-name:bounceOutRight}.bounce-exit--top-center{animation-name:bounceOutUp}.bounce-exit--bottom-center{animation-name:bounceOutDown}@keyframes zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoom-enter{animation-name:zoomIn}.zoom-exit{animation-name:zoomOut}@keyframes flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes flipOut{0%{transform:perspective(400px)}30%{transform:perspective(400px) rotateX(-20deg);opacity:1}to{transform:perspective(400px) rotateX(90deg);opacity:0}}.flip-enter{animation-name:flipIn}.flip-exit{animation-name:flipOut}@keyframes slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideOutRight{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(110%,0,0)}}@keyframes slideOutLeft{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(-110%,0,0)}}@keyframes slideOutDown{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes slideOutUp{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.slide-enter--bottom-left,.slide-enter--top-left{animation-name:slideInLeft}.slide-enter--bottom-right,.slide-enter--top-right{animation-name:slideInRight}.slide-enter--top-center{animation-name:slideInDown}.slide-enter--bottom-center{animation-name:slideInUp}.slide-exit--bottom-left,.slide-exit--top-left{animation-name:slideOutLeft}.slide-exit--bottom-right,.slide-exit--top-right{animation-name:slideOutRight}.slide-exit--top-center{animation-name:slideOutUp}.slide-exit--bottom-center{animation-name:slideOutDown}"], components: [{ type: i2.ToastifyToastComponent, selector: "lib-toastify-toast", inputs: ["autoClose", "autoCloseError", "autoCloseSuccess", "autoCloseInfo", "autoCloseWarn", "hideProgressBar", "pauseOnHover", "pauseOnVisibilityChange", "closeOnClick", "toast", "iconLibrary"], outputs: ["dismissEvent"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: ToastifyToastContainerComponent, decorators: [{

@@ -134,2 +134,2 @@ type: Component,

})(TransitionState || (TransitionState = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3RpZnktdG9hc3QtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9hc3RpZnkvc3JjL2xpYi90b2FzdGlmeS10b2FzdC1jb250YWluZXIvdG9hc3RpZnktdG9hc3QtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9hc3RpZnkvc3JjL2xpYi90b2FzdGlmeS10b2FzdC1jb250YWluZXIvdG9hc3RpZnktdG9hc3QtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFTMUMsTUFBTSxPQUFPLCtCQUErQjtJQXNCMUMsWUFBb0IsYUFBMkIsRUFBVSxHQUFzQjtRQUEzRCxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBckI5RCx3QkFBbUIsR0FBRyxHQUFHLENBQUM7UUFFbEMsYUFBUSxHQUE4RCxXQUFXLENBQUM7UUFDbEYsZUFBVSxHQUF5QyxRQUFRLENBQUM7UUFDNUQsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixtQkFBYyxHQUFHLFNBQVMsQ0FBQztRQUMzQixxQkFBZ0IsR0FBRyxTQUFTLENBQUM7UUFDN0Isa0JBQWEsR0FBRyxTQUFTLENBQUM7UUFDMUIsa0JBQWEsR0FBRyxTQUFTLENBQUM7UUFDMUIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIsNEJBQXVCLEdBQUcs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QUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7O0FBdUVSLElBQUssZUFJSjtBQUpELFdBQUssZUFBZTtJQUNsQiw2REFBUSxDQUFBO0lBQ1IscUVBQVksQ0FBQTtJQUNaLDJEQUFPLENBQUE7QUFDVCxDQUFDLEVBSkksZUFBZSxLQUFmLGVBQWUsUUFJbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0IH0gZnJvbSAnLi4vdG9hc3QnO1xuaW1wb3J0IHsgVG9hc3RUeXBlIH0gZnJvbSAnLi4vdG9hc3QtdHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnbGliLXRvYXN0aWZ5LXRvYXN0LWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90b2FzdGlmeS10b2FzdC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90b2FzdGlmeS10b2FzdC1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0aWZ5VG9hc3RDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNpdGlvbkR1cmF0aW9ucyA9IDQwMDtcblxuICBASW5wdXQoKSBwb3NpdGlvbjogJ3RvcC1sZWZ0JyB8ICd0b3AtcmlnaHQnIHwgJ2JvdHRvbS1yaWdodCcgfCAnYm90dG9tLWxlZnQnID0gJ3RvcC1yaWdodCc7XG4gIEBJbnB1dCgpIHRyYW5zaXRpb246ICdib3VuY2UnIHwgJ3NsaWRlJyB8ICd6b29tJyB8ICdmbGlwJyA9ICdib3VuY2UnO1xuICBASW5wdXQoKSBhdXRvQ2xvc2UgPSA1MDAwO1xuICBASW5wdXQoKSBhdXRvQ2xvc2VFcnJvciA9IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgYXV0b0Nsb3NlU3VjY2VzcyA9IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgYXV0b0Nsb3NlSW5mbyA9IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgYXV0b0Nsb3NlV2FybiA9IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgaGlkZVByb2dyZXNzQmFyID0gZmFsc2U7XG4gIEBJbnB1dCgpIHBhdXNlT25Ib3ZlciA9IHRydWU7XG4gIEBJbnB1dCgpIHBhdXNlT25WaXNpYmlsaXR5Q2hhbmdlID0gdHJ1ZTtcbiAgQElucHV0KCkgY2xvc2VPbkNsaWNrID0gdHJ1ZTtcbiAgQElucHV0KCkgbmV3ZXN0T25Ub3AgPSBmYWxzZTtcbiAgQElucHV0KCkgcHJldmVudER1cGxpY2F0ZXMgPSBmYWxzZTtcbiAgQElucHV0KCkgaWNvbkxpYnJhcnk6ICdtYXRlcmlhbCcgfCAnZm9udC1hd2Vzb21lJyB8ICdub25lJyA9ICdub25lJztcblxuICBUb2FzdFR5cGUgPSBUb2FzdFR5cGU7XG4gIHRvYXN0cyA9IG5ldyBBcnJheTxUb2FzdD4oKTtcbiAgdG9hc3RUcmFuc2l0aW9uRGljdCA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3RvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLCBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZGlzbWlzcyh0b2FzdDogVG9hc3QpOiB2b2lkIHtcbiAgICB0aGlzLnRvYXN0VHJhbnNpdGlvbkRpY3RbdG9hc3QuaWRdID0gVHJhbnNpdGlvblN0YXRlLmV4aXRpbmc7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMudG9hc3RzLmluZGV4T2YodG9hc3QpO1xuICAgICAgdGhpcy50b2FzdHMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgIH0sIHRoaXMudHJhbnNpdGlvbkR1cmF0aW9ucyk7XG4gIH1cblxuICBnZXRDbGFzcyh0b2FzdDogVG9hc3QpOiBzdHJpbmcge1xuICAgIGxldCBiYXNlID0gYHRvYXN0IHRvYXN0LS0ke1RvYXN0VHlwZVt0b2FzdC50eXBlXX0gYDtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMudG9hc3RUcmFuc2l0aW9uRGljdFt0b2FzdC5pZF07XG4gICAgaWYgKHN0YXRlID09PSBUcmFuc2l0aW9uU3RhdGUuZW50ZXJpbmcpIHtcbiAgICAgIGJhc2UgKz0gYCR7dGhpcy50cmFuc2l0aW9ufS1lbnRlciAke3RoaXMudHJhbnNpdGlvbn0tZW50ZXItLSR7dGhpcy5wb3NpdGlvbn1gO1xuICAgIH0gZWxzZSBpZiAoc3RhdGUgPT09IFRyYW5zaXRpb25TdGF0ZS5leGl0aW5nKSB7XG4gICAgICBiYXNlICs9IGAke3RoaXMudHJhbnNpdGlvbn0tZXhpdCAke3RoaXMudHJhbnNpdGlvbn0tZXhpdC0tJHt0aGlzLnBvc2l0aW9ufWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJhc2U7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl90b2FzdFNlcnZpY2UuZGlzbWlzc0FsbEV2ZW50LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnRvYXN0cyA9IG5ldyBBcnJheTxUb2FzdD4oKTtcbiAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fdG9hc3RTZXJ2aWNlLnRvYXN0QWRkZWRFdmVudC5zdWJzY3JpYmUoKHRvYXN0OiBUb2FzdCkgPT4gdGhpcy5oYW5kbGVUb2FzdEFkZGVkRXZlbnQodG9hc3QpKTtcbiAgfVxuXG4gIGhhbmRsZVRvYXN0QWRkZWRFdmVudCh0b2FzdDogVG9hc3QpOiB2b2lkIHtcbiAgICAvLyBJZiBcInByZXZlbnREdXBsaWNhdGVzXCIgaXMgZW5hYmxlZCwgdG9hc3QgaXMgbm90IGFkZGVkIGlmIG9uZSB0b2FzdCB3aXRoIHNhbWUgbWVzc2FnZSBleGlzdHNcbiAgICAvLyBUaGUgb25seSB0aGluZyB0byBkbyBpcyB0byB1cGRhdGUgdGhlIHRvYXN0IHRpbWUgdG8ga2VlcCBpdCB2aXNpYmxlXG4gICAgaWYodGhpcy5wcmV2ZW50RHVwbGljYXRlcyA9PT0gdHJ1ZSkge1xuICAgICAgY29uc3Qgc2FtZVRvYXN0OiBUb2FzdCA9IHRoaXMudG9hc3RzLmZpbmQoKGV4aXN0aW5nVG9hc3QpID0+IGV4aXN0aW5nVG9hc3QubWVzc2FnZSA9PT0gdG9hc3QubWVzc2FnZSk7XG4gICAgICBpZiAoc2FtZVRvYXN0KSB7XG4gICAgICAgIHNhbWVUb2FzdC4kcmVzZXRUb2FzdC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRkIG5ldyB0b2FzdCB0cmFuc2l0aW9uXG4gICAgdGhpcy50b2FzdFRyYW5zaXRpb25EaWN0W3RvYXN0LmlkXSA9IFRyYW5zaXRpb25TdGF0ZS5lbnRlcmluZztcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMudG9hc3RUcmFuc2l0aW9uRGljdFt0b2FzdC5pZF0gPSBUcmFuc2l0aW9uU3RhdGUubm9UcmFuc2l0aW9uO1xuICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfSwgdGhpcy50cmFuc2l0aW9uRHVyYXRpb25zKTtcblxuICAgIC8vIEFkZCBuZXcgdG9hc3RcbiAgICBpZiAodGhpcy5uZXdlc3RPblRvcCkge1xuICAgICAgdGhpcy50b2FzdHMudW5zaGlmdCh0b2FzdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudG9hc3RzLnB1c2godG9hc3QpO1xuICAgIH1cbiAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuXG5lbnVtIFRyYW5zaXRpb25TdGF0ZSB7XG4gIGVudGVyaW5nLFxuICBub1RyYW5zaXRpb24sXG4gIGV4aXRpbmdcbn1cbiIsIjxkaXYgY2xhc3M9XCJ0b2FzdC1jb250YWluZXIgdG9hc3QtY29udGFpbmVyLS17e3Bvc2l0aW9ufX1cIj5cbiAgICA8bGliLXRvYXN0aWZ5LXRvYXN0ICpuZ0Zvcj1cImxldCB0b2FzdCBvZiB0b2FzdHNcIiBbY2xhc3NdPVwiZ2V0Q2xhc3ModG9hc3QpXCIgc3R5bGU9XCJhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyBhbmltYXRpb24tZHVyYXRpb246IDAuNzVzXCJcbiAgICAgICAgW2F1dG9DbG9zZV09XCJhdXRvQ2xvc2VcIiBbYXV0b0Nsb3NlU3VjY2Vzc109XCJ0aGlzLmF1dG9DbG9zZVN1Y2Nlc3NcIiBbYXV0b0Nsb3NlRXJyb3JdPVwidGhpcy5hdXRvQ2xvc2VFcnJvclwiIFthdXRvQ2xvc2VXYXJuXT1cInRoaXMuYXV0b0Nsb3NlV2FyblwiIFxuICAgICAgICBbYXV0b0Nsb3NlSW5mb109XCJ0aGlzLmF1dG9DbG9zZUluZm9cIiBbdG9hc3RdPVwidG9hc3RcIiAoZGlzbWlzc0V2ZW50KT1cImRpc21pc3ModG9hc3QpXCIgW2hpZGVQcm9ncmVzc0Jhcl09XCJoaWRlUHJvZ3Jlc3NCYXJcIiBbcGF1c2VPbkhvdmVyXT1cInBhdXNlT25Ib3ZlclwiXG4gICAgICAgIFtwYXVzZU9uVmlzaWJpbGl0eUNoYW5nZV09XCJwYXVzZU9uVmlzaWJpbGl0eUNoYW5nZVwiIFtjbG9zZU9uQ2xpY2tdPVwiY2xvc2VPbkNsaWNrXCIgW2ljb25MaWJyYXJ5XT1cImljb25MaWJyYXJ5XCI+XG4gICAgPC9saWItdG9hc3RpZnktdG9hc3Q+XG48L2Rpdj4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3RpZnktdG9hc3QtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9hc3RpZnkvc3JjL2xpYi90b2FzdGlmeS10b2FzdC1jb250YWluZXIvdG9hc3RpZnktdG9hc3QtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9hc3RpZnkvc3JjL2xpYi90b2FzdGlmeS10b2FzdC1jb250YWluZXIvdG9hc3RpZnktdG9hc3QtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFTMUMsTUFBTSxPQUFPLCtCQUErQjtJQXNCMUMsWUFBb0IsYUFBMkIsRUFBVSxHQUFzQjtRQUEzRCxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBckI5RCx3QkFBbUIsR0FBRyxHQUFHLENBQUM7UUFFbEMsYUFBUSxHQUE4RCxXQUFXLENBQUM7UUFDbEYsZUFBVSxHQUF5QyxRQUFRLENBQUM7UUFDNUQsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixtQkFBYyxHQUFHLFNBQVMsQ0FBQztRQUMzQixxQkFBZ0IsR0FBRyxTQUFTLENBQUM7UUFDN0Isa0JBQWEsR0FBRyxTQUFTLENBQUM7UUFDMUIsa0JBQWEsR0FBRyxTQUFTLENBQUM7UUFDMUIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIsNEJBQXVCLEdBQUcs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QUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7O0FBdUVSLElBQUssZUFJSjtBQUpELFdBQUssZUFBZTtJQUNsQiw2REFBUSxDQUFBO0lBQ1IscUVBQVksQ0FBQTtJQUNaLDJEQUFPLENBQUE7QUFDVCxDQUFDLEVBSkksZUFBZSxLQUFmLGVBQWUsUUFJbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0IH0gZnJvbSAnLi4vdG9hc3QnO1xuaW1wb3J0IHsgVG9hc3RUeXBlIH0gZnJvbSAnLi4vdG9hc3QtdHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnbGliLXRvYXN0aWZ5LXRvYXN0LWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90b2FzdGlmeS10b2FzdC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90b2FzdGlmeS10b2FzdC1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0aWZ5VG9hc3RDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNpdGlvbkR1cmF0aW9ucyA9IDQwMDtcblxuICBASW5wdXQoKSBwb3NpdGlvbjogJ3RvcC1sZWZ0JyB8ICd0b3AtcmlnaHQnIHwgJ2JvdHRvbS1yaWdodCcgfCAnYm90dG9tLWxlZnQnID0gJ3RvcC1yaWdodCc7XG4gIEBJbnB1dCgpIHRyYW5zaXRpb246ICdib3VuY2UnIHwgJ3NsaWRlJyB8ICd6b29tJyB8ICdmbGlwJyA9ICdib3VuY2UnO1xuICBASW5wdXQoKSBhdXRvQ2xvc2UgPSA1MDAwO1xuICBASW5wdXQoKSBhdXRvQ2xvc2VFcnJvciA9IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgYXV0b0Nsb3NlU3VjY2VzcyA9IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgYXV0b0Nsb3NlSW5mbyA9IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgYXV0b0Nsb3NlV2FybiA9IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgaGlkZVByb2dyZXNzQmFyID0gZmFsc2U7XG4gIEBJbnB1dCgpIHBhdXNlT25Ib3ZlciA9IHRydWU7XG4gIEBJbnB1dCgpIHBhdXNlT25WaXNpYmlsaXR5Q2hhbmdlID0gdHJ1ZTtcbiAgQElucHV0KCkgY2xvc2VPbkNsaWNrID0gdHJ1ZTtcbiAgQElucHV0KCkgbmV3ZXN0T25Ub3AgPSBmYWxzZTtcbiAgQElucHV0KCkgcHJldmVudER1cGxpY2F0ZXMgPSBmYWxzZTtcbiAgQElucHV0KCkgaWNvbkxpYnJhcnk6ICdtYXRlcmlhbCcgfCAnZm9udC1hd2Vzb21lJyB8ICdub25lJyA9ICdub25lJztcblxuICBUb2FzdFR5cGUgPSBUb2FzdFR5cGU7XG4gIHRvYXN0cyA9IG5ldyBBcnJheTxUb2FzdD4oKTtcbiAgdG9hc3RUcmFuc2l0aW9uRGljdCA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3RvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLCBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZGlzbWlzcyh0b2FzdDogVG9hc3QpOiB2b2lkIHtcbiAgICB0aGlzLnRvYXN0VHJhbnNpdGlvbkRpY3RbdG9hc3QuaWRdID0gVHJhbnNpdGlvblN0YXRlLmV4aXRpbmc7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMudG9hc3RzLmluZGV4T2YodG9hc3QpO1xuICAgICAgdGhpcy50b2FzdHMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgIH0sIHRoaXMudHJhbnNpdGlvbkR1cmF0aW9ucyk7XG4gIH1cblxuICBnZXRDbGFzcyh0b2FzdDogVG9hc3QpOiBzdHJpbmcge1xuICAgIGxldCBiYXNlID0gYHRvYXN0IHRvYXN0LS0ke1RvYXN0VHlwZVt0b2FzdC50eXBlXX0gYDtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMudG9hc3RUcmFuc2l0aW9uRGljdFt0b2FzdC5pZF07XG4gICAgaWYgKHN0YXRlID09PSBUcmFuc2l0aW9uU3RhdGUuZW50ZXJpbmcpIHtcbiAgICAgIGJhc2UgKz0gYCR7dGhpcy50cmFuc2l0aW9ufS1lbnRlciAke3RoaXMudHJhbnNpdGlvbn0tZW50ZXItLSR7dGhpcy5wb3NpdGlvbn1gO1xuICAgIH0gZWxzZSBpZiAoc3RhdGUgPT09IFRyYW5zaXRpb25TdGF0ZS5leGl0aW5nKSB7XG4gICAgICBiYXNlICs9IGAke3RoaXMudHJhbnNpdGlvbn0tZXhpdCAke3RoaXMudHJhbnNpdGlvbn0tZXhpdC0tJHt0aGlzLnBvc2l0aW9ufWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJhc2U7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl90b2FzdFNlcnZpY2UuZGlzbWlzc0FsbEV2ZW50LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnRvYXN0cyA9IG5ldyBBcnJheTxUb2FzdD4oKTtcbiAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fdG9hc3RTZXJ2aWNlLnRvYXN0QWRkZWRFdmVudC5zdWJzY3JpYmUoKHRvYXN0OiBUb2FzdCkgPT4gdGhpcy5oYW5kbGVUb2FzdEFkZGVkRXZlbnQodG9hc3QpKTtcbiAgfVxuXG4gIGhhbmRsZVRvYXN0QWRkZWRFdmVudCh0b2FzdDogVG9hc3QpOiB2b2lkIHtcbiAgICAvLyBJZiBcInByZXZlbnREdXBsaWNhdGVzXCIgaXMgZW5hYmxlZCwgdG9hc3QgaXMgbm90IGFkZGVkIGlmIG9uZSB0b2FzdCB3aXRoIHNhbWUgbWVzc2FnZSBleGlzdHNcbiAgICAvLyBUaGUgb25seSB0aGluZyB0byBkbyBpcyB0byB1cGRhdGUgdGhlIHRvYXN0IHRpbWUgdG8ga2VlcCBpdCB2aXNpYmxlXG4gICAgaWYodGhpcy5wcmV2ZW50RHVwbGljYXRlcyA9PT0gdHJ1ZSkge1xuICAgICAgY29uc3Qgc2FtZVRvYXN0OiBUb2FzdCA9IHRoaXMudG9hc3RzLmZpbmQoKGV4aXN0aW5nVG9hc3QpID0+IGV4aXN0aW5nVG9hc3QubWVzc2FnZSA9PT0gdG9hc3QubWVzc2FnZSk7XG4gICAgICBpZiAoc2FtZVRvYXN0KSB7XG4gICAgICAgIHNhbWVUb2FzdC4kcmVzZXRUb2FzdC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRkIG5ldyB0b2FzdCB0cmFuc2l0aW9uXG4gICAgdGhpcy50b2FzdFRyYW5zaXRpb25EaWN0W3RvYXN0LmlkXSA9IFRyYW5zaXRpb25TdGF0ZS5lbnRlcmluZztcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMudG9hc3RUcmFuc2l0aW9uRGljdFt0b2FzdC5pZF0gPSBUcmFuc2l0aW9uU3RhdGUubm9UcmFuc2l0aW9uO1xuICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfSwgdGhpcy50cmFuc2l0aW9uRHVyYXRpb25zKTtcblxuICAgIC8vIEFkZCBuZXcgdG9hc3RcbiAgICBpZiAodGhpcy5uZXdlc3RPblRvcCkge1xuICAgICAgdGhpcy50b2FzdHMudW5zaGlmdCh0b2FzdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudG9hc3RzLnB1c2godG9hc3QpO1xuICAgIH1cbiAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuXG5lbnVtIFRyYW5zaXRpb25TdGF0ZSB7XG4gIGVudGVyaW5nLFxuICBub1RyYW5zaXRpb24sXG4gIGV4aXRpbmdcbn1cbiIsIjxkaXYgY2xhc3M9XCJ0b2FzdC1jb250YWluZXIgdG9hc3QtY29udGFpbmVyLS17e3Bvc2l0aW9ufX1cIj5cbiAgICA8bGliLXRvYXN0aWZ5LXRvYXN0ICpuZ0Zvcj1cImxldCB0b2FzdCBvZiB0b2FzdHNcIiBbY2xhc3NdPVwiZ2V0Q2xhc3ModG9hc3QpXCIgc3R5bGU9XCJhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyBhbmltYXRpb24tZHVyYXRpb246IDAuNzVzOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1wiXG4gICAgICAgIFthdXRvQ2xvc2VdPVwiYXV0b0Nsb3NlXCIgW2F1dG9DbG9zZVN1Y2Nlc3NdPVwidGhpcy5hdXRvQ2xvc2VTdWNjZXNzXCIgW2F1dG9DbG9zZUVycm9yXT1cInRoaXMuYXV0b0Nsb3NlRXJyb3JcIiBbYXV0b0Nsb3NlV2Fybl09XCJ0aGlzLmF1dG9DbG9zZVdhcm5cIlxuICAgICAgICBbYXV0b0Nsb3NlSW5mb109XCJ0aGlzLmF1dG9DbG9zZUluZm9cIiBbdG9hc3RdPVwidG9hc3RcIiAoZGlzbWlzc0V2ZW50KT1cImRpc21pc3ModG9hc3QpXCIgW2hpZGVQcm9ncmVzc0Jhcl09XCJoaWRlUHJvZ3Jlc3NCYXJcIiBbcGF1c2VPbkhvdmVyXT1cInBhdXNlT25Ib3ZlclwiXG4gICAgICAgIFtwYXVzZU9uVmlzaWJpbGl0eUNoYW5nZV09XCJwYXVzZU9uVmlzaWJpbGl0eUNoYW5nZVwiIFtjbG9zZU9uQ2xpY2tdPVwiY2xvc2VPbkNsaWNrXCIgW2ljb25MaWJyYXJ5XT1cImljb25MaWJyYXJ5XCI+XG4gICAgPC9saWItdG9hc3RpZnktdG9hc3Q+XG48L2Rpdj5cbiJdfQ==

@@ -157,3 +157,3 @@ import { ChangeDetectorRef, Component, ElementRef, EventEmitter, HostListener, Input, NgZone, Output, ViewChild, } from "@angular/core";

/** @nocollapse */ ToastifyToastComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: ToastifyToastComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
/** @nocollapse */ ToastifyToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: ToastifyToastComponent, selector: "lib-toastify-toast", inputs: { autoClose: "autoClose", autoCloseError: "autoCloseError", autoCloseSuccess: "autoCloseSuccess", autoCloseInfo: "autoCloseInfo", autoCloseWarn: "autoCloseWarn", hideProgressBar: "hideProgressBar", pauseOnHover: "pauseOnHover", pauseOnVisibilityChange: "pauseOnVisibilityChange", closeOnClick: "closeOnClick", toast: "toast", iconLibrary: "iconLibrary" }, outputs: { dismissEvent: "dismissEvent" }, host: { listeners: { "click": "handleHostClick()", "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()", "document:visibilitychange": "handleVisibilityChange()" } }, viewQueries: [{ propertyName: "progressBar", first: true, predicate: ["progressBar"], descendants: true }, { propertyName: "progressBarCover", first: true, predicate: ["progressBarCover"], descendants: true }], ngImport: i0, template: "<div role=\"alert\" class=\"toast-body\">\n <div class=\"icon-container\">\n <span *ngIf=\"iconLibrary == 'material'\" [ngSwitch]=\"toast.type\">\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.info\">info_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.default\">info_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.warning\">warning_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.error\">error_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.success\">done</i>\n </span>\n <span *ngIf=\"iconLibrary == 'font-awesome'\" [ngSwitch]=\"toast.type\">\n <i *ngSwitchCase=\"ToastType.info\" class=\"fa fa-info\"></i>\n <i *ngSwitchCase=\"ToastType.default\" class=\"fa fa-info\"></i>\n <i *ngSwitchCase=\"ToastType.warning\" class=\"fa fa-exclamation-triangle\"></i>\n <i *ngSwitchCase=\"ToastType.error\" class=\"fa fa-exclamation\"></i>\n <i *ngSwitchCase=\"ToastType.success\" class=\"fa fa-check\"></i>\n </span>\n </div>\n <div class=\"toast-container\">\n <span>{{toast.message}}</span>\n </div>\n</div>\n<button (click)=\"handleDismissButtonAction()\" class=\"close-button close-button--{{ToastType[toast.type]}}\" type=\"button\" aria-label=\"close\">\u2716</button>\n\n<div #progressBar *ngIf=\"!hideProgressBar\" class=\"progress-bar progress-bar&#45;&#45;{{ToastType[toast.type]}}\" style=\"opacity: 1;\"></div>\n<div #progressBarCover *ngIf=\"!hideProgressBar\" class=\"progress-bar-cover toast--{{ToastType[toast.type]}}\" [style.animation-duration]=\"this.autoCloseAfterSpecificChange() + 'ms'\" [style.animation-play-state]=\"running? 'running' : 'paused'\"></div>\n", styles: [".toast{position:relative;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:1px;box-shadow:0 1px 10px 0 rgba(0,0,0,.1),0 2px 15px 0 rgba(0,0,0,.05);display:flex;justify-content:space-between;max-height:800px;overflow:hidden;font-family:sans-serif;cursor:pointer;direction:ltr}.toast--rtl{direction:rtl}.toast--default{background:#fff;color:#aaa}.toast--info{background:#3498db}.toast--success{background:#07bc0c}.toast--warning{background:#f1c40f}.toast--error{background:#e74c3c}.toast-body{margin:auto 0;flex:1}@media only screen and (max-width:480px){.toast{margin-bottom:0}}.close-button{color:#fff;font-weight:700;font-size:14px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;align-self:flex-start}.close-button--default{color:#000;opacity:.3}.close-button:focus,.close-button:hover{opacity:1}.progress-bar-cover{right:0;z-index:100;direction:rtl}.progress-bar,.progress-bar-cover{position:absolute;bottom:0;width:100%;height:5px;transform-origin:left}.progress-bar{left:0;z-index:99;opacity:.7;background-color:hsla(0,0%,100%,.7)}.progress-bar--controlled{transition:transform .2s}.progress-bar--rtl{right:0;left:auto;transform-origin:right}.progress-bar--default{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55)}.icon-container,.toast-body{vertical-align:middle}.icon-container{display:inline-block;width:25px}.icon-container span{margin-right:.5rem;display:inline-block;text-align:center;width:20px}.icon-container span i{vertical-align:middle}.fa,.material-icons{font-size:18px}.toast-container{display:inline-block;width:calc(100% - 25px);vertical-align:middle}"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
/** @nocollapse */ ToastifyToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: ToastifyToastComponent, selector: "lib-toastify-toast", inputs: { autoClose: "autoClose", autoCloseError: "autoCloseError", autoCloseSuccess: "autoCloseSuccess", autoCloseInfo: "autoCloseInfo", autoCloseWarn: "autoCloseWarn", hideProgressBar: "hideProgressBar", pauseOnHover: "pauseOnHover", pauseOnVisibilityChange: "pauseOnVisibilityChange", closeOnClick: "closeOnClick", toast: "toast", iconLibrary: "iconLibrary" }, outputs: { dismissEvent: "dismissEvent" }, host: { listeners: { "click": "handleHostClick()", "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()", "document:visibilitychange": "handleVisibilityChange()" } }, viewQueries: [{ propertyName: "progressBar", first: true, predicate: ["progressBar"], descendants: true }, { propertyName: "progressBarCover", first: true, predicate: ["progressBarCover"], descendants: true }], ngImport: i0, template: "<div role=\"alert\" class=\"toast-body\">\n <div class=\"icon-container\">\n <span *ngIf=\"iconLibrary == 'material'\" [ngSwitch]=\"toast.type\">\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.info\">info_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.default\">info_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.warning\">warning_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.error\">error_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.success\">done</i>\n </span>\n <span *ngIf=\"iconLibrary == 'font-awesome'\" [ngSwitch]=\"toast.type\">\n <i *ngSwitchCase=\"ToastType.info\" class=\"fa fa-info\"></i>\n <i *ngSwitchCase=\"ToastType.default\" class=\"fa fa-info\"></i>\n <i *ngSwitchCase=\"ToastType.warning\" class=\"fa fa-exclamation-triangle\"></i>\n <i *ngSwitchCase=\"ToastType.error\" class=\"fa fa-exclamation\"></i>\n <i *ngSwitchCase=\"ToastType.success\" class=\"fa fa-check\"></i>\n </span>\n </div>\n <div class=\"toast-container\">\n <div>{{toast.message}}</div>\n </div>\n <div class=\"close-container\">\n <button (click)=\"handleDismissButtonAction()\" class=\"close-button close-button--{{ToastType[toast.type]}}\" type=\"button\" aria-label=\"close\">\u2716</button>\n </div>\n</div>\n\n<div #progressBar *ngIf=\"!hideProgressBar\" class=\"progress-bar progress-bar&#45;&#45;{{ToastType[toast.type]}}\" style=\"opacity: 1;\"></div>\n<div #progressBarCover *ngIf=\"!hideProgressBar\" class=\"progress-bar-cover toast--{{ToastType[toast.type]}}\" [style.animation-duration]=\"this.autoCloseAfterSpecificChange() + 'ms'\" [style.animation-play-state]=\"running? 'running' : 'paused'\"></div>\n", styles: [".toast{position:relative;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:1px;box-shadow:0 1px 10px 0 rgba(0,0,0,.1),0 2px 15px 0 rgba(0,0,0,.05);display:flex;justify-content:space-between;max-height:800px;overflow:hidden;font-family:sans-serif;cursor:pointer;direction:ltr}.toast--rtl{direction:rtl}.toast--default{background:#fff;color:#aaa}.toast--info{background:#3498db}.toast--success{background:#07bc0c}.toast--warning{background:#f1c40f}.toast--error{background:#e74c3c}.toast-body{margin:auto 0;flex:1}@media only screen and (max-width:480px){.toast{margin-bottom:0}}.close-button{color:#fff;font-weight:700;font-size:14px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;align-self:flex-start}.close-button--default{color:#000;opacity:.3}.close-button:focus,.close-button:hover{opacity:1}.progress-bar-cover{right:0;z-index:100;direction:rtl}.progress-bar,.progress-bar-cover{position:absolute;bottom:0;width:100%;height:5px;transform-origin:left}.progress-bar{left:0;z-index:99;opacity:.7;background-color:hsla(0,0%,100%,.7)}.progress-bar--controlled{transition:transform .2s}.progress-bar--rtl{right:0;left:auto;transform-origin:right}.progress-bar--default{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55)}.toast-body{min-width:0;min-height:0}.icon-container,.toast-body{vertical-align:middle;display:flex}.icon-container{flex-direction:column;justify-content:center;width:25px}.icon-container span{margin-right:.5rem;display:inline-block;text-align:center;width:20px}.icon-container span i{vertical-align:middle}.fa,.material-icons{font-size:18px}.toast-container{width:calc(100% - 25px);overflow-y:scroll;display:flex;flex-direction:column;min-height:0}.toast-container>div{display:flex;flex:1;flex-direction:column;justify-content:center}"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: ToastifyToastComponent, decorators: [{

@@ -211,2 +211,2 @@ type: Component,

}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3RpZnktdG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10b2FzdGlmeS9zcmMvbGliL3RvYXN0aWZ5LXRvYXN0L3RvYXN0aWZ5LXRvYXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9hc3RpZnkvc3JjL2xpYi90b2FzdGlmeS10b2FzdC90b2FzdGlmeS10b2FzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUdOLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFXakMsTUFBTSxPQUFPLHNCQUFzQjtJQStCakMsWUFBb0IsR0FBc0IsRUFBVSxLQUFhO1FBQTdDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQTNCeEQsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixtQkFBYyxHQUFHLFNBQVMsQ0FBQztRQUMzQixxQkFBZ0IsR0FBRyxTQUFTLENBQUM7UUFDN0Isa0JBQWEsR0FBRyxTQUFTLENBQUM7UUFDMUIsa0JBQWEsR0FBRyxTQUFTLENBQUM7UUFDMUIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIsNEJBQXVCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBSW5CLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVk1QyxjQUFTLEdBQUcsU0FBUyxDQUFDO1FBQ3RCLFlBQU8sR0FBRyxLQUFLLENBQUM7SUFFb0QsQ0FBQztJQUVyRSxRQUFRO1FBQ04sSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1FBQzlELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELHlFQUF5RTtRQUN6RSxJQUFJLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxRQUFRLENBQUMsZUFBZSxLQUFLLFNBQVMsRUFBRTtZQUN6RSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDeEI7UUFFRCwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVPLDJCQUEyQjtRQUNqQyw0Q0FBNEM7UUFDNUMsSUFBSSxJQUFJLENBQUMscUJBQXFCLEtBQUssU0FBUyxFQUFFO1lBQzVDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1NBQ2xEO1FBRUQsa0JBQWtCO1FBQ2xCLE1BQU0sS0FBSyxHQUFHLEdBQUcsRUFBRTtZQUNqQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7Z0JBQ3ZGLE1BQU0sVUFBVSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7Z0JBQ3ZGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxVQUFVLEdBQUcsR0FBRyxDQUFDO2dCQUNuRSxJQUFJLFVBQVUsSUFBSSxDQUFDO29CQUFFLE9BQU87YUFDN0I7WUFDRCxJQUFJLENBQUMscUJBQXFCLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUQsQ0FBQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLHFCQUFxQixHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxXQUFXOztRQUNULG1CQUFtQjtRQUNuQixJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUM5QixvQkFBb0IsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsU0FBUyxDQUFDO1NBQ3hDO1FBQ0QsMkJBQTJCO1FBQzNCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLDJCQUEyQjtRQUMzQixNQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVywwQ0FBRSxRQUFRLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDOUIsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxRQUFRLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxFQUFFO1lBQ3hELE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyx1QkFBdUI7WUFDMUIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDakQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQzFELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQzVCLENBQUM7SUFDSixDQUFDO0lBRUQsNEJBQTRCO1FBQzFCLE1BQU0sY0FBYyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQzNCLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7Z0JBQ3ZCLEtBQUssU0FBUyxDQUFDLE9BQU87b0JBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO2dCQUMvQixLQUFLLFNBQVMsQ0FBQyxLQUFLO29CQUNsQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7Z0JBQzdCLEtBQUssU0FBUyxDQUFDLE9BQU87b0JBQ3BCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztnQkFDNUIsS0FBSyxTQUFTLENBQUMsSUFBSTtvQkFDakIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO2dCQUM1QjtvQkFDRSxPQUFPLFNBQVMsQ0FBQzthQUNwQjtRQUNILENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFTCxPQUFPLGNBQWMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRXpCLHNEQUFzRDtRQUN0RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2hELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDMUUsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1FBQzlELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEtBQUssU0FBUyxFQUFFO1lBQ3pDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxTQUFTLENBQUM7WUFDekMsWUFBWSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0gsQ0FBQztJQUVELHlCQUF5QjtRQUN2QixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsT0FBTyxDQUFDLDJDQUEyQztTQUNwRDtRQUVELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUdELGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFHRCxnQkFBZ0I7UUFDZCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUdELGdCQUFnQjtRQUNkLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDM0U7SUFDSCxDQUFDO0lBR0Qsc0JBQXNCO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDakMsT0FBTztTQUNSO1FBRUQsSUFBSSxRQUFRLENBQUMsZUFBZSxLQUFLLFNBQVMsRUFBRTtZQUMxQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUMxQjthQUFNO1lBQ0wsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQzs7c0lBMUxVLHNCQUFzQjswSEFBdEIsc0JBQXNCLDQxQkMxQm5DLGl5REF5QkE7MkZEQ2Esc0JBQXNCO2tCQVBsQyxTQUFTO21CQUFDO29CQUNULDhDQUE4QztvQkFDOUMsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsV0FBVyxFQUFFLGlDQUFpQztvQkFDOUMsU0FBUyxFQUFFLENBQUMsaUNBQWlDLENBQUM7b0JBQzlDLGtEQUFrRDtpQkFDbkQ7NkhBRTJCLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYTtnQkFDTyxnQkFBZ0I7c0JBQTlDLFNBQVM7dUJBQUMsa0JBQWtCO2dCQUVwQixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csdUJBQXVCO3NCQUEvQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkF3SVAsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLE9BQU87Z0JBU3JCLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLFlBQVk7Z0JBUTFCLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLFlBQVk7Z0JBUzFCLHNCQUFzQjtzQkFEckIsWUFBWTt1QkFBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRvYXN0VHlwZSB9IGZyb20gXCIuLi90b2FzdC10eXBlXCI7XG5pbXBvcnQgeyBUb2FzdCB9IGZyb20gXCIuLi90b2FzdFwiO1xuaW1wb3J0IHsgaW50ZXJ2YWwgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgdGhyb3R0bGUsIHRocm90dGxlVGltZSB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogXCJsaWItdG9hc3RpZnktdG9hc3RcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90b2FzdGlmeS10b2FzdC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vdG9hc3RpZnktdG9hc3QuY29tcG9uZW50LnNjc3NcIl0sXG4gIC8vIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0aWZ5VG9hc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoXCJwcm9ncmVzc0JhclwiKSBwcm9ncmVzc0JhcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoXCJwcm9ncmVzc0JhckNvdmVyXCIpIHByb2dyZXNzQmFyQ292ZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBJbnB1dCgpIGF1dG9DbG9zZSA9IDUwMDA7ICBcbiAgQElucHV0KCkgYXV0b0Nsb3NlRXJyb3IgPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGF1dG9DbG9zZVN1Y2Nlc3MgPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGF1dG9DbG9zZUluZm8gPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGF1dG9DbG9zZVdhcm4gPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGhpZGVQcm9ncmVzc0JhciA9IGZhbHNlO1xuICBASW5wdXQoKSBwYXVzZU9uSG92ZXIgPSB0cnVlO1xuICBASW5wdXQoKSBwYXVzZU9uVmlzaWJpbGl0eUNoYW5nZSA9IHRydWU7XG4gIEBJbnB1dCgpIGNsb3NlT25DbGljayA9IHRydWU7XG4gIEBJbnB1dCgpIHRvYXN0OiBUb2FzdDtcbiAgQElucHV0KCkgaWNvbkxpYnJhcnk6IFwibWF0ZXJpYWxcIiB8IFwiZm9udC1hd2Vzb21lXCIgfCBcIm5vbmVcIjtcblxuICBAT3V0cHV0KCkgZGlzbWlzc0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgZXhwZWN0ZWRBdXRvRGlzbWlzc1RpbWU6IG51bWJlcjtcbiAgcHJpdmF0ZSBhdXRvRGlzbWlzc1RpbWVvdXQ6IGFueTtcbiAgcHJpdmF0ZSBhdXRvQ2xvc2VSZW1haW5pbmc6IG51bWJlcjtcblxuICBwcml2YXRlIHBhdXNlVGltZTogbnVtYmVyO1xuICBwcml2YXRlIHN0YXJ0VGltZTogbnVtYmVyO1xuXG4gIHByaXZhdGUgX3Byb2dyZXNzQmFyQW5pbWF0aW9uOiBudW1iZXI7XG4gIHByaXZhdGUgXyR1cGRhdGVUaW1lcjtcblxuICBUb2FzdFR5cGUgPSBUb2FzdFR5cGU7XG4gIHJ1bm5pbmcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgX3pvbmU6IE5nWm9uZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmF1dG9DbG9zZVJlbWFpbmluZyA9IHRoaXMuYXV0b0Nsb3NlQWZ0ZXJTcGVjaWZpY0NoYW5nZSgpO1xuICAgIHRoaXMuc3RhcnRUaW1lID0gdGhpcy50b2FzdC50aW1lO1xuICAgIHRoaXMudG9hc3QuJHJlc2V0VG9hc3Quc3Vic2NyaWJlKCgpID0+IHRoaXMucmVzZXRUb2FzdFRpbWVyKCkpO1xuICAgIC8vIERvIG5vdCBzdGFydCB0aW1lciB3aGVuIHRvYXN0IGlzIHByb21wdGVkIHdoaWxlIHdpbmRvdyBpcyBvdXQgb2YgZm9jdXNcbiAgICBpZiAodGhpcy5oYW5kbGVWaXNpYmlsaXR5Q2hhbmdlICYmIGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSA9PT0gXCJ2aXNpYmxlXCIpIHtcbiAgICAgIHRoaXMuc3RhcnRDbG9zZVRpbWVyKCk7XG4gICAgfVxuXG4gICAgLy8gU3RhcnQgcHJvZ3Jlc3MgYmFyIGFuaW1hdGlvblxuICAgIHRoaXMudHJpZ2dlclByb2dyZXNzQmFyQW5pbWF0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIHRyaWdnZXJQcm9ncmVzc0JhckFuaW1hdGlvbigpOiB2b2lkIHtcbiAgICAvLyBDYW5jZWwgcHJldmlvdXMgYW5pbWxhdGlvbiB0byBhdm9pZCBsZWFrc1xuICAgIGlmICh0aGlzLl9wcm9ncmVzc0JhckFuaW1hdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9wcm9ncmVzc0JhckFuaW1hdGlvbik7XG4gICAgfVxuXG4gICAgLy8gU3RhcnQgYW5pbWF0aW9uXG4gICAgY29uc3QgZnJhbWUgPSAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5ydW5uaW5nKSB7XG4gICAgICAgIGNvbnN0IHJlbWFpbmluZ1RpbWUgPSBNYXRoLm1heCgwLCB0aGlzLmV4cGVjdGVkQXV0b0Rpc21pc3NUaW1lIC0gbmV3IERhdGUoKS5nZXRUaW1lKCkpO1xuICAgICAgICBjb25zdCBwZXJjZW50YWdlID0gMTAwIC0gKChyZW1haW5pbmdUaW1lIC8gdGhpcy5hdXRvQ2xvc2VBZnRlclNwZWNpZmljQ2hhbmdlKCkpICogMTAwKTtcbiAgICAgICAgdGhpcy5wcm9ncmVzc0JhckNvdmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPSBwZXJjZW50YWdlICsgXCIlXCI7XG4gICAgICAgIGlmIChwZXJjZW50YWdlIDw9IDApIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuX3Byb2dyZXNzQmFyQW5pbWF0aW9uID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZyYW1lKTtcbiAgICB9O1xuICAgIHRoaXMuX3Byb2dyZXNzQmFyQW5pbWF0aW9uID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZyYW1lKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8vIENhbmNlbCBhbmltYXRpb25cbiAgICBpZiAodGhpcy5fcHJvZ3Jlc3NCYXJBbmltYXRpb24pIHtcbiAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3Byb2dyZXNzQmFyQW5pbWF0aW9uKTtcbiAgICAgIHRoaXMuX3Byb2dyZXNzQmFyQW5pbWF0aW9uID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICAvLyBDbGVhciBhdXRvIGNsb3NlIHRpbWVvdXRcbiAgICB0aGlzLmNsZWFyVGltZXJUaW1lb3V0KCk7XG4gICAgLy8gQ29tcGxldGUgYWxsIG9ic2VydmFibGVzXG4gICAgdGhpcy50b2FzdC4kcmVzZXRUb2FzdD8uY29tcGxldGUoKTtcbiAgICB0aGlzLnRvYXN0LiRyZXNldFRvYXN0ID0gbnVsbDtcbiAgICB0aGlzLl8kdXBkYXRlVGltZXI/LmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fJHVwZGF0ZVRpbWVyID0gbnVsbDtcbiAgfVxuXG4gIHN0YXJ0Q2xvc2VUaW1lcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ydW5uaW5nIHx8ICF0aGlzLmF1dG9DbG9zZUFmdGVyU3BlY2lmaWNDaGFuZ2UoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucnVubmluZyA9IHRydWU7XG4gICAgdGhpcy5leHBlY3RlZEF1dG9EaXNtaXNzVGltZSA9XG4gICAgICBuZXcgRGF0ZSgpLmdldFRpbWUoKSArIHRoaXMuYXV0b0Nsb3NlUmVtYWluaW5nO1xuICAgIHRoaXMuYXV0b0Rpc21pc3NUaW1lb3V0ID0gdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PlxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmRpc21pc3NFdmVudC5lbWl0KCk7XG4gICAgICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSwgdGhpcy5hdXRvQ2xvc2VSZW1haW5pbmcpXG4gICAgKTtcbiAgfVxuXG4gIGF1dG9DbG9zZUFmdGVyU3BlY2lmaWNDaGFuZ2UoKTogbnVtYmVyIHtcbiAgICBjb25zdCBzcGVjaWZpY0Ftb3VudCA9ICgoKSA9PiB7XG4gICAgICBzd2l0Y2ggKHRoaXMudG9hc3QudHlwZSkge1xuICAgICAgICBjYXNlIFRvYXN0VHlwZS5zdWNjZXNzOlxuICAgICAgICAgIHJldHVybiB0aGlzLmF1dG9DbG9zZVN1Y2Nlc3M7XG4gICAgICAgIGNhc2UgVG9hc3RUeXBlLmVycm9yOlxuICAgICAgICAgIHJldHVybiB0aGlzLmF1dG9DbG9zZUVycm9yO1xuICAgICAgICBjYXNlIFRvYXN0VHlwZS53YXJuaW5nOlxuICAgICAgICAgIHJldHVybiB0aGlzLmF1dG9DbG9zZVdhcm47XG4gICAgICAgIGNhc2UgVG9hc3RUeXBlLmluZm86XG4gICAgICAgICAgcmV0dXJuIHRoaXMuYXV0b0Nsb3NlSW5mbztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH0pKCk7XG5cbiAgICByZXR1cm4gc3BlY2lmaWNBbW91bnQgPT09IHVuZGVmaW5lZCA/IHRoaXMuYXV0b0Nsb3NlIDogc3BlY2lmaWNBbW91bnQ7XG4gIH1cblxuICBwYXVzZUNsb3NlVGltZXIoKTogdm9pZCB7XG4gICAgdGhpcy5ydW5uaW5nID0gZmFsc2U7XG4gICAgdGhpcy5jbGVhclRpbWVyVGltZW91dCgpO1xuXG4gICAgLy8gQ2FsY3VsYXRlIHRoZSBlbGFwc2VkIHRpbWUsIHN1YnRyYWN0IHJlbWFpbmluZyB0aW1lXG4gICAgdGhpcy5wYXVzZVRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICBjb25zdCBlbGFwc2VkID0gdGhpcy5wYXVzZVRpbWUgLSB0aGlzLnN0YXJ0VGltZTtcbiAgICB0aGlzLmF1dG9DbG9zZVJlbWFpbmluZyA9IHRoaXMuYXV0b0Nsb3NlQWZ0ZXJTcGVjaWZpY0NoYW5nZSgpIC0gZWxhcHNlZDtcbiAgfVxuXG4gIHJlc2V0VG9hc3RUaW1lcigpIHtcbiAgICB0aGlzLmNsZWFyVGltZXJUaW1lb3V0KCk7XG4gICAgdGhpcy5ydW5uaW5nID0gZmFsc2U7XG4gICAgdGhpcy5zdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICB0aGlzLmF1dG9DbG9zZVJlbWFpbmluZyA9IHRoaXMuYXV0b0Nsb3NlQWZ0ZXJTcGVjaWZpY0NoYW5nZSgpO1xuICAgIHRoaXMuc3RhcnRDbG9zZVRpbWVyKCk7XG4gIH1cblxuICBjbGVhclRpbWVyVGltZW91dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hdXRvRGlzbWlzc1RpbWVvdXQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5leHBlY3RlZEF1dG9EaXNtaXNzVGltZSA9IHVuZGVmaW5lZDtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmF1dG9EaXNtaXNzVGltZW91dCk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlRGlzbWlzc0J1dHRvbkFjdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jbG9zZU9uQ2xpY2spIHtcbiAgICAgIHJldHVybjsgLy8gTGV0IHRoZSBvdGhlciBldmVudCBoYW5kbGUgdGhlIGRpc21pc3NhbFxuICAgIH1cblxuICAgIHRoaXMuY2xlYXJUaW1lclRpbWVvdXQoKTtcbiAgICB0aGlzLmRpc21pc3NFdmVudC5lbWl0KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKFwiY2xpY2tcIilcbiAgaGFuZGxlSG9zdENsaWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsb3NlT25DbGljaykge1xuICAgICAgdGhpcy5jbGVhclRpbWVyVGltZW91dCgpO1xuICAgICAgdGhpcy5kaXNtaXNzRXZlbnQuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoXCJtb3VzZWVudGVyXCIpXG4gIGhhbmRsZU1vdXNlRW50ZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGF1c2VPbkhvdmVyKSB7XG4gICAgICB0aGlzLnBhdXNlQ2xvc2VUaW1lcigpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoXCJtb3VzZWxlYXZlXCIpXG4gIGhhbmRsZU1vdXNlTGVhdmUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGF1c2VPbkhvdmVyKSB7XG4gICAgICB0aGlzLnN0YXJ0Q2xvc2VUaW1lcigpO1xuICAgICAgdGhpcy5zdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSArICh0aGlzLnN0YXJ0VGltZSAtIHRoaXMucGF1c2VUaW1lKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKFwiZG9jdW1lbnQ6dmlzaWJpbGl0eWNoYW5nZVwiKVxuICBoYW5kbGVWaXNpYmlsaXR5Q2hhbmdlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5wYXVzZU9uVmlzaWJpbGl0eUNoYW5nZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgIT09IFwidmlzaWJsZVwiKSB7XG4gICAgICB0aGlzLnBhdXNlQ2xvc2VUaW1lcigpO1xuICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0YXJ0Q2xvc2VUaW1lcigpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiByb2xlPVwiYWxlcnRcIiBjbGFzcz1cInRvYXN0LWJvZHlcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpY29uTGlicmFyeSA9PSAnbWF0ZXJpYWwnXCIgW25nU3dpdGNoXT1cInRvYXN0LnR5cGVcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiAqbmdTd2l0Y2hDYXNlPVwiVG9hc3RUeXBlLmluZm9cIj5pbmZvX291dGxpbmU8L2k+XG4gICAgICAgICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIgKm5nU3dpdGNoQ2FzZT1cIlRvYXN0VHlwZS5kZWZhdWx0XCI+aW5mb19vdXRsaW5lPC9pPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiICpuZ1N3aXRjaENhc2U9XCJUb2FzdFR5cGUud2FybmluZ1wiPndhcm5pbmdfb3V0bGluZTwvaT5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiAqbmdTd2l0Y2hDYXNlPVwiVG9hc3RUeXBlLmVycm9yXCI+ZXJyb3Jfb3V0bGluZTwvaT5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiAqbmdTd2l0Y2hDYXNlPVwiVG9hc3RUeXBlLnN1Y2Nlc3NcIj5kb25lPC9pPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaWNvbkxpYnJhcnkgPT0gJ2ZvbnQtYXdlc29tZSdcIiBbbmdTd2l0Y2hdPVwidG9hc3QudHlwZVwiPlxuICAgICAgICAgICAgPGkgKm5nU3dpdGNoQ2FzZT1cIlRvYXN0VHlwZS5pbmZvXCIgY2xhc3M9XCJmYSBmYS1pbmZvXCI+PC9pPlxuICAgICAgICAgICAgPGkgKm5nU3dpdGNoQ2FzZT1cIlRvYXN0VHlwZS5kZWZhdWx0XCIgY2xhc3M9XCJmYSBmYS1pbmZvXCI+PC9pPlxuICAgICAgICAgICAgPGkgKm5nU3dpdGNoQ2FzZT1cIlRvYXN0VHlwZS53YXJuaW5nXCIgY2xhc3M9XCJmYSBmYS1leGNsYW1hdGlvbi10cmlhbmdsZVwiPjwvaT5cbiAgICAgICAgICAgIDxpICpuZ1N3aXRjaENhc2U9XCJUb2FzdFR5cGUuZXJyb3JcIiBjbGFzcz1cImZhIGZhLWV4Y2xhbWF0aW9uXCI+PC9pPlxuICAgICAgICAgICAgPGkgKm5nU3dpdGNoQ2FzZT1cIlRvYXN0VHlwZS5zdWNjZXNzXCIgY2xhc3M9XCJmYSBmYS1jaGVja1wiPjwvaT5cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ0b2FzdC1jb250YWluZXJcIj5cbiAgICAgICAgPHNwYW4+e3t0b2FzdC5tZXNzYWdlfX08L3NwYW4+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxidXR0b24gKGNsaWNrKT1cImhhbmRsZURpc21pc3NCdXR0b25BY3Rpb24oKVwiIGNsYXNzPVwiY2xvc2UtYnV0dG9uIGNsb3NlLWJ1dHRvbi0te3tUb2FzdFR5cGVbdG9hc3QudHlwZV19fVwiIHR5cGU9XCJidXR0b25cIiBhcmlhLWxhYmVsPVwiY2xvc2VcIj7inJY8L2J1dHRvbj5cblxuPGRpdiAjcHJvZ3Jlc3NCYXIgKm5nSWY9XCIhaGlkZVByb2dyZXNzQmFyXCIgY2xhc3M9XCJwcm9ncmVzcy1iYXIgcHJvZ3Jlc3MtYmFyJiM0NTsmIzQ1O3t7VG9hc3RUeXBlW3RvYXN0LnR5cGVdfX1cIiBzdHlsZT1cIm9wYWNpdHk6IDE7XCI+PC9kaXY+XG48ZGl2ICNwcm9ncmVzc0JhckNvdmVyICpuZ0lmPVwiIWhpZGVQcm9ncmVzc0JhclwiIGNsYXNzPVwicHJvZ3Jlc3MtYmFyLWNvdmVyIHRvYXN0LS17e1RvYXN0VHlwZVt0b2FzdC50eXBlXX19XCIgW3N0eWxlLmFuaW1hdGlvbi1kdXJhdGlvbl09XCJ0aGlzLmF1dG9DbG9zZUFmdGVyU3BlY2lmaWNDaGFuZ2UoKSArICdtcydcIiAgW3N0eWxlLmFuaW1hdGlvbi1wbGF5LXN0YXRlXT1cInJ1bm5pbmc/ICdydW5uaW5nJyA6ICdwYXVzZWQnXCI+PC9kaXY+XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3RpZnktdG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10b2FzdGlmeS9zcmMvbGliL3RvYXN0aWZ5LXRvYXN0L3RvYXN0aWZ5LXRvYXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9hc3RpZnkvc3JjL2xpYi90b2FzdGlmeS10b2FzdC90b2FzdGlmeS10b2FzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUdOLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFXakMsTUFBTSxPQUFPLHNCQUFzQjtJQStCakMsWUFBb0IsR0FBc0IsRUFBVSxLQUFhO1FBQTdDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQTNCeEQsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixtQkFBYyxHQUFHLFNBQVMsQ0FBQztRQUMzQixxQkFBZ0IsR0FBRyxTQUFTLENBQUM7UUFDN0Isa0JBQWEsR0FBRyxTQUFTLENBQUM7UUFDMUIsa0JBQWEsR0FBRyxTQUFTLENBQUM7UUFDMUIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIsNEJBQXVCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBSW5CLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVk1QyxjQUFTLEdBQUcs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WTtzQkFBckIsTUFBTTtnQkF3SVAsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLE9BQU87Z0JBU3JCLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLFlBQVk7Z0JBUTFCLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLFlBQVk7Z0JBUzFCLHNCQUFzQjtzQkFEckIsWUFBWTt1QkFBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRvYXN0VHlwZSB9IGZyb20gXCIuLi90b2FzdC10eXBlXCI7XG5pbXBvcnQgeyBUb2FzdCB9IGZyb20gXCIuLi90b2FzdFwiO1xuaW1wb3J0IHsgaW50ZXJ2YWwgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgdGhyb3R0bGUsIHRocm90dGxlVGltZSB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogXCJsaWItdG9hc3RpZnktdG9hc3RcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90b2FzdGlmeS10b2FzdC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vdG9hc3RpZnktdG9hc3QuY29tcG9uZW50LnNjc3NcIl0sXG4gIC8vIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0aWZ5VG9hc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoXCJwcm9ncmVzc0JhclwiKSBwcm9ncmVzc0JhcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoXCJwcm9ncmVzc0JhckNvdmVyXCIpIHByb2dyZXNzQmFyQ292ZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBJbnB1dCgpIGF1dG9DbG9zZSA9IDUwMDA7ICBcbiAgQElucHV0KCkgYXV0b0Nsb3NlRXJyb3IgPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGF1dG9DbG9zZVN1Y2Nlc3MgPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGF1dG9DbG9zZUluZm8gPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGF1dG9DbG9zZVdhcm4gPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGhpZGVQcm9ncmVzc0JhciA9IGZhbHNlO1xuICBASW5wdXQoKSBwYXVzZU9uSG92ZXIgPSB0cnVlO1xuICBASW5wdXQoKSBwYXVzZU9uVmlzaWJpbGl0eUNoYW5nZSA9IHRydWU7XG4gIEBJbnB1dCgpIGNsb3NlT25DbGljayA9IHRydWU7XG4gIEBJbnB1dCgpIHRvYXN0OiBUb2FzdDtcbiAgQElucHV0KCkgaWNvbkxpYnJhcnk6IFwibWF0ZXJpYWxcIiB8IFwiZm9udC1hd2Vzb21lXCIgfCBcIm5vbmVcIjtcblxuICBAT3V0cHV0KCkgZGlzbWlzc0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgZXhwZWN0ZWRBdXRvRGlzbWlzc1RpbWU6IG51bWJlcjtcbiAgcHJpdmF0ZSBhdXRvRGlzbWlzc1RpbWVvdXQ6IGFueTtcbiAgcHJpdmF0ZSBhdXRvQ2xvc2VSZW1haW5pbmc6IG51bWJlcjtcblxuICBwcml2YXRlIHBhdXNlVGltZTogbnVtYmVyO1xuICBwcml2YXRlIHN0YXJ0VGltZTogbnVtYmVyO1xuXG4gIHByaXZhdGUgX3Byb2dyZXNzQmFyQW5pbWF0aW9uOiBudW1iZXI7XG4gIHByaXZhdGUgXyR1cGRhdGVUaW1lcjtcblxuICBUb2FzdFR5cGUgPSBUb2FzdFR5cGU7XG4gIHJ1bm5pbmcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgX3pvbmU6IE5nWm9uZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmF1dG9DbG9zZVJlbWFpbmluZyA9IHRoaXMuYXV0b0Nsb3NlQWZ0ZXJTcGVjaWZpY0NoYW5nZSgpO1xuICAgIHRoaXMuc3RhcnRUaW1lID0gdGhpcy50b2FzdC50aW1lO1xuICAgIHRoaXMudG9hc3QuJHJlc2V0VG9hc3Quc3Vic2NyaWJlKCgpID0+IHRoaXMucmVzZXRUb2FzdFRpbWVyKCkpO1xuICAgIC8vIERvIG5vdCBzdGFydCB0aW1lciB3aGVuIHRvYXN0IGlzIHByb21wdGVkIHdoaWxlIHdpbmRvdyBpcyBvdXQgb2YgZm9jdXNcbiAgICBpZiAodGhpcy5oYW5kbGVWaXNpYmlsaXR5Q2hhbmdlICYmIGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSA9PT0gXCJ2aXNpYmxlXCIpIHtcbiAgICAgIHRoaXMuc3RhcnRDbG9zZVRpbWVyKCk7XG4gICAgfVxuXG4gICAgLy8gU3RhcnQgcHJvZ3Jlc3MgYmFyIGFuaW1hdGlvblxuICAgIHRoaXMudHJpZ2dlclByb2dyZXNzQmFyQW5pbWF0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIHRyaWdnZXJQcm9ncmVzc0JhckFuaW1hdGlvbigpOiB2b2lkIHtcbiAgICAvLyBDYW5jZWwgcHJldmlvdXMgYW5pbWxhdGlvbiB0byBhdm9pZCBsZWFrc1xuICAgIGlmICh0aGlzLl9wcm9ncmVzc0JhckFuaW1hdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9wcm9ncmVzc0JhckFuaW1hdGlvbik7XG4gICAgfVxuXG4gICAgLy8gU3RhcnQgYW5pbWF0aW9uXG4gICAgY29uc3QgZnJhbWUgPSAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5ydW5uaW5nKSB7XG4gICAgICAgIGNvbnN0IHJlbWFpbmluZ1RpbWUgPSBNYXRoLm1heCgwLCB0aGlzLmV4cGVjdGVkQXV0b0Rpc21pc3NUaW1lIC0gbmV3IERhdGUoKS5nZXRUaW1lKCkpO1xuICAgICAgICBjb25zdCBwZXJjZW50YWdlID0gMTAwIC0gKChyZW1haW5pbmdUaW1lIC8gdGhpcy5hdXRvQ2xvc2VBZnRlclNwZWNpZmljQ2hhbmdlKCkpICogMTAwKTtcbiAgICAgICAgdGhpcy5wcm9ncmVzc0JhckNvdmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPSBwZXJjZW50YWdlICsgXCIlXCI7XG4gICAgICAgIGlmIChwZXJjZW50YWdlIDw9IDApIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuX3Byb2dyZXNzQmFyQW5pbWF0aW9uID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZyYW1lKTtcbiAgICB9O1xuICAgIHRoaXMuX3Byb2dyZXNzQmFyQW5pbWF0aW9uID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZyYW1lKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8vIENhbmNlbCBhbmltYXRpb25cbiAgICBpZiAodGhpcy5fcHJvZ3Jlc3NCYXJBbmltYXRpb24pIHtcbiAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3Byb2dyZXNzQmFyQW5pbWF0aW9uKTtcbiAgICAgIHRoaXMuX3Byb2dyZXNzQmFyQW5pbWF0aW9uID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICAvLyBDbGVhciBhdXRvIGNsb3NlIHRpbWVvdXRcbiAgICB0aGlzLmNsZWFyVGltZXJUaW1lb3V0KCk7XG4gICAgLy8gQ29tcGxldGUgYWxsIG9ic2VydmFibGVzXG4gICAgdGhpcy50b2FzdC4kcmVzZXRUb2FzdD8uY29tcGxldGUoKTtcbiAgICB0aGlzLnRvYXN0LiRyZXNldFRvYXN0ID0gbnVsbDtcbiAgICB0aGlzLl8kdXBkYXRlVGltZXI/LmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fJHVwZGF0ZVRpbWVyID0gbnVsbDtcbiAgfVxuXG4gIHN0YXJ0Q2xvc2VUaW1lcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ydW5uaW5nIHx8ICF0aGlzLmF1dG9DbG9zZUFmdGVyU3BlY2lmaWNDaGFuZ2UoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucnVubmluZyA9IHRydWU7XG4gICAgdGhpcy5leHBlY3RlZEF1dG9EaXNtaXNzVGltZSA9XG4gICAgICBuZXcgRGF0ZSgpLmdldFRpbWUoKSArIHRoaXMuYXV0b0Nsb3NlUmVtYWluaW5nO1xuICAgIHRoaXMuYXV0b0Rpc21pc3NUaW1lb3V0ID0gdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PlxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmRpc21pc3NFdmVudC5lbWl0KCk7XG4gICAgICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSwgdGhpcy5hdXRvQ2xvc2VSZW1haW5pbmcpXG4gICAgKTtcbiAgfVxuXG4gIGF1dG9DbG9zZUFmdGVyU3BlY2lmaWNDaGFuZ2UoKTogbnVtYmVyIHtcbiAgICBjb25zdCBzcGVjaWZpY0Ftb3VudCA9ICgoKSA9PiB7XG4gICAgICBzd2l0Y2ggKHRoaXMudG9hc3QudHlwZSkge1xuICAgICAgICBjYXNlIFRvYXN0VHlwZS5zdWNjZXNzOlxuICAgICAgICAgIHJldHVybiB0aGlzLmF1dG9DbG9zZVN1Y2Nlc3M7XG4gICAgICAgIGNhc2UgVG9hc3RUeXBlLmVycm9yOlxuICAgICAgICAgIHJldHVybiB0aGlzLmF1dG9DbG9zZUVycm9yO1xuICAgICAgICBjYXNlIFRvYXN0VHlwZS53YXJuaW5nOlxuICAgICAgICAgIHJldHVybiB0aGlzLmF1dG9DbG9zZVdhcm47XG4gICAgICAgIGNhc2UgVG9hc3RUeXBlLmluZm86XG4gICAgICAgICAgcmV0dXJuIHRoaXMuYXV0b0Nsb3NlSW5mbztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH0pKCk7XG5cbiAgICByZXR1cm4gc3BlY2lmaWNBbW91bnQgPT09IHVuZGVmaW5lZCA/IHRoaXMuYXV0b0Nsb3NlIDogc3BlY2lmaWNBbW91bnQ7XG4gIH1cblxuICBwYXVzZUNsb3NlVGltZXIoKTogdm9pZCB7XG4gICAgdGhpcy5ydW5uaW5nID0gZmFsc2U7XG4gICAgdGhpcy5jbGVhclRpbWVyVGltZW91dCgpO1xuXG4gICAgLy8gQ2FsY3VsYXRlIHRoZSBlbGFwc2VkIHRpbWUsIHN1YnRyYWN0IHJlbWFpbmluZyB0aW1lXG4gICAgdGhpcy5wYXVzZVRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICBjb25zdCBlbGFwc2VkID0gdGhpcy5wYXVzZVRpbWUgLSB0aGlzLnN0YXJ0VGltZTtcbiAgICB0aGlzLmF1dG9DbG9zZVJlbWFpbmluZyA9IHRoaXMuYXV0b0Nsb3NlQWZ0ZXJTcGVjaWZpY0NoYW5nZSgpIC0gZWxhcHNlZDtcbiAgfVxuXG4gIHJlc2V0VG9hc3RUaW1lcigpIHtcbiAgICB0aGlzLmNsZWFyVGltZXJUaW1lb3V0KCk7XG4gICAgdGhpcy5ydW5uaW5nID0gZmFsc2U7XG4gICAgdGhpcy5zdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICB0aGlzLmF1dG9DbG9zZVJlbWFpbmluZyA9IHRoaXMuYXV0b0Nsb3NlQWZ0ZXJTcGVjaWZpY0NoYW5nZSgpO1xuICAgIHRoaXMuc3RhcnRDbG9zZVRpbWVyKCk7XG4gIH1cblxuICBjbGVhclRpbWVyVGltZW91dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hdXRvRGlzbWlzc1RpbWVvdXQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5leHBlY3RlZEF1dG9EaXNtaXNzVGltZSA9IHVuZGVmaW5lZDtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmF1dG9EaXNtaXNzVGltZW91dCk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlRGlzbWlzc0J1dHRvbkFjdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jbG9zZU9uQ2xpY2spIHtcbiAgICAgIHJldHVybjsgLy8gTGV0IHRoZSBvdGhlciBldmVudCBoYW5kbGUgdGhlIGRpc21pc3NhbFxuICAgIH1cblxuICAgIHRoaXMuY2xlYXJUaW1lclRpbWVvdXQoKTtcbiAgICB0aGlzLmRpc21pc3NFdmVudC5lbWl0KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKFwiY2xpY2tcIilcbiAgaGFuZGxlSG9zdENsaWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsb3NlT25DbGljaykge1xuICAgICAgdGhpcy5jbGVhclRpbWVyVGltZW91dCgpO1xuICAgICAgdGhpcy5kaXNtaXNzRXZlbnQuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoXCJtb3VzZWVudGVyXCIpXG4gIGhhbmRsZU1vdXNlRW50ZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGF1c2VPbkhvdmVyKSB7XG4gICAgICB0aGlzLnBhdXNlQ2xvc2VUaW1lcigpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoXCJtb3VzZWxlYXZlXCIpXG4gIGhhbmRsZU1vdXNlTGVhdmUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGF1c2VPbkhvdmVyKSB7XG4gICAgICB0aGlzLnN0YXJ0Q2xvc2VUaW1lcigpO1xuICAgICAgdGhpcy5zdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSArICh0aGlzLnN0YXJ0VGltZSAtIHRoaXMucGF1c2VUaW1lKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKFwiZG9jdW1lbnQ6dmlzaWJpbGl0eWNoYW5nZVwiKVxuICBoYW5kbGVWaXNpYmlsaXR5Q2hhbmdlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5wYXVzZU9uVmlzaWJpbGl0eUNoYW5nZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgIT09IFwidmlzaWJsZVwiKSB7XG4gICAgICB0aGlzLnBhdXNlQ2xvc2VUaW1lcigpO1xuICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0YXJ0Q2xvc2VUaW1lcigpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiByb2xlPVwiYWxlcnRcIiBjbGFzcz1cInRvYXN0LWJvZHlcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpY29uTGlicmFyeSA9PSAnbWF0ZXJpYWwnXCIgW25nU3dpdGNoXT1cInRvYXN0LnR5cGVcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiAqbmdTd2l0Y2hDYXNlPVwiVG9hc3RUeXBlLmluZm9cIj5pbmZvX291dGxpbmU8L2k+XG4gICAgICAgICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIgKm5nU3dpdGNoQ2FzZT1cIlRvYXN0VHlwZS5kZWZhdWx0XCI+aW5mb19vdXRsaW5lPC9pPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiICpuZ1N3aXRjaENhc2U9XCJUb2FzdFR5cGUud2FybmluZ1wiPndhcm5pbmdfb3V0bGluZTwvaT5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiAqbmdTd2l0Y2hDYXNlPVwiVG9hc3RUeXBlLmVycm9yXCI+ZXJyb3Jfb3V0bGluZTwvaT5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiAqbmdTd2l0Y2hDYXNlPVwiVG9hc3RUeXBlLnN1Y2Nlc3NcIj5kb25lPC9pPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaWNvbkxpYnJhcnkgPT0gJ2ZvbnQtYXdlc29tZSdcIiBbbmdTd2l0Y2hdPVwidG9hc3QudHlwZVwiPlxuICAgICAgICAgICAgPGkgKm5nU3dpdGNoQ2FzZT1cIlRvYXN0VHlwZS5pbmZvXCIgY2xhc3M9XCJmYSBmYS1pbmZvXCI+PC9pPlxuICAgICAgICAgICAgPGkgKm5nU3dpdGNoQ2FzZT1cIlRvYXN0VHlwZS5kZWZhdWx0XCIgY2xhc3M9XCJmYSBmYS1pbmZvXCI+PC9pPlxuICAgICAgICAgICAgPGkgKm5nU3dpdGNoQ2FzZT1cIlRvYXN0VHlwZS53YXJuaW5nXCIgY2xhc3M9XCJmYSBmYS1leGNsYW1hdGlvbi10cmlhbmdsZVwiPjwvaT5cbiAgICAgICAgICAgIDxpICpuZ1N3aXRjaENhc2U9XCJUb2FzdFR5cGUuZXJyb3JcIiBjbGFzcz1cImZhIGZhLWV4Y2xhbWF0aW9uXCI+PC9pPlxuICAgICAgICAgICAgPGkgKm5nU3dpdGNoQ2FzZT1cIlRvYXN0VHlwZS5zdWNjZXNzXCIgY2xhc3M9XCJmYSBmYS1jaGVja1wiPjwvaT5cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ0b2FzdC1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdj57e3RvYXN0Lm1lc3NhZ2V9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjbG9zZS1jb250YWluZXJcIj5cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cImhhbmRsZURpc21pc3NCdXR0b25BY3Rpb24oKVwiIGNsYXNzPVwiY2xvc2UtYnV0dG9uIGNsb3NlLWJ1dHRvbi0te3tUb2FzdFR5cGVbdG9hc3QudHlwZV19fVwiIHR5cGU9XCJidXR0b25cIiBhcmlhLWxhYmVsPVwiY2xvc2VcIj7inJY8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2ICNwcm9ncmVzc0JhciAqbmdJZj1cIiFoaWRlUHJvZ3Jlc3NCYXJcIiBjbGFzcz1cInByb2dyZXNzLWJhciBwcm9ncmVzcy1iYXImIzQ1OyYjNDU7e3tUb2FzdFR5cGVbdG9hc3QudHlwZV19fVwiIHN0eWxlPVwib3BhY2l0eTogMTtcIj48L2Rpdj5cbjxkaXYgI3Byb2dyZXNzQmFyQ292ZXIgKm5nSWY9XCIhaGlkZVByb2dyZXNzQmFyXCIgY2xhc3M9XCJwcm9ncmVzcy1iYXItY292ZXIgdG9hc3QtLXt7VG9hc3RUeXBlW3RvYXN0LnR5cGVdfX1cIiBbc3R5bGUuYW5pbWF0aW9uLWR1cmF0aW9uXT1cInRoaXMuYXV0b0Nsb3NlQWZ0ZXJTcGVjaWZpY0NoYW5nZSgpICsgJ21zJ1wiICBbc3R5bGUuYW5pbWF0aW9uLXBsYXktc3RhdGVdPVwicnVubmluZz8gJ3J1bm5pbmcnIDogJ3BhdXNlZCdcIj48L2Rpdj5cbiJdfQ==

@@ -216,3 +216,3 @@ import * as i0 from '@angular/core';

/** @nocollapse */ ToastifyToastComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: ToastifyToastComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
/** @nocollapse */ ToastifyToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: ToastifyToastComponent, selector: "lib-toastify-toast", inputs: { autoClose: "autoClose", autoCloseError: "autoCloseError", autoCloseSuccess: "autoCloseSuccess", autoCloseInfo: "autoCloseInfo", autoCloseWarn: "autoCloseWarn", hideProgressBar: "hideProgressBar", pauseOnHover: "pauseOnHover", pauseOnVisibilityChange: "pauseOnVisibilityChange", closeOnClick: "closeOnClick", toast: "toast", iconLibrary: "iconLibrary" }, outputs: { dismissEvent: "dismissEvent" }, host: { listeners: { "click": "handleHostClick()", "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()", "document:visibilitychange": "handleVisibilityChange()" } }, viewQueries: [{ propertyName: "progressBar", first: true, predicate: ["progressBar"], descendants: true }, { propertyName: "progressBarCover", first: true, predicate: ["progressBarCover"], descendants: true }], ngImport: i0, template: "<div role=\"alert\" class=\"toast-body\">\n <div class=\"icon-container\">\n <span *ngIf=\"iconLibrary == 'material'\" [ngSwitch]=\"toast.type\">\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.info\">info_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.default\">info_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.warning\">warning_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.error\">error_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.success\">done</i>\n </span>\n <span *ngIf=\"iconLibrary == 'font-awesome'\" [ngSwitch]=\"toast.type\">\n <i *ngSwitchCase=\"ToastType.info\" class=\"fa fa-info\"></i>\n <i *ngSwitchCase=\"ToastType.default\" class=\"fa fa-info\"></i>\n <i *ngSwitchCase=\"ToastType.warning\" class=\"fa fa-exclamation-triangle\"></i>\n <i *ngSwitchCase=\"ToastType.error\" class=\"fa fa-exclamation\"></i>\n <i *ngSwitchCase=\"ToastType.success\" class=\"fa fa-check\"></i>\n </span>\n </div>\n <div class=\"toast-container\">\n <span>{{toast.message}}</span>\n </div>\n</div>\n<button (click)=\"handleDismissButtonAction()\" class=\"close-button close-button--{{ToastType[toast.type]}}\" type=\"button\" aria-label=\"close\">\u2716</button>\n\n<div #progressBar *ngIf=\"!hideProgressBar\" class=\"progress-bar progress-bar&#45;&#45;{{ToastType[toast.type]}}\" style=\"opacity: 1;\"></div>\n<div #progressBarCover *ngIf=\"!hideProgressBar\" class=\"progress-bar-cover toast--{{ToastType[toast.type]}}\" [style.animation-duration]=\"this.autoCloseAfterSpecificChange() + 'ms'\" [style.animation-play-state]=\"running? 'running' : 'paused'\"></div>\n", styles: [".toast{position:relative;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:1px;box-shadow:0 1px 10px 0 rgba(0,0,0,.1),0 2px 15px 0 rgba(0,0,0,.05);display:flex;justify-content:space-between;max-height:800px;overflow:hidden;font-family:sans-serif;cursor:pointer;direction:ltr}.toast--rtl{direction:rtl}.toast--default{background:#fff;color:#aaa}.toast--info{background:#3498db}.toast--success{background:#07bc0c}.toast--warning{background:#f1c40f}.toast--error{background:#e74c3c}.toast-body{margin:auto 0;flex:1}@media only screen and (max-width:480px){.toast{margin-bottom:0}}.close-button{color:#fff;font-weight:700;font-size:14px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;align-self:flex-start}.close-button--default{color:#000;opacity:.3}.close-button:focus,.close-button:hover{opacity:1}.progress-bar-cover{right:0;z-index:100;direction:rtl}.progress-bar,.progress-bar-cover{position:absolute;bottom:0;width:100%;height:5px;transform-origin:left}.progress-bar{left:0;z-index:99;opacity:.7;background-color:hsla(0,0%,100%,.7)}.progress-bar--controlled{transition:transform .2s}.progress-bar--rtl{right:0;left:auto;transform-origin:right}.progress-bar--default{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55)}.icon-container,.toast-body{vertical-align:middle}.icon-container{display:inline-block;width:25px}.icon-container span{margin-right:.5rem;display:inline-block;text-align:center;width:20px}.icon-container span i{vertical-align:middle}.fa,.material-icons{font-size:18px}.toast-container{display:inline-block;width:calc(100% - 25px);vertical-align:middle}"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
/** @nocollapse */ ToastifyToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: ToastifyToastComponent, selector: "lib-toastify-toast", inputs: { autoClose: "autoClose", autoCloseError: "autoCloseError", autoCloseSuccess: "autoCloseSuccess", autoCloseInfo: "autoCloseInfo", autoCloseWarn: "autoCloseWarn", hideProgressBar: "hideProgressBar", pauseOnHover: "pauseOnHover", pauseOnVisibilityChange: "pauseOnVisibilityChange", closeOnClick: "closeOnClick", toast: "toast", iconLibrary: "iconLibrary" }, outputs: { dismissEvent: "dismissEvent" }, host: { listeners: { "click": "handleHostClick()", "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()", "document:visibilitychange": "handleVisibilityChange()" } }, viewQueries: [{ propertyName: "progressBar", first: true, predicate: ["progressBar"], descendants: true }, { propertyName: "progressBarCover", first: true, predicate: ["progressBarCover"], descendants: true }], ngImport: i0, template: "<div role=\"alert\" class=\"toast-body\">\n <div class=\"icon-container\">\n <span *ngIf=\"iconLibrary == 'material'\" [ngSwitch]=\"toast.type\">\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.info\">info_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.default\">info_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.warning\">warning_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.error\">error_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.success\">done</i>\n </span>\n <span *ngIf=\"iconLibrary == 'font-awesome'\" [ngSwitch]=\"toast.type\">\n <i *ngSwitchCase=\"ToastType.info\" class=\"fa fa-info\"></i>\n <i *ngSwitchCase=\"ToastType.default\" class=\"fa fa-info\"></i>\n <i *ngSwitchCase=\"ToastType.warning\" class=\"fa fa-exclamation-triangle\"></i>\n <i *ngSwitchCase=\"ToastType.error\" class=\"fa fa-exclamation\"></i>\n <i *ngSwitchCase=\"ToastType.success\" class=\"fa fa-check\"></i>\n </span>\n </div>\n <div class=\"toast-container\">\n <div>{{toast.message}}</div>\n </div>\n <div class=\"close-container\">\n <button (click)=\"handleDismissButtonAction()\" class=\"close-button close-button--{{ToastType[toast.type]}}\" type=\"button\" aria-label=\"close\">\u2716</button>\n </div>\n</div>\n\n<div #progressBar *ngIf=\"!hideProgressBar\" class=\"progress-bar progress-bar&#45;&#45;{{ToastType[toast.type]}}\" style=\"opacity: 1;\"></div>\n<div #progressBarCover *ngIf=\"!hideProgressBar\" class=\"progress-bar-cover toast--{{ToastType[toast.type]}}\" [style.animation-duration]=\"this.autoCloseAfterSpecificChange() + 'ms'\" [style.animation-play-state]=\"running? 'running' : 'paused'\"></div>\n", styles: [".toast{position:relative;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:1px;box-shadow:0 1px 10px 0 rgba(0,0,0,.1),0 2px 15px 0 rgba(0,0,0,.05);display:flex;justify-content:space-between;max-height:800px;overflow:hidden;font-family:sans-serif;cursor:pointer;direction:ltr}.toast--rtl{direction:rtl}.toast--default{background:#fff;color:#aaa}.toast--info{background:#3498db}.toast--success{background:#07bc0c}.toast--warning{background:#f1c40f}.toast--error{background:#e74c3c}.toast-body{margin:auto 0;flex:1}@media only screen and (max-width:480px){.toast{margin-bottom:0}}.close-button{color:#fff;font-weight:700;font-size:14px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;align-self:flex-start}.close-button--default{color:#000;opacity:.3}.close-button:focus,.close-button:hover{opacity:1}.progress-bar-cover{right:0;z-index:100;direction:rtl}.progress-bar,.progress-bar-cover{position:absolute;bottom:0;width:100%;height:5px;transform-origin:left}.progress-bar{left:0;z-index:99;opacity:.7;background-color:hsla(0,0%,100%,.7)}.progress-bar--controlled{transition:transform .2s}.progress-bar--rtl{right:0;left:auto;transform-origin:right}.progress-bar--default{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55)}.toast-body{min-width:0;min-height:0}.icon-container,.toast-body{vertical-align:middle;display:flex}.icon-container{flex-direction:column;justify-content:center;width:25px}.icon-container span{margin-right:.5rem;display:inline-block;text-align:center;width:20px}.icon-container span i{vertical-align:middle}.fa,.material-icons{font-size:18px}.toast-container{width:calc(100% - 25px);overflow-y:scroll;display:flex;flex-direction:column;min-height:0}.toast-container>div{display:flex;flex:1;flex-direction:column;justify-content:center}"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: ToastifyToastComponent, decorators: [{

@@ -351,3 +351,3 @@ type: Component,

/** @nocollapse */ ToastifyToastContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: ToastifyToastContainerComponent, deps: [{ token: ToastService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
/** @nocollapse */ ToastifyToastContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: ToastifyToastContainerComponent, selector: "lib-toastify-toast-container", inputs: { position: "position", transition: "transition", autoClose: "autoClose", autoCloseError: "autoCloseError", autoCloseSuccess: "autoCloseSuccess", autoCloseInfo: "autoCloseInfo", autoCloseWarn: "autoCloseWarn", hideProgressBar: "hideProgressBar", pauseOnHover: "pauseOnHover", pauseOnVisibilityChange: "pauseOnVisibilityChange", closeOnClick: "closeOnClick", newestOnTop: "newestOnTop", preventDuplicates: "preventDuplicates", iconLibrary: "iconLibrary" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"toast-container toast-container--{{position}}\">\n <lib-toastify-toast *ngFor=\"let toast of toasts\" [class]=\"getClass(toast)\" style=\"animation-fill-mode: both; animation-duration: 0.75s\"\n [autoClose]=\"autoClose\" [autoCloseSuccess]=\"this.autoCloseSuccess\" [autoCloseError]=\"this.autoCloseError\" [autoCloseWarn]=\"this.autoCloseWarn\" \n [autoCloseInfo]=\"this.autoCloseInfo\" [toast]=\"toast\" (dismissEvent)=\"dismiss(toast)\" [hideProgressBar]=\"hideProgressBar\" [pauseOnHover]=\"pauseOnHover\"\n [pauseOnVisibilityChange]=\"pauseOnVisibilityChange\" [closeOnClick]=\"closeOnClick\" [iconLibrary]=\"iconLibrary\">\n </lib-toastify-toast>\n</div>", styles: [".toast-container{z-index:9999;-webkit-transform:translateZ(9999px);position:fixed;padding:4px;width:320px;box-sizing:border-box;color:#fff}.toast-container--top-left{top:1em;left:1em}.toast-container--top-center{top:1em;left:50%;margin-left:-160px}.toast-container--top-right{top:1em;right:1em}.toast-container--bottom-left{bottom:1em;left:1em}.toast-container--bottom-center{bottom:1em;left:50%;margin-left:-160px}.toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.toast-container{width:100vw;padding:0;left:0;margin:0}.toast-container--top-center,.toast-container--top-left,.toast-container--top-right{top:0}.toast-container--bottom-center,.toast-container--bottom-left,.toast-container--bottom-right{bottom:0}.toast-container--rtl{right:0;left:auto}}.toast{position:relative;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:1px;box-shadow:0 1px 10px 0 rgba(0,0,0,.1),0 2px 15px 0 rgba(0,0,0,.05);display:flex;justify-content:space-between;max-height:800px;overflow:hidden;font-family:sans-serif;cursor:pointer;direction:ltr}.toast--rtl{direction:rtl}.toast--default{background:#fff;color:#aaa}.toast--info{background:#3498db}.toast--success{background:#07bc0c}.toast--warning{background:#f1c40f}.toast--error{background:#e74c3c}.toast-body{margin:auto 0;flex:1}@media only screen and (max-width:480px){.toast{margin-bottom:0}}@keyframes bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.bounce-enter--bottom-left,.bounce-enter--top-left{animation-name:bounceInLeft}.bounce-enter--bottom-right,.bounce-enter--top-right{animation-name:bounceInRight}.bounce-enter--top-center{animation-name:bounceInDown}.bounce-enter--bottom-center{animation-name:bounceInUp}.bounce-exit--bottom-left,.bounce-exit--top-left{animation-name:bounceOutLeft}.bounce-exit--bottom-right,.bounce-exit--top-right{animation-name:bounceOutRight}.bounce-exit--top-center{animation-name:bounceOutUp}.bounce-exit--bottom-center{animation-name:bounceOutDown}@keyframes zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoom-enter{animation-name:zoomIn}.zoom-exit{animation-name:zoomOut}@keyframes flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes flipOut{0%{transform:perspective(400px)}30%{transform:perspective(400px) rotateX(-20deg);opacity:1}to{transform:perspective(400px) rotateX(90deg);opacity:0}}.flip-enter{animation-name:flipIn}.flip-exit{animation-name:flipOut}@keyframes slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideOutRight{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(110%,0,0)}}@keyframes slideOutLeft{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(-110%,0,0)}}@keyframes slideOutDown{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes slideOutUp{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.slide-enter--bottom-left,.slide-enter--top-left{animation-name:slideInLeft}.slide-enter--bottom-right,.slide-enter--top-right{animation-name:slideInRight}.slide-enter--top-center{animation-name:slideInDown}.slide-enter--bottom-center{animation-name:slideInUp}.slide-exit--bottom-left,.slide-exit--top-left{animation-name:slideOutLeft}.slide-exit--bottom-right,.slide-exit--top-right{animation-name:slideOutRight}.slide-exit--top-center{animation-name:slideOutUp}.slide-exit--bottom-center{animation-name:slideOutDown}"], components: [{ type: ToastifyToastComponent, selector: "lib-toastify-toast", inputs: ["autoClose", "autoCloseError", "autoCloseSuccess", "autoCloseInfo", "autoCloseWarn", "hideProgressBar", "pauseOnHover", "pauseOnVisibilityChange", "closeOnClick", "toast", "iconLibrary"], outputs: ["dismissEvent"] }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
/** @nocollapse */ ToastifyToastContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: ToastifyToastContainerComponent, selector: "lib-toastify-toast-container", inputs: { position: "position", transition: "transition", autoClose: "autoClose", autoCloseError: "autoCloseError", autoCloseSuccess: "autoCloseSuccess", autoCloseInfo: "autoCloseInfo", autoCloseWarn: "autoCloseWarn", hideProgressBar: "hideProgressBar", pauseOnHover: "pauseOnHover", pauseOnVisibilityChange: "pauseOnVisibilityChange", closeOnClick: "closeOnClick", newestOnTop: "newestOnTop", preventDuplicates: "preventDuplicates", iconLibrary: "iconLibrary" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"toast-container toast-container--{{position}}\">\n <lib-toastify-toast *ngFor=\"let toast of toasts\" [class]=\"getClass(toast)\" style=\"animation-fill-mode: both; animation-duration: 0.75s; flex-direction: column;\"\n [autoClose]=\"autoClose\" [autoCloseSuccess]=\"this.autoCloseSuccess\" [autoCloseError]=\"this.autoCloseError\" [autoCloseWarn]=\"this.autoCloseWarn\"\n [autoCloseInfo]=\"this.autoCloseInfo\" [toast]=\"toast\" (dismissEvent)=\"dismiss(toast)\" [hideProgressBar]=\"hideProgressBar\" [pauseOnHover]=\"pauseOnHover\"\n [pauseOnVisibilityChange]=\"pauseOnVisibilityChange\" [closeOnClick]=\"closeOnClick\" [iconLibrary]=\"iconLibrary\">\n </lib-toastify-toast>\n</div>\n", styles: [".toast-container{word-break:break-word;z-index:9999;-webkit-transform:translateZ(9999px);position:fixed;padding:4px;width:320px;box-sizing:border-box;color:#fff}.toast-container--top-left{top:1em;left:1em}.toast-container--top-center{top:1em;left:50%;margin-left:-160px}.toast-container--top-right{top:1em;right:1em}.toast-container--bottom-left{bottom:1em;left:1em}.toast-container--bottom-center{bottom:1em;left:50%;margin-left:-160px}.toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.toast-container{width:100vw;padding:0;left:0;margin:0}.toast-container--top-center,.toast-container--top-left,.toast-container--top-right{top:0}.toast-container--bottom-center,.toast-container--bottom-left,.toast-container--bottom-right{bottom:0}.toast-container--rtl{right:0;left:auto}}.toast{position:relative;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:1px;box-shadow:0 1px 10px 0 rgba(0,0,0,.1),0 2px 15px 0 rgba(0,0,0,.05);display:flex;justify-content:space-between;max-height:800px;overflow:hidden;font-family:sans-serif;cursor:pointer;direction:ltr}.toast--rtl{direction:rtl}.toast--default{background:#fff;color:#aaa}.toast--info{background:#3498db}.toast--success{background:#07bc0c}.toast--warning{background:#f1c40f}.toast--error{background:#e74c3c}.toast-body{margin:auto 0;flex:1}@media only screen and (max-width:480px){.toast{margin-bottom:0}}@keyframes bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.bounce-enter--bottom-left,.bounce-enter--top-left{animation-name:bounceInLeft}.bounce-enter--bottom-right,.bounce-enter--top-right{animation-name:bounceInRight}.bounce-enter--top-center{animation-name:bounceInDown}.bounce-enter--bottom-center{animation-name:bounceInUp}.bounce-exit--bottom-left,.bounce-exit--top-left{animation-name:bounceOutLeft}.bounce-exit--bottom-right,.bounce-exit--top-right{animation-name:bounceOutRight}.bounce-exit--top-center{animation-name:bounceOutUp}.bounce-exit--bottom-center{animation-name:bounceOutDown}@keyframes zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoom-enter{animation-name:zoomIn}.zoom-exit{animation-name:zoomOut}@keyframes flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes flipOut{0%{transform:perspective(400px)}30%{transform:perspective(400px) rotateX(-20deg);opacity:1}to{transform:perspective(400px) rotateX(90deg);opacity:0}}.flip-enter{animation-name:flipIn}.flip-exit{animation-name:flipOut}@keyframes slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes slideOutRight{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(110%,0,0)}}@keyframes slideOutLeft{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(-110%,0,0)}}@keyframes slideOutDown{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes slideOutUp{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.slide-enter--bottom-left,.slide-enter--top-left{animation-name:slideInLeft}.slide-enter--bottom-right,.slide-enter--top-right{animation-name:slideInRight}.slide-enter--top-center{animation-name:slideInDown}.slide-enter--bottom-center{animation-name:slideInUp}.slide-exit--bottom-left,.slide-exit--top-left{animation-name:slideOutLeft}.slide-exit--bottom-right,.slide-exit--top-right{animation-name:slideOutRight}.slide-exit--top-center{animation-name:slideOutUp}.slide-exit--bottom-center{animation-name:slideOutDown}"], components: [{ type: ToastifyToastComponent, selector: "lib-toastify-toast", inputs: ["autoClose", "autoCloseError", "autoCloseSuccess", "autoCloseInfo", "autoCloseWarn", "hideProgressBar", "pauseOnHover", "pauseOnVisibilityChange", "closeOnClick", "toast", "iconLibrary"], outputs: ["dismissEvent"] }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: ToastifyToastContainerComponent, decorators: [{

@@ -354,0 +354,0 @@ type: Component,

@@ -1,1 +0,1 @@

{"version":3,"file":"angular-toastify.js","sources":["../../../projects/angular-toastify/src/lib/toast.ts","../../../projects/angular-toastify/src/lib/toast-type.ts","../../../projects/angular-toastify/src/lib/toast.service.ts","../../../projects/angular-toastify/src/lib/toastify-toast/toastify-toast.component.ts","../../../projects/angular-toastify/src/lib/toastify-toast/toastify-toast.component.html","../../../projects/angular-toastify/src/lib/toastify-toast-container/toastify-toast-container.component.ts","../../../projects/angular-toastify/src/lib/toastify-toast-container/toastify-toast-container.component.html","../../../projects/angular-toastify/src/lib/angular-toastify.module.ts","../../../projects/angular-toastify/src/public-api.ts","../../../projects/angular-toastify/src/angular-toastify.ts"],"sourcesContent":["import { ToastType } from './toast-type';\nimport { Observable, Subject } from 'rxjs';\n\nlet toastIdentitySequence = 0;\n\nexport class Toast {\n id: number;\n message: string;\n type: ToastType;\n readonly time: number;\n\n $resetToast: Subject<any>;\n\n constructor(message: string, type: ToastType) {\n this.message = message;\n this.type = type;\n this.time = new Date().getTime();\n this.id = toastIdentitySequence++;\n\n this.$resetToast = new Subject();\n }\n}\n","export enum ToastType {\n info,\n success,\n warning,\n error,\n default\n}\n","import { Injectable, EventEmitter } from '@angular/core';\nimport { Toast } from './toast';\nimport { ToastType } from './toast-type';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToastService {\n\n toastAddedEvent = new EventEmitter();\n constructor() { }\n\n dismissAllEvent = new EventEmitter();\n\n dismissAll() {\n this.dismissAllEvent.emit();\n }\n\n info(message: string) {\n const toast = new Toast(message, ToastType.info);\n this.toastAddedEvent.emit(toast);\n }\n\n success(message: string) {\n const toast = new Toast(message, ToastType.success);\n this.toastAddedEvent.emit(toast);\n }\n\n warn(message: string) {\n const toast = new Toast(message, ToastType.warning);\n this.toastAddedEvent.emit(toast);\n }\n\n error(message: string) {\n const toast = new Toast(message, ToastType.error);\n this.toastAddedEvent.emit(toast);\n }\n\n default(message: string) {\n const toast = new Toast(message, ToastType.default);\n this.toastAddedEvent.emit(toast);\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from \"@angular/core\";\nimport { ToastType } from \"../toast-type\";\nimport { Toast } from \"../toast\";\nimport { interval } from \"rxjs\";\nimport { throttle, throttleTime } from \"rxjs/operators\";\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: \"lib-toastify-toast\",\n templateUrl: \"./toastify-toast.component.html\",\n styleUrls: [\"./toastify-toast.component.scss\"],\n // changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ToastifyToastComponent implements OnInit, OnDestroy {\n @ViewChild(\"progressBar\") progressBar: ElementRef<HTMLElement>;\n @ViewChild(\"progressBarCover\") progressBarCover: ElementRef<HTMLElement>;\n\n @Input() autoClose = 5000; \n @Input() autoCloseError = undefined;\n @Input() autoCloseSuccess = undefined;\n @Input() autoCloseInfo = undefined;\n @Input() autoCloseWarn = undefined;\n @Input() hideProgressBar = false;\n @Input() pauseOnHover = true;\n @Input() pauseOnVisibilityChange = true;\n @Input() closeOnClick = true;\n @Input() toast: Toast;\n @Input() iconLibrary: \"material\" | \"font-awesome\" | \"none\";\n\n @Output() dismissEvent = new EventEmitter();\n\n private expectedAutoDismissTime: number;\n private autoDismissTimeout: any;\n private autoCloseRemaining: number;\n\n private pauseTime: number;\n private startTime: number;\n\n private _progressBarAnimation: number;\n private _$updateTimer;\n\n ToastType = ToastType;\n running = false;\n\n constructor(private _cd: ChangeDetectorRef, private _zone: NgZone) {}\n\n ngOnInit(): void {\n this.autoCloseRemaining = this.autoCloseAfterSpecificChange();\n this.startTime = this.toast.time;\n this.toast.$resetToast.subscribe(() => this.resetToastTimer());\n // Do not start timer when toast is prompted while window is out of focus\n if (this.handleVisibilityChange && document.visibilityState === \"visible\") {\n this.startCloseTimer();\n }\n\n // Start progress bar animation\n this.triggerProgressBarAnimation();\n }\n\n private triggerProgressBarAnimation(): void {\n // Cancel previous animlation to avoid leaks\n if (this._progressBarAnimation !== undefined) {\n cancelAnimationFrame(this._progressBarAnimation);\n }\n\n // Start animation\n const frame = () => {\n if (this.running) {\n const remainingTime = Math.max(0, this.expectedAutoDismissTime - new Date().getTime());\n const percentage = 100 - ((remainingTime / this.autoCloseAfterSpecificChange()) * 100);\n this.progressBarCover.nativeElement.style.width = percentage + \"%\";\n if (percentage <= 0) return;\n }\n this._progressBarAnimation = requestAnimationFrame(frame);\n };\n this._progressBarAnimation = requestAnimationFrame(frame);\n }\n\n ngOnDestroy(): void {\n // Cancel animation\n if (this._progressBarAnimation) {\n cancelAnimationFrame(this._progressBarAnimation);\n this._progressBarAnimation = undefined;\n }\n // Clear auto close timeout\n this.clearTimerTimeout();\n // Complete all observables\n this.toast.$resetToast?.complete();\n this.toast.$resetToast = null;\n this._$updateTimer?.complete();\n this._$updateTimer = null;\n }\n\n startCloseTimer(): void {\n if (this.running || !this.autoCloseAfterSpecificChange()) {\n return;\n }\n\n this.running = true;\n this.expectedAutoDismissTime =\n new Date().getTime() + this.autoCloseRemaining;\n this.autoDismissTimeout = this._zone.runOutsideAngular(() =>\n setTimeout(() => {\n this._zone.run(() => {\n this.dismissEvent.emit();\n this._cd.markForCheck();\n });\n }, this.autoCloseRemaining)\n );\n }\n\n autoCloseAfterSpecificChange(): number {\n const specificAmount = (() => {\n switch (this.toast.type) {\n case ToastType.success:\n return this.autoCloseSuccess;\n case ToastType.error:\n return this.autoCloseError;\n case ToastType.warning:\n return this.autoCloseWarn;\n case ToastType.info:\n return this.autoCloseInfo;\n default:\n return undefined;\n }\n })();\n\n return specificAmount === undefined ? this.autoClose : specificAmount;\n }\n\n pauseCloseTimer(): void {\n this.running = false;\n this.clearTimerTimeout();\n\n // Calculate the elapsed time, subtract remaining time\n this.pauseTime = new Date().getTime();\n const elapsed = this.pauseTime - this.startTime;\n this.autoCloseRemaining = this.autoCloseAfterSpecificChange() - elapsed;\n }\n\n resetToastTimer() {\n this.clearTimerTimeout();\n this.running = false;\n this.startTime = new Date().getTime();\n this.autoCloseRemaining = this.autoCloseAfterSpecificChange();\n this.startCloseTimer();\n }\n\n clearTimerTimeout(): void {\n if (this.autoDismissTimeout !== undefined) {\n this.expectedAutoDismissTime = undefined;\n clearTimeout(this.autoDismissTimeout);\n }\n }\n\n handleDismissButtonAction(): void {\n if (this.closeOnClick) {\n return; // Let the other event handle the dismissal\n }\n\n this.clearTimerTimeout();\n this.dismissEvent.emit();\n }\n\n @HostListener(\"click\")\n handleHostClick(): void {\n if (this.closeOnClick) {\n this.clearTimerTimeout();\n this.dismissEvent.emit();\n }\n }\n\n @HostListener(\"mouseenter\")\n handleMouseEnter(): void {\n if (this.pauseOnHover) {\n this.pauseCloseTimer();\n }\n }\n\n @HostListener(\"mouseleave\")\n handleMouseLeave(): void {\n if (this.pauseOnHover) {\n this.startCloseTimer();\n this.startTime = new Date().getTime() + (this.startTime - this.pauseTime);\n }\n }\n\n @HostListener(\"document:visibilitychange\")\n handleVisibilityChange(): void {\n if (!this.pauseOnVisibilityChange) {\n return;\n }\n\n if (document.visibilityState !== \"visible\") {\n this.pauseCloseTimer();\n this._cd.detectChanges();\n } else {\n this.startCloseTimer();\n }\n }\n}\n","<div role=\"alert\" class=\"toast-body\">\n <div class=\"icon-container\">\n <span *ngIf=\"iconLibrary == 'material'\" [ngSwitch]=\"toast.type\">\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.info\">info_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.default\">info_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.warning\">warning_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.error\">error_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.success\">done</i>\n </span>\n <span *ngIf=\"iconLibrary == 'font-awesome'\" [ngSwitch]=\"toast.type\">\n <i *ngSwitchCase=\"ToastType.info\" class=\"fa fa-info\"></i>\n <i *ngSwitchCase=\"ToastType.default\" class=\"fa fa-info\"></i>\n <i *ngSwitchCase=\"ToastType.warning\" class=\"fa fa-exclamation-triangle\"></i>\n <i *ngSwitchCase=\"ToastType.error\" class=\"fa fa-exclamation\"></i>\n <i *ngSwitchCase=\"ToastType.success\" class=\"fa fa-check\"></i>\n </span>\n </div>\n <div class=\"toast-container\">\n <span>{{toast.message}}</span>\n </div>\n</div>\n<button (click)=\"handleDismissButtonAction()\" class=\"close-button close-button--{{ToastType[toast.type]}}\" type=\"button\" aria-label=\"close\">✖</button>\n\n<div #progressBar *ngIf=\"!hideProgressBar\" class=\"progress-bar progress-bar&#45;&#45;{{ToastType[toast.type]}}\" style=\"opacity: 1;\"></div>\n<div #progressBarCover *ngIf=\"!hideProgressBar\" class=\"progress-bar-cover toast--{{ToastType[toast.type]}}\" [style.animation-duration]=\"this.autoCloseAfterSpecificChange() + 'ms'\" [style.animation-play-state]=\"running? 'running' : 'paused'\"></div>\n","import { Component, OnInit, Input, ChangeDetectionStrategy, ChangeDetectorRef, OnChanges, SimpleChanges } from '@angular/core';\nimport { ToastService } from '../toast.service';\nimport { Toast } from '../toast';\nimport { ToastType } from '../toast-type';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'lib-toastify-toast-container',\n templateUrl: './toastify-toast-container.component.html',\n styleUrls: ['./toastify-toast-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ToastifyToastContainerComponent implements OnInit, OnChanges {\n private readonly transitionDurations = 400;\n\n @Input() position: 'top-left' | 'top-right' | 'bottom-right' | 'bottom-left' = 'top-right';\n @Input() transition: 'bounce' | 'slide' | 'zoom' | 'flip' = 'bounce';\n @Input() autoClose = 5000;\n @Input() autoCloseError = undefined;\n @Input() autoCloseSuccess = undefined;\n @Input() autoCloseInfo = undefined;\n @Input() autoCloseWarn = undefined;\n @Input() hideProgressBar = false;\n @Input() pauseOnHover = true;\n @Input() pauseOnVisibilityChange = true;\n @Input() closeOnClick = true;\n @Input() newestOnTop = false;\n @Input() preventDuplicates = false;\n @Input() iconLibrary: 'material' | 'font-awesome' | 'none' = 'none';\n\n ToastType = ToastType;\n toasts = new Array<Toast>();\n toastTransitionDict = {};\n\n constructor(private _toastService: ToastService, private _cd: ChangeDetectorRef) { }\n\n ngOnChanges(): void {\n this._cd.markForCheck();\n }\n\n dismiss(toast: Toast): void {\n this.toastTransitionDict[toast.id] = TransitionState.exiting;\n setTimeout(() => {\n const index = this.toasts.indexOf(toast);\n this.toasts.splice(index, 1);\n this._cd.markForCheck();\n }, this.transitionDurations);\n }\n\n getClass(toast: Toast): string {\n let base = `toast toast--${ToastType[toast.type]} `;\n const state = this.toastTransitionDict[toast.id];\n if (state === TransitionState.entering) {\n base += `${this.transition}-enter ${this.transition}-enter--${this.position}`;\n } else if (state === TransitionState.exiting) {\n base += `${this.transition}-exit ${this.transition}-exit--${this.position}`;\n }\n\n return base;\n }\n\n ngOnInit(): void {\n this._toastService.dismissAllEvent.subscribe(() => {\n this.toasts = new Array<Toast>();\n this._cd.markForCheck();\n });\n\n this._toastService.toastAddedEvent.subscribe((toast: Toast) => this.handleToastAddedEvent(toast));\n }\n\n handleToastAddedEvent(toast: Toast): void {\n // If \"preventDuplicates\" is enabled, toast is not added if one toast with same message exists\n // The only thing to do is to update the toast time to keep it visible\n if(this.preventDuplicates === true) {\n const sameToast: Toast = this.toasts.find((existingToast) => existingToast.message === toast.message);\n if (sameToast) {\n sameToast.$resetToast.next();\n this._cd.markForCheck();\n return;\n }\n }\n\n // Add new toast transition\n this.toastTransitionDict[toast.id] = TransitionState.entering;\n setTimeout(() => {\n this.toastTransitionDict[toast.id] = TransitionState.noTransition;\n this._cd.markForCheck();\n }, this.transitionDurations);\n\n // Add new toast\n if (this.newestOnTop) {\n this.toasts.unshift(toast);\n } else {\n this.toasts.push(toast);\n }\n this._cd.markForCheck();\n }\n}\n\nenum TransitionState {\n entering,\n noTransition,\n exiting\n}\n","<div class=\"toast-container toast-container--{{position}}\">\n <lib-toastify-toast *ngFor=\"let toast of toasts\" [class]=\"getClass(toast)\" style=\"animation-fill-mode: both; animation-duration: 0.75s\"\n [autoClose]=\"autoClose\" [autoCloseSuccess]=\"this.autoCloseSuccess\" [autoCloseError]=\"this.autoCloseError\" [autoCloseWarn]=\"this.autoCloseWarn\" \n [autoCloseInfo]=\"this.autoCloseInfo\" [toast]=\"toast\" (dismissEvent)=\"dismiss(toast)\" [hideProgressBar]=\"hideProgressBar\" [pauseOnHover]=\"pauseOnHover\"\n [pauseOnVisibilityChange]=\"pauseOnVisibilityChange\" [closeOnClick]=\"closeOnClick\" [iconLibrary]=\"iconLibrary\">\n </lib-toastify-toast>\n</div>","import { NgModule } from '@angular/core';\nimport { ToastifyToastComponent } from './toastify-toast/toastify-toast.component';\nimport { ToastifyToastContainerComponent } from './toastify-toast-container/toastify-toast-container.component';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [ToastifyToastComponent, ToastifyToastContainerComponent],\n imports: [ CommonModule ],\n exports: [ToastifyToastContainerComponent]\n})\nexport class AngularToastifyModule { }\n","/*\n * Public API Surface of angular-toastify\n */\n\nexport * from './lib/toast.service';\nexport * from './lib/toastify-toast-container/toastify-toast-container.component';\nexport * from './lib/angular-toastify.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
{"version":3,"file":"angular-toastify.js","sources":["../../../projects/angular-toastify/src/lib/toast.ts","../../../projects/angular-toastify/src/lib/toast-type.ts","../../../projects/angular-toastify/src/lib/toast.service.ts","../../../projects/angular-toastify/src/lib/toastify-toast/toastify-toast.component.ts","../../../projects/angular-toastify/src/lib/toastify-toast/toastify-toast.component.html","../../../projects/angular-toastify/src/lib/toastify-toast-container/toastify-toast-container.component.ts","../../../projects/angular-toastify/src/lib/toastify-toast-container/toastify-toast-container.component.html","../../../projects/angular-toastify/src/lib/angular-toastify.module.ts","../../../projects/angular-toastify/src/public-api.ts","../../../projects/angular-toastify/src/angular-toastify.ts"],"sourcesContent":["import { ToastType } from './toast-type';\nimport { Observable, Subject } from 'rxjs';\n\nlet toastIdentitySequence = 0;\n\nexport class Toast {\n id: number;\n message: string;\n type: ToastType;\n readonly time: number;\n\n $resetToast: Subject<any>;\n\n constructor(message: string, type: ToastType) {\n this.message = message;\n this.type = type;\n this.time = new Date().getTime();\n this.id = toastIdentitySequence++;\n\n this.$resetToast = new Subject();\n }\n}\n","export enum ToastType {\n info,\n success,\n warning,\n error,\n default\n}\n","import { Injectable, EventEmitter } from '@angular/core';\nimport { Toast } from './toast';\nimport { ToastType } from './toast-type';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToastService {\n\n toastAddedEvent = new EventEmitter();\n constructor() { }\n\n dismissAllEvent = new EventEmitter();\n\n dismissAll() {\n this.dismissAllEvent.emit();\n }\n\n info(message: string) {\n const toast = new Toast(message, ToastType.info);\n this.toastAddedEvent.emit(toast);\n }\n\n success(message: string) {\n const toast = new Toast(message, ToastType.success);\n this.toastAddedEvent.emit(toast);\n }\n\n warn(message: string) {\n const toast = new Toast(message, ToastType.warning);\n this.toastAddedEvent.emit(toast);\n }\n\n error(message: string) {\n const toast = new Toast(message, ToastType.error);\n this.toastAddedEvent.emit(toast);\n }\n\n default(message: string) {\n const toast = new Toast(message, ToastType.default);\n this.toastAddedEvent.emit(toast);\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from \"@angular/core\";\nimport { ToastType } from \"../toast-type\";\nimport { Toast } from \"../toast\";\nimport { interval } from \"rxjs\";\nimport { throttle, throttleTime } from \"rxjs/operators\";\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: \"lib-toastify-toast\",\n templateUrl: \"./toastify-toast.component.html\",\n styleUrls: [\"./toastify-toast.component.scss\"],\n // changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ToastifyToastComponent implements OnInit, OnDestroy {\n @ViewChild(\"progressBar\") progressBar: ElementRef<HTMLElement>;\n @ViewChild(\"progressBarCover\") progressBarCover: ElementRef<HTMLElement>;\n\n @Input() autoClose = 5000; \n @Input() autoCloseError = undefined;\n @Input() autoCloseSuccess = undefined;\n @Input() autoCloseInfo = undefined;\n @Input() autoCloseWarn = undefined;\n @Input() hideProgressBar = false;\n @Input() pauseOnHover = true;\n @Input() pauseOnVisibilityChange = true;\n @Input() closeOnClick = true;\n @Input() toast: Toast;\n @Input() iconLibrary: \"material\" | \"font-awesome\" | \"none\";\n\n @Output() dismissEvent = new EventEmitter();\n\n private expectedAutoDismissTime: number;\n private autoDismissTimeout: any;\n private autoCloseRemaining: number;\n\n private pauseTime: number;\n private startTime: number;\n\n private _progressBarAnimation: number;\n private _$updateTimer;\n\n ToastType = ToastType;\n running = false;\n\n constructor(private _cd: ChangeDetectorRef, private _zone: NgZone) {}\n\n ngOnInit(): void {\n this.autoCloseRemaining = this.autoCloseAfterSpecificChange();\n this.startTime = this.toast.time;\n this.toast.$resetToast.subscribe(() => this.resetToastTimer());\n // Do not start timer when toast is prompted while window is out of focus\n if (this.handleVisibilityChange && document.visibilityState === \"visible\") {\n this.startCloseTimer();\n }\n\n // Start progress bar animation\n this.triggerProgressBarAnimation();\n }\n\n private triggerProgressBarAnimation(): void {\n // Cancel previous animlation to avoid leaks\n if (this._progressBarAnimation !== undefined) {\n cancelAnimationFrame(this._progressBarAnimation);\n }\n\n // Start animation\n const frame = () => {\n if (this.running) {\n const remainingTime = Math.max(0, this.expectedAutoDismissTime - new Date().getTime());\n const percentage = 100 - ((remainingTime / this.autoCloseAfterSpecificChange()) * 100);\n this.progressBarCover.nativeElement.style.width = percentage + \"%\";\n if (percentage <= 0) return;\n }\n this._progressBarAnimation = requestAnimationFrame(frame);\n };\n this._progressBarAnimation = requestAnimationFrame(frame);\n }\n\n ngOnDestroy(): void {\n // Cancel animation\n if (this._progressBarAnimation) {\n cancelAnimationFrame(this._progressBarAnimation);\n this._progressBarAnimation = undefined;\n }\n // Clear auto close timeout\n this.clearTimerTimeout();\n // Complete all observables\n this.toast.$resetToast?.complete();\n this.toast.$resetToast = null;\n this._$updateTimer?.complete();\n this._$updateTimer = null;\n }\n\n startCloseTimer(): void {\n if (this.running || !this.autoCloseAfterSpecificChange()) {\n return;\n }\n\n this.running = true;\n this.expectedAutoDismissTime =\n new Date().getTime() + this.autoCloseRemaining;\n this.autoDismissTimeout = this._zone.runOutsideAngular(() =>\n setTimeout(() => {\n this._zone.run(() => {\n this.dismissEvent.emit();\n this._cd.markForCheck();\n });\n }, this.autoCloseRemaining)\n );\n }\n\n autoCloseAfterSpecificChange(): number {\n const specificAmount = (() => {\n switch (this.toast.type) {\n case ToastType.success:\n return this.autoCloseSuccess;\n case ToastType.error:\n return this.autoCloseError;\n case ToastType.warning:\n return this.autoCloseWarn;\n case ToastType.info:\n return this.autoCloseInfo;\n default:\n return undefined;\n }\n })();\n\n return specificAmount === undefined ? this.autoClose : specificAmount;\n }\n\n pauseCloseTimer(): void {\n this.running = false;\n this.clearTimerTimeout();\n\n // Calculate the elapsed time, subtract remaining time\n this.pauseTime = new Date().getTime();\n const elapsed = this.pauseTime - this.startTime;\n this.autoCloseRemaining = this.autoCloseAfterSpecificChange() - elapsed;\n }\n\n resetToastTimer() {\n this.clearTimerTimeout();\n this.running = false;\n this.startTime = new Date().getTime();\n this.autoCloseRemaining = this.autoCloseAfterSpecificChange();\n this.startCloseTimer();\n }\n\n clearTimerTimeout(): void {\n if (this.autoDismissTimeout !== undefined) {\n this.expectedAutoDismissTime = undefined;\n clearTimeout(this.autoDismissTimeout);\n }\n }\n\n handleDismissButtonAction(): void {\n if (this.closeOnClick) {\n return; // Let the other event handle the dismissal\n }\n\n this.clearTimerTimeout();\n this.dismissEvent.emit();\n }\n\n @HostListener(\"click\")\n handleHostClick(): void {\n if (this.closeOnClick) {\n this.clearTimerTimeout();\n this.dismissEvent.emit();\n }\n }\n\n @HostListener(\"mouseenter\")\n handleMouseEnter(): void {\n if (this.pauseOnHover) {\n this.pauseCloseTimer();\n }\n }\n\n @HostListener(\"mouseleave\")\n handleMouseLeave(): void {\n if (this.pauseOnHover) {\n this.startCloseTimer();\n this.startTime = new Date().getTime() + (this.startTime - this.pauseTime);\n }\n }\n\n @HostListener(\"document:visibilitychange\")\n handleVisibilityChange(): void {\n if (!this.pauseOnVisibilityChange) {\n return;\n }\n\n if (document.visibilityState !== \"visible\") {\n this.pauseCloseTimer();\n this._cd.detectChanges();\n } else {\n this.startCloseTimer();\n }\n }\n}\n","<div role=\"alert\" class=\"toast-body\">\n <div class=\"icon-container\">\n <span *ngIf=\"iconLibrary == 'material'\" [ngSwitch]=\"toast.type\">\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.info\">info_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.default\">info_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.warning\">warning_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.error\">error_outline</i>\n <i class=\"material-icons\" *ngSwitchCase=\"ToastType.success\">done</i>\n </span>\n <span *ngIf=\"iconLibrary == 'font-awesome'\" [ngSwitch]=\"toast.type\">\n <i *ngSwitchCase=\"ToastType.info\" class=\"fa fa-info\"></i>\n <i *ngSwitchCase=\"ToastType.default\" class=\"fa fa-info\"></i>\n <i *ngSwitchCase=\"ToastType.warning\" class=\"fa fa-exclamation-triangle\"></i>\n <i *ngSwitchCase=\"ToastType.error\" class=\"fa fa-exclamation\"></i>\n <i *ngSwitchCase=\"ToastType.success\" class=\"fa fa-check\"></i>\n </span>\n </div>\n <div class=\"toast-container\">\n <div>{{toast.message}}</div>\n </div>\n <div class=\"close-container\">\n <button (click)=\"handleDismissButtonAction()\" class=\"close-button close-button--{{ToastType[toast.type]}}\" type=\"button\" aria-label=\"close\">✖</button>\n </div>\n</div>\n\n<div #progressBar *ngIf=\"!hideProgressBar\" class=\"progress-bar progress-bar&#45;&#45;{{ToastType[toast.type]}}\" style=\"opacity: 1;\"></div>\n<div #progressBarCover *ngIf=\"!hideProgressBar\" class=\"progress-bar-cover toast--{{ToastType[toast.type]}}\" [style.animation-duration]=\"this.autoCloseAfterSpecificChange() + 'ms'\" [style.animation-play-state]=\"running? 'running' : 'paused'\"></div>\n","import { Component, OnInit, Input, ChangeDetectionStrategy, ChangeDetectorRef, OnChanges, SimpleChanges } from '@angular/core';\nimport { ToastService } from '../toast.service';\nimport { Toast } from '../toast';\nimport { ToastType } from '../toast-type';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'lib-toastify-toast-container',\n templateUrl: './toastify-toast-container.component.html',\n styleUrls: ['./toastify-toast-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ToastifyToastContainerComponent implements OnInit, OnChanges {\n private readonly transitionDurations = 400;\n\n @Input() position: 'top-left' | 'top-right' | 'bottom-right' | 'bottom-left' = 'top-right';\n @Input() transition: 'bounce' | 'slide' | 'zoom' | 'flip' = 'bounce';\n @Input() autoClose = 5000;\n @Input() autoCloseError = undefined;\n @Input() autoCloseSuccess = undefined;\n @Input() autoCloseInfo = undefined;\n @Input() autoCloseWarn = undefined;\n @Input() hideProgressBar = false;\n @Input() pauseOnHover = true;\n @Input() pauseOnVisibilityChange = true;\n @Input() closeOnClick = true;\n @Input() newestOnTop = false;\n @Input() preventDuplicates = false;\n @Input() iconLibrary: 'material' | 'font-awesome' | 'none' = 'none';\n\n ToastType = ToastType;\n toasts = new Array<Toast>();\n toastTransitionDict = {};\n\n constructor(private _toastService: ToastService, private _cd: ChangeDetectorRef) { }\n\n ngOnChanges(): void {\n this._cd.markForCheck();\n }\n\n dismiss(toast: Toast): void {\n this.toastTransitionDict[toast.id] = TransitionState.exiting;\n setTimeout(() => {\n const index = this.toasts.indexOf(toast);\n this.toasts.splice(index, 1);\n this._cd.markForCheck();\n }, this.transitionDurations);\n }\n\n getClass(toast: Toast): string {\n let base = `toast toast--${ToastType[toast.type]} `;\n const state = this.toastTransitionDict[toast.id];\n if (state === TransitionState.entering) {\n base += `${this.transition}-enter ${this.transition}-enter--${this.position}`;\n } else if (state === TransitionState.exiting) {\n base += `${this.transition}-exit ${this.transition}-exit--${this.position}`;\n }\n\n return base;\n }\n\n ngOnInit(): void {\n this._toastService.dismissAllEvent.subscribe(() => {\n this.toasts = new Array<Toast>();\n this._cd.markForCheck();\n });\n\n this._toastService.toastAddedEvent.subscribe((toast: Toast) => this.handleToastAddedEvent(toast));\n }\n\n handleToastAddedEvent(toast: Toast): void {\n // If \"preventDuplicates\" is enabled, toast is not added if one toast with same message exists\n // The only thing to do is to update the toast time to keep it visible\n if(this.preventDuplicates === true) {\n const sameToast: Toast = this.toasts.find((existingToast) => existingToast.message === toast.message);\n if (sameToast) {\n sameToast.$resetToast.next();\n this._cd.markForCheck();\n return;\n }\n }\n\n // Add new toast transition\n this.toastTransitionDict[toast.id] = TransitionState.entering;\n setTimeout(() => {\n this.toastTransitionDict[toast.id] = TransitionState.noTransition;\n this._cd.markForCheck();\n }, this.transitionDurations);\n\n // Add new toast\n if (this.newestOnTop) {\n this.toasts.unshift(toast);\n } else {\n this.toasts.push(toast);\n }\n this._cd.markForCheck();\n }\n}\n\nenum TransitionState {\n entering,\n noTransition,\n exiting\n}\n","<div class=\"toast-container toast-container--{{position}}\">\n <lib-toastify-toast *ngFor=\"let toast of toasts\" [class]=\"getClass(toast)\" style=\"animation-fill-mode: both; animation-duration: 0.75s; flex-direction: column;\"\n [autoClose]=\"autoClose\" [autoCloseSuccess]=\"this.autoCloseSuccess\" [autoCloseError]=\"this.autoCloseError\" [autoCloseWarn]=\"this.autoCloseWarn\"\n [autoCloseInfo]=\"this.autoCloseInfo\" [toast]=\"toast\" (dismissEvent)=\"dismiss(toast)\" [hideProgressBar]=\"hideProgressBar\" [pauseOnHover]=\"pauseOnHover\"\n [pauseOnVisibilityChange]=\"pauseOnVisibilityChange\" [closeOnClick]=\"closeOnClick\" [iconLibrary]=\"iconLibrary\">\n </lib-toastify-toast>\n</div>\n","import { NgModule } from '@angular/core';\nimport { ToastifyToastComponent } from './toastify-toast/toastify-toast.component';\nimport { ToastifyToastContainerComponent } from './toastify-toast-container/toastify-toast-container.component';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [ToastifyToastComponent, ToastifyToastContainerComponent],\n imports: [ CommonModule ],\n exports: [ToastifyToastContainerComponent]\n})\nexport class AngularToastifyModule { }\n","/*\n * Public API Surface of angular-toastify\n */\n\nexport * from './lib/toast.service';\nexport * from './lib/toastify-toast-container/toastify-toast-container.component';\nexport * from './lib/angular-toastify.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
{
"name": "angular-toastify",
"version": "1.0.7",
"version": "1.0.8",
"description": "Somewhat working clone of React Toastify.",

@@ -5,0 +5,0 @@ "author": "Scenius",