@abp/ng.core 8.0.0-rc.3 → 8.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/esm2022/lib/abstracts/auth-error-filter.mjs +25 -0
  2. package/esm2022/lib/abstracts/auth.guard.mjs +3 -3
  3. package/esm2022/lib/abstracts/auth.service.mjs +4 -5
  4. package/esm2022/lib/abstracts/index.mjs +2 -1
  5. package/esm2022/lib/abstracts/ng-model.component.mjs +3 -3
  6. package/esm2022/lib/clients/http.client.mjs +3 -3
  7. package/esm2022/lib/components/dynamic-layout.component.mjs +38 -38
  8. package/esm2022/lib/components/replaceable-route-container.component.mjs +3 -3
  9. package/esm2022/lib/components/router-outlet.component.mjs +3 -3
  10. package/esm2022/lib/constants/default-layouts.mjs +6 -0
  11. package/esm2022/lib/constants/index.mjs +2 -1
  12. package/esm2022/lib/core.module.mjs +21 -13
  13. package/esm2022/lib/directives/autofocus.directive.mjs +3 -3
  14. package/esm2022/lib/directives/caps-lock.directive.mjs +3 -3
  15. package/esm2022/lib/directives/debounce.directive.mjs +3 -3
  16. package/esm2022/lib/directives/for.directive.mjs +3 -3
  17. package/esm2022/lib/directives/form-submit.directive.mjs +3 -3
  18. package/esm2022/lib/directives/init.directive.mjs +3 -3
  19. package/esm2022/lib/directives/permission.directive.mjs +3 -3
  20. package/esm2022/lib/directives/replaceable-template.directive.mjs +3 -3
  21. package/esm2022/lib/directives/show-password.directive.mjs +3 -3
  22. package/esm2022/lib/directives/stop-propagation.directive.mjs +3 -3
  23. package/esm2022/lib/enums/common.mjs +1 -1
  24. package/esm2022/lib/guards/permission.guard.mjs +3 -3
  25. package/esm2022/lib/handlers/routes.handler.mjs +3 -3
  26. package/esm2022/lib/interceptors/api.interceptor.mjs +3 -3
  27. package/esm2022/lib/localization.module.mjs +4 -4
  28. package/esm2022/lib/models/auth-events.mjs +29 -0
  29. package/esm2022/lib/models/auth.mjs +1 -1
  30. package/esm2022/lib/models/common.mjs +1 -1
  31. package/esm2022/lib/models/index.mjs +2 -1
  32. package/esm2022/lib/pipes/localization.pipe.mjs +4 -4
  33. package/esm2022/lib/pipes/safe-html.pipe.mjs +4 -4
  34. package/esm2022/lib/pipes/short-date-time.pipe.mjs +3 -3
  35. package/esm2022/lib/pipes/short-date.pipe.mjs +3 -3
  36. package/esm2022/lib/pipes/short-time.pipe.mjs +3 -3
  37. package/esm2022/lib/pipes/sort.pipe.mjs +4 -4
  38. package/esm2022/lib/pipes/to-injector.pipe.mjs +3 -3
  39. package/esm2022/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.mjs +3 -3
  40. package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.mjs +3 -3
  41. package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.mjs +3 -3
  42. package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service.mjs +3 -3
  43. package/esm2022/lib/services/config-state.service.mjs +3 -3
  44. package/esm2022/lib/services/content-projection.service.mjs +3 -3
  45. package/esm2022/lib/services/dom-insertion.service.mjs +3 -3
  46. package/esm2022/lib/services/environment.service.mjs +3 -3
  47. package/esm2022/lib/services/http-error-reporter.service.mjs +3 -3
  48. package/esm2022/lib/services/http-wait.service.mjs +3 -3
  49. package/esm2022/lib/services/internet-connection-service.mjs +3 -3
  50. package/esm2022/lib/services/lazy-load.service.mjs +3 -3
  51. package/esm2022/lib/services/list.service.mjs +3 -3
  52. package/esm2022/lib/services/local-storage.service.mjs +3 -3
  53. package/esm2022/lib/services/localization.service.mjs +3 -3
  54. package/esm2022/lib/services/multi-tenancy.service.mjs +3 -3
  55. package/esm2022/lib/services/permission.service.mjs +3 -3
  56. package/esm2022/lib/services/replaceable-components.service.mjs +3 -3
  57. package/esm2022/lib/services/resource-wait.service.mjs +3 -3
  58. package/esm2022/lib/services/rest.service.mjs +3 -3
  59. package/esm2022/lib/services/router-events.service.mjs +3 -3
  60. package/esm2022/lib/services/router-wait.service.mjs +3 -3
  61. package/esm2022/lib/services/routes.service.mjs +6 -6
  62. package/esm2022/lib/services/session-state.service.mjs +3 -3
  63. package/esm2022/lib/services/subscription.service.mjs +3 -3
  64. package/esm2022/lib/services/track-by.service.mjs +3 -3
  65. package/esm2022/lib/services/window.service.mjs +3 -3
  66. package/esm2022/lib/tokens/dynamic-layout.token.mjs +3 -0
  67. package/esm2022/lib/tokens/index.mjs +2 -1
  68. package/esm2022/testing/lib/core-testing.module.mjs +4 -4
  69. package/esm2022/testing/lib/services/mock-permission.service.mjs +3 -3
  70. package/esm2022/testing/lib/services/mock-rest.service.mjs +3 -3
  71. package/fesm2022/abp-ng.core-testing.mjs +10 -10
  72. package/fesm2022/abp-ng.core.mjs +419 -350
  73. package/fesm2022/abp-ng.core.mjs.map +1 -1
  74. package/lib/abstracts/auth-error-filter.d.ts +16 -0
  75. package/lib/abstracts/index.d.ts +1 -0
  76. package/lib/components/dynamic-layout.component.d.ts +11 -14
  77. package/lib/constants/default-layouts.d.ts +1 -0
  78. package/lib/constants/index.d.ts +1 -0
  79. package/lib/enums/common.d.ts +5 -0
  80. package/lib/models/auth-events.d.ts +21 -0
  81. package/lib/models/auth.d.ts +7 -1
  82. package/lib/models/common.d.ts +1 -0
  83. package/lib/models/index.d.ts +1 -0
  84. package/lib/tokens/dynamic-layout.token.d.ts +2 -0
  85. package/lib/tokens/index.d.ts +1 -0
  86. package/package.json +4 -5
@@ -2,15 +2,15 @@ import * as i0 from '@angular/core';
2
2
  import { ChangeDetectorRef, inject, Component, Input, Injectable, InjectionToken, Inject, Optional, isDevMode, SkipSelf, NgModuleFactory, Injector, Compiler, signal, computed, Directive, EventEmitter, Output, Self, Pipe, NgModule, APP_INITIALIZER, LOCALE_ID, SecurityContext, ElementRef, HostListener, ComponentFactoryResolver, ApplicationRef } from '@angular/core';
3
3
  import { of, BehaviorSubject, Subject, throwError, combineLatest, from, firstValueFrom, lastValueFrom, Observable, timer, pipe, concat, ReplaySubject, Subscription, map as map$1, fromEvent } from 'rxjs';
4
4
  import * as i1$1 from '@angular/router';
5
- import { PRIMARY_OUTLET, NavigationCancel, NavigationEnd, NavigationError, NavigationStart, ActivatedRoute, Router, RouterModule } from '@angular/router';
6
- import * as i5 from '@angular/common';
5
+ import { PRIMARY_OUTLET, NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router, ActivatedRoute, RouterModule } from '@angular/router';
6
+ import * as i1$2 from '@angular/common';
7
7
  import { registerLocaleData, DOCUMENT, DatePipe, DATE_PIPE_DEFAULT_TIMEZONE, CommonModule } from '@angular/common';
8
8
  import { map, distinctUntilChanged, filter, catchError, switchMap, take, tap, mapTo, takeUntil, delay, retryWhen, shareReplay, debounceTime, finalize } from 'rxjs/operators';
9
9
  import * as i1 from '@angular/common/http';
10
10
  import { HttpContextToken, HttpClient, HttpContext, HttpParams, HttpErrorResponse, HttpClientModule, HttpClientXsrfModule, HttpHeaders } from '@angular/common/http';
11
11
  import compare from 'just-compare';
12
12
  import clone from 'just-clone';
13
- import * as i1$2 from '@angular/forms';
13
+ import * as i1$3 from '@angular/forms';
14
14
  import { FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';
15
15
  import { DomSanitizer } from '@angular/platform-browser';
16
16
 
@@ -52,10 +52,10 @@ class AbstractNgModelComponent {
52
52
  setDisabledState(isDisabled) {
53
53
  this.disabled = isDisabled;
54
54
  }
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbstractNgModelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: AbstractNgModelComponent, selector: "ng-component", inputs: { disabled: "disabled", readonly: "readonly", valueFn: "valueFn", valueLimitFn: "valueLimitFn", value: "value" }, ngImport: i0, template: '', isInline: true }); }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AbstractNgModelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: AbstractNgModelComponent, selector: "ng-component", inputs: { disabled: "disabled", readonly: "readonly", valueFn: "valueFn", valueLimitFn: "valueLimitFn", value: "value" }, ngImport: i0, template: '', isInline: true }); }
57
57
  }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbstractNgModelComponent, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AbstractNgModelComponent, decorators: [{
59
59
  type: Component,
60
60
  args: [{ template: '' }]
61
61
  }], propDecorators: { disabled: [{
@@ -78,10 +78,10 @@ class AuthGuard {
78
78
  console.error('You should add @abp/ng-oauth packages or create your own auth packages.');
79
79
  return false;
80
80
  }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AuthGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
82
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AuthGuard, providedIn: 'root' }); }
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
82
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthGuard, providedIn: 'root' }); }
83
83
  }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AuthGuard, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthGuard, decorators: [{
85
85
  type: Injectable,
86
86
  args: [{
87
87
  providedIn: 'root',
@@ -114,7 +114,6 @@ class AuthService {
114
114
  navigateToLogin(queryParams) { }
115
115
  get isInternalAuth() {
116
116
  throw new Error('not implemented');
117
- return false;
118
117
  }
119
118
  get isAuthenticated() {
120
119
  this.warningMessage();
@@ -124,16 +123,41 @@ class AuthService {
124
123
  console.log({ grantType, parameters, headers });
125
124
  return Promise.reject(new Error('not implemented'));
126
125
  }
127
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
128
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AuthService, providedIn: 'root' }); }
126
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
127
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthService, providedIn: 'root' }); }
129
128
  }
130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AuthService, decorators: [{
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthService, decorators: [{
131
130
  type: Injectable,
132
131
  args: [{
133
132
  providedIn: 'root',
134
133
  }]
135
134
  }] });
136
135
 
136
+ class AbstractAuthErrorFilter {
137
+ }
138
+ class AuthErrorFilterService extends AbstractAuthErrorFilter {
139
+ warningMessage() {
140
+ console.error('You should add @abp/ng-oauth packages or create your own auth packages.');
141
+ }
142
+ get(id) {
143
+ this.warningMessage();
144
+ throw new Error('not implemented');
145
+ }
146
+ add(filter) {
147
+ this.warningMessage();
148
+ }
149
+ patch(item) {
150
+ this.warningMessage();
151
+ }
152
+ remove(id) {
153
+ this.warningMessage();
154
+ }
155
+ run(event) {
156
+ this.warningMessage();
157
+ throw new Error('not implemented');
158
+ }
159
+ }
160
+
137
161
  const LOCALIZATIONS = new InjectionToken('LOCALIZATIONS');
138
162
  function localizationContributor(localizations) {
139
163
  if (localizations) {
@@ -244,10 +268,10 @@ class ExternalHttpClient extends HttpClient {
244
268
  optionsOrRequest.context ??= new HttpContext();
245
269
  optionsOrRequest.context.set(IS_EXTERNAL_REQUEST, true);
246
270
  }
247
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ExternalHttpClient, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
248
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ExternalHttpClient, providedIn: 'root' }); }
271
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ExternalHttpClient, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
272
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ExternalHttpClient, providedIn: 'root' }); }
249
273
  }
250
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ExternalHttpClient, decorators: [{
274
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ExternalHttpClient, decorators: [{
251
275
  type: Injectable,
252
276
  args: [{
253
277
  providedIn: 'root',
@@ -394,10 +418,10 @@ class EnvironmentService {
394
418
  getIssuer$() {
395
419
  return this.store.sliceState(state => state?.oAuthConfig?.issuer).pipe(map(mapToIssuer));
396
420
  }
397
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: EnvironmentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
398
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: EnvironmentService, providedIn: 'root' }); }
421
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: EnvironmentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
422
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: EnvironmentService, providedIn: 'root' }); }
399
423
  }
400
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: EnvironmentService, decorators: [{
424
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: EnvironmentService, decorators: [{
401
425
  type: Injectable,
402
426
  args: [{ providedIn: 'root' }]
403
427
  }] });
@@ -420,10 +444,10 @@ class HttpErrorReporterService {
420
444
  this._reporter$.next(error);
421
445
  this._errors$.next([...this.errors, error]);
422
446
  }
423
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: HttpErrorReporterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
424
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: HttpErrorReporterService, providedIn: 'root' }); }
447
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: HttpErrorReporterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
448
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: HttpErrorReporterService, providedIn: 'root' }); }
425
449
  }
426
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: HttpErrorReporterService, decorators: [{
450
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: HttpErrorReporterService, decorators: [{
427
451
  type: Injectable,
428
452
  args: [{ providedIn: 'root' }]
429
453
  }] });
@@ -479,10 +503,10 @@ class RestService {
479
503
  removeDuplicateSlashes(url) {
480
504
  return url.replace(/([^:]\/)\/+/g, '$1');
481
505
  }
482
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RestService, deps: [{ token: CORE_OPTIONS }, { token: i1.HttpClient }, { token: ExternalHttpClient }, { token: EnvironmentService }, { token: HttpErrorReporterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
483
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RestService, providedIn: 'root' }); }
506
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RestService, deps: [{ token: CORE_OPTIONS }, { token: i1.HttpClient }, { token: ExternalHttpClient }, { token: EnvironmentService }, { token: HttpErrorReporterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
507
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RestService, providedIn: 'root' }); }
484
508
  }
485
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RestService, decorators: [{
509
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RestService, decorators: [{
486
510
  type: Injectable,
487
511
  args: [{
488
512
  providedIn: 'root',
@@ -502,10 +526,10 @@ class AbpApplicationConfigurationService {
502
526
  params: { includeLocalizationResources: options.includeLocalizationResources },
503
527
  }, { apiName: this.apiName });
504
528
  }
505
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbpApplicationConfigurationService, deps: [{ token: RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
506
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbpApplicationConfigurationService, providedIn: 'root' }); }
529
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AbpApplicationConfigurationService, deps: [{ token: RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
530
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AbpApplicationConfigurationService, providedIn: 'root' }); }
507
531
  }
508
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbpApplicationConfigurationService, decorators: [{
532
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AbpApplicationConfigurationService, decorators: [{
509
533
  type: Injectable,
510
534
  args: [{
511
535
  providedIn: 'root',
@@ -522,10 +546,10 @@ class AbpApplicationLocalizationService {
522
546
  params: { cultureName: input.cultureName, onlyDynamics: input.onlyDynamics },
523
547
  }, { apiName: this.apiName });
524
548
  }
525
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbpApplicationLocalizationService, deps: [{ token: RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
526
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbpApplicationLocalizationService, providedIn: 'root' }); }
549
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AbpApplicationLocalizationService, deps: [{ token: RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
550
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AbpApplicationLocalizationService, providedIn: 'root' }); }
527
551
  }
528
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbpApplicationLocalizationService, decorators: [{
552
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AbpApplicationLocalizationService, decorators: [{
529
553
  type: Injectable,
530
554
  args: [{
531
555
  providedIn: 'root',
@@ -681,10 +705,10 @@ class ConfigStateService {
681
705
  getGlobalFeatureIsEnabled$(key) {
682
706
  return this.store.sliceState(state => this.isGlobalFeatureEnabled(key, state.globalFeatures));
683
707
  }
684
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ConfigStateService, deps: [{ token: AbpApplicationConfigurationService }, { token: AbpApplicationLocalizationService }, { token: INCUDE_LOCALIZATION_RESOURCES_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
685
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ConfigStateService, providedIn: 'root' }); }
708
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigStateService, deps: [{ token: AbpApplicationConfigurationService }, { token: AbpApplicationLocalizationService }, { token: INCUDE_LOCALIZATION_RESOURCES_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
709
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigStateService, providedIn: 'root' }); }
686
710
  }
687
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ConfigStateService, decorators: [{
711
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigStateService, decorators: [{
688
712
  type: Injectable,
689
713
  args: [{
690
714
  providedIn: 'root',
@@ -725,10 +749,10 @@ class AbpLocalStorageService {
725
749
  setItem(key, value) {
726
750
  localStorage.setItem(key, value);
727
751
  }
728
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbpLocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
729
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbpLocalStorageService, providedIn: 'root' }); }
752
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AbpLocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
753
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AbpLocalStorageService, providedIn: 'root' }); }
730
754
  }
731
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbpLocalStorageService, decorators: [{
755
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AbpLocalStorageService, decorators: [{
732
756
  type: Injectable,
733
757
  args: [{
734
758
  providedIn: 'root',
@@ -796,10 +820,10 @@ class SessionStateService {
796
820
  this.store.patch({ language });
797
821
  document.documentElement.setAttribute('lang', language);
798
822
  }
799
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: SessionStateService, deps: [{ token: ConfigStateService }, { token: AbpLocalStorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
800
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: SessionStateService, providedIn: 'root' }); }
823
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SessionStateService, deps: [{ token: ConfigStateService }, { token: AbpLocalStorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
824
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SessionStateService, providedIn: 'root' }); }
801
825
  }
802
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: SessionStateService, decorators: [{
826
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SessionStateService, decorators: [{
803
827
  type: Injectable,
804
828
  args: [{
805
829
  providedIn: 'root',
@@ -974,10 +998,10 @@ class LocalizationService {
974
998
  localization = '';
975
999
  return localization || defaultValue || key;
976
1000
  }
977
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LocalizationService, deps: [{ token: SessionStateService }, { token: i0.Injector }, { token: LocalizationService, optional: true, skipSelf: true }, { token: ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
978
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LocalizationService, providedIn: 'root' }); }
1001
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LocalizationService, deps: [{ token: SessionStateService }, { token: i0.Injector }, { token: LocalizationService, optional: true, skipSelf: true }, { token: ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1002
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LocalizationService, providedIn: 'root' }); }
979
1003
  }
980
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LocalizationService, decorators: [{
1004
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LocalizationService, decorators: [{
981
1005
  type: Injectable,
982
1006
  args: [{ providedIn: 'root' }]
983
1007
  }], ctorParameters: () => [{ type: SessionStateService }, { type: i0.Injector }, { type: LocalizationService, decorators: [{
@@ -1068,10 +1092,10 @@ class ReplaceableComponentsService {
1068
1092
  get$(replaceableComponentKey) {
1069
1093
  return this.replaceableComponents$.pipe(map(components => components.find(component => component.key === replaceableComponentKey)));
1070
1094
  }
1071
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ReplaceableComponentsService, deps: [{ token: i0.NgZone }, { token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
1072
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ReplaceableComponentsService, providedIn: 'root' }); }
1095
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ReplaceableComponentsService, deps: [{ token: i0.NgZone }, { token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
1096
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ReplaceableComponentsService, providedIn: 'root' }); }
1073
1097
  }
1074
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ReplaceableComponentsService, decorators: [{
1098
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ReplaceableComponentsService, decorators: [{
1075
1099
  type: Injectable,
1076
1100
  args: [{ providedIn: 'root' }]
1077
1101
  }], ctorParameters: () => [{ type: i0.NgZone }, { type: i1$1.Router }] });
@@ -1101,10 +1125,10 @@ class RouterEvents {
1101
1125
  const keys = Object.keys(NavigationEvent);
1102
1126
  return this.getNavigationEvents(...keys);
1103
1127
  }
1104
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterEvents, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
1105
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterEvents, providedIn: 'root' }); }
1128
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RouterEvents, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
1129
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RouterEvents, providedIn: 'root' }); }
1106
1130
  }
1107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterEvents, decorators: [{
1131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RouterEvents, decorators: [{
1108
1132
  type: Injectable,
1109
1133
  args: [{ providedIn: 'root' }]
1110
1134
  }], ctorParameters: () => [{ type: i1$1.Router }] });
@@ -1138,140 +1162,6 @@ const OTHERS_GROUP = new InjectionToken('OTHERS_GROUP');
1138
1162
 
1139
1163
  const TENANT_NOT_FOUND_BY_NAME = new InjectionToken('TENANT_NOT_FOUND_BY_NAME');
1140
1164
 
1141
- function pushValueTo(array) {
1142
- return (element) => {
1143
- array.push(element);
1144
- return array;
1145
- };
1146
- }
1147
-
1148
- /* eslint-disable @typescript-eslint/ban-types */
1149
- class BaseTreeNode {
1150
- constructor(props) {
1151
- this.children = [];
1152
- this.isLeaf = true;
1153
- Object.assign(this, props);
1154
- }
1155
- static create(props) {
1156
- return new BaseTreeNode(props);
1157
- }
1158
- }
1159
- function createTreeFromList(list, keySelector, parentKeySelector, valueMapper) {
1160
- const map = createMapFromList(list, keySelector, valueMapper);
1161
- const tree = [];
1162
- list.forEach(row => {
1163
- const id = keySelector(row);
1164
- const parentId = parentKeySelector(row);
1165
- const node = map.get(id);
1166
- if (!node)
1167
- return;
1168
- if (parentId) {
1169
- const parent = map.get(parentId);
1170
- if (!parent)
1171
- return;
1172
- parent.children.push(node);
1173
- parent.isLeaf = false;
1174
- node.parent = parent;
1175
- }
1176
- else {
1177
- tree.push(node);
1178
- }
1179
- });
1180
- return tree;
1181
- }
1182
- function createMapFromList(list, keySelector, valueMapper) {
1183
- const map = new Map();
1184
- list.forEach(row => map.set(keySelector(row), valueMapper(row)));
1185
- return map;
1186
- }
1187
- function createTreeNodeFilterCreator(key, mapperFn) {
1188
- return (search) => {
1189
- const regex = new RegExp('.*' + search + '.*', 'i');
1190
- return function collectNodes(nodes, matches = []) {
1191
- for (const node of nodes) {
1192
- if (regex.test(mapperFn(node[key])))
1193
- matches.push(node);
1194
- if (node.children.length)
1195
- collectNodes(node.children, matches);
1196
- }
1197
- return matches;
1198
- };
1199
- };
1200
- }
1201
- function createGroupMap(list, othersGroupKey) {
1202
- if (!isArray(list) || !list.some(node => Boolean(node.group)))
1203
- return undefined;
1204
- const mapGroup = new Map();
1205
- for (const node of list) {
1206
- const group = node?.group || othersGroupKey;
1207
- if (typeof group !== 'string') {
1208
- throw new Error(`Invalid group: ${group}`);
1209
- }
1210
- const items = mapGroup.get(group) || [];
1211
- items.push(node);
1212
- mapGroup.set(group, items);
1213
- }
1214
- return mapGroup;
1215
- }
1216
-
1217
- class PermissionService {
1218
- constructor(configState) {
1219
- this.configState = configState;
1220
- }
1221
- getGrantedPolicy$(key) {
1222
- return this.getStream().pipe(map(grantedPolicies => this.isPolicyGranted(key, grantedPolicies)));
1223
- }
1224
- getGrantedPolicy(key) {
1225
- const policies = this.getSnapshot();
1226
- return this.isPolicyGranted(key, policies);
1227
- }
1228
- filterItemsByPolicy(items) {
1229
- const policies = this.getSnapshot();
1230
- return items.filter(item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies));
1231
- }
1232
- filterItemsByPolicy$(items) {
1233
- return this.getStream().pipe(map(policies => items.filter(item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies))));
1234
- }
1235
- isPolicyGranted(key, grantedPolicies) {
1236
- if (!key)
1237
- return true;
1238
- const orRegexp = /\|\|/g;
1239
- const andRegexp = /&&/g;
1240
- // TODO: Allow combination of ANDs & ORs
1241
- if (orRegexp.test(key)) {
1242
- const keys = key.split('||').filter(Boolean);
1243
- if (keys.length < 2)
1244
- return false;
1245
- return keys.some(k => this.getPolicy(k.trim(), grantedPolicies));
1246
- }
1247
- else if (andRegexp.test(key)) {
1248
- const keys = key.split('&&').filter(Boolean);
1249
- if (keys.length < 2)
1250
- return false;
1251
- return keys.every(k => this.getPolicy(k.trim(), grantedPolicies));
1252
- }
1253
- return this.getPolicy(key, grantedPolicies);
1254
- }
1255
- getStream() {
1256
- return this.configState.getAll$().pipe(map(this.mapToPolicies));
1257
- }
1258
- getSnapshot() {
1259
- return this.mapToPolicies(this.configState.getAll());
1260
- }
1261
- mapToPolicies(applicationConfiguration) {
1262
- return applicationConfiguration?.auth?.grantedPolicies || {};
1263
- }
1264
- getPolicy(key, grantedPolicies) {
1265
- return grantedPolicies[key] || false;
1266
- }
1267
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: PermissionService, deps: [{ token: ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1268
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: PermissionService, providedIn: 'root' }); }
1269
- }
1270
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: PermissionService, decorators: [{
1271
- type: Injectable,
1272
- args: [{ providedIn: 'root' }]
1273
- }], ctorParameters: () => [{ type: ConfigStateService }] });
1274
-
1275
1165
  class ContentProjectionService {
1276
1166
  constructor(injector) {
1277
1167
  this.injector = injector;
@@ -1279,14 +1169,21 @@ class ContentProjectionService {
1279
1169
  projectContent(projectionStrategy, injector = this.injector) {
1280
1170
  return projectionStrategy.injectContent(injector);
1281
1171
  }
1282
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ContentProjectionService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
1283
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ContentProjectionService, providedIn: 'root' }); }
1172
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ContentProjectionService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
1173
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ContentProjectionService, providedIn: 'root' }); }
1284
1174
  }
1285
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ContentProjectionService, decorators: [{
1175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ContentProjectionService, decorators: [{
1286
1176
  type: Injectable,
1287
1177
  args: [{ providedIn: 'root' }]
1288
1178
  }], ctorParameters: () => [{ type: i0.Injector }] });
1289
1179
 
1180
+ function pushValueTo(array) {
1181
+ return (element) => {
1182
+ array.push(element);
1183
+ return array;
1184
+ };
1185
+ }
1186
+
1290
1187
  function getShortDateFormat(configStateService) {
1291
1188
  const dateTimeFormat = configStateService.getDeep('localization.currentCulture.dateTimeFormat');
1292
1189
  return dateTimeFormat.shortDatePattern;
@@ -1448,10 +1345,10 @@ class AbpTenantService {
1448
1345
  url: `/api/abp/multi-tenancy/tenants/by-name/${name}`,
1449
1346
  }, { apiName: this.apiName });
1450
1347
  }
1451
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbpTenantService, deps: [{ token: RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1452
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbpTenantService, providedIn: 'root' }); }
1348
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AbpTenantService, deps: [{ token: RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1349
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AbpTenantService, providedIn: 'root' }); }
1453
1350
  }
1454
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbpTenantService, decorators: [{
1351
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AbpTenantService, decorators: [{
1455
1352
  type: Injectable,
1456
1353
  args: [{
1457
1354
  providedIn: 'root',
@@ -1483,10 +1380,10 @@ class MultiTenancyService {
1483
1380
  .findTenantById(tenantId)
1484
1381
  .pipe(switchMap(this.setTenantToState));
1485
1382
  }
1486
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MultiTenancyService, deps: [{ token: RestService }, { token: SessionStateService }, { token: AbpTenantService }, { token: ConfigStateService }, { token: TENANT_KEY }], target: i0.ɵɵFactoryTarget.Injectable }); }
1487
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MultiTenancyService, providedIn: 'root' }); }
1383
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MultiTenancyService, deps: [{ token: RestService }, { token: SessionStateService }, { token: AbpTenantService }, { token: ConfigStateService }, { token: TENANT_KEY }], target: i0.ɵɵFactoryTarget.Injectable }); }
1384
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MultiTenancyService, providedIn: 'root' }); }
1488
1385
  }
1489
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MultiTenancyService, decorators: [{
1386
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MultiTenancyService, decorators: [{
1490
1387
  type: Injectable,
1491
1388
  args: [{ providedIn: 'root' }]
1492
1389
  }], ctorParameters: () => [{ type: RestService }, { type: SessionStateService }, { type: AbpTenantService }, { type: ConfigStateService }, { type: undefined, decorators: [{
@@ -1760,6 +1657,75 @@ class DefaultQueueManager {
1760
1657
  }
1761
1658
  }
1762
1659
 
1660
+ /* eslint-disable @typescript-eslint/ban-types */
1661
+ class BaseTreeNode {
1662
+ constructor(props) {
1663
+ this.children = [];
1664
+ this.isLeaf = true;
1665
+ Object.assign(this, props);
1666
+ }
1667
+ static create(props) {
1668
+ return new BaseTreeNode(props);
1669
+ }
1670
+ }
1671
+ function createTreeFromList(list, keySelector, parentKeySelector, valueMapper) {
1672
+ const map = createMapFromList(list, keySelector, valueMapper);
1673
+ const tree = [];
1674
+ list.forEach(row => {
1675
+ const id = keySelector(row);
1676
+ const parentId = parentKeySelector(row);
1677
+ const node = map.get(id);
1678
+ if (!node)
1679
+ return;
1680
+ if (parentId) {
1681
+ const parent = map.get(parentId);
1682
+ if (!parent)
1683
+ return;
1684
+ parent.children.push(node);
1685
+ parent.isLeaf = false;
1686
+ node.parent = parent;
1687
+ }
1688
+ else {
1689
+ tree.push(node);
1690
+ }
1691
+ });
1692
+ return tree;
1693
+ }
1694
+ function createMapFromList(list, keySelector, valueMapper) {
1695
+ const map = new Map();
1696
+ list.forEach(row => map.set(keySelector(row), valueMapper(row)));
1697
+ return map;
1698
+ }
1699
+ function createTreeNodeFilterCreator(key, mapperFn) {
1700
+ return (search) => {
1701
+ const regex = new RegExp('.*' + search + '.*', 'i');
1702
+ return function collectNodes(nodes, matches = []) {
1703
+ for (const node of nodes) {
1704
+ if (regex.test(mapperFn(node[key])))
1705
+ matches.push(node);
1706
+ if (node.children.length)
1707
+ collectNodes(node.children, matches);
1708
+ }
1709
+ return matches;
1710
+ };
1711
+ };
1712
+ }
1713
+ function createGroupMap(list, othersGroupKey) {
1714
+ if (!isArray(list) || !list.some(node => Boolean(node.group)))
1715
+ return undefined;
1716
+ const mapGroup = new Map();
1717
+ for (const node of list) {
1718
+ const group = node?.group || othersGroupKey;
1719
+ if (typeof group !== 'string') {
1720
+ throw new Error(`Invalid group: ${group}`);
1721
+ }
1722
+ const items = mapGroup.get(group) || [];
1723
+ items.push(node);
1724
+ mapGroup.set(group, items);
1725
+ }
1726
+ return mapGroup;
1727
+ }
1728
+
1763
1729
  class DomInsertionService {
1764
1730
  constructor() {
1765
1731
  this.inserted = new Set();
@@ -1783,10 +1749,10 @@ class DomInsertionService {
1783
1749
  const hash = generateHash(content);
1784
1750
  return this.inserted.has(hash);
1785
1751
  }
1786
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DomInsertionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1787
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DomInsertionService, providedIn: 'root' }); }
1752
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DomInsertionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1753
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DomInsertionService, providedIn: 'root' }); }
1788
1754
  }
1789
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DomInsertionService, decorators: [{
1755
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DomInsertionService, decorators: [{
1790
1756
  type: Injectable,
1791
1757
  args: [{ providedIn: 'root' }]
1792
1758
  }] });
@@ -1849,10 +1815,10 @@ class HttpWaitService {
1849
1815
  const { method, endpoint } = filteredRequest;
1850
1816
  return endpoint === request.endpoint && method === request.method;
1851
1817
  }
1852
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: HttpWaitService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
1853
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: HttpWaitService, providedIn: 'root' }); }
1818
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: HttpWaitService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
1819
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: HttpWaitService, providedIn: 'root' }); }
1854
1820
  }
1855
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: HttpWaitService, decorators: [{
1821
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: HttpWaitService, decorators: [{
1856
1822
  type: Injectable,
1857
1823
  args: [{
1858
1824
  providedIn: 'root',
@@ -1885,10 +1851,10 @@ class ResourceWaitService {
1885
1851
  resources.delete(resource);
1886
1852
  this.store.patch({ resources });
1887
1853
  }
1888
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ResourceWaitService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1889
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ResourceWaitService, providedIn: 'root' }); }
1854
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ResourceWaitService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1855
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ResourceWaitService, providedIn: 'root' }); }
1890
1856
  }
1891
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ResourceWaitService, decorators: [{
1857
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ResourceWaitService, decorators: [{
1892
1858
  type: Injectable,
1893
1859
  args: [{
1894
1860
  providedIn: 'root',
@@ -1919,10 +1885,10 @@ class LazyLoadService {
1919
1885
  this.loaded.delete(path);
1920
1886
  return true;
1921
1887
  }
1922
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LazyLoadService, deps: [{ token: ResourceWaitService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1923
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LazyLoadService, providedIn: 'root' }); }
1888
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LazyLoadService, deps: [{ token: ResourceWaitService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1889
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LazyLoadService, providedIn: 'root' }); }
1924
1890
  }
1925
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LazyLoadService, decorators: [{
1891
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LazyLoadService, decorators: [{
1926
1892
  type: Injectable,
1927
1893
  args: [{
1928
1894
  providedIn: 'root',
@@ -2032,13 +1998,71 @@ class ListService {
2032
1998
  sorting: this._sortOrder ? `${this._sortKey} ${this._sortOrder}` : undefined,
2033
1999
  });
2034
2000
  }
2035
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ListService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
2036
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ListService }); }
2001
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ListService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
2002
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ListService }); }
2037
2003
  }
2038
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ListService, decorators: [{
2004
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ListService, decorators: [{
2039
2005
  type: Injectable
2040
2006
  }], ctorParameters: () => [{ type: i0.Injector }] });
2041
2007
 
2008
+ class PermissionService {
2009
+ constructor(configState) {
2010
+ this.configState = configState;
2011
+ }
2012
+ getGrantedPolicy$(key) {
2013
+ return this.getStream().pipe(map(grantedPolicies => this.isPolicyGranted(key, grantedPolicies)));
2014
+ }
2015
+ getGrantedPolicy(key) {
2016
+ const policies = this.getSnapshot();
2017
+ return this.isPolicyGranted(key, policies);
2018
+ }
2019
+ filterItemsByPolicy(items) {
2020
+ const policies = this.getSnapshot();
2021
+ return items.filter(item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies));
2022
+ }
2023
+ filterItemsByPolicy$(items) {
2024
+ return this.getStream().pipe(map(policies => items.filter(item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies))));
2025
+ }
2026
+ isPolicyGranted(key, grantedPolicies) {
2027
+ if (!key)
2028
+ return true;
2029
+ const orRegexp = /\|\|/g;
2030
+ const andRegexp = /&&/g;
2031
+ // TODO: Allow combination of ANDs & ORs
2032
+ if (orRegexp.test(key)) {
2033
+ const keys = key.split('||').filter(Boolean);
2034
+ if (keys.length < 2)
2035
+ return false;
2036
+ return keys.some(k => this.getPolicy(k.trim(), grantedPolicies));
2037
+ }
2038
+ else if (andRegexp.test(key)) {
2039
+ const keys = key.split('&&').filter(Boolean);
2040
+ if (keys.length < 2)
2041
+ return false;
2042
+ return keys.every(k => this.getPolicy(k.trim(), grantedPolicies));
2043
+ }
2044
+ return this.getPolicy(key, grantedPolicies);
2045
+ }
2046
+ getStream() {
2047
+ return this.configState.getAll$().pipe(map(this.mapToPolicies));
2048
+ }
2049
+ getSnapshot() {
2050
+ return this.mapToPolicies(this.configState.getAll());
2051
+ }
2052
+ mapToPolicies(applicationConfiguration) {
2053
+ return applicationConfiguration?.auth?.grantedPolicies || {};
2054
+ }
2055
+ getPolicy(key, grantedPolicies) {
2056
+ return grantedPolicies[key] || false;
2057
+ }
2058
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PermissionService, deps: [{ token: ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2059
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PermissionService, providedIn: 'root' }); }
2060
+ }
2061
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PermissionService, decorators: [{
2062
+ type: Injectable,
2063
+ args: [{ providedIn: 'root' }]
2064
+ }], ctorParameters: () => [{ type: ConfigStateService }] });
2065
+
2042
2066
  class RouterWaitService {
2043
2067
  constructor(routerEvents, injector) {
2044
2068
  this.routerEvents = routerEvents;
@@ -2071,10 +2095,10 @@ class RouterWaitService {
2071
2095
  setLoading(loading) {
2072
2096
  this.store.patch({ loading });
2073
2097
  }
2074
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterWaitService, deps: [{ token: RouterEvents }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
2075
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterWaitService, providedIn: 'root' }); }
2098
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RouterWaitService, deps: [{ token: RouterEvents }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
2099
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RouterWaitService, providedIn: 'root' }); }
2076
2100
  }
2077
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterWaitService, decorators: [{
2101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RouterWaitService, decorators: [{
2078
2102
  type: Injectable,
2079
2103
  args: [{
2080
2104
  providedIn: 'root',
@@ -2114,10 +2138,10 @@ class SubscriptionService {
2114
2138
  this.subscription.unsubscribe();
2115
2139
  this.subscription = new Subscription();
2116
2140
  }
2117
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: SubscriptionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2118
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: SubscriptionService }); }
2141
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SubscriptionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2142
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SubscriptionService }); }
2119
2143
  }
2120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: SubscriptionService, decorators: [{
2144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SubscriptionService, decorators: [{
2121
2145
  type: Injectable
2122
2146
  }] });
2123
2147
 
@@ -2130,10 +2154,10 @@ class TrackByService {
2130
2154
  this.by = trackBy;
2131
2155
  this.byDeep = trackByDeep;
2132
2156
  }
2133
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: TrackByService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2134
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: TrackByService, providedIn: 'root' }); }
2157
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TrackByService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2158
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TrackByService, providedIn: 'root' }); }
2135
2159
  }
2136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: TrackByService, decorators: [{
2160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TrackByService, decorators: [{
2137
2161
  type: Injectable,
2138
2162
  args: [{
2139
2163
  providedIn: 'root',
@@ -2170,10 +2194,10 @@ class AbpWindowService {
2170
2194
  this.window.URL.revokeObjectURL(blobUrl);
2171
2195
  this.document.body.removeChild(a);
2172
2196
  }
2173
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbpWindowService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2174
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbpWindowService, providedIn: 'root' }); }
2197
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AbpWindowService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2198
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AbpWindowService, providedIn: 'root' }); }
2175
2199
  }
2176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbpWindowService, decorators: [{
2200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AbpWindowService, decorators: [{
2177
2201
  type: Injectable,
2178
2202
  args: [{ providedIn: 'root' }]
2179
2203
  }] });
@@ -2196,10 +2220,10 @@ class InternetConnectionService {
2196
2220
  get networkStatus$() {
2197
2221
  return this.status$.asObservable();
2198
2222
  }
2199
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: InternetConnectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2200
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: InternetConnectionService, providedIn: 'root' }); }
2223
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: InternetConnectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2224
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: InternetConnectionService, providedIn: 'root' }); }
2201
2225
  }
2202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: InternetConnectionService, decorators: [{
2226
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: InternetConnectionService, decorators: [{
2203
2227
  type: Injectable,
2204
2228
  args: [{
2205
2229
  providedIn: 'root',
@@ -2359,10 +2383,10 @@ class AbstractNavTreeService extends AbstractTreeService {
2359
2383
  ngOnDestroy() {
2360
2384
  this.subscription.unsubscribe();
2361
2385
  }
2362
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbstractNavTreeService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
2363
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbstractNavTreeService }); }
2386
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AbstractNavTreeService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
2387
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AbstractNavTreeService }); }
2364
2388
  }
2365
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbstractNavTreeService, decorators: [{
2389
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AbstractNavTreeService, decorators: [{
2366
2390
  type: Injectable
2367
2391
  }], ctorParameters: () => [{ type: i0.Injector }] });
2368
2392
  class RoutesService extends AbstractNavTreeService {
@@ -2375,35 +2399,32 @@ class RoutesService extends AbstractNavTreeService {
2375
2399
  get groupedVisible$() {
2376
2400
  return this.visible$.pipe(map$1(items => items.filter(item => this.hasPathOrChild(item))), map$1(visible => this.createGroupedTree(visible)));
2377
2401
  }
2378
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RoutesService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2379
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RoutesService, providedIn: 'root' }); }
2402
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RoutesService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2403
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RoutesService, providedIn: 'root' }); }
2380
2404
  }
2381
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RoutesService, decorators: [{
2405
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RoutesService, decorators: [{
2382
2406
  type: Injectable,
2383
2407
  args: [{ providedIn: 'root' }]
2384
2408
  }] });
2385
2409
 
2410
+ const DYNAMIC_LAYOUTS_TOKEN = new InjectionToken('DYNAMIC_LAYOUTS');
2411
+
2386
2412
  class DynamicLayoutComponent {
2387
- constructor(injector, localizationService, replaceableComponents, subscription, routerEvents, dynamicLayoutComponent) {
2388
- this.localizationService = localizationService;
2389
- this.replaceableComponents = replaceableComponents;
2390
- this.subscription = subscription;
2391
- this.routerEvents = routerEvents;
2392
- // TODO: Consider a shared enum (eThemeSharedComponents) for known layouts
2393
- this.layouts = new Map([
2394
- ['application', 'Theme.ApplicationLayoutComponent'],
2395
- ['account', 'Theme.AccountLayoutComponent'],
2396
- ['empty', 'Theme.EmptyLayoutComponent'],
2397
- ]);
2413
+ constructor(dynamicLayoutComponent) {
2414
+ this.layouts = inject(DYNAMIC_LAYOUTS_TOKEN);
2398
2415
  this.isLayoutVisible = true;
2416
+ this.router = inject(Router);
2417
+ this.route = inject(ActivatedRoute);
2418
+ this.routes = inject(RoutesService);
2419
+ this.localizationService = inject(LocalizationService);
2420
+ this.replaceableComponents = inject(ReplaceableComponentsService);
2421
+ this.subscription = inject(SubscriptionService);
2422
+ this.routerEvents = inject(RouterEvents);
2399
2423
  if (dynamicLayoutComponent) {
2400
2424
  if (isDevMode())
2401
2425
  console.warn('DynamicLayoutComponent must be used only in AppComponent.');
2402
2426
  return;
2403
2427
  }
2404
- this.route = injector.get(ActivatedRoute);
2405
- this.router = injector.get(Router);
2406
- this.routes = injector.get(RoutesService);
2407
2428
  this.checkLayoutOnNavigationEnd();
2408
2429
  this.listenToLanguageChange();
2409
2430
  }
@@ -2418,18 +2439,7 @@ class DynamicLayoutComponent {
2418
2439
  this.subscription.addOne(navigationEnd$, () => this.getLayout());
2419
2440
  }
2420
2441
  getLayout() {
2421
- let expectedLayout = (this.route.snapshot.data || {}).layout;
2422
- if (!expectedLayout) {
2423
- let node = findRoute(this.routes, getRoutePath(this.router));
2424
- node = { parent: node };
2425
- while (node.parent) {
2426
- node = node.parent;
2427
- if (node.layout) {
2428
- expectedLayout = node.layout;
2429
- break;
2430
- }
2431
- }
2432
- }
2442
+ let expectedLayout = this.getExtractedLayout();
2433
2443
  if (!expectedLayout)
2434
2444
  expectedLayout = "empty" /* eLayoutType.empty */;
2435
2445
  if (this.layoutKey === expectedLayout)
@@ -2443,6 +2453,23 @@ class DynamicLayoutComponent {
2443
2453
  this.showLayoutNotFoundError(expectedLayout);
2444
2454
  }
2445
2455
  }
2456
+ getExtractedLayout() {
2457
+ const routeData = (this.route.snapshot.data || {});
2458
+ let expectedLayout = routeData['layout'];
2459
+ if (expectedLayout) {
2460
+ return expectedLayout;
2461
+ }
2462
+ let node = findRoute(this.routes, getRoutePath(this.router));
2463
+ node = { parent: node };
2464
+ while (node.parent) {
2465
+ node = node.parent;
2466
+ if (node.layout) {
2467
+ expectedLayout = node.layout;
2468
+ break;
2469
+ }
2470
+ }
2471
+ return expectedLayout;
2472
+ }
2446
2473
  showLayoutNotFoundError(layoutName) {
2447
2474
  let message = `Layout ${layoutName} not found.`;
2448
2475
  if (layoutName === 'account') {
@@ -2459,17 +2486,19 @@ class DynamicLayoutComponent {
2459
2486
  getComponent(key) {
2460
2487
  return this.replaceableComponents.get(key);
2461
2488
  }
2462
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DynamicLayoutComponent, deps: [{ token: i0.Injector }, { token: LocalizationService }, { token: ReplaceableComponentsService }, { token: SubscriptionService }, { token: RouterEvents }, { token: DynamicLayoutComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
2463
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: DynamicLayoutComponent, selector: "abp-dynamic-layout", providers: [SubscriptionService], ngImport: i0, template: ` <ng-container *ngIf="isLayoutVisible" [ngComponentOutlet]="layout"></ng-container> `, isInline: true, dependencies: [{ kind: "directive", type: i5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
2489
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DynamicLayoutComponent, deps: [{ token: DynamicLayoutComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
2490
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: DynamicLayoutComponent, selector: "abp-dynamic-layout", providers: [SubscriptionService], ngImport: i0, template: `
2491
+ <ng-container *ngIf="isLayoutVisible" [ngComponentOutlet]="layout"></ng-container> `, isInline: true, dependencies: [{ kind: "directive", type: i1$2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
2464
2492
  }
2465
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DynamicLayoutComponent, decorators: [{
2493
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DynamicLayoutComponent, decorators: [{
2466
2494
  type: Component,
2467
2495
  args: [{
2468
2496
  selector: 'abp-dynamic-layout',
2469
- template: ` <ng-container *ngIf="isLayoutVisible" [ngComponentOutlet]="layout"></ng-container> `,
2497
+ template: `
2498
+ <ng-container *ngIf="isLayoutVisible" [ngComponentOutlet]="layout"></ng-container> `,
2470
2499
  providers: [SubscriptionService],
2471
2500
  }]
2472
- }], ctorParameters: () => [{ type: i0.Injector }, { type: LocalizationService }, { type: ReplaceableComponentsService }, { type: SubscriptionService }, { type: RouterEvents }, { type: DynamicLayoutComponent, decorators: [{
2501
+ }], ctorParameters: () => [{ type: DynamicLayoutComponent, decorators: [{
2473
2502
  type: Optional
2474
2503
  }, {
2475
2504
  type: SkipSelf
@@ -2491,12 +2520,12 @@ class ReplaceableRouteContainerComponent {
2491
2520
  this.externalComponent = res.component;
2492
2521
  });
2493
2522
  }
2494
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ReplaceableRouteContainerComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: ReplaceableComponentsService }, { token: SubscriptionService }], target: i0.ɵɵFactoryTarget.Component }); }
2495
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: ReplaceableRouteContainerComponent, selector: "abp-replaceable-route-container", providers: [SubscriptionService], ngImport: i0, template: `
2523
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ReplaceableRouteContainerComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: ReplaceableComponentsService }, { token: SubscriptionService }], target: i0.ɵɵFactoryTarget.Component }); }
2524
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ReplaceableRouteContainerComponent, selector: "abp-replaceable-route-container", providers: [SubscriptionService], ngImport: i0, template: `
2496
2525
  <ng-container *ngComponentOutlet="externalComponent || defaultComponent"></ng-container>
2497
- `, isInline: true, dependencies: [{ kind: "directive", type: i5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }] }); }
2526
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1$2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }] }); }
2498
2527
  }
2499
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ReplaceableRouteContainerComponent, decorators: [{
2528
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ReplaceableRouteContainerComponent, decorators: [{
2500
2529
  type: Component,
2501
2530
  args: [{
2502
2531
  selector: 'abp-replaceable-route-container',
@@ -2508,10 +2537,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
2508
2537
  }], ctorParameters: () => [{ type: i1$1.ActivatedRoute }, { type: ReplaceableComponentsService }, { type: SubscriptionService }] });
2509
2538
 
2510
2539
  class RouterOutletComponent {
2511
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2512
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: RouterOutletComponent, selector: "abp-router-outlet", ngImport: i0, template: ` <router-outlet></router-outlet> `, isInline: true, dependencies: [{ kind: "directive", type: i1$1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
2540
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RouterOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2541
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: RouterOutletComponent, selector: "abp-router-outlet", ngImport: i0, template: ` <router-outlet></router-outlet> `, isInline: true, dependencies: [{ kind: "directive", type: i1$1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
2513
2542
  }
2514
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterOutletComponent, decorators: [{
2543
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RouterOutletComponent, decorators: [{
2515
2544
  type: Component,
2516
2545
  args: [{
2517
2546
  selector: 'abp-router-outlet',
@@ -2856,6 +2885,12 @@ const differentLocales = {
2856
2885
  'zu-ZA': 'zu',
2857
2886
  };
2858
2887
 
2888
+ const DEFAULT_DYNAMIC_LAYOUTS = new Map([
2889
+ ["application" /* eLayoutType.application */, "Theme.ApplicationLayoutComponent" /* eThemeSharedComponents.ApplicationLayoutComponent */],
2890
+ ["account" /* eLayoutType.account */, "Theme.AccountLayoutComponent" /* eThemeSharedComponents.AccountLayoutComponent */],
2891
+ ["empty" /* eLayoutType.empty */, "Theme.EmptyLayoutComponent" /* eThemeSharedComponents.EmptyLayoutComponent */],
2892
+ ]);
2893
+
2859
2894
  class AutofocusDirective {
2860
2895
  set delay(val) {
2861
2896
  this._delay = Number(val) || 0;
@@ -2870,10 +2905,10 @@ class AutofocusDirective {
2870
2905
  ngAfterViewInit() {
2871
2906
  setTimeout(() => this.elRef.nativeElement.focus(), this.delay);
2872
2907
  }
2873
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AutofocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2874
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: AutofocusDirective, isStandalone: true, selector: "[autofocus]", inputs: { delay: ["autofocus", "delay"] }, ngImport: i0 }); }
2908
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AutofocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2909
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: AutofocusDirective, isStandalone: true, selector: "[autofocus]", inputs: { delay: ["autofocus", "delay"] }, ngImport: i0 }); }
2875
2910
  }
2876
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AutofocusDirective, decorators: [{
2911
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AutofocusDirective, decorators: [{
2877
2912
  type: Directive,
2878
2913
  args: [{
2879
2914
  standalone: true,
@@ -2897,10 +2932,10 @@ class InputEventDebounceDirective {
2897
2932
  this.debounceEvent.emit(event);
2898
2933
  });
2899
2934
  }
2900
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: InputEventDebounceDirective, deps: [{ token: i0.ElementRef }, { token: SubscriptionService }], target: i0.ɵɵFactoryTarget.Directive }); }
2901
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: InputEventDebounceDirective, isStandalone: true, selector: "[input.debounce]", inputs: { debounce: "debounce" }, outputs: { debounceEvent: "input.debounce" }, providers: [SubscriptionService], ngImport: i0 }); }
2935
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: InputEventDebounceDirective, deps: [{ token: i0.ElementRef }, { token: SubscriptionService }], target: i0.ɵɵFactoryTarget.Directive }); }
2936
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: InputEventDebounceDirective, isStandalone: true, selector: "[input.debounce]", inputs: { debounce: "debounce" }, outputs: { debounceEvent: "input.debounce" }, providers: [SubscriptionService], ngImport: i0 }); }
2902
2937
  }
2903
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: InputEventDebounceDirective, decorators: [{
2938
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: InputEventDebounceDirective, decorators: [{
2904
2939
  type: Directive,
2905
2940
  args: [{
2906
2941
  standalone: true,
@@ -3035,10 +3070,10 @@ class ForDirective {
3035
3070
  this.projectItems(items);
3036
3071
  }
3037
3072
  }
3038
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ForDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive }); }
3039
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: ForDirective, isStandalone: true, selector: "[abpFor]", inputs: { items: ["abpForOf", "items"], orderBy: ["abpForOrderBy", "orderBy"], orderDir: ["abpForOrderDir", "orderDir"], filterBy: ["abpForFilterBy", "filterBy"], filterVal: ["abpForFilterVal", "filterVal"], trackBy: ["abpForTrackBy", "trackBy"], compareBy: ["abpForCompareBy", "compareBy"], emptyRef: ["abpForEmptyRef", "emptyRef"] }, usesOnChanges: true, ngImport: i0 }); }
3073
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ForDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive }); }
3074
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: ForDirective, isStandalone: true, selector: "[abpFor]", inputs: { items: ["abpForOf", "items"], orderBy: ["abpForOrderBy", "orderBy"], orderDir: ["abpForOrderDir", "orderDir"], filterBy: ["abpForFilterBy", "filterBy"], filterVal: ["abpForFilterVal", "filterVal"], trackBy: ["abpForTrackBy", "trackBy"], compareBy: ["abpForCompareBy", "compareBy"], emptyRef: ["abpForEmptyRef", "emptyRef"] }, usesOnChanges: true, ngImport: i0 }); }
3040
3075
  }
3041
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ForDirective, decorators: [{
3076
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ForDirective, decorators: [{
3042
3077
  type: Directive,
3043
3078
  args: [{
3044
3079
  standalone: true,
@@ -3105,17 +3140,17 @@ class FormSubmitDirective {
3105
3140
  form.markAsDirty();
3106
3141
  this.cdRef.detectChanges();
3107
3142
  }
3108
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: FormSubmitDirective, deps: [{ token: i1$2.FormGroupDirective, self: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: SubscriptionService }], target: i0.ɵɵFactoryTarget.Directive }); }
3109
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: FormSubmitDirective, isStandalone: true, selector: "form[ngSubmit][formGroup]", inputs: { debounce: "debounce", notValidateOnSubmit: "notValidateOnSubmit", markAsDirtyWhenSubmit: "markAsDirtyWhenSubmit" }, outputs: { ngSubmit: "ngSubmit" }, providers: [SubscriptionService], ngImport: i0 }); }
3143
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: FormSubmitDirective, deps: [{ token: i1$3.FormGroupDirective, self: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: SubscriptionService }], target: i0.ɵɵFactoryTarget.Directive }); }
3144
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: FormSubmitDirective, isStandalone: true, selector: "form[ngSubmit][formGroup]", inputs: { debounce: "debounce", notValidateOnSubmit: "notValidateOnSubmit", markAsDirtyWhenSubmit: "markAsDirtyWhenSubmit" }, outputs: { ngSubmit: "ngSubmit" }, providers: [SubscriptionService], ngImport: i0 }); }
3110
3145
  }
3111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: FormSubmitDirective, decorators: [{
3146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: FormSubmitDirective, decorators: [{
3112
3147
  type: Directive,
3113
3148
  args: [{
3114
3149
  standalone: true,
3115
3150
  selector: 'form[ngSubmit][formGroup]',
3116
3151
  providers: [SubscriptionService],
3117
3152
  }]
3118
- }], ctorParameters: () => [{ type: i1$2.FormGroupDirective, decorators: [{
3153
+ }], ctorParameters: () => [{ type: i1$3.FormGroupDirective, decorators: [{
3119
3154
  type: Self
3120
3155
  }] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: SubscriptionService }], propDecorators: { debounce: [{
3121
3156
  type: Input
@@ -3147,10 +3182,10 @@ class InitDirective {
3147
3182
  ngAfterViewInit() {
3148
3183
  this.init.emit(this.elRef);
3149
3184
  }
3150
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: InitDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
3151
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: InitDirective, isStandalone: true, selector: "[abpInit]", outputs: { init: "abpInit" }, ngImport: i0 }); }
3185
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: InitDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
3186
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: InitDirective, isStandalone: true, selector: "[abpInit]", outputs: { init: "abpInit" }, ngImport: i0 }); }
3152
3187
  }
3153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: InitDirective, decorators: [{
3188
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: InitDirective, decorators: [{
3154
3189
  type: Directive,
3155
3190
  args: [{
3156
3191
  standalone: true,
@@ -3207,10 +3242,10 @@ class PermissionDirective {
3207
3242
  this.cdrSubject.pipe(take(1)).subscribe(() => this.queue.add(() => this.cdRef.detectChanges()));
3208
3243
  this.rendered = true;
3209
3244
  }
3210
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: PermissionDirective, deps: [{ token: i0.TemplateRef, optional: true }, { token: i0.ViewContainerRef }, { token: PermissionService }, { token: i0.ChangeDetectorRef }, { token: QUEUE_MANAGER }], target: i0.ɵɵFactoryTarget.Directive }); }
3211
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: PermissionDirective, isStandalone: true, selector: "[abpPermission]", inputs: { condition: ["abpPermission", "condition"], runChangeDetection: ["abpPermissionRunChangeDetection", "runChangeDetection"] }, usesOnChanges: true, ngImport: i0 }); }
3245
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PermissionDirective, deps: [{ token: i0.TemplateRef, optional: true }, { token: i0.ViewContainerRef }, { token: PermissionService }, { token: i0.ChangeDetectorRef }, { token: QUEUE_MANAGER }], target: i0.ɵɵFactoryTarget.Directive }); }
3246
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: PermissionDirective, isStandalone: true, selector: "[abpPermission]", inputs: { condition: ["abpPermission", "condition"], runChangeDetection: ["abpPermissionRunChangeDetection", "runChangeDetection"] }, usesOnChanges: true, ngImport: i0 }); }
3212
3247
  }
3213
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: PermissionDirective, decorators: [{
3248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PermissionDirective, decorators: [{
3214
3249
  type: Directive,
3215
3250
  args: [{
3216
3251
  standalone: true,
@@ -3339,10 +3374,10 @@ class ReplaceableTemplateDirective {
3339
3374
  this.defaultComponentSubscriptions = {};
3340
3375
  this.defaultComponentRef = null;
3341
3376
  }
3342
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ReplaceableTemplateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: ReplaceableComponentsService }, { token: SubscriptionService }], target: i0.ɵɵFactoryTarget.Directive }); }
3343
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: ReplaceableTemplateDirective, isStandalone: true, selector: "[abpReplaceableTemplate]", inputs: { data: ["abpReplaceableTemplate", "data"] }, providers: [SubscriptionService], usesOnChanges: true, ngImport: i0 }); }
3377
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ReplaceableTemplateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: ReplaceableComponentsService }, { token: SubscriptionService }], target: i0.ɵɵFactoryTarget.Directive }); }
3378
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: ReplaceableTemplateDirective, isStandalone: true, selector: "[abpReplaceableTemplate]", inputs: { data: ["abpReplaceableTemplate", "data"] }, providers: [SubscriptionService], usesOnChanges: true, ngImport: i0 }); }
3344
3379
  }
3345
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ReplaceableTemplateDirective, decorators: [{
3380
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ReplaceableTemplateDirective, decorators: [{
3346
3381
  type: Directive,
3347
3382
  args: [{
3348
3383
  standalone: true,
@@ -3366,10 +3401,10 @@ class StopPropagationDirective {
3366
3401
  this.stopPropEvent.emit(event);
3367
3402
  });
3368
3403
  }
3369
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: StopPropagationDirective, deps: [{ token: i0.ElementRef }, { token: SubscriptionService }], target: i0.ɵɵFactoryTarget.Directive }); }
3370
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: StopPropagationDirective, isStandalone: true, selector: "[click.stop]", outputs: { stopPropEvent: "click.stop" }, providers: [SubscriptionService], ngImport: i0 }); }
3404
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: StopPropagationDirective, deps: [{ token: i0.ElementRef }, { token: SubscriptionService }], target: i0.ɵɵFactoryTarget.Directive }); }
3405
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: StopPropagationDirective, isStandalone: true, selector: "[click.stop]", outputs: { stopPropEvent: "click.stop" }, providers: [SubscriptionService], ngImport: i0 }); }
3371
3406
  }
3372
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: StopPropagationDirective, decorators: [{
3407
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: StopPropagationDirective, decorators: [{
3373
3408
  type: Directive,
3374
3409
  args: [{
3375
3410
  standalone: true,
@@ -3401,10 +3436,10 @@ class RoutesHandler {
3401
3436
  }
3402
3437
  });
3403
3438
  }
3404
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RoutesHandler, deps: [{ token: RoutesService }, { token: i1$1.Router, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
3405
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RoutesHandler, providedIn: 'root' }); }
3439
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RoutesHandler, deps: [{ token: RoutesService }, { token: i1$1.Router, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
3440
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RoutesHandler, providedIn: 'root' }); }
3406
3441
  }
3407
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RoutesHandler, decorators: [{
3442
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RoutesHandler, decorators: [{
3408
3443
  type: Injectable,
3409
3444
  args: [{
3410
3445
  providedIn: 'root',
@@ -3442,11 +3477,11 @@ class LocalizationPipe {
3442
3477
  }, []) || [];
3443
3478
  return this.localization.instant(value, ...params);
3444
3479
  }
3445
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LocalizationPipe, deps: [{ token: LocalizationService }], target: i0.ɵɵFactoryTarget.Pipe }); }
3446
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: LocalizationPipe, name: "abpLocalization" }); }
3447
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LocalizationPipe }); }
3480
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LocalizationPipe, deps: [{ token: LocalizationService }], target: i0.ɵɵFactoryTarget.Pipe }); }
3481
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: LocalizationPipe, name: "abpLocalization" }); }
3482
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LocalizationPipe }); }
3448
3483
  }
3449
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LocalizationPipe, decorators: [{
3484
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LocalizationPipe, decorators: [{
3450
3485
  type: Injectable
3451
3486
  }, {
3452
3487
  type: Pipe,
@@ -3456,11 +3491,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
3456
3491
  }], ctorParameters: () => [{ type: LocalizationService }] });
3457
3492
 
3458
3493
  class LocalizationModule {
3459
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LocalizationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3460
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: LocalizationModule, declarations: [LocalizationPipe], exports: [LocalizationPipe] }); }
3461
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LocalizationModule }); }
3494
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LocalizationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3495
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: LocalizationModule, declarations: [LocalizationPipe], exports: [LocalizationPipe] }); }
3496
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LocalizationModule }); }
3462
3497
  }
3463
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LocalizationModule, decorators: [{
3498
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LocalizationModule, decorators: [{
3464
3499
  type: NgModule,
3465
3500
  args: [{
3466
3501
  exports: [LocalizationPipe],
@@ -3502,11 +3537,11 @@ class SortPipe {
3502
3537
  ];
3503
3538
  return sortOrder === 'asc' ? sorted : sorted.reverse();
3504
3539
  }
3505
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: SortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
3506
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: SortPipe, name: "abpSort" }); }
3507
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: SortPipe }); }
3540
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
3541
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: SortPipe, name: "abpSort" }); }
3542
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SortPipe }); }
3508
3543
  }
3509
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: SortPipe, decorators: [{
3544
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SortPipe, decorators: [{
3510
3545
  type: Injectable
3511
3546
  }, {
3512
3547
  type: Pipe,
@@ -3532,10 +3567,10 @@ class ToInjectorPipe {
3532
3567
  name,
3533
3568
  });
3534
3569
  }
3535
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ToInjectorPipe, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Pipe }); }
3536
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: ToInjectorPipe, name: "toInjector" }); }
3570
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ToInjectorPipe, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Pipe }); }
3571
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: ToInjectorPipe, name: "toInjector" }); }
3537
3572
  }
3538
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ToInjectorPipe, decorators: [{
3573
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ToInjectorPipe, decorators: [{
3539
3574
  type: Pipe,
3540
3575
  args: [{
3541
3576
  name: 'toInjector',
@@ -3596,10 +3631,10 @@ class ShortDateTimePipe extends DatePipe {
3596
3631
  const format = getShortDateShortTimeFormat(this.configStateService);
3597
3632
  return super.transform(value, format, timezone, locale);
3598
3633
  }
3599
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ShortDateTimePipe, deps: [{ token: ConfigStateService }, { token: LOCALE_ID }, { token: DATE_PIPE_DEFAULT_TIMEZONE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
3600
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: ShortDateTimePipe, name: "shortDateTime" }); }
3634
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ShortDateTimePipe, deps: [{ token: ConfigStateService }, { token: LOCALE_ID }, { token: DATE_PIPE_DEFAULT_TIMEZONE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
3635
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: ShortDateTimePipe, name: "shortDateTime" }); }
3601
3636
  }
3602
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ShortDateTimePipe, decorators: [{
3637
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ShortDateTimePipe, decorators: [{
3603
3638
  type: Pipe,
3604
3639
  args: [{
3605
3640
  name: 'shortDateTime',
@@ -3624,10 +3659,10 @@ class ShortTimePipe extends DatePipe {
3624
3659
  const format = getShortTimeFormat(this.configStateService);
3625
3660
  return super.transform(value, format, timezone, locale);
3626
3661
  }
3627
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ShortTimePipe, deps: [{ token: ConfigStateService }, { token: LOCALE_ID }, { token: DATE_PIPE_DEFAULT_TIMEZONE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
3628
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: ShortTimePipe, name: "shortTime" }); }
3662
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ShortTimePipe, deps: [{ token: ConfigStateService }, { token: LOCALE_ID }, { token: DATE_PIPE_DEFAULT_TIMEZONE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
3663
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: ShortTimePipe, name: "shortTime" }); }
3629
3664
  }
3630
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ShortTimePipe, decorators: [{
3665
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ShortTimePipe, decorators: [{
3631
3666
  type: Pipe,
3632
3667
  args: [{
3633
3668
  name: 'shortTime',
@@ -3652,10 +3687,10 @@ class ShortDatePipe extends DatePipe {
3652
3687
  const format = getShortDateFormat(this.configStateService);
3653
3688
  return super.transform(value, format, timezone, locale);
3654
3689
  }
3655
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ShortDatePipe, deps: [{ token: ConfigStateService }, { token: LOCALE_ID }, { token: DATE_PIPE_DEFAULT_TIMEZONE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
3656
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: ShortDatePipe, name: "shortDate" }); }
3690
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ShortDatePipe, deps: [{ token: ConfigStateService }, { token: LOCALE_ID }, { token: DATE_PIPE_DEFAULT_TIMEZONE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
3691
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: ShortDatePipe, name: "shortDate" }); }
3657
3692
  }
3658
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ShortDatePipe, decorators: [{
3693
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ShortDatePipe, decorators: [{
3659
3694
  type: Pipe,
3660
3695
  args: [{
3661
3696
  name: 'shortDate',
@@ -3680,11 +3715,11 @@ class SafeHtmlPipe {
3680
3715
  return '';
3681
3716
  return this.sanitizer.sanitize(SecurityContext.HTML, value);
3682
3717
  }
3683
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: SafeHtmlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
3684
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: SafeHtmlPipe, name: "abpSafeHtml" }); }
3685
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: SafeHtmlPipe }); }
3718
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SafeHtmlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
3719
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: SafeHtmlPipe, name: "abpSafeHtml" }); }
3720
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SafeHtmlPipe }); }
3686
3721
  }
3687
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: SafeHtmlPipe, decorators: [{
3722
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SafeHtmlPipe, decorators: [{
3688
3723
  type: Injectable
3689
3724
  }, {
3690
3725
  type: Pipe,
@@ -3713,8 +3748,8 @@ const standaloneDirectives = [
3713
3748
  * This module will be imported and exported by all others.
3714
3749
  */
3715
3750
  class BaseCoreModule {
3716
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: BaseCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3717
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: BaseCoreModule, declarations: [AbstractNgModelComponent,
3751
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: BaseCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3752
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: BaseCoreModule, declarations: [AbstractNgModelComponent,
3718
3753
  DynamicLayoutComponent,
3719
3754
  ReplaceableRouteContainerComponent,
3720
3755
  RouterOutletComponent,
@@ -3758,7 +3793,7 @@ class BaseCoreModule {
3758
3793
  PermissionDirective,
3759
3794
  ReplaceableTemplateDirective,
3760
3795
  StopPropagationDirective] }); }
3761
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: BaseCoreModule, providers: [LocalizationPipe], imports: [CommonModule,
3796
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: BaseCoreModule, providers: [LocalizationPipe], imports: [CommonModule,
3762
3797
  HttpClientModule,
3763
3798
  FormsModule,
3764
3799
  ReactiveFormsModule,
@@ -3770,7 +3805,7 @@ class BaseCoreModule {
3770
3805
  RouterModule,
3771
3806
  LocalizationModule] }); }
3772
3807
  }
3773
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: BaseCoreModule, decorators: [{
3808
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: BaseCoreModule, decorators: [{
3774
3809
  type: NgModule,
3775
3810
  args: [{
3776
3811
  exports: [
@@ -3821,16 +3856,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
3821
3856
  * and it introduces imports useful at root level (e.g. NGXS)
3822
3857
  */
3823
3858
  class RootCoreModule {
3824
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RootCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3825
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: RootCoreModule, imports: [BaseCoreModule, LocalizationModule, i1.HttpClientXsrfModule], exports: [BaseCoreModule, LocalizationModule] }); }
3826
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RootCoreModule, imports: [BaseCoreModule,
3859
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RootCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3860
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: RootCoreModule, imports: [BaseCoreModule, LocalizationModule, i1.HttpClientXsrfModule], exports: [BaseCoreModule, LocalizationModule] }); }
3861
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RootCoreModule, imports: [BaseCoreModule,
3827
3862
  LocalizationModule,
3828
3863
  HttpClientXsrfModule.withOptions({
3829
3864
  cookieName: 'XSRF-TOKEN',
3830
3865
  headerName: 'RequestVerificationToken',
3831
3866
  }), BaseCoreModule, LocalizationModule] }); }
3832
3867
  }
3833
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RootCoreModule, decorators: [{
3868
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RootCoreModule, decorators: [{
3834
3869
  type: NgModule,
3835
3870
  args: [{
3836
3871
  exports: [BaseCoreModule, LocalizationModule],
@@ -3906,7 +3941,12 @@ class CoreModule {
3906
3941
  provide: OTHERS_GROUP,
3907
3942
  useValue: options.othersGroup || 'AbpUi::OthersGroup',
3908
3943
  },
3944
+ AuthErrorFilterService,
3909
3945
  IncludeLocalizationResourcesProvider,
3946
+ {
3947
+ provide: DYNAMIC_LAYOUTS_TOKEN,
3948
+ useValue: options.dynamicLayouts || DEFAULT_DYNAMIC_LAYOUTS
3949
+ }
3910
3950
  ],
3911
3951
  };
3912
3952
  }
@@ -3923,11 +3963,11 @@ class CoreModule {
3923
3963
  ],
3924
3964
  };
3925
3965
  }
3926
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3927
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: CoreModule, imports: [BaseCoreModule], exports: [BaseCoreModule] }); }
3928
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: CoreModule, imports: [BaseCoreModule, BaseCoreModule] }); }
3966
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3967
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: CoreModule, imports: [BaseCoreModule], exports: [BaseCoreModule] }); }
3968
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CoreModule, imports: [BaseCoreModule, BaseCoreModule] }); }
3929
3969
  }
3930
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: CoreModule, decorators: [{
3970
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CoreModule, decorators: [{
3931
3971
  type: NgModule,
3932
3972
  args: [{
3933
3973
  exports: [BaseCoreModule],
@@ -3945,10 +3985,10 @@ class ShowPasswordDirective {
3945
3985
  return;
3946
3986
  element.type = visible ? 'text' : 'password';
3947
3987
  }
3948
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ShowPasswordDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3949
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: ShowPasswordDirective, isStandalone: true, selector: "[abpShowPassword]", inputs: { abpShowPassword: "abpShowPassword" }, ngImport: i0 }); }
3988
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ShowPasswordDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3989
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: ShowPasswordDirective, isStandalone: true, selector: "[abpShowPassword]", inputs: { abpShowPassword: "abpShowPassword" }, ngImport: i0 }); }
3950
3990
  }
3951
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ShowPasswordDirective, decorators: [{
3991
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ShowPasswordDirective, decorators: [{
3952
3992
  type: Directive,
3953
3993
  args: [{
3954
3994
  standalone: true,
@@ -3977,10 +4017,10 @@ class TrackCapsLockDirective {
3977
4017
  }
3978
4018
  return false;
3979
4019
  }
3980
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: TrackCapsLockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3981
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: TrackCapsLockDirective, isStandalone: true, selector: "[abpCapsLock]", outputs: { capsLock: "abpCapsLock" }, host: { listeners: { "window:keydown": "onKeyDown($event)", "window:keyup": "onKeyUp($event)" } }, ngImport: i0 }); }
4020
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TrackCapsLockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4021
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: TrackCapsLockDirective, isStandalone: true, selector: "[abpCapsLock]", outputs: { capsLock: "abpCapsLock" }, host: { listeners: { "window:keydown": "onKeyDown($event)", "window:keyup": "onKeyUp($event)" } }, ngImport: i0 }); }
3982
4022
  }
3983
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: TrackCapsLockDirective, decorators: [{
4023
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TrackCapsLockDirective, decorators: [{
3984
4024
  type: Directive,
3985
4025
  args: [{
3986
4026
  standalone: true,
@@ -4022,10 +4062,10 @@ class PermissionGuard {
4022
4062
  }
4023
4063
  }));
4024
4064
  }
4025
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: PermissionGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4026
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: PermissionGuard, providedIn: 'root' }); }
4065
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PermissionGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4066
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PermissionGuard, providedIn: 'root' }); }
4027
4067
  }
4028
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: PermissionGuard, decorators: [{
4068
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PermissionGuard, decorators: [{
4029
4069
  type: Injectable,
4030
4070
  args: [{
4031
4071
  providedIn: 'root',
@@ -4187,6 +4227,35 @@ class ExtensibleFullAuditedEntityWithUserDto extends ExtensibleFullAuditedEntity
4187
4227
  }
4188
4228
  }
4189
4229
 
4230
+ class AuthEvent {
4231
+ constructor(type) {
4232
+ this.type = type;
4233
+ this.type = type;
4234
+ }
4235
+ }
4236
+ class AuthSuccessEvent extends AuthEvent {
4237
+ constructor(type, info) {
4238
+ super(type);
4239
+ this.type = type;
4240
+ this.info = info;
4241
+ }
4242
+ }
4243
+ class AuthInfoEvent extends AuthEvent {
4244
+ constructor(type, info) {
4245
+ super(type);
4246
+ this.type = type;
4247
+ this.info = info;
4248
+ }
4249
+ }
4250
+ class AuthErrorEvent extends AuthEvent {
4251
+ constructor(type, reason, params) {
4252
+ super(type);
4253
+ this.type = type;
4254
+ this.reason = reason;
4255
+ this.params = params;
4256
+ }
4257
+ }
4258
+
4190
4259
  class AbpApiDefinitionService {
4191
4260
  constructor(restService) {
4192
4261
  this.restService = restService;
@@ -4197,10 +4266,10 @@ class AbpApiDefinitionService {
4197
4266
  params: { includeTypes: model.includeTypes },
4198
4267
  }, { apiName: this.apiName });
4199
4268
  }
4200
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbpApiDefinitionService, deps: [{ token: RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
4201
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbpApiDefinitionService, providedIn: 'root' }); }
4269
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AbpApiDefinitionService, deps: [{ token: RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
4270
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AbpApiDefinitionService, providedIn: 'root' }); }
4202
4271
  }
4203
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbpApiDefinitionService, decorators: [{
4272
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AbpApiDefinitionService, decorators: [{
4204
4273
  type: Injectable,
4205
4274
  args: [{
4206
4275
  providedIn: 'root',
@@ -4639,10 +4708,10 @@ class ApiInterceptor {
4639
4708
  this.httpWaitService.addRequest(request);
4640
4709
  return next.handle(request).pipe(finalize(() => this.httpWaitService.deleteRequest(request)));
4641
4710
  }
4642
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ApiInterceptor, deps: [{ token: HttpWaitService }], target: i0.ɵɵFactoryTarget.Injectable }); }
4643
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ApiInterceptor, providedIn: 'root' }); }
4711
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ApiInterceptor, deps: [{ token: HttpWaitService }], target: i0.ɵɵFactoryTarget.Injectable }); }
4712
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ApiInterceptor, providedIn: 'root' }); }
4644
4713
  }
4645
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ApiInterceptor, decorators: [{
4714
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ApiInterceptor, decorators: [{
4646
4715
  type: Injectable,
4647
4716
  args: [{
4648
4717
  providedIn: 'root',
@@ -4655,5 +4724,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
4655
4724
  * Generated bundle index. Do not edit.
4656
4725
  */
4657
4726
 
4658
- export { APP_INIT_ERROR_HANDLERS, AbpApiDefinitionService, AbpApplicationConfigurationService, AbpApplicationLocalizationService, AbpLocalStorageService, AbpTenantService, AbpValidators, AbpWindowService, AbstractNavTreeService, AbstractNgModelComponent, AbstractTreeService, ApiInterceptor, AuditedEntityDto, AuditedEntityWithUserDto, AuthGuard, AuthService, AutofocusDirective, BaseCoreModule, BaseTreeNode, CHECK_AUTHENTICATION_STATE_FN_KEY, CONTAINER_STRATEGY, CONTENT_SECURITY_STRATEGY, CONTENT_STRATEGY, CONTEXT_STRATEGY, COOKIE_LANGUAGE_KEY, CORE_OPTIONS, CROSS_ORIGIN_STRATEGY, ClearContainerStrategy, ComponentContextStrategy, ComponentProjectionStrategy, ConfigStateService, ContainerStrategy, ContentProjectionService, ContentSecurityStrategy, ContentStrategy, ContextStrategy, CoreModule, CreationAuditedEntityDto, CreationAuditedEntityWithUserDto, CrossOriginStrategy, DOM_STRATEGY, DefaultQueueManager, DomInsertionService, DomStrategy, DynamicLayoutComponent, EntityDto, EnvironmentService, ExtensibleAuditedEntityDto, ExtensibleAuditedEntityWithUserDto, ExtensibleCreationAuditedEntityDto, ExtensibleCreationAuditedEntityWithUserDto, ExtensibleEntityDto, ExtensibleFullAuditedEntityDto, ExtensibleFullAuditedEntityWithUserDto, ExtensibleLimitedResultRequestDto, ExtensibleObject, ExtensiblePagedAndSortedResultRequestDto, ExtensiblePagedResultRequestDto, ExternalHttpClient, ForDirective, FormSubmitDirective, FullAuditedEntityDto, FullAuditedEntityWithUserDto, HttpErrorReporterService, HttpWaitService, INCUDE_LOCALIZATION_RESOURCES_TOKEN, INJECTOR_PIPE_DATA_TOKEN, IS_EXTERNAL_REQUEST, InitDirective, InputEventDebounceDirective, InsertIntoContainerStrategy, InternalStore, InternetConnectionService, LIST_QUERY_DEBOUNCE_TIME, LOADER_DELAY, LOADING_STRATEGY, LOCALIZATIONS, LazyLoadService, LazyModuleFactory, LimitedResultRequestDto, ListResultDto, ListService, LoadingStrategy, LocalizationModule, LocalizationPipe, LocalizationService, LooseContentSecurityStrategy, MultiTenancyService, NAVIGATE_TO_MANAGE_PROFILE, NavigationEvent, NoContentSecurityStrategy, NoContextStrategy, NoCrossOriginStrategy, OTHERS_GROUP, index as ObjectExtending, PIPE_TO_LOGIN_FN_KEY, PROJECTION_STRATEGY, PagedAndSortedResultRequestDto, PagedResultDto, PagedResultRequestDto, PermissionDirective, PermissionGuard, PermissionService, ProjectionStrategy, QUEUE_MANAGER, ReplaceableComponentsService, ReplaceableRouteContainerComponent, ReplaceableTemplateDirective, ResourceWaitService, RestService, RootComponentProjectionStrategy, RootCoreModule, RouterEvents, RouterOutletComponent, RouterWaitService, RoutesService, SET_TOKEN_RESPONSE_TO_STORAGE_FN_KEY, SafeHtmlPipe, ScriptContentStrategy, ScriptLoadingStrategy, SessionStateService, ShortDatePipe, ShortDateTimePipe, ShortTimePipe, ShowPasswordDirective, SortPipe, StopPropagationDirective, StyleContentStrategy, StyleLoadingStrategy, SubscriptionService, TENANT_KEY, TENANT_NOT_FOUND_BY_NAME, TemplateContextStrategy, TemplateProjectionStrategy, ToInjectorPipe, TrackByService, TrackCapsLockDirective, WebHttpUrlEncodingCodec, authGuard, checkHasProp, coreOptionsFactory, createGroupMap, createLocalizationPipeKeyGenerator, createLocalizer, createLocalizerWithFallback, createMapFromList, createTokenParser, createTreeFromList, createTreeNodeFilterCreator, deepMerge, differentLocales, downloadBlob, escapeHtmlChars, exists, featuresFactory, findRoute, fromLazyLoad, generateHash, generatePassword, getInitialData, getLocaleDirection, getPathName, getRemoteEnv, getRoutePath, getShortDateFormat, getShortDateShortTimeFormat, getShortTimeFormat, interpolate, isArray, isNode, isNullOrEmpty, isNullOrUndefined, isNumber, isObject, isObjectAndNotArray, isObjectAndNotArrayNotNode, isUndefinedOrEmptyString, localeInitializer, localizationContributor, localizations$, mapEnumToOptions, noop, parseTenantFromUrl, permissionGuard, pushValueTo, reloadRoute, trackBy, trackByDeep, uuid, validateCreditCard, validateMinAge, validateRange, validateRequired, validateStringLength, validateUniqueCharacter, validateUrl };
4727
+ export { APP_INIT_ERROR_HANDLERS, AbpApiDefinitionService, AbpApplicationConfigurationService, AbpApplicationLocalizationService, AbpLocalStorageService, AbpTenantService, AbpValidators, AbpWindowService, AbstractAuthErrorFilter, AbstractNavTreeService, AbstractNgModelComponent, AbstractTreeService, ApiInterceptor, AuditedEntityDto, AuditedEntityWithUserDto, AuthErrorEvent, AuthErrorFilterService, AuthEvent, AuthGuard, AuthInfoEvent, AuthService, AuthSuccessEvent, AutofocusDirective, BaseCoreModule, BaseTreeNode, CHECK_AUTHENTICATION_STATE_FN_KEY, CONTAINER_STRATEGY, CONTENT_SECURITY_STRATEGY, CONTENT_STRATEGY, CONTEXT_STRATEGY, COOKIE_LANGUAGE_KEY, CORE_OPTIONS, CROSS_ORIGIN_STRATEGY, ClearContainerStrategy, ComponentContextStrategy, ComponentProjectionStrategy, ConfigStateService, ContainerStrategy, ContentProjectionService, ContentSecurityStrategy, ContentStrategy, ContextStrategy, CoreModule, CreationAuditedEntityDto, CreationAuditedEntityWithUserDto, CrossOriginStrategy, DEFAULT_DYNAMIC_LAYOUTS, DOM_STRATEGY, DefaultQueueManager, DomInsertionService, DomStrategy, DynamicLayoutComponent, EntityDto, EnvironmentService, ExtensibleAuditedEntityDto, ExtensibleAuditedEntityWithUserDto, ExtensibleCreationAuditedEntityDto, ExtensibleCreationAuditedEntityWithUserDto, ExtensibleEntityDto, ExtensibleFullAuditedEntityDto, ExtensibleFullAuditedEntityWithUserDto, ExtensibleLimitedResultRequestDto, ExtensibleObject, ExtensiblePagedAndSortedResultRequestDto, ExtensiblePagedResultRequestDto, ExternalHttpClient, ForDirective, FormSubmitDirective, FullAuditedEntityDto, FullAuditedEntityWithUserDto, HttpErrorReporterService, HttpWaitService, INCUDE_LOCALIZATION_RESOURCES_TOKEN, INJECTOR_PIPE_DATA_TOKEN, IS_EXTERNAL_REQUEST, InitDirective, InputEventDebounceDirective, InsertIntoContainerStrategy, InternalStore, InternetConnectionService, LIST_QUERY_DEBOUNCE_TIME, LOADER_DELAY, LOADING_STRATEGY, LOCALIZATIONS, LazyLoadService, LazyModuleFactory, LimitedResultRequestDto, ListResultDto, ListService, LoadingStrategy, LocalizationModule, LocalizationPipe, LocalizationService, LooseContentSecurityStrategy, MultiTenancyService, NAVIGATE_TO_MANAGE_PROFILE, NavigationEvent, NoContentSecurityStrategy, NoContextStrategy, NoCrossOriginStrategy, OTHERS_GROUP, index as ObjectExtending, PIPE_TO_LOGIN_FN_KEY, PROJECTION_STRATEGY, PagedAndSortedResultRequestDto, PagedResultDto, PagedResultRequestDto, PermissionDirective, PermissionGuard, PermissionService, ProjectionStrategy, QUEUE_MANAGER, ReplaceableComponentsService, ReplaceableRouteContainerComponent, ReplaceableTemplateDirective, ResourceWaitService, RestService, RootComponentProjectionStrategy, RootCoreModule, RouterEvents, RouterOutletComponent, RouterWaitService, RoutesService, SET_TOKEN_RESPONSE_TO_STORAGE_FN_KEY, SORT_COMPARE_FUNC, SafeHtmlPipe, ScriptContentStrategy, ScriptLoadingStrategy, SessionStateService, ShortDatePipe, ShortDateTimePipe, ShortTimePipe, ShowPasswordDirective, SortPipe, StopPropagationDirective, StyleContentStrategy, StyleLoadingStrategy, SubscriptionService, TENANT_KEY, TENANT_NOT_FOUND_BY_NAME, TemplateContextStrategy, TemplateProjectionStrategy, ToInjectorPipe, TrackByService, TrackCapsLockDirective, WebHttpUrlEncodingCodec, authGuard, checkHasProp, compareFuncFactory, coreOptionsFactory, createGroupMap, createLocalizationPipeKeyGenerator, createLocalizer, createLocalizerWithFallback, createMapFromList, createTokenParser, createTreeFromList, createTreeNodeFilterCreator, deepMerge, differentLocales, downloadBlob, escapeHtmlChars, exists, featuresFactory, findRoute, fromLazyLoad, generateHash, generatePassword, getInitialData, getLocaleDirection, getPathName, getRemoteEnv, getRoutePath, getShortDateFormat, getShortDateShortTimeFormat, getShortTimeFormat, interpolate, isArray, isNode, isNullOrEmpty, isNullOrUndefined, isNumber, isObject, isObjectAndNotArray, isObjectAndNotArrayNotNode, isUndefinedOrEmptyString, localeInitializer, localizationContributor, localizations$, mapEnumToOptions, noop, parseTenantFromUrl, permissionGuard, pushValueTo, reloadRoute, trackBy, trackByDeep, uuid, validateCreditCard, validateMinAge, validateRange, validateRequired, validateStringLength, validateUniqueCharacter, validateUrl };
4659
4728
  //# sourceMappingURL=abp-ng.core.mjs.map