toast-message-display 15.0.10 → 15.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import { Component, inject } from '@angular/core';
2
- import { ToastMessageDisplayService } from '../services';
3
2
  import { ToastColors, ToastDisplay, VerticalAlignment } from '../models';
4
3
  import { FormBuilder } from '@angular/forms';
4
+ import { ToastMessageDisplayService } from '../services/toast-message.service';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/common";
7
7
  import * as i2 from "@angular/forms";
@@ -118,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
118
118
  type: Component,
119
119
  args: [{ selector: 'app-toast-display-demo', template: "<mat-toolbar style=\"display: flex;\">\n <div>Toast Message Demo</div>\n <div style=\"flex:1; text-align: end;\">\n <button\n mat-stroked-button\n [matMenuTriggerFor]=\"menu\"\n matIconPrefix\n >\n {{ type | titlecase }}\n <mat-icon>layers</mat-icon>\n </button>\n </div>\n</mat-toolbar>\n\n<mat-menu #menu=\"matMenu\">\n <button\n mat-menu-item\n (click)=\"onSelectType('basic')\"\n >\n Basic\n </button>\n <button\n mat-menu-item\n (click)=\"onSelectType('icon')\"\n >\n Icon\n </button>\n <button\n mat-menu-item\n (click)=\"onSelectType('action')\"\n >\n Action\n </button>\n</mat-menu>\n\n<div style=\"margin: 1rem;\">\n <span [ngSwitch]=\"type\">\n <div *ngSwitchCase=\"'icon'\">\n <div style=\"display: flex; gap: 1rem; flex-direction: column;\">\n <h3 style=\"flex:1; margin-bottom: 0;\">Toast with Icon</h3>\n <div style=\"display: flex; gap: .5rem;\">\n <button\n mat-stroked-button\n (click)=\"onBasic('SUCCESS', 'favorite_border')\"\n >\n Icon - SUCCESS\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('ERROR', 'dashboard')\"\n >\n Icon - ERROR\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('INFO', 'event')\"\n >\n Icon - INFO\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN', 'paid')\"\n >\n Icon - WARN\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN', 'notifications')\"\n >\n Icon - NOTIFY\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN', 'movie_filter')\"\n >\n Icon - GENERAL\n </button>\n </div>\n </div>\n </div>\n <div *ngSwitchCase=\"'action'\">\n <div style=\"display: flex; gap: 1rem; flex-direction: column;\">\n <h3 style=\"flex:1; margin-bottom: 0;\">Toast with Icon and Action</h3>\n <div style=\"display: flex; gap: .5rem;\">\n <button\n mat-stroked-button\n (click)=\"onBasic('SUCCESS', 'favorite_border', 'Dismiss')\"\n >\n Action - SUCCESS\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('ERROR', 'dashboard', 'Dismiss')\"\n >\n Action - ERROR\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('INFO', 'event', 'Dismiss')\"\n >\n Action - INFO\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN', 'paid', 'Dismiss')\"\n >\n Action - WARN\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('NOTIFY', 'notifications', 'Dismiss')\"\n >\n Action - NOTIFY\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('GENERAL', 'movie_filter', 'Dismiss')\"\n >\n Action - GENERAL\n </button>\n </div>\n </div>\n </div>\n <div *ngSwitchDefault>\n\n <div style=\"display: flex; gap: 1rem; flex-direction: column;\">\n <h3 style=\"flex:1; margin-bottom: 0;\">Basic Toast</h3>\n <div style=\"display: flex; gap: .5rem;\">\n <button\n mat-stroked-button\n (click)=\"onBasic('SUCCESS')\"\n >\n Basic - SUCCESS\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('ERROR')\"\n >\n Basic - ERROR\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('INFO')\"\n >\n Basic - INFO\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN')\"\n >\n Basic - WARN\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('NOTIFY')\"\n >\n Basic - NOTIFY\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('GENERAL')\"\n >\n Basic - GENERAL\n </button>\n </div>\n </div>\n\n </div>\n </span>\n <div style=\"display: flex; margin-top: 1rem;\">\n <mat-radio-group [formControl]=\"position\" style=\"display: flex; gap: 2rem\">\n <mat-radio-button value=\"top\">Top Position</mat-radio-button>\n <mat-radio-button value=\"bottom\">Bottom Position</mat-radio-button>\n </mat-radio-group>\n </div>\n</div>\n\n<div style=\"margin-top: 1rem; margin-bottom: 1rem;\">\n <mat-divider></mat-divider>\n</div>\n\n<div style=\"margin: 1rem;\">\n <button mat-stroked-button (click)=\"onInline()\" style=\"margin-bottom: 2rem;\">\n Add Inline Toast Message\n </button>\n <app-toast-message-display-inline\n [toast]=\"pickToastSample\"\n [duration]=\"5\"\n (close)=\"onClosedToast($event)\"\n ></app-toast-message-display-inline>\n</div>\n", styles: [".bold{font-size:22px;font-weight:700}\n"] }]
120
120
  }] });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtZGVtby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90b2FzdC1tZXNzYWdlLWRpc3BsYXkvc3JjL2xpYi90b2FzdC1kZW1vL3RvYXN0LWRlbW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9hc3QtbWVzc2FnZS1kaXNwbGF5L3NyYy9saWIvdG9hc3QtZGVtby90b2FzdC1kZW1vLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBTzdDLE1BQU0sT0FBTyxrQkFBa0I7SUFML0I7UUFPRSxXQUFNLEdBQUcsR0FBRyxFQUFFO1lBQ1osTUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDcEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUN6RCxNQUFNLFdBQVcsR0FBRyxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFDaEQsT0FBTyxXQUFXLENBQUE7UUFDcEIsQ0FBQyxDQUFBO1FBRUQsaUJBQVksR0FBRyxDQUFDLEdBQVcsRUFBRSxHQUFXLEVBQUUsRUFBRTtZQUMxQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcs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QUFDLENBQUE7UUFFRixNQUFNLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQTtRQUN4RyxJQUFJLENBQUMsMEJBQTBCLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQTtJQUM1RSxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzdELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNoRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQW9CO1FBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDcEIsQ0FBQzsrR0FoSFUsa0JBQWtCO21HQUFsQixrQkFBa0IsOERDVi9CLDBvTkErTEE7OzRGRHJMYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0ksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRvYXN0TWVzc2FnZURpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgVG9hc3RDb2xvcnMsIFRvYXN0RGlzcGxheSwgVmVydGljYWxBbGlnbm1lbnQgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXRvYXN0LWRpc3BsYXktZGVtbycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RvYXN0LWRlbW8uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RvYXN0LWRlbW8uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdERlbW9Db21wb25lbnQge1xuXG4gIHJhbmRvbSA9ICgpID0+IHtcbiAgICBjb25zdCB0eXBlZEFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoMSlcbiAgICBjb25zdCByYW5kb21WYWx1ZSA9IGNyeXB0by5nZXRSYW5kb21WYWx1ZXModHlwZWRBcnJheSlbMF1cbiAgICBjb25zdCByYW5kb21GbG9hdCA9IHJhbmRvbVZhbHVlIC8gTWF0aC5wb3coMiwgOClcbiAgICByZXR1cm4gcmFuZG9tRmxvYXRcbiAgfVxuXG4gIHJhbmRvbU51bWJlciA9IChtaW46IG51bWJlciwgbWF4OiBudW1iZXIpID0+IHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcih0aGlzLnJhbmRvbSgpICogbWF4KSArIG1pblxuICB9XG5cbiAgZmIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpXG4gIHRvYXN0TWVzc2FnZURpc3BsYXlTZXJ2aWNlID0gaW5qZWN0KFRvYXN0TWVzc2FnZURpc3BsYXlTZXJ2aWNlKVxuXG4gIHR5cGUgPSAnQmFzaWMnXG5cbiAgcG9zaXRpb24gPSB0aGlzLmZiLmNvbnRyb2woJ3RvcCcpXG5cbiAgaWNvbnMgPSBbXG4gICAgJ2Zhdm9yaXRlX2JvcmRlcicsXG4gICAgJ2Rhc2hib2FyZCcsXG4gICAgJ2V2ZW50JyxcbiAgICAncGFpZCcsXG4gICAgJ25vdGlmaWNhdGlvbnMnLFxuICAgICdtb3ZpZV9maWx0ZXInLFxuICBdXG5cbiAgdG9hc3RTYW1wbGVzID0gW1xuICAgIHtcbiAgICAgIG1lc3NhZ2U6IGBUaGlzIGlzIGEgc2ltcGxlIHRvYXN0IG1lc3NhZ2UuIFRoaXMgaXMgYSA8c3BhbiBzdHlsZT1cImZvbnQtc2l6ZTogMjJweFwiPnNpbXBsZSB0b2FzdCBtZXNzYWdlPC9zcGFuPi4gVGhpcyBpcyBhIHNpbXBsZSB0b2FzdCBtZXNzYWdlLiBUaGlzIGlzIGEgc2ltcGxlIHRvYXN0IG1lc3NhZ2VgLFxuICAgICAgY29sb3I6IFRvYXN0Q29sb3JzLkVSUk9SLFxuICAgICAgYWN0aW9uOiBcIk9rXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIG1lc3NhZ2U6ICdTYW1wbGUgbWVzc2FnZScsXG4gICAgICBjb2xvcjogVG9hc3RDb2xvcnMuSU5GTyxcbiAgICAgIGljb246IHRoaXMuaWNvbnNbMF1cbiAgICB9LFxuICAgIHtcbiAgICAgIG1lc3NhZ2U6ICdTYW1wbGUgbWVzc2FnZScsXG4gICAgICBjb2xvcjogVG9hc3RDb2xvcnMuV0FSTixcbiAgICAgIGljb246IHRoaXMuaWNvbnNbMV1cbiAgICB9LFxuICAgIHtcbiAgICAgIG1lc3NhZ2U6IGBUaGlzIGlzIGEgc2ltcGxlIHRvYXN0IG1lc3NhZ2UuIFRoaXMgaXMgYSA8c3BhbiBzdHlsZT1cImZvbnQtc2l6ZTogMjJweFwiPnNpbXBsZSB0b2FzdCBtZXNzYWdlPC9zcGFuPi4gVGhpcyBpcyBhIHNpbXBsZSB0b2FzdCBtZXNzYWdlLiBUaGlzIGlzIGEgc2ltcGxlIHRvYXN0IG1lc3NhZ2VgLFxuICAgICAgY29sb3I6IFRvYXN0Q29sb3JzLk5PVElGWSxcbiAgICAgIGljb246IHRoaXMuaWNvbnNbMl0sXG4gICAgICBhY3Rpb246IFwiRGlzbWlzc1wiXG4gICAgfSxcbiAgICB7XG4gICAgICBtZXNzYWdlOiAnU2FtcGxlIG1lc3NhZ2UnLFxuICAgICAgY29sb3I6IFRvYXN0Q29sb3JzLkdFTkVSQUwsXG4gICAgICBhY3Rpb246IFwiRGlzbWlzc1wiXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG1lc3NhZ2U6IGBUaGlzIGlzIGEgc2ltcGxlIHRvYXN0IG1lc3NhZ2UuIFRoaXMgaXMgYSA8c3BhbiBzdHlsZT1cImZvbnQtc2l6ZTogMjJweFwiPnNpbXBsZSB0b2FzdCBtZXNzYWdlPC9zcGFuPi4gVGhpcyBpcyBhIHNpbXBsZSB0b2FzdCBtZXNzYWdlLiBUaGlzIGlzIGEgc2ltcGxlIHRvYXN0IG1lc3NhZ2VgLFxuICAgICAgICBjb2xvcjogVG9hc3RDb2xvcnMuU1VDQ0VTUyxcbiAgICAgICAgYWN0aW9uOiBcIi1cIlxuICAgICAgfSxcbiAgICBdXG5cbiAgcGlja1RvYXN0U2FtcGxlPzogVG9hc3REaXNwbGF5XG5cbiAgb25TZWxlY3RUeXBlKHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMudHlwZSA9IHR5cGVcbiAgfVxuXG4gIG9uQmFzaWModHlwZTogc3RyaW5nLCBpY29uPzogc3RyaW5nLCBhY3Rpb24/OiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ0VSUk9SJzpcbiAgICAgICAgdGhpcy5wcmVzZW50VG9hc3QoVG9hc3RDb2xvcnMuRVJST1IsIGljb24sIGFjdGlvbilcbiAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnSU5GTyc6XG4gICAgICAgIHRoaXMucHJlc2VudFRvYXN0KFRvYXN0Q29sb3JzLklORk8sIGljb24sIGFjdGlvbilcbiAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnV0FSTic6XG4gICAgICAgIHRoaXMucHJlc2VudFRvYXN0KFRvYXN0Q29sb3JzLldBUk4sIGljb24sIGFjdGlvbilcbiAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnTk9USUZZJzpcbiAgICAgICAgdGhpcy5wcmVzZW50VG9hc3QoVG9hc3RDb2xvcnMuTk9USUZZLCBpY29uLCBhY3Rpb24pXG4gICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0dFTkVSQUwnOlxuICAgICAgICB0aGlzLnByZXNlbnRUb2FzdChUb2FzdENvbG9ycy5HRU5FUkFMLCBpY29uLCBhY3Rpb24pXG4gICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMucHJlc2VudFRvYXN0KFRvYXN0Q29sb3JzLlNVQ0NFU1MsIGljb24sIGFjdGlvbilcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHByZXNlbnRUb2FzdChjb2xvcjogVG9hc3RDb2xvcnMsIGljb24/OiBzdHJpbmcsIGFjdGlvbj86IHN0cmluZykge1xuXG4gICAgICBjb25zdCBvcHRpb25zID0gVG9hc3REaXNwbGF5LmFkYXB0KHtcbiAgICAgICAgICBtZXNzYWdlOiBgVGhpcyBpcyBhIHNpbXBsZSB0b2FzdCBtZXNzYWdlLiA8c3BhbiBzdHlsZT1cImZvbnQtc2l6ZTogMjJweFwiPnNpbXBsZSB0b2FzdCBtZXNzYWdlPC9zcGFuPi4gVGhpcyBpcyBhIHNpbXBsZSB0b2FzdCBtZXNzYWdlLiBUaGlzIGlzIGEgc2ltcGxlIHRvYXN0IG1lc3NhZ2VgLFxuICAgICAgICAgIGNvbG9yLFxuICAgICAgICAgIGljb24sXG4gICAgICAgICAgYWN0aW9uXG4gICAgICB9KVxuXG4gICAgICBjb25zdCB0b2FzdFBvc2l0aW9uID0gKHRoaXMucG9zaXRpb24udmFsdWUgPT09ICd0b3AnKSA/IFZlcnRpY2FsQWxpZ25tZW50LlRPUCA6IFZlcnRpY2FsQWxpZ25tZW50LkJPVFRPTVxuICAgICAgdGhpcy50b2FzdE1lc3NhZ2VEaXNwbGF5U2VydmljZS50b2FzdE1lc3NhZ2Uob3B0aW9ucywgLTEsIHRvYXN0UG9zaXRpb24pXG4gIH1cblxuICBvbklubGluZSgpIHtcbiAgICBjb25zdCBwaWNrID0gdGhpcy5yYW5kb21OdW1iZXIoMCwgdGhpcy50b2FzdFNhbXBsZXMubGVuZ3RoLTEpXG4gICAgdGhpcy5waWNrVG9hc3RTYW1wbGUgPSB0aGlzLnRvYXN0U2FtcGxlc1twaWNrXVxuICB9XG5cbiAgb25DbG9zZWRUb2FzdCh0b2FzdD86IFRvYXN0RGlzcGxheSkge1xuICAgIGNvbnNvbGUubG9nKHRvYXN0KVxuICB9XG5cbn1cbiIsIjxtYXQtdG9vbGJhciBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+XG4gICAgPGRpdj5Ub2FzdCBNZXNzYWdlIERlbW88L2Rpdj5cbiAgICA8ZGl2IHN0eWxlPVwiZmxleDoxOyB0ZXh0LWFsaWduOiBlbmQ7XCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxuICAgICAgICAgICAgbWF0SWNvblByZWZpeFxuICAgICAgICA+XG4gICAgICAgICAgICB7eyB0eXBlIHwgdGl0bGVjYXNlIH19XG4gICAgICAgICAgICA8bWF0LWljb24+bGF5ZXJzPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L21hdC10b29sYmFyPlxuXG48bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XG4gICAgPGJ1dHRvblxuICAgICAgICBtYXQtbWVudS1pdGVtXG4gICAgICAgIChjbGljayk9XCJvblNlbGVjdFR5cGUoJ2Jhc2ljJylcIlxuICAgID5cbiAgICAgICAgQmFzaWNcbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0VHlwZSgnaWNvbicpXCJcbiAgICA+XG4gICAgICAgIEljb25cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0VHlwZSgnYWN0aW9uJylcIlxuICAgID5cbiAgICAgICAgQWN0aW9uXG4gICAgPC9idXR0b24+XG48L21hdC1tZW51PlxuXG48ZGl2IHN0eWxlPVwibWFyZ2luOiAxcmVtO1wiPlxuICAgIDxzcGFuIFtuZ1N3aXRjaF09XCJ0eXBlXCI+XG4gICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidpY29uJ1wiPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGdhcDogMXJlbTsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcIj5cbiAgICAgICAgICAgICAgICA8aDMgc3R5bGU9XCJmbGV4OjE7IG1hcmdpbi1ib3R0b206IDA7XCI+VG9hc3Qgd2l0aCBJY29uPC9oMz5cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiAuNXJlbTtcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnU1VDQ0VTUycsICdmYXZvcml0ZV9ib3JkZXInKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEljb24gLSBTVUNDRVNTXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdFUlJPUicsICdkYXNoYm9hcmQnKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEljb24gLSBFUlJPUlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnSU5GTycsICdldmVudCcpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgSWNvbiAtIElORk9cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFzaWMoJ1dBUk4nLCAncGFpZCcpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgSWNvbiAtIFdBUk5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFzaWMoJ1dBUk4nLCAnbm90aWZpY2F0aW9ucycpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgSWNvbiAtIE5PVElGWVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnV0FSTicsICdtb3ZpZV9maWx0ZXInKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEljb24gLSBHRU5FUkFMXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInYWN0aW9uJ1wiPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGdhcDogMXJlbTsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcIj5cbiAgICAgICAgICAgICAgICA8aDMgc3R5bGU9XCJmbGV4OjE7IG1hcmdpbi1ib3R0b206IDA7XCI+VG9hc3Qgd2l0aCBJY29uIGFuZCBBY3Rpb248L2gzPlxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IC41cmVtO1wiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdTVUNDRVNTJywgJ2Zhdm9yaXRlX2JvcmRlcicsICdEaXNtaXNzJylcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBBY3Rpb24gLSBTVUNDRVNTXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdFUlJPUicsICdkYXNoYm9hcmQnLCAnRGlzbWlzcycpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQWN0aW9uIC0gRVJST1JcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFzaWMoJ0lORk8nLCAnZXZlbnQnLCAnRGlzbWlzcycpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQWN0aW9uIC0gSU5GT1xuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnV0FSTicsICdwYWlkJywgJ0Rpc21pc3MnKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEFjdGlvbiAtIFdBUk5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFzaWMoJ05PVElGWScsICdub3RpZmljYXRpb25zJywgJ0Rpc21pc3MnKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEFjdGlvbiAtIE5PVElGWVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnR0VORVJBTCcsICdtb3ZpZV9maWx0ZXInLCAnRGlzbWlzcycpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQWN0aW9uIC0gR0VORVJBTFxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdTd2l0Y2hEZWZhdWx0PlxuXG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiAxcmVtOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1wiPlxuICAgICAgICAgICAgICAgIDxoMyBzdHlsZT1cImZsZXg6MTsgbWFyZ2luLWJvdHRvbTogMDtcIj5CYXNpYyBUb2FzdDwvaDM+XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGdhcDogLjVyZW07XCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFzaWMoJ1NVQ0NFU1MnKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEJhc2ljIC0gU1VDQ0VTU1xuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnRVJST1InKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEJhc2ljIC0gRVJST1JcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFzaWMoJ0lORk8nKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEJhc2ljIC0gSU5GT1xuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnV0FSTicpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQmFzaWMgLSBXQVJOXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdOT1RJRlknKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEJhc2ljIC0gTk9USUZZXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdHRU5FUkFMJylcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBCYXNpYyAtIEdFTkVSQUxcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L2Rpdj5cbiAgICA8L3NwYW4+XG4gICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IG1hcmdpbi10b3A6IDFyZW07XCI+XG4gICAgICAgIDxtYXQtcmFkaW8tZ3JvdXAgW2Zvcm1Db250cm9sXT1cInBvc2l0aW9uXCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IDJyZW1cIj5cbiAgICAgICAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIHZhbHVlPVwidG9wXCI+VG9wIFBvc2l0aW9uPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b24gdmFsdWU9XCJib3R0b21cIj5Cb3R0b20gUG9zaXRpb248L21hdC1yYWRpby1idXR0b24+XG4gICAgICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOiAxcmVtOyBtYXJnaW4tYm90dG9tOiAxcmVtO1wiPlxuICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbjwvZGl2PlxuXG48ZGl2IHN0eWxlPVwibWFyZ2luOiAxcmVtO1wiPlxuICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwib25JbmxpbmUoKVwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMnJlbTtcIj5cbiAgICBBZGQgSW5saW5lIFRvYXN0IE1lc3NhZ2VcbiAgPC9idXR0b24+XG4gIDxhcHAtdG9hc3QtbWVzc2FnZS1kaXNwbGF5LWlubGluZVxuICAgIFt0b2FzdF09XCJwaWNrVG9hc3RTYW1wbGVcIlxuICAgIFtkdXJhdGlvbl09XCI1XCJcbiAgICAoY2xvc2UpPVwib25DbG9zZWRUb2FzdCgkZXZlbnQpXCJcbiAgPjwvYXBwLXRvYXN0LW1lc3NhZ2UtZGlzcGxheS1pbmxpbmU+XG48L2Rpdj5cbiJdfQ==
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtZGVtby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90b2FzdC1tZXNzYWdlLWRpc3BsYXkvc3JjL2xpYi90b2FzdC1kZW1vL3RvYXN0LWRlbW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9hc3QtbWVzc2FnZS1kaXNwbGF5L3NyYy9saWIvdG9hc3QtZGVtby90b2FzdC1kZW1vLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7Ozs7Ozs7QUFPL0UsTUFBTSxPQUFPLGtCQUFrQjtJQUwvQjtRQU9FLFdBQU0sR0FBRyxHQUFHLEVBQUU7WUFDWixNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUNwQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3pELE1BQU0sV0FBVyxHQUFHLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUNoRCxPQUFPLFdBQVcsQ0FBQTtRQUNwQixDQUFDLENBQUE7UUFFRCxpQkFBWSxHQUFHLENBQUMsR0FBVyxFQUFFLEdBQVcsRUFBRSxFQUFFO1lBQzFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FB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LENBQUMsQ0FBQTtRQUVGLE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFBO1FBQ3hHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBQzVFLENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUE7UUFDN0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2hELENBQUM7SUFFRCxhQUFhLENBQUMsS0FBb0I7UUFDaEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNwQixDQUFDOytHQWhIVSxrQkFBa0I7bUdBQWxCLGtCQUFrQiw4RENYL0IsMG9OQStMQTs7NEZEcExhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDSSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9hc3RDb2xvcnMsIFRvYXN0RGlzcGxheSwgVmVydGljYWxBbGlnbm1lbnQgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFRvYXN0TWVzc2FnZURpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdG9hc3QtbWVzc2FnZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtdG9hc3QtZGlzcGxheS1kZW1vJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9hc3QtZGVtby5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdG9hc3QtZGVtby5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0RGVtb0NvbXBvbmVudCB7XG5cbiAgcmFuZG9tID0gKCkgPT4ge1xuICAgIGNvbnN0IHR5cGVkQXJyYXkgPSBuZXcgVWludDhBcnJheSgxKVxuICAgIGNvbnN0IHJhbmRvbVZhbHVlID0gY3J5cHRvLmdldFJhbmRvbVZhbHVlcyh0eXBlZEFycmF5KVswXVxuICAgIGNvbnN0IHJhbmRvbUZsb2F0ID0gcmFuZG9tVmFsdWUgLyBNYXRoLnBvdygyLCA4KVxuICAgIHJldHVybiByYW5kb21GbG9hdFxuICB9XG5cbiAgcmFuZG9tTnVtYmVyID0gKG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcikgPT4ge1xuICAgIHJldHVybiBNYXRoLmZsb29yKHRoaXMucmFuZG9tKCkgKiBtYXgpICsgbWluXG4gIH1cblxuICBmYiA9IGluamVjdChGb3JtQnVpbGRlcilcbiAgdG9hc3RNZXNzYWdlRGlzcGxheVNlcnZpY2UgPSBpbmplY3QoVG9hc3RNZXNzYWdlRGlzcGxheVNlcnZpY2UpXG5cbiAgdHlwZSA9ICdCYXNpYydcblxuICBwb3NpdGlvbiA9IHRoaXMuZmIuY29udHJvbCgndG9wJylcblxuICBpY29ucyA9IFtcbiAgICAnZmF2b3JpdGVfYm9yZGVyJyxcbiAgICAnZGFzaGJvYXJkJyxcbiAgICAnZXZlbnQnLFxuICAgICdwYWlkJyxcbiAgICAnbm90aWZpY2F0aW9ucycsXG4gICAgJ21vdmllX2ZpbHRlcicsXG4gIF1cblxuICB0b2FzdFNhbXBsZXMgPSBbXG4gICAge1xuICAgICAgbWVzc2FnZTogYFRoaXMgaXMgYSBzaW1wbGUgdG9hc3QgbWVzc2FnZS4gVGhpcyBpcyBhIDxzcGFuIHN0eWxlPVwiZm9udC1zaXplOiAyMnB4XCI+c2ltcGxlIHRvYXN0IG1lc3NhZ2U8L3NwYW4+LiBUaGlzIGlzIGEgc2ltcGxlIHRvYXN0IG1lc3NhZ2UuIFRoaXMgaXMgYSBzaW1wbGUgdG9hc3QgbWVzc2FnZWAsXG4gICAgICBjb2xvcjogVG9hc3RDb2xvcnMuRVJST1IsXG4gICAgICBhY3Rpb246IFwiT2tcIlxuICAgIH0sXG4gICAge1xuICAgICAgbWVzc2FnZTogJ1NhbXBsZSBtZXNzYWdlJyxcbiAgICAgIGNvbG9yOiBUb2FzdENvbG9ycy5JTkZPLFxuICAgICAgaWNvbjogdGhpcy5pY29uc1swXVxuICAgIH0sXG4gICAge1xuICAgICAgbWVzc2FnZTogJ1NhbXBsZSBtZXNzYWdlJyxcbiAgICAgIGNvbG9yOiBUb2FzdENvbG9ycy5XQVJOLFxuICAgICAgaWNvbjogdGhpcy5pY29uc1sxXVxuICAgIH0sXG4gICAge1xuICAgICAgbWVzc2FnZTogYFRoaXMgaXMgYSBzaW1wbGUgdG9hc3QgbWVzc2FnZS4gVGhpcyBpcyBhIDxzcGFuIHN0eWxlPVwiZm9udC1zaXplOiAyMnB4XCI+c2ltcGxlIHRvYXN0IG1lc3NhZ2U8L3NwYW4+LiBUaGlzIGlzIGEgc2ltcGxlIHRvYXN0IG1lc3NhZ2UuIFRoaXMgaXMgYSBzaW1wbGUgdG9hc3QgbWVzc2FnZWAsXG4gICAgICBjb2xvcjogVG9hc3RDb2xvcnMuTk9USUZZLFxuICAgICAgaWNvbjogdGhpcy5pY29uc1syXSxcbiAgICAgIGFjdGlvbjogXCJEaXNtaXNzXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIG1lc3NhZ2U6ICdTYW1wbGUgbWVzc2FnZScsXG4gICAgICBjb2xvcjogVG9hc3RDb2xvcnMuR0VORVJBTCxcbiAgICAgIGFjdGlvbjogXCJEaXNtaXNzXCJcbiAgICB9LFxuICAgIHtcbiAgICAgICAgbWVzc2FnZTogYFRoaXMgaXMgYSBzaW1wbGUgdG9hc3QgbWVzc2FnZS4gVGhpcyBpcyBhIDxzcGFuIHN0eWxlPVwiZm9udC1zaXplOiAyMnB4XCI+c2ltcGxlIHRvYXN0IG1lc3NhZ2U8L3NwYW4+LiBUaGlzIGlzIGEgc2ltcGxlIHRvYXN0IG1lc3NhZ2UuIFRoaXMgaXMgYSBzaW1wbGUgdG9hc3QgbWVzc2FnZWAsXG4gICAgICAgIGNvbG9yOiBUb2FzdENvbG9ycy5TVUNDRVNTLFxuICAgICAgICBhY3Rpb246IFwiLVwiXG4gICAgICB9LFxuICAgIF1cblxuICBwaWNrVG9hc3RTYW1wbGU/OiBUb2FzdERpc3BsYXlcblxuICBvblNlbGVjdFR5cGUodHlwZTogc3RyaW5nKSB7XG4gICAgdGhpcy50eXBlID0gdHlwZVxuICB9XG5cbiAgb25CYXNpYyh0eXBlOiBzdHJpbmcsIGljb24/OiBzdHJpbmcsIGFjdGlvbj86IHN0cmluZykge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnRVJST1InOlxuICAgICAgICB0aGlzLnByZXNlbnRUb2FzdChUb2FzdENvbG9ycy5FUlJPUiwgaWNvbiwgYWN0aW9uKVxuICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdJTkZPJzpcbiAgICAgICAgdGhpcy5wcmVzZW50VG9hc3QoVG9hc3RDb2xvcnMuSU5GTywgaWNvbiwgYWN0aW9uKVxuICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdXQVJOJzpcbiAgICAgICAgdGhpcy5wcmVzZW50VG9hc3QoVG9hc3RDb2xvcnMuV0FSTiwgaWNvbiwgYWN0aW9uKVxuICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdOT1RJRlknOlxuICAgICAgICB0aGlzLnByZXNlbnRUb2FzdChUb2FzdENvbG9ycy5OT1RJRlksIGljb24sIGFjdGlvbilcbiAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnR0VORVJBTCc6XG4gICAgICAgIHRoaXMucHJlc2VudFRvYXN0KFRvYXN0Q29sb3JzLkdFTkVSQUwsIGljb24sIGFjdGlvbilcbiAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5wcmVzZW50VG9hc3QoVG9hc3RDb2xvcnMuU1VDQ0VTUywgaWNvbiwgYWN0aW9uKVxuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcHJlc2VudFRvYXN0KGNvbG9yOiBUb2FzdENvbG9ycywgaWNvbj86IHN0cmluZywgYWN0aW9uPzogc3RyaW5nKSB7XG5cbiAgICAgIGNvbnN0IG9wdGlvbnMgPSBUb2FzdERpc3BsYXkuYWRhcHQoe1xuICAgICAgICAgIG1lc3NhZ2U6IGBUaGlzIGlzIGEgc2ltcGxlIHRvYXN0IG1lc3NhZ2UuIDxzcGFuIHN0eWxlPVwiZm9udC1zaXplOiAyMnB4XCI+c2ltcGxlIHRvYXN0IG1lc3NhZ2U8L3NwYW4+LiBUaGlzIGlzIGEgc2ltcGxlIHRvYXN0IG1lc3NhZ2UuIFRoaXMgaXMgYSBzaW1wbGUgdG9hc3QgbWVzc2FnZWAsXG4gICAgICAgICAgY29sb3IsXG4gICAgICAgICAgaWNvbixcbiAgICAgICAgICBhY3Rpb25cbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IHRvYXN0UG9zaXRpb24gPSAodGhpcy5wb3NpdGlvbi52YWx1ZSA9PT0gJ3RvcCcpID8gVmVydGljYWxBbGlnbm1lbnQuVE9QIDogVmVydGljYWxBbGlnbm1lbnQuQk9UVE9NXG4gICAgICB0aGlzLnRvYXN0TWVzc2FnZURpc3BsYXlTZXJ2aWNlLnRvYXN0TWVzc2FnZShvcHRpb25zLCAtMSwgdG9hc3RQb3NpdGlvbilcbiAgfVxuXG4gIG9uSW5saW5lKCkge1xuICAgIGNvbnN0IHBpY2sgPSB0aGlzLnJhbmRvbU51bWJlcigwLCB0aGlzLnRvYXN0U2FtcGxlcy5sZW5ndGgtMSlcbiAgICB0aGlzLnBpY2tUb2FzdFNhbXBsZSA9IHRoaXMudG9hc3RTYW1wbGVzW3BpY2tdXG4gIH1cblxuICBvbkNsb3NlZFRvYXN0KHRvYXN0PzogVG9hc3REaXNwbGF5KSB7XG4gICAgY29uc29sZS5sb2codG9hc3QpXG4gIH1cblxufVxuIiwiPG1hdC10b29sYmFyIHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cbiAgICA8ZGl2PlRvYXN0IE1lc3NhZ2UgRGVtbzwvZGl2PlxuICAgIDxkaXYgc3R5bGU9XCJmbGV4OjE7IHRleHQtYWxpZ246IGVuZDtcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiXG4gICAgICAgICAgICBtYXRJY29uUHJlZml4XG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IHR5cGUgfCB0aXRsZWNhc2UgfX1cbiAgICAgICAgICAgIDxtYXQtaWNvbj5sYXllcnM8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvbWF0LXRvb2xiYXI+XG5cbjxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0VHlwZSgnYmFzaWMnKVwiXG4gICAgPlxuICAgICAgICBCYXNpY1xuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LW1lbnUtaXRlbVxuICAgICAgICAoY2xpY2spPVwib25TZWxlY3RUeXBlKCdpY29uJylcIlxuICAgID5cbiAgICAgICAgSWNvblxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LW1lbnUtaXRlbVxuICAgICAgICAoY2xpY2spPVwib25TZWxlY3RUeXBlKCdhY3Rpb24nKVwiXG4gICAgPlxuICAgICAgICBBY3Rpb25cbiAgICA8L2J1dHRvbj5cbjwvbWF0LW1lbnU+XG5cbjxkaXYgc3R5bGU9XCJtYXJnaW46IDFyZW07XCI+XG4gICAgPHNwYW4gW25nU3dpdGNoXT1cInR5cGVcIj5cbiAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ2ljb24nXCI+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiAxcmVtOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1wiPlxuICAgICAgICAgICAgICAgIDxoMyBzdHlsZT1cImZsZXg6MTsgbWFyZ2luLWJvdHRvbTogMDtcIj5Ub2FzdCB3aXRoIEljb248L2gzPlxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IC41cmVtO1wiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdTVUNDRVNTJywgJ2Zhdm9yaXRlX2JvcmRlcicpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgSWNvbiAtIFNVQ0NFU1NcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFzaWMoJ0VSUk9SJywgJ2Rhc2hib2FyZCcpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgSWNvbiAtIEVSUk9SXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdJTkZPJywgJ2V2ZW50JylcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBJY29uIC0gSU5GT1xuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnV0FSTicsICdwYWlkJylcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBJY29uIC0gV0FSTlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnV0FSTicsICdub3RpZmljYXRpb25zJylcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBJY29uIC0gTk9USUZZXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdXQVJOJywgJ21vdmllX2ZpbHRlcicpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgSWNvbiAtIEdFTkVSQUxcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidhY3Rpb24nXCI+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiAxcmVtOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1wiPlxuICAgICAgICAgICAgICAgIDxoMyBzdHlsZT1cImZsZXg6MTsgbWFyZ2luLWJvdHRvbTogMDtcIj5Ub2FzdCB3aXRoIEljb24gYW5kIEFjdGlvbjwvaDM+XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGdhcDogLjVyZW07XCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFzaWMoJ1NVQ0NFU1MnLCAnZmF2b3JpdGVfYm9yZGVyJywgJ0Rpc21pc3MnKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEFjdGlvbiAtIFNVQ0NFU1NcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFzaWMoJ0VSUk9SJywgJ2Rhc2hib2FyZCcsICdEaXNtaXNzJylcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBBY3Rpb24gLSBFUlJPUlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnSU5GTycsICdldmVudCcsICdEaXNtaXNzJylcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBBY3Rpb24gLSBJTkZPXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdXQVJOJywgJ3BhaWQnLCAnRGlzbWlzcycpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQWN0aW9uIC0gV0FSTlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnTk9USUZZJywgJ25vdGlmaWNhdGlvbnMnLCAnRGlzbWlzcycpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQWN0aW9uIC0gTk9USUZZXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdHRU5FUkFMJywgJ21vdmllX2ZpbHRlcicsICdEaXNtaXNzJylcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBBY3Rpb24gLSBHRU5FUkFMXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ1N3aXRjaERlZmF1bHQ+XG5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IDFyZW07IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XCI+XG4gICAgICAgICAgICAgICAgPGgzIHN0eWxlPVwiZmxleDoxOyBtYXJnaW4tYm90dG9tOiAwO1wiPkJhc2ljIFRvYXN0PC9oMz5cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiAuNXJlbTtcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnU1VDQ0VTUycpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQmFzaWMgLSBTVUNDRVNTXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdFUlJPUicpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQmFzaWMgLSBFUlJPUlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnSU5GTycpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQmFzaWMgLSBJTkZPXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdXQVJOJylcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBCYXNpYyAtIFdBUk5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFzaWMoJ05PVElGWScpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQmFzaWMgLSBOT1RJRllcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFzaWMoJ0dFTkVSQUwnKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEJhc2ljIC0gR0VORVJBTFxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvZGl2PlxuICAgIDwvc3Bhbj5cbiAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgbWFyZ2luLXRvcDogMXJlbTtcIj5cbiAgICAgICAgPG1hdC1yYWRpby1ncm91cCBbZm9ybUNvbnRyb2xdPVwicG9zaXRpb25cIiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGdhcDogMnJlbVwiPlxuICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b24gdmFsdWU9XCJ0b3BcIj5Ub3AgUG9zaXRpb248L21hdC1yYWRpby1idXR0b24+XG4gICAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiB2YWx1ZT1cImJvdHRvbVwiPkJvdHRvbSBQb3NpdGlvbjwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgPC9tYXQtcmFkaW8tZ3JvdXA+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IDFyZW07IG1hcmdpbi1ib3R0b206IDFyZW07XCI+XG4gIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuPC9kaXY+XG5cbjxkaXYgc3R5bGU9XCJtYXJnaW46IDFyZW07XCI+XG4gIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIChjbGljayk9XCJvbklubGluZSgpXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAycmVtO1wiPlxuICAgIEFkZCBJbmxpbmUgVG9hc3QgTWVzc2FnZVxuICA8L2J1dHRvbj5cbiAgPGFwcC10b2FzdC1tZXNzYWdlLWRpc3BsYXktaW5saW5lXG4gICAgW3RvYXN0XT1cInBpY2tUb2FzdFNhbXBsZVwiXG4gICAgW2R1cmF0aW9uXT1cIjVcIlxuICAgIChjbG9zZSk9XCJvbkNsb3NlZFRvYXN0KCRldmVudClcIlxuICA+PC9hcHAtdG9hc3QtbWVzc2FnZS1kaXNwbGF5LWlubGluZT5cbjwvZGl2PlxuIl19
@@ -1,24 +1,26 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
+ import { BrowserModule } from '@angular/platform-browser';
3
4
  import { MatIconModule } from '@angular/material/icon';
4
- import { MAT_SNACK_BAR_DATA, MatSnackBarModule, MatSnackBarRef } from '@angular/material/snack-bar';
5
+ import { MatSnackBarModule } from '@angular/material/snack-bar';
5
6
  import { MatButtonModule } from '@angular/material/button';
6
7
  import { MatToolbarModule } from '@angular/material/toolbar';
7
8
  import { MatMenuModule } from '@angular/material/menu';
8
- import { ToastUIComponent } from './toast-ui/toast-ui.component';
9
- import { ToastDemoComponent } from './toast-demo/toast-demo.component';
10
9
  import { ReactiveFormsModule } from '@angular/forms';
11
10
  import { MatRadioModule } from '@angular/material/radio';
12
11
  import { MatDividerModule } from '@angular/material/divider';
13
- import { ToastMessageInlineComponent } from './toast-message-inline/toast-message-inline.component';
12
+ import { ToastUIComponent } from './toast-ui/toast-ui.component';
13
+ import { ToastDemoComponent } from './toast-demo/toast-demo.component';
14
14
  import { SafeHtmlPipe } from './pipes/safe-html.pipe';
15
+ import { ToastMessageInlineComponent } from '../public-api';
15
16
  import * as i0 from "@angular/core";
16
17
  export class ToastMessageDisplayModule {
17
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageDisplayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageDisplayModule, declarations: [ToastUIComponent,
19
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageDisplayModule, declarations: [SafeHtmlPipe,
20
+ ToastUIComponent,
19
21
  ToastDemoComponent,
20
- ToastMessageInlineComponent,
21
- SafeHtmlPipe], imports: [CommonModule,
22
+ ToastMessageInlineComponent], imports: [CommonModule,
23
+ BrowserModule,
22
24
  ReactiveFormsModule,
23
25
  MatIconModule,
24
26
  MatSnackBarModule,
@@ -27,13 +29,9 @@ export class ToastMessageDisplayModule {
27
29
  MatMenuModule,
28
30
  MatRadioModule,
29
31
  MatDividerModule], exports: [ToastUIComponent,
30
- ToastDemoComponent,
31
- ToastMessageInlineComponent] }); }
32
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageDisplayModule, providers: [
33
- { provide: MAT_SNACK_BAR_DATA, useValue: {} },
34
- { provide: MatSnackBarRef, useValue: {} },
35
- SafeHtmlPipe,
36
- ], imports: [CommonModule,
32
+ ToastDemoComponent] }); }
33
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageDisplayModule, imports: [CommonModule,
34
+ BrowserModule,
37
35
  ReactiveFormsModule,
38
36
  MatIconModule,
39
37
  MatSnackBarModule,
@@ -48,6 +46,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
48
46
  args: [{
49
47
  imports: [
50
48
  CommonModule,
49
+ BrowserModule,
51
50
  ReactiveFormsModule,
52
51
  MatIconModule,
53
52
  MatSnackBarModule,
@@ -58,21 +57,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
58
57
  MatDividerModule,
59
58
  ],
60
59
  declarations: [
60
+ SafeHtmlPipe,
61
61
  ToastUIComponent,
62
62
  ToastDemoComponent,
63
63
  ToastMessageInlineComponent,
64
- SafeHtmlPipe,
65
64
  ],
66
65
  exports: [
67
66
  ToastUIComponent,
68
67
  ToastDemoComponent,
69
- ToastMessageInlineComponent,
70
68
  ],
71
- providers: [
72
- { provide: MAT_SNACK_BAR_DATA, useValue: {} },
73
- { provide: MatSnackBarRef, useValue: {} },
74
- SafeHtmlPipe,
75
- ]
76
69
  }]
77
70
  }] });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtbWVzc2FnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90b2FzdC1tZXNzYWdlLWRpc3BsYXkvc3JjL2xpYi90b2FzdC1tZXNzYWdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUkvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUErQnRELE1BQU0sT0FBTyx5QkFBeUI7K0dBQXpCLHlCQUF5QjtnSEFBekIseUJBQXlCLGlCQWhCbEMsZ0JBQWdCO1lBQ2hCLGtCQUFrQjtZQUNsQiwyQkFBMkI7WUFDM0IsWUFBWSxhQWRaLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixjQUFjO1lBQ2QsZ0JBQWdCLGFBU2hCLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFDbEIsMkJBQTJCO2dIQVFsQix5QkFBeUIsYUFOekI7WUFDVCxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO1lBQzdDLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO1lBQ3pDLFlBQVk7U0FDYixZQXpCQyxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsY0FBYztZQUNkLGdCQUFnQjs7NEZBbUJQLHlCQUF5QjtrQkE3QnJDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxnQkFBZ0I7cUJBQ2pCO29CQUNELFlBQVksRUFBRTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsMkJBQTJCO3dCQUMzQixZQUFZO3FCQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsMkJBQTJCO3FCQUM1QjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTt3QkFDN0MsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7d0JBQ3pDLFlBQVk7cUJBQ2I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNQVRfU05BQ0tfQkFSX0RBVEEsIE1hdFNuYWNrQmFyTW9kdWxlLCBNYXRTbmFja0JhclJlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0VG9vbGJhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuXG5pbXBvcnQgeyBUb2FzdFVJQ29tcG9uZW50IH0gZnJvbSAnLi90b2FzdC11aS90b2FzdC11aS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9hc3REZW1vQ29tcG9uZW50IH0gZnJvbSAnLi90b2FzdC1kZW1vL3RvYXN0LWRlbW8uY29tcG9uZW50JztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcblxuaW1wb3J0IHsgVG9hc3RNZXNzYWdlSW5saW5lQ29tcG9uZW50IH0gZnJvbSAnLi90b2FzdC1tZXNzYWdlLWlubGluZS90b2FzdC1tZXNzYWdlLWlubGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2FmZUh0bWxQaXBlIH0gZnJvbSAnLi9waXBlcy9zYWZlLWh0bWwucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFNuYWNrQmFyTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRUb29sYmFyTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgTWF0UmFkaW9Nb2R1bGUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgVG9hc3RVSUNvbXBvbmVudCxcbiAgICBUb2FzdERlbW9Db21wb25lbnQsXG4gICAgVG9hc3RNZXNzYWdlSW5saW5lQ29tcG9uZW50LFxuICAgIFNhZmVIdG1sUGlwZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFRvYXN0VUlDb21wb25lbnQsXG4gICAgVG9hc3REZW1vQ29tcG9uZW50LFxuICAgIFRvYXN0TWVzc2FnZUlubGluZUNvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBNQVRfU05BQ0tfQkFSX0RBVEEsIHVzZVZhbHVlOiB7fSB9LFxuICAgIHsgcHJvdmlkZTogTWF0U25hY2tCYXJSZWYsIHVzZVZhbHVlOiB7fSB9LFxuICAgIFNhZmVIdG1sUGlwZSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdE1lc3NhZ2VEaXNwbGF5TW9kdWxlIHsgfVxuIl19
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtbWVzc2FnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90b2FzdC1tZXNzYWdlLWRpc3BsYXkvc3JjL2xpYi90b2FzdC1tZXNzYWdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBMkI1RCxNQUFNLE9BQU8seUJBQXlCOytHQUF6Qix5QkFBeUI7Z0hBQXpCLHlCQUF5QixpQkFYbEMsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFDbEIsMkJBQTJCLGFBZjNCLFlBQVk7WUFDWixhQUFhO1lBQ2IsbUJBQW1CO1lBQ25CLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsY0FBYztZQUNkLGdCQUFnQixhQVNoQixnQkFBZ0I7WUFDaEIsa0JBQWtCO2dIQUlULHlCQUF5QixZQXZCbEMsWUFBWTtZQUNaLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixjQUFjO1lBQ2QsZ0JBQWdCOzs0RkFjUCx5QkFBeUI7a0JBekJyQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxnQkFBZ0I7cUJBQ2pCO29CQUNELFlBQVksRUFBRTt3QkFDWixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQiwyQkFBMkI7cUJBQzVCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGtCQUFrQjtxQkFDbkI7aUJBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRTbmFja0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0VG9vbGJhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuXG5pbXBvcnQgeyBUb2FzdFVJQ29tcG9uZW50IH0gZnJvbSAnLi90b2FzdC11aS90b2FzdC11aS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9hc3REZW1vQ29tcG9uZW50IH0gZnJvbSAnLi90b2FzdC1kZW1vL3RvYXN0LWRlbW8uY29tcG9uZW50JztcblxuaW1wb3J0IHsgU2FmZUh0bWxQaXBlIH0gZnJvbSAnLi9waXBlcy9zYWZlLWh0bWwucGlwZSc7XG5pbXBvcnQgeyBUb2FzdE1lc3NhZ2VJbmxpbmVDb21wb25lbnQgfSBmcm9tICcuLi9wdWJsaWMtYXBpJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCcm93c2VyTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRTbmFja0Jhck1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0VG9vbGJhck1vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIE1hdFJhZGlvTW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNhZmVIdG1sUGlwZSxcbiAgICBUb2FzdFVJQ29tcG9uZW50LFxuICAgIFRvYXN0RGVtb0NvbXBvbmVudCxcbiAgICBUb2FzdE1lc3NhZ2VJbmxpbmVDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBUb2FzdFVJQ29tcG9uZW50LFxuICAgIFRvYXN0RGVtb0NvbXBvbmVudCxcbiAgXSxcblxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdE1lc3NhZ2VEaXNwbGF5TW9kdWxlIHsgfVxuIl19
@@ -3,9 +3,8 @@
3
3
  */
4
4
  export * from "./lib/toast-message.module";
5
5
  export * from "./lib/toast-ui/toast-ui.component";
6
- export * from './lib/services';
7
6
  export * from './lib/models';
8
7
  export * from './lib/toast-demo/toast-demo.component';
9
8
  export * from './lib/toast-message-inline/toast-message-inline.component';
10
9
  export * from './lib/services/toast-message.service';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3RvYXN0LW1lc3NhZ2UtZGlzcGxheS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyxtQ0FBbUMsQ0FBQTtBQUVqRCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBRTdCLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYywyREFBMkQsQ0FBQztBQUUxRSxjQUFjLHNDQUFzQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0b2FzdC1tZXNzYWdlXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3RvYXN0LW1lc3NhZ2UubW9kdWxlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi90b2FzdC11aS90b2FzdC11aS5jb21wb25lbnRcIlxuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2FzdC1kZW1vL3RvYXN0LWRlbW8uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RvYXN0LW1lc3NhZ2UtaW5saW5lL3RvYXN0LW1lc3NhZ2UtaW5saW5lLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RvYXN0LW1lc3NhZ2Uuc2VydmljZSdcbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3RvYXN0LW1lc3NhZ2UtZGlzcGxheS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyxtQ0FBbUMsQ0FBQTtBQUVqRCxjQUFjLGNBQWMsQ0FBQztBQUU3QixjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMkRBQTJELENBQUM7QUFFMUUsY0FBYyxzQ0FBc0MsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgdG9hc3QtbWVzc2FnZVxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi90b2FzdC1tZXNzYWdlLm1vZHVsZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvdG9hc3QtdWkvdG9hc3QtdWkuY29tcG9uZW50XCJcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9hc3QtZGVtby90b2FzdC1kZW1vLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2FzdC1tZXNzYWdlLWlubGluZS90b2FzdC1tZXNzYWdlLWlubGluZS5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90b2FzdC1tZXNzYWdlLnNlcnZpY2UnXG4iXX0=
@@ -2,23 +2,23 @@ import * as i0 from '@angular/core';
2
2
  import { Injectable, inject, Pipe, VERSION, EventEmitter, Component, ViewEncapsulation, Inject, Output, Input, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
+ import { DomSanitizer, BrowserModule } from '@angular/platform-browser';
5
6
  import * as i2 from '@angular/material/icon';
6
7
  import { MatIconModule } from '@angular/material/icon';
7
- import { MatSnackBar, MAT_SNACK_BAR_DATA, MatSnackBarModule, MatSnackBarRef } from '@angular/material/snack-bar';
8
+ import { MatSnackBar, MAT_SNACK_BAR_DATA, MatSnackBarModule } from '@angular/material/snack-bar';
8
9
  import * as i3 from '@angular/material/button';
9
10
  import { MatButtonModule } from '@angular/material/button';
10
11
  import * as i5 from '@angular/material/toolbar';
11
12
  import { MatToolbarModule } from '@angular/material/toolbar';
12
13
  import * as i6 from '@angular/material/menu';
13
14
  import { MatMenuModule } from '@angular/material/menu';
14
- import { DomSanitizer } from '@angular/platform-browser';
15
- import { take } from 'rxjs/operators';
16
15
  import * as i2$1 from '@angular/forms';
17
16
  import { FormBuilder, ReactiveFormsModule } from '@angular/forms';
18
17
  import * as i7 from '@angular/material/radio';
19
18
  import { MatRadioModule } from '@angular/material/radio';
20
19
  import * as i8 from '@angular/material/divider';
21
20
  import { MatDividerModule } from '@angular/material/divider';
21
+ import { take } from 'rxjs/operators';
22
22
 
23
23
  var ToastColors;
24
24
  (function (ToastColors) {
@@ -263,6 +263,17 @@ var VerticalAlignment;
263
263
  VerticalAlignment["BOTTOM"] = "bottom";
264
264
  })(VerticalAlignment || (VerticalAlignment = {}));
265
265
 
266
+ class ToastMessage {
267
+ constructor(error = '', action = '', icon = 'error') {
268
+ this.error = error;
269
+ this.action = action;
270
+ this.icon = icon;
271
+ }
272
+ static adapt(item) {
273
+ return new ToastMessage(item?.error, item?.action, item?.icon);
274
+ }
275
+ }
276
+
266
277
  class ToastOptions {
267
278
  constructor(duration, horizontalPosition = HorizontalAlignment.CENTER, verticalPosition = VerticalAlignment.TOP, data) {
268
279
  this.duration = duration;
@@ -325,17 +336,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
325
336
  }]
326
337
  }] });
327
338
 
328
- class ToastMessage {
329
- constructor(error = '', action = '', icon = 'error') {
330
- this.error = error;
331
- this.action = action;
332
- this.icon = icon;
333
- }
334
- static adapt(item) {
335
- return new ToastMessage(item?.error, item?.action, item?.icon);
336
- }
337
- }
338
-
339
339
  class ToastMessageInlineComponent {
340
340
  constructor() {
341
341
  this.close = new EventEmitter();
@@ -504,10 +504,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
504
504
 
505
505
  class ToastMessageDisplayModule {
506
506
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageDisplayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
507
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageDisplayModule, declarations: [ToastUIComponent,
507
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageDisplayModule, declarations: [SafeHtmlPipe,
508
+ ToastUIComponent,
508
509
  ToastDemoComponent,
509
- ToastMessageInlineComponent,
510
- SafeHtmlPipe], imports: [CommonModule,
510
+ ToastMessageInlineComponent], imports: [CommonModule,
511
+ BrowserModule,
511
512
  ReactiveFormsModule,
512
513
  MatIconModule,
513
514
  MatSnackBarModule,
@@ -516,13 +517,9 @@ class ToastMessageDisplayModule {
516
517
  MatMenuModule,
517
518
  MatRadioModule,
518
519
  MatDividerModule], exports: [ToastUIComponent,
519
- ToastDemoComponent,
520
- ToastMessageInlineComponent] }); }
521
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageDisplayModule, providers: [
522
- { provide: MAT_SNACK_BAR_DATA, useValue: {} },
523
- { provide: MatSnackBarRef, useValue: {} },
524
- SafeHtmlPipe,
525
- ], imports: [CommonModule,
520
+ ToastDemoComponent] }); }
521
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageDisplayModule, imports: [CommonModule,
522
+ BrowserModule,
526
523
  ReactiveFormsModule,
527
524
  MatIconModule,
528
525
  MatSnackBarModule,
@@ -537,6 +534,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
537
534
  args: [{
538
535
  imports: [
539
536
  CommonModule,
537
+ BrowserModule,
540
538
  ReactiveFormsModule,
541
539
  MatIconModule,
542
540
  MatSnackBarModule,
@@ -547,21 +545,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
547
545
  MatDividerModule,
548
546
  ],
549
547
  declarations: [
548
+ SafeHtmlPipe,
550
549
  ToastUIComponent,
551
550
  ToastDemoComponent,
552
551
  ToastMessageInlineComponent,
553
- SafeHtmlPipe,
554
552
  ],
555
553
  exports: [
556
554
  ToastUIComponent,
557
555
  ToastDemoComponent,
558
- ToastMessageInlineComponent,
559
556
  ],
560
- providers: [
561
- { provide: MAT_SNACK_BAR_DATA, useValue: {} },
562
- { provide: MatSnackBarRef, useValue: {} },
563
- SafeHtmlPipe,
564
- ]
565
557
  }]
566
558
  }] });
567
559
 
@@ -1 +1 @@
1
- {"version":3,"file":"toast-message-display.mjs","sources":["../../../projects/toast-message-display/src/lib/models/toast-colors.enum.ts","../../../projects/toast-message-display/src/lib/models/toast-display-model.ts","../../../projects/toast-message-display/src/lib/utils/color-conversion.service.ts","../../../projects/toast-message-display/src/lib/utils/text-color.service.ts","../../../projects/toast-message-display/src/lib/pipes/safe-html.pipe.ts","../../../projects/toast-message-display/src/lib/toast-ui/toast-ui.component.ts","../../../projects/toast-message-display/src/lib/toast-ui/toast-ui.component.html","../../../projects/toast-message-display/src/lib/models/horizontal-alignment.enum.ts","../../../projects/toast-message-display/src/lib/models/vertical-alignment.enum.ts","../../../projects/toast-message-display/src/lib/models/toast-options.model.ts","../../../projects/toast-message-display/src/lib/services/toast-message.service.ts","../../../projects/toast-message-display/src/lib/models/toast-message.model.ts","../../../projects/toast-message-display/src/lib/toast-message-inline/toast-message-inline.component.ts","../../../projects/toast-message-display/src/lib/toast-message-inline/toast-message-inline.component.html","../../../projects/toast-message-display/src/lib/toast-demo/toast-demo.component.ts","../../../projects/toast-message-display/src/lib/toast-demo/toast-demo.component.html","../../../projects/toast-message-display/src/lib/toast-message.module.ts","../../../projects/toast-message-display/src/public-api.ts","../../../projects/toast-message-display/src/toast-message-display.ts"],"sourcesContent":["export enum ToastColors {\n SUCCESS = '#006B31', // green\n ERROR = '#CC0000', // red\n INFO = '#02559F', // grey\n WARN = '#FFC20E', // orange\n NOTIFY = '#080808', // black\n GENERAL = '#f5f5f5', // light\n}\n","import { ToastColors } from \"./toast-colors.enum\";\n\nexport interface ToastDisplayInterface {\n id?: string;\n message: string;\n action?: string;\n color: ToastColors;\n icon?: string;\n}\n\nexport class ToastDisplay implements ToastDisplayInterface {\n\n constructor(\n public id?: string,\n public message = 'Sample message',\n public action?: string,\n public color = ToastColors.INFO,\n public icon?: string,\n ) {}\n\n static adapt(item?: any) {\n return new ToastDisplay(\n (item?.id) ? item.id : this.randomNumbers(8),\n item?.message,\n item?.action,\n item?.color,\n item?.icon,\n );\n }\n\n static randomNumbers(length: number) {\n return this.generateRandom('0123456789', length)\n }\n\n static generateRandom(randomChars: string, length: number) {\n\n var result = ''\n for ( var i = 0; i < length; i++ ) {\n result += randomChars.charAt(Math.floor(Math.random() * randomChars.length))\n }\n return result\n\n }\n\n}\n","import { Injectable } from '@angular/core'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ColorConversionService {\r\n\r\n rgbToHex(rgb: number[]): string {\r\n const [r, g, b] = rgb\r\n const componentToHex = (c: number) => {\r\n const hex = c.toString(16)\r\n return hex.length === 1 ? \"0\" + hex : hex\r\n }\r\n const hexR = componentToHex(r)\r\n const hexG = componentToHex(g)\r\n const hexB = componentToHex(b)\r\n return \"#\" + hexR + hexG + hexB\r\n }\r\n\r\n hexToRgb(hex: string) {\r\n\r\n hex = (hex.length === 3) ? hex + hex : hex\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\r\n\r\n return result ? [\r\n parseInt(result[1], 16),\r\n parseInt(result[2], 16),\r\n parseInt(result[3], 16)\r\n ] : []\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { ColorConversionService } from './color-conversion.service'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TextColorService {\r\n\r\n constructor(\r\n private colorConversionService: ColorConversionService\r\n ) {}\r\n\r\n /**\r\n * Determines the appropriate text color (light or dark) based on the background color.\r\n *\r\n * @param bgColor - The background color to use for the calculation.\r\n * @param lightColor - The light color to use if the background is dark.\r\n * @param darkColor - The dark color to use if the background is light.\r\n * @returns The appropriate text color (light or dark) based on the background color.\r\n */\r\n textColorForBgColor(bgColor: string, lightColor: string, darkColor: string) {\r\n\r\n const UIColors = this.fixColor(bgColor)\r\n\r\n const r = UIColors[0]\r\n const g = UIColors[1]\r\n const b = UIColors[2]\r\n\r\n return ((r*0.299 + g*0.587 + b*0.114) > 149) ? darkColor : lightColor;\r\n\r\n }\r\n\r\n /**\r\n * Determines whether the first color is darker than the second color.\r\n *\r\n * @param color1 - The first color to compare.\r\n * @param color2 - The second color to compare.\r\n * @returns The darker of the two colors.\r\n */\r\n isColorDarker(color1: string, color2: string) {\r\n const newColor1 = this.fixColor(color1);\r\n const newColor2 = this.fixColor(color2);\r\n\r\n const luminance1 = this.calculateLuminance(\r\n newColor1[0],\r\n newColor1[1],\r\n newColor1[2]\r\n );\r\n const luminance2 = this.calculateLuminance(\r\n newColor2[0],\r\n newColor2[1],\r\n newColor2[2]\r\n );\r\n\r\n return luminance1 > luminance2 ? color2 : color1;\r\n }\r\n\r\n calculateLuminance(r: number, g: number, b: number): number {\r\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\r\n }\r\n\r\n /**\r\n * Fixes the provided color string by ensuring it is in a valid hexadecimal format.\r\n * If the input color is a hexadecimal string, it will be normalized to a 6-digit format.\r\n * If the input color is not a hexadecimal string, it will be converted to an RGB array.\r\n *\r\n * @param color - The color string to be fixed.\r\n * @returns An array of RGB values, or the normalized hexadecimal color string.\r\n */\r\n fixColor(color: string) {\r\n let newColor = color;\r\n\r\n if (color.includes(\"#\")) {\r\n newColor = color.slice(1);\r\n newColor =\r\n newColor.length === 3\r\n ? \"#\" +\r\n newColor\r\n .split(\"\")\r\n .map((hex) => hex + hex)\r\n .join(\"\")\r\n : \"#\" + newColor;\r\n } else {\r\n newColor = this.standardize_color(color);\r\n }\r\n\r\n const Reg_Exp = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;\r\n const colorIsHex = Reg_Exp.test(newColor);\r\n\r\n const UIColors = colorIsHex\r\n ? this.colorConversionService.hexToRgb(newColor)\r\n : newColor.match(/\\d+/g)?.map((item) => parseInt(item)) || [];\r\n\r\n return UIColors;\r\n }\r\n\r\n /**\r\n * Converts the color representation of the provided string into HEX value.\r\n *\r\n * @param str - The color string to be standardized - 'whitesmoke'.\r\n * @returns The standardized color string - #DEDEDE.\r\n */\r\n standardize_color(str: string): string {\r\n const ctx = document.createElement(\"canvas\").getContext(\"2d\");\r\n\r\n if (ctx) {\r\n ctx.fillStyle = str;\r\n }\r\n\r\n return ctx?.fillStyle as string;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform, inject } from '@angular/core';\nimport {DomSanitizer} from \"@angular/platform-browser\";\n\n@Pipe({\n name: 'safeHtml',\n})\nexport class SafeHtmlPipe implements PipeTransform {\n\n private sanitizer = inject(DomSanitizer)\n\n transform(html: string) {\n return this.sanitizer.bypassSecurityTrustHtml(html)\n }\n\n}\n","import { Component, EventEmitter, Inject, inject, Input, OnInit, Output, VERSION, ViewEncapsulation } from '@angular/core';\nimport { MAT_SNACK_BAR_DATA, MatSnackBar } from '@angular/material/snack-bar';\n\nimport { ToastDisplay } from '../models/toast-display-model';\nimport { TextColorService } from '../utils';\n\n@Component({\n selector: 'app-toast-ui',\n templateUrl: './toast-ui.component.html',\n styleUrls: ['./toast-ui.component.scss'],\n encapsulation: ViewEncapsulation.None,\n styles: [`\n .mat-mdc-snack-bar-container {\n --mdc-snackbar-container-color: var(--toast-bg-color, #fff);\n --mat-mdc-snack-bar-button-color: var(--toast-text-color, #fff);\n --mdc-snackbar-supporting-text-color: var(--toast-text-color, #000);\n }\n `]\n})\nexport class ToastUIComponent implements OnInit {\n\n ngVersion = parseInt(VERSION.full.split('.')[0], 10)\n\n @Output() close = new EventEmitter<ToastDisplay>();\n\n textColorService = inject(TextColorService);\n private snackBar = inject(MatSnackBar);\n\n @Input() options = ToastDisplay.adapt();\n\n constructor(\n @Inject(MAT_SNACK_BAR_DATA)\n public data: ToastDisplay\n ) {\n this.options = ToastDisplay.adapt(data)\n }\n\n ngOnInit() {\n\n if (this.ngVersion >= 15) {\n\n const hostElement = document.querySelector('.mat-mdc-snack-bar-container')\n\n if (hostElement) {\n hostElement.setAttribute('style', `\n --toast-bg-color: ${this.color};\n --toast-text-color: ${this.textColor};\n `)\n }\n\n } else {\n\n document.documentElement.style.setProperty('--toast-bg-color', this.color);\n document.documentElement.style.setProperty('--toast-text-color', this.textColor);\n\n const hostElement = document.querySelector('.mat-snack-bar-container') as HTMLElement;\n\n if (hostElement) {\n hostElement.style.backgroundColor = this.color;\n hostElement.style.color = this.textColor;\n\n const actionButton = hostElement.querySelector('.mat-button, .mat-snack-bar-action') as HTMLElement;\n if (actionButton) {\n actionButton.style.color = this.textColor;\n }\n }\n\n }\n\n }\n\n get color() {\n return this.options.color || '#2196f3';\n }\n\n get textColor() {\n return this.textColorService.textColorForBgColor(\n this.color,\n '#FFFFFF',\n '#000000'\n );\n }\n\n onCloseToast(options?: ToastDisplay) {\n this.snackBar.dismiss()\n this.close.emit(options)\n }\n}\n","<div\n class=\"toast-grid-container\"\n [class.has-icon]=\"options.icon\"\n [class.has-action]=\"options.action\"\n [style.background-color]=\"(options) ? options.color : ''\"\n>\n <mat-icon\n *ngIf=\"options.icon\"\n class=\"toast-icon\"\n [style.color]=\"textColor\"\n >\n {{ options.icon }}\n </mat-icon>\n\n <div\n class=\"toast-message\"\n [style.color]=\"textColor\"\n [innerHTML]=\"options.message | safeHtml\"\n >\n </div>\n\n <button\n *ngIf=\"options.action\"\n class=\"toast-action-button\"\n mat-button\n (click)=\"onCloseToast(options)\"\n [style.color]=\"textColor\"\n >\n <ng-container *ngIf=\"options.action !== '-'; else CLOSE\">\n {{ options.action }}\n </ng-container>\n <ng-template #CLOSE>\n <mat-icon>close</mat-icon>\n </ng-template>\n\n </button>\n</div>\n","export enum HorizontalAlignment {\n LEFT = 'left',\n RIGHT = 'right',\n CENTER = 'center',\n}\n","export enum VerticalAlignment {\n TOP = 'top',\n BOTTOM = 'bottom',\n}\n","import { MatSnackBarVerticalPosition } from \"@angular/material/snack-bar\";\nimport { HorizontalAlignment } from \"./horizontal-alignment.enum\";\nimport { ToastDisplay } from \"./toast-display-model\";\nimport { VerticalAlignment } from \"./vertical-alignment.enum\";\n\nexport interface ToastOptionsInterface {\n duration?: number\n horizontalPosition?: HorizontalAlignment\n verticalPosition?: MatSnackBarVerticalPosition\n data?: ToastDisplay\n}\n\nexport class ToastOptions implements ToastOptionsInterface {\n\n constructor(\n public duration?: number,\n public horizontalPosition = HorizontalAlignment.CENTER,\n public verticalPosition = VerticalAlignment.TOP,\n public data?: ToastDisplay\n ) {}\n\n static adapt(item?: any): ToastOptionsInterface {\n\n if(item?.duration) item.duration = item.duration * 1000\n\n return new ToastOptions(\n item?.duration,\n item?.horizontalPosition,\n item?.verticalPosition,\n item?.data ? ToastDisplay.adapt(item.data) : ToastDisplay.adapt()\n )\n }\n\n}\n","import { inject, Injectable } from '@angular/core';\nimport { MatSnackBar, MatSnackBarRef, MatSnackBarVerticalPosition } from '@angular/material/snack-bar';\nimport { ToastUIComponent } from '../toast-ui/toast-ui.component';\nimport { ToastOptions } from '../models/toast-options.model';\nimport { VerticalAlignment } from '../models/vertical-alignment.enum';\nimport { ToastDisplay } from '../models/toast-display-model';\nimport { take } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToastMessageDisplayService {\n\n private snackBar = inject(MatSnackBar);\n\n private toastQueue: { options: ToastDisplay, duration?: number, vertical?: VerticalAlignment }[] = [];\n private isToastVisible = false;\n\n defaultDuration = 3;\n\n snackBarRef: MatSnackBarRef<any> | undefined;\n\n toastMessage(options = ToastDisplay.adapt(), duration?: number, vertical?: VerticalAlignment) {\n this.toastQueue.push({ options, duration, vertical });\n this.showNextToast();\n }\n\n private showNextToast() {\n\n if (this.isToastVisible || this.toastQueue.length === 0) return\n\n const { options, duration, vertical } = this.toastQueue.shift()!\n\n const vertPosition: MatSnackBarVerticalPosition = (vertical) ? vertical : 'top'\n\n const durationDismiss = (!options.action) ? this.defaultDuration : duration\n\n const displayOptions = ToastOptions.adapt({\n duration: durationDismiss,\n horizontalPosition: 'center',\n verticalPosition: vertPosition,\n data: options,\n })\n\n this.isToastVisible = true;\n this.snackBarRef = this.snackBar.openFromComponent(ToastUIComponent, displayOptions);\n\n if (this.snackBarRef) {\n this.snackBarRef\n .afterDismissed()\n .pipe(take(1))\n .subscribe(() => {\n this.isToastVisible = false;\n this.showNextToast();\n });\n } else {\n console.error('Snackbar reference is undefined. Unable to subscribe to dismissal event.');\n }\n\n }\n}\n","export interface ToastMessageInterface {\n error: string;\n action: string;\n icon: string;\n}\n\nexport class ToastMessage implements ToastMessageInterface {\n constructor(\n public error = '',\n public action = '',\n public icon = 'error',\n ) {}\n\n static adapt(item?: any): ToastMessageInterface {\n return new ToastMessage(\n item?.error,\n item?.action,\n item?.icon,\n )\n\n }\n}\n","import { Component, EventEmitter, inject, Input, OnInit, Output } from '@angular/core';\nimport { TextColorService } from '../utils';\nimport { ToastDisplay, VerticalAlignment } from '../models';\n\n@Component({\n selector: 'app-toast-message-display-inline',\n templateUrl: './toast-message-inline.component.html',\n styleUrls: ['./toast-message-inline.component.scss']\n})\nexport class ToastMessageInlineComponent implements OnInit {\n\n @Output() close = new EventEmitter<ToastDisplay>();\n\n textColorService = inject(TextColorService)\n\n toastList: ToastDisplay[] = []\n\n dismissToasts: any[] = []\n\n @Input() set toast(value: any) {\n\n if (!value) return\n const toast = ToastDisplay.adapt(value)\n\n if (!toast.action) {\n this.dismissToasts.push(toast)\n this.expireTime(toast)\n }\n\n this.toastList.push(toast)\n\n }\n\n get option() {\n return (this.toastList.length > 0) ? this.toastList[0] : null\n }\n\n @Input() duration = -1\n @Input() position: VerticalAlignment = VerticalAlignment.TOP\n\n get color() {\n return (this.option) ? this.option.color : ''\n }\n\n get textColor() {\n return (this.option) ? this.textColorService.textColorForBgColor(this.option.color, '#FFFFFF', '#000000') : ''\n }\n\n ngOnInit() {\n document.documentElement.style.setProperty('--snackbar-color', this.color)\n }\n\n onCloseToast(toast?: ToastDisplay) {\n this.toastList = this.toastList.filter(item => item.id !== toast?.id)\n this.close.emit(toast)\n }\n\n expireTime(toast: any) {\n const boundRemove = this.removeToast.bind(this, toast)\n setTimeout(boundRemove, 3000)\n }\n\n removeToast(toast: any) {\n this.dismissToasts = this.dismissToasts.filter(t => t.id !== toast.id)\n this.toastList = this.toastList.filter(t => t.id !== toast.id)\n }\n\n}\n","<div style=\"display: flex; gap: .5rem; flex-direction: column;\">\n <ng-container *ngFor=\"let toast of toastList\">\n <div [style.background-color]=\"toast.color\" class=\"inline\">\n <app-toast-ui\n [options]=\"toast\"\n style=\"flex: 1;\"\n (close)=\"onCloseToast(toast)\"\n ></app-toast-ui>\n </div>\n </ng-container>\n</div>\n","import { Component, inject } from '@angular/core';\nimport { ToastMessageDisplayService } from '../services';\nimport { ToastColors, ToastDisplay, VerticalAlignment } from '../models';\nimport { FormBuilder } from '@angular/forms';\n\n@Component({\n selector: 'app-toast-display-demo',\n templateUrl: './toast-demo.component.html',\n styleUrls: ['./toast-demo.component.scss']\n})\nexport class ToastDemoComponent {\n\n random = () => {\n const typedArray = new Uint8Array(1)\n const randomValue = crypto.getRandomValues(typedArray)[0]\n const randomFloat = randomValue / Math.pow(2, 8)\n return randomFloat\n }\n\n randomNumber = (min: number, max: number) => {\n return Math.floor(this.random() * max) + min\n }\n\n fb = inject(FormBuilder)\n toastMessageDisplayService = inject(ToastMessageDisplayService)\n\n type = 'Basic'\n\n position = this.fb.control('top')\n\n icons = [\n 'favorite_border',\n 'dashboard',\n 'event',\n 'paid',\n 'notifications',\n 'movie_filter',\n ]\n\n toastSamples = [\n {\n message: `This is a simple toast message. This is a <span style=\"font-size: 22px\">simple toast message</span>. This is a simple toast message. This is a simple toast message`,\n color: ToastColors.ERROR,\n action: \"Ok\"\n },\n {\n message: 'Sample message',\n color: ToastColors.INFO,\n icon: this.icons[0]\n },\n {\n message: 'Sample message',\n color: ToastColors.WARN,\n icon: this.icons[1]\n },\n {\n message: `This is a simple toast message. This is a <span style=\"font-size: 22px\">simple toast message</span>. This is a simple toast message. This is a simple toast message`,\n color: ToastColors.NOTIFY,\n icon: this.icons[2],\n action: \"Dismiss\"\n },\n {\n message: 'Sample message',\n color: ToastColors.GENERAL,\n action: \"Dismiss\"\n },\n {\n message: `This is a simple toast message. This is a <span style=\"font-size: 22px\">simple toast message</span>. This is a simple toast message. This is a simple toast message`,\n color: ToastColors.SUCCESS,\n action: \"-\"\n },\n ]\n\n pickToastSample?: ToastDisplay\n\n onSelectType(type: string) {\n this.type = type\n }\n\n onBasic(type: string, icon?: string, action?: string) {\n switch (type) {\n case 'ERROR':\n this.presentToast(ToastColors.ERROR, icon, action)\n break;\n case 'INFO':\n this.presentToast(ToastColors.INFO, icon, action)\n break;\n case 'WARN':\n this.presentToast(ToastColors.WARN, icon, action)\n break;\n case 'NOTIFY':\n this.presentToast(ToastColors.NOTIFY, icon, action)\n break;\n case 'GENERAL':\n this.presentToast(ToastColors.GENERAL, icon, action)\n break;\n default:\n this.presentToast(ToastColors.SUCCESS, icon, action)\n break;\n }\n }\n\n presentToast(color: ToastColors, icon?: string, action?: string) {\n\n const options = ToastDisplay.adapt({\n message: `This is a simple toast message. <span style=\"font-size: 22px\">simple toast message</span>. This is a simple toast message. This is a simple toast message`,\n color,\n icon,\n action\n })\n\n const toastPosition = (this.position.value === 'top') ? VerticalAlignment.TOP : VerticalAlignment.BOTTOM\n this.toastMessageDisplayService.toastMessage(options, -1, toastPosition)\n }\n\n onInline() {\n const pick = this.randomNumber(0, this.toastSamples.length-1)\n this.pickToastSample = this.toastSamples[pick]\n }\n\n onClosedToast(toast?: ToastDisplay) {\n console.log(toast)\n }\n\n}\n","<mat-toolbar style=\"display: flex;\">\n <div>Toast Message Demo</div>\n <div style=\"flex:1; text-align: end;\">\n <button\n mat-stroked-button\n [matMenuTriggerFor]=\"menu\"\n matIconPrefix\n >\n {{ type | titlecase }}\n <mat-icon>layers</mat-icon>\n </button>\n </div>\n</mat-toolbar>\n\n<mat-menu #menu=\"matMenu\">\n <button\n mat-menu-item\n (click)=\"onSelectType('basic')\"\n >\n Basic\n </button>\n <button\n mat-menu-item\n (click)=\"onSelectType('icon')\"\n >\n Icon\n </button>\n <button\n mat-menu-item\n (click)=\"onSelectType('action')\"\n >\n Action\n </button>\n</mat-menu>\n\n<div style=\"margin: 1rem;\">\n <span [ngSwitch]=\"type\">\n <div *ngSwitchCase=\"'icon'\">\n <div style=\"display: flex; gap: 1rem; flex-direction: column;\">\n <h3 style=\"flex:1; margin-bottom: 0;\">Toast with Icon</h3>\n <div style=\"display: flex; gap: .5rem;\">\n <button\n mat-stroked-button\n (click)=\"onBasic('SUCCESS', 'favorite_border')\"\n >\n Icon - SUCCESS\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('ERROR', 'dashboard')\"\n >\n Icon - ERROR\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('INFO', 'event')\"\n >\n Icon - INFO\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN', 'paid')\"\n >\n Icon - WARN\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN', 'notifications')\"\n >\n Icon - NOTIFY\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN', 'movie_filter')\"\n >\n Icon - GENERAL\n </button>\n </div>\n </div>\n </div>\n <div *ngSwitchCase=\"'action'\">\n <div style=\"display: flex; gap: 1rem; flex-direction: column;\">\n <h3 style=\"flex:1; margin-bottom: 0;\">Toast with Icon and Action</h3>\n <div style=\"display: flex; gap: .5rem;\">\n <button\n mat-stroked-button\n (click)=\"onBasic('SUCCESS', 'favorite_border', 'Dismiss')\"\n >\n Action - SUCCESS\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('ERROR', 'dashboard', 'Dismiss')\"\n >\n Action - ERROR\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('INFO', 'event', 'Dismiss')\"\n >\n Action - INFO\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN', 'paid', 'Dismiss')\"\n >\n Action - WARN\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('NOTIFY', 'notifications', 'Dismiss')\"\n >\n Action - NOTIFY\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('GENERAL', 'movie_filter', 'Dismiss')\"\n >\n Action - GENERAL\n </button>\n </div>\n </div>\n </div>\n <div *ngSwitchDefault>\n\n <div style=\"display: flex; gap: 1rem; flex-direction: column;\">\n <h3 style=\"flex:1; margin-bottom: 0;\">Basic Toast</h3>\n <div style=\"display: flex; gap: .5rem;\">\n <button\n mat-stroked-button\n (click)=\"onBasic('SUCCESS')\"\n >\n Basic - SUCCESS\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('ERROR')\"\n >\n Basic - ERROR\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('INFO')\"\n >\n Basic - INFO\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN')\"\n >\n Basic - WARN\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('NOTIFY')\"\n >\n Basic - NOTIFY\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('GENERAL')\"\n >\n Basic - GENERAL\n </button>\n </div>\n </div>\n\n </div>\n </span>\n <div style=\"display: flex; margin-top: 1rem;\">\n <mat-radio-group [formControl]=\"position\" style=\"display: flex; gap: 2rem\">\n <mat-radio-button value=\"top\">Top Position</mat-radio-button>\n <mat-radio-button value=\"bottom\">Bottom Position</mat-radio-button>\n </mat-radio-group>\n </div>\n</div>\n\n<div style=\"margin-top: 1rem; margin-bottom: 1rem;\">\n <mat-divider></mat-divider>\n</div>\n\n<div style=\"margin: 1rem;\">\n <button mat-stroked-button (click)=\"onInline()\" style=\"margin-bottom: 2rem;\">\n Add Inline Toast Message\n </button>\n <app-toast-message-display-inline\n [toast]=\"pickToastSample\"\n [duration]=\"5\"\n (close)=\"onClosedToast($event)\"\n ></app-toast-message-display-inline>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { BrowserModule } from '@angular/platform-browser';\n\nimport { MatIconModule } from '@angular/material/icon';\nimport { MAT_SNACK_BAR_DATA, MatSnackBarModule, MatSnackBarRef } from '@angular/material/snack-bar';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatMenuModule } from '@angular/material/menu';\n\nimport { ToastUIComponent } from './toast-ui/toast-ui.component';\nimport { ToastDemoComponent } from './toast-demo/toast-demo.component';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatDividerModule } from '@angular/material/divider';\n\nimport { ToastMessageInlineComponent } from './toast-message-inline/toast-message-inline.component';\nimport { SafeHtmlPipe } from './pipes/safe-html.pipe';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MatIconModule,\n MatSnackBarModule,\n MatButtonModule,\n MatToolbarModule,\n MatMenuModule,\n MatRadioModule,\n MatDividerModule,\n ],\n declarations: [\n ToastUIComponent,\n ToastDemoComponent,\n ToastMessageInlineComponent,\n SafeHtmlPipe,\n ],\n exports: [\n ToastUIComponent,\n ToastDemoComponent,\n ToastMessageInlineComponent,\n ],\n providers: [\n { provide: MAT_SNACK_BAR_DATA, useValue: {} },\n { provide: MatSnackBarRef, useValue: {} },\n SafeHtmlPipe,\n ]\n})\nexport class ToastMessageDisplayModule { }\n","/*\n * Public API Surface of toast-message\n */\n\nexport * from \"./lib/toast-message.module\"\nexport * from \"./lib/toast-ui/toast-ui.component\"\n\nexport * from './lib/services';\nexport * from './lib/models';\n\nexport * from './lib/toast-demo/toast-demo.component';\nexport * from './lib/toast-message-inline/toast-message-inline.component';\n\nexport * from './lib/services/toast-message.service'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ColorConversionService","i4.SafeHtmlPipe","i2.ToastUIComponent","i2","i3","i4","i9.ToastMessageInlineComponent"],"mappings":"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"}
1
+ {"version":3,"file":"toast-message-display.mjs","sources":["../../../projects/toast-message-display/src/lib/models/toast-colors.enum.ts","../../../projects/toast-message-display/src/lib/models/toast-display-model.ts","../../../projects/toast-message-display/src/lib/utils/color-conversion.service.ts","../../../projects/toast-message-display/src/lib/utils/text-color.service.ts","../../../projects/toast-message-display/src/lib/pipes/safe-html.pipe.ts","../../../projects/toast-message-display/src/lib/toast-ui/toast-ui.component.ts","../../../projects/toast-message-display/src/lib/toast-ui/toast-ui.component.html","../../../projects/toast-message-display/src/lib/models/horizontal-alignment.enum.ts","../../../projects/toast-message-display/src/lib/models/vertical-alignment.enum.ts","../../../projects/toast-message-display/src/lib/models/toast-message.model.ts","../../../projects/toast-message-display/src/lib/models/toast-options.model.ts","../../../projects/toast-message-display/src/lib/services/toast-message.service.ts","../../../projects/toast-message-display/src/lib/toast-message-inline/toast-message-inline.component.ts","../../../projects/toast-message-display/src/lib/toast-message-inline/toast-message-inline.component.html","../../../projects/toast-message-display/src/lib/toast-demo/toast-demo.component.ts","../../../projects/toast-message-display/src/lib/toast-demo/toast-demo.component.html","../../../projects/toast-message-display/src/lib/toast-message.module.ts","../../../projects/toast-message-display/src/public-api.ts","../../../projects/toast-message-display/src/toast-message-display.ts"],"sourcesContent":["export enum ToastColors {\n SUCCESS = '#006B31', // green\n ERROR = '#CC0000', // red\n INFO = '#02559F', // grey\n WARN = '#FFC20E', // orange\n NOTIFY = '#080808', // black\n GENERAL = '#f5f5f5', // light\n}\n","import { ToastColors } from \"./toast-colors.enum\";\n\nexport interface ToastDisplayInterface {\n id?: string;\n message: string;\n action?: string;\n color: ToastColors;\n icon?: string;\n}\n\nexport class ToastDisplay implements ToastDisplayInterface {\n\n constructor(\n public id?: string,\n public message = 'Sample message',\n public action?: string,\n public color = ToastColors.INFO,\n public icon?: string,\n ) {}\n\n static adapt(item?: any) {\n return new ToastDisplay(\n (item?.id) ? item.id : this.randomNumbers(8),\n item?.message,\n item?.action,\n item?.color,\n item?.icon,\n );\n }\n\n static randomNumbers(length: number) {\n return this.generateRandom('0123456789', length)\n }\n\n static generateRandom(randomChars: string, length: number) {\n\n var result = ''\n for ( var i = 0; i < length; i++ ) {\n result += randomChars.charAt(Math.floor(Math.random() * randomChars.length))\n }\n return result\n\n }\n\n}\n","import { Injectable } from '@angular/core'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ColorConversionService {\r\n\r\n rgbToHex(rgb: number[]): string {\r\n const [r, g, b] = rgb\r\n const componentToHex = (c: number) => {\r\n const hex = c.toString(16)\r\n return hex.length === 1 ? \"0\" + hex : hex\r\n }\r\n const hexR = componentToHex(r)\r\n const hexG = componentToHex(g)\r\n const hexB = componentToHex(b)\r\n return \"#\" + hexR + hexG + hexB\r\n }\r\n\r\n hexToRgb(hex: string) {\r\n\r\n hex = (hex.length === 3) ? hex + hex : hex\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\r\n\r\n return result ? [\r\n parseInt(result[1], 16),\r\n parseInt(result[2], 16),\r\n parseInt(result[3], 16)\r\n ] : []\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { ColorConversionService } from './color-conversion.service'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TextColorService {\r\n\r\n constructor(\r\n private colorConversionService: ColorConversionService\r\n ) {}\r\n\r\n /**\r\n * Determines the appropriate text color (light or dark) based on the background color.\r\n *\r\n * @param bgColor - The background color to use for the calculation.\r\n * @param lightColor - The light color to use if the background is dark.\r\n * @param darkColor - The dark color to use if the background is light.\r\n * @returns The appropriate text color (light or dark) based on the background color.\r\n */\r\n textColorForBgColor(bgColor: string, lightColor: string, darkColor: string) {\r\n\r\n const UIColors = this.fixColor(bgColor)\r\n\r\n const r = UIColors[0]\r\n const g = UIColors[1]\r\n const b = UIColors[2]\r\n\r\n return ((r*0.299 + g*0.587 + b*0.114) > 149) ? darkColor : lightColor;\r\n\r\n }\r\n\r\n /**\r\n * Determines whether the first color is darker than the second color.\r\n *\r\n * @param color1 - The first color to compare.\r\n * @param color2 - The second color to compare.\r\n * @returns The darker of the two colors.\r\n */\r\n isColorDarker(color1: string, color2: string) {\r\n const newColor1 = this.fixColor(color1);\r\n const newColor2 = this.fixColor(color2);\r\n\r\n const luminance1 = this.calculateLuminance(\r\n newColor1[0],\r\n newColor1[1],\r\n newColor1[2]\r\n );\r\n const luminance2 = this.calculateLuminance(\r\n newColor2[0],\r\n newColor2[1],\r\n newColor2[2]\r\n );\r\n\r\n return luminance1 > luminance2 ? color2 : color1;\r\n }\r\n\r\n calculateLuminance(r: number, g: number, b: number): number {\r\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\r\n }\r\n\r\n /**\r\n * Fixes the provided color string by ensuring it is in a valid hexadecimal format.\r\n * If the input color is a hexadecimal string, it will be normalized to a 6-digit format.\r\n * If the input color is not a hexadecimal string, it will be converted to an RGB array.\r\n *\r\n * @param color - The color string to be fixed.\r\n * @returns An array of RGB values, or the normalized hexadecimal color string.\r\n */\r\n fixColor(color: string) {\r\n let newColor = color;\r\n\r\n if (color.includes(\"#\")) {\r\n newColor = color.slice(1);\r\n newColor =\r\n newColor.length === 3\r\n ? \"#\" +\r\n newColor\r\n .split(\"\")\r\n .map((hex) => hex + hex)\r\n .join(\"\")\r\n : \"#\" + newColor;\r\n } else {\r\n newColor = this.standardize_color(color);\r\n }\r\n\r\n const Reg_Exp = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;\r\n const colorIsHex = Reg_Exp.test(newColor);\r\n\r\n const UIColors = colorIsHex\r\n ? this.colorConversionService.hexToRgb(newColor)\r\n : newColor.match(/\\d+/g)?.map((item) => parseInt(item)) || [];\r\n\r\n return UIColors;\r\n }\r\n\r\n /**\r\n * Converts the color representation of the provided string into HEX value.\r\n *\r\n * @param str - The color string to be standardized - 'whitesmoke'.\r\n * @returns The standardized color string - #DEDEDE.\r\n */\r\n standardize_color(str: string): string {\r\n const ctx = document.createElement(\"canvas\").getContext(\"2d\");\r\n\r\n if (ctx) {\r\n ctx.fillStyle = str;\r\n }\r\n\r\n return ctx?.fillStyle as string;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform, inject } from '@angular/core';\nimport {DomSanitizer} from \"@angular/platform-browser\";\n\n@Pipe({\n name: 'safeHtml',\n})\nexport class SafeHtmlPipe implements PipeTransform {\n\n private sanitizer = inject(DomSanitizer)\n\n transform(html: string) {\n return this.sanitizer.bypassSecurityTrustHtml(html)\n }\n\n}\n","import { Component, EventEmitter, Inject, inject, Input, OnInit, Output, VERSION, ViewEncapsulation } from '@angular/core';\nimport { MAT_SNACK_BAR_DATA, MatSnackBar } from '@angular/material/snack-bar';\n\nimport { ToastDisplay } from '../models/toast-display-model';\nimport { TextColorService } from '../utils';\n\n@Component({\n selector: 'app-toast-ui',\n templateUrl: './toast-ui.component.html',\n styleUrls: ['./toast-ui.component.scss'],\n encapsulation: ViewEncapsulation.None,\n styles: [`\n .mat-mdc-snack-bar-container {\n --mdc-snackbar-container-color: var(--toast-bg-color, #fff);\n --mat-mdc-snack-bar-button-color: var(--toast-text-color, #fff);\n --mdc-snackbar-supporting-text-color: var(--toast-text-color, #000);\n }\n `]\n})\nexport class ToastUIComponent implements OnInit {\n\n ngVersion = parseInt(VERSION.full.split('.')[0], 10)\n\n @Output() close = new EventEmitter<ToastDisplay>();\n\n textColorService = inject(TextColorService);\n private snackBar = inject(MatSnackBar);\n\n @Input() options = ToastDisplay.adapt();\n\n constructor(\n @Inject(MAT_SNACK_BAR_DATA)\n public data: ToastDisplay\n ) {\n this.options = ToastDisplay.adapt(data)\n }\n\n ngOnInit() {\n\n if (this.ngVersion >= 15) {\n\n const hostElement = document.querySelector('.mat-mdc-snack-bar-container')\n\n if (hostElement) {\n hostElement.setAttribute('style', `\n --toast-bg-color: ${this.color};\n --toast-text-color: ${this.textColor};\n `)\n }\n\n } else {\n\n document.documentElement.style.setProperty('--toast-bg-color', this.color);\n document.documentElement.style.setProperty('--toast-text-color', this.textColor);\n\n const hostElement = document.querySelector('.mat-snack-bar-container') as HTMLElement;\n\n if (hostElement) {\n hostElement.style.backgroundColor = this.color;\n hostElement.style.color = this.textColor;\n\n const actionButton = hostElement.querySelector('.mat-button, .mat-snack-bar-action') as HTMLElement;\n if (actionButton) {\n actionButton.style.color = this.textColor;\n }\n }\n\n }\n\n }\n\n get color() {\n return this.options.color || '#2196f3';\n }\n\n get textColor() {\n return this.textColorService.textColorForBgColor(\n this.color,\n '#FFFFFF',\n '#000000'\n );\n }\n\n onCloseToast(options?: ToastDisplay) {\n this.snackBar.dismiss()\n this.close.emit(options)\n }\n}\n","<div\n class=\"toast-grid-container\"\n [class.has-icon]=\"options.icon\"\n [class.has-action]=\"options.action\"\n [style.background-color]=\"(options) ? options.color : ''\"\n>\n <mat-icon\n *ngIf=\"options.icon\"\n class=\"toast-icon\"\n [style.color]=\"textColor\"\n >\n {{ options.icon }}\n </mat-icon>\n\n <div\n class=\"toast-message\"\n [style.color]=\"textColor\"\n [innerHTML]=\"options.message | safeHtml\"\n >\n </div>\n\n <button\n *ngIf=\"options.action\"\n class=\"toast-action-button\"\n mat-button\n (click)=\"onCloseToast(options)\"\n [style.color]=\"textColor\"\n >\n <ng-container *ngIf=\"options.action !== '-'; else CLOSE\">\n {{ options.action }}\n </ng-container>\n <ng-template #CLOSE>\n <mat-icon>close</mat-icon>\n </ng-template>\n\n </button>\n</div>\n","export enum HorizontalAlignment {\n LEFT = 'left',\n RIGHT = 'right',\n CENTER = 'center',\n}\n","export enum VerticalAlignment {\n TOP = 'top',\n BOTTOM = 'bottom',\n}\n","export interface ToastMessageInterface {\n error: string;\n action: string;\n icon: string;\n}\n\nexport class ToastMessage implements ToastMessageInterface {\n constructor(\n public error = '',\n public action = '',\n public icon = 'error',\n ) {}\n\n static adapt(item?: any): ToastMessageInterface {\n return new ToastMessage(\n item?.error,\n item?.action,\n item?.icon,\n )\n\n }\n}\n","import { MatSnackBarVerticalPosition } from \"@angular/material/snack-bar\";\nimport { HorizontalAlignment } from \"./horizontal-alignment.enum\";\nimport { ToastDisplay } from \"./toast-display-model\";\nimport { VerticalAlignment } from \"./vertical-alignment.enum\";\n\nexport interface ToastOptionsInterface {\n duration?: number\n horizontalPosition?: HorizontalAlignment\n verticalPosition?: MatSnackBarVerticalPosition\n data?: ToastDisplay\n}\n\nexport class ToastOptions implements ToastOptionsInterface {\n\n constructor(\n public duration?: number,\n public horizontalPosition = HorizontalAlignment.CENTER,\n public verticalPosition = VerticalAlignment.TOP,\n public data?: ToastDisplay\n ) {}\n\n static adapt(item?: any): ToastOptionsInterface {\n\n if(item?.duration) item.duration = item.duration * 1000\n\n return new ToastOptions(\n item?.duration,\n item?.horizontalPosition,\n item?.verticalPosition,\n item?.data ? ToastDisplay.adapt(item.data) : ToastDisplay.adapt()\n )\n }\n\n}\n","import { inject, Injectable } from '@angular/core';\nimport { MatSnackBar, MatSnackBarRef, MatSnackBarVerticalPosition } from '@angular/material/snack-bar';\nimport { ToastUIComponent } from '../toast-ui/toast-ui.component';\nimport { ToastOptions } from '../models/toast-options.model';\nimport { VerticalAlignment } from '../models/vertical-alignment.enum';\nimport { ToastDisplay } from '../models/toast-display-model';\nimport { take } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToastMessageDisplayService {\n\n private snackBar = inject(MatSnackBar);\n\n private toastQueue: { options: ToastDisplay, duration?: number, vertical?: VerticalAlignment }[] = [];\n private isToastVisible = false;\n\n defaultDuration = 3;\n\n snackBarRef: MatSnackBarRef<any> | undefined;\n\n toastMessage(options = ToastDisplay.adapt(), duration?: number, vertical?: VerticalAlignment) {\n this.toastQueue.push({ options, duration, vertical });\n this.showNextToast();\n }\n\n private showNextToast() {\n\n if (this.isToastVisible || this.toastQueue.length === 0) return\n\n const { options, duration, vertical } = this.toastQueue.shift()!\n\n const vertPosition: MatSnackBarVerticalPosition = (vertical) ? vertical : 'top'\n\n const durationDismiss = (!options.action) ? this.defaultDuration : duration\n\n const displayOptions = ToastOptions.adapt({\n duration: durationDismiss,\n horizontalPosition: 'center',\n verticalPosition: vertPosition,\n data: options,\n })\n\n this.isToastVisible = true;\n this.snackBarRef = this.snackBar.openFromComponent(ToastUIComponent, displayOptions);\n\n if (this.snackBarRef) {\n this.snackBarRef\n .afterDismissed()\n .pipe(take(1))\n .subscribe(() => {\n this.isToastVisible = false;\n this.showNextToast();\n });\n } else {\n console.error('Snackbar reference is undefined. Unable to subscribe to dismissal event.');\n }\n\n }\n}\n","import { Component, EventEmitter, inject, Input, OnInit, Output } from '@angular/core';\nimport { TextColorService } from '../utils';\nimport { ToastDisplay, VerticalAlignment } from '../models';\n\n@Component({\n selector: 'app-toast-message-display-inline',\n templateUrl: './toast-message-inline.component.html',\n styleUrls: ['./toast-message-inline.component.scss']\n})\nexport class ToastMessageInlineComponent implements OnInit {\n\n @Output() close = new EventEmitter<ToastDisplay>();\n\n textColorService = inject(TextColorService)\n\n toastList: ToastDisplay[] = []\n\n dismissToasts: any[] = []\n\n @Input() set toast(value: any) {\n\n if (!value) return\n const toast = ToastDisplay.adapt(value)\n\n if (!toast.action) {\n this.dismissToasts.push(toast)\n this.expireTime(toast)\n }\n\n this.toastList.push(toast)\n\n }\n\n get option() {\n return (this.toastList.length > 0) ? this.toastList[0] : null\n }\n\n @Input() duration = -1\n @Input() position: VerticalAlignment = VerticalAlignment.TOP\n\n get color() {\n return (this.option) ? this.option.color : ''\n }\n\n get textColor() {\n return (this.option) ? this.textColorService.textColorForBgColor(this.option.color, '#FFFFFF', '#000000') : ''\n }\n\n ngOnInit() {\n document.documentElement.style.setProperty('--snackbar-color', this.color)\n }\n\n onCloseToast(toast?: ToastDisplay) {\n this.toastList = this.toastList.filter(item => item.id !== toast?.id)\n this.close.emit(toast)\n }\n\n expireTime(toast: any) {\n const boundRemove = this.removeToast.bind(this, toast)\n setTimeout(boundRemove, 3000)\n }\n\n removeToast(toast: any) {\n this.dismissToasts = this.dismissToasts.filter(t => t.id !== toast.id)\n this.toastList = this.toastList.filter(t => t.id !== toast.id)\n }\n\n}\n","<div style=\"display: flex; gap: .5rem; flex-direction: column;\">\n <ng-container *ngFor=\"let toast of toastList\">\n <div [style.background-color]=\"toast.color\" class=\"inline\">\n <app-toast-ui\n [options]=\"toast\"\n style=\"flex: 1;\"\n (close)=\"onCloseToast(toast)\"\n ></app-toast-ui>\n </div>\n </ng-container>\n</div>\n","import { Component, inject } from '@angular/core';\nimport { ToastColors, ToastDisplay, VerticalAlignment } from '../models';\nimport { FormBuilder } from '@angular/forms';\n\nimport { ToastMessageDisplayService } from '../services/toast-message.service';\n\n@Component({\n selector: 'app-toast-display-demo',\n templateUrl: './toast-demo.component.html',\n styleUrls: ['./toast-demo.component.scss']\n})\nexport class ToastDemoComponent {\n\n random = () => {\n const typedArray = new Uint8Array(1)\n const randomValue = crypto.getRandomValues(typedArray)[0]\n const randomFloat = randomValue / Math.pow(2, 8)\n return randomFloat\n }\n\n randomNumber = (min: number, max: number) => {\n return Math.floor(this.random() * max) + min\n }\n\n fb = inject(FormBuilder)\n toastMessageDisplayService = inject(ToastMessageDisplayService)\n\n type = 'Basic'\n\n position = this.fb.control('top')\n\n icons = [\n 'favorite_border',\n 'dashboard',\n 'event',\n 'paid',\n 'notifications',\n 'movie_filter',\n ]\n\n toastSamples = [\n {\n message: `This is a simple toast message. This is a <span style=\"font-size: 22px\">simple toast message</span>. This is a simple toast message. This is a simple toast message`,\n color: ToastColors.ERROR,\n action: \"Ok\"\n },\n {\n message: 'Sample message',\n color: ToastColors.INFO,\n icon: this.icons[0]\n },\n {\n message: 'Sample message',\n color: ToastColors.WARN,\n icon: this.icons[1]\n },\n {\n message: `This is a simple toast message. This is a <span style=\"font-size: 22px\">simple toast message</span>. This is a simple toast message. This is a simple toast message`,\n color: ToastColors.NOTIFY,\n icon: this.icons[2],\n action: \"Dismiss\"\n },\n {\n message: 'Sample message',\n color: ToastColors.GENERAL,\n action: \"Dismiss\"\n },\n {\n message: `This is a simple toast message. This is a <span style=\"font-size: 22px\">simple toast message</span>. This is a simple toast message. This is a simple toast message`,\n color: ToastColors.SUCCESS,\n action: \"-\"\n },\n ]\n\n pickToastSample?: ToastDisplay\n\n onSelectType(type: string) {\n this.type = type\n }\n\n onBasic(type: string, icon?: string, action?: string) {\n switch (type) {\n case 'ERROR':\n this.presentToast(ToastColors.ERROR, icon, action)\n break;\n case 'INFO':\n this.presentToast(ToastColors.INFO, icon, action)\n break;\n case 'WARN':\n this.presentToast(ToastColors.WARN, icon, action)\n break;\n case 'NOTIFY':\n this.presentToast(ToastColors.NOTIFY, icon, action)\n break;\n case 'GENERAL':\n this.presentToast(ToastColors.GENERAL, icon, action)\n break;\n default:\n this.presentToast(ToastColors.SUCCESS, icon, action)\n break;\n }\n }\n\n presentToast(color: ToastColors, icon?: string, action?: string) {\n\n const options = ToastDisplay.adapt({\n message: `This is a simple toast message. <span style=\"font-size: 22px\">simple toast message</span>. This is a simple toast message. This is a simple toast message`,\n color,\n icon,\n action\n })\n\n const toastPosition = (this.position.value === 'top') ? VerticalAlignment.TOP : VerticalAlignment.BOTTOM\n this.toastMessageDisplayService.toastMessage(options, -1, toastPosition)\n }\n\n onInline() {\n const pick = this.randomNumber(0, this.toastSamples.length-1)\n this.pickToastSample = this.toastSamples[pick]\n }\n\n onClosedToast(toast?: ToastDisplay) {\n console.log(toast)\n }\n\n}\n","<mat-toolbar style=\"display: flex;\">\n <div>Toast Message Demo</div>\n <div style=\"flex:1; text-align: end;\">\n <button\n mat-stroked-button\n [matMenuTriggerFor]=\"menu\"\n matIconPrefix\n >\n {{ type | titlecase }}\n <mat-icon>layers</mat-icon>\n </button>\n </div>\n</mat-toolbar>\n\n<mat-menu #menu=\"matMenu\">\n <button\n mat-menu-item\n (click)=\"onSelectType('basic')\"\n >\n Basic\n </button>\n <button\n mat-menu-item\n (click)=\"onSelectType('icon')\"\n >\n Icon\n </button>\n <button\n mat-menu-item\n (click)=\"onSelectType('action')\"\n >\n Action\n </button>\n</mat-menu>\n\n<div style=\"margin: 1rem;\">\n <span [ngSwitch]=\"type\">\n <div *ngSwitchCase=\"'icon'\">\n <div style=\"display: flex; gap: 1rem; flex-direction: column;\">\n <h3 style=\"flex:1; margin-bottom: 0;\">Toast with Icon</h3>\n <div style=\"display: flex; gap: .5rem;\">\n <button\n mat-stroked-button\n (click)=\"onBasic('SUCCESS', 'favorite_border')\"\n >\n Icon - SUCCESS\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('ERROR', 'dashboard')\"\n >\n Icon - ERROR\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('INFO', 'event')\"\n >\n Icon - INFO\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN', 'paid')\"\n >\n Icon - WARN\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN', 'notifications')\"\n >\n Icon - NOTIFY\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN', 'movie_filter')\"\n >\n Icon - GENERAL\n </button>\n </div>\n </div>\n </div>\n <div *ngSwitchCase=\"'action'\">\n <div style=\"display: flex; gap: 1rem; flex-direction: column;\">\n <h3 style=\"flex:1; margin-bottom: 0;\">Toast with Icon and Action</h3>\n <div style=\"display: flex; gap: .5rem;\">\n <button\n mat-stroked-button\n (click)=\"onBasic('SUCCESS', 'favorite_border', 'Dismiss')\"\n >\n Action - SUCCESS\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('ERROR', 'dashboard', 'Dismiss')\"\n >\n Action - ERROR\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('INFO', 'event', 'Dismiss')\"\n >\n Action - INFO\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN', 'paid', 'Dismiss')\"\n >\n Action - WARN\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('NOTIFY', 'notifications', 'Dismiss')\"\n >\n Action - NOTIFY\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('GENERAL', 'movie_filter', 'Dismiss')\"\n >\n Action - GENERAL\n </button>\n </div>\n </div>\n </div>\n <div *ngSwitchDefault>\n\n <div style=\"display: flex; gap: 1rem; flex-direction: column;\">\n <h3 style=\"flex:1; margin-bottom: 0;\">Basic Toast</h3>\n <div style=\"display: flex; gap: .5rem;\">\n <button\n mat-stroked-button\n (click)=\"onBasic('SUCCESS')\"\n >\n Basic - SUCCESS\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('ERROR')\"\n >\n Basic - ERROR\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('INFO')\"\n >\n Basic - INFO\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN')\"\n >\n Basic - WARN\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('NOTIFY')\"\n >\n Basic - NOTIFY\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('GENERAL')\"\n >\n Basic - GENERAL\n </button>\n </div>\n </div>\n\n </div>\n </span>\n <div style=\"display: flex; margin-top: 1rem;\">\n <mat-radio-group [formControl]=\"position\" style=\"display: flex; gap: 2rem\">\n <mat-radio-button value=\"top\">Top Position</mat-radio-button>\n <mat-radio-button value=\"bottom\">Bottom Position</mat-radio-button>\n </mat-radio-group>\n </div>\n</div>\n\n<div style=\"margin-top: 1rem; margin-bottom: 1rem;\">\n <mat-divider></mat-divider>\n</div>\n\n<div style=\"margin: 1rem;\">\n <button mat-stroked-button (click)=\"onInline()\" style=\"margin-bottom: 2rem;\">\n Add Inline Toast Message\n </button>\n <app-toast-message-display-inline\n [toast]=\"pickToastSample\"\n [duration]=\"5\"\n (close)=\"onClosedToast($event)\"\n ></app-toast-message-display-inline>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { BrowserModule } from '@angular/platform-browser';\n\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatDividerModule } from '@angular/material/divider';\n\nimport { ToastUIComponent } from './toast-ui/toast-ui.component';\nimport { ToastDemoComponent } from './toast-demo/toast-demo.component';\n\nimport { SafeHtmlPipe } from './pipes/safe-html.pipe';\nimport { ToastMessageInlineComponent } from '../public-api';\n\n@NgModule({\n imports: [\n CommonModule,\n BrowserModule,\n ReactiveFormsModule,\n MatIconModule,\n MatSnackBarModule,\n MatButtonModule,\n MatToolbarModule,\n MatMenuModule,\n MatRadioModule,\n MatDividerModule,\n ],\n declarations: [\n SafeHtmlPipe,\n ToastUIComponent,\n ToastDemoComponent,\n ToastMessageInlineComponent,\n ],\n exports: [\n ToastUIComponent,\n ToastDemoComponent,\n ],\n\n})\nexport class ToastMessageDisplayModule { }\n","/*\n * Public API Surface of toast-message\n */\n\nexport * from \"./lib/toast-message.module\"\nexport * from \"./lib/toast-ui/toast-ui.component\"\n\nexport * from './lib/models';\n\nexport * from './lib/toast-demo/toast-demo.component';\nexport * from './lib/toast-message-inline/toast-message-inline.component';\n\nexport * from './lib/services/toast-message.service'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ColorConversionService","i4.SafeHtmlPipe","i2.ToastUIComponent","i2","i3","i4","i9.ToastMessageInlineComponent"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { ToastMessageDisplayService } from '../services';
2
1
  import { ToastColors, ToastDisplay } from '../models';
3
2
  import { FormBuilder } from '@angular/forms';
3
+ import { ToastMessageDisplayService } from '../services/toast-message.service';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class ToastDemoComponent {
6
6
  random: () => number;
@@ -1,19 +1,20 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "./toast-ui/toast-ui.component";
3
- import * as i2 from "./toast-demo/toast-demo.component";
4
- import * as i3 from "./toast-message-inline/toast-message-inline.component";
5
- import * as i4 from "./pipes/safe-html.pipe";
2
+ import * as i1 from "./pipes/safe-html.pipe";
3
+ import * as i2 from "./toast-ui/toast-ui.component";
4
+ import * as i3 from "./toast-demo/toast-demo.component";
5
+ import * as i4 from "./toast-message-inline/toast-message-inline.component";
6
6
  import * as i5 from "@angular/common";
7
- import * as i6 from "@angular/forms";
8
- import * as i7 from "@angular/material/icon";
9
- import * as i8 from "@angular/material/snack-bar";
10
- import * as i9 from "@angular/material/button";
11
- import * as i10 from "@angular/material/toolbar";
12
- import * as i11 from "@angular/material/menu";
13
- import * as i12 from "@angular/material/radio";
14
- import * as i13 from "@angular/material/divider";
7
+ import * as i6 from "@angular/platform-browser";
8
+ import * as i7 from "@angular/forms";
9
+ import * as i8 from "@angular/material/icon";
10
+ import * as i9 from "@angular/material/snack-bar";
11
+ import * as i10 from "@angular/material/button";
12
+ import * as i11 from "@angular/material/toolbar";
13
+ import * as i12 from "@angular/material/menu";
14
+ import * as i13 from "@angular/material/radio";
15
+ import * as i14 from "@angular/material/divider";
15
16
  export declare class ToastMessageDisplayModule {
16
17
  static ɵfac: i0.ɵɵFactoryDeclaration<ToastMessageDisplayModule, never>;
17
- static ɵmod: i0.ɵɵNgModuleDeclaration<ToastMessageDisplayModule, [typeof i1.ToastUIComponent, typeof i2.ToastDemoComponent, typeof i3.ToastMessageInlineComponent, typeof i4.SafeHtmlPipe], [typeof i5.CommonModule, typeof i6.ReactiveFormsModule, typeof i7.MatIconModule, typeof i8.MatSnackBarModule, typeof i9.MatButtonModule, typeof i10.MatToolbarModule, typeof i11.MatMenuModule, typeof i12.MatRadioModule, typeof i13.MatDividerModule], [typeof i1.ToastUIComponent, typeof i2.ToastDemoComponent, typeof i3.ToastMessageInlineComponent]>;
18
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ToastMessageDisplayModule, [typeof i1.SafeHtmlPipe, typeof i2.ToastUIComponent, typeof i3.ToastDemoComponent, typeof i4.ToastMessageInlineComponent], [typeof i5.CommonModule, typeof i6.BrowserModule, typeof i7.ReactiveFormsModule, typeof i8.MatIconModule, typeof i9.MatSnackBarModule, typeof i10.MatButtonModule, typeof i11.MatToolbarModule, typeof i12.MatMenuModule, typeof i13.MatRadioModule, typeof i14.MatDividerModule], [typeof i2.ToastUIComponent, typeof i3.ToastDemoComponent]>;
18
19
  static ɵinj: i0.ɵɵInjectorDeclaration<ToastMessageDisplayModule>;
19
20
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "toast-message-display",
3
- "version": "15.0.10",
3
+ "version": "15.0.13",
4
4
  "homepage": "https://wavecoders.ca",
5
5
  "author": "Mike Bonifacio <wavecoders@gmail.com> (http://wavecoders@gmail.com/)",
6
6
  "description": "This is an Angular Module containing Components/Services using Material",
package/public-api.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  export * from "./lib/toast-message.module";
2
2
  export * from "./lib/toast-ui/toast-ui.component";
3
- export * from './lib/services';
4
3
  export * from './lib/models';
5
4
  export * from './lib/toast-demo/toast-demo.component';
6
5
  export * from './lib/toast-message-inline/toast-message-inline.component';
@@ -1,2 +0,0 @@
1
- export * from "./toast-message.service";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90b2FzdC1tZXNzYWdlLWRpc3BsYXkvc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vdG9hc3QtbWVzc2FnZS5zZXJ2aWNlXCJcbiJdfQ==
@@ -1 +0,0 @@
1
- export * from "./toast-message.service";
Binary file