vc-error-handlers 0.1.98 → 0.2.0

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.
Files changed (89) hide show
  1. package/esm2022/lib/configuration.mjs +7 -0
  2. package/{esm2020 → esm2022}/lib/featureFlag/feature-flag.directive.mjs +27 -27
  3. package/esm2022/lib/featureFlag/feature-flag.module.mjs +20 -0
  4. package/esm2022/lib/featureFlag/feature-flag.service.mjs +98 -0
  5. package/{esm2020 → esm2022}/lib/shared/components/chunk-unavailable/chunk-unavailable.component.mjs +35 -35
  6. package/esm2022/lib/shared/components/component-level-server-error/component-level-server-error.component.mjs +65 -0
  7. package/{esm2020 → esm2022}/lib/shared/components/error-modal/error-modal.component.mjs +45 -45
  8. package/esm2022/lib/shared/components/page-not-found/page-not-found.component.mjs +92 -0
  9. package/esm2022/lib/shared/components/server-error/server-error.component.mjs +83 -0
  10. package/{esm2020 → esm2022}/lib/shared/components/session-expired/session-expired.component.mjs +35 -35
  11. package/esm2022/lib/shared/components/unauthorized/unauthorized.component.mjs +103 -0
  12. package/{esm2020 → esm2022}/lib/shared/constants/api-config.constants.mjs +239 -239
  13. package/{esm2020 → esm2022}/lib/shared/constants/error-handling.constants.mjs +62 -62
  14. package/{esm2020 → esm2022}/lib/shared/errorhandler/chunk-error.handler.mjs +18 -18
  15. package/{esm2020 → esm2022}/lib/shared/errorhandler/sentry-error.handler.mjs +47 -47
  16. package/{esm2020 → esm2022}/lib/shared/interceptors/http.interceptor.mjs +35 -35
  17. package/{esm2020 → esm2022}/lib/shared/services/global-error.service.mjs +115 -115
  18. package/{esm2020 → esm2022}/lib/shared/services/router.service.mjs +19 -19
  19. package/{esm2020 → esm2022}/lib/shared/services/util.service.mjs +48 -48
  20. package/{esm2020 → esm2022}/lib/shared/types/global-error.types.mjs +15 -15
  21. package/{esm2020 → esm2022}/lib/ui-kit/dialog/dialog-config.mjs +2 -2
  22. package/esm2022/lib/ui-kit/dialog/dialog-injector.mjs +15 -0
  23. package/{esm2020 → esm2022}/lib/ui-kit/dialog/dialog-ref.mjs +12 -12
  24. package/{esm2020 → esm2022}/lib/ui-kit/dialog/dialog.component.mjs +85 -85
  25. package/esm2022/lib/ui-kit/dialog/dialog.module.mjs +21 -0
  26. package/{esm2020 → esm2022}/lib/ui-kit/dialog/dialog.service.mjs +52 -52
  27. package/{esm2020 → esm2022}/lib/ui-kit/dialog/insertion.directive.mjs +16 -16
  28. package/{esm2020 → esm2022}/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.mjs +50 -50
  29. package/esm2022/lib/ui-kit/snack-bar/snack-bar.module.mjs +18 -0
  30. package/{esm2020 → esm2022}/lib/ui-kit/snack-bar/snack-bar.service.mjs +32 -32
  31. package/{esm2020 → esm2022}/lib/vc-error-handlers.component.mjs +85 -85
  32. package/esm2022/lib/vc-error-handlers.module.mjs +84 -0
  33. package/{esm2020 → esm2022}/lib/vc-error-handlers.service.mjs +14 -14
  34. package/{esm2020 → esm2022}/public-api.mjs +16 -16
  35. package/{esm2020 → esm2022}/vc-error-handlers.mjs +4 -4
  36. package/{fesm2020 → fesm2022}/vc-error-handlers.mjs +1286 -1359
  37. package/fesm2022/vc-error-handlers.mjs.map +1 -0
  38. package/{vc-error-handlers.d.ts → index.d.ts} +5 -5
  39. package/lib/configuration.d.ts +5 -4
  40. package/lib/featureFlag/feature-flag.directive.d.ts +13 -13
  41. package/lib/featureFlag/feature-flag.module.d.ts +8 -8
  42. package/lib/featureFlag/feature-flag.service.d.ts +21 -19
  43. package/lib/shared/components/chunk-unavailable/chunk-unavailable.component.d.ts +20 -20
  44. package/lib/shared/components/component-level-server-error/component-level-server-error.component.d.ts +19 -19
  45. package/lib/shared/components/error-modal/error-modal.component.d.ts +21 -21
  46. package/lib/shared/components/page-not-found/page-not-found.component.d.ts +23 -23
  47. package/lib/shared/components/server-error/server-error.component.d.ts +19 -19
  48. package/lib/shared/components/session-expired/session-expired.component.d.ts +20 -20
  49. package/lib/shared/components/unauthorized/unauthorized.component.d.ts +23 -23
  50. package/lib/shared/constants/api-config.constants.d.ts +20 -20
  51. package/lib/shared/constants/error-handling.constants.d.ts +62 -62
  52. package/lib/shared/errorhandler/chunk-error.handler.d.ts +7 -7
  53. package/lib/shared/errorhandler/sentry-error.handler.d.ts +14 -14
  54. package/lib/shared/interceptors/http.interceptor.d.ts +13 -13
  55. package/lib/shared/services/global-error.service.d.ts +31 -31
  56. package/lib/shared/services/router.service.d.ts +6 -6
  57. package/lib/shared/services/util.service.d.ts +15 -15
  58. package/lib/shared/types/global-error.types.d.ts +27 -27
  59. package/lib/ui-kit/dialog/dialog-config.d.ts +6 -6
  60. package/lib/ui-kit/dialog/dialog-injector.d.ts +7 -7
  61. package/lib/ui-kit/dialog/dialog-ref.d.ts +7 -7
  62. package/lib/ui-kit/dialog/dialog.component.d.ts +33 -33
  63. package/lib/ui-kit/dialog/dialog.module.d.ts +9 -9
  64. package/lib/ui-kit/dialog/dialog.service.d.ts +17 -17
  65. package/lib/ui-kit/dialog/insertion.directive.d.ts +8 -8
  66. package/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.d.ts +20 -20
  67. package/lib/ui-kit/snack-bar/snack-bar.module.d.ts +8 -8
  68. package/lib/ui-kit/snack-bar/snack-bar.service.d.ts +11 -11
  69. package/lib/vc-error-handlers.component.d.ts +26 -26
  70. package/lib/vc-error-handlers.module.d.ts +26 -26
  71. package/lib/vc-error-handlers.service.d.ts +6 -6
  72. package/package.json +7 -13
  73. package/public-api.d.ts +13 -13
  74. package/environments/environment.d.ts +0 -39
  75. package/esm2020/environments/environment.mjs +0 -75
  76. package/esm2020/lib/configuration.mjs +0 -6
  77. package/esm2020/lib/featureFlag/feature-flag.module.mjs +0 -22
  78. package/esm2020/lib/featureFlag/feature-flag.service.mjs +0 -95
  79. package/esm2020/lib/shared/components/component-level-server-error/component-level-server-error.component.mjs +0 -64
  80. package/esm2020/lib/shared/components/page-not-found/page-not-found.component.mjs +0 -91
  81. package/esm2020/lib/shared/components/server-error/server-error.component.mjs +0 -82
  82. package/esm2020/lib/shared/components/unauthorized/unauthorized.component.mjs +0 -102
  83. package/esm2020/lib/ui-kit/dialog/dialog-injector.mjs +0 -15
  84. package/esm2020/lib/ui-kit/dialog/dialog.module.mjs +0 -21
  85. package/esm2020/lib/ui-kit/snack-bar/snack-bar.module.mjs +0 -18
  86. package/esm2020/lib/vc-error-handlers.module.mjs +0 -84
  87. package/fesm2015/vc-error-handlers.mjs +0 -1679
  88. package/fesm2015/vc-error-handlers.mjs.map +0 -1
  89. package/fesm2020/vc-error-handlers.mjs.map +0 -1
@@ -1,16 +1,16 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class InsertionDirective {
4
- constructor(viewContainerRef) {
5
- this.viewContainerRef = viewContainerRef;
6
- }
7
- }
8
- InsertionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: InsertionDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- InsertionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.1", type: InsertionDirective, selector: "[appInsertion]", ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: InsertionDirective, decorators: [{
11
- type: Directive,
12
- args: [{
13
- selector: '[appInsertion]',
14
- }]
15
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvdWkta2l0L2RpYWxvZy9pbnNlcnRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDOztBQUs1RCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQW1CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQUcsQ0FBQzs7K0dBRDlDLGtCQUFrQjttR0FBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBSDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2FwcEluc2VydGlvbl0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5zZXJ0aW9uRGlyZWN0aXZlIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge31cclxufVxyXG4iXX0=
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class InsertionDirective {
4
+ constructor(viewContainerRef) {
5
+ this.viewContainerRef = viewContainerRef;
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InsertionDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: InsertionDirective, selector: "[appInsertion]", ngImport: i0 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InsertionDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: '[appInsertion]',
14
+ }]
15
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvdWkta2l0L2RpYWxvZy9pbnNlcnRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDOztBQUs1RCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQW1CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQUcsQ0FBQzsrR0FEOUMsa0JBQWtCO21HQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBSDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2FwcEluc2VydGlvbl0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5zZXJ0aW9uRGlyZWN0aXZlIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge31cclxufVxyXG4iXX0=
@@ -1,50 +1,50 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../snack-bar.service";
4
- import * as i2 from "@angular/common";
5
- export class SnackBarComponent {
6
- constructor(snackbarService) {
7
- this.snackbarService = snackbarService;
8
- this.show = false;
9
- this.message = '--';
10
- this.icon = '';
11
- this.type = 'alert';
12
- this.icons = {
13
- success: '',
14
- warning: '',
15
- info: '',
16
- alert: '',
17
- error: '',
18
- };
19
- }
20
- ngOnInit() {
21
- this.snackbarSubscription = this.snackbarService.snackbarState.subscribe((state) => {
22
- if (state.icon && Object.keys(this.icons).includes(state?.icon)) {
23
- this.icon = this.icons[state.icon];
24
- this.type = state?.icon;
25
- }
26
- this.message = state.message;
27
- this.show = state.show;
28
- });
29
- }
30
- setAutoClose() {
31
- setTimeout(() => {
32
- this.show = false;
33
- this.close();
34
- }, 3000);
35
- }
36
- close() {
37
- this.show = false;
38
- this.snackbarService.hide();
39
- }
40
- ngOnDestroy() {
41
- this.snackbarSubscription.unsubscribe();
42
- }
43
- }
44
- SnackBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SnackBarComponent, deps: [{ token: i1.SnackBarService }], target: i0.ɵɵFactoryTarget.Component });
45
- SnackBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: SnackBarComponent, selector: "app-snack-bar", ngImport: i0, template: "<div class=\"workflow-snackbar\" *ngIf=\"show\">\r\n <div class=\"workflow-snackbar-inner\">\r\n <div class=\"workflow-snackbarText\">\r\n <!-- &#xe914; -->\r\n <i class=\"icons\" [class]=\"type\" [innerHTML]=\"icon\"></i> <span [innerHTML]=\"message\">{{ message }}</span>\r\n </div>\r\n <button (click)=\"close()\">[ <span>Close</span> ]</button>\r\n </div>\r\n </div>", styles: ["::ng-deep .workflow-snackbar{position:fixed;top:20px;left:0;right:0;display:flex;align-items:center;justify-content:center;z-index:2147483647!important;pointer-events:none;animation:slide-top .3s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .workflow-snackbar.white{background-color:#fff;color:#000;z-index:20}::ng-deep .workflow-snackbar.white button{color:#f6882f;font-size:11px;font-weight:400;pointer-events:all}::ng-deep .workflow-snackbar .workflow-snackbar-inner{display:flex;max-width:500px;min-width:450px;align-items:center;justify-content:space-between;padding:10px;background:#ffffff;border-radius:3px;box-shadow:0 0 10px #0003;min-height:55px;pointer-events:auto}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText{color:#161b2f;font-size:13px;display:flex;align-items:center;width:calc(100% - 70px)}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i{background:#f1f1f1;color:#d93b41;border-radius:50px;font-size:16px;width:30px;height:30px;text-align:center;line-height:28px;margin-right:10px;min-width:30px}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.success{color:#34aa44}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.warning{color:#f0b819}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.info{color:#1e5dd3}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.alert,::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.error{color:#d93b41}::ng-deep .workflow-snackbar .workflow-snackbar-inner button{background:transparent;border:none;font-size:11px;padding:0;position:relative;color:#747576;width:65px;text-align:right;cursor:pointer;text-transform:uppercase}::ng-deep .workflow-snackbar .workflow-snackbar-inner button span{color:#1e5dd3;font-weight:500}::ng-deep .workflow-snackbar .workflow-snackbar-inner button:focus{outline:none}@keyframes slide-top{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SnackBarComponent, decorators: [{
47
- type: Component,
48
- args: [{ selector: 'app-snack-bar', template: "<div class=\"workflow-snackbar\" *ngIf=\"show\">\r\n <div class=\"workflow-snackbar-inner\">\r\n <div class=\"workflow-snackbarText\">\r\n <!-- &#xe914; -->\r\n <i class=\"icons\" [class]=\"type\" [innerHTML]=\"icon\"></i> <span [innerHTML]=\"message\">{{ message }}</span>\r\n </div>\r\n <button (click)=\"close()\">[ <span>Close</span> ]</button>\r\n </div>\r\n </div>", styles: ["::ng-deep .workflow-snackbar{position:fixed;top:20px;left:0;right:0;display:flex;align-items:center;justify-content:center;z-index:2147483647!important;pointer-events:none;animation:slide-top .3s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .workflow-snackbar.white{background-color:#fff;color:#000;z-index:20}::ng-deep .workflow-snackbar.white button{color:#f6882f;font-size:11px;font-weight:400;pointer-events:all}::ng-deep .workflow-snackbar .workflow-snackbar-inner{display:flex;max-width:500px;min-width:450px;align-items:center;justify-content:space-between;padding:10px;background:#ffffff;border-radius:3px;box-shadow:0 0 10px #0003;min-height:55px;pointer-events:auto}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText{color:#161b2f;font-size:13px;display:flex;align-items:center;width:calc(100% - 70px)}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i{background:#f1f1f1;color:#d93b41;border-radius:50px;font-size:16px;width:30px;height:30px;text-align:center;line-height:28px;margin-right:10px;min-width:30px}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.success{color:#34aa44}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.warning{color:#f0b819}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.info{color:#1e5dd3}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.alert,::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.error{color:#d93b41}::ng-deep .workflow-snackbar .workflow-snackbar-inner button{background:transparent;border:none;font-size:11px;padding:0;position:relative;color:#747576;width:65px;text-align:right;cursor:pointer;text-transform:uppercase}::ng-deep .workflow-snackbar .workflow-snackbar-inner button span{color:#1e5dd3;font-weight:500}::ng-deep .workflow-snackbar .workflow-snackbar-inner button:focus{outline:none}@keyframes slide-top{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}\n"] }]
49
- }], ctorParameters: function () { return [{ type: i1.SnackBarService }]; } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2stYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIvc25hY2stYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIvc25hY2stYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7O0FBUzdELE1BQU0sT0FBTyxpQkFBaUI7SUFhNUIsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBWnBELFNBQUksR0FBRyxLQUFLLENBQUM7UUFDYixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YsU0FBSSxHQUFHLFVBQVUsQ0FBQztRQUNsQixTQUFJLEdBQUcsT0FBTyxDQUFDO1FBQ2YsVUFBSyxHQUFRO1lBQ1gsT0FBTyxFQUFFLFVBQVU7WUFDbkIsT0FBTyxFQUFFLFVBQVU7WUFDbkIsSUFBSSxFQUFFLFVBQVU7WUFDaEIsS0FBSyxFQUFFLFVBQVU7WUFDakIsS0FBSyxFQUFFLFVBQVU7U0FDbEIsQ0FBQztJQUVxRCxDQUFDO0lBRXhELFFBQVE7UUFDTixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUN0RSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1IsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQy9ELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxFQUFFLElBQUksQ0FBQzthQUN6QjtZQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDekIsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBWTtRQUNWLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztZQUNsQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDO0lBQ0QsS0FBSztRQUNILElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUMsQ0FBQzs7OEdBeENVLGlCQUFpQjtrR0FBakIsaUJBQWlCLHFEQ1Q5Qix3WkFRUTsyRkRDSyxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNuYWNrQmFyU2VydmljZSB9IGZyb20gJy4uL3NuYWNrLWJhci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXNuYWNrLWJhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NuYWNrLWJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc25hY2stYmFyLmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbmFja0JhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBzaG93ID0gZmFsc2U7XHJcbiAgbWVzc2FnZSA9ICctLSc7XHJcbiAgaWNvbiA9ICcmI3hlOTE0Oyc7XHJcbiAgdHlwZSA9ICdhbGVydCc7XHJcbiAgaWNvbnM6IGFueSA9IHtcclxuICAgIHN1Y2Nlc3M6ICcmI3hlOTNkOycsXHJcbiAgICB3YXJuaW5nOiAnJiN4ZTkxNDsnLFxyXG4gICAgaW5mbzogJyYjeGU5MzI7JyxcclxuICAgIGFsZXJ0OiAnJiN4ZTkxNDsnLFxyXG4gICAgZXJyb3I6ICcmI3hlYWFlOycsXHJcbiAgfTtcclxuICBzbmFja2JhclN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNuYWNrYmFyU2VydmljZTogU25hY2tCYXJTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc25hY2tiYXJTdWJzY3JpcHRpb24gPSB0aGlzLnNuYWNrYmFyU2VydmljZS5zbmFja2JhclN0YXRlLnN1YnNjcmliZShcclxuICAgICAgKHN0YXRlKSA9PiB7XHJcbiAgICAgICAgaWYgKHN0YXRlLmljb24gJiYgT2JqZWN0LmtleXModGhpcy5pY29ucykuaW5jbHVkZXMoc3RhdGU/Lmljb24pKSB7XHJcbiAgICAgICAgICB0aGlzLmljb24gPSB0aGlzLmljb25zW3N0YXRlLmljb25dO1xyXG4gICAgICAgICAgdGhpcy50eXBlID0gc3RhdGU/Lmljb247XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubWVzc2FnZSA9IHN0YXRlLm1lc3NhZ2U7XHJcbiAgICAgICAgdGhpcy5zaG93ID0gc3RhdGUuc2hvdztcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNldEF1dG9DbG9zZSgpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNob3cgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgfSwgMzAwMCk7XHJcbiAgfVxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5zaG93ID0gZmFsc2U7XHJcbiAgICB0aGlzLnNuYWNrYmFyU2VydmljZS5oaWRlKCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zbmFja2JhclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwid29ya2Zsb3ctc25hY2tiYXJcIiAqbmdJZj1cInNob3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ3b3JrZmxvdy1zbmFja2Jhci1pbm5lclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwid29ya2Zsb3ctc25hY2tiYXJUZXh0XCI+XHJcbiAgICAgICAgPCEtLSAmI3hlOTE0OyAtLT5cclxuICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgW2NsYXNzXT1cInR5cGVcIiBbaW5uZXJIVE1MXT1cImljb25cIj48L2k+IDxzcGFuIFtpbm5lckhUTUxdPVwibWVzc2FnZVwiPnt7IG1lc3NhZ2UgfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YnV0dG9uIChjbGljayk9XCJjbG9zZSgpXCI+WyA8c3Bhbj5DbG9zZTwvc3Bhbj4gXTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+Il19
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../snack-bar.service";
4
+ import * as i2 from "@angular/common";
5
+ export class SnackBarComponent {
6
+ constructor(snackbarService) {
7
+ this.snackbarService = snackbarService;
8
+ this.show = false;
9
+ this.message = '--';
10
+ this.icon = '&#xe914;';
11
+ this.type = 'alert';
12
+ this.icons = {
13
+ success: '&#xe93d;',
14
+ warning: '&#xe914;',
15
+ info: '&#xe932;',
16
+ alert: '&#xe914;',
17
+ error: '&#xeaae;',
18
+ };
19
+ }
20
+ ngOnInit() {
21
+ this.snackbarSubscription = this.snackbarService.snackbarState.subscribe((state) => {
22
+ if (state.icon && Object.keys(this.icons).includes(state?.icon)) {
23
+ this.icon = this.icons[state.icon];
24
+ this.type = state?.icon;
25
+ }
26
+ this.message = state.message;
27
+ this.show = state.show;
28
+ });
29
+ }
30
+ setAutoClose() {
31
+ setTimeout(() => {
32
+ this.show = false;
33
+ this.close();
34
+ }, 3000);
35
+ }
36
+ close() {
37
+ this.show = false;
38
+ this.snackbarService.hide();
39
+ }
40
+ ngOnDestroy() {
41
+ this.snackbarSubscription.unsubscribe();
42
+ }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackBarComponent, deps: [{ token: i1.SnackBarService }], target: i0.ɵɵFactoryTarget.Component }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SnackBarComponent, selector: "app-snack-bar", ngImport: i0, template: "<div class=\"workflow-snackbar\" *ngIf=\"show\">\r\n <div class=\"workflow-snackbar-inner\">\r\n <div class=\"workflow-snackbarText\">\r\n <!-- &#xe914; -->\r\n <i class=\"icons\" [class]=\"type\" [innerHTML]=\"icon\"></i> <span [innerHTML]=\"message\">{{ message }}</span>\r\n </div>\r\n <button (click)=\"close()\">[ <span>Close</span> ]</button>\r\n </div>\r\n </div>", styles: ["::ng-deep .workflow-snackbar{position:fixed;top:20px;left:0;right:0;display:flex;align-items:center;justify-content:center;z-index:2147483647!important;pointer-events:none;animation:slide-top .3s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .workflow-snackbar.white{background-color:#fff;color:#000;z-index:20}::ng-deep .workflow-snackbar.white button{color:#f6882f;font-size:11px;font-weight:400;pointer-events:all}::ng-deep .workflow-snackbar .workflow-snackbar-inner{display:flex;max-width:500px;min-width:450px;align-items:center;justify-content:space-between;padding:10px;background:#fff;border-radius:3px;box-shadow:0 0 10px #0003;min-height:55px;pointer-events:auto}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText{color:#161b2f;font-size:13px;display:flex;align-items:center;width:calc(100% - 70px)}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i{background:#f1f1f1;color:#d93b41;border-radius:50px;font-size:16px;width:30px;height:30px;text-align:center;line-height:28px;margin-right:10px;min-width:30px}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.success{color:#34aa44}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.warning{color:#f0b819}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.info{color:#1e5dd3}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.alert{color:#d93b41}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.error{color:#d93b41}::ng-deep .workflow-snackbar .workflow-snackbar-inner button{background:transparent;border:none;font-size:11px;padding:0;position:relative;color:#747576;width:65px;text-align:right;cursor:pointer;text-transform:uppercase}::ng-deep .workflow-snackbar .workflow-snackbar-inner button span{color:#1e5dd3;font-weight:500}::ng-deep .workflow-snackbar .workflow-snackbar-inner button:focus{outline:none}@keyframes slide-top{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackBarComponent, decorators: [{
47
+ type: Component,
48
+ args: [{ selector: 'app-snack-bar', template: "<div class=\"workflow-snackbar\" *ngIf=\"show\">\r\n <div class=\"workflow-snackbar-inner\">\r\n <div class=\"workflow-snackbarText\">\r\n <!-- &#xe914; -->\r\n <i class=\"icons\" [class]=\"type\" [innerHTML]=\"icon\"></i> <span [innerHTML]=\"message\">{{ message }}</span>\r\n </div>\r\n <button (click)=\"close()\">[ <span>Close</span> ]</button>\r\n </div>\r\n </div>", styles: ["::ng-deep .workflow-snackbar{position:fixed;top:20px;left:0;right:0;display:flex;align-items:center;justify-content:center;z-index:2147483647!important;pointer-events:none;animation:slide-top .3s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .workflow-snackbar.white{background-color:#fff;color:#000;z-index:20}::ng-deep .workflow-snackbar.white button{color:#f6882f;font-size:11px;font-weight:400;pointer-events:all}::ng-deep .workflow-snackbar .workflow-snackbar-inner{display:flex;max-width:500px;min-width:450px;align-items:center;justify-content:space-between;padding:10px;background:#fff;border-radius:3px;box-shadow:0 0 10px #0003;min-height:55px;pointer-events:auto}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText{color:#161b2f;font-size:13px;display:flex;align-items:center;width:calc(100% - 70px)}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i{background:#f1f1f1;color:#d93b41;border-radius:50px;font-size:16px;width:30px;height:30px;text-align:center;line-height:28px;margin-right:10px;min-width:30px}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.success{color:#34aa44}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.warning{color:#f0b819}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.info{color:#1e5dd3}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.alert{color:#d93b41}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.error{color:#d93b41}::ng-deep .workflow-snackbar .workflow-snackbar-inner button{background:transparent;border:none;font-size:11px;padding:0;position:relative;color:#747576;width:65px;text-align:right;cursor:pointer;text-transform:uppercase}::ng-deep .workflow-snackbar .workflow-snackbar-inner button span{color:#1e5dd3;font-weight:500}::ng-deep .workflow-snackbar .workflow-snackbar-inner button:focus{outline:none}@keyframes slide-top{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}\n"] }]
49
+ }], ctorParameters: function () { return [{ type: i1.SnackBarService }]; } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2stYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIvc25hY2stYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIvc25hY2stYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7O0FBUzdELE1BQU0sT0FBTyxpQkFBaUI7SUFhNUIsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBWnBELFNBQUksR0FBRyxLQUFLLENBQUM7UUFDYixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YsU0FBSSxHQUFHLFVBQVUsQ0FBQztRQUNsQixTQUFJLEdBQUcsT0FBTyxDQUFDO1FBQ2YsVUFBSyxHQUFRO1lBQ1gsT0FBTyxFQUFFLFVBQVU7WUFDbkIsT0FBTyxFQUFFLFVBQVU7WUFDbkIsSUFBSSxFQUFFLFVBQVU7WUFDaEIsS0FBSyxFQUFFLFVBQVU7WUFDakIsS0FBSyxFQUFFLFVBQVU7U0FDbEIsQ0FBQztJQUVxRCxDQUFDO0lBRXhELFFBQVE7UUFDTixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUN0RSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1IsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQy9ELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxFQUFFLElBQUksQ0FBQzthQUN6QjtZQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDekIsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBWTtRQUNWLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztZQUNsQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDO0lBQ0QsS0FBSztRQUNILElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUMsQ0FBQzsrR0F4Q1UsaUJBQWlCO21HQUFqQixpQkFBaUIscURDVDlCLHdaQVFROzs0RkRDSyxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNuYWNrQmFyU2VydmljZSB9IGZyb20gJy4uL3NuYWNrLWJhci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXNuYWNrLWJhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NuYWNrLWJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc25hY2stYmFyLmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbmFja0JhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBzaG93ID0gZmFsc2U7XHJcbiAgbWVzc2FnZSA9ICctLSc7XHJcbiAgaWNvbiA9ICcmI3hlOTE0Oyc7XHJcbiAgdHlwZSA9ICdhbGVydCc7XHJcbiAgaWNvbnM6IGFueSA9IHtcclxuICAgIHN1Y2Nlc3M6ICcmI3hlOTNkOycsXHJcbiAgICB3YXJuaW5nOiAnJiN4ZTkxNDsnLFxyXG4gICAgaW5mbzogJyYjeGU5MzI7JyxcclxuICAgIGFsZXJ0OiAnJiN4ZTkxNDsnLFxyXG4gICAgZXJyb3I6ICcmI3hlYWFlOycsXHJcbiAgfTtcclxuICBzbmFja2JhclN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNuYWNrYmFyU2VydmljZTogU25hY2tCYXJTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc25hY2tiYXJTdWJzY3JpcHRpb24gPSB0aGlzLnNuYWNrYmFyU2VydmljZS5zbmFja2JhclN0YXRlLnN1YnNjcmliZShcclxuICAgICAgKHN0YXRlKSA9PiB7XHJcbiAgICAgICAgaWYgKHN0YXRlLmljb24gJiYgT2JqZWN0LmtleXModGhpcy5pY29ucykuaW5jbHVkZXMoc3RhdGU/Lmljb24pKSB7XHJcbiAgICAgICAgICB0aGlzLmljb24gPSB0aGlzLmljb25zW3N0YXRlLmljb25dO1xyXG4gICAgICAgICAgdGhpcy50eXBlID0gc3RhdGU/Lmljb247XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubWVzc2FnZSA9IHN0YXRlLm1lc3NhZ2U7XHJcbiAgICAgICAgdGhpcy5zaG93ID0gc3RhdGUuc2hvdztcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNldEF1dG9DbG9zZSgpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNob3cgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgfSwgMzAwMCk7XHJcbiAgfVxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5zaG93ID0gZmFsc2U7XHJcbiAgICB0aGlzLnNuYWNrYmFyU2VydmljZS5oaWRlKCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zbmFja2JhclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwid29ya2Zsb3ctc25hY2tiYXJcIiAqbmdJZj1cInNob3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ3b3JrZmxvdy1zbmFja2Jhci1pbm5lclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwid29ya2Zsb3ctc25hY2tiYXJUZXh0XCI+XHJcbiAgICAgICAgPCEtLSAmI3hlOTE0OyAtLT5cclxuICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgW2NsYXNzXT1cInR5cGVcIiBbaW5uZXJIVE1MXT1cImljb25cIj48L2k+IDxzcGFuIFtpbm5lckhUTUxdPVwibWVzc2FnZVwiPnt7IG1lc3NhZ2UgfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YnV0dG9uIChjbGljayk9XCJjbG9zZSgpXCI+WyA8c3Bhbj5DbG9zZTwvc3Bhbj4gXTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+Il19
@@ -0,0 +1,18 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { SnackBarComponent } from './snack-bar/snack-bar.component';
4
+ import * as i0 from "@angular/core";
5
+ export class SnackBarModule {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SnackBarModule, declarations: [SnackBarComponent], imports: [CommonModule], exports: [SnackBarComponent] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackBarModule, imports: [CommonModule] }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackBarModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [SnackBarComponent],
14
+ imports: [CommonModule],
15
+ exports: [SnackBarComponent],
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2stYmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQU9wRSxNQUFNLE9BQU8sY0FBYzsrR0FBZCxjQUFjO2dIQUFkLGNBQWMsaUJBSlYsaUJBQWlCLGFBQ3RCLFlBQVksYUFDWixpQkFBaUI7Z0hBRWhCLGNBQWMsWUFIZixZQUFZOzs0RkFHWCxjQUFjO2tCQUwxQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUNqQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNuYWNrQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9zbmFjay1iYXIvc25hY2stYmFyLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1NuYWNrQmFyQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICBleHBvcnRzOiBbU25hY2tCYXJDb21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU25hY2tCYXJNb2R1bGUge31cclxuIl19
@@ -1,32 +1,32 @@
1
- import { Injectable } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class SnackBarService {
5
- constructor() {
6
- this.snackbarSubject = new Subject();
7
- this.snackbarState = this.snackbarSubject.asObservable();
8
- }
9
- show(message, type) {
10
- this.snackbarSubject.next({
11
- show: true,
12
- message,
13
- icon: type,
14
- });
15
- }
16
- hide() {
17
- this.snackbarSubject.next({
18
- show: false,
19
- message: '',
20
- icon: '',
21
- });
22
- }
23
- }
24
- SnackBarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SnackBarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
25
- SnackBarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SnackBarService, providedIn: 'root' });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SnackBarService, decorators: [{
27
- type: Injectable,
28
- args: [{
29
- providedIn: 'root',
30
- }]
31
- }], ctorParameters: function () { return []; } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2stYmFyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1lcnJvci1oYW5kbGVycy9zcmMvbGliL3VpLWtpdC9zbmFjay1iYXIvc25hY2stYmFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUsvQixNQUFNLE9BQU8sZUFBZTtJQUcxQjtRQUZPLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUN0QyxrQkFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVoQixJQUFJLENBQUMsT0FBZSxFQUFFLElBQWdEO1FBQ3BFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO1lBQ3hCLElBQUksRUFBRSxJQUFJO1lBQ1YsT0FBTztZQUNQLElBQUksRUFBQyxJQUFJO1NBQ1YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztZQUN4QixJQUFJLEVBQUUsS0FBSztZQUNYLE9BQU8sRUFBRSxFQUFFO1lBQ1gsSUFBSSxFQUFFLEVBQUU7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDOzs0R0FuQlUsZUFBZTtnSEFBZixlQUFlLGNBRmQsTUFBTTsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNuYWNrQmFyU2VydmljZSB7XHJcbiAgcHVibGljIHNuYWNrYmFyU3ViamVjdCA9IG5ldyBTdWJqZWN0IDxhbnk+KCk7XHJcbiAgcHVibGljIHNuYWNrYmFyU3RhdGUgPSB0aGlzLnNuYWNrYmFyU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIHNob3cobWVzc2FnZTogc3RyaW5nLCB0eXBlPzonc3VjY2Vzcyd8J3dhcm5pbmcnfCdpbmZvJ3wnYWxlcnQnfCdlcnJvcicpIHtcclxuICAgIHRoaXMuc25hY2tiYXJTdWJqZWN0Lm5leHQoe1xyXG4gICAgICBzaG93OiB0cnVlLFxyXG4gICAgICBtZXNzYWdlLFxyXG4gICAgICBpY29uOnR5cGUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGhpZGUoKXtcclxuICAgIHRoaXMuc25hY2tiYXJTdWJqZWN0Lm5leHQoe1xyXG4gICAgICBzaG93OiBmYWxzZSxcclxuICAgICAgbWVzc2FnZTogJycsXHJcbiAgICAgIGljb246ICcnLFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class SnackBarService {
5
+ constructor() {
6
+ this.snackbarSubject = new Subject();
7
+ this.snackbarState = this.snackbarSubject.asObservable();
8
+ }
9
+ show(message, type) {
10
+ this.snackbarSubject.next({
11
+ show: true,
12
+ message,
13
+ icon: type,
14
+ });
15
+ }
16
+ hide() {
17
+ this.snackbarSubject.next({
18
+ show: false,
19
+ message: '',
20
+ icon: '',
21
+ });
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackBarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
24
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackBarService, providedIn: 'root' }); }
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackBarService, decorators: [{
27
+ type: Injectable,
28
+ args: [{
29
+ providedIn: 'root',
30
+ }]
31
+ }], ctorParameters: function () { return []; } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2stYmFyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1lcnJvci1oYW5kbGVycy9zcmMvbGliL3VpLWtpdC9zbmFjay1iYXIvc25hY2stYmFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUsvQixNQUFNLE9BQU8sZUFBZTtJQUcxQjtRQUZPLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUN0QyxrQkFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVoQixJQUFJLENBQUMsT0FBZSxFQUFFLElBQWdEO1FBQ3BFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO1lBQ3hCLElBQUksRUFBRSxJQUFJO1lBQ1YsT0FBTztZQUNQLElBQUksRUFBQyxJQUFJO1NBQ1YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztZQUN4QixJQUFJLEVBQUUsS0FBSztZQUNYLE9BQU8sRUFBRSxFQUFFO1lBQ1gsSUFBSSxFQUFFLEVBQUU7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDOytHQW5CVSxlQUFlO21IQUFmLGVBQWUsY0FGZCxNQUFNOzs0RkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNuYWNrQmFyU2VydmljZSB7XHJcbiAgcHVibGljIHNuYWNrYmFyU3ViamVjdCA9IG5ldyBTdWJqZWN0IDxhbnk+KCk7XHJcbiAgcHVibGljIHNuYWNrYmFyU3RhdGUgPSB0aGlzLnNuYWNrYmFyU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIHNob3cobWVzc2FnZTogc3RyaW5nLCB0eXBlPzonc3VjY2Vzcyd8J3dhcm5pbmcnfCdpbmZvJ3wnYWxlcnQnfCdlcnJvcicpIHtcclxuICAgIHRoaXMuc25hY2tiYXJTdWJqZWN0Lm5leHQoe1xyXG4gICAgICBzaG93OiB0cnVlLFxyXG4gICAgICBtZXNzYWdlLFxyXG4gICAgICBpY29uOnR5cGUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGhpZGUoKXtcclxuICAgIHRoaXMuc25hY2tiYXJTdWJqZWN0Lm5leHQoe1xyXG4gICAgICBzaG93OiBmYWxzZSxcclxuICAgICAgbWVzc2FnZTogJycsXHJcbiAgICAgIGljb246ICcnLFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,79 +1,78 @@
1
- import { Component } from '@angular/core';
2
- import { ErrorStatusCode } from './shared/types/global-error.types';
3
- import { ERROR_CONFIG } from './shared/constants/error-handling.constants';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./shared/services/global-error.service";
6
- import * as i2 from "./ui-kit/snack-bar/snack-bar.service";
7
- import * as i3 from "./ui-kit/snack-bar/snack-bar/snack-bar.component";
8
- import * as i4 from "./shared/components/session-expired/session-expired.component";
9
- import * as i5 from "./shared/components/unauthorized/unauthorized.component";
10
- import * as i6 from "./shared/components/chunk-unavailable/chunk-unavailable.component";
11
- import * as i7 from "./shared/components/server-error/server-error.component";
12
- import * as i8 from "@angular/common";
13
- export class VcErrorHandlersComponent {
14
- constructor(errorService, snackBarService) {
15
- this.errorService = errorService;
16
- this.snackBarService = snackBarService;
17
- this.errorConfig = ERROR_CONFIG.NETWORK_UNAVAILABLE;
18
- this.unauthorized = false;
19
- this.sessionExpired = false;
20
- this.chunkUnavailable = false;
21
- this.serverError = false;
22
- this.isOnline = navigator.onLine;
23
- this.onNetworkOnline = () => {
24
- this.isOnline = true;
25
- this.hideSnackBar();
26
- };
27
- this.onNetworkOffline = () => {
28
- this.isOnline = false;
29
- this.showOfflineSnackBar();
30
- };
31
- this.subscribeGlobalError();
32
- }
33
- ngOnInit() {
34
- this.subscribeNetworkDetection();
35
- }
36
- ngOnDestroy() {
37
- window.removeEventListener('online', this.onNetworkOnline);
38
- window.removeEventListener('offline', this.onNetworkOffline);
39
- }
40
- subscribeGlobalError() {
41
- this.errorService.globalError$.subscribe((error) => {
42
- this.handleError(error);
43
- });
44
- }
45
- handleError(error) {
46
- const errorHandlers = {
47
- [ErrorStatusCode.Unauthenticated]: () => (this.sessionExpired = true),
48
- [ErrorStatusCode.UnauthorizedAccess]: () => (this.unauthorized = true),
49
- [ErrorStatusCode.JSChunkUnavailable]: () => (this.chunkUnavailable = true),
50
- [ErrorStatusCode.NetworkUnavailable]: () => this.handleNetworkError(),
51
- };
52
- if (errorHandlers[error.status]) {
53
- errorHandlers[error.status]();
54
- }
55
- else if (this.errorService.isServerError(error)) {
56
- this.serverError = true;
57
- }
58
- }
59
- subscribeNetworkDetection() {
60
- window.addEventListener('online', this.onNetworkOnline);
61
- window.addEventListener('offline', this.onNetworkOffline);
62
- }
63
- handleNetworkError() {
64
- if (!this.isOnline) {
65
- this.showOfflineSnackBar();
66
- }
67
- }
68
- showOfflineSnackBar() {
69
- this.snackBarService.show(this.errorConfig.offlineMessage, 'error');
70
- }
71
- hideSnackBar() {
72
- this.snackBarService.hide();
73
- }
74
- }
75
- VcErrorHandlersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersComponent, deps: [{ token: i1.GlobalErrorService }, { token: i2.SnackBarService }], target: i0.ɵɵFactoryTarget.Component });
76
- VcErrorHandlersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: VcErrorHandlersComponent, selector: "lib-vc-error-handlers", ngImport: i0, template: `
1
+ import { Component } from '@angular/core';
2
+ import { ErrorStatusCode } from './shared/types/global-error.types';
3
+ import { ERROR_CONFIG } from './shared/constants/error-handling.constants';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./shared/services/global-error.service";
6
+ import * as i2 from "./ui-kit/snack-bar/snack-bar.service";
7
+ import * as i3 from "@angular/common";
8
+ import * as i4 from "./ui-kit/snack-bar/snack-bar/snack-bar.component";
9
+ import * as i5 from "./shared/components/unauthorized/unauthorized.component";
10
+ import * as i6 from "./shared/components/session-expired/session-expired.component";
11
+ import * as i7 from "./shared/components/chunk-unavailable/chunk-unavailable.component";
12
+ import * as i8 from "./shared/components/server-error/server-error.component";
13
+ export class VcErrorHandlersComponent {
14
+ constructor(errorService, snackBarService) {
15
+ this.errorService = errorService;
16
+ this.snackBarService = snackBarService;
17
+ this.errorConfig = ERROR_CONFIG.NETWORK_UNAVAILABLE;
18
+ this.unauthorized = false;
19
+ this.sessionExpired = false;
20
+ this.chunkUnavailable = false;
21
+ this.serverError = false;
22
+ this.isOnline = navigator.onLine;
23
+ this.onNetworkOnline = () => {
24
+ this.isOnline = true;
25
+ this.hideSnackBar();
26
+ };
27
+ this.onNetworkOffline = () => {
28
+ this.isOnline = false;
29
+ this.showOfflineSnackBar();
30
+ };
31
+ this.subscribeGlobalError();
32
+ }
33
+ ngOnInit() {
34
+ this.subscribeNetworkDetection();
35
+ }
36
+ ngOnDestroy() {
37
+ window.removeEventListener('online', this.onNetworkOnline);
38
+ window.removeEventListener('offline', this.onNetworkOffline);
39
+ }
40
+ subscribeGlobalError() {
41
+ this.errorService.globalError$.subscribe((error) => {
42
+ this.handleError(error);
43
+ });
44
+ }
45
+ handleError(error) {
46
+ const errorHandlers = {
47
+ [ErrorStatusCode.Unauthenticated]: () => (this.sessionExpired = true),
48
+ [ErrorStatusCode.UnauthorizedAccess]: () => (this.unauthorized = true),
49
+ [ErrorStatusCode.JSChunkUnavailable]: () => (this.chunkUnavailable = true),
50
+ [ErrorStatusCode.NetworkUnavailable]: () => this.handleNetworkError(),
51
+ };
52
+ if (errorHandlers[error.status]) {
53
+ errorHandlers[error.status]();
54
+ }
55
+ else if (this.errorService.isServerError(error)) {
56
+ this.serverError = true;
57
+ }
58
+ }
59
+ subscribeNetworkDetection() {
60
+ window.addEventListener('online', this.onNetworkOnline);
61
+ window.addEventListener('offline', this.onNetworkOffline);
62
+ }
63
+ handleNetworkError() {
64
+ if (!this.isOnline) {
65
+ this.showOfflineSnackBar();
66
+ }
67
+ }
68
+ showOfflineSnackBar() {
69
+ this.snackBarService.show(this.errorConfig.offlineMessage, 'error');
70
+ }
71
+ hideSnackBar() {
72
+ this.snackBarService.hide();
73
+ }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcErrorHandlersComponent, deps: [{ token: i1.GlobalErrorService }, { token: i2.SnackBarService }], target: i0.ɵɵFactoryTarget.Component }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: VcErrorHandlersComponent, selector: "lib-vc-error-handlers", ngImport: i0, template: `
77
76
  <app-snack-bar></app-snack-bar>
78
77
  <lib-vc-error-session-expired
79
78
  *ngIf="sessionExpired"
@@ -83,11 +82,12 @@ VcErrorHandlersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
83
82
  *ngIf="chunkUnavailable"
84
83
  ></lib-vc-error-chunk-unavailable>
85
84
  <lib-vc-error-server-error *ngIf="serverError"></lib-vc-error-server-error>
86
- `, isInline: true, components: [{ type: i3.SnackBarComponent, selector: "app-snack-bar" }, { type: i4.SessionExpiredComponent, selector: "lib-vc-error-session-expired" }, { type: i5.UnauthorizedComponent, selector: "lib-vc-error-unauthorized" }, { type: i6.ChunkUnavailableComponent, selector: "lib-vc-error-chunk-unavailable" }, { type: i7.ServerErrorComponent, selector: "lib-vc-error-server-error" }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersComponent, decorators: [{
88
- type: Component,
89
- args: [{
90
- selector: 'lib-vc-error-handlers',
85
+ `, isInline: true, dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.SnackBarComponent, selector: "app-snack-bar" }, { kind: "component", type: i5.UnauthorizedComponent, selector: "lib-vc-error-unauthorized" }, { kind: "component", type: i6.SessionExpiredComponent, selector: "lib-vc-error-session-expired" }, { kind: "component", type: i7.ChunkUnavailableComponent, selector: "lib-vc-error-chunk-unavailable" }, { kind: "component", type: i8.ServerErrorComponent, selector: "lib-vc-error-server-error" }] }); }
86
+ }
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcErrorHandlersComponent, decorators: [{
88
+ type: Component,
89
+ args: [{
90
+ selector: 'lib-vc-error-handlers',
91
91
  template: `
92
92
  <app-snack-bar></app-snack-bar>
93
93
  <lib-vc-error-session-expired
@@ -98,7 +98,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
98
98
  *ngIf="chunkUnavailable"
99
99
  ></lib-vc-error-chunk-unavailable>
100
100
  <lib-vc-error-server-error *ngIf="serverError"></lib-vc-error-server-error>
101
- `,
102
- }]
103
- }], ctorParameters: function () { return [{ type: i1.GlobalErrorService }, { type: i2.SnackBarService }]; } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtZXJyb3ItaGFuZGxlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi92Yy1lcnJvci1oYW5kbGVycy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0xQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7Ozs7Ozs7O0FBZ0IzRSxNQUFNLE9BQU8sd0JBQXdCO0lBU25DLFlBQ1UsWUFBZ0MsRUFDaEMsZUFBZ0M7UUFEaEMsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQ2hDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQVZsQyxnQkFBVyxHQUFHLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQztRQUV2RCxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsYUFBUSxHQUFZLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUE0QzdCLG9CQUFlLEdBQUcsR0FBRyxFQUFFO1lBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUM7UUFFTSxxQkFBZ0IsR0FBRyxHQUFHLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDO1FBOUNBLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELFdBQVc7UUFDVCxNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMzRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQ3BFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQXdCO1FBQzFDLE1BQU0sYUFBYSxHQUFrQztZQUNuRCxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1lBQ3JFLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN0RSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUMxRSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtTQUN0RSxDQUFDO1FBRUYsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQy9CLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztTQUMvQjthQUFNLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRU8seUJBQXlCO1FBQy9CLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQVlPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDOztxSEF6RVUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsNkRBWnpCOzs7Ozs7Ozs7O0dBVVQ7MkZBRVUsd0JBQXdCO2tCQWRwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRTs7Ozs7Ozs7OztHQVVUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuaW1wb3J0IHsgR2xvYmFsRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi9zaGFyZWQvc2VydmljZXMvZ2xvYmFsLWVycm9yLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuL3VpLWtpdC9zbmFjay1iYXIvc25hY2stYmFyLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgRXJyb3JTdGF0dXNDb2RlIH0gZnJvbSAnLi9zaGFyZWQvdHlwZXMvZ2xvYmFsLWVycm9yLnR5cGVzJztcclxuaW1wb3J0IHsgRVJST1JfQ09ORklHIH0gZnJvbSAnLi9zaGFyZWQvY29uc3RhbnRzL2Vycm9yLWhhbmRsaW5nLmNvbnN0YW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi12Yy1lcnJvci1oYW5kbGVycycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxhcHAtc25hY2stYmFyPjwvYXBwLXNuYWNrLWJhcj5cclxuICAgIDxsaWItdmMtZXJyb3Itc2Vzc2lvbi1leHBpcmVkXHJcbiAgICAgICpuZ0lmPVwic2Vzc2lvbkV4cGlyZWRcIlxyXG4gICAgPjwvbGliLXZjLWVycm9yLXNlc3Npb24tZXhwaXJlZD5cclxuICAgIDxsaWItdmMtZXJyb3ItdW5hdXRob3JpemVkICpuZ0lmPVwidW5hdXRob3JpemVkXCI+PC9saWItdmMtZXJyb3ItdW5hdXRob3JpemVkPlxyXG4gICAgPGxpYi12Yy1lcnJvci1jaHVuay11bmF2YWlsYWJsZVxyXG4gICAgICAqbmdJZj1cImNodW5rVW5hdmFpbGFibGVcIlxyXG4gICAgPjwvbGliLXZjLWVycm9yLWNodW5rLXVuYXZhaWxhYmxlPlxyXG4gICAgPGxpYi12Yy1lcnJvci1zZXJ2ZXItZXJyb3IgKm5nSWY9XCJzZXJ2ZXJFcnJvclwiPjwvbGliLXZjLWVycm9yLXNlcnZlci1lcnJvcj5cclxuICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmNFcnJvckhhbmRsZXJzQ29tcG9uZW50IHtcclxuICBwcml2YXRlIGVycm9yQ29uZmlnID0gRVJST1JfQ09ORklHLk5FVFdPUktfVU5BVkFJTEFCTEU7XHJcblxyXG4gIHVuYXV0aG9yaXplZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNlc3Npb25FeHBpcmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY2h1bmtVbmF2YWlsYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNlcnZlckVycm9yOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNPbmxpbmU6IGJvb2xlYW4gPSBuYXZpZ2F0b3Iub25MaW5lO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZXJyb3JTZXJ2aWNlOiBHbG9iYWxFcnJvclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNuYWNrQmFyU2VydmljZTogU25hY2tCYXJTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLnN1YnNjcmliZUdsb2JhbEVycm9yKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc3Vic2NyaWJlTmV0d29ya0RldGVjdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignb25saW5lJywgdGhpcy5vbk5ldHdvcmtPbmxpbmUpO1xyXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ29mZmxpbmUnLCB0aGlzLm9uTmV0d29ya09mZmxpbmUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVHbG9iYWxFcnJvcigpIHtcclxuICAgIHRoaXMuZXJyb3JTZXJ2aWNlLmdsb2JhbEVycm9yJC5zdWJzY3JpYmUoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgIGNvbnN0IGVycm9ySGFuZGxlcnM6IHsgW2tleTogbnVtYmVyXTogKCkgPT4gdm9pZCB9ID0ge1xyXG4gICAgICBbRXJyb3JTdGF0dXNDb2RlLlVuYXV0aGVudGljYXRlZF06ICgpID0+ICh0aGlzLnNlc3Npb25FeHBpcmVkID0gdHJ1ZSksXHJcbiAgICAgIFtFcnJvclN0YXR1c0NvZGUuVW5hdXRob3JpemVkQWNjZXNzXTogKCkgPT4gKHRoaXMudW5hdXRob3JpemVkID0gdHJ1ZSksXHJcbiAgICAgIFtFcnJvclN0YXR1c0NvZGUuSlNDaHVua1VuYXZhaWxhYmxlXTogKCkgPT4gKHRoaXMuY2h1bmtVbmF2YWlsYWJsZSA9IHRydWUpLFxyXG4gICAgICBbRXJyb3JTdGF0dXNDb2RlLk5ldHdvcmtVbmF2YWlsYWJsZV06ICgpID0+IHRoaXMuaGFuZGxlTmV0d29ya0Vycm9yKCksXHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChlcnJvckhhbmRsZXJzW2Vycm9yLnN0YXR1c10pIHtcclxuICAgICAgZXJyb3JIYW5kbGVyc1tlcnJvci5zdGF0dXNdKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZXJyb3JTZXJ2aWNlLmlzU2VydmVyRXJyb3IoZXJyb3IpKSB7XHJcbiAgICAgIHRoaXMuc2VydmVyRXJyb3IgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVOZXR3b3JrRGV0ZWN0aW9uKCkge1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ29ubGluZScsIHRoaXMub25OZXR3b3JrT25saW5lKTtcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdvZmZsaW5lJywgdGhpcy5vbk5ldHdvcmtPZmZsaW5lKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25OZXR3b3JrT25saW5lID0gKCkgPT4ge1xyXG4gICAgdGhpcy5pc09ubGluZSA9IHRydWU7XHJcbiAgICB0aGlzLmhpZGVTbmFja0JhcigpO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgb25OZXR3b3JrT2ZmbGluZSA9ICgpID0+IHtcclxuICAgIHRoaXMuaXNPbmxpbmUgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd09mZmxpbmVTbmFja0JhcigpO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlTmV0d29ya0Vycm9yKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzT25saW5lKSB7XHJcbiAgICAgIHRoaXMuc2hvd09mZmxpbmVTbmFja0JhcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaG93T2ZmbGluZVNuYWNrQmFyKCkge1xyXG4gICAgdGhpcy5zbmFja0JhclNlcnZpY2Uuc2hvdyh0aGlzLmVycm9yQ29uZmlnLm9mZmxpbmVNZXNzYWdlLCAnZXJyb3InKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGlkZVNuYWNrQmFyKCkge1xyXG4gICAgdGhpcy5zbmFja0JhclNlcnZpY2UuaGlkZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
101
+ `,
102
+ }]
103
+ }], ctorParameters: function () { return [{ type: i1.GlobalErrorService }, { type: i2.SnackBarService }]; } });
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtZXJyb3ItaGFuZGxlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi92Yy1lcnJvci1oYW5kbGVycy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0xQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7Ozs7Ozs7O0FBZ0IzRSxNQUFNLE9BQU8sd0JBQXdCO0lBU25DLFlBQ1UsWUFBZ0MsRUFDaEMsZUFBZ0M7UUFEaEMsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQ2hDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQVZsQyxnQkFBVyxHQUFHLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQztRQUV2RCxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsYUFBUSxHQUFZLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUE0QzdCLG9CQUFlLEdBQUcsR0FBRyxFQUFFO1lBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUM7UUFFTSxxQkFBZ0IsR0FBRyxHQUFHLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDO1FBOUNBLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELFdBQVc7UUFDVCxNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMzRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQ3BFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQXdCO1FBQzFDLE1BQU0sYUFBYSxHQUFrQztZQUNuRCxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1lBQ3JFLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN0RSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUMxRSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtTQUN0RSxDQUFDO1FBRUYsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQy9CLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztTQUMvQjthQUFNLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRU8seUJBQXlCO1FBQy9CLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQVlPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDOytHQXpFVSx3QkFBd0I7bUdBQXhCLHdCQUF3Qiw2REFaekI7Ozs7Ozs7Ozs7R0FVVDs7NEZBRVUsd0JBQXdCO2tCQWRwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRTs7Ozs7Ozs7OztHQVVUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuaW1wb3J0IHsgR2xvYmFsRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi9zaGFyZWQvc2VydmljZXMvZ2xvYmFsLWVycm9yLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuL3VpLWtpdC9zbmFjay1iYXIvc25hY2stYmFyLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgRXJyb3JTdGF0dXNDb2RlIH0gZnJvbSAnLi9zaGFyZWQvdHlwZXMvZ2xvYmFsLWVycm9yLnR5cGVzJztcclxuaW1wb3J0IHsgRVJST1JfQ09ORklHIH0gZnJvbSAnLi9zaGFyZWQvY29uc3RhbnRzL2Vycm9yLWhhbmRsaW5nLmNvbnN0YW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi12Yy1lcnJvci1oYW5kbGVycycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxhcHAtc25hY2stYmFyPjwvYXBwLXNuYWNrLWJhcj5cclxuICAgIDxsaWItdmMtZXJyb3Itc2Vzc2lvbi1leHBpcmVkXHJcbiAgICAgICpuZ0lmPVwic2Vzc2lvbkV4cGlyZWRcIlxyXG4gICAgPjwvbGliLXZjLWVycm9yLXNlc3Npb24tZXhwaXJlZD5cclxuICAgIDxsaWItdmMtZXJyb3ItdW5hdXRob3JpemVkICpuZ0lmPVwidW5hdXRob3JpemVkXCI+PC9saWItdmMtZXJyb3ItdW5hdXRob3JpemVkPlxyXG4gICAgPGxpYi12Yy1lcnJvci1jaHVuay11bmF2YWlsYWJsZVxyXG4gICAgICAqbmdJZj1cImNodW5rVW5hdmFpbGFibGVcIlxyXG4gICAgPjwvbGliLXZjLWVycm9yLWNodW5rLXVuYXZhaWxhYmxlPlxyXG4gICAgPGxpYi12Yy1lcnJvci1zZXJ2ZXItZXJyb3IgKm5nSWY9XCJzZXJ2ZXJFcnJvclwiPjwvbGliLXZjLWVycm9yLXNlcnZlci1lcnJvcj5cclxuICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmNFcnJvckhhbmRsZXJzQ29tcG9uZW50IHtcclxuICBwcml2YXRlIGVycm9yQ29uZmlnID0gRVJST1JfQ09ORklHLk5FVFdPUktfVU5BVkFJTEFCTEU7XHJcblxyXG4gIHVuYXV0aG9yaXplZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNlc3Npb25FeHBpcmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY2h1bmtVbmF2YWlsYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNlcnZlckVycm9yOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNPbmxpbmU6IGJvb2xlYW4gPSBuYXZpZ2F0b3Iub25MaW5lO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZXJyb3JTZXJ2aWNlOiBHbG9iYWxFcnJvclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNuYWNrQmFyU2VydmljZTogU25hY2tCYXJTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLnN1YnNjcmliZUdsb2JhbEVycm9yKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc3Vic2NyaWJlTmV0d29ya0RldGVjdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignb25saW5lJywgdGhpcy5vbk5ldHdvcmtPbmxpbmUpO1xyXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ29mZmxpbmUnLCB0aGlzLm9uTmV0d29ya09mZmxpbmUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVHbG9iYWxFcnJvcigpIHtcclxuICAgIHRoaXMuZXJyb3JTZXJ2aWNlLmdsb2JhbEVycm9yJC5zdWJzY3JpYmUoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgIGNvbnN0IGVycm9ySGFuZGxlcnM6IHsgW2tleTogbnVtYmVyXTogKCkgPT4gdm9pZCB9ID0ge1xyXG4gICAgICBbRXJyb3JTdGF0dXNDb2RlLlVuYXV0aGVudGljYXRlZF06ICgpID0+ICh0aGlzLnNlc3Npb25FeHBpcmVkID0gdHJ1ZSksXHJcbiAgICAgIFtFcnJvclN0YXR1c0NvZGUuVW5hdXRob3JpemVkQWNjZXNzXTogKCkgPT4gKHRoaXMudW5hdXRob3JpemVkID0gdHJ1ZSksXHJcbiAgICAgIFtFcnJvclN0YXR1c0NvZGUuSlNDaHVua1VuYXZhaWxhYmxlXTogKCkgPT4gKHRoaXMuY2h1bmtVbmF2YWlsYWJsZSA9IHRydWUpLFxyXG4gICAgICBbRXJyb3JTdGF0dXNDb2RlLk5ldHdvcmtVbmF2YWlsYWJsZV06ICgpID0+IHRoaXMuaGFuZGxlTmV0d29ya0Vycm9yKCksXHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChlcnJvckhhbmRsZXJzW2Vycm9yLnN0YXR1c10pIHtcclxuICAgICAgZXJyb3JIYW5kbGVyc1tlcnJvci5zdGF0dXNdKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZXJyb3JTZXJ2aWNlLmlzU2VydmVyRXJyb3IoZXJyb3IpKSB7XHJcbiAgICAgIHRoaXMuc2VydmVyRXJyb3IgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVOZXR3b3JrRGV0ZWN0aW9uKCkge1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ29ubGluZScsIHRoaXMub25OZXR3b3JrT25saW5lKTtcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdvZmZsaW5lJywgdGhpcy5vbk5ldHdvcmtPZmZsaW5lKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25OZXR3b3JrT25saW5lID0gKCkgPT4ge1xyXG4gICAgdGhpcy5pc09ubGluZSA9IHRydWU7XHJcbiAgICB0aGlzLmhpZGVTbmFja0JhcigpO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgb25OZXR3b3JrT2ZmbGluZSA9ICgpID0+IHtcclxuICAgIHRoaXMuaXNPbmxpbmUgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd09mZmxpbmVTbmFja0JhcigpO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlTmV0d29ya0Vycm9yKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzT25saW5lKSB7XHJcbiAgICAgIHRoaXMuc2hvd09mZmxpbmVTbmFja0JhcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaG93T2ZmbGluZVNuYWNrQmFyKCkge1xyXG4gICAgdGhpcy5zbmFja0JhclNlcnZpY2Uuc2hvdyh0aGlzLmVycm9yQ29uZmlnLm9mZmxpbmVNZXNzYWdlLCAnZXJyb3InKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGlkZVNuYWNrQmFyKCkge1xyXG4gICAgdGhpcy5zbmFja0JhclNlcnZpY2UuaGlkZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,84 @@
1
+ import { ErrorHandler, InjectionToken, NgModule, } from '@angular/core';
2
+ import { HTTP_INTERCEPTORS } from '@angular/common/http';
3
+ import { CommonModule, NgOptimizedImage } from '@angular/common';
4
+ import { PageNotFoundComponent } from './shared/components/page-not-found/page-not-found.component';
5
+ import { VcErrorHandlersComponent } from './vc-error-handlers.component';
6
+ import { DialogModule } from './ui-kit/dialog/dialog.module';
7
+ import { SnackBarModule } from './ui-kit/snack-bar/snack-bar.module';
8
+ import { FeatureFlagModule } from './featureFlag/feature-flag.module';
9
+ import { SentryErrorHandler } from './shared/errorhandler/sentry-error.handler';
10
+ import { Configurations } from './configuration';
11
+ import { UnauthorizedComponent } from './shared/components/unauthorized/unauthorized.component';
12
+ import { SessionExpiredComponent } from './shared/components/session-expired/session-expired.component';
13
+ import { ChunkUnavailableComponent } from './shared/components/chunk-unavailable/chunk-unavailable.component';
14
+ import { ServerErrorComponent } from './shared/components/server-error/server-error.component';
15
+ import { HttpReqInterceptor } from './shared/interceptors/http.interceptor';
16
+ import { ErrorModalComponent } from './shared/components/error-modal/error-modal.component';
17
+ import { ComponentLevelServerErrorComponent } from './shared/components/component-level-server-error/component-level-server-error.component';
18
+ import * as i0 from "@angular/core";
19
+ import * as i1 from "./featureFlag/feature-flag.service";
20
+ export const FOR_ROOT_SENTRY_OPTIONS_TOKEN = new InjectionToken('forRoot() SentryErrorHandler options');
21
+ export class VcErrorHandlersModule {
22
+ constructor(loadConfig) {
23
+ this.loadConfig = loadConfig;
24
+ this.loadConfig.loadConfig();
25
+ }
26
+ static forRoot(environmentConfig) {
27
+ return {
28
+ ngModule: VcErrorHandlersModule,
29
+ providers: [{ provide: Configurations, useValue: environmentConfig }],
30
+ };
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcErrorHandlersModule, deps: [{ token: i1.FeatureFlagService }], target: i0.ɵɵFactoryTarget.NgModule }); }
33
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: VcErrorHandlersModule, bootstrap: [VcErrorHandlersComponent], declarations: [VcErrorHandlersComponent,
34
+ PageNotFoundComponent,
35
+ UnauthorizedComponent,
36
+ SessionExpiredComponent,
37
+ ChunkUnavailableComponent,
38
+ ServerErrorComponent,
39
+ ErrorModalComponent,
40
+ ComponentLevelServerErrorComponent], imports: [CommonModule, DialogModule, SnackBarModule, FeatureFlagModule, NgOptimizedImage], exports: [VcErrorHandlersComponent,
41
+ PageNotFoundComponent,
42
+ UnauthorizedComponent,
43
+ SessionExpiredComponent,
44
+ ChunkUnavailableComponent,
45
+ ServerErrorComponent,
46
+ ErrorModalComponent,
47
+ ComponentLevelServerErrorComponent] }); }
48
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcErrorHandlersModule, providers: [
49
+ { provide: ErrorHandler, useClass: SentryErrorHandler },
50
+ { provide: HTTP_INTERCEPTORS, useClass: HttpReqInterceptor, multi: true },
51
+ ], imports: [CommonModule, DialogModule, SnackBarModule, FeatureFlagModule] }); }
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcErrorHandlersModule, decorators: [{
54
+ type: NgModule,
55
+ args: [{
56
+ declarations: [
57
+ VcErrorHandlersComponent,
58
+ PageNotFoundComponent,
59
+ UnauthorizedComponent,
60
+ SessionExpiredComponent,
61
+ ChunkUnavailableComponent,
62
+ ServerErrorComponent,
63
+ ErrorModalComponent,
64
+ ComponentLevelServerErrorComponent,
65
+ ],
66
+ imports: [CommonModule, DialogModule, SnackBarModule, FeatureFlagModule, NgOptimizedImage],
67
+ exports: [
68
+ VcErrorHandlersComponent,
69
+ PageNotFoundComponent,
70
+ UnauthorizedComponent,
71
+ SessionExpiredComponent,
72
+ ChunkUnavailableComponent,
73
+ ServerErrorComponent,
74
+ ErrorModalComponent,
75
+ ComponentLevelServerErrorComponent,
76
+ ],
77
+ providers: [
78
+ { provide: ErrorHandler, useClass: SentryErrorHandler },
79
+ { provide: HTTP_INTERCEPTORS, useClass: HttpReqInterceptor, multi: true },
80
+ ],
81
+ bootstrap: [VcErrorHandlersComponent],
82
+ }]
83
+ }], ctorParameters: function () { return [{ type: i1.FeatureFlagService }]; } });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtZXJyb3ItaGFuZGxlcnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi92Yy1lcnJvci1oYW5kbGVycy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixjQUFjLEVBRWQsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBTXRFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNoRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUUvRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx5RkFBeUYsQ0FBQzs7O0FBRTdJLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLElBQUksY0FBYyxDQUM3RCxzQ0FBc0MsQ0FDdkMsQ0FBQztBQThCRixNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQW9CLFVBQThCO1FBQTlCLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBQ2hELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFPLENBQ25CLGlCQUFpQztRQUVqQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHFCQUFxQjtZQUMvQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLENBQUM7U0FDdEUsQ0FBQztJQUNKLENBQUM7K0dBWlUscUJBQXFCO2dIQUFyQixxQkFBcUIsY0FGcEIsd0JBQXdCLGtCQXhCbEMsd0JBQXdCO1lBQ3hCLHFCQUFxQjtZQUNyQixxQkFBcUI7WUFDckIsdUJBQXVCO1lBQ3ZCLHlCQUF5QjtZQUN6QixvQkFBb0I7WUFDcEIsbUJBQW1CO1lBQ25CLGtDQUFrQyxhQUUxQixZQUFZLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsYUFFdkYsd0JBQXdCO1lBQ3hCLHFCQUFxQjtZQUNyQixxQkFBcUI7WUFDckIsdUJBQXVCO1lBQ3ZCLHlCQUF5QjtZQUN6QixvQkFBb0I7WUFDcEIsbUJBQW1CO1lBQ25CLGtDQUFrQztnSEFRekIscUJBQXFCLGFBTnJCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRTtZQUN2RCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtTQUMxRSxZQWRTLFlBQVksRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLGlCQUFpQjs7NEZBaUI1RCxxQkFBcUI7a0JBNUJqQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWix3QkFBd0I7d0JBQ3hCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLGtDQUFrQztxQkFDbkM7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUM7b0JBQzFGLE9BQU8sRUFBRTt3QkFDUCx3QkFBd0I7d0JBQ3hCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLGtDQUFrQztxQkFDbkM7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUU7d0JBQ3ZELEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3FCQUMxRTtvQkFDRCxTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEVycm9ySGFuZGxlcixcclxuICBJbmplY3Rpb25Ub2tlbixcclxuICBNb2R1bGVXaXRoUHJvdmlkZXJzLFxyXG4gIE5nTW9kdWxlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIVFRQX0lOVEVSQ0VQVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBOZ09wdGltaXplZEltYWdlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IFBhZ2VOb3RGb3VuZENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkL2NvbXBvbmVudHMvcGFnZS1ub3QtZm91bmQvcGFnZS1ub3QtZm91bmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmNFcnJvckhhbmRsZXJzQ29tcG9uZW50IH0gZnJvbSAnLi92Yy1lcnJvci1oYW5kbGVycy5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSAnLi91aS1raXQvZGlhbG9nL2RpYWxvZy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTbmFja0Jhck1vZHVsZSB9IGZyb20gJy4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIubW9kdWxlJztcclxuaW1wb3J0IHsgRmVhdHVyZUZsYWdNb2R1bGUgfSBmcm9tICcuL2ZlYXR1cmVGbGFnL2ZlYXR1cmUtZmxhZy5tb2R1bGUnO1xyXG5cclxuaW1wb3J0IHsgRmVhdHVyZUZsYWdTZXJ2aWNlIH0gZnJvbSAnLi9mZWF0dXJlRmxhZy9mZWF0dXJlLWZsYWcuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBCcm93c2VyT3B0aW9ucyB9IGZyb20gJ0BzZW50cnkvYnJvd3Nlcic7XHJcbmltcG9ydCB7IEdsb2JhbEVycm9ySGFuZGxlciB9IGZyb20gJy4vc2hhcmVkL2Vycm9yaGFuZGxlci9jaHVuay1lcnJvci5oYW5kbGVyJztcclxuaW1wb3J0IHsgU2VudHJ5RXJyb3JIYW5kbGVyIH0gZnJvbSAnLi9zaGFyZWQvZXJyb3JoYW5kbGVyL3NlbnRyeS1lcnJvci5oYW5kbGVyJztcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnMgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBVbmF1dGhvcml6ZWRDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZC9jb21wb25lbnRzL3VuYXV0aG9yaXplZC91bmF1dGhvcml6ZWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2Vzc2lvbkV4cGlyZWRDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZC9jb21wb25lbnRzL3Nlc3Npb24tZXhwaXJlZC9zZXNzaW9uLWV4cGlyZWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2h1bmtVbmF2YWlsYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkL2NvbXBvbmVudHMvY2h1bmstdW5hdmFpbGFibGUvY2h1bmstdW5hdmFpbGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VydmVyRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZC9jb21wb25lbnRzL3NlcnZlci1lcnJvci9zZXJ2ZXItZXJyb3IuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IEh0dHBSZXFJbnRlcmNlcHRvciB9IGZyb20gJy4vc2hhcmVkL2ludGVyY2VwdG9ycy9odHRwLmludGVyY2VwdG9yJztcclxuaW1wb3J0IHsgRXJyb3JNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkL2NvbXBvbmVudHMvZXJyb3ItbW9kYWwvZXJyb3ItbW9kYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tcG9uZW50TGV2ZWxTZXJ2ZXJFcnJvckNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkL2NvbXBvbmVudHMvY29tcG9uZW50LWxldmVsLXNlcnZlci1lcnJvci9jb21wb25lbnQtbGV2ZWwtc2VydmVyLWVycm9yLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgY29uc3QgRk9SX1JPT1RfU0VOVFJZX09QVElPTlNfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48QnJvd3Nlck9wdGlvbnM+KFxyXG4gICdmb3JSb290KCkgU2VudHJ5RXJyb3JIYW5kbGVyIG9wdGlvbnMnXHJcbik7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgVmNFcnJvckhhbmRsZXJzQ29tcG9uZW50LFxyXG4gICAgUGFnZU5vdEZvdW5kQ29tcG9uZW50LFxyXG4gICAgVW5hdXRob3JpemVkQ29tcG9uZW50LFxyXG4gICAgU2Vzc2lvbkV4cGlyZWRDb21wb25lbnQsXHJcbiAgICBDaHVua1VuYXZhaWxhYmxlQ29tcG9uZW50LFxyXG4gICAgU2VydmVyRXJyb3JDb21wb25lbnQsXHJcbiAgICBFcnJvck1vZGFsQ29tcG9uZW50LFxyXG4gICAgQ29tcG9uZW50TGV2ZWxTZXJ2ZXJFcnJvckNvbXBvbmVudCxcclxuICBdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIERpYWxvZ01vZHVsZSwgU25hY2tCYXJNb2R1bGUsIEZlYXR1cmVGbGFnTW9kdWxlLCBOZ09wdGltaXplZEltYWdlXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBWY0Vycm9ySGFuZGxlcnNDb21wb25lbnQsXHJcbiAgICBQYWdlTm90Rm91bmRDb21wb25lbnQsXHJcbiAgICBVbmF1dGhvcml6ZWRDb21wb25lbnQsXHJcbiAgICBTZXNzaW9uRXhwaXJlZENvbXBvbmVudCxcclxuICAgIENodW5rVW5hdmFpbGFibGVDb21wb25lbnQsXHJcbiAgICBTZXJ2ZXJFcnJvckNvbXBvbmVudCxcclxuICAgIEVycm9yTW9kYWxDb21wb25lbnQsXHJcbiAgICBDb21wb25lbnRMZXZlbFNlcnZlckVycm9yQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7IHByb3ZpZGU6IEVycm9ySGFuZGxlciwgdXNlQ2xhc3M6IFNlbnRyeUVycm9ySGFuZGxlciB9LFxyXG4gICAgeyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IEh0dHBSZXFJbnRlcmNlcHRvciwgbXVsdGk6IHRydWUgfSxcclxuICBdLFxyXG4gIGJvb3RzdHJhcDogW1ZjRXJyb3JIYW5kbGVyc0NvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWY0Vycm9ySGFuZGxlcnNNb2R1bGUge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbG9hZENvbmZpZzogRmVhdHVyZUZsYWdTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmxvYWRDb25maWcubG9hZENvbmZpZygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KFxyXG4gICAgZW52aXJvbm1lbnRDb25maWc6IENvbmZpZ3VyYXRpb25zXHJcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxWY0Vycm9ySGFuZGxlcnNNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBWY0Vycm9ySGFuZGxlcnNNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQ29uZmlndXJhdGlvbnMsIHVzZVZhbHVlOiBlbnZpcm9ubWVudENvbmZpZyB9XSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==