@abp/ng.core 9.2.1 → 9.3.0-rc.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.
@@ -1,15 +1,17 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ChangeDetectorRef, Input, Component, Injectable, InjectionToken, NgModuleFactory, Injector, Compiler, Inject, signal, computed, effect, LOCALE_ID, Optional, isDevMode, SkipSelf, Directive, EventEmitter, Output, Self, Pipe, SecurityContext, NgModule, provideAppInitializer, makeEnvironmentProviders, ElementRef, HostListener, ComponentFactoryResolver, ApplicationRef } from '@angular/core';
2
+ import { inject, ChangeDetectorRef, Input, Component, Injectable, InjectionToken, NgModuleFactory, Injector, Compiler, Inject, signal, computed, effect, LOCALE_ID, Optional, isDevMode, SkipSelf, Directive, EventEmitter, Output, Self, ElementRef, HostListener, provideAppInitializer, makeEnvironmentProviders, Pipe, SecurityContext, NgModule, ComponentFactoryResolver, ApplicationRef } from '@angular/core';
3
3
  import { of, BehaviorSubject, Subject, throwError, firstValueFrom, lastValueFrom, Observable, timer, pipe, concat, ReplaySubject, EMPTY, map as map$1, Subscription, combineLatest, from, fromEvent, filter as filter$1, take as take$1, switchMap as switchMap$1, startWith, distinctUntilChanged as distinctUntilChanged$1 } from 'rxjs';
4
4
  import * as i1$1 from '@angular/router';
5
5
  import { PRIMARY_OUTLET, NavigationStart, NavigationError, NavigationEnd, NavigationCancel, Router, TitleStrategy, ActivatedRoute, RouterModule } from '@angular/router';
6
6
  import * as i1$2 from '@angular/common';
7
- import { DOCUMENT, registerLocaleData, DatePipe, DATE_PIPE_DEFAULT_TIMEZONE, CommonModule } from '@angular/common';
7
+ import { DOCUMENT, registerLocaleData, CommonModule, DatePipe, DATE_PIPE_DEFAULT_TIMEZONE } from '@angular/common';
8
8
  import { map, distinctUntilChanged, filter, catchError, tap, take, switchMap, mapTo, takeUntil, delay, retryWhen, shareReplay, debounceTime, finalize } from 'rxjs/operators';
9
9
  import * as i1 from '@angular/common/http';
10
10
  import { HttpClient, HttpContextToken, HttpContext, HttpParams, HttpErrorResponse, HttpHeaders, provideHttpClient, HTTP_INTERCEPTORS, withInterceptorsFromDi, withXsrfConfiguration } from '@angular/common/http';
11
11
  import compare from 'just-compare';
12
12
  import clone from 'just-clone';
13
+ import { NgxValidateCoreModule } from '@ngx-validate/core';
14
+ export { NgxValidateCoreModule } from '@ngx-validate/core';
13
15
  import { toSignal } from '@angular/core/rxjs-interop';
14
16
  import { Title, DomSanitizer } from '@angular/platform-browser';
15
17
  import { DateTime } from 'luxon';
@@ -55,12 +57,11 @@ class AbstractNgModelComponent {
55
57
  this.disabled = isDisabled;
56
58
  }
57
59
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AbstractNgModelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
58
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.8", type: AbstractNgModelComponent, isStandalone: false, selector: "ng-component", inputs: { disabled: "disabled", readonly: "readonly", valueFn: "valueFn", valueLimitFn: "valueLimitFn", value: "value" }, ngImport: i0, template: '', isInline: true }); }
60
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.8", type: AbstractNgModelComponent, isStandalone: true, selector: "ng-component", inputs: { disabled: "disabled", readonly: "readonly", valueFn: "valueFn", valueLimitFn: "valueLimitFn", value: "value" }, ngImport: i0, template: '', isInline: true }); }
59
61
  }
60
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AbstractNgModelComponent, decorators: [{
61
63
  type: Component,
62
64
  args: [{
63
- standalone: false,
64
65
  template: '',
65
66
  }]
66
67
  }], propDecorators: { disabled: [{
@@ -2828,16 +2829,15 @@ class DynamicLayoutComponent {
2828
2829
  return this.replaceableComponents.get(key);
2829
2830
  }
2830
2831
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: DynamicLayoutComponent, deps: [{ token: DynamicLayoutComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
2831
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: DynamicLayoutComponent, isStandalone: false, selector: "abp-dynamic-layout", providers: [SubscriptionService], ngImport: i0, template: `
2832
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: DynamicLayoutComponent, isStandalone: true, selector: "abp-dynamic-layout", providers: [SubscriptionService], ngImport: i0, template: `
2832
2833
  @if (isLayoutVisible) {
2833
2834
  <ng-container [ngComponentOutlet]="layout"></ng-container>
2834
2835
  }
2835
- `, isInline: true, dependencies: [{ kind: "directive", type: i1$2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }] }); }
2836
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }] }); }
2836
2837
  }
2837
2838
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: DynamicLayoutComponent, decorators: [{
2838
2839
  type: Component,
2839
2840
  args: [{
2840
- standalone: false,
2841
2841
  selector: 'abp-dynamic-layout',
2842
2842
  template: `
2843
2843
  @if (isLayoutVisible) {
@@ -2845,6 +2845,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImpor
2845
2845
  }
2846
2846
  `,
2847
2847
  providers: [SubscriptionService],
2848
+ imports: [CommonModule],
2848
2849
  }]
2849
2850
  }], ctorParameters: () => [{ type: DynamicLayoutComponent, decorators: [{
2850
2851
  type: Optional
@@ -2869,32 +2870,32 @@ class ReplaceableRouteContainerComponent {
2869
2870
  });
2870
2871
  }
2871
2872
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ReplaceableRouteContainerComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: ReplaceableComponentsService }, { token: SubscriptionService }], target: i0.ɵɵFactoryTarget.Component }); }
2872
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.8", type: ReplaceableRouteContainerComponent, isStandalone: false, selector: "abp-replaceable-route-container", providers: [SubscriptionService], ngImport: i0, template: `
2873
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.8", type: ReplaceableRouteContainerComponent, isStandalone: true, selector: "abp-replaceable-route-container", providers: [SubscriptionService], ngImport: i0, template: `
2873
2874
  <ng-container *ngComponentOutlet="externalComponent || defaultComponent"></ng-container>
2874
- `, isInline: true, dependencies: [{ kind: "directive", type: i1$2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }] }); }
2875
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }] }); }
2875
2876
  }
2876
2877
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ReplaceableRouteContainerComponent, decorators: [{
2877
2878
  type: Component,
2878
2879
  args: [{
2879
- standalone: false,
2880
2880
  selector: 'abp-replaceable-route-container',
2881
2881
  template: `
2882
2882
  <ng-container *ngComponentOutlet="externalComponent || defaultComponent"></ng-container>
2883
2883
  `,
2884
2884
  providers: [SubscriptionService],
2885
+ imports: [CommonModule],
2885
2886
  }]
2886
2887
  }], ctorParameters: () => [{ type: i1$1.ActivatedRoute }, { type: ReplaceableComponentsService }, { type: SubscriptionService }] });
2887
2888
 
2888
2889
  class RouterOutletComponent {
2889
2890
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: RouterOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2890
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.8", type: RouterOutletComponent, isStandalone: false, 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", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
2891
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.8", type: RouterOutletComponent, isStandalone: true, selector: "abp-router-outlet", ngImport: i0, template: ` <router-outlet></router-outlet> `, isInline: true, dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$1.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
2891
2892
  }
2892
2893
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: RouterOutletComponent, decorators: [{
2893
2894
  type: Component,
2894
2895
  args: [{
2895
- standalone: false,
2896
2896
  selector: 'abp-router-outlet',
2897
2897
  template: ` <router-outlet></router-outlet> `,
2898
+ imports: [RouterModule],
2898
2899
  }]
2899
2900
  }] });
2900
2901
 
@@ -3261,7 +3262,6 @@ class AutofocusDirective {
3261
3262
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AutofocusDirective, decorators: [{
3262
3263
  type: Directive,
3263
3264
  args: [{
3264
- standalone: true,
3265
3265
  selector: '[autofocus]',
3266
3266
  }]
3267
3267
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { delay: [{
@@ -3288,7 +3288,6 @@ class InputEventDebounceDirective {
3288
3288
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: InputEventDebounceDirective, decorators: [{
3289
3289
  type: Directive,
3290
3290
  args: [{
3291
- standalone: true,
3292
3291
  selector: '[input.debounce]',
3293
3292
  providers: [SubscriptionService],
3294
3293
  }]
@@ -3426,7 +3425,6 @@ class ForDirective {
3426
3425
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ForDirective, decorators: [{
3427
3426
  type: Directive,
3428
3427
  args: [{
3429
- standalone: true,
3430
3428
  selector: '[abpFor]',
3431
3429
  }]
3432
3430
  }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i0.IterableDiffers }], propDecorators: { items: [{
@@ -3496,7 +3494,6 @@ class FormSubmitDirective {
3496
3494
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: FormSubmitDirective, decorators: [{
3497
3495
  type: Directive,
3498
3496
  args: [{
3499
- standalone: true,
3500
3497
  selector: 'form[ngSubmit][formGroup]',
3501
3498
  providers: [SubscriptionService],
3502
3499
  }]
@@ -3538,7 +3535,6 @@ class InitDirective {
3538
3535
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: InitDirective, decorators: [{
3539
3536
  type: Directive,
3540
3537
  args: [{
3541
- standalone: true,
3542
3538
  selector: '[abpInit]',
3543
3539
  }]
3544
3540
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { init: [{
@@ -3598,7 +3594,6 @@ class PermissionDirective {
3598
3594
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: PermissionDirective, decorators: [{
3599
3595
  type: Directive,
3600
3596
  args: [{
3601
- standalone: true,
3602
3597
  selector: '[abpPermission]',
3603
3598
  }]
3604
3599
  }], ctorParameters: () => [{ type: i0.TemplateRef, decorators: [{
@@ -3730,7 +3725,6 @@ class ReplaceableTemplateDirective {
3730
3725
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ReplaceableTemplateDirective, decorators: [{
3731
3726
  type: Directive,
3732
3727
  args: [{
3733
- standalone: true,
3734
3728
  selector: '[abpReplaceableTemplate]',
3735
3729
  providers: [SubscriptionService],
3736
3730
  }]
@@ -3757,7 +3751,6 @@ class StopPropagationDirective {
3757
3751
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: StopPropagationDirective, decorators: [{
3758
3752
  type: Directive,
3759
3753
  args: [{
3760
- standalone: true,
3761
3754
  selector: '[click.stop]',
3762
3755
  providers: [SubscriptionService],
3763
3756
  }]
@@ -3766,6 +3759,313 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImpor
3766
3759
  args: ['click.stop']
3767
3760
  }] } });
3768
3761
 
3762
+ class ShowPasswordDirective {
3763
+ constructor() {
3764
+ this.elementRef = inject(ElementRef);
3765
+ }
3766
+ set abpShowPassword(visible) {
3767
+ const element = this.elementRef.nativeElement;
3768
+ if (!element)
3769
+ return;
3770
+ element.type = visible ? 'text' : 'password';
3771
+ }
3772
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ShowPasswordDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3773
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.8", type: ShowPasswordDirective, isStandalone: true, selector: "[abpShowPassword]", inputs: { abpShowPassword: "abpShowPassword" }, ngImport: i0 }); }
3774
+ }
3775
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ShowPasswordDirective, decorators: [{
3776
+ type: Directive,
3777
+ args: [{
3778
+ selector: '[abpShowPassword]',
3779
+ }]
3780
+ }], propDecorators: { abpShowPassword: [{
3781
+ type: Input
3782
+ }] } });
3783
+
3784
+ class TrackCapsLockDirective {
3785
+ constructor() {
3786
+ this.capsLock = new EventEmitter();
3787
+ }
3788
+ onKeyDown(event) {
3789
+ this.capsLock.emit(this.isCapsLockOpen(event));
3790
+ }
3791
+ onKeyUp(event) {
3792
+ this.capsLock.emit(this.isCapsLockOpen(event));
3793
+ }
3794
+ isCapsLockOpen(e) {
3795
+ const s = String.fromCharCode(e.which);
3796
+ if ((s.toUpperCase() === s && s.toLowerCase() !== s && e.shiftKey) ||
3797
+ (s.toUpperCase() !== s && s.toLowerCase() === s && e.shiftKey) ||
3798
+ (e.getModifierState && e.getModifierState('CapsLock'))) {
3799
+ return true;
3800
+ }
3801
+ return false;
3802
+ }
3803
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: TrackCapsLockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3804
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.8", type: TrackCapsLockDirective, isStandalone: true, selector: "[abpCapsLock]", outputs: { capsLock: "abpCapsLock" }, host: { listeners: { "window:keydown": "onKeyDown($event)", "window:keyup": "onKeyUp($event)" } }, ngImport: i0 }); }
3805
+ }
3806
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: TrackCapsLockDirective, decorators: [{
3807
+ type: Directive,
3808
+ args: [{
3809
+ selector: '[abpCapsLock]',
3810
+ }]
3811
+ }], propDecorators: { capsLock: [{
3812
+ type: Output,
3813
+ args: ['abpCapsLock']
3814
+ }], onKeyDown: [{
3815
+ type: HostListener,
3816
+ args: ['window:keydown', ['$event']]
3817
+ }], onKeyUp: [{
3818
+ type: HostListener,
3819
+ args: ['window:keyup', ['$event']]
3820
+ }] } });
3821
+
3822
+ Date.prototype.toLocalISOString = function () {
3823
+ const timezoneOffset = this.getTimezoneOffset();
3824
+ return new Date(this.getTime() - timezoneOffset * 60000).toISOString();
3825
+ };
3826
+
3827
+ function setLanguageToCookie() {
3828
+ const injector = inject(Injector);
3829
+ const sessionState = injector.get(SessionStateService);
3830
+ const document = injector.get(DOCUMENT);
3831
+ const cookieLanguageKey = injector.get(COOKIE_LANGUAGE_KEY);
3832
+ sessionState.getLanguage$().subscribe(language => {
3833
+ const cookieValue = encodeURIComponent(`c=${language}|uic=${language}`);
3834
+ document.cookie = `${cookieLanguageKey}=${cookieValue}`;
3835
+ });
3836
+ }
3837
+ const CookieLanguageProvider = provideAppInitializer(() => {
3838
+ setLanguageToCookie();
3839
+ });
3840
+
3841
+ class LocaleId extends String {
3842
+ constructor(localizationService) {
3843
+ super();
3844
+ this.localizationService = localizationService;
3845
+ }
3846
+ toString() {
3847
+ const { currentLang } = this.localizationService;
3848
+ if (checkHasProp(differentLocales, currentLang)) {
3849
+ return differentLocales[currentLang];
3850
+ }
3851
+ return currentLang;
3852
+ }
3853
+ valueOf() {
3854
+ return this.toString();
3855
+ }
3856
+ }
3857
+ const LocaleProvider = {
3858
+ provide: LOCALE_ID,
3859
+ useClass: LocaleId,
3860
+ deps: [LocalizationService],
3861
+ };
3862
+
3863
+ const IncludeLocalizationResourcesProvider = {
3864
+ provide: INCUDE_LOCALIZATION_RESOURCES_TOKEN,
3865
+ useValue: false,
3866
+ };
3867
+
3868
+ class RoutesHandler {
3869
+ constructor(routes, router) {
3870
+ this.routes = routes;
3871
+ this.router = router;
3872
+ this.addRoutes();
3873
+ }
3874
+ addRoutes() {
3875
+ this.router?.config?.forEach(({ path = '', data }) => {
3876
+ const routes = data?.routes;
3877
+ if (!routes)
3878
+ return;
3879
+ if (Array.isArray(routes)) {
3880
+ this.routes.add(routes);
3881
+ }
3882
+ else {
3883
+ const routesFlatten = flatRoutes([{ path, ...routes }], { path: '' });
3884
+ this.routes.add(routesFlatten);
3885
+ }
3886
+ });
3887
+ }
3888
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: RoutesHandler, deps: [{ token: RoutesService }, { token: i1$1.Router, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
3889
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: RoutesHandler, providedIn: 'root' }); }
3890
+ }
3891
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: RoutesHandler, decorators: [{
3892
+ type: Injectable,
3893
+ args: [{
3894
+ providedIn: 'root',
3895
+ }]
3896
+ }], ctorParameters: () => [{ type: RoutesService }, { type: i1$1.Router, decorators: [{
3897
+ type: Optional
3898
+ }] }] });
3899
+ function flatRoutes(routes, parent) {
3900
+ if (!routes)
3901
+ return [];
3902
+ return routes.reduce((acc, route) => {
3903
+ const { children, ...current } = {
3904
+ ...route,
3905
+ parentName: parent.name,
3906
+ path: (parent.path + '/' + route.path).replace(/\/\//g, '/'),
3907
+ };
3908
+ acc.push(current, ...flatRoutes(children, current));
3909
+ return acc;
3910
+ }, []);
3911
+ }
3912
+
3913
+ class ApiInterceptor {
3914
+ constructor(httpWaitService) {
3915
+ this.httpWaitService = httpWaitService;
3916
+ }
3917
+ getAdditionalHeaders(existingHeaders) {
3918
+ return existingHeaders || new HttpHeaders();
3919
+ }
3920
+ intercept(request, next) {
3921
+ this.httpWaitService.addRequest(request);
3922
+ return next.handle(request).pipe(finalize(() => this.httpWaitService.deleteRequest(request)));
3923
+ }
3924
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ApiInterceptor, deps: [{ token: HttpWaitService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3925
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ApiInterceptor, providedIn: 'root' }); }
3926
+ }
3927
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ApiInterceptor, decorators: [{
3928
+ type: Injectable,
3929
+ args: [{
3930
+ providedIn: 'root',
3931
+ }]
3932
+ }], ctorParameters: () => [{ type: HttpWaitService }] });
3933
+
3934
+ class TimezoneInterceptor {
3935
+ constructor() {
3936
+ this.timezoneService = inject(TimezoneService);
3937
+ }
3938
+ intercept(req, next) {
3939
+ if (!this.timezoneService.isUtcClockEnabled) {
3940
+ return next.handle(req);
3941
+ }
3942
+ const timezone = this.timezoneService.timezone;
3943
+ if (timezone) {
3944
+ req = req.clone({
3945
+ setHeaders: {
3946
+ __timezone: timezone,
3947
+ },
3948
+ });
3949
+ }
3950
+ return next.handle(req);
3951
+ }
3952
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: TimezoneInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3953
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: TimezoneInterceptor, providedIn: 'root' }); }
3954
+ }
3955
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: TimezoneInterceptor, decorators: [{
3956
+ type: Injectable,
3957
+ args: [{
3958
+ providedIn: 'root',
3959
+ }]
3960
+ }] });
3961
+
3962
+ var CoreFeatureKind;
3963
+ (function (CoreFeatureKind) {
3964
+ CoreFeatureKind[CoreFeatureKind["Options"] = 0] = "Options";
3965
+ CoreFeatureKind[CoreFeatureKind["CompareFunctionFactory"] = 1] = "CompareFunctionFactory";
3966
+ CoreFeatureKind[CoreFeatureKind["TitleStrategy"] = 2] = "TitleStrategy";
3967
+ })(CoreFeatureKind || (CoreFeatureKind = {}));
3968
+ function makeCoreFeature(kind, providers) {
3969
+ return {
3970
+ ɵkind: kind,
3971
+ ɵproviders: providers,
3972
+ };
3973
+ }
3974
+ function withOptions(options = {}) {
3975
+ return makeCoreFeature(CoreFeatureKind.Options, [
3976
+ {
3977
+ provide: 'CORE_OPTIONS',
3978
+ useValue: options,
3979
+ },
3980
+ {
3981
+ provide: CORE_OPTIONS,
3982
+ useFactory: coreOptionsFactory,
3983
+ deps: ['CORE_OPTIONS'],
3984
+ },
3985
+ { provide: TENANT_KEY, useValue: options.tenantKey || '__tenant' },
3986
+ {
3987
+ provide: LOCALIZATIONS,
3988
+ multi: true,
3989
+ useValue: localizationContributor(options.localizations),
3990
+ deps: [LocalizationService],
3991
+ },
3992
+ {
3993
+ provide: OTHERS_GROUP,
3994
+ useValue: options.othersGroup || 'AbpUi::OthersGroup',
3995
+ },
3996
+ {
3997
+ provide: DYNAMIC_LAYOUTS_TOKEN,
3998
+ useValue: options.dynamicLayouts || DEFAULT_DYNAMIC_LAYOUTS,
3999
+ },
4000
+ ]);
4001
+ }
4002
+ function withTitleStrategy(strategy) {
4003
+ return makeCoreFeature(CoreFeatureKind.TitleStrategy, [
4004
+ {
4005
+ provide: TitleStrategy,
4006
+ useExisting: strategy,
4007
+ },
4008
+ ]);
4009
+ }
4010
+ function withCompareFuncFactory(factory) {
4011
+ return makeCoreFeature(CoreFeatureKind.CompareFunctionFactory, [
4012
+ {
4013
+ provide: SORT_COMPARE_FUNC,
4014
+ useFactory: factory,
4015
+ },
4016
+ ]);
4017
+ }
4018
+ function provideAbpCore(...features) {
4019
+ const providers = [
4020
+ provideHttpClient(withInterceptorsFromDi(), withXsrfConfiguration({
4021
+ cookieName: 'XSRF-TOKEN',
4022
+ headerName: 'RequestVerificationToken',
4023
+ })),
4024
+ provideAppInitializer(() => {
4025
+ getInitialData();
4026
+ localeInitializer();
4027
+ inject(LocalizationService);
4028
+ inject(LocalStorageListenerService);
4029
+ inject(RoutesHandler);
4030
+ }),
4031
+ LocaleProvider,
4032
+ CookieLanguageProvider,
4033
+ {
4034
+ provide: SORT_COMPARE_FUNC,
4035
+ useFactory: compareFuncFactory,
4036
+ },
4037
+ {
4038
+ provide: QUEUE_MANAGER,
4039
+ useClass: DefaultQueueManager,
4040
+ },
4041
+ AuthErrorFilterService,
4042
+ IncludeLocalizationResourcesProvider,
4043
+ {
4044
+ provide: TitleStrategy,
4045
+ useExisting: AbpTitleStrategy,
4046
+ },
4047
+ {
4048
+ provide: HTTP_INTERCEPTORS,
4049
+ useClass: TimezoneInterceptor,
4050
+ multi: true,
4051
+ },
4052
+ ];
4053
+ for (const feature of features) {
4054
+ providers.push(...feature.ɵproviders);
4055
+ }
4056
+ return makeEnvironmentProviders(providers);
4057
+ }
4058
+ function provideAbpCoreChild(options = {}) {
4059
+ return makeEnvironmentProviders([
4060
+ {
4061
+ provide: LOCALIZATIONS,
4062
+ multi: true,
4063
+ useValue: localizationContributor(options.localizations),
4064
+ deps: [LocalizationService],
4065
+ },
4066
+ ]);
4067
+ }
4068
+
3769
4069
  class LocalizationPipe {
3770
4070
  constructor(localization) {
3771
4071
  this.localization = localization;
@@ -3783,7 +4083,7 @@ class LocalizationPipe {
3783
4083
  return this.localization.instant(value, ...params);
3784
4084
  }
3785
4085
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LocalizationPipe, deps: [{ token: LocalizationService }], target: i0.ɵɵFactoryTarget.Pipe }); }
3786
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: LocalizationPipe, isStandalone: false, name: "abpLocalization" }); }
4086
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: LocalizationPipe, isStandalone: true, name: "abpLocalization" }); }
3787
4087
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LocalizationPipe }); }
3788
4088
  }
3789
4089
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LocalizationPipe, decorators: [{
@@ -3791,7 +4091,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImpor
3791
4091
  }, {
3792
4092
  type: Pipe,
3793
4093
  args: [{
3794
- standalone: false,
3795
4094
  name: 'abpLocalization',
3796
4095
  }]
3797
4096
  }], ctorParameters: () => [{ type: LocalizationService }] });
@@ -3806,7 +4105,7 @@ class SafeHtmlPipe {
3806
4105
  return this.sanitizer.sanitize(SecurityContext.HTML, value);
3807
4106
  }
3808
4107
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: SafeHtmlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
3809
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: SafeHtmlPipe, isStandalone: false, name: "abpSafeHtml" }); }
4108
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: SafeHtmlPipe, isStandalone: true, name: "abpSafeHtml" }); }
3810
4109
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: SafeHtmlPipe }); }
3811
4110
  }
3812
4111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: SafeHtmlPipe, decorators: [{
@@ -3814,7 +4113,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImpor
3814
4113
  }, {
3815
4114
  type: Pipe,
3816
4115
  args: [{
3817
- standalone: false,
3818
4116
  name: 'abpSafeHtml',
3819
4117
  }]
3820
4118
  }] });
@@ -3854,7 +4152,7 @@ class SortPipe {
3854
4152
  return sortOrder === 'asc' ? sorted : sorted.reverse();
3855
4153
  }
3856
4154
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: SortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
3857
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: SortPipe, isStandalone: false, name: "abpSort" }); }
4155
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: SortPipe, isStandalone: true, name: "abpSort" }); }
3858
4156
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: SortPipe }); }
3859
4157
  }
3860
4158
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: SortPipe, decorators: [{
@@ -3862,7 +4160,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImpor
3862
4160
  }, {
3863
4161
  type: Pipe,
3864
4162
  args: [{
3865
- standalone: false,
3866
4163
  name: 'abpSort',
3867
4164
  }]
3868
4165
  }] });
@@ -3885,12 +4182,11 @@ class ToInjectorPipe {
3885
4182
  });
3886
4183
  }
3887
4184
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ToInjectorPipe, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Pipe }); }
3888
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: ToInjectorPipe, isStandalone: false, name: "toInjector" }); }
4185
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: ToInjectorPipe, isStandalone: true, name: "toInjector" }); }
3889
4186
  }
3890
4187
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ToInjectorPipe, decorators: [{
3891
4188
  type: Pipe,
3892
4189
  args: [{
3893
- standalone: false,
3894
4190
  name: 'toInjector',
3895
4191
  }]
3896
4192
  }], ctorParameters: () => [{ type: i0.Injector }] });
@@ -3905,12 +4201,11 @@ class ShortDatePipe extends DatePipe {
3905
4201
  return super.transform(value, format, timezone, locale);
3906
4202
  }
3907
4203
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ShortDatePipe, deps: [{ token: ConfigStateService }, { token: LOCALE_ID }, { token: DATE_PIPE_DEFAULT_TIMEZONE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
3908
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: ShortDatePipe, isStandalone: false, name: "shortDate" }); }
4204
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: ShortDatePipe, isStandalone: true, name: "shortDate" }); }
3909
4205
  }
3910
4206
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ShortDatePipe, decorators: [{
3911
4207
  type: Pipe,
3912
4208
  args: [{
3913
- standalone: false,
3914
4209
  name: 'shortDate',
3915
4210
  pure: true,
3916
4211
  }]
@@ -3934,12 +4229,11 @@ class ShortTimePipe extends DatePipe {
3934
4229
  return super.transform(value, format, timezone, locale);
3935
4230
  }
3936
4231
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ShortTimePipe, deps: [{ token: ConfigStateService }, { token: LOCALE_ID }, { token: DATE_PIPE_DEFAULT_TIMEZONE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
3937
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: ShortTimePipe, isStandalone: false, name: "shortTime" }); }
4232
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: ShortTimePipe, isStandalone: true, name: "shortTime" }); }
3938
4233
  }
3939
4234
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ShortTimePipe, decorators: [{
3940
4235
  type: Pipe,
3941
4236
  args: [{
3942
- standalone: false,
3943
4237
  name: 'shortTime',
3944
4238
  pure: true,
3945
4239
  }]
@@ -3963,12 +4257,11 @@ class ShortDateTimePipe extends DatePipe {
3963
4257
  return super.transform(value, format, timezone, locale);
3964
4258
  }
3965
4259
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ShortDateTimePipe, deps: [{ token: ConfigStateService }, { token: LOCALE_ID }, { token: DATE_PIPE_DEFAULT_TIMEZONE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
3966
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: ShortDateTimePipe, isStandalone: false, name: "shortDateTime" }); }
4260
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: ShortDateTimePipe, isStandalone: true, name: "shortDateTime" }); }
3967
4261
  }
3968
4262
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ShortDateTimePipe, decorators: [{
3969
4263
  type: Pipe,
3970
4264
  args: [{
3971
- standalone: false,
3972
4265
  name: 'shortDateTime',
3973
4266
  pure: true,
3974
4267
  }]
@@ -4024,303 +4317,42 @@ class UtcToLocalPipe {
4024
4317
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: UtcToLocalPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4025
4318
  static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: UtcToLocalPipe, isStandalone: true, name: "abpUtcToLocal" }); }
4026
4319
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: UtcToLocalPipe }); }
4027
- }
4028
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: UtcToLocalPipe, decorators: [{
4029
- type: Injectable
4030
- }, {
4031
- type: Pipe,
4032
- args: [{
4033
- name: 'abpUtcToLocal',
4034
- }]
4035
- }] });
4036
-
4037
- class LazyLocalizationPipe {
4038
- constructor() {
4039
- this.localizationService = inject(LocalizationService);
4040
- this.configStateService = inject(ConfigStateService);
4041
- }
4042
- transform(key, ...params) {
4043
- if (!key) {
4044
- return of('');
4045
- }
4046
- const flatParams = params.reduce((acc, val) => (Array.isArray(val) ? acc.concat(val) : [...acc, val]), []);
4047
- return this.configStateService.getAll$().pipe(filter$1(config => !!config.localization), take$1(1), switchMap$1(() => this.localizationService.get(key, ...flatParams)), map$1(translation => (translation && translation !== key ? translation : '')), startWith(''), distinctUntilChanged$1());
4048
- }
4049
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LazyLocalizationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4050
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: LazyLocalizationPipe, isStandalone: true, name: "abpLazyLocalization" }); }
4051
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LazyLocalizationPipe }); }
4052
- }
4053
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LazyLocalizationPipe, decorators: [{
4054
- type: Injectable
4055
- }, {
4056
- type: Pipe,
4057
- args: [{
4058
- name: 'abpLazyLocalization',
4059
- }]
4060
- }] });
4061
-
4062
- class LocalizationModule {
4063
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LocalizationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
4064
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: LocalizationModule, declarations: [LocalizationPipe], imports: [LazyLocalizationPipe], exports: [LocalizationPipe, LazyLocalizationPipe] }); }
4065
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LocalizationModule }); }
4066
- }
4067
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LocalizationModule, decorators: [{
4068
- type: NgModule,
4069
- args: [{
4070
- imports: [LazyLocalizationPipe],
4071
- exports: [LocalizationPipe, LazyLocalizationPipe],
4072
- declarations: [LocalizationPipe],
4073
- }]
4074
- }] });
4075
-
4076
- Date.prototype.toLocalISOString = function () {
4077
- const timezoneOffset = this.getTimezoneOffset();
4078
- return new Date(this.getTime() - timezoneOffset * 60000).toISOString();
4079
- };
4080
-
4081
- function setLanguageToCookie() {
4082
- const injector = inject(Injector);
4083
- const sessionState = injector.get(SessionStateService);
4084
- const document = injector.get(DOCUMENT);
4085
- const cookieLanguageKey = injector.get(COOKIE_LANGUAGE_KEY);
4086
- sessionState.getLanguage$().subscribe(language => {
4087
- const cookieValue = encodeURIComponent(`c=${language}|uic=${language}`);
4088
- document.cookie = `${cookieLanguageKey}=${cookieValue}`;
4089
- });
4090
- }
4091
- const CookieLanguageProvider = provideAppInitializer(() => {
4092
- setLanguageToCookie();
4093
- });
4094
-
4095
- class LocaleId extends String {
4096
- constructor(localizationService) {
4097
- super();
4098
- this.localizationService = localizationService;
4099
- }
4100
- toString() {
4101
- const { currentLang } = this.localizationService;
4102
- if (checkHasProp(differentLocales, currentLang)) {
4103
- return differentLocales[currentLang];
4104
- }
4105
- return currentLang;
4106
- }
4107
- valueOf() {
4108
- return this.toString();
4109
- }
4110
- }
4111
- const LocaleProvider = {
4112
- provide: LOCALE_ID,
4113
- useClass: LocaleId,
4114
- deps: [LocalizationService],
4115
- };
4116
-
4117
- const IncludeLocalizationResourcesProvider = {
4118
- provide: INCUDE_LOCALIZATION_RESOURCES_TOKEN,
4119
- useValue: false,
4120
- };
4121
-
4122
- class RoutesHandler {
4123
- constructor(routes, router) {
4124
- this.routes = routes;
4125
- this.router = router;
4126
- this.addRoutes();
4127
- }
4128
- addRoutes() {
4129
- this.router?.config?.forEach(({ path = '', data }) => {
4130
- const routes = data?.routes;
4131
- if (!routes)
4132
- return;
4133
- if (Array.isArray(routes)) {
4134
- this.routes.add(routes);
4135
- }
4136
- else {
4137
- const routesFlatten = flatRoutes([{ path, ...routes }], { path: '' });
4138
- this.routes.add(routesFlatten);
4139
- }
4140
- });
4141
- }
4142
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: RoutesHandler, deps: [{ token: RoutesService }, { token: i1$1.Router, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
4143
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: RoutesHandler, providedIn: 'root' }); }
4144
- }
4145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: RoutesHandler, decorators: [{
4146
- type: Injectable,
4147
- args: [{
4148
- providedIn: 'root',
4149
- }]
4150
- }], ctorParameters: () => [{ type: RoutesService }, { type: i1$1.Router, decorators: [{
4151
- type: Optional
4152
- }] }] });
4153
- function flatRoutes(routes, parent) {
4154
- if (!routes)
4155
- return [];
4156
- return routes.reduce((acc, route) => {
4157
- const { children, ...current } = {
4158
- ...route,
4159
- parentName: parent.name,
4160
- path: (parent.path + '/' + route.path).replace(/\/\//g, '/'),
4161
- };
4162
- acc.push(current, ...flatRoutes(children, current));
4163
- return acc;
4164
- }, []);
4165
- }
4166
-
4167
- class ApiInterceptor {
4168
- constructor(httpWaitService) {
4169
- this.httpWaitService = httpWaitService;
4170
- }
4171
- getAdditionalHeaders(existingHeaders) {
4172
- return existingHeaders || new HttpHeaders();
4173
- }
4174
- intercept(request, next) {
4175
- this.httpWaitService.addRequest(request);
4176
- return next.handle(request).pipe(finalize(() => this.httpWaitService.deleteRequest(request)));
4177
- }
4178
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ApiInterceptor, deps: [{ token: HttpWaitService }], target: i0.ɵɵFactoryTarget.Injectable }); }
4179
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ApiInterceptor, providedIn: 'root' }); }
4180
- }
4181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ApiInterceptor, decorators: [{
4182
- type: Injectable,
4320
+ }
4321
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: UtcToLocalPipe, decorators: [{
4322
+ type: Injectable
4323
+ }, {
4324
+ type: Pipe,
4183
4325
  args: [{
4184
- providedIn: 'root',
4326
+ name: 'abpUtcToLocal',
4185
4327
  }]
4186
- }], ctorParameters: () => [{ type: HttpWaitService }] });
4328
+ }] });
4187
4329
 
4188
- class TimezoneInterceptor {
4330
+ class LazyLocalizationPipe {
4189
4331
  constructor() {
4190
- this.timezoneService = inject(TimezoneService);
4332
+ this.localizationService = inject(LocalizationService);
4333
+ this.configStateService = inject(ConfigStateService);
4191
4334
  }
4192
- intercept(req, next) {
4193
- if (!this.timezoneService.isUtcClockEnabled) {
4194
- return next.handle(req);
4195
- }
4196
- const timezone = this.timezoneService.timezone;
4197
- if (timezone) {
4198
- req = req.clone({
4199
- setHeaders: {
4200
- __timezone: timezone,
4201
- },
4202
- });
4335
+ transform(key, ...params) {
4336
+ if (!key) {
4337
+ return of('');
4203
4338
  }
4204
- return next.handle(req);
4339
+ const flatParams = params.reduce((acc, val) => (Array.isArray(val) ? acc.concat(val) : [...acc, val]), []);
4340
+ return this.configStateService.getAll$().pipe(filter$1(config => !!config.localization), take$1(1), switchMap$1(() => this.localizationService.get(key, ...flatParams)), map$1(translation => (translation && translation !== key ? translation : '')), startWith(''), distinctUntilChanged$1());
4205
4341
  }
4206
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: TimezoneInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4207
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: TimezoneInterceptor, providedIn: 'root' }); }
4342
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LazyLocalizationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4343
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: LazyLocalizationPipe, isStandalone: true, name: "abpLazyLocalization" }); }
4344
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LazyLocalizationPipe }); }
4208
4345
  }
4209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: TimezoneInterceptor, decorators: [{
4210
- type: Injectable,
4346
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LazyLocalizationPipe, decorators: [{
4347
+ type: Injectable
4348
+ }, {
4349
+ type: Pipe,
4211
4350
  args: [{
4212
- providedIn: 'root',
4351
+ name: 'abpLazyLocalization',
4213
4352
  }]
4214
4353
  }] });
4215
4354
 
4216
- var CoreFeatureKind;
4217
- (function (CoreFeatureKind) {
4218
- CoreFeatureKind[CoreFeatureKind["Options"] = 0] = "Options";
4219
- CoreFeatureKind[CoreFeatureKind["CompareFunctionFactory"] = 1] = "CompareFunctionFactory";
4220
- CoreFeatureKind[CoreFeatureKind["TitleStrategy"] = 2] = "TitleStrategy";
4221
- })(CoreFeatureKind || (CoreFeatureKind = {}));
4222
- function makeCoreFeature(kind, providers) {
4223
- return {
4224
- ɵkind: kind,
4225
- ɵproviders: providers,
4226
- };
4227
- }
4228
- function withOptions(options = {}) {
4229
- return makeCoreFeature(CoreFeatureKind.Options, [
4230
- {
4231
- provide: 'CORE_OPTIONS',
4232
- useValue: options,
4233
- },
4234
- {
4235
- provide: CORE_OPTIONS,
4236
- useFactory: coreOptionsFactory,
4237
- deps: ['CORE_OPTIONS'],
4238
- },
4239
- { provide: TENANT_KEY, useValue: options.tenantKey || '__tenant' },
4240
- {
4241
- provide: LOCALIZATIONS,
4242
- multi: true,
4243
- useValue: localizationContributor(options.localizations),
4244
- deps: [LocalizationService],
4245
- },
4246
- {
4247
- provide: OTHERS_GROUP,
4248
- useValue: options.othersGroup || 'AbpUi::OthersGroup',
4249
- },
4250
- {
4251
- provide: DYNAMIC_LAYOUTS_TOKEN,
4252
- useValue: options.dynamicLayouts || DEFAULT_DYNAMIC_LAYOUTS,
4253
- },
4254
- ]);
4255
- }
4256
- function withTitleStrategy(strategy) {
4257
- return makeCoreFeature(CoreFeatureKind.TitleStrategy, [
4258
- {
4259
- provide: TitleStrategy,
4260
- useExisting: strategy,
4261
- },
4262
- ]);
4263
- }
4264
- function withCompareFuncFactory(factory) {
4265
- return makeCoreFeature(CoreFeatureKind.CompareFunctionFactory, [
4266
- {
4267
- provide: SORT_COMPARE_FUNC,
4268
- useFactory: factory,
4269
- },
4270
- ]);
4271
- }
4272
- function provideAbpCore(...features) {
4273
- const providers = [
4274
- provideHttpClient(withInterceptorsFromDi(), withXsrfConfiguration({
4275
- cookieName: 'XSRF-TOKEN',
4276
- headerName: 'RequestVerificationToken',
4277
- })),
4278
- provideAppInitializer(() => {
4279
- getInitialData();
4280
- localeInitializer();
4281
- inject(LocalizationService);
4282
- inject(LocalStorageListenerService);
4283
- inject(RoutesHandler);
4284
- }),
4285
- LocaleProvider,
4286
- CookieLanguageProvider,
4287
- {
4288
- provide: SORT_COMPARE_FUNC,
4289
- useFactory: compareFuncFactory,
4290
- },
4291
- {
4292
- provide: QUEUE_MANAGER,
4293
- useClass: DefaultQueueManager,
4294
- },
4295
- AuthErrorFilterService,
4296
- IncludeLocalizationResourcesProvider,
4297
- {
4298
- provide: TitleStrategy,
4299
- useExisting: AbpTitleStrategy,
4300
- },
4301
- {
4302
- provide: HTTP_INTERCEPTORS,
4303
- useClass: TimezoneInterceptor,
4304
- multi: true,
4305
- },
4306
- ];
4307
- for (const feature of features) {
4308
- providers.push(...feature.ɵproviders);
4309
- }
4310
- return makeEnvironmentProviders(providers);
4311
- }
4312
- function provideAbpCoreChild(options = {}) {
4313
- return makeEnvironmentProviders([
4314
- {
4315
- provide: LOCALIZATIONS,
4316
- multi: true,
4317
- useValue: localizationContributor(options.localizations),
4318
- deps: [LocalizationService],
4319
- },
4320
- ]);
4321
- }
4322
-
4323
- const standaloneDirectives = [
4355
+ const CORE_DIRECTIVES = [
4324
4356
  AutofocusDirective,
4325
4357
  InputEventDebounceDirective,
4326
4358
  ForDirective,
@@ -4330,6 +4362,23 @@ const standaloneDirectives = [
4330
4362
  ReplaceableTemplateDirective,
4331
4363
  StopPropagationDirective,
4332
4364
  ];
4365
+ const CORE_PIPES = [
4366
+ LocalizationPipe,
4367
+ SortPipe,
4368
+ SafeHtmlPipe,
4369
+ ShortDateTimePipe,
4370
+ ShortTimePipe,
4371
+ ShortDatePipe,
4372
+ ToInjectorPipe,
4373
+ UtcToLocalPipe,
4374
+ LazyLocalizationPipe,
4375
+ ];
4376
+ const CORE_COMPONENTS = [
4377
+ DynamicLayoutComponent,
4378
+ ReplaceableRouteContainerComponent,
4379
+ RouterOutletComponent,
4380
+ AbstractNgModelComponent,
4381
+ ];
4333
4382
  /**
4334
4383
  * BaseCoreModule is the module that holds
4335
4384
  * all imports, declarations, exports, and entryComponents
@@ -4338,58 +4387,62 @@ const standaloneDirectives = [
4338
4387
  */
4339
4388
  class BaseCoreModule {
4340
4389
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: BaseCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
4341
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: BaseCoreModule, declarations: [AbstractNgModelComponent,
4342
- DynamicLayoutComponent,
4343
- ReplaceableRouteContainerComponent,
4344
- RouterOutletComponent,
4345
- SortPipe,
4346
- SafeHtmlPipe,
4347
- ToInjectorPipe,
4348
- ShortDateTimePipe,
4349
- ShortTimePipe,
4350
- ShortDatePipe], imports: [CommonModule,
4390
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: BaseCoreModule, imports: [CommonModule,
4351
4391
  FormsModule,
4352
4392
  ReactiveFormsModule,
4353
4393
  RouterModule,
4354
- LocalizationModule,
4355
- UtcToLocalPipe, AutofocusDirective,
4394
+ NgxValidateCoreModule, AutofocusDirective,
4356
4395
  InputEventDebounceDirective,
4357
4396
  ForDirective,
4358
4397
  FormSubmitDirective,
4359
4398
  InitDirective,
4360
4399
  PermissionDirective,
4361
4400
  ReplaceableTemplateDirective,
4362
- StopPropagationDirective], exports: [CommonModule,
4363
- FormsModule,
4364
- ReactiveFormsModule,
4365
- RouterModule,
4366
- LocalizationModule,
4367
- AbstractNgModelComponent,
4368
- DynamicLayoutComponent,
4369
- ReplaceableRouteContainerComponent,
4370
- RouterOutletComponent,
4401
+ StopPropagationDirective, LocalizationPipe,
4371
4402
  SortPipe,
4372
4403
  SafeHtmlPipe,
4373
- ToInjectorPipe,
4374
4404
  ShortDateTimePipe,
4375
4405
  ShortTimePipe,
4376
- ShortDatePipe, AutofocusDirective,
4406
+ ShortDatePipe,
4407
+ ToInjectorPipe,
4408
+ UtcToLocalPipe,
4409
+ LazyLocalizationPipe, DynamicLayoutComponent,
4410
+ ReplaceableRouteContainerComponent,
4411
+ RouterOutletComponent,
4412
+ AbstractNgModelComponent], exports: [CommonModule,
4413
+ FormsModule,
4414
+ ReactiveFormsModule,
4415
+ RouterModule,
4416
+ NgxValidateCoreModule, AutofocusDirective,
4377
4417
  InputEventDebounceDirective,
4378
4418
  ForDirective,
4379
4419
  FormSubmitDirective,
4380
4420
  InitDirective,
4381
4421
  PermissionDirective,
4382
4422
  ReplaceableTemplateDirective,
4383
- StopPropagationDirective] }); }
4423
+ StopPropagationDirective, LocalizationPipe,
4424
+ SortPipe,
4425
+ SafeHtmlPipe,
4426
+ ShortDateTimePipe,
4427
+ ShortTimePipe,
4428
+ ShortDatePipe,
4429
+ ToInjectorPipe,
4430
+ UtcToLocalPipe,
4431
+ LazyLocalizationPipe, DynamicLayoutComponent,
4432
+ ReplaceableRouteContainerComponent,
4433
+ RouterOutletComponent,
4434
+ AbstractNgModelComponent] }); }
4384
4435
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: BaseCoreModule, providers: [LocalizationPipe, provideHttpClient(withInterceptorsFromDi())], imports: [CommonModule,
4385
4436
  FormsModule,
4386
4437
  ReactiveFormsModule,
4387
4438
  RouterModule,
4388
- LocalizationModule, CommonModule,
4439
+ NgxValidateCoreModule, DynamicLayoutComponent,
4440
+ ReplaceableRouteContainerComponent,
4441
+ RouterOutletComponent, CommonModule,
4389
4442
  FormsModule,
4390
4443
  ReactiveFormsModule,
4391
4444
  RouterModule,
4392
- LocalizationModule] }); }
4445
+ NgxValidateCoreModule] }); }
4393
4446
  }
4394
4447
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: BaseCoreModule, decorators: [{
4395
4448
  type: NgModule,
@@ -4399,40 +4452,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImpor
4399
4452
  FormsModule,
4400
4453
  ReactiveFormsModule,
4401
4454
  RouterModule,
4402
- LocalizationModule,
4403
- AbstractNgModelComponent,
4404
- DynamicLayoutComponent,
4405
- ReplaceableRouteContainerComponent,
4406
- RouterOutletComponent,
4407
- SortPipe,
4408
- SafeHtmlPipe,
4409
- ToInjectorPipe,
4410
- ShortDateTimePipe,
4411
- ShortTimePipe,
4412
- ShortDatePipe,
4413
- ...standaloneDirectives,
4455
+ NgxValidateCoreModule,
4456
+ ...CORE_DIRECTIVES,
4457
+ ...CORE_PIPES,
4458
+ ...CORE_COMPONENTS,
4414
4459
  ],
4415
4460
  imports: [
4416
4461
  CommonModule,
4417
4462
  FormsModule,
4418
4463
  ReactiveFormsModule,
4419
4464
  RouterModule,
4420
- LocalizationModule,
4421
- UtcToLocalPipe,
4422
- ...standaloneDirectives,
4423
- ],
4424
- declarations: [
4425
- AbstractNgModelComponent,
4426
- DynamicLayoutComponent,
4427
- ReplaceableRouteContainerComponent,
4428
- RouterOutletComponent,
4429
- SortPipe,
4430
- SafeHtmlPipe,
4431
- ToInjectorPipe,
4432
- ShortDateTimePipe,
4433
- ShortTimePipe,
4434
- ShortDatePipe,
4465
+ NgxValidateCoreModule,
4466
+ ...CORE_DIRECTIVES,
4467
+ ...CORE_PIPES,
4468
+ ...CORE_COMPONENTS,
4435
4469
  ],
4470
+ declarations: [],
4436
4471
  providers: [LocalizationPipe, provideHttpClient(withInterceptorsFromDi())],
4437
4472
  }]
4438
4473
  }] });
@@ -4442,19 +4477,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImpor
4442
4477
  */
4443
4478
  class RootCoreModule {
4444
4479
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: RootCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
4445
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: RootCoreModule, imports: [BaseCoreModule, LocalizationModule], exports: [BaseCoreModule, LocalizationModule] }); }
4480
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: RootCoreModule, imports: [BaseCoreModule], exports: [BaseCoreModule] }); }
4446
4481
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: RootCoreModule, providers: [
4447
4482
  provideHttpClient(withXsrfConfiguration({
4448
4483
  cookieName: 'XSRF-TOKEN',
4449
4484
  headerName: 'RequestVerificationToken',
4450
4485
  })),
4451
- ], imports: [BaseCoreModule, LocalizationModule, BaseCoreModule, LocalizationModule] }); }
4486
+ ], imports: [BaseCoreModule, BaseCoreModule] }); }
4452
4487
  }
4453
4488
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: RootCoreModule, decorators: [{
4454
4489
  type: NgModule,
4455
4490
  args: [{
4456
- exports: [BaseCoreModule, LocalizationModule],
4457
- imports: [BaseCoreModule, LocalizationModule],
4491
+ exports: [BaseCoreModule],
4492
+ imports: [BaseCoreModule],
4458
4493
  providers: [
4459
4494
  provideHttpClient(withXsrfConfiguration({
4460
4495
  cookieName: 'XSRF-TOKEN',
@@ -4497,68 +4532,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImpor
4497
4532
  }]
4498
4533
  }] });
4499
4534
 
4500
- class ShowPasswordDirective {
4501
- constructor() {
4502
- this.elementRef = inject(ElementRef);
4503
- }
4504
- set abpShowPassword(visible) {
4505
- const element = this.elementRef.nativeElement;
4506
- if (!element)
4507
- return;
4508
- element.type = visible ? 'text' : 'password';
4509
- }
4510
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ShowPasswordDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4511
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.8", type: ShowPasswordDirective, isStandalone: true, selector: "[abpShowPassword]", inputs: { abpShowPassword: "abpShowPassword" }, ngImport: i0 }); }
4512
- }
4513
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ShowPasswordDirective, decorators: [{
4514
- type: Directive,
4515
- args: [{
4516
- standalone: true,
4517
- selector: '[abpShowPassword]',
4518
- }]
4519
- }], propDecorators: { abpShowPassword: [{
4520
- type: Input
4521
- }] } });
4522
-
4523
- class TrackCapsLockDirective {
4524
- constructor() {
4525
- this.capsLock = new EventEmitter();
4526
- }
4527
- onKeyDown(event) {
4528
- this.capsLock.emit(this.isCapsLockOpen(event));
4529
- }
4530
- onKeyUp(event) {
4531
- this.capsLock.emit(this.isCapsLockOpen(event));
4532
- }
4533
- isCapsLockOpen(e) {
4534
- const s = String.fromCharCode(e.which);
4535
- if ((s.toUpperCase() === s && s.toLowerCase() !== s && e.shiftKey) ||
4536
- (s.toUpperCase() !== s && s.toLowerCase() === s && e.shiftKey) ||
4537
- (e.getModifierState && e.getModifierState('CapsLock'))) {
4538
- return true;
4539
- }
4540
- return false;
4541
- }
4542
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: TrackCapsLockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4543
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.8", type: TrackCapsLockDirective, isStandalone: true, selector: "[abpCapsLock]", outputs: { capsLock: "abpCapsLock" }, host: { listeners: { "window:keydown": "onKeyDown($event)", "window:keyup": "onKeyUp($event)" } }, ngImport: i0 }); }
4544
- }
4545
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: TrackCapsLockDirective, decorators: [{
4546
- type: Directive,
4547
- args: [{
4548
- standalone: true,
4549
- selector: '[abpCapsLock]',
4550
- }]
4551
- }], propDecorators: { capsLock: [{
4552
- type: Output,
4553
- args: ['abpCapsLock']
4554
- }], onKeyDown: [{
4555
- type: HostListener,
4556
- args: ['window:keydown', ['$event']]
4557
- }], onKeyUp: [{
4558
- type: HostListener,
4559
- args: ['window:keyup', ['$event']]
4560
- }] } });
4561
-
4562
4535
  /**
4563
4536
  * @deprecated Use `permissionGuard` *function* instead.
4564
4537
  */
@@ -4615,6 +4588,23 @@ const permissionGuard = (route, state) => {
4615
4588
  }));
4616
4589
  };
4617
4590
 
4591
+ /**
4592
+ * @deprecated Use `LocalizationPipe` and `LazyLocalizationPipe` directly as a standalone pipe.
4593
+ * This module is no longer necessary for using the `LocalizationPipe` and `LazyLocalizationPipe` pipes.
4594
+ */
4595
+ class LocalizationModule {
4596
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LocalizationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
4597
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: LocalizationModule, imports: [LocalizationPipe, LazyLocalizationPipe], exports: [LocalizationPipe, LazyLocalizationPipe] }); }
4598
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LocalizationModule }); }
4599
+ }
4600
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LocalizationModule, decorators: [{
4601
+ type: NgModule,
4602
+ args: [{
4603
+ exports: [LocalizationPipe, LazyLocalizationPipe],
4604
+ imports: [LocalizationPipe, LazyLocalizationPipe],
4605
+ }]
4606
+ }] });
4607
+
4618
4608
  class ListResultDto {
4619
4609
  constructor(initialValues = {}) {
4620
4610
  for (const key in initialValues) {