@delon/theme 14.3.0 → 15.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 (73) hide show
  1. package/compact.css +60 -32
  2. package/compact.min.css +1 -1
  3. package/dark.css +60 -32
  4. package/dark.min.css +1 -1
  5. package/default.css +60 -32
  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 +4 -4
  11. package/esm2020/layout-default/layout-top-menu-item.mjs +39 -0
  12. package/esm2020/layout-default/layout.component.mjs +4 -4
  13. package/esm2020/layout-default/layout.module.mjs +12 -8
  14. package/esm2020/layout-default/layout.service.mjs +4 -4
  15. package/esm2020/layout-default/public_api.mjs +2 -1
  16. package/esm2020/setting-drawer/setting-drawer-item.component.mjs +4 -4
  17. package/esm2020/setting-drawer/setting-drawer.component.mjs +5 -5
  18. package/esm2020/setting-drawer/setting-drawer.module.mjs +5 -5
  19. package/esm2020/src/locale/locale.module.mjs +5 -5
  20. package/esm2020/src/locale/locale.service.mjs +4 -4
  21. package/esm2020/src/pipes/date/date.pipe.mjs +4 -4
  22. package/esm2020/src/pipes/keys/keys.pipe.mjs +4 -4
  23. package/esm2020/src/pipes/safe/html.pipe.mjs +4 -4
  24. package/esm2020/src/pipes/safe/url.pipe.mjs +4 -4
  25. package/esm2020/src/pipes/yn/yn.pipe.mjs +4 -4
  26. package/esm2020/src/services/drawer/drawer.helper.mjs +4 -4
  27. package/esm2020/src/services/http/http.client.mjs +4 -4
  28. package/esm2020/src/services/http/http.decorator.mjs +4 -4
  29. package/esm2020/src/services/i18n/i18n-url.guard.mjs +4 -4
  30. package/esm2020/src/services/i18n/i18n.mjs +7 -7
  31. package/esm2020/src/services/i18n/i18n.pipe.mjs +4 -4
  32. package/esm2020/src/services/menu/menu.service.mjs +4 -51
  33. package/esm2020/src/services/modal/modal.helper.mjs +4 -4
  34. package/esm2020/src/services/responsive/responsive.mjs +4 -4
  35. package/esm2020/src/services/rtl/rtl.service.mjs +4 -4
  36. package/esm2020/src/services/settings/settings.service.mjs +4 -4
  37. package/esm2020/src/services/title/title.service.mjs +4 -4
  38. package/esm2020/src/theme.module.mjs +5 -5
  39. package/esm2020/src/version.mjs +1 -1
  40. package/esm2020/theme-btn/theme-btn.component.mjs +4 -4
  41. package/esm2020/theme-btn/theme-btn.module.mjs +5 -5
  42. package/fesm2015/layout-default.mjs +65 -27
  43. package/fesm2015/layout-default.mjs.map +1 -1
  44. package/fesm2015/setting-drawer.mjs +11 -11
  45. package/fesm2015/setting-drawer.mjs.map +1 -1
  46. package/fesm2015/theme-btn.mjs +7 -7
  47. package/fesm2015/theme-btn.mjs.map +1 -1
  48. package/fesm2015/theme.mjs +66 -113
  49. package/fesm2015/theme.mjs.map +1 -1
  50. package/fesm2020/layout-default.mjs +65 -27
  51. package/fesm2020/layout-default.mjs.map +1 -1
  52. package/fesm2020/setting-drawer.mjs +11 -11
  53. package/fesm2020/setting-drawer.mjs.map +1 -1
  54. package/fesm2020/theme-btn.mjs +7 -7
  55. package/fesm2020/theme-btn.mjs.map +1 -1
  56. package/fesm2020/theme.mjs +66 -113
  57. package/fesm2020/theme.mjs.map +1 -1
  58. package/layout-default/layout-header-item-trigger.directive.d.ts +1 -1
  59. package/layout-default/layout-header-item.component.d.ts +1 -1
  60. package/layout-default/layout-header.component.d.ts +1 -1
  61. package/layout-default/layout-nav.component.d.ts +1 -1
  62. package/layout-default/layout-top-menu-item.d.ts +10 -0
  63. package/layout-default/layout.component.d.ts +1 -1
  64. package/layout-default/layout.module.d.ts +10 -9
  65. package/layout-default/public_api.d.ts +1 -0
  66. package/layout-default/style/_header.less +23 -1
  67. package/layout-default/style/theme-compact.less +2 -0
  68. package/layout-default/style/theme-default.less +3 -1
  69. package/package.json +4 -4
  70. package/setting-drawer/setting-drawer-item.component.d.ts +1 -1
  71. package/setting-drawer/setting-drawer.component.d.ts +1 -1
  72. package/src/services/menu/menu.service.d.ts +0 -12
  73. package/theme-btn/theme-btn.component.d.ts +1 -1
@@ -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.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: `
32
+ LayoutDefaultHeaderItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LayoutDefaultHeaderItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
+ LayoutDefaultHeaderItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", 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.12", ngImport: i0, type: LayoutDefaultHeaderItemComponent, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LayoutDefaultHeaderItemComponent, decorators: [{
39
39
  type: Component,
40
40
  args: [{
41
41
  selector: 'layout-default-header-item',
@@ -108,9 +108,9 @@ class LayoutDefaultService {
108
108
  this.notify();
109
109
  }
110
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: [{
111
+ LayoutDefaultService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LayoutDefaultService, deps: [{ token: i1.SettingsService }], target: i0.ɵɵFactoryTarget.Injectable });
112
+ LayoutDefaultService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LayoutDefaultService, providedIn: 'root' });
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LayoutDefaultService, decorators: [{
114
114
  type: Injectable,
115
115
  args: [{ providedIn: 'root' }]
116
116
  }], ctorParameters: function () { return [{ type: i1.SettingsService }]; } });
@@ -344,8 +344,8 @@ class LayoutDefaultNavComponent {
344
344
  this.settings.setLayout('collapsed', status);
345
345
  }
346
346
  }
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 });
347
+ LayoutDefaultNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", 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: "15.0.4", 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 });
349
349
  __decorate([
350
350
  InputBoolean()
351
351
  ], LayoutDefaultNavComponent.prototype, "disabledAcl", void 0);
@@ -364,7 +364,7 @@ __decorate([
364
364
  __decorate([
365
365
  ZoneOutside()
366
366
  ], LayoutDefaultNavComponent.prototype, "showSubMenu", null);
367
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LayoutDefaultNavComponent, decorators: [{
367
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LayoutDefaultNavComponent, decorators: [{
368
368
  type: Component,
369
369
  args: [{ selector: 'layout-default-nav', host: {
370
370
  '(click)': '_click()',
@@ -435,8 +435,8 @@ class LayoutDefaultHeaderComponent {
435
435
  this.destroy$.complete();
436
436
  }
437
437
  }
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: `
438
+ LayoutDefaultHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", 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: "15.0.4", type: LayoutDefaultHeaderComponent, selector: "layout-default-header", inputs: { items: "items" }, host: { properties: { "class.alain-default__header": "true" } }, ngImport: i0, template: `
440
440
  <ng-template #render let-ls>
441
441
  <li *ngFor="let i of ls" [class.hidden-mobile]="i.hidden === 'mobile'" [class.hidden-pc]="i.hidden === 'pc'">
442
442
  <ng-container *ngTemplateOutlet="i.host"></ng-container>
@@ -466,8 +466,8 @@ LayoutDefaultHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14
466
466
  <ng-template [ngTemplateOutlet]="render" [ngTemplateOutletContext]="{ $implicit: right }"></ng-template>
467
467
  </ul>
468
468
  </div>
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 });
470
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LayoutDefaultHeaderComponent, decorators: [{
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.RouterLink, selector: "[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 });
470
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LayoutDefaultHeaderComponent, decorators: [{
471
471
  type: Component,
472
472
  args: [{
473
473
  selector: 'layout-default-header',
@@ -583,8 +583,8 @@ class LayoutDefaultComponent {
583
583
  this.destroy$.complete();
584
584
  }
585
585
  }
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: `
586
+ LayoutDefaultComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", 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: "15.0.4", 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: `
588
588
  <div class="alain-default__progress-bar" *ngIf="isFetching"></div>
589
589
  <layout-default-header *ngIf="!opt.hideHeader" [items]="headerItems"></layout-default-header>
590
590
  <div *ngIf="!opt.hideAside" class="alain-default__aside">
@@ -608,7 +608,7 @@ LayoutDefaultComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
608
608
  <ng-content></ng-content>
609
609
  </section>
610
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: [{
611
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LayoutDefaultComponent, decorators: [{
612
612
  type: Component,
613
613
  args: [{
614
614
  selector: 'layout-default',
@@ -660,9 +660,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
660
660
 
661
661
  class LayoutDefaultHeaderItemTriggerDirective {
662
662
  }
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: [{
663
+ LayoutDefaultHeaderItemTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LayoutDefaultHeaderItemTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
664
+ LayoutDefaultHeaderItemTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", 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: "15.0.4", ngImport: i0, type: LayoutDefaultHeaderItemTriggerDirective, decorators: [{
666
666
  type: Directive,
667
667
  args: [{
668
668
  selector: '[layout-default-header-item-trigger]',
@@ -672,21 +672,58 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
672
672
  }]
673
673
  }] });
674
674
 
675
+ class LayoutDefaultTopMenuItemComponent {
676
+ constructor() {
677
+ this.selected = false;
678
+ this.disabled = false;
679
+ }
680
+ }
681
+ LayoutDefaultTopMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LayoutDefaultTopMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
682
+ LayoutDefaultTopMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: LayoutDefaultTopMenuItemComponent, selector: "layout-default-top-menu-item", inputs: { selected: "selected", disabled: "disabled" }, host: { properties: { "class.alain-default__nav-item": "true", "class.alain-default__top-menu-item": "true", "class.alain-default__top-menu-item-selected": "selected", "class.alain-default__top-menu-item-disabled": "disabled" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
683
+ __decorate([
684
+ InputBoolean()
685
+ ], LayoutDefaultTopMenuItemComponent.prototype, "selected", void 0);
686
+ __decorate([
687
+ InputBoolean()
688
+ ], LayoutDefaultTopMenuItemComponent.prototype, "disabled", void 0);
689
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LayoutDefaultTopMenuItemComponent, decorators: [{
690
+ type: Component,
691
+ args: [{
692
+ selector: 'layout-default-top-menu-item',
693
+ template: `<ng-content></ng-content>`,
694
+ host: {
695
+ '[class.alain-default__nav-item]': `true`,
696
+ '[class.alain-default__top-menu-item]': `true`,
697
+ '[class.alain-default__top-menu-item-selected]': `selected`,
698
+ '[class.alain-default__top-menu-item-disabled]': `disabled`
699
+ },
700
+ preserveWhitespaces: false,
701
+ changeDetection: ChangeDetectionStrategy.OnPush,
702
+ encapsulation: ViewEncapsulation.None
703
+ }]
704
+ }], propDecorators: { selected: [{
705
+ type: Input
706
+ }], disabled: [{
707
+ type: Input
708
+ }] } });
709
+
675
710
  const COMPONENTS = [
676
711
  LayoutDefaultComponent,
677
712
  LayoutDefaultNavComponent,
678
713
  LayoutDefaultHeaderComponent,
679
714
  LayoutDefaultHeaderItemComponent,
680
- LayoutDefaultHeaderItemTriggerDirective
715
+ LayoutDefaultHeaderItemTriggerDirective,
716
+ LayoutDefaultTopMenuItemComponent
681
717
  ];
682
718
  class LayoutDefaultModule {
683
719
  }
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,
720
+ LayoutDefaultModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LayoutDefaultModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
721
+ LayoutDefaultModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: LayoutDefaultModule, declarations: [LayoutDefaultComponent,
686
722
  LayoutDefaultNavComponent,
687
723
  LayoutDefaultHeaderComponent,
688
724
  LayoutDefaultHeaderItemComponent,
689
- LayoutDefaultHeaderItemTriggerDirective], imports: [CommonModule,
725
+ LayoutDefaultHeaderItemTriggerDirective,
726
+ LayoutDefaultTopMenuItemComponent], imports: [CommonModule,
690
727
  RouterModule,
691
728
  NzToolTipModule,
692
729
  NzIconModule,
@@ -697,8 +734,9 @@ LayoutDefaultModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ver
697
734
  LayoutDefaultNavComponent,
698
735
  LayoutDefaultHeaderComponent,
699
736
  LayoutDefaultHeaderItemComponent,
700
- LayoutDefaultHeaderItemTriggerDirective] });
701
- LayoutDefaultModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LayoutDefaultModule, imports: [CommonModule,
737
+ LayoutDefaultHeaderItemTriggerDirective,
738
+ LayoutDefaultTopMenuItemComponent] });
739
+ LayoutDefaultModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LayoutDefaultModule, imports: [CommonModule,
702
740
  RouterModule,
703
741
  NzToolTipModule,
704
742
  NzIconModule,
@@ -706,7 +744,7 @@ LayoutDefaultModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ver
706
744
  NzDropDownModule,
707
745
  NzMessageModule,
708
746
  NzBadgeModule] });
709
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LayoutDefaultModule, decorators: [{
747
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LayoutDefaultModule, decorators: [{
710
748
  type: NgModule,
711
749
  args: [{
712
750
  imports: [
@@ -728,5 +766,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
728
766
  * Generated bundle index. Do not edit.
729
767
  */
730
768
 
731
- export { LayoutDefaultComponent, LayoutDefaultHeaderComponent, LayoutDefaultHeaderItemComponent, LayoutDefaultHeaderItemTriggerDirective, LayoutDefaultModule, LayoutDefaultNavComponent, LayoutDefaultService };
769
+ export { LayoutDefaultComponent, LayoutDefaultHeaderComponent, LayoutDefaultHeaderItemComponent, LayoutDefaultHeaderItemTriggerDirective, LayoutDefaultModule, LayoutDefaultNavComponent, LayoutDefaultService, LayoutDefaultTopMenuItemComponent };
732
770
  //# sourceMappingURL=layout-default.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout-default.mjs","sources":["../../../../packages/theme/layout-default/layout-header-item.component.ts","../../../../packages/theme/layout-default/layout.service.ts","../../../../packages/theme/layout-default/layout-nav.component.ts","../../../../packages/theme/layout-default/layout-nav.component.html","../../../../packages/theme/layout-default/layout-header.component.ts","../../../../packages/theme/layout-default/layout.component.ts","../../../../packages/theme/layout-default/layout-header-item-trigger.directive.ts","../../../../packages/theme/layout-default/layout.module.ts","../../../../packages/theme/layout-default/layout-default.ts"],"sourcesContent":["import { Component, Input, TemplateRef, ViewChild } from '@angular/core';\n\nimport { LayoutDefaultHeaderItemDirection, LayoutDefaultHeaderItemHidden } from './types';\n\n@Component({\n selector: 'layout-default-header-item',\n template: `\n <ng-template #host>\n <ng-content></ng-content>\n </ng-template>\n `\n})\nexport class LayoutDefaultHeaderItemComponent {\n @ViewChild('host', { static: true }) host!: TemplateRef<void>;\n\n @Input() hidden: LayoutDefaultHeaderItemHidden = 'none';\n @Input() direction: LayoutDefaultHeaderItemDirection = 'right';\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport { SettingsService } from '@delon/theme';\n\nimport { LayoutDefaultOptions } from './types';\n\nconst DEFAULT: LayoutDefaultOptions = {\n logoExpanded: `./assets/logo-full.svg`,\n logoCollapsed: `./assets/logo.svg`,\n logoLink: `/`,\n showHeaderCollapse: true,\n showSiderCollapse: false,\n hideAside: false,\n hideHeader: false\n};\n\n@Injectable({ providedIn: 'root' })\nexport class LayoutDefaultService {\n private _options$ = new BehaviorSubject<LayoutDefaultOptions>(DEFAULT);\n private _options: LayoutDefaultOptions = DEFAULT;\n\n get options(): LayoutDefaultOptions {\n return this._options;\n }\n\n get options$(): Observable<LayoutDefaultOptions> {\n return this._options$.asObservable();\n }\n\n get collapsedIcon(): string {\n const collapsed = this.settings.layout.collapsed;\n let type = collapsed ? 'unfold' : 'fold';\n if (this.settings.layout.direction === 'rtl') {\n type = collapsed ? 'fold' : 'unfold';\n }\n return `menu-${type}`;\n }\n\n constructor(private settings: SettingsService) {}\n\n private notify(): void {\n this._options$.next(this._options);\n }\n\n /**\n * Set layout configuration\n *\n * 设置布局配置\n */\n setOptions(options?: LayoutDefaultOptions | null): void {\n this._options = {\n ...DEFAULT,\n ...options\n };\n this.notify();\n }\n\n /**\n * Toggle the collapsed state of the sidebar menu bar\n *\n * 切换侧边栏菜单栏折叠状态\n */\n toggleCollapsed(status?: boolean): void {\n this.settings.setLayout('collapsed', status != null ? status : !this.settings.layout.collapsed);\n this.notify();\n }\n}\n","import { Direction, Directionality } from '@angular/cdk/bidi';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { Subject, filter, takeUntil } from 'rxjs';\n\nimport { Menu, MenuIcon, MenuInner, MenuService, SettingsService } from '@delon/theme';\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput, ZoneOutside } from '@delon/util/decorator';\nimport { WINDOW } from '@delon/util/token';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport interface Nav extends MenuInner {\n _needIcon?: boolean;\n _text?: SafeHtml;\n}\n\nconst SHOWCLS = 'sidebar-nav__floating-show';\nconst FLOATINGCLS = 'sidebar-nav__floating';\n\n@Component({\n selector: 'layout-default-nav',\n templateUrl: './layout-nav.component.html',\n host: {\n '(click)': '_click()',\n '(document:click)': 'closeSubMenu()',\n '[class.d-block]': `true`\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class LayoutDefaultNavComponent implements OnInit, OnDestroy {\n static ngAcceptInputType_disabledAcl: BooleanInput;\n static ngAcceptInputType_autoCloseUnderPad: BooleanInput;\n static ngAcceptInputType_recursivePath: BooleanInput;\n static ngAcceptInputType_openStrictly: BooleanInput;\n static ngAcceptInputType_maxLevelIcon: NumberInput;\n\n private bodyEl!: HTMLBodyElement;\n private destroy$ = new Subject<void>();\n private floatingEl!: HTMLDivElement;\n dir: Direction = 'ltr';\n list: Nav[] = [];\n\n @Input() @InputBoolean() disabledAcl = false;\n @Input() @InputBoolean() autoCloseUnderPad = true;\n @Input() @InputBoolean() recursivePath = true;\n @Input()\n @InputBoolean()\n set openStrictly(value: boolean) {\n this.menuSrv.openStrictly = value;\n }\n @Input() @InputNumber() maxLevelIcon = 3;\n @Output() readonly select = new EventEmitter<Menu>();\n\n get collapsed(): boolean {\n return this.settings.layout.collapsed;\n }\n\n constructor(\n private menuSrv: MenuService,\n private settings: SettingsService,\n private router: Router,\n private render: Renderer2,\n private cdr: ChangeDetectorRef,\n private ngZone: NgZone,\n private sanitizer: DomSanitizer,\n @Inject(DOCUMENT) private doc: NzSafeAny,\n @Inject(WINDOW) private win: NzSafeAny,\n @Optional() private directionality: Directionality\n ) {}\n\n private getLinkNode(node: HTMLElement): HTMLElement | null {\n node = node.nodeName === 'A' ? node : (node.parentNode as HTMLElement);\n return node.nodeName !== 'A' ? null : node;\n }\n\n private floatingClickHandle(e: MouseEvent): boolean {\n e.stopPropagation();\n const linkNode = this.getLinkNode(e.target as HTMLElement);\n if (linkNode == null) {\n return false;\n }\n const id = +linkNode.dataset!.id!;\n // Should be ingore children title trigger event\n if (isNaN(id)) {\n return false;\n }\n\n let item: Nav;\n this.menuSrv.visit(this.list, (i: Nav) => {\n if (!item && i._id === id) {\n item = i;\n }\n });\n this.to(item!);\n this.hideAll();\n e.preventDefault();\n return false;\n }\n\n private clearFloating(): void {\n if (!this.floatingEl) return;\n this.floatingEl.removeEventListener('click', this.floatingClickHandle.bind(this));\n // fix ie: https://github.com/ng-alain/delon/issues/52\n if (this.floatingEl.hasOwnProperty('remove')) {\n this.floatingEl.remove();\n } else if (this.floatingEl.parentNode) {\n this.floatingEl.parentNode.removeChild(this.floatingEl);\n }\n }\n\n private genFloating(): void {\n this.clearFloating();\n this.floatingEl = this.render.createElement('div');\n this.floatingEl.classList.add(`${FLOATINGCLS}-container`);\n this.floatingEl.addEventListener('click', this.floatingClickHandle.bind(this), false);\n this.bodyEl.appendChild(this.floatingEl);\n }\n\n private genSubNode(linkNode: HTMLLinkElement, item: Nav): HTMLUListElement {\n const id = `_sidebar-nav-${item._id}`;\n const childNode = item.badge ? linkNode.nextElementSibling!.nextElementSibling! : linkNode.nextElementSibling!;\n const node = childNode.cloneNode(true) as HTMLUListElement;\n node.id = id;\n node.classList.add(FLOATINGCLS);\n node.addEventListener(\n 'mouseleave',\n () => {\n node.classList.remove(SHOWCLS);\n },\n false\n );\n this.floatingEl.appendChild(node);\n return node;\n }\n\n private hideAll(): void {\n const allNode = this.floatingEl.querySelectorAll(`.${FLOATINGCLS}`);\n for (let i = 0; i < allNode.length; i++) {\n allNode[i].classList.remove(SHOWCLS);\n }\n }\n\n // calculate the node position values.\n private calPos(linkNode: HTMLLinkElement, node: HTMLUListElement): void {\n const rect = linkNode.getBoundingClientRect();\n // bug: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/14721015/\n const scrollTop = Math.max(this.doc.documentElement.scrollTop, this.bodyEl.scrollTop);\n const docHeight = Math.max(this.doc.documentElement.clientHeight, this.bodyEl.clientHeight);\n const spacing = 5;\n let offsetHeight = -spacing;\n if (docHeight < rect.top + node.clientHeight) {\n offsetHeight = rect.top + node.clientHeight - docHeight + spacing;\n }\n node.style.top = `${rect.top + scrollTop - offsetHeight}px`;\n if (this.dir === 'rtl') {\n node.style.right = `${rect.width + spacing}px`;\n } else {\n node.style.left = `${rect.right + spacing}px`;\n }\n }\n\n @ZoneOutside()\n showSubMenu(e: MouseEvent, item: Nav): void {\n if (this.collapsed !== true) {\n return;\n }\n e.preventDefault();\n const linkNode = e.target as Element;\n this.genFloating();\n const subNode = this.genSubNode(linkNode as HTMLLinkElement, item);\n this.hideAll();\n subNode.classList.add(SHOWCLS);\n this.calPos(linkNode as HTMLLinkElement, subNode);\n }\n\n to(item: Menu): void {\n this.select.emit(item);\n if (item.disabled) return;\n\n if (item.externalLink) {\n if (item.target === '_blank') {\n this.win.open(item.externalLink);\n } else {\n this.win.location.href = item.externalLink;\n }\n return;\n }\n this.ngZone.run(() => this.router.navigateByUrl(item.link!));\n }\n\n toggleOpen(item: Nav): void {\n this.menuSrv.toggleOpen(item);\n }\n\n _click(): void {\n if (this.isPad && this.collapsed) {\n this.openAside(false);\n this.hideAll();\n }\n }\n\n closeSubMenu(): void {\n if (this.collapsed) {\n this.hideAll();\n }\n }\n\n private openByUrl(url: string | null): void {\n const { menuSrv, recursivePath } = this;\n this.menuSrv.open(menuSrv.find({ url, recursive: recursivePath }));\n }\n\n ngOnInit(): void {\n const { doc, router, destroy$, menuSrv, settings, cdr } = this;\n this.bodyEl = doc.querySelector('body');\n menuSrv.change.pipe(takeUntil(destroy$)).subscribe(data => {\n menuSrv.visit(data, (i: Nav, _p, depth) => {\n i._text = this.sanitizer.bypassSecurityTrustHtml(i.text!);\n i._needIcon = depth! <= this.maxLevelIcon && !!i.icon;\n if (!i._aclResult) {\n if (this.disabledAcl) {\n i.disabled = true;\n } else {\n i._hidden = true;\n }\n }\n const icon = i.icon as MenuIcon;\n if (icon && icon.type === 'svg' && typeof icon.value === 'string') {\n icon.value = this.sanitizer.bypassSecurityTrustHtml(icon.value!!);\n }\n });\n this.fixHide(data);\n this.list = data.filter((w: Nav) => w._hidden !== true);\n cdr.detectChanges();\n });\n router.events.pipe(takeUntil(destroy$)).subscribe(e => {\n if (e instanceof NavigationEnd) {\n this.openByUrl(e.urlAfterRedirects);\n this.underPad();\n this.cdr.detectChanges();\n }\n });\n settings.notify\n .pipe(\n takeUntil(destroy$),\n filter(t => t.type === 'layout' && t.name === 'collapsed')\n )\n .subscribe(() => this.clearFloating());\n this.underPad();\n\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(destroy$)).subscribe((direction: Direction) => {\n this.dir = direction;\n });\n this.openByUrl(router.url);\n this.ngZone.runOutsideAngular(() => this.genFloating());\n }\n\n private fixHide(ls: Nav[]): void {\n const inFn = (list: Nav[]): void => {\n for (const item of list) {\n if (item.children && item.children.length > 0) {\n inFn(item.children);\n if (!item._hidden) {\n item._hidden = item.children.every((v: Nav) => v._hidden);\n }\n }\n }\n };\n\n inFn(ls);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n this.clearFloating();\n }\n\n // #region Under pad\n\n private get isPad(): boolean {\n return this.doc.defaultView!.innerWidth < 768;\n }\n\n private underPad(): void {\n if (this.autoCloseUnderPad && this.isPad && !this.collapsed) {\n setTimeout(() => this.openAside(true));\n }\n }\n\n private openAside(status: boolean): void {\n this.settings.setLayout('collapsed', status);\n }\n\n // #endregion\n}\n","<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","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnDestroy,\n QueryList,\n TemplateRef\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { App, SettingsService } from '@delon/theme';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { LayoutDefaultHeaderItemComponent } from './layout-header-item.component';\nimport { LayoutDefaultService } from './layout.service';\nimport { LayoutDefaultHeaderItemDirection, LayoutDefaultHeaderItemHidden, LayoutDefaultOptions } from './types';\n\ninterface LayoutDefaultHeaderItem {\n host: TemplateRef<NzSafeAny>;\n hidden?: LayoutDefaultHeaderItemHidden;\n direction?: LayoutDefaultHeaderItemDirection;\n}\n\n@Component({\n selector: 'layout-default-header',\n template: `\n <ng-template #render let-ls>\n <li *ngFor=\"let i of ls\" [class.hidden-mobile]=\"i.hidden === 'mobile'\" [class.hidden-pc]=\"i.hidden === 'pc'\">\n <ng-container *ngTemplateOutlet=\"i.host\"></ng-container>\n </li>\n </ng-template>\n <div class=\"alain-default__header-logo\" [style.width.px]=\"opt.logoFixWidth\">\n <ng-container *ngIf=\"!opt.logo; else opt.logo!\">\n <a [routerLink]=\"opt.logoLink\" class=\"alain-default__header-logo-link\">\n <img class=\"alain-default__header-logo-expanded\" [attr.src]=\"opt.logoExpanded\" [attr.alt]=\"app.name\" />\n <img class=\"alain-default__header-logo-collapsed\" [attr.src]=\"opt.logoCollapsed\" [attr.alt]=\"app.name\" />\n </a>\n </ng-container>\n </div>\n <div class=\"alain-default__nav-wrap\">\n <ul class=\"alain-default__nav\">\n <li *ngIf=\"!opt.hideAside && opt.showHeaderCollapse\">\n <div class=\"alain-default__nav-item alain-default__nav-item--collapse\" (click)=\"toggleCollapsed()\">\n <span nz-icon [nzType]=\"collapsedIcon\"></span>\n </div>\n </li>\n <ng-template [ngTemplateOutlet]=\"render\" [ngTemplateOutletContext]=\"{ $implicit: left }\"></ng-template>\n </ul>\n <div *ngIf=\"middle.length > 0\" class=\"alain-default__nav alain-default__nav-middle\">\n <ng-container *ngTemplateOutlet=\"middle[0].host\"></ng-container>\n </div>\n <ul class=\"alain-default__nav\">\n <ng-template [ngTemplateOutlet]=\"render\" [ngTemplateOutletContext]=\"{ $implicit: right }\"></ng-template>\n </ul>\n </div>\n `,\n host: {\n '[class.alain-default__header]': `true`\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutDefaultHeaderComponent implements AfterViewInit, OnDestroy {\n private destroy$ = new Subject<void>();\n\n @Input() items!: QueryList<LayoutDefaultHeaderItemComponent>;\n\n left: LayoutDefaultHeaderItem[] = [];\n middle: LayoutDefaultHeaderItem[] = [];\n right: LayoutDefaultHeaderItem[] = [];\n\n get opt(): LayoutDefaultOptions {\n return this.srv.options;\n }\n\n get app(): App {\n return this.settings.app;\n }\n\n get collapsed(): boolean {\n return this.settings.layout.collapsed;\n }\n\n get collapsedIcon(): string {\n return this.srv.collapsedIcon;\n }\n\n constructor(private srv: LayoutDefaultService, private settings: SettingsService, private cdr: ChangeDetectorRef) {}\n\n private refresh(): void {\n const arr = this.items.toArray();\n this.left = arr.filter(i => i.direction === 'left');\n this.middle = arr.filter(i => i.direction === 'middle');\n this.right = arr.filter(i => i.direction === 'right');\n this.cdr.detectChanges();\n }\n\n ngAfterViewInit(): void {\n this.items.changes.pipe(takeUntil(this.destroy$)).subscribe(() => this.refresh());\n this.srv.options$.pipe(takeUntil(this.destroy$)).subscribe(() => this.cdr.detectChanges());\n this.refresh();\n }\n\n toggleCollapsed(): void {\n this.srv.toggleCollapsed();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n Component,\n ContentChildren,\n ElementRef,\n Inject,\n Input,\n OnDestroy,\n QueryList,\n Renderer2,\n TemplateRef\n} from '@angular/core';\nimport {\n NavigationCancel,\n NavigationEnd,\n NavigationError,\n RouteConfigLoadEnd,\n RouteConfigLoadStart,\n Router,\n Event\n} from '@angular/router';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { SettingsService } from '@delon/theme';\nimport { updateHostClass } from '@delon/util/browser';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\nimport { LayoutDefaultHeaderItemComponent } from './layout-header-item.component';\nimport { LayoutDefaultService } from './layout.service';\nimport { LayoutDefaultOptions } from './types';\n\n@Component({\n selector: 'layout-default',\n exportAs: 'layoutDefault',\n template: `\n <div class=\"alain-default__progress-bar\" *ngIf=\"isFetching\"></div>\n <layout-default-header *ngIf=\"!opt.hideHeader\" [items]=\"headerItems\"></layout-default-header>\n <div *ngIf=\"!opt.hideAside\" class=\"alain-default__aside\">\n <div class=\"alain-default__aside-wrap\">\n <div class=\"alain-default__aside-inner\">\n <ng-container *ngTemplateOutlet=\"asideUser\"></ng-container>\n <ng-container *ngTemplateOutlet=\"nav\"></ng-container>\n <layout-default-nav *ngIf=\"!nav\"></layout-default-nav>\n </div>\n <div *ngIf=\"opt.showSiderCollapse\" class=\"alain-default__aside-link\">\n <ng-container *ngIf=\"asideBottom === null; else asideBottom\">\n <div class=\"alain-default__aside-link-collapsed\" (click)=\"toggleCollapsed()\">\n <span nz-icon [nzType]=\"collapsedIcon\"></span>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n <section class=\"alain-default__content\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <ng-content></ng-content>\n </section>\n `\n})\nexport class LayoutDefaultComponent implements OnDestroy {\n @ContentChildren(LayoutDefaultHeaderItemComponent, { descendants: false })\n headerItems!: QueryList<LayoutDefaultHeaderItemComponent>;\n\n get opt(): LayoutDefaultOptions {\n return this.srv.options;\n }\n\n @Input()\n set options(value: LayoutDefaultOptions | null | undefined) {\n this.srv.setOptions(value);\n }\n @Input() asideUser: TemplateRef<void> | null = null;\n @Input() asideBottom: TemplateRef<NzSafeAny> | null = null;\n @Input() nav: TemplateRef<void> | null = null;\n @Input() content: TemplateRef<void> | null = null;\n @Input() customError?: string | null;\n\n private destroy$ = new Subject<void>();\n isFetching = false;\n\n get collapsed(): boolean {\n return this.settings.layout.collapsed;\n }\n\n get collapsedIcon(): string {\n return this.srv.collapsedIcon;\n }\n\n toggleCollapsed(): void {\n this.srv.toggleCollapsed();\n }\n\n constructor(\n router: Router,\n private msgSrv: NzMessageService,\n private settings: SettingsService,\n private el: ElementRef,\n private renderer: Renderer2,\n @Inject(DOCUMENT) private doc: NzSafeAny,\n private srv: LayoutDefaultService\n ) {\n router.events.pipe(takeUntil(this.destroy$)).subscribe(ev => this.processEv(ev));\n const { destroy$ } = this;\n this.srv.options$.pipe(takeUntil(destroy$)).subscribe(() => this.setClass());\n this.settings.notify.pipe(takeUntil(destroy$)).subscribe(() => this.setClass());\n }\n\n processEv(ev: Event): void {\n if (!this.isFetching && ev instanceof RouteConfigLoadStart) {\n this.isFetching = true;\n }\n if (ev instanceof NavigationError || ev instanceof NavigationCancel) {\n this.isFetching = false;\n const err = this.customError === null ? null : this.customError ?? `Could not load ${ev.url} route`;\n if (err && ev instanceof NavigationError) {\n this.msgSrv.error(err, { nzDuration: 1000 * 3 });\n }\n return;\n }\n if (!(ev instanceof NavigationEnd || ev instanceof RouteConfigLoadEnd)) {\n return;\n }\n if (this.isFetching) {\n setTimeout(() => {\n this.isFetching = false;\n }, 100);\n }\n }\n\n private setClass(): void {\n const { el, doc, renderer, settings } = this;\n const layout = settings.layout;\n updateHostClass(el.nativeElement, renderer, {\n ['alain-default']: true,\n [`alain-default__fixed`]: layout.fixed,\n [`alain-default__collapsed`]: layout.collapsed,\n [`alain-default__hide-aside`]: this.opt.hideAside,\n [`alain-default__hide-header`]: this.opt.hideHeader\n });\n\n doc.body.classList[layout.colorWeak ? 'add' : 'remove']('color-weak');\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[layout-default-header-item-trigger]',\n host: {\n '[class.alain-default__nav-item]': `true`\n }\n})\nexport class LayoutDefaultHeaderItemTriggerDirective {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { NzAvatarModule } from 'ng-zorro-antd/avatar';\nimport { NzBadgeModule } from 'ng-zorro-antd/badge';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzMessageModule } from 'ng-zorro-antd/message';\nimport { NzToolTipModule } from 'ng-zorro-antd/tooltip';\n\nimport { LayoutDefaultHeaderItemTriggerDirective } from './layout-header-item-trigger.directive';\nimport { LayoutDefaultHeaderItemComponent } from './layout-header-item.component';\nimport { LayoutDefaultHeaderComponent } from './layout-header.component';\nimport { LayoutDefaultNavComponent } from './layout-nav.component';\nimport { LayoutDefaultComponent } from './layout.component';\n\nconst COMPONENTS = [\n LayoutDefaultComponent,\n LayoutDefaultNavComponent,\n LayoutDefaultHeaderComponent,\n LayoutDefaultHeaderItemComponent,\n LayoutDefaultHeaderItemTriggerDirective\n];\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n NzToolTipModule,\n NzIconModule,\n NzAvatarModule,\n NzDropDownModule,\n NzMessageModule,\n NzBadgeModule\n ],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class LayoutDefaultModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.LayoutDefaultService","i2","i3","i4","i5","i4.LayoutDefaultService","i6","i7.LayoutDefaultNavComponent","i8.LayoutDefaultHeaderComponent"],"mappings":"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"}
1
+ {"version":3,"file":"layout-default.mjs","sources":["../../../../packages/theme/layout-default/layout-header-item.component.ts","../../../../packages/theme/layout-default/layout.service.ts","../../../../packages/theme/layout-default/layout-nav.component.ts","../../../../packages/theme/layout-default/layout-nav.component.html","../../../../packages/theme/layout-default/layout-header.component.ts","../../../../packages/theme/layout-default/layout.component.ts","../../../../packages/theme/layout-default/layout-header-item-trigger.directive.ts","../../../../packages/theme/layout-default/layout-top-menu-item.ts","../../../../packages/theme/layout-default/layout.module.ts","../../../../packages/theme/layout-default/layout-default.ts"],"sourcesContent":["import { Component, Input, TemplateRef, ViewChild } from '@angular/core';\n\nimport { LayoutDefaultHeaderItemDirection, LayoutDefaultHeaderItemHidden } from './types';\n\n@Component({\n selector: 'layout-default-header-item',\n template: `\n <ng-template #host>\n <ng-content></ng-content>\n </ng-template>\n `\n})\nexport class LayoutDefaultHeaderItemComponent {\n @ViewChild('host', { static: true }) host!: TemplateRef<void>;\n\n @Input() hidden: LayoutDefaultHeaderItemHidden = 'none';\n @Input() direction: LayoutDefaultHeaderItemDirection = 'right';\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport { SettingsService } from '@delon/theme';\n\nimport { LayoutDefaultOptions } from './types';\n\nconst DEFAULT: LayoutDefaultOptions = {\n logoExpanded: `./assets/logo-full.svg`,\n logoCollapsed: `./assets/logo.svg`,\n logoLink: `/`,\n showHeaderCollapse: true,\n showSiderCollapse: false,\n hideAside: false,\n hideHeader: false\n};\n\n@Injectable({ providedIn: 'root' })\nexport class LayoutDefaultService {\n private _options$ = new BehaviorSubject<LayoutDefaultOptions>(DEFAULT);\n private _options: LayoutDefaultOptions = DEFAULT;\n\n get options(): LayoutDefaultOptions {\n return this._options;\n }\n\n get options$(): Observable<LayoutDefaultOptions> {\n return this._options$.asObservable();\n }\n\n get collapsedIcon(): string {\n const collapsed = this.settings.layout.collapsed;\n let type = collapsed ? 'unfold' : 'fold';\n if (this.settings.layout.direction === 'rtl') {\n type = collapsed ? 'fold' : 'unfold';\n }\n return `menu-${type}`;\n }\n\n constructor(private settings: SettingsService) {}\n\n private notify(): void {\n this._options$.next(this._options);\n }\n\n /**\n * Set layout configuration\n *\n * 设置布局配置\n */\n setOptions(options?: LayoutDefaultOptions | null): void {\n this._options = {\n ...DEFAULT,\n ...options\n };\n this.notify();\n }\n\n /**\n * Toggle the collapsed state of the sidebar menu bar\n *\n * 切换侧边栏菜单栏折叠状态\n */\n toggleCollapsed(status?: boolean): void {\n this.settings.setLayout('collapsed', status != null ? status : !this.settings.layout.collapsed);\n this.notify();\n }\n}\n","import { Direction, Directionality } from '@angular/cdk/bidi';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { Subject, filter, takeUntil } from 'rxjs';\n\nimport { Menu, MenuIcon, MenuInner, MenuService, SettingsService } from '@delon/theme';\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput, ZoneOutside } from '@delon/util/decorator';\nimport { WINDOW } from '@delon/util/token';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport interface Nav extends MenuInner {\n _needIcon?: boolean;\n _text?: SafeHtml;\n}\n\nconst SHOWCLS = 'sidebar-nav__floating-show';\nconst FLOATINGCLS = 'sidebar-nav__floating';\n\n@Component({\n selector: 'layout-default-nav',\n templateUrl: './layout-nav.component.html',\n host: {\n '(click)': '_click()',\n '(document:click)': 'closeSubMenu()',\n '[class.d-block]': `true`\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class LayoutDefaultNavComponent implements OnInit, OnDestroy {\n static ngAcceptInputType_disabledAcl: BooleanInput;\n static ngAcceptInputType_autoCloseUnderPad: BooleanInput;\n static ngAcceptInputType_recursivePath: BooleanInput;\n static ngAcceptInputType_openStrictly: BooleanInput;\n static ngAcceptInputType_maxLevelIcon: NumberInput;\n\n private bodyEl!: HTMLBodyElement;\n private destroy$ = new Subject<void>();\n private floatingEl!: HTMLDivElement;\n dir: Direction = 'ltr';\n list: Nav[] = [];\n\n @Input() @InputBoolean() disabledAcl = false;\n @Input() @InputBoolean() autoCloseUnderPad = true;\n @Input() @InputBoolean() recursivePath = true;\n @Input()\n @InputBoolean()\n set openStrictly(value: boolean) {\n this.menuSrv.openStrictly = value;\n }\n @Input() @InputNumber() maxLevelIcon = 3;\n @Output() readonly select = new EventEmitter<Menu>();\n\n get collapsed(): boolean {\n return this.settings.layout.collapsed;\n }\n\n constructor(\n private menuSrv: MenuService,\n private settings: SettingsService,\n private router: Router,\n private render: Renderer2,\n private cdr: ChangeDetectorRef,\n private ngZone: NgZone,\n private sanitizer: DomSanitizer,\n @Inject(DOCUMENT) private doc: NzSafeAny,\n @Inject(WINDOW) private win: NzSafeAny,\n @Optional() private directionality: Directionality\n ) {}\n\n private getLinkNode(node: HTMLElement): HTMLElement | null {\n node = node.nodeName === 'A' ? node : (node.parentNode as HTMLElement);\n return node.nodeName !== 'A' ? null : node;\n }\n\n private floatingClickHandle(e: MouseEvent): boolean {\n e.stopPropagation();\n const linkNode = this.getLinkNode(e.target as HTMLElement);\n if (linkNode == null) {\n return false;\n }\n const id = +linkNode.dataset!.id!;\n // Should be ingore children title trigger event\n if (isNaN(id)) {\n return false;\n }\n\n let item: Nav;\n this.menuSrv.visit(this.list, (i: Nav) => {\n if (!item && i._id === id) {\n item = i;\n }\n });\n this.to(item!);\n this.hideAll();\n e.preventDefault();\n return false;\n }\n\n private clearFloating(): void {\n if (!this.floatingEl) return;\n this.floatingEl.removeEventListener('click', this.floatingClickHandle.bind(this));\n // fix ie: https://github.com/ng-alain/delon/issues/52\n if (this.floatingEl.hasOwnProperty('remove')) {\n this.floatingEl.remove();\n } else if (this.floatingEl.parentNode) {\n this.floatingEl.parentNode.removeChild(this.floatingEl);\n }\n }\n\n private genFloating(): void {\n this.clearFloating();\n this.floatingEl = this.render.createElement('div');\n this.floatingEl.classList.add(`${FLOATINGCLS}-container`);\n this.floatingEl.addEventListener('click', this.floatingClickHandle.bind(this), false);\n this.bodyEl.appendChild(this.floatingEl);\n }\n\n private genSubNode(linkNode: HTMLLinkElement, item: Nav): HTMLUListElement {\n const id = `_sidebar-nav-${item._id}`;\n const childNode = item.badge ? linkNode.nextElementSibling!.nextElementSibling! : linkNode.nextElementSibling!;\n const node = childNode.cloneNode(true) as HTMLUListElement;\n node.id = id;\n node.classList.add(FLOATINGCLS);\n node.addEventListener(\n 'mouseleave',\n () => {\n node.classList.remove(SHOWCLS);\n },\n false\n );\n this.floatingEl.appendChild(node);\n return node;\n }\n\n private hideAll(): void {\n const allNode = this.floatingEl.querySelectorAll(`.${FLOATINGCLS}`);\n for (let i = 0; i < allNode.length; i++) {\n allNode[i].classList.remove(SHOWCLS);\n }\n }\n\n // calculate the node position values.\n private calPos(linkNode: HTMLLinkElement, node: HTMLUListElement): void {\n const rect = linkNode.getBoundingClientRect();\n // bug: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/14721015/\n const scrollTop = Math.max(this.doc.documentElement.scrollTop, this.bodyEl.scrollTop);\n const docHeight = Math.max(this.doc.documentElement.clientHeight, this.bodyEl.clientHeight);\n const spacing = 5;\n let offsetHeight = -spacing;\n if (docHeight < rect.top + node.clientHeight) {\n offsetHeight = rect.top + node.clientHeight - docHeight + spacing;\n }\n node.style.top = `${rect.top + scrollTop - offsetHeight}px`;\n if (this.dir === 'rtl') {\n node.style.right = `${rect.width + spacing}px`;\n } else {\n node.style.left = `${rect.right + spacing}px`;\n }\n }\n\n @ZoneOutside()\n showSubMenu(e: MouseEvent, item: Nav): void {\n if (this.collapsed !== true) {\n return;\n }\n e.preventDefault();\n const linkNode = e.target as Element;\n this.genFloating();\n const subNode = this.genSubNode(linkNode as HTMLLinkElement, item);\n this.hideAll();\n subNode.classList.add(SHOWCLS);\n this.calPos(linkNode as HTMLLinkElement, subNode);\n }\n\n to(item: Menu): void {\n this.select.emit(item);\n if (item.disabled) return;\n\n if (item.externalLink) {\n if (item.target === '_blank') {\n this.win.open(item.externalLink);\n } else {\n this.win.location.href = item.externalLink;\n }\n return;\n }\n this.ngZone.run(() => this.router.navigateByUrl(item.link!));\n }\n\n toggleOpen(item: Nav): void {\n this.menuSrv.toggleOpen(item);\n }\n\n _click(): void {\n if (this.isPad && this.collapsed) {\n this.openAside(false);\n this.hideAll();\n }\n }\n\n closeSubMenu(): void {\n if (this.collapsed) {\n this.hideAll();\n }\n }\n\n private openByUrl(url: string | null): void {\n const { menuSrv, recursivePath } = this;\n this.menuSrv.open(menuSrv.find({ url, recursive: recursivePath }));\n }\n\n ngOnInit(): void {\n const { doc, router, destroy$, menuSrv, settings, cdr } = this;\n this.bodyEl = doc.querySelector('body');\n menuSrv.change.pipe(takeUntil(destroy$)).subscribe(data => {\n menuSrv.visit(data, (i: Nav, _p, depth) => {\n i._text = this.sanitizer.bypassSecurityTrustHtml(i.text!);\n i._needIcon = depth! <= this.maxLevelIcon && !!i.icon;\n if (!i._aclResult) {\n if (this.disabledAcl) {\n i.disabled = true;\n } else {\n i._hidden = true;\n }\n }\n const icon = i.icon as MenuIcon;\n if (icon && icon.type === 'svg' && typeof icon.value === 'string') {\n icon.value = this.sanitizer.bypassSecurityTrustHtml(icon.value!!);\n }\n });\n this.fixHide(data);\n this.list = data.filter((w: Nav) => w._hidden !== true);\n cdr.detectChanges();\n });\n router.events.pipe(takeUntil(destroy$)).subscribe(e => {\n if (e instanceof NavigationEnd) {\n this.openByUrl(e.urlAfterRedirects);\n this.underPad();\n this.cdr.detectChanges();\n }\n });\n settings.notify\n .pipe(\n takeUntil(destroy$),\n filter(t => t.type === 'layout' && t.name === 'collapsed')\n )\n .subscribe(() => this.clearFloating());\n this.underPad();\n\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(destroy$)).subscribe((direction: Direction) => {\n this.dir = direction;\n });\n this.openByUrl(router.url);\n this.ngZone.runOutsideAngular(() => this.genFloating());\n }\n\n private fixHide(ls: Nav[]): void {\n const inFn = (list: Nav[]): void => {\n for (const item of list) {\n if (item.children && item.children.length > 0) {\n inFn(item.children);\n if (!item._hidden) {\n item._hidden = item.children.every((v: Nav) => v._hidden);\n }\n }\n }\n };\n\n inFn(ls);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n this.clearFloating();\n }\n\n // #region Under pad\n\n private get isPad(): boolean {\n return this.doc.defaultView!.innerWidth < 768;\n }\n\n private underPad(): void {\n if (this.autoCloseUnderPad && this.isPad && !this.collapsed) {\n setTimeout(() => this.openAside(true));\n }\n }\n\n private openAside(status: boolean): void {\n this.settings.setLayout('collapsed', status);\n }\n\n // #endregion\n}\n","<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","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnDestroy,\n QueryList,\n TemplateRef\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { App, SettingsService } from '@delon/theme';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { LayoutDefaultHeaderItemComponent } from './layout-header-item.component';\nimport { LayoutDefaultService } from './layout.service';\nimport { LayoutDefaultHeaderItemDirection, LayoutDefaultHeaderItemHidden, LayoutDefaultOptions } from './types';\n\ninterface LayoutDefaultHeaderItem {\n host: TemplateRef<NzSafeAny>;\n hidden?: LayoutDefaultHeaderItemHidden;\n direction?: LayoutDefaultHeaderItemDirection;\n}\n\n@Component({\n selector: 'layout-default-header',\n template: `\n <ng-template #render let-ls>\n <li *ngFor=\"let i of ls\" [class.hidden-mobile]=\"i.hidden === 'mobile'\" [class.hidden-pc]=\"i.hidden === 'pc'\">\n <ng-container *ngTemplateOutlet=\"i.host\"></ng-container>\n </li>\n </ng-template>\n <div class=\"alain-default__header-logo\" [style.width.px]=\"opt.logoFixWidth\">\n <ng-container *ngIf=\"!opt.logo; else opt.logo!\">\n <a [routerLink]=\"opt.logoLink\" class=\"alain-default__header-logo-link\">\n <img class=\"alain-default__header-logo-expanded\" [attr.src]=\"opt.logoExpanded\" [attr.alt]=\"app.name\" />\n <img class=\"alain-default__header-logo-collapsed\" [attr.src]=\"opt.logoCollapsed\" [attr.alt]=\"app.name\" />\n </a>\n </ng-container>\n </div>\n <div class=\"alain-default__nav-wrap\">\n <ul class=\"alain-default__nav\">\n <li *ngIf=\"!opt.hideAside && opt.showHeaderCollapse\">\n <div class=\"alain-default__nav-item alain-default__nav-item--collapse\" (click)=\"toggleCollapsed()\">\n <span nz-icon [nzType]=\"collapsedIcon\"></span>\n </div>\n </li>\n <ng-template [ngTemplateOutlet]=\"render\" [ngTemplateOutletContext]=\"{ $implicit: left }\"></ng-template>\n </ul>\n <div *ngIf=\"middle.length > 0\" class=\"alain-default__nav alain-default__nav-middle\">\n <ng-container *ngTemplateOutlet=\"middle[0].host\"></ng-container>\n </div>\n <ul class=\"alain-default__nav\">\n <ng-template [ngTemplateOutlet]=\"render\" [ngTemplateOutletContext]=\"{ $implicit: right }\"></ng-template>\n </ul>\n </div>\n `,\n host: {\n '[class.alain-default__header]': `true`\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutDefaultHeaderComponent implements AfterViewInit, OnDestroy {\n private destroy$ = new Subject<void>();\n\n @Input() items!: QueryList<LayoutDefaultHeaderItemComponent>;\n\n left: LayoutDefaultHeaderItem[] = [];\n middle: LayoutDefaultHeaderItem[] = [];\n right: LayoutDefaultHeaderItem[] = [];\n\n get opt(): LayoutDefaultOptions {\n return this.srv.options;\n }\n\n get app(): App {\n return this.settings.app;\n }\n\n get collapsed(): boolean {\n return this.settings.layout.collapsed;\n }\n\n get collapsedIcon(): string {\n return this.srv.collapsedIcon;\n }\n\n constructor(private srv: LayoutDefaultService, private settings: SettingsService, private cdr: ChangeDetectorRef) {}\n\n private refresh(): void {\n const arr = this.items.toArray();\n this.left = arr.filter(i => i.direction === 'left');\n this.middle = arr.filter(i => i.direction === 'middle');\n this.right = arr.filter(i => i.direction === 'right');\n this.cdr.detectChanges();\n }\n\n ngAfterViewInit(): void {\n this.items.changes.pipe(takeUntil(this.destroy$)).subscribe(() => this.refresh());\n this.srv.options$.pipe(takeUntil(this.destroy$)).subscribe(() => this.cdr.detectChanges());\n this.refresh();\n }\n\n toggleCollapsed(): void {\n this.srv.toggleCollapsed();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n Component,\n ContentChildren,\n ElementRef,\n Inject,\n Input,\n OnDestroy,\n QueryList,\n Renderer2,\n TemplateRef\n} from '@angular/core';\nimport {\n NavigationCancel,\n NavigationEnd,\n NavigationError,\n RouteConfigLoadEnd,\n RouteConfigLoadStart,\n Router,\n Event\n} from '@angular/router';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { SettingsService } from '@delon/theme';\nimport { updateHostClass } from '@delon/util/browser';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\nimport { LayoutDefaultHeaderItemComponent } from './layout-header-item.component';\nimport { LayoutDefaultService } from './layout.service';\nimport { LayoutDefaultOptions } from './types';\n\n@Component({\n selector: 'layout-default',\n exportAs: 'layoutDefault',\n template: `\n <div class=\"alain-default__progress-bar\" *ngIf=\"isFetching\"></div>\n <layout-default-header *ngIf=\"!opt.hideHeader\" [items]=\"headerItems\"></layout-default-header>\n <div *ngIf=\"!opt.hideAside\" class=\"alain-default__aside\">\n <div class=\"alain-default__aside-wrap\">\n <div class=\"alain-default__aside-inner\">\n <ng-container *ngTemplateOutlet=\"asideUser\"></ng-container>\n <ng-container *ngTemplateOutlet=\"nav\"></ng-container>\n <layout-default-nav *ngIf=\"!nav\"></layout-default-nav>\n </div>\n <div *ngIf=\"opt.showSiderCollapse\" class=\"alain-default__aside-link\">\n <ng-container *ngIf=\"asideBottom === null; else asideBottom\">\n <div class=\"alain-default__aside-link-collapsed\" (click)=\"toggleCollapsed()\">\n <span nz-icon [nzType]=\"collapsedIcon\"></span>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n <section class=\"alain-default__content\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <ng-content></ng-content>\n </section>\n `\n})\nexport class LayoutDefaultComponent implements OnDestroy {\n @ContentChildren(LayoutDefaultHeaderItemComponent, { descendants: false })\n headerItems!: QueryList<LayoutDefaultHeaderItemComponent>;\n\n get opt(): LayoutDefaultOptions {\n return this.srv.options;\n }\n\n @Input()\n set options(value: LayoutDefaultOptions | null | undefined) {\n this.srv.setOptions(value);\n }\n @Input() asideUser: TemplateRef<void> | null = null;\n @Input() asideBottom: TemplateRef<NzSafeAny> | null = null;\n @Input() nav: TemplateRef<void> | null = null;\n @Input() content: TemplateRef<void> | null = null;\n @Input() customError?: string | null;\n\n private destroy$ = new Subject<void>();\n isFetching = false;\n\n get collapsed(): boolean {\n return this.settings.layout.collapsed;\n }\n\n get collapsedIcon(): string {\n return this.srv.collapsedIcon;\n }\n\n toggleCollapsed(): void {\n this.srv.toggleCollapsed();\n }\n\n constructor(\n router: Router,\n private msgSrv: NzMessageService,\n private settings: SettingsService,\n private el: ElementRef,\n private renderer: Renderer2,\n @Inject(DOCUMENT) private doc: NzSafeAny,\n private srv: LayoutDefaultService\n ) {\n router.events.pipe(takeUntil(this.destroy$)).subscribe(ev => this.processEv(ev));\n const { destroy$ } = this;\n this.srv.options$.pipe(takeUntil(destroy$)).subscribe(() => this.setClass());\n this.settings.notify.pipe(takeUntil(destroy$)).subscribe(() => this.setClass());\n }\n\n processEv(ev: Event): void {\n if (!this.isFetching && ev instanceof RouteConfigLoadStart) {\n this.isFetching = true;\n }\n if (ev instanceof NavigationError || ev instanceof NavigationCancel) {\n this.isFetching = false;\n const err = this.customError === null ? null : this.customError ?? `Could not load ${ev.url} route`;\n if (err && ev instanceof NavigationError) {\n this.msgSrv.error(err, { nzDuration: 1000 * 3 });\n }\n return;\n }\n if (!(ev instanceof NavigationEnd || ev instanceof RouteConfigLoadEnd)) {\n return;\n }\n if (this.isFetching) {\n setTimeout(() => {\n this.isFetching = false;\n }, 100);\n }\n }\n\n private setClass(): void {\n const { el, doc, renderer, settings } = this;\n const layout = settings.layout;\n updateHostClass(el.nativeElement, renderer, {\n ['alain-default']: true,\n [`alain-default__fixed`]: layout.fixed,\n [`alain-default__collapsed`]: layout.collapsed,\n [`alain-default__hide-aside`]: this.opt.hideAside,\n [`alain-default__hide-header`]: this.opt.hideHeader\n });\n\n doc.body.classList[layout.colorWeak ? 'add' : 'remove']('color-weak');\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[layout-default-header-item-trigger]',\n host: {\n '[class.alain-default__nav-item]': `true`\n }\n})\nexport class LayoutDefaultHeaderItemTriggerDirective {}\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\nimport { BooleanInput, InputBoolean } from '@delon/util/decorator';\n\n@Component({\n selector: 'layout-default-top-menu-item',\n template: `<ng-content></ng-content>`,\n host: {\n '[class.alain-default__nav-item]': `true`,\n '[class.alain-default__top-menu-item]': `true`,\n '[class.alain-default__top-menu-item-selected]': `selected`,\n '[class.alain-default__top-menu-item-disabled]': `disabled`\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class LayoutDefaultTopMenuItemComponent {\n static ngAcceptInputType_selected: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n\n @Input() @InputBoolean() selected = false;\n @Input() @InputBoolean() disabled = false;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { NzAvatarModule } from 'ng-zorro-antd/avatar';\nimport { NzBadgeModule } from 'ng-zorro-antd/badge';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzMessageModule } from 'ng-zorro-antd/message';\nimport { NzToolTipModule } from 'ng-zorro-antd/tooltip';\n\nimport { LayoutDefaultHeaderItemTriggerDirective } from './layout-header-item-trigger.directive';\nimport { LayoutDefaultHeaderItemComponent } from './layout-header-item.component';\nimport { LayoutDefaultHeaderComponent } from './layout-header.component';\nimport { LayoutDefaultNavComponent } from './layout-nav.component';\nimport { LayoutDefaultTopMenuItemComponent } from './layout-top-menu-item';\nimport { LayoutDefaultComponent } from './layout.component';\n\nconst COMPONENTS = [\n LayoutDefaultComponent,\n LayoutDefaultNavComponent,\n LayoutDefaultHeaderComponent,\n LayoutDefaultHeaderItemComponent,\n LayoutDefaultHeaderItemTriggerDirective,\n LayoutDefaultTopMenuItemComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n NzToolTipModule,\n NzIconModule,\n NzAvatarModule,\n NzDropDownModule,\n NzMessageModule,\n NzBadgeModule\n ],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class LayoutDefaultModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.LayoutDefaultService","i2","i3","i4","i5","i4.LayoutDefaultService","i6","i7.LayoutDefaultNavComponent","i8.LayoutDefaultHeaderComponent"],"mappings":"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"}