@delon/theme 14.2.0 → 14.3.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 (67) hide show
  1. package/compact.css +147 -10
  2. package/compact.min.css +1 -1
  3. package/dark.css +147 -10
  4. package/dark.min.css +1 -1
  5. package/default.css +147 -10
  6. package/default.min.css +1 -1
  7. package/esm2020/layout-default/layout-header-item-trigger.directive.mjs +3 -3
  8. package/esm2020/layout-default/layout-header-item.component.mjs +3 -3
  9. package/esm2020/layout-default/layout-header.component.mjs +33 -33
  10. package/esm2020/layout-default/layout-nav.component.mjs +6 -5
  11. package/esm2020/layout-default/layout.component.mjs +66 -35
  12. package/esm2020/layout-default/layout.module.mjs +4 -4
  13. package/esm2020/layout-default/layout.service.mjs +65 -0
  14. package/esm2020/layout-default/public_api.mjs +2 -1
  15. package/esm2020/layout-default/types.mjs +1 -1
  16. package/esm2020/setting-drawer/setting-drawer-item.component.mjs +3 -3
  17. package/esm2020/setting-drawer/setting-drawer.component.mjs +3 -3
  18. package/esm2020/setting-drawer/setting-drawer.module.mjs +4 -4
  19. package/esm2020/src/locale/locale.module.mjs +4 -4
  20. package/esm2020/src/locale/locale.service.mjs +3 -3
  21. package/esm2020/src/pipes/date/date.pipe.mjs +3 -3
  22. package/esm2020/src/pipes/keys/keys.pipe.mjs +3 -3
  23. package/esm2020/src/pipes/safe/html.pipe.mjs +3 -3
  24. package/esm2020/src/pipes/safe/url.pipe.mjs +3 -3
  25. package/esm2020/src/pipes/yn/yn.pipe.mjs +3 -3
  26. package/esm2020/src/services/drawer/drawer.helper.mjs +3 -3
  27. package/esm2020/src/services/http/http.client.mjs +3 -3
  28. package/esm2020/src/services/http/http.decorator.mjs +3 -3
  29. package/esm2020/src/services/i18n/i18n-url.guard.mjs +3 -3
  30. package/esm2020/src/services/i18n/i18n.mjs +6 -6
  31. package/esm2020/src/services/i18n/i18n.pipe.mjs +3 -3
  32. package/esm2020/src/services/menu/menu.service.mjs +3 -3
  33. package/esm2020/src/services/modal/modal.helper.mjs +3 -3
  34. package/esm2020/src/services/responsive/responsive.mjs +3 -3
  35. package/esm2020/src/services/rtl/rtl.service.mjs +3 -3
  36. package/esm2020/src/services/settings/settings.service.mjs +3 -3
  37. package/esm2020/src/services/title/title.service.mjs +3 -3
  38. package/esm2020/src/theme.module.mjs +4 -4
  39. package/esm2020/src/version.mjs +1 -1
  40. package/esm2020/theme-btn/theme-btn.component.mjs +3 -3
  41. package/esm2020/theme-btn/theme-btn.module.mjs +4 -4
  42. package/fesm2015/layout-default.mjs +164 -71
  43. package/fesm2015/layout-default.mjs.map +1 -1
  44. package/fesm2015/setting-drawer.mjs +10 -10
  45. package/fesm2015/setting-drawer.mjs.map +1 -1
  46. package/fesm2015/theme-btn.mjs +7 -7
  47. package/fesm2015/theme.mjs +66 -66
  48. package/fesm2015/theme.mjs.map +1 -1
  49. package/fesm2020/layout-default.mjs +167 -77
  50. package/fesm2020/layout-default.mjs.map +1 -1
  51. package/fesm2020/setting-drawer.mjs +10 -10
  52. package/fesm2020/setting-drawer.mjs.map +1 -1
  53. package/fesm2020/theme-btn.mjs +7 -7
  54. package/fesm2020/theme.mjs +66 -66
  55. package/fesm2020/theme.mjs.map +1 -1
  56. package/layout-default/layout-header.component.d.ts +5 -3
  57. package/layout-default/layout.component.d.ts +12 -6
  58. package/layout-default/layout.service.d.ts +28 -0
  59. package/layout-default/public_api.d.ts +1 -0
  60. package/layout-default/style/_aside.less +18 -1
  61. package/layout-default/style/_fixed.less +4 -0
  62. package/layout-default/style/_layout.less +6 -0
  63. package/layout-default/style/fix/_reuse-tab.less +6 -0
  64. package/layout-default/style/fix/_sidebar-nav.less +1 -1
  65. package/layout-default/style/theme-default.less +1 -0
  66. package/layout-default/types.d.ts +18 -0
  67. package/package.json +3 -3
@@ -1,14 +1,16 @@
1
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, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, Inject, Optional, Output, ContentChildren, Directive, NgModule } from '@angular/core';
4
+ import { Component, ViewChild, Input, Injectable, 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
- import { Subject, takeUntil, filter } from 'rxjs';
7
+ import { BehaviorSubject, Subject, takeUntil, filter } from 'rxjs';
8
8
  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 i7 from 'ng-zorro-antd/icon';
13
+ import { NzIconModule } from 'ng-zorro-antd/icon';
12
14
  import { __decorate } from 'tslib';
13
15
  import { InputBoolean, InputNumber, ZoneOutside } from '@delon/util/decorator';
14
16
  import { WINDOW } from '@delon/util/token';
@@ -16,8 +18,6 @@ import * as i3 from '@angular/platform-browser';
16
18
  import * as i4 from '@angular/cdk/bidi';
17
19
  import * as i6 from 'ng-zorro-antd/tooltip';
18
20
  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
21
  import * as i8 from 'ng-zorro-antd/badge';
22
22
  import { NzBadgeModule } from 'ng-zorro-antd/badge';
23
23
  import { NzAvatarModule } from 'ng-zorro-antd/avatar';
@@ -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: "14.2.10", ngImport: i0, type: LayoutDefaultHeaderItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
- LayoutDefaultHeaderItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", 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.12", ngImport: i0, type: LayoutDefaultHeaderItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
+ LayoutDefaultHeaderItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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: "14.2.10", ngImport: i0, type: LayoutDefaultHeaderItemComponent, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LayoutDefaultHeaderItemComponent, decorators: [{
39
39
  type: Component,
40
40
  args: [{
41
41
  selector: 'layout-default-header-item',
@@ -54,6 +54,67 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImpo
54
54
  type: Input
55
55
  }] } });
56
56
 
57
+ const DEFAULT = {
58
+ logoExpanded: `./assets/logo-full.svg`,
59
+ logoCollapsed: `./assets/logo.svg`,
60
+ logoLink: `/`,
61
+ showHeaderCollapse: true,
62
+ showSiderCollapse: false,
63
+ hideAside: false,
64
+ hideHeader: false
65
+ };
66
+ class LayoutDefaultService {
67
+ constructor(settings) {
68
+ this.settings = settings;
69
+ this._options$ = new BehaviorSubject(DEFAULT);
70
+ this._options = DEFAULT;
71
+ }
72
+ get options() {
73
+ return this._options;
74
+ }
75
+ get options$() {
76
+ return this._options$.asObservable();
77
+ }
78
+ get collapsedIcon() {
79
+ const collapsed = this.settings.layout.collapsed;
80
+ let type = collapsed ? 'unfold' : 'fold';
81
+ if (this.settings.layout.direction === 'rtl') {
82
+ type = collapsed ? 'fold' : 'unfold';
83
+ }
84
+ return `menu-${type}`;
85
+ }
86
+ notify() {
87
+ this._options$.next(this._options);
88
+ }
89
+ /**
90
+ * Set layout configuration
91
+ *
92
+ * 设置布局配置
93
+ */
94
+ setOptions(options) {
95
+ this._options = {
96
+ ...DEFAULT,
97
+ ...options
98
+ };
99
+ this.notify();
100
+ }
101
+ /**
102
+ * Toggle the collapsed state of the sidebar menu bar
103
+ *
104
+ * 切换侧边栏菜单栏折叠状态
105
+ */
106
+ toggleCollapsed(status) {
107
+ this.settings.setLayout('collapsed', status != null ? status : !this.settings.layout.collapsed);
108
+ this.notify();
109
+ }
110
+ }
111
+ LayoutDefaultService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LayoutDefaultService, deps: [{ token: i1.SettingsService }], target: i0.ɵɵFactoryTarget.Injectable });
112
+ LayoutDefaultService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LayoutDefaultService, providedIn: 'root' });
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LayoutDefaultService, decorators: [{
114
+ type: Injectable,
115
+ args: [{ providedIn: 'root' }]
116
+ }], ctorParameters: function () { return [{ type: i1.SettingsService }]; } });
117
+
57
118
  const SHOWCLS = 'sidebar-nav__floating-show';
58
119
  const FLOATINGCLS = 'sidebar-nav__floating';
59
120
  class LayoutDefaultNavComponent {
@@ -283,8 +344,8 @@ class LayoutDefaultNavComponent {
283
344
  this.settings.setLayout('collapsed', status);
284
345
  }
285
346
  }
286
- LayoutDefaultNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", 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 });
287
- LayoutDefaultNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", 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 });
347
+ LayoutDefaultNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", 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 });
348
+ LayoutDefaultNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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()" }, properties: { "class.d-block": "true" } }, 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 });
288
349
  __decorate([
289
350
  InputBoolean()
290
351
  ], LayoutDefaultNavComponent.prototype, "disabledAcl", void 0);
@@ -303,11 +364,12 @@ __decorate([
303
364
  __decorate([
304
365
  ZoneOutside()
305
366
  ], LayoutDefaultNavComponent.prototype, "showSubMenu", null);
306
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: LayoutDefaultNavComponent, decorators: [{
367
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LayoutDefaultNavComponent, decorators: [{
307
368
  type: Component,
308
369
  args: [{ selector: 'layout-default-nav', host: {
309
370
  '(click)': '_click()',
310
- '(document:click)': 'closeSubMenu()'
371
+ '(document:click)': 'closeSubMenu()',
372
+ '[class.d-block]': `true`
311
373
  }, 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
374
  }], ctorParameters: function () { 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: [{
313
375
  type: Inject,
@@ -332,7 +394,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImpo
332
394
  }], showSubMenu: [] } });
333
395
 
334
396
  class LayoutDefaultHeaderComponent {
335
- constructor(settings, cdr) {
397
+ constructor(srv, settings, cdr) {
398
+ this.srv = srv;
336
399
  this.settings = settings;
337
400
  this.cdr = cdr;
338
401
  this.destroy$ = new Subject();
@@ -340,6 +403,9 @@ class LayoutDefaultHeaderComponent {
340
403
  this.middle = [];
341
404
  this.right = [];
342
405
  }
406
+ get opt() {
407
+ return this.srv.options;
408
+ }
343
409
  get app() {
344
410
  return this.settings.app;
345
411
  }
@@ -347,11 +413,7 @@ class LayoutDefaultHeaderComponent {
347
413
  return this.settings.layout.collapsed;
348
414
  }
349
415
  get collapsedIcon() {
350
- let type = this.collapsed ? 'unfold' : 'fold';
351
- if (this.settings.layout.direction === 'rtl') {
352
- type = this.collapsed ? 'fold' : 'unfold';
353
- }
354
- return `menu-${type}`;
416
+ return this.srv.collapsedIcon;
355
417
  }
356
418
  refresh() {
357
419
  const arr = this.items.toArray();
@@ -362,36 +424,37 @@ class LayoutDefaultHeaderComponent {
362
424
  }
363
425
  ngAfterViewInit() {
364
426
  this.items.changes.pipe(takeUntil(this.destroy$)).subscribe(() => this.refresh());
427
+ this.srv.options$.pipe(takeUntil(this.destroy$)).subscribe(() => this.cdr.detectChanges());
365
428
  this.refresh();
366
429
  }
367
430
  toggleCollapsed() {
368
- this.settings.setLayout('collapsed', !this.settings.layout.collapsed);
431
+ this.srv.toggleCollapsed();
369
432
  }
370
433
  ngOnDestroy() {
371
434
  this.destroy$.next();
372
435
  this.destroy$.complete();
373
436
  }
374
437
  }
375
- LayoutDefaultHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: LayoutDefaultHeaderComponent, deps: [{ token: i1.SettingsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
376
- LayoutDefaultHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: LayoutDefaultHeaderComponent, selector: "layout-default-header", inputs: { items: "items", options: "options" }, host: { properties: { "class.alain-default__header": "true" } }, ngImport: i0, template: `
438
+ LayoutDefaultHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LayoutDefaultHeaderComponent, deps: [{ token: LayoutDefaultService }, { token: i1.SettingsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
439
+ LayoutDefaultHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: LayoutDefaultHeaderComponent, selector: "layout-default-header", inputs: { items: "items" }, host: { properties: { "class.alain-default__header": "true" } }, ngImport: i0, template: `
377
440
  <ng-template #render let-ls>
378
441
  <li *ngFor="let i of ls" [class.hidden-mobile]="i.hidden === 'mobile'" [class.hidden-pc]="i.hidden === 'pc'">
379
442
  <ng-container *ngTemplateOutlet="i.host"></ng-container>
380
443
  </li>
381
444
  </ng-template>
382
- <div class="alain-default__header-logo" [style.width.px]="options.logoFixWidth">
383
- <ng-container *ngIf="!options.logo; else options.logo!">
384
- <a [routerLink]="options.logoLink" class="alain-default__header-logo-link">
385
- <img class="alain-default__header-logo-expanded" [attr.src]="options.logoExpanded" [attr.alt]="app.name" />
386
- <img class="alain-default__header-logo-collapsed" [attr.src]="options.logoCollapsed" [attr.alt]="app.name" />
445
+ <div class="alain-default__header-logo" [style.width.px]="opt.logoFixWidth">
446
+ <ng-container *ngIf="!opt.logo; else opt.logo!">
447
+ <a [routerLink]="opt.logoLink" class="alain-default__header-logo-link">
448
+ <img class="alain-default__header-logo-expanded" [attr.src]="opt.logoExpanded" [attr.alt]="app.name" />
449
+ <img class="alain-default__header-logo-collapsed" [attr.src]="opt.logoCollapsed" [attr.alt]="app.name" />
387
450
  </a>
388
451
  </ng-container>
389
452
  </div>
390
453
  <div class="alain-default__nav-wrap">
391
454
  <ul class="alain-default__nav">
392
- <li *ngIf="!options.hideAside">
455
+ <li *ngIf="!opt.hideAside && opt.showHeaderCollapse">
393
456
  <div class="alain-default__nav-item alain-default__nav-item--collapse" (click)="toggleCollapsed()">
394
- <i nz-icon [nzType]="collapsedIcon"></i>
457
+ <span nz-icon [nzType]="collapsedIcon"></span>
395
458
  </div>
396
459
  </li>
397
460
  <ng-template [ngTemplateOutlet]="render" [ngTemplateOutletContext]="{ $implicit: left }"></ng-template>
@@ -404,7 +467,7 @@ LayoutDefaultHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14
404
467
  </ul>
405
468
  </div>
406
469
  `, 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 });
407
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: LayoutDefaultHeaderComponent, decorators: [{
470
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LayoutDefaultHeaderComponent, decorators: [{
408
471
  type: Component,
409
472
  args: [{
410
473
  selector: 'layout-default-header',
@@ -414,19 +477,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImpo
414
477
  <ng-container *ngTemplateOutlet="i.host"></ng-container>
415
478
  </li>
416
479
  </ng-template>
417
- <div class="alain-default__header-logo" [style.width.px]="options.logoFixWidth">
418
- <ng-container *ngIf="!options.logo; else options.logo!">
419
- <a [routerLink]="options.logoLink" class="alain-default__header-logo-link">
420
- <img class="alain-default__header-logo-expanded" [attr.src]="options.logoExpanded" [attr.alt]="app.name" />
421
- <img class="alain-default__header-logo-collapsed" [attr.src]="options.logoCollapsed" [attr.alt]="app.name" />
480
+ <div class="alain-default__header-logo" [style.width.px]="opt.logoFixWidth">
481
+ <ng-container *ngIf="!opt.logo; else opt.logo!">
482
+ <a [routerLink]="opt.logoLink" class="alain-default__header-logo-link">
483
+ <img class="alain-default__header-logo-expanded" [attr.src]="opt.logoExpanded" [attr.alt]="app.name" />
484
+ <img class="alain-default__header-logo-collapsed" [attr.src]="opt.logoCollapsed" [attr.alt]="app.name" />
422
485
  </a>
423
486
  </ng-container>
424
487
  </div>
425
488
  <div class="alain-default__nav-wrap">
426
489
  <ul class="alain-default__nav">
427
- <li *ngIf="!options.hideAside">
490
+ <li *ngIf="!opt.hideAside && opt.showHeaderCollapse">
428
491
  <div class="alain-default__nav-item alain-default__nav-item--collapse" (click)="toggleCollapsed()">
429
- <i nz-icon [nzType]="collapsedIcon"></i>
492
+ <span nz-icon [nzType]="collapsedIcon"></span>
430
493
  </div>
431
494
  </li>
432
495
  <ng-template [ngTemplateOutlet]="render" [ngTemplateOutletContext]="{ $implicit: left }"></ng-template>
@@ -444,25 +507,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImpo
444
507
  },
445
508
  changeDetection: ChangeDetectionStrategy.OnPush
446
509
  }]
447
- }], ctorParameters: function () { return [{ type: i1.SettingsService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { items: [{
448
- type: Input
449
- }], options: [{
510
+ }], ctorParameters: function () { return [{ type: LayoutDefaultService }, { type: i1.SettingsService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { items: [{
450
511
  type: Input
451
512
  }] } });
452
513
 
453
514
  class LayoutDefaultComponent {
454
- constructor(router, msgSrv, settings, el, renderer, doc) {
515
+ constructor(router, msgSrv, settings, el, renderer, doc, srv) {
455
516
  this.msgSrv = msgSrv;
456
517
  this.settings = settings;
457
518
  this.el = el;
458
519
  this.renderer = renderer;
459
520
  this.doc = doc;
521
+ this.srv = srv;
460
522
  this.asideUser = null;
523
+ this.asideBottom = null;
461
524
  this.nav = null;
462
525
  this.content = null;
463
526
  this.destroy$ = new Subject();
464
527
  this.isFetching = false;
465
528
  router.events.pipe(takeUntil(this.destroy$)).subscribe(ev => this.processEv(ev));
529
+ const { destroy$ } = this;
530
+ this.srv.options$.pipe(takeUntil(destroy$)).subscribe(() => this.setClass());
531
+ this.settings.notify.pipe(takeUntil(destroy$)).subscribe(() => this.setClass());
532
+ }
533
+ get opt() {
534
+ return this.srv.options;
535
+ }
536
+ set options(value) {
537
+ this.srv.setOptions(value);
538
+ }
539
+ get collapsed() {
540
+ return this.settings.layout.collapsed;
541
+ }
542
+ get collapsedIcon() {
543
+ return this.srv.collapsedIcon;
544
+ }
545
+ toggleCollapsed() {
546
+ this.srv.toggleCollapsed();
466
547
  }
467
548
  processEv(ev) {
468
549
  if (!this.isFetching && ev instanceof RouteConfigLoadStart) {
@@ -492,56 +573,63 @@ class LayoutDefaultComponent {
492
573
  ['alain-default']: true,
493
574
  [`alain-default__fixed`]: layout.fixed,
494
575
  [`alain-default__collapsed`]: layout.collapsed,
495
- [`alain-default__hide-aside`]: this.options.hideAside
576
+ [`alain-default__hide-aside`]: this.opt.hideAside,
577
+ [`alain-default__hide-header`]: this.opt.hideHeader
496
578
  });
497
579
  doc.body.classList[layout.colorWeak ? 'add' : 'remove']('color-weak');
498
580
  }
499
- ngOnInit() {
500
- this.options = {
501
- logoExpanded: `./assets/logo-full.svg`,
502
- logoCollapsed: `./assets/logo.svg`,
503
- logoLink: `/`,
504
- hideAside: false,
505
- ...this.options
506
- };
507
- const { settings, destroy$ } = this;
508
- settings.notify.pipe(takeUntil(destroy$)).subscribe(() => this.setClass());
509
- this.setClass();
510
- }
511
581
  ngOnDestroy() {
512
582
  this.destroy$.next();
513
583
  this.destroy$.complete();
514
584
  }
515
585
  }
516
- LayoutDefaultComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", 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 });
517
- LayoutDefaultComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", 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: `
586
+ LayoutDefaultComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LayoutDefaultComponent, deps: [{ token: i2.Router }, { token: i2$1.NzMessageService }, { token: i1.SettingsService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DOCUMENT }, { token: LayoutDefaultService }], target: i0.ɵɵFactoryTarget.Component });
587
+ LayoutDefaultComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: LayoutDefaultComponent, selector: "layout-default", inputs: { options: "options", asideUser: "asideUser", asideBottom: "asideBottom", nav: "nav", content: "content", customError: "customError" }, queries: [{ propertyName: "headerItems", predicate: LayoutDefaultHeaderItemComponent }], exportAs: ["layoutDefault"], ngImport: i0, template: `
518
588
  <div class="alain-default__progress-bar" *ngIf="isFetching"></div>
519
- <layout-default-header [options]="options" [items]="headerItems"></layout-default-header>
520
- <div *ngIf="!options.hideAside" class="alain-default__aside">
521
- <div class="alain-default__aside-inner">
522
- <ng-container *ngTemplateOutlet="asideUser"></ng-container>
523
- <ng-container *ngTemplateOutlet="nav"></ng-container>
524
- <layout-default-nav *ngIf="!nav" class="d-block py-lg"></layout-default-nav>
589
+ <layout-default-header *ngIf="!opt.hideHeader" [items]="headerItems"></layout-default-header>
590
+ <div *ngIf="!opt.hideAside" class="alain-default__aside">
591
+ <div class="alain-default__aside-wrap">
592
+ <div class="alain-default__aside-inner">
593
+ <ng-container *ngTemplateOutlet="asideUser"></ng-container>
594
+ <ng-container *ngTemplateOutlet="nav"></ng-container>
595
+ <layout-default-nav *ngIf="!nav"></layout-default-nav>
596
+ </div>
597
+ <div *ngIf="opt.showSiderCollapse" class="alain-default__aside-link">
598
+ <ng-container *ngIf="asideBottom === null; else asideBottom">
599
+ <div class="alain-default__aside-link-collapsed" (click)="toggleCollapsed()">
600
+ <span nz-icon [nzType]="collapsedIcon"></span>
601
+ </div>
602
+ </ng-container>
603
+ </div>
525
604
  </div>
526
605
  </div>
527
606
  <section class="alain-default__content">
528
607
  <ng-container *ngTemplateOutlet="content"></ng-container>
529
608
  <ng-content></ng-content>
530
609
  </section>
531
- `, 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"] }] });
532
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: LayoutDefaultComponent, decorators: [{
610
+ `, 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: "directive", type: i7.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { 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"] }] });
611
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LayoutDefaultComponent, decorators: [{
533
612
  type: Component,
534
613
  args: [{
535
614
  selector: 'layout-default',
536
615
  exportAs: 'layoutDefault',
537
616
  template: `
538
617
  <div class="alain-default__progress-bar" *ngIf="isFetching"></div>
539
- <layout-default-header [options]="options" [items]="headerItems"></layout-default-header>
540
- <div *ngIf="!options.hideAside" class="alain-default__aside">
541
- <div class="alain-default__aside-inner">
542
- <ng-container *ngTemplateOutlet="asideUser"></ng-container>
543
- <ng-container *ngTemplateOutlet="nav"></ng-container>
544
- <layout-default-nav *ngIf="!nav" class="d-block py-lg"></layout-default-nav>
618
+ <layout-default-header *ngIf="!opt.hideHeader" [items]="headerItems"></layout-default-header>
619
+ <div *ngIf="!opt.hideAside" class="alain-default__aside">
620
+ <div class="alain-default__aside-wrap">
621
+ <div class="alain-default__aside-inner">
622
+ <ng-container *ngTemplateOutlet="asideUser"></ng-container>
623
+ <ng-container *ngTemplateOutlet="nav"></ng-container>
624
+ <layout-default-nav *ngIf="!nav"></layout-default-nav>
625
+ </div>
626
+ <div *ngIf="opt.showSiderCollapse" class="alain-default__aside-link">
627
+ <ng-container *ngIf="asideBottom === null; else asideBottom">
628
+ <div class="alain-default__aside-link-collapsed" (click)="toggleCollapsed()">
629
+ <span nz-icon [nzType]="collapsedIcon"></span>
630
+ </div>
631
+ </ng-container>
632
+ </div>
545
633
  </div>
546
634
  </div>
547
635
  <section class="alain-default__content">
@@ -553,13 +641,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImpo
553
641
  }], ctorParameters: function () { return [{ type: i2.Router }, { type: i2$1.NzMessageService }, { type: i1.SettingsService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
554
642
  type: Inject,
555
643
  args: [DOCUMENT]
556
- }] }]; }, propDecorators: { headerItems: [{
644
+ }] }, { type: LayoutDefaultService }]; }, propDecorators: { headerItems: [{
557
645
  type: ContentChildren,
558
646
  args: [LayoutDefaultHeaderItemComponent, { descendants: false }]
559
647
  }], options: [{
560
648
  type: Input
561
649
  }], asideUser: [{
562
650
  type: Input
651
+ }], asideBottom: [{
652
+ type: Input
563
653
  }], nav: [{
564
654
  type: Input
565
655
  }], content: [{
@@ -570,9 +660,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImpo
570
660
 
571
661
  class LayoutDefaultHeaderItemTriggerDirective {
572
662
  }
573
- LayoutDefaultHeaderItemTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: LayoutDefaultHeaderItemTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
574
- LayoutDefaultHeaderItemTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.10", 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.10", ngImport: i0, type: LayoutDefaultHeaderItemTriggerDirective, decorators: [{
663
+ LayoutDefaultHeaderItemTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LayoutDefaultHeaderItemTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
664
+ LayoutDefaultHeaderItemTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: LayoutDefaultHeaderItemTriggerDirective, selector: "[layout-default-header-item-trigger]", host: { properties: { "class.alain-default__nav-item": "true" } }, ngImport: i0 });
665
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LayoutDefaultHeaderItemTriggerDirective, decorators: [{
576
666
  type: Directive,
577
667
  args: [{
578
668
  selector: '[layout-default-header-item-trigger]',
@@ -591,8 +681,8 @@ const COMPONENTS = [
591
681
  ];
592
682
  class LayoutDefaultModule {
593
683
  }
594
- LayoutDefaultModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: LayoutDefaultModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
595
- LayoutDefaultModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.10", ngImport: i0, type: LayoutDefaultModule, declarations: [LayoutDefaultComponent,
684
+ LayoutDefaultModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LayoutDefaultModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
685
+ LayoutDefaultModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: LayoutDefaultModule, declarations: [LayoutDefaultComponent,
596
686
  LayoutDefaultNavComponent,
597
687
  LayoutDefaultHeaderComponent,
598
688
  LayoutDefaultHeaderItemComponent,
@@ -608,7 +698,7 @@ LayoutDefaultModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ver
608
698
  LayoutDefaultHeaderComponent,
609
699
  LayoutDefaultHeaderItemComponent,
610
700
  LayoutDefaultHeaderItemTriggerDirective] });
611
- LayoutDefaultModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: LayoutDefaultModule, imports: [CommonModule,
701
+ LayoutDefaultModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LayoutDefaultModule, imports: [CommonModule,
612
702
  RouterModule,
613
703
  NzToolTipModule,
614
704
  NzIconModule,
@@ -616,7 +706,7 @@ LayoutDefaultModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ver
616
706
  NzDropDownModule,
617
707
  NzMessageModule,
618
708
  NzBadgeModule] });
619
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: LayoutDefaultModule, decorators: [{
709
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LayoutDefaultModule, decorators: [{
620
710
  type: NgModule,
621
711
  args: [{
622
712
  imports: [
@@ -638,5 +728,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImpo
638
728
  * Generated bundle index. Do not edit.
639
729
  */
640
730
 
641
- export { LayoutDefaultComponent, LayoutDefaultHeaderComponent, LayoutDefaultHeaderItemComponent, LayoutDefaultHeaderItemTriggerDirective, LayoutDefaultModule, LayoutDefaultNavComponent };
731
+ export { LayoutDefaultComponent, LayoutDefaultHeaderComponent, LayoutDefaultHeaderItemComponent, LayoutDefaultHeaderItemTriggerDirective, LayoutDefaultModule, LayoutDefaultNavComponent, LayoutDefaultService };
642
732
  //# sourceMappingURL=layout-default.mjs.map