toast-message-display 1.0.81 → 15.0.4

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,13 +1,24 @@
1
1
  import { ToastColors } from "./toast-colors.enum";
2
2
  export class ToastDisplay {
3
- constructor(message = 'Sample message', action, color = ToastColors.INFO, icon) {
3
+ constructor(id, message = 'Sample message', action, color = ToastColors.INFO, icon) {
4
+ this.id = id;
4
5
  this.message = message;
5
6
  this.action = action;
6
7
  this.color = color;
7
8
  this.icon = icon;
8
9
  }
9
10
  static adapt(item) {
10
- return new ToastDisplay(item?.message, item?.action, item?.color, item?.icon);
11
+ return new ToastDisplay((item?.id) ? item.id : this.randomNumbers(8), item?.message, item?.action, item?.color, item?.icon);
12
+ }
13
+ static randomNumbers(length) {
14
+ return this.generateRandom('0123456789', length);
15
+ }
16
+ static generateRandom(randomChars, length) {
17
+ var result = '';
18
+ for (var i = 0; i < length; i++) {
19
+ result += randomChars.charAt(Math.floor(Math.random() * randomChars.length));
20
+ }
21
+ return result;
11
22
  }
12
23
  }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtZGlzcGxheS1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RvYXN0LW1lc3NhZ2UtZGlzcGxheS9zcmMvbGliL21vZGVscy90b2FzdC1kaXNwbGF5LW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVNsRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUNTLFVBQVUsZ0JBQWdCLEVBQzFCLE1BQWUsRUFDZixRQUFRLFdBQVcsQ0FBQyxJQUFJLEVBQ3hCLElBQWE7UUFIYixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUMxQixXQUFNLEdBQU4sTUFBTSxDQUFTO1FBQ2YsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDeEIsU0FBSSxHQUFKLElBQUksQ0FBUztJQUNuQixDQUFDO0lBRUosTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFVO1FBQ3JCLE9BQU8sSUFBSSxZQUFZLENBQ3JCLElBQUksRUFBRSxPQUFPLEVBQ2IsSUFBSSxFQUFFLE1BQU0sRUFDWixJQUFJLEVBQUUsS0FBSyxFQUNYLElBQUksRUFBRSxJQUFJLENBQ1gsQ0FBQztJQUNKLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRvYXN0Q29sb3JzIH0gZnJvbSBcIi4vdG9hc3QtY29sb3JzLmVudW1cIjtcblxuZXhwb3J0IGludGVyZmFjZSBUb2FzdERpc3BsYXlJbnRlcmZhY2Uge1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIGFjdGlvbj86IHN0cmluZztcbiAgY29sb3I6IFRvYXN0Q29sb3JzO1xuICBpY29uPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjbGFzcyBUb2FzdERpc3BsYXkgaW1wbGVtZW50cyBUb2FzdERpc3BsYXlJbnRlcmZhY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbWVzc2FnZSA9ICdTYW1wbGUgbWVzc2FnZScsXG4gICAgcHVibGljIGFjdGlvbj86IHN0cmluZyxcbiAgICBwdWJsaWMgY29sb3IgPSBUb2FzdENvbG9ycy5JTkZPLFxuICAgIHB1YmxpYyBpY29uPzogc3RyaW5nLFxuICApIHt9XG5cbiAgc3RhdGljIGFkYXB0KGl0ZW0/OiBhbnkpOiBUb2FzdERpc3BsYXlJbnRlcmZhY2Uge1xuICAgIHJldHVybiBuZXcgVG9hc3REaXNwbGF5KFxuICAgICAgaXRlbT8ubWVzc2FnZSxcbiAgICAgIGl0ZW0/LmFjdGlvbixcbiAgICAgIGl0ZW0/LmNvbG9yLFxuICAgICAgaXRlbT8uaWNvbixcbiAgICApO1xuICB9XG5cbn1cbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtZGlzcGxheS1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RvYXN0LW1lc3NhZ2UtZGlzcGxheS9zcmMvbGliL21vZGVscy90b2FzdC1kaXNwbGF5LW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVVsRCxNQUFNLE9BQU8sWUFBWTtJQUV2QixZQUNTLEVBQVcsRUFDWCxVQUFVLGdCQUFnQixFQUMxQixNQUFlLEVBQ2YsUUFBUSxXQUFXLENBQUMsSUFBSSxFQUN4QixJQUFhO1FBSmIsT0FBRSxHQUFGLEVBQUUsQ0FBUztRQUNYLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQVM7UUFDZixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixTQUFJLEdBQUosSUFBSSxDQUFTO0lBQ25CLENBQUM7SUFFSixNQUFNLENBQUMsS0FBSyxDQUFDLElBQVU7UUFDckIsT0FBTyxJQUFJLFlBQVksQ0FDckIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQzVDLElBQUksRUFBRSxPQUFPLEVBQ2IsSUFBSSxFQUFFLE1BQU0sRUFDWixJQUFJLEVBQUUsS0FBSyxFQUNYLElBQUksRUFBRSxJQUFJLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQWM7UUFDakMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUNsRCxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxXQUFtQixFQUFFLE1BQWM7UUFFdkQsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFBO1FBQ2YsS0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRztZQUMvQixNQUFNLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtTQUMvRTtRQUNELE9BQU8sTUFBTSxDQUFBO0lBRWYsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVG9hc3RDb2xvcnMgfSBmcm9tIFwiLi90b2FzdC1jb2xvcnMuZW51bVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRvYXN0RGlzcGxheUludGVyZmFjZSB7XG4gIGlkPzogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIGFjdGlvbj86IHN0cmluZztcbiAgY29sb3I6IFRvYXN0Q29sb3JzO1xuICBpY29uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgVG9hc3REaXNwbGF5IGltcGxlbWVudHMgVG9hc3REaXNwbGF5SW50ZXJmYWNlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgaWQ/OiBzdHJpbmcsXG4gICAgcHVibGljIG1lc3NhZ2UgPSAnU2FtcGxlIG1lc3NhZ2UnLFxuICAgIHB1YmxpYyBhY3Rpb24/OiBzdHJpbmcsXG4gICAgcHVibGljIGNvbG9yID0gVG9hc3RDb2xvcnMuSU5GTyxcbiAgICBwdWJsaWMgaWNvbj86IHN0cmluZyxcbiAgKSB7fVxuXG4gIHN0YXRpYyBhZGFwdChpdGVtPzogYW55KSB7XG4gICAgcmV0dXJuIG5ldyBUb2FzdERpc3BsYXkoXG4gICAgICAoaXRlbT8uaWQpID8gaXRlbS5pZCA6IHRoaXMucmFuZG9tTnVtYmVycyg4KSxcbiAgICAgIGl0ZW0/Lm1lc3NhZ2UsXG4gICAgICBpdGVtPy5hY3Rpb24sXG4gICAgICBpdGVtPy5jb2xvcixcbiAgICAgIGl0ZW0/Lmljb24sXG4gICAgKTtcbiAgfVxuXG4gIHN0YXRpYyByYW5kb21OdW1iZXJzKGxlbmd0aDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVSYW5kb20oJzAxMjM0NTY3ODknLCBsZW5ndGgpXG4gIH1cblxuICBzdGF0aWMgZ2VuZXJhdGVSYW5kb20ocmFuZG9tQ2hhcnM6IHN0cmluZywgbGVuZ3RoOiBudW1iZXIpIHtcblxuICAgIHZhciByZXN1bHQgPSAnJ1xuICAgIGZvciAoIHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrICkge1xuICAgICAgICByZXN1bHQgKz0gcmFuZG9tQ2hhcnMuY2hhckF0KE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIHJhbmRvbUNoYXJzLmxlbmd0aCkpXG4gICAgfVxuICAgIHJldHVybiByZXN1bHRcblxuICB9XG5cbn1cbiJdfQ==
@@ -14,4 +14,4 @@ export class ToastOptions {
14
14
  return new ToastOptions(item?.duration, item?.horizontalPosition, item?.verticalPosition, item?.data ? ToastDisplay.adapt(item.data) : ToastDisplay.adapt());
15
15
  }
16
16
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Qtb3B0aW9ucy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RvYXN0LW1lc3NhZ2UtZGlzcGxheS9zcmMvbGliL21vZGVscy90b2FzdC1vcHRpb25zLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVM5RCxNQUFNLE9BQU8sWUFBWTtJQUV2QixZQUNTLFFBQWlCLEVBQ2pCLHFCQUFxQixtQkFBbUIsQ0FBQyxNQUFNLEVBQy9DLG1CQUFtQixpQkFBaUIsQ0FBQyxHQUFHLEVBQ3hDLElBQW1CO1FBSG5CLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUE2QjtRQUMvQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO1FBQ3hDLFNBQUksR0FBSixJQUFJLENBQWU7SUFDekIsQ0FBQztJQUVKLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBVTtRQUVyQixJQUFHLElBQUksRUFBRSxRQUFRO1lBQUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQTtRQUV2RCxPQUFPLElBQUksWUFBWSxDQUNyQixJQUFJLEVBQUUsUUFBUSxFQUNkLElBQUksRUFBRSxrQkFBa0IsRUFDeEIsSUFBSSxFQUFFLGdCQUFnQixFQUN0QixJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUNsRSxDQUFBO0lBQ0gsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSG9yaXpvbnRhbEFsaWdubWVudCB9IGZyb20gXCIuL2hvcml6b250YWwtYWxpZ25tZW50LmVudW1cIjtcbmltcG9ydCB7IFRvYXN0RGlzcGxheSB9IGZyb20gXCIuL3RvYXN0LWRpc3BsYXktbW9kZWxcIjtcbmltcG9ydCB7IFZlcnRpY2FsQWxpZ25tZW50IH0gZnJvbSBcIi4vdmVydGljYWwtYWxpZ25tZW50LmVudW1cIjtcblxuZXhwb3J0IGludGVyZmFjZSBUb2FzdE9wdGlvbnNJbnRlcmZhY2Uge1xuICBkdXJhdGlvbj86IG51bWJlclxuICBob3Jpem9udGFsUG9zaXRpb24/OiBIb3Jpem9udGFsQWxpZ25tZW50XG4gIHZlcnRpY2FsUG9zaXRpb24/OiBWZXJ0aWNhbEFsaWdubWVudFxuICBkYXRhPzogVG9hc3REaXNwbGF5XG59XG5cbmV4cG9ydCBjbGFzcyBUb2FzdE9wdGlvbnMgaW1wbGVtZW50cyBUb2FzdE9wdGlvbnNJbnRlcmZhY2Uge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkdXJhdGlvbj86IG51bWJlcixcbiAgICBwdWJsaWMgaG9yaXpvbnRhbFBvc2l0aW9uID0gSG9yaXpvbnRhbEFsaWdubWVudC5DRU5URVIsXG4gICAgcHVibGljIHZlcnRpY2FsUG9zaXRpb24gPSBWZXJ0aWNhbEFsaWdubWVudC5UT1AsXG4gICAgcHVibGljIGRhdGE/OiBUb2FzdERpc3BsYXlcbiAgKSB7fVxuXG4gIHN0YXRpYyBhZGFwdChpdGVtPzogYW55KTogVG9hc3RPcHRpb25zSW50ZXJmYWNlIHtcblxuICAgIGlmKGl0ZW0/LmR1cmF0aW9uKSBpdGVtLmR1cmF0aW9uID0gaXRlbS5kdXJhdGlvbiAqIDEwMDBcblxuICAgIHJldHVybiBuZXcgVG9hc3RPcHRpb25zKFxuICAgICAgaXRlbT8uZHVyYXRpb24sXG4gICAgICBpdGVtPy5ob3Jpem9udGFsUG9zaXRpb24sXG4gICAgICBpdGVtPy52ZXJ0aWNhbFBvc2l0aW9uLFxuICAgICAgaXRlbT8uZGF0YSA/IFRvYXN0RGlzcGxheS5hZGFwdChpdGVtLmRhdGEpIDogVG9hc3REaXNwbGF5LmFkYXB0KClcbiAgICApXG4gIH1cblxufVxuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Qtb3B0aW9ucy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RvYXN0LW1lc3NhZ2UtZGlzcGxheS9zcmMvbGliL21vZGVscy90b2FzdC1vcHRpb25zLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVM5RCxNQUFNLE9BQU8sWUFBWTtJQUV2QixZQUNTLFFBQWlCLEVBQ2pCLHFCQUFxQixtQkFBbUIsQ0FBQyxNQUFNLEVBQy9DLG1CQUFtQixpQkFBaUIsQ0FBQyxHQUFHLEVBQ3hDLElBQW1CO1FBSG5CLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUE2QjtRQUMvQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO1FBQ3hDLFNBQUksR0FBSixJQUFJLENBQWU7SUFDekIsQ0FBQztJQUVKLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBVTtRQUVyQixJQUFHLElBQUksRUFBRSxRQUFRO1lBQUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQTtRQUV2RCxPQUFPLElBQUksWUFBWSxDQUNyQixJQUFJLEVBQUUsUUFBUSxFQUNkLElBQUksRUFBRSxrQkFBa0IsRUFDeEIsSUFBSSxFQUFFLGdCQUFnQixFQUN0QixJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUNsRSxDQUFBO0lBQ0gsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWF0U25hY2tCYXJWZXJ0aWNhbFBvc2l0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhclwiO1xuaW1wb3J0IHsgSG9yaXpvbnRhbEFsaWdubWVudCB9IGZyb20gXCIuL2hvcml6b250YWwtYWxpZ25tZW50LmVudW1cIjtcbmltcG9ydCB7IFRvYXN0RGlzcGxheSB9IGZyb20gXCIuL3RvYXN0LWRpc3BsYXktbW9kZWxcIjtcbmltcG9ydCB7IFZlcnRpY2FsQWxpZ25tZW50IH0gZnJvbSBcIi4vdmVydGljYWwtYWxpZ25tZW50LmVudW1cIjtcblxuZXhwb3J0IGludGVyZmFjZSBUb2FzdE9wdGlvbnNJbnRlcmZhY2Uge1xuICBkdXJhdGlvbj86IG51bWJlclxuICBob3Jpem9udGFsUG9zaXRpb24/OiBIb3Jpem9udGFsQWxpZ25tZW50XG4gIHZlcnRpY2FsUG9zaXRpb24/OiBNYXRTbmFja0JhclZlcnRpY2FsUG9zaXRpb25cbiAgZGF0YT86IFRvYXN0RGlzcGxheVxufVxuXG5leHBvcnQgY2xhc3MgVG9hc3RPcHRpb25zIGltcGxlbWVudHMgVG9hc3RPcHRpb25zSW50ZXJmYWNlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZHVyYXRpb24/OiBudW1iZXIsXG4gICAgcHVibGljIGhvcml6b250YWxQb3NpdGlvbiA9IEhvcml6b250YWxBbGlnbm1lbnQuQ0VOVEVSLFxuICAgIHB1YmxpYyB2ZXJ0aWNhbFBvc2l0aW9uID0gVmVydGljYWxBbGlnbm1lbnQuVE9QLFxuICAgIHB1YmxpYyBkYXRhPzogVG9hc3REaXNwbGF5XG4gICkge31cblxuICBzdGF0aWMgYWRhcHQoaXRlbT86IGFueSk6IFRvYXN0T3B0aW9uc0ludGVyZmFjZSB7XG5cbiAgICBpZihpdGVtPy5kdXJhdGlvbikgaXRlbS5kdXJhdGlvbiA9IGl0ZW0uZHVyYXRpb24gKiAxMDAwXG5cbiAgICByZXR1cm4gbmV3IFRvYXN0T3B0aW9ucyhcbiAgICAgIGl0ZW0/LmR1cmF0aW9uLFxuICAgICAgaXRlbT8uaG9yaXpvbnRhbFBvc2l0aW9uLFxuICAgICAgaXRlbT8udmVydGljYWxQb3NpdGlvbixcbiAgICAgIGl0ZW0/LmRhdGEgPyBUb2FzdERpc3BsYXkuYWRhcHQoaXRlbS5kYXRhKSA6IFRvYXN0RGlzcGxheS5hZGFwdCgpXG4gICAgKVxuICB9XG5cbn1cbiJdfQ==
@@ -5,7 +5,7 @@ import { ToastOptions } from '../models/toast-options.model';
5
5
  import { ToastDisplay } from '../models/toast-display-model';
6
6
  import { take } from 'rxjs/operators';
7
7
  import * as i0 from "@angular/core";
8
- export class ToastMessageDisplayService {
8
+ export class ToastMessageService {
9
9
  constructor() {
10
10
  this.snackBar = inject(MatSnackBar);
11
11
  this.toastQueue = [];
@@ -20,12 +20,13 @@ export class ToastMessageDisplayService {
20
20
  if (this.isToastVisible || this.toastQueue.length === 0)
21
21
  return;
22
22
  const { options, duration, vertical } = this.toastQueue.shift();
23
+ const vertPosition = (vertical) ? vertical : 'top';
23
24
  const durationDismiss = (!options.action) ? this.defaultDuration : duration;
24
25
  const displayOptions = ToastOptions.adapt({
25
26
  duration: durationDismiss,
26
27
  horizontalPosition: 'center',
27
- verticalPosition: vertical,
28
- data: options
28
+ verticalPosition: vertPosition,
29
+ data: options,
29
30
  });
30
31
  this.isToastVisible = true;
31
32
  this.snackBarRef = this.snackBar.openFromComponent(ToastUIComponent, displayOptions);
@@ -42,13 +43,13 @@ export class ToastMessageDisplayService {
42
43
  console.error('Snackbar reference is undefined. Unable to subscribe to dismissal event.');
43
44
  }
44
45
  }
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageDisplayService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
46
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageDisplayService, providedIn: 'root' }); }
46
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
47
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageService, providedIn: 'root' }); }
47
48
  }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageDisplayService, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageService, decorators: [{
49
50
  type: Injectable,
50
51
  args: [{
51
52
  providedIn: 'root'
52
53
  }]
53
54
  }] });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtbWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9hc3QtbWVzc2FnZS1kaXNwbGF5L3NyYy9saWIvc2VydmljZXMvdG9hc3QtbWVzc2FnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQWtCLE1BQU0sNkJBQTZCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBS3RDLE1BQU0sT0FBTywwQkFBMEI7SUFIdkM7UUFLVSxhQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRS9CLGVBQVUsR0FBaUYsRUFBRSxDQUFDO1FBQzlGLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRS9CLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO0tBd0NyQjtJQXBDQyxZQUFZLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQyxLQUFLLEVBQUUsRUFBRSxRQUFpQixFQUFFLFFBQTRCO1FBQzFGLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU8sYUFBYTtRQUVuQixJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUFFLE9BQU07UUFFL0QsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUcsQ0FBQTtRQUVoRSxNQUFNLGVBQWUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUE7UUFFM0UsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztZQUN4QyxRQUFRLEVBQUUsZUFBZTtZQUN6QixrQkFBa0IsRUFBRSxRQUFRO1lBQzVCLGdCQUFnQixFQUFFLFFBQVE7WUFDMUIsSUFBSSxFQUFFLE9BQU87U0FDZCxDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFFckYsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxXQUFXO2lCQUNiLGNBQWMsRUFBRTtpQkFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDYixTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO2dCQUM1QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsQ0FBQyxDQUFDLENBQUM7U0FDTjthQUFNO1lBQ0wsT0FBTyxDQUFDLEtBQUssQ0FBQywwRUFBMEUsQ0FBQyxDQUFDO1NBQzNGO0lBRUgsQ0FBQzsrR0E5Q1UsMEJBQTBCO21IQUExQiwwQkFBMEIsY0FGekIsTUFBTTs7NEZBRVAsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIsIE1hdFNuYWNrQmFyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IFRvYXN0VUlDb21wb25lbnQgfSBmcm9tICcuLi90b2FzdC11aS90b2FzdC11aS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9hc3RPcHRpb25zIH0gZnJvbSAnLi4vbW9kZWxzL3RvYXN0LW9wdGlvbnMubW9kZWwnO1xuaW1wb3J0IHsgVmVydGljYWxBbGlnbm1lbnQgfSBmcm9tICcuLi9tb2RlbHMvdmVydGljYWwtYWxpZ25tZW50LmVudW0nO1xuaW1wb3J0IHsgVG9hc3REaXNwbGF5IH0gZnJvbSAnLi4vbW9kZWxzL3RvYXN0LWRpc3BsYXktbW9kZWwnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVG9hc3RNZXNzYWdlRGlzcGxheVNlcnZpY2Uge1xuXG4gIHByaXZhdGUgc25hY2tCYXIgPSBpbmplY3QoTWF0U25hY2tCYXIpO1xuXG4gIHByaXZhdGUgdG9hc3RRdWV1ZTogeyBvcHRpb25zOiBUb2FzdERpc3BsYXksIGR1cmF0aW9uPzogbnVtYmVyLCB2ZXJ0aWNhbD86IFZlcnRpY2FsQWxpZ25tZW50IH1bXSA9IFtdO1xuICBwcml2YXRlIGlzVG9hc3RWaXNpYmxlID0gZmFsc2U7XG5cbiAgZGVmYXVsdER1cmF0aW9uID0gMztcblxuICBzbmFja0JhclJlZjogTWF0U25hY2tCYXJSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICB0b2FzdE1lc3NhZ2Uob3B0aW9ucyA9IFRvYXN0RGlzcGxheS5hZGFwdCgpLCBkdXJhdGlvbj86IG51bWJlciwgdmVydGljYWw/OiBWZXJ0aWNhbEFsaWdubWVudCkge1xuICAgIHRoaXMudG9hc3RRdWV1ZS5wdXNoKHsgb3B0aW9ucywgZHVyYXRpb24sIHZlcnRpY2FsIH0pO1xuICAgIHRoaXMuc2hvd05leHRUb2FzdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93TmV4dFRvYXN0KCkge1xuXG4gICAgaWYgKHRoaXMuaXNUb2FzdFZpc2libGUgfHwgdGhpcy50b2FzdFF1ZXVlLmxlbmd0aCA9PT0gMCkgcmV0dXJuXG5cbiAgICBjb25zdCB7IG9wdGlvbnMsIGR1cmF0aW9uLCB2ZXJ0aWNhbCB9ID0gdGhpcy50b2FzdFF1ZXVlLnNoaWZ0KCkhXG5cbiAgICBjb25zdCBkdXJhdGlvbkRpc21pc3MgPSAoIW9wdGlvbnMuYWN0aW9uKSA/IHRoaXMuZGVmYXVsdER1cmF0aW9uIDogZHVyYXRpb25cblxuICAgIGNvbnN0IGRpc3BsYXlPcHRpb25zID0gVG9hc3RPcHRpb25zLmFkYXB0KHtcbiAgICAgIGR1cmF0aW9uOiBkdXJhdGlvbkRpc21pc3MsXG4gICAgICBob3Jpem9udGFsUG9zaXRpb246ICdjZW50ZXInLFxuICAgICAgdmVydGljYWxQb3NpdGlvbjogdmVydGljYWwsXG4gICAgICBkYXRhOiBvcHRpb25zXG4gICAgfSlcblxuICAgIHRoaXMuaXNUb2FzdFZpc2libGUgPSB0cnVlO1xuICAgIHRoaXMuc25hY2tCYXJSZWYgPSB0aGlzLnNuYWNrQmFyLm9wZW5Gcm9tQ29tcG9uZW50KFRvYXN0VUlDb21wb25lbnQsIGRpc3BsYXlPcHRpb25zKTtcblxuICAgIGlmICh0aGlzLnNuYWNrQmFyUmVmKSB7XG4gICAgICB0aGlzLnNuYWNrQmFyUmVmXG4gICAgICAgIC5hZnRlckRpc21pc3NlZCgpXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNUb2FzdFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnNob3dOZXh0VG9hc3QoKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1NuYWNrYmFyIHJlZmVyZW5jZSBpcyB1bmRlZmluZWQuIFVuYWJsZSB0byBzdWJzY3JpYmUgdG8gZGlzbWlzc2FsIGV2ZW50LicpO1xuICAgIH1cblxuICB9XG59XG4iXX0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtbWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9hc3QtbWVzc2FnZS1kaXNwbGF5L3NyYy9saWIvc2VydmljZXMvdG9hc3QtbWVzc2FnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQStDLE1BQU0sNkJBQTZCLENBQUM7QUFDdkcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBS3RDLE1BQU0sT0FBTyxtQkFBbUI7SUFIaEM7UUFLVSxhQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRS9CLGVBQVUsR0FBaUYsRUFBRSxDQUFDO1FBQzlGLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRS9CLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO0tBMENyQjtJQXRDQyxZQUFZLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQyxLQUFLLEVBQUUsRUFBRSxRQUFpQixFQUFFLFFBQTRCO1FBQzFGLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU8sYUFBYTtRQUVuQixJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUFFLE9BQU07UUFFL0QsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUcsQ0FBQTtRQUVoRSxNQUFNLFlBQVksR0FBZ0MsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7UUFFL0UsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFBO1FBRTNFLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDeEMsUUFBUSxFQUFFLGVBQWU7WUFDekIsa0JBQWtCLEVBQUUsUUFBUTtZQUM1QixnQkFBZ0IsRUFBRSxZQUFZO1lBQzlCLElBQUksRUFBRSxPQUFPO1NBQ2QsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBRXJGLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLENBQUMsV0FBVztpQkFDYixjQUFjLEVBQUU7aUJBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2IsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztnQkFDNUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUFDO1NBQ047YUFBTTtZQUNMLE9BQU8sQ0FBQyxLQUFLLENBQUMsMEVBQTBFLENBQUMsQ0FBQztTQUMzRjtJQUVILENBQUM7K0dBaERVLG1CQUFtQjttSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyLCBNYXRTbmFja0JhclJlZiwgTWF0U25hY2tCYXJWZXJ0aWNhbFBvc2l0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IFRvYXN0VUlDb21wb25lbnQgfSBmcm9tICcuLi90b2FzdC11aS90b2FzdC11aS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9hc3RPcHRpb25zIH0gZnJvbSAnLi4vbW9kZWxzL3RvYXN0LW9wdGlvbnMubW9kZWwnO1xuaW1wb3J0IHsgVmVydGljYWxBbGlnbm1lbnQgfSBmcm9tICcuLi9tb2RlbHMvdmVydGljYWwtYWxpZ25tZW50LmVudW0nO1xuaW1wb3J0IHsgVG9hc3REaXNwbGF5IH0gZnJvbSAnLi4vbW9kZWxzL3RvYXN0LWRpc3BsYXktbW9kZWwnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVG9hc3RNZXNzYWdlU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBzbmFja0JhciA9IGluamVjdChNYXRTbmFja0Jhcik7XG5cbiAgcHJpdmF0ZSB0b2FzdFF1ZXVlOiB7IG9wdGlvbnM6IFRvYXN0RGlzcGxheSwgZHVyYXRpb24/OiBudW1iZXIsIHZlcnRpY2FsPzogVmVydGljYWxBbGlnbm1lbnQgfVtdID0gW107XG4gIHByaXZhdGUgaXNUb2FzdFZpc2libGUgPSBmYWxzZTtcblxuICBkZWZhdWx0RHVyYXRpb24gPSAzO1xuXG4gIHNuYWNrQmFyUmVmOiBNYXRTbmFja0JhclJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gIHRvYXN0TWVzc2FnZShvcHRpb25zID0gVG9hc3REaXNwbGF5LmFkYXB0KCksIGR1cmF0aW9uPzogbnVtYmVyLCB2ZXJ0aWNhbD86IFZlcnRpY2FsQWxpZ25tZW50KSB7XG4gICAgdGhpcy50b2FzdFF1ZXVlLnB1c2goeyBvcHRpb25zLCBkdXJhdGlvbiwgdmVydGljYWwgfSk7XG4gICAgdGhpcy5zaG93TmV4dFRvYXN0KCk7XG4gIH1cblxuICBwcml2YXRlIHNob3dOZXh0VG9hc3QoKSB7XG5cbiAgICBpZiAodGhpcy5pc1RvYXN0VmlzaWJsZSB8fCB0aGlzLnRvYXN0UXVldWUubGVuZ3RoID09PSAwKSByZXR1cm5cblxuICAgIGNvbnN0IHsgb3B0aW9ucywgZHVyYXRpb24sIHZlcnRpY2FsIH0gPSB0aGlzLnRvYXN0UXVldWUuc2hpZnQoKSFcblxuICAgIGNvbnN0IHZlcnRQb3NpdGlvbjogTWF0U25hY2tCYXJWZXJ0aWNhbFBvc2l0aW9uID0gKHZlcnRpY2FsKSA/IHZlcnRpY2FsIDogJ3RvcCdcblxuICAgIGNvbnN0IGR1cmF0aW9uRGlzbWlzcyA9ICghb3B0aW9ucy5hY3Rpb24pID8gdGhpcy5kZWZhdWx0RHVyYXRpb24gOiBkdXJhdGlvblxuXG4gICAgY29uc3QgZGlzcGxheU9wdGlvbnMgPSBUb2FzdE9wdGlvbnMuYWRhcHQoe1xuICAgICAgZHVyYXRpb246IGR1cmF0aW9uRGlzbWlzcyxcbiAgICAgIGhvcml6b250YWxQb3NpdGlvbjogJ2NlbnRlcicsXG4gICAgICB2ZXJ0aWNhbFBvc2l0aW9uOiB2ZXJ0UG9zaXRpb24sXG4gICAgICBkYXRhOiBvcHRpb25zLFxuICAgIH0pXG5cbiAgICB0aGlzLmlzVG9hc3RWaXNpYmxlID0gdHJ1ZTtcbiAgICB0aGlzLnNuYWNrQmFyUmVmID0gdGhpcy5zbmFja0Jhci5vcGVuRnJvbUNvbXBvbmVudChUb2FzdFVJQ29tcG9uZW50LCBkaXNwbGF5T3B0aW9ucyk7XG5cbiAgICBpZiAodGhpcy5zbmFja0JhclJlZikge1xuICAgICAgdGhpcy5zbmFja0JhclJlZlxuICAgICAgICAuYWZ0ZXJEaXNtaXNzZWQoKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzVG9hc3RWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5zaG93TmV4dFRvYXN0KCk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdTbmFja2JhciByZWZlcmVuY2UgaXMgdW5kZWZpbmVkLiBVbmFibGUgdG8gc3Vic2NyaWJlIHRvIGRpc21pc3NhbCBldmVudC4nKTtcbiAgICB9XG5cbiAgfVxufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import { Component, inject } from '@angular/core';
2
- import { ToastMessageDisplayService } from '../services';
2
+ import { ToastMessageService } from '../services';
3
3
  import { ToastColors, ToastDisplay, VerticalAlignment } from '../models';
4
4
  import { FormBuilder } from '@angular/forms';
5
5
  import * as i0 from "@angular/core";
@@ -10,12 +10,64 @@ import * as i4 from "@angular/material/button";
10
10
  import * as i5 from "@angular/material/toolbar";
11
11
  import * as i6 from "@angular/material/menu";
12
12
  import * as i7 from "@angular/material/radio";
13
+ import * as i8 from "@angular/material/divider";
14
+ import * as i9 from "../toast-message-inline/toast-message-inline.component";
13
15
  export class ToastDemoComponent {
14
16
  constructor() {
17
+ this.random = () => {
18
+ const typedArray = new Uint8Array(1);
19
+ const randomValue = crypto.getRandomValues(typedArray)[0];
20
+ const randomFloat = randomValue / Math.pow(2, 8);
21
+ return randomFloat;
22
+ };
23
+ this.randomNumber = (min, max) => {
24
+ return Math.floor(this.random() * max) + min;
25
+ };
15
26
  this.fb = inject(FormBuilder);
16
- this.toastMessageDisplayService = inject(ToastMessageDisplayService);
27
+ this.toastMessageService = inject(ToastMessageService);
17
28
  this.type = 'Basic';
18
29
  this.position = this.fb.control('top');
30
+ this.icons = [
31
+ 'favorite_border',
32
+ 'dashboard',
33
+ 'event',
34
+ 'paid',
35
+ 'notifications',
36
+ 'movie_filter',
37
+ ];
38
+ this.toastSamples = [
39
+ {
40
+ message: "This is a simple toast message. This is a simple toast message. This is a simple toast message. This is a simple toast message",
41
+ color: ToastColors.ERROR,
42
+ action: "Ok"
43
+ },
44
+ {
45
+ message: 'Sample message',
46
+ color: ToastColors.INFO,
47
+ icon: this.icons[0]
48
+ },
49
+ {
50
+ message: 'Sample message',
51
+ color: ToastColors.WARN,
52
+ icon: this.icons[1]
53
+ },
54
+ {
55
+ message: "This is a simple toast message. This is a simple toast message. This is a simple toast message. This is a simple toast message",
56
+ color: ToastColors.NOTIFY,
57
+ icon: this.icons[2],
58
+ action: "Dismiss"
59
+ },
60
+ {
61
+ message: 'Sample message',
62
+ color: ToastColors.GENERAL,
63
+ action: "Dismiss"
64
+ },
65
+ {
66
+ message: "This is a simple toast message. This is a simple toast message. This is a simple toast message. This is a simple toast message",
67
+ color: ToastColors.SUCCESS,
68
+ action: "-"
69
+ },
70
+ ];
19
71
  }
20
72
  onSelectType(type) {
21
73
  this.type = type;
@@ -44,19 +96,26 @@ export class ToastDemoComponent {
44
96
  }
45
97
  presentToast(color, icon, action) {
46
98
  const options = ToastDisplay.adapt({
47
- message: "This is a simple toast message",
99
+ message: "This is a simple toast message. This is a simple toast message. This is a simple toast message. This is a simple toast message",
48
100
  color,
49
101
  icon,
50
102
  action
51
103
  });
52
104
  const toastPosition = (this.position.value === 'top') ? VerticalAlignment.TOP : VerticalAlignment.BOTTOM;
53
- this.toastMessageDisplayService.toastMessage(options, -1, toastPosition);
105
+ this.toastMessageService.toastMessage(options, -1, toastPosition);
106
+ }
107
+ onInline() {
108
+ const pick = this.randomNumber(0, this.toastSamples.length - 1);
109
+ this.pickToastSample = this.toastSamples[pick];
110
+ }
111
+ onClosedToast(toast) {
112
+ console.log(toast);
54
113
  }
55
114
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastDemoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToastDemoComponent, selector: "app-toast-demo", ngImport: i0, template: "<mat-toolbar style=\"display: flex;\">\n <div>Dynamic Dialog 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\">\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", styles: [""], dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i7.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i7.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }] }); }
115
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToastDemoComponent, selector: "app-toast-demo", ngImport: i0, 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;\">\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-inline\n [toast]=\"pickToastSample\"\n [duration]=\"5\"\n (close)=\"onClosedToast($event)\"\n ></app-toast-message-inline>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i7.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i7.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "component", type: i8.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i9.ToastMessageInlineComponent, selector: "app-toast-message-inline", inputs: ["toast", "duration", "position"], outputs: ["close"] }, { kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }] }); }
57
116
  }
58
117
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastDemoComponent, decorators: [{
59
118
  type: Component,
60
- args: [{ selector: 'app-toast-demo', template: "<mat-toolbar style=\"display: flex;\">\n <div>Dynamic Dialog 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\">\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" }]
119
+ args: [{ selector: 'app-toast-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;\">\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-inline\n [toast]=\"pickToastSample\"\n [duration]=\"5\"\n (close)=\"onClosedToast($event)\"\n ></app-toast-message-inline>\n</div>\n" }]
61
120
  }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtZGVtby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90b2FzdC1tZXNzYWdlLWRpc3BsYXkvc3JjL2xpYi90b2FzdC1kZW1vL3RvYXN0LWRlbW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9hc3QtbWVzc2FnZS1kaXNwbGF5L3NyYy9saWIvdG9hc3QtZGVtby90b2FzdC1kZW1vLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQU83QyxNQUFNLE9BQU8sa0JBQWtCO0lBTC9CO1FBT0ksT0FBRSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUN4QiwrQkFBMEIsR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtRQUUvRCxTQUFJLEdBQUcsT0FBTyxDQUFBO1FBRWQsYUFBUSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0tBMkNwQztJQXpDRyxZQUFZLENBQUMsSUFBWTtRQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtJQUNsQixDQUFDO0lBRUQsT0FBTyxDQUFDLElBQVksRUFBRSxJQUFhLEVBQUUsTUFBZTtRQUNsRCxRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssT0FBTztnQkFDVixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFBO2dCQUNwRCxNQUFNO1lBQ04sS0FBSyxNQUFNO2dCQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUE7Z0JBQ25ELE1BQU07WUFDTixLQUFLLE1BQU07Z0JBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtnQkFDbkQsTUFBTTtZQUNOLEtBQUssUUFBUTtnQkFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFBO2dCQUNyRCxNQUFNO1lBQ04sS0FBSyxTQUFTO2dCQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUE7Z0JBQ3RELE1BQU07WUFDTjtnQkFDRSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFBO2dCQUN0RCxNQUFNO1NBQ1A7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWtCLEVBQUUsSUFBYSxFQUFFLE1BQWU7UUFFM0QsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztZQUMvQixPQUFPLEVBQUUsZ0NBQWdDO1lBQ3pDLEtBQUs7WUFDTCxJQUFJO1lBQ0osTUFBTTtTQUNULENBQUMsQ0FBQTtRQUVGLE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFBO1FBRXhHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBQzVFLENBQUM7K0dBaERRLGtCQUFrQjttR0FBbEIsa0JBQWtCLHNEQ1YvQixtck1BZ0xBOzs0RkR0S2Esa0JBQWtCO2tCQUw5QixTQUFTOytCQUNJLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb2FzdE1lc3NhZ2VEaXNwbGF5U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFRvYXN0Q29sb3JzLCBUb2FzdERpc3BsYXksIFZlcnRpY2FsQWxpZ25tZW50IH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC10b2FzdC1kZW1vJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9hc3QtZGVtby5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdG9hc3QtZGVtby5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0RGVtb0NvbXBvbmVudCB7XG5cbiAgICBmYiA9IGluamVjdChGb3JtQnVpbGRlcilcbiAgICB0b2FzdE1lc3NhZ2VEaXNwbGF5U2VydmljZSA9IGluamVjdChUb2FzdE1lc3NhZ2VEaXNwbGF5U2VydmljZSlcblxuICAgIHR5cGUgPSAnQmFzaWMnXG5cbiAgICBwb3NpdGlvbiA9IHRoaXMuZmIuY29udHJvbCgndG9wJylcblxuICAgIG9uU2VsZWN0VHlwZSh0eXBlOiBzdHJpbmcpIHtcbiAgICAgIHRoaXMudHlwZSA9IHR5cGVcbiAgICB9XG5cbiAgICBvbkJhc2ljKHR5cGU6IHN0cmluZywgaWNvbj86IHN0cmluZywgYWN0aW9uPzogc3RyaW5nKSB7XG4gICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgY2FzZSAnRVJST1InOlxuICAgICAgICAgIHRoaXMucHJlc2VudFRvYXN0KFRvYXN0Q29sb3JzLkVSUk9SLCBpY29uLCBhY3Rpb24pXG4gICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdJTkZPJzpcbiAgICAgICAgICB0aGlzLnByZXNlbnRUb2FzdChUb2FzdENvbG9ycy5JTkZPLCBpY29uLCBhY3Rpb24pXG4gICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdXQVJOJzpcbiAgICAgICAgICB0aGlzLnByZXNlbnRUb2FzdChUb2FzdENvbG9ycy5XQVJOLCBpY29uLCBhY3Rpb24pXG4gICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdOT1RJRlknOlxuICAgICAgICAgIHRoaXMucHJlc2VudFRvYXN0KFRvYXN0Q29sb3JzLk5PVElGWSwgaWNvbiwgYWN0aW9uKVxuICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnR0VORVJBTCc6XG4gICAgICAgICAgdGhpcy5wcmVzZW50VG9hc3QoVG9hc3RDb2xvcnMuR0VORVJBTCwgaWNvbiwgYWN0aW9uKVxuICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aGlzLnByZXNlbnRUb2FzdChUb2FzdENvbG9ycy5TVUNDRVNTLCBpY29uLCBhY3Rpb24pXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByZXNlbnRUb2FzdChjb2xvcjogVG9hc3RDb2xvcnMsIGljb24/OiBzdHJpbmcsIGFjdGlvbj86IHN0cmluZykge1xuXG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSBUb2FzdERpc3BsYXkuYWRhcHQoe1xuICAgICAgICAgICAgbWVzc2FnZTogXCJUaGlzIGlzIGEgc2ltcGxlIHRvYXN0IG1lc3NhZ2VcIixcbiAgICAgICAgICAgIGNvbG9yLFxuICAgICAgICAgICAgaWNvbixcbiAgICAgICAgICAgIGFjdGlvblxuICAgICAgICB9KVxuXG4gICAgICAgIGNvbnN0IHRvYXN0UG9zaXRpb24gPSAodGhpcy5wb3NpdGlvbi52YWx1ZSA9PT0gJ3RvcCcpID8gVmVydGljYWxBbGlnbm1lbnQuVE9QIDogVmVydGljYWxBbGlnbm1lbnQuQk9UVE9NXG5cbiAgICAgICAgdGhpcy50b2FzdE1lc3NhZ2VEaXNwbGF5U2VydmljZS50b2FzdE1lc3NhZ2Uob3B0aW9ucywgLTEsIHRvYXN0UG9zaXRpb24pXG4gICAgfVxuXG59XG4iLCI8bWF0LXRvb2xiYXIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxuICAgIDxkaXY+RHluYW1pYyBEaWFsb2cgRGVtbzwvZGl2PlxuICAgIDxkaXYgc3R5bGU9XCJmbGV4OjE7IHRleHQtYWxpZ246IGVuZDtcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiXG4gICAgICAgICAgICBtYXRJY29uUHJlZml4XG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IHR5cGUgfCB0aXRsZWNhc2UgfX1cbiAgICAgICAgICAgIDxtYXQtaWNvbj5sYXllcnM8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvbWF0LXRvb2xiYXI+XG5cbjxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0VHlwZSgnYmFzaWMnKVwiXG4gICAgPlxuICAgICAgICBCYXNpY1xuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LW1lbnUtaXRlbVxuICAgICAgICAoY2xpY2spPVwib25TZWxlY3RUeXBlKCdpY29uJylcIlxuICAgID5cbiAgICAgICAgSWNvblxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LW1lbnUtaXRlbVxuICAgICAgICAoY2xpY2spPVwib25TZWxlY3RUeXBlKCdhY3Rpb24nKVwiXG4gICAgPlxuICAgICAgICBBY3Rpb25cbiAgICA8L2J1dHRvbj5cbjwvbWF0LW1lbnU+XG5cbjxkaXYgc3R5bGU9XCJtYXJnaW46IDFyZW07XCI+XG4gICAgPHNwYW4gW25nU3dpdGNoXT1cInR5cGVcIj5cbiAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ2ljb24nXCI+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiAxcmVtOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1wiPlxuICAgICAgICAgICAgICAgIDxoMyBzdHlsZT1cImZsZXg6MTsgbWFyZ2luLWJvdHRvbTogMDtcIj5Ub2FzdCB3aXRoIEljb248L2gzPlxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IC41cmVtO1wiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdTVUNDRVNTJywgJ2Zhdm9yaXRlX2JvcmRlcicpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgSWNvbiAtIFNVQ0NFU1NcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFzaWMoJ0VSUk9SJywgJ2Rhc2hib2FyZCcpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgSWNvbiAtIEVSUk9SXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdJTkZPJywgJ2V2ZW50JylcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBJY29uIC0gSU5GT1xuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnV0FSTicsICdwYWlkJylcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBJY29uIC0gV0FSTlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnV0FSTicsICdub3RpZmljYXRpb25zJylcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBJY29uIC0gTk9USUZZXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdXQVJOJywgJ21vdmllX2ZpbHRlcicpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgSWNvbiAtIEdFTkVSQUxcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidhY3Rpb24nXCI+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiAxcmVtOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1wiPlxuICAgICAgICAgICAgICAgIDxoMyBzdHlsZT1cImZsZXg6MTsgbWFyZ2luLWJvdHRvbTogMDtcIj5Ub2FzdCB3aXRoIEljb24gYW5kIEFjdGlvbjwvaDM+XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGdhcDogLjVyZW07XCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFzaWMoJ1NVQ0NFU1MnLCAnZmF2b3JpdGVfYm9yZGVyJywgJ0Rpc21pc3MnKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEFjdGlvbiAtIFNVQ0NFU1NcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFzaWMoJ0VSUk9SJywgJ2Rhc2hib2FyZCcsICdEaXNtaXNzJylcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBBY3Rpb24gLSBFUlJPUlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnSU5GTycsICdldmVudCcsICdEaXNtaXNzJylcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBBY3Rpb24gLSBJTkZPXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdXQVJOJywgJ3BhaWQnLCAnRGlzbWlzcycpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQWN0aW9uIC0gV0FSTlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnTk9USUZZJywgJ25vdGlmaWNhdGlvbnMnLCAnRGlzbWlzcycpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQWN0aW9uIC0gTk9USUZZXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdHRU5FUkFMJywgJ21vdmllX2ZpbHRlcicsICdEaXNtaXNzJylcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBBY3Rpb24gLSBHRU5FUkFMXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ1N3aXRjaERlZmF1bHQ+XG5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IDFyZW07IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XCI+XG4gICAgICAgICAgICAgICAgPGgzIHN0eWxlPVwiZmxleDoxOyBtYXJnaW4tYm90dG9tOiAwO1wiPkJhc2ljIFRvYXN0PC9oMz5cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiAuNXJlbTtcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnU1VDQ0VTUycpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQmFzaWMgLSBTVUNDRVNTXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdFUlJPUicpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQmFzaWMgLSBFUlJPUlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnSU5GTycpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQmFzaWMgLSBJTkZPXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdXQVJOJylcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBCYXNpYyAtIFdBUk5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFzaWMoJ05PVElGWScpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQmFzaWMgLSBOT1RJRllcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFzaWMoJ0dFTkVSQUwnKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEJhc2ljIC0gR0VORVJBTFxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvZGl2PlxuICAgIDwvc3Bhbj5cbiAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgbWFyZ2luLXRvcDogMXJlbTtcIj5cbiAgICAgICAgPG1hdC1yYWRpby1ncm91cCBbZm9ybUNvbnRyb2xdPVwicG9zaXRpb25cIj5cbiAgICAgICAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIHZhbHVlPVwidG9wXCI+VG9wIFBvc2l0aW9uPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b24gdmFsdWU9XCJib3R0b21cIj5Cb3R0b20gUG9zaXRpb248L21hdC1yYWRpby1idXR0b24+XG4gICAgICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtZGVtby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90b2FzdC1tZXNzYWdlLWRpc3BsYXkvc3JjL2xpYi90b2FzdC1kZW1vL3RvYXN0LWRlbW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9hc3QtbWVzc2FnZS1kaXNwbGF5L3NyYy9saWIvdG9hc3QtZGVtby90b2FzdC1kZW1vLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBTzdDLE1BQU0sT0FBTyxrQkFBa0I7SUFML0I7UUFPRSxXQUFNLEdBQUcsR0FBRyxFQUFFO1lBQ1osTUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDcEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUN6RCxNQUFNLFdBQVcsR0FBRyxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFDaEQsT0FBTyxXQUFXLENBQUE7UUFDcEIsQ0FBQyxDQUFBO1FBRUQsaUJBQVksR0FBRyxDQUFDLEdBQVcsRUFBRSxHQUFXLEVBQUUsRUFBRTtZQUMxQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQTtRQUM5QyxDQUFDLENBQUE7UUFFRCxPQUFFLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ3hCLHdCQUFtQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO1FBRWpELFNBQUksR0FBRyxPQUFPLENBQUE7UUFFZCxhQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFakMsVUFBSyxHQUFHO1lBQ04saUJBQWlCO1lBQ2pCLFdBQVc7WUFDWCxPQUFPO1lBQ1AsTUFBTTtZQUNOLGVBQWU7WUFDZixjQUFjO1NBQ2YsQ0FBQTtRQUVELGlCQUFZLEdBQUc7WUFDYjtnQkFDRSxPQUFPLEVBQUUsZ0lBQWdJO2dCQUN6SSxLQUFLLEVBQUUsV0FBVyxDQUFDLEtBQUs7Z0JBQ3hCLE1BQU0sRUFBRSxJQUFJO2FBQ2I7WUFDRDtnQkFDRSxPQUFPLEVBQUUsZ0JBQWdCO2dCQUN6QixLQUFLLEVBQUUsV0FBVyxDQUFDLElBQUk7Z0JBQ3ZCLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUNwQjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxnQkFBZ0I7Z0JBQ3pCLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSTtnQkFDdkIsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQ3BCO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGdJQUFnSTtnQkFDekksS0FBSyxFQUFFLFdBQVcsQ0FBQyxNQUFNO2dCQUN6QixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ25CLE1BQU0sRUFBRSxTQUFTO2FBQ2xCO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGdCQUFnQjtnQkFDekIsS0FBSyxFQUFFLFdBQVcsQ0FBQyxPQUFPO2dCQUMxQixNQUFNLEVBQUUsU0FBUzthQUNsQjtZQUNEO2dCQUNJLE9BQU8sRUFBRSxnSUFBZ0k7Z0JBQ3pJLEtBQUssRUFBRSxXQUFXLENBQUMsT0FBTztnQkFDMUIsTUFBTSxFQUFFLEdBQUc7YUFDWjtTQUNGLENBQUE7S0FxREo7SUFqREMsWUFBWSxDQUFDLElBQVk7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7SUFDbEIsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFZLEVBQUUsSUFBYSxFQUFFLE1BQWU7UUFDbEQsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLE9BQU87Z0JBQ1YsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtnQkFDcEQsTUFBTTtZQUNOLEtBQUssTUFBTTtnQkFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFBO2dCQUNuRCxNQUFNO1lBQ04sS0FBSyxNQUFNO2dCQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUE7Z0JBQ25ELE1BQU07WUFDTixLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtnQkFDckQsTUFBTTtZQUNOLEtBQUssU0FBUztnQkFDWixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFBO2dCQUN0RCxNQUFNO1lBQ047Z0JBQ0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtnQkFDdEQsTUFBTTtTQUNQO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFrQixFQUFFLElBQWEsRUFBRSxNQUFlO1FBRTNELE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDL0IsT0FBTyxFQUFFLGdJQUFnSTtZQUN6SSxLQUFLO1lBQ0wsSUFBSTtZQUNKLE1BQU07U0FDVCxDQUFDLENBQUE7UUFFRixNQUFNLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQTtRQUN4RyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQTtJQUNyRSxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzdELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNoRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQW9CO1FBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDcEIsQ0FBQzsrR0FoSFUsa0JBQWtCO21HQUFsQixrQkFBa0Isc0RDVi9CLGduTkErTEE7OzRGRHJMYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0ksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRvYXN0TWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBUb2FzdENvbG9ycywgVG9hc3REaXNwbGF5LCBWZXJ0aWNhbEFsaWdubWVudCB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtdG9hc3QtZGVtbycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RvYXN0LWRlbW8uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RvYXN0LWRlbW8uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdERlbW9Db21wb25lbnQge1xuXG4gIHJhbmRvbSA9ICgpID0+IHtcbiAgICBjb25zdCB0eXBlZEFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoMSlcbiAgICBjb25zdCByYW5kb21WYWx1ZSA9IGNyeXB0by5nZXRSYW5kb21WYWx1ZXModHlwZWRBcnJheSlbMF1cbiAgICBjb25zdCByYW5kb21GbG9hdCA9IHJhbmRvbVZhbHVlIC8gTWF0aC5wb3coMiwgOClcbiAgICByZXR1cm4gcmFuZG9tRmxvYXRcbiAgfVxuXG4gIHJhbmRvbU51bWJlciA9IChtaW46IG51bWJlciwgbWF4OiBudW1iZXIpID0+IHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcih0aGlzLnJhbmRvbSgpICogbWF4KSArIG1pblxuICB9XG5cbiAgZmIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpXG4gIHRvYXN0TWVzc2FnZVNlcnZpY2UgPSBpbmplY3QoVG9hc3RNZXNzYWdlU2VydmljZSlcblxuICB0eXBlID0gJ0Jhc2ljJ1xuXG4gIHBvc2l0aW9uID0gdGhpcy5mYi5jb250cm9sKCd0b3AnKVxuXG4gIGljb25zID0gW1xuICAgICdmYXZvcml0ZV9ib3JkZXInLFxuICAgICdkYXNoYm9hcmQnLFxuICAgICdldmVudCcsXG4gICAgJ3BhaWQnLFxuICAgICdub3RpZmljYXRpb25zJyxcbiAgICAnbW92aWVfZmlsdGVyJyxcbiAgXVxuXG4gIHRvYXN0U2FtcGxlcyA9IFtcbiAgICB7XG4gICAgICBtZXNzYWdlOiBcIlRoaXMgaXMgYSBzaW1wbGUgdG9hc3QgbWVzc2FnZS4gVGhpcyBpcyBhIHNpbXBsZSB0b2FzdCBtZXNzYWdlLiBUaGlzIGlzIGEgc2ltcGxlIHRvYXN0IG1lc3NhZ2UuIFRoaXMgaXMgYSBzaW1wbGUgdG9hc3QgbWVzc2FnZVwiLFxuICAgICAgY29sb3I6IFRvYXN0Q29sb3JzLkVSUk9SLFxuICAgICAgYWN0aW9uOiBcIk9rXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIG1lc3NhZ2U6ICdTYW1wbGUgbWVzc2FnZScsXG4gICAgICBjb2xvcjogVG9hc3RDb2xvcnMuSU5GTyxcbiAgICAgIGljb246IHRoaXMuaWNvbnNbMF1cbiAgICB9LFxuICAgIHtcbiAgICAgIG1lc3NhZ2U6ICdTYW1wbGUgbWVzc2FnZScsXG4gICAgICBjb2xvcjogVG9hc3RDb2xvcnMuV0FSTixcbiAgICAgIGljb246IHRoaXMuaWNvbnNbMV1cbiAgICB9LFxuICAgIHtcbiAgICAgIG1lc3NhZ2U6IFwiVGhpcyBpcyBhIHNpbXBsZSB0b2FzdCBtZXNzYWdlLiBUaGlzIGlzIGEgc2ltcGxlIHRvYXN0IG1lc3NhZ2UuIFRoaXMgaXMgYSBzaW1wbGUgdG9hc3QgbWVzc2FnZS4gVGhpcyBpcyBhIHNpbXBsZSB0b2FzdCBtZXNzYWdlXCIsXG4gICAgICBjb2xvcjogVG9hc3RDb2xvcnMuTk9USUZZLFxuICAgICAgaWNvbjogdGhpcy5pY29uc1syXSxcbiAgICAgIGFjdGlvbjogXCJEaXNtaXNzXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIG1lc3NhZ2U6ICdTYW1wbGUgbWVzc2FnZScsXG4gICAgICBjb2xvcjogVG9hc3RDb2xvcnMuR0VORVJBTCxcbiAgICAgIGFjdGlvbjogXCJEaXNtaXNzXCJcbiAgICB9LFxuICAgIHtcbiAgICAgICAgbWVzc2FnZTogXCJUaGlzIGlzIGEgc2ltcGxlIHRvYXN0IG1lc3NhZ2UuIFRoaXMgaXMgYSBzaW1wbGUgdG9hc3QgbWVzc2FnZS4gVGhpcyBpcyBhIHNpbXBsZSB0b2FzdCBtZXNzYWdlLiBUaGlzIGlzIGEgc2ltcGxlIHRvYXN0IG1lc3NhZ2VcIixcbiAgICAgICAgY29sb3I6IFRvYXN0Q29sb3JzLlNVQ0NFU1MsXG4gICAgICAgIGFjdGlvbjogXCItXCJcbiAgICAgIH0sXG4gICAgXVxuXG4gIHBpY2tUb2FzdFNhbXBsZT86IFRvYXN0RGlzcGxheVxuXG4gIG9uU2VsZWN0VHlwZSh0eXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnR5cGUgPSB0eXBlXG4gIH1cblxuICBvbkJhc2ljKHR5cGU6IHN0cmluZywgaWNvbj86IHN0cmluZywgYWN0aW9uPzogc3RyaW5nKSB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdFUlJPUic6XG4gICAgICAgIHRoaXMucHJlc2VudFRvYXN0KFRvYXN0Q29sb3JzLkVSUk9SLCBpY29uLCBhY3Rpb24pXG4gICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0lORk8nOlxuICAgICAgICB0aGlzLnByZXNlbnRUb2FzdChUb2FzdENvbG9ycy5JTkZPLCBpY29uLCBhY3Rpb24pXG4gICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1dBUk4nOlxuICAgICAgICB0aGlzLnByZXNlbnRUb2FzdChUb2FzdENvbG9ycy5XQVJOLCBpY29uLCBhY3Rpb24pXG4gICAgICBicmVhaztcbiAgICAgIGNhc2UgJ05PVElGWSc6XG4gICAgICAgIHRoaXMucHJlc2VudFRvYXN0KFRvYXN0Q29sb3JzLk5PVElGWSwgaWNvbiwgYWN0aW9uKVxuICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdHRU5FUkFMJzpcbiAgICAgICAgdGhpcy5wcmVzZW50VG9hc3QoVG9hc3RDb2xvcnMuR0VORVJBTCwgaWNvbiwgYWN0aW9uKVxuICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLnByZXNlbnRUb2FzdChUb2FzdENvbG9ycy5TVUNDRVNTLCBpY29uLCBhY3Rpb24pXG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwcmVzZW50VG9hc3QoY29sb3I6IFRvYXN0Q29sb3JzLCBpY29uPzogc3RyaW5nLCBhY3Rpb24/OiBzdHJpbmcpIHtcblxuICAgICAgY29uc3Qgb3B0aW9ucyA9IFRvYXN0RGlzcGxheS5hZGFwdCh7XG4gICAgICAgICAgbWVzc2FnZTogXCJUaGlzIGlzIGEgc2ltcGxlIHRvYXN0IG1lc3NhZ2UuIFRoaXMgaXMgYSBzaW1wbGUgdG9hc3QgbWVzc2FnZS4gVGhpcyBpcyBhIHNpbXBsZSB0b2FzdCBtZXNzYWdlLiBUaGlzIGlzIGEgc2ltcGxlIHRvYXN0IG1lc3NhZ2VcIixcbiAgICAgICAgICBjb2xvcixcbiAgICAgICAgICBpY29uLFxuICAgICAgICAgIGFjdGlvblxuICAgICAgfSlcblxuICAgICAgY29uc3QgdG9hc3RQb3NpdGlvbiA9ICh0aGlzLnBvc2l0aW9uLnZhbHVlID09PSAndG9wJykgPyBWZXJ0aWNhbEFsaWdubWVudC5UT1AgOiBWZXJ0aWNhbEFsaWdubWVudC5CT1RUT01cbiAgICAgIHRoaXMudG9hc3RNZXNzYWdlU2VydmljZS50b2FzdE1lc3NhZ2Uob3B0aW9ucywgLTEsIHRvYXN0UG9zaXRpb24pXG4gIH1cblxuICBvbklubGluZSgpIHtcbiAgICBjb25zdCBwaWNrID0gdGhpcy5yYW5kb21OdW1iZXIoMCwgdGhpcy50b2FzdFNhbXBsZXMubGVuZ3RoLTEpXG4gICAgdGhpcy5waWNrVG9hc3RTYW1wbGUgPSB0aGlzLnRvYXN0U2FtcGxlc1twaWNrXVxuICB9XG5cbiAgb25DbG9zZWRUb2FzdCh0b2FzdD86IFRvYXN0RGlzcGxheSkge1xuICAgIGNvbnNvbGUubG9nKHRvYXN0KVxuICB9XG5cbn1cbiIsIjxtYXQtdG9vbGJhciBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+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+XG4gICAgICAgIDxtYXQtcmFkaW8tZ3JvdXAgW2Zvcm1Db250cm9sXT1cInBvc2l0aW9uXCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxuICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b24gdmFsdWU9XCJ0b3BcIj5Ub3AgUG9zaXRpb248L21hdC1yYWRpby1idXR0b24+XG4gICAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiB2YWx1ZT1cImJvdHRvbVwiPkJvdHRvbSBQb3NpdGlvbjwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgPC9tYXQtcmFkaW8tZ3JvdXA+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IDFyZW07IG1hcmdpbi1ib3R0b206IDFyZW07XCI+XG4gIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuPC9kaXY+XG5cbjxkaXYgc3R5bGU9XCJtYXJnaW46IDFyZW07XCI+XG4gIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIChjbGljayk9XCJvbklubGluZSgpXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAycmVtO1wiPlxuICAgIEFkZCBJbmxpbmUgVG9hc3QgTWVzc2FnZVxuICA8L2J1dHRvbj5cbiAgPGFwcC10b2FzdC1tZXNzYWdlLWlubGluZVxuICAgIFt0b2FzdF09XCJwaWNrVG9hc3RTYW1wbGVcIlxuICAgIFtkdXJhdGlvbl09XCI1XCJcbiAgICAoY2xvc2UpPVwib25DbG9zZWRUb2FzdCgkZXZlbnQpXCJcbiAgPjwvYXBwLXRvYXN0LW1lc3NhZ2UtaW5saW5lPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,65 @@
1
+ import { Component, EventEmitter, inject, Input, Output } from '@angular/core';
2
+ import { TextColorService } from '../utils';
3
+ import { ToastDisplay, VerticalAlignment } from '../models';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "../toast-ui/toast-ui.component";
7
+ export class ToastMessageInlineComponent {
8
+ constructor() {
9
+ this.close = new EventEmitter();
10
+ this.textColorService = inject(TextColorService);
11
+ this.toastList = [];
12
+ this.dismissToasts = [];
13
+ this.duration = -1;
14
+ this.position = VerticalAlignment.TOP;
15
+ }
16
+ set toast(value) {
17
+ if (!value)
18
+ return;
19
+ const toast = ToastDisplay.adapt(value);
20
+ if (!toast.action) {
21
+ this.dismissToasts.push(toast);
22
+ this.expireTime(toast);
23
+ }
24
+ this.toastList.push(toast);
25
+ }
26
+ get option() {
27
+ return (this.toastList.length > 0) ? this.toastList[0] : null;
28
+ }
29
+ get color() {
30
+ return (this.option) ? this.option.color : '';
31
+ }
32
+ get textColor() {
33
+ return (this.option) ? this.textColorService.textColorForBgColor(this.option.color, '#FFFFFF', '#000000') : '';
34
+ }
35
+ ngOnInit() {
36
+ document.documentElement.style.setProperty('--snackbar-color', this.color);
37
+ }
38
+ onCloseToast(toast) {
39
+ this.toastList = this.toastList.filter(item => item.id !== toast?.id);
40
+ this.close.emit(toast);
41
+ }
42
+ expireTime(toast) {
43
+ const boundRemove = this.removeToast.bind(this, toast);
44
+ setTimeout(boundRemove, 3000);
45
+ }
46
+ removeToast(toast) {
47
+ this.dismissToasts = this.dismissToasts.filter(t => t.id !== toast.id);
48
+ this.toastList = this.toastList.filter(t => t.id !== toast.id);
49
+ }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageInlineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToastMessageInlineComponent, selector: "app-toast-message-inline", inputs: { toast: "toast", duration: "duration", position: "position" }, outputs: { close: "close" }, ngImport: i0, template: "<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", styles: [".inline{padding:.75rem;border-radius:.25rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.ToastUIComponent, selector: "app-toast-ui", inputs: ["options"], outputs: ["close"] }] }); }
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageInlineComponent, decorators: [{
54
+ type: Component,
55
+ args: [{ selector: 'app-toast-message-inline', template: "<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", styles: [".inline{padding:.75rem;border-radius:.25rem}\n"] }]
56
+ }], propDecorators: { close: [{
57
+ type: Output
58
+ }], toast: [{
59
+ type: Input
60
+ }], duration: [{
61
+ type: Input
62
+ }], position: [{
63
+ type: Input
64
+ }] } });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtbWVzc2FnZS1pbmxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9hc3QtbWVzc2FnZS1kaXNwbGF5L3NyYy9saWIvdG9hc3QtbWVzc2FnZS1pbmxpbmUvdG9hc3QtbWVzc2FnZS1pbmxpbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9hc3QtbWVzc2FnZS1kaXNwbGF5L3NyYy9saWIvdG9hc3QtbWVzc2FnZS1pbmxpbmUvdG9hc3QtbWVzc2FnZS1pbmxpbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7QUFPNUQsTUFBTSxPQUFPLDJCQUEyQjtJQUx4QztRQU9ZLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUVuRCxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUUzQyxjQUFTLEdBQW1CLEVBQUUsQ0FBQTtRQUU5QixrQkFBYSxHQUFVLEVBQUUsQ0FBQTtRQW9CaEIsYUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2IsYUFBUSxHQUFzQixpQkFBaUIsQ0FBQyxHQUFHLENBQUE7S0E2QjdEO0lBaERDLElBQWEsS0FBSyxDQUFDLEtBQVU7UUFFM0IsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFNO1FBQ2xCLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtTQUN2QjtRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRTVCLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtJQUMvRCxDQUFDO0lBS0QsSUFBSSxLQUFLO1FBQ1AsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUMvQyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0lBQ2hILENBQUM7SUFFRCxRQUFRO1FBQ04sUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUM1RSxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQW9CO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUNyRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN4QixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ3RELFVBQVUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDL0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFVO1FBQ3BCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUN0RSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDaEUsQ0FBQzsrR0F4RFUsMkJBQTJCO21HQUEzQiwyQkFBMkIscUtDVHhDLHNYQVdBOzs0RkRGYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsMEJBQTBCOzhCQU0xQixLQUFLO3NCQUFkLE1BQU07Z0JBUU0sS0FBSztzQkFBakIsS0FBSztnQkFrQkcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZXh0Q29sb3JTZXJ2aWNlIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgVG9hc3REaXNwbGF5LCBWZXJ0aWNhbEFsaWdubWVudCB9IGZyb20gJy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC10b2FzdC1tZXNzYWdlLWlubGluZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90b2FzdC1tZXNzYWdlLWlubGluZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RvYXN0LW1lc3NhZ2UtaW5saW5lLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVG9hc3RNZXNzYWdlSW5saW5lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRvYXN0RGlzcGxheT4oKTtcblxuICB0ZXh0Q29sb3JTZXJ2aWNlID0gaW5qZWN0KFRleHRDb2xvclNlcnZpY2UpXG5cbiAgdG9hc3RMaXN0OiBUb2FzdERpc3BsYXlbXSA9IFtdXG5cbiAgZGlzbWlzc1RvYXN0czogYW55W10gPSBbXVxuXG4gIEBJbnB1dCgpIHNldCB0b2FzdCh2YWx1ZTogYW55KSB7XG5cbiAgICBpZiAoIXZhbHVlKSByZXR1cm5cbiAgICBjb25zdCB0b2FzdCA9IFRvYXN0RGlzcGxheS5hZGFwdCh2YWx1ZSlcblxuICAgIGlmICghdG9hc3QuYWN0aW9uKSB7XG4gICAgICB0aGlzLmRpc21pc3NUb2FzdHMucHVzaCh0b2FzdClcbiAgICAgIHRoaXMuZXhwaXJlVGltZSh0b2FzdClcbiAgICB9XG5cbiAgICB0aGlzLnRvYXN0TGlzdC5wdXNoKHRvYXN0KVxuXG4gIH1cblxuICBnZXQgb3B0aW9uKCkge1xuICAgIHJldHVybiAodGhpcy50b2FzdExpc3QubGVuZ3RoID4gMCkgPyB0aGlzLnRvYXN0TGlzdFswXSA6IG51bGxcbiAgfVxuXG4gIEBJbnB1dCgpIGR1cmF0aW9uID0gLTFcbiAgQElucHV0KCkgcG9zaXRpb246IFZlcnRpY2FsQWxpZ25tZW50ID0gVmVydGljYWxBbGlnbm1lbnQuVE9QXG5cbiAgZ2V0IGNvbG9yKCkge1xuICAgIHJldHVybiAodGhpcy5vcHRpb24pID8gdGhpcy5vcHRpb24uY29sb3IgOiAnJ1xuICB9XG5cbiAgZ2V0IHRleHRDb2xvcigpIHtcbiAgICByZXR1cm4gKHRoaXMub3B0aW9uKSA/IHRoaXMudGV4dENvbG9yU2VydmljZS50ZXh0Q29sb3JGb3JCZ0NvbG9yKHRoaXMub3B0aW9uLmNvbG9yLCAnI0ZGRkZGRicsICcjMDAwMDAwJykgOiAnJ1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLXNuYWNrYmFyLWNvbG9yJywgdGhpcy5jb2xvcilcbiAgfVxuXG4gIG9uQ2xvc2VUb2FzdCh0b2FzdD86IFRvYXN0RGlzcGxheSkge1xuICAgIHRoaXMudG9hc3RMaXN0ID0gdGhpcy50b2FzdExpc3QuZmlsdGVyKGl0ZW0gPT4gaXRlbS5pZCAhPT0gdG9hc3Q/LmlkKVxuICAgIHRoaXMuY2xvc2UuZW1pdCh0b2FzdClcbiAgfVxuXG4gIGV4cGlyZVRpbWUodG9hc3Q6IGFueSkge1xuICAgIGNvbnN0IGJvdW5kUmVtb3ZlID0gdGhpcy5yZW1vdmVUb2FzdC5iaW5kKHRoaXMsIHRvYXN0KVxuICAgIHNldFRpbWVvdXQoYm91bmRSZW1vdmUsIDMwMDApXG4gIH1cblxuICByZW1vdmVUb2FzdCh0b2FzdDogYW55KSB7XG4gICAgdGhpcy5kaXNtaXNzVG9hc3RzID0gdGhpcy5kaXNtaXNzVG9hc3RzLmZpbHRlcih0ID0+IHQuaWQgIT09IHRvYXN0LmlkKVxuICAgIHRoaXMudG9hc3RMaXN0ID0gdGhpcy50b2FzdExpc3QuZmlsdGVyKHQgPT4gdC5pZCAhPT0gdG9hc3QuaWQpXG4gIH1cblxufVxuIiwiPGRpdiAgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IC41cmVtOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1wiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0b2FzdCBvZiB0b2FzdExpc3RcIj5cbiAgICA8ZGl2IFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cInRvYXN0LmNvbG9yXCIgY2xhc3M9XCJpbmxpbmVcIj5cbiAgICAgIDxhcHAtdG9hc3QtdWlcbiAgICAgICAgW29wdGlvbnNdPVwidG9hc3RcIlxuICAgICAgICBzdHlsZT1cImZsZXg6IDE7XCJcbiAgICAgICAgKGNsb3NlKT1cIm9uQ2xvc2VUb2FzdCh0b2FzdClcIlxuICAgICAgPjwvYXBwLXRvYXN0LXVpPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
@@ -2,7 +2,7 @@ import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { BrowserModule } from '@angular/platform-browser';
4
4
  import { MatIconModule } from '@angular/material/icon';
5
- import { MatSnackBarModule } from '@angular/material/snack-bar';
5
+ import { MAT_SNACK_BAR_DATA, MatSnackBarModule, MatSnackBarRef } from '@angular/material/snack-bar';
6
6
  import { MatButtonModule } from '@angular/material/button';
7
7
  import { MatToolbarModule } from '@angular/material/toolbar';
8
8
  import { MatMenuModule } from '@angular/material/menu';
@@ -10,11 +10,14 @@ import { ToastUIComponent } from './toast-ui/toast-ui.component';
10
10
  import { ToastDemoComponent } from './toast-demo/toast-demo.component';
11
11
  import { ReactiveFormsModule } from '@angular/forms';
12
12
  import { MatRadioModule } from '@angular/material/radio';
13
+ import { MatDividerModule } from '@angular/material/divider';
14
+ import { ToastMessageInlineComponent } from './toast-message-inline/toast-message-inline.component';
13
15
  import * as i0 from "@angular/core";
14
- export class ToastMessageDisplayModule {
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageDisplayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageDisplayModule, declarations: [ToastUIComponent,
17
- ToastDemoComponent], imports: [CommonModule,
16
+ export class ToastMessageModule {
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageModule, declarations: [ToastUIComponent,
19
+ ToastDemoComponent,
20
+ ToastMessageInlineComponent], imports: [CommonModule,
18
21
  BrowserModule,
19
22
  ReactiveFormsModule,
20
23
  MatIconModule,
@@ -22,9 +25,14 @@ export class ToastMessageDisplayModule {
22
25
  MatButtonModule,
23
26
  MatToolbarModule,
24
27
  MatMenuModule,
25
- MatRadioModule], exports: [ToastUIComponent,
26
- ToastDemoComponent] }); }
27
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageDisplayModule, imports: [CommonModule,
28
+ MatRadioModule,
29
+ MatDividerModule], exports: [ToastUIComponent,
30
+ ToastDemoComponent,
31
+ ToastMessageInlineComponent] }); }
32
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageModule, providers: [
33
+ { provide: MAT_SNACK_BAR_DATA, useValue: {} },
34
+ { provide: MatSnackBarRef, useValue: {} }
35
+ ], imports: [CommonModule,
28
36
  BrowserModule,
29
37
  ReactiveFormsModule,
30
38
  MatIconModule,
@@ -32,9 +40,10 @@ export class ToastMessageDisplayModule {
32
40
  MatButtonModule,
33
41
  MatToolbarModule,
34
42
  MatMenuModule,
35
- MatRadioModule] }); }
43
+ MatRadioModule,
44
+ MatDividerModule] }); }
36
45
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageDisplayModule, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageModule, decorators: [{
38
47
  type: NgModule,
39
48
  args: [{
40
49
  imports: [
@@ -47,15 +56,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
47
56
  MatToolbarModule,
48
57
  MatMenuModule,
49
58
  MatRadioModule,
59
+ MatDividerModule,
50
60
  ],
51
61
  declarations: [
52
62
  ToastUIComponent,
53
63
  ToastDemoComponent,
64
+ ToastMessageInlineComponent,
54
65
  ],
55
66
  exports: [
56
67
  ToastUIComponent,
57
68
  ToastDemoComponent,
69
+ ToastMessageInlineComponent,
70
+ ],
71
+ providers: [
72
+ { provide: MAT_SNACK_BAR_DATA, useValue: {} },
73
+ { provide: MatSnackBarRef, useValue: {} }
58
74
  ]
59
75
  }]
60
76
  }] });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtbWVzc2FnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90b2FzdC1tZXNzYWdlLWRpc3BsYXkvc3JjL2xpYi90b2FzdC1tZXNzYWdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQXVCekQsTUFBTSxPQUFPLHlCQUF5QjsrR0FBekIseUJBQXlCO2dIQUF6Qix5QkFBeUIsaUJBUmxDLGdCQUFnQjtZQUNoQixrQkFBa0IsYUFabEIsWUFBWTtZQUNaLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixjQUFjLGFBT2QsZ0JBQWdCO1lBQ2hCLGtCQUFrQjtnSEFHVCx5QkFBeUIsWUFuQmxDLFlBQVk7WUFDWixhQUFhO1lBQ2IsbUJBQW1CO1lBQ25CLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsY0FBYzs7NEZBV0wseUJBQXlCO2tCQXJCckMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGNBQWM7cUJBQ2Y7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZ0JBQWdCO3dCQUNoQixrQkFBa0I7cUJBQ25CO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0U25hY2tCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdFRvb2xiYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcblxuaW1wb3J0IHsgVG9hc3RVSUNvbXBvbmVudCB9IGZyb20gJy4vdG9hc3QtdWkvdG9hc3QtdWkuY29tcG9uZW50JztcbmltcG9ydCB7IFRvYXN0RGVtb0NvbXBvbmVudCB9IGZyb20gJy4vdG9hc3QtZGVtby90b2FzdC1kZW1vLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQnJvd3Nlck1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0U25hY2tCYXJNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdFRvb2xiYXJNb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXRSYWRpb01vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgVG9hc3RVSUNvbXBvbmVudCxcbiAgICBUb2FzdERlbW9Db21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBUb2FzdFVJQ29tcG9uZW50LFxuICAgIFRvYXN0RGVtb0NvbXBvbmVudCxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdE1lc3NhZ2VEaXNwbGF5TW9kdWxlIHsgfVxuIl19
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtbWVzc2FnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90b2FzdC1tZXNzYWdlLWRpc3BsYXkvc3JjL2xpYi90b2FzdC1tZXNzYWdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7QUE4QnBHLE1BQU0sT0FBTyxrQkFBa0I7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQWQzQixnQkFBZ0I7WUFDaEIsa0JBQWtCO1lBQ2xCLDJCQUEyQixhQWQzQixZQUFZO1lBQ1osYUFBYTtZQUNiLG1CQUFtQjtZQUNuQixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGNBQWM7WUFDZCxnQkFBZ0IsYUFRaEIsZ0JBQWdCO1lBQ2hCLGtCQUFrQjtZQUNsQiwyQkFBMkI7Z0hBT2xCLGtCQUFrQixhQUxsQjtZQUNULEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7WUFDN0MsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7U0FDMUMsWUF4QkMsWUFBWTtZQUNaLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixjQUFjO1lBQ2QsZ0JBQWdCOzs0RkFpQlAsa0JBQWtCO2tCQTVCOUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsZ0JBQWdCO3FCQUNqQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLDJCQUEyQjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQiwyQkFBMkI7cUJBQzVCO29CQUNELFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO3dCQUM3QyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtxQkFDMUM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNQVRfU05BQ0tfQkFSX0RBVEEsIE1hdFNuYWNrQmFyTW9kdWxlLCBNYXRTbmFja0JhclJlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0VG9vbGJhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuXG5pbXBvcnQgeyBUb2FzdFVJQ29tcG9uZW50IH0gZnJvbSAnLi90b2FzdC11aS90b2FzdC11aS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9hc3REZW1vQ29tcG9uZW50IH0gZnJvbSAnLi90b2FzdC1kZW1vL3RvYXN0LWRlbW8uY29tcG9uZW50JztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcblxuaW1wb3J0IHsgVG9hc3RNZXNzYWdlSW5saW5lQ29tcG9uZW50IH0gZnJvbSAnLi90b2FzdC1tZXNzYWdlLWlubGluZS90b2FzdC1tZXNzYWdlLWlubGluZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJyb3dzZXJNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFNuYWNrQmFyTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRUb29sYmFyTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgTWF0UmFkaW9Nb2R1bGUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgVG9hc3RVSUNvbXBvbmVudCxcbiAgICBUb2FzdERlbW9Db21wb25lbnQsXG4gICAgVG9hc3RNZXNzYWdlSW5saW5lQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgVG9hc3RVSUNvbXBvbmVudCxcbiAgICBUb2FzdERlbW9Db21wb25lbnQsXG4gICAgVG9hc3RNZXNzYWdlSW5saW5lQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE1BVF9TTkFDS19CQVJfREFUQSwgdXNlVmFsdWU6IHt9IH0sXG4gICAgeyBwcm92aWRlOiBNYXRTbmFja0JhclJlZiwgdXNlVmFsdWU6IHt9IH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdE1lc3NhZ2VNb2R1bGUgeyB9XG4iXX0=