vc-error-handlers 0.2.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Component, Input, Directive, ViewChild, NgModule, EventEmitter, Output, Optional, InjectionToken, ErrorHandler } from '@angular/core';
2
+ import { Injectable, Component, Optional, Input, Directive, ViewChild, NgModule, EventEmitter, Output, InjectionToken, ErrorHandler } from '@angular/core';
3
3
  import { Subject, throwError } from 'rxjs';
4
4
  import * as i3 from '@angular/router';
5
5
  import { NavigationStart, NavigationEnd, NavigationError } from '@angular/router';
6
- import * as i1 from '@angular/common';
6
+ import * as i2 from '@angular/common';
7
7
  import { CommonModule, NgOptimizedImage } from '@angular/common';
8
- import * as i1$1 from '@vcomply/authorizer';
9
- import * as i1$2 from '@angular/common/http';
8
+ import * as i1 from '@vcomply/authorizer';
9
+ import * as i1$1 from '@angular/common/http';
10
10
  import { HttpResponse, HTTP_INTERCEPTORS } from '@angular/common/http';
11
11
  import { retry, timeout, tap, catchError } from 'rxjs/operators';
12
12
  import * as Sentry from '@sentry/angular-ivy';
@@ -41,11 +41,11 @@ var ErrorStatusCode;
41
41
 
42
42
  const PAGE_LEVEL_API_CONFIG = [
43
43
  {
44
- method: '',
45
- path: '',
44
+ method: 'GET',
45
+ path: '/compliance/?mode=reports/getReportDetailsByDuedateId',
46
46
  query: null,
47
47
  body: null,
48
- pageCodes: [''],
48
+ pageCodes: ['compliance: SAP'],
49
49
  },
50
50
  ];
51
51
  const COMPONENT_LEVEL_API_CONFIG = [
@@ -345,10 +345,64 @@ const COMPONENT_LEVEL_API_CONFIG = [
345
345
  },
346
346
  {
347
347
  method: 'POST',
348
- path: '/risk?mode=workshop/list',
348
+ path: '/risk/?mode=workshop/list',
349
349
  query: null,
350
350
  body: null,
351
- }
351
+ },
352
+ {
353
+ method: 'POST',
354
+ path: '/risk/?mode=risk/DueDateList',
355
+ query: null,
356
+ body: null,
357
+ },
358
+ {
359
+ method: 'POST',
360
+ path: '/risk/?mode=risk/RiskDetailsById',
361
+ query: null,
362
+ body: null,
363
+ },
364
+ {
365
+ method: 'POST',
366
+ path: '/risk/?mode=score/assessment',
367
+ query: null,
368
+ body: null,
369
+ },
370
+ {
371
+ method: 'POST',
372
+ path: '/risk/?mode=score/treatment',
373
+ query: null,
374
+ body: null,
375
+ },
376
+ {
377
+ method: 'POST',
378
+ path: '/risk/?mode=score/treatmentPlan',
379
+ query: null,
380
+ body: null,
381
+ },
382
+ {
383
+ method: 'POST',
384
+ path: 'risk/?mode=category/list',
385
+ query: null,
386
+ body: null,
387
+ },
388
+ {
389
+ method: 'POST',
390
+ path: 'risk/?mode=risk/list',
391
+ query: null,
392
+ body: null,
393
+ },
394
+ {
395
+ method: 'POST',
396
+ path: 'risk/GetDiscussionById',
397
+ query: null,
398
+ body: null,
399
+ },
400
+ {
401
+ method: 'POST',
402
+ path: 'workroom/getFilesAndFoldersList',
403
+ query: null,
404
+ body: null,
405
+ },
352
406
  ];
353
407
 
354
408
  class SnackBarService {
@@ -550,20 +604,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
550
604
  }]
551
605
  }] });
552
606
 
553
- const VCOMPLY_LOGO_URL = 'https://cdn.v-comply.com/logo/prod/v-logo.svg';
607
+ const ASSETS = {
608
+ VCOMPLY_LOGO: `/logo/prod/v-logo.svg`,
609
+ ERROR_IMAGE: `/application/images/Error-page-illustration.svg`,
610
+ COMPONENT_ERROR_IMAGE: `/application/images/sad-emoji-icon.svg`,
611
+ };
612
+
613
+ const VCOMPLY_LOGO_URL = ASSETS.VCOMPLY_LOGO;
554
614
  const API_TIMEOUT_TIME = 1000 * 15;
555
615
  const ORGANISATION_NAME = 'VCOMPLY TECHNOLOGIES, INC.';
556
616
  const ERROR_FEATURE_FLAG = 'ff_error_handling';
557
617
  const ERROR_CONFIG = {
558
618
  PAGE_NOT_FOUND: {
559
- imageUrl: 'https://cdn.v-comply.com/application/images/Error-page-illustration.svg',
619
+ imageUrl: ASSETS.ERROR_IMAGE,
560
620
  title: 'Oops!',
561
621
  description: "The page you're looking for doesn't exist.",
562
622
  details: 'Please check the URL or return to the homepage.',
563
623
  buttonText: 'GO TO DASHBOARD',
564
624
  },
565
625
  UNAUTHORIZED: {
566
- imageUrl: 'https://cdn.v-comply.com/application/images/Error-page-illustration.svg',
626
+ imageUrl: ASSETS.ERROR_IMAGE,
567
627
  title: 'Oops!',
568
628
  description: "You don't have permission to access this page.",
569
629
  details: 'If you believe this is an error, please contact',
@@ -583,7 +643,7 @@ const ERROR_CONFIG = {
583
643
  buttonText: 'REFRESH',
584
644
  },
585
645
  SERVER_ERROR: {
586
- imageUrl: 'https://cdn.v-comply.com/application/images/Error-page-illustration.svg',
646
+ imageUrl: ASSETS.ERROR_IMAGE,
587
647
  title: 'Oops!',
588
648
  description: 'We are unable to load the data.',
589
649
  details: 'Please refresh this page or try again later.',
@@ -591,7 +651,7 @@ const ERROR_CONFIG = {
591
651
  snackBarMessage: `Oops! Something went wrong. Please try again later.`,
592
652
  },
593
653
  COMPONENT_LEVEL_SERVER_ERROR: {
594
- imageUrl: 'https://cdn.v-comply.com/application/images/sad-emoji-icon.svg',
654
+ imageUrl: ASSETS.COMPONENT_ERROR_IMAGE,
595
655
  title: 'Oops!',
596
656
  description: 'We are unable to load the data.',
597
657
  details: 'Please refresh this section or try again later.',
@@ -602,7 +662,13 @@ const ERROR_CONFIG = {
602
662
  },
603
663
  };
604
664
  const REDIRECTION_URL = {
605
- compliance_dashboard: '/global-dashboard/compliance_dashboard',
665
+ COMPLIANCE_DASHBOARD: '/global-dashboard/compliance_dashboard',
666
+ RISK_DASHBOARD: '/global-dashboard/risk_dashboard?module=risk',
667
+ POLICY_DASHBOARD: '/global-dashboard/policy_dashboard?module=policy',
668
+ };
669
+ const MODULE_NAMES = {
670
+ RISK: 'risk',
671
+ POLICY: 'policy',
606
672
  };
607
673
  const MODAL_ERROR_TYPES = {
608
674
  CHUNK_NOT_FOUND: 'chunk_not_found',
@@ -652,30 +718,65 @@ class SnackBarComponent {
652
718
  this.snackbarSubscription.unsubscribe();
653
719
  }
654
720
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackBarComponent, deps: [{ token: SnackBarService }], target: i0.ɵɵFactoryTarget.Component }); }
655
- 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: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
721
+ 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"] }] }); }
656
722
  }
657
723
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackBarComponent, decorators: [{
658
724
  type: Component,
659
725
  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"] }]
660
726
  }], ctorParameters: function () { return [{ type: SnackBarService }]; } });
661
727
 
662
- class UnauthorizedComponent {
728
+ class Configurations {
663
729
  constructor() {
730
+ this.sentryConfig = {};
731
+ this.envConfig = {};
732
+ }
733
+ }
734
+
735
+ class AssetUrlService {
736
+ constructor(config) {
737
+ this.BASE_URL = '';
738
+ this.BASE_URL = config?.envConfig?.cdnUrl || '';
739
+ }
740
+ getFullUrl(relativePath) {
741
+ return `${this.BASE_URL}${relativePath}`;
742
+ }
743
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AssetUrlService, deps: [{ token: Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
744
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AssetUrlService, providedIn: 'root' }); }
745
+ }
746
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AssetUrlService, decorators: [{
747
+ type: Injectable,
748
+ args: [{
749
+ providedIn: 'root',
750
+ }]
751
+ }], ctorParameters: function () { return [{ type: Configurations, decorators: [{
752
+ type: Optional
753
+ }] }]; } });
754
+
755
+ class UnauthorizedComponent {
756
+ constructor(assetUrlService) {
757
+ this.assetUrlService = assetUrlService;
664
758
  this.currentYear = new Date().getFullYear();
665
759
  this.errorConfig = ERROR_CONFIG.UNAUTHORIZED;
666
760
  this.VcomplyLogo = VCOMPLY_LOGO_URL;
667
761
  this.altImageText = ALT_IMAGE_TEXT;
668
762
  this.organisationName = ORGANISATION_NAME;
763
+ this.fullVcomplyLogo = '';
764
+ this.fullErrorImageUrl = '';
765
+ this.getAssetsUrl();
766
+ }
767
+ getAssetsUrl() {
768
+ this.fullVcomplyLogo = this.assetUrlService.getFullUrl(this.VcomplyLogo);
769
+ this.fullErrorImageUrl = this.assetUrlService.getFullUrl(this.errorConfig.imageUrl);
669
770
  }
670
771
  redirectToSupport() {
671
772
  window.location.href = this.errorConfig.mail;
672
773
  }
673
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UnauthorizedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
774
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UnauthorizedComponent, deps: [{ token: AssetUrlService }], target: i0.ɵɵFactoryTarget.Component }); }
674
775
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UnauthorizedComponent, selector: "lib-vc-error-unauthorized", ngImport: i0, template: `
675
776
  <div class="errorPage">
676
777
  <div class="errorPage-top">
677
778
  <img
678
- [ngSrc]="VcomplyLogo"
779
+ [ngSrc]="fullVcomplyLogo"
679
780
  [alt]="altImageText.VCOMPLY_LOGO"
680
781
  width="24"
681
782
  height="24"
@@ -685,7 +786,7 @@ class UnauthorizedComponent {
685
786
  <div class="errorPage-inner">
686
787
  <div class="errorPage-inner-image">
687
788
  <img
688
- [ngSrc]="errorConfig.imageUrl"
789
+ [ngSrc]="fullErrorImageUrl"
689
790
  [alt]="altImageText.ERROR_IMAGE"
690
791
  width="246"
691
792
  height="178"
@@ -711,7 +812,7 @@ class UnauthorizedComponent {
711
812
  </div>
712
813
  </div>
713
814
  </div>
714
- `, 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"] }] }); }
815
+ `, 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: i2.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "src", "srcset"] }] }); }
715
816
  }
716
817
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UnauthorizedComponent, decorators: [{
717
818
  type: Component,
@@ -719,7 +820,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
719
820
  <div class="errorPage">
720
821
  <div class="errorPage-top">
721
822
  <img
722
- [ngSrc]="VcomplyLogo"
823
+ [ngSrc]="fullVcomplyLogo"
723
824
  [alt]="altImageText.VCOMPLY_LOGO"
724
825
  width="24"
725
826
  height="24"
@@ -729,7 +830,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
729
830
  <div class="errorPage-inner">
730
831
  <div class="errorPage-inner-image">
731
832
  <img
732
- [ngSrc]="errorConfig.imageUrl"
833
+ [ngSrc]="fullErrorImageUrl"
733
834
  [alt]="altImageText.ERROR_IMAGE"
734
835
  width="246"
735
836
  height="178"
@@ -756,7 +857,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
756
857
  </div>
757
858
  </div>
758
859
  `, 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"] }]
759
- }] });
860
+ }], ctorParameters: function () { return [{ type: AssetUrlService }]; } });
760
861
 
761
862
  class DialogConfig {
762
863
  }
@@ -789,7 +890,7 @@ class ErrorModalComponent {
789
890
  break;
790
891
  }
791
892
  }
792
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ErrorModalComponent, deps: [{ token: i1$1.AuthorizerService }, { token: DialogConfig }, { token: RouterService }], target: i0.ɵɵFactoryTarget.Component }); }
893
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ErrorModalComponent, deps: [{ token: i1.AuthorizerService }, { token: DialogConfig }, { token: RouterService }], target: i0.ɵɵFactoryTarget.Component }); }
793
894
  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">
794
895
  <div class="error-dialog-box-top">{{ data.heading }}</div>
795
896
  <div class="error-dialog-box-mid">
@@ -815,7 +916,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
815
916
  </button>
816
917
  </div>
817
918
  </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"] }]
818
- }], ctorParameters: function () { return [{ type: i1$1.AuthorizerService }, { type: DialogConfig }, { type: RouterService }]; }, propDecorators: { errorType: [{
919
+ }], ctorParameters: function () { return [{ type: i1.AuthorizerService }, { type: DialogConfig }, { type: RouterService }]; }, propDecorators: { errorType: [{
819
920
  type: Input
820
921
  }] } });
821
922
 
@@ -910,7 +1011,7 @@ class DialogComponent {
910
1011
  document.body.style.overflow = 'auto';
911
1012
  }
912
1013
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ChangeDetectorRef }, { token: DialogRef }, { token: DialogConfig }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component }); }
913
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DialogComponent, selector: "app-dialog", viewQueries: [{ propertyName: "insertionPoint", first: true, predicate: InsertionDirective, descendants: true, static: true }], ngImport: i0, template: "<div\r\n class=\"overlay\"\r\n (click)=\"onOverlayClicked($event)\"\r\n [ngClass]=\"{\r\n top: position === 'TOP',\r\n right: position === 'RIGHT',\r\n bottom: position === 'BOTTOM',\r\n left: position === 'LEFT',\r\n center: position === 'CENTER',\r\n black: background === 'black',\r\n whiteBlur: background === 'whiteBlur'\r\n }\" [class.pointer-none]=\"pointer === 'none'\"\r\n>\r\n <div\r\n class=\"dialog\"\r\n [class.animate]=\"animation\"\r\n (click)=\"onDialogClicked($event)\"\r\n [ngClass]=\"{\r\n top: position === 'TOP',\r\n right: position === 'RIGHT',\r\n bottom: position === 'BOTTOM',\r\n left: position === 'LEFT',\r\n center: position === 'CENTER'\r\n }\"\r\n >\r\n <ng-template appInsertion></ng-template>\r\n </div>\r\n</div>\r\n", styles: [".overlay{display:flex;position:fixed;inset:0;align-items:center;justify-content:center;z-index:2147483009!important}.overlay.low{z-index:1}.overlay.black{background:#161b2fcc}.overlay.whiteBlur{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.overlay.top{align-items:flex-start}.overlay.right{justify-content:flex-end}.overlay.bottom{align-items:flex-end}.overlay.left{justify-content:flex-start}.dialog{position:relative}.dialog.animate.top{animation:animate-top .2s cubic-bezier(.25,.46,.45,.94) both}@keyframes animate-top{0%{transform:translateY(-100px)}to{transform:translateY(0)}}.dialog.animate.right{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}.pointer-none{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: InsertionDirective, selector: "[appInsertion]" }] }); }
1014
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DialogComponent, selector: "app-dialog", viewQueries: [{ propertyName: "insertionPoint", first: true, predicate: InsertionDirective, descendants: true, static: true }], ngImport: i0, template: "<div\r\n class=\"overlay\"\r\n (click)=\"onOverlayClicked($event)\"\r\n [ngClass]=\"{\r\n top: position === 'TOP',\r\n right: position === 'RIGHT',\r\n bottom: position === 'BOTTOM',\r\n left: position === 'LEFT',\r\n center: position === 'CENTER',\r\n black: background === 'black',\r\n whiteBlur: background === 'whiteBlur'\r\n }\" [class.pointer-none]=\"pointer === 'none'\"\r\n>\r\n <div\r\n class=\"dialog\"\r\n [class.animate]=\"animation\"\r\n (click)=\"onDialogClicked($event)\"\r\n [ngClass]=\"{\r\n top: position === 'TOP',\r\n right: position === 'RIGHT',\r\n bottom: position === 'BOTTOM',\r\n left: position === 'LEFT',\r\n center: position === 'CENTER'\r\n }\"\r\n >\r\n <ng-template appInsertion></ng-template>\r\n </div>\r\n</div>\r\n", styles: [".overlay{display:flex;position:fixed;inset:0;align-items:center;justify-content:center;z-index:2147483009!important}.overlay.low{z-index:1}.overlay.black{background:#161b2fcc}.overlay.whiteBlur{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.overlay.top{align-items:flex-start}.overlay.right{justify-content:flex-end}.overlay.bottom{align-items:flex-end}.overlay.left{justify-content:flex-start}.dialog{position:relative}.dialog.animate.top{animation:animate-top .2s cubic-bezier(.25,.46,.45,.94) both}@keyframes animate-top{0%{transform:translateY(-100px)}to{transform:translateY(0)}}.dialog.animate.right{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}.pointer-none{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: InsertionDirective, selector: "[appInsertion]" }] }); }
914
1015
  }
915
1016
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogComponent, decorators: [{
916
1017
  type: Component,
@@ -1056,20 +1157,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1056
1157
  }], ctorParameters: function () { return [{ type: DialogService }]; } });
1057
1158
 
1058
1159
  class ServerErrorComponent {
1059
- constructor() {
1160
+ constructor(assetUrlService) {
1161
+ this.assetUrlService = assetUrlService;
1060
1162
  this.errorConfig = ERROR_CONFIG.SERVER_ERROR;
1061
1163
  this.VcomplyLogo = VCOMPLY_LOGO_URL;
1062
1164
  this.altImageText = ALT_IMAGE_TEXT;
1165
+ this.fullVcomplyLogo = '';
1166
+ this.fullErrorImageUrl = '';
1167
+ this.getAssetsUrl();
1168
+ }
1169
+ getAssetsUrl() {
1170
+ this.fullVcomplyLogo = this.assetUrlService.getFullUrl(this.VcomplyLogo);
1171
+ this.fullErrorImageUrl = this.assetUrlService.getFullUrl(this.errorConfig.imageUrl);
1063
1172
  }
1064
1173
  refreshPage() {
1065
1174
  window.location.reload();
1066
1175
  }
1067
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ServerErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1176
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ServerErrorComponent, deps: [{ token: AssetUrlService }], target: i0.ɵɵFactoryTarget.Component }); }
1068
1177
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ServerErrorComponent, selector: "lib-vc-error-server-error", ngImport: i0, template: `
1069
1178
  <div class="errorPage">
1070
1179
  <div class="errorPage-top">
1071
1180
  <img
1072
- [ngSrc]="VcomplyLogo"
1181
+ [ngSrc]="fullVcomplyLogo"
1073
1182
  [alt]="altImageText.VCOMPLY_LOGO"
1074
1183
  width="24"
1075
1184
  height="24"
@@ -1079,7 +1188,7 @@ class ServerErrorComponent {
1079
1188
  <div class="errorPage-inner">
1080
1189
  <div class="errorPage-inner-image">
1081
1190
  <img
1082
- [ngSrc]="errorConfig.imageUrl"
1191
+ [ngSrc]="fullErrorImageUrl"
1083
1192
  [alt]="altImageText.ERROR_IMAGE"
1084
1193
  width="246"
1085
1194
  height="178"
@@ -1096,7 +1205,7 @@ class ServerErrorComponent {
1096
1205
  </div>
1097
1206
  </div>
1098
1207
  </div>
1099
- `, 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"] }] }); }
1208
+ `, 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: i2.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "src", "srcset"] }] }); }
1100
1209
  }
1101
1210
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ServerErrorComponent, decorators: [{
1102
1211
  type: Component,
@@ -1104,7 +1213,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1104
1213
  <div class="errorPage">
1105
1214
  <div class="errorPage-top">
1106
1215
  <img
1107
- [ngSrc]="VcomplyLogo"
1216
+ [ngSrc]="fullVcomplyLogo"
1108
1217
  [alt]="altImageText.VCOMPLY_LOGO"
1109
1218
  width="24"
1110
1219
  height="24"
@@ -1114,7 +1223,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1114
1223
  <div class="errorPage-inner">
1115
1224
  <div class="errorPage-inner-image">
1116
1225
  <img
1117
- [ngSrc]="errorConfig.imageUrl"
1226
+ [ngSrc]="fullErrorImageUrl"
1118
1227
  [alt]="altImageText.ERROR_IMAGE"
1119
1228
  width="246"
1120
1229
  height="178"
@@ -1132,7 +1241,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1132
1241
  </div>
1133
1242
  </div>
1134
1243
  `, 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"] }]
1135
- }] });
1244
+ }], ctorParameters: function () { return [{ type: AssetUrlService }]; } });
1136
1245
 
1137
1246
  class VcErrorHandlersComponent {
1138
1247
  constructor(errorService, snackBarService) {
@@ -1206,7 +1315,7 @@ class VcErrorHandlersComponent {
1206
1315
  *ngIf="chunkUnavailable"
1207
1316
  ></lib-vc-error-chunk-unavailable>
1208
1317
  <lib-vc-error-server-error *ngIf="serverError"></lib-vc-error-server-error>
1209
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SnackBarComponent, selector: "app-snack-bar" }, { kind: "component", type: UnauthorizedComponent, selector: "lib-vc-error-unauthorized" }, { kind: "component", type: SessionExpiredComponent, selector: "lib-vc-error-session-expired" }, { kind: "component", type: ChunkUnavailableComponent, selector: "lib-vc-error-chunk-unavailable" }, { kind: "component", type: ServerErrorComponent, selector: "lib-vc-error-server-error" }] }); }
1318
+ `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SnackBarComponent, selector: "app-snack-bar" }, { kind: "component", type: UnauthorizedComponent, selector: "lib-vc-error-unauthorized" }, { kind: "component", type: SessionExpiredComponent, selector: "lib-vc-error-session-expired" }, { kind: "component", type: ChunkUnavailableComponent, selector: "lib-vc-error-chunk-unavailable" }, { kind: "component", type: ServerErrorComponent, selector: "lib-vc-error-server-error" }] }); }
1210
1319
  }
1211
1320
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcErrorHandlersComponent, decorators: [{
1212
1321
  type: Component,
@@ -1227,23 +1336,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1227
1336
  }], ctorParameters: function () { return [{ type: GlobalErrorService }, { type: SnackBarService }]; } });
1228
1337
 
1229
1338
  class PageNotFoundComponent {
1230
- constructor() {
1339
+ constructor(route, assetUrlService) {
1340
+ this.route = route;
1341
+ this.assetUrlService = assetUrlService;
1231
1342
  this.errorConfig = ERROR_CONFIG.PAGE_NOT_FOUND;
1232
1343
  this.VcomplyLogo = VCOMPLY_LOGO_URL;
1233
1344
  this.altImageText = ALT_IMAGE_TEXT;
1234
1345
  this.currentYear = new Date().getFullYear();
1235
1346
  this.redirectionUrl = REDIRECTION_URL;
1236
1347
  this.organisationName = ORGANISATION_NAME;
1348
+ this.fullVcomplyLogo = '';
1349
+ this.fullErrorImageUrl = '';
1350
+ this.getAssetUrl();
1351
+ }
1352
+ getAssetUrl() {
1353
+ this.fullVcomplyLogo = this.assetUrlService.getFullUrl(VCOMPLY_LOGO_URL);
1354
+ this.fullErrorImageUrl = this.assetUrlService.getFullUrl(this.errorConfig.imageUrl);
1237
1355
  }
1238
1356
  redirectToHome() {
1239
- window.location.replace(this.redirectionUrl.compliance_dashboard);
1357
+ const module_name = this.route.snapshot.data['page_path'];
1358
+ let targetPath = REDIRECTION_URL.COMPLIANCE_DASHBOARD;
1359
+ switch (module_name) {
1360
+ case MODULE_NAMES.RISK:
1361
+ targetPath = REDIRECTION_URL.RISK_DASHBOARD;
1362
+ break;
1363
+ case MODULE_NAMES.POLICY:
1364
+ targetPath = REDIRECTION_URL.POLICY_DASHBOARD;
1365
+ break;
1366
+ default:
1367
+ targetPath = REDIRECTION_URL.COMPLIANCE_DASHBOARD;
1368
+ break;
1369
+ }
1370
+ window.location.replace(targetPath);
1240
1371
  }
1241
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PageNotFoundComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1372
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PageNotFoundComponent, deps: [{ token: i3.ActivatedRoute }, { token: AssetUrlService }], target: i0.ɵɵFactoryTarget.Component }); }
1242
1373
  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: `
1243
1374
  <div class="errorPage">
1244
1375
  <div class="errorPage-top">
1245
1376
  <img
1246
- [ngSrc]="VcomplyLogo"
1377
+ [ngSrc]="fullVcomplyLogo"
1247
1378
  [alt]="altImageText.VCOMPLY_LOGO"
1248
1379
  width="24"
1249
1380
  height="24"
@@ -1253,7 +1384,7 @@ class PageNotFoundComponent {
1253
1384
  <div class="errorPage-inner">
1254
1385
  <div class="errorPage-inner-image">
1255
1386
  <img
1256
- [ngSrc]="errorConfig.imageUrl"
1387
+ [ngSrc]="fullErrorImageUrl"
1257
1388
  [alt]="altImageText.ERROR_IMAGE"
1258
1389
  width="246"
1259
1390
  height="178"
@@ -1273,7 +1404,7 @@ class PageNotFoundComponent {
1273
1404
  </div>
1274
1405
  </div>
1275
1406
  </div>
1276
- `, 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"] }] }); }
1407
+ `, 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: i2.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "src", "srcset"] }] }); }
1277
1408
  }
1278
1409
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PageNotFoundComponent, decorators: [{
1279
1410
  type: Component,
@@ -1281,7 +1412,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1281
1412
  <div class="errorPage">
1282
1413
  <div class="errorPage-top">
1283
1414
  <img
1284
- [ngSrc]="VcomplyLogo"
1415
+ [ngSrc]="fullVcomplyLogo"
1285
1416
  [alt]="altImageText.VCOMPLY_LOGO"
1286
1417
  width="24"
1287
1418
  height="24"
@@ -1291,7 +1422,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1291
1422
  <div class="errorPage-inner">
1292
1423
  <div class="errorPage-inner-image">
1293
1424
  <img
1294
- [ngSrc]="errorConfig.imageUrl"
1425
+ [ngSrc]="fullErrorImageUrl"
1295
1426
  [alt]="altImageText.ERROR_IMAGE"
1296
1427
  width="246"
1297
1428
  height="178"
@@ -1312,22 +1443,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1312
1443
  </div>
1313
1444
  </div>
1314
1445
  `, 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"] }]
1315
- }] });
1446
+ }], ctorParameters: function () { return [{ type: i3.ActivatedRoute }, { type: AssetUrlService }]; } });
1316
1447
 
1317
1448
  class ComponentLevelServerErrorComponent {
1318
- constructor() {
1449
+ constructor(assetUrlService) {
1450
+ this.assetUrlService = assetUrlService;
1319
1451
  this.errorConfig = ERROR_CONFIG.COMPONENT_LEVEL_SERVER_ERROR;
1320
1452
  this.altImageText = ALT_IMAGE_TEXT;
1321
- this.VcomplyLogo = VCOMPLY_LOGO_URL;
1453
+ this.fullErrorImageUrl = '';
1322
1454
  this.onClick = new EventEmitter();
1455
+ this.getAssetsUrl();
1323
1456
  }
1324
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ComponentLevelServerErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1457
+ getAssetsUrl() {
1458
+ this.fullErrorImageUrl = this.assetUrlService.getFullUrl(this.errorConfig.imageUrl);
1459
+ }
1460
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ComponentLevelServerErrorComponent, deps: [{ token: AssetUrlService }], target: i0.ɵɵFactoryTarget.Component }); }
1325
1461
  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: `
1326
1462
  <div class="serverError">
1327
1463
  <div class="serverError-inner">
1328
1464
  <div class="serverError-inner-image">
1329
1465
  <img
1330
- [ngSrc]="errorConfig.imageUrl"
1466
+ [ngSrc]="fullErrorImageUrl"
1331
1467
  [alt]="altImageText.ERROR_IMAGE"
1332
1468
  width="106"
1333
1469
  height="76"
@@ -1344,7 +1480,7 @@ class ComponentLevelServerErrorComponent {
1344
1480
  </div>
1345
1481
  </div>
1346
1482
  </div>
1347
- `, 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"] }] }); }
1483
+ `, 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: i2.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "src", "srcset"] }] }); }
1348
1484
  }
1349
1485
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ComponentLevelServerErrorComponent, decorators: [{
1350
1486
  type: Component,
@@ -1353,7 +1489,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1353
1489
  <div class="serverError-inner">
1354
1490
  <div class="serverError-inner-image">
1355
1491
  <img
1356
- [ngSrc]="errorConfig.imageUrl"
1492
+ [ngSrc]="fullErrorImageUrl"
1357
1493
  [alt]="altImageText.ERROR_IMAGE"
1358
1494
  width="106"
1359
1495
  height="76"
@@ -1371,7 +1507,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1371
1507
  </div>
1372
1508
  </div>
1373
1509
  `, 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"] }]
1374
- }], propDecorators: { onClick: [{
1510
+ }], ctorParameters: function () { return [{ type: AssetUrlService }]; }, propDecorators: { onClick: [{
1375
1511
  type: Output
1376
1512
  }] } });
1377
1513
 
@@ -1389,13 +1525,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1389
1525
  }]
1390
1526
  }] });
1391
1527
 
1392
- class Configurations {
1393
- constructor() {
1394
- this.sentryConfig = {};
1395
- this.envConfig = {};
1396
- }
1397
- }
1398
-
1399
1528
  class FeatureFlagService {
1400
1529
  constructor(http, authorizer, config) {
1401
1530
  this.http = http;
@@ -1476,7 +1605,7 @@ class FeatureFlagService {
1476
1605
  return true;
1477
1606
  }
1478
1607
  }
1479
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureFlagService, deps: [{ token: i1$2.HttpClient }, { token: i1$1.AuthorizerService }, { token: Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1608
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureFlagService, deps: [{ token: i1$1.HttpClient }, { token: i1.AuthorizerService }, { token: Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1480
1609
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureFlagService, providedIn: 'root' }); }
1481
1610
  }
1482
1611
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureFlagService, decorators: [{
@@ -1484,7 +1613,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1484
1613
  args: [{
1485
1614
  providedIn: 'root',
1486
1615
  }]
1487
- }], ctorParameters: function () { return [{ type: i1$2.HttpClient }, { type: i1$1.AuthorizerService }, { type: Configurations, decorators: [{
1616
+ }], ctorParameters: function () { return [{ type: i1$1.HttpClient }, { type: i1.AuthorizerService }, { type: Configurations, decorators: [{
1488
1617
  type: Optional
1489
1618
  }] }]; } });
1490
1619
 
@@ -1560,12 +1689,12 @@ class SentryErrorHandler {
1560
1689
  window.location.reload();
1561
1690
  }
1562
1691
  }
1563
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SentryErrorHandler, deps: [{ token: i1$1.AuthorizerService }, { token: GlobalErrorService }, { token: Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1692
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SentryErrorHandler, deps: [{ token: i1.AuthorizerService }, { token: GlobalErrorService }, { token: Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1564
1693
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SentryErrorHandler }); }
1565
1694
  }
1566
1695
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SentryErrorHandler, decorators: [{
1567
1696
  type: Injectable
1568
- }], ctorParameters: function () { return [{ type: i1$1.AuthorizerService }, { type: GlobalErrorService }, { type: Configurations, decorators: [{
1697
+ }], ctorParameters: function () { return [{ type: i1.AuthorizerService }, { type: GlobalErrorService }, { type: Configurations, decorators: [{
1569
1698
  type: Optional
1570
1699
  }] }]; } });
1571
1700