@delon/theme 17.0.5 → 17.2.0

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 (78) hide show
  1. package/compact.css +127 -6
  2. package/compact.min.css +1 -1
  3. package/dark.css +127 -6
  4. package/dark.min.css +1 -1
  5. package/default.css +127 -6
  6. package/default.min.css +1 -1
  7. package/esm2022/layout-default/layout-header-item-trigger.directive.mjs +3 -3
  8. package/esm2022/layout-default/layout-header-item.component.mjs +3 -3
  9. package/esm2022/layout-default/layout-header.component.mjs +21 -21
  10. package/esm2022/layout-default/layout-nav.component.mjs +50 -64
  11. package/esm2022/layout-default/layout-top-menu-item.mjs +9 -15
  12. package/esm2022/layout-default/layout.component.mjs +10 -16
  13. package/esm2022/layout-default/layout.module.mjs +4 -4
  14. package/esm2022/layout-default/layout.service.mjs +12 -12
  15. package/esm2022/setting-drawer/setting-drawer-item.component.mjs +5 -5
  16. package/esm2022/setting-drawer/setting-drawer.component.mjs +37 -45
  17. package/esm2022/setting-drawer/setting-drawer.module.mjs +4 -4
  18. package/esm2022/src/locale/languages/vi-VI.mjs +83 -0
  19. package/esm2022/src/locale/locale.module.mjs +4 -4
  20. package/esm2022/src/locale/locale.service.mjs +4 -4
  21. package/esm2022/src/locale/locale.tokens.mjs +1 -1
  22. package/esm2022/src/locale/public_api.mjs +2 -1
  23. package/esm2022/src/pipes/date/date.pipe.mjs +3 -3
  24. package/esm2022/src/pipes/keys/keys.pipe.mjs +3 -3
  25. package/esm2022/src/pipes/safe/html.pipe.mjs +9 -9
  26. package/esm2022/src/pipes/safe/url.pipe.mjs +9 -9
  27. package/esm2022/src/pipes/yn/yn.pipe.mjs +9 -9
  28. package/esm2022/src/provide.mjs +1 -1
  29. package/esm2022/src/services/drawer/drawer.helper.mjs +12 -16
  30. package/esm2022/src/services/http/http.client.mjs +10 -11
  31. package/esm2022/src/services/http/http.decorator.mjs +8 -11
  32. package/esm2022/src/services/i18n/i18n-url.guard.mjs +11 -16
  33. package/esm2022/src/services/i18n/i18n.mjs +7 -7
  34. package/esm2022/src/services/i18n/i18n.pipe.mjs +3 -3
  35. package/esm2022/src/services/menu/menu.service.mjs +12 -19
  36. package/esm2022/src/services/modal/modal.helper.mjs +13 -16
  37. package/esm2022/src/services/preloader/preloader.mjs +1 -1
  38. package/esm2022/src/services/responsive/responsive.mjs +4 -4
  39. package/esm2022/src/services/rtl/rtl.service.mjs +19 -22
  40. package/esm2022/src/services/settings/settings.service.mjs +10 -13
  41. package/esm2022/src/services/title/title.service.mjs +16 -24
  42. package/esm2022/src/theme.module.mjs +4 -4
  43. package/esm2022/src/version.mjs +1 -1
  44. package/esm2022/theme-btn/theme-btn.component.mjs +24 -37
  45. package/esm2022/theme-btn/theme-btn.module.mjs +4 -4
  46. package/fesm2022/layout-default.mjs +101 -121
  47. package/fesm2022/layout-default.mjs.map +1 -1
  48. package/fesm2022/setting-drawer.mjs +42 -50
  49. package/fesm2022/setting-drawer.mjs.map +1 -1
  50. package/fesm2022/theme-btn.mjs +27 -40
  51. package/fesm2022/theme-btn.mjs.map +1 -1
  52. package/fesm2022/theme.mjs +222 -179
  53. package/fesm2022/theme.mjs.map +1 -1
  54. package/layout-default/layout-header.component.d.ts +6 -8
  55. package/layout-default/layout-nav.component.d.ts +24 -26
  56. package/layout-default/layout-top-menu-item.d.ts +2 -3
  57. package/layout-default/layout.component.d.ts +2 -3
  58. package/layout-default/layout.service.d.ts +1 -3
  59. package/package.json +4 -4
  60. package/setting-drawer/setting-drawer.component.d.ts +15 -16
  61. package/src/locale/languages/vi-VI.d.ts +3 -0
  62. package/src/locale/locale.tokens.d.ts +2 -1
  63. package/src/locale/public_api.d.ts +1 -0
  64. package/src/pipes/safe/html.pipe.d.ts +2 -3
  65. package/src/pipes/safe/url.pipe.d.ts +2 -3
  66. package/src/pipes/yn/yn.pipe.d.ts +2 -3
  67. package/src/services/drawer/drawer.helper.d.ts +4 -5
  68. package/src/services/http/http.client.d.ts +3 -3
  69. package/src/services/http/http.decorator.d.ts +1 -2
  70. package/src/services/i18n/i18n-url.guard.d.ts +3 -6
  71. package/src/services/menu/menu.service.d.ts +5 -7
  72. package/src/services/modal/modal.helper.d.ts +4 -6
  73. package/src/services/rtl/rtl.service.d.ts +8 -13
  74. package/src/services/settings/settings.service.d.ts +2 -4
  75. package/src/services/title/title.service.d.ts +8 -12
  76. package/system/theme-default.less +1 -1
  77. package/system/utils/_scrollbar.less +6 -4
  78. package/theme-btn/theme-btn.component.d.ts +11 -15
@@ -1,30 +1,26 @@
1
1
  import { DOCUMENT, isPlatformServer, CommonModule, registerLocaleData } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, PLATFORM_ID, InjectionToken, Injectable, Optional, Inject, DestroyRef, Pipe, SkipSelf, Injector, NgModule, importProvidersFrom, LOCALE_ID, ENVIRONMENT_INITIALIZER, makeEnvironmentProviders, Version } from '@angular/core';
3
+ import { inject, PLATFORM_ID, InjectionToken, Injectable, DestroyRef, Injector, Pipe, Inject, Optional, SkipSelf, NgModule, importProvidersFrom, LOCALE_ID, ENVIRONMENT_INITIALIZER, makeEnvironmentProviders, Version } from '@angular/core';
4
4
  import { filter, BehaviorSubject, share, Subject, map, delay, of, isObservable, switchMap, take, Observable, tap, finalize, throwError, catchError } from 'rxjs';
5
+ import { ACLService } from '@delon/acl';
5
6
  import * as i1 from '@delon/util/config';
6
7
  import { AlainConfigService, ALAIN_CONFIG } from '@delon/util/config';
7
- import * as i1$1 from '@delon/acl';
8
- import { ACLService } from '@delon/acl';
9
- import * as i1$2 from '@angular/cdk/platform';
10
- import * as i1$3 from '@angular/cdk/bidi';
11
- import * as i3 from 'ng-zorro-antd/core/config';
8
+ import { Platform } from '@angular/cdk/platform';
9
+ import { Directionality } from '@angular/cdk/bidi';
10
+ import { NzConfigService } from 'ng-zorro-antd/core/config';
12
11
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
12
+ import { Title, DomSanitizer } from '@angular/platform-browser';
13
13
  import { ActivatedRoute, Router, RouterModule } from '@angular/router';
14
- import * as i1$4 from '@angular/platform-browser';
14
+ import { DragDrop } from '@angular/cdk/drag-drop';
15
15
  import { deepMerge } from '@delon/util/other';
16
- import * as i1$5 from 'ng-zorro-antd/modal';
17
- import { NzModalModule } from 'ng-zorro-antd/modal';
18
- import * as i2 from '@angular/cdk/drag-drop';
19
- import * as i1$6 from 'ng-zorro-antd/drawer';
20
- import { NzDrawerModule } from 'ng-zorro-antd/drawer';
21
- import * as i1$7 from '@angular/common/http';
22
- import { HttpParams, HttpContextToken } from '@angular/common/http';
16
+ import { NzModalService, NzModalModule } from 'ng-zorro-antd/modal';
17
+ import { NzDrawerService, NzDrawerModule } from 'ng-zorro-antd/drawer';
18
+ import { HttpClient, HttpParams, HttpContextToken } from '@angular/common/http';
23
19
  import { formatDate } from '@delon/util/date-time';
24
20
  import { NzI18nService, NzI18nModule, provideNzI18n, NZ_DATE_LOCALE } from 'ng-zorro-antd/i18n';
25
21
  import { OverlayModule } from '@angular/cdk/overlay';
26
22
  import { BellOutline, DeleteOutline, PlusOutline, InboxOutline, MenuFoldOutline, MenuUnfoldOutline } from '@ant-design/icons-angular/icons';
27
- import * as i1$8 from 'ng-zorro-antd/icon';
23
+ import * as i1$1 from 'ng-zorro-antd/icon';
28
24
  import { NzIconService } from 'ng-zorro-antd/icon';
29
25
 
30
26
  function stepPreloader() {
@@ -124,10 +120,10 @@ class AlainI18nBaseService {
124
120
  (Array.isArray(params) ? params : [params]).forEach((item, index) => (content = content.replace(new RegExp(`\\{\\s?${index}\\s?\\}`, 'g'), `${item}`)));
125
121
  return content;
126
122
  }
127
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: AlainI18nBaseService, deps: [{ token: i1.AlainConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
128
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: AlainI18nBaseService }); }
123
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: AlainI18nBaseService, deps: [{ token: i1.AlainConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
124
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: AlainI18nBaseService }); }
129
125
  }
130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: AlainI18nBaseService, decorators: [{
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: AlainI18nBaseService, decorators: [{
131
127
  type: Injectable
132
128
  }], ctorParameters: () => [{ type: i1.AlainConfigService }] });
133
129
  class AlainI18NServiceFake extends AlainI18nBaseService {
@@ -139,10 +135,10 @@ class AlainI18NServiceFake extends AlainI18nBaseService {
139
135
  getLangs() {
140
136
  return [];
141
137
  }
142
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: AlainI18NServiceFake, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
143
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: AlainI18NServiceFake, providedIn: 'root' }); }
138
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: AlainI18NServiceFake, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
139
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: AlainI18NServiceFake, providedIn: 'root' }); }
144
140
  }
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: AlainI18NServiceFake, decorators: [{
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: AlainI18NServiceFake, decorators: [{
146
142
  type: Injectable,
147
143
  args: [{ providedIn: 'root' }]
148
144
  }] });
@@ -151,16 +147,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
151
147
  * 菜单服务,[在线文档](https://ng-alain.com/theme/menu)
152
148
  */
153
149
  class MenuService {
154
- constructor(i18nSrv, aclService) {
155
- this.i18nSrv = i18nSrv;
156
- this.aclService = aclService;
150
+ constructor() {
151
+ this.i18nSrv = inject(ALAIN_I18N_TOKEN, { optional: true });
152
+ this.aclService = inject(ACLService, { optional: true });
157
153
  this._change$ = new BehaviorSubject([]);
158
154
  this.data = [];
159
155
  /**
160
156
  * 是否完全受控菜单打开状态,默认:`false`
161
157
  */
162
158
  this.openStrictly = false;
163
- this.i18n$ = this.i18nSrv.change.subscribe(() => this.resume());
159
+ this.i18n$ = this.i18nSrv?.change.subscribe(() => this.resume());
164
160
  }
165
161
  get change() {
166
162
  return this._change$.pipe(share());
@@ -426,22 +422,15 @@ class MenuService {
426
422
  }
427
423
  ngOnDestroy() {
428
424
  this._change$.unsubscribe();
429
- this.i18n$.unsubscribe();
425
+ this.i18n$?.unsubscribe();
430
426
  }
431
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: MenuService, deps: [{ token: ALAIN_I18N_TOKEN, optional: true }, { token: i1$1.ACLService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
432
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: MenuService, providedIn: 'root' }); }
427
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
428
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MenuService, providedIn: 'root' }); }
433
429
  }
434
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: MenuService, decorators: [{
430
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MenuService, decorators: [{
435
431
  type: Injectable,
436
432
  args: [{ providedIn: 'root' }]
437
- }], ctorParameters: () => [{ type: undefined, decorators: [{
438
- type: Optional
439
- }, {
440
- type: Inject,
441
- args: [ALAIN_I18N_TOKEN]
442
- }] }, { type: i1$1.ACLService, decorators: [{
443
- type: Optional
444
- }] }] });
433
+ }], ctorParameters: () => [] });
445
434
 
446
435
  const ALAIN_SETTING_KEYS = new InjectionToken('ALAIN_SETTING_KEYS');
447
436
  const ALAIN_SETTING_DEFAULT = {
@@ -453,9 +442,9 @@ const ALAIN_SETTING_DEFAULT = {
453
442
  }
454
443
  };
455
444
  class SettingsService {
456
- constructor(platform, KEYS) {
457
- this.platform = platform;
458
- this.KEYS = KEYS;
445
+ constructor() {
446
+ this.KEYS = inject(ALAIN_SETTING_KEYS);
447
+ this.platform = inject(Platform);
459
448
  this.notify$ = new Subject();
460
449
  this._app = null;
461
450
  this._user = null;
@@ -536,16 +525,13 @@ class SettingsService {
536
525
  getUser() {
537
526
  return this._user;
538
527
  }
539
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: SettingsService, deps: [{ token: i1$2.Platform }, { token: ALAIN_SETTING_KEYS }], target: i0.ɵɵFactoryTarget.Injectable }); }
540
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: SettingsService, providedIn: 'root' }); }
528
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SettingsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
529
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SettingsService, providedIn: 'root' }); }
541
530
  }
542
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: SettingsService, decorators: [{
531
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SettingsService, decorators: [{
543
532
  type: Injectable,
544
533
  args: [{ providedIn: 'root' }]
545
- }], ctorParameters: () => [{ type: i1$2.Platform }, { type: undefined, decorators: [{
546
- type: Inject,
547
- args: [ALAIN_SETTING_KEYS]
548
- }] }] });
534
+ }] });
549
535
 
550
536
  const REP_MAX = 6;
551
537
  const SPAN_MAX = 24;
@@ -589,10 +575,10 @@ class ResponsiveService {
589
575
  clsMap.push(`${antColClass}-xxl-${paddingSpan(rule.xxl)}`);
590
576
  return clsMap;
591
577
  }
592
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ResponsiveService, deps: [{ token: i1.AlainConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
593
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ResponsiveService, providedIn: 'root' }); }
578
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ResponsiveService, deps: [{ token: i1.AlainConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
579
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ResponsiveService, providedIn: 'root' }); }
594
580
  }
595
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ResponsiveService, decorators: [{
581
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ResponsiveService, decorators: [{
596
582
  type: Injectable,
597
583
  args: [{ providedIn: 'root' }]
598
584
  }], ctorParameters: () => [{ type: i1.AlainConfigService }] });
@@ -639,15 +625,15 @@ class RTLService {
639
625
  get change() {
640
626
  return this.srv.notify.pipe(filter(w => w.name === RTL_DIRECTION), map(v => v.value));
641
627
  }
642
- constructor(d, srv, nz, delon, platform, doc) {
643
- this.d = d;
644
- this.srv = srv;
645
- this.nz = nz;
646
- this.delon = delon;
647
- this.platform = platform;
648
- this.doc = doc;
628
+ constructor() {
629
+ this.d = inject(Directionality);
630
+ this.nz = inject(NzConfigService);
631
+ this.delon = inject(AlainConfigService);
632
+ this.platform = inject(Platform);
633
+ this.doc = inject(DOCUMENT);
634
+ this.srv = inject(SettingsService);
649
635
  this._dir = LTR;
650
- this.dir = srv.layout.direction === RTL ? RTL : LTR;
636
+ this.dir = this.srv.layout.direction === RTL ? RTL : LTR;
651
637
  }
652
638
  /**
653
639
  * Toggle text direction
@@ -678,37 +664,34 @@ class RTLService {
678
664
  this.delon.set(name, { direction: this.dir });
679
665
  });
680
666
  }
681
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: RTLService, deps: [{ token: i1$3.Directionality }, { token: SettingsService }, { token: i3.NzConfigService }, { token: i1.AlainConfigService }, { token: i1$2.Platform }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
682
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: RTLService, providedIn: 'root' }); }
667
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: RTLService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
668
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: RTLService, providedIn: 'root' }); }
683
669
  }
684
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: RTLService, decorators: [{
670
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: RTLService, decorators: [{
685
671
  type: Injectable,
686
672
  args: [{ providedIn: 'root' }]
687
- }], ctorParameters: () => [{ type: i1$3.Directionality }, { type: SettingsService }, { type: i3.NzConfigService }, { type: i1.AlainConfigService }, { type: i1$2.Platform }, { type: undefined, decorators: [{
688
- type: Inject,
689
- args: [DOCUMENT]
690
- }] }] });
673
+ }], ctorParameters: () => [] });
691
674
 
692
675
  class TitleService {
693
- constructor(injector, title, menuSrv, i18nSrv, doc) {
694
- this.injector = injector;
695
- this.title = title;
696
- this.menuSrv = menuSrv;
697
- this.i18nSrv = i18nSrv;
698
- this.doc = doc;
676
+ constructor() {
699
677
  this.destroy$ = inject(DestroyRef);
700
678
  this._prefix = '';
701
679
  this._suffix = '';
702
680
  this._separator = ' - ';
703
681
  this._reverse = false;
704
682
  this.DELAY_TIME = 25;
683
+ this.doc = inject(DOCUMENT);
684
+ this.injector = inject(Injector);
685
+ this.title = inject(Title);
686
+ this.menuSrv = inject(MenuService);
687
+ this.i18nSrv = inject(ALAIN_I18N_TOKEN, { optional: true });
705
688
  /**
706
689
  * Set default title name
707
690
  *
708
691
  * 设置默认标题名
709
692
  */
710
693
  this.default = `Not Page Name`;
711
- i18nSrv.change.pipe(takeUntilDestroyed()).subscribe(() => this.setTitle());
694
+ this.i18nSrv?.change.pipe(takeUntilDestroyed()).subscribe(() => this.setTitle());
712
695
  }
713
696
  /**
714
697
  * Set separator
@@ -804,26 +787,18 @@ class TitleService {
804
787
  * Set i18n key of the document title
805
788
  */
806
789
  setTitleByI18n(key, params) {
807
- this.setTitle(this.i18nSrv.fanyi(key, params));
790
+ this.setTitle(this.i18nSrv?.fanyi(key, params));
808
791
  }
809
792
  ngOnDestroy() {
810
793
  this.tit$?.unsubscribe();
811
794
  }
812
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TitleService, deps: [{ token: i0.Injector }, { token: i1$4.Title }, { token: MenuService }, { token: ALAIN_I18N_TOKEN, optional: true }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
813
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TitleService, providedIn: 'root' }); }
795
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: TitleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
796
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: TitleService, providedIn: 'root' }); }
814
797
  }
815
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TitleService, decorators: [{
798
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: TitleService, decorators: [{
816
799
  type: Injectable,
817
800
  args: [{ providedIn: 'root' }]
818
- }], ctorParameters: () => [{ type: i0.Injector }, { type: i1$4.Title }, { type: MenuService }, { type: undefined, decorators: [{
819
- type: Optional
820
- }, {
821
- type: Inject,
822
- args: [ALAIN_I18N_TOKEN]
823
- }] }, { type: undefined, decorators: [{
824
- type: Inject,
825
- args: [DOCUMENT]
826
- }] }] });
801
+ }], ctorParameters: () => [] });
827
802
 
828
803
  class I18nPipe {
829
804
  constructor() {
@@ -832,38 +807,33 @@ class I18nPipe {
832
807
  transform(key, params) {
833
808
  return this.i18n.fanyi(key, params);
834
809
  }
835
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: I18nPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
836
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: I18nPipe, isStandalone: true, name: "i18n" }); }
810
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: I18nPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
811
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: I18nPipe, isStandalone: true, name: "i18n" }); }
837
812
  }
838
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: I18nPipe, decorators: [{
813
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: I18nPipe, decorators: [{
839
814
  type: Pipe,
840
815
  args: [{ name: 'i18n', standalone: true }]
841
816
  }] });
842
817
 
843
818
  class AlainI18NGuardService {
844
- constructor(i18nSrv, cogSrv) {
845
- this.i18nSrv = i18nSrv;
846
- this.cogSrv = cogSrv;
819
+ constructor() {
820
+ this.i18nSrv = inject(ALAIN_I18N_TOKEN, { optional: true });
821
+ this.cogSrv = inject(AlainConfigService);
847
822
  }
848
823
  process(route) {
849
824
  const lang = route.params && route.params[this.cogSrv.get('themeI18n')?.paramNameOfUrlGuard ?? 'i18n'];
850
825
  if (lang != null) {
851
- this.i18nSrv.use(lang);
826
+ this.i18nSrv?.use(lang);
852
827
  }
853
828
  return of(true);
854
829
  }
855
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: AlainI18NGuardService, deps: [{ token: ALAIN_I18N_TOKEN, optional: true }, { token: i1.AlainConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
856
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: AlainI18NGuardService, providedIn: 'root' }); }
830
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: AlainI18NGuardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
831
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: AlainI18NGuardService, providedIn: 'root' }); }
857
832
  }
858
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: AlainI18NGuardService, decorators: [{
833
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: AlainI18NGuardService, decorators: [{
859
834
  type: Injectable,
860
835
  args: [{ providedIn: 'root' }]
861
- }], ctorParameters: () => [{ type: undefined, decorators: [{
862
- type: Optional
863
- }, {
864
- type: Inject,
865
- args: [ALAIN_I18N_TOKEN]
866
- }] }, { type: i1.AlainConfigService }] });
836
+ }] });
867
837
  /**
868
838
  * Internationalization guard, automatically recognizes the language in Url and triggers the `ALAIN_I18N_TOKEN.use` method
869
839
  *
@@ -896,13 +866,13 @@ const CLS_DRAG = 'MODAL-DRAG';
896
866
  * 对话框辅助类
897
867
  */
898
868
  class ModalHelper {
899
- constructor(srv, drag, doc) {
900
- this.srv = srv;
901
- this.drag = drag;
902
- this.document = doc;
869
+ constructor() {
870
+ this.srv = inject(NzModalService);
871
+ this.drag = inject(DragDrop);
872
+ this.doc = inject(DOCUMENT);
903
873
  }
904
874
  createDragRef(options, wrapCls) {
905
- const wrapEl = this.document.querySelector(wrapCls);
875
+ const wrapEl = this.doc.querySelector(wrapCls);
906
876
  const modalEl = wrapEl.firstChild;
907
877
  const handelEl = options.handleCls ? wrapEl.querySelector(options.handleCls) : null;
908
878
  if (handelEl) {
@@ -1022,16 +992,13 @@ class ModalHelper {
1022
992
  };
1023
993
  return this.create(comp, params, { ...options, modalOptions });
1024
994
  }
1025
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ModalHelper, deps: [{ token: i1$5.NzModalService }, { token: i2.DragDrop }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
1026
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ModalHelper, providedIn: 'root' }); }
995
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ModalHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
996
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ModalHelper, providedIn: 'root' }); }
1027
997
  }
1028
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ModalHelper, decorators: [{
998
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ModalHelper, decorators: [{
1029
999
  type: Injectable,
1030
1000
  args: [{ providedIn: 'root' }]
1031
- }], ctorParameters: () => [{ type: i1$5.NzModalService }, { type: i2.DragDrop }, { type: undefined, decorators: [{
1032
- type: Inject,
1033
- args: [DOCUMENT]
1034
- }] }] });
1001
+ }] });
1035
1002
 
1036
1003
  /**
1037
1004
  * 抽屉辅助类
@@ -1049,14 +1016,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
1049
1016
  * this.NzDrawerRef.close(false);
1050
1017
  */
1051
1018
  class DrawerHelper {
1019
+ constructor() {
1020
+ this.srv = inject(NzDrawerService);
1021
+ this.parentDrawer = inject(DrawerHelper, { optional: true, skipSelf: true });
1022
+ this.openDrawersAtThisLevel = [];
1023
+ }
1052
1024
  get openDrawers() {
1053
1025
  return this.parentDrawer ? this.parentDrawer.openDrawers : this.openDrawersAtThisLevel;
1054
1026
  }
1055
- constructor(srv, parentDrawer) {
1056
- this.srv = srv;
1057
- this.parentDrawer = parentDrawer;
1058
- this.openDrawersAtThisLevel = [];
1059
- }
1060
1027
  /**
1061
1028
  * 构建一个抽屉
1062
1029
  */
@@ -1130,17 +1097,13 @@ class DrawerHelper {
1130
1097
  };
1131
1098
  return this.create(title, comp, params, { ...options, drawerOptions });
1132
1099
  }
1133
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: DrawerHelper, deps: [{ token: i1$6.NzDrawerService }, { token: DrawerHelper, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1134
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: DrawerHelper, providedIn: 'root' }); }
1100
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DrawerHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1101
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DrawerHelper, providedIn: 'root' }); }
1135
1102
  }
1136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: DrawerHelper, decorators: [{
1103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DrawerHelper, decorators: [{
1137
1104
  type: Injectable,
1138
1105
  args: [{ providedIn: 'root' }]
1139
- }], ctorParameters: () => [{ type: i1$6.NzDrawerService }, { type: DrawerHelper, decorators: [{
1140
- type: Optional
1141
- }, {
1142
- type: SkipSelf
1143
- }] }] });
1106
+ }] });
1144
1107
 
1145
1108
  /* eslint-disable @typescript-eslint/no-explicit-any */
1146
1109
  /**
@@ -1150,8 +1113,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
1150
1113
  * + 统一处理时间格式问题
1151
1114
  */
1152
1115
  class _HttpClient {
1153
- constructor(http, cogSrv) {
1154
- this.http = http;
1116
+ constructor(cogSrv) {
1117
+ this.http = inject(HttpClient);
1155
1118
  this.lc = 0;
1156
1119
  this.cog = cogSrv.merge('themeHttp', {
1157
1120
  nullValueHandling: 'include',
@@ -1283,13 +1246,13 @@ class _HttpClient {
1283
1246
  // Make sure to always be asynchronous, see issues: https://github.com/ng-alain/ng-alain/issues/1954
1284
1247
  delay(0), tap(() => this.push()), switchMap(() => this.http.request(method, url, options)), finalize(() => this.pop()));
1285
1248
  }
1286
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: _HttpClient, deps: [{ token: i1$7.HttpClient }, { token: i1.AlainConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1287
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: _HttpClient, providedIn: 'root' }); }
1249
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: _HttpClient, deps: [{ token: i1.AlainConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1250
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: _HttpClient, providedIn: 'root' }); }
1288
1251
  }
1289
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: _HttpClient, decorators: [{
1252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: _HttpClient, decorators: [{
1290
1253
  type: Injectable,
1291
1254
  args: [{ providedIn: 'root' }]
1292
- }], ctorParameters: () => [{ type: i1$7.HttpClient }, { type: i1.AlainConfigService }] });
1255
+ }], ctorParameters: () => [{ type: i1.AlainConfigService }] });
1293
1256
 
1294
1257
  /**
1295
1258
  * Every http decorator must be based on `BaseAPI`, Like this:
@@ -1299,18 +1262,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
1299
1262
  * ```
1300
1263
  */
1301
1264
  class BaseApi {
1302
- constructor(injector) {
1303
- this.injector = injector;
1265
+ constructor() {
1266
+ this.injector = inject(Injector);
1304
1267
  }
1305
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: BaseApi, deps: [{ token: Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
1306
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: BaseApi }); }
1268
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: BaseApi, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1269
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: BaseApi }); }
1307
1270
  }
1308
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: BaseApi, decorators: [{
1271
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: BaseApi, decorators: [{
1309
1272
  type: Injectable
1310
- }], ctorParameters: () => [{ type: i0.Injector, decorators: [{
1311
- type: Inject,
1312
- args: [Injector]
1313
- }] }] });
1273
+ }] });
1314
1274
  const paramKey = `__api_params`;
1315
1275
  function setParam(target, key = paramKey) {
1316
1276
  let params = target[key];
@@ -1645,10 +1605,10 @@ class DelonLocaleService {
1645
1605
  getData(path) {
1646
1606
  return (this._locale[path] || {});
1647
1607
  }
1648
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: DelonLocaleService, deps: [{ token: DELON_LOCALE }], target: i0.ɵɵFactoryTarget.Injectable }); }
1649
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: DelonLocaleService }); }
1608
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DelonLocaleService, deps: [{ token: DELON_LOCALE }], target: i0.ɵɵFactoryTarget.Injectable }); }
1609
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DelonLocaleService }); }
1650
1610
  }
1651
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: DelonLocaleService, decorators: [{
1611
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DelonLocaleService, decorators: [{
1652
1612
  type: Injectable
1653
1613
  }], ctorParameters: () => [{ type: undefined, decorators: [{
1654
1614
  type: Inject,
@@ -1664,11 +1624,11 @@ const DELON_LOCALE_SERVICE_PROVIDER = {
1664
1624
  };
1665
1625
 
1666
1626
  class DelonLocaleModule {
1667
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: DelonLocaleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1668
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: DelonLocaleModule }); }
1669
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: DelonLocaleModule, providers: [{ provide: DELON_LOCALE, useValue: zhCN }, DELON_LOCALE_SERVICE_PROVIDER] }); }
1627
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DelonLocaleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1628
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: DelonLocaleModule }); }
1629
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DelonLocaleModule, providers: [{ provide: DELON_LOCALE, useValue: zhCN }, DELON_LOCALE_SERVICE_PROVIDER] }); }
1670
1630
  }
1671
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: DelonLocaleModule, decorators: [{
1631
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DelonLocaleModule, decorators: [{
1672
1632
  type: NgModule,
1673
1633
  args: [{
1674
1634
  providers: [{ provide: DELON_LOCALE, useValue: zhCN }, DELON_LOCALE_SERVICE_PROVIDER]
@@ -2634,6 +2594,89 @@ var itIT = {
2634
2594
  }
2635
2595
  };
2636
2596
 
2597
+ var viVI = {
2598
+ abbr: 'vi-VI',
2599
+ exception: {
2600
+ 403: `Xin lỗi, bạn không có quyền truy cập vào trang này`,
2601
+ 404: `Xin lỗi, trang bạn truy cập không tồn tại`,
2602
+ 500: `Xin lỗi, máy chủ đang báo cáo một lỗi`,
2603
+ backToHome: 'Quay lại Trang chủ'
2604
+ },
2605
+ noticeIcon: {
2606
+ emptyText: 'Không có dữ liệu',
2607
+ clearText: 'Xóa'
2608
+ },
2609
+ reuseTab: {
2610
+ close: 'Đóng tab',
2611
+ closeOther: 'Đóng các tab khác',
2612
+ closeRight: 'Đóng các tab bên phải',
2613
+ refresh: 'Làm mới'
2614
+ },
2615
+ tagSelect: {
2616
+ expand: 'Mở rộng',
2617
+ collapse: 'Thu gọn'
2618
+ },
2619
+ miniProgress: {
2620
+ target: 'Mục tiêu: '
2621
+ },
2622
+ st: {
2623
+ total: '{{range[0]}} - {{range[1]}} của {{total}}',
2624
+ filterConfirm: 'OK',
2625
+ filterReset: 'Đặt lại'
2626
+ },
2627
+ sf: {
2628
+ submit: 'Gửi',
2629
+ reset: 'Đặt lại',
2630
+ search: 'Tìm kiếm',
2631
+ edit: 'Lưu',
2632
+ addText: 'Thêm',
2633
+ removeText: 'Xóa',
2634
+ checkAllText: 'Chọn tất cả',
2635
+ error: {
2636
+ 'false schema': `Mô hình Boolean sai`,
2637
+ $ref: `Không thể giải quyết tham chiếu {ref}`,
2638
+ additionalItems: `Không nên có nhiều hơn {limit} mục`,
2639
+ additionalProperties: `Không nên có các thuộc tính bổ sung`,
2640
+ anyOf: `Nên phù hợp với một số mô hình trong "anyOf"`,
2641
+ dependencies: `nên có thuộc tính {deps} khi thuộc tính {property} hiện diện`,
2642
+ enum: `Nên bằng với một trong số các giá trị được xác định trước`,
2643
+ format: `Nên phù hợp với định dạng "{format}"`,
2644
+ type: `Nên là {type}`,
2645
+ required: `Bắt buộc`,
2646
+ maxLength: `Không nên dài hơn {limit} ký tự`,
2647
+ minLength: `Không nên ngắn hơn {limit} ký tự`,
2648
+ minimum: `Nên là {comparison} {limit}`,
2649
+ formatMinimum: `Nên là {comparison} {limit}`,
2650
+ maximum: `Nên là {comparison} {limit}`,
2651
+ formatMaximum: `Nên là {comparison} {limit}`,
2652
+ maxItems: `Không nên có nhiều hơn {limit} mục`,
2653
+ minItems: `Không nên có ít hơn {limit} mục`,
2654
+ maxProperties: `Không nên có nhiều hơn {limit} thuộc tính`,
2655
+ minProperties: `Không nên có ít hơn {limit} thuộc tính`,
2656
+ multipleOf: `Nên là bội số của {multipleOf}`,
2657
+ not: `Không nên hợp lệ theo mô hình trong "not"`,
2658
+ oneOf: `Nên phù hợp chính xác với một mô hình trong "oneOf"`,
2659
+ pattern: `Nên phù hợp với mẫu "{pattern}"`,
2660
+ uniqueItems: `Không nên có các mục trùng lặp (mục ## {j} và {i} giống nhau)`,
2661
+ custom: `Nên phù hợp với định dạng`,
2662
+ propertyNames: `Tên thuộc tính "{propertyName}" không hợp lệ`,
2663
+ patternRequired: `Nên có thuộc tính phù hợp với mẫu "{missingPattern}"`,
2664
+ switch: `Nên vượt qua việc xác nhận từ khóa "switch", trường hợp {caseIndex} thất bại`,
2665
+ const: `Nên bằng với hằng số`,
2666
+ contains: `Nên chứa một mục hợp lệ`,
2667
+ formatExclusiveMaximum: `formatExclusiveMaximum nên là boolean`,
2668
+ formatExclusiveMinimum: `formatExclusiveMinimum nên là boolean`,
2669
+ if: `Nên phù hợp với mô hình "{failingKeyword}"`
2670
+ }
2671
+ },
2672
+ onboarding: {
2673
+ skip: `Bỏ qua`,
2674
+ prev: `Trước`,
2675
+ next: `Tiếp`,
2676
+ done: `Hoàn thành`
2677
+ }
2678
+ };
2679
+
2637
2680
  class DatePipe {
2638
2681
  constructor() {
2639
2682
  this.nzI18n = inject(NzI18nService);
@@ -2642,10 +2685,10 @@ class DatePipe {
2642
2685
  transform(value, formatString) {
2643
2686
  return formatDate(value, formatString ?? this.defFormat, this.nzI18n.getDateLocale());
2644
2687
  }
2645
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: DatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2646
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: DatePipe, isStandalone: true, name: "_date" }); }
2688
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2689
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: DatePipe, isStandalone: true, name: "_date" }); }
2647
2690
  }
2648
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: DatePipe, decorators: [{
2691
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DatePipe, decorators: [{
2649
2692
  type: Pipe,
2650
2693
  args: [{ name: '_date', standalone: true }]
2651
2694
  }] });
@@ -2661,10 +2704,10 @@ class KeysPipe {
2661
2704
  });
2662
2705
  return ret;
2663
2706
  }
2664
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: KeysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2665
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: KeysPipe, isStandalone: true, name: "keys" }); }
2707
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: KeysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2708
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: KeysPipe, isStandalone: true, name: "keys" }); }
2666
2709
  }
2667
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: KeysPipe, decorators: [{
2710
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: KeysPipe, decorators: [{
2668
2711
  type: Pipe,
2669
2712
  args: [{ name: 'keys', standalone: true }]
2670
2713
  }] });
@@ -2694,50 +2737,50 @@ function yn(value, opt) {
2694
2737
  return html;
2695
2738
  }
2696
2739
  class YNPipe {
2697
- constructor(dom) {
2698
- this.dom = dom;
2740
+ constructor() {
2741
+ this.dom = inject(DomSanitizer);
2699
2742
  }
2700
2743
  transform(value, yes, no, mode, isSafeHtml = true) {
2701
2744
  const html = yn(value, { yes, no, mode });
2702
2745
  return isSafeHtml ? this.dom.bypassSecurityTrustHtml(html) : html;
2703
2746
  }
2704
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: YNPipe, deps: [{ token: i1$4.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
2705
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: YNPipe, isStandalone: true, name: "yn" }); }
2747
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: YNPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2748
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: YNPipe, isStandalone: true, name: "yn" }); }
2706
2749
  }
2707
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: YNPipe, decorators: [{
2750
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: YNPipe, decorators: [{
2708
2751
  type: Pipe,
2709
2752
  args: [{ name: 'yn', standalone: true }]
2710
- }], ctorParameters: () => [{ type: i1$4.DomSanitizer }] });
2753
+ }] });
2711
2754
 
2712
2755
  class HTMLPipe {
2713
- constructor(dom) {
2714
- this.dom = dom;
2756
+ constructor() {
2757
+ this.dom = inject(DomSanitizer);
2715
2758
  }
2716
2759
  transform(html) {
2717
2760
  return html ? this.dom.bypassSecurityTrustHtml(html) : '';
2718
2761
  }
2719
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: HTMLPipe, deps: [{ token: i1$4.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
2720
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: HTMLPipe, isStandalone: true, name: "html" }); }
2762
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: HTMLPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2763
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: HTMLPipe, isStandalone: true, name: "html" }); }
2721
2764
  }
2722
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: HTMLPipe, decorators: [{
2765
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: HTMLPipe, decorators: [{
2723
2766
  type: Pipe,
2724
2767
  args: [{ name: 'html', standalone: true }]
2725
- }], ctorParameters: () => [{ type: i1$4.DomSanitizer }] });
2768
+ }] });
2726
2769
 
2727
2770
  class URLPipe {
2728
- constructor(dom) {
2729
- this.dom = dom;
2771
+ constructor() {
2772
+ this.dom = inject(DomSanitizer);
2730
2773
  }
2731
2774
  transform(url) {
2732
2775
  return url ? this.dom.bypassSecurityTrustUrl(url) : '';
2733
2776
  }
2734
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: URLPipe, deps: [{ token: i1$4.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
2735
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: URLPipe, isStandalone: true, name: "url" }); }
2777
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: URLPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2778
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: URLPipe, isStandalone: true, name: "url" }); }
2736
2779
  }
2737
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: URLPipe, decorators: [{
2780
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: URLPipe, decorators: [{
2738
2781
  type: Pipe,
2739
2782
  args: [{ name: 'url', standalone: true }]
2740
- }], ctorParameters: () => [{ type: i1$4.DomSanitizer }] });
2783
+ }] });
2741
2784
 
2742
2785
  /* eslint-disable import/order */
2743
2786
  // #region import
@@ -2761,18 +2804,18 @@ class AlainThemeModule {
2761
2804
  providers: HELPERS
2762
2805
  };
2763
2806
  }
2764
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: AlainThemeModule, deps: [{ token: i1$8.NzIconService }], target: i0.ɵɵFactoryTarget.NgModule }); }
2765
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: AlainThemeModule, imports: [CommonModule, RouterModule, OverlayModule, NzI18nModule, DatePipe, KeysPipe, YNPipe, I18nPipe, HTMLPipe, URLPipe], exports: [DatePipe, KeysPipe, YNPipe, I18nPipe, HTMLPipe, URLPipe, DelonLocaleModule] }); }
2766
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: AlainThemeModule, providers: [ALAIN_SETTING_DEFAULT], imports: [CommonModule, RouterModule, OverlayModule, NzI18nModule, DelonLocaleModule] }); }
2807
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: AlainThemeModule, deps: [{ token: i1$1.NzIconService }], target: i0.ɵɵFactoryTarget.NgModule }); }
2808
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: AlainThemeModule, imports: [CommonModule, RouterModule, OverlayModule, NzI18nModule, DatePipe, KeysPipe, YNPipe, I18nPipe, HTMLPipe, URLPipe], exports: [DatePipe, KeysPipe, YNPipe, I18nPipe, HTMLPipe, URLPipe, DelonLocaleModule] }); }
2809
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: AlainThemeModule, providers: [ALAIN_SETTING_DEFAULT], imports: [CommonModule, RouterModule, OverlayModule, NzI18nModule, DelonLocaleModule] }); }
2767
2810
  }
2768
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: AlainThemeModule, decorators: [{
2811
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: AlainThemeModule, decorators: [{
2769
2812
  type: NgModule,
2770
2813
  args: [{
2771
2814
  imports: [CommonModule, RouterModule, OverlayModule, NzI18nModule, ...PIPES],
2772
2815
  providers: [ALAIN_SETTING_DEFAULT],
2773
2816
  exports: [...PIPES, DelonLocaleModule]
2774
2817
  }]
2775
- }], ctorParameters: () => [{ type: i1$8.NzIconService }] });
2818
+ }], ctorParameters: () => [{ type: i1$1.NzIconService }] });
2776
2819
 
2777
2820
  function provideAlain(options) {
2778
2821
  const lang = options?.defaultLang;
@@ -2833,11 +2876,11 @@ class PreloadOptionalModules {
2833
2876
  }
2834
2877
  }
2835
2878
 
2836
- const VERSION = new Version('17.0.5');
2879
+ const VERSION = new Version('17.2.0');
2837
2880
 
2838
2881
  /**
2839
2882
  * Generated bundle index. Do not edit.
2840
2883
  */
2841
2884
 
2842
- export { ALAIN_I18N_TOKEN, ALAIN_SETTING_DEFAULT, ALAIN_SETTING_KEYS, AlainI18NGuardService, AlainI18NServiceFake, AlainI18nBaseService, AlainThemeModule, BaseApi, BaseHeaders, BaseUrl, Body, CUSTOM_ERROR, DELETE, DELON_LOCALE, DELON_LOCALE_SERVICE_PROVIDER, DELON_LOCALE_SERVICE_PROVIDER_FACTORY, DatePipe, DelonLocaleModule, DelonLocaleService, DrawerHelper, FORM, GET, HEAD, HTMLPipe, HTML_DIR, Headers, I18nPipe, IGNORE_BASE_URL, JSONP, KeysPipe, LTR, MenuService, ModalHelper, OPTIONS, PATCH, POST, PUT, Path, Payload, PreloadOptionalModules, Query, RAW_BODY, REP_MAX, RTL, RTLService, RTL_DELON_COMPONENTS, RTL_DIRECTION, RTL_NZ_COMPONENTS, ResponsiveService, SPAN_MAX, SettingsService, TitleService, URLPipe, VERSION, YNPipe, _HttpClient, alainI18nCanActivate, alainI18nCanActivateChild, elGR as el_GR, enUS as en_US, esES as es_ES, frFR as fr_FR, hrHR as hr_HR, itIT as it_IT, jaJP as ja_JP, koKR as ko_KR, plPL as pl_PL, provideAlain, slSI as sl_SI, stepPreloader, trTR as tr_TR, yn, zhCN as zh_CN, zhTW as zh_TW };
2885
+ export { ALAIN_I18N_TOKEN, ALAIN_SETTING_DEFAULT, ALAIN_SETTING_KEYS, AlainI18NGuardService, AlainI18NServiceFake, AlainI18nBaseService, AlainThemeModule, BaseApi, BaseHeaders, BaseUrl, Body, CUSTOM_ERROR, DELETE, DELON_LOCALE, DELON_LOCALE_SERVICE_PROVIDER, DELON_LOCALE_SERVICE_PROVIDER_FACTORY, DatePipe, DelonLocaleModule, DelonLocaleService, DrawerHelper, FORM, GET, HEAD, HTMLPipe, HTML_DIR, Headers, I18nPipe, IGNORE_BASE_URL, JSONP, KeysPipe, LTR, MenuService, ModalHelper, OPTIONS, PATCH, POST, PUT, Path, Payload, PreloadOptionalModules, Query, RAW_BODY, REP_MAX, RTL, RTLService, RTL_DELON_COMPONENTS, RTL_DIRECTION, RTL_NZ_COMPONENTS, ResponsiveService, SPAN_MAX, SettingsService, TitleService, URLPipe, VERSION, YNPipe, _HttpClient, alainI18nCanActivate, alainI18nCanActivateChild, elGR as el_GR, enUS as en_US, esES as es_ES, frFR as fr_FR, hrHR as hr_HR, itIT as it_IT, jaJP as ja_JP, koKR as ko_KR, plPL as pl_PL, provideAlain, slSI as sl_SI, stepPreloader, trTR as tr_TR, viVI as vi_VI, yn, zhCN as zh_CN, zhTW as zh_TW };
2843
2886
  //# sourceMappingURL=theme.mjs.map