@wolkabout/commons 0.3.7 → 0.4.1

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.
@@ -115,8 +115,8 @@ const shared = [
115
115
  DragDropModule
116
116
  ];
117
117
  class SharedModule {
118
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
119
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: SharedModule, imports: [MatButtonModule,
118
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
119
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.13", ngImport: i0, type: SharedModule, imports: [MatButtonModule,
120
120
  MatCheckboxModule,
121
121
  MatToolbarModule,
122
122
  MatMenuModule,
@@ -183,7 +183,7 @@ class SharedModule {
183
183
  RouterOutlet,
184
184
  RouterLinkActive,
185
185
  DragDropModule] });
186
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SharedModule, imports: [MatButtonModule,
186
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SharedModule, imports: [MatButtonModule,
187
187
  MatCheckboxModule,
188
188
  MatToolbarModule,
189
189
  MatMenuModule,
@@ -245,7 +245,7 @@ class SharedModule {
245
245
  CommonModule,
246
246
  DragDropModule] });
247
247
  }
248
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SharedModule, decorators: [{
248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SharedModule, decorators: [{
249
249
  type: NgModule,
250
250
  args: [{
251
251
  imports: shared,
@@ -413,10 +413,10 @@ class AuthenticationService {
413
413
  const payload = jwtDecode(token);
414
414
  return payload[claim];
415
415
  }
416
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AuthenticationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
417
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AuthenticationService, providedIn: 'root' });
416
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: AuthenticationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
417
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: AuthenticationService, providedIn: 'root' });
418
418
  }
419
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AuthenticationService, decorators: [{
419
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: AuthenticationService, decorators: [{
420
420
  type: Injectable,
421
421
  args: [{
422
422
  providedIn: 'root'
@@ -455,10 +455,10 @@ class PermissionsService {
455
455
  const everythingInFeature = moduleFeaturePermission[0] + '.' + moduleFeaturePermission[1] + '.*';
456
456
  return allPermissions.some((grantedPermission) => grantedPermission === '*' || grantedPermission === everythingInModule || grantedPermission === everythingInFeature || grantedPermission === permission);
457
457
  }
458
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: PermissionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
459
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: PermissionsService, providedIn: 'root' });
458
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: PermissionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
459
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: PermissionsService, providedIn: 'root' });
460
460
  }
461
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: PermissionsService, decorators: [{
461
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: PermissionsService, decorators: [{
462
462
  type: Injectable,
463
463
  args: [{
464
464
  providedIn: 'root'
@@ -550,10 +550,10 @@ class AssetManager {
550
550
  setAssetLocation(featureSet, host) {
551
551
  this.assetLocations[featureSet] = host;
552
552
  }
553
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AssetManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
554
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AssetManager, providedIn: 'root' });
553
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: AssetManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
554
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: AssetManager, providedIn: 'root' });
555
555
  }
556
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AssetManager, decorators: [{
556
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: AssetManager, decorators: [{
557
557
  type: Injectable,
558
558
  args: [{
559
559
  providedIn: 'root'
@@ -566,10 +566,10 @@ class IconRegistryService {
566
566
  registerIcon(name, path) {
567
567
  this.matIconRegistry.addSvgIcon(name, this.domSanitizer.bypassSecurityTrustResourceUrl(path));
568
568
  }
569
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: IconRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
570
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: IconRegistryService, providedIn: 'root' });
569
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: IconRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
570
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: IconRegistryService, providedIn: 'root' });
571
571
  }
572
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: IconRegistryService, decorators: [{
572
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: IconRegistryService, decorators: [{
573
573
  type: Injectable,
574
574
  args: [{ providedIn: 'root' }]
575
575
  }] });
@@ -618,10 +618,10 @@ class FeatureRegistry {
618
618
  get features$() {
619
619
  return this._features$.asObservable();
620
620
  }
621
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: FeatureRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
622
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: FeatureRegistry, providedIn: 'root' });
621
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: FeatureRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
622
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: FeatureRegistry, providedIn: 'root' });
623
623
  }
624
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: FeatureRegistry, decorators: [{
624
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: FeatureRegistry, decorators: [{
625
625
  type: Injectable,
626
626
  args: [{ providedIn: 'root' }]
627
627
  }] });
@@ -666,10 +666,10 @@ class MapsLoaderService {
666
666
  }
667
667
  });
668
668
  }
669
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: MapsLoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
670
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: MapsLoaderService, providedIn: 'root' });
669
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: MapsLoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
670
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: MapsLoaderService, providedIn: 'root' });
671
671
  }
672
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: MapsLoaderService, decorators: [{
672
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: MapsLoaderService, decorators: [{
673
673
  type: Injectable,
674
674
  args: [{ providedIn: 'root' }]
675
675
  }], ctorParameters: () => [] });
@@ -702,10 +702,10 @@ class NotificationService {
702
702
  showNotification(panelClass, message, duration) {
703
703
  this.snackBar.open(message, '', { duration, panelClass });
704
704
  }
705
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationService, deps: [{ token: i1.MatSnackBar }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
706
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationService, providedIn: 'root' });
705
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NotificationService, deps: [{ token: i1.MatSnackBar }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
706
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NotificationService, providedIn: 'root' });
707
707
  }
708
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationService, decorators: [{
708
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NotificationService, decorators: [{
709
709
  type: Injectable,
710
710
  args: [{ providedIn: 'root' }]
711
711
  }], ctorParameters: () => [{ type: i1.MatSnackBar }, { type: i1$1.TranslateService }] });
@@ -1512,10 +1512,10 @@ class TenantPropertiesService {
1512
1512
  setTimeZone(timeZone) {
1513
1513
  this.timezone = timeZone;
1514
1514
  }
1515
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TenantPropertiesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1516
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TenantPropertiesService, providedIn: 'root' });
1515
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: TenantPropertiesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1516
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: TenantPropertiesService, providedIn: 'root' });
1517
1517
  }
1518
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TenantPropertiesService, decorators: [{
1518
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: TenantPropertiesService, decorators: [{
1519
1519
  type: Injectable,
1520
1520
  args: [{
1521
1521
  providedIn: 'root'
@@ -2465,10 +2465,10 @@ class ThemeService {
2465
2465
  value: hex,
2466
2466
  };
2467
2467
  }
2468
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ThemeService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
2469
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ThemeService, providedIn: 'root' });
2468
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ThemeService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
2469
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ThemeService, providedIn: 'root' });
2470
2470
  }
2471
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ThemeService, decorators: [{
2471
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ThemeService, decorators: [{
2472
2472
  type: Injectable,
2473
2473
  args: [{
2474
2474
  providedIn: 'root'
@@ -2509,10 +2509,10 @@ class FullscreenService {
2509
2509
  this._fullScreenEnabled$.next(!this._fullScreenEnabled$.value);
2510
2510
  this._fullScreenEnabled$.value ? document.documentElement.requestFullscreen() : document.exitFullscreen();
2511
2511
  }
2512
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: FullscreenService, deps: [{ token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
2513
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: FullscreenService, providedIn: 'root' });
2512
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: FullscreenService, deps: [{ token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
2513
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: FullscreenService, providedIn: 'root' });
2514
2514
  }
2515
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: FullscreenService, decorators: [{
2515
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: FullscreenService, decorators: [{
2516
2516
  type: Injectable,
2517
2517
  args: [{
2518
2518
  providedIn: 'root',
@@ -2550,10 +2550,10 @@ class NavigationPersistenceService {
2550
2550
  this.registeredKeys.forEach(key => localStorage.removeItem(key));
2551
2551
  this.registeredKeys.clear();
2552
2552
  }
2553
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NavigationPersistenceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2554
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NavigationPersistenceService, providedIn: 'root' });
2553
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NavigationPersistenceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2554
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NavigationPersistenceService, providedIn: 'root' });
2555
2555
  }
2556
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NavigationPersistenceService, decorators: [{
2556
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NavigationPersistenceService, decorators: [{
2557
2557
  type: Injectable,
2558
2558
  args: [{
2559
2559
  providedIn: 'root'
@@ -2573,10 +2573,10 @@ class LoadingIndicatorDirective {
2573
2573
  constructor(element) {
2574
2574
  this.element = element;
2575
2575
  }
2576
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LoadingIndicatorDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
2577
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: LoadingIndicatorDirective, isStandalone: true, selector: "[appLoadingIndicator]", inputs: { appLoadingShimmer: ["appLoadingIndicator", "appLoadingShimmer"] }, ngImport: i0 });
2576
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: LoadingIndicatorDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
2577
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.13", type: LoadingIndicatorDirective, isStandalone: true, selector: "[appLoadingIndicator]", inputs: { appLoadingShimmer: ["appLoadingIndicator", "appLoadingShimmer"] }, ngImport: i0 });
2578
2578
  }
2579
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LoadingIndicatorDirective, decorators: [{
2579
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: LoadingIndicatorDirective, decorators: [{
2580
2580
  type: Directive,
2581
2581
  args: [{
2582
2582
  selector: '[appLoadingIndicator]',
@@ -2681,8 +2681,8 @@ class LocalizedNumericInputDirective {
2681
2681
  //final format
2682
2682
  return sign + parsedInt + (parsedDec || endsInDecMark ? '.' : '') + parsedDec;
2683
2683
  }
2684
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LocalizedNumericInputDirective, deps: [{ token: i0.ElementRef }, { token: TenantPropertiesService }], target: i0.ɵɵFactoryTarget.Directive });
2685
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: LocalizedNumericInputDirective, isStandalone: true, selector: "input[wolkaboutLocalizedNumericInput]", host: { listeners: { "input": "input($event.target.value)", "blur": "onBlur()", "focus": "onFocus()" } }, providers: [
2684
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: LocalizedNumericInputDirective, deps: [{ token: i0.ElementRef }, { token: TenantPropertiesService }], target: i0.ɵɵFactoryTarget.Directive });
2685
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.13", type: LocalizedNumericInputDirective, isStandalone: true, selector: "input[wolkaboutLocalizedNumericInput]", host: { listeners: { "input": "input($event.target.value)", "blur": "onBlur()", "focus": "onFocus()" } }, providers: [
2686
2686
  { provide: MAT_INPUT_VALUE_ACCESSOR, useExisting: LocalizedNumericInputDirective },
2687
2687
  {
2688
2688
  provide: NG_VALUE_ACCESSOR,
@@ -2691,7 +2691,7 @@ class LocalizedNumericInputDirective {
2691
2691
  },
2692
2692
  ], ngImport: i0 });
2693
2693
  }
2694
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LocalizedNumericInputDirective, decorators: [{
2694
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: LocalizedNumericInputDirective, decorators: [{
2695
2695
  type: Directive,
2696
2696
  args: [{
2697
2697
  selector: 'input[wolkaboutLocalizedNumericInput]',
@@ -2804,10 +2804,10 @@ class MessageTooltipDirective {
2804
2804
  clearTimeout(this.showTimeout);
2805
2805
  this.overlayRef?.dispose();
2806
2806
  }
2807
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: MessageTooltipDirective, deps: [{ token: i1$3.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
2808
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: MessageTooltipDirective, isStandalone: true, selector: "[appMessageTooltip]", inputs: { tooltipTemplate: ["appMessageTooltip", "tooltipTemplate"] }, host: { listeners: { "mouseenter": "show()", "mouseleave": "hide()" } }, ngImport: i0 });
2807
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: MessageTooltipDirective, deps: [{ token: i1$3.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
2808
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.13", type: MessageTooltipDirective, isStandalone: true, selector: "[appMessageTooltip]", inputs: { tooltipTemplate: ["appMessageTooltip", "tooltipTemplate"] }, host: { listeners: { "mouseenter": "show()", "mouseleave": "hide()" } }, ngImport: i0 });
2809
2809
  }
2810
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: MessageTooltipDirective, decorators: [{
2810
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: MessageTooltipDirective, decorators: [{
2811
2811
  type: Directive,
2812
2812
  args: [{
2813
2813
  selector: '[appMessageTooltip]',
@@ -2847,10 +2847,10 @@ class OverflowClassDirective {
2847
2847
  }
2848
2848
  });
2849
2849
  }
2850
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: OverflowClassDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
2851
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: OverflowClassDirective, isStandalone: true, selector: "[overflowClass]", inputs: { overflowClass: "overflowClass" }, ngImport: i0 });
2850
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: OverflowClassDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
2851
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.13", type: OverflowClassDirective, isStandalone: true, selector: "[overflowClass]", inputs: { overflowClass: "overflowClass" }, ngImport: i0 });
2852
2852
  }
2853
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: OverflowClassDirective, decorators: [{
2853
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: OverflowClassDirective, decorators: [{
2854
2854
  type: Directive,
2855
2855
  args: [{
2856
2856
  selector: '[overflowClass]',
@@ -2883,10 +2883,10 @@ class RequiresAllGlobalOrAssetPermissionsDirective {
2883
2883
  this.viewContainer = viewContainer;
2884
2884
  this.permissions = permissions;
2885
2885
  }
2886
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: RequiresAllGlobalOrAssetPermissionsDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: PermissionsService }], target: i0.ɵɵFactoryTarget.Directive });
2887
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: RequiresAllGlobalOrAssetPermissionsDirective, isStandalone: true, selector: "[appRequiresAllGlobalOrAssetPermissions]", inputs: { appRequiresAllGlobalOrAssetPermissions: "appRequiresAllGlobalOrAssetPermissions" }, ngImport: i0 });
2886
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RequiresAllGlobalOrAssetPermissionsDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: PermissionsService }], target: i0.ɵɵFactoryTarget.Directive });
2887
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.13", type: RequiresAllGlobalOrAssetPermissionsDirective, isStandalone: true, selector: "[appRequiresAllGlobalOrAssetPermissions]", inputs: { appRequiresAllGlobalOrAssetPermissions: "appRequiresAllGlobalOrAssetPermissions" }, ngImport: i0 });
2888
2888
  }
2889
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: RequiresAllGlobalOrAssetPermissionsDirective, decorators: [{
2889
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RequiresAllGlobalOrAssetPermissionsDirective, decorators: [{
2890
2890
  type: Directive,
2891
2891
  args: [{
2892
2892
  selector: '[appRequiresAllGlobalOrAssetPermissions]'
@@ -2918,10 +2918,10 @@ class RequiresAllPermissionDirective {
2918
2918
  this.viewContainer = viewContainer;
2919
2919
  this.permissions = permissions;
2920
2920
  }
2921
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: RequiresAllPermissionDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: PermissionsService }], target: i0.ɵɵFactoryTarget.Directive });
2922
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: RequiresAllPermissionDirective, isStandalone: true, selector: "[appRequiresAllPermissions]", inputs: { appRequiresAllPermissions: "appRequiresAllPermissions" }, ngImport: i0 });
2921
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RequiresAllPermissionDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: PermissionsService }], target: i0.ɵɵFactoryTarget.Directive });
2922
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.13", type: RequiresAllPermissionDirective, isStandalone: true, selector: "[appRequiresAllPermissions]", inputs: { appRequiresAllPermissions: "appRequiresAllPermissions" }, ngImport: i0 });
2923
2923
  }
2924
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: RequiresAllPermissionDirective, decorators: [{
2924
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RequiresAllPermissionDirective, decorators: [{
2925
2925
  type: Directive,
2926
2926
  args: [{
2927
2927
  selector: '[appRequiresAllPermissions]'
@@ -2953,10 +2953,10 @@ class RequiresGlobalOrAsserPermissionDirective {
2953
2953
  this.viewContainer = viewContainer;
2954
2954
  this.permissions = permissions;
2955
2955
  }
2956
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: RequiresGlobalOrAsserPermissionDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: PermissionsService }], target: i0.ɵɵFactoryTarget.Directive });
2957
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: RequiresGlobalOrAsserPermissionDirective, isStandalone: true, selector: "[appRequiresGlobalOrAssetPermission]", inputs: { appRequiresGlobalOrAssetPermission: "appRequiresGlobalOrAssetPermission" }, ngImport: i0 });
2956
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RequiresGlobalOrAsserPermissionDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: PermissionsService }], target: i0.ɵɵFactoryTarget.Directive });
2957
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.13", type: RequiresGlobalOrAsserPermissionDirective, isStandalone: true, selector: "[appRequiresGlobalOrAssetPermission]", inputs: { appRequiresGlobalOrAssetPermission: "appRequiresGlobalOrAssetPermission" }, ngImport: i0 });
2958
2958
  }
2959
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: RequiresGlobalOrAsserPermissionDirective, decorators: [{
2959
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RequiresGlobalOrAsserPermissionDirective, decorators: [{
2960
2960
  type: Directive,
2961
2961
  args: [{
2962
2962
  selector: '[appRequiresGlobalOrAssetPermission]'
@@ -2990,10 +2990,10 @@ class RequiresPermissionDirective {
2990
2990
  this.viewContainer = viewContainer;
2991
2991
  this.permissions = permissions;
2992
2992
  }
2993
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: RequiresPermissionDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: PermissionsService }], target: i0.ɵɵFactoryTarget.Directive });
2994
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: RequiresPermissionDirective, isStandalone: true, selector: "[appRequiresPermission]", inputs: { appRequiresPermission: "appRequiresPermission" }, ngImport: i0 });
2993
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RequiresPermissionDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: PermissionsService }], target: i0.ɵɵFactoryTarget.Directive });
2994
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.13", type: RequiresPermissionDirective, isStandalone: true, selector: "[appRequiresPermission]", inputs: { appRequiresPermission: "appRequiresPermission" }, ngImport: i0 });
2995
2995
  }
2996
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: RequiresPermissionDirective, decorators: [{
2996
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RequiresPermissionDirective, decorators: [{
2997
2997
  type: Directive,
2998
2998
  args: [{
2999
2999
  selector: '[appRequiresPermission]'
@@ -3024,10 +3024,10 @@ class ScrollIntoViewDirective {
3024
3024
  this.elementRef.nativeElement.scrollIntoView({ behavior: 'smooth', block: 'center' });
3025
3025
  }
3026
3026
  }
3027
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScrollIntoViewDirective, deps: [{ token: PLATFORM_ID }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
3028
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: ScrollIntoViewDirective, isStandalone: true, selector: "[appScrollIntoView]", inputs: { appScrollIntoView: "appScrollIntoView" }, usesOnChanges: true, ngImport: i0 });
3027
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ScrollIntoViewDirective, deps: [{ token: PLATFORM_ID }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
3028
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.13", type: ScrollIntoViewDirective, isStandalone: true, selector: "[appScrollIntoView]", inputs: { appScrollIntoView: "appScrollIntoView" }, usesOnChanges: true, ngImport: i0 });
3029
3029
  }
3030
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScrollIntoViewDirective, decorators: [{
3030
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ScrollIntoViewDirective, decorators: [{
3031
3031
  type: Directive,
3032
3032
  args: [{
3033
3033
  selector: '[appScrollIntoView]',
@@ -3071,10 +3071,10 @@ class DurationPipe {
3071
3071
  transform(totalSeconds) {
3072
3072
  return formatDuration(totalSeconds);
3073
3073
  }
3074
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DurationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
3075
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: DurationPipe, isStandalone: true, name: "duration" });
3074
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: DurationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
3075
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.13", ngImport: i0, type: DurationPipe, isStandalone: true, name: "duration" });
3076
3076
  }
3077
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DurationPipe, decorators: [{
3077
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: DurationPipe, decorators: [{
3078
3078
  type: Pipe,
3079
3079
  args: [{
3080
3080
  name: 'duration',
@@ -3106,10 +3106,10 @@ class LocalizedNumberPipe {
3106
3106
  };
3107
3107
  return new Intl.NumberFormat(defaultedLocale, options).format(value);
3108
3108
  }
3109
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LocalizedNumberPipe, deps: [{ token: TenantPropertiesService }], target: i0.ɵɵFactoryTarget.Pipe });
3110
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: LocalizedNumberPipe, isStandalone: true, name: "localizedNumber" });
3109
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: LocalizedNumberPipe, deps: [{ token: TenantPropertiesService }], target: i0.ɵɵFactoryTarget.Pipe });
3110
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.13", ngImport: i0, type: LocalizedNumberPipe, isStandalone: true, name: "localizedNumber" });
3111
3111
  }
3112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LocalizedNumberPipe, decorators: [{
3112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: LocalizedNumberPipe, decorators: [{
3113
3113
  type: Pipe,
3114
3114
  args: [{
3115
3115
  name: 'localizedNumber',
@@ -3136,10 +3136,10 @@ class SimpleDateTimePipe {
3136
3136
  const formattedDateTime = date + ' ' + time;
3137
3137
  return showTimeZone ? `${formattedDateTime} ${zone}` : formattedDateTime;
3138
3138
  }
3139
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SimpleDateTimePipe, deps: [{ token: TenantPropertiesService }], target: i0.ɵɵFactoryTarget.Pipe });
3140
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: SimpleDateTimePipe, isStandalone: true, name: "simpleDateTime" });
3139
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SimpleDateTimePipe, deps: [{ token: TenantPropertiesService }], target: i0.ɵɵFactoryTarget.Pipe });
3140
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.13", ngImport: i0, type: SimpleDateTimePipe, isStandalone: true, name: "simpleDateTime" });
3141
3141
  }
3142
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SimpleDateTimePipe, decorators: [{
3142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SimpleDateTimePipe, decorators: [{
3143
3143
  type: Pipe,
3144
3144
  args: [{
3145
3145
  name: 'simpleDateTime',
@@ -3163,10 +3163,10 @@ class SimpleDatePipe {
3163
3163
  const zone = dateTime.offsetNameShort;
3164
3164
  return showTimeZone ? `${date} ${zone}` : date;
3165
3165
  }
3166
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SimpleDatePipe, deps: [{ token: TenantPropertiesService }], target: i0.ɵɵFactoryTarget.Pipe });
3167
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: SimpleDatePipe, isStandalone: true, name: "simpleDate" });
3166
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SimpleDatePipe, deps: [{ token: TenantPropertiesService }], target: i0.ɵɵFactoryTarget.Pipe });
3167
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.13", ngImport: i0, type: SimpleDatePipe, isStandalone: true, name: "simpleDate" });
3168
3168
  }
3169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SimpleDatePipe, decorators: [{
3169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SimpleDatePipe, decorators: [{
3170
3170
  type: Pipe,
3171
3171
  args: [{
3172
3172
  name: 'simpleDate',
@@ -3190,10 +3190,10 @@ class SimpleTimePipe {
3190
3190
  const zone = dateTime.offsetNameShort;
3191
3191
  return showTimeZone ? `${time} ${zone}` : time;
3192
3192
  }
3193
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SimpleTimePipe, deps: [{ token: TenantPropertiesService }], target: i0.ɵɵFactoryTarget.Pipe });
3194
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: SimpleTimePipe, isStandalone: true, name: "simpleTime" });
3193
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SimpleTimePipe, deps: [{ token: TenantPropertiesService }], target: i0.ɵɵFactoryTarget.Pipe });
3194
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.13", ngImport: i0, type: SimpleTimePipe, isStandalone: true, name: "simpleTime" });
3195
3195
  }
3196
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SimpleTimePipe, decorators: [{
3196
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SimpleTimePipe, decorators: [{
3197
3197
  type: Pipe,
3198
3198
  args: [{
3199
3199
  name: 'simpleTime',
@@ -3223,10 +3223,10 @@ class SortPipe {
3223
3223
  });
3224
3224
  return array;
3225
3225
  }
3226
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
3227
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: SortPipe, isStandalone: true, name: "sort" });
3226
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
3227
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.13", ngImport: i0, type: SortPipe, isStandalone: true, name: "sort" });
3228
3228
  }
3229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SortPipe, decorators: [{
3229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SortPipe, decorators: [{
3230
3230
  type: Pipe,
3231
3231
  args: [{
3232
3232
  name: 'sort',
@@ -3473,10 +3473,10 @@ class MissingTranslationHelper {
3473
3473
  handle(params) {
3474
3474
  return params.interpolateParams ? params.interpolateParams.default || params.key : params.key;
3475
3475
  }
3476
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: MissingTranslationHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3477
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: MissingTranslationHelper });
3476
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: MissingTranslationHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3477
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: MissingTranslationHelper });
3478
3478
  }
3479
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: MissingTranslationHelper, decorators: [{
3479
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: MissingTranslationHelper, decorators: [{
3480
3480
  type: Injectable
3481
3481
  }] });
3482
3482
 
@@ -4225,7 +4225,7 @@ class AutocompleteComponent {
4225
4225
  autocompleteTrigger;
4226
4226
  Object = Object;
4227
4227
  disabled = false;
4228
- hasValue = signal(false, ...(ngDevMode ? [{ debugName: "hasValue" }] : []));
4228
+ hasValue = signal(false, ...(ngDevMode ? [{ debugName: "hasValue" }] : /* istanbul ignore next */ []));
4229
4229
  formControl = new FormControl('', { nonNullable: true });
4230
4230
  data$ = this.formControl.valueChanges.pipe(startWith(''), // Autoload
4231
4231
  filter((value) => typeof value === 'string'), switchMap((value) => this.dataFunction(value)), shareReplay(1));
@@ -4307,12 +4307,12 @@ class AutocompleteComponent {
4307
4307
  document.removeEventListener('wheel', this.scrollEvent, true);
4308
4308
  document.removeEventListener('touchmove', this.scrollEvent, true);
4309
4309
  }
4310
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AutocompleteComponent, deps: [{ token: i5.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
4311
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: AutocompleteComponent, isStandalone: true, selector: "app-autocomplete", inputs: { name: "name", dataFunction: "dataFunction", displayFunction: "displayFunction", outlineBackground: "outlineBackground", hideRequiredMarker: "hideRequiredMarker" }, queries: [{ propertyName: "dropdownTemplate", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "autocompleteTrigger", first: true, predicate: MatAutocompleteTrigger, descendants: true }], ngImport: i0, template: "<ng-container>\n <div class=\"w-full\">\n <mat-form-field [ngClass]=\"{ 'outline-background': outlineBackground }\" class=\"w-full\" [hideRequiredMarker]=\"hideRequiredMarker\">\n <mat-label>\n <span>{{ name | translate }}</span>\n </mat-label>\n <input matInput #autoCompleteInput [ngClass]=\"{'cursor-text' : !hasValue(), 'cursor-default' : hasValue()}\" [formControl]=\"formControl\" [readonly]=\"hasValue()\" [placeholder]=\"name | translate\" autocomplete=\"off\"\n [matAutocomplete]=\"auto\" (blur)=\"onTouched($event)\" [attr.data-test]=\"name + 'SearchInput'\"/>\n @if (!disabled) {\n <button matSuffix mat-icon-button *ngIf=\"formControl.value\" (click)=\"clear()\" type='button'>\n <mat-icon class=\"text-mat-sys-on-error-container\">clear</mat-icon>\n </button>\n }\n @for (error of getErrors(); track error) {\n <mat-error>{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\n }\n </mat-form-field>\n </div>\n <mat-autocomplete #auto=\"matAutocomplete\" [class]=\"'autocomplete-panel'\" [displayWith]=\"displayFunction\">\n @if (loading$ | async) {\n <mat-option>\n <div>{{ 'Loading...' }}</div>\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n </mat-option>\n } @else {\n <mat-option *ngFor=\"let item of data$ | async; let i = index\" [value]=\"item\" class=\"autocomplete-option\" [attr.data-test]=\"name + 'SearchItem' + (i + 1)\">\n <ng-container [ngTemplateOutlet]=\"dropdownTemplate ? dropdownTemplate : defaultTemplate\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n <ng-template #defaultTemplate>{{ displayFunction(item) }}</ng-template>\n </mat-option>\n }\n </mat-autocomplete>\n</ng-container>\n", styles: [".mat-option-hidden{display:none}.autocomplete-option{height:fit-content}.autocomplete-option.autocomplete-option__active,.autocomplete-option.autocomplete-option__active:hover{background-color:var(--color-primary-50)}.autocomplete-info{height:30px;font-size:14px}.autocomplete-info.secondary{font-size:12px;height:25px}.autocomplete-info .autocomplete-item{text-overflow:ellipsis;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i1$4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i8.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
4310
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: AutocompleteComponent, deps: [{ token: i5.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
4311
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: AutocompleteComponent, isStandalone: true, selector: "app-autocomplete", inputs: { name: "name", dataFunction: "dataFunction", displayFunction: "displayFunction", outlineBackground: "outlineBackground", hideRequiredMarker: "hideRequiredMarker" }, queries: [{ propertyName: "dropdownTemplate", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "autocompleteTrigger", first: true, predicate: MatAutocompleteTrigger, descendants: true }], ngImport: i0, template: "<ng-container>\r\n <div class=\"w-full\">\r\n <mat-form-field [ngClass]=\"{ 'outline-background': outlineBackground }\" class=\"w-full\" [hideRequiredMarker]=\"hideRequiredMarker\">\r\n <mat-label>\r\n <span>{{ name | translate }}</span>\r\n </mat-label>\r\n <input matInput #autoCompleteInput [ngClass]=\"{'cursor-text' : !hasValue(), 'cursor-default' : hasValue()}\" [formControl]=\"formControl\" [readonly]=\"hasValue()\" [placeholder]=\"name | translate\" autocomplete=\"off\"\r\n [matAutocomplete]=\"auto\" (blur)=\"onTouched($event)\" [attr.data-test]=\"name + 'SearchInput'\"/>\r\n @if (!disabled) {\r\n <button matSuffix mat-icon-button *ngIf=\"formControl.value\" (click)=\"clear()\" type='button'>\r\n <mat-icon class=\"text-mat-sys-on-error-container\">clear</mat-icon>\r\n </button>\r\n }\r\n @for (error of getErrors(); track error) {\r\n <mat-error>{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n <mat-autocomplete #auto=\"matAutocomplete\" [class]=\"'autocomplete-panel'\" [displayWith]=\"displayFunction\">\r\n @if (loading$ | async) {\r\n <mat-option>\r\n <div>{{ 'Loading...' }}</div>\r\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n </mat-option>\r\n } @else {\r\n <mat-option *ngFor=\"let item of data$ | async; let i = index\" [value]=\"item\" class=\"autocomplete-option\" [attr.data-test]=\"name + 'SearchItem' + (i + 1)\">\r\n <ng-container [ngTemplateOutlet]=\"dropdownTemplate ? dropdownTemplate : defaultTemplate\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\r\n <ng-template #defaultTemplate>{{ displayFunction(item) }}</ng-template>\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n</ng-container>\r\n", styles: [".mat-option-hidden{display:none}.autocomplete-option{height:fit-content}.autocomplete-option.autocomplete-option__active,.autocomplete-option.autocomplete-option__active:hover{background-color:var(--color-primary-50)}.autocomplete-info{height:30px;font-size:14px}.autocomplete-info.secondary{font-size:12px;height:25px}.autocomplete-info .autocomplete-item{text-overflow:ellipsis;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i1$4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i8.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
4312
4312
  }
4313
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AutocompleteComponent, decorators: [{
4313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: AutocompleteComponent, decorators: [{
4314
4314
  type: Component,
4315
- args: [{ selector: 'app-autocomplete', imports: [SharedModule], template: "<ng-container>\n <div class=\"w-full\">\n <mat-form-field [ngClass]=\"{ 'outline-background': outlineBackground }\" class=\"w-full\" [hideRequiredMarker]=\"hideRequiredMarker\">\n <mat-label>\n <span>{{ name | translate }}</span>\n </mat-label>\n <input matInput #autoCompleteInput [ngClass]=\"{'cursor-text' : !hasValue(), 'cursor-default' : hasValue()}\" [formControl]=\"formControl\" [readonly]=\"hasValue()\" [placeholder]=\"name | translate\" autocomplete=\"off\"\n [matAutocomplete]=\"auto\" (blur)=\"onTouched($event)\" [attr.data-test]=\"name + 'SearchInput'\"/>\n @if (!disabled) {\n <button matSuffix mat-icon-button *ngIf=\"formControl.value\" (click)=\"clear()\" type='button'>\n <mat-icon class=\"text-mat-sys-on-error-container\">clear</mat-icon>\n </button>\n }\n @for (error of getErrors(); track error) {\n <mat-error>{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\n }\n </mat-form-field>\n </div>\n <mat-autocomplete #auto=\"matAutocomplete\" [class]=\"'autocomplete-panel'\" [displayWith]=\"displayFunction\">\n @if (loading$ | async) {\n <mat-option>\n <div>{{ 'Loading...' }}</div>\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n </mat-option>\n } @else {\n <mat-option *ngFor=\"let item of data$ | async; let i = index\" [value]=\"item\" class=\"autocomplete-option\" [attr.data-test]=\"name + 'SearchItem' + (i + 1)\">\n <ng-container [ngTemplateOutlet]=\"dropdownTemplate ? dropdownTemplate : defaultTemplate\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n <ng-template #defaultTemplate>{{ displayFunction(item) }}</ng-template>\n </mat-option>\n }\n </mat-autocomplete>\n</ng-container>\n", styles: [".mat-option-hidden{display:none}.autocomplete-option{height:fit-content}.autocomplete-option.autocomplete-option__active,.autocomplete-option.autocomplete-option__active:hover{background-color:var(--color-primary-50)}.autocomplete-info{height:30px;font-size:14px}.autocomplete-info.secondary{font-size:12px;height:25px}.autocomplete-info .autocomplete-item{text-overflow:ellipsis;overflow:hidden}\n"] }]
4315
+ args: [{ selector: 'app-autocomplete', imports: [SharedModule], template: "<ng-container>\r\n <div class=\"w-full\">\r\n <mat-form-field [ngClass]=\"{ 'outline-background': outlineBackground }\" class=\"w-full\" [hideRequiredMarker]=\"hideRequiredMarker\">\r\n <mat-label>\r\n <span>{{ name | translate }}</span>\r\n </mat-label>\r\n <input matInput #autoCompleteInput [ngClass]=\"{'cursor-text' : !hasValue(), 'cursor-default' : hasValue()}\" [formControl]=\"formControl\" [readonly]=\"hasValue()\" [placeholder]=\"name | translate\" autocomplete=\"off\"\r\n [matAutocomplete]=\"auto\" (blur)=\"onTouched($event)\" [attr.data-test]=\"name + 'SearchInput'\"/>\r\n @if (!disabled) {\r\n <button matSuffix mat-icon-button *ngIf=\"formControl.value\" (click)=\"clear()\" type='button'>\r\n <mat-icon class=\"text-mat-sys-on-error-container\">clear</mat-icon>\r\n </button>\r\n }\r\n @for (error of getErrors(); track error) {\r\n <mat-error>{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n <mat-autocomplete #auto=\"matAutocomplete\" [class]=\"'autocomplete-panel'\" [displayWith]=\"displayFunction\">\r\n @if (loading$ | async) {\r\n <mat-option>\r\n <div>{{ 'Loading...' }}</div>\r\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n </mat-option>\r\n } @else {\r\n <mat-option *ngFor=\"let item of data$ | async; let i = index\" [value]=\"item\" class=\"autocomplete-option\" [attr.data-test]=\"name + 'SearchItem' + (i + 1)\">\r\n <ng-container [ngTemplateOutlet]=\"dropdownTemplate ? dropdownTemplate : defaultTemplate\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\r\n <ng-template #defaultTemplate>{{ displayFunction(item) }}</ng-template>\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n</ng-container>\r\n", styles: [".mat-option-hidden{display:none}.autocomplete-option{height:fit-content}.autocomplete-option.autocomplete-option__active,.autocomplete-option.autocomplete-option__active:hover{background-color:var(--color-primary-50)}.autocomplete-info{height:30px;font-size:14px}.autocomplete-info.secondary{font-size:12px;height:25px}.autocomplete-info .autocomplete-item{text-overflow:ellipsis;overflow:hidden}\n"] }]
4316
4316
  }], ctorParameters: () => [{ type: i5.NgControl, decorators: [{
4317
4317
  type: Optional
4318
4318
  }, {
@@ -4423,12 +4423,12 @@ class AutocompleteChipsComponent {
4423
4423
  document.removeEventListener('wheel', this.scrollEvent, true);
4424
4424
  document.removeEventListener('touchmove', this.scrollEvent, true);
4425
4425
  }
4426
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AutocompleteChipsComponent, deps: [{ token: i5.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
4427
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: AutocompleteChipsComponent, isStandalone: true, selector: "app-autocomplete-chips", inputs: { name: "name", dataFunction: "dataFunction", displayFunction: "displayFunction", outlineBackground: "outlineBackground" }, queries: [{ propertyName: "dropdownTemplate", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "autocompleteTrigger", first: true, predicate: MatAutocompleteTrigger, descendants: true }, { propertyName: "inputRef", first: true, predicate: ["autoCompleteInput"], descendants: true }], ngImport: i0, template: "<div class=\"w-full\" [ngClass]=\"{'required' : !!getErrors().length && !formControl.untouched && !(items$ | async)?.length}\">\n <mat-form-field [ngClass]=\"{ 'outline-background': outlineBackground }\" class=\"w-full\">\n <mat-label>\n <span>{{ name | translate }}</span>\n </mat-label>\n <mat-chip-grid #chipGrid>\n <mat-chip-row *ngFor=\"let item of items$ | async as items; let i = index\"\n [removable]=\"!disabled\"\n (removed)=\"removeItem(i, items)\">\n {{ displayFunction(item) }}\n <mat-icon class=\"text-mat-sys-on-error-container\" matChipRemove *ngIf=\"!disabled\">cancel</mat-icon>\n </mat-chip-row>\n <input matInput\n #autoCompleteInput\n [placeholder]=\"name | translate\"\n autocomplete=\"off\"\n [formControl]=\"formControl\"\n [matAutocomplete]=\"auto\"\n [matChipInputFor]=\"chipGrid\"\n (blur)=\"onTouched($event)\"/>\n </mat-chip-grid>\n </mat-form-field>\n\n @for (error of getErrors(); track error) {\n @if (!formControl.untouched && !(items$ | async)?.length) {\n <mat-error class=\"ml-4 mt-[-2px] text-xs\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\n }\n }\n</div>\n<mat-autocomplete #auto=\"matAutocomplete\" [class]=\"'autocomplete-panel'\" (optionSelected)=\"addItem($event)\">\n @if (loading$ | async) {\n <mat-option>\n <div>{{ 'Loading...' }}</div>\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n </mat-option>\n } @else {\n <ng-container *ngFor=\"let item of data$ | async; let i = index\">\n @if (shouldShowOption(item, (items$ | async) ?? [])) {\n <mat-option\n [value]=\"item\"\n class=\"autocomplete-option\"\n [attr.data-test]=\"name + 'SearchItem' + (i + 1)\">\n <ng-container [ngTemplateOutlet]=\"dropdownTemplate ? dropdownTemplate : defaultTemplate\"\n [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n <ng-template #defaultTemplate>{{ displayFunction(item) }}</ng-template>\n </mat-option>\n }\n </ng-container>\n }\n</mat-autocomplete>\n", styles: [".mat-option-hidden{display:none}.autocomplete-option{height:fit-content}.autocomplete-option.autocomplete-option__active,.autocomplete-option.autocomplete-option__active:hover{background-color:var(--color-primary-50)}.autocomplete-info{height:30px;font-size:14px}.autocomplete-info.secondary{font-size:12px;height:25px}.autocomplete-info .autocomplete-item{text-overflow:ellipsis;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i8.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i8$1.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i8$1.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled", "readonly", "matChipInputDisabledInteractive"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i8$1.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i8$1.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
4426
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: AutocompleteChipsComponent, deps: [{ token: i5.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
4427
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: AutocompleteChipsComponent, isStandalone: true, selector: "app-autocomplete-chips", inputs: { name: "name", dataFunction: "dataFunction", displayFunction: "displayFunction", outlineBackground: "outlineBackground" }, queries: [{ propertyName: "dropdownTemplate", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "autocompleteTrigger", first: true, predicate: MatAutocompleteTrigger, descendants: true }, { propertyName: "inputRef", first: true, predicate: ["autoCompleteInput"], descendants: true }], ngImport: i0, template: "<div class=\"w-full\" [ngClass]=\"{'required' : !!getErrors().length && !formControl.untouched && !(items$ | async)?.length}\">\r\n <mat-form-field [ngClass]=\"{ 'outline-background': outlineBackground }\" class=\"w-full\">\r\n <mat-label>\r\n <span>{{ name | translate }}</span>\r\n </mat-label>\r\n <mat-chip-grid #chipGrid>\r\n <mat-chip-row *ngFor=\"let item of items$ | async as items; let i = index\"\r\n [removable]=\"!disabled\"\r\n (removed)=\"removeItem(i, items)\">\r\n {{ displayFunction(item) }}\r\n <mat-icon class=\"text-mat-sys-on-error-container\" matChipRemove *ngIf=\"!disabled\">cancel</mat-icon>\r\n </mat-chip-row>\r\n <input matInput\r\n #autoCompleteInput\r\n [placeholder]=\"name | translate\"\r\n autocomplete=\"off\"\r\n [formControl]=\"formControl\"\r\n [matAutocomplete]=\"auto\"\r\n [matChipInputFor]=\"chipGrid\"\r\n (blur)=\"onTouched($event)\"/>\r\n </mat-chip-grid>\r\n </mat-form-field>\r\n\r\n @for (error of getErrors(); track error) {\r\n @if (!formControl.untouched && !(items$ | async)?.length) {\r\n <mat-error class=\"ml-4 mt-[-2px] text-xs\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\r\n }\r\n }\r\n</div>\r\n<mat-autocomplete #auto=\"matAutocomplete\" [class]=\"'autocomplete-panel'\" (optionSelected)=\"addItem($event)\">\r\n @if (loading$ | async) {\r\n <mat-option>\r\n <div>{{ 'Loading...' }}</div>\r\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n </mat-option>\r\n } @else {\r\n <ng-container *ngFor=\"let item of data$ | async; let i = index\">\r\n @if (shouldShowOption(item, (items$ | async) ?? [])) {\r\n <mat-option\r\n [value]=\"item\"\r\n class=\"autocomplete-option\"\r\n [attr.data-test]=\"name + 'SearchItem' + (i + 1)\">\r\n <ng-container [ngTemplateOutlet]=\"dropdownTemplate ? dropdownTemplate : defaultTemplate\"\r\n [ngTemplateOutletContext]=\"{ item }\"></ng-container>\r\n <ng-template #defaultTemplate>{{ displayFunction(item) }}</ng-template>\r\n </mat-option>\r\n }\r\n </ng-container>\r\n }\r\n</mat-autocomplete>\r\n", styles: [".mat-option-hidden{display:none}.autocomplete-option{height:fit-content}.autocomplete-option.autocomplete-option__active,.autocomplete-option.autocomplete-option__active:hover{background-color:var(--color-primary-50)}.autocomplete-info{height:30px;font-size:14px}.autocomplete-info.secondary{font-size:12px;height:25px}.autocomplete-info .autocomplete-item{text-overflow:ellipsis;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i8.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i8$1.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i8$1.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled", "readonly", "matChipInputDisabledInteractive"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i8$1.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i8$1.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
4428
4428
  }
4429
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AutocompleteChipsComponent, decorators: [{
4429
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: AutocompleteChipsComponent, decorators: [{
4430
4430
  type: Component,
4431
- args: [{ selector: 'app-autocomplete-chips', imports: [SharedModule], template: "<div class=\"w-full\" [ngClass]=\"{'required' : !!getErrors().length && !formControl.untouched && !(items$ | async)?.length}\">\n <mat-form-field [ngClass]=\"{ 'outline-background': outlineBackground }\" class=\"w-full\">\n <mat-label>\n <span>{{ name | translate }}</span>\n </mat-label>\n <mat-chip-grid #chipGrid>\n <mat-chip-row *ngFor=\"let item of items$ | async as items; let i = index\"\n [removable]=\"!disabled\"\n (removed)=\"removeItem(i, items)\">\n {{ displayFunction(item) }}\n <mat-icon class=\"text-mat-sys-on-error-container\" matChipRemove *ngIf=\"!disabled\">cancel</mat-icon>\n </mat-chip-row>\n <input matInput\n #autoCompleteInput\n [placeholder]=\"name | translate\"\n autocomplete=\"off\"\n [formControl]=\"formControl\"\n [matAutocomplete]=\"auto\"\n [matChipInputFor]=\"chipGrid\"\n (blur)=\"onTouched($event)\"/>\n </mat-chip-grid>\n </mat-form-field>\n\n @for (error of getErrors(); track error) {\n @if (!formControl.untouched && !(items$ | async)?.length) {\n <mat-error class=\"ml-4 mt-[-2px] text-xs\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\n }\n }\n</div>\n<mat-autocomplete #auto=\"matAutocomplete\" [class]=\"'autocomplete-panel'\" (optionSelected)=\"addItem($event)\">\n @if (loading$ | async) {\n <mat-option>\n <div>{{ 'Loading...' }}</div>\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n </mat-option>\n } @else {\n <ng-container *ngFor=\"let item of data$ | async; let i = index\">\n @if (shouldShowOption(item, (items$ | async) ?? [])) {\n <mat-option\n [value]=\"item\"\n class=\"autocomplete-option\"\n [attr.data-test]=\"name + 'SearchItem' + (i + 1)\">\n <ng-container [ngTemplateOutlet]=\"dropdownTemplate ? dropdownTemplate : defaultTemplate\"\n [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n <ng-template #defaultTemplate>{{ displayFunction(item) }}</ng-template>\n </mat-option>\n }\n </ng-container>\n }\n</mat-autocomplete>\n", styles: [".mat-option-hidden{display:none}.autocomplete-option{height:fit-content}.autocomplete-option.autocomplete-option__active,.autocomplete-option.autocomplete-option__active:hover{background-color:var(--color-primary-50)}.autocomplete-info{height:30px;font-size:14px}.autocomplete-info.secondary{font-size:12px;height:25px}.autocomplete-info .autocomplete-item{text-overflow:ellipsis;overflow:hidden}\n"] }]
4431
+ args: [{ selector: 'app-autocomplete-chips', imports: [SharedModule], template: "<div class=\"w-full\" [ngClass]=\"{'required' : !!getErrors().length && !formControl.untouched && !(items$ | async)?.length}\">\r\n <mat-form-field [ngClass]=\"{ 'outline-background': outlineBackground }\" class=\"w-full\">\r\n <mat-label>\r\n <span>{{ name | translate }}</span>\r\n </mat-label>\r\n <mat-chip-grid #chipGrid>\r\n <mat-chip-row *ngFor=\"let item of items$ | async as items; let i = index\"\r\n [removable]=\"!disabled\"\r\n (removed)=\"removeItem(i, items)\">\r\n {{ displayFunction(item) }}\r\n <mat-icon class=\"text-mat-sys-on-error-container\" matChipRemove *ngIf=\"!disabled\">cancel</mat-icon>\r\n </mat-chip-row>\r\n <input matInput\r\n #autoCompleteInput\r\n [placeholder]=\"name | translate\"\r\n autocomplete=\"off\"\r\n [formControl]=\"formControl\"\r\n [matAutocomplete]=\"auto\"\r\n [matChipInputFor]=\"chipGrid\"\r\n (blur)=\"onTouched($event)\"/>\r\n </mat-chip-grid>\r\n </mat-form-field>\r\n\r\n @for (error of getErrors(); track error) {\r\n @if (!formControl.untouched && !(items$ | async)?.length) {\r\n <mat-error class=\"ml-4 mt-[-2px] text-xs\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\r\n }\r\n }\r\n</div>\r\n<mat-autocomplete #auto=\"matAutocomplete\" [class]=\"'autocomplete-panel'\" (optionSelected)=\"addItem($event)\">\r\n @if (loading$ | async) {\r\n <mat-option>\r\n <div>{{ 'Loading...' }}</div>\r\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n </mat-option>\r\n } @else {\r\n <ng-container *ngFor=\"let item of data$ | async; let i = index\">\r\n @if (shouldShowOption(item, (items$ | async) ?? [])) {\r\n <mat-option\r\n [value]=\"item\"\r\n class=\"autocomplete-option\"\r\n [attr.data-test]=\"name + 'SearchItem' + (i + 1)\">\r\n <ng-container [ngTemplateOutlet]=\"dropdownTemplate ? dropdownTemplate : defaultTemplate\"\r\n [ngTemplateOutletContext]=\"{ item }\"></ng-container>\r\n <ng-template #defaultTemplate>{{ displayFunction(item) }}</ng-template>\r\n </mat-option>\r\n }\r\n </ng-container>\r\n }\r\n</mat-autocomplete>\r\n", styles: [".mat-option-hidden{display:none}.autocomplete-option{height:fit-content}.autocomplete-option.autocomplete-option__active,.autocomplete-option.autocomplete-option__active:hover{background-color:var(--color-primary-50)}.autocomplete-info{height:30px;font-size:14px}.autocomplete-info.secondary{font-size:12px;height:25px}.autocomplete-info .autocomplete-item{text-overflow:ellipsis;overflow:hidden}\n"] }]
4432
4432
  }], ctorParameters: () => [{ type: i5.NgControl, decorators: [{
4433
4433
  type: Optional
4434
4434
  }, {
@@ -4456,9 +4456,9 @@ class BasicTimeSeriesGraphComponent {
4456
4456
  timeFormatter;
4457
4457
  themeService = inject(ThemeService);
4458
4458
  chartTheme = toSignal(this.themeService.chartTheme$);
4459
- timeSeries = input.required(...(ngDevMode ? [{ debugName: "timeSeries" }] : []));
4460
- desiredTimeFrame = input(...(ngDevMode ? [undefined, { debugName: "desiredTimeFrame" }] : []));
4461
- primaryColor = input(...(ngDevMode ? [undefined, { debugName: "primaryColor" }] : []));
4459
+ timeSeries = input.required(...(ngDevMode ? [{ debugName: "timeSeries" }] : /* istanbul ignore next */ []));
4460
+ desiredTimeFrame = input(...(ngDevMode ? [undefined, { debugName: "desiredTimeFrame" }] : /* istanbul ignore next */ []));
4461
+ primaryColor = input(...(ngDevMode ? [undefined, { debugName: "primaryColor" }] : /* istanbul ignore next */ []));
4462
4462
  graphOptions = computed(() => {
4463
4463
  const timeSeries = this.timeSeries();
4464
4464
  const dataZoom = untracked(this.dataZoom);
@@ -4482,14 +4482,14 @@ class BasicTimeSeriesGraphComponent {
4482
4482
  trigger: 'axis',
4483
4483
  formatter: (params) => {
4484
4484
  const [timestamp, data] = params[0].data;
4485
- return `
4486
- <div class="flex flex-col gap-y-2">
4487
- <div>${this.timeFormatter.transform(timestamp)}</div>
4488
- <div class="flex flex-row gap-x-2 items-center">
4489
- <div class="h-2 w-2 bg-mat-sys-primary rounded-3xl">&nbsp;</div>
4490
- <div>${timeSeries.name}:</div>
4491
- <div><span class="font-bold">${data}</span><span>${timeSeries.unitSymbol ?? ''}</span></div>
4492
- </div>
4485
+ return `
4486
+ <div class="flex flex-col gap-y-2">
4487
+ <div>${this.timeFormatter.transform(timestamp)}</div>
4488
+ <div class="flex flex-row gap-x-2 items-center">
4489
+ <div class="h-2 w-2 bg-mat-sys-primary rounded-3xl">&nbsp;</div>
4490
+ <div>${timeSeries.name}:</div>
4491
+ <div><span class="font-bold">${data}</span><span>${timeSeries.unitSymbol ?? ''}</span></div>
4492
+ </div>
4493
4493
  </div>`;
4494
4494
  },
4495
4495
  axisPointer: {
@@ -4513,8 +4513,8 @@ class BasicTimeSeriesGraphComponent {
4513
4513
  }
4514
4514
  ]
4515
4515
  };
4516
- }, ...(ngDevMode ? [{ debugName: "graphOptions" }] : []));
4517
- dataZoom = signal(null, ...(ngDevMode ? [{ debugName: "dataZoom" }] : []));
4516
+ }, ...(ngDevMode ? [{ debugName: "graphOptions" }] : /* istanbul ignore next */ []));
4517
+ dataZoom = signal(null, ...(ngDevMode ? [{ debugName: "dataZoom" }] : /* istanbul ignore next */ []));
4518
4518
  constructor(timeFormatter) {
4519
4519
  this.timeFormatter = timeFormatter;
4520
4520
  }
@@ -4524,22 +4524,22 @@ class BasicTimeSeriesGraphComponent {
4524
4524
  end: event.batch?.[0]?.end
4525
4525
  });
4526
4526
  }
4527
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: BasicTimeSeriesGraphComponent, deps: [{ token: SimpleDateTimePipe }], target: i0.ɵɵFactoryTarget.Component });
4528
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: BasicTimeSeriesGraphComponent, isStandalone: true, selector: "app-basic-time-series-graph", inputs: { timeSeries: { classPropertyName: "timeSeries", publicName: "timeSeries", isSignal: true, isRequired: true, transformFunction: null }, desiredTimeFrame: { classPropertyName: "desiredTimeFrame", publicName: "desiredTimeFrame", isSignal: true, isRequired: false, transformFunction: null }, primaryColor: { classPropertyName: "primaryColor", publicName: "primaryColor", isSignal: true, isRequired: false, transformFunction: null } }, providers: [SimpleDatePipe, SimpleDateTimePipe], ngImport: i0, template: "<div echarts [options]=\"graphOptions()\" (chartDataZoom)=\"chartZoom($event)\" [theme]=\"chartTheme()!\" class=\"w-full h-full\"></div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgxEchartsDirective, selector: "echarts, [echarts]", inputs: ["options", "theme", "initOpts", "merge", "autoResize", "loading", "loadingType", "loadingOpts"], outputs: ["chartInit", "optionsError", "chartClick", "chartDblClick", "chartMouseDown", "chartMouseMove", "chartMouseUp", "chartMouseOver", "chartMouseOut", "chartGlobalOut", "chartContextMenu", "chartHighlight", "chartDownplay", "chartSelectChanged", "chartLegendSelectChanged", "chartLegendSelected", "chartLegendUnselected", "chartLegendLegendSelectAll", "chartLegendLegendInverseSelect", "chartLegendScroll", "chartDataZoom", "chartDataRangeSelected", "chartGraphRoam", "chartGeoRoam", "chartTreeRoam", "chartTimelineChanged", "chartTimelinePlayChanged", "chartRestore", "chartDataViewChanged", "chartMagicTypeChanged", "chartGeoSelectChanged", "chartGeoSelected", "chartGeoUnselected", "chartAxisAreaSelected", "chartBrush", "chartBrushEnd", "chartBrushSelected", "chartGlobalCursorTaken", "chartRendered", "chartFinished"], exportAs: ["echarts"] }] });
4527
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: BasicTimeSeriesGraphComponent, deps: [{ token: SimpleDateTimePipe }], target: i0.ɵɵFactoryTarget.Component });
4528
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.13", type: BasicTimeSeriesGraphComponent, isStandalone: true, selector: "app-basic-time-series-graph", inputs: { timeSeries: { classPropertyName: "timeSeries", publicName: "timeSeries", isSignal: true, isRequired: true, transformFunction: null }, desiredTimeFrame: { classPropertyName: "desiredTimeFrame", publicName: "desiredTimeFrame", isSignal: true, isRequired: false, transformFunction: null }, primaryColor: { classPropertyName: "primaryColor", publicName: "primaryColor", isSignal: true, isRequired: false, transformFunction: null } }, providers: [SimpleDatePipe, SimpleDateTimePipe], ngImport: i0, template: "<div echarts [options]=\"graphOptions()\" (chartDataZoom)=\"chartZoom($event)\" [theme]=\"chartTheme()!\" class=\"w-full h-full\"></div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: NgxEchartsDirective, selector: "echarts, [echarts]", inputs: ["options", "theme", "initOpts", "merge", "autoResize", "loading", "loadingType", "loadingOpts"], outputs: ["chartInit", "optionsError", "chartClick", "chartDblClick", "chartMouseDown", "chartMouseMove", "chartMouseUp", "chartMouseOver", "chartMouseOut", "chartGlobalOut", "chartContextMenu", "chartHighlight", "chartDownplay", "chartSelectChanged", "chartLegendSelectChanged", "chartLegendSelected", "chartLegendUnselected", "chartLegendLegendSelectAll", "chartLegendLegendInverseSelect", "chartLegendScroll", "chartDataZoom", "chartDataRangeSelected", "chartGraphRoam", "chartGeoRoam", "chartTreeRoam", "chartTimelineChanged", "chartTimelinePlayChanged", "chartRestore", "chartDataViewChanged", "chartMagicTypeChanged", "chartGeoSelectChanged", "chartGeoSelected", "chartGeoUnselected", "chartAxisAreaSelected", "chartBrush", "chartBrushEnd", "chartBrushSelected", "chartGlobalCursorTaken", "chartRendered", "chartFinished"], exportAs: ["echarts"] }] });
4529
4529
  }
4530
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: BasicTimeSeriesGraphComponent, decorators: [{
4530
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: BasicTimeSeriesGraphComponent, decorators: [{
4531
4531
  type: Component,
4532
- args: [{ selector: 'app-basic-time-series-graph', imports: [NgxEchartsDirective], providers: [SimpleDatePipe, SimpleDateTimePipe], template: "<div echarts [options]=\"graphOptions()\" (chartDataZoom)=\"chartZoom($event)\" [theme]=\"chartTheme()!\" class=\"w-full h-full\"></div>\n" }]
4532
+ args: [{ selector: 'app-basic-time-series-graph', imports: [NgxEchartsDirective], providers: [SimpleDatePipe, SimpleDateTimePipe], template: "<div echarts [options]=\"graphOptions()\" (chartDataZoom)=\"chartZoom($event)\" [theme]=\"chartTheme()!\" class=\"w-full h-full\"></div>\r\n" }]
4533
4533
  }], ctorParameters: () => [{ type: SimpleDateTimePipe }], propDecorators: { timeSeries: [{ type: i0.Input, args: [{ isSignal: true, alias: "timeSeries", required: true }] }], desiredTimeFrame: [{ type: i0.Input, args: [{ isSignal: true, alias: "desiredTimeFrame", required: false }] }], primaryColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "primaryColor", required: false }] }] } });
4534
4534
 
4535
4535
  class CardLabeledValueComponent {
4536
4536
  permissionService = inject(PermissionsService);
4537
- permissions = input(...(ngDevMode ? [undefined, { debugName: "permissions" }] : []));
4538
- useAssetPermissions = input(false, ...(ngDevMode ? [{ debugName: "useAssetPermissions" }] : []));
4539
- label = input.required(...(ngDevMode ? [{ debugName: "label" }] : []));
4540
- icon = input('edit', ...(ngDevMode ? [{ debugName: "icon" }] : []));
4541
- tooltip = input(...(ngDevMode ? [undefined, { debugName: "tooltip" }] : []));
4542
- editFunction = input(...(ngDevMode ? [undefined, { debugName: "editFunction" }] : []));
4537
+ permissions = input(...(ngDevMode ? [undefined, { debugName: "permissions" }] : /* istanbul ignore next */ []));
4538
+ useAssetPermissions = input(false, ...(ngDevMode ? [{ debugName: "useAssetPermissions" }] : /* istanbul ignore next */ []));
4539
+ label = input.required(...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
4540
+ icon = input('edit', ...(ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []));
4541
+ tooltip = input(...(ngDevMode ? [undefined, { debugName: "tooltip" }] : /* istanbul ignore next */ []));
4542
+ editFunction = input(...(ngDevMode ? [undefined, { debugName: "editFunction" }] : /* istanbul ignore next */ []));
4543
4543
  permissionFunction = computed(() => {
4544
4544
  const requiredPermissions = this.permissions();
4545
4545
  if (!requiredPermissions) {
@@ -4548,14 +4548,14 @@ class CardLabeledValueComponent {
4548
4548
  return this.useAssetPermissions()
4549
4549
  ? this.permissionService.hasAnyGlobalOrAssetPermission(requiredPermissions)
4550
4550
  : this.permissionService.hasAnyPermission(requiredPermissions);
4551
- }, ...(ngDevMode ? [{ debugName: "permissionFunction" }] : []));
4551
+ }, ...(ngDevMode ? [{ debugName: "permissionFunction" }] : /* istanbul ignore next */ []));
4552
4552
  hasPermission = toSignal(toObservable(this.permissionFunction).pipe(switchMap(obs => obs)), { initialValue: false });
4553
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CardLabeledValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4554
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: CardLabeledValueComponent, isStandalone: true, selector: "app-card-labeled-value", inputs: { permissions: { classPropertyName: "permissions", publicName: "permissions", isSignal: true, isRequired: false, transformFunction: null }, useAssetPermissions: { classPropertyName: "useAssetPermissions", publicName: "useAssetPermissions", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, editFunction: { classPropertyName: "editFunction", publicName: "editFunction", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<mat-card\n [ngClass]=\"{'cursor-pointer hover:bg-hover-color': editFunction() && hasPermission() }\"\n [matTooltipDisabled]=\"!hasPermission()\" (click)=\"editFunction() && hasPermission() ? editFunction()!() : null\"\n [matTooltip]=\"tooltip() | translate\"\n matTooltipPosition=\"above\"\n>\n <div class=\"flex items-center justify-between p-4 gap-x-4 h-full\">\n <div class=\"flex flex-col w-full h-full overflow-hidden\">\n <div class=\"font-semibold shrink-0\">{{ label() | translate }}</div>\n <div class=\"text-mat-sys-primary flex items-center grow\">\n <ng-content/>\n </div>\n </div>\n @if (editFunction() && hasPermission()) {\n <button mat-icon-button [ngClass]=\"icon() === 'delete' ? 'text-mat-sys-on-error-container' : 'text-mat-sys-primary'\" (click)=\"editFunction()!(); $event.stopPropagation()\">\n <mat-icon>{{ icon() }}</mat-icon>\n </button>\n }\n </div>\n</mat-card>\n", styles: ["mat-card{height:100%;min-height:5.5rem}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i1$4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
4553
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: CardLabeledValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4554
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: CardLabeledValueComponent, isStandalone: true, selector: "app-card-labeled-value", inputs: { permissions: { classPropertyName: "permissions", publicName: "permissions", isSignal: true, isRequired: false, transformFunction: null }, useAssetPermissions: { classPropertyName: "useAssetPermissions", publicName: "useAssetPermissions", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, editFunction: { classPropertyName: "editFunction", publicName: "editFunction", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<mat-card\r\n [ngClass]=\"{'cursor-pointer hover:bg-hover-color': editFunction() && hasPermission() }\"\r\n [matTooltipDisabled]=\"!hasPermission()\" (click)=\"editFunction() && hasPermission() ? editFunction()!() : null\"\r\n [matTooltip]=\"tooltip() | translate\"\r\n matTooltipPosition=\"above\"\r\n>\r\n <div class=\"flex items-center justify-between p-4 gap-x-4 h-full\">\r\n <div class=\"flex flex-col w-full h-full overflow-hidden\">\r\n <div class=\"font-semibold shrink-0\">{{ label() | translate }}</div>\r\n <div class=\"text-mat-sys-primary flex items-center grow\">\r\n <ng-content/>\r\n </div>\r\n </div>\r\n @if (editFunction() && hasPermission()) {\r\n <button mat-icon-button [ngClass]=\"icon() === 'delete' ? 'text-mat-sys-on-error-container' : 'text-mat-sys-primary'\" (click)=\"editFunction()!(); $event.stopPropagation()\">\r\n <mat-icon>{{ icon() }}</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n</mat-card>\r\n", styles: ["mat-card{height:100%;min-height:5.5rem}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i1$4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
4555
4555
  }
4556
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CardLabeledValueComponent, decorators: [{
4556
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: CardLabeledValueComponent, decorators: [{
4557
4557
  type: Component,
4558
- args: [{ selector: 'app-card-labeled-value', imports: [SharedModule], template: "<mat-card\n [ngClass]=\"{'cursor-pointer hover:bg-hover-color': editFunction() && hasPermission() }\"\n [matTooltipDisabled]=\"!hasPermission()\" (click)=\"editFunction() && hasPermission() ? editFunction()!() : null\"\n [matTooltip]=\"tooltip() | translate\"\n matTooltipPosition=\"above\"\n>\n <div class=\"flex items-center justify-between p-4 gap-x-4 h-full\">\n <div class=\"flex flex-col w-full h-full overflow-hidden\">\n <div class=\"font-semibold shrink-0\">{{ label() | translate }}</div>\n <div class=\"text-mat-sys-primary flex items-center grow\">\n <ng-content/>\n </div>\n </div>\n @if (editFunction() && hasPermission()) {\n <button mat-icon-button [ngClass]=\"icon() === 'delete' ? 'text-mat-sys-on-error-container' : 'text-mat-sys-primary'\" (click)=\"editFunction()!(); $event.stopPropagation()\">\n <mat-icon>{{ icon() }}</mat-icon>\n </button>\n }\n </div>\n</mat-card>\n", styles: ["mat-card{height:100%;min-height:5.5rem}\n"] }]
4558
+ args: [{ selector: 'app-card-labeled-value', imports: [SharedModule], template: "<mat-card\r\n [ngClass]=\"{'cursor-pointer hover:bg-hover-color': editFunction() && hasPermission() }\"\r\n [matTooltipDisabled]=\"!hasPermission()\" (click)=\"editFunction() && hasPermission() ? editFunction()!() : null\"\r\n [matTooltip]=\"tooltip() | translate\"\r\n matTooltipPosition=\"above\"\r\n>\r\n <div class=\"flex items-center justify-between p-4 gap-x-4 h-full\">\r\n <div class=\"flex flex-col w-full h-full overflow-hidden\">\r\n <div class=\"font-semibold shrink-0\">{{ label() | translate }}</div>\r\n <div class=\"text-mat-sys-primary flex items-center grow\">\r\n <ng-content/>\r\n </div>\r\n </div>\r\n @if (editFunction() && hasPermission()) {\r\n <button mat-icon-button [ngClass]=\"icon() === 'delete' ? 'text-mat-sys-on-error-container' : 'text-mat-sys-primary'\" (click)=\"editFunction()!(); $event.stopPropagation()\">\r\n <mat-icon>{{ icon() }}</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n</mat-card>\r\n", styles: ["mat-card{height:100%;min-height:5.5rem}\n"] }]
4559
4559
  }], propDecorators: { permissions: [{ type: i0.Input, args: [{ isSignal: true, alias: "permissions", required: false }] }], useAssetPermissions: [{ type: i0.Input, args: [{ isSignal: true, alias: "useAssetPermissions", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], tooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip", required: false }] }], editFunction: [{ type: i0.Input, args: [{ isSignal: true, alias: "editFunction", required: false }] }] } });
4560
4560
 
4561
4561
  class ConfirmationDialogComponent {
@@ -4568,12 +4568,12 @@ class ConfirmationDialogComponent {
4568
4568
  confirm() {
4569
4569
  this.dialog.close(true);
4570
4570
  }
4571
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ConfirmationDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1$5.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
4572
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: ConfirmationDialogComponent, isStandalone: true, selector: "app-confirmation-dialog", ngImport: i0, template: "<div class=\"flex flex-col flex-auto gap-y-8 p-4 content\">\n <div class=\"text-lg\">{{ 'COMMON.CONFIRMATION_DIALOG_TITLE' | translate }}</div>\n <div class=\"flex flex-col flex-auto gap-y-4\">\n <div class=\"flex flex-col flex-auto gap-y-4 max-h-96 overflow-hidden\">\n <div class=\"whitespace-pre-line\">{{ data.message | translate:data.parameters }}</div>\n </div>\n </div>\n <div class=\"flex flex-row flex-auto gap-x-2 justify-end\">\n <button mat-button mat-dialog-close>{{ 'COMMON.CANCEL' | translate }}</button>\n <button [ngClass]=\"{'destructive-flat-button': data.deleteDialog}\" mat-flat-button\n (click)=\"confirm()\">{{ data.actionButtonLabel ? (data.actionButtonLabel! | translate) : (data.deleteDialog ? ('COMMON.DELETE' | translate) : ('COMMON.CONFIRMATION_DIALOG_CONFIRM' | translate)) }}\n </button>\n </div>\n</div>\n", styles: [".content{max-width:var(--medium-dialog-width)}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i1$4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$5.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
4571
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ConfirmationDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1$5.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
4572
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.13", type: ConfirmationDialogComponent, isStandalone: true, selector: "app-confirmation-dialog", ngImport: i0, template: "<div class=\"flex flex-col flex-auto gap-y-8 p-4 content\">\r\n <div class=\"text-lg\">{{ 'COMMON.CONFIRMATION_DIALOG_TITLE' | translate }}</div>\r\n <div class=\"flex flex-col flex-auto gap-y-4\">\r\n <div class=\"flex flex-col flex-auto gap-y-4 max-h-96 overflow-hidden\">\r\n <div class=\"whitespace-pre-line\">{{ data.message | translate:data.parameters }}</div>\r\n </div>\r\n </div>\r\n <div class=\"flex flex-row flex-auto gap-x-2 justify-end\">\r\n <button mat-button mat-dialog-close>{{ 'COMMON.CANCEL' | translate }}</button>\r\n <button [ngClass]=\"{'destructive-flat-button': data.deleteDialog}\" mat-flat-button\r\n (click)=\"confirm()\">{{ data.actionButtonLabel ? (data.actionButtonLabel! | translate) : (data.deleteDialog ? ('COMMON.DELETE' | translate) : ('COMMON.CONFIRMATION_DIALOG_CONFIRM' | translate)) }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".content{max-width:var(--medium-dialog-width)}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i1$4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$5.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
4573
4573
  }
4574
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ConfirmationDialogComponent, decorators: [{
4574
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ConfirmationDialogComponent, decorators: [{
4575
4575
  type: Component,
4576
- args: [{ selector: 'app-confirmation-dialog', imports: [SharedModule], template: "<div class=\"flex flex-col flex-auto gap-y-8 p-4 content\">\n <div class=\"text-lg\">{{ 'COMMON.CONFIRMATION_DIALOG_TITLE' | translate }}</div>\n <div class=\"flex flex-col flex-auto gap-y-4\">\n <div class=\"flex flex-col flex-auto gap-y-4 max-h-96 overflow-hidden\">\n <div class=\"whitespace-pre-line\">{{ data.message | translate:data.parameters }}</div>\n </div>\n </div>\n <div class=\"flex flex-row flex-auto gap-x-2 justify-end\">\n <button mat-button mat-dialog-close>{{ 'COMMON.CANCEL' | translate }}</button>\n <button [ngClass]=\"{'destructive-flat-button': data.deleteDialog}\" mat-flat-button\n (click)=\"confirm()\">{{ data.actionButtonLabel ? (data.actionButtonLabel! | translate) : (data.deleteDialog ? ('COMMON.DELETE' | translate) : ('COMMON.CONFIRMATION_DIALOG_CONFIRM' | translate)) }}\n </button>\n </div>\n</div>\n", styles: [".content{max-width:var(--medium-dialog-width)}\n"] }]
4576
+ args: [{ selector: 'app-confirmation-dialog', imports: [SharedModule], template: "<div class=\"flex flex-col flex-auto gap-y-8 p-4 content\">\r\n <div class=\"text-lg\">{{ 'COMMON.CONFIRMATION_DIALOG_TITLE' | translate }}</div>\r\n <div class=\"flex flex-col flex-auto gap-y-4\">\r\n <div class=\"flex flex-col flex-auto gap-y-4 max-h-96 overflow-hidden\">\r\n <div class=\"whitespace-pre-line\">{{ data.message | translate:data.parameters }}</div>\r\n </div>\r\n </div>\r\n <div class=\"flex flex-row flex-auto gap-x-2 justify-end\">\r\n <button mat-button mat-dialog-close>{{ 'COMMON.CANCEL' | translate }}</button>\r\n <button [ngClass]=\"{'destructive-flat-button': data.deleteDialog}\" mat-flat-button\r\n (click)=\"confirm()\">{{ data.actionButtonLabel ? (data.actionButtonLabel! | translate) : (data.deleteDialog ? ('COMMON.DELETE' | translate) : ('COMMON.CONFIRMATION_DIALOG_CONFIRM' | translate)) }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".content{max-width:var(--medium-dialog-width)}\n"] }]
4577
4577
  }], ctorParameters: () => [{ type: undefined, decorators: [{
4578
4578
  type: Inject,
4579
4579
  args: [MAT_DIALOG_DATA]
@@ -4608,12 +4608,12 @@ class PeriodErrorStateMatcher {
4608
4608
  class DateRangeInputComponent {
4609
4609
  destroyRef;
4610
4610
  tenantPropertiesService;
4611
- availableDateOptions = input([RelativeTimePeriod.TODAY, RelativeTimePeriod.YESTERDAY, RelativeTimePeriod.LAST_7_DAYS, RelativeTimePeriod.LAST_30_DAYS], ...(ngDevMode ? [{ debugName: "availableDateOptions" }] : []));
4612
- translationPrefix = input(...(ngDevMode ? [undefined, { debugName: "translationPrefix" }] : []));
4613
- allowCustomTimespan = input(true, ...(ngDevMode ? [{ debugName: "allowCustomTimespan" }] : []));
4614
- isInForm = input(true, ...(ngDevMode ? [{ debugName: "isInForm" }] : []));
4615
- datePicker = viewChild('picker', ...(ngDevMode ? [{ debugName: "datePicker" }] : []));
4616
- validators = input([], ...(ngDevMode ? [{ debugName: "validators" }] : []));
4611
+ availableDateOptions = input([RelativeTimePeriod.TODAY, RelativeTimePeriod.YESTERDAY, RelativeTimePeriod.LAST_7_DAYS, RelativeTimePeriod.LAST_30_DAYS], ...(ngDevMode ? [{ debugName: "availableDateOptions" }] : /* istanbul ignore next */ []));
4612
+ translationPrefix = input(...(ngDevMode ? [undefined, { debugName: "translationPrefix" }] : /* istanbul ignore next */ []));
4613
+ allowCustomTimespan = input(true, ...(ngDevMode ? [{ debugName: "allowCustomTimespan" }] : /* istanbul ignore next */ []));
4614
+ isInForm = input(true, ...(ngDevMode ? [{ debugName: "isInForm" }] : /* istanbul ignore next */ []));
4615
+ datePicker = viewChild('picker', ...(ngDevMode ? [{ debugName: "datePicker" }] : /* istanbul ignore next */ []));
4616
+ validators = input([], ...(ngDevMode ? [{ debugName: "validators" }] : /* istanbul ignore next */ []));
4617
4617
  validateForm = (form) => {
4618
4618
  const { periodOption, from, to } = form.value;
4619
4619
  if (periodOption === CUSTOM_PERIOD) {
@@ -4722,8 +4722,8 @@ class DateRangeInputComponent {
4722
4722
  };
4723
4723
  }
4724
4724
  }
4725
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DateRangeInputComponent, deps: [{ token: i0.DestroyRef }, { token: TenantPropertiesService }], target: i0.ɵɵFactoryTarget.Component });
4726
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DateRangeInputComponent, isStandalone: true, selector: "app-date-range-input", inputs: { availableDateOptions: { classPropertyName: "availableDateOptions", publicName: "availableDateOptions", isSignal: true, isRequired: false, transformFunction: null }, translationPrefix: { classPropertyName: "translationPrefix", publicName: "translationPrefix", isSignal: true, isRequired: false, transformFunction: null }, allowCustomTimespan: { classPropertyName: "allowCustomTimespan", publicName: "allowCustomTimespan", isSignal: true, isRequired: false, transformFunction: null }, isInForm: { classPropertyName: "isInForm", publicName: "isInForm", isSignal: true, isRequired: false, transformFunction: null }, validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
4725
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: DateRangeInputComponent, deps: [{ token: i0.DestroyRef }, { token: TenantPropertiesService }], target: i0.ɵɵFactoryTarget.Component });
4726
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: DateRangeInputComponent, isStandalone: true, selector: "app-date-range-input", inputs: { availableDateOptions: { classPropertyName: "availableDateOptions", publicName: "availableDateOptions", isSignal: true, isRequired: false, transformFunction: null }, translationPrefix: { classPropertyName: "translationPrefix", publicName: "translationPrefix", isSignal: true, isRequired: false, transformFunction: null }, allowCustomTimespan: { classPropertyName: "allowCustomTimespan", publicName: "allowCustomTimespan", isSignal: true, isRequired: false, transformFunction: null }, isInForm: { classPropertyName: "isInForm", publicName: "isInForm", isSignal: true, isRequired: false, transformFunction: null }, validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
4727
4727
  {
4728
4728
  provide: NG_VALUE_ACCESSOR,
4729
4729
  useExisting: forwardRef(() => DateRangeInputComponent),
@@ -4734,9 +4734,9 @@ class DateRangeInputComponent {
4734
4734
  useExisting: forwardRef(() => DateRangeInputComponent),
4735
4735
  multi: true,
4736
4736
  }
4737
- ], viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["picker"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"w-full flex flex-col\" [formGroup]=\"dateRangeForm\">\n @if (isInForm()) {\n <mat-form-field class=\"flex\">\n <mat-label>{{ (translationPrefix() ? translationPrefix() + '_LABEL' : 'COMMON.DATE_RANGE_LABEL') | translate }}</mat-label>\n <mat-select (blur)=\"onTouched($event)\" formControlName=\"periodOption\" (selectionChange)=\"onTimeRangeChanged($event)\" [errorStateMatcher]=\"periodErrorStateMatcher\" panelClass=\"date-range-panel\">\n @for (periodOption of availableDateOptions(); track $index) {\n <mat-option [value]=\"periodOption\">{{ 'COMMON.RELATIVE_TIME_PERIOD_' + periodOption | translate }}</mat-option>\n }\n @if (allowCustomTimespan()) {\n <mat-option [value]=\"CUSTOM_PERIOD\">\n <div class=\"flex flex-row gap-x-4\">\n @if (dateRangeForm.get('from')?.value) {\n <div class=\"flex flex-row\">\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('from')?.value?.toMillis() | simpleDate : undefined: false }}</span>\n <span class=\"whitespace-nowrap h-fit\">&nbsp;-&nbsp;</span>\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('to')?.value?.toMillis() | simpleDate : undefined: false }}</span>\n </div>\n } @else {\n <div>{{ 'COMMON.RELATIVE_TIME_PERIOD_CUSTOM' | translate }}</div>\n }\n </div>\n </mat-option>\n }\n </mat-select>\n <mat-date-range-input [rangePicker]=\"picker\" style=\"visibility: hidden; width: 0; height: 0;\">\n <input (blur)=\"onTouched($event)\" matStartDate formControlName=\"from\">\n <input (blur)=\"onTouched($event)\" matEndDate formControlName=\"to\"/>\n </mat-date-range-input>\n <mat-date-range-picker #picker (closed)=\"emitValueChange()\"></mat-date-range-picker>\n @if (dateRangeForm.get('periodOption')?.value === CUSTOM_PERIOD) {\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n }\n @if (dateRangeForm.touched && dateRangeForm.hasError('required')) {\n <mat-error>\n {{ 'COMMON.ERROR_VALIDATION_REQUIRED' | translate }}\n </mat-error>\n }\n @if (dateRangeForm.touched && dateRangeForm.hasError('incompletePeriod')) {\n {{ 'COMMON.ERROR_VALIDATION_REQUIRED' | translate }}\n }\n </mat-form-field>\n } @else {\n <div class=\"flex\">\n <mat-select class=\"date-range-flat-picker-select\" (blur)=\"onTouched($event)\" formControlName=\"periodOption\" (selectionChange)=\"onTimeRangeChanged($event)\" [errorStateMatcher]=\"periodErrorStateMatcher\" panelClass=\"date-range-panel\">\n @for (periodOption of availableDateOptions(); track $index) {\n <mat-option [value]=\"periodOption\">{{ 'COMMON.RELATIVE_TIME_PERIOD_' + periodOption | translate }}</mat-option>\n }\n @if (allowCustomTimespan()) {\n <mat-option [value]=\"CUSTOM_PERIOD\">\n <div class=\"flex flex-row gap-x-4\">\n @if (dateRangeForm.get('from')?.value) {\n <div class=\"flex flex-row\">\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('from')?.value?.toMillis() | simpleDate : undefined: false }}</span>\n <span class=\"whitespace-nowrap h-fit\">&nbsp;-&nbsp;</span>\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('to')?.value?.toMillis() | simpleDate : undefined: false }}</span>\n </div>\n } @else {\n <div>{{ 'COMMON.RELATIVE_TIME_PERIOD_CUSTOM' | translate }}</div>\n }\n </div>\n </mat-option>\n }\n </mat-select>\n <mat-date-range-input [rangePicker]=\"picker\" style=\"visibility: hidden; width: 0; height: 0;\">\n <input (blur)=\"onTouched($event)\" matStartDate formControlName=\"from\">\n <input (blur)=\"onTouched($event)\" matEndDate formControlName=\"to\"/>\n </mat-date-range-input>\n <mat-date-range-picker #picker (closed)=\"emitValueChange()\"></mat-date-range-picker>\n @if (dateRangeForm.get('periodOption')?.value === CUSTOM_PERIOD) {\n <mat-datepicker-toggle matSuffix [for]=\"picker\" class=\"date-range-flat-picker-toggle\"></mat-datepicker-toggle>\n }\n </div>\n }\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i4$4.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i4$4.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i4$4.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i4$4.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i4$4.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: SimpleDatePipe, name: "simpleDate" }] });
4737
+ ], viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["picker"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"w-full flex flex-col\" [formGroup]=\"dateRangeForm\">\r\n @if (isInForm()) {\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{ (translationPrefix() ? translationPrefix() + '_LABEL' : 'COMMON.DATE_RANGE_LABEL') | translate }}</mat-label>\r\n <mat-select (blur)=\"onTouched($event)\" formControlName=\"periodOption\" (selectionChange)=\"onTimeRangeChanged($event)\" [errorStateMatcher]=\"periodErrorStateMatcher\" panelClass=\"date-range-panel\">\r\n @for (periodOption of availableDateOptions(); track $index) {\r\n <mat-option [value]=\"periodOption\">{{ 'COMMON.RELATIVE_TIME_PERIOD_' + periodOption | translate }}</mat-option>\r\n }\r\n @if (allowCustomTimespan()) {\r\n <mat-option [value]=\"CUSTOM_PERIOD\">\r\n <div class=\"flex flex-row gap-x-4\">\r\n @if (dateRangeForm.get('from')?.value) {\r\n <div class=\"flex flex-row\">\r\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('from')?.value?.toMillis() | simpleDate : undefined: false }}</span>\r\n <span class=\"whitespace-nowrap h-fit\">&nbsp;-&nbsp;</span>\r\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('to')?.value?.toMillis() | simpleDate : undefined: false }}</span>\r\n </div>\r\n } @else {\r\n <div>{{ 'COMMON.RELATIVE_TIME_PERIOD_CUSTOM' | translate }}</div>\r\n }\r\n </div>\r\n </mat-option>\r\n }\r\n </mat-select>\r\n <mat-date-range-input [rangePicker]=\"picker\" style=\"visibility: hidden; width: 0; height: 0;\">\r\n <input (blur)=\"onTouched($event)\" matStartDate formControlName=\"from\">\r\n <input (blur)=\"onTouched($event)\" matEndDate formControlName=\"to\"/>\r\n </mat-date-range-input>\r\n <mat-date-range-picker #picker (closed)=\"emitValueChange()\"></mat-date-range-picker>\r\n @if (dateRangeForm.get('periodOption')?.value === CUSTOM_PERIOD) {\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n }\r\n @if (dateRangeForm.touched && dateRangeForm.hasError('required')) {\r\n <mat-error>\r\n {{ 'COMMON.ERROR_VALIDATION_REQUIRED' | translate }}\r\n </mat-error>\r\n }\r\n @if (dateRangeForm.touched && dateRangeForm.hasError('incompletePeriod')) {\r\n {{ 'COMMON.ERROR_VALIDATION_REQUIRED' | translate }}\r\n }\r\n </mat-form-field>\r\n } @else {\r\n <div class=\"flex\">\r\n <mat-select class=\"date-range-flat-picker-select\" (blur)=\"onTouched($event)\" formControlName=\"periodOption\" (selectionChange)=\"onTimeRangeChanged($event)\" [errorStateMatcher]=\"periodErrorStateMatcher\" panelClass=\"date-range-panel\">\r\n @for (periodOption of availableDateOptions(); track $index) {\r\n <mat-option [value]=\"periodOption\">{{ 'COMMON.RELATIVE_TIME_PERIOD_' + periodOption | translate }}</mat-option>\r\n }\r\n @if (allowCustomTimespan()) {\r\n <mat-option [value]=\"CUSTOM_PERIOD\">\r\n <div class=\"flex flex-row gap-x-4\">\r\n @if (dateRangeForm.get('from')?.value) {\r\n <div class=\"flex flex-row\">\r\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('from')?.value?.toMillis() | simpleDate : undefined: false }}</span>\r\n <span class=\"whitespace-nowrap h-fit\">&nbsp;-&nbsp;</span>\r\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('to')?.value?.toMillis() | simpleDate : undefined: false }}</span>\r\n </div>\r\n } @else {\r\n <div>{{ 'COMMON.RELATIVE_TIME_PERIOD_CUSTOM' | translate }}</div>\r\n }\r\n </div>\r\n </mat-option>\r\n }\r\n </mat-select>\r\n <mat-date-range-input [rangePicker]=\"picker\" style=\"visibility: hidden; width: 0; height: 0;\">\r\n <input (blur)=\"onTouched($event)\" matStartDate formControlName=\"from\">\r\n <input (blur)=\"onTouched($event)\" matEndDate formControlName=\"to\"/>\r\n </mat-date-range-input>\r\n <mat-date-range-picker #picker (closed)=\"emitValueChange()\"></mat-date-range-picker>\r\n @if (dateRangeForm.get('periodOption')?.value === CUSTOM_PERIOD) {\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\" class=\"date-range-flat-picker-toggle\"></mat-datepicker-toggle>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i4$4.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i4$4.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i4$4.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i4$4.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i4$4.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: SimpleDatePipe, name: "simpleDate" }] });
4738
4738
  }
4739
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DateRangeInputComponent, decorators: [{
4739
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: DateRangeInputComponent, decorators: [{
4740
4740
  type: Component,
4741
4741
  args: [{ selector: 'app-date-range-input', imports: [SharedModule, SimpleDatePipe], providers: [
4742
4742
  {
@@ -4749,16 +4749,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
4749
4749
  useExisting: forwardRef(() => DateRangeInputComponent),
4750
4750
  multi: true,
4751
4751
  }
4752
- ], template: "<div class=\"w-full flex flex-col\" [formGroup]=\"dateRangeForm\">\n @if (isInForm()) {\n <mat-form-field class=\"flex\">\n <mat-label>{{ (translationPrefix() ? translationPrefix() + '_LABEL' : 'COMMON.DATE_RANGE_LABEL') | translate }}</mat-label>\n <mat-select (blur)=\"onTouched($event)\" formControlName=\"periodOption\" (selectionChange)=\"onTimeRangeChanged($event)\" [errorStateMatcher]=\"periodErrorStateMatcher\" panelClass=\"date-range-panel\">\n @for (periodOption of availableDateOptions(); track $index) {\n <mat-option [value]=\"periodOption\">{{ 'COMMON.RELATIVE_TIME_PERIOD_' + periodOption | translate }}</mat-option>\n }\n @if (allowCustomTimespan()) {\n <mat-option [value]=\"CUSTOM_PERIOD\">\n <div class=\"flex flex-row gap-x-4\">\n @if (dateRangeForm.get('from')?.value) {\n <div class=\"flex flex-row\">\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('from')?.value?.toMillis() | simpleDate : undefined: false }}</span>\n <span class=\"whitespace-nowrap h-fit\">&nbsp;-&nbsp;</span>\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('to')?.value?.toMillis() | simpleDate : undefined: false }}</span>\n </div>\n } @else {\n <div>{{ 'COMMON.RELATIVE_TIME_PERIOD_CUSTOM' | translate }}</div>\n }\n </div>\n </mat-option>\n }\n </mat-select>\n <mat-date-range-input [rangePicker]=\"picker\" style=\"visibility: hidden; width: 0; height: 0;\">\n <input (blur)=\"onTouched($event)\" matStartDate formControlName=\"from\">\n <input (blur)=\"onTouched($event)\" matEndDate formControlName=\"to\"/>\n </mat-date-range-input>\n <mat-date-range-picker #picker (closed)=\"emitValueChange()\"></mat-date-range-picker>\n @if (dateRangeForm.get('periodOption')?.value === CUSTOM_PERIOD) {\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n }\n @if (dateRangeForm.touched && dateRangeForm.hasError('required')) {\n <mat-error>\n {{ 'COMMON.ERROR_VALIDATION_REQUIRED' | translate }}\n </mat-error>\n }\n @if (dateRangeForm.touched && dateRangeForm.hasError('incompletePeriod')) {\n {{ 'COMMON.ERROR_VALIDATION_REQUIRED' | translate }}\n }\n </mat-form-field>\n } @else {\n <div class=\"flex\">\n <mat-select class=\"date-range-flat-picker-select\" (blur)=\"onTouched($event)\" formControlName=\"periodOption\" (selectionChange)=\"onTimeRangeChanged($event)\" [errorStateMatcher]=\"periodErrorStateMatcher\" panelClass=\"date-range-panel\">\n @for (periodOption of availableDateOptions(); track $index) {\n <mat-option [value]=\"periodOption\">{{ 'COMMON.RELATIVE_TIME_PERIOD_' + periodOption | translate }}</mat-option>\n }\n @if (allowCustomTimespan()) {\n <mat-option [value]=\"CUSTOM_PERIOD\">\n <div class=\"flex flex-row gap-x-4\">\n @if (dateRangeForm.get('from')?.value) {\n <div class=\"flex flex-row\">\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('from')?.value?.toMillis() | simpleDate : undefined: false }}</span>\n <span class=\"whitespace-nowrap h-fit\">&nbsp;-&nbsp;</span>\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('to')?.value?.toMillis() | simpleDate : undefined: false }}</span>\n </div>\n } @else {\n <div>{{ 'COMMON.RELATIVE_TIME_PERIOD_CUSTOM' | translate }}</div>\n }\n </div>\n </mat-option>\n }\n </mat-select>\n <mat-date-range-input [rangePicker]=\"picker\" style=\"visibility: hidden; width: 0; height: 0;\">\n <input (blur)=\"onTouched($event)\" matStartDate formControlName=\"from\">\n <input (blur)=\"onTouched($event)\" matEndDate formControlName=\"to\"/>\n </mat-date-range-input>\n <mat-date-range-picker #picker (closed)=\"emitValueChange()\"></mat-date-range-picker>\n @if (dateRangeForm.get('periodOption')?.value === CUSTOM_PERIOD) {\n <mat-datepicker-toggle matSuffix [for]=\"picker\" class=\"date-range-flat-picker-toggle\"></mat-datepicker-toggle>\n }\n </div>\n }\n</div>\n", styles: [":host{display:block}\n"] }]
4752
+ ], template: "<div class=\"w-full flex flex-col\" [formGroup]=\"dateRangeForm\">\r\n @if (isInForm()) {\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{ (translationPrefix() ? translationPrefix() + '_LABEL' : 'COMMON.DATE_RANGE_LABEL') | translate }}</mat-label>\r\n <mat-select (blur)=\"onTouched($event)\" formControlName=\"periodOption\" (selectionChange)=\"onTimeRangeChanged($event)\" [errorStateMatcher]=\"periodErrorStateMatcher\" panelClass=\"date-range-panel\">\r\n @for (periodOption of availableDateOptions(); track $index) {\r\n <mat-option [value]=\"periodOption\">{{ 'COMMON.RELATIVE_TIME_PERIOD_' + periodOption | translate }}</mat-option>\r\n }\r\n @if (allowCustomTimespan()) {\r\n <mat-option [value]=\"CUSTOM_PERIOD\">\r\n <div class=\"flex flex-row gap-x-4\">\r\n @if (dateRangeForm.get('from')?.value) {\r\n <div class=\"flex flex-row\">\r\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('from')?.value?.toMillis() | simpleDate : undefined: false }}</span>\r\n <span class=\"whitespace-nowrap h-fit\">&nbsp;-&nbsp;</span>\r\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('to')?.value?.toMillis() | simpleDate : undefined: false }}</span>\r\n </div>\r\n } @else {\r\n <div>{{ 'COMMON.RELATIVE_TIME_PERIOD_CUSTOM' | translate }}</div>\r\n }\r\n </div>\r\n </mat-option>\r\n }\r\n </mat-select>\r\n <mat-date-range-input [rangePicker]=\"picker\" style=\"visibility: hidden; width: 0; height: 0;\">\r\n <input (blur)=\"onTouched($event)\" matStartDate formControlName=\"from\">\r\n <input (blur)=\"onTouched($event)\" matEndDate formControlName=\"to\"/>\r\n </mat-date-range-input>\r\n <mat-date-range-picker #picker (closed)=\"emitValueChange()\"></mat-date-range-picker>\r\n @if (dateRangeForm.get('periodOption')?.value === CUSTOM_PERIOD) {\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n }\r\n @if (dateRangeForm.touched && dateRangeForm.hasError('required')) {\r\n <mat-error>\r\n {{ 'COMMON.ERROR_VALIDATION_REQUIRED' | translate }}\r\n </mat-error>\r\n }\r\n @if (dateRangeForm.touched && dateRangeForm.hasError('incompletePeriod')) {\r\n {{ 'COMMON.ERROR_VALIDATION_REQUIRED' | translate }}\r\n }\r\n </mat-form-field>\r\n } @else {\r\n <div class=\"flex\">\r\n <mat-select class=\"date-range-flat-picker-select\" (blur)=\"onTouched($event)\" formControlName=\"periodOption\" (selectionChange)=\"onTimeRangeChanged($event)\" [errorStateMatcher]=\"periodErrorStateMatcher\" panelClass=\"date-range-panel\">\r\n @for (periodOption of availableDateOptions(); track $index) {\r\n <mat-option [value]=\"periodOption\">{{ 'COMMON.RELATIVE_TIME_PERIOD_' + periodOption | translate }}</mat-option>\r\n }\r\n @if (allowCustomTimespan()) {\r\n <mat-option [value]=\"CUSTOM_PERIOD\">\r\n <div class=\"flex flex-row gap-x-4\">\r\n @if (dateRangeForm.get('from')?.value) {\r\n <div class=\"flex flex-row\">\r\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('from')?.value?.toMillis() | simpleDate : undefined: false }}</span>\r\n <span class=\"whitespace-nowrap h-fit\">&nbsp;-&nbsp;</span>\r\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('to')?.value?.toMillis() | simpleDate : undefined: false }}</span>\r\n </div>\r\n } @else {\r\n <div>{{ 'COMMON.RELATIVE_TIME_PERIOD_CUSTOM' | translate }}</div>\r\n }\r\n </div>\r\n </mat-option>\r\n }\r\n </mat-select>\r\n <mat-date-range-input [rangePicker]=\"picker\" style=\"visibility: hidden; width: 0; height: 0;\">\r\n <input (blur)=\"onTouched($event)\" matStartDate formControlName=\"from\">\r\n <input (blur)=\"onTouched($event)\" matEndDate formControlName=\"to\"/>\r\n </mat-date-range-input>\r\n <mat-date-range-picker #picker (closed)=\"emitValueChange()\"></mat-date-range-picker>\r\n @if (dateRangeForm.get('periodOption')?.value === CUSTOM_PERIOD) {\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\" class=\"date-range-flat-picker-toggle\"></mat-datepicker-toggle>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block}\n"] }]
4753
4753
  }], ctorParameters: () => [{ type: i0.DestroyRef }, { type: TenantPropertiesService }], propDecorators: { availableDateOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "availableDateOptions", required: false }] }], translationPrefix: [{ type: i0.Input, args: [{ isSignal: true, alias: "translationPrefix", required: false }] }], allowCustomTimespan: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowCustomTimespan", required: false }] }], isInForm: [{ type: i0.Input, args: [{ isSignal: true, alias: "isInForm", required: false }] }], datePicker: [{ type: i0.ViewChild, args: ['picker', { isSignal: true }] }], validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }] } });
4754
4754
 
4755
4755
  class DateTimeFormFieldComponent {
4756
4756
  translate;
4757
4757
  dateLabel;
4758
4758
  timeLabel;
4759
- validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : []));
4760
- showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : []));
4761
- timezone = input(null, ...(ngDevMode ? [{ debugName: "timezone" }] : []));
4759
+ validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : /* istanbul ignore next */ []));
4760
+ showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : /* istanbul ignore next */ []));
4761
+ timezone = input(null, ...(ngDevMode ? [{ debugName: "timezone" }] : /* istanbul ignore next */ []));
4762
4762
  tenantProperties = inject(TenantPropertiesService);
4763
4763
  formGroup = new FormGroup({
4764
4764
  date: new FormControl(null),
@@ -4853,8 +4853,8 @@ class DateTimeFormFieldComponent {
4853
4853
  this.onTimeInputChange.next(value);
4854
4854
  }
4855
4855
  }
4856
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DateTimeFormFieldComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
4857
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DateTimeFormFieldComponent, isStandalone: true, selector: "app-date-time-form-field", inputs: { dateLabel: { classPropertyName: "dateLabel", publicName: "dateLabel", isSignal: false, isRequired: false, transformFunction: null }, timeLabel: { classPropertyName: "timeLabel", publicName: "timeLabel", isSignal: false, isRequired: false, transformFunction: null }, validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, timezone: { classPropertyName: "timezone", publicName: "timezone", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
4856
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: DateTimeFormFieldComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
4857
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: DateTimeFormFieldComponent, isStandalone: true, selector: "app-date-time-form-field", inputs: { dateLabel: { classPropertyName: "dateLabel", publicName: "dateLabel", isSignal: false, isRequired: false, transformFunction: null }, timeLabel: { classPropertyName: "timeLabel", publicName: "timeLabel", isSignal: false, isRequired: false, transformFunction: null }, validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, timezone: { classPropertyName: "timezone", publicName: "timezone", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
4858
4858
  {
4859
4859
  provide: NG_VALUE_ACCESSOR,
4860
4860
  useExisting: forwardRef(() => DateTimeFormFieldComponent),
@@ -4865,9 +4865,9 @@ class DateTimeFormFieldComponent {
4865
4865
  useExisting: forwardRef(() => DateTimeFormFieldComponent),
4866
4866
  multi: true,
4867
4867
  }
4868
- ], ngImport: i0, template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"flex flex-col gap-y-4\">\n <mat-form-field [matTooltip]=\"getDateErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ (dateLabel ?? 'COMMON.DATE') | translate }}</mat-label>\n <input [matDatepicker]=\"picker\" formControlName=\"date\" matInput>\n <mat-datepicker-toggle [for]=\"picker\" matIconSuffix></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n @for (error of getDateErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\n }\n </mat-form-field>\n <mat-form-field [matTooltip]=\"getTimeErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ (timeLabel ?? 'COMMON.TIME') | translate }}</mat-label>\n <input [format]=\"24\" [ngxMatTimepicker]=\"pickerA\" formControlName=\"time\" matInput (input)=\"onInputChange($event)\"/>\n <mat-icon (click)=\"pickerA.open()\" matSuffix> watch_later</mat-icon>\n <ngx-mat-timepicker #pickerA></ngx-mat-timepicker>\n @for (error of getTimeErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\n }\n </mat-form-field>\n </div>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i4$4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4$4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i4$4.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgxMatTimepickerDirective, selector: "[ngxMatTimepicker]", inputs: ["format", "max", "min", "ngxMatTimepicker", "value", "disableClick", "disabled"] }, { kind: "component", type: NgxMatTimepickerComponent, selector: "ngx-mat-timepicker", inputs: ["appendToInput", "color", "dottedMinutesInGap", "enableKeyboardInput", "format", "minutesGap", "cancelBtnTmpl", "confirmBtnTmpl", "defaultTime", "disableAnimation", "editableHintTmpl", "hoursOnly", "isEsc", "max", "min", "preventOverlayClick", "timepickerClass"], outputs: ["closed", "hourSelected", "opened", "timeChanged", "timeSet"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
4868
+ ], ngImport: i0, template: "<ng-container [formGroup]=\"formGroup\">\r\n <div class=\"flex flex-col gap-y-4\">\r\n <mat-form-field [matTooltip]=\"getDateErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ (dateLabel ?? 'COMMON.DATE') | translate }}</mat-label>\r\n <input [matDatepicker]=\"picker\" formControlName=\"date\" matInput>\r\n <mat-datepicker-toggle [for]=\"picker\" matIconSuffix></mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n @for (error of getDateErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\r\n }\r\n </mat-form-field>\r\n <mat-form-field [matTooltip]=\"getTimeErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ (timeLabel ?? 'COMMON.TIME') | translate }}</mat-label>\r\n <input [format]=\"24\" [ngxMatTimepicker]=\"pickerA\" formControlName=\"time\" matInput (input)=\"onInputChange($event)\"/>\r\n <mat-icon (click)=\"pickerA.open()\" matSuffix> watch_later</mat-icon>\r\n <ngx-mat-timepicker #pickerA></ngx-mat-timepicker>\r\n @for (error of getTimeErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i4$4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4$4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i4$4.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgxMatTimepickerDirective, selector: "[ngxMatTimepicker]", inputs: ["format", "max", "min", "ngxMatTimepicker", "value", "disableClick", "disabled"] }, { kind: "component", type: NgxMatTimepickerComponent, selector: "ngx-mat-timepicker", inputs: ["appendToInput", "color", "dottedMinutesInGap", "enableKeyboardInput", "format", "minutesGap", "cancelBtnTmpl", "confirmBtnTmpl", "defaultTime", "disableAnimation", "editableHintTmpl", "hoursOnly", "isEsc", "max", "min", "preventOverlayClick", "timepickerClass"], outputs: ["closed", "hourSelected", "opened", "timeChanged", "timeSet"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
4869
4869
  }
4870
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DateTimeFormFieldComponent, decorators: [{
4870
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: DateTimeFormFieldComponent, decorators: [{
4871
4871
  type: Component,
4872
4872
  args: [{ selector: 'app-date-time-form-field', imports: [SharedModule, NgxMatTimepickerDirective, NgxMatTimepickerComponent], providers: [
4873
4873
  {
@@ -4880,7 +4880,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
4880
4880
  useExisting: forwardRef(() => DateTimeFormFieldComponent),
4881
4881
  multi: true,
4882
4882
  }
4883
- ], template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"flex flex-col gap-y-4\">\n <mat-form-field [matTooltip]=\"getDateErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ (dateLabel ?? 'COMMON.DATE') | translate }}</mat-label>\n <input [matDatepicker]=\"picker\" formControlName=\"date\" matInput>\n <mat-datepicker-toggle [for]=\"picker\" matIconSuffix></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n @for (error of getDateErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\n }\n </mat-form-field>\n <mat-form-field [matTooltip]=\"getTimeErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ (timeLabel ?? 'COMMON.TIME') | translate }}</mat-label>\n <input [format]=\"24\" [ngxMatTimepicker]=\"pickerA\" formControlName=\"time\" matInput (input)=\"onInputChange($event)\"/>\n <mat-icon (click)=\"pickerA.open()\" matSuffix> watch_later</mat-icon>\n <ngx-mat-timepicker #pickerA></ngx-mat-timepicker>\n @for (error of getTimeErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\n }\n </mat-form-field>\n </div>\n</ng-container>\n" }]
4883
+ ], template: "<ng-container [formGroup]=\"formGroup\">\r\n <div class=\"flex flex-col gap-y-4\">\r\n <mat-form-field [matTooltip]=\"getDateErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ (dateLabel ?? 'COMMON.DATE') | translate }}</mat-label>\r\n <input [matDatepicker]=\"picker\" formControlName=\"date\" matInput>\r\n <mat-datepicker-toggle [for]=\"picker\" matIconSuffix></mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n @for (error of getDateErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\r\n }\r\n </mat-form-field>\r\n <mat-form-field [matTooltip]=\"getTimeErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ (timeLabel ?? 'COMMON.TIME') | translate }}</mat-label>\r\n <input [format]=\"24\" [ngxMatTimepicker]=\"pickerA\" formControlName=\"time\" matInput (input)=\"onInputChange($event)\"/>\r\n <mat-icon (click)=\"pickerA.open()\" matSuffix> watch_later</mat-icon>\r\n <ngx-mat-timepicker #pickerA></ngx-mat-timepicker>\r\n @for (error of getTimeErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n</ng-container>\r\n" }]
4884
4884
  }], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { dateLabel: [{
4885
4885
  type: Input
4886
4886
  }], timeLabel: [{
@@ -4894,8 +4894,8 @@ class DragDropFileUploadComponent {
4894
4894
  accept = '.*';
4895
4895
  multiple = false;
4896
4896
  prompt = 'COMMON.DRAG_DROP_PROMPT';
4897
- highlight = signal(false, ...(ngDevMode ? [{ debugName: "highlight" }] : []));
4898
- disabled = signal(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
4897
+ highlight = signal(false, ...(ngDevMode ? [{ debugName: "highlight" }] : /* istanbul ignore next */ []));
4898
+ disabled = signal(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
4899
4899
  files$ = new BehaviorSubject(null);
4900
4900
  TRUNCATE_NAME_LIMIT = 24;
4901
4901
  destroy$ = new Subject();
@@ -5008,12 +5008,12 @@ class DragDropFileUploadComponent {
5008
5008
  this.destroy$.next();
5009
5009
  this.destroy$.complete();
5010
5010
  }
5011
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DragDropFileUploadComponent, deps: [{ token: i5.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
5012
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DragDropFileUploadComponent, isStandalone: true, selector: "application-drag-drop-file-upload", inputs: { accept: "accept", multiple: "multiple", prompt: "prompt" }, viewQueries: [{ propertyName: "dragDropZone", first: true, predicate: ["dragDropZone"], descendants: true }, { propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div #dragDropZone class=\"drag-drop-zone flex flex-col items-center justify-center\" [ngClass]=\"{ highlight: highlight(), disabled: disabled() }\">\n @if (files$ | async; as files) {\n @if (files.length > 0) {\n <div class=\"flex flex-col flex-wrap items-center justify-center\">\n @for (file of files; track $index) {\n <div class=\"name-wrapper flex flex-row items-center justify-center gap-2\">\n <mat-icon>description</mat-icon>\n <span [matTooltipDisabled]=\"file.name.length < TRUNCATE_NAME_LIMIT\" [matTooltip]=\"file.name\">{{ getFileName(file.name) }}</span>\n <mat-icon class=\"delete-button text-mat-sys-on-error-container\" (click)=\"deleteFile($event, $index)\">delete</mat-icon>\n </div>\n }\n </div>\n } @else {\n <span>{{ prompt | translate }}</span>\n }\n } @else {\n <span>{{ prompt | translate }}</span>\n }\n @if (controlDir.control?.errors && controlDir.control?.touched) {\n <mat-error>{{ getErrorForTranslation(controlDir.control?.errors).key | translate: getErrorForTranslation(controlDir.control?.errors).params }}</mat-error>\n }\n</div>\n<input #fileInput type=\"file\" [attr.multiple]=\"multiple ? true : null\" [attr.accept]=\"accept === '.*' ? '*' : accept\" (change)=\"onFileAdded($event)\"/>\n", styles: [":host{display:block;position:relative}input[type=file]{display:none}.drag-drop-zone{min-height:100px;min-width:250px;border:1px dashed var(--neutral-variant-color-60);cursor:pointer;border-radius:5px}.drag-drop-zone.highlight{background-color:var(--mat-sys-primary-container);border:1px solid var(--mat-sys-on-primary-container)}.drag-drop-zone.disabled{opacity:.5;pointer-events:none;cursor:no-drop}.drag-drop-zone .name-wrapper{cursor:auto}.drag-drop-zone .delete-button{cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
5011
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: DragDropFileUploadComponent, deps: [{ token: i5.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
5012
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: DragDropFileUploadComponent, isStandalone: true, selector: "application-drag-drop-file-upload", inputs: { accept: "accept", multiple: "multiple", prompt: "prompt" }, viewQueries: [{ propertyName: "dragDropZone", first: true, predicate: ["dragDropZone"], descendants: true }, { propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div #dragDropZone class=\"drag-drop-zone flex flex-col items-center justify-center\" [ngClass]=\"{ highlight: highlight(), disabled: disabled() }\">\r\n @if (files$ | async; as files) {\r\n @if (files.length > 0) {\r\n <div class=\"flex flex-col flex-wrap items-center justify-center\">\r\n @for (file of files; track $index) {\r\n <div class=\"name-wrapper flex flex-row items-center justify-center gap-2\">\r\n <mat-icon>description</mat-icon>\r\n <span [matTooltipDisabled]=\"file.name.length < TRUNCATE_NAME_LIMIT\" [matTooltip]=\"file.name\">{{ getFileName(file.name) }}</span>\r\n <mat-icon class=\"delete-button text-mat-sys-on-error-container\" (click)=\"deleteFile($event, $index)\">delete</mat-icon>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <span>{{ prompt | translate }}</span>\r\n }\r\n } @else {\r\n <span>{{ prompt | translate }}</span>\r\n }\r\n @if (controlDir.control?.errors && controlDir.control?.touched) {\r\n <mat-error>{{ getErrorForTranslation(controlDir.control?.errors).key | translate: getErrorForTranslation(controlDir.control?.errors).params }}</mat-error>\r\n }\r\n</div>\r\n<input #fileInput type=\"file\" [attr.multiple]=\"multiple ? true : null\" [attr.accept]=\"accept === '.*' ? '*' : accept\" (change)=\"onFileAdded($event)\"/>\r\n", styles: [":host{display:block;position:relative}input[type=file]{display:none}.drag-drop-zone{min-height:100px;min-width:250px;border:1px dashed var(--neutral-variant-color-60);cursor:pointer;border-radius:5px}.drag-drop-zone.highlight{background-color:var(--mat-sys-primary-container);border:1px solid var(--mat-sys-on-primary-container)}.drag-drop-zone.disabled{opacity:.5;pointer-events:none;cursor:no-drop}.drag-drop-zone .name-wrapper{cursor:auto}.drag-drop-zone .delete-button{cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
5013
5013
  }
5014
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DragDropFileUploadComponent, decorators: [{
5014
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: DragDropFileUploadComponent, decorators: [{
5015
5015
  type: Component,
5016
- args: [{ selector: 'application-drag-drop-file-upload', imports: [SharedModule], template: "<div #dragDropZone class=\"drag-drop-zone flex flex-col items-center justify-center\" [ngClass]=\"{ highlight: highlight(), disabled: disabled() }\">\n @if (files$ | async; as files) {\n @if (files.length > 0) {\n <div class=\"flex flex-col flex-wrap items-center justify-center\">\n @for (file of files; track $index) {\n <div class=\"name-wrapper flex flex-row items-center justify-center gap-2\">\n <mat-icon>description</mat-icon>\n <span [matTooltipDisabled]=\"file.name.length < TRUNCATE_NAME_LIMIT\" [matTooltip]=\"file.name\">{{ getFileName(file.name) }}</span>\n <mat-icon class=\"delete-button text-mat-sys-on-error-container\" (click)=\"deleteFile($event, $index)\">delete</mat-icon>\n </div>\n }\n </div>\n } @else {\n <span>{{ prompt | translate }}</span>\n }\n } @else {\n <span>{{ prompt | translate }}</span>\n }\n @if (controlDir.control?.errors && controlDir.control?.touched) {\n <mat-error>{{ getErrorForTranslation(controlDir.control?.errors).key | translate: getErrorForTranslation(controlDir.control?.errors).params }}</mat-error>\n }\n</div>\n<input #fileInput type=\"file\" [attr.multiple]=\"multiple ? true : null\" [attr.accept]=\"accept === '.*' ? '*' : accept\" (change)=\"onFileAdded($event)\"/>\n", styles: [":host{display:block;position:relative}input[type=file]{display:none}.drag-drop-zone{min-height:100px;min-width:250px;border:1px dashed var(--neutral-variant-color-60);cursor:pointer;border-radius:5px}.drag-drop-zone.highlight{background-color:var(--mat-sys-primary-container);border:1px solid var(--mat-sys-on-primary-container)}.drag-drop-zone.disabled{opacity:.5;pointer-events:none;cursor:no-drop}.drag-drop-zone .name-wrapper{cursor:auto}.drag-drop-zone .delete-button{cursor:pointer}\n"] }]
5016
+ args: [{ selector: 'application-drag-drop-file-upload', imports: [SharedModule], template: "<div #dragDropZone class=\"drag-drop-zone flex flex-col items-center justify-center\" [ngClass]=\"{ highlight: highlight(), disabled: disabled() }\">\r\n @if (files$ | async; as files) {\r\n @if (files.length > 0) {\r\n <div class=\"flex flex-col flex-wrap items-center justify-center\">\r\n @for (file of files; track $index) {\r\n <div class=\"name-wrapper flex flex-row items-center justify-center gap-2\">\r\n <mat-icon>description</mat-icon>\r\n <span [matTooltipDisabled]=\"file.name.length < TRUNCATE_NAME_LIMIT\" [matTooltip]=\"file.name\">{{ getFileName(file.name) }}</span>\r\n <mat-icon class=\"delete-button text-mat-sys-on-error-container\" (click)=\"deleteFile($event, $index)\">delete</mat-icon>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <span>{{ prompt | translate }}</span>\r\n }\r\n } @else {\r\n <span>{{ prompt | translate }}</span>\r\n }\r\n @if (controlDir.control?.errors && controlDir.control?.touched) {\r\n <mat-error>{{ getErrorForTranslation(controlDir.control?.errors).key | translate: getErrorForTranslation(controlDir.control?.errors).params }}</mat-error>\r\n }\r\n</div>\r\n<input #fileInput type=\"file\" [attr.multiple]=\"multiple ? true : null\" [attr.accept]=\"accept === '.*' ? '*' : accept\" (change)=\"onFileAdded($event)\"/>\r\n", styles: [":host{display:block;position:relative}input[type=file]{display:none}.drag-drop-zone{min-height:100px;min-width:250px;border:1px dashed var(--neutral-variant-color-60);cursor:pointer;border-radius:5px}.drag-drop-zone.highlight{background-color:var(--mat-sys-primary-container);border:1px solid var(--mat-sys-on-primary-container)}.drag-drop-zone.disabled{opacity:.5;pointer-events:none;cursor:no-drop}.drag-drop-zone .name-wrapper{cursor:auto}.drag-drop-zone .delete-button{cursor:pointer}\n"] }]
5017
5017
  }], ctorParameters: () => [{ type: i5.NgControl, decorators: [{
5018
5018
  type: Optional
5019
5019
  }, {
@@ -5033,18 +5033,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
5033
5033
  }] } });
5034
5034
 
5035
5035
  class ZoomControlsComponent {
5036
- zoomPercentage = input.required(...(ngDevMode ? [{ debugName: "zoomPercentage" }] : []));
5037
- canZoomIn = input.required(...(ngDevMode ? [{ debugName: "canZoomIn" }] : []));
5038
- canZoomOut = input.required(...(ngDevMode ? [{ debugName: "canZoomOut" }] : []));
5036
+ zoomPercentage = input.required(...(ngDevMode ? [{ debugName: "zoomPercentage" }] : /* istanbul ignore next */ []));
5037
+ canZoomIn = input.required(...(ngDevMode ? [{ debugName: "canZoomIn" }] : /* istanbul ignore next */ []));
5038
+ canZoomOut = input.required(...(ngDevMode ? [{ debugName: "canZoomOut" }] : /* istanbul ignore next */ []));
5039
5039
  zoomIn = output();
5040
5040
  zoomOut = output();
5041
5041
  reset = output();
5042
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ZoomControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5043
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: ZoomControlsComponent, isStandalone: true, selector: "app-zoom-controls", inputs: { zoomPercentage: { classPropertyName: "zoomPercentage", publicName: "zoomPercentage", isSignal: true, isRequired: true, transformFunction: null }, canZoomIn: { classPropertyName: "canZoomIn", publicName: "canZoomIn", isSignal: true, isRequired: true, transformFunction: null }, canZoomOut: { classPropertyName: "canZoomOut", publicName: "canZoomOut", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { zoomIn: "zoomIn", zoomOut: "zoomOut", reset: "reset" }, ngImport: i0, template: "<div class=\"control-group\">\n <button class=\"icon-btn\"\n type=\"button\"\n (click)=\"zoomOut.emit()\"\n [disabled]=\"!canZoomOut()\"\n [class.disabled]=\"!canZoomOut()\"\n [matTooltip]=\"'COMMON.ZOOM_OUT' | translate\">\n <mat-icon>zoom_out</mat-icon>\n </button>\n <span class=\"zoom-level\"\n (click)=\"reset.emit()\"\n [matTooltip]=\"'COMMON.ZOOM_RESET' | translate\">{{ zoomPercentage() }}%</span>\n <button class=\"icon-btn\"\n type=\"button\"\n (click)=\"zoomIn.emit()\"\n [disabled]=\"!canZoomIn()\"\n [class.disabled]=\"!canZoomIn()\"\n [matTooltip]=\"'COMMON.ZOOM_IN' | translate\">\n <mat-icon>zoom_in</mat-icon>\n </button>\n</div>\n<ng-content></ng-content>\n", styles: [":host{display:flex;align-items:center;justify-content:center;gap:12px;background-color:transparent;position:absolute;bottom:0;left:50%;transform:translate(-50%);z-index:1;padding:12px 20px 16px}.control-group{display:flex;align-items:center;gap:4px;background:var(--mat-sys-surface-container);border:1px solid var(--mat-sys-outline-variant);border-radius:10px;padding:4px;box-shadow:0 2px 8px #0000001f}.zoom-level{min-width:44px;text-align:center;color:var(--mat-sys-on-surface);font-size:13px;font-weight:500;cursor:pointer;padding:4px;border-radius:16px;transition:background-color .2s}.zoom-level:hover{background-color:var(--mat-sys-surface-container-high)}.icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background-color:transparent;color:var(--mat-sys-on-surface-variant);cursor:pointer;transition:all .2s ease}.icon-btn:hover:not(.disabled){background-color:var(--mat-sys-surface-container-high);color:var(--mat-sys-on-surface)}.icon-btn.disabled{opacity:.4;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
5042
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ZoomControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5043
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.13", type: ZoomControlsComponent, isStandalone: true, selector: "app-zoom-controls", inputs: { zoomPercentage: { classPropertyName: "zoomPercentage", publicName: "zoomPercentage", isSignal: true, isRequired: true, transformFunction: null }, canZoomIn: { classPropertyName: "canZoomIn", publicName: "canZoomIn", isSignal: true, isRequired: true, transformFunction: null }, canZoomOut: { classPropertyName: "canZoomOut", publicName: "canZoomOut", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { zoomIn: "zoomIn", zoomOut: "zoomOut", reset: "reset" }, ngImport: i0, template: "<div class=\"control-group\">\r\n <button class=\"icon-btn\"\r\n type=\"button\"\r\n (click)=\"zoomOut.emit()\"\r\n [disabled]=\"!canZoomOut()\"\r\n [class.disabled]=\"!canZoomOut()\"\r\n [matTooltip]=\"'COMMON.ZOOM_OUT' | translate\">\r\n <mat-icon>zoom_out</mat-icon>\r\n </button>\r\n <span class=\"zoom-level\"\r\n (click)=\"reset.emit()\"\r\n [matTooltip]=\"'COMMON.ZOOM_RESET' | translate\">{{ zoomPercentage() }}%</span>\r\n <button class=\"icon-btn\"\r\n type=\"button\"\r\n (click)=\"zoomIn.emit()\"\r\n [disabled]=\"!canZoomIn()\"\r\n [class.disabled]=\"!canZoomIn()\"\r\n [matTooltip]=\"'COMMON.ZOOM_IN' | translate\">\r\n <mat-icon>zoom_in</mat-icon>\r\n </button>\r\n</div>\r\n<ng-content></ng-content>\r\n", styles: [":host{display:flex;align-items:center;justify-content:center;gap:12px;background-color:transparent;position:absolute;bottom:0;left:50%;transform:translate(-50%);z-index:1;padding:12px 20px 16px}.control-group{display:flex;align-items:center;gap:4px;background:var(--mat-sys-surface-container);border:1px solid var(--mat-sys-outline-variant);border-radius:10px;padding:4px;box-shadow:0 2px 8px #0000001f}.zoom-level{min-width:44px;text-align:center;color:var(--mat-sys-on-surface);font-size:13px;font-weight:500;cursor:pointer;padding:4px;border-radius:16px;transition:background-color .2s}.zoom-level:hover{background-color:var(--mat-sys-surface-container-high)}.icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background-color:transparent;color:var(--mat-sys-on-surface-variant);cursor:pointer;transition:all .2s ease}.icon-btn:hover:not(.disabled){background-color:var(--mat-sys-surface-container-high);color:var(--mat-sys-on-surface)}.icon-btn.disabled{opacity:.4;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
5044
5044
  }
5045
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ZoomControlsComponent, decorators: [{
5045
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ZoomControlsComponent, decorators: [{
5046
5046
  type: Component,
5047
- args: [{ selector: 'app-zoom-controls', imports: [SharedModule], template: "<div class=\"control-group\">\n <button class=\"icon-btn\"\n type=\"button\"\n (click)=\"zoomOut.emit()\"\n [disabled]=\"!canZoomOut()\"\n [class.disabled]=\"!canZoomOut()\"\n [matTooltip]=\"'COMMON.ZOOM_OUT' | translate\">\n <mat-icon>zoom_out</mat-icon>\n </button>\n <span class=\"zoom-level\"\n (click)=\"reset.emit()\"\n [matTooltip]=\"'COMMON.ZOOM_RESET' | translate\">{{ zoomPercentage() }}%</span>\n <button class=\"icon-btn\"\n type=\"button\"\n (click)=\"zoomIn.emit()\"\n [disabled]=\"!canZoomIn()\"\n [class.disabled]=\"!canZoomIn()\"\n [matTooltip]=\"'COMMON.ZOOM_IN' | translate\">\n <mat-icon>zoom_in</mat-icon>\n </button>\n</div>\n<ng-content></ng-content>\n", styles: [":host{display:flex;align-items:center;justify-content:center;gap:12px;background-color:transparent;position:absolute;bottom:0;left:50%;transform:translate(-50%);z-index:1;padding:12px 20px 16px}.control-group{display:flex;align-items:center;gap:4px;background:var(--mat-sys-surface-container);border:1px solid var(--mat-sys-outline-variant);border-radius:10px;padding:4px;box-shadow:0 2px 8px #0000001f}.zoom-level{min-width:44px;text-align:center;color:var(--mat-sys-on-surface);font-size:13px;font-weight:500;cursor:pointer;padding:4px;border-radius:16px;transition:background-color .2s}.zoom-level:hover{background-color:var(--mat-sys-surface-container-high)}.icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background-color:transparent;color:var(--mat-sys-on-surface-variant);cursor:pointer;transition:all .2s ease}.icon-btn:hover:not(.disabled){background-color:var(--mat-sys-surface-container-high);color:var(--mat-sys-on-surface)}.icon-btn.disabled{opacity:.4;cursor:not-allowed}\n"] }]
5047
+ args: [{ selector: 'app-zoom-controls', imports: [SharedModule], template: "<div class=\"control-group\">\r\n <button class=\"icon-btn\"\r\n type=\"button\"\r\n (click)=\"zoomOut.emit()\"\r\n [disabled]=\"!canZoomOut()\"\r\n [class.disabled]=\"!canZoomOut()\"\r\n [matTooltip]=\"'COMMON.ZOOM_OUT' | translate\">\r\n <mat-icon>zoom_out</mat-icon>\r\n </button>\r\n <span class=\"zoom-level\"\r\n (click)=\"reset.emit()\"\r\n [matTooltip]=\"'COMMON.ZOOM_RESET' | translate\">{{ zoomPercentage() }}%</span>\r\n <button class=\"icon-btn\"\r\n type=\"button\"\r\n (click)=\"zoomIn.emit()\"\r\n [disabled]=\"!canZoomIn()\"\r\n [class.disabled]=\"!canZoomIn()\"\r\n [matTooltip]=\"'COMMON.ZOOM_IN' | translate\">\r\n <mat-icon>zoom_in</mat-icon>\r\n </button>\r\n</div>\r\n<ng-content></ng-content>\r\n", styles: [":host{display:flex;align-items:center;justify-content:center;gap:12px;background-color:transparent;position:absolute;bottom:0;left:50%;transform:translate(-50%);z-index:1;padding:12px 20px 16px}.control-group{display:flex;align-items:center;gap:4px;background:var(--mat-sys-surface-container);border:1px solid var(--mat-sys-outline-variant);border-radius:10px;padding:4px;box-shadow:0 2px 8px #0000001f}.zoom-level{min-width:44px;text-align:center;color:var(--mat-sys-on-surface);font-size:13px;font-weight:500;cursor:pointer;padding:4px;border-radius:16px;transition:background-color .2s}.zoom-level:hover{background-color:var(--mat-sys-surface-container-high)}.icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background-color:transparent;color:var(--mat-sys-on-surface-variant);cursor:pointer;transition:all .2s ease}.icon-btn:hover:not(.disabled){background-color:var(--mat-sys-surface-container-high);color:var(--mat-sys-on-surface)}.icon-btn.disabled{opacity:.4;cursor:not-allowed}\n"] }]
5048
5048
  }], propDecorators: { zoomPercentage: [{ type: i0.Input, args: [{ isSignal: true, alias: "zoomPercentage", required: true }] }], canZoomIn: [{ type: i0.Input, args: [{ isSignal: true, alias: "canZoomIn", required: true }] }], canZoomOut: [{ type: i0.Input, args: [{ isSignal: true, alias: "canZoomOut", required: true }] }], zoomIn: [{ type: i0.Output, args: ["zoomIn"] }], zoomOut: [{ type: i0.Output, args: ["zoomOut"] }], reset: [{ type: i0.Output, args: ["reset"] }] } });
5049
5049
 
5050
5050
  class GoogleMapComponent {
@@ -5052,15 +5052,15 @@ class GoogleMapComponent {
5052
5052
  simpleDateTimePipe;
5053
5053
  ZOOM_BASE = 4;
5054
5054
  map = viewChild.required(GoogleMap);
5055
- googleMapId = input.required(...(ngDevMode ? [{ debugName: "googleMapId" }] : []));
5056
- darkTheme = input.required(...(ngDevMode ? [{ debugName: "darkTheme" }] : []));
5057
- items = input.required(...(ngDevMode ? [{ debugName: "items" }] : []));
5058
- pinColor = input.required(...(ngDevMode ? [{ debugName: "pinColor" }] : []));
5055
+ googleMapId = input.required(...(ngDevMode ? [{ debugName: "googleMapId" }] : /* istanbul ignore next */ []));
5056
+ darkTheme = input.required(...(ngDevMode ? [{ debugName: "darkTheme" }] : /* istanbul ignore next */ []));
5057
+ items = input.required(...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
5058
+ pinColor = input.required(...(ngDevMode ? [{ debugName: "pinColor" }] : /* istanbul ignore next */ []));
5059
5059
  markerClicked = output();
5060
- zoom = signal(4, ...(ngDevMode ? [{ debugName: "zoom" }] : []));
5061
- canZoomIn = computed(() => this.zoom() < 22, ...(ngDevMode ? [{ debugName: "canZoomIn" }] : []));
5062
- canZoomOut = computed(() => this.zoom() > 2, ...(ngDevMode ? [{ debugName: "canZoomOut" }] : []));
5063
- zoomPercentage = computed(() => Math.round(this.zoom() / this.ZOOM_BASE * 100), ...(ngDevMode ? [{ debugName: "zoomPercentage" }] : []));
5060
+ zoom = signal(4, ...(ngDevMode ? [{ debugName: "zoom" }] : /* istanbul ignore next */ []));
5061
+ canZoomIn = computed(() => this.zoom() < 22, ...(ngDevMode ? [{ debugName: "canZoomIn" }] : /* istanbul ignore next */ []));
5062
+ canZoomOut = computed(() => this.zoom() > 2, ...(ngDevMode ? [{ debugName: "canZoomOut" }] : /* istanbul ignore next */ []));
5063
+ zoomPercentage = computed(() => Math.round(this.zoom() / this.ZOOM_BASE * 100), ...(ngDevMode ? [{ debugName: "zoomPercentage" }] : /* istanbul ignore next */ []));
5064
5064
  mapOptions = computed(() => {
5065
5065
  return {
5066
5066
  mapId: this.googleMapId(),
@@ -5081,7 +5081,7 @@ class GoogleMapComponent {
5081
5081
  },
5082
5082
  disableDefaultUI: true
5083
5083
  };
5084
- }, ...(ngDevMode ? [{ debugName: "mapOptions" }] : []));
5084
+ }, ...(ngDevMode ? [{ debugName: "mapOptions" }] : /* istanbul ignore next */ []));
5085
5085
  clusterer = computed(() => {
5086
5086
  const renderer = {
5087
5087
  render: ({ count, position }) => {
@@ -5100,11 +5100,11 @@ class GoogleMapComponent {
5100
5100
  }
5101
5101
  };
5102
5102
  return new MarkerClusterer({ markers: [], map: this.map().googleMap, renderer: renderer, algorithmOptions: { maxZoom: 21 } });
5103
- }, ...(ngDevMode ? [{ debugName: "clusterer" }] : []));
5103
+ }, ...(ngDevMode ? [{ debugName: "clusterer" }] : /* istanbul ignore next */ []));
5104
5104
  markers = computed(() => {
5105
5105
  const itemsWithJitter = this.addJitter(this.items());
5106
5106
  return itemsWithJitter.map((mapItem) => this.createMarker(mapItem));
5107
- }, ...(ngDevMode ? [{ debugName: "markers" }] : []));
5107
+ }, ...(ngDevMode ? [{ debugName: "markers" }] : /* istanbul ignore next */ []));
5108
5108
  mapBounds = new google.maps.LatLngBounds();
5109
5109
  constructor(translateService, simpleDateTimePipe) {
5110
5110
  this.translateService = translateService;
@@ -5159,13 +5159,13 @@ class GoogleMapComponent {
5159
5159
  const isOffset = mapItem.trueLat !== undefined && mapItem.trueLng !== undefined;
5160
5160
  const lastReading = isOffset ? mapItem.trueLat + ',' + mapItem.trueLng : mapItem.lat + ',' + mapItem.lng;
5161
5161
  const offsetNotification = isOffset ? `<span>${this.translateService.instant('DASHBOARDS.MAP_WIDGET_OFFSET_NOTIFICATION')}</span>` : '';
5162
- const infoWindowContent = `
5163
- <div class="text-black flex flex-col gap-y-2 mt-4 !w-fit !h-fit select-none">
5164
- <span class="font-bold">${mapItem.path}</span>
5165
- <span>${lastReadingTime ? this.simpleDateTimePipe.transform(lastReadingTime) : ''}</span>
5166
- <span class="font-bold mt-4">${lastReading}</span>
5167
- ${offsetNotification}
5168
- </div>
5162
+ const infoWindowContent = `
5163
+ <div class="text-black flex flex-col gap-y-2 mt-4 !w-fit !h-fit select-none">
5164
+ <span class="font-bold">${mapItem.path}</span>
5165
+ <span>${lastReadingTime ? this.simpleDateTimePipe.transform(lastReadingTime) : ''}</span>
5166
+ <span class="font-bold mt-4">${lastReading}</span>
5167
+ ${offsetNotification}
5168
+ </div>
5169
5169
  `;
5170
5170
  const infoWindow = new google.maps.InfoWindow({
5171
5171
  content: infoWindowContent,
@@ -5173,10 +5173,10 @@ class GoogleMapComponent {
5173
5173
  pixelOffset: new google.maps.Size(0, -4)
5174
5174
  });
5175
5175
  const pin = document.createElement('div');
5176
- pin.innerHTML = `
5177
- <svg width="48" height="48" viewBox="0 0 24 24" fill="${mapItem.color}">
5178
- <path d="M10.453 14.016zM12 2.016q2.906 0 4.945 2.039t2.039 4.945q0 1.453-.727 3.328t-1.758 3.516-2.039 3.07-1.711 2.273l-.75.797q-.281-.328-.75-.867t-1.688-2.156-2.133-3.141-1.664-3.445-.75-3.375q0-2.906 2.039-4.945t4.945-2.039z"></path>
5179
- </svg>
5176
+ pin.innerHTML = `
5177
+ <svg width="48" height="48" viewBox="0 0 24 24" fill="${mapItem.color}">
5178
+ <path d="M10.453 14.016zM12 2.016q2.906 0 4.945 2.039t2.039 4.945q0 1.453-.727 3.328t-1.758 3.516-2.039 3.07-1.711 2.273l-.75.797q-.281-.328-.75-.867t-1.688-2.156-2.133-3.141-1.664-3.445-.75-3.375q0-2.906 2.039-4.945t4.945-2.039z"></path>
5179
+ </svg>
5180
5180
  `;
5181
5181
  const marker = new google.maps.marker.AdvancedMarkerElement({
5182
5182
  position: { lat: +mapItem.lat, lng: +mapItem.lng },
@@ -5237,19 +5237,19 @@ class GoogleMapComponent {
5237
5237
  });
5238
5238
  return result;
5239
5239
  }
5240
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: GoogleMapComponent, deps: [{ token: i1$1.TranslateService }, { token: SimpleDateTimePipe }], target: i0.ɵɵFactoryTarget.Component });
5241
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.0", type: GoogleMapComponent, isStandalone: true, selector: "app-google-map", inputs: { googleMapId: { classPropertyName: "googleMapId", publicName: "googleMapId", isSignal: true, isRequired: true, transformFunction: null }, darkTheme: { classPropertyName: "darkTheme", publicName: "darkTheme", isSignal: true, isRequired: true, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, pinColor: { classPropertyName: "pinColor", publicName: "pinColor", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { markerClicked: "markerClicked" }, providers: [SimpleDateTimePipe], viewQueries: [{ propertyName: "map", first: true, predicate: GoogleMap, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"map-wrapper\">\n <google-map height=\"100%\" width=\"100%\" [options]=\"mapOptions()\" [zoom]=\"zoom()\" (zoomChanged)=\"syncZoom()\" class=\"map-full\"/>\n <app-zoom-controls\n style=\"z-index: 200\"\n [zoomPercentage]=\"zoomPercentage()\"\n [canZoomIn]=\"canZoomIn()\"\n [canZoomOut]=\"canZoomOut()\"\n (zoomIn)=\"changeZoom(+1)\"\n (zoomOut)=\"changeZoom(-1)\"\n (reset)=\"fitToMarkers()\"\n ></app-zoom-controls>\n</div>\n", styles: [".map-wrapper{position:relative;display:flex;width:100%;height:100%}.map-full{width:100%;height:100%}\n"], dependencies: [{ kind: "component", type: GoogleMap, selector: "google-map", inputs: ["height", "width", "mapId", "mapTypeId", "center", "zoom", "options"], outputs: ["mapInitialized", "authFailure", "boundsChanged", "centerChanged", "mapClick", "mapDblclick", "mapDrag", "mapDragend", "mapDragstart", "headingChanged", "idle", "maptypeidChanged", "mapMousemove", "mapMouseout", "mapMouseover", "projectionChanged", "mapRightclick", "tilesloaded", "tiltChanged", "zoomChanged"], exportAs: ["googleMap"] }, { kind: "ngmodule", type: SharedModule }, { kind: "component", type: ZoomControlsComponent, selector: "app-zoom-controls", inputs: ["zoomPercentage", "canZoomIn", "canZoomOut"], outputs: ["zoomIn", "zoomOut", "reset"] }] });
5240
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: GoogleMapComponent, deps: [{ token: i1$1.TranslateService }, { token: SimpleDateTimePipe }], target: i0.ɵɵFactoryTarget.Component });
5241
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.13", type: GoogleMapComponent, isStandalone: true, selector: "app-google-map", inputs: { googleMapId: { classPropertyName: "googleMapId", publicName: "googleMapId", isSignal: true, isRequired: true, transformFunction: null }, darkTheme: { classPropertyName: "darkTheme", publicName: "darkTheme", isSignal: true, isRequired: true, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, pinColor: { classPropertyName: "pinColor", publicName: "pinColor", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { markerClicked: "markerClicked" }, providers: [SimpleDateTimePipe], viewQueries: [{ propertyName: "map", first: true, predicate: GoogleMap, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"map-wrapper\">\r\n <google-map height=\"100%\" width=\"100%\" [options]=\"mapOptions()\" [zoom]=\"zoom()\" (zoomChanged)=\"syncZoom()\" class=\"map-full\"/>\r\n <app-zoom-controls\r\n style=\"z-index: 200\"\r\n [zoomPercentage]=\"zoomPercentage()\"\r\n [canZoomIn]=\"canZoomIn()\"\r\n [canZoomOut]=\"canZoomOut()\"\r\n (zoomIn)=\"changeZoom(+1)\"\r\n (zoomOut)=\"changeZoom(-1)\"\r\n (reset)=\"fitToMarkers()\"\r\n ></app-zoom-controls>\r\n</div>\r\n", styles: [".map-wrapper{position:relative;display:flex;width:100%;height:100%}.map-full{width:100%;height:100%}\n"], dependencies: [{ kind: "component", type: GoogleMap, selector: "google-map", inputs: ["height", "width", "mapId", "mapTypeId", "center", "zoom", "options"], outputs: ["mapInitialized", "authFailure", "boundsChanged", "centerChanged", "mapClick", "mapDblclick", "mapDrag", "mapDragend", "mapDragstart", "headingChanged", "idle", "maptypeidChanged", "mapMousemove", "mapMouseout", "mapMouseover", "projectionChanged", "mapRightclick", "tilesloaded", "tiltChanged", "zoomChanged"], exportAs: ["googleMap"] }, { kind: "ngmodule", type: SharedModule }, { kind: "component", type: ZoomControlsComponent, selector: "app-zoom-controls", inputs: ["zoomPercentage", "canZoomIn", "canZoomOut"], outputs: ["zoomIn", "zoomOut", "reset"] }] });
5242
5242
  }
5243
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: GoogleMapComponent, decorators: [{
5243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: GoogleMapComponent, decorators: [{
5244
5244
  type: Component,
5245
- args: [{ selector: 'app-google-map', imports: [GoogleMap, SharedModule, ZoomControlsComponent], providers: [SimpleDateTimePipe], template: "<div class=\"map-wrapper\">\n <google-map height=\"100%\" width=\"100%\" [options]=\"mapOptions()\" [zoom]=\"zoom()\" (zoomChanged)=\"syncZoom()\" class=\"map-full\"/>\n <app-zoom-controls\n style=\"z-index: 200\"\n [zoomPercentage]=\"zoomPercentage()\"\n [canZoomIn]=\"canZoomIn()\"\n [canZoomOut]=\"canZoomOut()\"\n (zoomIn)=\"changeZoom(+1)\"\n (zoomOut)=\"changeZoom(-1)\"\n (reset)=\"fitToMarkers()\"\n ></app-zoom-controls>\n</div>\n", styles: [".map-wrapper{position:relative;display:flex;width:100%;height:100%}.map-full{width:100%;height:100%}\n"] }]
5245
+ args: [{ selector: 'app-google-map', imports: [GoogleMap, SharedModule, ZoomControlsComponent], providers: [SimpleDateTimePipe], template: "<div class=\"map-wrapper\">\r\n <google-map height=\"100%\" width=\"100%\" [options]=\"mapOptions()\" [zoom]=\"zoom()\" (zoomChanged)=\"syncZoom()\" class=\"map-full\"/>\r\n <app-zoom-controls\r\n style=\"z-index: 200\"\r\n [zoomPercentage]=\"zoomPercentage()\"\r\n [canZoomIn]=\"canZoomIn()\"\r\n [canZoomOut]=\"canZoomOut()\"\r\n (zoomIn)=\"changeZoom(+1)\"\r\n (zoomOut)=\"changeZoom(-1)\"\r\n (reset)=\"fitToMarkers()\"\r\n ></app-zoom-controls>\r\n</div>\r\n", styles: [".map-wrapper{position:relative;display:flex;width:100%;height:100%}.map-full{width:100%;height:100%}\n"] }]
5246
5246
  }], ctorParameters: () => [{ type: i1$1.TranslateService }, { type: SimpleDateTimePipe }], propDecorators: { map: [{ type: i0.ViewChild, args: [i0.forwardRef(() => GoogleMap), { isSignal: true }] }], googleMapId: [{ type: i0.Input, args: [{ isSignal: true, alias: "googleMapId", required: true }] }], darkTheme: [{ type: i0.Input, args: [{ isSignal: true, alias: "darkTheme", required: true }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: true }] }], pinColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "pinColor", required: true }] }], markerClicked: [{ type: i0.Output, args: ["markerClicked"] }] } });
5247
5247
 
5248
5248
  class ImagePreviewComponent {
5249
5249
  data;
5250
5250
  image;
5251
5251
  svgElement;
5252
- dimensionStyles = signal({}, ...(ngDevMode ? [{ debugName: "dimensionStyles" }] : []));
5252
+ dimensionStyles = signal({}, ...(ngDevMode ? [{ debugName: "dimensionStyles" }] : /* istanbul ignore next */ []));
5253
5253
  constructor(data) {
5254
5254
  this.data = data;
5255
5255
  afterNextRender(() => {
@@ -5280,12 +5280,12 @@ class ImagePreviewComponent {
5280
5280
  isHtml(image) {
5281
5281
  return image !== null && image.constructor.name === 'SafeHtmlImpl';
5282
5282
  }
5283
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ImagePreviewComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
5284
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: ImagePreviewComponent, isStandalone: true, selector: "app-image-preview", viewQueries: [{ propertyName: "image", first: true, predicate: ["imageElement"], descendants: true }, { propertyName: "svgElement", first: true, predicate: ["svgElement"], descendants: true }], ngImport: i0, template: "<div class=\"relative overflow-hidden image-wrapper flex flex-col items-center justify-center\" [ngStyle]=\"dimensionStyles() ? dimensionStyles() : {'opacity': '0'}\">\n <mat-icon class=\"absolute top-4 right-4 hover:cursor-pointer text-mat-sys-on-error-container\" matDialogClose>close</mat-icon>\n @if (!isHtml(data.image)) {\n <img #imageElement [attr.src]=\"data.image\" alt=\"ImagePreview\"/>\n } @else {\n <div #svgElement class=\"p-4\" [innerHTML]=\"data.image\"></div>\n }\n</div>\n", styles: [".image-wrapper{min-height:124px;min-width:124px}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$5.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
5283
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ImagePreviewComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
5284
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: ImagePreviewComponent, isStandalone: true, selector: "app-image-preview", viewQueries: [{ propertyName: "image", first: true, predicate: ["imageElement"], descendants: true }, { propertyName: "svgElement", first: true, predicate: ["svgElement"], descendants: true }], ngImport: i0, template: "<div class=\"relative overflow-hidden image-wrapper flex flex-col items-center justify-center\" [ngStyle]=\"dimensionStyles() ? dimensionStyles() : {'opacity': '0'}\">\r\n <mat-icon class=\"absolute top-4 right-4 hover:cursor-pointer text-mat-sys-on-error-container\" matDialogClose>close</mat-icon>\r\n @if (!isHtml(data.image)) {\r\n <img #imageElement [attr.src]=\"data.image\" alt=\"ImagePreview\"/>\r\n } @else {\r\n <div #svgElement class=\"p-4\" [innerHTML]=\"data.image\"></div>\r\n }\r\n</div>\r\n", styles: [".image-wrapper{min-height:124px;min-width:124px}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$5.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
5285
5285
  }
5286
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ImagePreviewComponent, decorators: [{
5286
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ImagePreviewComponent, decorators: [{
5287
5287
  type: Component,
5288
- args: [{ selector: 'app-image-preview', imports: [SharedModule], template: "<div class=\"relative overflow-hidden image-wrapper flex flex-col items-center justify-center\" [ngStyle]=\"dimensionStyles() ? dimensionStyles() : {'opacity': '0'}\">\n <mat-icon class=\"absolute top-4 right-4 hover:cursor-pointer text-mat-sys-on-error-container\" matDialogClose>close</mat-icon>\n @if (!isHtml(data.image)) {\n <img #imageElement [attr.src]=\"data.image\" alt=\"ImagePreview\"/>\n } @else {\n <div #svgElement class=\"p-4\" [innerHTML]=\"data.image\"></div>\n }\n</div>\n", styles: [".image-wrapper{min-height:124px;min-width:124px}\n"] }]
5288
+ args: [{ selector: 'app-image-preview', imports: [SharedModule], template: "<div class=\"relative overflow-hidden image-wrapper flex flex-col items-center justify-center\" [ngStyle]=\"dimensionStyles() ? dimensionStyles() : {'opacity': '0'}\">\r\n <mat-icon class=\"absolute top-4 right-4 hover:cursor-pointer text-mat-sys-on-error-container\" matDialogClose>close</mat-icon>\r\n @if (!isHtml(data.image)) {\r\n <img #imageElement [attr.src]=\"data.image\" alt=\"ImagePreview\"/>\r\n } @else {\r\n <div #svgElement class=\"p-4\" [innerHTML]=\"data.image\"></div>\r\n }\r\n</div>\r\n", styles: [".image-wrapper{min-height:124px;min-width:124px}\n"] }]
5289
5289
  }], ctorParameters: () => [{ type: undefined, decorators: [{
5290
5290
  type: Inject,
5291
5291
  args: [MAT_DIALOG_DATA]
@@ -5300,14 +5300,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
5300
5300
  class ImageDisplayComponent {
5301
5301
  sanitizer = inject(DomSanitizer);
5302
5302
  dialog = inject(MatDialog);
5303
- value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
5303
+ value = input.required(...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
5304
5304
  imageUrl = computed(() => {
5305
5305
  const value = this.value();
5306
5306
  if (!value) {
5307
5307
  return of(null);
5308
5308
  }
5309
5309
  return this.sanitizer.bypassSecurityTrustUrl(value);
5310
- }, ...(ngDevMode ? [{ debugName: "imageUrl" }] : []));
5310
+ }, ...(ngDevMode ? [{ debugName: "imageUrl" }] : /* istanbul ignore next */ []));
5311
5311
  isHtml(image) {
5312
5312
  // Constructor name is different when built for production, have to check property
5313
5313
  return image !== null && (image['changingThisBreaksApplicationSecurity']?.startsWith('<?xml') || image['changingThisBreaksApplicationSecurity']?.startsWith('<svg'));
@@ -5319,29 +5319,29 @@ class ImageDisplayComponent {
5319
5319
  },
5320
5320
  });
5321
5321
  }
5322
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ImageDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5323
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: ImageDisplayComponent, isStandalone: true, selector: "app-image-display", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@if (imageUrl(); as image) {\n @if (isHtml(image)) {\n <div (click)=\"openImage(image)\" [innerHTML]=\"image\" class=\"max-h-full h-full w-full object-contain block mt-1 hover:cursor-pointer\"></div>\n } @else {\n <img (click)=\"openImage(image)\" [attr.src]=\"image\" class=\"max-h-full h-full w-full object-contain block mt-1 hover:cursor-pointer\" alt=\"\"/>\n }\n}\n", styles: [""] });
5322
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ImageDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5323
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: ImageDisplayComponent, isStandalone: true, selector: "app-image-display", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@if (imageUrl(); as image) {\r\n @if (isHtml(image)) {\r\n <div (click)=\"openImage(image)\" [innerHTML]=\"image\" class=\"max-h-full h-full w-full object-contain block mt-1 hover:cursor-pointer\"></div>\r\n } @else {\r\n <img (click)=\"openImage(image)\" [attr.src]=\"image\" class=\"max-h-full h-full w-full object-contain block mt-1 hover:cursor-pointer\" alt=\"\"/>\r\n }\r\n}\r\n", styles: [""] });
5324
5324
  }
5325
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ImageDisplayComponent, decorators: [{
5325
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ImageDisplayComponent, decorators: [{
5326
5326
  type: Component,
5327
- args: [{ selector: 'app-image-display', imports: [], template: "@if (imageUrl(); as image) {\n @if (isHtml(image)) {\n <div (click)=\"openImage(image)\" [innerHTML]=\"image\" class=\"max-h-full h-full w-full object-contain block mt-1 hover:cursor-pointer\"></div>\n } @else {\n <img (click)=\"openImage(image)\" [attr.src]=\"image\" class=\"max-h-full h-full w-full object-contain block mt-1 hover:cursor-pointer\" alt=\"\"/>\n }\n}\n" }]
5327
+ args: [{ selector: 'app-image-display', imports: [], template: "@if (imageUrl(); as image) {\r\n @if (isHtml(image)) {\r\n <div (click)=\"openImage(image)\" [innerHTML]=\"image\" class=\"max-h-full h-full w-full object-contain block mt-1 hover:cursor-pointer\"></div>\r\n } @else {\r\n <img (click)=\"openImage(image)\" [attr.src]=\"image\" class=\"max-h-full h-full w-full object-contain block mt-1 hover:cursor-pointer\" alt=\"\"/>\r\n }\r\n}\r\n" }]
5328
5328
  }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }] } });
5329
5329
 
5330
5330
  class LabeledValueComponent {
5331
- name = input.required(...(ngDevMode ? [{ debugName: "name" }] : []));
5332
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LabeledValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5333
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: LabeledValueComponent, isStandalone: true, selector: "app-labeled-value", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex flex-row gap-x-2 items-center\">\n <div class=\"font-bold\">{{ name() | translate }}:</div>\n <div class=\"flex flex-row items-center gap-x-2\">\n <ng-content/>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
5331
+ name = input.required(...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
5332
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: LabeledValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5333
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.13", type: LabeledValueComponent, isStandalone: true, selector: "app-labeled-value", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex flex-row gap-x-2 items-center\">\r\n <div class=\"font-bold\">{{ name() | translate }}:</div>\r\n <div class=\"flex flex-row items-center gap-x-2\">\r\n <ng-content/>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
5334
5334
  }
5335
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LabeledValueComponent, decorators: [{
5335
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: LabeledValueComponent, decorators: [{
5336
5336
  type: Component,
5337
- args: [{ selector: 'app-labeled-value', imports: [TranslateModule], template: "<div class=\"flex flex-row gap-x-2 items-center\">\n <div class=\"font-bold\">{{ name() | translate }}:</div>\n <div class=\"flex flex-row items-center gap-x-2\">\n <ng-content/>\n </div>\n</div>\n" }]
5337
+ args: [{ selector: 'app-labeled-value', imports: [TranslateModule], template: "<div class=\"flex flex-row gap-x-2 items-center\">\r\n <div class=\"font-bold\">{{ name() | translate }}:</div>\r\n <div class=\"flex flex-row items-center gap-x-2\">\r\n <ng-content/>\r\n </div>\r\n</div>\r\n" }]
5338
5338
  }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: true }] }] } });
5339
5339
 
5340
5340
  class LoadedIconComponent {
5341
5341
  sanitizer;
5342
- iconRequest = input.required(...(ngDevMode ? [{ debugName: "iconRequest" }] : []));
5343
- defaultIcon = input.required(...(ngDevMode ? [{ debugName: "defaultIcon" }] : []));
5344
- size = input.required(...(ngDevMode ? [{ debugName: "size" }] : []));
5342
+ iconRequest = input.required(...(ngDevMode ? [{ debugName: "iconRequest" }] : /* istanbul ignore next */ []));
5343
+ defaultIcon = input.required(...(ngDevMode ? [{ debugName: "defaultIcon" }] : /* istanbul ignore next */ []));
5344
+ size = input.required(...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
5345
5345
  icon = computed(() => {
5346
5346
  return this.iconRequest().pipe(switchMap(response => {
5347
5347
  if (!response) {
@@ -5359,7 +5359,7 @@ class LoadedIconComponent {
5359
5359
  }), catchError(() => {
5360
5360
  return of(null);
5361
5361
  }));
5362
- }, ...(ngDevMode ? [{ debugName: "icon" }] : []));
5362
+ }, ...(ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []));
5363
5363
  isSvgIcon() {
5364
5364
  const defaultIcon = this.defaultIcon();
5365
5365
  return typeof defaultIcon !== 'string' && Object.hasOwn(defaultIcon, 'id') ? defaultIcon : null;
@@ -5367,16 +5367,16 @@ class LoadedIconComponent {
5367
5367
  constructor(sanitizer) {
5368
5368
  this.sanitizer = sanitizer;
5369
5369
  }
5370
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LoadedIconComponent, deps: [{ token: i1$6.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
5371
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: LoadedIconComponent, isStandalone: true, selector: "app-loaded-icon", inputs: { iconRequest: { classPropertyName: "iconRequest", publicName: "iconRequest", isSignal: true, isRequired: true, transformFunction: null }, defaultIcon: { classPropertyName: "defaultIcon", publicName: "defaultIcon", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div [style.height.px]=\"size()\" [style.width.px]=\"size()\">\n @if (icon() | async; as icon) {\n <div [innerHTML]=\"icon\"></div>\n } @else {\n @if (isSvgIcon(); as icon) {\n <mat-icon [svgIcon]=\"icon.id\"></mat-icon>\n } @else {\n <mat-icon>{{ defaultIcon() }}</mat-icon>\n }\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
5370
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: LoadedIconComponent, deps: [{ token: i1$6.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
5371
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: LoadedIconComponent, isStandalone: true, selector: "app-loaded-icon", inputs: { iconRequest: { classPropertyName: "iconRequest", publicName: "iconRequest", isSignal: true, isRequired: true, transformFunction: null }, defaultIcon: { classPropertyName: "defaultIcon", publicName: "defaultIcon", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div [style.height.px]=\"size()\" [style.width.px]=\"size()\">\r\n @if (icon() | async; as icon) {\r\n <div [innerHTML]=\"icon\"></div>\r\n } @else {\r\n @if (isSvgIcon(); as icon) {\r\n <mat-icon [svgIcon]=\"icon.id\"></mat-icon>\r\n } @else {\r\n <mat-icon>{{ defaultIcon() }}</mat-icon>\r\n }\r\n }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
5372
5372
  }
5373
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LoadedIconComponent, decorators: [{
5373
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: LoadedIconComponent, decorators: [{
5374
5374
  type: Component,
5375
- args: [{ selector: 'app-loaded-icon', imports: [SharedModule], template: "<div [style.height.px]=\"size()\" [style.width.px]=\"size()\">\n @if (icon() | async; as icon) {\n <div [innerHTML]=\"icon\"></div>\n } @else {\n @if (isSvgIcon(); as icon) {\n <mat-icon [svgIcon]=\"icon.id\"></mat-icon>\n } @else {\n <mat-icon>{{ defaultIcon() }}</mat-icon>\n }\n }\n</div>\n" }]
5375
+ args: [{ selector: 'app-loaded-icon', imports: [SharedModule], template: "<div [style.height.px]=\"size()\" [style.width.px]=\"size()\">\r\n @if (icon() | async; as icon) {\r\n <div [innerHTML]=\"icon\"></div>\r\n } @else {\r\n @if (isSvgIcon(); as icon) {\r\n <mat-icon [svgIcon]=\"icon.id\"></mat-icon>\r\n } @else {\r\n <mat-icon>{{ defaultIcon() }}</mat-icon>\r\n }\r\n }\r\n</div>\r\n" }]
5376
5376
  }], ctorParameters: () => [{ type: i1$6.DomSanitizer }], propDecorators: { iconRequest: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconRequest", required: true }] }], defaultIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultIcon", required: true }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: true }] }] } });
5377
5377
 
5378
5378
  class IconComponent {
5379
- icon = input.required(...(ngDevMode ? [{ debugName: "icon" }] : []));
5379
+ icon = input.required(...(ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []));
5380
5380
  isAsyncIcon() {
5381
5381
  const icon = this.icon();
5382
5382
  return !!icon && typeof icon === 'object' && !Object.hasOwn(icon, 'id') ? icon : null;
@@ -5385,29 +5385,29 @@ class IconComponent {
5385
5385
  const icon = this.icon();
5386
5386
  return !!icon && typeof icon === 'object' && Object.hasOwn(icon, 'id') ? icon : null;
5387
5387
  }
5388
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5389
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: IconComponent, isStandalone: true, selector: "app-icon", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"shrink-0 h-6\">\n @if (isAsyncIcon(); as loadedIcon) {\n <app-loaded-icon [iconRequest]=\"loadedIcon.data\" [defaultIcon]=\"loadedIcon.defaultIcon\" [size]=\"24\"/>\n }\n @if (isSvgIcon(); as svgIcon) {\n <mat-icon [svgIcon]=\"svgIcon.id\"></mat-icon>\n }\n @if (typeof icon() === 'string') {\n <mat-icon>{{ icon() }}</mat-icon>\n }\n @if (typeof icon() === 'number') {\n <span class=\"flex items-center justify-center shrink-0 min-w-5 h-5 px-1.5 rounded-full text-[11px] bg-mat-sys-primary text-mat-sys-on-primary\">{{ icon() }}</span>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: LoadedIconComponent, selector: "app-loaded-icon", inputs: ["iconRequest", "defaultIcon", "size"] }] });
5388
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5389
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: IconComponent, isStandalone: true, selector: "app-icon", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"shrink-0 h-6\">\r\n @if (isAsyncIcon(); as loadedIcon) {\r\n <app-loaded-icon [iconRequest]=\"loadedIcon.data\" [defaultIcon]=\"loadedIcon.defaultIcon\" [size]=\"24\"/>\r\n }\r\n @if (isSvgIcon(); as svgIcon) {\r\n <mat-icon [svgIcon]=\"svgIcon.id\"></mat-icon>\r\n }\r\n @if (typeof icon() === 'string') {\r\n <mat-icon>{{ icon() }}</mat-icon>\r\n }\r\n @if (typeof icon() === 'number') {\r\n <span class=\"flex items-center justify-center shrink-0 min-w-5 h-5 px-1.5 rounded-full text-[11px] bg-mat-sys-primary text-mat-sys-on-primary\">{{ icon() }}</span>\r\n }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: LoadedIconComponent, selector: "app-loaded-icon", inputs: ["iconRequest", "defaultIcon", "size"] }] });
5390
5390
  }
5391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: IconComponent, decorators: [{
5391
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: IconComponent, decorators: [{
5392
5392
  type: Component,
5393
5393
  args: [{ selector: 'app-icon', imports: [
5394
5394
  SharedModule, LoadedIconComponent, MatIcon
5395
- ], template: "<div class=\"shrink-0 h-6\">\n @if (isAsyncIcon(); as loadedIcon) {\n <app-loaded-icon [iconRequest]=\"loadedIcon.data\" [defaultIcon]=\"loadedIcon.defaultIcon\" [size]=\"24\"/>\n }\n @if (isSvgIcon(); as svgIcon) {\n <mat-icon [svgIcon]=\"svgIcon.id\"></mat-icon>\n }\n @if (typeof icon() === 'string') {\n <mat-icon>{{ icon() }}</mat-icon>\n }\n @if (typeof icon() === 'number') {\n <span class=\"flex items-center justify-center shrink-0 min-w-5 h-5 px-1.5 rounded-full text-[11px] bg-mat-sys-primary text-mat-sys-on-primary\">{{ icon() }}</span>\n }\n</div>\n" }]
5395
+ ], template: "<div class=\"shrink-0 h-6\">\r\n @if (isAsyncIcon(); as loadedIcon) {\r\n <app-loaded-icon [iconRequest]=\"loadedIcon.data\" [defaultIcon]=\"loadedIcon.defaultIcon\" [size]=\"24\"/>\r\n }\r\n @if (isSvgIcon(); as svgIcon) {\r\n <mat-icon [svgIcon]=\"svgIcon.id\"></mat-icon>\r\n }\r\n @if (typeof icon() === 'string') {\r\n <mat-icon>{{ icon() }}</mat-icon>\r\n }\r\n @if (typeof icon() === 'number') {\r\n <span class=\"flex items-center justify-center shrink-0 min-w-5 h-5 px-1.5 rounded-full text-[11px] bg-mat-sys-primary text-mat-sys-on-primary\">{{ icon() }}</span>\r\n }\r\n</div>\r\n" }]
5396
5396
  }], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: true }] }] } });
5397
5397
 
5398
5398
  class LocalSortTableComponent {
5399
5399
  tenantPropertiesService;
5400
5400
  translateService;
5401
- columns = input.required(...(ngDevMode ? [{ debugName: "columns" }] : []));
5402
- data = input.required(...(ngDevMode ? [{ debugName: "data" }] : []));
5403
- translationPrefix = input('COMMON.', ...(ngDevMode ? [{ debugName: "translationPrefix" }] : []));
5404
- loading = input(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
5405
- noValuesMessage = input('', ...(ngDevMode ? [{ debugName: "noValuesMessage" }] : []));
5401
+ columns = input.required(...(ngDevMode ? [{ debugName: "columns" }] : /* istanbul ignore next */ []));
5402
+ data = input.required(...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
5403
+ translationPrefix = input('COMMON.', ...(ngDevMode ? [{ debugName: "translationPrefix" }] : /* istanbul ignore next */ []));
5404
+ loading = input(false, ...(ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []));
5405
+ noValuesMessage = input('', ...(ngDevMode ? [{ debugName: "noValuesMessage" }] : /* istanbul ignore next */ []));
5406
5406
  itemSelected = output();
5407
5407
  sortDirection = 'asc';
5408
5408
  sortField;
5409
- displayData = signal(null, ...(ngDevMode ? [{ debugName: "displayData" }] : []));
5410
- sorting = signal(false, ...(ngDevMode ? [{ debugName: "sorting" }] : []));
5409
+ displayData = signal(null, ...(ngDevMode ? [{ debugName: "displayData" }] : /* istanbul ignore next */ []));
5410
+ sorting = signal(false, ...(ngDevMode ? [{ debugName: "sorting" }] : /* istanbul ignore next */ []));
5411
5411
  constructor(tenantPropertiesService, translateService) {
5412
5412
  this.tenantPropertiesService = tenantPropertiesService;
5413
5413
  this.translateService = translateService;
@@ -5451,10 +5451,10 @@ class LocalSortTableComponent {
5451
5451
  this.sorting.set(false);
5452
5452
  }
5453
5453
  }
5454
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LocalSortTableComponent, deps: [{ token: TenantPropertiesService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
5455
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: LocalSortTableComponent, isStandalone: true, selector: "app-local-sort-table", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: true, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, translationPrefix: { classPropertyName: "translationPrefix", publicName: "translationPrefix", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, noValuesMessage: { classPropertyName: "noValuesMessage", publicName: "noValuesMessage", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemSelected: "itemSelected" }, ngImport: i0, template: "<table>\n <thead>\n <tr>\n @for (column of columns(); track column.name) {\n <th class=\"!font-medium truncate\" [ngClass]=\"{'sort-field': column.shouldSort, 'cursor-pointer': column.shouldSort}\" (click)=\"column.shouldSort ? sort(column.name) : undefined\">\n <div class=\"flex flex-row items-center gap-x-2\">\n {{ (translationPrefix().toUpperCase() +column.name.toUpperCase()) | translate }}\n @if (column.shouldSort) {\n <mat-icon>{{ sortDirection === 'asc' ? 'arrow_upward' : 'arrow_downward' }}</mat-icon>\n }\n </div>\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @if (loading()) {\n <div class=\"w-full h-full flex flex-col justify-center items-center\">\n <mat-spinner diameter=\"30\"></mat-spinner>\n </div>\n } @else {\n @if (displayData(); as displayData){\n @if (!noValuesMessage()) {\n @if (!sorting()) {\n <cdk-virtual-scroll-viewport [itemSize]=\"56\" class=\"viewport\">\n <tr *cdkVirtualFor=\"let element of displayData\" (click)=\"itemSelected.emit(element)\">\n @for (column of columns(); track column.name) {\n <td class=\"cursor-pointer truncate\">\n <span [matTooltip]=\"column.shouldTranslateValue ? ((translationPrefix() + element[column.name]) | translate) : element[column.name]\">\n {{ column.shouldTranslateValue ? ((translationPrefix() + element[column.name]) | translate) : element[column.name] }}\n </span>\n }\n </tr>\n </cdk-virtual-scroll-viewport>\n }\n } @else {\n <div class=\"w-full h-full flex flex-col justify-center items-center\">\n <span>{{ noValuesMessage() | translate }}</span>\n </div>\n }\n }\n }\n </tbody>\n</table>\n", styles: [":host{display:block;overflow:hidden;height:100%;width:100%}table{height:100%;width:100%;display:block}table thead{height:56px}table tbody{display:block;height:calc(100% - 56px);width:100%;overflow:hidden}table tbody tr:hover{background-color:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container)}table th,table td{padding-left:1rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--mat-sys-outline-variant)}tr{height:56px;display:table;table-layout:fixed;width:100%}.viewport{display:block;width:100%;height:100%;overflow:auto}.sort-field mat-icon{font-size:18px;line-height:18px;height:18px;width:18px;opacity:0;transition:all ease-in .2s}.sort-field:hover mat-icon{opacity:1}\n"], dependencies: [{ kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
5454
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: LocalSortTableComponent, deps: [{ token: TenantPropertiesService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
5455
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: LocalSortTableComponent, isStandalone: true, selector: "app-local-sort-table", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: true, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, translationPrefix: { classPropertyName: "translationPrefix", publicName: "translationPrefix", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, noValuesMessage: { classPropertyName: "noValuesMessage", publicName: "noValuesMessage", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemSelected: "itemSelected" }, ngImport: i0, template: "<table>\r\n <thead>\r\n <tr>\r\n @for (column of columns(); track column.name) {\r\n <th class=\"!font-medium truncate\" [ngClass]=\"{'sort-field': column.shouldSort, 'cursor-pointer': column.shouldSort}\" (click)=\"column.shouldSort ? sort(column.name) : undefined\">\r\n <div class=\"flex flex-row items-center gap-x-2\">\r\n {{ (translationPrefix().toUpperCase() +column.name.toUpperCase()) | translate }}\r\n @if (column.shouldSort) {\r\n <mat-icon>{{ sortDirection === 'asc' ? 'arrow_upward' : 'arrow_downward' }}</mat-icon>\r\n }\r\n </div>\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @if (loading()) {\r\n <div class=\"w-full h-full flex flex-col justify-center items-center\">\r\n <mat-spinner diameter=\"30\"></mat-spinner>\r\n </div>\r\n } @else {\r\n @if (displayData(); as displayData){\r\n @if (!noValuesMessage()) {\r\n @if (!sorting()) {\r\n <cdk-virtual-scroll-viewport [itemSize]=\"56\" class=\"viewport\">\r\n <tr *cdkVirtualFor=\"let element of displayData\" (click)=\"itemSelected.emit(element)\">\r\n @for (column of columns(); track column.name) {\r\n <td class=\"cursor-pointer truncate\">\r\n <span [matTooltip]=\"column.shouldTranslateValue ? ((translationPrefix() + element[column.name]) | translate) : element[column.name]\">\r\n {{ column.shouldTranslateValue ? ((translationPrefix() + element[column.name]) | translate) : element[column.name] }}\r\n </span>\r\n }\r\n </tr>\r\n </cdk-virtual-scroll-viewport>\r\n }\r\n } @else {\r\n <div class=\"w-full h-full flex flex-col justify-center items-center\">\r\n <span>{{ noValuesMessage() | translate }}</span>\r\n </div>\r\n }\r\n }\r\n }\r\n </tbody>\r\n</table>\r\n", styles: [":host{display:block;overflow:hidden;height:100%;width:100%}table{height:100%;width:100%;display:block}table thead{height:56px}table tbody{display:block;height:calc(100% - 56px);width:100%;overflow:hidden}table tbody tr:hover{background-color:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container)}table th,table td{padding-left:1rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--mat-sys-outline-variant)}tr{height:56px;display:table;table-layout:fixed;width:100%}.viewport{display:block;width:100%;height:100%;overflow:auto}.sort-field mat-icon{font-size:18px;line-height:18px;height:18px;width:18px;opacity:0;transition:all ease-in .2s}.sort-field:hover mat-icon{opacity:1}\n"], dependencies: [{ kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
5456
5456
  }
5457
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LocalSortTableComponent, decorators: [{
5457
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: LocalSortTableComponent, decorators: [{
5458
5458
  type: Component,
5459
5459
  args: [{ selector: 'app-local-sort-table', imports: [
5460
5460
  CdkFixedSizeVirtualScroll,
@@ -5462,11 +5462,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
5462
5462
  CdkVirtualScrollViewport,
5463
5463
  SharedModule,
5464
5464
  TranslatePipe
5465
- ], template: "<table>\n <thead>\n <tr>\n @for (column of columns(); track column.name) {\n <th class=\"!font-medium truncate\" [ngClass]=\"{'sort-field': column.shouldSort, 'cursor-pointer': column.shouldSort}\" (click)=\"column.shouldSort ? sort(column.name) : undefined\">\n <div class=\"flex flex-row items-center gap-x-2\">\n {{ (translationPrefix().toUpperCase() +column.name.toUpperCase()) | translate }}\n @if (column.shouldSort) {\n <mat-icon>{{ sortDirection === 'asc' ? 'arrow_upward' : 'arrow_downward' }}</mat-icon>\n }\n </div>\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @if (loading()) {\n <div class=\"w-full h-full flex flex-col justify-center items-center\">\n <mat-spinner diameter=\"30\"></mat-spinner>\n </div>\n } @else {\n @if (displayData(); as displayData){\n @if (!noValuesMessage()) {\n @if (!sorting()) {\n <cdk-virtual-scroll-viewport [itemSize]=\"56\" class=\"viewport\">\n <tr *cdkVirtualFor=\"let element of displayData\" (click)=\"itemSelected.emit(element)\">\n @for (column of columns(); track column.name) {\n <td class=\"cursor-pointer truncate\">\n <span [matTooltip]=\"column.shouldTranslateValue ? ((translationPrefix() + element[column.name]) | translate) : element[column.name]\">\n {{ column.shouldTranslateValue ? ((translationPrefix() + element[column.name]) | translate) : element[column.name] }}\n </span>\n }\n </tr>\n </cdk-virtual-scroll-viewport>\n }\n } @else {\n <div class=\"w-full h-full flex flex-col justify-center items-center\">\n <span>{{ noValuesMessage() | translate }}</span>\n </div>\n }\n }\n }\n </tbody>\n</table>\n", styles: [":host{display:block;overflow:hidden;height:100%;width:100%}table{height:100%;width:100%;display:block}table thead{height:56px}table tbody{display:block;height:calc(100% - 56px);width:100%;overflow:hidden}table tbody tr:hover{background-color:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container)}table th,table td{padding-left:1rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--mat-sys-outline-variant)}tr{height:56px;display:table;table-layout:fixed;width:100%}.viewport{display:block;width:100%;height:100%;overflow:auto}.sort-field mat-icon{font-size:18px;line-height:18px;height:18px;width:18px;opacity:0;transition:all ease-in .2s}.sort-field:hover mat-icon{opacity:1}\n"] }]
5465
+ ], template: "<table>\r\n <thead>\r\n <tr>\r\n @for (column of columns(); track column.name) {\r\n <th class=\"!font-medium truncate\" [ngClass]=\"{'sort-field': column.shouldSort, 'cursor-pointer': column.shouldSort}\" (click)=\"column.shouldSort ? sort(column.name) : undefined\">\r\n <div class=\"flex flex-row items-center gap-x-2\">\r\n {{ (translationPrefix().toUpperCase() +column.name.toUpperCase()) | translate }}\r\n @if (column.shouldSort) {\r\n <mat-icon>{{ sortDirection === 'asc' ? 'arrow_upward' : 'arrow_downward' }}</mat-icon>\r\n }\r\n </div>\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @if (loading()) {\r\n <div class=\"w-full h-full flex flex-col justify-center items-center\">\r\n <mat-spinner diameter=\"30\"></mat-spinner>\r\n </div>\r\n } @else {\r\n @if (displayData(); as displayData){\r\n @if (!noValuesMessage()) {\r\n @if (!sorting()) {\r\n <cdk-virtual-scroll-viewport [itemSize]=\"56\" class=\"viewport\">\r\n <tr *cdkVirtualFor=\"let element of displayData\" (click)=\"itemSelected.emit(element)\">\r\n @for (column of columns(); track column.name) {\r\n <td class=\"cursor-pointer truncate\">\r\n <span [matTooltip]=\"column.shouldTranslateValue ? ((translationPrefix() + element[column.name]) | translate) : element[column.name]\">\r\n {{ column.shouldTranslateValue ? ((translationPrefix() + element[column.name]) | translate) : element[column.name] }}\r\n </span>\r\n }\r\n </tr>\r\n </cdk-virtual-scroll-viewport>\r\n }\r\n } @else {\r\n <div class=\"w-full h-full flex flex-col justify-center items-center\">\r\n <span>{{ noValuesMessage() | translate }}</span>\r\n </div>\r\n }\r\n }\r\n }\r\n </tbody>\r\n</table>\r\n", styles: [":host{display:block;overflow:hidden;height:100%;width:100%}table{height:100%;width:100%;display:block}table thead{height:56px}table tbody{display:block;height:calc(100% - 56px);width:100%;overflow:hidden}table tbody tr:hover{background-color:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container)}table th,table td{padding-left:1rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--mat-sys-outline-variant)}tr{height:56px;display:table;table-layout:fixed;width:100%}.viewport{display:block;width:100%;height:100%;overflow:auto}.sort-field mat-icon{font-size:18px;line-height:18px;height:18px;width:18px;opacity:0;transition:all ease-in .2s}.sort-field:hover mat-icon{opacity:1}\n"] }]
5466
5466
  }], ctorParameters: () => [{ type: TenantPropertiesService }, { type: i1$1.TranslateService }], propDecorators: { columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: true }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }], translationPrefix: [{ type: i0.Input, args: [{ isSignal: true, alias: "translationPrefix", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], noValuesMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "noValuesMessage", required: false }] }], itemSelected: [{ type: i0.Output, args: ["itemSelected"] }] } });
5467
5467
 
5468
5468
  class MasterDetailsViewComponent {
5469
- displayRatio = input('wide', ...(ngDevMode ? [{ debugName: "displayRatio" }] : []));
5469
+ displayRatio = input('wide', ...(ngDevMode ? [{ debugName: "displayRatio" }] : /* istanbul ignore next */ []));
5470
5470
  width = computed(() => {
5471
5471
  switch (this.displayRatio()) {
5472
5472
  case 'full':
@@ -5482,13 +5482,13 @@ class MasterDetailsViewComponent {
5482
5482
  default:
5483
5483
  throw Error('Too deep!');
5484
5484
  }
5485
- }, ...(ngDevMode ? [{ debugName: "width" }] : []));
5486
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: MasterDetailsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5487
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: MasterDetailsViewComponent, isStandalone: true, selector: "app-master-details-view", inputs: { displayRatio: { classPropertyName: "displayRatio", publicName: "displayRatio", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex h-full w-full min-w-full min-h-full pt-2 overflow-hidden bg-base-color-50\">\n <div class=\"pr-4 flex shrink-0 grow-0\" [style.width]=\"width()\" [style.max-width]=\"width()\">\n <ng-content select=\"[app-master]\"/>\n </div>\n <mat-divider [vertical]=\"true\"/>\n <div class=\"pl-4 flex shrink grow overflow-hidden\">\n <ng-content select=\"[app-details]\"/>\n </div>\n</div>\n", styles: [":host{display:block;width:100%;height:100%;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i1$7.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }] });
5485
+ }, ...(ngDevMode ? [{ debugName: "width" }] : /* istanbul ignore next */ []));
5486
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: MasterDetailsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5487
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.13", type: MasterDetailsViewComponent, isStandalone: true, selector: "app-master-details-view", inputs: { displayRatio: { classPropertyName: "displayRatio", publicName: "displayRatio", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex h-full w-full min-w-full min-h-full pt-2 overflow-hidden bg-base-color-50\">\r\n <div class=\"pr-4 flex shrink-0 grow-0\" [style.width]=\"width()\" [style.max-width]=\"width()\">\r\n <ng-content select=\"[app-master]\"/>\r\n </div>\r\n <mat-divider [vertical]=\"true\"/>\r\n <div class=\"pl-4 flex shrink grow overflow-hidden\">\r\n <ng-content select=\"[app-details]\"/>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block;width:100%;height:100%;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i1$7.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }] });
5488
5488
  }
5489
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: MasterDetailsViewComponent, decorators: [{
5489
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: MasterDetailsViewComponent, decorators: [{
5490
5490
  type: Component,
5491
- args: [{ selector: 'app-master-details-view', imports: [SharedModule], template: "<div class=\"flex h-full w-full min-w-full min-h-full pt-2 overflow-hidden bg-base-color-50\">\n <div class=\"pr-4 flex shrink-0 grow-0\" [style.width]=\"width()\" [style.max-width]=\"width()\">\n <ng-content select=\"[app-master]\"/>\n </div>\n <mat-divider [vertical]=\"true\"/>\n <div class=\"pl-4 flex shrink grow overflow-hidden\">\n <ng-content select=\"[app-details]\"/>\n </div>\n</div>\n", styles: [":host{display:block;width:100%;height:100%;overflow:hidden}\n"] }]
5491
+ args: [{ selector: 'app-master-details-view', imports: [SharedModule], template: "<div class=\"flex h-full w-full min-w-full min-h-full pt-2 overflow-hidden bg-base-color-50\">\r\n <div class=\"pr-4 flex shrink-0 grow-0\" [style.width]=\"width()\" [style.max-width]=\"width()\">\r\n <ng-content select=\"[app-master]\"/>\r\n </div>\r\n <mat-divider [vertical]=\"true\"/>\r\n <div class=\"pl-4 flex shrink grow overflow-hidden\">\r\n <ng-content select=\"[app-details]\"/>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block;width:100%;height:100%;overflow:hidden}\n"] }]
5492
5492
  }], propDecorators: { displayRatio: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayRatio", required: false }] }] } });
5493
5493
 
5494
5494
  class NestedListViewComponent {
@@ -5519,17 +5519,17 @@ class NestedListViewComponent {
5519
5519
  this.itemsSelected.emit([]);
5520
5520
  }
5521
5521
  }
5522
- dataSource = input.required(...(ngDevMode ? [{ debugName: "dataSource" }] : []));
5523
- dataControl = input.required(...(ngDevMode ? [{ debugName: "dataControl" }] : []));
5524
- width = input('quarter', ...(ngDevMode ? [{ debugName: "width" }] : []));
5525
- disableThresholdId = input(null, ...(ngDevMode ? [{ debugName: "disableThresholdId" }] : []));
5526
- isColoredInput = input(false, ...(ngDevMode ? [{ debugName: "isColoredInput" }] : []));
5527
- searchActions = input([], ...(ngDevMode ? [{ debugName: "searchActions" }] : []));
5528
- defaultSearchAction = computed(() => this.searchActions().find((action) => !!action.defaultAction), ...(ngDevMode ? [{ debugName: "defaultSearchAction" }] : []));
5529
- otherSearchActions = computed(() => this.searchActions().filter((action) => !action.defaultAction), ...(ngDevMode ? [{ debugName: "otherSearchActions" }] : []));
5530
- enableMultiSelect = input(false, ...(ngDevMode ? [{ debugName: "enableMultiSelect" }] : []));
5531
- ctrlPressed = signal(false, ...(ngDevMode ? [{ debugName: "ctrlPressed" }] : []));
5532
- shiftPressed = signal(false, ...(ngDevMode ? [{ debugName: "shiftPressed" }] : []));
5522
+ dataSource = input.required(...(ngDevMode ? [{ debugName: "dataSource" }] : /* istanbul ignore next */ []));
5523
+ dataControl = input.required(...(ngDevMode ? [{ debugName: "dataControl" }] : /* istanbul ignore next */ []));
5524
+ width = input('quarter', ...(ngDevMode ? [{ debugName: "width" }] : /* istanbul ignore next */ []));
5525
+ disableThresholdId = input(null, ...(ngDevMode ? [{ debugName: "disableThresholdId" }] : /* istanbul ignore next */ []));
5526
+ isColoredInput = input(false, ...(ngDevMode ? [{ debugName: "isColoredInput" }] : /* istanbul ignore next */ []));
5527
+ searchActions = input([], ...(ngDevMode ? [{ debugName: "searchActions" }] : /* istanbul ignore next */ []));
5528
+ defaultSearchAction = computed(() => this.searchActions().find((action) => !!action.defaultAction), ...(ngDevMode ? [{ debugName: "defaultSearchAction" }] : /* istanbul ignore next */ []));
5529
+ otherSearchActions = computed(() => this.searchActions().filter((action) => !action.defaultAction), ...(ngDevMode ? [{ debugName: "otherSearchActions" }] : /* istanbul ignore next */ []));
5530
+ enableMultiSelect = input(false, ...(ngDevMode ? [{ debugName: "enableMultiSelect" }] : /* istanbul ignore next */ []));
5531
+ ctrlPressed = signal(false, ...(ngDevMode ? [{ debugName: "ctrlPressed" }] : /* istanbul ignore next */ []));
5532
+ shiftPressed = signal(false, ...(ngDevMode ? [{ debugName: "shiftPressed" }] : /* istanbul ignore next */ []));
5533
5533
  widthClass = computed(() => {
5534
5534
  switch (this.width()) {
5535
5535
  case 'full':
@@ -5541,37 +5541,37 @@ class NestedListViewComponent {
5541
5541
  case 'half':
5542
5542
  return 'w-1/2';
5543
5543
  }
5544
- }, ...(ngDevMode ? [{ debugName: "widthClass" }] : []));
5545
- selectionConfirmationAction = input(() => of(true), ...(ngDevMode ? [{ debugName: "selectionConfirmationAction" }] : []));
5546
- loadingBreadcrumbs = signal(true, ...(ngDevMode ? [{ debugName: "loadingBreadcrumbs" }] : []));
5547
- loadingChildren = signal(true, ...(ngDevMode ? [{ debugName: "loadingChildren" }] : []));
5548
- selectedItem = signal(null, ...(ngDevMode ? [{ debugName: "selectedItem" }] : []));
5549
- selectedItems = signal([], ...(ngDevMode ? [{ debugName: "selectedItems" }] : []));
5550
- hideSearch = input(false, ...(ngDevMode ? [{ debugName: "hideSearch" }] : []));
5544
+ }, ...(ngDevMode ? [{ debugName: "widthClass" }] : /* istanbul ignore next */ []));
5545
+ selectionConfirmationAction = input(() => of(true), ...(ngDevMode ? [{ debugName: "selectionConfirmationAction" }] : /* istanbul ignore next */ []));
5546
+ loadingBreadcrumbs = signal(true, ...(ngDevMode ? [{ debugName: "loadingBreadcrumbs" }] : /* istanbul ignore next */ []));
5547
+ loadingChildren = signal(true, ...(ngDevMode ? [{ debugName: "loadingChildren" }] : /* istanbul ignore next */ []));
5548
+ selectedItem = signal(null, ...(ngDevMode ? [{ debugName: "selectedItem" }] : /* istanbul ignore next */ []));
5549
+ selectedItems = signal([], ...(ngDevMode ? [{ debugName: "selectedItems" }] : /* istanbul ignore next */ []));
5550
+ hideSearch = input(false, ...(ngDevMode ? [{ debugName: "hideSearch" }] : /* istanbul ignore next */ []));
5551
5551
  nameSearchControl = new FormControl('');
5552
5552
  searchTerm = toSignal(this.nameSearchControl.valueChanges.pipe(startWith(this.nameSearchControl.getRawValue())));
5553
- breadcrumbs = signal([], ...(ngDevMode ? [{ debugName: "breadcrumbs" }] : []));
5554
- roots = signal([], ...(ngDevMode ? [{ debugName: "roots" }] : []));
5555
- hasMultipleRoots = signal(false, ...(ngDevMode ? [{ debugName: "hasMultipleRoots" }] : []));
5556
- rootButtonText = input('COMMON.BACK_TO_ROOTS_BUTTON_TEXT', ...(ngDevMode ? [{ debugName: "rootButtonText" }] : []));
5557
- enableDrag = input(false, ...(ngDevMode ? [{ debugName: "enableDrag" }] : []));
5558
- isDragging = signal(false, ...(ngDevMode ? [{ debugName: "isDragging" }] : []));
5553
+ breadcrumbs = signal([], ...(ngDevMode ? [{ debugName: "breadcrumbs" }] : /* istanbul ignore next */ []));
5554
+ roots = signal([], ...(ngDevMode ? [{ debugName: "roots" }] : /* istanbul ignore next */ []));
5555
+ hasMultipleRoots = signal(false, ...(ngDevMode ? [{ debugName: "hasMultipleRoots" }] : /* istanbul ignore next */ []));
5556
+ rootButtonText = input('COMMON.BACK_TO_ROOTS_BUTTON_TEXT', ...(ngDevMode ? [{ debugName: "rootButtonText" }] : /* istanbul ignore next */ []));
5557
+ enableDrag = input(false, ...(ngDevMode ? [{ debugName: "enableDrag" }] : /* istanbul ignore next */ []));
5558
+ isDragging = signal(false, ...(ngDevMode ? [{ debugName: "isDragging" }] : /* istanbul ignore next */ []));
5559
5559
  dragging = output();
5560
- children = signal([], ...(ngDevMode ? [{ debugName: "children" }] : []));
5560
+ children = signal([], ...(ngDevMode ? [{ debugName: "children" }] : /* istanbul ignore next */ []));
5561
5561
  filteredChildren = computed(() => {
5562
5562
  const searchTerm = this.searchTerm();
5563
5563
  if (!searchTerm) {
5564
5564
  return this.children();
5565
5565
  }
5566
5566
  return this.children().filter(item => item.name.toLowerCase().includes(searchTerm.toLowerCase()));
5567
- }, ...(ngDevMode ? [{ debugName: "filteredChildren" }] : []));
5567
+ }, ...(ngDevMode ? [{ debugName: "filteredChildren" }] : /* istanbul ignore next */ []));
5568
5568
  allSelectableItems = computed(() => {
5569
5569
  return this.filteredChildren().filter(item => !item.bulkSelectDisabled);
5570
- }, ...(ngDevMode ? [{ debugName: "allSelectableItems" }] : []));
5570
+ }, ...(ngDevMode ? [{ debugName: "allSelectableItems" }] : /* istanbul ignore next */ []));
5571
5571
  itemSelected = output();
5572
5572
  itemsSelected = output();
5573
- countsMap = signal(new Map(), ...(ngDevMode ? [{ debugName: "countsMap" }] : []));
5574
- currentScopes = signal(null, ...(ngDevMode ? [{ debugName: "currentScopes" }] : []));
5573
+ countsMap = signal(new Map(), ...(ngDevMode ? [{ debugName: "countsMap" }] : /* istanbul ignore next */ []));
5574
+ currentScopes = signal(null, ...(ngDevMode ? [{ debugName: "currentScopes" }] : /* istanbul ignore next */ []));
5575
5575
  constructor(destroyRef) {
5576
5576
  this.destroyRef = destroyRef;
5577
5577
  effect(() => {
@@ -5833,12 +5833,12 @@ class NestedListViewComponent {
5833
5833
  this.breadcrumbs.update(items => items.map(item => item.id === guid ? { ...item, rightNumber } : item));
5834
5834
  this.children.update(items => items.map(item => item.id === guid ? { ...item, rightNumber } : item));
5835
5835
  }
5836
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NestedListViewComponent, deps: [{ token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
5837
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: NestedListViewComponent, isStandalone: true, selector: "app-nested-list-view", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: true, transformFunction: null }, dataControl: { classPropertyName: "dataControl", publicName: "dataControl", isSignal: true, isRequired: true, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, disableThresholdId: { classPropertyName: "disableThresholdId", publicName: "disableThresholdId", isSignal: true, isRequired: false, transformFunction: null }, isColoredInput: { classPropertyName: "isColoredInput", publicName: "isColoredInput", isSignal: true, isRequired: false, transformFunction: null }, searchActions: { classPropertyName: "searchActions", publicName: "searchActions", isSignal: true, isRequired: false, transformFunction: null }, enableMultiSelect: { classPropertyName: "enableMultiSelect", publicName: "enableMultiSelect", isSignal: true, isRequired: false, transformFunction: null }, selectionConfirmationAction: { classPropertyName: "selectionConfirmationAction", publicName: "selectionConfirmationAction", isSignal: true, isRequired: false, transformFunction: null }, hideSearch: { classPropertyName: "hideSearch", publicName: "hideSearch", isSignal: true, isRequired: false, transformFunction: null }, rootButtonText: { classPropertyName: "rootButtonText", publicName: "rootButtonText", isSignal: true, isRequired: false, transformFunction: null }, enableDrag: { classPropertyName: "enableDrag", publicName: "enableDrag", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dragging: "dragging", itemSelected: "itemSelected", itemsSelected: "itemsSelected" }, host: { listeners: { "window:keydown": "onKeyDown($event)", "window:keyup": "onKeyUp($event)" } }, ngImport: i0, template: "<div class=\"container flex h-full w-full min-w-full min-h-full relative overflow-hidden\">\n <div [ngClass]=\"widthClass()\" class=\"master flex shrink-0 grow-0 min-w-0\">\n\n <!-- LISTING -->\n <div class=\"w-full h-full flex flex-col gap-y-2 relative\" [ngClass]=\"hideSearch() ? 'pt-2' : 'pt-1'\">\n\n <!-- HEADER -->\n <div class=\"flex w-full flex-row gap-x-2\">\n\n <!-- SEARCH -->\n @if (!hideSearch()) {\n <div class=\"flex shrink grow flex-row pt-1 gap-x-2 overflow-hidden\">\n <mat-form-field class=\"flex grow shrink small-input search-control\" (keydown.shift)=\"$event.stopPropagation()\" (keydown.enter)=\"defaultSearchAction()?.action({parent: this.selectedItem()?.data, control: this.nameSearchControl})\" [ngClass]=\"{'colored-input': isColoredInput()}\">\n <mat-label>{{ 'COMMON.SEARCH_IMMEDIATE_CHILDREN' | translate }}</mat-label>\n <input matInput type=\"text\" [formControl]=\"nameSearchControl\">\n <mat-icon matSuffix>search</mat-icon>\n </mat-form-field>\n @if (defaultSearchAction(); as defaultAction) {\n <div [matTooltip]=\"defaultAction.disabledTooltip ? (defaultAction.disabledTooltip | translate) : ''\" [matTooltipDisabled]=\"defaultAction.disableCondition ? !defaultAction.disableCondition({control: nameSearchControl}) : true\">\n <button mat-mini-fab [disabled]=\"defaultAction.disableCondition ? defaultAction.disableCondition({control: nameSearchControl}) : false\" (click)=\"defaultAction.action({parent: this.selectedItem()?.data, control: this.nameSearchControl})\" [matTooltip]=\"defaultAction.name | translate\">\n <mat-icon [svgIcon]=\"defaultAction.icon.id\"/>\n </button>\n </div>\n }\n @for (action of otherSearchActions(); track $index) {\n @if (action.condition() | async) {\n <div [matTooltip]=\"action.disabledTooltip ? (action.disabledTooltip | translate) : ''\" [matTooltipDisabled]=\"action.disableCondition ? !action.disableCondition() : true\">\n <button mat-mini-fab [disabled]=\"action.disableCondition ? action.disableCondition() : false\" (click)=\"action.action()\" [matTooltip]=\"action.name | translate\">\n <mat-icon [svgIcon]=\"action.icon.id\"/>\n </button>\n </div>\n }\n }\n </div>\n }\n </div>\n\n <!-- LIST -->\n <div class=\"flex flex-col w-full h-full relative overflow-hidden\">\n\n <!-- BREADCRUMBS -->\n <div class=\"max-h-[50%] overflow-auto shrink-0\" [overflowClass]=\"'pr-4'\">\n @if (!loadingBreadcrumbs()) {\n @if (breadcrumbs(); as items) {\n <div class=\"flex flex-col w-full overflow-x-hidden\">\n @for (item of items; let i = $index; track i) {\n @if (selectedItem() && hasMultipleRoots() && i === 0) {\n <mat-card (click)=\"resetNavigation()\" class=\"mb-2 cursor-pointer regular-item hover:bg-hover-color\" [ngClass]=\"disableThresholdId() ? 'bg-disabled-color opacity-50 hover:cursor-auto pointer-events-none disabled-item' : ''\">\n <div class=\"px-3 flex flex-row items-center gap-x-2 item-card\">\n <div class=\"shrink-0 h-6\">\n <mat-icon>arrow_upward</mat-icon>\n </div>\n <span class=\"text-mat-sys-on-surface\">{{ rootButtonText() | translate: {default: rootButtonText()} }}</span>\n </div>\n </mat-card>\n }\n <mat-card class=\"mb-2 cursor-pointer\" (click)=\"selectBreadcrumb(item)\"\n [dndDraggable]=\"item.data\" [dndDisableDragIf]=\"!enableDrag() || !!shouldDisableBreadcrumbClick(item)\" (dndStart)=\"dragStart($event, item.data)\" (dndEnd)=\"isDragging.set(false)\"\n [ngClass]=\"[isBreadcrumbSelected(item) ? 'selected-item' : 'regular-item hover:bg-hover-color', selectedItems().length ? 'opacity-50' : '', shouldDisableBreadcrumbClick(item) ? 'bg-disabled-color opacity-50 hover:cursor-auto pointer-events-none disabled-item' : '']\"\n [appScrollIntoView]=\"isBreadcrumbSelected(item)\" [matTooltip]=\"item.name\" matTooltipPosition=\"right\">\n <div class=\"px-3 flex flex-row items-center justify-between gap-x-2 item-card\">\n <div class=\"flex flex-row grow items-center gap-x-2 overflow-hidden\">\n @if (item.icon; as icon) {\n <app-icon [icon]=\"icon\"/>\n }\n <span [ngClass]=\"[isBreadcrumbSelected(item) ? 'text-mat-sys-surface-container' : 'text-mat-sys-on-surface']\" class=\"truncate\">{{ item.name }}</span>\n </div>\n @if (item.rightNumber && item.rightNumber > 0) {\n <span class=\"flex items-center justify-center shrink-0 min-w-5 h-5 px-1.5 rounded-full text-[11px] font-semibold\" [ngClass]=\"isBreadcrumbSelected(item) ? 'bg-transparent text-mat-sys-surface-container' : 'bg-mat-sys-primary text-mat-sys-on-primary'\">{{ item.rightNumber }}</span>\n } @else if (enableDrag() && !shouldDisableBreadcrumbClick(item)) {\n <mat-icon>drag_indicator</mat-icon>\n }\n </div>\n </mat-card>\n }\n </div>\n }\n }\n </div>\n\n <mat-divider class=\"w-full pb-2\"/>\n\n <!-- CHILDREN -->\n @if (selectedItem()) {\n <div class=\"flex-1 overflow-auto min-h-0\" [overflowClass]=\"'pr-4'\">\n @if (!loadingChildren()) {\n @if (filteredChildren(); as items) {\n @if (items.length) {\n <div class=\"flex flex-col w-full overflow-y-auto overflow-x-hidden\">\n @for (item of items; track $index) {\n <mat-card class=\"mb-2 cursor-pointer\" [ngClass]=\"[isChildSelected(item) ? 'selected-item' : 'regular-item hover:bg-hover-color', shiftPressed() ? 'no-select-item' : '', (ctrlPressed() || shiftPressed()) && item.bulkSelectDisabled ? 'bg-disabled-color opacity-50 hover:cursor-auto disabled-item' : '']\" (click)=\"selectChild(item)\" [matTooltip]=\"(ctrlPressed() || shiftPressed()) && item.bulkSelectDisabled && item.bulkSelectDisabledTooltip ? (item.bulkSelectDisabledTooltip | translate) : item.name\" matTooltipPosition=\"right\"\n [dndDraggable]=\"item.data\" [dndDisableDragIf]=\"!enableDrag()\" (dndStart)=\"dragStart($event, item.data)\" (dndEnd)=\"isDragging.set(false)\">\n <div class=\"px-3 flex flex-row items-center justify-between gap-x-2 item-card\">\n <div class=\"flex flex-row grow items-center gap-x-2 overflow-hidden\">\n @if (item.icon; as icon) {\n <app-icon [icon]=\"icon\"/>\n }\n <span [ngClass]=\"isChildSelected(item) ? 'text-mat-sys-surface-container' : 'text-mat-sys-on-surface'\" class=\"truncate\">{{ item.name }}</span>\n </div>\n @if (item.rightNumber && item.rightNumber > 0) {\n <span class=\"flex items-center justify-center shrink-0 min-w-5 h-5 px-1.5 rounded-full text-[11px] font-semibold\" [ngClass]=\"isChildSelected(item) ? 'bg-transparent text-mat-sys-surface-container' : 'bg-mat-sys-primary text-mat-sys-on-primary'\">{{ item.rightNumber }}</span>\n } @else if (enableDrag()) {\n <mat-icon>drag_indicator</mat-icon>\n }\n </div>\n </mat-card>\n }\n </div>\n } @else {\n <div class=\"flex flex-col grow justify-center items-center\">\n <ng-content select=\"[app-no-items-message]\"/>\n </div>\n }\n }\n } @else {\n <div class=\"flex flex-col grow justify-center items-center\">\n <mat-spinner diameter=\"30\"></mat-spinner>\n </div>\n }\n </div>\n }\n\n <!-- ACTIONS (bottom right of the listing) -->\n <div class=\"absolute bottom-0 right-0 z-10\">\n <ng-content select=\"[app-actions]\"/>\n </div>\n </div>\n </div>\n\n </div>\n\n @if (width() !== 'full') {\n <mat-divider [vertical]=\"true\" class=\"relative top-2\"/>\n\n <!-- DETAILS -->\n <div class=\"details flex shrink grow overflow-hidden pt-2\">\n @if (!selectedItems().length) {\n <ng-content select=\"[app-details]\"/>\n } @else {\n <div class=\"h-full w-full flex flex-col items-center justify-center relative\">\n <div class=\"flex flex-col items-center justify-center\">\n <mat-checkbox class=\"w-full\"\n [checked]=\"selectedItems().length === allSelectableItems().length\"\n (change)=\"toggleSelectAll()\">\n {{ 'COMMON.SELECT_ALL' | translate }}\n </mat-checkbox>\n <mat-divider class=\"w-full !mb-2 !mt-2\"></mat-divider>\n <span>{{ 'COMMON.NUMBER_OF_ITEMS_SELECTED' | translate: {numberOfItems: selectedItems().length} }} </span>\n </div>\n <div class=\"absolute bottom-0 right-0\">\n <ng-content select=\"[app-bulk-actions]\"/>\n </div>\n </div>\n }\n </div>\n }\n</div>\n", styles: [":host{display:block;height:100%;width:100%;overflow:hidden}mat-card,.item-card{height:40px!important}.container{background-color:var(--base-color-50)}.container .master{padding-right:16px}.container .details{padding-left:16px}.selected-item{background:var(--mat-sys-primary);fill:var(--mat-sys-on-primary);color:var(--mat-sys-on-primary)}.regular-item{fill:var(--mat-sys-primary);color:var(--mat-sys-primary)}.disabled-item{color:unset}.disabled-item:hover{background-color:var(--neutral-variant-color-60)!important}.disabled-item span{color:unset!important}.no-select-item{user-select:none;-webkit-user-select:none}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i1$4.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i1$7.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i5$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: ScrollIntoViewDirective, selector: "[appScrollIntoView]", inputs: ["appScrollIntoView"] }, { kind: "directive", type: OverflowClassDirective, selector: "[overflowClass]", inputs: ["overflowClass"] }, { kind: "directive", type: DndDraggableDirective, selector: "[dndDraggable]", inputs: ["dndDraggable", "dndEffectAllowed", "dndType", "dndDraggingClass", "dndDraggingSourceClass", "dndDraggableDisabledClass", "dndDragImageOffsetFunction", "dndDisableIf", "dndDisableDragIf"], outputs: ["dndStart", "dndDrag", "dndEnd", "dndMoved", "dndCopied", "dndLinked", "dndCanceled"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["icon"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
5836
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NestedListViewComponent, deps: [{ token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
5837
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: NestedListViewComponent, isStandalone: true, selector: "app-nested-list-view", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: true, transformFunction: null }, dataControl: { classPropertyName: "dataControl", publicName: "dataControl", isSignal: true, isRequired: true, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, disableThresholdId: { classPropertyName: "disableThresholdId", publicName: "disableThresholdId", isSignal: true, isRequired: false, transformFunction: null }, isColoredInput: { classPropertyName: "isColoredInput", publicName: "isColoredInput", isSignal: true, isRequired: false, transformFunction: null }, searchActions: { classPropertyName: "searchActions", publicName: "searchActions", isSignal: true, isRequired: false, transformFunction: null }, enableMultiSelect: { classPropertyName: "enableMultiSelect", publicName: "enableMultiSelect", isSignal: true, isRequired: false, transformFunction: null }, selectionConfirmationAction: { classPropertyName: "selectionConfirmationAction", publicName: "selectionConfirmationAction", isSignal: true, isRequired: false, transformFunction: null }, hideSearch: { classPropertyName: "hideSearch", publicName: "hideSearch", isSignal: true, isRequired: false, transformFunction: null }, rootButtonText: { classPropertyName: "rootButtonText", publicName: "rootButtonText", isSignal: true, isRequired: false, transformFunction: null }, enableDrag: { classPropertyName: "enableDrag", publicName: "enableDrag", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dragging: "dragging", itemSelected: "itemSelected", itemsSelected: "itemsSelected" }, host: { listeners: { "window:keydown": "onKeyDown($event)", "window:keyup": "onKeyUp($event)" } }, ngImport: i0, template: "<div class=\"container flex h-full w-full min-w-full min-h-full relative overflow-hidden\">\r\n <div [ngClass]=\"widthClass()\" class=\"master flex shrink-0 grow-0 min-w-0\">\r\n\r\n <!-- LISTING -->\r\n <div class=\"w-full h-full flex flex-col gap-y-2 relative\" [ngClass]=\"hideSearch() ? 'pt-2' : 'pt-1'\">\r\n\r\n <!-- HEADER -->\r\n <div class=\"flex w-full flex-row gap-x-2\">\r\n\r\n <!-- SEARCH -->\r\n @if (!hideSearch()) {\r\n <div class=\"flex shrink grow flex-row pt-1 gap-x-2 overflow-hidden\">\r\n <mat-form-field class=\"flex grow shrink small-input search-control\" (keydown.shift)=\"$event.stopPropagation()\" (keydown.enter)=\"defaultSearchAction()?.action({parent: this.selectedItem()?.data, control: this.nameSearchControl})\" [ngClass]=\"{'colored-input': isColoredInput()}\">\r\n <mat-label>{{ 'COMMON.SEARCH_IMMEDIATE_CHILDREN' | translate }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"nameSearchControl\">\r\n <mat-icon matSuffix>search</mat-icon>\r\n </mat-form-field>\r\n @if (defaultSearchAction(); as defaultAction) {\r\n <div [matTooltip]=\"defaultAction.disabledTooltip ? (defaultAction.disabledTooltip | translate) : ''\" [matTooltipDisabled]=\"defaultAction.disableCondition ? !defaultAction.disableCondition({control: nameSearchControl}) : true\">\r\n <button mat-mini-fab [disabled]=\"defaultAction.disableCondition ? defaultAction.disableCondition({control: nameSearchControl}) : false\" (click)=\"defaultAction.action({parent: this.selectedItem()?.data, control: this.nameSearchControl})\" [matTooltip]=\"defaultAction.name | translate\">\r\n <mat-icon [svgIcon]=\"defaultAction.icon.id\"/>\r\n </button>\r\n </div>\r\n }\r\n @for (action of otherSearchActions(); track $index) {\r\n @if (action.condition() | async) {\r\n <div [matTooltip]=\"action.disabledTooltip ? (action.disabledTooltip | translate) : ''\" [matTooltipDisabled]=\"action.disableCondition ? !action.disableCondition() : true\">\r\n <button mat-mini-fab [disabled]=\"action.disableCondition ? action.disableCondition() : false\" (click)=\"action.action()\" [matTooltip]=\"action.name | translate\">\r\n <mat-icon [svgIcon]=\"action.icon.id\"/>\r\n </button>\r\n </div>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n\r\n <!-- LIST -->\r\n <div class=\"flex flex-col w-full h-full relative overflow-hidden\">\r\n\r\n <!-- BREADCRUMBS -->\r\n <div class=\"max-h-[50%] overflow-auto shrink-0\" [overflowClass]=\"'pr-4'\">\r\n @if (!loadingBreadcrumbs()) {\r\n @if (breadcrumbs(); as items) {\r\n <div class=\"flex flex-col w-full overflow-x-hidden\">\r\n @for (item of items; let i = $index; track i) {\r\n @if (selectedItem() && hasMultipleRoots() && i === 0) {\r\n <mat-card (click)=\"resetNavigation()\" class=\"mb-2 cursor-pointer regular-item hover:bg-hover-color\" [ngClass]=\"disableThresholdId() ? 'bg-disabled-color opacity-50 hover:cursor-auto pointer-events-none disabled-item' : ''\">\r\n <div class=\"px-3 flex flex-row items-center gap-x-2 item-card\">\r\n <div class=\"shrink-0 h-6\">\r\n <mat-icon>arrow_upward</mat-icon>\r\n </div>\r\n <span class=\"text-mat-sys-on-surface\">{{ rootButtonText() | translate: {default: rootButtonText()} }}</span>\r\n </div>\r\n </mat-card>\r\n }\r\n <mat-card class=\"mb-2 cursor-pointer\" (click)=\"selectBreadcrumb(item)\"\r\n [dndDraggable]=\"item.data\" [dndDisableDragIf]=\"!enableDrag() || !!shouldDisableBreadcrumbClick(item)\" (dndStart)=\"dragStart($event, item.data)\" (dndEnd)=\"isDragging.set(false)\"\r\n [ngClass]=\"[isBreadcrumbSelected(item) ? 'selected-item' : 'regular-item hover:bg-hover-color', selectedItems().length ? 'opacity-50' : '', shouldDisableBreadcrumbClick(item) ? 'bg-disabled-color opacity-50 hover:cursor-auto pointer-events-none disabled-item' : '']\"\r\n [appScrollIntoView]=\"isBreadcrumbSelected(item)\" [matTooltip]=\"item.name\" matTooltipPosition=\"right\">\r\n <div class=\"px-3 flex flex-row items-center justify-between gap-x-2 item-card\">\r\n <div class=\"flex flex-row grow items-center gap-x-2 overflow-hidden\">\r\n @if (item.icon; as icon) {\r\n <app-icon [icon]=\"icon\"/>\r\n }\r\n <span [ngClass]=\"[isBreadcrumbSelected(item) ? 'text-mat-sys-surface-container' : 'text-mat-sys-on-surface']\" class=\"truncate\">{{ item.name }}</span>\r\n </div>\r\n @if (item.rightNumber && item.rightNumber > 0) {\r\n <span class=\"flex items-center justify-center shrink-0 min-w-5 h-5 px-1.5 rounded-full text-[11px] font-semibold\" [ngClass]=\"isBreadcrumbSelected(item) ? 'bg-transparent text-mat-sys-surface-container' : 'bg-mat-sys-primary text-mat-sys-on-primary'\">{{ item.rightNumber }}</span>\r\n } @else if (enableDrag() && !shouldDisableBreadcrumbClick(item)) {\r\n <mat-icon>drag_indicator</mat-icon>\r\n }\r\n </div>\r\n </mat-card>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n\r\n <mat-divider class=\"w-full pb-2\"/>\r\n\r\n <!-- CHILDREN -->\r\n @if (selectedItem()) {\r\n <div class=\"flex-1 overflow-auto min-h-0\" [overflowClass]=\"'pr-4'\">\r\n @if (!loadingChildren()) {\r\n @if (filteredChildren(); as items) {\r\n @if (items.length) {\r\n <div class=\"flex flex-col w-full overflow-y-auto overflow-x-hidden\">\r\n @for (item of items; track $index) {\r\n <mat-card class=\"mb-2 cursor-pointer\" [ngClass]=\"[isChildSelected(item) ? 'selected-item' : 'regular-item hover:bg-hover-color', shiftPressed() ? 'no-select-item' : '', (ctrlPressed() || shiftPressed()) && item.bulkSelectDisabled ? 'bg-disabled-color opacity-50 hover:cursor-auto disabled-item' : '']\" (click)=\"selectChild(item)\" [matTooltip]=\"(ctrlPressed() || shiftPressed()) && item.bulkSelectDisabled && item.bulkSelectDisabledTooltip ? (item.bulkSelectDisabledTooltip | translate) : item.name\" matTooltipPosition=\"right\"\r\n [dndDraggable]=\"item.data\" [dndDisableDragIf]=\"!enableDrag()\" (dndStart)=\"dragStart($event, item.data)\" (dndEnd)=\"isDragging.set(false)\">\r\n <div class=\"px-3 flex flex-row items-center justify-between gap-x-2 item-card\">\r\n <div class=\"flex flex-row grow items-center gap-x-2 overflow-hidden\">\r\n @if (item.icon; as icon) {\r\n <app-icon [icon]=\"icon\"/>\r\n }\r\n <span [ngClass]=\"isChildSelected(item) ? 'text-mat-sys-surface-container' : 'text-mat-sys-on-surface'\" class=\"truncate\">{{ item.name }}</span>\r\n </div>\r\n @if (item.rightNumber && item.rightNumber > 0) {\r\n <span class=\"flex items-center justify-center shrink-0 min-w-5 h-5 px-1.5 rounded-full text-[11px] font-semibold\" [ngClass]=\"isChildSelected(item) ? 'bg-transparent text-mat-sys-surface-container' : 'bg-mat-sys-primary text-mat-sys-on-primary'\">{{ item.rightNumber }}</span>\r\n } @else if (enableDrag()) {\r\n <mat-icon>drag_indicator</mat-icon>\r\n }\r\n </div>\r\n </mat-card>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"flex flex-col grow justify-center items-center\">\r\n <ng-content select=\"[app-no-items-message]\"/>\r\n </div>\r\n }\r\n }\r\n } @else {\r\n <div class=\"flex flex-col grow justify-center items-center\">\r\n <mat-spinner diameter=\"30\"></mat-spinner>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <!-- ACTIONS (bottom right of the listing) -->\r\n <div class=\"absolute bottom-0 right-0 z-10\">\r\n <ng-content select=\"[app-actions]\"/>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n @if (width() !== 'full') {\r\n <mat-divider [vertical]=\"true\" class=\"relative top-2\"/>\r\n\r\n <!-- DETAILS -->\r\n <div class=\"details flex shrink grow overflow-hidden pt-2\">\r\n @if (!selectedItems().length) {\r\n <ng-content select=\"[app-details]\"/>\r\n } @else {\r\n <div class=\"h-full w-full flex flex-col items-center justify-center relative\">\r\n <div class=\"flex flex-col items-center justify-center\">\r\n <mat-checkbox class=\"w-full\"\r\n [checked]=\"selectedItems().length === allSelectableItems().length\"\r\n (change)=\"toggleSelectAll()\">\r\n {{ 'COMMON.SELECT_ALL' | translate }}\r\n </mat-checkbox>\r\n <mat-divider class=\"w-full !mb-2 !mt-2\"></mat-divider>\r\n <span>{{ 'COMMON.NUMBER_OF_ITEMS_SELECTED' | translate: {numberOfItems: selectedItems().length} }} </span>\r\n </div>\r\n <div class=\"absolute bottom-0 right-0\">\r\n <ng-content select=\"[app-bulk-actions]\"/>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block;height:100%;width:100%;overflow:hidden}mat-card,.item-card{height:40px!important}.container{background-color:var(--base-color-50)}.container .master{padding-right:16px}.container .details{padding-left:16px}.selected-item{background:var(--mat-sys-primary);fill:var(--mat-sys-on-primary);color:var(--mat-sys-on-primary)}.regular-item{fill:var(--mat-sys-primary);color:var(--mat-sys-primary)}.disabled-item{color:unset}.disabled-item:hover{background-color:var(--neutral-variant-color-60)!important}.disabled-item span{color:unset!important}.no-select-item{user-select:none;-webkit-user-select:none}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i1$4.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i1$7.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i5$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: ScrollIntoViewDirective, selector: "[appScrollIntoView]", inputs: ["appScrollIntoView"] }, { kind: "directive", type: OverflowClassDirective, selector: "[overflowClass]", inputs: ["overflowClass"] }, { kind: "directive", type: DndDraggableDirective, selector: "[dndDraggable]", inputs: ["dndDraggable", "dndEffectAllowed", "dndType", "dndDraggingClass", "dndDraggingSourceClass", "dndDraggableDisabledClass", "dndDragImageOffsetFunction", "dndDisableIf", "dndDisableDragIf"], outputs: ["dndStart", "dndDrag", "dndEnd", "dndMoved", "dndCopied", "dndLinked", "dndCanceled"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["icon"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
5838
5838
  }
5839
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NestedListViewComponent, decorators: [{
5839
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NestedListViewComponent, decorators: [{
5840
5840
  type: Component,
5841
- args: [{ selector: 'app-nested-list-view', imports: [SharedModule, ScrollIntoViewDirective, OverflowClassDirective, DndDraggableDirective, IconComponent], template: "<div class=\"container flex h-full w-full min-w-full min-h-full relative overflow-hidden\">\n <div [ngClass]=\"widthClass()\" class=\"master flex shrink-0 grow-0 min-w-0\">\n\n <!-- LISTING -->\n <div class=\"w-full h-full flex flex-col gap-y-2 relative\" [ngClass]=\"hideSearch() ? 'pt-2' : 'pt-1'\">\n\n <!-- HEADER -->\n <div class=\"flex w-full flex-row gap-x-2\">\n\n <!-- SEARCH -->\n @if (!hideSearch()) {\n <div class=\"flex shrink grow flex-row pt-1 gap-x-2 overflow-hidden\">\n <mat-form-field class=\"flex grow shrink small-input search-control\" (keydown.shift)=\"$event.stopPropagation()\" (keydown.enter)=\"defaultSearchAction()?.action({parent: this.selectedItem()?.data, control: this.nameSearchControl})\" [ngClass]=\"{'colored-input': isColoredInput()}\">\n <mat-label>{{ 'COMMON.SEARCH_IMMEDIATE_CHILDREN' | translate }}</mat-label>\n <input matInput type=\"text\" [formControl]=\"nameSearchControl\">\n <mat-icon matSuffix>search</mat-icon>\n </mat-form-field>\n @if (defaultSearchAction(); as defaultAction) {\n <div [matTooltip]=\"defaultAction.disabledTooltip ? (defaultAction.disabledTooltip | translate) : ''\" [matTooltipDisabled]=\"defaultAction.disableCondition ? !defaultAction.disableCondition({control: nameSearchControl}) : true\">\n <button mat-mini-fab [disabled]=\"defaultAction.disableCondition ? defaultAction.disableCondition({control: nameSearchControl}) : false\" (click)=\"defaultAction.action({parent: this.selectedItem()?.data, control: this.nameSearchControl})\" [matTooltip]=\"defaultAction.name | translate\">\n <mat-icon [svgIcon]=\"defaultAction.icon.id\"/>\n </button>\n </div>\n }\n @for (action of otherSearchActions(); track $index) {\n @if (action.condition() | async) {\n <div [matTooltip]=\"action.disabledTooltip ? (action.disabledTooltip | translate) : ''\" [matTooltipDisabled]=\"action.disableCondition ? !action.disableCondition() : true\">\n <button mat-mini-fab [disabled]=\"action.disableCondition ? action.disableCondition() : false\" (click)=\"action.action()\" [matTooltip]=\"action.name | translate\">\n <mat-icon [svgIcon]=\"action.icon.id\"/>\n </button>\n </div>\n }\n }\n </div>\n }\n </div>\n\n <!-- LIST -->\n <div class=\"flex flex-col w-full h-full relative overflow-hidden\">\n\n <!-- BREADCRUMBS -->\n <div class=\"max-h-[50%] overflow-auto shrink-0\" [overflowClass]=\"'pr-4'\">\n @if (!loadingBreadcrumbs()) {\n @if (breadcrumbs(); as items) {\n <div class=\"flex flex-col w-full overflow-x-hidden\">\n @for (item of items; let i = $index; track i) {\n @if (selectedItem() && hasMultipleRoots() && i === 0) {\n <mat-card (click)=\"resetNavigation()\" class=\"mb-2 cursor-pointer regular-item hover:bg-hover-color\" [ngClass]=\"disableThresholdId() ? 'bg-disabled-color opacity-50 hover:cursor-auto pointer-events-none disabled-item' : ''\">\n <div class=\"px-3 flex flex-row items-center gap-x-2 item-card\">\n <div class=\"shrink-0 h-6\">\n <mat-icon>arrow_upward</mat-icon>\n </div>\n <span class=\"text-mat-sys-on-surface\">{{ rootButtonText() | translate: {default: rootButtonText()} }}</span>\n </div>\n </mat-card>\n }\n <mat-card class=\"mb-2 cursor-pointer\" (click)=\"selectBreadcrumb(item)\"\n [dndDraggable]=\"item.data\" [dndDisableDragIf]=\"!enableDrag() || !!shouldDisableBreadcrumbClick(item)\" (dndStart)=\"dragStart($event, item.data)\" (dndEnd)=\"isDragging.set(false)\"\n [ngClass]=\"[isBreadcrumbSelected(item) ? 'selected-item' : 'regular-item hover:bg-hover-color', selectedItems().length ? 'opacity-50' : '', shouldDisableBreadcrumbClick(item) ? 'bg-disabled-color opacity-50 hover:cursor-auto pointer-events-none disabled-item' : '']\"\n [appScrollIntoView]=\"isBreadcrumbSelected(item)\" [matTooltip]=\"item.name\" matTooltipPosition=\"right\">\n <div class=\"px-3 flex flex-row items-center justify-between gap-x-2 item-card\">\n <div class=\"flex flex-row grow items-center gap-x-2 overflow-hidden\">\n @if (item.icon; as icon) {\n <app-icon [icon]=\"icon\"/>\n }\n <span [ngClass]=\"[isBreadcrumbSelected(item) ? 'text-mat-sys-surface-container' : 'text-mat-sys-on-surface']\" class=\"truncate\">{{ item.name }}</span>\n </div>\n @if (item.rightNumber && item.rightNumber > 0) {\n <span class=\"flex items-center justify-center shrink-0 min-w-5 h-5 px-1.5 rounded-full text-[11px] font-semibold\" [ngClass]=\"isBreadcrumbSelected(item) ? 'bg-transparent text-mat-sys-surface-container' : 'bg-mat-sys-primary text-mat-sys-on-primary'\">{{ item.rightNumber }}</span>\n } @else if (enableDrag() && !shouldDisableBreadcrumbClick(item)) {\n <mat-icon>drag_indicator</mat-icon>\n }\n </div>\n </mat-card>\n }\n </div>\n }\n }\n </div>\n\n <mat-divider class=\"w-full pb-2\"/>\n\n <!-- CHILDREN -->\n @if (selectedItem()) {\n <div class=\"flex-1 overflow-auto min-h-0\" [overflowClass]=\"'pr-4'\">\n @if (!loadingChildren()) {\n @if (filteredChildren(); as items) {\n @if (items.length) {\n <div class=\"flex flex-col w-full overflow-y-auto overflow-x-hidden\">\n @for (item of items; track $index) {\n <mat-card class=\"mb-2 cursor-pointer\" [ngClass]=\"[isChildSelected(item) ? 'selected-item' : 'regular-item hover:bg-hover-color', shiftPressed() ? 'no-select-item' : '', (ctrlPressed() || shiftPressed()) && item.bulkSelectDisabled ? 'bg-disabled-color opacity-50 hover:cursor-auto disabled-item' : '']\" (click)=\"selectChild(item)\" [matTooltip]=\"(ctrlPressed() || shiftPressed()) && item.bulkSelectDisabled && item.bulkSelectDisabledTooltip ? (item.bulkSelectDisabledTooltip | translate) : item.name\" matTooltipPosition=\"right\"\n [dndDraggable]=\"item.data\" [dndDisableDragIf]=\"!enableDrag()\" (dndStart)=\"dragStart($event, item.data)\" (dndEnd)=\"isDragging.set(false)\">\n <div class=\"px-3 flex flex-row items-center justify-between gap-x-2 item-card\">\n <div class=\"flex flex-row grow items-center gap-x-2 overflow-hidden\">\n @if (item.icon; as icon) {\n <app-icon [icon]=\"icon\"/>\n }\n <span [ngClass]=\"isChildSelected(item) ? 'text-mat-sys-surface-container' : 'text-mat-sys-on-surface'\" class=\"truncate\">{{ item.name }}</span>\n </div>\n @if (item.rightNumber && item.rightNumber > 0) {\n <span class=\"flex items-center justify-center shrink-0 min-w-5 h-5 px-1.5 rounded-full text-[11px] font-semibold\" [ngClass]=\"isChildSelected(item) ? 'bg-transparent text-mat-sys-surface-container' : 'bg-mat-sys-primary text-mat-sys-on-primary'\">{{ item.rightNumber }}</span>\n } @else if (enableDrag()) {\n <mat-icon>drag_indicator</mat-icon>\n }\n </div>\n </mat-card>\n }\n </div>\n } @else {\n <div class=\"flex flex-col grow justify-center items-center\">\n <ng-content select=\"[app-no-items-message]\"/>\n </div>\n }\n }\n } @else {\n <div class=\"flex flex-col grow justify-center items-center\">\n <mat-spinner diameter=\"30\"></mat-spinner>\n </div>\n }\n </div>\n }\n\n <!-- ACTIONS (bottom right of the listing) -->\n <div class=\"absolute bottom-0 right-0 z-10\">\n <ng-content select=\"[app-actions]\"/>\n </div>\n </div>\n </div>\n\n </div>\n\n @if (width() !== 'full') {\n <mat-divider [vertical]=\"true\" class=\"relative top-2\"/>\n\n <!-- DETAILS -->\n <div class=\"details flex shrink grow overflow-hidden pt-2\">\n @if (!selectedItems().length) {\n <ng-content select=\"[app-details]\"/>\n } @else {\n <div class=\"h-full w-full flex flex-col items-center justify-center relative\">\n <div class=\"flex flex-col items-center justify-center\">\n <mat-checkbox class=\"w-full\"\n [checked]=\"selectedItems().length === allSelectableItems().length\"\n (change)=\"toggleSelectAll()\">\n {{ 'COMMON.SELECT_ALL' | translate }}\n </mat-checkbox>\n <mat-divider class=\"w-full !mb-2 !mt-2\"></mat-divider>\n <span>{{ 'COMMON.NUMBER_OF_ITEMS_SELECTED' | translate: {numberOfItems: selectedItems().length} }} </span>\n </div>\n <div class=\"absolute bottom-0 right-0\">\n <ng-content select=\"[app-bulk-actions]\"/>\n </div>\n </div>\n }\n </div>\n }\n</div>\n", styles: [":host{display:block;height:100%;width:100%;overflow:hidden}mat-card,.item-card{height:40px!important}.container{background-color:var(--base-color-50)}.container .master{padding-right:16px}.container .details{padding-left:16px}.selected-item{background:var(--mat-sys-primary);fill:var(--mat-sys-on-primary);color:var(--mat-sys-on-primary)}.regular-item{fill:var(--mat-sys-primary);color:var(--mat-sys-primary)}.disabled-item{color:unset}.disabled-item:hover{background-color:var(--neutral-variant-color-60)!important}.disabled-item span{color:unset!important}.no-select-item{user-select:none;-webkit-user-select:none}\n"] }]
5841
+ args: [{ selector: 'app-nested-list-view', imports: [SharedModule, ScrollIntoViewDirective, OverflowClassDirective, DndDraggableDirective, IconComponent], template: "<div class=\"container flex h-full w-full min-w-full min-h-full relative overflow-hidden\">\r\n <div [ngClass]=\"widthClass()\" class=\"master flex shrink-0 grow-0 min-w-0\">\r\n\r\n <!-- LISTING -->\r\n <div class=\"w-full h-full flex flex-col gap-y-2 relative\" [ngClass]=\"hideSearch() ? 'pt-2' : 'pt-1'\">\r\n\r\n <!-- HEADER -->\r\n <div class=\"flex w-full flex-row gap-x-2\">\r\n\r\n <!-- SEARCH -->\r\n @if (!hideSearch()) {\r\n <div class=\"flex shrink grow flex-row pt-1 gap-x-2 overflow-hidden\">\r\n <mat-form-field class=\"flex grow shrink small-input search-control\" (keydown.shift)=\"$event.stopPropagation()\" (keydown.enter)=\"defaultSearchAction()?.action({parent: this.selectedItem()?.data, control: this.nameSearchControl})\" [ngClass]=\"{'colored-input': isColoredInput()}\">\r\n <mat-label>{{ 'COMMON.SEARCH_IMMEDIATE_CHILDREN' | translate }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"nameSearchControl\">\r\n <mat-icon matSuffix>search</mat-icon>\r\n </mat-form-field>\r\n @if (defaultSearchAction(); as defaultAction) {\r\n <div [matTooltip]=\"defaultAction.disabledTooltip ? (defaultAction.disabledTooltip | translate) : ''\" [matTooltipDisabled]=\"defaultAction.disableCondition ? !defaultAction.disableCondition({control: nameSearchControl}) : true\">\r\n <button mat-mini-fab [disabled]=\"defaultAction.disableCondition ? defaultAction.disableCondition({control: nameSearchControl}) : false\" (click)=\"defaultAction.action({parent: this.selectedItem()?.data, control: this.nameSearchControl})\" [matTooltip]=\"defaultAction.name | translate\">\r\n <mat-icon [svgIcon]=\"defaultAction.icon.id\"/>\r\n </button>\r\n </div>\r\n }\r\n @for (action of otherSearchActions(); track $index) {\r\n @if (action.condition() | async) {\r\n <div [matTooltip]=\"action.disabledTooltip ? (action.disabledTooltip | translate) : ''\" [matTooltipDisabled]=\"action.disableCondition ? !action.disableCondition() : true\">\r\n <button mat-mini-fab [disabled]=\"action.disableCondition ? action.disableCondition() : false\" (click)=\"action.action()\" [matTooltip]=\"action.name | translate\">\r\n <mat-icon [svgIcon]=\"action.icon.id\"/>\r\n </button>\r\n </div>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n\r\n <!-- LIST -->\r\n <div class=\"flex flex-col w-full h-full relative overflow-hidden\">\r\n\r\n <!-- BREADCRUMBS -->\r\n <div class=\"max-h-[50%] overflow-auto shrink-0\" [overflowClass]=\"'pr-4'\">\r\n @if (!loadingBreadcrumbs()) {\r\n @if (breadcrumbs(); as items) {\r\n <div class=\"flex flex-col w-full overflow-x-hidden\">\r\n @for (item of items; let i = $index; track i) {\r\n @if (selectedItem() && hasMultipleRoots() && i === 0) {\r\n <mat-card (click)=\"resetNavigation()\" class=\"mb-2 cursor-pointer regular-item hover:bg-hover-color\" [ngClass]=\"disableThresholdId() ? 'bg-disabled-color opacity-50 hover:cursor-auto pointer-events-none disabled-item' : ''\">\r\n <div class=\"px-3 flex flex-row items-center gap-x-2 item-card\">\r\n <div class=\"shrink-0 h-6\">\r\n <mat-icon>arrow_upward</mat-icon>\r\n </div>\r\n <span class=\"text-mat-sys-on-surface\">{{ rootButtonText() | translate: {default: rootButtonText()} }}</span>\r\n </div>\r\n </mat-card>\r\n }\r\n <mat-card class=\"mb-2 cursor-pointer\" (click)=\"selectBreadcrumb(item)\"\r\n [dndDraggable]=\"item.data\" [dndDisableDragIf]=\"!enableDrag() || !!shouldDisableBreadcrumbClick(item)\" (dndStart)=\"dragStart($event, item.data)\" (dndEnd)=\"isDragging.set(false)\"\r\n [ngClass]=\"[isBreadcrumbSelected(item) ? 'selected-item' : 'regular-item hover:bg-hover-color', selectedItems().length ? 'opacity-50' : '', shouldDisableBreadcrumbClick(item) ? 'bg-disabled-color opacity-50 hover:cursor-auto pointer-events-none disabled-item' : '']\"\r\n [appScrollIntoView]=\"isBreadcrumbSelected(item)\" [matTooltip]=\"item.name\" matTooltipPosition=\"right\">\r\n <div class=\"px-3 flex flex-row items-center justify-between gap-x-2 item-card\">\r\n <div class=\"flex flex-row grow items-center gap-x-2 overflow-hidden\">\r\n @if (item.icon; as icon) {\r\n <app-icon [icon]=\"icon\"/>\r\n }\r\n <span [ngClass]=\"[isBreadcrumbSelected(item) ? 'text-mat-sys-surface-container' : 'text-mat-sys-on-surface']\" class=\"truncate\">{{ item.name }}</span>\r\n </div>\r\n @if (item.rightNumber && item.rightNumber > 0) {\r\n <span class=\"flex items-center justify-center shrink-0 min-w-5 h-5 px-1.5 rounded-full text-[11px] font-semibold\" [ngClass]=\"isBreadcrumbSelected(item) ? 'bg-transparent text-mat-sys-surface-container' : 'bg-mat-sys-primary text-mat-sys-on-primary'\">{{ item.rightNumber }}</span>\r\n } @else if (enableDrag() && !shouldDisableBreadcrumbClick(item)) {\r\n <mat-icon>drag_indicator</mat-icon>\r\n }\r\n </div>\r\n </mat-card>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n\r\n <mat-divider class=\"w-full pb-2\"/>\r\n\r\n <!-- CHILDREN -->\r\n @if (selectedItem()) {\r\n <div class=\"flex-1 overflow-auto min-h-0\" [overflowClass]=\"'pr-4'\">\r\n @if (!loadingChildren()) {\r\n @if (filteredChildren(); as items) {\r\n @if (items.length) {\r\n <div class=\"flex flex-col w-full overflow-y-auto overflow-x-hidden\">\r\n @for (item of items; track $index) {\r\n <mat-card class=\"mb-2 cursor-pointer\" [ngClass]=\"[isChildSelected(item) ? 'selected-item' : 'regular-item hover:bg-hover-color', shiftPressed() ? 'no-select-item' : '', (ctrlPressed() || shiftPressed()) && item.bulkSelectDisabled ? 'bg-disabled-color opacity-50 hover:cursor-auto disabled-item' : '']\" (click)=\"selectChild(item)\" [matTooltip]=\"(ctrlPressed() || shiftPressed()) && item.bulkSelectDisabled && item.bulkSelectDisabledTooltip ? (item.bulkSelectDisabledTooltip | translate) : item.name\" matTooltipPosition=\"right\"\r\n [dndDraggable]=\"item.data\" [dndDisableDragIf]=\"!enableDrag()\" (dndStart)=\"dragStart($event, item.data)\" (dndEnd)=\"isDragging.set(false)\">\r\n <div class=\"px-3 flex flex-row items-center justify-between gap-x-2 item-card\">\r\n <div class=\"flex flex-row grow items-center gap-x-2 overflow-hidden\">\r\n @if (item.icon; as icon) {\r\n <app-icon [icon]=\"icon\"/>\r\n }\r\n <span [ngClass]=\"isChildSelected(item) ? 'text-mat-sys-surface-container' : 'text-mat-sys-on-surface'\" class=\"truncate\">{{ item.name }}</span>\r\n </div>\r\n @if (item.rightNumber && item.rightNumber > 0) {\r\n <span class=\"flex items-center justify-center shrink-0 min-w-5 h-5 px-1.5 rounded-full text-[11px] font-semibold\" [ngClass]=\"isChildSelected(item) ? 'bg-transparent text-mat-sys-surface-container' : 'bg-mat-sys-primary text-mat-sys-on-primary'\">{{ item.rightNumber }}</span>\r\n } @else if (enableDrag()) {\r\n <mat-icon>drag_indicator</mat-icon>\r\n }\r\n </div>\r\n </mat-card>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"flex flex-col grow justify-center items-center\">\r\n <ng-content select=\"[app-no-items-message]\"/>\r\n </div>\r\n }\r\n }\r\n } @else {\r\n <div class=\"flex flex-col grow justify-center items-center\">\r\n <mat-spinner diameter=\"30\"></mat-spinner>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <!-- ACTIONS (bottom right of the listing) -->\r\n <div class=\"absolute bottom-0 right-0 z-10\">\r\n <ng-content select=\"[app-actions]\"/>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n @if (width() !== 'full') {\r\n <mat-divider [vertical]=\"true\" class=\"relative top-2\"/>\r\n\r\n <!-- DETAILS -->\r\n <div class=\"details flex shrink grow overflow-hidden pt-2\">\r\n @if (!selectedItems().length) {\r\n <ng-content select=\"[app-details]\"/>\r\n } @else {\r\n <div class=\"h-full w-full flex flex-col items-center justify-center relative\">\r\n <div class=\"flex flex-col items-center justify-center\">\r\n <mat-checkbox class=\"w-full\"\r\n [checked]=\"selectedItems().length === allSelectableItems().length\"\r\n (change)=\"toggleSelectAll()\">\r\n {{ 'COMMON.SELECT_ALL' | translate }}\r\n </mat-checkbox>\r\n <mat-divider class=\"w-full !mb-2 !mt-2\"></mat-divider>\r\n <span>{{ 'COMMON.NUMBER_OF_ITEMS_SELECTED' | translate: {numberOfItems: selectedItems().length} }} </span>\r\n </div>\r\n <div class=\"absolute bottom-0 right-0\">\r\n <ng-content select=\"[app-bulk-actions]\"/>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block;height:100%;width:100%;overflow:hidden}mat-card,.item-card{height:40px!important}.container{background-color:var(--base-color-50)}.container .master{padding-right:16px}.container .details{padding-left:16px}.selected-item{background:var(--mat-sys-primary);fill:var(--mat-sys-on-primary);color:var(--mat-sys-on-primary)}.regular-item{fill:var(--mat-sys-primary);color:var(--mat-sys-primary)}.disabled-item{color:unset}.disabled-item:hover{background-color:var(--neutral-variant-color-60)!important}.disabled-item span{color:unset!important}.no-select-item{user-select:none;-webkit-user-select:none}\n"] }]
5842
5842
  }], ctorParameters: () => [{ type: i0.DestroyRef }], propDecorators: { onKeyDown: [{
5843
5843
  type: HostListener,
5844
5844
  args: ['window:keydown', ['$event']]
@@ -5941,23 +5941,23 @@ class NestedListDataSource {
5941
5941
 
5942
5942
  class PdfViewerComponent {
5943
5943
  sanitizer;
5944
- value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
5944
+ value = input.required(...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
5945
5945
  safeSrc = computed(() => {
5946
5946
  const url = this.value();
5947
5947
  if (!url)
5948
5948
  return null;
5949
5949
  const urlWithParams = `${url}#zoom=page-width&view=FitH`;
5950
5950
  return this.sanitizer.bypassSecurityTrustResourceUrl(urlWithParams);
5951
- }, ...(ngDevMode ? [{ debugName: "safeSrc" }] : []));
5951
+ }, ...(ngDevMode ? [{ debugName: "safeSrc" }] : /* istanbul ignore next */ []));
5952
5952
  constructor(sanitizer) {
5953
5953
  this.sanitizer = sanitizer;
5954
5954
  }
5955
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: PdfViewerComponent, deps: [{ token: i1$6.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
5956
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: PdfViewerComponent, isStandalone: true, selector: "app-pdf-viewer", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@if (safeSrc()) {\n <iframe [src]=\"safeSrc()\" frameborder=\"0\" class=\"w-full h-full\"></iframe>\n}", styles: [""] });
5955
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: PdfViewerComponent, deps: [{ token: i1$6.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
5956
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: PdfViewerComponent, isStandalone: true, selector: "app-pdf-viewer", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@if (safeSrc()) {\r\n <iframe [src]=\"safeSrc()\" frameborder=\"0\" class=\"w-full h-full\"></iframe>\r\n}", styles: [""] });
5957
5957
  }
5958
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: PdfViewerComponent, decorators: [{
5958
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: PdfViewerComponent, decorators: [{
5959
5959
  type: Component,
5960
- args: [{ selector: 'app-pdf-viewer', imports: [], template: "@if (safeSrc()) {\n <iframe [src]=\"safeSrc()\" frameborder=\"0\" class=\"w-full h-full\"></iframe>\n}" }]
5960
+ args: [{ selector: 'app-pdf-viewer', imports: [], template: "@if (safeSrc()) {\r\n <iframe [src]=\"safeSrc()\" frameborder=\"0\" class=\"w-full h-full\"></iframe>\r\n}" }]
5961
5961
  }], ctorParameters: () => [{ type: i1$6.DomSanitizer }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }] } });
5962
5962
 
5963
5963
  class StandardListViewComponent {
@@ -5988,41 +5988,41 @@ class StandardListViewComponent {
5988
5988
  this.itemSelected.emit(this.selectedItems()[0].data);
5989
5989
  }
5990
5990
  }
5991
- dataSource = input.required(...(ngDevMode ? [{ debugName: "dataSource" }] : []));
5992
- dataControl = input.required(...(ngDevMode ? [{ debugName: "dataControl" }] : []));
5993
- position = input('outer', ...(ngDevMode ? [{ debugName: "position" }] : []));
5994
- isColoredInput = input(false, ...(ngDevMode ? [{ debugName: "isColoredInput" }] : []));
5995
- enableMultiSelect = input(false, ...(ngDevMode ? [{ debugName: "enableMultiSelect" }] : []));
5996
- ctrlPressed = signal(false, ...(ngDevMode ? [{ debugName: "ctrlPressed" }] : []));
5997
- shiftPressed = signal(false, ...(ngDevMode ? [{ debugName: "shiftPressed" }] : []));
5998
- loadingData = signal(true, ...(ngDevMode ? [{ debugName: "loadingData" }] : []));
5999
- loadingPage = signal(false, ...(ngDevMode ? [{ debugName: "loadingPage" }] : []));
6000
- selectedItems = signal([], ...(ngDevMode ? [{ debugName: "selectedItems" }] : []));
6001
- hideSearch = input(false, ...(ngDevMode ? [{ debugName: "hideSearch" }] : []));
6002
- hideDetails = input(false, ...(ngDevMode ? [{ debugName: "hideDetails" }] : []));
6003
- hidePadding = input(false, ...(ngDevMode ? [{ debugName: "hidePadding" }] : [])); // TODO Remove, but the component should have innate outer padding :(
5991
+ dataSource = input.required(...(ngDevMode ? [{ debugName: "dataSource" }] : /* istanbul ignore next */ []));
5992
+ dataControl = input.required(...(ngDevMode ? [{ debugName: "dataControl" }] : /* istanbul ignore next */ []));
5993
+ position = input('outer', ...(ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []));
5994
+ isColoredInput = input(false, ...(ngDevMode ? [{ debugName: "isColoredInput" }] : /* istanbul ignore next */ []));
5995
+ enableMultiSelect = input(false, ...(ngDevMode ? [{ debugName: "enableMultiSelect" }] : /* istanbul ignore next */ []));
5996
+ ctrlPressed = signal(false, ...(ngDevMode ? [{ debugName: "ctrlPressed" }] : /* istanbul ignore next */ []));
5997
+ shiftPressed = signal(false, ...(ngDevMode ? [{ debugName: "shiftPressed" }] : /* istanbul ignore next */ []));
5998
+ loadingData = signal(true, ...(ngDevMode ? [{ debugName: "loadingData" }] : /* istanbul ignore next */ []));
5999
+ loadingPage = signal(false, ...(ngDevMode ? [{ debugName: "loadingPage" }] : /* istanbul ignore next */ []));
6000
+ selectedItems = signal([], ...(ngDevMode ? [{ debugName: "selectedItems" }] : /* istanbul ignore next */ []));
6001
+ hideSearch = input(false, ...(ngDevMode ? [{ debugName: "hideSearch" }] : /* istanbul ignore next */ []));
6002
+ hideDetails = input(false, ...(ngDevMode ? [{ debugName: "hideDetails" }] : /* istanbul ignore next */ []));
6003
+ hidePadding = input(false, ...(ngDevMode ? [{ debugName: "hidePadding" }] : /* istanbul ignore next */ [])); // TODO Remove, but the component should have innate outer padding :(
6004
6004
  width = computed(() => {
6005
6005
  if (this.hideDetails()) {
6006
6006
  return 'w-full';
6007
6007
  }
6008
6008
  return this.position() === 'outer' ? 'basis-1/4' : 'basis-1/3';
6009
- }, ...(ngDevMode ? [{ debugName: "width" }] : []));
6009
+ }, ...(ngDevMode ? [{ debugName: "width" }] : /* istanbul ignore next */ []));
6010
6010
  nameSearchControl = new FormControl('');
6011
6011
  searchTerm = toSignal(this.nameSearchControl.valueChanges.pipe(startWith(this.nameSearchControl.getRawValue())));
6012
- items = signal([], ...(ngDevMode ? [{ debugName: "items" }] : []));
6012
+ items = signal([], ...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
6013
6013
  filteredItems = computed(() => {
6014
6014
  const searchTerm = this.searchTerm();
6015
6015
  if (!searchTerm) {
6016
6016
  return this.items();
6017
6017
  }
6018
6018
  return this.items().filter(item => item.name.toLowerCase().includes(searchTerm.toLowerCase()));
6019
- }, ...(ngDevMode ? [{ debugName: "filteredItems" }] : []));
6019
+ }, ...(ngDevMode ? [{ debugName: "filteredItems" }] : /* istanbul ignore next */ []));
6020
6020
  allSelectableItems = computed(() => {
6021
6021
  return this.filteredItems().filter(item => !item.bulkSelectDisabled);
6022
- }, ...(ngDevMode ? [{ debugName: "allSelectableItems" }] : []));
6022
+ }, ...(ngDevMode ? [{ debugName: "allSelectableItems" }] : /* istanbul ignore next */ []));
6023
6023
  itemSelected = output();
6024
6024
  itemsSelected = output();
6025
- itemTemplate = contentChild('standardListItemTemplate', ...(ngDevMode ? [{ debugName: "itemTemplate" }] : []));
6025
+ itemTemplate = contentChild('standardListItemTemplate', ...(ngDevMode ? [{ debugName: "itemTemplate" }] : /* istanbul ignore next */ []));
6026
6026
  constructor(destroyRef) {
6027
6027
  afterNextRender(() => {
6028
6028
  const dataSource = this.dataSource();
@@ -6198,12 +6198,12 @@ class StandardListViewComponent {
6198
6198
  this.loadingPage.set(false);
6199
6199
  });
6200
6200
  }
6201
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: StandardListViewComponent, deps: [{ token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
6202
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: StandardListViewComponent, isStandalone: true, selector: "app-standard-list-view", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: true, transformFunction: null }, dataControl: { classPropertyName: "dataControl", publicName: "dataControl", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, isColoredInput: { classPropertyName: "isColoredInput", publicName: "isColoredInput", isSignal: true, isRequired: false, transformFunction: null }, enableMultiSelect: { classPropertyName: "enableMultiSelect", publicName: "enableMultiSelect", isSignal: true, isRequired: false, transformFunction: null }, hideSearch: { classPropertyName: "hideSearch", publicName: "hideSearch", isSignal: true, isRequired: false, transformFunction: null }, hideDetails: { classPropertyName: "hideDetails", publicName: "hideDetails", isSignal: true, isRequired: false, transformFunction: null }, hidePadding: { classPropertyName: "hidePadding", publicName: "hidePadding", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemSelected: "itemSelected", itemsSelected: "itemsSelected" }, host: { listeners: { "window:keydown": "onKeyDown($event)", "window:keyup": "onKeyUp($event)" } }, queries: [{ propertyName: "itemTemplate", first: true, predicate: ["standardListItemTemplate"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"container flex h-full w-full min-w-full min-h-full relative overflow-hidden {{hidePadding() ? 'pt-0' : 'pt-2'}}\">\n <div [ngClass]=\"width()\" class=\"master flex shrink-0 grow-0 min-w-0\">\n\n <!-- LISTING -->\n <div class=\"w-full h-full flex flex-col gap-y-2 relative\">\n\n <!-- SEARCH -->\n @if (!hideSearch()) {\n <mat-form-field class=\"w-full small-input\" (keydown.shift)=\"$event.stopPropagation()\" [ngClass]=\"{'colored-input': isColoredInput()}\">\n <mat-label>{{ 'COMMON.SEARCH' | translate }}</mat-label>\n <input matInput type=\"text\" [formControl]=\"nameSearchControl\">\n <mat-icon matSuffix>search</mat-icon>\n </mat-form-field>\n }\n\n <!-- LIST -->\n <div class=\"flex flex-col w-full h-full relative overflow-hidden\">\n @if (!loadingData()) {\n @if (filteredItems(); as items) {\n @if (items.length) {\n <div class=\"flex flex-col w-full grow shrink overflow-y-auto overflow-x-hidden\" [overflowClass]=\"'pr-4'\">\n @for (item of items; track $index) {\n <ng-container [ngTemplateOutlet]=\"itemTemplate() || defaultTemplate\" [ngTemplateOutletContext]=\"{$implicit: item, selectedItems: selectedItems(), selectItems: selectItems.bind(this) , isSelected: isSelected.bind(this), ctrlPressed: ctrlPressed(), shiftPressed: shiftPressed()}\"/>\n\n <!--DEFAULT TEMPLATE-->\n <ng-template #defaultTemplate>\n <mat-card class=\"mb-2 cursor-pointer\" (click)=\"selectItems(item)\"\n [ngClass]=\"[isSelected(item) ? 'selected-item' : 'regular-item hover:bg-hover-color', shiftPressed() ? 'no-select-item' : '', (ctrlPressed() || shiftPressed()) && item.bulkSelectDisabled ? 'bg-disabled-color opacity-50 hover:cursor-auto disabled-item' : '']\"\n [appScrollIntoView]=\"selectedItems().length > 1 ? false : isSelected(item)\"\n [matTooltip]=\"(ctrlPressed() || shiftPressed()) && item.bulkSelectDisabled && item.bulkSelectDisabledTooltip ? (item.bulkSelectDisabledTooltip | translate) : item.name\" matTooltipPosition=\"right\">\n <div class=\"px-3 flex flex-row items-center gap-x-2 item-card\">\n @if (item.icon; as icon) {\n <app-icon [icon]=\"icon\"/>\n }\n <span [ngClass]=\"isSelected(item) ? 'text-mat-sys-surface-container' : 'text-mat-sys-on-surface'\" class=\"truncate flex-1\">{{ item.name }}</span>\n @if (item.rightIcon; as icon) {\n <app-icon [icon]=\"icon\"/>\n }\n </div>\n </mat-card>\n </ng-template>\n }\n\n <!-- Load more -->\n @if (this.dataSource().isPaged && !this.dataSource().isLastPage) {\n <mat-card class=\"mb-2 cursor-pointer regular-item hover:bg-hover-color\" (click)=\"loadMore()\">\n <div class=\"px-3 flex flex-row justify-center items-center gap-x-2 item-card\">\n @if (loadingPage()) {\n <mat-spinner diameter=\"30\"></mat-spinner>\n } @else {\n <span class=\"text-mat-sys-on-surface\">{{ 'COMMON.LOAD_MORE' | translate }}</span>\n }\n </div>\n </mat-card>\n }\n </div>\n } @else {\n <div class=\"flex flex-col grow justify-center items-center\">\n <ng-content select=\"[app-no-items-message]\"></ng-content>\n </div>\n }\n }\n } @else {\n <div class=\"flex flex-col grow justify-center items-center\">\n <mat-spinner diameter=\"30\"></mat-spinner>\n </div>\n }\n\n <!-- ACTIONS (bottom right of the listing) -->\n <div class=\"absolute bottom-0 right-0 z-10\">\n <ng-content select=\"[app-actions]\"/>\n </div>\n </div>\n </div>\n\n </div>\n\n @if (!hideDetails()) {\n <mat-divider [vertical]=\"true\"/>\n\n <!-- DETAILS -->\n <div class=\"details flex shrink grow overflow-hidden\">\n @if (selectedItems().length <= 1) {\n <ng-content select=\"[app-details]\"/>\n } @else {\n <div class=\"h-full w-full flex flex-col items-center justify-center relative\">\n <div class=\"flex flex-col items-center justify-center\">\n <mat-checkbox class=\"w-full\"\n [checked]=\"selectedItems().length === allSelectableItems().length\"\n (change)=\"toggleSelectAll()\">\n {{ 'COMMON.SELECT_ALL' | translate }}\n </mat-checkbox>\n <mat-divider class=\"w-full !mb-2 !mt-2\"></mat-divider>\n <span>{{ 'COMMON.NUMBER_OF_ITEMS_SELECTED' | translate: {numberOfItems: selectedItems().length} }} </span>\n </div>\n <div class=\"absolute bottom-0 right-0\">\n <ng-content select=\"[app-bulk-actions]\"/>\n </div>\n </div>\n }\n </div>\n }\n</div>\n", styles: [":host{display:block;height:100%;width:100%;overflow:hidden}mat-card,.item-card{height:40px!important}.container{background-color:var(--base-color-50)}.container .master{padding-right:16px}.container .details{padding-left:16px}.selected-item{background:var(--mat-sys-primary);fill:var(--mat-sys-on-primary);color:var(--mat-sys-on-primary)}.regular-item{fill:var(--mat-sys-primary);color:var(--mat-sys-primary)}.disabled-item{color:unset}.disabled-item:hover{background-color:var(--neutral-variant-color-60)!important}.disabled-item span{color:unset!important}.no-select-item{user-select:none;-webkit-user-select:none}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i1$7.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i5$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: OverflowClassDirective, selector: "[overflowClass]", inputs: ["overflowClass"] }, { kind: "directive", type: ScrollIntoViewDirective, selector: "[appScrollIntoView]", inputs: ["appScrollIntoView"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["icon"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
6201
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: StandardListViewComponent, deps: [{ token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
6202
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: StandardListViewComponent, isStandalone: true, selector: "app-standard-list-view", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: true, transformFunction: null }, dataControl: { classPropertyName: "dataControl", publicName: "dataControl", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, isColoredInput: { classPropertyName: "isColoredInput", publicName: "isColoredInput", isSignal: true, isRequired: false, transformFunction: null }, enableMultiSelect: { classPropertyName: "enableMultiSelect", publicName: "enableMultiSelect", isSignal: true, isRequired: false, transformFunction: null }, hideSearch: { classPropertyName: "hideSearch", publicName: "hideSearch", isSignal: true, isRequired: false, transformFunction: null }, hideDetails: { classPropertyName: "hideDetails", publicName: "hideDetails", isSignal: true, isRequired: false, transformFunction: null }, hidePadding: { classPropertyName: "hidePadding", publicName: "hidePadding", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemSelected: "itemSelected", itemsSelected: "itemsSelected" }, host: { listeners: { "window:keydown": "onKeyDown($event)", "window:keyup": "onKeyUp($event)" } }, queries: [{ propertyName: "itemTemplate", first: true, predicate: ["standardListItemTemplate"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"container flex h-full w-full min-w-full min-h-full relative overflow-hidden {{hidePadding() ? 'pt-0' : 'pt-2'}}\">\r\n <div [ngClass]=\"width()\" class=\"master flex shrink-0 grow-0 min-w-0\">\r\n\r\n <!-- LISTING -->\r\n <div class=\"w-full h-full flex flex-col gap-y-2 relative\">\r\n\r\n <!-- SEARCH -->\r\n @if (!hideSearch()) {\r\n <mat-form-field class=\"w-full small-input\" (keydown.shift)=\"$event.stopPropagation()\" [ngClass]=\"{'colored-input': isColoredInput()}\">\r\n <mat-label>{{ 'COMMON.SEARCH' | translate }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"nameSearchControl\">\r\n <mat-icon matSuffix>search</mat-icon>\r\n </mat-form-field>\r\n }\r\n\r\n <!-- LIST -->\r\n <div class=\"flex flex-col w-full h-full relative overflow-hidden\">\r\n @if (!loadingData()) {\r\n @if (filteredItems(); as items) {\r\n @if (items.length) {\r\n <div class=\"flex flex-col w-full grow shrink overflow-y-auto overflow-x-hidden\" [overflowClass]=\"'pr-4'\">\r\n @for (item of items; track $index) {\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate() || defaultTemplate\" [ngTemplateOutletContext]=\"{$implicit: item, selectedItems: selectedItems(), selectItems: selectItems.bind(this) , isSelected: isSelected.bind(this), ctrlPressed: ctrlPressed(), shiftPressed: shiftPressed()}\"/>\r\n\r\n <!--DEFAULT TEMPLATE-->\r\n <ng-template #defaultTemplate>\r\n <mat-card class=\"mb-2 cursor-pointer\" (click)=\"selectItems(item)\"\r\n [ngClass]=\"[isSelected(item) ? 'selected-item' : 'regular-item hover:bg-hover-color', shiftPressed() ? 'no-select-item' : '', (ctrlPressed() || shiftPressed()) && item.bulkSelectDisabled ? 'bg-disabled-color opacity-50 hover:cursor-auto disabled-item' : '']\"\r\n [appScrollIntoView]=\"selectedItems().length > 1 ? false : isSelected(item)\"\r\n [matTooltip]=\"(ctrlPressed() || shiftPressed()) && item.bulkSelectDisabled && item.bulkSelectDisabledTooltip ? (item.bulkSelectDisabledTooltip | translate) : item.name\" matTooltipPosition=\"right\">\r\n <div class=\"px-3 flex flex-row items-center gap-x-2 item-card\">\r\n @if (item.icon; as icon) {\r\n <app-icon [icon]=\"icon\"/>\r\n }\r\n <span [ngClass]=\"isSelected(item) ? 'text-mat-sys-surface-container' : 'text-mat-sys-on-surface'\" class=\"truncate flex-1\">{{ item.name }}</span>\r\n @if (item.rightIcon; as icon) {\r\n <app-icon [icon]=\"icon\"/>\r\n }\r\n </div>\r\n </mat-card>\r\n </ng-template>\r\n }\r\n\r\n <!-- Load more -->\r\n @if (this.dataSource().isPaged && !this.dataSource().isLastPage) {\r\n <mat-card class=\"mb-2 cursor-pointer regular-item hover:bg-hover-color\" (click)=\"loadMore()\">\r\n <div class=\"px-3 flex flex-row justify-center items-center gap-x-2 item-card\">\r\n @if (loadingPage()) {\r\n <mat-spinner diameter=\"30\"></mat-spinner>\r\n } @else {\r\n <span class=\"text-mat-sys-on-surface\">{{ 'COMMON.LOAD_MORE' | translate }}</span>\r\n }\r\n </div>\r\n </mat-card>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"flex flex-col grow justify-center items-center\">\r\n <ng-content select=\"[app-no-items-message]\"></ng-content>\r\n </div>\r\n }\r\n }\r\n } @else {\r\n <div class=\"flex flex-col grow justify-center items-center\">\r\n <mat-spinner diameter=\"30\"></mat-spinner>\r\n </div>\r\n }\r\n\r\n <!-- ACTIONS (bottom right of the listing) -->\r\n <div class=\"absolute bottom-0 right-0 z-10\">\r\n <ng-content select=\"[app-actions]\"/>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n @if (!hideDetails()) {\r\n <mat-divider [vertical]=\"true\"/>\r\n\r\n <!-- DETAILS -->\r\n <div class=\"details flex shrink grow overflow-hidden\">\r\n @if (selectedItems().length <= 1) {\r\n <ng-content select=\"[app-details]\"/>\r\n } @else {\r\n <div class=\"h-full w-full flex flex-col items-center justify-center relative\">\r\n <div class=\"flex flex-col items-center justify-center\">\r\n <mat-checkbox class=\"w-full\"\r\n [checked]=\"selectedItems().length === allSelectableItems().length\"\r\n (change)=\"toggleSelectAll()\">\r\n {{ 'COMMON.SELECT_ALL' | translate }}\r\n </mat-checkbox>\r\n <mat-divider class=\"w-full !mb-2 !mt-2\"></mat-divider>\r\n <span>{{ 'COMMON.NUMBER_OF_ITEMS_SELECTED' | translate: {numberOfItems: selectedItems().length} }} </span>\r\n </div>\r\n <div class=\"absolute bottom-0 right-0\">\r\n <ng-content select=\"[app-bulk-actions]\"/>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block;height:100%;width:100%;overflow:hidden}mat-card,.item-card{height:40px!important}.container{background-color:var(--base-color-50)}.container .master{padding-right:16px}.container .details{padding-left:16px}.selected-item{background:var(--mat-sys-primary);fill:var(--mat-sys-on-primary);color:var(--mat-sys-on-primary)}.regular-item{fill:var(--mat-sys-primary);color:var(--mat-sys-primary)}.disabled-item{color:unset}.disabled-item:hover{background-color:var(--neutral-variant-color-60)!important}.disabled-item span{color:unset!important}.no-select-item{user-select:none;-webkit-user-select:none}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i1$7.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i5$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: OverflowClassDirective, selector: "[overflowClass]", inputs: ["overflowClass"] }, { kind: "directive", type: ScrollIntoViewDirective, selector: "[appScrollIntoView]", inputs: ["appScrollIntoView"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["icon"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
6203
6203
  }
6204
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: StandardListViewComponent, decorators: [{
6204
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: StandardListViewComponent, decorators: [{
6205
6205
  type: Component,
6206
- args: [{ selector: 'app-standard-list-view', imports: [SharedModule, OverflowClassDirective, ScrollIntoViewDirective, IconComponent], template: "<div class=\"container flex h-full w-full min-w-full min-h-full relative overflow-hidden {{hidePadding() ? 'pt-0' : 'pt-2'}}\">\n <div [ngClass]=\"width()\" class=\"master flex shrink-0 grow-0 min-w-0\">\n\n <!-- LISTING -->\n <div class=\"w-full h-full flex flex-col gap-y-2 relative\">\n\n <!-- SEARCH -->\n @if (!hideSearch()) {\n <mat-form-field class=\"w-full small-input\" (keydown.shift)=\"$event.stopPropagation()\" [ngClass]=\"{'colored-input': isColoredInput()}\">\n <mat-label>{{ 'COMMON.SEARCH' | translate }}</mat-label>\n <input matInput type=\"text\" [formControl]=\"nameSearchControl\">\n <mat-icon matSuffix>search</mat-icon>\n </mat-form-field>\n }\n\n <!-- LIST -->\n <div class=\"flex flex-col w-full h-full relative overflow-hidden\">\n @if (!loadingData()) {\n @if (filteredItems(); as items) {\n @if (items.length) {\n <div class=\"flex flex-col w-full grow shrink overflow-y-auto overflow-x-hidden\" [overflowClass]=\"'pr-4'\">\n @for (item of items; track $index) {\n <ng-container [ngTemplateOutlet]=\"itemTemplate() || defaultTemplate\" [ngTemplateOutletContext]=\"{$implicit: item, selectedItems: selectedItems(), selectItems: selectItems.bind(this) , isSelected: isSelected.bind(this), ctrlPressed: ctrlPressed(), shiftPressed: shiftPressed()}\"/>\n\n <!--DEFAULT TEMPLATE-->\n <ng-template #defaultTemplate>\n <mat-card class=\"mb-2 cursor-pointer\" (click)=\"selectItems(item)\"\n [ngClass]=\"[isSelected(item) ? 'selected-item' : 'regular-item hover:bg-hover-color', shiftPressed() ? 'no-select-item' : '', (ctrlPressed() || shiftPressed()) && item.bulkSelectDisabled ? 'bg-disabled-color opacity-50 hover:cursor-auto disabled-item' : '']\"\n [appScrollIntoView]=\"selectedItems().length > 1 ? false : isSelected(item)\"\n [matTooltip]=\"(ctrlPressed() || shiftPressed()) && item.bulkSelectDisabled && item.bulkSelectDisabledTooltip ? (item.bulkSelectDisabledTooltip | translate) : item.name\" matTooltipPosition=\"right\">\n <div class=\"px-3 flex flex-row items-center gap-x-2 item-card\">\n @if (item.icon; as icon) {\n <app-icon [icon]=\"icon\"/>\n }\n <span [ngClass]=\"isSelected(item) ? 'text-mat-sys-surface-container' : 'text-mat-sys-on-surface'\" class=\"truncate flex-1\">{{ item.name }}</span>\n @if (item.rightIcon; as icon) {\n <app-icon [icon]=\"icon\"/>\n }\n </div>\n </mat-card>\n </ng-template>\n }\n\n <!-- Load more -->\n @if (this.dataSource().isPaged && !this.dataSource().isLastPage) {\n <mat-card class=\"mb-2 cursor-pointer regular-item hover:bg-hover-color\" (click)=\"loadMore()\">\n <div class=\"px-3 flex flex-row justify-center items-center gap-x-2 item-card\">\n @if (loadingPage()) {\n <mat-spinner diameter=\"30\"></mat-spinner>\n } @else {\n <span class=\"text-mat-sys-on-surface\">{{ 'COMMON.LOAD_MORE' | translate }}</span>\n }\n </div>\n </mat-card>\n }\n </div>\n } @else {\n <div class=\"flex flex-col grow justify-center items-center\">\n <ng-content select=\"[app-no-items-message]\"></ng-content>\n </div>\n }\n }\n } @else {\n <div class=\"flex flex-col grow justify-center items-center\">\n <mat-spinner diameter=\"30\"></mat-spinner>\n </div>\n }\n\n <!-- ACTIONS (bottom right of the listing) -->\n <div class=\"absolute bottom-0 right-0 z-10\">\n <ng-content select=\"[app-actions]\"/>\n </div>\n </div>\n </div>\n\n </div>\n\n @if (!hideDetails()) {\n <mat-divider [vertical]=\"true\"/>\n\n <!-- DETAILS -->\n <div class=\"details flex shrink grow overflow-hidden\">\n @if (selectedItems().length <= 1) {\n <ng-content select=\"[app-details]\"/>\n } @else {\n <div class=\"h-full w-full flex flex-col items-center justify-center relative\">\n <div class=\"flex flex-col items-center justify-center\">\n <mat-checkbox class=\"w-full\"\n [checked]=\"selectedItems().length === allSelectableItems().length\"\n (change)=\"toggleSelectAll()\">\n {{ 'COMMON.SELECT_ALL' | translate }}\n </mat-checkbox>\n <mat-divider class=\"w-full !mb-2 !mt-2\"></mat-divider>\n <span>{{ 'COMMON.NUMBER_OF_ITEMS_SELECTED' | translate: {numberOfItems: selectedItems().length} }} </span>\n </div>\n <div class=\"absolute bottom-0 right-0\">\n <ng-content select=\"[app-bulk-actions]\"/>\n </div>\n </div>\n }\n </div>\n }\n</div>\n", styles: [":host{display:block;height:100%;width:100%;overflow:hidden}mat-card,.item-card{height:40px!important}.container{background-color:var(--base-color-50)}.container .master{padding-right:16px}.container .details{padding-left:16px}.selected-item{background:var(--mat-sys-primary);fill:var(--mat-sys-on-primary);color:var(--mat-sys-on-primary)}.regular-item{fill:var(--mat-sys-primary);color:var(--mat-sys-primary)}.disabled-item{color:unset}.disabled-item:hover{background-color:var(--neutral-variant-color-60)!important}.disabled-item span{color:unset!important}.no-select-item{user-select:none;-webkit-user-select:none}\n"] }]
6206
+ args: [{ selector: 'app-standard-list-view', imports: [SharedModule, OverflowClassDirective, ScrollIntoViewDirective, IconComponent], template: "<div class=\"container flex h-full w-full min-w-full min-h-full relative overflow-hidden {{hidePadding() ? 'pt-0' : 'pt-2'}}\">\r\n <div [ngClass]=\"width()\" class=\"master flex shrink-0 grow-0 min-w-0\">\r\n\r\n <!-- LISTING -->\r\n <div class=\"w-full h-full flex flex-col gap-y-2 relative\">\r\n\r\n <!-- SEARCH -->\r\n @if (!hideSearch()) {\r\n <mat-form-field class=\"w-full small-input\" (keydown.shift)=\"$event.stopPropagation()\" [ngClass]=\"{'colored-input': isColoredInput()}\">\r\n <mat-label>{{ 'COMMON.SEARCH' | translate }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"nameSearchControl\">\r\n <mat-icon matSuffix>search</mat-icon>\r\n </mat-form-field>\r\n }\r\n\r\n <!-- LIST -->\r\n <div class=\"flex flex-col w-full h-full relative overflow-hidden\">\r\n @if (!loadingData()) {\r\n @if (filteredItems(); as items) {\r\n @if (items.length) {\r\n <div class=\"flex flex-col w-full grow shrink overflow-y-auto overflow-x-hidden\" [overflowClass]=\"'pr-4'\">\r\n @for (item of items; track $index) {\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate() || defaultTemplate\" [ngTemplateOutletContext]=\"{$implicit: item, selectedItems: selectedItems(), selectItems: selectItems.bind(this) , isSelected: isSelected.bind(this), ctrlPressed: ctrlPressed(), shiftPressed: shiftPressed()}\"/>\r\n\r\n <!--DEFAULT TEMPLATE-->\r\n <ng-template #defaultTemplate>\r\n <mat-card class=\"mb-2 cursor-pointer\" (click)=\"selectItems(item)\"\r\n [ngClass]=\"[isSelected(item) ? 'selected-item' : 'regular-item hover:bg-hover-color', shiftPressed() ? 'no-select-item' : '', (ctrlPressed() || shiftPressed()) && item.bulkSelectDisabled ? 'bg-disabled-color opacity-50 hover:cursor-auto disabled-item' : '']\"\r\n [appScrollIntoView]=\"selectedItems().length > 1 ? false : isSelected(item)\"\r\n [matTooltip]=\"(ctrlPressed() || shiftPressed()) && item.bulkSelectDisabled && item.bulkSelectDisabledTooltip ? (item.bulkSelectDisabledTooltip | translate) : item.name\" matTooltipPosition=\"right\">\r\n <div class=\"px-3 flex flex-row items-center gap-x-2 item-card\">\r\n @if (item.icon; as icon) {\r\n <app-icon [icon]=\"icon\"/>\r\n }\r\n <span [ngClass]=\"isSelected(item) ? 'text-mat-sys-surface-container' : 'text-mat-sys-on-surface'\" class=\"truncate flex-1\">{{ item.name }}</span>\r\n @if (item.rightIcon; as icon) {\r\n <app-icon [icon]=\"icon\"/>\r\n }\r\n </div>\r\n </mat-card>\r\n </ng-template>\r\n }\r\n\r\n <!-- Load more -->\r\n @if (this.dataSource().isPaged && !this.dataSource().isLastPage) {\r\n <mat-card class=\"mb-2 cursor-pointer regular-item hover:bg-hover-color\" (click)=\"loadMore()\">\r\n <div class=\"px-3 flex flex-row justify-center items-center gap-x-2 item-card\">\r\n @if (loadingPage()) {\r\n <mat-spinner diameter=\"30\"></mat-spinner>\r\n } @else {\r\n <span class=\"text-mat-sys-on-surface\">{{ 'COMMON.LOAD_MORE' | translate }}</span>\r\n }\r\n </div>\r\n </mat-card>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"flex flex-col grow justify-center items-center\">\r\n <ng-content select=\"[app-no-items-message]\"></ng-content>\r\n </div>\r\n }\r\n }\r\n } @else {\r\n <div class=\"flex flex-col grow justify-center items-center\">\r\n <mat-spinner diameter=\"30\"></mat-spinner>\r\n </div>\r\n }\r\n\r\n <!-- ACTIONS (bottom right of the listing) -->\r\n <div class=\"absolute bottom-0 right-0 z-10\">\r\n <ng-content select=\"[app-actions]\"/>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n @if (!hideDetails()) {\r\n <mat-divider [vertical]=\"true\"/>\r\n\r\n <!-- DETAILS -->\r\n <div class=\"details flex shrink grow overflow-hidden\">\r\n @if (selectedItems().length <= 1) {\r\n <ng-content select=\"[app-details]\"/>\r\n } @else {\r\n <div class=\"h-full w-full flex flex-col items-center justify-center relative\">\r\n <div class=\"flex flex-col items-center justify-center\">\r\n <mat-checkbox class=\"w-full\"\r\n [checked]=\"selectedItems().length === allSelectableItems().length\"\r\n (change)=\"toggleSelectAll()\">\r\n {{ 'COMMON.SELECT_ALL' | translate }}\r\n </mat-checkbox>\r\n <mat-divider class=\"w-full !mb-2 !mt-2\"></mat-divider>\r\n <span>{{ 'COMMON.NUMBER_OF_ITEMS_SELECTED' | translate: {numberOfItems: selectedItems().length} }} </span>\r\n </div>\r\n <div class=\"absolute bottom-0 right-0\">\r\n <ng-content select=\"[app-bulk-actions]\"/>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block;height:100%;width:100%;overflow:hidden}mat-card,.item-card{height:40px!important}.container{background-color:var(--base-color-50)}.container .master{padding-right:16px}.container .details{padding-left:16px}.selected-item{background:var(--mat-sys-primary);fill:var(--mat-sys-on-primary);color:var(--mat-sys-on-primary)}.regular-item{fill:var(--mat-sys-primary);color:var(--mat-sys-primary)}.disabled-item{color:unset}.disabled-item:hover{background-color:var(--neutral-variant-color-60)!important}.disabled-item span{color:unset!important}.no-select-item{user-select:none;-webkit-user-select:none}\n"] }]
6207
6207
  }], ctorParameters: () => [{ type: i0.DestroyRef }], propDecorators: { onKeyDown: [{
6208
6208
  type: HostListener,
6209
6209
  args: ['window:keydown', ['$event']]
@@ -6296,10 +6296,10 @@ class TabulatedChipViewComponent {
6296
6296
  router;
6297
6297
  route;
6298
6298
  navigationPersistenceService;
6299
- tabs = input.required(...(ngDevMode ? [{ debugName: "tabs" }] : []));
6300
- queryParamHandling = input('replace', ...(ngDevMode ? [{ debugName: "queryParamHandling" }] : []));
6301
- saveLastActiveTab = input(false, ...(ngDevMode ? [{ debugName: "saveLastActiveTab" }] : []));
6302
- navBarLayoutClasses = input('', ...(ngDevMode ? [{ debugName: "navBarLayoutClasses" }] : []));
6299
+ tabs = input.required(...(ngDevMode ? [{ debugName: "tabs" }] : /* istanbul ignore next */ []));
6300
+ queryParamHandling = input('replace', ...(ngDevMode ? [{ debugName: "queryParamHandling" }] : /* istanbul ignore next */ []));
6301
+ saveLastActiveTab = input(false, ...(ngDevMode ? [{ debugName: "saveLastActiveTab" }] : /* istanbul ignore next */ []));
6302
+ navBarLayoutClasses = input('', ...(ngDevMode ? [{ debugName: "navBarLayoutClasses" }] : /* istanbul ignore next */ []));
6303
6303
  constructor(router, route, navigationPersistenceService) {
6304
6304
  this.router = router;
6305
6305
  this.route = route;
@@ -6316,12 +6316,12 @@ class TabulatedChipViewComponent {
6316
6316
  this.router.navigate([route], { relativeTo: this.route, queryParamsHandling: this.queryParamHandling() });
6317
6317
  }
6318
6318
  }
6319
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TabulatedChipViewComponent, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }, { token: NavigationPersistenceService }], target: i0.ɵɵFactoryTarget.Component });
6320
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: TabulatedChipViewComponent, isStandalone: true, selector: "app-tabulated-chip-view", inputs: { tabs: { classPropertyName: "tabs", publicName: "tabs", isSignal: true, isRequired: true, transformFunction: null }, queryParamHandling: { classPropertyName: "queryParamHandling", publicName: "queryParamHandling", isSignal: true, isRequired: false, transformFunction: null }, saveLastActiveTab: { classPropertyName: "saveLastActiveTab", publicName: "saveLastActiveTab", isSignal: true, isRequired: false, transformFunction: null }, navBarLayoutClasses: { classPropertyName: "navBarLayoutClasses", publicName: "navBarLayoutClasses", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex flex-auto flex-col overflow-hidden tabulated-view-container\">\n <nav mat-tab-nav-bar [mat-stretch-tabs]=\"false\" [tabPanel]=\"tabPanel\" class=\"navigation\" [ngClass]=\"navBarLayoutClasses()\">\n @for (tab of tabs(); track $index) {\n @if (!tab.condition || (tab.condition | async)) {\n <div\n mat-tab-link\n [active]=\"isActive(tab.route)\"\n (click)=\"navigate(tab.route)\"\n [matTooltip]=\"tab.tooltip ? (tab.tooltip | translate) : null\"\n [ngClass]=\"{ 'bg-mat-sys-primary': isActive(tab.route), 'active': isActive(tab.route) }\"\n class=\"rounded mr-2 navigation-tab\"\n [attr.data-test]=\"tab.name + '_tab'\"\n >\n @if (tab.icon) {\n <mat-icon>{{ tab.icon }}</mat-icon>\n }\n <span [ngClass]=\"isActive(tab.route) ?'text-mat-sys-surface-container' : 'text-mat-sys-primary'\">{{ tab.name | translate }}</span>\n </div>\n }\n }\n </nav>\n <mat-tab-nav-panel #tabPanel class=\"flex flex-auto flex-col overflow-hidden\">\n <router-outlet/>\n </mat-tab-nav-panel>\n</div>\n", styles: [":host{display:flex;height:100%;width:100%;max-height:100%;max-width:100%;box-sizing:border-box;--mat-tab-active-indicator-color: transparent;--mat-tab-active-focus-indicator-color: transparent;--mat-tab-active-hover-indicator-color: transparent;--mat-tab-active-ripple-color: transparent;--mat-tab-inactive-ripple-color: transparent;--mat-tab-disabled-ripple-color: transparent;--mat-tab-active-indicator-height: 0;--mat-tab-divider-height: 0px;--mat-tab-container-height: 40px}.navigation{max-width:100%}.navigation-tab{border:1px solid var(--mat-sys-outline-variant);border-radius:10px;padding:0 1rem;height:2.5rem;box-sizing:border-box}.navigation-tab.active{border:none}.navigation-tab:hover{box-shadow:inset 0 0 0 200px #fff3}.navigation-tab:hover mat-icon,.navigation-tab:hover span{opacity:.8}:host-context(.alt-theme) .navigation-tab:hover{box-shadow:inset 0 0 0 200px #0003}:host-context(.alt-theme) .navigation-tab:hover mat-icon,:host-context(.alt-theme) .navigation-tab:hover span{opacity:.6}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4$5.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["fitInkBarToContent", "mat-stretch-tabs", "animationDuration", "backgroundColor", "disableRipple", "color", "tabPanel"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: i4$5.MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: i4$5.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["active", "disabled", "disableRipple", "tabIndex", "id"], exportAs: ["matTabLink"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
6319
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: TabulatedChipViewComponent, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }, { token: NavigationPersistenceService }], target: i0.ɵɵFactoryTarget.Component });
6320
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: TabulatedChipViewComponent, isStandalone: true, selector: "app-tabulated-chip-view", inputs: { tabs: { classPropertyName: "tabs", publicName: "tabs", isSignal: true, isRequired: true, transformFunction: null }, queryParamHandling: { classPropertyName: "queryParamHandling", publicName: "queryParamHandling", isSignal: true, isRequired: false, transformFunction: null }, saveLastActiveTab: { classPropertyName: "saveLastActiveTab", publicName: "saveLastActiveTab", isSignal: true, isRequired: false, transformFunction: null }, navBarLayoutClasses: { classPropertyName: "navBarLayoutClasses", publicName: "navBarLayoutClasses", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex flex-auto flex-col overflow-hidden tabulated-view-container\">\r\n <nav mat-tab-nav-bar [mat-stretch-tabs]=\"false\" [tabPanel]=\"tabPanel\" class=\"navigation\" [ngClass]=\"navBarLayoutClasses()\">\r\n @for (tab of tabs(); track $index) {\r\n @if (!tab.condition || (tab.condition | async)) {\r\n <div\r\n mat-tab-link\r\n [active]=\"isActive(tab.route)\"\r\n (click)=\"navigate(tab.route)\"\r\n [matTooltip]=\"tab.tooltip ? (tab.tooltip | translate) : null\"\r\n [ngClass]=\"{ 'bg-mat-sys-primary': isActive(tab.route), 'active': isActive(tab.route) }\"\r\n class=\"rounded mr-2 navigation-tab\"\r\n [attr.data-test]=\"tab.name + '_tab'\"\r\n >\r\n @if (tab.icon) {\r\n <mat-icon>{{ tab.icon }}</mat-icon>\r\n }\r\n <span [ngClass]=\"isActive(tab.route) ?'text-mat-sys-surface-container' : 'text-mat-sys-primary'\">{{ tab.name | translate }}</span>\r\n </div>\r\n }\r\n }\r\n </nav>\r\n <mat-tab-nav-panel #tabPanel class=\"flex flex-auto flex-col overflow-hidden\">\r\n <router-outlet/>\r\n </mat-tab-nav-panel>\r\n</div>\r\n", styles: [":host{display:flex;height:100%;width:100%;max-height:100%;max-width:100%;box-sizing:border-box;--mat-tab-active-indicator-color: transparent;--mat-tab-active-focus-indicator-color: transparent;--mat-tab-active-hover-indicator-color: transparent;--mat-tab-active-ripple-color: transparent;--mat-tab-inactive-ripple-color: transparent;--mat-tab-disabled-ripple-color: transparent;--mat-tab-active-indicator-height: 0;--mat-tab-divider-height: 0px;--mat-tab-container-height: 40px}.navigation{max-width:100%}.navigation-tab{border:1px solid var(--mat-sys-outline-variant);border-radius:10px;padding:0 1rem;height:2.5rem;box-sizing:border-box}.navigation-tab.active{border:none}.navigation-tab:hover{box-shadow:inset 0 0 0 200px #fff3}.navigation-tab:hover mat-icon,.navigation-tab:hover span{opacity:.8}:host-context(.alt-theme) .navigation-tab:hover{box-shadow:inset 0 0 0 200px #0003}:host-context(.alt-theme) .navigation-tab:hover mat-icon,:host-context(.alt-theme) .navigation-tab:hover span{opacity:.6}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4$5.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["fitInkBarToContent", "mat-stretch-tabs", "animationDuration", "backgroundColor", "disableRipple", "color", "tabPanel"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: i4$5.MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: i4$5.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["active", "disabled", "disableRipple", "tabIndex", "id"], exportAs: ["matTabLink"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
6321
6321
  }
6322
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TabulatedChipViewComponent, decorators: [{
6322
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: TabulatedChipViewComponent, decorators: [{
6323
6323
  type: Component,
6324
- args: [{ selector: 'app-tabulated-chip-view', imports: [SharedModule], template: "<div class=\"flex flex-auto flex-col overflow-hidden tabulated-view-container\">\n <nav mat-tab-nav-bar [mat-stretch-tabs]=\"false\" [tabPanel]=\"tabPanel\" class=\"navigation\" [ngClass]=\"navBarLayoutClasses()\">\n @for (tab of tabs(); track $index) {\n @if (!tab.condition || (tab.condition | async)) {\n <div\n mat-tab-link\n [active]=\"isActive(tab.route)\"\n (click)=\"navigate(tab.route)\"\n [matTooltip]=\"tab.tooltip ? (tab.tooltip | translate) : null\"\n [ngClass]=\"{ 'bg-mat-sys-primary': isActive(tab.route), 'active': isActive(tab.route) }\"\n class=\"rounded mr-2 navigation-tab\"\n [attr.data-test]=\"tab.name + '_tab'\"\n >\n @if (tab.icon) {\n <mat-icon>{{ tab.icon }}</mat-icon>\n }\n <span [ngClass]=\"isActive(tab.route) ?'text-mat-sys-surface-container' : 'text-mat-sys-primary'\">{{ tab.name | translate }}</span>\n </div>\n }\n }\n </nav>\n <mat-tab-nav-panel #tabPanel class=\"flex flex-auto flex-col overflow-hidden\">\n <router-outlet/>\n </mat-tab-nav-panel>\n</div>\n", styles: [":host{display:flex;height:100%;width:100%;max-height:100%;max-width:100%;box-sizing:border-box;--mat-tab-active-indicator-color: transparent;--mat-tab-active-focus-indicator-color: transparent;--mat-tab-active-hover-indicator-color: transparent;--mat-tab-active-ripple-color: transparent;--mat-tab-inactive-ripple-color: transparent;--mat-tab-disabled-ripple-color: transparent;--mat-tab-active-indicator-height: 0;--mat-tab-divider-height: 0px;--mat-tab-container-height: 40px}.navigation{max-width:100%}.navigation-tab{border:1px solid var(--mat-sys-outline-variant);border-radius:10px;padding:0 1rem;height:2.5rem;box-sizing:border-box}.navigation-tab.active{border:none}.navigation-tab:hover{box-shadow:inset 0 0 0 200px #fff3}.navigation-tab:hover mat-icon,.navigation-tab:hover span{opacity:.8}:host-context(.alt-theme) .navigation-tab:hover{box-shadow:inset 0 0 0 200px #0003}:host-context(.alt-theme) .navigation-tab:hover mat-icon,:host-context(.alt-theme) .navigation-tab:hover span{opacity:.6}\n"] }]
6324
+ args: [{ selector: 'app-tabulated-chip-view', imports: [SharedModule], template: "<div class=\"flex flex-auto flex-col overflow-hidden tabulated-view-container\">\r\n <nav mat-tab-nav-bar [mat-stretch-tabs]=\"false\" [tabPanel]=\"tabPanel\" class=\"navigation\" [ngClass]=\"navBarLayoutClasses()\">\r\n @for (tab of tabs(); track $index) {\r\n @if (!tab.condition || (tab.condition | async)) {\r\n <div\r\n mat-tab-link\r\n [active]=\"isActive(tab.route)\"\r\n (click)=\"navigate(tab.route)\"\r\n [matTooltip]=\"tab.tooltip ? (tab.tooltip | translate) : null\"\r\n [ngClass]=\"{ 'bg-mat-sys-primary': isActive(tab.route), 'active': isActive(tab.route) }\"\r\n class=\"rounded mr-2 navigation-tab\"\r\n [attr.data-test]=\"tab.name + '_tab'\"\r\n >\r\n @if (tab.icon) {\r\n <mat-icon>{{ tab.icon }}</mat-icon>\r\n }\r\n <span [ngClass]=\"isActive(tab.route) ?'text-mat-sys-surface-container' : 'text-mat-sys-primary'\">{{ tab.name | translate }}</span>\r\n </div>\r\n }\r\n }\r\n </nav>\r\n <mat-tab-nav-panel #tabPanel class=\"flex flex-auto flex-col overflow-hidden\">\r\n <router-outlet/>\r\n </mat-tab-nav-panel>\r\n</div>\r\n", styles: [":host{display:flex;height:100%;width:100%;max-height:100%;max-width:100%;box-sizing:border-box;--mat-tab-active-indicator-color: transparent;--mat-tab-active-focus-indicator-color: transparent;--mat-tab-active-hover-indicator-color: transparent;--mat-tab-active-ripple-color: transparent;--mat-tab-inactive-ripple-color: transparent;--mat-tab-disabled-ripple-color: transparent;--mat-tab-active-indicator-height: 0;--mat-tab-divider-height: 0px;--mat-tab-container-height: 40px}.navigation{max-width:100%}.navigation-tab{border:1px solid var(--mat-sys-outline-variant);border-radius:10px;padding:0 1rem;height:2.5rem;box-sizing:border-box}.navigation-tab.active{border:none}.navigation-tab:hover{box-shadow:inset 0 0 0 200px #fff3}.navigation-tab:hover mat-icon,.navigation-tab:hover span{opacity:.8}:host-context(.alt-theme) .navigation-tab:hover{box-shadow:inset 0 0 0 200px #0003}:host-context(.alt-theme) .navigation-tab:hover mat-icon,:host-context(.alt-theme) .navigation-tab:hover span{opacity:.6}\n"] }]
6325
6325
  }], ctorParameters: () => [{ type: i1$2.Router }, { type: i1$2.ActivatedRoute }, { type: NavigationPersistenceService }], propDecorators: { tabs: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabs", required: true }] }], queryParamHandling: [{ type: i0.Input, args: [{ isSignal: true, alias: "queryParamHandling", required: false }] }], saveLastActiveTab: [{ type: i0.Input, args: [{ isSignal: true, alias: "saveLastActiveTab", required: false }] }], navBarLayoutClasses: [{ type: i0.Input, args: [{ isSignal: true, alias: "navBarLayoutClasses", required: false }] }] } });
6326
6326
 
6327
6327
  class TabulatedViewComponent {
@@ -6347,12 +6347,12 @@ class TabulatedViewComponent {
6347
6347
  this.router.navigate([route], { relativeTo: this.route, queryParamsHandling: this.queryParamHandling });
6348
6348
  }
6349
6349
  }
6350
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TabulatedViewComponent, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }, { token: NavigationPersistenceService }], target: i0.ɵɵFactoryTarget.Component });
6351
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: TabulatedViewComponent, isStandalone: true, selector: "app-tabulated-view", inputs: { tabs: "tabs", queryParamHandling: "queryParamHandling", saveLastActiveTab: "saveLastActiveTab" }, ngImport: i0, template: "<div class=\"flex flex-auto flex-col overflow-hidden\">\n <nav mat-tab-nav-bar [mat-stretch-tabs]=\"false\" [tabPanel]=\"tabPanel\" class=\"navigation\">\n <div\n *ngFor=\"let tab of tabs\"\n mat-tab-link\n [active]=\"isActive(tab.route)\"\n (click)=\"navigate(tab.route)\"\n [matTooltip]=\"tab.tooltip ? (tab.tooltip | translate) : null\"\n [attr.data-test]=\"tab.name + '_tab'\"\n >\n <mat-icon *ngIf=\"tab.icon\">\n {{ tab.icon }}\n </mat-icon>\n {{ tab.name | translate }}\n </div>\n </nav>\n <mat-tab-nav-panel #tabPanel class=\"flex flex-auto flex-col overflow-hidden\">\n <router-outlet></router-outlet>\n </mat-tab-nav-panel>\n</div>\n", styles: [":host{display:flex;height:100%;width:100%;max-height:100%;max-width:100%;box-sizing:border-box}.navigation{border-bottom:1px solid rgba(0,0,0,.12);max-width:100%}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4$5.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["fitInkBarToContent", "mat-stretch-tabs", "animationDuration", "backgroundColor", "disableRipple", "color", "tabPanel"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: i4$5.MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: i4$5.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["active", "disabled", "disableRipple", "tabIndex", "id"], exportAs: ["matTabLink"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
6350
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: TabulatedViewComponent, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }, { token: NavigationPersistenceService }], target: i0.ɵɵFactoryTarget.Component });
6351
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.13", type: TabulatedViewComponent, isStandalone: true, selector: "app-tabulated-view", inputs: { tabs: "tabs", queryParamHandling: "queryParamHandling", saveLastActiveTab: "saveLastActiveTab" }, ngImport: i0, template: "<div class=\"flex flex-auto flex-col overflow-hidden\">\r\n <nav mat-tab-nav-bar [mat-stretch-tabs]=\"false\" [tabPanel]=\"tabPanel\" class=\"navigation\">\r\n <div\r\n *ngFor=\"let tab of tabs\"\r\n mat-tab-link\r\n [active]=\"isActive(tab.route)\"\r\n (click)=\"navigate(tab.route)\"\r\n [matTooltip]=\"tab.tooltip ? (tab.tooltip | translate) : null\"\r\n [attr.data-test]=\"tab.name + '_tab'\"\r\n >\r\n <mat-icon *ngIf=\"tab.icon\">\r\n {{ tab.icon }}\r\n </mat-icon>\r\n {{ tab.name | translate }}\r\n </div>\r\n </nav>\r\n <mat-tab-nav-panel #tabPanel class=\"flex flex-auto flex-col overflow-hidden\">\r\n <router-outlet></router-outlet>\r\n </mat-tab-nav-panel>\r\n</div>\r\n", styles: [":host{display:flex;height:100%;width:100%;max-height:100%;max-width:100%;box-sizing:border-box}.navigation{border-bottom:1px solid rgba(0,0,0,.12);max-width:100%}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4$5.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["fitInkBarToContent", "mat-stretch-tabs", "animationDuration", "backgroundColor", "disableRipple", "color", "tabPanel"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: i4$5.MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: i4$5.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["active", "disabled", "disableRipple", "tabIndex", "id"], exportAs: ["matTabLink"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
6352
6352
  }
6353
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TabulatedViewComponent, decorators: [{
6353
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: TabulatedViewComponent, decorators: [{
6354
6354
  type: Component,
6355
- args: [{ selector: 'app-tabulated-view', imports: [SharedModule], template: "<div class=\"flex flex-auto flex-col overflow-hidden\">\n <nav mat-tab-nav-bar [mat-stretch-tabs]=\"false\" [tabPanel]=\"tabPanel\" class=\"navigation\">\n <div\n *ngFor=\"let tab of tabs\"\n mat-tab-link\n [active]=\"isActive(tab.route)\"\n (click)=\"navigate(tab.route)\"\n [matTooltip]=\"tab.tooltip ? (tab.tooltip | translate) : null\"\n [attr.data-test]=\"tab.name + '_tab'\"\n >\n <mat-icon *ngIf=\"tab.icon\">\n {{ tab.icon }}\n </mat-icon>\n {{ tab.name | translate }}\n </div>\n </nav>\n <mat-tab-nav-panel #tabPanel class=\"flex flex-auto flex-col overflow-hidden\">\n <router-outlet></router-outlet>\n </mat-tab-nav-panel>\n</div>\n", styles: [":host{display:flex;height:100%;width:100%;max-height:100%;max-width:100%;box-sizing:border-box}.navigation{border-bottom:1px solid rgba(0,0,0,.12);max-width:100%}\n"] }]
6355
+ args: [{ selector: 'app-tabulated-view', imports: [SharedModule], template: "<div class=\"flex flex-auto flex-col overflow-hidden\">\r\n <nav mat-tab-nav-bar [mat-stretch-tabs]=\"false\" [tabPanel]=\"tabPanel\" class=\"navigation\">\r\n <div\r\n *ngFor=\"let tab of tabs\"\r\n mat-tab-link\r\n [active]=\"isActive(tab.route)\"\r\n (click)=\"navigate(tab.route)\"\r\n [matTooltip]=\"tab.tooltip ? (tab.tooltip | translate) : null\"\r\n [attr.data-test]=\"tab.name + '_tab'\"\r\n >\r\n <mat-icon *ngIf=\"tab.icon\">\r\n {{ tab.icon }}\r\n </mat-icon>\r\n {{ tab.name | translate }}\r\n </div>\r\n </nav>\r\n <mat-tab-nav-panel #tabPanel class=\"flex flex-auto flex-col overflow-hidden\">\r\n <router-outlet></router-outlet>\r\n </mat-tab-nav-panel>\r\n</div>\r\n", styles: [":host{display:flex;height:100%;width:100%;max-height:100%;max-width:100%;box-sizing:border-box}.navigation{border-bottom:1px solid rgba(0,0,0,.12);max-width:100%}\n"] }]
6356
6356
  }], ctorParameters: () => [{ type: i1$2.Router }, { type: i1$2.ActivatedRoute }, { type: NavigationPersistenceService }], propDecorators: { tabs: [{
6357
6357
  type: Input,
6358
6358
  args: [{ required: true }]
@@ -6363,7 +6363,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
6363
6363
  }] } });
6364
6364
 
6365
6365
  class TreeNodeComponent {
6366
- node = input.required(...(ngDevMode ? [{ debugName: "node" }] : []));
6366
+ node = input.required(...(ngDevMode ? [{ debugName: "node" }] : /* istanbul ignore next */ []));
6367
6367
  nodeSelected = output();
6368
6368
  toggle(node) {
6369
6369
  node.open = !node.open;
@@ -6371,17 +6371,17 @@ class TreeNodeComponent {
6371
6371
  selectNode(node) {
6372
6372
  this.nodeSelected.emit(node);
6373
6373
  }
6374
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TreeNodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6375
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: TreeNodeComponent, isStandalone: true, selector: "app-tree-node", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { nodeSelected: "nodeSelected" }, ngImport: i0, template: "<div class=\"w-full flex flex-col\">\n <!-- ROW -->\n <div class=\"w-full h-10 flex flex-row items-center\">\n\n <!-- ARROWS -->\n @if (node().canHaveChildren) {\n @if (node().open) {\n <button mat-icon-button class=\"scale-80\" (click)=\"toggle(node())\">\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n } @else {\n <button mat-icon-button class=\"scale-80\" [disabled]=\"!node().hasChildren\" (click)=\"toggle(node())\">\n <mat-icon>keyboard_arrow_right</mat-icon>\n </button>\n }\n } @else {\n <div class=\"w-12 h-12\">&nbsp;</div>\n }\n\n <!-- ICON AND TEXT -->\n <div class=\"flex flex-row items-center cursor-pointer\" (click)=\"selectNode(node())\">\n <mat-icon [ngClass]=\"node().selected ? 'text-mat-sys-tertiary' : 'text-mat-sys-primary'\">{{ node().icon }}</mat-icon>\n <div class=\"pl-2\" [ngClass]=\"{ 'text-mat-sys-tertiary' : node().selected }\">{{ node().name }}</div>\n </div>\n </div>\n\n <!-- Children -->\n @if (node().open) {\n <div class=\"w-full flex flex-col pl-9\">\n @if (node().children | async; as children) {\n @for (child of children; track $index) {\n <app-tree-node [node]=\"child\" (nodeSelected)=\"selectNode($event)\"/>\n }\n }\n </div>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: TreeNodeComponent, selector: "app-tree-node", inputs: ["node"], outputs: ["nodeSelected"] }, { kind: "ngmodule", type: SharedModule }, { kind: "component", type: i1$4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
6374
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: TreeNodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6375
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: TreeNodeComponent, isStandalone: true, selector: "app-tree-node", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { nodeSelected: "nodeSelected" }, ngImport: i0, template: "<div class=\"w-full flex flex-col\">\r\n <!-- ROW -->\r\n <div class=\"w-full h-10 flex flex-row items-center\">\r\n\r\n <!-- ARROWS -->\r\n @if (node().canHaveChildren) {\r\n @if (node().open) {\r\n <button mat-icon-button class=\"scale-80\" (click)=\"toggle(node())\">\r\n <mat-icon>keyboard_arrow_down</mat-icon>\r\n </button>\r\n } @else {\r\n <button mat-icon-button class=\"scale-80\" [disabled]=\"!node().hasChildren\" (click)=\"toggle(node())\">\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </button>\r\n }\r\n } @else {\r\n <div class=\"w-12 h-12\">&nbsp;</div>\r\n }\r\n\r\n <!-- ICON AND TEXT -->\r\n <div class=\"flex flex-row items-center cursor-pointer\" (click)=\"selectNode(node())\">\r\n <mat-icon [ngClass]=\"node().selected ? 'text-mat-sys-tertiary' : 'text-mat-sys-primary'\">{{ node().icon }}</mat-icon>\r\n <div class=\"pl-2\" [ngClass]=\"{ 'text-mat-sys-tertiary' : node().selected }\">{{ node().name }}</div>\r\n </div>\r\n </div>\r\n\r\n <!-- Children -->\r\n @if (node().open) {\r\n <div class=\"w-full flex flex-col pl-9\">\r\n @if (node().children | async; as children) {\r\n @for (child of children; track $index) {\r\n <app-tree-node [node]=\"child\" (nodeSelected)=\"selectNode($event)\"/>\r\n }\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: TreeNodeComponent, selector: "app-tree-node", inputs: ["node"], outputs: ["nodeSelected"] }, { kind: "ngmodule", type: SharedModule }, { kind: "component", type: i1$4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
6376
6376
  }
6377
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TreeNodeComponent, decorators: [{
6377
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: TreeNodeComponent, decorators: [{
6378
6378
  type: Component,
6379
- args: [{ selector: 'app-tree-node', imports: [SharedModule], template: "<div class=\"w-full flex flex-col\">\n <!-- ROW -->\n <div class=\"w-full h-10 flex flex-row items-center\">\n\n <!-- ARROWS -->\n @if (node().canHaveChildren) {\n @if (node().open) {\n <button mat-icon-button class=\"scale-80\" (click)=\"toggle(node())\">\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n } @else {\n <button mat-icon-button class=\"scale-80\" [disabled]=\"!node().hasChildren\" (click)=\"toggle(node())\">\n <mat-icon>keyboard_arrow_right</mat-icon>\n </button>\n }\n } @else {\n <div class=\"w-12 h-12\">&nbsp;</div>\n }\n\n <!-- ICON AND TEXT -->\n <div class=\"flex flex-row items-center cursor-pointer\" (click)=\"selectNode(node())\">\n <mat-icon [ngClass]=\"node().selected ? 'text-mat-sys-tertiary' : 'text-mat-sys-primary'\">{{ node().icon }}</mat-icon>\n <div class=\"pl-2\" [ngClass]=\"{ 'text-mat-sys-tertiary' : node().selected }\">{{ node().name }}</div>\n </div>\n </div>\n\n <!-- Children -->\n @if (node().open) {\n <div class=\"w-full flex flex-col pl-9\">\n @if (node().children | async; as children) {\n @for (child of children; track $index) {\n <app-tree-node [node]=\"child\" (nodeSelected)=\"selectNode($event)\"/>\n }\n }\n </div>\n }\n</div>\n" }]
6379
+ args: [{ selector: 'app-tree-node', imports: [SharedModule], template: "<div class=\"w-full flex flex-col\">\r\n <!-- ROW -->\r\n <div class=\"w-full h-10 flex flex-row items-center\">\r\n\r\n <!-- ARROWS -->\r\n @if (node().canHaveChildren) {\r\n @if (node().open) {\r\n <button mat-icon-button class=\"scale-80\" (click)=\"toggle(node())\">\r\n <mat-icon>keyboard_arrow_down</mat-icon>\r\n </button>\r\n } @else {\r\n <button mat-icon-button class=\"scale-80\" [disabled]=\"!node().hasChildren\" (click)=\"toggle(node())\">\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </button>\r\n }\r\n } @else {\r\n <div class=\"w-12 h-12\">&nbsp;</div>\r\n }\r\n\r\n <!-- ICON AND TEXT -->\r\n <div class=\"flex flex-row items-center cursor-pointer\" (click)=\"selectNode(node())\">\r\n <mat-icon [ngClass]=\"node().selected ? 'text-mat-sys-tertiary' : 'text-mat-sys-primary'\">{{ node().icon }}</mat-icon>\r\n <div class=\"pl-2\" [ngClass]=\"{ 'text-mat-sys-tertiary' : node().selected }\">{{ node().name }}</div>\r\n </div>\r\n </div>\r\n\r\n <!-- Children -->\r\n @if (node().open) {\r\n <div class=\"w-full flex flex-col pl-9\">\r\n @if (node().children | async; as children) {\r\n @for (child of children; track $index) {\r\n <app-tree-node [node]=\"child\" (nodeSelected)=\"selectNode($event)\"/>\r\n }\r\n }\r\n </div>\r\n }\r\n</div>\r\n" }]
6380
6380
  }], propDecorators: { node: [{ type: i0.Input, args: [{ isSignal: true, alias: "node", required: true }] }], nodeSelected: [{ type: i0.Output, args: ["nodeSelected"] }] } });
6381
6381
 
6382
6382
  class TreeComponent {
6383
- roots = input.required(...(ngDevMode ? [{ debugName: "roots" }] : []));
6384
- guidPath = input.required(...(ngDevMode ? [{ debugName: "guidPath" }] : []));
6383
+ roots = input.required(...(ngDevMode ? [{ debugName: "roots" }] : /* istanbul ignore next */ []));
6384
+ guidPath = input.required(...(ngDevMode ? [{ debugName: "guidPath" }] : /* istanbul ignore next */ []));
6385
6385
  nodeSelected = output();
6386
6386
  selectedNode = null;
6387
6387
  constructor() {
@@ -6425,19 +6425,19 @@ class TreeComponent {
6425
6425
  this.selectedNode = node;
6426
6426
  this.selectedNode.selected = true;
6427
6427
  }
6428
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6429
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: TreeComponent, isStandalone: true, selector: "app-tree", inputs: { roots: { classPropertyName: "roots", publicName: "roots", isSignal: true, isRequired: true, transformFunction: null }, guidPath: { classPropertyName: "guidPath", publicName: "guidPath", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { nodeSelected: "nodeSelected" }, ngImport: i0, template: "<div class=\"h-full w-full flex flex-col\">\n @for (node of roots(); track $index) {\n <app-tree-node [node]=\"node\" (nodeSelected)=\"selectNode($event)\"/>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: TreeNodeComponent, selector: "app-tree-node", inputs: ["node"], outputs: ["nodeSelected"] }] });
6428
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6429
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: TreeComponent, isStandalone: true, selector: "app-tree", inputs: { roots: { classPropertyName: "roots", publicName: "roots", isSignal: true, isRequired: true, transformFunction: null }, guidPath: { classPropertyName: "guidPath", publicName: "guidPath", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { nodeSelected: "nodeSelected" }, ngImport: i0, template: "<div class=\"h-full w-full flex flex-col\">\r\n @for (node of roots(); track $index) {\r\n <app-tree-node [node]=\"node\" (nodeSelected)=\"selectNode($event)\"/>\r\n }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: TreeNodeComponent, selector: "app-tree-node", inputs: ["node"], outputs: ["nodeSelected"] }] });
6430
6430
  }
6431
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TreeComponent, decorators: [{
6431
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: TreeComponent, decorators: [{
6432
6432
  type: Component,
6433
- args: [{ selector: 'app-tree', imports: [TreeNodeComponent], template: "<div class=\"h-full w-full flex flex-col\">\n @for (node of roots(); track $index) {\n <app-tree-node [node]=\"node\" (nodeSelected)=\"selectNode($event)\"/>\n }\n</div>\n" }]
6433
+ args: [{ selector: 'app-tree', imports: [TreeNodeComponent], template: "<div class=\"h-full w-full flex flex-col\">\r\n @for (node of roots(); track $index) {\r\n <app-tree-node [node]=\"node\" (nodeSelected)=\"selectNode($event)\"/>\r\n }\r\n</div>\r\n" }]
6434
6434
  }], ctorParameters: () => [], propDecorators: { roots: [{ type: i0.Input, args: [{ isSignal: true, alias: "roots", required: true }] }], guidPath: [{ type: i0.Input, args: [{ isSignal: true, alias: "guidPath", required: true }] }], nodeSelected: [{ type: i0.Output, args: ["nodeSelected"] }] } });
6435
6435
 
6436
6436
  class ValueDisplayComponent {
6437
6437
  DataType = DataType;
6438
- value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
6439
- type = input.required(...(ngDevMode ? [{ debugName: "type" }] : []));
6440
- unit = input(...(ngDevMode ? [undefined, { debugName: "unit" }] : []));
6438
+ value = input.required(...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
6439
+ type = input.required(...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
6440
+ unit = input(...(ngDevMode ? [undefined, { debugName: "unit" }] : /* istanbul ignore next */ []));
6441
6441
  constructor() {
6442
6442
  }
6443
6443
  getNumber(epochTime) {
@@ -6446,22 +6446,22 @@ class ValueDisplayComponent {
6446
6446
  getVectorValue(vector) {
6447
6447
  return vector.replaceAll(',', ', ');
6448
6448
  }
6449
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6450
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: ValueDisplayComponent, isStandalone: true, selector: "app-value-display", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, unit: { classPropertyName: "unit", publicName: "unit", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (value(); as value) {\n @switch (type()) {\n @case (DataType.BOOLEAN) {\n <mat-icon>{{ value === 'true' ? 'check' : 'close' }}</mat-icon>\n }\n @case (DataType.COLOR) {\n <div class=\"color-circle\" [style.background-color]=\"value\"></div>\n }\n @case (DataType.DATE) {\n <div class=\"truncate\" matTooltip=\"{{ getNumber(value) | simpleDateTime }}\">{{ getNumber(value) | simpleDateTime }}</div>\n }\n @case (DataType.DURATION) {\n {{ getNumber(value) | duration }}\n }\n @case (DataType.LINK) {\n <div class=\"truncate\" matTooltip=\"{{ value }}\">\n <a href=\"{{value}}\" target=\"_blank\" class=\"underline\">{{ value }}</a>\n </div>\n }\n @case (DataType.VECTOR) {\n <div class=\"truncate\" matTooltip=\"{{ getVectorValue(value) }}\">{{ getVectorValue(value) }}</div>\n }\n @case (DataType.NUMERIC){\n <div class=\"truncate\" matTooltip=\"{{ getNumber(value) }} {{ unit() }}\">{{getNumber(value) | localizedNumber}} {{ unit() }}</div>\n }\n @default {\n <div class=\"truncate\" matTooltip=\"{{ value }} {{ unit() }}\">{{ value }} {{ unit() }}</div>\n }\n }\n} @else {\n -\n}\n", styles: [".color-circle{width:1.5rem;height:1.5rem;margin-top:.25rem;border-radius:9999px}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: DurationPipe, name: "duration" }, { kind: "pipe", type: SimpleDateTimePipe, name: "simpleDateTime" }, { kind: "pipe", type: LocalizedNumberPipe, name: "localizedNumber" }] });
6449
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6450
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: ValueDisplayComponent, isStandalone: true, selector: "app-value-display", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, unit: { classPropertyName: "unit", publicName: "unit", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (value(); as value) {\r\n @switch (type()) {\r\n @case (DataType.BOOLEAN) {\r\n <mat-icon>{{ value === 'true' ? 'check' : 'close' }}</mat-icon>\r\n }\r\n @case (DataType.COLOR) {\r\n <div class=\"color-circle\" [style.background-color]=\"value\"></div>\r\n }\r\n @case (DataType.DATE) {\r\n <div class=\"truncate\" matTooltip=\"{{ getNumber(value) | simpleDateTime }}\">{{ getNumber(value) | simpleDateTime }}</div>\r\n }\r\n @case (DataType.DURATION) {\r\n {{ getNumber(value) | duration }}\r\n }\r\n @case (DataType.LINK) {\r\n <div class=\"truncate\" matTooltip=\"{{ value }}\">\r\n <a href=\"{{value}}\" target=\"_blank\" class=\"underline\">{{ value }}</a>\r\n </div>\r\n }\r\n @case (DataType.VECTOR) {\r\n <div class=\"truncate\" matTooltip=\"{{ getVectorValue(value) }}\">{{ getVectorValue(value) }}</div>\r\n }\r\n @case (DataType.NUMERIC){\r\n <div class=\"truncate\" matTooltip=\"{{ getNumber(value) }} {{ unit() }}\">{{getNumber(value) | localizedNumber}} {{ unit() }}</div>\r\n }\r\n @default {\r\n <div class=\"truncate\" matTooltip=\"{{ value }} {{ unit() }}\">{{ value }} {{ unit() }}</div>\r\n }\r\n }\r\n} @else {\r\n -\r\n}\r\n", styles: [".color-circle{width:1.5rem;height:1.5rem;margin-top:.25rem;border-radius:9999px}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: DurationPipe, name: "duration" }, { kind: "pipe", type: SimpleDateTimePipe, name: "simpleDateTime" }, { kind: "pipe", type: LocalizedNumberPipe, name: "localizedNumber" }] });
6451
6451
  }
6452
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueDisplayComponent, decorators: [{
6452
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueDisplayComponent, decorators: [{
6453
6453
  type: Component,
6454
- args: [{ selector: 'app-value-display', imports: [SharedModule, DurationPipe, SimpleDateTimePipe, LocalizedNumberPipe], template: "@if (value(); as value) {\n @switch (type()) {\n @case (DataType.BOOLEAN) {\n <mat-icon>{{ value === 'true' ? 'check' : 'close' }}</mat-icon>\n }\n @case (DataType.COLOR) {\n <div class=\"color-circle\" [style.background-color]=\"value\"></div>\n }\n @case (DataType.DATE) {\n <div class=\"truncate\" matTooltip=\"{{ getNumber(value) | simpleDateTime }}\">{{ getNumber(value) | simpleDateTime }}</div>\n }\n @case (DataType.DURATION) {\n {{ getNumber(value) | duration }}\n }\n @case (DataType.LINK) {\n <div class=\"truncate\" matTooltip=\"{{ value }}\">\n <a href=\"{{value}}\" target=\"_blank\" class=\"underline\">{{ value }}</a>\n </div>\n }\n @case (DataType.VECTOR) {\n <div class=\"truncate\" matTooltip=\"{{ getVectorValue(value) }}\">{{ getVectorValue(value) }}</div>\n }\n @case (DataType.NUMERIC){\n <div class=\"truncate\" matTooltip=\"{{ getNumber(value) }} {{ unit() }}\">{{getNumber(value) | localizedNumber}} {{ unit() }}</div>\n }\n @default {\n <div class=\"truncate\" matTooltip=\"{{ value }} {{ unit() }}\">{{ value }} {{ unit() }}</div>\n }\n }\n} @else {\n -\n}\n", styles: [".color-circle{width:1.5rem;height:1.5rem;margin-top:.25rem;border-radius:9999px}\n"] }]
6454
+ args: [{ selector: 'app-value-display', imports: [SharedModule, DurationPipe, SimpleDateTimePipe, LocalizedNumberPipe], template: "@if (value(); as value) {\r\n @switch (type()) {\r\n @case (DataType.BOOLEAN) {\r\n <mat-icon>{{ value === 'true' ? 'check' : 'close' }}</mat-icon>\r\n }\r\n @case (DataType.COLOR) {\r\n <div class=\"color-circle\" [style.background-color]=\"value\"></div>\r\n }\r\n @case (DataType.DATE) {\r\n <div class=\"truncate\" matTooltip=\"{{ getNumber(value) | simpleDateTime }}\">{{ getNumber(value) | simpleDateTime }}</div>\r\n }\r\n @case (DataType.DURATION) {\r\n {{ getNumber(value) | duration }}\r\n }\r\n @case (DataType.LINK) {\r\n <div class=\"truncate\" matTooltip=\"{{ value }}\">\r\n <a href=\"{{value}}\" target=\"_blank\" class=\"underline\">{{ value }}</a>\r\n </div>\r\n }\r\n @case (DataType.VECTOR) {\r\n <div class=\"truncate\" matTooltip=\"{{ getVectorValue(value) }}\">{{ getVectorValue(value) }}</div>\r\n }\r\n @case (DataType.NUMERIC){\r\n <div class=\"truncate\" matTooltip=\"{{ getNumber(value) }} {{ unit() }}\">{{getNumber(value) | localizedNumber}} {{ unit() }}</div>\r\n }\r\n @default {\r\n <div class=\"truncate\" matTooltip=\"{{ value }} {{ unit() }}\">{{ value }} {{ unit() }}</div>\r\n }\r\n }\r\n} @else {\r\n -\r\n}\r\n", styles: [".color-circle{width:1.5rem;height:1.5rem;margin-top:.25rem;border-radius:9999px}\n"] }]
6455
6455
  }], ctorParameters: () => [], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: true }] }], unit: [{ type: i0.Input, args: [{ isSignal: true, alias: "unit", required: false }] }] } });
6456
6456
 
6457
6457
  class ValueInputBooleanComponent {
6458
6458
  translate;
6459
- name = input('', ...(ngDevMode ? [{ debugName: "name" }] : []));
6459
+ name = input('', ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
6460
6460
  formControl = new FormControl(false);
6461
6461
  destroy$ = new Subject();
6462
- validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : []));
6463
- showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : []));
6464
- emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : []));
6462
+ validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : /* istanbul ignore next */ []));
6463
+ showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : /* istanbul ignore next */ []));
6464
+ emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : /* istanbul ignore next */ []));
6465
6465
  constructor(translate) {
6466
6466
  this.translate = translate;
6467
6467
  effect(() => {
@@ -6508,8 +6508,8 @@ class ValueInputBooleanComponent {
6508
6508
  this.destroy$.next();
6509
6509
  this.destroy$.complete();
6510
6510
  }
6511
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputBooleanComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
6512
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: ValueInputBooleanComponent, isStandalone: true, selector: "app-value-input-boolean", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
6511
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputBooleanComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
6512
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: ValueInputBooleanComponent, isStandalone: true, selector: "app-value-input-boolean", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
6513
6513
  {
6514
6514
  provide: NG_VALUE_ACCESSOR,
6515
6515
  useExisting: forwardRef(() => ValueInputBooleanComponent),
@@ -6520,9 +6520,9 @@ class ValueInputBooleanComponent {
6520
6520
  useExisting: forwardRef(() => ValueInputBooleanComponent),
6521
6521
  multi: true,
6522
6522
  }
6523
- ], ngImport: i0, template: "<mat-slide-toggle [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <div class=\"flex flex-col ml-2\">\n <span class=\"text-xs font-light\"> {{ name() }} </span>\n <span>{{ formControl.value ? ('DATA_BROWSER.ATTRIBUTE_VALUE_ENABLED' | translate) : ('DATA_BROWSER.ATTRIBUTE_VALUE_DISABLED' | translate) }}</span>\n </div>\n</mat-slide-toggle>\n@for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"ml-4 mt-[-8px] text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
6523
+ ], ngImport: i0, template: "<mat-slide-toggle [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <div class=\"flex flex-col ml-2\">\r\n <span class=\"text-xs font-light\"> {{ name() }} </span>\r\n <span>{{ formControl.value ? ('DATA_BROWSER.ATTRIBUTE_VALUE_ENABLED' | translate) : ('DATA_BROWSER.ATTRIBUTE_VALUE_DISABLED' | translate) }}</span>\r\n </div>\r\n</mat-slide-toggle>\r\n@for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"ml-4 mt-[-8px] text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\r\n}\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
6524
6524
  }
6525
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputBooleanComponent, decorators: [{
6525
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputBooleanComponent, decorators: [{
6526
6526
  type: Component,
6527
6527
  args: [{ selector: 'app-value-input-boolean', imports: [SharedModule, MatSlideToggle], providers: [
6528
6528
  {
@@ -6535,19 +6535,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
6535
6535
  useExisting: forwardRef(() => ValueInputBooleanComponent),
6536
6536
  multi: true,
6537
6537
  }
6538
- ], template: "<mat-slide-toggle [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <div class=\"flex flex-col ml-2\">\n <span class=\"text-xs font-light\"> {{ name() }} </span>\n <span>{{ formControl.value ? ('DATA_BROWSER.ATTRIBUTE_VALUE_ENABLED' | translate) : ('DATA_BROWSER.ATTRIBUTE_VALUE_DISABLED' | translate) }}</span>\n </div>\n</mat-slide-toggle>\n@for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"ml-4 mt-[-8px] text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\n}\n" }]
6538
+ ], template: "<mat-slide-toggle [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <div class=\"flex flex-col ml-2\">\r\n <span class=\"text-xs font-light\"> {{ name() }} </span>\r\n <span>{{ formControl.value ? ('DATA_BROWSER.ATTRIBUTE_VALUE_ENABLED' | translate) : ('DATA_BROWSER.ATTRIBUTE_VALUE_DISABLED' | translate) }}</span>\r\n </div>\r\n</mat-slide-toggle>\r\n@for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"ml-4 mt-[-8px] text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\r\n}\r\n" }]
6539
6539
  }], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }], emitValidityUpdate: [{ type: i0.Input, args: [{ isSignal: true, alias: "emitValidityUpdate", required: false }] }] } });
6540
6540
 
6541
6541
  class ValueInputColorComponent {
6542
6542
  translate;
6543
- name = input('', ...(ngDevMode ? [{ debugName: "name" }] : []));
6543
+ name = input('', ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
6544
6544
  colorPicker = viewChild.required('colorPicker');
6545
6545
  showPicker = false;
6546
6546
  formControl = new FormControl('');
6547
6547
  destroy$ = new Subject();
6548
- validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : []));
6549
- showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : []));
6550
- emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : []));
6548
+ validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : /* istanbul ignore next */ []));
6549
+ showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : /* istanbul ignore next */ []));
6550
+ emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : /* istanbul ignore next */ []));
6551
6551
  onTouched = () => {
6552
6552
  };
6553
6553
  onValidatorChange;
@@ -6617,8 +6617,8 @@ class ValueInputColorComponent {
6617
6617
  this.destroy$.next();
6618
6618
  this.destroy$.complete();
6619
6619
  }
6620
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputColorComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
6621
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: ValueInputColorComponent, isStandalone: true, selector: "app-value-input-color", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
6620
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputColorComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
6621
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: ValueInputColorComponent, isStandalone: true, selector: "app-value-input-color", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
6622
6622
  {
6623
6623
  provide: NG_VALUE_ACCESSOR,
6624
6624
  useExisting: forwardRef(() => ValueInputColorComponent),
@@ -6629,9 +6629,9 @@ class ValueInputColorComponent {
6629
6629
  useExisting: forwardRef(() => ValueInputColorComponent),
6630
6630
  multi: true,
6631
6631
  }
6632
- ], viewQueries: [{ propertyName: "colorPicker", first: true, predicate: ["colorPicker"], descendants: true, isSignal: true }], ngImport: i0, template: "<mat-form-field class=\"w-full relative\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ name() }}</mat-label>\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" (click)=\"openColorPicker()\">\n <input type=\"color\" #colorPicker [value]=\"formControl.value\" (input)=\"onColorPickerChange($event)\" class=\"absolute opacity-0 right-55 top-full mt-1 z-10\" [class.hidden]=\"!showPicker\">\n <div class=\"w-5 h-5 rounded-full mr-4 cursor-pointer\" [style.background-color]=\"formControl.getRawValue()\" matSuffix (click)=\"openColorPicker()\">&nbsp;</div>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n", styles: ["mat-form-field input[type=color]{width:auto;height:auto}:host{--color-picker-width: 250px}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
6632
+ ], viewQueries: [{ propertyName: "colorPicker", first: true, predicate: ["colorPicker"], descendants: true, isSignal: true }], ngImport: i0, template: "<mat-form-field class=\"w-full relative\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ name() }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" (click)=\"openColorPicker()\">\r\n <input type=\"color\" #colorPicker [value]=\"formControl.value\" (input)=\"onColorPickerChange($event)\" class=\"absolute opacity-0 right-55 top-full mt-1 z-10\" [class.hidden]=\"!showPicker\">\r\n <div class=\"w-5 h-5 rounded-full mr-4 cursor-pointer\" [style.background-color]=\"formControl.getRawValue()\" matSuffix (click)=\"openColorPicker()\">&nbsp;</div>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n", styles: ["mat-form-field input[type=color]{width:auto;height:auto}:host{--color-picker-width: 250px}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
6633
6633
  }
6634
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputColorComponent, decorators: [{
6634
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputColorComponent, decorators: [{
6635
6635
  type: Component,
6636
6636
  args: [{ selector: 'app-value-input-color', imports: [SharedModule], providers: [
6637
6637
  {
@@ -6644,15 +6644,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
6644
6644
  useExisting: forwardRef(() => ValueInputColorComponent),
6645
6645
  multi: true,
6646
6646
  }
6647
- ], template: "<mat-form-field class=\"w-full relative\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ name() }}</mat-label>\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" (click)=\"openColorPicker()\">\n <input type=\"color\" #colorPicker [value]=\"formControl.value\" (input)=\"onColorPickerChange($event)\" class=\"absolute opacity-0 right-55 top-full mt-1 z-10\" [class.hidden]=\"!showPicker\">\n <div class=\"w-5 h-5 rounded-full mr-4 cursor-pointer\" [style.background-color]=\"formControl.getRawValue()\" matSuffix (click)=\"openColorPicker()\">&nbsp;</div>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n", styles: ["mat-form-field input[type=color]{width:auto;height:auto}:host{--color-picker-width: 250px}\n"] }]
6647
+ ], template: "<mat-form-field class=\"w-full relative\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ name() }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" (click)=\"openColorPicker()\">\r\n <input type=\"color\" #colorPicker [value]=\"formControl.value\" (input)=\"onColorPickerChange($event)\" class=\"absolute opacity-0 right-55 top-full mt-1 z-10\" [class.hidden]=\"!showPicker\">\r\n <div class=\"w-5 h-5 rounded-full mr-4 cursor-pointer\" [style.background-color]=\"formControl.getRawValue()\" matSuffix (click)=\"openColorPicker()\">&nbsp;</div>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n", styles: ["mat-form-field input[type=color]{width:auto;height:auto}:host{--color-picker-width: 250px}\n"] }]
6648
6648
  }], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], colorPicker: [{ type: i0.ViewChild, args: ['colorPicker', { isSignal: true }] }], validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }], emitValidityUpdate: [{ type: i0.Input, args: [{ isSignal: true, alias: "emitValidityUpdate", required: false }] }] } });
6649
6649
 
6650
6650
  class ValueInputDateComponent {
6651
6651
  formControl = new FormControl(null);
6652
6652
  destroy$ = new Subject();
6653
- validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : []));
6654
- showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : []));
6655
- emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : []));
6653
+ validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : /* istanbul ignore next */ []));
6654
+ showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : /* istanbul ignore next */ []));
6655
+ emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : /* istanbul ignore next */ []));
6656
6656
  onTouched = () => {
6657
6657
  };
6658
6658
  onValidatorChange;
@@ -6701,8 +6701,8 @@ class ValueInputDateComponent {
6701
6701
  this.destroy$.next();
6702
6702
  this.destroy$.complete();
6703
6703
  }
6704
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6705
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: ValueInputDateComponent, isStandalone: true, selector: "app-value-input-date", inputs: { validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
6704
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6705
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.13", type: ValueInputDateComponent, isStandalone: true, selector: "app-value-input-date", inputs: { validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
6706
6706
  {
6707
6707
  provide: NG_VALUE_ACCESSOR,
6708
6708
  useExisting: forwardRef(() => ValueInputDateComponent),
@@ -6713,9 +6713,9 @@ class ValueInputDateComponent {
6713
6713
  useExisting: forwardRef(() => ValueInputDateComponent),
6714
6714
  multi: true,
6715
6715
  }
6716
- ], ngImport: i0, template: "<app-date-time-form-field [formControl]=\"formControl\" [validators]=\"validators()\" [showErrorInTooltip]=\"showErrorInTooltip()\" class=\"w-full\"></app-date-time-form-field>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: DateTimeFormFieldComponent, selector: "app-date-time-form-field", inputs: ["dateLabel", "timeLabel", "validators", "showErrorInTooltip", "timezone"] }] });
6716
+ ], ngImport: i0, template: "<app-date-time-form-field [formControl]=\"formControl\" [validators]=\"validators()\" [showErrorInTooltip]=\"showErrorInTooltip()\" class=\"w-full\"></app-date-time-form-field>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: DateTimeFormFieldComponent, selector: "app-date-time-form-field", inputs: ["dateLabel", "timeLabel", "validators", "showErrorInTooltip", "timezone"] }] });
6717
6717
  }
6718
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputDateComponent, decorators: [{
6718
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputDateComponent, decorators: [{
6719
6719
  type: Component,
6720
6720
  args: [{ selector: 'app-value-input-date', imports: [SharedModule, DateTimeFormFieldComponent], providers: [
6721
6721
  {
@@ -6728,7 +6728,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
6728
6728
  useExisting: forwardRef(() => ValueInputDateComponent),
6729
6729
  multi: true,
6730
6730
  }
6731
- ], template: "<app-date-time-form-field [formControl]=\"formControl\" [validators]=\"validators()\" [showErrorInTooltip]=\"showErrorInTooltip()\" class=\"w-full\"></app-date-time-form-field>\n" }]
6731
+ ], template: "<app-date-time-form-field [formControl]=\"formControl\" [validators]=\"validators()\" [showErrorInTooltip]=\"showErrorInTooltip()\" class=\"w-full\"></app-date-time-form-field>\r\n" }]
6732
6732
  }], ctorParameters: () => [], propDecorators: { validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }], emitValidityUpdate: [{ type: i0.Input, args: [{ isSignal: true, alias: "emitValidityUpdate", required: false }] }] } });
6733
6733
 
6734
6734
  class ValueInputEnumComponent {
@@ -6738,11 +6738,11 @@ class ValueInputEnumComponent {
6738
6738
  };
6739
6739
  onValidatorChange;
6740
6740
  destroy$ = new Subject();
6741
- options = input([], ...(ngDevMode ? [{ debugName: "options" }] : []));
6742
- name = input('', ...(ngDevMode ? [{ debugName: "name" }] : []));
6743
- validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : []));
6744
- showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : []));
6745
- emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : []));
6741
+ options = input([], ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
6742
+ name = input('', ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
6743
+ validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : /* istanbul ignore next */ []));
6744
+ showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : /* istanbul ignore next */ []));
6745
+ emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : /* istanbul ignore next */ []));
6746
6746
  constructor(translate) {
6747
6747
  this.translate = translate;
6748
6748
  effect(() => {
@@ -6792,8 +6792,8 @@ class ValueInputEnumComponent {
6792
6792
  this.destroy$.next();
6793
6793
  this.destroy$.complete();
6794
6794
  }
6795
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputEnumComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
6796
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: ValueInputEnumComponent, isStandalone: true, selector: "app-value-input-enum", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
6795
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputEnumComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
6796
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: ValueInputEnumComponent, isStandalone: true, selector: "app-value-input-enum", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
6797
6797
  {
6798
6798
  provide: NG_VALUE_ACCESSOR,
6799
6799
  useExisting: forwardRef(() => ValueInputEnumComponent),
@@ -6804,9 +6804,9 @@ class ValueInputEnumComponent {
6804
6804
  useExisting: forwardRef(() => ValueInputEnumComponent),
6805
6805
  multi: true,
6806
6806
  }
6807
- ], ngImport: i0, template: "<div class=\"w-full flex flex-col gap-y-2\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-label>{{ name() }}</mat-label>\n <mat-select [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\">\n @for (value of options(); track value) {\n <mat-option [value]=\"value\">{{ value }}</mat-option>\n }\n </mat-select>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n </mat-form-field>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
6807
+ ], ngImport: i0, template: "<div class=\"w-full flex flex-col gap-y-2\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-form-field appearance=\"outline\" class=\"w-full\">\r\n <mat-label>{{ name() }}</mat-label>\r\n <mat-select [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\">\r\n @for (value of options(); track value) {\r\n <mat-option [value]=\"value\">{{ value }}</mat-option>\r\n }\r\n </mat-select>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n </mat-form-field>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
6808
6808
  }
6809
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputEnumComponent, decorators: [{
6809
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputEnumComponent, decorators: [{
6810
6810
  type: Component,
6811
6811
  args: [{ selector: 'app-value-input-enum', imports: [SharedModule], providers: [
6812
6812
  {
@@ -6819,16 +6819,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
6819
6819
  useExisting: forwardRef(() => ValueInputEnumComponent),
6820
6820
  multi: true,
6821
6821
  }
6822
- ], template: "<div class=\"w-full flex flex-col gap-y-2\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-label>{{ name() }}</mat-label>\n <mat-select [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\">\n @for (value of options(); track value) {\n <mat-option [value]=\"value\">{{ value }}</mat-option>\n }\n </mat-select>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n </mat-form-field>\n</div>\n" }]
6822
+ ], template: "<div class=\"w-full flex flex-col gap-y-2\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-form-field appearance=\"outline\" class=\"w-full\">\r\n <mat-label>{{ name() }}</mat-label>\r\n <mat-select [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\">\r\n @for (value of options(); track value) {\r\n <mat-option [value]=\"value\">{{ value }}</mat-option>\r\n }\r\n </mat-select>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n </mat-form-field>\r\n</div>\r\n" }]
6823
6823
  }], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }], emitValidityUpdate: [{ type: i0.Input, args: [{ isSignal: true, alias: "emitValidityUpdate", required: false }] }] } });
6824
6824
 
6825
6825
  class ValueInputHexadecimalComponent {
6826
6826
  translate;
6827
6827
  formControl = new FormControl('');
6828
6828
  destroy$ = new Subject();
6829
- validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : []));
6830
- showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : []));
6831
- emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : []));
6829
+ validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : /* istanbul ignore next */ []));
6830
+ showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : /* istanbul ignore next */ []));
6831
+ emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : /* istanbul ignore next */ []));
6832
6832
  constructor(translate) {
6833
6833
  this.translate = translate;
6834
6834
  effect(() => {
@@ -6886,8 +6886,8 @@ class ValueInputHexadecimalComponent {
6886
6886
  this.destroy$.next();
6887
6887
  this.destroy$.complete();
6888
6888
  }
6889
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputHexadecimalComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
6890
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: ValueInputHexadecimalComponent, isStandalone: true, selector: "app-value-input-hexadecimal", inputs: { validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
6889
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputHexadecimalComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
6890
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: ValueInputHexadecimalComponent, isStandalone: true, selector: "app-value-input-hexadecimal", inputs: { validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
6891
6891
  {
6892
6892
  provide: NG_VALUE_ACCESSOR,
6893
6893
  useExisting: forwardRef(() => ValueInputHexadecimalComponent),
@@ -6898,9 +6898,9 @@ class ValueInputHexadecimalComponent {
6898
6898
  useExisting: forwardRef(() => ValueInputHexadecimalComponent),
6899
6899
  multi: true,
6900
6900
  }
6901
- ], ngImport: i0, template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_VALUE' | translate }}</mat-label>\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" autocomplete=\"off\"/>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
6901
+ ], ngImport: i0, template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_VALUE' | translate }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" autocomplete=\"off\"/>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
6902
6902
  }
6903
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputHexadecimalComponent, decorators: [{
6903
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputHexadecimalComponent, decorators: [{
6904
6904
  type: Component,
6905
6905
  args: [{ selector: 'app-value-input-hexadecimal', imports: [SharedModule], providers: [
6906
6906
  {
@@ -6913,16 +6913,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
6913
6913
  useExisting: forwardRef(() => ValueInputHexadecimalComponent),
6914
6914
  multi: true,
6915
6915
  }
6916
- ], template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_VALUE' | translate }}</mat-label>\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" autocomplete=\"off\"/>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n" }]
6916
+ ], template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_VALUE' | translate }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" autocomplete=\"off\"/>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n" }]
6917
6917
  }], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }], emitValidityUpdate: [{ type: i0.Input, args: [{ isSignal: true, alias: "emitValidityUpdate", required: false }] }] } });
6918
6918
 
6919
6919
  class ValueInputLinkComponent {
6920
6920
  translate;
6921
6921
  formControl = new FormControl('');
6922
6922
  destroy$ = new Subject();
6923
- validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : []));
6924
- showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : []));
6925
- emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : []));
6923
+ validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : /* istanbul ignore next */ []));
6924
+ showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : /* istanbul ignore next */ []));
6925
+ emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : /* istanbul ignore next */ []));
6926
6926
  onTouched = () => {
6927
6927
  };
6928
6928
  onValidatorChange;
@@ -6981,8 +6981,8 @@ class ValueInputLinkComponent {
6981
6981
  this.destroy$.next();
6982
6982
  this.destroy$.complete();
6983
6983
  }
6984
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputLinkComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
6985
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: ValueInputLinkComponent, isStandalone: true, selector: "app-value-input-link", inputs: { validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
6984
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputLinkComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
6985
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: ValueInputLinkComponent, isStandalone: true, selector: "app-value-input-link", inputs: { validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
6986
6986
  {
6987
6987
  provide: NG_VALUE_ACCESSOR,
6988
6988
  useExisting: forwardRef(() => ValueInputLinkComponent),
@@ -6993,9 +6993,9 @@ class ValueInputLinkComponent {
6993
6993
  useExisting: forwardRef(() => ValueInputLinkComponent),
6994
6994
  multi: true,
6995
6995
  }
6996
- ], ngImport: i0, template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_VALUE' | translate }}</mat-label>\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" autocomplete=\"off\"/>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
6996
+ ], ngImport: i0, template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_VALUE' | translate }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" autocomplete=\"off\"/>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
6997
6997
  }
6998
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputLinkComponent, decorators: [{
6998
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputLinkComponent, decorators: [{
6999
6999
  type: Component,
7000
7000
  args: [{ selector: 'app-value-input-link', imports: [SharedModule], providers: [
7001
7001
  {
@@ -7008,7 +7008,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
7008
7008
  useExisting: forwardRef(() => ValueInputLinkComponent),
7009
7009
  multi: true,
7010
7010
  }
7011
- ], template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_VALUE' | translate }}</mat-label>\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" autocomplete=\"off\"/>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n" }]
7011
+ ], template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_VALUE' | translate }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" autocomplete=\"off\"/>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n" }]
7012
7012
  }], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }], emitValidityUpdate: [{ type: i0.Input, args: [{ isSignal: true, alias: "emitValidityUpdate", required: false }] }] } });
7013
7013
 
7014
7014
  class ValueInputLocationComponent {
@@ -7018,9 +7018,9 @@ class ValueInputLocationComponent {
7018
7018
  latitude: new FormControl(null),
7019
7019
  longitude: new FormControl(null)
7020
7020
  });
7021
- validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : []));
7022
- showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : []));
7023
- emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : []));
7021
+ validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : /* istanbul ignore next */ []));
7022
+ showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : /* istanbul ignore next */ []));
7023
+ emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : /* istanbul ignore next */ []));
7024
7024
  onTouched = () => {
7025
7025
  };
7026
7026
  onValidatorChange;
@@ -7092,8 +7092,8 @@ class ValueInputLocationComponent {
7092
7092
  this.destroy$.next();
7093
7093
  this.destroy$.complete();
7094
7094
  }
7095
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputLocationComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
7096
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: ValueInputLocationComponent, isStandalone: true, selector: "app-value-input-location", inputs: { validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
7095
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputLocationComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
7096
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: ValueInputLocationComponent, isStandalone: true, selector: "app-value-input-location", inputs: { validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
7097
7097
  {
7098
7098
  provide: NG_VALUE_ACCESSOR,
7099
7099
  useExisting: forwardRef(() => ValueInputLocationComponent),
@@ -7104,9 +7104,9 @@ class ValueInputLocationComponent {
7104
7104
  useExisting: forwardRef(() => ValueInputLocationComponent),
7105
7105
  multi: true,
7106
7106
  }
7107
- ], ngImport: i0, template: "<form [formGroup]=\"formGroup\">\n <div class=\"flex flex-col gap-y-1\">\n <div class=\"flex gap-4 w-full justify-between items-start\">\n <mat-form-field class=\"flex-1\" [matTooltip]=\"getErrorTooltip('latitude')\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_LATITUDE' | translate }}</mat-label>\n <input matInput (paste)=\"handleLocationPaste($event, 'latitude')\" (blur)=\"this.formGroup.get('latitude')?.updateValueAndValidity({ emitEvent: false })\" formControlName=\"latitude\" type=\"number\" autocomplete=\"off\">\n\n @for (error of getErrors('latitude'); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate: {max: 90, min: -90} }}</mat-error>\n }\n </mat-form-field>\n\n <mat-form-field class=\"flex-1\" [matTooltip]=\"getErrorTooltip('longitude')\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_LONGITUDE' | translate }}</mat-label>\n <input matInput (paste)=\"handleLocationPaste($event, 'longitude')\" (blur)=\"this.formGroup.get('longitude')?.updateValueAndValidity({ emitEvent: false })\" formControlName=\"longitude\" type=\"number\" autocomplete=\"off\">\n\n @for (error of getErrors('longitude'); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate: {max: 180, min: -180} }}</mat-error>\n }\n </mat-form-field>\n </div>\n </div>\n</form>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
7107
+ ], ngImport: i0, template: "<form [formGroup]=\"formGroup\">\r\n <div class=\"flex flex-col gap-y-1\">\r\n <div class=\"flex gap-4 w-full justify-between items-start\">\r\n <mat-form-field class=\"flex-1\" [matTooltip]=\"getErrorTooltip('latitude')\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_LATITUDE' | translate }}</mat-label>\r\n <input matInput (paste)=\"handleLocationPaste($event, 'latitude')\" (blur)=\"this.formGroup.get('latitude')?.updateValueAndValidity({ emitEvent: false })\" formControlName=\"latitude\" type=\"number\" autocomplete=\"off\">\r\n\r\n @for (error of getErrors('latitude'); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate: {max: 90, min: -90} }}</mat-error>\r\n }\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-1\" [matTooltip]=\"getErrorTooltip('longitude')\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_LONGITUDE' | translate }}</mat-label>\r\n <input matInput (paste)=\"handleLocationPaste($event, 'longitude')\" (blur)=\"this.formGroup.get('longitude')?.updateValueAndValidity({ emitEvent: false })\" formControlName=\"longitude\" type=\"number\" autocomplete=\"off\">\r\n\r\n @for (error of getErrors('longitude'); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate: {max: 180, min: -180} }}</mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n</form>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
7108
7108
  }
7109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputLocationComponent, decorators: [{
7109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputLocationComponent, decorators: [{
7110
7110
  type: Component,
7111
7111
  args: [{ selector: 'app-value-input-location', imports: [SharedModule], providers: [
7112
7112
  {
@@ -7119,17 +7119,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
7119
7119
  useExisting: forwardRef(() => ValueInputLocationComponent),
7120
7120
  multi: true,
7121
7121
  }
7122
- ], template: "<form [formGroup]=\"formGroup\">\n <div class=\"flex flex-col gap-y-1\">\n <div class=\"flex gap-4 w-full justify-between items-start\">\n <mat-form-field class=\"flex-1\" [matTooltip]=\"getErrorTooltip('latitude')\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_LATITUDE' | translate }}</mat-label>\n <input matInput (paste)=\"handleLocationPaste($event, 'latitude')\" (blur)=\"this.formGroup.get('latitude')?.updateValueAndValidity({ emitEvent: false })\" formControlName=\"latitude\" type=\"number\" autocomplete=\"off\">\n\n @for (error of getErrors('latitude'); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate: {max: 90, min: -90} }}</mat-error>\n }\n </mat-form-field>\n\n <mat-form-field class=\"flex-1\" [matTooltip]=\"getErrorTooltip('longitude')\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_LONGITUDE' | translate }}</mat-label>\n <input matInput (paste)=\"handleLocationPaste($event, 'longitude')\" (blur)=\"this.formGroup.get('longitude')?.updateValueAndValidity({ emitEvent: false })\" formControlName=\"longitude\" type=\"number\" autocomplete=\"off\">\n\n @for (error of getErrors('longitude'); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate: {max: 180, min: -180} }}</mat-error>\n }\n </mat-form-field>\n </div>\n </div>\n</form>\n" }]
7122
+ ], template: "<form [formGroup]=\"formGroup\">\r\n <div class=\"flex flex-col gap-y-1\">\r\n <div class=\"flex gap-4 w-full justify-between items-start\">\r\n <mat-form-field class=\"flex-1\" [matTooltip]=\"getErrorTooltip('latitude')\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_LATITUDE' | translate }}</mat-label>\r\n <input matInput (paste)=\"handleLocationPaste($event, 'latitude')\" (blur)=\"this.formGroup.get('latitude')?.updateValueAndValidity({ emitEvent: false })\" formControlName=\"latitude\" type=\"number\" autocomplete=\"off\">\r\n\r\n @for (error of getErrors('latitude'); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate: {max: 90, min: -90} }}</mat-error>\r\n }\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-1\" [matTooltip]=\"getErrorTooltip('longitude')\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_LONGITUDE' | translate }}</mat-label>\r\n <input matInput (paste)=\"handleLocationPaste($event, 'longitude')\" (blur)=\"this.formGroup.get('longitude')?.updateValueAndValidity({ emitEvent: false })\" formControlName=\"longitude\" type=\"number\" autocomplete=\"off\">\r\n\r\n @for (error of getErrors('longitude'); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate: {max: 180, min: -180} }}</mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n</form>\r\n" }]
7123
7123
  }], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }], emitValidityUpdate: [{ type: i0.Input, args: [{ isSignal: true, alias: "emitValidityUpdate", required: false }] }] } });
7124
7124
 
7125
7125
  class ValueInputNumericComponent {
7126
7126
  translate;
7127
7127
  formControl = new FormControl(null);
7128
7128
  destroy$ = new Subject();
7129
- name = input('', ...(ngDevMode ? [{ debugName: "name" }] : []));
7130
- validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : []));
7131
- showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : []));
7132
- emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : []));
7129
+ name = input('', ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
7130
+ validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : /* istanbul ignore next */ []));
7131
+ showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : /* istanbul ignore next */ []));
7132
+ emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : /* istanbul ignore next */ []));
7133
7133
  onTouched = () => {
7134
7134
  };
7135
7135
  onValidatorChange;
@@ -7190,8 +7190,8 @@ class ValueInputNumericComponent {
7190
7190
  this.destroy$.next();
7191
7191
  this.destroy$.complete();
7192
7192
  }
7193
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputNumericComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
7194
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: ValueInputNumericComponent, isStandalone: true, selector: "app-value-input-numeric", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
7193
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputNumericComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
7194
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: ValueInputNumericComponent, isStandalone: true, selector: "app-value-input-numeric", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
7195
7195
  {
7196
7196
  provide: NG_VALUE_ACCESSOR,
7197
7197
  useExisting: forwardRef(() => ValueInputNumericComponent),
@@ -7202,9 +7202,9 @@ class ValueInputNumericComponent {
7202
7202
  useExisting: forwardRef(() => ValueInputNumericComponent),
7203
7203
  multi: true,
7204
7204
  }
7205
- ], ngImport: i0, template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ name() }}</mat-label>\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" autocomplete=\"off\" wolkaboutLocalizedNumericInput/>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: LocalizedNumericInputDirective, selector: "input[wolkaboutLocalizedNumericInput]" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
7205
+ ], ngImport: i0, template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ name() }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" autocomplete=\"off\" wolkaboutLocalizedNumericInput/>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: LocalizedNumericInputDirective, selector: "input[wolkaboutLocalizedNumericInput]" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
7206
7206
  }
7207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputNumericComponent, decorators: [{
7207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputNumericComponent, decorators: [{
7208
7208
  type: Component,
7209
7209
  args: [{ selector: 'app-value-input-numeric', imports: [SharedModule, LocalizedNumericInputDirective], providers: [
7210
7210
  {
@@ -7217,17 +7217,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
7217
7217
  useExisting: forwardRef(() => ValueInputNumericComponent),
7218
7218
  multi: true,
7219
7219
  }
7220
- ], template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ name() }}</mat-label>\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" autocomplete=\"off\" wolkaboutLocalizedNumericInput/>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n" }]
7220
+ ], template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ name() }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" autocomplete=\"off\" wolkaboutLocalizedNumericInput/>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n" }]
7221
7221
  }], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }], emitValidityUpdate: [{ type: i0.Input, args: [{ isSignal: true, alias: "emitValidityUpdate", required: false }] }] } });
7222
7222
 
7223
7223
  class ValueInputStringComponent {
7224
7224
  translate;
7225
- name = input('', ...(ngDevMode ? [{ debugName: "name" }] : []));
7225
+ name = input('', ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
7226
7226
  formControl = new FormControl('');
7227
7227
  destroy$ = new Subject();
7228
- validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : []));
7229
- showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : []));
7230
- emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : []));
7228
+ validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : /* istanbul ignore next */ []));
7229
+ showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : /* istanbul ignore next */ []));
7230
+ emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : /* istanbul ignore next */ []));
7231
7231
  onTouched = () => {
7232
7232
  };
7233
7233
  onValidatorChange;
@@ -7280,8 +7280,8 @@ class ValueInputStringComponent {
7280
7280
  this.destroy$.next();
7281
7281
  this.destroy$.complete();
7282
7282
  }
7283
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputStringComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
7284
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: ValueInputStringComponent, isStandalone: true, selector: "app-value-input-string", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
7283
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputStringComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
7284
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: ValueInputStringComponent, isStandalone: true, selector: "app-value-input-string", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
7285
7285
  {
7286
7286
  provide: NG_VALUE_ACCESSOR,
7287
7287
  useExisting: forwardRef(() => ValueInputStringComponent),
@@ -7292,9 +7292,9 @@ class ValueInputStringComponent {
7292
7292
  useExisting: forwardRef(() => ValueInputStringComponent),
7293
7293
  multi: true,
7294
7294
  }
7295
- ], ngImport: i0, template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ name() }}</mat-label>\n <input matInput [type]=\"'text'\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" autocomplete=\"off\"/>\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate : {max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
7295
+ ], ngImport: i0, template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ name() }}</mat-label>\r\n <input matInput [type]=\"'text'\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" autocomplete=\"off\"/>\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate : {max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
7296
7296
  }
7297
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputStringComponent, decorators: [{
7297
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputStringComponent, decorators: [{
7298
7298
  type: Component,
7299
7299
  args: [{ selector: 'app-value-input-string', imports: [SharedModule], providers: [
7300
7300
  {
@@ -7307,18 +7307,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
7307
7307
  useExisting: forwardRef(() => ValueInputStringComponent),
7308
7308
  multi: true,
7309
7309
  }
7310
- ], template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ name() }}</mat-label>\n <input matInput [type]=\"'text'\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" autocomplete=\"off\"/>\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate : {max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n" }]
7310
+ ], template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ name() }}</mat-label>\r\n <input matInput [type]=\"'text'\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" autocomplete=\"off\"/>\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate : {max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n" }]
7311
7311
  }], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }], emitValidityUpdate: [{ type: i0.Input, args: [{ isSignal: true, alias: "emitValidityUpdate", required: false }] }] } });
7312
7312
 
7313
7313
  class ValueInputVectorComponent {
7314
7314
  translate;
7315
7315
  formControl = new FormControl('');
7316
7316
  destroy$ = new Subject();
7317
- options = input([], ...(ngDevMode ? [{ debugName: "options" }] : []));
7318
- name = input('', ...(ngDevMode ? [{ debugName: "name" }] : []));
7319
- showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : []));
7320
- validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : []));
7321
- emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : []));
7317
+ options = input([], ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
7318
+ name = input('', ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
7319
+ showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : /* istanbul ignore next */ []));
7320
+ validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : /* istanbul ignore next */ []));
7321
+ emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : /* istanbul ignore next */ []));
7322
7322
  onTouched = () => {
7323
7323
  };
7324
7324
  onValidatorChange;
@@ -7390,8 +7390,8 @@ class ValueInputVectorComponent {
7390
7390
  this.destroy$.next();
7391
7391
  this.destroy$.complete();
7392
7392
  }
7393
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputVectorComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
7394
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: ValueInputVectorComponent, isStandalone: true, selector: "app-value-input-vector", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
7393
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputVectorComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
7394
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: ValueInputVectorComponent, isStandalone: true, selector: "app-value-input-vector", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
7395
7395
  {
7396
7396
  provide: NG_VALUE_ACCESSOR,
7397
7397
  useExisting: forwardRef(() => ValueInputVectorComponent),
@@ -7402,9 +7402,9 @@ class ValueInputVectorComponent {
7402
7402
  useExisting: forwardRef(() => ValueInputVectorComponent),
7403
7403
  multi: true,
7404
7404
  }
7405
- ], ngImport: i0, template: "<div class=\"w-full flex flex-col gap-y-2\">\n <mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ name() }} ({{ options()?.join(',') }})</mat-label>\n <input matInput [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" class=\"w-full\">\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n </mat-form-field>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
7405
+ ], ngImport: i0, template: "<div class=\"w-full flex flex-col gap-y-2\">\r\n <mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ name() }} ({{ options()?.join(',') }})</mat-label>\r\n <input matInput [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" class=\"w-full\">\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n </mat-form-field>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
7406
7406
  }
7407
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputVectorComponent, decorators: [{
7407
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputVectorComponent, decorators: [{
7408
7408
  type: Component,
7409
7409
  args: [{ selector: 'app-value-input-vector', imports: [SharedModule], providers: [
7410
7410
  {
@@ -7417,17 +7417,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
7417
7417
  useExisting: forwardRef(() => ValueInputVectorComponent),
7418
7418
  multi: true,
7419
7419
  }
7420
- ], template: "<div class=\"w-full flex flex-col gap-y-2\">\n <mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ name() }} ({{ options()?.join(',') }})</mat-label>\n <input matInput [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" class=\"w-full\">\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n </mat-form-field>\n</div>\n" }]
7420
+ ], template: "<div class=\"w-full flex flex-col gap-y-2\">\r\n <mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ name() }} ({{ options()?.join(',') }})</mat-label>\r\n <input matInput [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" class=\"w-full\">\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n </mat-form-field>\r\n</div>\r\n" }]
7421
7421
  }], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }], validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }], emitValidityUpdate: [{ type: i0.Input, args: [{ isSignal: true, alias: "emitValidityUpdate", required: false }] }] } });
7422
7422
 
7423
7423
  class ValueInputDurationComponent {
7424
7424
  destroyRef;
7425
7425
  translate;
7426
- name = input('', ...(ngDevMode ? [{ debugName: "name" }] : []));
7426
+ name = input('', ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
7427
7427
  formControl = new FormControl('');
7428
- validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : []));
7429
- showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : []));
7430
- emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : []));
7428
+ validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : /* istanbul ignore next */ []));
7429
+ showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : /* istanbul ignore next */ []));
7430
+ emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : /* istanbul ignore next */ []));
7431
7431
  durationValidator = (control) => {
7432
7432
  const value = control.value;
7433
7433
  if (value == null || value.trim() === '') {
@@ -7507,8 +7507,8 @@ class ValueInputDurationComponent {
7507
7507
  })
7508
7508
  .reduce((a, b) => a + b, 0);
7509
7509
  }
7510
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputDurationComponent, deps: [{ token: i0.DestroyRef }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
7511
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: ValueInputDurationComponent, isStandalone: true, selector: "app-value-input-duration", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
7510
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputDurationComponent, deps: [{ token: i0.DestroyRef }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
7511
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: ValueInputDurationComponent, isStandalone: true, selector: "app-value-input-duration", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
7512
7512
  {
7513
7513
  provide: NG_VALUE_ACCESSOR,
7514
7514
  useExisting: forwardRef(() => ValueInputDurationComponent),
@@ -7519,9 +7519,9 @@ class ValueInputDurationComponent {
7519
7519
  useExisting: forwardRef(() => ValueInputDurationComponent),
7520
7520
  multi: true,
7521
7521
  }
7522
- ], ngImport: i0, template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ name() }}</mat-label>\n <input matInput [type]=\"'text'\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" autocomplete=\"off\"/>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
7522
+ ], ngImport: i0, template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ name() }}</mat-label>\r\n <input matInput [type]=\"'text'\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" autocomplete=\"off\"/>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
7523
7523
  }
7524
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputDurationComponent, decorators: [{
7524
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputDurationComponent, decorators: [{
7525
7525
  type: Component,
7526
7526
  args: [{ selector: 'app-value-input-duration', imports: [SharedModule], providers: [
7527
7527
  {
@@ -7534,17 +7534,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
7534
7534
  useExisting: forwardRef(() => ValueInputDurationComponent),
7535
7535
  multi: true,
7536
7536
  }
7537
- ], template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ name() }}</mat-label>\n <input matInput [type]=\"'text'\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" autocomplete=\"off\"/>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n" }]
7537
+ ], template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ name() }}</mat-label>\r\n <input matInput [type]=\"'text'\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity({ emitEvent: false })\" autocomplete=\"off\"/>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n" }]
7538
7538
  }], ctorParameters: () => [{ type: i0.DestroyRef }, { type: i1$1.TranslateService }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }], emitValidityUpdate: [{ type: i0.Input, args: [{ isSignal: true, alias: "emitValidityUpdate", required: false }] }] } });
7539
7539
 
7540
7540
  class ValueInputComponent {
7541
- name = input.required(...(ngDevMode ? [{ debugName: "name" }] : []));
7542
- dataType = input.required(...(ngDevMode ? [{ debugName: "dataType" }] : []));
7543
- options = input(...(ngDevMode ? [undefined, { debugName: "options" }] : []));
7544
- validationConditions = input(...(ngDevMode ? [undefined, { debugName: "validationConditions" }] : []));
7545
- showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : []));
7546
- emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : []));
7547
- validators = signal([], ...(ngDevMode ? [{ debugName: "validators" }] : []));
7541
+ name = input.required(...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
7542
+ dataType = input.required(...(ngDevMode ? [{ debugName: "dataType" }] : /* istanbul ignore next */ []));
7543
+ options = input(...(ngDevMode ? [undefined, { debugName: "options" }] : /* istanbul ignore next */ []));
7544
+ validationConditions = input(...(ngDevMode ? [undefined, { debugName: "validationConditions" }] : /* istanbul ignore next */ []));
7545
+ showErrorInTooltip = input(false, ...(ngDevMode ? [{ debugName: "showErrorInTooltip" }] : /* istanbul ignore next */ []));
7546
+ emitValidityUpdate = input(true, ...(ngDevMode ? [{ debugName: "emitValidityUpdate" }] : /* istanbul ignore next */ []));
7547
+ validators = signal([], ...(ngDevMode ? [{ debugName: "validators" }] : /* istanbul ignore next */ []));
7548
7548
  formControl = new FormControl(null);
7549
7549
  onValidatorChange;
7550
7550
  constructor() {
@@ -7604,8 +7604,8 @@ class ValueInputComponent {
7604
7604
  this.validators.set(validators);
7605
7605
  }
7606
7606
  DataType = DataType;
7607
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7608
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: ValueInputComponent, isStandalone: true, selector: "app-value-input", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, dataType: { classPropertyName: "dataType", publicName: "dataType", isSignal: true, isRequired: true, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, validationConditions: { classPropertyName: "validationConditions", publicName: "validationConditions", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
7607
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7608
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: ValueInputComponent, isStandalone: true, selector: "app-value-input", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, dataType: { classPropertyName: "dataType", publicName: "dataType", isSignal: true, isRequired: true, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, validationConditions: { classPropertyName: "validationConditions", publicName: "validationConditions", isSignal: true, isRequired: false, transformFunction: null }, showErrorInTooltip: { classPropertyName: "showErrorInTooltip", publicName: "showErrorInTooltip", isSignal: true, isRequired: false, transformFunction: null }, emitValidityUpdate: { classPropertyName: "emitValidityUpdate", publicName: "emitValidityUpdate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
7609
7609
  {
7610
7610
  provide: NG_VALUE_ACCESSOR,
7611
7611
  useExisting: forwardRef(() => ValueInputComponent),
@@ -7616,9 +7616,9 @@ class ValueInputComponent {
7616
7616
  useExisting: forwardRef(() => ValueInputComponent),
7617
7617
  multi: true,
7618
7618
  }
7619
- ], ngImport: i0, template: "@switch (dataType()) {\n @case (DataType.STRING) {\n <app-value-input-string [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\n }\n @case (DataType.NUMERIC) {\n <app-value-input-numeric [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\n }\n @case (DataType.BOOLEAN) {\n <app-value-input-boolean [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\n }\n @case (DataType.HEXADECIMAL) {\n <app-value-input-hexadecimal [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\n }\n @case (DataType.COLOR) {\n <app-value-input-color [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\n }\n @case (DataType.LINK) {\n <app-value-input-link [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\n }\n @case (DataType.DATE) {\n <app-value-input-date [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\n }\n @case (DataType.DURATION) {\n <app-value-input-duration [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\n }\n @case (DataType.LOCATION) {\n <app-value-input-location [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\n }\n @case (DataType.VECTOR) {\n <app-value-input-vector [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [options]=\"options()\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\n }\n @case (DataType.ENUM) {\n <app-value-input-enum [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [options]=\"options()\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\n }\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: ValueInputBooleanComponent, selector: "app-value-input-boolean", inputs: ["name", "validators", "showErrorInTooltip", "emitValidityUpdate"] }, { kind: "component", type: ValueInputColorComponent, selector: "app-value-input-color", inputs: ["name", "validators", "showErrorInTooltip", "emitValidityUpdate"] }, { kind: "component", type: ValueInputDateComponent, selector: "app-value-input-date", inputs: ["validators", "showErrorInTooltip", "emitValidityUpdate"] }, { kind: "component", type: ValueInputEnumComponent, selector: "app-value-input-enum", inputs: ["options", "name", "validators", "showErrorInTooltip", "emitValidityUpdate"] }, { kind: "component", type: ValueInputHexadecimalComponent, selector: "app-value-input-hexadecimal", inputs: ["validators", "showErrorInTooltip", "emitValidityUpdate"] }, { kind: "component", type: ValueInputLinkComponent, selector: "app-value-input-link", inputs: ["validators", "showErrorInTooltip", "emitValidityUpdate"] }, { kind: "component", type: ValueInputLocationComponent, selector: "app-value-input-location", inputs: ["validators", "showErrorInTooltip", "emitValidityUpdate"] }, { kind: "component", type: ValueInputNumericComponent, selector: "app-value-input-numeric", inputs: ["name", "validators", "showErrorInTooltip", "emitValidityUpdate"] }, { kind: "component", type: ValueInputStringComponent, selector: "app-value-input-string", inputs: ["name", "validators", "showErrorInTooltip", "emitValidityUpdate"] }, { kind: "component", type: ValueInputVectorComponent, selector: "app-value-input-vector", inputs: ["options", "name", "showErrorInTooltip", "validators", "emitValidityUpdate"] }, { kind: "component", type: ValueInputDurationComponent, selector: "app-value-input-duration", inputs: ["name", "validators", "showErrorInTooltip", "emitValidityUpdate"] }] });
7619
+ ], ngImport: i0, template: "@switch (dataType()) {\r\n @case (DataType.STRING) {\r\n <app-value-input-string [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\r\n }\r\n @case (DataType.NUMERIC) {\r\n <app-value-input-numeric [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\r\n }\r\n @case (DataType.BOOLEAN) {\r\n <app-value-input-boolean [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\r\n }\r\n @case (DataType.HEXADECIMAL) {\r\n <app-value-input-hexadecimal [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\r\n }\r\n @case (DataType.COLOR) {\r\n <app-value-input-color [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\r\n }\r\n @case (DataType.LINK) {\r\n <app-value-input-link [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\r\n }\r\n @case (DataType.DATE) {\r\n <app-value-input-date [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\r\n }\r\n @case (DataType.DURATION) {\r\n <app-value-input-duration [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\r\n }\r\n @case (DataType.LOCATION) {\r\n <app-value-input-location [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\r\n }\r\n @case (DataType.VECTOR) {\r\n <app-value-input-vector [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [options]=\"options()\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\r\n }\r\n @case (DataType.ENUM) {\r\n <app-value-input-enum [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [options]=\"options()\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\r\n }\r\n}\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: ValueInputBooleanComponent, selector: "app-value-input-boolean", inputs: ["name", "validators", "showErrorInTooltip", "emitValidityUpdate"] }, { kind: "component", type: ValueInputColorComponent, selector: "app-value-input-color", inputs: ["name", "validators", "showErrorInTooltip", "emitValidityUpdate"] }, { kind: "component", type: ValueInputDateComponent, selector: "app-value-input-date", inputs: ["validators", "showErrorInTooltip", "emitValidityUpdate"] }, { kind: "component", type: ValueInputEnumComponent, selector: "app-value-input-enum", inputs: ["options", "name", "validators", "showErrorInTooltip", "emitValidityUpdate"] }, { kind: "component", type: ValueInputHexadecimalComponent, selector: "app-value-input-hexadecimal", inputs: ["validators", "showErrorInTooltip", "emitValidityUpdate"] }, { kind: "component", type: ValueInputLinkComponent, selector: "app-value-input-link", inputs: ["validators", "showErrorInTooltip", "emitValidityUpdate"] }, { kind: "component", type: ValueInputLocationComponent, selector: "app-value-input-location", inputs: ["validators", "showErrorInTooltip", "emitValidityUpdate"] }, { kind: "component", type: ValueInputNumericComponent, selector: "app-value-input-numeric", inputs: ["name", "validators", "showErrorInTooltip", "emitValidityUpdate"] }, { kind: "component", type: ValueInputStringComponent, selector: "app-value-input-string", inputs: ["name", "validators", "showErrorInTooltip", "emitValidityUpdate"] }, { kind: "component", type: ValueInputVectorComponent, selector: "app-value-input-vector", inputs: ["options", "name", "showErrorInTooltip", "validators", "emitValidityUpdate"] }, { kind: "component", type: ValueInputDurationComponent, selector: "app-value-input-duration", inputs: ["name", "validators", "showErrorInTooltip", "emitValidityUpdate"] }] });
7620
7620
  }
7621
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputComponent, decorators: [{
7621
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ValueInputComponent, decorators: [{
7622
7622
  type: Component,
7623
7623
  args: [{ selector: 'app-value-input', imports: [SharedModule, ValueInputBooleanComponent, ValueInputColorComponent, ValueInputDateComponent, ValueInputEnumComponent, ValueInputHexadecimalComponent, ValueInputLinkComponent, ValueInputLocationComponent, ValueInputNumericComponent, ValueInputStringComponent, ValueInputVectorComponent, ValueInputDurationComponent], providers: [
7624
7624
  {
@@ -7631,7 +7631,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
7631
7631
  useExisting: forwardRef(() => ValueInputComponent),
7632
7632
  multi: true,
7633
7633
  }
7634
- ], template: "@switch (dataType()) {\n @case (DataType.STRING) {\n <app-value-input-string [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\n }\n @case (DataType.NUMERIC) {\n <app-value-input-numeric [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\n }\n @case (DataType.BOOLEAN) {\n <app-value-input-boolean [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\n }\n @case (DataType.HEXADECIMAL) {\n <app-value-input-hexadecimal [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\n }\n @case (DataType.COLOR) {\n <app-value-input-color [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\n }\n @case (DataType.LINK) {\n <app-value-input-link [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\n }\n @case (DataType.DATE) {\n <app-value-input-date [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\n }\n @case (DataType.DURATION) {\n <app-value-input-duration [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\n }\n @case (DataType.LOCATION) {\n <app-value-input-location [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\n }\n @case (DataType.VECTOR) {\n <app-value-input-vector [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [options]=\"options()\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\n }\n @case (DataType.ENUM) {\n <app-value-input-enum [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [options]=\"options()\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\n }\n}\n" }]
7634
+ ], template: "@switch (dataType()) {\r\n @case (DataType.STRING) {\r\n <app-value-input-string [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\r\n }\r\n @case (DataType.NUMERIC) {\r\n <app-value-input-numeric [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\r\n }\r\n @case (DataType.BOOLEAN) {\r\n <app-value-input-boolean [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\r\n }\r\n @case (DataType.HEXADECIMAL) {\r\n <app-value-input-hexadecimal [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\r\n }\r\n @case (DataType.COLOR) {\r\n <app-value-input-color [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\r\n }\r\n @case (DataType.LINK) {\r\n <app-value-input-link [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\r\n }\r\n @case (DataType.DATE) {\r\n <app-value-input-date [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\r\n }\r\n @case (DataType.DURATION) {\r\n <app-value-input-duration [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\r\n }\r\n @case (DataType.LOCATION) {\r\n <app-value-input-location [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\r\n }\r\n @case (DataType.VECTOR) {\r\n <app-value-input-vector [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [options]=\"options()\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\r\n }\r\n @case (DataType.ENUM) {\r\n <app-value-input-enum [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [options]=\"options()\" [emitValidityUpdate]=\"emitValidityUpdate()\"/>\r\n }\r\n}\r\n" }]
7635
7635
  }], ctorParameters: () => [], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: true }] }], dataType: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataType", required: true }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], validationConditions: [{ type: i0.Input, args: [{ isSignal: true, alias: "validationConditions", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }], emitValidityUpdate: [{ type: i0.Input, args: [{ isSignal: true, alias: "emitValidityUpdate", required: false }] }] } });
7636
7636
 
7637
7637
  class DoubleDrawerLayoutComponent {
@@ -7657,17 +7657,17 @@ class DoubleDrawerLayoutComponent {
7657
7657
  }
7658
7658
  }
7659
7659
  timeout;
7660
- hoverActive = signal(false, ...(ngDevMode ? [{ debugName: "hoverActive" }] : []));
7661
- leftDrawerConfig = input.required(...(ngDevMode ? [{ debugName: "leftDrawerConfig" }] : []));
7662
- rightDrawerConfig = input(...(ngDevMode ? [undefined, { debugName: "rightDrawerConfig" }] : []));
7663
- backdropConfig = input.required(...(ngDevMode ? [{ debugName: "backdropConfig" }] : []));
7664
- dialogConfig = input(...(ngDevMode ? [undefined, { debugName: "dialogConfig" }] : []));
7665
- fullScreenConfig = input(...(ngDevMode ? [undefined, { debugName: "fullScreenConfig" }] : []));
7660
+ hoverActive = signal(false, ...(ngDevMode ? [{ debugName: "hoverActive" }] : /* istanbul ignore next */ []));
7661
+ leftDrawerConfig = input.required(...(ngDevMode ? [{ debugName: "leftDrawerConfig" }] : /* istanbul ignore next */ []));
7662
+ rightDrawerConfig = input(...(ngDevMode ? [undefined, { debugName: "rightDrawerConfig" }] : /* istanbul ignore next */ []));
7663
+ backdropConfig = input.required(...(ngDevMode ? [{ debugName: "backdropConfig" }] : /* istanbul ignore next */ []));
7664
+ dialogConfig = input(...(ngDevMode ? [undefined, { debugName: "dialogConfig" }] : /* istanbul ignore next */ []));
7665
+ fullScreenConfig = input(...(ngDevMode ? [undefined, { debugName: "fullScreenConfig" }] : /* istanbul ignore next */ []));
7666
7666
  leftDrawerToggled = output();
7667
7667
  rightDrawerToggled = output();
7668
- isLeftDrawerOpen = signal(false, ...(ngDevMode ? [{ debugName: "isLeftDrawerOpen" }] : []));
7669
- isRightDrawerOpen = signal(false, ...(ngDevMode ? [{ debugName: "isRightDrawerOpen" }] : []));
7670
- showFullscreenButton = signal(false, ...(ngDevMode ? [{ debugName: "showFullscreenButton" }] : []));
7668
+ isLeftDrawerOpen = signal(false, ...(ngDevMode ? [{ debugName: "isLeftDrawerOpen" }] : /* istanbul ignore next */ []));
7669
+ isRightDrawerOpen = signal(false, ...(ngDevMode ? [{ debugName: "isRightDrawerOpen" }] : /* istanbul ignore next */ []));
7670
+ showFullscreenButton = signal(false, ...(ngDevMode ? [{ debugName: "showFullscreenButton" }] : /* istanbul ignore next */ []));
7671
7671
  fullScreenEnabled = toSignal(this.fullscreenService.fullScreenEnabled$);
7672
7672
  constructor() {
7673
7673
  effect(() => {
@@ -7723,14 +7723,14 @@ class DoubleDrawerLayoutComponent {
7723
7723
  onClose();
7724
7724
  }
7725
7725
  }
7726
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DoubleDrawerLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7727
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DoubleDrawerLayoutComponent, isStandalone: true, selector: "app-double-drawer-layout", inputs: { leftDrawerConfig: { classPropertyName: "leftDrawerConfig", publicName: "leftDrawerConfig", isSignal: true, isRequired: true, transformFunction: null }, rightDrawerConfig: { classPropertyName: "rightDrawerConfig", publicName: "rightDrawerConfig", isSignal: true, isRequired: false, transformFunction: null }, backdropConfig: { classPropertyName: "backdropConfig", publicName: "backdropConfig", isSignal: true, isRequired: true, transformFunction: null }, dialogConfig: { classPropertyName: "dialogConfig", publicName: "dialogConfig", isSignal: true, isRequired: false, transformFunction: null }, fullScreenConfig: { classPropertyName: "fullScreenConfig", publicName: "fullScreenConfig", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { leftDrawerToggled: "leftDrawerToggled", rightDrawerToggled: "rightDrawerToggled" }, host: { listeners: { "window:mousemove": "onMouseMove()", "window:keydown": "onKeyDown($event)" } }, ngImport: i0, template: "<div class=\"w-full h-full relative\">\n <div class=\"absolute h-full drawer\" [ngClass]=\"{open : isLeftDrawerOpen()}\" [ngStyle]=\"{'width': isLeftDrawerOpen() ? leftDrawerConfig().width : '0px'}\">\n <button mat-flat-button class=\"drawer-toggle\"\n (click)=\"isLeftDrawerOpen.set(!isLeftDrawerOpen())\"\n [ngClass]=\"{\n 'destructive-flat-button': isLeftDrawerOpen(),\n 'drawer-toggle-name': leftDrawerConfig().title && !isLeftDrawerOpen()\n }\"\n [matTooltip]=\"isLeftDrawerOpen() ?\n ('COMMON.COLLAPSE_NAVIGATION' | translate) :\n leftDrawerConfig().title ?\n leftDrawerConfig().title :\n ('COMMON.EXPAND_NAVIGATION' | translate)\"\n matTooltipPosition=\"right\">\n @if (leftDrawerConfig().title && !isLeftDrawerOpen()) {\n <span>{{ leftDrawerConfig().title }}</span>\n } @else {\n <span class=\"block\"><mat-icon [ngClass]=\"{'toggle-icon-small': !isLeftDrawerOpen()}\" [svgIcon]=\"isLeftDrawerOpen() ? 'close' : 'arrow_right'\"></mat-icon></span>\n }\n </button>\n <div class=\"h-full w-full\" [ngClass]=\"{'overflow-hidden': !isLeftDrawerOpen()}\">\n <ng-content select=\"[left-drawer]\"></ng-content>\n </div>\n </div>\n <div class=\"h-full w-full content-wrapper\" [ngClass]=\"{'open': (isLeftDrawerOpen() || isRightDrawerOpen()) && backdropConfig().show}\">\n <div class=\"message-wrapper\" [ngClass]=\"{'show': backdropConfig().showMessage}\">\n <span>{{ backdropConfig().message | translate }}</span>\n </div>\n <div class=\"content-backdrop\" [ngClass]=\"{'transparent': backdropConfig().showTransparentBackdrop}\" (click)=\"backdropClick()\">\n </div>\n <div class=\"flex flex-col flex-auto gap-4 h-full w-full overflow-hidden relative\">\n @if (showFullscreenButton()) {\n <button mat-icon-button type=\"button\" class=\"absolute top-2 right-3 !z-10\" [ngClass]=\"!isLeftDrawerOpen() && !isRightDrawerOpen() ? '!block' : '!hidden' \" (mouseover)=\"mouseOver()\" (mouseout)=\"hoverActive.set(false)\"\n [matTooltip]=\"fullScreenEnabled() ? ('COMMON.EXIT_FULLSCREEN' | translate) : ('COMMON.ENTER_FULLSCREEN' | translate)\" (click)=\"fullscreenService.toggleFullScreen(); hoverActive.set(false)\" matTooltipPosition=\"left\">\n @if (fullScreenEnabled()) {\n <mat-icon>fullscreen_exit</mat-icon>\n } @else {\n <mat-icon>fullscreen</mat-icon>\n }\n </button>\n }\n <ng-content select=\"[details]\"></ng-content>\n </div>\n </div>\n <div class=\"absolute h-full drawer right\" [ngClass]=\"{open : isRightDrawerOpen()}\" [ngStyle]=\"{'width': isRightDrawerOpen() ? rightDrawerConfig()?.width : '0px'}\">\n <button mat-flat-button class=\"drawer-toggle\"\n (click)=\"toggleRightDrawer()\"\n [ngClass]=\"{'destructive-flat-button': isRightDrawerOpen()}\"\n [matTooltip]=\"isRightDrawerOpen() ? ('COMMON.COLLAPSE_NAVIGATION' | translate) : ('COMMON.EXPAND_NAVIGATION' | translate)\"\n matTooltipPosition=\"right\">\n <span class=\"block\"><mat-icon [svgIcon]=\"isRightDrawerOpen() ? 'close' : 'arrow_left'\"></mat-icon></span>\n </button>\n <div class=\"h-full w-full\" [ngClass]=\"{'overflow-hidden': !isRightDrawerOpen()}\">\n <ng-content select=\"[right-drawer]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:flex;height:100%;width:100%;max-height:100%;max-width:100%;box-sizing:border-box}.drawer{z-index:10;width:0;max-width:calc(100% - 40px);transition:all .3s cubic-bezier(.4,0,.2,1) 0s;position:relative;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.drawer:after{content:\"\";display:block;width:100%;height:100%;opacity:.6;position:absolute;inset:0;background-color:var(--mat-sys-surface-container);z-index:-1}.drawer .drawer-toggle{position:absolute;bottom:16px;right:0;word-break:keep-all;white-space:nowrap;min-width:fit-content!important;width:fit-content!important;transform:translate(100%);border-radius:0 5px 5px 0!important;padding:0 10px}.drawer .drawer-toggle.drawer-toggle-name{max-width:300px!important;min-width:unset!important;overflow:hidden}.drawer .drawer-toggle.drawer-toggle-name span{display:block;max-width:280px;overflow:hidden;text-overflow:ellipsis}.drawer .drawer-toggle .toggle-icon-small{margin:0 6px;height:10px;width:10px}.drawer.right{right:0;top:0}.drawer.right .drawer-toggle{display:none;position:absolute;bottom:16px;left:0;transform:translate(-100%);border-radius:5px 0 0 5px!important}.drawer.right .drawer-toggle span{line-height:12px}.drawer.right .drawer-toggle span mat-icon{height:24px;width:24px}.drawer.open{border-right:1px solid var(--mat-sys-outline-variant)}.drawer.open.right .drawer-toggle{display:block}.drawer.open.right{border-right:unset;border-left:1px solid var(--mat-sys-outline-variant)}.drawer.open .drawer-toggle span{line-height:12px}.drawer.open .drawer-toggle span mat-icon{height:24px;width:24px}:host-context(.alt-theme) .drawer.after{background-color:var(--mat-sys-surface-container-lowest)}.content-wrapper{position:relative}.content-wrapper .content-backdrop{transition:all .3s cubic-bezier(.4,0,.2,1) 0s;width:100%;height:100%;position:absolute;top:0;left:0;opacity:0;z-index:-1;background-color:transparent}.content-wrapper .message-wrapper{transition:all .5s cubic-bezier(.4,0,.2,1) 0s;position:absolute;right:32px;top:24px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:10px;padding:0 1rem;height:2.5rem;box-sizing:border-box;background-color:var(--mat-sys-primary);color:var(--mat-sys-surface-container);opacity:0;z-index:-1}.content-wrapper .message-wrapper.show{opacity:1;z-index:4}.content-wrapper.open .content-backdrop{background-color:#000;opacity:.5;z-index:3}.content-wrapper.open .content-backdrop.transparent{background-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i1$4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i1$4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
7726
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: DoubleDrawerLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7727
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: DoubleDrawerLayoutComponent, isStandalone: true, selector: "app-double-drawer-layout", inputs: { leftDrawerConfig: { classPropertyName: "leftDrawerConfig", publicName: "leftDrawerConfig", isSignal: true, isRequired: true, transformFunction: null }, rightDrawerConfig: { classPropertyName: "rightDrawerConfig", publicName: "rightDrawerConfig", isSignal: true, isRequired: false, transformFunction: null }, backdropConfig: { classPropertyName: "backdropConfig", publicName: "backdropConfig", isSignal: true, isRequired: true, transformFunction: null }, dialogConfig: { classPropertyName: "dialogConfig", publicName: "dialogConfig", isSignal: true, isRequired: false, transformFunction: null }, fullScreenConfig: { classPropertyName: "fullScreenConfig", publicName: "fullScreenConfig", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { leftDrawerToggled: "leftDrawerToggled", rightDrawerToggled: "rightDrawerToggled" }, host: { listeners: { "window:mousemove": "onMouseMove()", "window:keydown": "onKeyDown($event)" } }, ngImport: i0, template: "<div class=\"w-full h-full relative\">\r\n <div class=\"absolute h-full drawer\" [ngClass]=\"{open : isLeftDrawerOpen()}\" [ngStyle]=\"{'width': isLeftDrawerOpen() ? leftDrawerConfig().width : '0px'}\">\r\n <button mat-flat-button class=\"drawer-toggle\"\r\n (click)=\"isLeftDrawerOpen.set(!isLeftDrawerOpen())\"\r\n [ngClass]=\"{\r\n 'destructive-flat-button': isLeftDrawerOpen(),\r\n 'drawer-toggle-name': leftDrawerConfig().title && !isLeftDrawerOpen()\r\n }\"\r\n [matTooltip]=\"isLeftDrawerOpen() ?\r\n ('COMMON.COLLAPSE_NAVIGATION' | translate) :\r\n leftDrawerConfig().title ?\r\n leftDrawerConfig().title :\r\n ('COMMON.EXPAND_NAVIGATION' | translate)\"\r\n matTooltipPosition=\"right\">\r\n @if (leftDrawerConfig().title && !isLeftDrawerOpen()) {\r\n <span>{{ leftDrawerConfig().title }}</span>\r\n } @else {\r\n <span class=\"block\"><mat-icon [ngClass]=\"{'toggle-icon-small': !isLeftDrawerOpen()}\" [svgIcon]=\"isLeftDrawerOpen() ? 'close' : 'arrow_right'\"></mat-icon></span>\r\n }\r\n </button>\r\n <div class=\"h-full w-full\" [ngClass]=\"{'overflow-hidden': !isLeftDrawerOpen()}\">\r\n <ng-content select=\"[left-drawer]\"></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"h-full w-full content-wrapper\" [ngClass]=\"{'open': (isLeftDrawerOpen() || isRightDrawerOpen()) && backdropConfig().show}\">\r\n <div class=\"message-wrapper\" [ngClass]=\"{'show': backdropConfig().showMessage}\">\r\n <span>{{ backdropConfig().message | translate }}</span>\r\n </div>\r\n <div class=\"content-backdrop\" [ngClass]=\"{'transparent': backdropConfig().showTransparentBackdrop}\" (click)=\"backdropClick()\">\r\n </div>\r\n <div class=\"flex flex-col flex-auto gap-4 h-full w-full overflow-hidden relative\">\r\n @if (showFullscreenButton()) {\r\n <button mat-icon-button type=\"button\" class=\"absolute top-2 right-3 !z-10\" [ngClass]=\"!isLeftDrawerOpen() && !isRightDrawerOpen() ? '!block' : '!hidden' \" (mouseover)=\"mouseOver()\" (mouseout)=\"hoverActive.set(false)\"\r\n [matTooltip]=\"fullScreenEnabled() ? ('COMMON.EXIT_FULLSCREEN' | translate) : ('COMMON.ENTER_FULLSCREEN' | translate)\" (click)=\"fullscreenService.toggleFullScreen(); hoverActive.set(false)\" matTooltipPosition=\"left\">\r\n @if (fullScreenEnabled()) {\r\n <mat-icon>fullscreen_exit</mat-icon>\r\n } @else {\r\n <mat-icon>fullscreen</mat-icon>\r\n }\r\n </button>\r\n }\r\n <ng-content select=\"[details]\"></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"absolute h-full drawer right\" [ngClass]=\"{open : isRightDrawerOpen()}\" [ngStyle]=\"{'width': isRightDrawerOpen() ? rightDrawerConfig()?.width : '0px'}\">\r\n <button mat-flat-button class=\"drawer-toggle\"\r\n (click)=\"toggleRightDrawer()\"\r\n [ngClass]=\"{'destructive-flat-button': isRightDrawerOpen()}\"\r\n [matTooltip]=\"isRightDrawerOpen() ? ('COMMON.COLLAPSE_NAVIGATION' | translate) : ('COMMON.EXPAND_NAVIGATION' | translate)\"\r\n matTooltipPosition=\"right\">\r\n <span class=\"block\"><mat-icon [svgIcon]=\"isRightDrawerOpen() ? 'close' : 'arrow_left'\"></mat-icon></span>\r\n </button>\r\n <div class=\"h-full w-full\" [ngClass]=\"{'overflow-hidden': !isRightDrawerOpen()}\">\r\n <ng-content select=\"[right-drawer]\"></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{display:flex;height:100%;width:100%;max-height:100%;max-width:100%;box-sizing:border-box}.drawer{z-index:10;width:0;max-width:calc(100% - 40px);transition:all .3s cubic-bezier(.4,0,.2,1) 0s;position:relative;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.drawer:after{content:\"\";display:block;width:100%;height:100%;opacity:.6;position:absolute;inset:0;background-color:var(--mat-sys-surface-container);z-index:-1}.drawer .drawer-toggle{position:absolute;bottom:16px;right:0;word-break:keep-all;white-space:nowrap;min-width:fit-content!important;width:fit-content!important;transform:translate(100%);border-radius:0 5px 5px 0!important;padding:0 10px}.drawer .drawer-toggle.drawer-toggle-name{max-width:300px!important;min-width:unset!important;overflow:hidden}.drawer .drawer-toggle.drawer-toggle-name span{display:block;max-width:280px;overflow:hidden;text-overflow:ellipsis}.drawer .drawer-toggle .toggle-icon-small{margin:0 6px;height:10px;width:10px}.drawer.right{right:0;top:0}.drawer.right .drawer-toggle{display:none;position:absolute;bottom:16px;left:0;transform:translate(-100%);border-radius:5px 0 0 5px!important}.drawer.right .drawer-toggle span{line-height:12px}.drawer.right .drawer-toggle span mat-icon{height:24px;width:24px}.drawer.open{border-right:1px solid var(--mat-sys-outline-variant)}.drawer.open.right .drawer-toggle{display:block}.drawer.open.right{border-right:unset;border-left:1px solid var(--mat-sys-outline-variant)}.drawer.open .drawer-toggle span{line-height:12px}.drawer.open .drawer-toggle span mat-icon{height:24px;width:24px}:host-context(.alt-theme) .drawer.after{background-color:var(--mat-sys-surface-container-lowest)}.content-wrapper{position:relative}.content-wrapper .content-backdrop{transition:all .3s cubic-bezier(.4,0,.2,1) 0s;width:100%;height:100%;position:absolute;top:0;left:0;opacity:0;z-index:-1;background-color:transparent}.content-wrapper .message-wrapper{transition:all .5s cubic-bezier(.4,0,.2,1) 0s;position:absolute;right:32px;top:24px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:10px;padding:0 1rem;height:2.5rem;box-sizing:border-box;background-color:var(--mat-sys-primary);color:var(--mat-sys-surface-container);opacity:0;z-index:-1}.content-wrapper .message-wrapper.show{opacity:1;z-index:4}.content-wrapper.open .content-backdrop{background-color:#000;opacity:.5;z-index:3}.content-wrapper.open .content-backdrop.transparent{background-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i1$4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i1$4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
7728
7728
  }
7729
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DoubleDrawerLayoutComponent, decorators: [{
7729
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: DoubleDrawerLayoutComponent, decorators: [{
7730
7730
  type: Component,
7731
7731
  args: [{ selector: 'app-double-drawer-layout', imports: [
7732
7732
  SharedModule
7733
- ], template: "<div class=\"w-full h-full relative\">\n <div class=\"absolute h-full drawer\" [ngClass]=\"{open : isLeftDrawerOpen()}\" [ngStyle]=\"{'width': isLeftDrawerOpen() ? leftDrawerConfig().width : '0px'}\">\n <button mat-flat-button class=\"drawer-toggle\"\n (click)=\"isLeftDrawerOpen.set(!isLeftDrawerOpen())\"\n [ngClass]=\"{\n 'destructive-flat-button': isLeftDrawerOpen(),\n 'drawer-toggle-name': leftDrawerConfig().title && !isLeftDrawerOpen()\n }\"\n [matTooltip]=\"isLeftDrawerOpen() ?\n ('COMMON.COLLAPSE_NAVIGATION' | translate) :\n leftDrawerConfig().title ?\n leftDrawerConfig().title :\n ('COMMON.EXPAND_NAVIGATION' | translate)\"\n matTooltipPosition=\"right\">\n @if (leftDrawerConfig().title && !isLeftDrawerOpen()) {\n <span>{{ leftDrawerConfig().title }}</span>\n } @else {\n <span class=\"block\"><mat-icon [ngClass]=\"{'toggle-icon-small': !isLeftDrawerOpen()}\" [svgIcon]=\"isLeftDrawerOpen() ? 'close' : 'arrow_right'\"></mat-icon></span>\n }\n </button>\n <div class=\"h-full w-full\" [ngClass]=\"{'overflow-hidden': !isLeftDrawerOpen()}\">\n <ng-content select=\"[left-drawer]\"></ng-content>\n </div>\n </div>\n <div class=\"h-full w-full content-wrapper\" [ngClass]=\"{'open': (isLeftDrawerOpen() || isRightDrawerOpen()) && backdropConfig().show}\">\n <div class=\"message-wrapper\" [ngClass]=\"{'show': backdropConfig().showMessage}\">\n <span>{{ backdropConfig().message | translate }}</span>\n </div>\n <div class=\"content-backdrop\" [ngClass]=\"{'transparent': backdropConfig().showTransparentBackdrop}\" (click)=\"backdropClick()\">\n </div>\n <div class=\"flex flex-col flex-auto gap-4 h-full w-full overflow-hidden relative\">\n @if (showFullscreenButton()) {\n <button mat-icon-button type=\"button\" class=\"absolute top-2 right-3 !z-10\" [ngClass]=\"!isLeftDrawerOpen() && !isRightDrawerOpen() ? '!block' : '!hidden' \" (mouseover)=\"mouseOver()\" (mouseout)=\"hoverActive.set(false)\"\n [matTooltip]=\"fullScreenEnabled() ? ('COMMON.EXIT_FULLSCREEN' | translate) : ('COMMON.ENTER_FULLSCREEN' | translate)\" (click)=\"fullscreenService.toggleFullScreen(); hoverActive.set(false)\" matTooltipPosition=\"left\">\n @if (fullScreenEnabled()) {\n <mat-icon>fullscreen_exit</mat-icon>\n } @else {\n <mat-icon>fullscreen</mat-icon>\n }\n </button>\n }\n <ng-content select=\"[details]\"></ng-content>\n </div>\n </div>\n <div class=\"absolute h-full drawer right\" [ngClass]=\"{open : isRightDrawerOpen()}\" [ngStyle]=\"{'width': isRightDrawerOpen() ? rightDrawerConfig()?.width : '0px'}\">\n <button mat-flat-button class=\"drawer-toggle\"\n (click)=\"toggleRightDrawer()\"\n [ngClass]=\"{'destructive-flat-button': isRightDrawerOpen()}\"\n [matTooltip]=\"isRightDrawerOpen() ? ('COMMON.COLLAPSE_NAVIGATION' | translate) : ('COMMON.EXPAND_NAVIGATION' | translate)\"\n matTooltipPosition=\"right\">\n <span class=\"block\"><mat-icon [svgIcon]=\"isRightDrawerOpen() ? 'close' : 'arrow_left'\"></mat-icon></span>\n </button>\n <div class=\"h-full w-full\" [ngClass]=\"{'overflow-hidden': !isRightDrawerOpen()}\">\n <ng-content select=\"[right-drawer]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:flex;height:100%;width:100%;max-height:100%;max-width:100%;box-sizing:border-box}.drawer{z-index:10;width:0;max-width:calc(100% - 40px);transition:all .3s cubic-bezier(.4,0,.2,1) 0s;position:relative;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.drawer:after{content:\"\";display:block;width:100%;height:100%;opacity:.6;position:absolute;inset:0;background-color:var(--mat-sys-surface-container);z-index:-1}.drawer .drawer-toggle{position:absolute;bottom:16px;right:0;word-break:keep-all;white-space:nowrap;min-width:fit-content!important;width:fit-content!important;transform:translate(100%);border-radius:0 5px 5px 0!important;padding:0 10px}.drawer .drawer-toggle.drawer-toggle-name{max-width:300px!important;min-width:unset!important;overflow:hidden}.drawer .drawer-toggle.drawer-toggle-name span{display:block;max-width:280px;overflow:hidden;text-overflow:ellipsis}.drawer .drawer-toggle .toggle-icon-small{margin:0 6px;height:10px;width:10px}.drawer.right{right:0;top:0}.drawer.right .drawer-toggle{display:none;position:absolute;bottom:16px;left:0;transform:translate(-100%);border-radius:5px 0 0 5px!important}.drawer.right .drawer-toggle span{line-height:12px}.drawer.right .drawer-toggle span mat-icon{height:24px;width:24px}.drawer.open{border-right:1px solid var(--mat-sys-outline-variant)}.drawer.open.right .drawer-toggle{display:block}.drawer.open.right{border-right:unset;border-left:1px solid var(--mat-sys-outline-variant)}.drawer.open .drawer-toggle span{line-height:12px}.drawer.open .drawer-toggle span mat-icon{height:24px;width:24px}:host-context(.alt-theme) .drawer.after{background-color:var(--mat-sys-surface-container-lowest)}.content-wrapper{position:relative}.content-wrapper .content-backdrop{transition:all .3s cubic-bezier(.4,0,.2,1) 0s;width:100%;height:100%;position:absolute;top:0;left:0;opacity:0;z-index:-1;background-color:transparent}.content-wrapper .message-wrapper{transition:all .5s cubic-bezier(.4,0,.2,1) 0s;position:absolute;right:32px;top:24px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:10px;padding:0 1rem;height:2.5rem;box-sizing:border-box;background-color:var(--mat-sys-primary);color:var(--mat-sys-surface-container);opacity:0;z-index:-1}.content-wrapper .message-wrapper.show{opacity:1;z-index:4}.content-wrapper.open .content-backdrop{background-color:#000;opacity:.5;z-index:3}.content-wrapper.open .content-backdrop.transparent{background-color:transparent}\n"] }]
7733
+ ], template: "<div class=\"w-full h-full relative\">\r\n <div class=\"absolute h-full drawer\" [ngClass]=\"{open : isLeftDrawerOpen()}\" [ngStyle]=\"{'width': isLeftDrawerOpen() ? leftDrawerConfig().width : '0px'}\">\r\n <button mat-flat-button class=\"drawer-toggle\"\r\n (click)=\"isLeftDrawerOpen.set(!isLeftDrawerOpen())\"\r\n [ngClass]=\"{\r\n 'destructive-flat-button': isLeftDrawerOpen(),\r\n 'drawer-toggle-name': leftDrawerConfig().title && !isLeftDrawerOpen()\r\n }\"\r\n [matTooltip]=\"isLeftDrawerOpen() ?\r\n ('COMMON.COLLAPSE_NAVIGATION' | translate) :\r\n leftDrawerConfig().title ?\r\n leftDrawerConfig().title :\r\n ('COMMON.EXPAND_NAVIGATION' | translate)\"\r\n matTooltipPosition=\"right\">\r\n @if (leftDrawerConfig().title && !isLeftDrawerOpen()) {\r\n <span>{{ leftDrawerConfig().title }}</span>\r\n } @else {\r\n <span class=\"block\"><mat-icon [ngClass]=\"{'toggle-icon-small': !isLeftDrawerOpen()}\" [svgIcon]=\"isLeftDrawerOpen() ? 'close' : 'arrow_right'\"></mat-icon></span>\r\n }\r\n </button>\r\n <div class=\"h-full w-full\" [ngClass]=\"{'overflow-hidden': !isLeftDrawerOpen()}\">\r\n <ng-content select=\"[left-drawer]\"></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"h-full w-full content-wrapper\" [ngClass]=\"{'open': (isLeftDrawerOpen() || isRightDrawerOpen()) && backdropConfig().show}\">\r\n <div class=\"message-wrapper\" [ngClass]=\"{'show': backdropConfig().showMessage}\">\r\n <span>{{ backdropConfig().message | translate }}</span>\r\n </div>\r\n <div class=\"content-backdrop\" [ngClass]=\"{'transparent': backdropConfig().showTransparentBackdrop}\" (click)=\"backdropClick()\">\r\n </div>\r\n <div class=\"flex flex-col flex-auto gap-4 h-full w-full overflow-hidden relative\">\r\n @if (showFullscreenButton()) {\r\n <button mat-icon-button type=\"button\" class=\"absolute top-2 right-3 !z-10\" [ngClass]=\"!isLeftDrawerOpen() && !isRightDrawerOpen() ? '!block' : '!hidden' \" (mouseover)=\"mouseOver()\" (mouseout)=\"hoverActive.set(false)\"\r\n [matTooltip]=\"fullScreenEnabled() ? ('COMMON.EXIT_FULLSCREEN' | translate) : ('COMMON.ENTER_FULLSCREEN' | translate)\" (click)=\"fullscreenService.toggleFullScreen(); hoverActive.set(false)\" matTooltipPosition=\"left\">\r\n @if (fullScreenEnabled()) {\r\n <mat-icon>fullscreen_exit</mat-icon>\r\n } @else {\r\n <mat-icon>fullscreen</mat-icon>\r\n }\r\n </button>\r\n }\r\n <ng-content select=\"[details]\"></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"absolute h-full drawer right\" [ngClass]=\"{open : isRightDrawerOpen()}\" [ngStyle]=\"{'width': isRightDrawerOpen() ? rightDrawerConfig()?.width : '0px'}\">\r\n <button mat-flat-button class=\"drawer-toggle\"\r\n (click)=\"toggleRightDrawer()\"\r\n [ngClass]=\"{'destructive-flat-button': isRightDrawerOpen()}\"\r\n [matTooltip]=\"isRightDrawerOpen() ? ('COMMON.COLLAPSE_NAVIGATION' | translate) : ('COMMON.EXPAND_NAVIGATION' | translate)\"\r\n matTooltipPosition=\"right\">\r\n <span class=\"block\"><mat-icon [svgIcon]=\"isRightDrawerOpen() ? 'close' : 'arrow_left'\"></mat-icon></span>\r\n </button>\r\n <div class=\"h-full w-full\" [ngClass]=\"{'overflow-hidden': !isRightDrawerOpen()}\">\r\n <ng-content select=\"[right-drawer]\"></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{display:flex;height:100%;width:100%;max-height:100%;max-width:100%;box-sizing:border-box}.drawer{z-index:10;width:0;max-width:calc(100% - 40px);transition:all .3s cubic-bezier(.4,0,.2,1) 0s;position:relative;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.drawer:after{content:\"\";display:block;width:100%;height:100%;opacity:.6;position:absolute;inset:0;background-color:var(--mat-sys-surface-container);z-index:-1}.drawer .drawer-toggle{position:absolute;bottom:16px;right:0;word-break:keep-all;white-space:nowrap;min-width:fit-content!important;width:fit-content!important;transform:translate(100%);border-radius:0 5px 5px 0!important;padding:0 10px}.drawer .drawer-toggle.drawer-toggle-name{max-width:300px!important;min-width:unset!important;overflow:hidden}.drawer .drawer-toggle.drawer-toggle-name span{display:block;max-width:280px;overflow:hidden;text-overflow:ellipsis}.drawer .drawer-toggle .toggle-icon-small{margin:0 6px;height:10px;width:10px}.drawer.right{right:0;top:0}.drawer.right .drawer-toggle{display:none;position:absolute;bottom:16px;left:0;transform:translate(-100%);border-radius:5px 0 0 5px!important}.drawer.right .drawer-toggle span{line-height:12px}.drawer.right .drawer-toggle span mat-icon{height:24px;width:24px}.drawer.open{border-right:1px solid var(--mat-sys-outline-variant)}.drawer.open.right .drawer-toggle{display:block}.drawer.open.right{border-right:unset;border-left:1px solid var(--mat-sys-outline-variant)}.drawer.open .drawer-toggle span{line-height:12px}.drawer.open .drawer-toggle span mat-icon{height:24px;width:24px}:host-context(.alt-theme) .drawer.after{background-color:var(--mat-sys-surface-container-lowest)}.content-wrapper{position:relative}.content-wrapper .content-backdrop{transition:all .3s cubic-bezier(.4,0,.2,1) 0s;width:100%;height:100%;position:absolute;top:0;left:0;opacity:0;z-index:-1;background-color:transparent}.content-wrapper .message-wrapper{transition:all .5s cubic-bezier(.4,0,.2,1) 0s;position:absolute;right:32px;top:24px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:10px;padding:0 1rem;height:2.5rem;box-sizing:border-box;background-color:var(--mat-sys-primary);color:var(--mat-sys-surface-container);opacity:0;z-index:-1}.content-wrapper .message-wrapper.show{opacity:1;z-index:4}.content-wrapper.open .content-backdrop{background-color:#000;opacity:.5;z-index:3}.content-wrapper.open .content-backdrop.transparent{background-color:transparent}\n"] }]
7734
7734
  }], ctorParameters: () => [], propDecorators: { onMouseMove: [{
7735
7735
  type: HostListener,
7736
7736
  args: ['window:mousemove']
@@ -7742,9 +7742,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
7742
7742
  class BulkConfirmationDialogComponent {
7743
7743
  data;
7744
7744
  dialog;
7745
- isDeleteMode = signal(true, ...(ngDevMode ? [{ debugName: "isDeleteMode" }] : []));
7746
- action = signal('COMMON.DELETE_SELECTED', ...(ngDevMode ? [{ debugName: "action" }] : []));
7747
- title = signal('COMMON.DELETE_SELECTED_TITLE', ...(ngDevMode ? [{ debugName: "title" }] : []));
7745
+ isDeleteMode = signal(true, ...(ngDevMode ? [{ debugName: "isDeleteMode" }] : /* istanbul ignore next */ []));
7746
+ action = signal('COMMON.DELETE_SELECTED', ...(ngDevMode ? [{ debugName: "action" }] : /* istanbul ignore next */ []));
7747
+ title = signal('COMMON.DELETE_SELECTED_TITLE', ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
7748
7748
  constructor(data, dialog) {
7749
7749
  this.data = data;
7750
7750
  this.dialog = dialog;
@@ -7761,12 +7761,12 @@ class BulkConfirmationDialogComponent {
7761
7761
  confirm() {
7762
7762
  this.dialog.close(true);
7763
7763
  }
7764
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: BulkConfirmationDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1$5.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
7765
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: BulkConfirmationDialogComponent, isStandalone: true, selector: "app-delete-confirmation-dialog", ngImport: i0, template: "<div class=\"flex flex-col flex-auto gap-y-8 p-4 content\">\n <div class=\"text-lg\">{{ title() | translate: {entity: data.entity} }}</div>\n <div class=\"flex flex-col flex-auto gap-y-4\">\n <div class=\"flex flex-col flex-auto gap-y-4 max-h-96 overflow-hidden\">\n <div class=\"flex flex-col flex-auto gap-y-2\">\n <div>{{ 'COMMON.SELECTED_ITEMS' | translate: {entity: data.entity} }}</div>\n <mat-divider></mat-divider>\n </div>\n <div class=\"flex flex-col flex-auto gap-y-2 overflow-auto\">\n @for (item of data.items; track $index) {\n <div>{{ item }}</div>\n }\n </div>\n </div>\n </div>\n <div class=\"flex flex-row flex-auto gap-x-2 justify-end\">\n <button mat-button mat-dialog-close>{{ 'COMMON.CANCEL' | translate }}</button>\n <button [ngClass]=\" isDeleteMode() ? 'destructive-flat-button' : ''\" mat-flat-button\n (click)=\"confirm()\">{{ this.action() | translate: {count: data.items.length, entity: data.entity} }}\n </button>\n </div>\n</div>\n", styles: [".content{width:var(--medium-dialog-width)}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i1$4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$5.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: i1$7.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7764
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: BulkConfirmationDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1$5.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
7765
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: BulkConfirmationDialogComponent, isStandalone: true, selector: "app-delete-confirmation-dialog", ngImport: i0, template: "<div class=\"flex flex-col flex-auto gap-y-8 p-4 content\">\r\n <div class=\"text-lg\">{{ title() | translate: {entity: data.entity} }}</div>\r\n <div class=\"flex flex-col flex-auto gap-y-4\">\r\n <div class=\"flex flex-col flex-auto gap-y-4 max-h-96 overflow-hidden\">\r\n <div class=\"flex flex-col flex-auto gap-y-2\">\r\n <div>{{ 'COMMON.SELECTED_ITEMS' | translate: {entity: data.entity} }}</div>\r\n <mat-divider></mat-divider>\r\n </div>\r\n <div class=\"flex flex-col flex-auto gap-y-2 overflow-auto\">\r\n @for (item of data.items; track $index) {\r\n <div>{{ item }}</div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"flex flex-row flex-auto gap-x-2 justify-end\">\r\n <button mat-button mat-dialog-close>{{ 'COMMON.CANCEL' | translate }}</button>\r\n <button [ngClass]=\" isDeleteMode() ? 'destructive-flat-button' : ''\" mat-flat-button\r\n (click)=\"confirm()\">{{ this.action() | translate: {count: data.items.length, entity: data.entity} }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".content{width:var(--medium-dialog-width)}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i1$4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$5.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: i1$7.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7766
7766
  }
7767
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: BulkConfirmationDialogComponent, decorators: [{
7767
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: BulkConfirmationDialogComponent, decorators: [{
7768
7768
  type: Component,
7769
- args: [{ selector: 'app-delete-confirmation-dialog', imports: [SharedModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col flex-auto gap-y-8 p-4 content\">\n <div class=\"text-lg\">{{ title() | translate: {entity: data.entity} }}</div>\n <div class=\"flex flex-col flex-auto gap-y-4\">\n <div class=\"flex flex-col flex-auto gap-y-4 max-h-96 overflow-hidden\">\n <div class=\"flex flex-col flex-auto gap-y-2\">\n <div>{{ 'COMMON.SELECTED_ITEMS' | translate: {entity: data.entity} }}</div>\n <mat-divider></mat-divider>\n </div>\n <div class=\"flex flex-col flex-auto gap-y-2 overflow-auto\">\n @for (item of data.items; track $index) {\n <div>{{ item }}</div>\n }\n </div>\n </div>\n </div>\n <div class=\"flex flex-row flex-auto gap-x-2 justify-end\">\n <button mat-button mat-dialog-close>{{ 'COMMON.CANCEL' | translate }}</button>\n <button [ngClass]=\" isDeleteMode() ? 'destructive-flat-button' : ''\" mat-flat-button\n (click)=\"confirm()\">{{ this.action() | translate: {count: data.items.length, entity: data.entity} }}\n </button>\n </div>\n</div>\n", styles: [".content{width:var(--medium-dialog-width)}\n"] }]
7769
+ args: [{ selector: 'app-delete-confirmation-dialog', imports: [SharedModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col flex-auto gap-y-8 p-4 content\">\r\n <div class=\"text-lg\">{{ title() | translate: {entity: data.entity} }}</div>\r\n <div class=\"flex flex-col flex-auto gap-y-4\">\r\n <div class=\"flex flex-col flex-auto gap-y-4 max-h-96 overflow-hidden\">\r\n <div class=\"flex flex-col flex-auto gap-y-2\">\r\n <div>{{ 'COMMON.SELECTED_ITEMS' | translate: {entity: data.entity} }}</div>\r\n <mat-divider></mat-divider>\r\n </div>\r\n <div class=\"flex flex-col flex-auto gap-y-2 overflow-auto\">\r\n @for (item of data.items; track $index) {\r\n <div>{{ item }}</div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"flex flex-row flex-auto gap-x-2 justify-end\">\r\n <button mat-button mat-dialog-close>{{ 'COMMON.CANCEL' | translate }}</button>\r\n <button [ngClass]=\" isDeleteMode() ? 'destructive-flat-button' : ''\" mat-flat-button\r\n (click)=\"confirm()\">{{ this.action() | translate: {count: data.items.length, entity: data.entity} }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".content{width:var(--medium-dialog-width)}\n"] }]
7770
7770
  }], ctorParameters: () => [{ type: undefined, decorators: [{
7771
7771
  type: Inject,
7772
7772
  args: [MAT_DIALOG_DATA]