@delon/theme 13.5.1 → 14.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/compact.css +1273 -794
  2. package/compact.min.css +1 -1
  3. package/dark.css +1280 -800
  4. package/dark.min.css +1 -1
  5. package/default.css +1275 -796
  6. package/default.min.css +1 -1
  7. package/esm2020/layout-default/layout-header-item-trigger.directive.mjs +4 -4
  8. package/esm2020/layout-default/layout-header-item.component.mjs +4 -4
  9. package/esm2020/layout-default/layout-header.component.mjs +5 -5
  10. package/esm2020/layout-default/layout-nav.component.mjs +34 -47
  11. package/esm2020/layout-default/layout.component.mjs +7 -7
  12. package/esm2020/layout-default/layout.module.mjs +12 -14
  13. package/esm2020/public_api.mjs +2 -3
  14. package/esm2020/setting-drawer/setting-drawer-item.component.mjs +10 -10
  15. package/esm2020/setting-drawer/setting-drawer.component.mjs +16 -16
  16. package/esm2020/setting-drawer/setting-drawer.module.mjs +16 -18
  17. package/esm2020/src/locale/languages/zh-TW.mjs +3 -3
  18. package/esm2020/src/locale/locale.module.mjs +5 -5
  19. package/esm2020/src/locale/locale.service.mjs +4 -4
  20. package/esm2020/src/pipes/date/date.pipe.mjs +4 -4
  21. package/esm2020/src/pipes/keys/keys.pipe.mjs +4 -4
  22. package/esm2020/src/pipes/safe/html.pipe.mjs +4 -4
  23. package/esm2020/src/pipes/safe/url.pipe.mjs +4 -4
  24. package/esm2020/src/pipes/yn/yn.pipe.mjs +4 -4
  25. package/esm2020/src/services/drawer/drawer.helper.mjs +4 -4
  26. package/esm2020/src/services/http/http.client.mjs +4 -4
  27. package/esm2020/src/services/http/http.decorator.mjs +4 -4
  28. package/esm2020/src/services/http/http.token.mjs +38 -0
  29. package/esm2020/src/services/http/index.mjs +4 -0
  30. package/esm2020/src/services/i18n/i18n-url.guard.mjs +4 -4
  31. package/esm2020/src/services/i18n/i18n.mjs +7 -7
  32. package/esm2020/src/services/i18n/i18n.pipe.mjs +4 -4
  33. package/esm2020/src/services/menu/interface.mjs +1 -1
  34. package/esm2020/src/services/menu/menu.service.mjs +127 -36
  35. package/esm2020/src/services/modal/modal.helper.mjs +4 -4
  36. package/esm2020/src/services/responsive/responsive.mjs +4 -4
  37. package/esm2020/src/services/rtl/rtl.service.mjs +4 -4
  38. package/esm2020/src/services/settings/settings.service.mjs +4 -4
  39. package/esm2020/src/services/title/title.service.mjs +71 -49
  40. package/esm2020/src/theme.module.mjs +6 -6
  41. package/esm2020/src/version.mjs +1 -1
  42. package/esm2020/theme-btn/theme-btn.component.mjs +8 -8
  43. package/esm2020/theme-btn/theme-btn.module.mjs +6 -6
  44. package/fesm2015/layout-default.mjs +179 -194
  45. package/fesm2015/layout-default.mjs.map +1 -1
  46. package/fesm2015/setting-drawer.mjs +41 -43
  47. package/fesm2015/setting-drawer.mjs.map +1 -1
  48. package/fesm2015/theme-btn.mjs +12 -12
  49. package/fesm2015/theme-btn.mjs.map +1 -1
  50. package/fesm2015/theme.mjs +301 -148
  51. package/fesm2015/theme.mjs.map +1 -1
  52. package/fesm2020/layout-default.mjs +179 -194
  53. package/fesm2020/layout-default.mjs.map +1 -1
  54. package/fesm2020/setting-drawer.mjs +41 -43
  55. package/fesm2020/setting-drawer.mjs.map +1 -1
  56. package/fesm2020/theme-btn.mjs +12 -12
  57. package/fesm2020/theme-btn.mjs.map +1 -1
  58. package/fesm2020/theme.mjs +298 -148
  59. package/fesm2020/theme.mjs.map +1 -1
  60. package/{theme.d.ts → index.d.ts} +0 -0
  61. package/layout-blank/{layout-blank.d.ts → index.d.ts} +0 -0
  62. package/layout-default/{layout-default.d.ts → index.d.ts} +0 -0
  63. package/layout-default/layout-header-item-trigger.directive.d.ts +1 -1
  64. package/layout-default/layout-header-item.component.d.ts +1 -1
  65. package/layout-default/layout-header.component.d.ts +1 -1
  66. package/layout-default/layout-nav.component.d.ts +4 -3
  67. package/layout-default/layout.component.d.ts +1 -1
  68. package/package.json +10 -10
  69. package/public_api.d.ts +1 -2
  70. package/setting-drawer/{setting-drawer.d.ts → index.d.ts} +0 -0
  71. package/setting-drawer/setting-drawer-item.component.d.ts +1 -1
  72. package/setting-drawer/setting-drawer.component.d.ts +1 -1
  73. package/src/pipes/date/date.pipe.d.ts +1 -1
  74. package/src/pipes/keys/keys.pipe.d.ts +1 -1
  75. package/src/pipes/safe/html.pipe.d.ts +1 -1
  76. package/src/pipes/safe/url.pipe.d.ts +1 -1
  77. package/src/pipes/yn/yn.pipe.d.ts +1 -1
  78. package/src/services/http/http.decorator.d.ts +12 -12
  79. package/src/services/http/http.token.d.ts +37 -0
  80. package/src/services/http/index.d.ts +3 -0
  81. package/src/services/i18n/i18n.pipe.d.ts +1 -1
  82. package/src/services/menu/interface.d.ts +5 -22
  83. package/src/services/menu/menu.service.d.ts +46 -7
  84. package/src/services/title/title.service.d.ts +39 -8
  85. package/system/antd/_drawer.less +55 -4
  86. package/system/theme-default.less +4 -0
  87. package/theme-btn/{theme-btn.d.ts → index.d.ts} +0 -0
  88. package/theme-btn/theme-btn.component.d.ts +1 -1
  89. package/layout-blank/package.json +0 -10
  90. package/layout-default/package.json +0 -10
  91. package/setting-drawer/package.json +0 -10
  92. package/theme-btn/package.json +0 -10
@@ -1,7 +1,7 @@
1
- import * as i6 from '@angular/common';
1
+ import * as i5 from '@angular/common';
2
2
  import { DOCUMENT, CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Component, ViewChild, Input, ChangeDetectionStrategy, EventEmitter, ViewEncapsulation, Inject, Optional, Output, ContentChildren, Directive, NgModule } from '@angular/core';
4
+ import { Component, ViewChild, Input, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, Inject, Optional, Output, ContentChildren, Directive, NgModule } from '@angular/core';
5
5
  import * as i2 from '@angular/router';
6
6
  import { NavigationEnd, RouteConfigLoadStart, NavigationError, NavigationCancel, RouteConfigLoadEnd, RouterModule } from '@angular/router';
7
7
  import { Subject, takeUntil, filter } from 'rxjs';
@@ -9,17 +9,17 @@ import { updateHostClass } from '@delon/util/browser';
9
9
  import * as i2$1 from 'ng-zorro-antd/message';
10
10
  import { NzMessageModule } from 'ng-zorro-antd/message';
11
11
  import * as i1 from '@delon/theme';
12
- import * as i4 from 'ng-zorro-antd/icon';
13
- import { NzIconModule } from 'ng-zorro-antd/icon';
14
12
  import { __decorate } from 'tslib';
15
13
  import { InputBoolean, InputNumber, ZoneOutside } from '@delon/util/decorator';
16
14
  import { WINDOW } from '@delon/util/token';
17
15
  import * as i3 from '@angular/platform-browser';
18
- import * as i4$1 from '@angular/cdk/bidi';
19
- import * as i5 from 'ng-zorro-antd/badge';
20
- import { NzBadgeModule } from 'ng-zorro-antd/badge';
21
- import * as i8 from 'ng-zorro-antd/tooltip';
16
+ import * as i4 from '@angular/cdk/bidi';
17
+ import * as i6 from 'ng-zorro-antd/tooltip';
22
18
  import { NzToolTipModule } from 'ng-zorro-antd/tooltip';
19
+ import * as i7 from 'ng-zorro-antd/icon';
20
+ import { NzIconModule } from 'ng-zorro-antd/icon';
21
+ import * as i8 from 'ng-zorro-antd/badge';
22
+ import { NzBadgeModule } from 'ng-zorro-antd/badge';
23
23
  import { NzAvatarModule } from 'ng-zorro-antd/avatar';
24
24
  import { NzDropDownModule } from 'ng-zorro-antd/dropdown';
25
25
 
@@ -29,13 +29,13 @@ class LayoutDefaultHeaderItemComponent {
29
29
  this.direction = 'right';
30
30
  }
31
31
  }
32
- LayoutDefaultHeaderItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LayoutDefaultHeaderItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
- LayoutDefaultHeaderItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: LayoutDefaultHeaderItemComponent, selector: "layout-default-header-item", inputs: { hidden: "hidden", direction: "direction" }, viewQueries: [{ propertyName: "host", first: true, predicate: ["host"], descendants: true, static: true }], ngImport: i0, template: `
32
+ LayoutDefaultHeaderItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LayoutDefaultHeaderItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
+ LayoutDefaultHeaderItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: LayoutDefaultHeaderItemComponent, selector: "layout-default-header-item", inputs: { hidden: "hidden", direction: "direction" }, viewQueries: [{ propertyName: "host", first: true, predicate: ["host"], descendants: true, static: true }], ngImport: i0, template: `
34
34
  <ng-template #host>
35
35
  <ng-content></ng-content>
36
36
  </ng-template>
37
37
  `, isInline: true });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LayoutDefaultHeaderItemComponent, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LayoutDefaultHeaderItemComponent, decorators: [{
39
39
  type: Component,
40
40
  args: [{
41
41
  selector: 'layout-default-header-item',
@@ -54,125 +54,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
54
54
  type: Input
55
55
  }] } });
56
56
 
57
- class LayoutDefaultHeaderComponent {
58
- constructor(settings, cdr) {
59
- this.settings = settings;
60
- this.cdr = cdr;
61
- this.destroy$ = new Subject();
62
- this.left = [];
63
- this.middle = [];
64
- this.right = [];
65
- }
66
- get app() {
67
- return this.settings.app;
68
- }
69
- get collapsed() {
70
- return this.settings.layout.collapsed;
71
- }
72
- get collapsedIcon() {
73
- let type = this.collapsed ? 'unfold' : 'fold';
74
- if (this.settings.layout.direction === 'rtl') {
75
- type = this.collapsed ? 'fold' : 'unfold';
76
- }
77
- return `menu-${type}`;
78
- }
79
- refresh() {
80
- const arr = this.items.toArray();
81
- this.left = arr.filter(i => i.direction === 'left');
82
- this.middle = arr.filter(i => i.direction === 'middle');
83
- this.right = arr.filter(i => i.direction === 'right');
84
- this.cdr.detectChanges();
85
- }
86
- ngAfterViewInit() {
87
- this.items.changes.pipe(takeUntil(this.destroy$)).subscribe(() => this.refresh());
88
- this.refresh();
89
- }
90
- toggleCollapsed() {
91
- this.settings.setLayout('collapsed', !this.settings.layout.collapsed);
92
- }
93
- ngOnDestroy() {
94
- this.destroy$.next();
95
- this.destroy$.complete();
96
- }
97
- }
98
- LayoutDefaultHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LayoutDefaultHeaderComponent, deps: [{ token: i1.SettingsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
99
- LayoutDefaultHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: LayoutDefaultHeaderComponent, selector: "layout-default-header", inputs: { items: "items", options: "options" }, host: { properties: { "class.alain-default__header": "true" } }, ngImport: i0, template: `
100
- <ng-template #render let-ls>
101
- <li *ngFor="let i of ls" [class.hidden-mobile]="i.hidden === 'mobile'" [class.hidden-pc]="i.hidden === 'pc'">
102
- <ng-container *ngTemplateOutlet="i.host"></ng-container>
103
- </li>
104
- </ng-template>
105
- <div class="alain-default__header-logo" [style.width.px]="options.logoFixWidth">
106
- <ng-container *ngIf="!options.logo; else options.logo!">
107
- <a [routerLink]="options.logoLink" class="alain-default__header-logo-link">
108
- <img class="alain-default__header-logo-expanded" [attr.src]="options.logoExpanded" [attr.alt]="app.name" />
109
- <img class="alain-default__header-logo-collapsed" [attr.src]="options.logoCollapsed" [attr.alt]="app.name" />
110
- </a>
111
- </ng-container>
112
- </div>
113
- <div class="alain-default__nav-wrap">
114
- <ul class="alain-default__nav">
115
- <li *ngIf="!options.hideAside">
116
- <div class="alain-default__nav-item alain-default__nav-item--collapse" (click)="toggleCollapsed()">
117
- <i nz-icon [nzType]="collapsedIcon"></i>
118
- </div>
119
- </li>
120
- <ng-template [ngTemplateOutlet]="render" [ngTemplateOutletContext]="{ $implicit: left }"></ng-template>
121
- </ul>
122
- <div *ngIf="middle.length > 0" class="alain-default__nav alain-default__nav-middle">
123
- <ng-container *ngTemplateOutlet="middle[0].host"></ng-container>
124
- </div>
125
- <ul class="alain-default__nav">
126
- <ng-template [ngTemplateOutlet]="render" [ngTemplateOutletContext]="{ $implicit: right }"></ng-template>
127
- </ul>
128
- </div>
129
- `, isInline: true, directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i4.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LayoutDefaultHeaderComponent, decorators: [{
131
- type: Component,
132
- args: [{
133
- selector: 'layout-default-header',
134
- template: `
135
- <ng-template #render let-ls>
136
- <li *ngFor="let i of ls" [class.hidden-mobile]="i.hidden === 'mobile'" [class.hidden-pc]="i.hidden === 'pc'">
137
- <ng-container *ngTemplateOutlet="i.host"></ng-container>
138
- </li>
139
- </ng-template>
140
- <div class="alain-default__header-logo" [style.width.px]="options.logoFixWidth">
141
- <ng-container *ngIf="!options.logo; else options.logo!">
142
- <a [routerLink]="options.logoLink" class="alain-default__header-logo-link">
143
- <img class="alain-default__header-logo-expanded" [attr.src]="options.logoExpanded" [attr.alt]="app.name" />
144
- <img class="alain-default__header-logo-collapsed" [attr.src]="options.logoCollapsed" [attr.alt]="app.name" />
145
- </a>
146
- </ng-container>
147
- </div>
148
- <div class="alain-default__nav-wrap">
149
- <ul class="alain-default__nav">
150
- <li *ngIf="!options.hideAside">
151
- <div class="alain-default__nav-item alain-default__nav-item--collapse" (click)="toggleCollapsed()">
152
- <i nz-icon [nzType]="collapsedIcon"></i>
153
- </div>
154
- </li>
155
- <ng-template [ngTemplateOutlet]="render" [ngTemplateOutletContext]="{ $implicit: left }"></ng-template>
156
- </ul>
157
- <div *ngIf="middle.length > 0" class="alain-default__nav alain-default__nav-middle">
158
- <ng-container *ngTemplateOutlet="middle[0].host"></ng-container>
159
- </div>
160
- <ul class="alain-default__nav">
161
- <ng-template [ngTemplateOutlet]="render" [ngTemplateOutletContext]="{ $implicit: right }"></ng-template>
162
- </ul>
163
- </div>
164
- `,
165
- host: {
166
- '[class.alain-default__header]': `true`
167
- },
168
- changeDetection: ChangeDetectionStrategy.OnPush
169
- }]
170
- }], ctorParameters: function () { return [{ type: i1.SettingsService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { items: [{
171
- type: Input
172
- }], options: [{
173
- type: Input
174
- }] } });
175
-
176
57
  const SHOWCLS = 'sidebar-nav__floating-show';
177
58
  const FLOATINGCLS = 'sidebar-nav__floating';
178
59
  class LayoutDefaultNavComponent {
@@ -193,10 +74,12 @@ class LayoutDefaultNavComponent {
193
74
  this.disabledAcl = false;
194
75
  this.autoCloseUnderPad = true;
195
76
  this.recursivePath = true;
196
- this.openStrictly = false;
197
77
  this.maxLevelIcon = 3;
198
78
  this.select = new EventEmitter();
199
79
  }
80
+ set openStrictly(value) {
81
+ this.menuSrv.openStrictly = value;
82
+ }
200
83
  get collapsed() {
201
84
  return this.settings.layout.collapsed;
202
85
  }
@@ -310,19 +193,7 @@ class LayoutDefaultNavComponent {
310
193
  this.ngZone.run(() => this.router.navigateByUrl(item.link));
311
194
  }
312
195
  toggleOpen(item) {
313
- if (!this.openStrictly) {
314
- this.menuSrv.visit(this.list, (i) => {
315
- if (i !== item)
316
- i._open = false;
317
- });
318
- let pItem = item._parent;
319
- while (pItem) {
320
- pItem._open = true;
321
- pItem = pItem._parent;
322
- }
323
- }
324
- item._open = !item._open;
325
- this.cdr.markForCheck();
196
+ this.menuSrv.toggleOpen(item);
326
197
  }
327
198
  _click() {
328
199
  if (this.isPad && this.collapsed) {
@@ -335,30 +206,14 @@ class LayoutDefaultNavComponent {
335
206
  this.hideAll();
336
207
  }
337
208
  }
338
- openedByUrl(url) {
339
- const { menuSrv, recursivePath, openStrictly } = this;
340
- let findItem = menuSrv.getHit(this.menuSrv.menus, url, recursivePath, (i) => {
341
- i._selected = false;
342
- if (!openStrictly) {
343
- i._open = false;
344
- }
345
- });
346
- if (findItem == null)
347
- return;
348
- do {
349
- findItem._selected = true;
350
- if (!openStrictly) {
351
- findItem._open = true;
352
- }
353
- findItem = findItem._parent;
354
- } while (findItem);
209
+ openByUrl(url) {
210
+ const { menuSrv, recursivePath } = this;
211
+ this.menuSrv.open(menuSrv.find({ url, recursive: recursivePath }));
355
212
  }
356
213
  ngOnInit() {
357
214
  var _a;
358
215
  const { doc, router, destroy$, menuSrv, settings, cdr } = this;
359
216
  this.bodyEl = doc.querySelector('body');
360
- this.openedByUrl(router.url);
361
- this.ngZone.runOutsideAngular(() => this.genFloating());
362
217
  menuSrv.change.pipe(takeUntil(destroy$)).subscribe(data => {
363
218
  menuSrv.visit(data, (i, _p, depth) => {
364
219
  i._text = this.sanitizer.bypassSecurityTrustHtml(i.text);
@@ -371,20 +226,18 @@ class LayoutDefaultNavComponent {
371
226
  i._hidden = true;
372
227
  }
373
228
  }
374
- if (this.openStrictly) {
375
- i._open = i.open != null ? i.open : false;
376
- }
377
229
  const icon = i.icon;
378
230
  if (icon && icon.type === 'svg' && typeof icon.value === 'string') {
379
231
  icon.value = this.sanitizer.bypassSecurityTrustHtml(icon.value);
380
232
  }
381
233
  });
382
- this.list = menuSrv.menus.filter((w) => w._hidden !== true);
234
+ this.fixHide(data);
235
+ this.list = data.filter((w) => w._hidden !== true);
383
236
  cdr.detectChanges();
384
237
  });
385
238
  router.events.pipe(takeUntil(destroy$)).subscribe(e => {
386
239
  if (e instanceof NavigationEnd) {
387
- this.openedByUrl(e.urlAfterRedirects);
240
+ this.openByUrl(e.urlAfterRedirects);
388
241
  this.underPad();
389
242
  this.cdr.detectChanges();
390
243
  }
@@ -397,6 +250,21 @@ class LayoutDefaultNavComponent {
397
250
  (_a = this.directionality.change) === null || _a === void 0 ? void 0 : _a.pipe(takeUntil(destroy$)).subscribe((direction) => {
398
251
  this.dir = direction;
399
252
  });
253
+ this.openByUrl(router.url);
254
+ this.ngZone.runOutsideAngular(() => this.genFloating());
255
+ }
256
+ fixHide(ls) {
257
+ const inFn = (list) => {
258
+ for (const item of list) {
259
+ if (item.children && item.children.length > 0) {
260
+ inFn(item.children);
261
+ if (!item._hidden) {
262
+ item._hidden = item.children.every((v) => v._hidden);
263
+ }
264
+ }
265
+ }
266
+ };
267
+ inFn(ls);
400
268
  }
401
269
  ngOnDestroy() {
402
270
  this.destroy$.next();
@@ -416,8 +284,8 @@ class LayoutDefaultNavComponent {
416
284
  this.settings.setLayout('collapsed', status);
417
285
  }
418
286
  }
419
- LayoutDefaultNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LayoutDefaultNavComponent, deps: [{ token: i1.MenuService }, { token: i1.SettingsService }, { token: i2.Router }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i3.DomSanitizer }, { token: DOCUMENT }, { token: WINDOW }, { token: i4$1.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Component });
420
- LayoutDefaultNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: LayoutDefaultNavComponent, selector: "layout-default-nav", inputs: { disabledAcl: "disabledAcl", autoCloseUnderPad: "autoCloseUnderPad", recursivePath: "recursivePath", openStrictly: "openStrictly", maxLevelIcon: "maxLevelIcon" }, outputs: { select: "select" }, host: { listeners: { "click": "_click()", "document:click": "closeSubMenu()" } }, ngImport: i0, template: "<ng-template #icon let-i>\n <ng-container *ngIf=\"i\" [ngSwitch]=\"i.type\">\n <i\n *ngSwitchCase=\"'icon'\"\n class=\"sidebar-nav__item-icon\"\n nz-icon\n [nzType]=\"i.value\"\n [nzTheme]=\"i.theme\"\n [nzSpin]=\"i.spin\"\n [nzTwotoneColor]=\"i.twoToneColor\"\n [nzIconfont]=\"i.iconfont\"\n [nzRotate]=\"i.rotate\"\n ></i>\n <i *ngSwitchCase=\"'iconfont'\" class=\"sidebar-nav__item-icon\" nz-icon [nzIconfont]=\"i.iconfont\"></i>\n <img *ngSwitchCase=\"'img'\" [src]=\"i.value\" class=\"sidebar-nav__item-icon sidebar-nav__item-img\" />\n <span *ngSwitchCase=\"'svg'\" class=\"sidebar-nav__item-icon sidebar-nav__item-svg\" [innerHTML]=\"i.value\"></span>\n <i *ngSwitchDefault class=\"sidebar-nav__item-icon {{ i.value }}\"></i>\n </ng-container>\n</ng-template>\n<ng-template #tree let-ls>\n <ng-container *ngFor=\"let i of ls\">\n <li\n *ngIf=\"i._hidden !== true\"\n class=\"sidebar-nav__item\"\n [class.sidebar-nav__selected]=\"i._selected\"\n [class.sidebar-nav__open]=\"i._open\"\n >\n <!-- link -->\n <a\n *ngIf=\"i.children.length === 0\"\n (click)=\"to(i)\"\n [attr.data-id]=\"i._id\"\n class=\"sidebar-nav__item-link\"\n [ngClass]=\"{ 'sidebar-nav__item-disabled': i.disabled }\"\n (mouseenter)=\"closeSubMenu()\"\n >\n <ng-container *ngIf=\"i._needIcon\">\n <ng-container *ngIf=\"!collapsed\">\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\"></ng-template>\n </ng-container>\n <span *ngIf=\"collapsed\" nz-tooltip nzTooltipPlacement=\"right\" [nzTooltipTitle]=\"i.text\">\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\"></ng-template>\n </span>\n </ng-container>\n <span class=\"sidebar-nav__item-text\" [innerHTML]=\"i._text\" [attr.title]=\"i.text\"></span>\n </a>\n <!-- has children link -->\n <a\n *ngIf=\"i.children.length > 0\"\n (click)=\"toggleOpen(i)\"\n (mouseenter)=\"showSubMenu($event, i)\"\n class=\"sidebar-nav__item-link\"\n >\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\"></ng-template>\n <span class=\"sidebar-nav__item-text\" [innerHTML]=\"i._text\" [attr.title]=\"i.text\"></span>\n <i class=\"sidebar-nav__sub-arrow\"></i>\n </a>\n <!-- badge -->\n <nz-badge *ngIf=\"i.badge\" [nzCount]=\"i.badge\" [nzDot]=\"i.badgeDot\" nzStandalone [nzOverflowCount]=\"9\"></nz-badge>\n <ul *ngIf=\"i.children.length > 0\" class=\"sidebar-nav sidebar-nav__sub sidebar-nav__depth{{ i._depth }}\">\n <ng-template [ngTemplateOutlet]=\"tree\" [ngTemplateOutletContext]=\"{ $implicit: i.children }\"></ng-template>\n </ul>\n </li>\n </ng-container>\n</ng-template>\n<ul class=\"sidebar-nav\">\n <ng-container *ngFor=\"let group of list\">\n <li class=\"sidebar-nav__item sidebar-nav__group-title\" *ngIf=\"group.group\">\n <span [innerHTML]=\"group._text\"></span>\n </li>\n <ng-template [ngTemplateOutlet]=\"tree\" [ngTemplateOutletContext]=\"{ $implicit: group.children }\"></ng-template>\n </ng-container>\n</ul>\n", components: [{ type: i5.NzBadgeComponent, selector: "nz-badge", inputs: ["nzShowZero", "nzShowDot", "nzStandalone", "nzDot", "nzOverflowCount", "nzColor", "nzStyle", "nzText", "nzTitle", "nzStatus", "nzCount", "nzOffset"], exportAs: ["nzBadge"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i4.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { type: i6.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
287
+ LayoutDefaultNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LayoutDefaultNavComponent, deps: [{ token: i1.MenuService }, { token: i1.SettingsService }, { token: i2.Router }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i3.DomSanitizer }, { token: DOCUMENT }, { token: WINDOW }, { token: i4.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Component });
288
+ LayoutDefaultNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: LayoutDefaultNavComponent, selector: "layout-default-nav", inputs: { disabledAcl: "disabledAcl", autoCloseUnderPad: "autoCloseUnderPad", recursivePath: "recursivePath", openStrictly: "openStrictly", maxLevelIcon: "maxLevelIcon" }, outputs: { select: "select" }, host: { listeners: { "click": "_click()", "document:click": "closeSubMenu()" } }, ngImport: i0, template: "<ng-template #icon let-i>\n <ng-container *ngIf=\"i\" [ngSwitch]=\"i.type\">\n <i\n *ngSwitchCase=\"'icon'\"\n class=\"sidebar-nav__item-icon\"\n nz-icon\n [nzType]=\"i.value\"\n [nzTheme]=\"i.theme\"\n [nzSpin]=\"i.spin\"\n [nzTwotoneColor]=\"i.twoToneColor\"\n [nzIconfont]=\"i.iconfont\"\n [nzRotate]=\"i.rotate\"\n ></i>\n <i *ngSwitchCase=\"'iconfont'\" class=\"sidebar-nav__item-icon\" nz-icon [nzIconfont]=\"i.iconfont\"></i>\n <img *ngSwitchCase=\"'img'\" [src]=\"i.value\" class=\"sidebar-nav__item-icon sidebar-nav__item-img\" />\n <span *ngSwitchCase=\"'svg'\" class=\"sidebar-nav__item-icon sidebar-nav__item-svg\" [innerHTML]=\"i.value\"></span>\n <i *ngSwitchDefault class=\"sidebar-nav__item-icon {{ i.value }}\"></i>\n </ng-container>\n</ng-template>\n<ng-template #tree let-ls>\n <ng-container *ngFor=\"let i of ls\">\n <li\n *ngIf=\"i._hidden !== true\"\n class=\"sidebar-nav__item\"\n [class.sidebar-nav__selected]=\"i._selected\"\n [class.sidebar-nav__open]=\"i.open\"\n >\n <!-- link -->\n <a\n *ngIf=\"i.children.length === 0\"\n (click)=\"to(i)\"\n [attr.data-id]=\"i._id\"\n class=\"sidebar-nav__item-link\"\n [ngClass]=\"{ 'sidebar-nav__item-disabled': i.disabled }\"\n (mouseenter)=\"closeSubMenu()\"\n >\n <ng-container *ngIf=\"i._needIcon\">\n <ng-container *ngIf=\"!collapsed\">\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\"></ng-template>\n </ng-container>\n <span *ngIf=\"collapsed\" nz-tooltip nzTooltipPlacement=\"right\" [nzTooltipTitle]=\"i.text\">\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\"></ng-template>\n </span>\n </ng-container>\n <span class=\"sidebar-nav__item-text\" [innerHTML]=\"i._text\" [attr.title]=\"i.text\"></span>\n </a>\n <!-- has children link -->\n <a\n *ngIf=\"i.children.length > 0\"\n (click)=\"toggleOpen(i)\"\n (mouseenter)=\"showSubMenu($event, i)\"\n class=\"sidebar-nav__item-link\"\n >\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\"></ng-template>\n <span class=\"sidebar-nav__item-text\" [innerHTML]=\"i._text\" [attr.title]=\"i.text\"></span>\n <i class=\"sidebar-nav__sub-arrow\"></i>\n </a>\n <!-- badge -->\n <nz-badge *ngIf=\"i.badge\" [nzCount]=\"i.badge\" [nzDot]=\"i.badgeDot\" nzStandalone [nzOverflowCount]=\"9\"></nz-badge>\n <ul *ngIf=\"i.children.length > 0\" class=\"sidebar-nav sidebar-nav__sub sidebar-nav__depth{{ i._depth }}\">\n <ng-template [ngTemplateOutlet]=\"tree\" [ngTemplateOutletContext]=\"{ $implicit: i.children }\"></ng-template>\n </ul>\n </li>\n </ng-container>\n</ng-template>\n<ul class=\"sidebar-nav\">\n <ng-container *ngFor=\"let group of list\">\n <li class=\"sidebar-nav__item sidebar-nav__group-title\" *ngIf=\"group.group\">\n <span [innerHTML]=\"group._text\"></span>\n </li>\n <ng-template [ngTemplateOutlet]=\"tree\" [ngTemplateOutletContext]=\"{ $implicit: group.children }\"></ng-template>\n </ng-container>\n</ul>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i5.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i6.NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }, { kind: "directive", type: i7.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: i8.NzBadgeComponent, selector: "nz-badge", inputs: ["nzShowZero", "nzShowDot", "nzStandalone", "nzDot", "nzOverflowCount", "nzColor", "nzStyle", "nzText", "nzTitle", "nzStatus", "nzCount", "nzOffset", "nzSize"], exportAs: ["nzBadge"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
421
289
  __decorate([
422
290
  InputBoolean()
423
291
  ], LayoutDefaultNavComponent.prototype, "disabledAcl", void 0);
@@ -429,19 +297,19 @@ __decorate([
429
297
  ], LayoutDefaultNavComponent.prototype, "recursivePath", void 0);
430
298
  __decorate([
431
299
  InputBoolean()
432
- ], LayoutDefaultNavComponent.prototype, "openStrictly", void 0);
300
+ ], LayoutDefaultNavComponent.prototype, "openStrictly", null);
433
301
  __decorate([
434
302
  InputNumber()
435
303
  ], LayoutDefaultNavComponent.prototype, "maxLevelIcon", void 0);
436
304
  __decorate([
437
305
  ZoneOutside()
438
306
  ], LayoutDefaultNavComponent.prototype, "showSubMenu", null);
439
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LayoutDefaultNavComponent, decorators: [{
307
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LayoutDefaultNavComponent, decorators: [{
440
308
  type: Component,
441
309
  args: [{ selector: 'layout-default-nav', host: {
442
310
  '(click)': '_click()',
443
311
  '(document:click)': 'closeSubMenu()'
444
- }, preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-template #icon let-i>\n <ng-container *ngIf=\"i\" [ngSwitch]=\"i.type\">\n <i\n *ngSwitchCase=\"'icon'\"\n class=\"sidebar-nav__item-icon\"\n nz-icon\n [nzType]=\"i.value\"\n [nzTheme]=\"i.theme\"\n [nzSpin]=\"i.spin\"\n [nzTwotoneColor]=\"i.twoToneColor\"\n [nzIconfont]=\"i.iconfont\"\n [nzRotate]=\"i.rotate\"\n ></i>\n <i *ngSwitchCase=\"'iconfont'\" class=\"sidebar-nav__item-icon\" nz-icon [nzIconfont]=\"i.iconfont\"></i>\n <img *ngSwitchCase=\"'img'\" [src]=\"i.value\" class=\"sidebar-nav__item-icon sidebar-nav__item-img\" />\n <span *ngSwitchCase=\"'svg'\" class=\"sidebar-nav__item-icon sidebar-nav__item-svg\" [innerHTML]=\"i.value\"></span>\n <i *ngSwitchDefault class=\"sidebar-nav__item-icon {{ i.value }}\"></i>\n </ng-container>\n</ng-template>\n<ng-template #tree let-ls>\n <ng-container *ngFor=\"let i of ls\">\n <li\n *ngIf=\"i._hidden !== true\"\n class=\"sidebar-nav__item\"\n [class.sidebar-nav__selected]=\"i._selected\"\n [class.sidebar-nav__open]=\"i._open\"\n >\n <!-- link -->\n <a\n *ngIf=\"i.children.length === 0\"\n (click)=\"to(i)\"\n [attr.data-id]=\"i._id\"\n class=\"sidebar-nav__item-link\"\n [ngClass]=\"{ 'sidebar-nav__item-disabled': i.disabled }\"\n (mouseenter)=\"closeSubMenu()\"\n >\n <ng-container *ngIf=\"i._needIcon\">\n <ng-container *ngIf=\"!collapsed\">\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\"></ng-template>\n </ng-container>\n <span *ngIf=\"collapsed\" nz-tooltip nzTooltipPlacement=\"right\" [nzTooltipTitle]=\"i.text\">\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\"></ng-template>\n </span>\n </ng-container>\n <span class=\"sidebar-nav__item-text\" [innerHTML]=\"i._text\" [attr.title]=\"i.text\"></span>\n </a>\n <!-- has children link -->\n <a\n *ngIf=\"i.children.length > 0\"\n (click)=\"toggleOpen(i)\"\n (mouseenter)=\"showSubMenu($event, i)\"\n class=\"sidebar-nav__item-link\"\n >\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\"></ng-template>\n <span class=\"sidebar-nav__item-text\" [innerHTML]=\"i._text\" [attr.title]=\"i.text\"></span>\n <i class=\"sidebar-nav__sub-arrow\"></i>\n </a>\n <!-- badge -->\n <nz-badge *ngIf=\"i.badge\" [nzCount]=\"i.badge\" [nzDot]=\"i.badgeDot\" nzStandalone [nzOverflowCount]=\"9\"></nz-badge>\n <ul *ngIf=\"i.children.length > 0\" class=\"sidebar-nav sidebar-nav__sub sidebar-nav__depth{{ i._depth }}\">\n <ng-template [ngTemplateOutlet]=\"tree\" [ngTemplateOutletContext]=\"{ $implicit: i.children }\"></ng-template>\n </ul>\n </li>\n </ng-container>\n</ng-template>\n<ul class=\"sidebar-nav\">\n <ng-container *ngFor=\"let group of list\">\n <li class=\"sidebar-nav__item sidebar-nav__group-title\" *ngIf=\"group.group\">\n <span [innerHTML]=\"group._text\"></span>\n </li>\n <ng-template [ngTemplateOutlet]=\"tree\" [ngTemplateOutletContext]=\"{ $implicit: group.children }\"></ng-template>\n </ng-container>\n</ul>\n" }]
312
+ }, preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-template #icon let-i>\n <ng-container *ngIf=\"i\" [ngSwitch]=\"i.type\">\n <i\n *ngSwitchCase=\"'icon'\"\n class=\"sidebar-nav__item-icon\"\n nz-icon\n [nzType]=\"i.value\"\n [nzTheme]=\"i.theme\"\n [nzSpin]=\"i.spin\"\n [nzTwotoneColor]=\"i.twoToneColor\"\n [nzIconfont]=\"i.iconfont\"\n [nzRotate]=\"i.rotate\"\n ></i>\n <i *ngSwitchCase=\"'iconfont'\" class=\"sidebar-nav__item-icon\" nz-icon [nzIconfont]=\"i.iconfont\"></i>\n <img *ngSwitchCase=\"'img'\" [src]=\"i.value\" class=\"sidebar-nav__item-icon sidebar-nav__item-img\" />\n <span *ngSwitchCase=\"'svg'\" class=\"sidebar-nav__item-icon sidebar-nav__item-svg\" [innerHTML]=\"i.value\"></span>\n <i *ngSwitchDefault class=\"sidebar-nav__item-icon {{ i.value }}\"></i>\n </ng-container>\n</ng-template>\n<ng-template #tree let-ls>\n <ng-container *ngFor=\"let i of ls\">\n <li\n *ngIf=\"i._hidden !== true\"\n class=\"sidebar-nav__item\"\n [class.sidebar-nav__selected]=\"i._selected\"\n [class.sidebar-nav__open]=\"i.open\"\n >\n <!-- link -->\n <a\n *ngIf=\"i.children.length === 0\"\n (click)=\"to(i)\"\n [attr.data-id]=\"i._id\"\n class=\"sidebar-nav__item-link\"\n [ngClass]=\"{ 'sidebar-nav__item-disabled': i.disabled }\"\n (mouseenter)=\"closeSubMenu()\"\n >\n <ng-container *ngIf=\"i._needIcon\">\n <ng-container *ngIf=\"!collapsed\">\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\"></ng-template>\n </ng-container>\n <span *ngIf=\"collapsed\" nz-tooltip nzTooltipPlacement=\"right\" [nzTooltipTitle]=\"i.text\">\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\"></ng-template>\n </span>\n </ng-container>\n <span class=\"sidebar-nav__item-text\" [innerHTML]=\"i._text\" [attr.title]=\"i.text\"></span>\n </a>\n <!-- has children link -->\n <a\n *ngIf=\"i.children.length > 0\"\n (click)=\"toggleOpen(i)\"\n (mouseenter)=\"showSubMenu($event, i)\"\n class=\"sidebar-nav__item-link\"\n >\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\"></ng-template>\n <span class=\"sidebar-nav__item-text\" [innerHTML]=\"i._text\" [attr.title]=\"i.text\"></span>\n <i class=\"sidebar-nav__sub-arrow\"></i>\n </a>\n <!-- badge -->\n <nz-badge *ngIf=\"i.badge\" [nzCount]=\"i.badge\" [nzDot]=\"i.badgeDot\" nzStandalone [nzOverflowCount]=\"9\"></nz-badge>\n <ul *ngIf=\"i.children.length > 0\" class=\"sidebar-nav sidebar-nav__sub sidebar-nav__depth{{ i._depth }}\">\n <ng-template [ngTemplateOutlet]=\"tree\" [ngTemplateOutletContext]=\"{ $implicit: i.children }\"></ng-template>\n </ul>\n </li>\n </ng-container>\n</ng-template>\n<ul class=\"sidebar-nav\">\n <ng-container *ngFor=\"let group of list\">\n <li class=\"sidebar-nav__item sidebar-nav__group-title\" *ngIf=\"group.group\">\n <span [innerHTML]=\"group._text\"></span>\n </li>\n <ng-template [ngTemplateOutlet]=\"tree\" [ngTemplateOutletContext]=\"{ $implicit: group.children }\"></ng-template>\n </ng-container>\n</ul>\n" }]
445
313
  }], ctorParameters: function () {
446
314
  return [{ type: i1.MenuService }, { type: i1.SettingsService }, { type: i2.Router }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i3.DomSanitizer }, { type: undefined, decorators: [{
447
315
  type: Inject,
@@ -449,7 +317,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
449
317
  }] }, { type: undefined, decorators: [{
450
318
  type: Inject,
451
319
  args: [WINDOW]
452
- }] }, { type: i4$1.Directionality, decorators: [{
320
+ }] }, { type: i4.Directionality, decorators: [{
453
321
  type: Optional
454
322
  }] }];
455
323
  }, propDecorators: { disabledAcl: [{
@@ -466,6 +334,125 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
466
334
  type: Output
467
335
  }], showSubMenu: [] } });
468
336
 
337
+ class LayoutDefaultHeaderComponent {
338
+ constructor(settings, cdr) {
339
+ this.settings = settings;
340
+ this.cdr = cdr;
341
+ this.destroy$ = new Subject();
342
+ this.left = [];
343
+ this.middle = [];
344
+ this.right = [];
345
+ }
346
+ get app() {
347
+ return this.settings.app;
348
+ }
349
+ get collapsed() {
350
+ return this.settings.layout.collapsed;
351
+ }
352
+ get collapsedIcon() {
353
+ let type = this.collapsed ? 'unfold' : 'fold';
354
+ if (this.settings.layout.direction === 'rtl') {
355
+ type = this.collapsed ? 'fold' : 'unfold';
356
+ }
357
+ return `menu-${type}`;
358
+ }
359
+ refresh() {
360
+ const arr = this.items.toArray();
361
+ this.left = arr.filter(i => i.direction === 'left');
362
+ this.middle = arr.filter(i => i.direction === 'middle');
363
+ this.right = arr.filter(i => i.direction === 'right');
364
+ this.cdr.detectChanges();
365
+ }
366
+ ngAfterViewInit() {
367
+ this.items.changes.pipe(takeUntil(this.destroy$)).subscribe(() => this.refresh());
368
+ this.refresh();
369
+ }
370
+ toggleCollapsed() {
371
+ this.settings.setLayout('collapsed', !this.settings.layout.collapsed);
372
+ }
373
+ ngOnDestroy() {
374
+ this.destroy$.next();
375
+ this.destroy$.complete();
376
+ }
377
+ }
378
+ LayoutDefaultHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LayoutDefaultHeaderComponent, deps: [{ token: i1.SettingsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
379
+ LayoutDefaultHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: LayoutDefaultHeaderComponent, selector: "layout-default-header", inputs: { items: "items", options: "options" }, host: { properties: { "class.alain-default__header": "true" } }, ngImport: i0, template: `
380
+ <ng-template #render let-ls>
381
+ <li *ngFor="let i of ls" [class.hidden-mobile]="i.hidden === 'mobile'" [class.hidden-pc]="i.hidden === 'pc'">
382
+ <ng-container *ngTemplateOutlet="i.host"></ng-container>
383
+ </li>
384
+ </ng-template>
385
+ <div class="alain-default__header-logo" [style.width.px]="options.logoFixWidth">
386
+ <ng-container *ngIf="!options.logo; else options.logo!">
387
+ <a [routerLink]="options.logoLink" class="alain-default__header-logo-link">
388
+ <img class="alain-default__header-logo-expanded" [attr.src]="options.logoExpanded" [attr.alt]="app.name" />
389
+ <img class="alain-default__header-logo-collapsed" [attr.src]="options.logoCollapsed" [attr.alt]="app.name" />
390
+ </a>
391
+ </ng-container>
392
+ </div>
393
+ <div class="alain-default__nav-wrap">
394
+ <ul class="alain-default__nav">
395
+ <li *ngIf="!options.hideAside">
396
+ <div class="alain-default__nav-item alain-default__nav-item--collapse" (click)="toggleCollapsed()">
397
+ <i nz-icon [nzType]="collapsedIcon"></i>
398
+ </div>
399
+ </li>
400
+ <ng-template [ngTemplateOutlet]="render" [ngTemplateOutletContext]="{ $implicit: left }"></ng-template>
401
+ </ul>
402
+ <div *ngIf="middle.length > 0" class="alain-default__nav alain-default__nav-middle">
403
+ <ng-container *ngTemplateOutlet="middle[0].host"></ng-container>
404
+ </div>
405
+ <ul class="alain-default__nav">
406
+ <ng-template [ngTemplateOutlet]="render" [ngTemplateOutletContext]="{ $implicit: right }"></ng-template>
407
+ </ul>
408
+ </div>
409
+ `, isInline: true, dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i7.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
410
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LayoutDefaultHeaderComponent, decorators: [{
411
+ type: Component,
412
+ args: [{
413
+ selector: 'layout-default-header',
414
+ template: `
415
+ <ng-template #render let-ls>
416
+ <li *ngFor="let i of ls" [class.hidden-mobile]="i.hidden === 'mobile'" [class.hidden-pc]="i.hidden === 'pc'">
417
+ <ng-container *ngTemplateOutlet="i.host"></ng-container>
418
+ </li>
419
+ </ng-template>
420
+ <div class="alain-default__header-logo" [style.width.px]="options.logoFixWidth">
421
+ <ng-container *ngIf="!options.logo; else options.logo!">
422
+ <a [routerLink]="options.logoLink" class="alain-default__header-logo-link">
423
+ <img class="alain-default__header-logo-expanded" [attr.src]="options.logoExpanded" [attr.alt]="app.name" />
424
+ <img class="alain-default__header-logo-collapsed" [attr.src]="options.logoCollapsed" [attr.alt]="app.name" />
425
+ </a>
426
+ </ng-container>
427
+ </div>
428
+ <div class="alain-default__nav-wrap">
429
+ <ul class="alain-default__nav">
430
+ <li *ngIf="!options.hideAside">
431
+ <div class="alain-default__nav-item alain-default__nav-item--collapse" (click)="toggleCollapsed()">
432
+ <i nz-icon [nzType]="collapsedIcon"></i>
433
+ </div>
434
+ </li>
435
+ <ng-template [ngTemplateOutlet]="render" [ngTemplateOutletContext]="{ $implicit: left }"></ng-template>
436
+ </ul>
437
+ <div *ngIf="middle.length > 0" class="alain-default__nav alain-default__nav-middle">
438
+ <ng-container *ngTemplateOutlet="middle[0].host"></ng-container>
439
+ </div>
440
+ <ul class="alain-default__nav">
441
+ <ng-template [ngTemplateOutlet]="render" [ngTemplateOutletContext]="{ $implicit: right }"></ng-template>
442
+ </ul>
443
+ </div>
444
+ `,
445
+ host: {
446
+ '[class.alain-default__header]': `true`
447
+ },
448
+ changeDetection: ChangeDetectionStrategy.OnPush
449
+ }]
450
+ }], ctorParameters: function () { return [{ type: i1.SettingsService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { items: [{
451
+ type: Input
452
+ }], options: [{
453
+ type: Input
454
+ }] } });
455
+
469
456
  class LayoutDefaultComponent {
470
457
  constructor(router, msgSrv, settings, el, renderer, doc) {
471
458
  this.msgSrv = msgSrv;
@@ -524,8 +511,8 @@ class LayoutDefaultComponent {
524
511
  this.destroy$.complete();
525
512
  }
526
513
  }
527
- LayoutDefaultComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LayoutDefaultComponent, deps: [{ token: i2.Router }, { token: i2$1.NzMessageService }, { token: i1.SettingsService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
528
- LayoutDefaultComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: LayoutDefaultComponent, selector: "layout-default", inputs: { options: "options", asideUser: "asideUser", nav: "nav", content: "content", customError: "customError" }, queries: [{ propertyName: "headerItems", predicate: LayoutDefaultHeaderItemComponent }], exportAs: ["layoutDefault"], ngImport: i0, template: `
514
+ LayoutDefaultComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LayoutDefaultComponent, deps: [{ token: i2.Router }, { token: i2$1.NzMessageService }, { token: i1.SettingsService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
515
+ LayoutDefaultComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: LayoutDefaultComponent, selector: "layout-default", inputs: { options: "options", asideUser: "asideUser", nav: "nav", content: "content", customError: "customError" }, queries: [{ propertyName: "headerItems", predicate: LayoutDefaultHeaderItemComponent }], exportAs: ["layoutDefault"], ngImport: i0, template: `
529
516
  <div class="alain-default__progress-bar" *ngIf="isFetching"></div>
530
517
  <layout-default-header [options]="options" [items]="headerItems"></layout-default-header>
531
518
  <div *ngIf="!options.hideAside" class="alain-default__aside">
@@ -539,8 +526,8 @@ LayoutDefaultComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
539
526
  <ng-container *ngTemplateOutlet="content"></ng-container>
540
527
  <ng-content></ng-content>
541
528
  </section>
542
- `, isInline: true, components: [{ type: LayoutDefaultHeaderComponent, selector: "layout-default-header", inputs: ["items", "options"] }, { type: LayoutDefaultNavComponent, selector: "layout-default-nav", inputs: ["disabledAcl", "autoCloseUnderPad", "recursivePath", "openStrictly", "maxLevelIcon"], outputs: ["select"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
543
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LayoutDefaultComponent, decorators: [{
529
+ `, isInline: true, dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: LayoutDefaultNavComponent, selector: "layout-default-nav", inputs: ["disabledAcl", "autoCloseUnderPad", "recursivePath", "openStrictly", "maxLevelIcon"], outputs: ["select"] }, { kind: "component", type: LayoutDefaultHeaderComponent, selector: "layout-default-header", inputs: ["items", "options"] }] });
530
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LayoutDefaultComponent, decorators: [{
544
531
  type: Component,
545
532
  args: [{
546
533
  selector: 'layout-default',
@@ -583,9 +570,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
583
570
 
584
571
  class LayoutDefaultHeaderItemTriggerDirective {
585
572
  }
586
- LayoutDefaultHeaderItemTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LayoutDefaultHeaderItemTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
587
- LayoutDefaultHeaderItemTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: LayoutDefaultHeaderItemTriggerDirective, selector: "[layout-default-header-item-trigger]", host: { properties: { "class.alain-default__nav-item": "true" } }, ngImport: i0 });
588
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LayoutDefaultHeaderItemTriggerDirective, decorators: [{
573
+ LayoutDefaultHeaderItemTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LayoutDefaultHeaderItemTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
574
+ LayoutDefaultHeaderItemTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: LayoutDefaultHeaderItemTriggerDirective, selector: "[layout-default-header-item-trigger]", host: { properties: { "class.alain-default__nav-item": "true" } }, ngImport: i0 });
575
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LayoutDefaultHeaderItemTriggerDirective, decorators: [{
589
576
  type: Directive,
590
577
  args: [{
591
578
  selector: '[layout-default-header-item-trigger]',
@@ -604,8 +591,8 @@ const COMPONENTS = [
604
591
  ];
605
592
  class LayoutDefaultModule {
606
593
  }
607
- LayoutDefaultModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LayoutDefaultModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
608
- LayoutDefaultModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LayoutDefaultModule, declarations: [LayoutDefaultComponent,
594
+ LayoutDefaultModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LayoutDefaultModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
595
+ LayoutDefaultModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: LayoutDefaultModule, declarations: [LayoutDefaultComponent,
609
596
  LayoutDefaultNavComponent,
610
597
  LayoutDefaultHeaderComponent,
611
598
  LayoutDefaultHeaderItemComponent,
@@ -621,17 +608,15 @@ LayoutDefaultModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ver
621
608
  LayoutDefaultHeaderComponent,
622
609
  LayoutDefaultHeaderItemComponent,
623
610
  LayoutDefaultHeaderItemTriggerDirective] });
624
- LayoutDefaultModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LayoutDefaultModule, imports: [[
625
- CommonModule,
626
- RouterModule,
627
- NzToolTipModule,
628
- NzIconModule,
629
- NzAvatarModule,
630
- NzDropDownModule,
631
- NzMessageModule,
632
- NzBadgeModule
633
- ]] });
634
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LayoutDefaultModule, decorators: [{
611
+ LayoutDefaultModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LayoutDefaultModule, imports: [CommonModule,
612
+ RouterModule,
613
+ NzToolTipModule,
614
+ NzIconModule,
615
+ NzAvatarModule,
616
+ NzDropDownModule,
617
+ NzMessageModule,
618
+ NzBadgeModule] });
619
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LayoutDefaultModule, decorators: [{
635
620
  type: NgModule,
636
621
  args: [{
637
622
  imports: [