@open-rlb/ng-app 3.1.91 → 3.1.92

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.
@@ -53,10 +53,10 @@ class TokenCookiesService {
53
53
  }
54
54
  clear() {
55
55
  }
56
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: TokenCookiesService, deps: [{ token: i1.SsrCookieService }], target: i0.ɵɵFactoryTarget.Injectable }); }
57
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: TokenCookiesService, providedIn: 'root' }); }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: TokenCookiesService, deps: [{ token: i1.SsrCookieService }], target: i0.ɵɵFactoryTarget.Injectable }); }
57
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: TokenCookiesService, providedIn: 'root' }); }
58
58
  }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: TokenCookiesService, decorators: [{
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: TokenCookiesService, decorators: [{
60
60
  type: Injectable,
61
61
  args: [{
62
62
  providedIn: 'root'
@@ -88,10 +88,10 @@ class AppStorageService {
88
88
  clearSession() {
89
89
  sessionStorage.clear();
90
90
  }
91
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AppStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
92
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AppStorageService, providedIn: 'root' }); }
91
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
92
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppStorageService, providedIn: 'root' }); }
93
93
  }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AppStorageService, decorators: [{
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppStorageService, decorators: [{
95
95
  type: Injectable,
96
96
  args: [{
97
97
  providedIn: 'root'
@@ -114,10 +114,10 @@ class TokenSessionService {
114
114
  clear() {
115
115
  this.store.clearSession();
116
116
  }
117
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: TokenSessionService, deps: [{ token: AppStorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
118
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: TokenSessionService, providedIn: 'root' }); }
117
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: TokenSessionService, deps: [{ token: AppStorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
118
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: TokenSessionService, providedIn: 'root' }); }
119
119
  }
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: TokenSessionService, decorators: [{
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: TokenSessionService, decorators: [{
121
121
  type: Injectable,
122
122
  args: [{
123
123
  providedIn: 'root'
@@ -140,10 +140,10 @@ class TokenStoreService {
140
140
  clear() {
141
141
  this.store.clearLocal();
142
142
  }
143
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: TokenStoreService, deps: [{ token: AppStorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
144
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: TokenStoreService, providedIn: 'root' }); }
143
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: TokenStoreService, deps: [{ token: AppStorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
144
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: TokenStoreService, providedIn: 'root' }); }
145
145
  }
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: TokenStoreService, decorators: [{
146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: TokenStoreService, decorators: [{
147
147
  type: Injectable,
148
148
  args: [{
149
149
  providedIn: 'root'
@@ -243,10 +243,10 @@ class AppLoggerService {
243
243
  console.log(`%c${prefix}`, colors.log, ...messageArgs);
244
244
  }
245
245
  }
246
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AppLoggerService, deps: [{ token: RLB_CFG_ENV }], target: i0.ɵɵFactoryTarget.Injectable }); }
247
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AppLoggerService, providedIn: 'root' }); }
246
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppLoggerService, deps: [{ token: RLB_CFG_ENV }], target: i0.ɵɵFactoryTarget.Injectable }); }
247
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppLoggerService, providedIn: 'root' }); }
248
248
  }
249
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AppLoggerService, decorators: [{
249
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppLoggerService, decorators: [{
250
250
  type: Injectable,
251
251
  args: [{ providedIn: 'root' }]
252
252
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -314,10 +314,10 @@ class AuthFeatureService {
314
314
  logout() {
315
315
  this.store.dispatch(AuthActions.logout());
316
316
  }
317
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AuthFeatureService, deps: [{ token: i1$1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
318
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AuthFeatureService, providedIn: 'root' }); }
317
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AuthFeatureService, deps: [{ token: i1$1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
318
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AuthFeatureService, providedIn: 'root' }); }
319
319
  }
320
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AuthFeatureService, decorators: [{
320
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AuthFeatureService, decorators: [{
321
321
  type: Injectable,
322
322
  args: [{
323
323
  providedIn: 'root'
@@ -423,10 +423,10 @@ class AdminApiService {
423
423
  const url = `${endpoint.baseUrl}/${path}`;
424
424
  return this.httpClient.get(url).pipe();
425
425
  }
426
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AdminApiService, deps: [{ token: i1$2.HttpClient }, { token: RLB_CFG, optional: true }, { token: RLB_CFG_ACL, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
427
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AdminApiService, providedIn: 'root' }); }
426
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AdminApiService, deps: [{ token: i1$2.HttpClient }, { token: RLB_CFG, optional: true }, { token: RLB_CFG_ACL, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
427
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AdminApiService, providedIn: 'root' }); }
428
428
  }
429
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AdminApiService, decorators: [{
429
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AdminApiService, decorators: [{
430
430
  type: Injectable,
431
431
  args: [{ providedIn: 'root' }]
432
432
  }], ctorParameters: () => [{ type: i1$2.HttpClient }, { type: undefined, decorators: [{
@@ -485,10 +485,10 @@ const AclStore = signalStore({ providedIn: 'root' }, withState(initialAclState),
485
485
  })));
486
486
 
487
487
  class AbstractSupportService {
488
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AbstractSupportService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
489
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AbstractSupportService }); }
488
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AbstractSupportService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
489
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AbstractSupportService }); }
490
490
  }
491
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AbstractSupportService, decorators: [{
491
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AbstractSupportService, decorators: [{
492
492
  type: Injectable
493
493
  }] });
494
494
 
@@ -813,10 +813,10 @@ class AppsService {
813
813
  }
814
814
  return segments.join('/');
815
815
  }
816
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AppsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
817
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AppsService, providedIn: 'root' }); }
816
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
817
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppsService, providedIn: 'root' }); }
818
818
  }
819
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AppsService, decorators: [{
819
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppsService, decorators: [{
820
820
  type: Injectable,
821
821
  args: [{
822
822
  providedIn: 'root',
@@ -888,10 +888,10 @@ class LanguageService {
888
888
  };
889
889
  return names[l] || '';
890
890
  }
891
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: LanguageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
892
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: LanguageService, providedIn: 'root' }); }
891
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: LanguageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
892
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: LanguageService, providedIn: 'root' }); }
893
893
  }
894
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: LanguageService, decorators: [{
894
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: LanguageService, decorators: [{
895
895
  type: Injectable,
896
896
  args: [{ providedIn: 'root' }]
897
897
  }], ctorParameters: () => [] });
@@ -948,10 +948,10 @@ class AppBreadcrumbService {
948
948
  }
949
949
  return breadcrumbs;
950
950
  }
951
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AppBreadcrumbService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
952
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AppBreadcrumbService, providedIn: 'root' }); }
951
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppBreadcrumbService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
952
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppBreadcrumbService, providedIn: 'root' }); }
953
953
  }
954
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AppBreadcrumbService, decorators: [{
954
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppBreadcrumbService, decorators: [{
955
955
  type: Injectable,
956
956
  args: [{ providedIn: 'root' }]
957
957
  }], ctorParameters: () => [] });
@@ -1015,10 +1015,10 @@ class LocalCacheService {
1015
1015
  }
1016
1016
  }), share());
1017
1017
  }
1018
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: LocalCacheService, deps: [{ token: RLB_CFG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1019
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: LocalCacheService, providedIn: 'root' }); }
1018
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: LocalCacheService, deps: [{ token: RLB_CFG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1019
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: LocalCacheService, providedIn: 'root' }); }
1020
1020
  }
1021
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: LocalCacheService, decorators: [{
1021
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: LocalCacheService, decorators: [{
1022
1022
  type: Injectable,
1023
1023
  args: [{
1024
1024
  providedIn: 'root'
@@ -1032,10 +1032,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
1032
1032
 
1033
1033
  class AbstractMdService {
1034
1034
  constructor() { }
1035
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AbstractMdService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1036
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AbstractMdService, providedIn: 'root' }); }
1035
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AbstractMdService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1036
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AbstractMdService, providedIn: 'root' }); }
1037
1037
  }
1038
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AbstractMdService, decorators: [{
1038
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AbstractMdService, decorators: [{
1039
1039
  type: Injectable,
1040
1040
  args: [{
1041
1041
  providedIn: 'root'
@@ -1100,10 +1100,10 @@ class StrapiService {
1100
1100
  }));
1101
1101
  return this.cache.getData(__r, `strapiPage/${lang}/${cid}`, this.cmsOptions.chacheDuration || 3600);
1102
1102
  }
1103
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: StrapiService, deps: [{ token: i1$2.HttpClient }, { token: LocalCacheService }, { token: RLB_CFG_CMS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1104
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: StrapiService, providedIn: 'root' }); }
1103
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: StrapiService, deps: [{ token: i1$2.HttpClient }, { token: LocalCacheService }, { token: RLB_CFG_CMS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1104
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: StrapiService, providedIn: 'root' }); }
1105
1105
  }
1106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: StrapiService, decorators: [{
1106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: StrapiService, decorators: [{
1107
1107
  type: Injectable,
1108
1108
  args: [{
1109
1109
  providedIn: 'root'
@@ -1183,10 +1183,10 @@ class ErrorManagementService {
1183
1183
  }));
1184
1184
  };
1185
1185
  }
1186
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ErrorManagementService, deps: [{ token: i1$3.ModalService }, { token: i1$3.ToastService }, { token: LanguageService }, { token: RLB_CFG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1187
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ErrorManagementService, providedIn: 'root' }); }
1186
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ErrorManagementService, deps: [{ token: i1$3.ModalService }, { token: i1$3.ToastService }, { token: LanguageService }, { token: RLB_CFG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1187
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ErrorManagementService, providedIn: 'root' }); }
1188
1188
  }
1189
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ErrorManagementService, decorators: [{
1189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ErrorManagementService, decorators: [{
1190
1190
  type: Injectable,
1191
1191
  args: [{
1192
1192
  providedIn: 'root'
@@ -1206,10 +1206,10 @@ class RlbTranslateAdapterService {
1206
1206
  instant(key, params) {
1207
1207
  return this.translateService.instant(key, params);
1208
1208
  }
1209
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: RlbTranslateAdapterService, deps: [{ token: i1$4.TranslateService }, { token: i1$3.UniqueIdService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1210
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: RlbTranslateAdapterService, providedIn: 'root' }); }
1209
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: RlbTranslateAdapterService, deps: [{ token: i1$4.TranslateService }, { token: i1$3.UniqueIdService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1210
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: RlbTranslateAdapterService, providedIn: 'root' }); }
1211
1211
  }
1212
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: RlbTranslateAdapterService, decorators: [{
1212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: RlbTranslateAdapterService, decorators: [{
1213
1213
  type: Injectable,
1214
1214
  args: [{ providedIn: 'root' }]
1215
1215
  }], ctorParameters: () => [{ type: i1$4.TranslateService }, { type: i1$3.UniqueIdService }] });
@@ -1296,10 +1296,10 @@ class CookiesService {
1296
1296
  }
1297
1297
  document.cookie = cookie;
1298
1298
  }
1299
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CookiesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1300
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CookiesService, providedIn: 'root' }); }
1299
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: CookiesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1300
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: CookiesService, providedIn: 'root' }); }
1301
1301
  }
1302
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CookiesService, decorators: [{
1302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: CookiesService, decorators: [{
1303
1303
  type: Injectable,
1304
1304
  args: [{
1305
1305
  providedIn: 'root'
@@ -1333,10 +1333,10 @@ class PwaUpdaterService {
1333
1333
  return result;
1334
1334
  }), switchMap(() => this.modalService.openSimpleModal(this.languageService.translate('core.pwa.newVersionAvailable'), this.languageService.translate('core.pwa.updateMessage'), this.languageService.translate('core.pwa.updateNow'), this.languageService.translate('core.pwa.update'), this.languageService.translate('core.pwa.later'))), filter((res) => res?.reason === 'ok'), map(() => this.updates.activateUpdate().then(() => location.reload())));
1335
1335
  }
1336
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: PwaUpdaterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1337
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: PwaUpdaterService, providedIn: 'root' }); }
1336
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: PwaUpdaterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1337
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: PwaUpdaterService, providedIn: 'root' }); }
1338
1338
  }
1339
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: PwaUpdaterService, decorators: [{
1339
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: PwaUpdaterService, decorators: [{
1340
1340
  type: Injectable,
1341
1341
  args: [{
1342
1342
  providedIn: 'root'
@@ -1482,10 +1482,10 @@ class UtilsService {
1482
1482
  }
1483
1483
  return '0.00';
1484
1484
  }
1485
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1486
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UtilsService, providedIn: 'root' }); }
1485
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1486
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UtilsService, providedIn: 'root' }); }
1487
1487
  }
1488
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UtilsService, decorators: [{
1488
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UtilsService, decorators: [{
1489
1489
  type: Injectable,
1490
1490
  args: [{
1491
1491
  providedIn: 'root'
@@ -1511,10 +1511,10 @@ class ParseJwtService {
1511
1511
  }
1512
1512
  }
1513
1513
  ;
1514
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ParseJwtService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1515
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ParseJwtService, providedIn: 'root' }); }
1514
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ParseJwtService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1515
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ParseJwtService, providedIn: 'root' }); }
1516
1516
  }
1517
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ParseJwtService, decorators: [{
1517
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ParseJwtService, decorators: [{
1518
1518
  type: Injectable,
1519
1519
  args: [{
1520
1520
  providedIn: 'root'
@@ -1624,10 +1624,10 @@ class AuthenticationService {
1624
1624
  }, 0);
1625
1625
  }
1626
1626
  }
1627
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AuthenticationService, deps: [{ token: i1$5.OidcSecurityService }, { token: CookiesService }, { token: i5.Router }, { token: ParseJwtService }, { token: i1$1.Store }, { token: AppLoggerService }, { token: AppStorageService }, { token: AdminApiService }, { token: RLB_CFG_ENV, optional: true }, { token: RLB_CFG_AUTH, optional: true }, { token: RLB_CFG, optional: true }, { token: RLB_AUTH_URL_HANDLER, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1628
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AuthenticationService, providedIn: 'root' }); }
1627
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AuthenticationService, deps: [{ token: i1$5.OidcSecurityService }, { token: CookiesService }, { token: i5.Router }, { token: ParseJwtService }, { token: i1$1.Store }, { token: AppLoggerService }, { token: AppStorageService }, { token: AdminApiService }, { token: RLB_CFG_ENV, optional: true }, { token: RLB_CFG_AUTH, optional: true }, { token: RLB_CFG, optional: true }, { token: RLB_AUTH_URL_HANDLER, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1628
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AuthenticationService, providedIn: 'root' }); }
1629
1629
  }
1630
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AuthenticationService, decorators: [{
1630
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AuthenticationService, decorators: [{
1631
1631
  type: Injectable,
1632
1632
  args: [{
1633
1633
  providedIn: 'root',
@@ -1674,10 +1674,10 @@ class TokenOauthInterceptor {
1674
1674
  return next.handle(request);
1675
1675
  }));
1676
1676
  }
1677
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: TokenOauthInterceptor, deps: [{ token: AuthenticationService }, { token: RLB_CFG }], target: i0.ɵɵFactoryTarget.Injectable }); }
1678
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: TokenOauthInterceptor }); }
1677
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: TokenOauthInterceptor, deps: [{ token: AuthenticationService }, { token: RLB_CFG }], target: i0.ɵɵFactoryTarget.Injectable }); }
1678
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: TokenOauthInterceptor }); }
1679
1679
  }
1680
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: TokenOauthInterceptor, decorators: [{
1680
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: TokenOauthInterceptor, decorators: [{
1681
1681
  type: Injectable
1682
1682
  }], ctorParameters: () => [{ type: AuthenticationService }, { type: undefined, decorators: [{
1683
1683
  type: Inject,
@@ -1710,10 +1710,10 @@ class CompanyInterceptor {
1710
1710
  const clonedReq = req.clone({ params });
1711
1711
  return next.handle(clonedReq);
1712
1712
  }
1713
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CompanyInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1714
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CompanyInterceptor }); }
1713
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: CompanyInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1714
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: CompanyInterceptor }); }
1715
1715
  }
1716
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CompanyInterceptor, decorators: [{
1716
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: CompanyInterceptor, decorators: [{
1717
1717
  type: Injectable
1718
1718
  }] });
1719
1719
 
@@ -1768,8 +1768,8 @@ class ErrorModalComponent {
1768
1768
  ngOnInit() {
1769
1769
  console.log(this.data());
1770
1770
  }
1771
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ErrorModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1772
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.10", type: ErrorModalComponent, isStandalone: true, selector: "ng-component", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, valid: { classPropertyName: "valid", publicName: "valid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valid: "validChange" }, hostDirectives: [{ directive: i1$3.ModalDirective, inputs: ["id", "id", "data-instance", "data-instance", "data-options", "data-options"] }], ngImport: i0, template: `
1771
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ErrorModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1772
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.11", type: ErrorModalComponent, isStandalone: true, selector: "ng-component", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, valid: { classPropertyName: "valid", publicName: "valid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valid: "validChange" }, hostDirectives: [{ directive: i1$3.ModalDirective, inputs: ["id", "id", "data-instance", "data-instance", "data-options", "data-options"] }], ngImport: i0, template: `
1773
1773
  <div class="modal-header">
1774
1774
  <h5 class="modal-title">{{ data().title }}</h5>
1775
1775
  <button
@@ -1793,7 +1793,7 @@ class ErrorModalComponent {
1793
1793
  </div>
1794
1794
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1795
1795
  }
1796
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ErrorModalComponent, decorators: [{
1796
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ErrorModalComponent, decorators: [{
1797
1797
  type: Component,
1798
1798
  args: [{
1799
1799
  imports: [],
@@ -1839,8 +1839,8 @@ class ModalAppsComponent {
1839
1839
  appSelected(app) {
1840
1840
  this.result = app;
1841
1841
  }
1842
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ModalAppsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1843
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: ModalAppsComponent, isStandalone: true, selector: "ng-component", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, valid: { classPropertyName: "valid", publicName: "valid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valid: "validChange" }, hostDirectives: [{ directive: i1$3.ModalDirective, inputs: ["id", "id", "data-instance", "data-instance", "data-options", "data-options"] }], ngImport: i0, template: `
1842
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ModalAppsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1843
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: ModalAppsComponent, isStandalone: true, selector: "ng-component", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, valid: { classPropertyName: "valid", publicName: "valid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valid: "validChange" }, hostDirectives: [{ directive: i1$3.ModalDirective, inputs: ["id", "id", "data-instance", "data-instance", "data-options", "data-options"] }], ngImport: i0, template: `
1844
1844
  <div class="modal-header">
1845
1845
  <h5 class="modal-title">{{ data().title }}</h5>
1846
1846
  <button
@@ -1876,7 +1876,7 @@ class ModalAppsComponent {
1876
1876
  </div>
1877
1877
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: TooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "tooltip-placement", "tooltip-class", "tooltip-html"] }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1878
1878
  }
1879
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ModalAppsComponent, decorators: [{
1879
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ModalAppsComponent, decorators: [{
1880
1880
  type: Component,
1881
1881
  args: [{
1882
1882
  imports: [TranslateModule, CommonModule, TooltipDirective],
@@ -1937,10 +1937,10 @@ class CmsPipe {
1937
1937
  }
1938
1938
  return `${cms}/${value}`;
1939
1939
  }
1940
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CmsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1941
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.10", ngImport: i0, type: CmsPipe, isStandalone: true, name: "cms" }); }
1940
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: CmsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1941
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.11", ngImport: i0, type: CmsPipe, isStandalone: true, name: "cms" }); }
1942
1942
  }
1943
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CmsPipe, decorators: [{
1943
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: CmsPipe, decorators: [{
1944
1944
  type: Pipe,
1945
1945
  args: [{
1946
1946
  name: 'cms',
@@ -1985,10 +1985,10 @@ class CmsComponent {
1985
1985
  }
1986
1986
  return md;
1987
1987
  }
1988
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CmsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1989
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: CmsComponent, isStandalone: true, selector: "rlb-cms-template", inputs: { contentId: { classPropertyName: "contentId", publicName: "contentId", isSignal: true, isRequired: false, transformFunction: null }, breadcrumbInput: { classPropertyName: "breadcrumbInput", publicName: "breadcrumb", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div>\n @if (page(); as p) {\n <div class=\"container\">\n @if (breadcrumb()) {\n <div class=\"row my-4\">\n <div class=\"col-12\">\n <rlb-breadcrumb [items]=\"breadcrumb()\"></rlb-breadcrumb>\n </div>\n </div>\n }\n <div class=\"row my-4\">\n <div class=\"col-12\">\n <h1 class=\"text-center\">{{p.Title}}</h1>\n </div>\n </div>\n @if (p.Content) {\n <div class=\"row my-4\">\n <div class=\"col-12\">\n <div [innerHTML]=\"p.Content \"></div>\n </div>\n </div>\n }\n @if (p.page_tabs.length>0) {\n <div class=\"row my-4\">\n <div class=\"col-12\">\n <rlb-tabs>\n @for (tab of p.page_tabs; track tab.id; let i = $index) {\n <rlb-tab [target]=\"'cms-tab-'+i\">\n {{tab.Title}}\n </rlb-tab>\n }\n </rlb-tabs>\n <rlb-tab-content>\n @for (tab of p.page_tabs; track tab.id; let i = $index) {\n <rlb-tab-pane [id]=\"'cms-tab-'+i\">\n <div class=\"container-fluid\">\n @if (tab.Content) {\n <div class=\"row my-4\">\n <div class=\"col-12\">\n <div [innerHTML]=\"tab.Content \"></div>\n </div>\n </div>\n }\n @for (step of tab.steps; track step.ContentId; let i = $index) {\n <div class=\"row my-4 mx-auto card-steps\"\n style=\"max-width: 350px; border-bottom: 1px solid rgb(192, 198, 204);\">\n <div class=\"col-8\">\n <div class=\"pb-2\">\n <div style=\"height: 54px; min-width: 54px; width: 54px; border: 5px solid rgb(192, 198, 204);\"\n class=\"round-counter\">\n <span class=\"red\">{{i+1}}</span>\n </div>\n </div>\n <div>\n <div [innerHTML]=\"step.Content \"></div>\n </div>\n </div>\n <div class=\"col-4 pb-2\">\n <img [src]=\"step.Picture.url|cms\">\n </div>\n </div>\n }\n @if (tab.faqs.length>0) {\n <div class=\"row my-4\">\n <div class=\"col-12\">\n <h2 class=\"py-3\">{{tab.FaqTitle}}</h2>\n </div>\n </div>\n }\n @if (tab.faqs.length>0 && tab.FaqContent) {\n <div class=\"row my-4\">\n <div class=\"col-12\">\n <div [innerHTML]=\"tab.FaqContent \"></div>\n </div>\n </div>\n }\n @if (tab.faqs.length>0) {\n <div class=\"row my-4\">\n <div class=\"col-12\">\n <rlb-accordion>\n @for (faq of tab.faqs; track faq) {\n <div rlb-accordion-item [expanded]=\"true\">\n <rlb-accordion-header>\n {{faq.Title}}\n </rlb-accordion-header>\n <div rlb-accordion-body>\n <div [innerHTML]=\"faq.Content\"> </div>\n </div>\n </div>\n }\n </rlb-accordion>\n </div>\n </div>\n }\n <div class=\"row my-4\">\n <div class=\"col-12\">\n <span>\n <a routerLink=\"/support\">\n <i class=\"bi bi-info-circle-fill\" style=\"margin-bottom: -6px;margin-right: 6px;\"></i>\n <span>{{'pages.support.infoPage' | translate}}</span>\n </a>\n </span>\n </div>\n </div>\n @if (p.topics.length>0) {\n <div class=\"row my-4\" style=\"padding: 4px\">\n @for (topic of p.topics; track topic.ContentId) {\n <div class=\"col-lg-6 col-md-12 col-sm-12 col-xs-12\">\n <a [routerLink]=\"'/informations/'+topic.page.ContentId\" style=\"color: inherit;text-decoration: none;\">\n <div class=\"card mb-4\" style=\"min-height: 230px;\">\n <img [src]=\"topic.Picture.url | cms\" class=\"card-img-top\"\n style=\"height: 91px; margin: 16px -16px;\">\n <div class=\"card-body\">\n <h5 class=\"card-title\">{{topic.Title}}</h5>\n <div class=\"card-text\" [innerHTML]=\"topic.Content \"></div>\n </div>\n </div>\n </a>\n </div>\n }\n </div>\n }\n </div>\n </rlb-tab-pane>\n }\n </rlb-tab-content>\n </div>\n </div>\n }\n </div>\n }\n</div>\n\n", styles: [""], dependencies: [{ kind: "component", type: BreadcrumbComponent, selector: "rlb-breadcrumb", inputs: ["divider", "items", "cssClasses"] }, { kind: "component", type: TabsComponent, selector: "rlb-tabs", inputs: ["horizontal-alignment", "view", "vertical", "fill", "id", "class"] }, { kind: "component", type: TabComponent, selector: "rlb-tab", inputs: ["active", "disabled", "target", "class"] }, { kind: "component", type: TabContentComponent, selector: "rlb-tab-content" }, { kind: "component", type: TabPaneComponent, selector: "rlb-tab-pane", inputs: ["id", "active", "fade"] }, { kind: "component", type: AccordionComponent, selector: "rlb-accordion", inputs: ["flush", "always-open", "id", "card-style"] }, { kind: "component", type: AccordionHeaderComponent, selector: "rlb-accordion-header" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: AccordionBodyComponent, selector: "div[rlb-accordion-body]" }, { kind: "component", type: AccordionItemComponent, selector: "div[rlb-accordion-item]", inputs: ["name", "expanded", "class", "style"], outputs: ["statusChange"] }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }, { kind: "pipe", type: CmsPipe, name: "cms" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1988
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: CmsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1989
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: CmsComponent, isStandalone: true, selector: "rlb-cms-template", inputs: { contentId: { classPropertyName: "contentId", publicName: "contentId", isSignal: true, isRequired: false, transformFunction: null }, breadcrumbInput: { classPropertyName: "breadcrumbInput", publicName: "breadcrumb", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div>\n @if (page(); as p) {\n <div class=\"container\">\n @if (breadcrumb()) {\n <div class=\"row my-4\">\n <div class=\"col-12\">\n <rlb-breadcrumb [items]=\"breadcrumb()\"></rlb-breadcrumb>\n </div>\n </div>\n }\n <div class=\"row my-4\">\n <div class=\"col-12\">\n <h1 class=\"text-center\">{{p.Title}}</h1>\n </div>\n </div>\n @if (p.Content) {\n <div class=\"row my-4\">\n <div class=\"col-12\">\n <div [innerHTML]=\"p.Content \"></div>\n </div>\n </div>\n }\n @if (p.page_tabs.length>0) {\n <div class=\"row my-4\">\n <div class=\"col-12\">\n <rlb-tabs>\n @for (tab of p.page_tabs; track tab.id; let i = $index) {\n <rlb-tab [target]=\"'cms-tab-'+i\">\n {{tab.Title}}\n </rlb-tab>\n }\n </rlb-tabs>\n <rlb-tab-content>\n @for (tab of p.page_tabs; track tab.id; let i = $index) {\n <rlb-tab-pane [id]=\"'cms-tab-'+i\">\n <div class=\"container-fluid\">\n @if (tab.Content) {\n <div class=\"row my-4\">\n <div class=\"col-12\">\n <div [innerHTML]=\"tab.Content \"></div>\n </div>\n </div>\n }\n @for (step of tab.steps; track step.ContentId; let i = $index) {\n <div class=\"row my-4 mx-auto card-steps\"\n style=\"max-width: 350px; border-bottom: 1px solid rgb(192, 198, 204);\">\n <div class=\"col-8\">\n <div class=\"pb-2\">\n <div style=\"height: 54px; min-width: 54px; width: 54px; border: 5px solid rgb(192, 198, 204);\"\n class=\"round-counter\">\n <span class=\"red\">{{i+1}}</span>\n </div>\n </div>\n <div>\n <div [innerHTML]=\"step.Content \"></div>\n </div>\n </div>\n <div class=\"col-4 pb-2\">\n <img [src]=\"step.Picture.url|cms\">\n </div>\n </div>\n }\n @if (tab.faqs.length>0) {\n <div class=\"row my-4\">\n <div class=\"col-12\">\n <h2 class=\"py-3\">{{tab.FaqTitle}}</h2>\n </div>\n </div>\n }\n @if (tab.faqs.length>0 && tab.FaqContent) {\n <div class=\"row my-4\">\n <div class=\"col-12\">\n <div [innerHTML]=\"tab.FaqContent \"></div>\n </div>\n </div>\n }\n @if (tab.faqs.length>0) {\n <div class=\"row my-4\">\n <div class=\"col-12\">\n <rlb-accordion>\n @for (faq of tab.faqs; track faq) {\n <div rlb-accordion-item [expanded]=\"true\">\n <rlb-accordion-header>\n {{faq.Title}}\n </rlb-accordion-header>\n <div rlb-accordion-body>\n <div [innerHTML]=\"faq.Content\"> </div>\n </div>\n </div>\n }\n </rlb-accordion>\n </div>\n </div>\n }\n <div class=\"row my-4\">\n <div class=\"col-12\">\n <span>\n <a routerLink=\"/support\">\n <i class=\"bi bi-info-circle-fill\" style=\"margin-bottom: -6px;margin-right: 6px;\"></i>\n <span>{{'pages.support.infoPage' | translate}}</span>\n </a>\n </span>\n </div>\n </div>\n @if (p.topics.length>0) {\n <div class=\"row my-4\" style=\"padding: 4px\">\n @for (topic of p.topics; track topic.ContentId) {\n <div class=\"col-lg-6 col-md-12 col-sm-12 col-xs-12\">\n <a [routerLink]=\"'/informations/'+topic.page.ContentId\" style=\"color: inherit;text-decoration: none;\">\n <div class=\"card mb-4\" style=\"min-height: 230px;\">\n <img [src]=\"topic.Picture.url | cms\" class=\"card-img-top\"\n style=\"height: 91px; margin: 16px -16px;\">\n <div class=\"card-body\">\n <h5 class=\"card-title\">{{topic.Title}}</h5>\n <div class=\"card-text\" [innerHTML]=\"topic.Content \"></div>\n </div>\n </div>\n </a>\n </div>\n }\n </div>\n }\n </div>\n </rlb-tab-pane>\n }\n </rlb-tab-content>\n </div>\n </div>\n }\n </div>\n }\n</div>\n\n", styles: [""], dependencies: [{ kind: "component", type: BreadcrumbComponent, selector: "rlb-breadcrumb", inputs: ["divider", "items", "cssClasses"] }, { kind: "component", type: TabsComponent, selector: "rlb-tabs", inputs: ["horizontal-alignment", "view", "vertical", "fill", "id", "class"] }, { kind: "component", type: TabComponent, selector: "rlb-tab", inputs: ["active", "disabled", "target", "class"] }, { kind: "component", type: TabContentComponent, selector: "rlb-tab-content" }, { kind: "component", type: TabPaneComponent, selector: "rlb-tab-pane", inputs: ["id", "active", "fade"] }, { kind: "component", type: AccordionComponent, selector: "rlb-accordion", inputs: ["flush", "always-open", "id", "card-style"] }, { kind: "component", type: AccordionHeaderComponent, selector: "rlb-accordion-header" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: AccordionBodyComponent, selector: "div[rlb-accordion-body]" }, { kind: "component", type: AccordionItemComponent, selector: "div[rlb-accordion-item]", inputs: ["name", "expanded", "class", "style"], outputs: ["statusChange"] }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }, { kind: "pipe", type: CmsPipe, name: "cms" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1990
1990
  }
1991
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CmsComponent, decorators: [{
1991
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: CmsComponent, decorators: [{
1992
1992
  type: Component,
1993
1993
  args: [{ selector: 'rlb-cms-template', imports: [
1994
1994
  BreadcrumbComponent,
@@ -2011,37 +2011,37 @@ class CmsContentComponent {
2011
2011
  this.route = inject(ActivatedRoute);
2012
2012
  this.contentId = toSignal(this.route.params.pipe(map(params => params['id'])), { initialValue: this.route.snapshot.params['id'] });
2013
2013
  }
2014
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CmsContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2015
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.10", type: CmsContentComponent, isStandalone: true, selector: "rlb-cms-content", ngImport: i0, template: "<rlb-cms-template [contentId]=\"contentId()\"></rlb-cms-template>", styles: [""], dependencies: [{ kind: "component", type: CmsComponent, selector: "rlb-cms-template", inputs: ["contentId", "breadcrumb"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2014
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: CmsContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2015
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: CmsContentComponent, isStandalone: true, selector: "rlb-cms-content", ngImport: i0, template: "<rlb-cms-template [contentId]=\"contentId()\"></rlb-cms-template>", styles: [""], dependencies: [{ kind: "component", type: CmsComponent, selector: "rlb-cms-template", inputs: ["contentId", "breadcrumb"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2016
2016
  }
2017
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CmsContentComponent, decorators: [{
2017
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: CmsContentComponent, decorators: [{
2018
2018
  type: Component,
2019
2019
  args: [{ selector: 'rlb-cms-content', imports: [CmsComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<rlb-cms-template [contentId]=\"contentId()\"></rlb-cms-template>" }]
2020
2020
  }] });
2021
2021
 
2022
2022
  class CookiesComponent {
2023
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CookiesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2024
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.10", type: CookiesComponent, isStandalone: true, selector: "rlb-cookies", ngImport: i0, template: "<rlb-cms-template contentId=\"adb_cookies\"></rlb-cms-template>", styles: [""], dependencies: [{ kind: "component", type: CmsComponent, selector: "rlb-cms-template", inputs: ["contentId", "breadcrumb"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2023
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: CookiesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2024
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: CookiesComponent, isStandalone: true, selector: "rlb-cookies", ngImport: i0, template: "<rlb-cms-template contentId=\"adb_cookies\"></rlb-cms-template>", styles: [""], dependencies: [{ kind: "component", type: CmsComponent, selector: "rlb-cms-template", inputs: ["contentId", "breadcrumb"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2025
2025
  }
2026
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CookiesComponent, decorators: [{
2026
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: CookiesComponent, decorators: [{
2027
2027
  type: Component,
2028
2028
  args: [{ selector: 'rlb-cookies', imports: [CmsComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<rlb-cms-template contentId=\"adb_cookies\"></rlb-cms-template>" }]
2029
2029
  }] });
2030
2030
 
2031
2031
  class NotFoundComponent {
2032
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: NotFoundComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2033
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.10", type: NotFoundComponent, isStandalone: true, selector: "rlb-not-found", ngImport: i0, template: "<div class=\"container\" style=\"height:calc(100vh - 58px);\">\n <div class=\"align-center\">\n <div class=\"text-center\">\n <h1 class=\"text-primary\">\n {{ 'pages.notFound.title' | translate }}\n </h1>\n <p>{{ 'pages.notFound.content' | translate }}</p><a href=\"/\" class=\"btn btn-outline-primary\">\n <span>\n {{ 'pages.notFound.button' | translate }}\n </span></a>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2032
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: NotFoundComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2033
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: NotFoundComponent, isStandalone: true, selector: "rlb-not-found", ngImport: i0, template: "<div class=\"container\" style=\"height:calc(100vh - 58px);\">\n <div class=\"align-center\">\n <div class=\"text-center\">\n <h1 class=\"text-primary\">\n {{ 'pages.notFound.title' | translate }}\n </h1>\n <p>{{ 'pages.notFound.content' | translate }}</p><a href=\"/\" class=\"btn btn-outline-primary\">\n <span>\n {{ 'pages.notFound.button' | translate }}\n </span></a>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2034
2034
  }
2035
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: NotFoundComponent, decorators: [{
2035
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: NotFoundComponent, decorators: [{
2036
2036
  type: Component,
2037
2037
  args: [{ selector: 'rlb-not-found', imports: [TranslateModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"container\" style=\"height:calc(100vh - 58px);\">\n <div class=\"align-center\">\n <div class=\"text-center\">\n <h1 class=\"text-primary\">\n {{ 'pages.notFound.title' | translate }}\n </h1>\n <p>{{ 'pages.notFound.content' | translate }}</p><a href=\"/\" class=\"btn btn-outline-primary\">\n <span>\n {{ 'pages.notFound.button' | translate }}\n </span></a>\n </div>\n </div>\n</div>\n" }]
2038
2038
  }] });
2039
2039
 
2040
2040
  class PrivacyComponent {
2041
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: PrivacyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2042
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.10", type: PrivacyComponent, isStandalone: true, selector: "rlb-privacy", ngImport: i0, template: "<rlb-cms-template contentId=\"adb_privacy\"></rlb-cms-template>", styles: [""], dependencies: [{ kind: "component", type: CmsComponent, selector: "rlb-cms-template", inputs: ["contentId", "breadcrumb"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2041
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: PrivacyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2042
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: PrivacyComponent, isStandalone: true, selector: "rlb-privacy", ngImport: i0, template: "<rlb-cms-template contentId=\"adb_privacy\"></rlb-cms-template>", styles: [""], dependencies: [{ kind: "component", type: CmsComponent, selector: "rlb-cms-template", inputs: ["contentId", "breadcrumb"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2043
2043
  }
2044
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: PrivacyComponent, decorators: [{
2044
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: PrivacyComponent, decorators: [{
2045
2045
  type: Component,
2046
2046
  args: [{ selector: 'rlb-privacy', imports: [CmsComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<rlb-cms-template contentId=\"adb_privacy\"></rlb-cms-template>" }]
2047
2047
  }] });
@@ -2073,19 +2073,19 @@ class SupportComponent {
2073
2073
  this._location.back();
2074
2074
  }
2075
2075
  ngOnInit() { }
2076
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: SupportComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2077
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.10", type: SupportComponent, isStandalone: true, selector: "rlb-support", ngImport: i0, template: "<div class=\"container mt-2 mb-5\">\n <div class=\"container text-center position-relative my-3\">\n <h3>{{ 'pages.support.title' | translate}}</h3>\n <i role=\"button\" class=\"bi bi-chevron-left position-absolute start-0 top-50 translate-middle-y\"\n style=\"font-size: 25px;font-weight: 600;\" (click)=\"backClicked()\"></i>\n </div>\n <form [formGroup]=\"supportForm\" class=\"needs-validation\" (ngSubmit)=\"sendSupport(supportForm.value)\">\n <rlb-list class=\"settings\">\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"settings-text\">\n <h6 class=\"mt-1\">{{ 'pages.support.name' | translate}}</h6>\n </div>\n <div class=\"settings-control\">\n <rlb-input type=\"text\" size=\"small\" formControlName=\"name\" />\n </div>\n </div>\n </rlb-list-item>\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"settings-text\">\n <h6 class=\"mt-1\">{{ 'pages.support.email' | translate}}</h6>\n </div>\n <div class=\"settings-control\">\n <rlb-input type=\"text\" size=\"small\" formControlName=\"email\" />\n </div>\n </div>\n </rlb-list-item>\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"settings-text\">\n <h6 class=\"mt-1\">{{ 'pages.support.subject' | translate}}</h6>\n </div>\n <div class=\"settings-control\">\n <rlb-input type=\"text\" size=\"small\" formControlName=\"subject\" />\n </div>\n </div>\n </rlb-list-item>\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"settings-text\">\n <h6 class=\"mt-1\">{{ 'pages.support.message' | translate}}</h6>\n </div>\n <div class=\"settings-control\">\n <rlb-input type=\"text\" size=\"small\" formControlName=\"message\" />\n </div>\n </div>\n </rlb-list-item>\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"settings-text\">\n <h6 class=\"mt-1\">{{ 'pages.support.legal' | translate}}</h6>\n <span>{{ 'pages.support.infoPage' | translate}}</span>\n </div>\n <div class=\"settings-control\">\n <rlb-switch size=\"small\" formControlName=\"legal\" />\n </div>\n </div>\n </rlb-list-item>\n </rlb-list>\n </form>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: ListComponent, selector: "rlb-list", inputs: ["disabled", "numbered", "flush", "horizontal"] }, { kind: "component", type: ListItemComponent, selector: "rlb-list-item", inputs: ["active", "disabled", "action"] }, { kind: "component", type: InputComponent, selector: "rlb-input", inputs: ["disabled", "readonly", "placeholder", "type", "size", "name", "max", "min", "step", "date-type", "timezone", "inputId", "extValidation", "enable-validation"] }, { kind: "component", type: SwitchComponent, selector: "rlb-switch", inputs: ["disabled", "readonly", "size", "id"] }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2076
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: SupportComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2077
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: SupportComponent, isStandalone: true, selector: "rlb-support", ngImport: i0, template: "<div class=\"container mt-2 mb-5\">\n <div class=\"container text-center position-relative my-3\">\n <h3>{{ 'pages.support.title' | translate}}</h3>\n <i role=\"button\" class=\"bi bi-chevron-left position-absolute start-0 top-50 translate-middle-y\"\n style=\"font-size: 25px;font-weight: 600;\" (click)=\"backClicked()\"></i>\n </div>\n <form [formGroup]=\"supportForm\" class=\"needs-validation\" (ngSubmit)=\"sendSupport(supportForm.value)\">\n <rlb-list class=\"settings\">\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"settings-text\">\n <h6 class=\"mt-1\">{{ 'pages.support.name' | translate}}</h6>\n </div>\n <div class=\"settings-control\">\n <rlb-input type=\"text\" size=\"small\" formControlName=\"name\" />\n </div>\n </div>\n </rlb-list-item>\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"settings-text\">\n <h6 class=\"mt-1\">{{ 'pages.support.email' | translate}}</h6>\n </div>\n <div class=\"settings-control\">\n <rlb-input type=\"text\" size=\"small\" formControlName=\"email\" />\n </div>\n </div>\n </rlb-list-item>\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"settings-text\">\n <h6 class=\"mt-1\">{{ 'pages.support.subject' | translate}}</h6>\n </div>\n <div class=\"settings-control\">\n <rlb-input type=\"text\" size=\"small\" formControlName=\"subject\" />\n </div>\n </div>\n </rlb-list-item>\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"settings-text\">\n <h6 class=\"mt-1\">{{ 'pages.support.message' | translate}}</h6>\n </div>\n <div class=\"settings-control\">\n <rlb-input type=\"text\" size=\"small\" formControlName=\"message\" />\n </div>\n </div>\n </rlb-list-item>\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"settings-text\">\n <h6 class=\"mt-1\">{{ 'pages.support.legal' | translate}}</h6>\n <span>{{ 'pages.support.infoPage' | translate}}</span>\n </div>\n <div class=\"settings-control\">\n <rlb-switch size=\"small\" formControlName=\"legal\" />\n </div>\n </div>\n </rlb-list-item>\n </rlb-list>\n </form>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: ListComponent, selector: "rlb-list", inputs: ["disabled", "numbered", "flush", "horizontal"] }, { kind: "component", type: ListItemComponent, selector: "rlb-list-item", inputs: ["active", "disabled", "action"] }, { kind: "component", type: InputComponent, selector: "rlb-input", inputs: ["disabled", "readonly", "placeholder", "type", "size", "name", "max", "min", "step", "date-type", "timezone", "inputId", "extValidation", "enable-validation"] }, { kind: "component", type: SwitchComponent, selector: "rlb-switch", inputs: ["disabled", "readonly", "size", "id"] }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2078
2078
  }
2079
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: SupportComponent, decorators: [{
2079
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: SupportComponent, decorators: [{
2080
2080
  type: Component,
2081
2081
  args: [{ selector: 'rlb-support', imports: [ReactiveFormsModule, TranslateModule, ListComponent, ListItemComponent, InputComponent, SwitchComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"container mt-2 mb-5\">\n <div class=\"container text-center position-relative my-3\">\n <h3>{{ 'pages.support.title' | translate}}</h3>\n <i role=\"button\" class=\"bi bi-chevron-left position-absolute start-0 top-50 translate-middle-y\"\n style=\"font-size: 25px;font-weight: 600;\" (click)=\"backClicked()\"></i>\n </div>\n <form [formGroup]=\"supportForm\" class=\"needs-validation\" (ngSubmit)=\"sendSupport(supportForm.value)\">\n <rlb-list class=\"settings\">\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"settings-text\">\n <h6 class=\"mt-1\">{{ 'pages.support.name' | translate}}</h6>\n </div>\n <div class=\"settings-control\">\n <rlb-input type=\"text\" size=\"small\" formControlName=\"name\" />\n </div>\n </div>\n </rlb-list-item>\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"settings-text\">\n <h6 class=\"mt-1\">{{ 'pages.support.email' | translate}}</h6>\n </div>\n <div class=\"settings-control\">\n <rlb-input type=\"text\" size=\"small\" formControlName=\"email\" />\n </div>\n </div>\n </rlb-list-item>\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"settings-text\">\n <h6 class=\"mt-1\">{{ 'pages.support.subject' | translate}}</h6>\n </div>\n <div class=\"settings-control\">\n <rlb-input type=\"text\" size=\"small\" formControlName=\"subject\" />\n </div>\n </div>\n </rlb-list-item>\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"settings-text\">\n <h6 class=\"mt-1\">{{ 'pages.support.message' | translate}}</h6>\n </div>\n <div class=\"settings-control\">\n <rlb-input type=\"text\" size=\"small\" formControlName=\"message\" />\n </div>\n </div>\n </rlb-list-item>\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"settings-text\">\n <h6 class=\"mt-1\">{{ 'pages.support.legal' | translate}}</h6>\n <span>{{ 'pages.support.infoPage' | translate}}</span>\n </div>\n <div class=\"settings-control\">\n <rlb-switch size=\"small\" formControlName=\"legal\" />\n </div>\n </div>\n </rlb-list-item>\n </rlb-list>\n </form>\n</div>\n" }]
2082
2082
  }] });
2083
2083
 
2084
2084
  class TermsAndConditionsComponent {
2085
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: TermsAndConditionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2086
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.10", type: TermsAndConditionsComponent, isStandalone: true, selector: "rlb-terms-and-conditions", ngImport: i0, template: "<rlb-cms-template contentId=\"adb_terms\"></rlb-cms-template>", styles: [""], dependencies: [{ kind: "component", type: CmsComponent, selector: "rlb-cms-template", inputs: ["contentId", "breadcrumb"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2085
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: TermsAndConditionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2086
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: TermsAndConditionsComponent, isStandalone: true, selector: "rlb-terms-and-conditions", ngImport: i0, template: "<rlb-cms-template contentId=\"adb_terms\"></rlb-cms-template>", styles: [""], dependencies: [{ kind: "component", type: CmsComponent, selector: "rlb-cms-template", inputs: ["contentId", "breadcrumb"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2087
2087
  }
2088
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: TermsAndConditionsComponent, decorators: [{
2088
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: TermsAndConditionsComponent, decorators: [{
2089
2089
  type: Component,
2090
2090
  args: [{ selector: 'rlb-terms-and-conditions', imports: [CmsComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<rlb-cms-template contentId=\"adb_terms\"></rlb-cms-template>" }]
2091
2091
  }] });
@@ -2097,10 +2097,10 @@ class AsMultiPipe {
2097
2097
  }
2098
2098
  return value;
2099
2099
  }
2100
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AsMultiPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2101
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.10", ngImport: i0, type: AsMultiPipe, isStandalone: true, name: "asMulti" }); }
2100
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AsMultiPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2101
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.11", ngImport: i0, type: AsMultiPipe, isStandalone: true, name: "asMulti" }); }
2102
2102
  }
2103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AsMultiPipe, decorators: [{
2103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AsMultiPipe, decorators: [{
2104
2104
  type: Pipe,
2105
2105
  args: [{
2106
2106
  name: 'asMulti'
@@ -2113,10 +2113,10 @@ class AsSinglePipe {
2113
2113
  }
2114
2114
  return value;
2115
2115
  }
2116
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AsSinglePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2117
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.10", ngImport: i0, type: AsSinglePipe, isStandalone: true, name: "asSingle" }); }
2116
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AsSinglePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2117
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.11", ngImport: i0, type: AsSinglePipe, isStandalone: true, name: "asSingle" }); }
2118
2118
  }
2119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AsSinglePipe, decorators: [{
2119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AsSinglePipe, decorators: [{
2120
2120
  type: Pipe,
2121
2121
  args: [{
2122
2122
  name: 'asSingle'
@@ -2196,10 +2196,10 @@ class SettingsDropdownSelectorComponent {
2196
2196
  close() {
2197
2197
  this.menu()?.close();
2198
2198
  }
2199
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: SettingsDropdownSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2200
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: SettingsDropdownSelectorComponent, isStandalone: true, selector: "rlb-settings-dropdown-selector", inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, apps: { classPropertyName: "apps", publicName: "apps", isSignal: true, isRequired: true, transformFunction: null }, isAuthenticated: { classPropertyName: "isAuthenticated", publicName: "isAuthenticated", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { appSelected: "appSelected" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (mode() === 'desktop') {\n <rlb-navbar-dropdown-item #menu dropdown auto-close=\"outside\" (status-changed)=\"change($event)\">\n <span tooltip-placement=\"bottom\" [tooltip]=\"('core.settings.title') | translate\">\n <i class=\"bi bi-gear fs-5\"></i>\n </span>\n <rlb-dropdown-container placement=\"right\">\n <div style=\"width: 320px;\">\n <ng-container *ngTemplateOutlet=\"settingsCarousel\"></ng-container>\n </div>\n </rlb-dropdown-container>\n </rlb-navbar-dropdown-item>\n} @else {\n <!-- Inline mode for Offcanvas -->\n <ng-container *ngTemplateOutlet=\"settingsCarousel\"></ng-container>\n}\n\n<ng-template #settingsCarousel>\n <rlb-carousel [hide-indicators]=\"true\" [hide-controls]=\"true\" autoplay=\"none\" [no-touch]=\"true\" [(current-slide)]=\"activeSlide\" class=\"w-100 d-block\">\n <rlb-carousel-slide [active]=\"true\">\n <div class=\"p-3\">\n <h6 class=\"dropdown-header px-0 text-center mb-2 fw-bold text-dark\">\n {{ 'core.settings.title' | translate }}\n </h6>\n\n <div class=\"row row-cols-3 g-2\">\n\n @if (isAuthenticated()) {\n <!-- General Settings -->\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n (click)=\"goToInlineSettings()\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-person fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">{{ 'core.account.settings.title' | translate }}</span>\n </button>\n </div>\n }\n\n <!-- Dynamic App Settings -->\n @for (app of apps(); track app.id) {\n @if (app.settings && app.enabled && (app.settings.auth && (isAuthenticated()))) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n [disabled]=\"!app.enabled && (app.settings.auth && !(isAuthenticated()))\"\n (click)=\"selectApp(app)\"\n [class.active]=\"isAppSelected(app.id)\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i [ngClass]=\"['bi', 'fs-4', 'mb-1', app.settings.icon || 'bi-gear']\"></i>\n <span class=\"small text-truncate w-100\" [title]=\"app.data.friendlyName ? app.data.friendlyName : app.settings.title | translate\">\n {{ app.data.friendlyName ? app.data.friendlyName : app.settings.title | translate }}\n </span>\n </button>\n </div>\n }\n }\n\n <!-- System / Status -->\n @if (pages()?.['status']?.path) {\n <div class=\"col\">\n <button rlb-button outline color=\"primary\" routerLink=\"/status\" routerLinkActive=\"active\" class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-check2-circle fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">{{ 'core.settings.status' | translate }}</span>\n </button>\n </div>\n }\n\n <!-- Logger -->\n @if (pages()?.['logger']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/logger\"\n routerLinkActive=\"active\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-file-text fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.logger' | translate }}\n </span>\n </button>\n </div>\n }\n\n <!-- Privacy -->\n @if (pages()?.['privacy']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/privacy\"\n routerLinkActive=\"active\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-shield-check fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.privacy' | translate }}\n </span>\n </button>\n </div>\n }\n\n <!-- Cookies -->\n @if (pages()?.['cookies']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/cookies\"\n routerLinkActive=\"active\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-cookie fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.cookies' | translate }}\n </span>\n </button>\n </div>\n }\n\n <!-- Terms -->\n @if (pages()?.['terms']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/terms\"\n routerLinkActive=\"active\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-vector-pen fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.legal' | translate }}\n </span>\n </button>\n </div>\n }\n\n <!-- Support -->\n @if (pages()?.['support']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/support\"\n routerLinkActive=\"active\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-chat-quote fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.support' | translate }}\n </span>\n </button>\n </div>\n }\n\n </div>\n </div>\n </rlb-carousel-slide>\n\n <rlb-carousel-slide>\n <div class=\"p-3\">\n\n <!-- Header -->\n <div class=\"d-flex align-items-center mb-3\">\n <button class=\"btn btn-sm btn-link text-reset p-0 me-2 border-0 text-decoration-none\" (click)=\"goToFirstSlide()\">\n <i class=\"bi bi-arrow-left fs-5\"></i>\n </button>\n <h6 class=\"mb-0 fw-bold\">{{ 'core.account.settings.title' | translate }}</h6>\n </div>\n\n <rlb-list class=\"settings\">\n\n <!-- Theme Settings -->\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <div class=\"settings-text\">\n <span class=\"fw-semibold\">{{ 'core.settings.generalTheme' | translate}}</span>\n </div>\n <div class=\"settings-control\">\n <rlb-switch size=\"small\" [ngModel]=\"darkMode()\" (ngModelChange)=\"setDarkMode($event)\" />\n </div>\n </div>\n </rlb-list-item>\n\n <!-- Language Settings -->\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <div class=\"settings-text\">\n <span class=\"fw-semibold\">{{ 'core.settings.generalLanguage' | translate}}</span>\n </div>\n <div class=\"settings-control\">\n <rlb-select size=\"small\" [ngModel]=\"currentLanguage()\" (ngModelChange)=\"setCurrentLanguage($event)\">\n @for (l of languages(); track l.value) {\n <rlb-option [value]=\"l.value\">{{l.label}}</rlb-option>\n }\n </rlb-select>\n </div>\n </div>\n </rlb-list-item>\n\n <!-- Show More -->\n <rlb-list-item action class=\"settings-item\" routerLink=\"/profile\" style=\"cursor: pointer;\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <div class=\"settings-text\">\n <span class=\"fw-semibold\">{{ 'core.account.settings.showMore' | translate }}</span>\n </div>\n <div class=\"settings-control text-primary\">\n <i class=\"bi bi-arrow-up-right-square fs-5\"></i>\n </div>\n </div>\n </rlb-list-item>\n\n <!-- Logout -->\n <rlb-list-item action (click)=\"logout()\" class=\"settings-item\" style=\"cursor: pointer;\">\n <div class=\"d-flex justify-content-between align-items-center text-danger\">\n <div class=\"settings-text\">\n <span class=\"fw-semibold\">{{ 'core.account.logout' | translate }}</span>\n </div>\n <div class=\"settings-control\">\n <i class=\"bi bi-box-arrow-left fs-5\"></i>\n </div>\n </div>\n </rlb-list-item>\n\n </rlb-list>\n </div>\n </rlb-carousel-slide>\n </rlb-carousel>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "component", type: NavbarDropdownItemComponent, selector: "rlb-navbar-dropdown-item", inputs: ["disabled", "dropdown", "href", "class", "toggle", "auto-close"], outputs: ["click", "status-changed"] }, { kind: "component", type: DropdownContainerComponent, selector: "ul[rlb-dropdown-menu], rlb-dropdown-container", inputs: ["placement", "placement-sm", "placement-md", "placement-lg", "placement-xl", "placement-xxl"] }, { kind: "component", type: CarouselComponent, selector: "rlb-carousel", inputs: ["id", "hide-indicators", "hide-controls", "cross-fade", "autoplay", "interval", "pause", "wrap", "no-touch", "keyboard", "current-slide"], outputs: ["slid", "slide", "current-slideChange", "slide-count"] }, { kind: "component", type: CarouselSlideComponent, selector: "rlb-carousel-slide", inputs: ["active", "id"] }, { kind: "directive", type: TooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "tooltip-placement", "tooltip-class", "tooltip-html"] }, { kind: "component", type: ListComponent, selector: "rlb-list", inputs: ["disabled", "numbered", "flush", "horizontal"] }, { kind: "component", type: ListItemComponent, selector: "rlb-list-item", inputs: ["active", "disabled", "action"] }, { kind: "component", type: SwitchComponent, selector: "rlb-switch", inputs: ["disabled", "readonly", "size", "id"] }, { kind: "component", type: SelectComponent, selector: "rlb-select", inputs: ["placeholder", "size", "disabled", "readonly", "multiple", "display", "inputId", "enable-validation"] }, { kind: "component", type: OptionComponent, selector: "rlb-option", inputs: ["value", "disabled"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i5.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: ButtonComponent, selector: "button[rlb-button], a[rlb-button]", inputs: ["color", "size", "disabled", "outline", "isLink"] }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2199
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: SettingsDropdownSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2200
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: SettingsDropdownSelectorComponent, isStandalone: true, selector: "rlb-settings-dropdown-selector", inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, apps: { classPropertyName: "apps", publicName: "apps", isSignal: true, isRequired: true, transformFunction: null }, isAuthenticated: { classPropertyName: "isAuthenticated", publicName: "isAuthenticated", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { appSelected: "appSelected" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (mode() === 'desktop') {\n <rlb-navbar-dropdown-item #menu dropdown auto-close=\"outside\" (status-changed)=\"change($event)\">\n <span tooltip-placement=\"bottom\" [tooltip]=\"('core.settings.title') | translate\">\n <i class=\"bi bi-gear fs-5\"></i>\n </span>\n <rlb-dropdown-container placement=\"right\">\n <div style=\"width: 320px;\">\n <ng-container *ngTemplateOutlet=\"settingsCarousel\"></ng-container>\n </div>\n </rlb-dropdown-container>\n </rlb-navbar-dropdown-item>\n} @else {\n <!-- Inline mode for Offcanvas -->\n <ng-container *ngTemplateOutlet=\"settingsCarousel\"></ng-container>\n}\n\n<ng-template #settingsCarousel>\n <rlb-carousel [hide-indicators]=\"true\" [hide-controls]=\"true\" autoplay=\"none\" [no-touch]=\"true\" [(current-slide)]=\"activeSlide\" class=\"w-100 d-block\">\n <rlb-carousel-slide [active]=\"true\">\n <div class=\"p-3\">\n <h6 class=\"dropdown-header px-0 text-center mb-2 fw-bold text-dark\">\n {{ 'core.settings.title' | translate }}\n </h6>\n\n <div class=\"row row-cols-3 g-2\">\n\n @if (isAuthenticated()) {\n <!-- General Settings -->\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n (click)=\"goToInlineSettings()\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-person fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">{{ 'core.account.settings.title' | translate }}</span>\n </button>\n </div>\n }\n\n <!-- Dynamic App Settings -->\n @for (app of apps(); track app.id) {\n @if (app.settings && app.enabled && (app.settings.auth && (isAuthenticated()))) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n [disabled]=\"!app.enabled && (app.settings.auth && !(isAuthenticated()))\"\n (click)=\"selectApp(app)\"\n [class.active]=\"isAppSelected(app.id)\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i [ngClass]=\"['bi', 'fs-4', 'mb-1', app.settings.icon || 'bi-gear']\"></i>\n <span class=\"small text-truncate w-100\" [title]=\"app.data.friendlyName ? app.data.friendlyName : app.settings.title | translate\">\n {{ app.data.friendlyName ? app.data.friendlyName : app.settings.title | translate }}\n </span>\n </button>\n </div>\n }\n }\n\n <!-- System / Status -->\n @if (pages()?.['status']?.path) {\n <div class=\"col\">\n <button rlb-button outline color=\"primary\" routerLink=\"/status\" routerLinkActive=\"active\" class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-check2-circle fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">{{ 'core.settings.status' | translate }}</span>\n </button>\n </div>\n }\n\n <!-- Logger -->\n @if (pages()?.['logger']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/logger\"\n routerLinkActive=\"active\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-file-text fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.logger' | translate }}\n </span>\n </button>\n </div>\n }\n\n <!-- Privacy -->\n @if (pages()?.['privacy']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/privacy\"\n routerLinkActive=\"active\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-shield-check fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.privacy' | translate }}\n </span>\n </button>\n </div>\n }\n\n <!-- Cookies -->\n @if (pages()?.['cookies']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/cookies\"\n routerLinkActive=\"active\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-cookie fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.cookies' | translate }}\n </span>\n </button>\n </div>\n }\n\n <!-- Terms -->\n @if (pages()?.['terms']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/terms\"\n routerLinkActive=\"active\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-vector-pen fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.legal' | translate }}\n </span>\n </button>\n </div>\n }\n\n <!-- Support -->\n @if (pages()?.['support']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/support\"\n routerLinkActive=\"active\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-chat-quote fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.support' | translate }}\n </span>\n </button>\n </div>\n }\n\n </div>\n </div>\n </rlb-carousel-slide>\n\n <rlb-carousel-slide>\n <div class=\"p-3\">\n\n <!-- Header -->\n <div class=\"d-flex align-items-center mb-3\">\n <button class=\"btn btn-sm btn-link text-reset p-0 me-2 border-0 text-decoration-none\" (click)=\"goToFirstSlide()\">\n <i class=\"bi bi-arrow-left fs-5\"></i>\n </button>\n <h6 class=\"mb-0 fw-bold\">{{ 'core.account.settings.title' | translate }}</h6>\n </div>\n\n <rlb-list class=\"settings\">\n\n <!-- Theme Settings -->\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <div class=\"settings-text\">\n <span class=\"fw-semibold\">{{ 'core.settings.generalTheme' | translate}}</span>\n </div>\n <div class=\"settings-control\">\n <rlb-switch size=\"small\" [ngModel]=\"darkMode()\" (ngModelChange)=\"setDarkMode($event)\" />\n </div>\n </div>\n </rlb-list-item>\n\n <!-- Language Settings -->\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <div class=\"settings-text\">\n <span class=\"fw-semibold\">{{ 'core.settings.generalLanguage' | translate}}</span>\n </div>\n <div class=\"settings-control\">\n <rlb-select size=\"small\" [ngModel]=\"currentLanguage()\" (ngModelChange)=\"setCurrentLanguage($event)\">\n @for (l of languages(); track l.value) {\n <rlb-option [value]=\"l.value\">{{l.label}}</rlb-option>\n }\n </rlb-select>\n </div>\n </div>\n </rlb-list-item>\n\n <!-- Show More -->\n <rlb-list-item action class=\"settings-item\" routerLink=\"/profile\" style=\"cursor: pointer;\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <div class=\"settings-text\">\n <span class=\"fw-semibold\">{{ 'core.account.settings.showMore' | translate }}</span>\n </div>\n <div class=\"settings-control text-primary\">\n <i class=\"bi bi-arrow-up-right-square fs-5\"></i>\n </div>\n </div>\n </rlb-list-item>\n\n <!-- Logout -->\n <rlb-list-item action (click)=\"logout()\" class=\"settings-item\" style=\"cursor: pointer;\">\n <div class=\"d-flex justify-content-between align-items-center text-danger\">\n <div class=\"settings-text\">\n <span class=\"fw-semibold\">{{ 'core.account.logout' | translate }}</span>\n </div>\n <div class=\"settings-control\">\n <i class=\"bi bi-box-arrow-left fs-5\"></i>\n </div>\n </div>\n </rlb-list-item>\n\n </rlb-list>\n </div>\n </rlb-carousel-slide>\n </rlb-carousel>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "component", type: NavbarDropdownItemComponent, selector: "rlb-navbar-dropdown-item", inputs: ["disabled", "dropdown", "href", "class", "toggle", "auto-close"], outputs: ["click", "status-changed"] }, { kind: "component", type: DropdownContainerComponent, selector: "ul[rlb-dropdown-menu], rlb-dropdown-container", inputs: ["placement", "placement-sm", "placement-md", "placement-lg", "placement-xl", "placement-xxl"] }, { kind: "component", type: CarouselComponent, selector: "rlb-carousel", inputs: ["id", "hide-indicators", "hide-controls", "cross-fade", "autoplay", "interval", "pause", "wrap", "no-touch", "keyboard", "current-slide"], outputs: ["slid", "slide", "current-slideChange", "slide-count"] }, { kind: "component", type: CarouselSlideComponent, selector: "rlb-carousel-slide", inputs: ["active", "id"] }, { kind: "directive", type: TooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "tooltip-placement", "tooltip-class", "tooltip-html"] }, { kind: "component", type: ListComponent, selector: "rlb-list", inputs: ["disabled", "numbered", "flush", "horizontal"] }, { kind: "component", type: ListItemComponent, selector: "rlb-list-item", inputs: ["active", "disabled", "action"] }, { kind: "component", type: SwitchComponent, selector: "rlb-switch", inputs: ["disabled", "readonly", "size", "id"] }, { kind: "component", type: SelectComponent, selector: "rlb-select", inputs: ["placeholder", "size", "disabled", "readonly", "multiple", "display", "inputId", "enable-validation"] }, { kind: "component", type: OptionComponent, selector: "rlb-option", inputs: ["value", "disabled"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i5.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: ButtonComponent, selector: "button[rlb-button], a[rlb-button]", inputs: ["color", "size", "disabled", "outline", "isLink"] }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2201
2201
  }
2202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: SettingsDropdownSelectorComponent, decorators: [{
2202
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: SettingsDropdownSelectorComponent, decorators: [{
2203
2203
  type: Component,
2204
2204
  args: [{ selector: 'rlb-settings-dropdown-selector', imports: [
2205
2205
  NavbarDropdownItemComponent,
@@ -2232,10 +2232,10 @@ class LeftComponentPipe {
2232
2232
  }
2233
2233
  return t;
2234
2234
  }
2235
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: LeftComponentPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2236
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.10", ngImport: i0, type: LeftComponentPipe, isStandalone: true, name: "leftComponent" }); }
2235
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: LeftComponentPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2236
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.11", ngImport: i0, type: LeftComponentPipe, isStandalone: true, name: "leftComponent" }); }
2237
2237
  }
2238
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: LeftComponentPipe, decorators: [{
2238
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: LeftComponentPipe, decorators: [{
2239
2239
  type: Pipe,
2240
2240
  args: [{
2241
2241
  name: 'leftComponent'
@@ -2253,10 +2253,10 @@ class RightComponentPipe {
2253
2253
  }
2254
2254
  return t;
2255
2255
  }
2256
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: RightComponentPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2257
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.10", ngImport: i0, type: RightComponentPipe, isStandalone: true, name: "rightComponent" }); }
2256
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: RightComponentPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2257
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.11", ngImport: i0, type: RightComponentPipe, isStandalone: true, name: "rightComponent" }); }
2258
2258
  }
2259
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: RightComponentPipe, decorators: [{
2259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: RightComponentPipe, decorators: [{
2260
2260
  type: Pipe,
2261
2261
  args: [{
2262
2262
  name: 'rightComponent'
@@ -2280,10 +2280,10 @@ class RlbRole {
2280
2280
  }
2281
2281
  });
2282
2282
  }
2283
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: RlbRole, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2284
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: RlbRole, isStandalone: true, selector: "[roles]", inputs: { action: { classPropertyName: "action", publicName: "roles", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
2283
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: RlbRole, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2284
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: RlbRole, isStandalone: true, selector: "[roles]", inputs: { action: { classPropertyName: "action", publicName: "roles", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
2285
2285
  }
2286
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: RlbRole, decorators: [{
2286
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: RlbRole, decorators: [{
2287
2287
  type: Directive,
2288
2288
  args: [{
2289
2289
  selector: '[roles]'
@@ -2305,10 +2305,10 @@ class AppDropdownSelectorComponent {
2305
2305
  isAppSelected(appId) {
2306
2306
  return this.currentAppId() === appId;
2307
2307
  }
2308
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AppDropdownSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2309
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: AppDropdownSelectorComponent, isStandalone: true, selector: "rlb-app-dropdown-selector", inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, apps: { classPropertyName: "apps", publicName: "apps", isSignal: true, isRequired: true, transformFunction: null }, isAuthenticated: { classPropertyName: "isAuthenticated", publicName: "isAuthenticated", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { appSelected: "appSelected" }, ngImport: i0, template: "@if (mode() === 'desktop') {\n <rlb-navbar-dropdown-item dropdown>\n <span tooltip-placement=\"bottom\" [tooltip]=\"('core.apps.button') | translate\">\n <i class=\"bi bi-grid-3x3-gap-fill fs-5\"></i>\n </span>\n <rlb-dropdown-container placement=\"right\">\n\n <div style=\"width: 320px;\">\n <ng-container *ngTemplateOutlet=\"appGrid\"></ng-container>\n </div>\n\n </rlb-dropdown-container>\n </rlb-navbar-dropdown-item>\n} @else {\n <ng-container *ngTemplateOutlet=\"appGrid\"></ng-container>\n}\n\n<ng-template #appGrid>\n <div class=\"row row-cols-3 g-2 p-3\">\n @for (app of apps(); track app.id) {\n @if (app.core) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-center\"\n [class.active]=\"isAppSelected(app.id)\"\n [disabled]=\"!app.enabled && (app.core.auth && !(isAuthenticated()))\"\n (click)=\"selectApp(app)\"\n >\n <i [ngClass]=\"['fs-3', 'mb-1', app.core.icon || 'bi bi-app']\"></i>\n <span class=\"small text-truncate w-100\" [title]=\"app?.data?.friendlyName ? app.data.friendlyName : app.core.title | translate\">\n {{ app?.data?.friendlyName ? app.data.friendlyName : app.core.title | translate }}\n </span>\n </button>\n </div>\n }\n }\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "component", type: NavbarDropdownItemComponent, selector: "rlb-navbar-dropdown-item", inputs: ["disabled", "dropdown", "href", "class", "toggle", "auto-close"], outputs: ["click", "status-changed"] }, { kind: "component", type: DropdownContainerComponent, selector: "ul[rlb-dropdown-menu], rlb-dropdown-container", inputs: ["placement", "placement-sm", "placement-md", "placement-lg", "placement-xl", "placement-xxl"] }, { kind: "component", type: ButtonComponent, selector: "button[rlb-button], a[rlb-button]", inputs: ["color", "size", "disabled", "outline", "isLink"] }, { kind: "directive", type: TooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "tooltip-placement", "tooltip-class", "tooltip-html"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2308
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppDropdownSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2309
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: AppDropdownSelectorComponent, isStandalone: true, selector: "rlb-app-dropdown-selector", inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, apps: { classPropertyName: "apps", publicName: "apps", isSignal: true, isRequired: true, transformFunction: null }, isAuthenticated: { classPropertyName: "isAuthenticated", publicName: "isAuthenticated", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { appSelected: "appSelected" }, ngImport: i0, template: "@if (mode() === 'desktop') {\n <rlb-navbar-dropdown-item dropdown>\n <span tooltip-placement=\"bottom\" [tooltip]=\"('core.apps.button') | translate\">\n <i class=\"bi bi-grid-3x3-gap-fill fs-5\"></i>\n </span>\n <rlb-dropdown-container placement=\"right\">\n\n <div style=\"width: 320px;\">\n <ng-container *ngTemplateOutlet=\"appGrid\"></ng-container>\n </div>\n\n </rlb-dropdown-container>\n </rlb-navbar-dropdown-item>\n} @else {\n <ng-container *ngTemplateOutlet=\"appGrid\"></ng-container>\n}\n\n<ng-template #appGrid>\n <div class=\"row row-cols-3 g-2 p-3\">\n @for (app of apps(); track app.id) {\n @if (app.core) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-center\"\n [class.active]=\"isAppSelected(app.id)\"\n [disabled]=\"!app.enabled && (app.core.auth && !(isAuthenticated()))\"\n (click)=\"selectApp(app)\"\n >\n <i [ngClass]=\"['fs-3', 'mb-1', app.core.icon || 'bi bi-app']\"></i>\n <span class=\"small text-truncate w-100\" [title]=\"app?.data?.friendlyName ? app.data.friendlyName : app.core.title | translate\">\n {{ app?.data?.friendlyName ? app.data.friendlyName : app.core.title | translate }}\n </span>\n </button>\n </div>\n }\n }\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "component", type: NavbarDropdownItemComponent, selector: "rlb-navbar-dropdown-item", inputs: ["disabled", "dropdown", "href", "class", "toggle", "auto-close"], outputs: ["click", "status-changed"] }, { kind: "component", type: DropdownContainerComponent, selector: "ul[rlb-dropdown-menu], rlb-dropdown-container", inputs: ["placement", "placement-sm", "placement-md", "placement-lg", "placement-xl", "placement-xxl"] }, { kind: "component", type: ButtonComponent, selector: "button[rlb-button], a[rlb-button]", inputs: ["color", "size", "disabled", "outline", "isLink"] }, { kind: "directive", type: TooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "tooltip-placement", "tooltip-class", "tooltip-html"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2310
2310
  }
2311
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AppDropdownSelectorComponent, decorators: [{
2311
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppDropdownSelectorComponent, decorators: [{
2312
2312
  type: Component,
2313
2313
  args: [{ selector: 'rlb-app-dropdown-selector', imports: [
2314
2314
  NavbarDropdownItemComponent,
@@ -2390,10 +2390,10 @@ class AppTemplateComponent {
2390
2390
  closeMobileMenu() {
2391
2391
  this.mobileOffcanvas()?.close();
2392
2392
  }
2393
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AppTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2394
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: AppTemplateComponent, isStandalone: true, selector: "rlb-app-template", inputs: { modalContainerId: { classPropertyName: "modalContainerId", publicName: "modal-container-id", isSignal: true, isRequired: true, transformFunction: null }, breadcrumbInput: { classPropertyName: "breadcrumbInput", publicName: "breadcrumb", isSignal: true, isRequired: false, transformFunction: null }, toastContainerIds: { classPropertyName: "toastContainerIds", publicName: "toast-container-ids", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "mobileOffcanvas", first: true, predicate: ["mobileOffcanvas"], descendants: true, isSignal: true }, { propertyName: "mobileSettingsMenu", first: true, predicate: ["mobileSettingsMenu"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"rlb-app\">\n @if (navVisible()) {\n <rlb-navbar [dark]=\"theme() === 'dark'\" [showSideBarToggler]=\"sidebarVisible()\" expand=\"lg\" class=\"border-bottom py-1 rlb-navbar\">\n @if (navHeader(); as header) {\n <a rlb-navbar-brand href=\"#\">\n\n @if (header.type === 'text') {\n {{ header.text }}\n }\n\n @if (header.type === 'image') {\n <img\n [src]=\"header.src\"\n [alt]=\"header.alt ?? 'Brand'\"\n [height]=\"header.height ?? 40\"\n />\n }\n </a>\n }\n @if (navSearchVisible()) {\n <rlb-navbar-form>\n <rlb-input-group class=\"my-1 mx-3\" validate>\n <rlb-input type=\"search\" class=\"search-input\" placeholder=\"Search\" [(ngModel)]=\"navSearchText\"\n (keyup.enter)=\"setNavbarSearchText(navSearchText)\" name=\"search\" size=\"small\">\n <button after rlb-button outline type=\"submit\" (click)=\"setNavbarSearchText(navSearchText)\" size=\"sm\">\n <i class=\"bi bi-search\"></i>\n </button>\n </rlb-input>\n </rlb-input-group>\n </rlb-navbar-form>\n }\n\n <!-- MOBILE VIEWS -->\n <div rlb-custom-navbar-items class=\"d-flex d-lg-none\">\n @if (isAuthenticated()) {\n <rlb-fab size=\"sm\" outline toggle=\"offcanvas\" toggle-target=\"mobileMenuOffcanvas\">\n <i class=\"bi bi-three-dots-vertical\"></i>\n </rlb-fab>\n\n <rlb-offcanvas\n #mobileOffcanvas\n id=\"mobileMenuOffcanvas\"\n [placement]=\"'end'\"\n (statusChange)=\"onMobileMenuStatusChange($event)\"\n >\n <rlb-offcanvas-header class=\"border-bottom\">\n <h5 rlb-offcanvas-title class=\"fw-bold mb-0\">Menu</h5>\n </rlb-offcanvas-header>\n\n <rlb-offcanvas-body class=\"p-0 overflow-x-hidden\">\n\n <!-- Mobile Apps Grid -->\n @if (navbarHasApps() && apps().length > 1) {\n <div class=\"border-bottom pb-2\">\n <rlb-app-dropdown-selector\n mode=\"mobile\"\n [apps]=\"apps()\"\n [isAuthenticated]=\"isAuthenticated()\"\n (appSelected)=\"selectApp($event, 'app')\"\n />\n </div>\n }\n\n <!-- Mobile Settings Carousel -->\n @if (isAuthenticated() || navbarHasSettings()) {\n <div class=\"pt-2\">\n <rlb-settings-dropdown-selector\n mode=\"mobile\"\n #mobileSettingsMenu\n [apps]=\"apps()\"\n [isAuthenticated]=\"isAuthenticated()\"\n (appSelected)=\"selectApp($event, 'settings')\"\n />\n </div>\n }\n\n </rlb-offcanvas-body>\n </rlb-offcanvas>\n } @else {\n <rlb-fab size=\"sm\" (click)=\"loginNav($event)\" [tooltip]=\"('core.account.login') |translate\">\n <i class=\" bi bi-box-arrow-in-left\"></i>\n </rlb-fab>\n }\n\n </div>\n\n <rlb-navbar-items>\n @for (navComponent of navLeftItems(); track navComponent) {\n <ng-container ngProjectAs=\"rlb-navbar-item\">\n <ng-container *ngComponentOutlet=\"navComponent | leftComponent\"></ng-container>\n </ng-container>\n }\n </rlb-navbar-items>\n\n <rlb-navbar-items class=\"ms-auto align-items-center\">\n @for (navComponent of navRightItems(); track navComponent) {\n <ng-container ngProjectAs=\"rlb-navbar-item\">\n <ng-container *ngComponentOutlet=\"navComponent | rightComponent\"></ng-container>\n </ng-container>\n }\n @if (separatorVisible() && isAuthenticated()) {\n <rlb-navbar-separator />\n }\n\n <ng-container ngProjectAs=\"rlb-navbar-item\">\n @if (navbarLayout() == 'default') {\n @if (navbarHasLogin() && !isAuthenticated()) {\n <rlb-navbar-item (click)=\"loginNav($event)\">\n <span tooltip-placement=\"bottom\" [tooltip]=\"('core.account.login') |translate\">\n <i class=\" bi bi-box-arrow-in-left\"></i>\n </span>\n <span class=\"ms-1 d-lg-none\">{{'core.account.login' | translate}}</span>\n </rlb-navbar-item>\n }\n\n @if (navbarHasLogin() && isAuthenticated()) {\n <rlb-navbar-item [router-link]=\"'/profile'\">\n <span tooltip-placement=\"bottom\" [tooltip]=\"('core.account.title') |translate\">\n <i class=\"bi bi-person\"></i>\n </span>\n <span class=\"ms-1 d-lg-none\">{{'core.account.title' | translate}}</span>\n </rlb-navbar-item>\n }\n\n @if (navbarHasSettings()) {\n <rlb-navbar-item [router-link]=\"'/settings'\">\n <span tooltip-placement=\"bottom\" [tooltip]=\"('core.settings.title') |translate\">\n <i class=\"bi bi-gear\"></i>\n </span>\n <span class=\"ms-1 d-lg-none\">{{'core.settings.title' | translate}}</span>\n </rlb-navbar-item>\n }\n\n @if (navbarHasApps() && apps().length > 1) {\n <rlb-navbar-item [router-link]=\"'/apps'\">\n <span tooltip-placement=\"bottom\" [tooltip]=\"('core.apps.button') |translate\">\n <i class=\"bi bi-grid-3x3-gap-fill\"></i>\n </span>\n <span class=\"ms-1 d-lg-none\">{{'core.apps.button' | translate}}</span>\n </rlb-navbar-item>\n }\n\n } @else if (navbarLayout() == 'dropdown') {\n <!-- MODERN DROPDOWN MODE -->\n\n <!--Unauthenticated Login -->\n @if (navbarHasLogin() && !isAuthenticated()) {\n <rlb-navbar-item (click)=\"loginNav($event)\">\n <span tooltip-placement=\"bottom\" [tooltip]=\"('core.account.login') | translate\">\n <i class=\"bi bi-box-arrow-in-left fs-5\"></i>\n </span>\n <span class=\"ms-1 d-lg-none\">{{ 'core.account.login' | translate }}</span>\n </rlb-navbar-item>\n }\n\n <!-- Profile & Settings Account Card -->\n @if (navbarHasSettings() && isAuthenticated()) {\n <rlb-settings-dropdown-selector\n [apps]=\"apps()\"\n [isAuthenticated]=\"isAuthenticated()\"\n (appSelected)=\"selectApp($event, 'settings')\"\n />\n }\n\n <!-- Apps Launcher -->\n @if (navbarHasApps() && isAuthenticated() && apps().length > 1) {\n <rlb-app-dropdown-selector\n [apps]=\"apps()\"\n [isAuthenticated]=\"isAuthenticated()\"\n (appSelected)=\"selectApp($event, 'app')\"\n />\n }\n }\n </ng-container>\n </rlb-navbar-items>\n </rlb-navbar>\n }\n <div class=\"rlb-main-wrapper\">\n @if (sidebarVisible()) {\n <rlb-sidebar [dark]=\"theme() === 'dark'\" id=\"sidebar\" class=\"rlb-sidebar\">\n @for (item of sidebarItems(); track $index) {\n <rlb-sidebar-item\n *roles=\"item.action\"\n [icon]=\"item.icon\" [link]=\"item.url\"\n [title]=\"item.title\" [label]=\"item.label\"\n [badgeCounter]=\"item.badgeCounter\"\n (click)=\"onSideBarItemClick(item)\"\n >\n {{item.label}}\n @for (subitem of item.items || []; track $index) {\n <rlb-sidebar-item\n *roles=\"subitem.action\"\n [icon]=\"subitem.icon\"\n [link]=\"subitem.url\"\n [title]=\"subitem.title\"\n [label]=\"subitem.label\"\n [badgeCounter]=\"subitem.badgeCounter\"\n (click)=\"onSideBarItemClick(subitem)\"\n >\n {{subitem.label}}\n </rlb-sidebar-item>\n }\n </rlb-sidebar-item>\n }\n </rlb-sidebar>\n }\n <div class=\"rlb-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<!--@if (modalContainerId()) {-->\n<!-- <rlb-modal-container [id]=\"modalContainerId()\" />-->\n<!--}-->\n\n<!--@if (toastContainerIds()) {-->\n<!-- @if (Array.isArray(toastContainerIds())) {-->\n<!-- @for (toastContainerId of toastContainerIds() | asMulti; track toastContainerId) {-->\n<!-- <rlb-toast-container [id]=\"toastContainerId\" />-->\n<!-- }-->\n<!-- } @else {-->\n<!-- <rlb-toast-container class=\"position-fixed bottom-0 end-0 p-3\" [id]=\"toastContainerIds() | asSingle\" />-->\n<!-- }-->\n<!--}-->\n", styles: [".separator{border-left:1px solid;padding:0 2px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$6.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: NavbarComponent, selector: "rlb-navbar", inputs: ["dark", "showSideBarToggler", "color", "placement", "expand", "class", "enable-dropdown-toggler"] }, { kind: "directive", type: NavbarBrandDirective, selector: "[rlb-navbar-brand]" }, { kind: "component", type: NavbarFormComponent, selector: "rlb-navbar-form", inputs: ["role", "class"] }, { kind: "component", type: NavbarItemsComponent, selector: "rlb-navbar-items", inputs: ["scroll", "class"], outputs: ["click"] }, { kind: "component", type: NavbarItemComponent, selector: "rlb-navbar-item", inputs: ["disabled", "router-link", "class"], outputs: ["click"] }, { kind: "component", type: NavbarSeparatorComponent, selector: "rlb-navbar-separator", inputs: ["class"] }, { kind: "component", type: SidebarComponent, selector: "rlb-sidebar", inputs: ["dark", "rounded"] }, { kind: "component", type: SidebarItemComponent, selector: "rlb-sidebar-item", inputs: ["title", "icon", "label", "link", "badgeCounter"], outputs: ["click"] }, { kind: "component", type: OffcanvasComponent, selector: "rlb-offcanvas", inputs: ["id", "body-scroll", "scroll-backup", "close-manual", "placement", "responsive"], outputs: ["statusChange"] }, { kind: "component", type: OffcanvasHeaderComponent, selector: "rlb-offcanvas-header", inputs: ["offcanvasId"] }, { kind: "component", type: OffcanvasBodyComponent, selector: "rlb-offcanvas-body" }, { kind: "component", type: RlbFabComponent, selector: "rlb-fab", inputs: ["color", "size", "disabled", "outline", "position"] }, { kind: "component", type: InputGroupComponent, selector: "rlb-input-group", inputs: ["text", "validate", "size"] }, { kind: "component", type: InputComponent, selector: "rlb-input", inputs: ["disabled", "readonly", "placeholder", "type", "size", "name", "max", "min", "step", "date-type", "timezone", "inputId", "extValidation", "enable-validation"] }, { kind: "directive", type: TooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "tooltip-placement", "tooltip-class", "tooltip-html"] }, { kind: "directive", type: RlbRole, selector: "[roles]", inputs: ["roles"] }, { kind: "component", type: AppDropdownSelectorComponent, selector: "rlb-app-dropdown-selector", inputs: ["mode", "apps", "isAuthenticated"], outputs: ["appSelected"] }, { kind: "component", type: SettingsDropdownSelectorComponent, selector: "rlb-settings-dropdown-selector", inputs: ["mode", "apps", "isAuthenticated"], outputs: ["appSelected"] }, { kind: "component", type: ButtonComponent, selector: "button[rlb-button], a[rlb-button]", inputs: ["color", "size", "disabled", "outline", "isLink"] }, { kind: "directive", type: ToggleDirective, selector: " button[toggle], a[toggle], rlb-navbar-item[toggle], rlb-button-toolbar[toggle], rlb-fab[toggle],", inputs: ["toggle", "toggle-target", "collapsed", "auto-close"] }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }, { kind: "pipe", type: LeftComponentPipe, name: "leftComponent" }, { kind: "pipe", type: RightComponentPipe, name: "rightComponent" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2393
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2394
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: AppTemplateComponent, isStandalone: true, selector: "rlb-app-template", inputs: { modalContainerId: { classPropertyName: "modalContainerId", publicName: "modal-container-id", isSignal: true, isRequired: true, transformFunction: null }, breadcrumbInput: { classPropertyName: "breadcrumbInput", publicName: "breadcrumb", isSignal: true, isRequired: false, transformFunction: null }, toastContainerIds: { classPropertyName: "toastContainerIds", publicName: "toast-container-ids", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "mobileOffcanvas", first: true, predicate: ["mobileOffcanvas"], descendants: true, isSignal: true }, { propertyName: "mobileSettingsMenu", first: true, predicate: ["mobileSettingsMenu"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"rlb-app\">\n @if (navVisible()) {\n <rlb-navbar [dark]=\"theme() === 'dark'\" [showSideBarToggler]=\"sidebarVisible()\" expand=\"lg\" class=\"border-bottom py-1 rlb-navbar\">\n @if (navHeader(); as header) {\n <a rlb-navbar-brand href=\"#\">\n\n @if (header.type === 'text') {\n {{ header.text }}\n }\n\n @if (header.type === 'image') {\n <img\n [src]=\"header.src\"\n [alt]=\"header.alt ?? 'Brand'\"\n [height]=\"header.height ?? 40\"\n />\n }\n </a>\n }\n @if (navSearchVisible()) {\n <rlb-navbar-form>\n <rlb-input-group class=\"my-1 mx-3\" validate>\n <rlb-input type=\"search\" class=\"search-input\" placeholder=\"Search\" [(ngModel)]=\"navSearchText\"\n (keyup.enter)=\"setNavbarSearchText(navSearchText)\" name=\"search\" size=\"small\">\n <button after rlb-button outline type=\"submit\" (click)=\"setNavbarSearchText(navSearchText)\" size=\"sm\">\n <i class=\"bi bi-search\"></i>\n </button>\n </rlb-input>\n </rlb-input-group>\n </rlb-navbar-form>\n }\n\n <!-- MOBILE VIEWS -->\n <div rlb-custom-navbar-items class=\"d-flex d-lg-none\">\n @if (isAuthenticated()) {\n <rlb-fab size=\"sm\" outline toggle=\"offcanvas\" toggle-target=\"mobileMenuOffcanvas\">\n <i class=\"bi bi-three-dots-vertical\"></i>\n </rlb-fab>\n\n <rlb-offcanvas\n #mobileOffcanvas\n id=\"mobileMenuOffcanvas\"\n [placement]=\"'end'\"\n (statusChange)=\"onMobileMenuStatusChange($event)\"\n >\n <rlb-offcanvas-header class=\"border-bottom\">\n <h5 rlb-offcanvas-title class=\"fw-bold mb-0\">Menu</h5>\n </rlb-offcanvas-header>\n\n <rlb-offcanvas-body class=\"p-0 overflow-x-hidden\">\n\n <!-- Mobile Apps Grid -->\n @if (navbarHasApps() && apps().length > 1) {\n <div class=\"border-bottom pb-2\">\n <rlb-app-dropdown-selector\n mode=\"mobile\"\n [apps]=\"apps()\"\n [isAuthenticated]=\"isAuthenticated()\"\n (appSelected)=\"selectApp($event, 'app')\"\n />\n </div>\n }\n\n <!-- Mobile Settings Carousel -->\n @if (isAuthenticated() || navbarHasSettings()) {\n <div class=\"pt-2\">\n <rlb-settings-dropdown-selector\n mode=\"mobile\"\n #mobileSettingsMenu\n [apps]=\"apps()\"\n [isAuthenticated]=\"isAuthenticated()\"\n (appSelected)=\"selectApp($event, 'settings')\"\n />\n </div>\n }\n\n </rlb-offcanvas-body>\n </rlb-offcanvas>\n } @else {\n <rlb-fab size=\"sm\" (click)=\"loginNav($event)\" [tooltip]=\"('core.account.login') |translate\">\n <i class=\" bi bi-box-arrow-in-left\"></i>\n </rlb-fab>\n }\n\n </div>\n\n <rlb-navbar-items>\n @for (navComponent of navLeftItems(); track navComponent) {\n <ng-container ngProjectAs=\"rlb-navbar-item\">\n <ng-container *ngComponentOutlet=\"navComponent | leftComponent\"></ng-container>\n </ng-container>\n }\n </rlb-navbar-items>\n\n <rlb-navbar-items class=\"ms-auto align-items-center\">\n @for (navComponent of navRightItems(); track navComponent) {\n <ng-container ngProjectAs=\"rlb-navbar-item\">\n <ng-container *ngComponentOutlet=\"navComponent | rightComponent\"></ng-container>\n </ng-container>\n }\n @if (separatorVisible() && isAuthenticated()) {\n <rlb-navbar-separator />\n }\n\n <ng-container ngProjectAs=\"rlb-navbar-item\">\n @if (navbarLayout() == 'default') {\n @if (navbarHasLogin() && !isAuthenticated()) {\n <rlb-navbar-item (click)=\"loginNav($event)\">\n <span tooltip-placement=\"bottom\" [tooltip]=\"('core.account.login') |translate\">\n <i class=\" bi bi-box-arrow-in-left\"></i>\n </span>\n <span class=\"ms-1 d-lg-none\">{{'core.account.login' | translate}}</span>\n </rlb-navbar-item>\n }\n\n @if (navbarHasLogin() && isAuthenticated()) {\n <rlb-navbar-item [router-link]=\"'/profile'\">\n <span tooltip-placement=\"bottom\" [tooltip]=\"('core.account.title') |translate\">\n <i class=\"bi bi-person\"></i>\n </span>\n <span class=\"ms-1 d-lg-none\">{{'core.account.title' | translate}}</span>\n </rlb-navbar-item>\n }\n\n @if (navbarHasSettings()) {\n <rlb-navbar-item [router-link]=\"'/settings'\">\n <span tooltip-placement=\"bottom\" [tooltip]=\"('core.settings.title') |translate\">\n <i class=\"bi bi-gear\"></i>\n </span>\n <span class=\"ms-1 d-lg-none\">{{'core.settings.title' | translate}}</span>\n </rlb-navbar-item>\n }\n\n @if (navbarHasApps() && apps().length > 1) {\n <rlb-navbar-item [router-link]=\"'/apps'\">\n <span tooltip-placement=\"bottom\" [tooltip]=\"('core.apps.button') |translate\">\n <i class=\"bi bi-grid-3x3-gap-fill\"></i>\n </span>\n <span class=\"ms-1 d-lg-none\">{{'core.apps.button' | translate}}</span>\n </rlb-navbar-item>\n }\n\n } @else if (navbarLayout() == 'dropdown') {\n <!-- MODERN DROPDOWN MODE -->\n\n <!--Unauthenticated Login -->\n @if (navbarHasLogin() && !isAuthenticated()) {\n <rlb-navbar-item (click)=\"loginNav($event)\">\n <span tooltip-placement=\"bottom\" [tooltip]=\"('core.account.login') | translate\">\n <i class=\"bi bi-box-arrow-in-left fs-5\"></i>\n </span>\n <span class=\"ms-1 d-lg-none\">{{ 'core.account.login' | translate }}</span>\n </rlb-navbar-item>\n }\n\n <!-- Profile & Settings Account Card -->\n @if (navbarHasSettings() && isAuthenticated()) {\n <rlb-settings-dropdown-selector\n [apps]=\"apps()\"\n [isAuthenticated]=\"isAuthenticated()\"\n (appSelected)=\"selectApp($event, 'settings')\"\n />\n }\n\n <!-- Apps Launcher -->\n @if (navbarHasApps() && isAuthenticated() && apps().length > 1) {\n <rlb-app-dropdown-selector\n [apps]=\"apps()\"\n [isAuthenticated]=\"isAuthenticated()\"\n (appSelected)=\"selectApp($event, 'app')\"\n />\n }\n }\n </ng-container>\n </rlb-navbar-items>\n </rlb-navbar>\n }\n <div class=\"rlb-main-wrapper\">\n @if (sidebarVisible()) {\n <rlb-sidebar [dark]=\"theme() === 'dark'\" id=\"sidebar\" class=\"rlb-sidebar\">\n @for (item of sidebarItems(); track $index) {\n <rlb-sidebar-item\n *roles=\"item.action\"\n [icon]=\"item.icon\" [link]=\"item.url\"\n [title]=\"item.title\" [label]=\"item.label\"\n [badgeCounter]=\"item.badgeCounter\"\n (click)=\"onSideBarItemClick(item)\"\n >\n {{item.label}}\n @for (subitem of item.items || []; track $index) {\n <rlb-sidebar-item\n *roles=\"subitem.action\"\n [icon]=\"subitem.icon\"\n [link]=\"subitem.url\"\n [title]=\"subitem.title\"\n [label]=\"subitem.label\"\n [badgeCounter]=\"subitem.badgeCounter\"\n (click)=\"onSideBarItemClick(subitem)\"\n >\n {{subitem.label}}\n </rlb-sidebar-item>\n }\n </rlb-sidebar-item>\n }\n </rlb-sidebar>\n }\n <div class=\"rlb-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<!--@if (modalContainerId()) {-->\n<!-- <rlb-modal-container [id]=\"modalContainerId()\" />-->\n<!--}-->\n\n<!--@if (toastContainerIds()) {-->\n<!-- @if (Array.isArray(toastContainerIds())) {-->\n<!-- @for (toastContainerId of toastContainerIds() | asMulti; track toastContainerId) {-->\n<!-- <rlb-toast-container [id]=\"toastContainerId\" />-->\n<!-- }-->\n<!-- } @else {-->\n<!-- <rlb-toast-container class=\"position-fixed bottom-0 end-0 p-3\" [id]=\"toastContainerIds() | asSingle\" />-->\n<!-- }-->\n<!--}-->\n", styles: [".separator{border-left:1px solid;padding:0 2px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$6.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: NavbarComponent, selector: "rlb-navbar", inputs: ["dark", "showSideBarToggler", "color", "placement", "expand", "class", "enable-dropdown-toggler"] }, { kind: "directive", type: NavbarBrandDirective, selector: "[rlb-navbar-brand]" }, { kind: "component", type: NavbarFormComponent, selector: "rlb-navbar-form", inputs: ["role", "class"] }, { kind: "component", type: NavbarItemsComponent, selector: "rlb-navbar-items", inputs: ["scroll", "class"], outputs: ["click"] }, { kind: "component", type: NavbarItemComponent, selector: "rlb-navbar-item", inputs: ["disabled", "router-link", "class"], outputs: ["click"] }, { kind: "component", type: NavbarSeparatorComponent, selector: "rlb-navbar-separator", inputs: ["class"] }, { kind: "component", type: SidebarComponent, selector: "rlb-sidebar", inputs: ["dark", "rounded"] }, { kind: "component", type: SidebarItemComponent, selector: "rlb-sidebar-item", inputs: ["title", "icon", "label", "link", "badgeCounter"], outputs: ["click"] }, { kind: "component", type: OffcanvasComponent, selector: "rlb-offcanvas", inputs: ["id", "body-scroll", "scroll-backup", "close-manual", "placement", "responsive"], outputs: ["statusChange"] }, { kind: "component", type: OffcanvasHeaderComponent, selector: "rlb-offcanvas-header", inputs: ["offcanvasId"] }, { kind: "component", type: OffcanvasBodyComponent, selector: "rlb-offcanvas-body" }, { kind: "component", type: RlbFabComponent, selector: "rlb-fab", inputs: ["color", "size", "disabled", "outline", "position"] }, { kind: "component", type: InputGroupComponent, selector: "rlb-input-group", inputs: ["text", "validate", "size"] }, { kind: "component", type: InputComponent, selector: "rlb-input", inputs: ["disabled", "readonly", "placeholder", "type", "size", "name", "max", "min", "step", "date-type", "timezone", "inputId", "extValidation", "enable-validation"] }, { kind: "directive", type: TooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "tooltip-placement", "tooltip-class", "tooltip-html"] }, { kind: "directive", type: RlbRole, selector: "[roles]", inputs: ["roles"] }, { kind: "component", type: AppDropdownSelectorComponent, selector: "rlb-app-dropdown-selector", inputs: ["mode", "apps", "isAuthenticated"], outputs: ["appSelected"] }, { kind: "component", type: SettingsDropdownSelectorComponent, selector: "rlb-settings-dropdown-selector", inputs: ["mode", "apps", "isAuthenticated"], outputs: ["appSelected"] }, { kind: "component", type: ButtonComponent, selector: "button[rlb-button], a[rlb-button]", inputs: ["color", "size", "disabled", "outline", "isLink"] }, { kind: "directive", type: ToggleDirective, selector: " button[toggle], a[toggle], rlb-navbar-item[toggle], rlb-button-toolbar[toggle], rlb-fab[toggle],", inputs: ["toggle", "toggle-target", "collapsed", "auto-close"] }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }, { kind: "pipe", type: LeftComponentPipe, name: "leftComponent" }, { kind: "pipe", type: RightComponentPipe, name: "rightComponent" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2395
2395
  }
2396
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AppTemplateComponent, decorators: [{
2396
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppTemplateComponent, decorators: [{
2397
2397
  type: Component,
2398
2398
  args: [{ selector: 'rlb-app-template', imports: [
2399
2399
  CommonModule,
@@ -2438,10 +2438,10 @@ class BaseComponent {
2438
2438
  ? of(true)
2439
2439
  : this.breakpointObserver.observe(Breakpoints.Handset).pipe(map(result => result.matches)), { initialValue: true });
2440
2440
  }
2441
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: BaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2442
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: BaseComponent, isStandalone: true, selector: "rlb-base-template", inputs: { breadcrumbInput: { classPropertyName: "breadcrumbInput", publicName: "breadcrumb", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, subtitle: { classPropertyName: "subtitle", publicName: "subtitle", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\" mb-3\">\n @if (!isHandset()) {\n <div class=\"container-fluid\">\n <div class=\"row mt-1\">\n <div class=\"col-xl-8 col-lg-10 col-md-12 col-sm-12 col-xs-12 mx-auto\">\n <div class=\"row\">\n <div class=\"col-12 pb-0\">\n @if (breadcrumb()) {\n <rlb-breadcrumb [items]=\"breadcrumb()\"></rlb-breadcrumb>\n }\n <h1 class=\"pt-5 pb-0 text-center\">\n {{title()}}\n </h1>\n </div>\n </div>\n @if (subtitle()) {\n <div class=\"row\">\n <div class=\"col-12 pb-12\">\n <span class=\"d-block text-h6 text-center\">\n {{subtitle()}}\n </span>\n </div>\n </div>\n }\n <ng-container [ngTemplateOutlet]=\"all\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"default\"></ng-container>\n </div>\n </div>\n </div>\n } @else {\n <!--old ng-template #mobileMode-->\n <div class=\"row\">\n <div class=\"col-12 pb-0\">\n <h1 class=\"pt-5 pb-0 text-center\">\n {{title()}}\n </h1>\n </div>\n </div>\n @if (subtitle()) {\n <div class=\"row\">\n <div class=\"col-12 pb-7\">\n <div class=\"d-block text-h6 text-center\">\n {{subtitle()}}\n </div>\n </div>\n </div>\n }\n <ng-container [ngTemplateOutlet]=\"all\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"mobile\"></ng-container>\n }\n</div>\n\n\n<ng-template #all>\n <ng-content select=\"[all]\"></ng-content>\n</ng-template>\n\n<ng-template #default>\n <ng-content select=\"[default]\"></ng-content>\n</ng-template>\n\n<ng-template #mobile>\n <ng-content select=\"[mobile]\"></ng-content>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BreadcrumbComponent, selector: "rlb-breadcrumb", inputs: ["divider", "items", "cssClasses"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2441
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2442
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: BaseComponent, isStandalone: true, selector: "rlb-base-template", inputs: { breadcrumbInput: { classPropertyName: "breadcrumbInput", publicName: "breadcrumb", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, subtitle: { classPropertyName: "subtitle", publicName: "subtitle", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\" mb-3\">\n @if (!isHandset()) {\n <div class=\"container-fluid\">\n <div class=\"row mt-1\">\n <div class=\"col-xl-8 col-lg-10 col-md-12 col-sm-12 col-xs-12 mx-auto\">\n <div class=\"row\">\n <div class=\"col-12 pb-0\">\n @if (breadcrumb()) {\n <rlb-breadcrumb [items]=\"breadcrumb()\"></rlb-breadcrumb>\n }\n <h1 class=\"pt-5 pb-0 text-center\">\n {{title()}}\n </h1>\n </div>\n </div>\n @if (subtitle()) {\n <div class=\"row\">\n <div class=\"col-12 pb-12\">\n <span class=\"d-block text-h6 text-center\">\n {{subtitle()}}\n </span>\n </div>\n </div>\n }\n <ng-container [ngTemplateOutlet]=\"all\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"default\"></ng-container>\n </div>\n </div>\n </div>\n } @else {\n <!--old ng-template #mobileMode-->\n <div class=\"row\">\n <div class=\"col-12 pb-0\">\n <h1 class=\"pt-5 pb-0 text-center\">\n {{title()}}\n </h1>\n </div>\n </div>\n @if (subtitle()) {\n <div class=\"row\">\n <div class=\"col-12 pb-7\">\n <div class=\"d-block text-h6 text-center\">\n {{subtitle()}}\n </div>\n </div>\n </div>\n }\n <ng-container [ngTemplateOutlet]=\"all\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"mobile\"></ng-container>\n }\n</div>\n\n\n<ng-template #all>\n <ng-content select=\"[all]\"></ng-content>\n</ng-template>\n\n<ng-template #default>\n <ng-content select=\"[default]\"></ng-content>\n</ng-template>\n\n<ng-template #mobile>\n <ng-content select=\"[mobile]\"></ng-content>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BreadcrumbComponent, selector: "rlb-breadcrumb", inputs: ["divider", "items", "cssClasses"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2443
2443
  }
2444
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: BaseComponent, decorators: [{
2444
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BaseComponent, decorators: [{
2445
2445
  type: Component,
2446
2446
  args: [{ selector: 'rlb-base-template', imports: [NgTemplateOutlet, BreadcrumbComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\" mb-3\">\n @if (!isHandset()) {\n <div class=\"container-fluid\">\n <div class=\"row mt-1\">\n <div class=\"col-xl-8 col-lg-10 col-md-12 col-sm-12 col-xs-12 mx-auto\">\n <div class=\"row\">\n <div class=\"col-12 pb-0\">\n @if (breadcrumb()) {\n <rlb-breadcrumb [items]=\"breadcrumb()\"></rlb-breadcrumb>\n }\n <h1 class=\"pt-5 pb-0 text-center\">\n {{title()}}\n </h1>\n </div>\n </div>\n @if (subtitle()) {\n <div class=\"row\">\n <div class=\"col-12 pb-12\">\n <span class=\"d-block text-h6 text-center\">\n {{subtitle()}}\n </span>\n </div>\n </div>\n }\n <ng-container [ngTemplateOutlet]=\"all\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"default\"></ng-container>\n </div>\n </div>\n </div>\n } @else {\n <!--old ng-template #mobileMode-->\n <div class=\"row\">\n <div class=\"col-12 pb-0\">\n <h1 class=\"pt-5 pb-0 text-center\">\n {{title()}}\n </h1>\n </div>\n </div>\n @if (subtitle()) {\n <div class=\"row\">\n <div class=\"col-12 pb-7\">\n <div class=\"d-block text-h6 text-center\">\n {{subtitle()}}\n </div>\n </div>\n </div>\n }\n <ng-container [ngTemplateOutlet]=\"all\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"mobile\"></ng-container>\n }\n</div>\n\n\n<ng-template #all>\n <ng-content select=\"[all]\"></ng-content>\n</ng-template>\n\n<ng-template #default>\n <ng-content select=\"[default]\"></ng-content>\n</ng-template>\n\n<ng-template #mobile>\n <ng-content select=\"[mobile]\"></ng-content>\n</ng-template>\n" }]
2447
2447
  }], propDecorators: { breadcrumbInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "breadcrumb", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: true }] }], subtitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "subtitle", required: false }] }] } });
@@ -2454,10 +2454,10 @@ class ContentComponent {
2454
2454
  ? of(true)
2455
2455
  : this.breakpointObserver.observe(Breakpoints.Handset).pipe(map(result => result.matches)), { initialValue: true });
2456
2456
  }
2457
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2458
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: ContentComponent, isStandalone: true, selector: "rlb-content-template", ngImport: i0, template: "<div class=\" mb-3\">\n @if (!isHandset()) {\n <div class=\"container-fluid\">\n <div class=\"row mt-1\">\n <div class=\"mx-auto col-sm-12 col-md-8 col-lg-9 col-xl-8\">\n <ng-container [ngTemplateOutlet]=\"all\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"default\"></ng-container>\n </div>\n </div>\n </div>\n } @else {\n <ng-container [ngTemplateOutlet]=\"all\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"mobile\"></ng-container>\n }\n</div>\n\n\n<ng-template #all>\n <ng-content select=\"[all]\"></ng-content>\n</ng-template>\n\n<ng-template #default>\n <ng-content select=\"[default]\"></ng-content>\n</ng-template>\n\n<ng-template #mobile>\n <ng-content select=\"[mobile]\"></ng-content>\n</ng-template>", styles: [""], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2457
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2458
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: ContentComponent, isStandalone: true, selector: "rlb-content-template", ngImport: i0, template: "<div class=\" mb-3\">\n @if (!isHandset()) {\n <div class=\"container-fluid\">\n <div class=\"row mt-1\">\n <div class=\"mx-auto col-sm-12 col-md-8 col-lg-9 col-xl-8\">\n <ng-container [ngTemplateOutlet]=\"all\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"default\"></ng-container>\n </div>\n </div>\n </div>\n } @else {\n <ng-container [ngTemplateOutlet]=\"all\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"mobile\"></ng-container>\n }\n</div>\n\n\n<ng-template #all>\n <ng-content select=\"[all]\"></ng-content>\n</ng-template>\n\n<ng-template #default>\n <ng-content select=\"[default]\"></ng-content>\n</ng-template>\n\n<ng-template #mobile>\n <ng-content select=\"[mobile]\"></ng-content>\n</ng-template>", styles: [""], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2459
2459
  }
2460
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ContentComponent, decorators: [{
2460
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ContentComponent, decorators: [{
2461
2461
  type: Component,
2462
2462
  args: [{ selector: 'rlb-content-template', imports: [NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\" mb-3\">\n @if (!isHandset()) {\n <div class=\"container-fluid\">\n <div class=\"row mt-1\">\n <div class=\"mx-auto col-sm-12 col-md-8 col-lg-9 col-xl-8\">\n <ng-container [ngTemplateOutlet]=\"all\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"default\"></ng-container>\n </div>\n </div>\n </div>\n } @else {\n <ng-container [ngTemplateOutlet]=\"all\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"mobile\"></ng-container>\n }\n</div>\n\n\n<ng-template #all>\n <ng-content select=\"[all]\"></ng-content>\n</ng-template>\n\n<ng-template #default>\n <ng-content select=\"[default]\"></ng-content>\n</ng-template>\n\n<ng-template #mobile>\n <ng-content select=\"[mobile]\"></ng-content>\n</ng-template>" }]
2463
2463
  }] });
@@ -2471,10 +2471,10 @@ class TruncatePipe {
2471
2471
  }
2472
2472
  return value.length > limit ? value.slice(0, limit) + ellipsis : value;
2473
2473
  }
2474
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: TruncatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2475
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.10", ngImport: i0, type: TruncatePipe, isStandalone: true, name: "truncate" }); }
2474
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: TruncatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2475
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.11", ngImport: i0, type: TruncatePipe, isStandalone: true, name: "truncate" }); }
2476
2476
  }
2477
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: TruncatePipe, decorators: [{
2477
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: TruncatePipe, decorators: [{
2478
2478
  type: Pipe,
2479
2479
  args: [{
2480
2480
  name: 'truncate'
@@ -2502,10 +2502,10 @@ class AutolinkPipe {
2502
2502
  return '' + space + link;
2503
2503
  });
2504
2504
  }
2505
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AutolinkPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2506
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.10", ngImport: i0, type: AutolinkPipe, isStandalone: true, name: "autolink" }); }
2505
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AutolinkPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2506
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.11", ngImport: i0, type: AutolinkPipe, isStandalone: true, name: "autolink" }); }
2507
2507
  }
2508
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AutolinkPipe, decorators: [{
2508
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AutolinkPipe, decorators: [{
2509
2509
  type: Pipe,
2510
2510
  args: [{
2511
2511
  name: 'autolink'
@@ -2565,17 +2565,17 @@ class AppContainerComponent {
2565
2565
  get template$() {
2566
2566
  return this.templateSubject.asObservable();
2567
2567
  }
2568
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AppContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2569
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: AppContainerComponent, isStandalone: true, selector: "rlb-app-container", inputs: { modalContainerId: { classPropertyName: "modalContainerId", publicName: "modal-container-id", isSignal: true, isRequired: true, transformFunction: null }, toastContainerIds: { classPropertyName: "toastContainerIds", publicName: "toast-container-ids", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@if ((template$ | async) === 'app') {\n <rlb-app-template [modal-container-id]=\"modalContainerId()\" [toast-container-ids]=\"toastContainerIds()\">\n <router-outlet />\n </rlb-app-template>\n}\n@if ((template$ | async) === 'basic') {\n <router-outlet />\n}\n\n\n@if (modalContainerId()) {\n <rlb-modal-container [id]=\"modalContainerId()\" />\n}\n\n@if (toastContainerIds()) {\n @if (Array.isArray(toastContainerIds())) {\n @for (toastContainerId of toastContainerIds() | asMulti; track toastContainerId) {\n <rlb-toast-container [id]=\"toastContainerId\" />\n }\n } @else {\n <rlb-toast-container class=\"position-fixed bottom-0 end-0 p-3\" [id]=\"toastContainerIds() | asSingle\" />\n }\n}", dependencies: [{ kind: "component", type: AppTemplateComponent, selector: "rlb-app-template", inputs: ["modal-container-id", "breadcrumb", "toast-container-ids"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i5.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: ModalContainerComponent, selector: "rlb-modal-container", inputs: ["id"] }, { kind: "component", type: ToastContainerComponent, selector: "rlb-toast-container", inputs: ["id"] }, { kind: "pipe", type: i1$6.AsyncPipe, name: "async" }, { kind: "pipe", type: AsMultiPipe, name: "asMulti" }, { kind: "pipe", type: AsSinglePipe, name: "asSingle" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2568
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2569
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: AppContainerComponent, isStandalone: true, selector: "rlb-app-container", inputs: { modalContainerId: { classPropertyName: "modalContainerId", publicName: "modal-container-id", isSignal: true, isRequired: true, transformFunction: null }, toastContainerIds: { classPropertyName: "toastContainerIds", publicName: "toast-container-ids", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@if ((template$ | async) === 'app') {\n <rlb-app-template [modal-container-id]=\"modalContainerId()\" [toast-container-ids]=\"toastContainerIds()\">\n <router-outlet />\n </rlb-app-template>\n}\n@if ((template$ | async) === 'basic') {\n <router-outlet />\n}\n\n\n@if (modalContainerId()) {\n <rlb-modal-container [id]=\"modalContainerId()\" />\n}\n\n@if (toastContainerIds()) {\n @if (Array.isArray(toastContainerIds())) {\n @for (toastContainerId of toastContainerIds() | asMulti; track toastContainerId) {\n <rlb-toast-container [id]=\"toastContainerId\" />\n }\n } @else {\n <rlb-toast-container class=\"position-fixed bottom-0 end-0 p-3\" [id]=\"toastContainerIds() | asSingle\" />\n }\n}", dependencies: [{ kind: "component", type: AppTemplateComponent, selector: "rlb-app-template", inputs: ["modal-container-id", "breadcrumb", "toast-container-ids"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i5.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: ModalContainerComponent, selector: "rlb-modal-container", inputs: ["id"] }, { kind: "component", type: ToastContainerComponent, selector: "rlb-toast-container", inputs: ["id"] }, { kind: "pipe", type: i1$6.AsyncPipe, name: "async" }, { kind: "pipe", type: AsMultiPipe, name: "asMulti" }, { kind: "pipe", type: AsSinglePipe, name: "asSingle" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2570
2570
  }
2571
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AppContainerComponent, decorators: [{
2571
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppContainerComponent, decorators: [{
2572
2572
  type: Component,
2573
2573
  args: [{ selector: 'rlb-app-container', imports: [AppTemplateComponent, CommonModule, RouterModule, ModalContainerComponent, ToastContainerComponent, AsMultiPipe, AsSinglePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if ((template$ | async) === 'app') {\n <rlb-app-template [modal-container-id]=\"modalContainerId()\" [toast-container-ids]=\"toastContainerIds()\">\n <router-outlet />\n </rlb-app-template>\n}\n@if ((template$ | async) === 'basic') {\n <router-outlet />\n}\n\n\n@if (modalContainerId()) {\n <rlb-modal-container [id]=\"modalContainerId()\" />\n}\n\n@if (toastContainerIds()) {\n @if (Array.isArray(toastContainerIds())) {\n @for (toastContainerId of toastContainerIds() | asMulti; track toastContainerId) {\n <rlb-toast-container [id]=\"toastContainerId\" />\n }\n } @else {\n <rlb-toast-container class=\"position-fixed bottom-0 end-0 p-3\" [id]=\"toastContainerIds() | asSingle\" />\n }\n}" }]
2574
2574
  }], ctorParameters: () => [], propDecorators: { modalContainerId: [{ type: i0.Input, args: [{ isSignal: true, alias: "modal-container-id", required: true }] }], toastContainerIds: [{ type: i0.Input, args: [{ isSignal: true, alias: "toast-container-ids", required: true }] }] } });
2575
2575
 
2576
2576
  class ForbiddenComponent {
2577
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ForbiddenComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2578
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.10", type: ForbiddenComponent, isStandalone: true, selector: "rlb-forbidden", ngImport: i0, template: `<div class="container" style="height:calc(100vh - 58px);">
2577
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ForbiddenComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2578
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: ForbiddenComponent, isStandalone: true, selector: "rlb-forbidden", ngImport: i0, template: `<div class="container" style="height:calc(100vh - 58px);">
2579
2579
  <div class="align-center">
2580
2580
  <div class="text-center">
2581
2581
  <h1 class="text-primary">
@@ -2590,7 +2590,7 @@ class ForbiddenComponent {
2590
2590
  </div>
2591
2591
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2592
2592
  }
2593
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ForbiddenComponent, decorators: [{
2593
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ForbiddenComponent, decorators: [{
2594
2594
  type: Component,
2595
2595
  args: [{
2596
2596
  selector: 'rlb-forbidden',
@@ -2614,8 +2614,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
2614
2614
  }] });
2615
2615
 
2616
2616
  class RlbAppModule {
2617
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: RlbAppModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2618
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.10", ngImport: i0, type: RlbAppModule, imports: [CommonModule,
2617
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: RlbAppModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2618
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.11", ngImport: i0, type: RlbAppModule, imports: [CommonModule,
2619
2619
  FormsModule,
2620
2620
  ReactiveFormsModule,
2621
2621
  TranslateModule,
@@ -2665,7 +2665,7 @@ class RlbAppModule {
2665
2665
  FormsModule,
2666
2666
  // directives
2667
2667
  RlbRole] }); }
2668
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: RlbAppModule, imports: [CommonModule,
2668
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: RlbAppModule, imports: [CommonModule,
2669
2669
  FormsModule,
2670
2670
  ReactiveFormsModule,
2671
2671
  TranslateModule,
@@ -2691,7 +2691,7 @@ class RlbAppModule {
2691
2691
  RouterModule,
2692
2692
  FormsModule] }); }
2693
2693
  }
2694
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: RlbAppModule, decorators: [{
2694
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: RlbAppModule, decorators: [{
2695
2695
  type: NgModule,
2696
2696
  args: [{
2697
2697
  declarations: [],
@@ -2766,10 +2766,10 @@ class AppSelectorComponent {
2766
2766
  selectApp(app) {
2767
2767
  this.appsService.selectApp(app, 'app');
2768
2768
  }
2769
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AppSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2770
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: AppSelectorComponent, isStandalone: true, selector: "rlb-app-selector", ngImport: i0, template: "<div class=\"container mt-2\">\n <div class=\"container text-center position-relative my-3\">\n <h3>{{ 'core.apps.title' | translate}}</h3>\n <i role=\"button\" class=\"bi bi-chevron-left position-absolute start-0 top-50 translate-middle-y cur\"\n style=\"font-size: 25px;font-weight: 600;\" (click)=\"backClicked()\"></i>\n </div>\n <rlb-list>\n @for (app of apps(); track app.id) {\n <ng-container ngProjectAs=\"rlb-list-item-image\">\n @if (app.core) {\n <ng-container ngProjectAs=\"rlb-list-item-image\">\n <rlb-list-item-image [icon]=\"app.core.icon\" [avatar-size]=\"35\"\n [line-1]=\"app.data.friendlyName ? app.data.friendlyName : app.core.title | translate\"\n [disabled]=\"!app.enabled && (app.core.auth && !(auth$ | async))\" [line-2]=\"app.core.description | translate\"\n (click)=\"selectApp(app)\">\n </rlb-list-item-image>\n </ng-container>\n }\n </ng-container>\n }\n </rlb-list>\n</div>\n\n", styles: [""], dependencies: [{ kind: "ngmodule", type: RlbAppModule }, { kind: "component", type: i1$3.ListComponent, selector: "rlb-list", inputs: ["disabled", "numbered", "flush", "horizontal"] }, { kind: "component", type: i1$3.ListItemImageComponent, selector: "rlb-list-item-image", inputs: ["active", "disabled", "counter-empty", "counter-pill", "counter-border", "avatar-size", "username", "line-1", "line-2", "avatar", "counter", "counter-color", "icon"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1$6.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2769
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2770
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: AppSelectorComponent, isStandalone: true, selector: "rlb-app-selector", ngImport: i0, template: "<div class=\"container mt-2\">\n <div class=\"container text-center position-relative my-3\">\n <h3>{{ 'core.apps.title' | translate}}</h3>\n <i role=\"button\" class=\"bi bi-chevron-left position-absolute start-0 top-50 translate-middle-y cur\"\n style=\"font-size: 25px;font-weight: 600;\" (click)=\"backClicked()\"></i>\n </div>\n <rlb-list>\n @for (app of apps(); track app.id) {\n <ng-container ngProjectAs=\"rlb-list-item-image\">\n @if (app.core) {\n <ng-container ngProjectAs=\"rlb-list-item-image\">\n <rlb-list-item-image [icon]=\"app.core.icon\" [avatar-size]=\"35\"\n [line-1]=\"app.data.friendlyName ? app.data.friendlyName : app.core.title | translate\"\n [disabled]=\"!app.enabled && (app.core.auth && !(auth$ | async))\" [line-2]=\"app.core.description | translate\"\n (click)=\"selectApp(app)\">\n </rlb-list-item-image>\n </ng-container>\n }\n </ng-container>\n }\n </rlb-list>\n</div>\n\n", styles: [""], dependencies: [{ kind: "ngmodule", type: RlbAppModule }, { kind: "component", type: i1$3.ListComponent, selector: "rlb-list", inputs: ["disabled", "numbered", "flush", "horizontal"] }, { kind: "component", type: i1$3.ListItemImageComponent, selector: "rlb-list-item-image", inputs: ["active", "disabled", "counter-empty", "counter-pill", "counter-border", "avatar-size", "username", "line-1", "line-2", "avatar", "counter", "counter-color", "icon"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1$6.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2771
2771
  }
2772
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AppSelectorComponent, decorators: [{
2772
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppSelectorComponent, decorators: [{
2773
2773
  type: Component,
2774
2774
  args: [{ selector: 'rlb-app-selector', imports: [RlbAppModule, CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"container mt-2\">\n <div class=\"container text-center position-relative my-3\">\n <h3>{{ 'core.apps.title' | translate}}</h3>\n <i role=\"button\" class=\"bi bi-chevron-left position-absolute start-0 top-50 translate-middle-y cur\"\n style=\"font-size: 25px;font-weight: 600;\" (click)=\"backClicked()\"></i>\n </div>\n <rlb-list>\n @for (app of apps(); track app.id) {\n <ng-container ngProjectAs=\"rlb-list-item-image\">\n @if (app.core) {\n <ng-container ngProjectAs=\"rlb-list-item-image\">\n <rlb-list-item-image [icon]=\"app.core.icon\" [avatar-size]=\"35\"\n [line-1]=\"app.data.friendlyName ? app.data.friendlyName : app.core.title | translate\"\n [disabled]=\"!app.enabled && (app.core.auth && !(auth$ | async))\" [line-2]=\"app.core.description | translate\"\n (click)=\"selectApp(app)\">\n </rlb-list-item-image>\n </ng-container>\n }\n </ng-container>\n }\n </rlb-list>\n</div>\n\n" }]
2775
2775
  }] });
@@ -2964,10 +2964,10 @@ class OauthPasswordService {
2964
2964
  }, r.expires_in * 1000 - 60000);
2965
2965
  }
2966
2966
  }
2967
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: OauthPasswordService, deps: [{ token: i1$2.HttpClient }, { token: AuthenticationService }, { token: AppLoggerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2968
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: OauthPasswordService, providedIn: 'root' }); }
2967
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: OauthPasswordService, deps: [{ token: i1$2.HttpClient }, { token: AuthenticationService }, { token: AppLoggerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2968
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: OauthPasswordService, providedIn: 'root' }); }
2969
2969
  }
2970
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: OauthPasswordService, decorators: [{
2970
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: OauthPasswordService, decorators: [{
2971
2971
  type: Injectable,
2972
2972
  args: [{
2973
2973
  providedIn: 'root'
@@ -3054,10 +3054,10 @@ class KeycloakProfileService {
3054
3054
  }
3055
3055
  });
3056
3056
  }
3057
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: KeycloakProfileService, deps: [{ token: i1$2.HttpClient }, { token: AuthenticationService }, { token: ErrorManagementService }, { token: i1$5.OidcSecurityService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3058
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: KeycloakProfileService, providedIn: 'root' }); }
3057
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: KeycloakProfileService, deps: [{ token: i1$2.HttpClient }, { token: AuthenticationService }, { token: ErrorManagementService }, { token: i1$5.OidcSecurityService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3058
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: KeycloakProfileService, providedIn: 'root' }); }
3059
3059
  }
3060
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: KeycloakProfileService, decorators: [{
3060
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: KeycloakProfileService, decorators: [{
3061
3061
  type: Injectable,
3062
3062
  args: [{
3063
3063
  providedIn: 'root',
@@ -3160,10 +3160,10 @@ class UserAccountComponent {
3160
3160
  configureOTP() {
3161
3161
  this.keycloakProfileService.configureOTP();
3162
3162
  }
3163
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UserAccountComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3164
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: UserAccountComponent, isStandalone: true, selector: "rlb-user-account", ngImport: i0, template: "<div class=\"container mt-4 mb-5\">\n <div class=\"d-flex align-items-center justify-content-between\">\n <h3 class=\"m-0\">{{ \"Account settings\" | translate | uppercase }}</h3>\n <rlb-breadcrumb [cssClasses]=\"'p-0 px-md-1 py-md-2 m-0'\" [items]=\"breadcrumbItems\" class=\"d-block\"></rlb-breadcrumb>\n </div>\n\n <!-- ACCOUNT DETAILS CARD -->\n <rlb-card class=\"mt-3\">\n <rlb-card-header class=\"d-flex justify-content-between align-items-center py-3 px-4\">\n <h5 class=\"m-0\">{{ \"Account\" | translate }}</h5>\n </rlb-card-header>\n\n <rlb-card-body class=\"px-4 py-4\" [formGroup]=\"profileForm\">\n <div class=\"row mb-3 align-items-center\">\n <label class=\"col-md-3 col-form-label fw-semibold\">{{ 'core.account.username' | translate }}</label>\n <div class=\"col-md-9\">\n <rlb-input class=\"w-100\" type=\"text\" formControlName=\"username\" />\n </div>\n </div>\n\n <div class=\"row mb-3 align-items-center\">\n <label class=\"col-md-3 col-form-label fw-semibold\">{{ 'core.account.email' | translate }}</label>\n <div class=\"col-md-9\">\n <rlb-input class=\"w-100\" type=\"text\" formControlName=\"email\" />\n </div>\n </div>\n\n <div class=\"row mb-3 align-items-center\">\n <label class=\"col-md-3 col-form-label fw-semibold\">{{ 'core.account.firstName' | translate }}</label>\n <div class=\"col-md-9\">\n <rlb-input class=\"w-100\" type=\"text\" formControlName=\"firstName\" />\n </div>\n </div>\n\n <div class=\"row align-items-center\">\n <label class=\"col-md-3 col-form-label fw-semibold\">{{ 'core.account.lastName' | translate }}</label>\n <div class=\"col-md-9\">\n <rlb-input class=\"w-100\" type=\"text\" formControlName=\"lastName\" />\n </div>\n </div>\n </rlb-card-body>\n\n <rlb-card-footer>\n <div class=\"d-flex align-items-center justify-content-end gap-2\">\n <button rlb-button outline (click)=\"updateProfile()\" [disabled]=\"profileForm.invalid || !keyCloakUser()\">\n <i class=\"bi bi-floppy\"></i>\n {{ 'common.save' | translate }}\n </button>\n <button rlb-button outline color=\"danger\" (click)=\"logout()\">\n <i class=\"bi bi-box-arrow-right\"></i>\n {{ 'core.account.logout' | translate }}\n </button>\n </div>\n </rlb-card-footer>\n </rlb-card>\n\n <!-- CREDENTIALS SECTION -->\n @if (keyCloakUser()) {\n <h3 class=\"mb-4 text-center mt-5\">{{ 'core.account.credentials.title' | translate }}</h3>\n\n @for (type of keycloakCredentials(); track type.type) {\n <rlb-card class=\"mb-4\">\n <rlb-card-header class=\"d-flex justify-content-between align-items-center py-3 px-4\">\n <h6 class=\"mb-0 fw-bold\">{{ ('core.account.credentials.' + type?.type) | translate }}</h6>\n @if (type.type === 'otp') {\n <rlb-fab (click)=\"configureOTP()\" size=\"sm\" [tooltip]=\"'core.account.credentials.addOTP' | translate\">\n <i class=\"bi bi-plus-circle\"></i>\n </rlb-fab>\n }\n </rlb-card-header>\n\n <rlb-card-body>\n <rlb-list class=\"settings m-0\">\n @for (cred of type.userCredentialMetadatas; track cred.credential.id) {\n <rlb-list-item class=\"px-4 py-3\">\n <div class=\"row align-items-center w-100\">\n <div class=\"col-md-1 text-center mb-2 mb-md-0\">\n <i class=\"bi bi-key text-secondary\" style=\"font-size: 2rem;\"></i>\n </div>\n <div class=\"col-md-5 mb-2 mb-md-0\">\n <span class=\"text-muted small d-block\">{{ 'core.account.credentials.name' | translate }}</span>\n <span class=\"fw-semibold\">{{ cred.credential.userLabel || cred.credential.type }}</span>\n </div>\n <div class=\"col-md-4 mb-3 mb-md-0\">\n <span class=\"text-muted small d-block\">{{ 'core.account.credentials.created' | translate }}</span>\n <span>{{ cred.credential.createdDate | date: 'dd:MM:yyyy HH:mm' }}</span>\n </div>\n <div class=\"col-md-2 text-md-end\">\n @if (type.removeable) {\n <button rlb-button class=\"w-100\" color=\"danger\" (click)=\"removeCredential(type.type, cred.credential.id)\">\n <i class=\"bi bi-trash\"></i> {{ 'core.account.credentials.delete' | translate }}\n </button>\n } @else {\n <button rlb-button class=\"w-100\" outline (click)=\"updatePassword()\">\n <i class=\"bi bi-pencil-square\"></i> {{ 'core.account.credentials.update' | translate }}\n </button>\n }\n </div>\n </div>\n </rlb-list-item>\n }\n\n @if (type.userCredentialMetadatas.length === 0) {\n <rlb-list-item>\n <div class=\"py-4 text-center text-muted\">\n {{ 'core.account.credentials.noCredentials' | translate }}\n </div>\n </rlb-list-item>\n }\n </rlb-list>\n </rlb-card-body>\n </rlb-card>\n }\n\n <!-- SESSION SECTION -->\n <h3 class=\"mb-4 text-center mt-5\">{{ 'core.account.session.title' | translate }}</h3>\n\n <rlb-card border=\"secondary\" class=\"mb-5\">\n <rlb-card-body class=\"p-0\">\n <rlb-list class=\"settings m-0\">\n @for (d of keyCloakDevices(); track d.id) {\n <rlb-list-item class=\"settings-item px-4 py-4\">\n <!-- Session Top Row (Device Info) -->\n <div class=\"d-flex align-items-center pb-3 mb-3\">\n <i class=\"bi bi-laptop text-secondary me-3\" style=\"font-size: 2rem;\"></i>\n <h6 class=\"mb-0 fw-bold\">{{ d.os }} {{ d.osVersion }} - {{ d.browser }}</h6>\n @if (d.current) {\n <span class=\"badge bg-success ms-3 rounded-pill px-3 py-2\">\n {{ 'core.account.session.current' | translate }}\n </span>\n }\n </div>\n\n <div class=\"row text-center text-md-start gy-3\">\n <div class=\"col-sm-6 col-md-3\">\n <span class=\"text-muted small d-block\">{{ 'core.account.session.ip' | translate }}</span>\n <span class=\"fw-medium\">{{ d.ipAddress }}</span>\n </div>\n <div class=\"col-sm-6 col-md-3\">\n <span class=\"text-muted small d-block\">{{ 'core.account.session.lastAccess' | translate }}</span>\n <span>{{ d.lastAccess * 1000 | date: 'dd/MM/yyyy - HH:mm' }}</span>\n </div>\n <div class=\"col-sm-6 col-md-2\">\n <span class=\"text-muted small d-block\">{{ 'core.account.session.applications' | translate }}</span>\n <span>{{ d.clientslist }}</span>\n </div>\n <div class=\"col-sm-6 col-md-2\">\n <span class=\"text-muted small d-block\">{{ 'core.account.session.started' | translate }}</span>\n <span>{{ d.started * 1000 | date: 'dd/MM/yyyy - HH:mm' }}</span>\n </div>\n <div class=\"col-sm-6 col-md-2\">\n <span class=\"text-muted small d-block\">{{ 'core.account.session.expires' | translate }}</span>\n <span>{{ d.expires * 1000 | date: 'dd/MM/yyyy - HH:mm' }}</span>\n </div>\n </div>\n </rlb-list-item>\n }\n </rlb-list>\n </rlb-card-body>\n </rlb-card>\n }\n</div>\n", styles: [".settings .settings-item .settings-control{width:40%}\n"], dependencies: [{ kind: "ngmodule", type: RlbAppModule }, { kind: "component", type: i1$3.InputComponent, selector: "rlb-input", inputs: ["disabled", "readonly", "placeholder", "type", "size", "name", "max", "min", "step", "date-type", "timezone", "inputId", "extValidation", "enable-validation"] }, { kind: "component", type: i1$3.BreadcrumbComponent, selector: "rlb-breadcrumb", inputs: ["divider", "items", "cssClasses"] }, { kind: "component", type: i1$3.ButtonComponent, selector: "button[rlb-button], a[rlb-button]", inputs: ["color", "size", "disabled", "outline", "isLink"] }, { kind: "component", type: i1$3.RlbFabComponent, selector: "rlb-fab", inputs: ["color", "size", "disabled", "outline", "position"] }, { kind: "component", type: i1$3.CardBodyComponent, selector: "rlb-card-body" }, { kind: "component", type: i1$3.CardFooterComponent, selector: "rlb-card-footer" }, { kind: "component", type: i1$3.CardHeaderComponent, selector: "rlb-card-header" }, { kind: "component", type: i1$3.CardComponent, selector: "rlb-card", inputs: ["align", "overlay", "background", "border"] }, { kind: "directive", type: i1$3.TooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "tooltip-placement", "tooltip-class", "tooltip-html"] }, { kind: "component", type: i1$3.ListComponent, selector: "rlb-list", inputs: ["disabled", "numbered", "flush", "horizontal"] }, { kind: "component", type: i1$3.ListItemComponent, selector: "rlb-list-item", inputs: ["active", "disabled", "action"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3163
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UserAccountComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3164
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: UserAccountComponent, isStandalone: true, selector: "rlb-user-account", ngImport: i0, template: "<div class=\"container mt-4 mb-5\">\n <div class=\"d-flex align-items-center justify-content-between\">\n <h3 class=\"m-0\">{{ \"Account settings\" | translate | uppercase }}</h3>\n <rlb-breadcrumb [cssClasses]=\"'p-0 px-md-1 py-md-2 m-0'\" [items]=\"breadcrumbItems\" class=\"d-block\"></rlb-breadcrumb>\n </div>\n\n <!-- ACCOUNT DETAILS CARD -->\n <rlb-card class=\"mt-3\">\n <rlb-card-header class=\"d-flex justify-content-between align-items-center py-3 px-4\">\n <h5 class=\"m-0\">{{ \"Account\" | translate }}</h5>\n </rlb-card-header>\n\n <rlb-card-body class=\"px-4 py-4\" [formGroup]=\"profileForm\">\n <div class=\"row mb-3 align-items-center\">\n <label class=\"col-md-3 col-form-label fw-semibold\">{{ 'core.account.username' | translate }}</label>\n <div class=\"col-md-9\">\n <rlb-input class=\"w-100\" type=\"text\" formControlName=\"username\" />\n </div>\n </div>\n\n <div class=\"row mb-3 align-items-center\">\n <label class=\"col-md-3 col-form-label fw-semibold\">{{ 'core.account.email' | translate }}</label>\n <div class=\"col-md-9\">\n <rlb-input class=\"w-100\" type=\"text\" formControlName=\"email\" />\n </div>\n </div>\n\n <div class=\"row mb-3 align-items-center\">\n <label class=\"col-md-3 col-form-label fw-semibold\">{{ 'core.account.firstName' | translate }}</label>\n <div class=\"col-md-9\">\n <rlb-input class=\"w-100\" type=\"text\" formControlName=\"firstName\" />\n </div>\n </div>\n\n <div class=\"row align-items-center\">\n <label class=\"col-md-3 col-form-label fw-semibold\">{{ 'core.account.lastName' | translate }}</label>\n <div class=\"col-md-9\">\n <rlb-input class=\"w-100\" type=\"text\" formControlName=\"lastName\" />\n </div>\n </div>\n </rlb-card-body>\n\n <rlb-card-footer>\n <div class=\"d-flex align-items-center justify-content-end gap-2\">\n <button rlb-button outline (click)=\"updateProfile()\" [disabled]=\"profileForm.invalid || !keyCloakUser()\">\n <i class=\"bi bi-floppy\"></i>\n {{ 'common.save' | translate }}\n </button>\n <button rlb-button outline color=\"danger\" (click)=\"logout()\">\n <i class=\"bi bi-box-arrow-right\"></i>\n {{ 'core.account.logout' | translate }}\n </button>\n </div>\n </rlb-card-footer>\n </rlb-card>\n\n <!-- CREDENTIALS SECTION -->\n @if (keyCloakUser()) {\n <h3 class=\"mb-4 text-center mt-5\">{{ 'core.account.credentials.title' | translate }}</h3>\n\n @for (type of keycloakCredentials(); track type.type) {\n <rlb-card class=\"mb-4\">\n <rlb-card-header class=\"d-flex justify-content-between align-items-center py-3 px-4\">\n <h6 class=\"mb-0 fw-bold\">{{ ('core.account.credentials.' + type?.type) | translate }}</h6>\n @if (type.type === 'otp') {\n <rlb-fab (click)=\"configureOTP()\" size=\"sm\" [tooltip]=\"'core.account.credentials.addOTP' | translate\">\n <i class=\"bi bi-plus-circle\"></i>\n </rlb-fab>\n }\n </rlb-card-header>\n\n <rlb-card-body>\n <rlb-list class=\"settings m-0\">\n @for (cred of type.userCredentialMetadatas; track cred.credential.id) {\n <rlb-list-item class=\"px-4 py-3\">\n <div class=\"row align-items-center w-100\">\n <div class=\"col-md-1 text-center mb-2 mb-md-0\">\n <i class=\"bi bi-key text-secondary\" style=\"font-size: 2rem;\"></i>\n </div>\n <div class=\"col-md-5 mb-2 mb-md-0\">\n <span class=\"text-muted small d-block\">{{ 'core.account.credentials.name' | translate }}</span>\n <span class=\"fw-semibold\">{{ cred.credential.userLabel || cred.credential.type }}</span>\n </div>\n <div class=\"col-md-4 mb-3 mb-md-0\">\n <span class=\"text-muted small d-block\">{{ 'core.account.credentials.created' | translate }}</span>\n <span>{{ cred.credential.createdDate | date: 'dd:MM:yyyy HH:mm' }}</span>\n </div>\n <div class=\"col-md-2 text-md-end\">\n @if (type.removeable) {\n <button rlb-button class=\"w-100\" color=\"danger\" (click)=\"removeCredential(type.type, cred.credential.id)\">\n <i class=\"bi bi-trash\"></i> {{ 'core.account.credentials.delete' | translate }}\n </button>\n } @else {\n <button rlb-button class=\"w-100\" outline (click)=\"updatePassword()\">\n <i class=\"bi bi-pencil-square\"></i> {{ 'core.account.credentials.update' | translate }}\n </button>\n }\n </div>\n </div>\n </rlb-list-item>\n }\n\n @if (type.userCredentialMetadatas.length === 0) {\n <rlb-list-item>\n <div class=\"py-4 text-center text-muted\">\n {{ 'core.account.credentials.noCredentials' | translate }}\n </div>\n </rlb-list-item>\n }\n </rlb-list>\n </rlb-card-body>\n </rlb-card>\n }\n\n <!-- SESSION SECTION -->\n <h3 class=\"mb-4 text-center mt-5\">{{ 'core.account.session.title' | translate }}</h3>\n\n <rlb-card border=\"secondary\" class=\"mb-5\">\n <rlb-card-body class=\"p-0\">\n <rlb-list class=\"settings m-0\">\n @for (d of keyCloakDevices(); track d.id) {\n <rlb-list-item class=\"settings-item px-4 py-4\">\n <!-- Session Top Row (Device Info) -->\n <div class=\"d-flex align-items-center pb-3 mb-3\">\n <i class=\"bi bi-laptop text-secondary me-3\" style=\"font-size: 2rem;\"></i>\n <h6 class=\"mb-0 fw-bold\">{{ d.os }} {{ d.osVersion }} - {{ d.browser }}</h6>\n @if (d.current) {\n <span class=\"badge bg-success ms-3 rounded-pill px-3 py-2\">\n {{ 'core.account.session.current' | translate }}\n </span>\n }\n </div>\n\n <div class=\"row text-center text-md-start gy-3\">\n <div class=\"col-sm-6 col-md-3\">\n <span class=\"text-muted small d-block\">{{ 'core.account.session.ip' | translate }}</span>\n <span class=\"fw-medium\">{{ d.ipAddress }}</span>\n </div>\n <div class=\"col-sm-6 col-md-3\">\n <span class=\"text-muted small d-block\">{{ 'core.account.session.lastAccess' | translate }}</span>\n <span>{{ d.lastAccess * 1000 | date: 'dd/MM/yyyy - HH:mm' }}</span>\n </div>\n <div class=\"col-sm-6 col-md-2\">\n <span class=\"text-muted small d-block\">{{ 'core.account.session.applications' | translate }}</span>\n <span>{{ d.clientslist }}</span>\n </div>\n <div class=\"col-sm-6 col-md-2\">\n <span class=\"text-muted small d-block\">{{ 'core.account.session.started' | translate }}</span>\n <span>{{ d.started * 1000 | date: 'dd/MM/yyyy - HH:mm' }}</span>\n </div>\n <div class=\"col-sm-6 col-md-2\">\n <span class=\"text-muted small d-block\">{{ 'core.account.session.expires' | translate }}</span>\n <span>{{ d.expires * 1000 | date: 'dd/MM/yyyy - HH:mm' }}</span>\n </div>\n </div>\n </rlb-list-item>\n }\n </rlb-list>\n </rlb-card-body>\n </rlb-card>\n }\n</div>\n", styles: [".settings .settings-item .settings-control{width:40%}\n"], dependencies: [{ kind: "ngmodule", type: RlbAppModule }, { kind: "component", type: i1$3.InputComponent, selector: "rlb-input", inputs: ["disabled", "readonly", "placeholder", "type", "size", "name", "max", "min", "step", "date-type", "timezone", "inputId", "extValidation", "enable-validation"] }, { kind: "component", type: i1$3.BreadcrumbComponent, selector: "rlb-breadcrumb", inputs: ["divider", "items", "cssClasses"] }, { kind: "component", type: i1$3.ButtonComponent, selector: "button[rlb-button], a[rlb-button]", inputs: ["color", "size", "disabled", "outline", "isLink"] }, { kind: "component", type: i1$3.RlbFabComponent, selector: "rlb-fab", inputs: ["color", "size", "disabled", "outline", "position"] }, { kind: "component", type: i1$3.CardBodyComponent, selector: "rlb-card-body" }, { kind: "component", type: i1$3.CardFooterComponent, selector: "rlb-card-footer" }, { kind: "component", type: i1$3.CardHeaderComponent, selector: "rlb-card-header" }, { kind: "component", type: i1$3.CardComponent, selector: "rlb-card", inputs: ["align", "overlay", "background", "border"] }, { kind: "directive", type: i1$3.TooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "tooltip-placement", "tooltip-class", "tooltip-html"] }, { kind: "component", type: i1$3.ListComponent, selector: "rlb-list", inputs: ["disabled", "numbered", "flush", "horizontal"] }, { kind: "component", type: i1$3.ListItemComponent, selector: "rlb-list-item", inputs: ["active", "disabled", "action"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3165
3165
  }
3166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UserAccountComponent, decorators: [{
3166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UserAccountComponent, decorators: [{
3167
3167
  type: Component,
3168
3168
  args: [{ selector: 'rlb-user-account', imports: [RlbAppModule, ReactiveFormsModule, DatePipe, UpperCasePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"container mt-4 mb-5\">\n <div class=\"d-flex align-items-center justify-content-between\">\n <h3 class=\"m-0\">{{ \"Account settings\" | translate | uppercase }}</h3>\n <rlb-breadcrumb [cssClasses]=\"'p-0 px-md-1 py-md-2 m-0'\" [items]=\"breadcrumbItems\" class=\"d-block\"></rlb-breadcrumb>\n </div>\n\n <!-- ACCOUNT DETAILS CARD -->\n <rlb-card class=\"mt-3\">\n <rlb-card-header class=\"d-flex justify-content-between align-items-center py-3 px-4\">\n <h5 class=\"m-0\">{{ \"Account\" | translate }}</h5>\n </rlb-card-header>\n\n <rlb-card-body class=\"px-4 py-4\" [formGroup]=\"profileForm\">\n <div class=\"row mb-3 align-items-center\">\n <label class=\"col-md-3 col-form-label fw-semibold\">{{ 'core.account.username' | translate }}</label>\n <div class=\"col-md-9\">\n <rlb-input class=\"w-100\" type=\"text\" formControlName=\"username\" />\n </div>\n </div>\n\n <div class=\"row mb-3 align-items-center\">\n <label class=\"col-md-3 col-form-label fw-semibold\">{{ 'core.account.email' | translate }}</label>\n <div class=\"col-md-9\">\n <rlb-input class=\"w-100\" type=\"text\" formControlName=\"email\" />\n </div>\n </div>\n\n <div class=\"row mb-3 align-items-center\">\n <label class=\"col-md-3 col-form-label fw-semibold\">{{ 'core.account.firstName' | translate }}</label>\n <div class=\"col-md-9\">\n <rlb-input class=\"w-100\" type=\"text\" formControlName=\"firstName\" />\n </div>\n </div>\n\n <div class=\"row align-items-center\">\n <label class=\"col-md-3 col-form-label fw-semibold\">{{ 'core.account.lastName' | translate }}</label>\n <div class=\"col-md-9\">\n <rlb-input class=\"w-100\" type=\"text\" formControlName=\"lastName\" />\n </div>\n </div>\n </rlb-card-body>\n\n <rlb-card-footer>\n <div class=\"d-flex align-items-center justify-content-end gap-2\">\n <button rlb-button outline (click)=\"updateProfile()\" [disabled]=\"profileForm.invalid || !keyCloakUser()\">\n <i class=\"bi bi-floppy\"></i>\n {{ 'common.save' | translate }}\n </button>\n <button rlb-button outline color=\"danger\" (click)=\"logout()\">\n <i class=\"bi bi-box-arrow-right\"></i>\n {{ 'core.account.logout' | translate }}\n </button>\n </div>\n </rlb-card-footer>\n </rlb-card>\n\n <!-- CREDENTIALS SECTION -->\n @if (keyCloakUser()) {\n <h3 class=\"mb-4 text-center mt-5\">{{ 'core.account.credentials.title' | translate }}</h3>\n\n @for (type of keycloakCredentials(); track type.type) {\n <rlb-card class=\"mb-4\">\n <rlb-card-header class=\"d-flex justify-content-between align-items-center py-3 px-4\">\n <h6 class=\"mb-0 fw-bold\">{{ ('core.account.credentials.' + type?.type) | translate }}</h6>\n @if (type.type === 'otp') {\n <rlb-fab (click)=\"configureOTP()\" size=\"sm\" [tooltip]=\"'core.account.credentials.addOTP' | translate\">\n <i class=\"bi bi-plus-circle\"></i>\n </rlb-fab>\n }\n </rlb-card-header>\n\n <rlb-card-body>\n <rlb-list class=\"settings m-0\">\n @for (cred of type.userCredentialMetadatas; track cred.credential.id) {\n <rlb-list-item class=\"px-4 py-3\">\n <div class=\"row align-items-center w-100\">\n <div class=\"col-md-1 text-center mb-2 mb-md-0\">\n <i class=\"bi bi-key text-secondary\" style=\"font-size: 2rem;\"></i>\n </div>\n <div class=\"col-md-5 mb-2 mb-md-0\">\n <span class=\"text-muted small d-block\">{{ 'core.account.credentials.name' | translate }}</span>\n <span class=\"fw-semibold\">{{ cred.credential.userLabel || cred.credential.type }}</span>\n </div>\n <div class=\"col-md-4 mb-3 mb-md-0\">\n <span class=\"text-muted small d-block\">{{ 'core.account.credentials.created' | translate }}</span>\n <span>{{ cred.credential.createdDate | date: 'dd:MM:yyyy HH:mm' }}</span>\n </div>\n <div class=\"col-md-2 text-md-end\">\n @if (type.removeable) {\n <button rlb-button class=\"w-100\" color=\"danger\" (click)=\"removeCredential(type.type, cred.credential.id)\">\n <i class=\"bi bi-trash\"></i> {{ 'core.account.credentials.delete' | translate }}\n </button>\n } @else {\n <button rlb-button class=\"w-100\" outline (click)=\"updatePassword()\">\n <i class=\"bi bi-pencil-square\"></i> {{ 'core.account.credentials.update' | translate }}\n </button>\n }\n </div>\n </div>\n </rlb-list-item>\n }\n\n @if (type.userCredentialMetadatas.length === 0) {\n <rlb-list-item>\n <div class=\"py-4 text-center text-muted\">\n {{ 'core.account.credentials.noCredentials' | translate }}\n </div>\n </rlb-list-item>\n }\n </rlb-list>\n </rlb-card-body>\n </rlb-card>\n }\n\n <!-- SESSION SECTION -->\n <h3 class=\"mb-4 text-center mt-5\">{{ 'core.account.session.title' | translate }}</h3>\n\n <rlb-card border=\"secondary\" class=\"mb-5\">\n <rlb-card-body class=\"p-0\">\n <rlb-list class=\"settings m-0\">\n @for (d of keyCloakDevices(); track d.id) {\n <rlb-list-item class=\"settings-item px-4 py-4\">\n <!-- Session Top Row (Device Info) -->\n <div class=\"d-flex align-items-center pb-3 mb-3\">\n <i class=\"bi bi-laptop text-secondary me-3\" style=\"font-size: 2rem;\"></i>\n <h6 class=\"mb-0 fw-bold\">{{ d.os }} {{ d.osVersion }} - {{ d.browser }}</h6>\n @if (d.current) {\n <span class=\"badge bg-success ms-3 rounded-pill px-3 py-2\">\n {{ 'core.account.session.current' | translate }}\n </span>\n }\n </div>\n\n <div class=\"row text-center text-md-start gy-3\">\n <div class=\"col-sm-6 col-md-3\">\n <span class=\"text-muted small d-block\">{{ 'core.account.session.ip' | translate }}</span>\n <span class=\"fw-medium\">{{ d.ipAddress }}</span>\n </div>\n <div class=\"col-sm-6 col-md-3\">\n <span class=\"text-muted small d-block\">{{ 'core.account.session.lastAccess' | translate }}</span>\n <span>{{ d.lastAccess * 1000 | date: 'dd/MM/yyyy - HH:mm' }}</span>\n </div>\n <div class=\"col-sm-6 col-md-2\">\n <span class=\"text-muted small d-block\">{{ 'core.account.session.applications' | translate }}</span>\n <span>{{ d.clientslist }}</span>\n </div>\n <div class=\"col-sm-6 col-md-2\">\n <span class=\"text-muted small d-block\">{{ 'core.account.session.started' | translate }}</span>\n <span>{{ d.started * 1000 | date: 'dd/MM/yyyy - HH:mm' }}</span>\n </div>\n <div class=\"col-sm-6 col-md-2\">\n <span class=\"text-muted small d-block\">{{ 'core.account.session.expires' | translate }}</span>\n <span>{{ d.expires * 1000 | date: 'dd/MM/yyyy - HH:mm' }}</span>\n </div>\n </div>\n </rlb-list-item>\n }\n </rlb-list>\n </rlb-card-body>\n </rlb-card>\n }\n</div>\n", styles: [".settings .settings-item .settings-control{width:40%}\n"] }]
3169
3169
  }], ctorParameters: () => [] });
@@ -3207,10 +3207,10 @@ class SettingsCoreComponent {
3207
3207
  ok: this.languageService.translate('ok'),
3208
3208
  });
3209
3209
  }
3210
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: SettingsCoreComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3211
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: SettingsCoreComponent, isStandalone: true, selector: "rlb-settings-core", ngImport: i0, template: "<div class=\"container mt-2\">\n <div class=\"container text-center position-relative my-3\">\n <h3>{{ 'core.settings.generalTitle' | translate}}</h3>\n <i role=\"button\" class=\"bi bi-chevron-left position-absolute start-0 top-50 translate-middle-y\"\n (click)=\"backClicked()\" style=\"font-size: 25px;font-weight: 600;\"></i>\n </div>\n <rlb-list class=\"settings\">\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"settings-text\">\n <h6 class=\"mt-1\">{{ 'core.settings.generalTheme' | translate}}</h6>\n </div>\n <div class=\"settings-control\">\n <rlb-switch size=\"small\" [ngModel]=\"darkMode()\" (ngModelChange)=\"setDarkMode($event)\" class=\"mt-2\" />\n </div>\n </div>\n </rlb-list-item>\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"settings-text\">\n <h6 class=\"mt-1\">{{ 'core.settings.generalLanguage' | translate}}</h6>\n </div>\n <div class=\"settings-control\">\n <rlb-select size=\"small\" [ngModel]=\"currentLanguage()\" (ngModelChange)=\"setCurrentLanguage($event)\">\n @for (l of languages(); track l.value) {\n <rlb-option [value]=\"l.value\">{{l.label}}</rlb-option>\n }\n </rlb-select>\n </div>\n </div>\n </rlb-list-item>\n </rlb-list>\n</div>\n\n", styles: [".settings .settings-item .settings-control{width:40%}.settings .settings-item .settings-control ::ng-deep rlb-switch .form-check{display:block;margin-left:auto}\n"], dependencies: [{ kind: "ngmodule", type: RlbAppModule }, { kind: "component", type: i1$3.SwitchComponent, selector: "rlb-switch", inputs: ["disabled", "readonly", "size", "id"] }, { kind: "component", type: i1$3.SelectComponent, selector: "rlb-select", inputs: ["placeholder", "size", "disabled", "readonly", "multiple", "display", "inputId", "enable-validation"] }, { kind: "component", type: i1$3.OptionComponent, selector: "rlb-option", inputs: ["value", "disabled"] }, { kind: "component", type: i1$3.ListComponent, selector: "rlb-list", inputs: ["disabled", "numbered", "flush", "horizontal"] }, { kind: "component", type: i1$3.ListItemComponent, selector: "rlb-list-item", inputs: ["active", "disabled", "action"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3210
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: SettingsCoreComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3211
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: SettingsCoreComponent, isStandalone: true, selector: "rlb-settings-core", ngImport: i0, template: "<div class=\"container mt-2\">\n <div class=\"container text-center position-relative my-3\">\n <h3>{{ 'core.settings.generalTitle' | translate}}</h3>\n <i role=\"button\" class=\"bi bi-chevron-left position-absolute start-0 top-50 translate-middle-y\"\n (click)=\"backClicked()\" style=\"font-size: 25px;font-weight: 600;\"></i>\n </div>\n <rlb-list class=\"settings\">\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"settings-text\">\n <h6 class=\"mt-1\">{{ 'core.settings.generalTheme' | translate}}</h6>\n </div>\n <div class=\"settings-control\">\n <rlb-switch size=\"small\" [ngModel]=\"darkMode()\" (ngModelChange)=\"setDarkMode($event)\" class=\"mt-2\" />\n </div>\n </div>\n </rlb-list-item>\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"settings-text\">\n <h6 class=\"mt-1\">{{ 'core.settings.generalLanguage' | translate}}</h6>\n </div>\n <div class=\"settings-control\">\n <rlb-select size=\"small\" [ngModel]=\"currentLanguage()\" (ngModelChange)=\"setCurrentLanguage($event)\">\n @for (l of languages(); track l.value) {\n <rlb-option [value]=\"l.value\">{{l.label}}</rlb-option>\n }\n </rlb-select>\n </div>\n </div>\n </rlb-list-item>\n </rlb-list>\n</div>\n\n", styles: [".settings .settings-item .settings-control{width:40%}.settings .settings-item .settings-control ::ng-deep rlb-switch .form-check{display:block;margin-left:auto}\n"], dependencies: [{ kind: "ngmodule", type: RlbAppModule }, { kind: "component", type: i1$3.SwitchComponent, selector: "rlb-switch", inputs: ["disabled", "readonly", "size", "id"] }, { kind: "component", type: i1$3.SelectComponent, selector: "rlb-select", inputs: ["placeholder", "size", "disabled", "readonly", "multiple", "display", "inputId", "enable-validation"] }, { kind: "component", type: i1$3.OptionComponent, selector: "rlb-option", inputs: ["value", "disabled"] }, { kind: "component", type: i1$3.ListComponent, selector: "rlb-list", inputs: ["disabled", "numbered", "flush", "horizontal"] }, { kind: "component", type: i1$3.ListItemComponent, selector: "rlb-list-item", inputs: ["active", "disabled", "action"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3212
3212
  }
3213
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: SettingsCoreComponent, decorators: [{
3213
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: SettingsCoreComponent, decorators: [{
3214
3214
  type: Component,
3215
3215
  args: [{ selector: 'rlb-settings-core', imports: [RlbAppModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"container mt-2\">\n <div class=\"container text-center position-relative my-3\">\n <h3>{{ 'core.settings.generalTitle' | translate}}</h3>\n <i role=\"button\" class=\"bi bi-chevron-left position-absolute start-0 top-50 translate-middle-y\"\n (click)=\"backClicked()\" style=\"font-size: 25px;font-weight: 600;\"></i>\n </div>\n <rlb-list class=\"settings\">\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"settings-text\">\n <h6 class=\"mt-1\">{{ 'core.settings.generalTheme' | translate}}</h6>\n </div>\n <div class=\"settings-control\">\n <rlb-switch size=\"small\" [ngModel]=\"darkMode()\" (ngModelChange)=\"setDarkMode($event)\" class=\"mt-2\" />\n </div>\n </div>\n </rlb-list-item>\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"settings-text\">\n <h6 class=\"mt-1\">{{ 'core.settings.generalLanguage' | translate}}</h6>\n </div>\n <div class=\"settings-control\">\n <rlb-select size=\"small\" [ngModel]=\"currentLanguage()\" (ngModelChange)=\"setCurrentLanguage($event)\">\n @for (l of languages(); track l.value) {\n <rlb-option [value]=\"l.value\">{{l.label}}</rlb-option>\n }\n </rlb-select>\n </div>\n </div>\n </rlb-list-item>\n </rlb-list>\n</div>\n\n", styles: [".settings .settings-item .settings-control{width:40%}.settings .settings-item .settings-control ::ng-deep rlb-switch .form-check{display:block;margin-left:auto}\n"] }]
3216
3216
  }] });
@@ -3233,10 +3233,10 @@ class SettingsListComponent {
3233
3233
  get auth$() {
3234
3234
  return this.authService.isAuthenticated$;
3235
3235
  }
3236
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: SettingsListComponent, deps: [{ token: i1$6.Location }, { token: AppsService }, { token: AuthenticationService }, { token: RLB_CFG_PAGES, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
3237
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: SettingsListComponent, isStandalone: true, selector: "rlb-settings-list", ngImport: i0, template: "<div class=\"container mt-2\">\n <div class=\"container text-center position-relative my-3\">\n <h3>{{ 'core.settings.title' | translate}}</h3>\n <i role=\"button\" class=\"bi bi-chevron-left position-absolute start-0 top-50 translate-middle-y\"\n (click)=\"backClicked()\" style=\"font-size: 25px;font-weight: 600;\"></i>\n </div>\n <rlb-list>\n <rlb-list-item-image icon=\"bi bi-gear\" [avatar-size]=\"35\" [line-1]=\" 'core.settings.generalTitle' | translate\"\n [routerLink]=\"'/settings/general'\" [line-2]=\" 'core.settings.generalDescription' | translate\">\n </rlb-list-item-image>\n @for (app of apps(); track app.id) {\n <ng-container ngProjectAs=\"rlb-list-item-image\">\n @if (app.settings) {\n <ng-container ngProjectAs=\"rlb-list-item-image\">\n <rlb-list-item-image [icon]=\"app.settings.icon\" [avatar-size]=\"35\"\n [line-1]=\"app.data.friendlyName ? app.data.friendlyName : app.settings.title | translate\"\n [disabled]=\"!app.enabled && (app.settings.auth && !(auth$ | async))\"\n [line-2]=\"app.settings.description | translate\" (click)=\"selectApp(app)\">\n </rlb-list-item-image>\n </ng-container>\n }\n </ng-container>\n }\n </rlb-list>\n\n @if (pages()?.['status']?.path || pages()?.['logger']?.path) {\n <rlb-list class=\"mt-5\">\n @if (pages()?.['status']?.path) {\n <rlb-list-item-image icon=\"bi bi-check2-circle\" [avatar-size]=\"18\"\n [line-1]=\"'core.settings.status' | translate\" [routerLink]=\"'/status'\">\n </rlb-list-item-image>\n }\n @if (pages()?.['logger']?.path) {\n <rlb-list-item-image icon=\"bi bi-file-text\" [avatar-size]=\"18\"\n [line-1]=\"'core.settings.logger' | translate\" [routerLink]=\"'/logger'\">\n </rlb-list-item-image>\n }\n </rlb-list>\n }\n\n @if (pages()?.['privacy']?.path || pages()?.['cookies']?.path || pages()?.['terms']?.path || pages()?.['support']?.path) {\n <rlb-list class=\"mt-4\"\n >\n @if (pages()?.['privacy']?.path) {\n <rlb-list-item-image icon=\"bi bi-shield-check\" [avatar-size]=\"18\"\n [line-1]=\"'core.settings.privacy' | translate\" [routerLink]=\"'/privacy'\">\n </rlb-list-item-image>\n }\n @if (pages()?.['cookies']?.path) {\n <rlb-list-item-image icon=\"bi bi bi-cookie\" [avatar-size]=\"18\"\n [line-1]=\"'core.settings.cookies' | translate\" [routerLink]=\"'/cookies'\">\n </rlb-list-item-image>\n }\n @if (pages()?.['terms']?.path) {\n <rlb-list-item-image icon=\"bi bi-vector-pen\" [avatar-size]=\"18\"\n [line-1]=\"'core.settings.legal' | translate\" [routerLink]=\"'/terms'\">\n </rlb-list-item-image>\n }\n @if (pages()?.['support']?.path) {\n <rlb-list-item-image icon=\"bi bi-chat-quote\" [avatar-size]=\"18\"\n [line-1]=\" 'core.settings.support' | translate\" [routerLink]=\"'/support'\">\n </rlb-list-item-image>\n }\n </rlb-list>\n }\n</div>\n\n", styles: [".settings .settings-item .settings-control{width:40%}\n"], dependencies: [{ kind: "ngmodule", type: RlbAppModule }, { kind: "component", type: i1$3.ListComponent, selector: "rlb-list", inputs: ["disabled", "numbered", "flush", "horizontal"] }, { kind: "component", type: i1$3.ListItemImageComponent, selector: "rlb-list-item-image", inputs: ["active", "disabled", "counter-empty", "counter-pill", "counter-border", "avatar-size", "username", "line-1", "line-2", "avatar", "counter", "counter-color", "icon"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1$6.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3236
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: SettingsListComponent, deps: [{ token: i1$6.Location }, { token: AppsService }, { token: AuthenticationService }, { token: RLB_CFG_PAGES, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
3237
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: SettingsListComponent, isStandalone: true, selector: "rlb-settings-list", ngImport: i0, template: "<div class=\"container mt-2\">\n <div class=\"container text-center position-relative my-3\">\n <h3>{{ 'core.settings.title' | translate}}</h3>\n <i role=\"button\" class=\"bi bi-chevron-left position-absolute start-0 top-50 translate-middle-y\"\n (click)=\"backClicked()\" style=\"font-size: 25px;font-weight: 600;\"></i>\n </div>\n <rlb-list>\n <rlb-list-item-image icon=\"bi bi-gear\" [avatar-size]=\"35\" [line-1]=\" 'core.settings.generalTitle' | translate\"\n [routerLink]=\"'/settings/general'\" [line-2]=\" 'core.settings.generalDescription' | translate\">\n </rlb-list-item-image>\n @for (app of apps(); track app.id) {\n <ng-container ngProjectAs=\"rlb-list-item-image\">\n @if (app.settings) {\n <ng-container ngProjectAs=\"rlb-list-item-image\">\n <rlb-list-item-image [icon]=\"app.settings.icon\" [avatar-size]=\"35\"\n [line-1]=\"app.data.friendlyName ? app.data.friendlyName : app.settings.title | translate\"\n [disabled]=\"!app.enabled && (app.settings.auth && !(auth$ | async))\"\n [line-2]=\"app.settings.description | translate\" (click)=\"selectApp(app)\">\n </rlb-list-item-image>\n </ng-container>\n }\n </ng-container>\n }\n </rlb-list>\n\n @if (pages()?.['status']?.path || pages()?.['logger']?.path) {\n <rlb-list class=\"mt-5\">\n @if (pages()?.['status']?.path) {\n <rlb-list-item-image icon=\"bi bi-check2-circle\" [avatar-size]=\"18\"\n [line-1]=\"'core.settings.status' | translate\" [routerLink]=\"'/status'\">\n </rlb-list-item-image>\n }\n @if (pages()?.['logger']?.path) {\n <rlb-list-item-image icon=\"bi bi-file-text\" [avatar-size]=\"18\"\n [line-1]=\"'core.settings.logger' | translate\" [routerLink]=\"'/logger'\">\n </rlb-list-item-image>\n }\n </rlb-list>\n }\n\n @if (pages()?.['privacy']?.path || pages()?.['cookies']?.path || pages()?.['terms']?.path || pages()?.['support']?.path) {\n <rlb-list class=\"mt-4\"\n >\n @if (pages()?.['privacy']?.path) {\n <rlb-list-item-image icon=\"bi bi-shield-check\" [avatar-size]=\"18\"\n [line-1]=\"'core.settings.privacy' | translate\" [routerLink]=\"'/privacy'\">\n </rlb-list-item-image>\n }\n @if (pages()?.['cookies']?.path) {\n <rlb-list-item-image icon=\"bi bi bi-cookie\" [avatar-size]=\"18\"\n [line-1]=\"'core.settings.cookies' | translate\" [routerLink]=\"'/cookies'\">\n </rlb-list-item-image>\n }\n @if (pages()?.['terms']?.path) {\n <rlb-list-item-image icon=\"bi bi-vector-pen\" [avatar-size]=\"18\"\n [line-1]=\"'core.settings.legal' | translate\" [routerLink]=\"'/terms'\">\n </rlb-list-item-image>\n }\n @if (pages()?.['support']?.path) {\n <rlb-list-item-image icon=\"bi bi-chat-quote\" [avatar-size]=\"18\"\n [line-1]=\" 'core.settings.support' | translate\" [routerLink]=\"'/support'\">\n </rlb-list-item-image>\n }\n </rlb-list>\n }\n</div>\n\n", styles: [".settings .settings-item .settings-control{width:40%}\n"], dependencies: [{ kind: "ngmodule", type: RlbAppModule }, { kind: "component", type: i1$3.ListComponent, selector: "rlb-list", inputs: ["disabled", "numbered", "flush", "horizontal"] }, { kind: "component", type: i1$3.ListItemImageComponent, selector: "rlb-list-item-image", inputs: ["active", "disabled", "counter-empty", "counter-pill", "counter-border", "avatar-size", "username", "line-1", "line-2", "avatar", "counter", "counter-color", "icon"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1$6.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3238
3238
  }
3239
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: SettingsListComponent, decorators: [{
3239
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: SettingsListComponent, decorators: [{
3240
3240
  type: Component,
3241
3241
  args: [{ selector: 'rlb-settings-list', imports: [RlbAppModule, CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"container mt-2\">\n <div class=\"container text-center position-relative my-3\">\n <h3>{{ 'core.settings.title' | translate}}</h3>\n <i role=\"button\" class=\"bi bi-chevron-left position-absolute start-0 top-50 translate-middle-y\"\n (click)=\"backClicked()\" style=\"font-size: 25px;font-weight: 600;\"></i>\n </div>\n <rlb-list>\n <rlb-list-item-image icon=\"bi bi-gear\" [avatar-size]=\"35\" [line-1]=\" 'core.settings.generalTitle' | translate\"\n [routerLink]=\"'/settings/general'\" [line-2]=\" 'core.settings.generalDescription' | translate\">\n </rlb-list-item-image>\n @for (app of apps(); track app.id) {\n <ng-container ngProjectAs=\"rlb-list-item-image\">\n @if (app.settings) {\n <ng-container ngProjectAs=\"rlb-list-item-image\">\n <rlb-list-item-image [icon]=\"app.settings.icon\" [avatar-size]=\"35\"\n [line-1]=\"app.data.friendlyName ? app.data.friendlyName : app.settings.title | translate\"\n [disabled]=\"!app.enabled && (app.settings.auth && !(auth$ | async))\"\n [line-2]=\"app.settings.description | translate\" (click)=\"selectApp(app)\">\n </rlb-list-item-image>\n </ng-container>\n }\n </ng-container>\n }\n </rlb-list>\n\n @if (pages()?.['status']?.path || pages()?.['logger']?.path) {\n <rlb-list class=\"mt-5\">\n @if (pages()?.['status']?.path) {\n <rlb-list-item-image icon=\"bi bi-check2-circle\" [avatar-size]=\"18\"\n [line-1]=\"'core.settings.status' | translate\" [routerLink]=\"'/status'\">\n </rlb-list-item-image>\n }\n @if (pages()?.['logger']?.path) {\n <rlb-list-item-image icon=\"bi bi-file-text\" [avatar-size]=\"18\"\n [line-1]=\"'core.settings.logger' | translate\" [routerLink]=\"'/logger'\">\n </rlb-list-item-image>\n }\n </rlb-list>\n }\n\n @if (pages()?.['privacy']?.path || pages()?.['cookies']?.path || pages()?.['terms']?.path || pages()?.['support']?.path) {\n <rlb-list class=\"mt-4\"\n >\n @if (pages()?.['privacy']?.path) {\n <rlb-list-item-image icon=\"bi bi-shield-check\" [avatar-size]=\"18\"\n [line-1]=\"'core.settings.privacy' | translate\" [routerLink]=\"'/privacy'\">\n </rlb-list-item-image>\n }\n @if (pages()?.['cookies']?.path) {\n <rlb-list-item-image icon=\"bi bi bi-cookie\" [avatar-size]=\"18\"\n [line-1]=\"'core.settings.cookies' | translate\" [routerLink]=\"'/cookies'\">\n </rlb-list-item-image>\n }\n @if (pages()?.['terms']?.path) {\n <rlb-list-item-image icon=\"bi bi-vector-pen\" [avatar-size]=\"18\"\n [line-1]=\"'core.settings.legal' | translate\" [routerLink]=\"'/terms'\">\n </rlb-list-item-image>\n }\n @if (pages()?.['support']?.path) {\n <rlb-list-item-image icon=\"bi bi-chat-quote\" [avatar-size]=\"18\"\n [line-1]=\" 'core.settings.support' | translate\" [routerLink]=\"'/support'\">\n </rlb-list-item-image>\n }\n </rlb-list>\n }\n</div>\n\n", styles: [".settings .settings-item .settings-control{width:40%}\n"] }]
3242
3242
  }], ctorParameters: () => [{ type: i1$6.Location }, { type: AppsService }, { type: AuthenticationService }, { type: undefined, decorators: [{
@@ -3328,10 +3328,10 @@ class AppContextEffects {
3328
3328
  }
3329
3329
  }
3330
3330
  }
3331
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AppContextEffects, deps: [{ token: i1$7.Actions }, { token: LanguageService }, { token: i0.RendererFactory2 }, { token: AppStorageService }, { token: i1$1.Store }, { token: i5.Router }, { token: AppLoggerService }, { token: RLB_APPS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
3332
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AppContextEffects }); }
3331
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppContextEffects, deps: [{ token: i1$7.Actions }, { token: LanguageService }, { token: i0.RendererFactory2 }, { token: AppStorageService }, { token: i1$1.Store }, { token: i5.Router }, { token: AppLoggerService }, { token: RLB_APPS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
3332
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppContextEffects }); }
3333
3333
  }
3334
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AppContextEffects, decorators: [{
3334
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppContextEffects, decorators: [{
3335
3335
  type: Injectable
3336
3336
  }], ctorParameters: () => [{ type: i1$7.Actions }, { type: LanguageService }, { type: i0.RendererFactory2 }, { type: AppStorageService }, { type: i1$1.Store }, { type: i5.Router }, { type: AppLoggerService }, { type: undefined, decorators: [{
3337
3337
  type: Inject,
@@ -3383,10 +3383,10 @@ class AuthEffects {
3383
3383
  this.logger = this.loggerService.for(this.constructor.name);
3384
3384
  this.logger.log(`Initialized AuthEffects}`);
3385
3385
  }
3386
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AuthEffects, deps: [{ token: i1$7.Actions }, { token: AuthenticationService }, { token: AppLoggerService }, { token: RLB_CFG_AUTH, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
3387
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AuthEffects }); }
3386
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AuthEffects, deps: [{ token: i1$7.Actions }, { token: AuthenticationService }, { token: AppLoggerService }, { token: RLB_CFG_AUTH, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
3387
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AuthEffects }); }
3388
3388
  }
3389
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: AuthEffects, decorators: [{
3389
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AuthEffects, decorators: [{
3390
3390
  type: Injectable
3391
3391
  }], ctorParameters: () => [{ type: i1$7.Actions }, { type: AuthenticationService }, { type: AppLoggerService }, { type: undefined, decorators: [{
3392
3392
  type: Inject,
@@ -3441,8 +3441,8 @@ class ToastComponent {
3441
3441
  this.data = input.required(...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
3442
3442
  this.valid = true;
3443
3443
  }
3444
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3445
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: ToastComponent, isStandalone: true, selector: "ng-component", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1$3.ToastDirective, inputs: ["id", "id", "data-instance", "data-instance", "data-options", "data-options"] }], ngImport: i0, template: `
3444
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3445
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: ToastComponent, isStandalone: true, selector: "ng-component", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1$3.ToastDirective, inputs: ["id", "id", "data-instance", "data-instance", "data-options", "data-options"] }], ngImport: i0, template: `
3446
3446
  <div class="toast-header">
3447
3447
  <strong class="me-auto">
3448
3448
  <svg
@@ -3475,7 +3475,7 @@ class ToastComponent {
3475
3475
  <div class="toast-body">{{ data().content }}</div>
3476
3476
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: RlbAppModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3477
3477
  }
3478
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ToastComponent, decorators: [{
3478
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ToastComponent, decorators: [{
3479
3479
  type: Component,
3480
3480
  args: [{
3481
3481
  imports: [RlbAppModule],