vc-error-handlers 0.1.97 → 0.1.99

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 (101) hide show
  1. package/environments/environment.d.ts +39 -39
  2. package/{esm2020 → esm2022}/environments/environment.mjs +74 -74
  3. package/{esm2020 → esm2022}/lib/configuration.mjs +5 -5
  4. package/{esm2020 → esm2022}/lib/featureFlag/feature-flag.directive.mjs +27 -27
  5. package/esm2022/lib/featureFlag/feature-flag.module.mjs +20 -0
  6. package/{esm2020 → esm2022}/lib/featureFlag/feature-flag.service.mjs +95 -95
  7. package/esm2022/lib/shared/components/chunk-unavailable/chunk-unavailable.component.mjs +35 -0
  8. package/esm2022/lib/shared/components/component-level-server-error/component-level-server-error.component.mjs +65 -0
  9. package/esm2022/lib/shared/components/error-modal/error-modal.component.mjs +64 -0
  10. package/esm2022/lib/shared/components/page-not-found/page-not-found.component.mjs +92 -0
  11. package/esm2022/lib/shared/components/server-error/server-error.component.mjs +83 -0
  12. package/esm2022/lib/shared/components/session-expired/session-expired.component.mjs +35 -0
  13. package/esm2022/lib/shared/components/unauthorized/unauthorized.component.mjs +103 -0
  14. package/esm2022/lib/shared/constants/api-config.constants.mjs +240 -0
  15. package/esm2022/lib/shared/constants/error-handling.constants.mjs +63 -0
  16. package/{esm2020 → esm2022}/lib/shared/errorhandler/chunk-error.handler.mjs +18 -18
  17. package/esm2022/lib/shared/errorhandler/sentry-error.handler.mjs +47 -0
  18. package/esm2022/lib/shared/interceptors/http.interceptor.mjs +35 -0
  19. package/esm2022/lib/shared/services/global-error.service.mjs +115 -0
  20. package/{esm2020 → esm2022}/lib/shared/services/router.service.mjs +19 -19
  21. package/esm2022/lib/shared/services/util.service.mjs +48 -0
  22. package/esm2022/lib/shared/types/global-error.types.mjs +16 -0
  23. package/{esm2020 → esm2022}/lib/ui-kit/dialog/dialog-config.mjs +2 -2
  24. package/esm2022/lib/ui-kit/dialog/dialog-injector.mjs +15 -0
  25. package/{esm2020 → esm2022}/lib/ui-kit/dialog/dialog-ref.mjs +12 -12
  26. package/{esm2020 → esm2022}/lib/ui-kit/dialog/dialog.component.mjs +85 -85
  27. package/esm2022/lib/ui-kit/dialog/dialog.module.mjs +21 -0
  28. package/{esm2020 → esm2022}/lib/ui-kit/dialog/dialog.service.mjs +52 -52
  29. package/{esm2020 → esm2022}/lib/ui-kit/dialog/insertion.directive.mjs +16 -16
  30. package/{esm2020 → esm2022}/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.mjs +50 -50
  31. package/esm2022/lib/ui-kit/snack-bar/snack-bar.module.mjs +18 -0
  32. package/{esm2020 → esm2022}/lib/ui-kit/snack-bar/snack-bar.service.mjs +32 -32
  33. package/esm2022/lib/vc-error-handlers.component.mjs +104 -0
  34. package/esm2022/lib/vc-error-handlers.module.mjs +84 -0
  35. package/{esm2020 → esm2022}/lib/vc-error-handlers.service.mjs +14 -14
  36. package/esm2022/public-api.mjs +17 -0
  37. package/{esm2020 → esm2022}/vc-error-handlers.mjs +4 -4
  38. package/{fesm2020 → fesm2022}/vc-error-handlers.mjs +1405 -1378
  39. package/fesm2022/vc-error-handlers.mjs.map +1 -0
  40. package/{vc-error-handlers.d.ts → index.d.ts} +5 -5
  41. package/lib/configuration.d.ts +4 -4
  42. package/lib/featureFlag/feature-flag.directive.d.ts +13 -13
  43. package/lib/featureFlag/feature-flag.module.d.ts +8 -8
  44. package/lib/featureFlag/feature-flag.service.d.ts +19 -19
  45. package/lib/shared/components/chunk-unavailable/chunk-unavailable.component.d.ts +20 -16
  46. package/lib/shared/components/component-level-server-error/component-level-server-error.component.d.ts +19 -15
  47. package/lib/shared/components/error-modal/error-modal.component.d.ts +21 -17
  48. package/lib/shared/components/page-not-found/page-not-found.component.d.ts +23 -18
  49. package/lib/shared/components/server-error/server-error.component.d.ts +19 -15
  50. package/lib/shared/components/session-expired/session-expired.component.d.ts +20 -16
  51. package/lib/shared/components/unauthorized/unauthorized.component.d.ts +23 -18
  52. package/lib/shared/constants/api-config.constants.d.ts +20 -24
  53. package/lib/shared/constants/error-handling.constants.d.ts +62 -49
  54. package/lib/shared/errorhandler/chunk-error.handler.d.ts +7 -7
  55. package/lib/shared/errorhandler/sentry-error.handler.d.ts +14 -14
  56. package/lib/shared/interceptors/http.interceptor.d.ts +13 -13
  57. package/lib/shared/services/global-error.service.d.ts +31 -31
  58. package/lib/shared/services/router.service.d.ts +6 -6
  59. package/lib/shared/services/util.service.d.ts +15 -6
  60. package/lib/shared/types/global-error.types.d.ts +27 -16
  61. package/lib/ui-kit/dialog/dialog-config.d.ts +6 -6
  62. package/lib/ui-kit/dialog/dialog-injector.d.ts +7 -7
  63. package/lib/ui-kit/dialog/dialog-ref.d.ts +7 -7
  64. package/lib/ui-kit/dialog/dialog.component.d.ts +33 -33
  65. package/lib/ui-kit/dialog/dialog.module.d.ts +9 -9
  66. package/lib/ui-kit/dialog/dialog.service.d.ts +17 -17
  67. package/lib/ui-kit/dialog/insertion.directive.d.ts +8 -8
  68. package/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.d.ts +20 -20
  69. package/lib/ui-kit/snack-bar/snack-bar.module.d.ts +8 -8
  70. package/lib/ui-kit/snack-bar/snack-bar.service.d.ts +11 -11
  71. package/lib/vc-error-handlers.component.d.ts +26 -26
  72. package/lib/vc-error-handlers.module.d.ts +26 -26
  73. package/lib/vc-error-handlers.service.d.ts +6 -6
  74. package/package.json +7 -13
  75. package/public-api.d.ts +13 -14
  76. package/esm2020/lib/featureFlag/feature-flag.module.mjs +0 -22
  77. package/esm2020/lib/shared/components/chunk-unavailable/chunk-unavailable.component.mjs +0 -34
  78. package/esm2020/lib/shared/components/component-level-server-error/component-level-server-error.component.mjs +0 -63
  79. package/esm2020/lib/shared/components/error-modal/error-modal.component.mjs +0 -61
  80. package/esm2020/lib/shared/components/page-not-found/page-not-found.component.mjs +0 -80
  81. package/esm2020/lib/shared/components/server-error/server-error.component.mjs +0 -71
  82. package/esm2020/lib/shared/components/session-expired/session-expired.component.mjs +0 -34
  83. package/esm2020/lib/shared/components/unauthorized/unauthorized.component.mjs +0 -86
  84. package/esm2020/lib/shared/constants/api-config.constants.mjs +0 -247
  85. package/esm2020/lib/shared/constants/error-handling.constants.mjs +0 -50
  86. package/esm2020/lib/shared/errorhandler/sentry-error.handler.mjs +0 -50
  87. package/esm2020/lib/shared/interceptors/http.interceptor.mjs +0 -35
  88. package/esm2020/lib/shared/services/auth.service.mjs +0 -20
  89. package/esm2020/lib/shared/services/global-error.service.mjs +0 -141
  90. package/esm2020/lib/shared/services/util.service.mjs +0 -21
  91. package/esm2020/lib/shared/types/global-error.types.mjs +0 -16
  92. package/esm2020/lib/ui-kit/dialog/dialog-injector.mjs +0 -15
  93. package/esm2020/lib/ui-kit/dialog/dialog.module.mjs +0 -21
  94. package/esm2020/lib/ui-kit/snack-bar/snack-bar.module.mjs +0 -18
  95. package/esm2020/lib/vc-error-handlers.component.mjs +0 -107
  96. package/esm2020/lib/vc-error-handlers.module.mjs +0 -84
  97. package/esm2020/public-api.mjs +0 -18
  98. package/fesm2015/vc-error-handlers.mjs +0 -1650
  99. package/fesm2015/vc-error-handlers.mjs.map +0 -1
  100. package/fesm2020/vc-error-handlers.mjs.map +0 -1
  101. package/lib/shared/services/auth.service.d.ts +0 -9
@@ -0,0 +1,65 @@
1
+ import { Component, EventEmitter, Output } from '@angular/core';
2
+ import { ERROR_CONFIG, VCOMPLY_LOGO_URL, ALT_IMAGE_TEXT, } from '../../constants/error-handling.constants';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class ComponentLevelServerErrorComponent {
6
+ constructor() {
7
+ this.errorConfig = ERROR_CONFIG.COMPONENT_LEVEL_SERVER_ERROR;
8
+ this.altImageText = ALT_IMAGE_TEXT;
9
+ this.VcomplyLogo = VCOMPLY_LOGO_URL;
10
+ this.onClick = new EventEmitter();
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ComponentLevelServerErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ComponentLevelServerErrorComponent, selector: "lib-vc-error-component-server-error", outputs: { onClick: "onClick" }, ngImport: i0, template: `
14
+ <div class="serverError">
15
+ <div class="serverError-inner">
16
+ <div class="serverError-inner-image">
17
+ <img
18
+ [ngSrc]="errorConfig.imageUrl"
19
+ [alt]="altImageText.ERROR_IMAGE"
20
+ width="106"
21
+ height="76"
22
+ />
23
+ </div>
24
+ <div class="serverError-inner-bottom">
25
+ <div class="serverError-heading">{{ errorConfig.title }}</div>
26
+ <div class="serverError-text">{{ errorConfig.description }}</div>
27
+ <div class="serverError-details">{{ errorConfig.details }}</div>
28
+ <button class="serverError-btn" (click)="onClick.emit(true)">
29
+ {{ errorConfig.buttonText }}
30
+ <i class="icons">&#xe92b;</i>
31
+ </button>
32
+ </div>
33
+ </div>
34
+ </div>
35
+ `, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";.serverError{background:#fff;display:flex;align-items:center;justify-content:center;border-radius:2px;width:100%;height:100%}.serverError-inner{text-align:center}.serverError-inner-image{width:16rem;margin:0 auto}.serverError-inner-bottom{margin-top:1rem}.serverError-inner-bottom .serverError-heading{-webkit-text-fill-color:#e3e3e9;-webkit-text-stroke-color:#a9aab6;-webkit-text-stroke-width:1px;color:#e3e3e9;font-size:40px;font-weight:700;line-height:56px;margin-bottom:1.5rem}.serverError-inner-bottom .serverError-text{color:#141724;font-size:19px;font-weight:500;line-height:1.75rem;margin-bottom:.5rem}.serverError-inner-bottom .serverError-details{color:#565a6f;font-size:13px;line-height:20px;margin-bottom:2rem}.serverError-inner-bottom .serverError-btn{background:#1e5dd3;border-radius:.25rem;border:none;color:#fff;display:inline-flex;align-items:center;font-size:11px;font-weight:500;line-height:2rem;padding:0 1rem}.serverError-inner-bottom .serverError-btn i{font-size:12px;margin-left:8px}\n"], dependencies: [{ kind: "directive", type: i1.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "src", "srcset"] }] }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ComponentLevelServerErrorComponent, decorators: [{
38
+ type: Component,
39
+ args: [{ selector: 'lib-vc-error-component-server-error', template: `
40
+ <div class="serverError">
41
+ <div class="serverError-inner">
42
+ <div class="serverError-inner-image">
43
+ <img
44
+ [ngSrc]="errorConfig.imageUrl"
45
+ [alt]="altImageText.ERROR_IMAGE"
46
+ width="106"
47
+ height="76"
48
+ />
49
+ </div>
50
+ <div class="serverError-inner-bottom">
51
+ <div class="serverError-heading">{{ errorConfig.title }}</div>
52
+ <div class="serverError-text">{{ errorConfig.description }}</div>
53
+ <div class="serverError-details">{{ errorConfig.details }}</div>
54
+ <button class="serverError-btn" (click)="onClick.emit(true)">
55
+ {{ errorConfig.buttonText }}
56
+ <i class="icons">&#xe92b;</i>
57
+ </button>
58
+ </div>
59
+ </div>
60
+ </div>
61
+ `, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";.serverError{background:#fff;display:flex;align-items:center;justify-content:center;border-radius:2px;width:100%;height:100%}.serverError-inner{text-align:center}.serverError-inner-image{width:16rem;margin:0 auto}.serverError-inner-bottom{margin-top:1rem}.serverError-inner-bottom .serverError-heading{-webkit-text-fill-color:#e3e3e9;-webkit-text-stroke-color:#a9aab6;-webkit-text-stroke-width:1px;color:#e3e3e9;font-size:40px;font-weight:700;line-height:56px;margin-bottom:1.5rem}.serverError-inner-bottom .serverError-text{color:#141724;font-size:19px;font-weight:500;line-height:1.75rem;margin-bottom:.5rem}.serverError-inner-bottom .serverError-details{color:#565a6f;font-size:13px;line-height:20px;margin-bottom:2rem}.serverError-inner-bottom .serverError-btn{background:#1e5dd3;border-radius:.25rem;border:none;color:#fff;display:inline-flex;align-items:center;font-size:11px;font-weight:500;line-height:2rem;padding:0 1rem}.serverError-inner-bottom .serverError-btn i{font-size:12px;margin-left:8px}\n"] }]
62
+ }], propDecorators: { onClick: [{
63
+ type: Output
64
+ }] } });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWxldmVsLXNlcnZlci1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1lcnJvci1oYW5kbGVycy9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL2NvbXBvbmVudC1sZXZlbC1zZXJ2ZXItZXJyb3IvY29tcG9uZW50LWxldmVsLXNlcnZlci1lcnJvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFDTCxZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGNBQWMsR0FDZixNQUFNLDBDQUEwQyxDQUFDOzs7QUE2QmxELE1BQU0sT0FBTyxrQ0FBa0M7SUEzQi9DO1FBNEJFLGdCQUFXLEdBQUcsWUFBWSxDQUFDLDRCQUE0QixDQUFDO1FBQ3hELGlCQUFZLEdBQUcsY0FBYyxDQUFDO1FBQzlCLGdCQUFXLEdBQUcsZ0JBQWdCLENBQUM7UUFFckIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7S0FDakQ7K0dBTlksa0NBQWtDO21HQUFsQyxrQ0FBa0MsNEdBekJuQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCVDs7NEZBR1Usa0NBQWtDO2tCQTNCOUMsU0FBUzsrQkFDRSxxQ0FBcUMsWUFDckM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQlQ7OEJBUVMsT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBFUlJPUl9DT05GSUcsXHJcbiAgVkNPTVBMWV9MT0dPX1VSTCxcclxuICBBTFRfSU1BR0VfVEVYVCxcclxufSBmcm9tICcuLi8uLi9jb25zdGFudHMvZXJyb3ItaGFuZGxpbmcuY29uc3RhbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXZjLWVycm9yLWNvbXBvbmVudC1zZXJ2ZXItZXJyb3InLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwic2VydmVyRXJyb3JcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNlcnZlckVycm9yLWlubmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZlckVycm9yLWlubmVyLWltYWdlXCI+XHJcbiAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgIFtuZ1NyY109XCJlcnJvckNvbmZpZy5pbWFnZVVybFwiXHJcbiAgICAgICAgICAgIFthbHRdPVwiYWx0SW1hZ2VUZXh0LkVSUk9SX0lNQUdFXCJcclxuICAgICAgICAgICAgd2lkdGg9XCIxMDZcIlxyXG4gICAgICAgICAgICBoZWlnaHQ9XCI3NlwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2ZXJFcnJvci1pbm5lci1ib3R0b21cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2ZXJFcnJvci1oZWFkaW5nXCI+e3sgZXJyb3JDb25maWcudGl0bGUgfX08L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2ZXJFcnJvci10ZXh0XCI+e3sgZXJyb3JDb25maWcuZGVzY3JpcHRpb24gfX08L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2ZXJFcnJvci1kZXRhaWxzXCI+e3sgZXJyb3JDb25maWcuZGV0YWlscyB9fTwvZGl2PlxyXG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInNlcnZlckVycm9yLWJ0blwiIChjbGljayk9XCJvbkNsaWNrLmVtaXQodHJ1ZSlcIj5cclxuICAgICAgICAgICAge3sgZXJyb3JDb25maWcuYnV0dG9uVGV4dCB9fVxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkyYjs8L2k+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbXBvbmVudC1sZXZlbC1zZXJ2ZXItZXJyb3IuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbXBvbmVudExldmVsU2VydmVyRXJyb3JDb21wb25lbnQge1xyXG4gIGVycm9yQ29uZmlnID0gRVJST1JfQ09ORklHLkNPTVBPTkVOVF9MRVZFTF9TRVJWRVJfRVJST1I7XHJcbiAgYWx0SW1hZ2VUZXh0ID0gQUxUX0lNQUdFX1RFWFQ7XHJcbiAgVmNvbXBseUxvZ28gPSBWQ09NUExZX0xPR09fVVJMO1xyXG5cclxuICBAT3V0cHV0KCkgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxufVxyXG4iXX0=
@@ -0,0 +1,64 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { MODAL_ERROR_TYPES } from '../../constants/error-handling.constants';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@vcomply/authorizer";
5
+ import * as i2 from "../../../ui-kit/dialog/dialog-config";
6
+ import * as i3 from "../../services/router.service";
7
+ export class ErrorModalComponent {
8
+ constructor(authService, dialogConfig, routerService) {
9
+ this.authService = authService;
10
+ this.dialogConfig = dialogConfig;
11
+ this.routerService = routerService;
12
+ this.errorTypes = MODAL_ERROR_TYPES;
13
+ this.data = {
14
+ heading: 'Message',
15
+ description: 'Description',
16
+ buttonText: 'Click Action',
17
+ };
18
+ this.setDataConfig();
19
+ }
20
+ setDataConfig() {
21
+ this.data = this.dialogConfig.data?.errorConfig;
22
+ this.errorType = this.dialogConfig.data?.errorType;
23
+ }
24
+ onContinueAction() {
25
+ switch (this.errorType) {
26
+ case this.errorTypes.SESSION_EXPIRED:
27
+ this.authService.logout();
28
+ this.routerService.redirectToLogin();
29
+ break;
30
+ case this.errorTypes.CHUNK_NOT_FOUND:
31
+ window.location.reload();
32
+ break;
33
+ }
34
+ }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ErrorModalComponent, deps: [{ token: i1.AuthorizerService }, { token: i2.DialogConfig }, { token: i3.RouterService }], target: i0.ɵɵFactoryTarget.Component }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ErrorModalComponent, selector: "lib-vc-error-modal", inputs: { errorType: "errorType" }, ngImport: i0, template: ` <div class="error-dialog-box">
37
+ <div class="error-dialog-box-top">{{ data.heading }}</div>
38
+ <div class="error-dialog-box-mid">
39
+ {{ data.description }}
40
+ </div>
41
+ <div class="error-dialog-box-bottom">
42
+ <button (click)="onContinueAction()" class="logIn-btn">
43
+ {{ data.buttonText }}
44
+ </button>
45
+ </div>
46
+ </div>`, isInline: true, styles: [".error-dialog-box{background:#fff;border-radius:.75rem;box-shadow:0 1px 10px #0003;width:27rem}.error-dialog-box-top{color:#000;font-size:16px;font-weight:500;border-radius:.75rem .75rem 0 0;display:flex;align-items:center;height:3.375rem;padding:0 1rem;margin-bottom:1rem}.error-dialog-box-mid{color:#565a6f;font-size:13px;min-height:5.5rem;padding:0 1rem}.error-dialog-box-bottom{display:flex;justify-content:end;padding:1rem}.error-dialog-box-bottom button.logIn-btn{background:#1e5dd3;border-radius:.125rem;border:none;color:#fff;cursor:pointer;font-size:11px;height:2rem;padding:.5rem .75rem}\n"] }); }
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ErrorModalComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'lib-vc-error-modal', template: ` <div class="error-dialog-box">
51
+ <div class="error-dialog-box-top">{{ data.heading }}</div>
52
+ <div class="error-dialog-box-mid">
53
+ {{ data.description }}
54
+ </div>
55
+ <div class="error-dialog-box-bottom">
56
+ <button (click)="onContinueAction()" class="logIn-btn">
57
+ {{ data.buttonText }}
58
+ </button>
59
+ </div>
60
+ </div>`, styles: [".error-dialog-box{background:#fff;border-radius:.75rem;box-shadow:0 1px 10px #0003;width:27rem}.error-dialog-box-top{color:#000;font-size:16px;font-weight:500;border-radius:.75rem .75rem 0 0;display:flex;align-items:center;height:3.375rem;padding:0 1rem;margin-bottom:1rem}.error-dialog-box-mid{color:#565a6f;font-size:13px;min-height:5.5rem;padding:0 1rem}.error-dialog-box-bottom{display:flex;justify-content:end;padding:1rem}.error-dialog-box-bottom button.logIn-btn{background:#1e5dd3;border-radius:.125rem;border:none;color:#fff;cursor:pointer;font-size:11px;height:2rem;padding:.5rem .75rem}\n"] }]
61
+ }], ctorParameters: function () { return [{ type: i1.AuthorizerService }, { type: i2.DialogConfig }, { type: i3.RouterService }]; }, propDecorators: { errorType: [{
62
+ type: Input
63
+ }] } });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9lcnJvci1tb2RhbC9lcnJvci1tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFRekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7O0FBaUI3RSxNQUFNLE9BQU8sbUJBQW1CO0lBVzlCLFlBQ1UsV0FBOEIsRUFDOUIsWUFBMEIsRUFDMUIsYUFBNEI7UUFGNUIsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQzlCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBYnRDLGVBQVUsR0FBRyxpQkFBaUIsQ0FBQztRQUkvQixTQUFJLEdBQWU7WUFDakIsT0FBTyxFQUFFLFNBQVM7WUFDbEIsV0FBVyxFQUFFLGFBQWE7WUFDMUIsVUFBVSxFQUFFLGNBQWM7U0FDM0IsQ0FBQztRQU9BLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQztRQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQztJQUNyRCxDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLFFBQVEsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN0QixLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZTtnQkFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDckMsTUFBTTtZQUVSLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlO2dCQUNsQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN6QixNQUFNO1NBQ1Q7SUFDSCxDQUFDOytHQW5DVSxtQkFBbUI7bUdBQW5CLG1CQUFtQiw4RkFicEI7Ozs7Ozs7Ozs7U0FVSDs7NEZBR0ksbUJBQW1CO2tCQWYvQixTQUFTOytCQUNFLG9CQUFvQixZQUNwQjs7Ozs7Ozs7OztTQVVIOytKQU1FLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IERpYWxvZ0NvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3VpLWtpdC9kaWFsb2cvZGlhbG9nLWNvbmZpZyc7XHJcblxyXG5pbXBvcnQgeyBBdXRob3JpemVyU2VydmljZSB9IGZyb20gJ0B2Y29tcGx5L2F1dGhvcml6ZXInO1xyXG5pbXBvcnQgeyBSb3V0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcm91dGVyLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgRGlhbG9nRGF0YSwgTW9kYWxFcnJvclR5cGUgfSBmcm9tICcuLi8uLi90eXBlcy9nbG9iYWwtZXJyb3IudHlwZXMnO1xyXG5pbXBvcnQgeyBNT0RBTF9FUlJPUl9UWVBFUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9lcnJvci1oYW5kbGluZy5jb25zdGFudHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdmMtZXJyb3ItbW9kYWwnLFxyXG4gIHRlbXBsYXRlOiBgIDxkaXYgY2xhc3M9XCJlcnJvci1kaWFsb2ctYm94XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZXJyb3ItZGlhbG9nLWJveC10b3BcIj57eyBkYXRhLmhlYWRpbmcgfX08L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJlcnJvci1kaWFsb2ctYm94LW1pZFwiPlxyXG4gICAgICB7eyBkYXRhLmRlc2NyaXB0aW9uIH19XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJlcnJvci1kaWFsb2ctYm94LWJvdHRvbVwiPlxyXG4gICAgICA8YnV0dG9uIChjbGljayk9XCJvbkNvbnRpbnVlQWN0aW9uKClcIiBjbGFzcz1cImxvZ0luLWJ0blwiPlxyXG4gICAgICAgIHt7IGRhdGEuYnV0dG9uVGV4dCB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PmAsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZXJyb3ItbW9kYWwuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVycm9yTW9kYWxDb21wb25lbnQge1xyXG4gIGVycm9yVHlwZXMgPSBNT0RBTF9FUlJPUl9UWVBFUztcclxuXHJcbiAgQElucHV0KCkgZXJyb3JUeXBlOiBNb2RhbEVycm9yVHlwZSB8IHVuZGVmaW5lZDtcclxuXHJcbiAgZGF0YTogRGlhbG9nRGF0YSA9IHtcclxuICAgIGhlYWRpbmc6ICdNZXNzYWdlJyxcclxuICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxyXG4gICAgYnV0dG9uVGV4dDogJ0NsaWNrIEFjdGlvbicsXHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRob3JpemVyU2VydmljZSxcclxuICAgIHByaXZhdGUgZGlhbG9nQ29uZmlnOiBEaWFsb2dDb25maWcsXHJcbiAgICBwcml2YXRlIHJvdXRlclNlcnZpY2U6IFJvdXRlclNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuc2V0RGF0YUNvbmZpZygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXREYXRhQ29uZmlnKCkge1xyXG4gICAgdGhpcy5kYXRhID0gdGhpcy5kaWFsb2dDb25maWcuZGF0YT8uZXJyb3JDb25maWc7XHJcbiAgICB0aGlzLmVycm9yVHlwZSA9IHRoaXMuZGlhbG9nQ29uZmlnLmRhdGE/LmVycm9yVHlwZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNvbnRpbnVlQWN0aW9uKCkge1xyXG4gICAgc3dpdGNoICh0aGlzLmVycm9yVHlwZSkge1xyXG4gICAgICBjYXNlIHRoaXMuZXJyb3JUeXBlcy5TRVNTSU9OX0VYUElSRUQ6XHJcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKTtcclxuICAgICAgICB0aGlzLnJvdXRlclNlcnZpY2UucmVkaXJlY3RUb0xvZ2luKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIHRoaXMuZXJyb3JUeXBlcy5DSFVOS19OT1RfRk9VTkQ6XHJcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,92 @@
1
+ import { Component } from '@angular/core';
2
+ import { ERROR_CONFIG, VCOMPLY_LOGO_URL, REDIRECTION_URL, ORGANISATION_NAME, ALT_IMAGE_TEXT, } from '../../constants/error-handling.constants';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class PageNotFoundComponent {
6
+ constructor() {
7
+ this.errorConfig = ERROR_CONFIG.PAGE_NOT_FOUND;
8
+ this.VcomplyLogo = VCOMPLY_LOGO_URL;
9
+ this.altImageText = ALT_IMAGE_TEXT;
10
+ this.currentYear = new Date().getFullYear();
11
+ this.redirectionUrl = REDIRECTION_URL;
12
+ this.organisationName = ORGANISATION_NAME;
13
+ }
14
+ redirectToHome() {
15
+ window.location.replace(this.redirectionUrl.compliance_dashboard);
16
+ }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PageNotFoundComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PageNotFoundComponent, selector: "lib-vc-error-page-not-found", ngImport: i0, template: `
19
+ <div class="errorPage">
20
+ <div class="errorPage-top">
21
+ <img
22
+ [ngSrc]="VcomplyLogo"
23
+ [alt]="altImageText.VCOMPLY_LOGO"
24
+ width="24"
25
+ height="24"
26
+ />
27
+ </div>
28
+ <div class="errorPage-container">
29
+ <div class="errorPage-inner">
30
+ <div class="errorPage-inner-image">
31
+ <img
32
+ [ngSrc]="errorConfig.imageUrl"
33
+ [alt]="altImageText.ERROR_IMAGE"
34
+ width="246"
35
+ height="178"
36
+ />
37
+ </div>
38
+ <div class="errorPage-inner-right">
39
+ <div class="errorPage-heading">{{ errorConfig.title }}</div>
40
+ <div class="errorPage-text">{{ errorConfig.description }}</div>
41
+ <div class="errorPage-details">{{ errorConfig.details }}</div>
42
+ <button class="errorPage-btn" (click)="redirectToHome()">
43
+ {{ errorConfig.buttonText }} <i class="icons">&#xe96a;</i>
44
+ </button>
45
+ </div>
46
+ </div>
47
+ <div class="errorPage-copyright">
48
+ &copy;&nbsp;{{ currentYear }}, {{ organisationName }}
49
+ </div>
50
+ </div>
51
+ </div>
52
+ `, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";.errorPage{background:#161b2f;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999}.errorPage-top{width:100%;height:3rem;display:flex;align-items:center;padding-left:.75rem}.errorPage-container{background:#f2f2f5;border-radius:.75rem;border:1px solid #e3e3e9;box-shadow:0 4px 8px #1d5dd31a;height:calc(100vh - 3.75rem);display:flex;align-items:center;justify-content:center;padding:0 4rem;margin:0 .75rem;position:relative}.errorPage-inner{display:flex;align-items:center}.errorPage-inner-image{width:16rem}.errorPage-inner-right{margin-left:2rem;width:calc(100% - 18rem)}.errorPage-inner-right .errorPage-heading{-webkit-text-fill-color:#e3e3e9;-webkit-text-stroke-color:#a9aab6;-webkit-text-stroke-width:1px;color:#e3e3e9;font-size:78px;font-weight:700;line-height:110px;margin-bottom:1.5rem}.errorPage-inner-right .errorPage-text{color:#141724;font-size:19px;font-weight:500;line-height:1.75rem;margin-bottom:.5rem}.errorPage-inner-right .errorPage-details{color:#565a6f;font-size:13px;line-height:20px;margin-bottom:1.75rem}.errorPage-inner-right .errorPage-btn{background:#1e5dd3;border-radius:.25rem;border:none;color:#fff;display:inline-flex;align-items:center;font-size:11px;font-weight:500;line-height:2rem;padding:0 1rem}.errorPage-inner-right .errorPage-btn i{font-size:14px;margin-left:.25rem}.errorPage-copyright{font-size:11px;color:#787a8c;font-weight:500;position:absolute;bottom:8px;right:16px;line-height:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "src", "srcset"] }] }); }
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PageNotFoundComponent, decorators: [{
55
+ type: Component,
56
+ args: [{ selector: 'lib-vc-error-page-not-found', template: `
57
+ <div class="errorPage">
58
+ <div class="errorPage-top">
59
+ <img
60
+ [ngSrc]="VcomplyLogo"
61
+ [alt]="altImageText.VCOMPLY_LOGO"
62
+ width="24"
63
+ height="24"
64
+ />
65
+ </div>
66
+ <div class="errorPage-container">
67
+ <div class="errorPage-inner">
68
+ <div class="errorPage-inner-image">
69
+ <img
70
+ [ngSrc]="errorConfig.imageUrl"
71
+ [alt]="altImageText.ERROR_IMAGE"
72
+ width="246"
73
+ height="178"
74
+ />
75
+ </div>
76
+ <div class="errorPage-inner-right">
77
+ <div class="errorPage-heading">{{ errorConfig.title }}</div>
78
+ <div class="errorPage-text">{{ errorConfig.description }}</div>
79
+ <div class="errorPage-details">{{ errorConfig.details }}</div>
80
+ <button class="errorPage-btn" (click)="redirectToHome()">
81
+ {{ errorConfig.buttonText }} <i class="icons">&#xe96a;</i>
82
+ </button>
83
+ </div>
84
+ </div>
85
+ <div class="errorPage-copyright">
86
+ &copy;&nbsp;{{ currentYear }}, {{ organisationName }}
87
+ </div>
88
+ </div>
89
+ </div>
90
+ `, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";.errorPage{background:#161b2f;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999}.errorPage-top{width:100%;height:3rem;display:flex;align-items:center;padding-left:.75rem}.errorPage-container{background:#f2f2f5;border-radius:.75rem;border:1px solid #e3e3e9;box-shadow:0 4px 8px #1d5dd31a;height:calc(100vh - 3.75rem);display:flex;align-items:center;justify-content:center;padding:0 4rem;margin:0 .75rem;position:relative}.errorPage-inner{display:flex;align-items:center}.errorPage-inner-image{width:16rem}.errorPage-inner-right{margin-left:2rem;width:calc(100% - 18rem)}.errorPage-inner-right .errorPage-heading{-webkit-text-fill-color:#e3e3e9;-webkit-text-stroke-color:#a9aab6;-webkit-text-stroke-width:1px;color:#e3e3e9;font-size:78px;font-weight:700;line-height:110px;margin-bottom:1.5rem}.errorPage-inner-right .errorPage-text{color:#141724;font-size:19px;font-weight:500;line-height:1.75rem;margin-bottom:.5rem}.errorPage-inner-right .errorPage-details{color:#565a6f;font-size:13px;line-height:20px;margin-bottom:1.75rem}.errorPage-inner-right .errorPage-btn{background:#1e5dd3;border-radius:.25rem;border:none;color:#fff;display:inline-flex;align-items:center;font-size:11px;font-weight:500;line-height:2rem;padding:0 1rem}.errorPage-inner-right .errorPage-btn i{font-size:14px;margin-left:.25rem}.errorPage-copyright{font-size:11px;color:#787a8c;font-weight:500;position:absolute;bottom:8px;right:16px;line-height:16px}\n"] }]
91
+ }] });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1ub3QtZm91bmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWdlLW5vdC1mb3VuZC9wYWdlLW5vdC1mb3VuZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQ0wsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGNBQWMsR0FDZixNQUFNLDBDQUEwQyxDQUFDOzs7QUF5Q2xELE1BQU0sT0FBTyxxQkFBcUI7SUF2Q2xDO1FBd0NFLGdCQUFXLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FBQztRQUMxQyxnQkFBVyxHQUFHLGdCQUFnQixDQUFDO1FBQy9CLGlCQUFZLEdBQUcsY0FBYyxDQUFDO1FBQzlCLGdCQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxtQkFBYyxHQUFHLGVBQWUsQ0FBQztRQUNqQyxxQkFBZ0IsR0FBRyxpQkFBaUIsQ0FBQztLQUt0QztJQUhRLGNBQWM7UUFDbkIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7K0dBVlUscUJBQXFCO21HQUFyQixxQkFBcUIsbUVBckN0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDVDs7NEZBR1UscUJBQXFCO2tCQXZDakMsU0FBUzsrQkFDRSw2QkFBNkIsWUFDN0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ1QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7XHJcbiAgRVJST1JfQ09ORklHLFxyXG4gIFZDT01QTFlfTE9HT19VUkwsXHJcbiAgUkVESVJFQ1RJT05fVVJMLFxyXG4gIE9SR0FOSVNBVElPTl9OQU1FLFxyXG4gIEFMVF9JTUFHRV9URVhULFxyXG59IGZyb20gJy4uLy4uL2NvbnN0YW50cy9lcnJvci1oYW5kbGluZy5jb25zdGFudHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdmMtZXJyb3ItcGFnZS1ub3QtZm91bmQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwiZXJyb3JQYWdlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJlcnJvclBhZ2UtdG9wXCI+XHJcbiAgICAgICAgPGltZ1xyXG4gICAgICAgICAgW25nU3JjXT1cIlZjb21wbHlMb2dvXCJcclxuICAgICAgICAgIFthbHRdPVwiYWx0SW1hZ2VUZXh0LlZDT01QTFlfTE9HT1wiXHJcbiAgICAgICAgICB3aWR0aD1cIjI0XCJcclxuICAgICAgICAgIGhlaWdodD1cIjI0XCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImVycm9yUGFnZS1jb250YWluZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JQYWdlLWlubmVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JQYWdlLWlubmVyLWltYWdlXCI+XHJcbiAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICBbbmdTcmNdPVwiZXJyb3JDb25maWcuaW1hZ2VVcmxcIlxyXG4gICAgICAgICAgICAgIFthbHRdPVwiYWx0SW1hZ2VUZXh0LkVSUk9SX0lNQUdFXCJcclxuICAgICAgICAgICAgICB3aWR0aD1cIjI0NlwiXHJcbiAgICAgICAgICAgICAgaGVpZ2h0PVwiMTc4XCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yUGFnZS1pbm5lci1yaWdodFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JQYWdlLWhlYWRpbmdcIj57eyBlcnJvckNvbmZpZy50aXRsZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JQYWdlLXRleHRcIj57eyBlcnJvckNvbmZpZy5kZXNjcmlwdGlvbiB9fTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JQYWdlLWRldGFpbHNcIj57eyBlcnJvckNvbmZpZy5kZXRhaWxzIH19PC9kaXY+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJlcnJvclBhZ2UtYnRuXCIgKGNsaWNrKT1cInJlZGlyZWN0VG9Ib21lKClcIj5cclxuICAgICAgICAgICAgICB7eyBlcnJvckNvbmZpZy5idXR0b25UZXh0IH19IDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTZhOzwvaT5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JQYWdlLWNvcHlyaWdodFwiPlxyXG4gICAgICAgICAgJmNvcHk7Jm5ic3A7e3sgY3VycmVudFllYXIgfX0sIHt7IG9yZ2FuaXNhdGlvbk5hbWUgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIHN0eWxlVXJsczogWycuLi9jb21tb24tZXJyb3ItcGFnZS5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnZU5vdEZvdW5kQ29tcG9uZW50IHtcclxuICBlcnJvckNvbmZpZyA9IEVSUk9SX0NPTkZJRy5QQUdFX05PVF9GT1VORDtcclxuICBWY29tcGx5TG9nbyA9IFZDT01QTFlfTE9HT19VUkw7XHJcbiAgYWx0SW1hZ2VUZXh0ID0gQUxUX0lNQUdFX1RFWFQ7XHJcbiAgY3VycmVudFllYXIgPSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCk7XHJcbiAgcmVkaXJlY3Rpb25VcmwgPSBSRURJUkVDVElPTl9VUkw7XHJcbiAgb3JnYW5pc2F0aW9uTmFtZSA9IE9SR0FOSVNBVElPTl9OQU1FO1xyXG5cclxuICBwdWJsaWMgcmVkaXJlY3RUb0hvbWUoKSB7XHJcbiAgICB3aW5kb3cubG9jYXRpb24ucmVwbGFjZSh0aGlzLnJlZGlyZWN0aW9uVXJsLmNvbXBsaWFuY2VfZGFzaGJvYXJkKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,83 @@
1
+ import { Component } from '@angular/core';
2
+ import { ERROR_CONFIG, VCOMPLY_LOGO_URL, ALT_IMAGE_TEXT, } from '../../constants/error-handling.constants';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class ServerErrorComponent {
6
+ constructor() {
7
+ this.errorConfig = ERROR_CONFIG.SERVER_ERROR;
8
+ this.VcomplyLogo = VCOMPLY_LOGO_URL;
9
+ this.altImageText = ALT_IMAGE_TEXT;
10
+ }
11
+ refreshPage() {
12
+ window.location.reload();
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ServerErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ServerErrorComponent, selector: "lib-vc-error-server-error", ngImport: i0, template: `
16
+ <div class="errorPage">
17
+ <div class="errorPage-top">
18
+ <img
19
+ [ngSrc]="VcomplyLogo"
20
+ [alt]="altImageText.VCOMPLY_LOGO"
21
+ width="24"
22
+ height="24"
23
+ />
24
+ </div>
25
+ <div class="errorPage-container">
26
+ <div class="errorPage-inner">
27
+ <div class="errorPage-inner-image">
28
+ <img
29
+ [ngSrc]="errorConfig.imageUrl"
30
+ [alt]="altImageText.ERROR_IMAGE"
31
+ width="246"
32
+ height="178"
33
+ />
34
+ </div>
35
+ <div class="errorPage-inner-right">
36
+ <div class="errorPage-heading">{{ errorConfig.title }}</div>
37
+ <div class="errorPage-text">{{ errorConfig.description }}</div>
38
+ <div class="errorPage-details">{{ errorConfig.details }}</div>
39
+ <button class="errorPage-btn" (click)="refreshPage()">
40
+ {{ errorConfig.buttonText }} <i class="icons">&#xe92b;</i>
41
+ </button>
42
+ </div>
43
+ </div>
44
+ </div>
45
+ </div>
46
+ `, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";.errorPage{background:#161b2f;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999}.errorPage-top{width:100%;height:3rem;display:flex;align-items:center;padding-left:.75rem}.errorPage-container{background:#f2f2f5;border-radius:.75rem;border:1px solid #e3e3e9;box-shadow:0 4px 8px #1d5dd31a;height:calc(100vh - 3.75rem);display:flex;align-items:center;justify-content:center;padding:0 4rem;margin:0 .75rem;position:relative}.errorPage-inner{display:flex;align-items:center}.errorPage-inner-image{width:16rem}.errorPage-inner-right{margin-left:2rem;width:calc(100% - 18rem)}.errorPage-inner-right .errorPage-heading{-webkit-text-fill-color:#e3e3e9;-webkit-text-stroke-color:#a9aab6;-webkit-text-stroke-width:1px;color:#e3e3e9;font-size:78px;font-weight:700;line-height:110px;margin-bottom:1.5rem}.errorPage-inner-right .errorPage-text{color:#141724;font-size:19px;font-weight:500;line-height:1.75rem;margin-bottom:.5rem}.errorPage-inner-right .errorPage-details{color:#565a6f;font-size:13px;line-height:20px;margin-bottom:1.75rem}.errorPage-inner-right .errorPage-btn{background:#1e5dd3;border-radius:.25rem;border:none;color:#fff;display:inline-flex;align-items:center;font-size:11px;font-weight:500;line-height:2rem;padding:0 1rem}.errorPage-inner-right .errorPage-btn i{font-size:14px;margin-left:.25rem}.errorPage-copyright{font-size:11px;color:#787a8c;font-weight:500;position:absolute;bottom:8px;right:16px;line-height:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "src", "srcset"] }] }); }
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ServerErrorComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'lib-vc-error-server-error', template: `
51
+ <div class="errorPage">
52
+ <div class="errorPage-top">
53
+ <img
54
+ [ngSrc]="VcomplyLogo"
55
+ [alt]="altImageText.VCOMPLY_LOGO"
56
+ width="24"
57
+ height="24"
58
+ />
59
+ </div>
60
+ <div class="errorPage-container">
61
+ <div class="errorPage-inner">
62
+ <div class="errorPage-inner-image">
63
+ <img
64
+ [ngSrc]="errorConfig.imageUrl"
65
+ [alt]="altImageText.ERROR_IMAGE"
66
+ width="246"
67
+ height="178"
68
+ />
69
+ </div>
70
+ <div class="errorPage-inner-right">
71
+ <div class="errorPage-heading">{{ errorConfig.title }}</div>
72
+ <div class="errorPage-text">{{ errorConfig.description }}</div>
73
+ <div class="errorPage-details">{{ errorConfig.details }}</div>
74
+ <button class="errorPage-btn" (click)="refreshPage()">
75
+ {{ errorConfig.buttonText }} <i class="icons">&#xe92b;</i>
76
+ </button>
77
+ </div>
78
+ </div>
79
+ </div>
80
+ </div>
81
+ `, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";.errorPage{background:#161b2f;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999}.errorPage-top{width:100%;height:3rem;display:flex;align-items:center;padding-left:.75rem}.errorPage-container{background:#f2f2f5;border-radius:.75rem;border:1px solid #e3e3e9;box-shadow:0 4px 8px #1d5dd31a;height:calc(100vh - 3.75rem);display:flex;align-items:center;justify-content:center;padding:0 4rem;margin:0 .75rem;position:relative}.errorPage-inner{display:flex;align-items:center}.errorPage-inner-image{width:16rem}.errorPage-inner-right{margin-left:2rem;width:calc(100% - 18rem)}.errorPage-inner-right .errorPage-heading{-webkit-text-fill-color:#e3e3e9;-webkit-text-stroke-color:#a9aab6;-webkit-text-stroke-width:1px;color:#e3e3e9;font-size:78px;font-weight:700;line-height:110px;margin-bottom:1.5rem}.errorPage-inner-right .errorPage-text{color:#141724;font-size:19px;font-weight:500;line-height:1.75rem;margin-bottom:.5rem}.errorPage-inner-right .errorPage-details{color:#565a6f;font-size:13px;line-height:20px;margin-bottom:1.75rem}.errorPage-inner-right .errorPage-btn{background:#1e5dd3;border-radius:.25rem;border:none;color:#fff;display:inline-flex;align-items:center;font-size:11px;font-weight:500;line-height:2rem;padding:0 1rem}.errorPage-inner-right .errorPage-btn i{font-size:14px;margin-left:.25rem}.errorPage-copyright{font-size:11px;color:#787a8c;font-weight:500;position:absolute;bottom:8px;right:16px;line-height:16px}\n"] }]
82
+ }] });
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLWVycm9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvc2VydmVyLWVycm9yL3NlcnZlci1lcnJvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixjQUFjLEdBQ2YsTUFBTSwwQ0FBMEMsQ0FBQzs7O0FBc0NsRCxNQUFNLE9BQU8sb0JBQW9CO0lBcENqQztRQXFDRSxnQkFBVyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUM7UUFDeEMsZ0JBQVcsR0FBRyxnQkFBZ0IsQ0FBQztRQUMvQixpQkFBWSxHQUFHLGNBQWMsQ0FBQztLQUsvQjtJQUhRLFdBQVc7UUFDaEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzQixDQUFDOytHQVBVLG9CQUFvQjttR0FBcEIsb0JBQW9CLGlFQWxDckI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQlQ7OzRGQUdVLG9CQUFvQjtrQkFwQ2hDLFNBQVM7K0JBQ0UsMkJBQTJCLFlBQzNCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0JUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgRVJST1JfQ09ORklHLFxyXG4gIFZDT01QTFlfTE9HT19VUkwsXHJcbiAgQUxUX0lNQUdFX1RFWFQsXHJcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2Vycm9yLWhhbmRsaW5nLmNvbnN0YW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi12Yy1lcnJvci1zZXJ2ZXItZXJyb3InLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwiZXJyb3JQYWdlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJlcnJvclBhZ2UtdG9wXCI+XHJcbiAgICAgICAgPGltZ1xyXG4gICAgICAgICAgW25nU3JjXT1cIlZjb21wbHlMb2dvXCJcclxuICAgICAgICAgIFthbHRdPVwiYWx0SW1hZ2VUZXh0LlZDT01QTFlfTE9HT1wiXHJcbiAgICAgICAgICB3aWR0aD1cIjI0XCJcclxuICAgICAgICAgIGhlaWdodD1cIjI0XCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImVycm9yUGFnZS1jb250YWluZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JQYWdlLWlubmVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JQYWdlLWlubmVyLWltYWdlXCI+XHJcbiAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICBbbmdTcmNdPVwiZXJyb3JDb25maWcuaW1hZ2VVcmxcIlxyXG4gICAgICAgICAgICAgIFthbHRdPVwiYWx0SW1hZ2VUZXh0LkVSUk9SX0lNQUdFXCJcclxuICAgICAgICAgICAgICB3aWR0aD1cIjI0NlwiXHJcbiAgICAgICAgICAgICAgaGVpZ2h0PVwiMTc4XCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yUGFnZS1pbm5lci1yaWdodFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JQYWdlLWhlYWRpbmdcIj57eyBlcnJvckNvbmZpZy50aXRsZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JQYWdlLXRleHRcIj57eyBlcnJvckNvbmZpZy5kZXNjcmlwdGlvbiB9fTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JQYWdlLWRldGFpbHNcIj57eyBlcnJvckNvbmZpZy5kZXRhaWxzIH19PC9kaXY+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJlcnJvclBhZ2UtYnRuXCIgKGNsaWNrKT1cInJlZnJlc2hQYWdlKClcIj5cclxuICAgICAgICAgICAgICB7eyBlcnJvckNvbmZpZy5idXR0b25UZXh0IH19IDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTJiOzwvaT5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIHN0eWxlVXJsczogWycuLi9jb21tb24tZXJyb3ItcGFnZS5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VydmVyRXJyb3JDb21wb25lbnQge1xyXG4gIGVycm9yQ29uZmlnID0gRVJST1JfQ09ORklHLlNFUlZFUl9FUlJPUjtcclxuICBWY29tcGx5TG9nbyA9IFZDT01QTFlfTE9HT19VUkw7XHJcbiAgYWx0SW1hZ2VUZXh0ID0gQUxUX0lNQUdFX1RFWFQ7XHJcblxyXG4gIHB1YmxpYyByZWZyZXNoUGFnZSgpIHtcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,35 @@
1
+ import { Component } from '@angular/core';
2
+ import { ErrorModalComponent } from '../error-modal/error-modal.component';
3
+ import { ERROR_CONFIG, MODAL_ERROR_TYPES } from '../../constants/error-handling.constants';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../../ui-kit/dialog/dialog.service";
6
+ export class SessionExpiredComponent {
7
+ constructor(dialogService) {
8
+ this.dialogService = dialogService;
9
+ this.errorConfig = ERROR_CONFIG.SESSION_EXPIRED;
10
+ this.errorTypes = MODAL_ERROR_TYPES;
11
+ }
12
+ ngOnInit() {
13
+ this.openSessionExpiredModal();
14
+ }
15
+ openSessionExpiredModal() {
16
+ this.dialogService.open(ErrorModalComponent, {
17
+ data: {
18
+ errorType: this.errorTypes.SESSION_EXPIRED,
19
+ errorConfig: this.errorConfig,
20
+ },
21
+ position: 'center',
22
+ background: 'whiteBlur',
23
+ });
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SessionExpiredComponent, deps: [{ token: i1.DialogService }], target: i0.ɵɵFactoryTarget.Component }); }
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SessionExpiredComponent, selector: "lib-vc-error-session-expired", ngImport: i0, template: ``, isInline: true }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SessionExpiredComponent, decorators: [{
29
+ type: Component,
30
+ args: [{
31
+ selector: 'lib-vc-error-session-expired',
32
+ template: ``,
33
+ }]
34
+ }], ctorParameters: function () { return [{ type: i1.DialogService }]; } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1leHBpcmVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvc2Vzc2lvbi1leHBpcmVkL3Nlc3Npb24tZXhwaXJlZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUkzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7OztBQU0zRixNQUFNLE9BQU8sdUJBQXVCO0lBSWxDLFlBQ1UsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFKdEMsZ0JBQVcsR0FBRyxZQUFZLENBQUMsZUFBZSxDQUFDO1FBQzNDLGVBQVUsR0FBRyxpQkFBaUIsQ0FBQztJQUk1QixDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTyx1QkFBdUI7UUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDM0MsSUFBSSxFQUFFO2dCQUNKLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWU7Z0JBQzFDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVzthQUM5QjtZQUNELFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFVBQVUsRUFBRSxXQUFXO1NBQ3hCLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBckJVLHVCQUF1QjttR0FBdkIsdUJBQXVCLG9FQUZ4QixFQUFFOzs0RkFFRCx1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDhCQUE4QjtvQkFDeEMsUUFBUSxFQUFFLEVBQUU7aUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRXJyb3JNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL2Vycm9yLW1vZGFsL2Vycm9yLW1vZGFsLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdWkta2l0L2RpYWxvZy9kaWFsb2cuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBFUlJPUl9DT05GSUcsIE1PREFMX0VSUk9SX1RZUEVTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2Vycm9yLWhhbmRsaW5nLmNvbnN0YW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi12Yy1lcnJvci1zZXNzaW9uLWV4cGlyZWQnLFxyXG4gIHRlbXBsYXRlOiBgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlc3Npb25FeHBpcmVkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBlcnJvckNvbmZpZyA9IEVSUk9SX0NPTkZJRy5TRVNTSU9OX0VYUElSRUQ7XHJcbiAgZXJyb3JUeXBlcyA9IE1PREFMX0VSUk9SX1RZUEVTO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLm9wZW5TZXNzaW9uRXhwaXJlZE1vZGFsKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9wZW5TZXNzaW9uRXhwaXJlZE1vZGFsKCkge1xyXG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oRXJyb3JNb2RhbENvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgZXJyb3JUeXBlOiB0aGlzLmVycm9yVHlwZXMuU0VTU0lPTl9FWFBJUkVELFxyXG4gICAgICAgIGVycm9yQ29uZmlnOiB0aGlzLmVycm9yQ29uZmlnLFxyXG4gICAgICB9LFxyXG4gICAgICBwb3NpdGlvbjogJ2NlbnRlcicsXHJcbiAgICAgIGJhY2tncm91bmQ6ICd3aGl0ZUJsdXInLFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,103 @@
1
+ import { Component } from '@angular/core';
2
+ import { ERROR_CONFIG, VCOMPLY_LOGO_URL, ORGANISATION_NAME, ALT_IMAGE_TEXT, } from '../../constants/error-handling.constants';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class UnauthorizedComponent {
6
+ constructor() {
7
+ this.currentYear = new Date().getFullYear();
8
+ this.errorConfig = ERROR_CONFIG.UNAUTHORIZED;
9
+ this.VcomplyLogo = VCOMPLY_LOGO_URL;
10
+ this.altImageText = ALT_IMAGE_TEXT;
11
+ this.organisationName = ORGANISATION_NAME;
12
+ }
13
+ redirectToSupport() {
14
+ window.location.href = this.errorConfig.mail;
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UnauthorizedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UnauthorizedComponent, selector: "lib-vc-error-unauthorized", ngImport: i0, template: `
18
+ <div class="errorPage">
19
+ <div class="errorPage-top">
20
+ <img
21
+ [ngSrc]="VcomplyLogo"
22
+ [alt]="altImageText.VCOMPLY_LOGO"
23
+ width="24"
24
+ height="24"
25
+ />
26
+ </div>
27
+ <div class="errorPage-container">
28
+ <div class="errorPage-inner">
29
+ <div class="errorPage-inner-image">
30
+ <img
31
+ [ngSrc]="errorConfig.imageUrl"
32
+ [alt]="altImageText.ERROR_IMAGE"
33
+ width="246"
34
+ height="178"
35
+ />
36
+ </div>
37
+ <div class="errorPage-inner-right">
38
+ <div class="errorPage-heading">{{ errorConfig.title }}</div>
39
+ <div class="errorPage-text">{{ errorConfig.description }}</div>
40
+ <div class="errorPage-details">
41
+ {{ errorConfig.details }}
42
+ <a [href]="'mailto:' + errorConfig.email">{{
43
+ errorConfig.email
44
+ }}</a>
45
+ {{ errorConfig.support }}.
46
+ </div>
47
+ <button class="errorPage-btn" (click)="redirectToSupport()">
48
+ {{ errorConfig.buttonText }} <i class="icons">&#xe96a;</i>
49
+ </button>
50
+ </div>
51
+ </div>
52
+ <div class="errorPage-copyright">
53
+ &copy;&nbsp;{{ currentYear }}, {{ organisationName }}
54
+ </div>
55
+ </div>
56
+ </div>
57
+ `, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";.errorPage{background:#161b2f;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999}.errorPage-top{width:100%;height:3rem;display:flex;align-items:center;padding-left:.75rem}.errorPage-container{background:#f2f2f5;border-radius:.75rem;border:1px solid #e3e3e9;box-shadow:0 4px 8px #1d5dd31a;height:calc(100vh - 3.75rem);display:flex;align-items:center;justify-content:center;padding:0 4rem;margin:0 .75rem;position:relative}.errorPage-inner{display:flex;align-items:center}.errorPage-inner-image{width:16rem}.errorPage-inner-right{margin-left:2rem;width:calc(100% - 18rem)}.errorPage-inner-right .errorPage-heading{-webkit-text-fill-color:#e3e3e9;-webkit-text-stroke-color:#a9aab6;-webkit-text-stroke-width:1px;color:#e3e3e9;font-size:78px;font-weight:700;line-height:110px;margin-bottom:1.5rem}.errorPage-inner-right .errorPage-text{color:#141724;font-size:19px;font-weight:500;line-height:1.75rem;margin-bottom:.5rem}.errorPage-inner-right .errorPage-details{color:#565a6f;font-size:13px;line-height:20px;margin-bottom:1.75rem}.errorPage-inner-right .errorPage-btn{background:#1e5dd3;border-radius:.25rem;border:none;color:#fff;display:inline-flex;align-items:center;font-size:11px;font-weight:500;line-height:2rem;padding:0 1rem}.errorPage-inner-right .errorPage-btn i{font-size:14px;margin-left:.25rem}.errorPage-copyright{font-size:11px;color:#787a8c;font-weight:500;position:absolute;bottom:8px;right:16px;line-height:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "src", "srcset"] }] }); }
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UnauthorizedComponent, decorators: [{
60
+ type: Component,
61
+ args: [{ selector: 'lib-vc-error-unauthorized', template: `
62
+ <div class="errorPage">
63
+ <div class="errorPage-top">
64
+ <img
65
+ [ngSrc]="VcomplyLogo"
66
+ [alt]="altImageText.VCOMPLY_LOGO"
67
+ width="24"
68
+ height="24"
69
+ />
70
+ </div>
71
+ <div class="errorPage-container">
72
+ <div class="errorPage-inner">
73
+ <div class="errorPage-inner-image">
74
+ <img
75
+ [ngSrc]="errorConfig.imageUrl"
76
+ [alt]="altImageText.ERROR_IMAGE"
77
+ width="246"
78
+ height="178"
79
+ />
80
+ </div>
81
+ <div class="errorPage-inner-right">
82
+ <div class="errorPage-heading">{{ errorConfig.title }}</div>
83
+ <div class="errorPage-text">{{ errorConfig.description }}</div>
84
+ <div class="errorPage-details">
85
+ {{ errorConfig.details }}
86
+ <a [href]="'mailto:' + errorConfig.email">{{
87
+ errorConfig.email
88
+ }}</a>
89
+ {{ errorConfig.support }}.
90
+ </div>
91
+ <button class="errorPage-btn" (click)="redirectToSupport()">
92
+ {{ errorConfig.buttonText }} <i class="icons">&#xe96a;</i>
93
+ </button>
94
+ </div>
95
+ </div>
96
+ <div class="errorPage-copyright">
97
+ &copy;&nbsp;{{ currentYear }}, {{ organisationName }}
98
+ </div>
99
+ </div>
100
+ </div>
101
+ `, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";.errorPage{background:#161b2f;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999}.errorPage-top{width:100%;height:3rem;display:flex;align-items:center;padding-left:.75rem}.errorPage-container{background:#f2f2f5;border-radius:.75rem;border:1px solid #e3e3e9;box-shadow:0 4px 8px #1d5dd31a;height:calc(100vh - 3.75rem);display:flex;align-items:center;justify-content:center;padding:0 4rem;margin:0 .75rem;position:relative}.errorPage-inner{display:flex;align-items:center}.errorPage-inner-image{width:16rem}.errorPage-inner-right{margin-left:2rem;width:calc(100% - 18rem)}.errorPage-inner-right .errorPage-heading{-webkit-text-fill-color:#e3e3e9;-webkit-text-stroke-color:#a9aab6;-webkit-text-stroke-width:1px;color:#e3e3e9;font-size:78px;font-weight:700;line-height:110px;margin-bottom:1.5rem}.errorPage-inner-right .errorPage-text{color:#141724;font-size:19px;font-weight:500;line-height:1.75rem;margin-bottom:.5rem}.errorPage-inner-right .errorPage-details{color:#565a6f;font-size:13px;line-height:20px;margin-bottom:1.75rem}.errorPage-inner-right .errorPage-btn{background:#1e5dd3;border-radius:.25rem;border:none;color:#fff;display:inline-flex;align-items:center;font-size:11px;font-weight:500;line-height:2rem;padding:0 1rem}.errorPage-inner-right .errorPage-btn i{font-size:14px;margin-left:.25rem}.errorPage-copyright{font-size:11px;color:#787a8c;font-weight:500;position:absolute;bottom:8px;right:16px;line-height:16px}\n"] }]
102
+ }] });
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5hdXRob3JpemVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvdW5hdXRob3JpemVkL3VuYXV0aG9yaXplZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQ0wsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsY0FBYyxHQUNmLE1BQU0sMENBQTBDLENBQUM7OztBQStDbEQsTUFBTSxPQUFPLHFCQUFxQjtJQTdDbEM7UUE4Q0UsZ0JBQVcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZDLGdCQUFXLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQztRQUN4QyxnQkFBVyxHQUFHLGdCQUFnQixDQUFDO1FBQy9CLGlCQUFZLEdBQUcsY0FBYyxDQUFDO1FBQzlCLHFCQUFnQixHQUFHLGlCQUFpQixDQUFDO0tBS3RDO0lBSFEsaUJBQWlCO1FBQ3RCLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQy9DLENBQUM7K0dBVFUscUJBQXFCO21HQUFyQixxQkFBcUIsaUVBM0N0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdDVDs7NEZBR1UscUJBQXFCO2tCQTdDakMsU0FBUzsrQkFDRSwyQkFBMkIsWUFDM0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Q1QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHtcclxuICBFUlJPUl9DT05GSUcsXHJcbiAgVkNPTVBMWV9MT0dPX1VSTCxcclxuICBPUkdBTklTQVRJT05fTkFNRSxcclxuICBBTFRfSU1BR0VfVEVYVCxcclxufSBmcm9tICcuLi8uLi9jb25zdGFudHMvZXJyb3ItaGFuZGxpbmcuY29uc3RhbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXZjLWVycm9yLXVuYXV0aG9yaXplZCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJlcnJvclBhZ2VcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImVycm9yUGFnZS10b3BcIj5cclxuICAgICAgICA8aW1nXHJcbiAgICAgICAgICBbbmdTcmNdPVwiVmNvbXBseUxvZ29cIlxyXG4gICAgICAgICAgW2FsdF09XCJhbHRJbWFnZVRleHQuVkNPTVBMWV9MT0dPXCJcclxuICAgICAgICAgIHdpZHRoPVwiMjRcIlxyXG4gICAgICAgICAgaGVpZ2h0PVwiMjRcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JQYWdlLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvclBhZ2UtaW5uZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvclBhZ2UtaW5uZXItaW1hZ2VcIj5cclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgIFtuZ1NyY109XCJlcnJvckNvbmZpZy5pbWFnZVVybFwiXHJcbiAgICAgICAgICAgICAgW2FsdF09XCJhbHRJbWFnZVRleHQuRVJST1JfSU1BR0VcIlxyXG4gICAgICAgICAgICAgIHdpZHRoPVwiMjQ2XCJcclxuICAgICAgICAgICAgICBoZWlnaHQ9XCIxNzhcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JQYWdlLWlubmVyLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvclBhZ2UtaGVhZGluZ1wiPnt7IGVycm9yQ29uZmlnLnRpdGxlIH19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvclBhZ2UtdGV4dFwiPnt7IGVycm9yQ29uZmlnLmRlc2NyaXB0aW9uIH19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvclBhZ2UtZGV0YWlsc1wiPlxyXG4gICAgICAgICAgICAgIHt7IGVycm9yQ29uZmlnLmRldGFpbHMgfX1cclxuICAgICAgICAgICAgICA8YSBbaHJlZl09XCInbWFpbHRvOicgKyBlcnJvckNvbmZpZy5lbWFpbFwiPnt7XHJcbiAgICAgICAgICAgICAgICBlcnJvckNvbmZpZy5lbWFpbFxyXG4gICAgICAgICAgICAgIH19PC9hPlxyXG4gICAgICAgICAgICAgIHt7IGVycm9yQ29uZmlnLnN1cHBvcnQgfX0uXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZXJyb3JQYWdlLWJ0blwiIChjbGljayk9XCJyZWRpcmVjdFRvU3VwcG9ydCgpXCI+XHJcbiAgICAgICAgICAgICAge3sgZXJyb3JDb25maWcuYnV0dG9uVGV4dCB9fSA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTk2YTs8L2k+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yUGFnZS1jb3B5cmlnaHRcIj5cclxuICAgICAgICAgICZjb3B5OyZuYnNwO3t7IGN1cnJlbnRZZWFyIH19LCB7eyBvcmdhbmlzYXRpb25OYW1lIH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBzdHlsZVVybHM6IFsnLi4vY29tbW9uLWVycm9yLXBhZ2UuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVuYXV0aG9yaXplZENvbXBvbmVudCB7XHJcbiAgY3VycmVudFllYXIgPSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCk7XHJcbiAgZXJyb3JDb25maWcgPSBFUlJPUl9DT05GSUcuVU5BVVRIT1JJWkVEO1xyXG4gIFZjb21wbHlMb2dvID0gVkNPTVBMWV9MT0dPX1VSTDtcclxuICBhbHRJbWFnZVRleHQgPSBBTFRfSU1BR0VfVEVYVDtcclxuICBvcmdhbmlzYXRpb25OYW1lID0gT1JHQU5JU0FUSU9OX05BTUU7XHJcblxyXG4gIHB1YmxpYyByZWRpcmVjdFRvU3VwcG9ydCgpIHtcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdGhpcy5lcnJvckNvbmZpZy5tYWlsO1xyXG4gIH1cclxufVxyXG4iXX0=