@tilde-nlp/ngx-menu 4.1.10 → 5.0.2

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 (71) hide show
  1. package/esm2022/lib/assets/menu-logo.svg.mjs +1 -1
  2. package/esm2022/lib/components/menu-columns/menu-columns.component.mjs +103 -72
  3. package/esm2022/lib/components/menu-icon/menu-icon.component.mjs +53 -23
  4. package/esm2022/lib/components/menu-item-icon/menu-item-icon.component.mjs +115 -71
  5. package/esm2022/lib/components/menu-item-icon/menu.model.mjs +3 -3
  6. package/esm2022/lib/components/menu-item-icon/models/menu-dialog-settings.model.mjs +1 -1
  7. package/esm2022/lib/components/menu-item-icon/models/menu-item-settings.model.mjs +1 -1
  8. package/esm2022/lib/components/menu-item-icon/models/menu-title-placement.model.mjs +6 -6
  9. package/esm2022/lib/components/menu-item-link/menu-item-link.component.mjs +91 -53
  10. package/esm2022/lib/components/menu-item-list/menu-item-list.component.mjs +178 -61
  11. package/esm2022/lib/components/modal-nav-menu/modal-nav-menu.component.mjs +82 -36
  12. package/esm2022/lib/components/nav-base/models/index.mjs +1 -1
  13. package/esm2022/lib/components/nav-base/models/strapi-data-location.enum.mjs +6 -6
  14. package/esm2022/lib/components/nav-base/nav-base.component.mjs +37 -32
  15. package/esm2022/lib/components/side-nav-menu/index.mjs +2 -2
  16. package/esm2022/lib/components/side-nav-menu/models/index.mjs +1 -1
  17. package/esm2022/lib/components/side-nav-menu/models/side-nav-settings.model.mjs +1 -1
  18. package/esm2022/lib/components/side-nav-menu/side-nav-menu.component.mjs +130 -93
  19. package/esm2022/lib/injection-tokens/index.mjs +1 -1
  20. package/esm2022/lib/injection-tokens/menu-shared-config.token.mjs +1 -1
  21. package/esm2022/lib/menu.module.mjs +114 -113
  22. package/esm2022/lib/models/active-menu-item-config.model.mjs +1 -1
  23. package/esm2022/lib/models/active-menu-items.model.mjs +1 -1
  24. package/esm2022/lib/models/custom-menu-item.mjs +1 -1
  25. package/esm2022/lib/models/index.mjs +7 -7
  26. package/esm2022/lib/models/menu-icon-strapi-extension.const.mjs +1 -1
  27. package/esm2022/lib/models/menu-item-group.model.mjs +1 -1
  28. package/esm2022/lib/models/menu-layout-direction.model.mjs +5 -5
  29. package/esm2022/lib/models/menu-shared-config.model.mjs +1 -1
  30. package/esm2022/lib/services/index.mjs +2 -2
  31. package/esm2022/lib/services/menu-items.service.mjs +125 -125
  32. package/esm2022/lib/services/strapi.service.mjs +93 -93
  33. package/esm2022/public-api.mjs +15 -15
  34. package/esm2022/tilde-nlp-ngx-menu.mjs +4 -4
  35. package/fesm2022/tilde-nlp-ngx-menu.mjs +1016 -667
  36. package/fesm2022/tilde-nlp-ngx-menu.mjs.map +1 -1
  37. package/index.d.ts +5 -5
  38. package/lib/assets/menu-logo.svg.d.ts +1 -1
  39. package/lib/components/menu-columns/menu-columns.component.d.ts +28 -28
  40. package/lib/components/menu-icon/menu-icon.component.d.ts +10 -10
  41. package/lib/components/menu-item-icon/menu-item-icon.component.d.ts +28 -28
  42. package/lib/components/menu-item-icon/menu.model.d.ts +3 -3
  43. package/lib/components/menu-item-icon/models/menu-dialog-settings.model.d.ts +8 -8
  44. package/lib/components/menu-item-icon/models/menu-item-settings.model.d.ts +6 -6
  45. package/lib/components/menu-item-icon/models/menu-title-placement.model.d.ts +5 -5
  46. package/lib/components/menu-item-link/menu-item-link.component.d.ts +25 -25
  47. package/lib/components/menu-item-list/menu-item-list.component.d.ts +21 -21
  48. package/lib/components/modal-nav-menu/modal-nav-menu.component.d.ts +14 -14
  49. package/lib/components/nav-base/models/index.d.ts +1 -1
  50. package/lib/components/nav-base/models/strapi-data-location.enum.d.ts +5 -5
  51. package/lib/components/nav-base/nav-base.component.d.ts +19 -19
  52. package/lib/components/side-nav-menu/index.d.ts +2 -2
  53. package/lib/components/side-nav-menu/models/index.d.ts +1 -1
  54. package/lib/components/side-nav-menu/models/side-nav-settings.model.d.ts +7 -7
  55. package/lib/components/side-nav-menu/side-nav-menu.component.d.ts +33 -33
  56. package/lib/injection-tokens/index.d.ts +1 -1
  57. package/lib/injection-tokens/menu-shared-config.token.d.ts +1 -1
  58. package/lib/menu.module.d.ts +29 -29
  59. package/lib/models/active-menu-item-config.model.d.ts +4 -4
  60. package/lib/models/active-menu-items.model.d.ts +6 -6
  61. package/lib/models/custom-menu-item.d.ts +21 -21
  62. package/lib/models/index.d.ts +7 -7
  63. package/lib/models/menu-icon-strapi-extension.const.d.ts +1 -1
  64. package/lib/models/menu-item-group.model.d.ts +9 -9
  65. package/lib/models/menu-layout-direction.model.d.ts +4 -4
  66. package/lib/models/menu-shared-config.model.d.ts +21 -21
  67. package/lib/services/index.d.ts +2 -2
  68. package/lib/services/menu-items.service.d.ts +38 -38
  69. package/lib/services/strapi.service.d.ts +20 -20
  70. package/package.json +12 -9
  71. package/public-api.d.ts +12 -12
@@ -1,7 +1,7 @@
1
- export var TitlePlacement;
2
- (function (TitlePlacement) {
3
- TitlePlacement["none"] = "none";
4
- TitlePlacement["left"] = "left";
5
- TitlePlacement["right"] = "right";
6
- })(TitlePlacement || (TitlePlacement = {}));
1
+ export var TitlePlacement;
2
+ (function (TitlePlacement) {
3
+ TitlePlacement["none"] = "none";
4
+ TitlePlacement["left"] = "left";
5
+ TitlePlacement["right"] = "right";
6
+ })(TitlePlacement || (TitlePlacement = {}));
7
7
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS10aXRsZS1wbGFjZW1lbnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWVudS9zcmMvbGliL2NvbXBvbmVudHMvbWVudS1pdGVtLWljb24vbW9kZWxzL21lbnUtdGl0bGUtcGxhY2VtZW50Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIsK0JBQWEsQ0FBQTtJQUNiLCtCQUFhLENBQUE7SUFDYixpQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFKVyxjQUFjLEtBQWQsY0FBYyxRQUl6QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFRpdGxlUGxhY2VtZW50IHtcclxuICBub25lID0gJ25vbmUnLFxyXG4gIGxlZnQgPSAnbGVmdCcsXHJcbiAgcmlnaHQgPSAncmlnaHQnXHJcbn1cclxuIl19
@@ -1,53 +1,91 @@
1
- import { Component, Input } from '@angular/core';
2
- import { MenuLayoutDirection } from '../../models';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@tilde-nlp/ngx-strapi";
5
- import * as i2 from "@angular/flex-layout/flex";
6
- import * as i3 from "@angular/flex-layout/extended";
7
- import * as i4 from "@angular/common";
8
- import * as i5 from "@angular/material/tooltip";
9
- import * as i6 from "@tilde-nlp/ngx-common";
10
- import * as i7 from "../menu-icon/menu-icon.component";
11
- import * as i8 from "@ngx-translate/core";
12
- export class MenuItemLinkComponent {
13
- get menuItemLayout() {
14
- return this.direction === MenuLayoutDirection.column ? 'column' : 'row';
15
- }
16
- get menuLayoutDirection() {
17
- return (this.direction === MenuLayoutDirection.column || !this.labelsVisible)
18
- ? 'start center' : 'start start';
19
- }
20
- constructor(strapiLinkService, placeholderService) {
21
- this.strapiLinkService = strapiLinkService;
22
- this.placeholderService = placeholderService;
23
- this.showIcons = true;
24
- this.updateTextWithPlaceholders = (textWithReplacedPlaceholders) => this.href = textWithReplacedPlaceholders;
25
- }
26
- ngOnInit() {
27
- this.textWithPlaceholders = this.menuItem.link;
28
- this.placeholderServiceId = this.placeholderService.register(this);
29
- }
30
- linkClick(event, item) {
31
- this.strapiLinkService.strapiLinkClick(event, item.externalLink);
32
- }
33
- ngOnDestroy() {
34
- this.placeholderService.unregister(this.placeholderServiceId);
35
- }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuItemLinkComponent, deps: [{ token: i1.StrapiLinkService }, { token: i1.StrapiVariablesService }], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MenuItemLinkComponent, selector: "tld-menu-item-link", inputs: { direction: "direction", labelsVisible: "labelsVisible", activeItem: "activeItem", showIcons: "showIcons", menuItem: "menuItem" }, ngImport: i0, template: "<a [libPlausibleEvent]=\"menuItem.plausibleEvent\" [fxLayout]=\"menuItemLayout\"\r\n [ngClass.lt-md]=\"'mobile'\" [class.text-center]=\"menuItemLayout === 'column'\" class=\"text-m menu-item\"\r\n [matTooltip]=\"!labelsVisible ? (menuItem.title | translate) : ''\" matTooltipPosition=\"after\"\r\n [fxLayoutAlign]=\"menuLayoutDirection\" matTooltipClass=\"menu-tooltip\" (click)=\"linkClick($event, menuItem)\"\r\n [href]=\"href | translate\" [attr.target]=\"menuItem.externalLink?'_blank': '_self'\" fxLayoutGap=\"0.375rem\"\r\n [class.active-menu-item]=\"menuItem === activeItem\">\r\n <ng-container *ngIf=\"showIcons && menuItem.icon\">\r\n <tld-menu-icon [menuItem]=\"menuItem\"></tld-menu-icon>\r\n </ng-container>\r\n <span *ngIf=\"labelsVisible\" class=\"menu-item-title\">\r\n <span class=\"title-content\" [attr.content]=\"menuItem.title | translate\">\r\n {{ menuItem.title | translate}}\r\n </span>\r\n </span>\r\n</a>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i3.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i6.PlausibleEventDirective, selector: "[libPlausibleEvent]", inputs: ["libPlausibleEvent"] }, { kind: "component", type: i7.MenuIconComponent, selector: "tld-menu-icon", inputs: ["menuItem"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuItemLinkComponent, decorators: [{
40
- type: Component,
41
- args: [{ selector: 'tld-menu-item-link', template: "<a [libPlausibleEvent]=\"menuItem.plausibleEvent\" [fxLayout]=\"menuItemLayout\"\r\n [ngClass.lt-md]=\"'mobile'\" [class.text-center]=\"menuItemLayout === 'column'\" class=\"text-m menu-item\"\r\n [matTooltip]=\"!labelsVisible ? (menuItem.title | translate) : ''\" matTooltipPosition=\"after\"\r\n [fxLayoutAlign]=\"menuLayoutDirection\" matTooltipClass=\"menu-tooltip\" (click)=\"linkClick($event, menuItem)\"\r\n [href]=\"href | translate\" [attr.target]=\"menuItem.externalLink?'_blank': '_self'\" fxLayoutGap=\"0.375rem\"\r\n [class.active-menu-item]=\"menuItem === activeItem\">\r\n <ng-container *ngIf=\"showIcons && menuItem.icon\">\r\n <tld-menu-icon [menuItem]=\"menuItem\"></tld-menu-icon>\r\n </ng-container>\r\n <span *ngIf=\"labelsVisible\" class=\"menu-item-title\">\r\n <span class=\"title-content\" [attr.content]=\"menuItem.title | translate\">\r\n {{ menuItem.title | translate}}\r\n </span>\r\n </span>\r\n</a>\r\n" }]
42
- }], ctorParameters: function () { return [{ type: i1.StrapiLinkService }, { type: i1.StrapiVariablesService }]; }, propDecorators: { direction: [{
43
- type: Input
44
- }], labelsVisible: [{
45
- type: Input
46
- }], activeItem: [{
47
- type: Input
48
- }], showIcons: [{
49
- type: Input
50
- }], menuItem: [{
51
- type: Input
52
- }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLWxpbmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1lbnUvc3JjL2xpYi9jb21wb25lbnRzL21lbnUtaXRlbS1saW5rL21lbnUtaXRlbS1saW5rLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tZW51L3NyYy9saWIvY29tcG9uZW50cy9tZW51LWl0ZW0tbGluay9tZW51LWl0ZW0tbGluay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFrQixtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7OztBQU9uRSxNQUFNLE9BQU8scUJBQXFCO0lBV2hDLElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUMxRSxDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssbUJBQW1CLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUMzRSxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDckMsQ0FBQztJQUVELFlBQTZCLGlCQUFvQyxFQUM5QyxrQkFBMEM7UUFEaEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUM5Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXdCO1FBakJwRCxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBNEIxQiwrQkFBMEIsR0FBRyxDQUFDLDRCQUFvQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLDRCQUE0QixDQUFDO0lBWC9DLENBQUM7SUFFbEUsUUFBUTtRQUNOLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUMvQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWlCLEVBQUUsSUFBb0I7UUFDL0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFJRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNoRSxDQUFDOytHQXBDVSxxQkFBcUI7bUdBQXJCLHFCQUFxQixzTUNUbEMsODdCQWVBOzs0RkROYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usb0JBQW9COzZJQUtyQixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQbGFjZWhvbGRlckNvbXBvbmVudEJhc2UsIFN0cmFwaUxpbmtTZXJ2aWNlLCBTdHJhcGlWYXJpYWJsZXNTZXJ2aWNlIH0gZnJvbSAnQHRpbGRlLW5scC9uZ3gtc3RyYXBpJztcclxuaW1wb3J0IHsgQ3VzdG9tTWVudUl0ZW0sIE1lbnVMYXlvdXREaXJlY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0bGQtbWVudS1pdGVtLWxpbmsnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LWl0ZW0tbGluay5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS1pdGVtLWxpbmsuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVudUl0ZW1MaW5rQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIFBsYWNlaG9sZGVyQ29tcG9uZW50QmFzZSB7XHJcbiAgQElucHV0KCkgZGlyZWN0aW9uITogTWVudUxheW91dERpcmVjdGlvbjtcclxuICBASW5wdXQoKSBsYWJlbHNWaXNpYmxlITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBhY3RpdmVJdGVtITogQ3VzdG9tTWVudUl0ZW0gfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgc2hvd0ljb25zID0gdHJ1ZTtcclxuICBASW5wdXQoKSBtZW51SXRlbSE6IEN1c3RvbU1lbnVJdGVtO1xyXG5cclxuICB0ZXh0V2l0aFBsYWNlaG9sZGVycyE6IHN0cmluZztcclxuICBocmVmITogc3RyaW5nO1xyXG5cclxuICBwcml2YXRlIHBsYWNlaG9sZGVyU2VydmljZUlkITogbnVtYmVyO1xyXG4gIGdldCBtZW51SXRlbUxheW91dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uID09PSBNZW51TGF5b3V0RGlyZWN0aW9uLmNvbHVtbiA/ICdjb2x1bW4nIDogJ3Jvdyc7XHJcbiAgfVxyXG5cclxuICBnZXQgbWVudUxheW91dERpcmVjdGlvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICh0aGlzLmRpcmVjdGlvbiA9PT0gTWVudUxheW91dERpcmVjdGlvbi5jb2x1bW4gfHwgIXRoaXMubGFiZWxzVmlzaWJsZSlcclxuICAgICAgPyAnc3RhcnQgY2VudGVyJyA6ICdzdGFydCBzdGFydCc7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHN0cmFwaUxpbmtTZXJ2aWNlOiBTdHJhcGlMaW5rU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGxhY2Vob2xkZXJTZXJ2aWNlOiBTdHJhcGlWYXJpYWJsZXNTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRleHRXaXRoUGxhY2Vob2xkZXJzID0gdGhpcy5tZW51SXRlbS5saW5rO1xyXG4gICAgdGhpcy5wbGFjZWhvbGRlclNlcnZpY2VJZCA9IHRoaXMucGxhY2Vob2xkZXJTZXJ2aWNlLnJlZ2lzdGVyKHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgbGlua0NsaWNrKGV2ZW50OiBNb3VzZUV2ZW50LCBpdGVtOiBDdXN0b21NZW51SXRlbSkge1xyXG4gICAgdGhpcy5zdHJhcGlMaW5rU2VydmljZS5zdHJhcGlMaW5rQ2xpY2soZXZlbnQsIGl0ZW0uZXh0ZXJuYWxMaW5rKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVRleHRXaXRoUGxhY2Vob2xkZXJzID0gKHRleHRXaXRoUmVwbGFjZWRQbGFjZWhvbGRlcnM6IHN0cmluZykgPT4gdGhpcy5ocmVmID0gdGV4dFdpdGhSZXBsYWNlZFBsYWNlaG9sZGVycztcclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnBsYWNlaG9sZGVyU2VydmljZS51bnJlZ2lzdGVyKHRoaXMucGxhY2Vob2xkZXJTZXJ2aWNlSWQpO1xyXG4gIH1cclxufVxyXG4iLCI8YSBbbGliUGxhdXNpYmxlRXZlbnRdPVwibWVudUl0ZW0ucGxhdXNpYmxlRXZlbnRcIiBbZnhMYXlvdXRdPVwibWVudUl0ZW1MYXlvdXRcIlxyXG4gIFtuZ0NsYXNzLmx0LW1kXT1cIidtb2JpbGUnXCIgW2NsYXNzLnRleHQtY2VudGVyXT1cIm1lbnVJdGVtTGF5b3V0ID09PSAnY29sdW1uJ1wiIGNsYXNzPVwidGV4dC1tIG1lbnUtaXRlbVwiXHJcbiAgW21hdFRvb2x0aXBdPVwiIWxhYmVsc1Zpc2libGUgPyAobWVudUl0ZW0udGl0bGUgfCB0cmFuc2xhdGUpIDogJydcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhZnRlclwiXHJcbiAgW2Z4TGF5b3V0QWxpZ25dPVwibWVudUxheW91dERpcmVjdGlvblwiIG1hdFRvb2x0aXBDbGFzcz1cIm1lbnUtdG9vbHRpcFwiIChjbGljayk9XCJsaW5rQ2xpY2soJGV2ZW50LCBtZW51SXRlbSlcIlxyXG4gIFtocmVmXT1cImhyZWYgfCB0cmFuc2xhdGVcIiBbYXR0ci50YXJnZXRdPVwibWVudUl0ZW0uZXh0ZXJuYWxMaW5rPydfYmxhbmsnOiAnX3NlbGYnXCIgZnhMYXlvdXRHYXA9XCIwLjM3NXJlbVwiXHJcbiAgW2NsYXNzLmFjdGl2ZS1tZW51LWl0ZW1dPVwibWVudUl0ZW0gPT09IGFjdGl2ZUl0ZW1cIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0ljb25zICYmIG1lbnVJdGVtLmljb25cIj5cclxuICAgIDx0bGQtbWVudS1pY29uIFttZW51SXRlbV09XCJtZW51SXRlbVwiPjwvdGxkLW1lbnUtaWNvbj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8c3BhbiAqbmdJZj1cImxhYmVsc1Zpc2libGVcIiBjbGFzcz1cIm1lbnUtaXRlbS10aXRsZVwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJ0aXRsZS1jb250ZW50XCIgW2F0dHIuY29udGVudF09XCJtZW51SXRlbS50aXRsZSB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICB7eyBtZW51SXRlbS50aXRsZSB8IHRyYW5zbGF0ZX19XHJcbiAgICA8L3NwYW4+XHJcbiAgPC9zcGFuPlxyXG48L2E+XHJcbiJdfQ==
1
+ import { Component, Input } from '@angular/core';
2
+ import { MenuLayoutDirection } from '../../models';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@tilde-nlp/ngx-strapi";
5
+ import * as i2 from "@ngbracket/ngx-layout/flex";
6
+ import * as i3 from "@ngbracket/ngx-layout/extended";
7
+ import * as i4 from "@angular/common";
8
+ import * as i5 from "@angular/material/tooltip";
9
+ import * as i6 from "@tilde-nlp/ngx-common";
10
+ import * as i7 from "../menu-icon/menu-icon.component";
11
+ import * as i8 from "@ngx-translate/core";
12
+ function MenuItemLinkComponent_ng_container_3_Template(rf, ctx) { if (rf & 1) {
13
+ i0.ɵɵelementContainerStart(0);
14
+ i0.ɵɵelement(1, "tld-menu-icon", 3);
15
+ i0.ɵɵelementContainerEnd();
16
+ } if (rf & 2) {
17
+ const ctx_r0 = i0.ɵɵnextContext();
18
+ i0.ɵɵadvance();
19
+ i0.ɵɵproperty("menuItem", ctx_r0.menuItem);
20
+ } }
21
+ function MenuItemLinkComponent_span_4_Template(rf, ctx) { if (rf & 1) {
22
+ i0.ɵɵelementStart(0, "span", 4)(1, "span", 5);
23
+ i0.ɵɵpipe(2, "translate");
24
+ i0.ɵɵtext(3);
25
+ i0.ɵɵpipe(4, "translate");
26
+ i0.ɵɵelementEnd()();
27
+ } if (rf & 2) {
28
+ const ctx_r0 = i0.ɵɵnextContext();
29
+ i0.ɵɵadvance();
30
+ i0.ɵɵattribute("content", i0.ɵɵpipeBind1(2, 2, ctx_r0.menuItem.title));
31
+ i0.ɵɵadvance(2);
32
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 4, ctx_r0.menuItem.title), " ");
33
+ } }
34
+ export class MenuItemLinkComponent {
35
+ get menuItemLayout() {
36
+ return this.direction === MenuLayoutDirection.column ? 'column' : 'row';
37
+ }
38
+ get menuLayoutDirection() {
39
+ return (this.direction === MenuLayoutDirection.column || !this.labelsVisible)
40
+ ? 'start center' : 'start start';
41
+ }
42
+ constructor(strapiLinkService, placeholderService) {
43
+ this.strapiLinkService = strapiLinkService;
44
+ this.placeholderService = placeholderService;
45
+ this.showIcons = true;
46
+ this.updateTextWithPlaceholders = (textWithReplacedPlaceholders) => this.href = textWithReplacedPlaceholders;
47
+ }
48
+ ngOnInit() {
49
+ this.textWithPlaceholders = this.menuItem.link;
50
+ this.placeholderServiceId = this.placeholderService.register(this);
51
+ }
52
+ linkClick(event, item) {
53
+ this.strapiLinkService.strapiLinkClick(event, item.externalLink);
54
+ }
55
+ ngOnDestroy() {
56
+ this.placeholderService.unregister(this.placeholderServiceId);
57
+ }
58
+ static { this.ɵfac = function MenuItemLinkComponent_Factory(t) { return new (t || MenuItemLinkComponent)(i0.ɵɵdirectiveInject(i1.StrapiLinkService), i0.ɵɵdirectiveInject(i1.StrapiVariablesService)); }; }
59
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuItemLinkComponent, selectors: [["tld-menu-item-link"]], inputs: { direction: "direction", labelsVisible: "labelsVisible", activeItem: "activeItem", showIcons: "showIcons", menuItem: "menuItem" }, decls: 5, vars: 17, consts: [["matTooltipPosition", "after", "matTooltipClass", "menu-tooltip", "fxLayoutGap", "0.375rem", 1, "text-m", "menu-item", 3, "click", "libPlausibleEvent", "fxLayout", "ngClass.lt-md", "matTooltip", "fxLayoutAlign", "href"], [4, "ngIf"], ["class", "menu-item-title", 4, "ngIf"], [3, "menuItem"], [1, "menu-item-title"], [1, "title-content"]], template: function MenuItemLinkComponent_Template(rf, ctx) { if (rf & 1) {
60
+ i0.ɵɵelementStart(0, "a", 0);
61
+ i0.ɵɵpipe(1, "translate");
62
+ i0.ɵɵpipe(2, "translate");
63
+ i0.ɵɵlistener("click", function MenuItemLinkComponent_Template_a_click_0_listener($event) { return ctx.linkClick($event, ctx.menuItem); });
64
+ i0.ɵɵtemplate(3, MenuItemLinkComponent_ng_container_3_Template, 2, 1, "ng-container", 1)(4, MenuItemLinkComponent_span_4_Template, 5, 6, "span", 2);
65
+ i0.ɵɵelementEnd();
66
+ } if (rf & 2) {
67
+ i0.ɵɵclassProp("text-center", ctx.menuItemLayout === "column")("active-menu-item", ctx.menuItem === ctx.activeItem);
68
+ i0.ɵɵproperty("libPlausibleEvent", ctx.menuItem.plausibleEvent)("fxLayout", ctx.menuItemLayout)("ngClass.lt-md", "mobile")("matTooltip", !ctx.labelsVisible ? i0.ɵɵpipeBind1(1, 13, ctx.menuItem.title) : "")("fxLayoutAlign", ctx.menuLayoutDirection)("href", i0.ɵɵpipeBind1(2, 15, ctx.href), i0.ɵɵsanitizeUrl);
69
+ i0.ɵɵattribute("target", ctx.menuItem.externalLink ? "_blank" : "_self");
70
+ i0.ɵɵadvance(3);
71
+ i0.ɵɵproperty("ngIf", ctx.showIcons && ctx.menuItem.icon);
72
+ i0.ɵɵadvance();
73
+ i0.ɵɵproperty("ngIf", ctx.labelsVisible);
74
+ } }, dependencies: [i2.DefaultLayoutDirective, i2.DefaultLayoutGapDirective, i2.DefaultLayoutAlignDirective, i3.DefaultClassDirective, i4.NgIf, i5.MatTooltip, i6.PlausibleEventDirective, i7.MenuIconComponent, i8.TranslatePipe] }); }
75
+ }
76
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuItemLinkComponent, [{
77
+ type: Component,
78
+ args: [{ selector: 'tld-menu-item-link', template: "<a [libPlausibleEvent]=\"menuItem.plausibleEvent\" [fxLayout]=\"menuItemLayout\"\r\n [ngClass.lt-md]=\"'mobile'\" [class.text-center]=\"menuItemLayout === 'column'\" class=\"text-m menu-item\"\r\n [matTooltip]=\"!labelsVisible ? (menuItem.title | translate) : ''\" matTooltipPosition=\"after\"\r\n [fxLayoutAlign]=\"menuLayoutDirection\" matTooltipClass=\"menu-tooltip\" (click)=\"linkClick($event, menuItem)\"\r\n [href]=\"href | translate\" [attr.target]=\"menuItem.externalLink?'_blank': '_self'\" fxLayoutGap=\"0.375rem\"\r\n [class.active-menu-item]=\"menuItem === activeItem\">\r\n <ng-container *ngIf=\"showIcons && menuItem.icon\">\r\n <tld-menu-icon [menuItem]=\"menuItem\"></tld-menu-icon>\r\n </ng-container>\r\n <span *ngIf=\"labelsVisible\" class=\"menu-item-title\">\r\n <span class=\"title-content\" [attr.content]=\"menuItem.title | translate\">\r\n {{ menuItem.title | translate}}\r\n </span>\r\n </span>\r\n</a>\r\n" }]
79
+ }], () => [{ type: i1.StrapiLinkService }, { type: i1.StrapiVariablesService }], { direction: [{
80
+ type: Input
81
+ }], labelsVisible: [{
82
+ type: Input
83
+ }], activeItem: [{
84
+ type: Input
85
+ }], showIcons: [{
86
+ type: Input
87
+ }], menuItem: [{
88
+ type: Input
89
+ }] }); })();
90
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MenuItemLinkComponent, { className: "MenuItemLinkComponent", filePath: "lib\\components\\menu-item-link\\menu-item-link.component.ts", lineNumber: 10 }); })();
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLWxpbmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1lbnUvc3JjL2xpYi9jb21wb25lbnRzL21lbnUtaXRlbS1saW5rL21lbnUtaXRlbS1saW5rLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tZW51L3NyYy9saWIvY29tcG9uZW50cy9tZW51LWl0ZW0tbGluay9tZW51LWl0ZW0tbGluay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFrQixtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7Ozs7SUNJakUsNkJBQWlEO0lBQy9DLG1DQUFxRDs7OztJQUF0QyxjQUFxQjtJQUFyQiwwQ0FBcUI7OztJQUdwQyxBQURGLCtCQUFvRCxjQUNzQjs7SUFDdEUsWUFDRjs7SUFDRixBQURFLGlCQUFPLEVBQ0Y7OztJQUh1QixjQUEyQzs7SUFDckUsZUFDRjtJQURFLDRFQUNGOztBREhKLE1BQU0sT0FBTyxxQkFBcUI7SUFXaEMsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzFFLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxtQkFBbUIsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQzNFLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsWUFBNkIsaUJBQW9DLEVBQzlDLGtCQUEwQztRQURoQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQzlDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBd0I7UUFqQnBELGNBQVMsR0FBRyxJQUFJLENBQUM7UUE0QjFCLCtCQUEwQixHQUFHLENBQUMsNEJBQW9DLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsNEJBQTRCLENBQUM7SUFYL0MsQ0FBQztJQUVsRSxRQUFRO1FBQ04sSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQy9DLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBaUIsRUFBRSxJQUFvQjtRQUMvQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUlELFdBQVc7UUFDVCxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7c0ZBcENVLHFCQUFxQjtvRUFBckIscUJBQXFCO1lDVGxDLDRCQUtxRDs7O1lBRmtCLG1HQUFTLG1DQUEyQixJQUFDO1lBTTFHLEFBSEEsd0ZBQWlELDJEQUdHO1lBS3RELGlCQUFJOztZQVRGLEFBSjJCLDhEQUFpRCxxREFJMUI7WUFEbEQsQUFEQSxBQURBLEFBREEsQUFEK0MsQUFBOUMsK0RBQTZDLGdDQUE0QiwyQkFDaEQsbUZBQ3VDLDBDQUM1QiwyREFDWjs7WUFFVixlQUFnQztZQUFoQyx5REFBZ0M7WUFHeEMsY0FBbUI7WUFBbkIsd0NBQW1COzs7aUZEQWYscUJBQXFCO2NBTGpDLFNBQVM7MkJBQ0Usb0JBQW9CO3VGQUtyQixTQUFTO2tCQUFqQixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLFVBQVU7a0JBQWxCLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSzs7a0ZBTEsscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGxhY2Vob2xkZXJDb21wb25lbnRCYXNlLCBTdHJhcGlMaW5rU2VydmljZSwgU3RyYXBpVmFyaWFibGVzU2VydmljZSB9IGZyb20gJ0B0aWxkZS1ubHAvbmd4LXN0cmFwaSc7XHJcbmltcG9ydCB7IEN1c3RvbU1lbnVJdGVtLCBNZW51TGF5b3V0RGlyZWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGxkLW1lbnUtaXRlbS1saW5rJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS1pdGVtLWxpbmsuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21lbnUtaXRlbS1saW5rLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE1lbnVJdGVtTGlua0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBQbGFjZWhvbGRlckNvbXBvbmVudEJhc2Uge1xyXG4gIEBJbnB1dCgpIGRpcmVjdGlvbiE6IE1lbnVMYXlvdXREaXJlY3Rpb247XHJcbiAgQElucHV0KCkgbGFiZWxzVmlzaWJsZSE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgYWN0aXZlSXRlbSE6IEN1c3RvbU1lbnVJdGVtIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHNob3dJY29ucyA9IHRydWU7XHJcbiAgQElucHV0KCkgbWVudUl0ZW0hOiBDdXN0b21NZW51SXRlbTtcclxuXHJcbiAgdGV4dFdpdGhQbGFjZWhvbGRlcnMhOiBzdHJpbmc7XHJcbiAgaHJlZiE6IHN0cmluZztcclxuXHJcbiAgcHJpdmF0ZSBwbGFjZWhvbGRlclNlcnZpY2VJZCE6IG51bWJlcjtcclxuICBnZXQgbWVudUl0ZW1MYXlvdXQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvbiA9PT0gTWVudUxheW91dERpcmVjdGlvbi5jb2x1bW4gPyAnY29sdW1uJyA6ICdyb3cnO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1lbnVMYXlvdXREaXJlY3Rpb24oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAodGhpcy5kaXJlY3Rpb24gPT09IE1lbnVMYXlvdXREaXJlY3Rpb24uY29sdW1uIHx8ICF0aGlzLmxhYmVsc1Zpc2libGUpXHJcbiAgICAgID8gJ3N0YXJ0IGNlbnRlcicgOiAnc3RhcnQgc3RhcnQnO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzdHJhcGlMaW5rU2VydmljZTogU3RyYXBpTGlua1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsYWNlaG9sZGVyU2VydmljZTogU3RyYXBpVmFyaWFibGVzU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50ZXh0V2l0aFBsYWNlaG9sZGVycyA9IHRoaXMubWVudUl0ZW0ubGluaztcclxuICAgIHRoaXMucGxhY2Vob2xkZXJTZXJ2aWNlSWQgPSB0aGlzLnBsYWNlaG9sZGVyU2VydmljZS5yZWdpc3Rlcih0aGlzKTtcclxuICB9XHJcblxyXG4gIGxpbmtDbGljayhldmVudDogTW91c2VFdmVudCwgaXRlbTogQ3VzdG9tTWVudUl0ZW0pIHtcclxuICAgIHRoaXMuc3RyYXBpTGlua1NlcnZpY2Uuc3RyYXBpTGlua0NsaWNrKGV2ZW50LCBpdGVtLmV4dGVybmFsTGluayk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVUZXh0V2l0aFBsYWNlaG9sZGVycyA9ICh0ZXh0V2l0aFJlcGxhY2VkUGxhY2Vob2xkZXJzOiBzdHJpbmcpID0+IHRoaXMuaHJlZiA9IHRleHRXaXRoUmVwbGFjZWRQbGFjZWhvbGRlcnM7XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5wbGFjZWhvbGRlclNlcnZpY2UudW5yZWdpc3Rlcih0aGlzLnBsYWNlaG9sZGVyU2VydmljZUlkKTtcclxuICB9XHJcbn1cclxuIiwiPGEgW2xpYlBsYXVzaWJsZUV2ZW50XT1cIm1lbnVJdGVtLnBsYXVzaWJsZUV2ZW50XCIgW2Z4TGF5b3V0XT1cIm1lbnVJdGVtTGF5b3V0XCJcclxuICBbbmdDbGFzcy5sdC1tZF09XCInbW9iaWxlJ1wiIFtjbGFzcy50ZXh0LWNlbnRlcl09XCJtZW51SXRlbUxheW91dCA9PT0gJ2NvbHVtbidcIiBjbGFzcz1cInRleHQtbSBtZW51LWl0ZW1cIlxyXG4gIFttYXRUb29sdGlwXT1cIiFsYWJlbHNWaXNpYmxlID8gKG1lbnVJdGVtLnRpdGxlIHwgdHJhbnNsYXRlKSA6ICcnXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWZ0ZXJcIlxyXG4gIFtmeExheW91dEFsaWduXT1cIm1lbnVMYXlvdXREaXJlY3Rpb25cIiBtYXRUb29sdGlwQ2xhc3M9XCJtZW51LXRvb2x0aXBcIiAoY2xpY2spPVwibGlua0NsaWNrKCRldmVudCwgbWVudUl0ZW0pXCJcclxuICBbaHJlZl09XCJocmVmIHwgdHJhbnNsYXRlXCIgW2F0dHIudGFyZ2V0XT1cIm1lbnVJdGVtLmV4dGVybmFsTGluaz8nX2JsYW5rJzogJ19zZWxmJ1wiIGZ4TGF5b3V0R2FwPVwiMC4zNzVyZW1cIlxyXG4gIFtjbGFzcy5hY3RpdmUtbWVudS1pdGVtXT1cIm1lbnVJdGVtID09PSBhY3RpdmVJdGVtXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dJY29ucyAmJiBtZW51SXRlbS5pY29uXCI+XHJcbiAgICA8dGxkLW1lbnUtaWNvbiBbbWVudUl0ZW1dPVwibWVudUl0ZW1cIj48L3RsZC1tZW51LWljb24+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPHNwYW4gKm5nSWY9XCJsYWJlbHNWaXNpYmxlXCIgY2xhc3M9XCJtZW51LWl0ZW0tdGl0bGVcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwidGl0bGUtY29udGVudFwiIFthdHRyLmNvbnRlbnRdPVwibWVudUl0ZW0udGl0bGUgfCB0cmFuc2xhdGVcIj5cclxuICAgICAge3sgbWVudUl0ZW0udGl0bGUgfCB0cmFuc2xhdGV9fVxyXG4gICAgPC9zcGFuPlxyXG4gIDwvc3Bhbj5cclxuPC9hPlxyXG4iXX0=
@@ -1,61 +1,178 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { MenuLayoutDirection } from '../../models/menu-layout-direction.model';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/flex-layout/flex";
5
- import * as i2 from "@angular/flex-layout/extended";
6
- import * as i3 from "@angular/common";
7
- import * as i4 from "@angular/material/tooltip";
8
- import * as i5 from "../menu-icon/menu-icon.component";
9
- import * as i6 from "../menu-item-link/menu-item-link.component";
10
- import * as i7 from "@ngx-translate/core";
11
- export class MenuItemListComponent {
12
- constructor() {
13
- this.direction = MenuLayoutDirection.column;
14
- this.labelsVisible = true;
15
- this.showIcons = true;
16
- this.items = [];
17
- this.toggleExpand = new EventEmitter();
18
- }
19
- get titleKey() {
20
- return this.menuItemGroup?.title;
21
- }
22
- get showTitle() {
23
- return this.menuItemGroup?.showTitle;
24
- }
25
- get menuLayoutDirection() {
26
- return (this.direction === MenuLayoutDirection.column || !this.labelsVisible)
27
- ? 'start center' : 'start start';
28
- }
29
- get menuItemLayout() {
30
- return this.direction === MenuLayoutDirection.column ? 'column' : 'row';
31
- }
32
- toggleItemExpand(event, menuItem) {
33
- // so menu doesnt get closed.
34
- event.stopPropagation();
35
- if (this.labelsVisible || !menuItem.expanded) {
36
- menuItem.expanded = !menuItem.expanded;
37
- }
38
- this.toggleExpand.next(menuItem);
39
- }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuItemListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
41
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MenuItemListComponent, selector: "menu-item-list", inputs: { direction: "direction", labelsVisible: "labelsVisible", activeItem: "activeItem", showIcons: "showIcons", items: "items", menuItemGroup: "menuItemGroup" }, outputs: { toggleExpand: "toggleExpand" }, ngImport: i0, template: "<div class=\"menu-list-wrapper\">\r\n <div *ngIf=\"titleKey && showTitle && labelsVisible\" fxLayoutAlign=\"start center\" class=\"menu-item-list-title\">\r\n {{ titleKey | translate }}\r\n </div>\r\n <div fxLayout=\"column\" [fxLayoutAlign]=\"menuLayoutDirection\" class=\"menu-item-list\">\r\n <ng-container *ngFor=\"let menuItem of items\">\r\n <ng-container\r\n *ngTemplateOutlet=\"!menuItem.showChildren || !menuItem.children || menuItem?.children?.length === 0 ? menuItemLink : itemWithChildren; context: {menuItem: menuItem}\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<ng-template #itemWithChildren let-menuItem=\"menuItem\">\r\n <button [fxLayout]=\"menuItemLayout\" [class.text-center]=\"menuItemLayout === 'column'\" class=\"text-m menu-item\"\r\n [matTooltip]=\"!labelsVisible ? (menuItem.title | translate) : ''\" matTooltipPosition=\"after\" [class.menu-labels-visible]=\"labelsVisible\"\r\n [fxLayoutAlign]=\"menuLayoutDirection\" matTooltipClass=\"menu-tooltip\" fxLayoutGap=\"0.375rem\"\r\n [class.active-menu-item]=\"activeItem?.link && menuItem === activeItem\" (click)=\"toggleItemExpand($event,menuItem)\">\r\n <ng-container *ngIf=\"showIcons && menuItem.icon\">\r\n <tld-menu-icon [menuItem]=\"menuItem\"></tld-menu-icon>\r\n </ng-container>\r\n <ng-container *ngIf=\"labelsVisible\">\r\n <span class=\"menu-item-title\">\r\n <span class=\"title-content\">{{ menuItem.title | translate }}</span></span>\r\n <span class=\"material-icons\" *ngIf=\"menuItem.showChildren && menuItem.children\">\r\n {{ menuItem.expanded ? 'arrow_drop_up' : 'arrow_drop_down' }}\r\n </span>\r\n </ng-container>\r\n </button>\r\n <ng-container *ngIf=\"menuItem.showChildren && menuItem.expanded && labelsVisible\">\r\n <menu-item-list class=\"child-list\" *ngIf=\"menuItem.children && menuItem.children.length\" [items]=\"menuItem.children\"\r\n [direction]=\"direction\" [labelsVisible]=\"labelsVisible\" [activeItem]=\"activeItem\">\r\n </menu-item-list>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #menuItemLink let-menuItem=\"menuItem\">\r\n <tld-menu-item-link [ngClass.lt-md]=\"'mob-menu-item'\" [menuItem]=\"menuItem\" [direction]=\"direction\" [labelsVisible]=\"labelsVisible\"\r\n [activeItem]=\"activeItem\" [showIcons]=\"showIcons\"></tld-menu-item-link>\r\n</ng-template>", styles: [":host{margin:1em 0;display:inline-block}:host::ng-deep .menu-list-wrapper .menu-item-list-title{margin-bottom:1em;font-size:1rem;font-weight:500;line-height:1.5rem}:host::ng-deep .menu-list-wrapper .text-center{text-align:center}:host::ng-deep .menu-list-wrapper tld-menu-item-link+tld-menu-item-link,:host::ng-deep .menu-list-wrapper tld-menu-item-link+.menu-item,:host::ng-deep .menu-list-wrapper .menu-item+tld-menu-item-link,:host::ng-deep .menu-list-wrapper .menu-item+.menu-item{margin-top:1.5625em}:host::ng-deep .menu-list-wrapper .child-list tld-menu-item-link{margin-top:1em}:host::ng-deep .menu-list-wrapper .menu-labels-visible{width:100%}:host::ng-deep .menu-list-wrapper .menu-item{cursor:pointer;font-style:normal;color:var(--base-30);text-decoration:none;align-items:center!important;font-weight:400;background:none;border:none}:host::ng-deep .menu-list-wrapper .menu-item:focus-visible{outline:black solid 2px}:host::ng-deep .menu-list-wrapper .menu-item:not(button):hover{font-weight:600}:host::ng-deep .menu-list-wrapper .menu-item.active-menu-item,:host::ng-deep .menu-list-wrapper .menu-item.active-menu-item mat-icon,:host::ng-deep .menu-list-wrapper .menu-item.active-menu-item:hover{color:var(--primary-accent)!important;font-weight:600}:host::ng-deep .menu-list-wrapper .menu-item span{display:inline-block}:host::ng-deep .menu-list-wrapper .menu-item .menu-item-title{display:flex;flex-direction:row;align-items:start;width:100%}:host::ng-deep .menu-list-wrapper .menu-item .menu-item-title .title-content{display:block}:host::ng-deep .menu-list-wrapper .menu-item .menu-item-title .title-content:before{display:block;content:attr(content);font-weight:600;height:0;overflow:hidden;visibility:hidden}:host.child-list{margin-bottom:1rem}:host.child-list .menu-item+.menu-item{margin-top:.5rem}::ng-deep .menu-tooltip{left:.625rem;font-family:Roboto;font-style:normal;font-weight:400;font-size:.75rem;line-height:1.25rem;color:var(--base-70);border-radius:.25rem;position:relative}::ng-deep .menu-tooltip:after{width:0;height:0;content:\"\";position:absolute;border-left:.5rem solid transparent;border-right:.5rem solid transparent;border-bottom:.5rem solid var(--menu-border-dark-color);left:-.75rem;top:calc(50% - .25rem);transform:rotate(270deg);overflow:initial}menu-item-list{padding-left:30px;margin:0}.mob-menu-item{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: MenuItemListComponent, selector: "menu-item-list", inputs: ["direction", "labelsVisible", "activeItem", "showIcons", "items", "menuItemGroup"], outputs: ["toggleExpand"] }, { kind: "component", type: i5.MenuIconComponent, selector: "tld-menu-icon", inputs: ["menuItem"] }, { kind: "component", type: i6.MenuItemLinkComponent, selector: "tld-menu-item-link", inputs: ["direction", "labelsVisible", "activeItem", "showIcons", "menuItem"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
42
- }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuItemListComponent, decorators: [{
44
- type: Component,
45
- args: [{ selector: 'menu-item-list', template: "<div class=\"menu-list-wrapper\">\r\n <div *ngIf=\"titleKey && showTitle && labelsVisible\" fxLayoutAlign=\"start center\" class=\"menu-item-list-title\">\r\n {{ titleKey | translate }}\r\n </div>\r\n <div fxLayout=\"column\" [fxLayoutAlign]=\"menuLayoutDirection\" class=\"menu-item-list\">\r\n <ng-container *ngFor=\"let menuItem of items\">\r\n <ng-container\r\n *ngTemplateOutlet=\"!menuItem.showChildren || !menuItem.children || menuItem?.children?.length === 0 ? menuItemLink : itemWithChildren; context: {menuItem: menuItem}\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<ng-template #itemWithChildren let-menuItem=\"menuItem\">\r\n <button [fxLayout]=\"menuItemLayout\" [class.text-center]=\"menuItemLayout === 'column'\" class=\"text-m menu-item\"\r\n [matTooltip]=\"!labelsVisible ? (menuItem.title | translate) : ''\" matTooltipPosition=\"after\" [class.menu-labels-visible]=\"labelsVisible\"\r\n [fxLayoutAlign]=\"menuLayoutDirection\" matTooltipClass=\"menu-tooltip\" fxLayoutGap=\"0.375rem\"\r\n [class.active-menu-item]=\"activeItem?.link && menuItem === activeItem\" (click)=\"toggleItemExpand($event,menuItem)\">\r\n <ng-container *ngIf=\"showIcons && menuItem.icon\">\r\n <tld-menu-icon [menuItem]=\"menuItem\"></tld-menu-icon>\r\n </ng-container>\r\n <ng-container *ngIf=\"labelsVisible\">\r\n <span class=\"menu-item-title\">\r\n <span class=\"title-content\">{{ menuItem.title | translate }}</span></span>\r\n <span class=\"material-icons\" *ngIf=\"menuItem.showChildren && menuItem.children\">\r\n {{ menuItem.expanded ? 'arrow_drop_up' : 'arrow_drop_down' }}\r\n </span>\r\n </ng-container>\r\n </button>\r\n <ng-container *ngIf=\"menuItem.showChildren && menuItem.expanded && labelsVisible\">\r\n <menu-item-list class=\"child-list\" *ngIf=\"menuItem.children && menuItem.children.length\" [items]=\"menuItem.children\"\r\n [direction]=\"direction\" [labelsVisible]=\"labelsVisible\" [activeItem]=\"activeItem\">\r\n </menu-item-list>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #menuItemLink let-menuItem=\"menuItem\">\r\n <tld-menu-item-link [ngClass.lt-md]=\"'mob-menu-item'\" [menuItem]=\"menuItem\" [direction]=\"direction\" [labelsVisible]=\"labelsVisible\"\r\n [activeItem]=\"activeItem\" [showIcons]=\"showIcons\"></tld-menu-item-link>\r\n</ng-template>", styles: [":host{margin:1em 0;display:inline-block}:host::ng-deep .menu-list-wrapper .menu-item-list-title{margin-bottom:1em;font-size:1rem;font-weight:500;line-height:1.5rem}:host::ng-deep .menu-list-wrapper .text-center{text-align:center}:host::ng-deep .menu-list-wrapper tld-menu-item-link+tld-menu-item-link,:host::ng-deep .menu-list-wrapper tld-menu-item-link+.menu-item,:host::ng-deep .menu-list-wrapper .menu-item+tld-menu-item-link,:host::ng-deep .menu-list-wrapper .menu-item+.menu-item{margin-top:1.5625em}:host::ng-deep .menu-list-wrapper .child-list tld-menu-item-link{margin-top:1em}:host::ng-deep .menu-list-wrapper .menu-labels-visible{width:100%}:host::ng-deep .menu-list-wrapper .menu-item{cursor:pointer;font-style:normal;color:var(--base-30);text-decoration:none;align-items:center!important;font-weight:400;background:none;border:none}:host::ng-deep .menu-list-wrapper .menu-item:focus-visible{outline:black solid 2px}:host::ng-deep .menu-list-wrapper .menu-item:not(button):hover{font-weight:600}:host::ng-deep .menu-list-wrapper .menu-item.active-menu-item,:host::ng-deep .menu-list-wrapper .menu-item.active-menu-item mat-icon,:host::ng-deep .menu-list-wrapper .menu-item.active-menu-item:hover{color:var(--primary-accent)!important;font-weight:600}:host::ng-deep .menu-list-wrapper .menu-item span{display:inline-block}:host::ng-deep .menu-list-wrapper .menu-item .menu-item-title{display:flex;flex-direction:row;align-items:start;width:100%}:host::ng-deep .menu-list-wrapper .menu-item .menu-item-title .title-content{display:block}:host::ng-deep .menu-list-wrapper .menu-item .menu-item-title .title-content:before{display:block;content:attr(content);font-weight:600;height:0;overflow:hidden;visibility:hidden}:host.child-list{margin-bottom:1rem}:host.child-list .menu-item+.menu-item{margin-top:.5rem}::ng-deep .menu-tooltip{left:.625rem;font-family:Roboto;font-style:normal;font-weight:400;font-size:.75rem;line-height:1.25rem;color:var(--base-70);border-radius:.25rem;position:relative}::ng-deep .menu-tooltip:after{width:0;height:0;content:\"\";position:absolute;border-left:.5rem solid transparent;border-right:.5rem solid transparent;border-bottom:.5rem solid var(--menu-border-dark-color);left:-.75rem;top:calc(50% - .25rem);transform:rotate(270deg);overflow:initial}menu-item-list{padding-left:30px;margin:0}.mob-menu-item{width:100%}\n"] }]
46
- }], propDecorators: { direction: [{
47
- type: Input
48
- }], labelsVisible: [{
49
- type: Input
50
- }], activeItem: [{
51
- type: Input
52
- }], showIcons: [{
53
- type: Input
54
- }], items: [{
55
- type: Input
56
- }], menuItemGroup: [{
57
- type: Input
58
- }], toggleExpand: [{
59
- type: Output
60
- }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1lbnUvc3JjL2xpYi9jb21wb25lbnRzL21lbnUtaXRlbS1saXN0L21lbnUtaXRlbS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tZW51L3NyYy9saWIvY29tcG9uZW50cy9tZW51LWl0ZW0tbGlzdC9tZW51LWl0ZW0tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7Ozs7QUFPL0UsTUFBTSxPQUFPLHFCQUFxQjtJQUxsQztRQU1XLGNBQVMsR0FBd0IsbUJBQW1CLENBQUMsTUFBTSxDQUFDO1FBQzVELGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBRXJCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFFakIsVUFBSyxHQUFxQixFQUFFLENBQUM7UUFHNUIsaUJBQVksR0FBaUMsSUFBSSxZQUFZLEVBQWtCLENBQUM7S0E4QjNGO0lBNUJDLElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUM7SUFDdkMsQ0FBQztJQUdELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLG1CQUFtQixDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDM0UsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDMUUsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQWlCLEVBQUUsUUFBd0I7UUFDMUQsNkJBQTZCO1FBQzdCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFO1lBQzVDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1NBQ3hDO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbkMsQ0FBQzsrR0F0Q1UscUJBQXFCO21HQUFyQixxQkFBcUIsdVFDVmxDLDgzRUF1Q2MsdXFLRDdCRCxxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsZ0JBQWdCOzhCQUtqQixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDdXN0b21NZW51SXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9jdXN0b20tbWVudS1pdGVtJztcclxuaW1wb3J0IHsgTWVudUl0ZW1Hcm91cEJhc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvbWVudS1pdGVtLWdyb3VwLm1vZGVsJztcclxuaW1wb3J0IHsgTWVudUxheW91dERpcmVjdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9tZW51LWxheW91dC1kaXJlY3Rpb24ubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtZW51LWl0ZW0tbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtaXRlbS1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tZW51LWl0ZW0tbGlzdC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51SXRlbUxpc3RDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGRpcmVjdGlvbjogTWVudUxheW91dERpcmVjdGlvbiA9IE1lbnVMYXlvdXREaXJlY3Rpb24uY29sdW1uO1xyXG4gIEBJbnB1dCgpIGxhYmVsc1Zpc2libGUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGFjdGl2ZUl0ZW0hOiBDdXN0b21NZW51SXRlbSB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBzaG93SWNvbnMgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKSBpdGVtczogQ3VzdG9tTWVudUl0ZW1bXSA9IFtdO1xyXG4gIEBJbnB1dCgpIG1lbnVJdGVtR3JvdXAhOiBNZW51SXRlbUdyb3VwQmFzZTtcclxuXHJcbiAgQE91dHB1dCgpIHRvZ2dsZUV4cGFuZDogRXZlbnRFbWl0dGVyPEN1c3RvbU1lbnVJdGVtPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tTWVudUl0ZW0+KCk7XHJcblxyXG4gIGdldCB0aXRsZUtleSgpIHtcclxuICAgIHJldHVybiB0aGlzLm1lbnVJdGVtR3JvdXA/LnRpdGxlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNob3dUaXRsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLm1lbnVJdGVtR3JvdXA/LnNob3dUaXRsZTtcclxuICB9XHJcblxyXG5cclxuICBnZXQgbWVudUxheW91dERpcmVjdGlvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICh0aGlzLmRpcmVjdGlvbiA9PT0gTWVudUxheW91dERpcmVjdGlvbi5jb2x1bW4gfHwgIXRoaXMubGFiZWxzVmlzaWJsZSlcclxuICAgICAgPyAnc3RhcnQgY2VudGVyJyA6ICdzdGFydCBzdGFydCc7XHJcbiAgfVxyXG5cclxuICBnZXQgbWVudUl0ZW1MYXlvdXQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvbiA9PT0gTWVudUxheW91dERpcmVjdGlvbi5jb2x1bW4gPyAnY29sdW1uJyA6ICdyb3cnO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlSXRlbUV4cGFuZChldmVudDogTW91c2VFdmVudCwgbWVudUl0ZW06IEN1c3RvbU1lbnVJdGVtKSB7XHJcbiAgICAvLyBzbyBtZW51IGRvZXNudCBnZXQgY2xvc2VkLlxyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgaWYgKHRoaXMubGFiZWxzVmlzaWJsZSB8fCAhbWVudUl0ZW0uZXhwYW5kZWQpIHtcclxuICAgICAgbWVudUl0ZW0uZXhwYW5kZWQgPSAhbWVudUl0ZW0uZXhwYW5kZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50b2dnbGVFeHBhbmQubmV4dChtZW51SXRlbSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtZW51LWxpc3Qtd3JhcHBlclwiPlxyXG4gIDxkaXYgKm5nSWY9XCJ0aXRsZUtleSAmJiBzaG93VGl0bGUgJiYgbGFiZWxzVmlzaWJsZVwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBjbGFzcz1cIm1lbnUtaXRlbS1saXN0LXRpdGxlXCI+XHJcbiAgICB7eyB0aXRsZUtleSB8IHRyYW5zbGF0ZSB9fVxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBbZnhMYXlvdXRBbGlnbl09XCJtZW51TGF5b3V0RGlyZWN0aW9uXCIgY2xhc3M9XCJtZW51LWl0ZW0tbGlzdFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWVudUl0ZW0gb2YgaXRlbXNcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiIW1lbnVJdGVtLnNob3dDaGlsZHJlbiB8fCAhbWVudUl0ZW0uY2hpbGRyZW4gfHwgbWVudUl0ZW0/LmNoaWxkcmVuPy5sZW5ndGggPT09IDAgPyBtZW51SXRlbUxpbmsgOiBpdGVtV2l0aENoaWxkcmVuOyBjb250ZXh0OiB7bWVudUl0ZW06IG1lbnVJdGVtfVwiPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjaXRlbVdpdGhDaGlsZHJlbiBsZXQtbWVudUl0ZW09XCJtZW51SXRlbVwiPlxyXG4gIDxidXR0b24gW2Z4TGF5b3V0XT1cIm1lbnVJdGVtTGF5b3V0XCIgW2NsYXNzLnRleHQtY2VudGVyXT1cIm1lbnVJdGVtTGF5b3V0ID09PSAnY29sdW1uJ1wiIGNsYXNzPVwidGV4dC1tIG1lbnUtaXRlbVwiXHJcbiAgICBbbWF0VG9vbHRpcF09XCIhbGFiZWxzVmlzaWJsZSA/IChtZW51SXRlbS50aXRsZSB8IHRyYW5zbGF0ZSkgOiAnJ1wiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFmdGVyXCIgW2NsYXNzLm1lbnUtbGFiZWxzLXZpc2libGVdPVwibGFiZWxzVmlzaWJsZVwiXHJcbiAgICBbZnhMYXlvdXRBbGlnbl09XCJtZW51TGF5b3V0RGlyZWN0aW9uXCIgbWF0VG9vbHRpcENsYXNzPVwibWVudS10b29sdGlwXCIgZnhMYXlvdXRHYXA9XCIwLjM3NXJlbVwiXHJcbiAgICBbY2xhc3MuYWN0aXZlLW1lbnUtaXRlbV09XCJhY3RpdmVJdGVtPy5saW5rICYmIG1lbnVJdGVtID09PSBhY3RpdmVJdGVtXCIgKGNsaWNrKT1cInRvZ2dsZUl0ZW1FeHBhbmQoJGV2ZW50LG1lbnVJdGVtKVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dJY29ucyAmJiBtZW51SXRlbS5pY29uXCI+XHJcbiAgICAgIDx0bGQtbWVudS1pY29uIFttZW51SXRlbV09XCJtZW51SXRlbVwiPjwvdGxkLW1lbnUtaWNvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsc1Zpc2libGVcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LWl0ZW0tdGl0bGVcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLWNvbnRlbnRcIj57eyBtZW51SXRlbS50aXRsZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiAqbmdJZj1cIm1lbnVJdGVtLnNob3dDaGlsZHJlbiAmJiBtZW51SXRlbS5jaGlsZHJlblwiPlxyXG4gICAgICAgIHt7IG1lbnVJdGVtLmV4cGFuZGVkID8gJ2Fycm93X2Ryb3BfdXAnIDogJ2Fycm93X2Ryb3BfZG93bicgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9idXR0b24+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lbnVJdGVtLnNob3dDaGlsZHJlbiAmJiBtZW51SXRlbS5leHBhbmRlZCAmJiBsYWJlbHNWaXNpYmxlXCI+XHJcbiAgICA8bWVudS1pdGVtLWxpc3QgY2xhc3M9XCJjaGlsZC1saXN0XCIgKm5nSWY9XCJtZW51SXRlbS5jaGlsZHJlbiAmJiBtZW51SXRlbS5jaGlsZHJlbi5sZW5ndGhcIiBbaXRlbXNdPVwibWVudUl0ZW0uY2hpbGRyZW5cIlxyXG4gICAgICBbZGlyZWN0aW9uXT1cImRpcmVjdGlvblwiIFtsYWJlbHNWaXNpYmxlXT1cImxhYmVsc1Zpc2libGVcIiBbYWN0aXZlSXRlbV09XCJhY3RpdmVJdGVtXCI+XHJcbiAgICA8L21lbnUtaXRlbS1saXN0PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNtZW51SXRlbUxpbmsgbGV0LW1lbnVJdGVtPVwibWVudUl0ZW1cIj5cclxuICA8dGxkLW1lbnUtaXRlbS1saW5rIFtuZ0NsYXNzLmx0LW1kXT1cIidtb2ItbWVudS1pdGVtJ1wiIFttZW51SXRlbV09XCJtZW51SXRlbVwiIFtkaXJlY3Rpb25dPVwiZGlyZWN0aW9uXCIgW2xhYmVsc1Zpc2libGVdPVwibGFiZWxzVmlzaWJsZVwiXHJcbiAgICBbYWN0aXZlSXRlbV09XCJhY3RpdmVJdGVtXCIgW3Nob3dJY29uc109XCJzaG93SWNvbnNcIj48L3RsZC1tZW51LWl0ZW0tbGluaz5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { MenuLayoutDirection } from '../../models/menu-layout-direction.model';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@ngbracket/ngx-layout/flex";
5
+ import * as i2 from "@ngbracket/ngx-layout/extended";
6
+ import * as i3 from "@angular/common";
7
+ import * as i4 from "@angular/material/tooltip";
8
+ import * as i5 from "../menu-icon/menu-icon.component";
9
+ import * as i6 from "../menu-item-link/menu-item-link.component";
10
+ import * as i7 from "@ngx-translate/core";
11
+ const _c0 = a0 => ({ menuItem: a0 });
12
+ function MenuItemListComponent_div_1_Template(rf, ctx) { if (rf & 1) {
13
+ i0.ɵɵelementStart(0, "div", 6);
14
+ i0.ɵɵtext(1);
15
+ i0.ɵɵpipe(2, "translate");
16
+ i0.ɵɵelementEnd();
17
+ } if (rf & 2) {
18
+ const ctx_r0 = i0.ɵɵnextContext();
19
+ i0.ɵɵadvance();
20
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r0.titleKey), " ");
21
+ } }
22
+ function MenuItemListComponent_ng_container_3_ng_container_1_Template(rf, ctx) { if (rf & 1) {
23
+ i0.ɵɵelementContainer(0);
24
+ } }
25
+ function MenuItemListComponent_ng_container_3_Template(rf, ctx) { if (rf & 1) {
26
+ i0.ɵɵelementContainerStart(0);
27
+ i0.ɵɵtemplate(1, MenuItemListComponent_ng_container_3_ng_container_1_Template, 1, 0, "ng-container", 7);
28
+ i0.ɵɵelementContainerEnd();
29
+ } if (rf & 2) {
30
+ const menuItem_r2 = ctx.$implicit;
31
+ i0.ɵɵnextContext();
32
+ const itemWithChildren_r3 = i0.ɵɵreference(5);
33
+ const menuItemLink_r4 = i0.ɵɵreference(7);
34
+ i0.ɵɵadvance();
35
+ i0.ɵɵproperty("ngTemplateOutlet", !menuItem_r2.showChildren || !menuItem_r2.children || (menuItem_r2 == null ? null : menuItem_r2.children == null ? null : menuItem_r2.children.length) === 0 ? menuItemLink_r4 : itemWithChildren_r3)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, menuItem_r2));
36
+ } }
37
+ function MenuItemListComponent_ng_template_4_ng_container_2_Template(rf, ctx) { if (rf & 1) {
38
+ i0.ɵɵelementContainerStart(0);
39
+ i0.ɵɵelement(1, "tld-menu-icon", 10);
40
+ i0.ɵɵelementContainerEnd();
41
+ } if (rf & 2) {
42
+ const menuItem_r6 = i0.ɵɵnextContext().menuItem;
43
+ i0.ɵɵadvance();
44
+ i0.ɵɵproperty("menuItem", menuItem_r6);
45
+ } }
46
+ function MenuItemListComponent_ng_template_4_ng_container_3_span_5_Template(rf, ctx) { if (rf & 1) {
47
+ i0.ɵɵelementStart(0, "span", 14);
48
+ i0.ɵɵtext(1);
49
+ i0.ɵɵelementEnd();
50
+ } if (rf & 2) {
51
+ const menuItem_r6 = i0.ɵɵnextContext(2).menuItem;
52
+ i0.ɵɵadvance();
53
+ i0.ɵɵtextInterpolate1(" ", menuItem_r6.expanded ? "arrow_drop_up" : "arrow_drop_down", " ");
54
+ } }
55
+ function MenuItemListComponent_ng_template_4_ng_container_3_Template(rf, ctx) { if (rf & 1) {
56
+ i0.ɵɵelementContainerStart(0);
57
+ i0.ɵɵelementStart(1, "span", 11)(2, "span", 12);
58
+ i0.ɵɵtext(3);
59
+ i0.ɵɵpipe(4, "translate");
60
+ i0.ɵɵelementEnd()();
61
+ i0.ɵɵtemplate(5, MenuItemListComponent_ng_template_4_ng_container_3_span_5_Template, 2, 1, "span", 13);
62
+ i0.ɵɵelementContainerEnd();
63
+ } if (rf & 2) {
64
+ const menuItem_r6 = i0.ɵɵnextContext().menuItem;
65
+ i0.ɵɵadvance(3);
66
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 2, menuItem_r6.title));
67
+ i0.ɵɵadvance(2);
68
+ i0.ɵɵproperty("ngIf", menuItem_r6.showChildren && menuItem_r6.children);
69
+ } }
70
+ function MenuItemListComponent_ng_template_4_ng_container_4_menu_item_list_1_Template(rf, ctx) { if (rf & 1) {
71
+ i0.ɵɵelement(0, "menu-item-list", 16);
72
+ } if (rf & 2) {
73
+ const menuItem_r6 = i0.ɵɵnextContext(2).menuItem;
74
+ const ctx_r0 = i0.ɵɵnextContext();
75
+ i0.ɵɵproperty("items", menuItem_r6.children)("direction", ctx_r0.direction)("labelsVisible", ctx_r0.labelsVisible)("activeItem", ctx_r0.activeItem);
76
+ } }
77
+ function MenuItemListComponent_ng_template_4_ng_container_4_Template(rf, ctx) { if (rf & 1) {
78
+ i0.ɵɵelementContainerStart(0);
79
+ i0.ɵɵtemplate(1, MenuItemListComponent_ng_template_4_ng_container_4_menu_item_list_1_Template, 1, 4, "menu-item-list", 15);
80
+ i0.ɵɵelementContainerEnd();
81
+ } if (rf & 2) {
82
+ const menuItem_r6 = i0.ɵɵnextContext().menuItem;
83
+ i0.ɵɵadvance();
84
+ i0.ɵɵproperty("ngIf", menuItem_r6.children && menuItem_r6.children.length);
85
+ } }
86
+ function MenuItemListComponent_ng_template_4_Template(rf, ctx) { if (rf & 1) {
87
+ const _r5 = i0.ɵɵgetCurrentView();
88
+ i0.ɵɵelementStart(0, "button", 8);
89
+ i0.ɵɵpipe(1, "translate");
90
+ i0.ɵɵlistener("click", function MenuItemListComponent_ng_template_4_Template_button_click_0_listener($event) { const menuItem_r6 = i0.ɵɵrestoreView(_r5).menuItem; const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.toggleItemExpand($event, menuItem_r6)); });
91
+ i0.ɵɵtemplate(2, MenuItemListComponent_ng_template_4_ng_container_2_Template, 2, 1, "ng-container", 9)(3, MenuItemListComponent_ng_template_4_ng_container_3_Template, 6, 4, "ng-container", 9);
92
+ i0.ɵɵelementEnd();
93
+ i0.ɵɵtemplate(4, MenuItemListComponent_ng_template_4_ng_container_4_Template, 2, 1, "ng-container", 9);
94
+ } if (rf & 2) {
95
+ const menuItem_r6 = ctx.menuItem;
96
+ const ctx_r0 = i0.ɵɵnextContext();
97
+ i0.ɵɵclassProp("text-center", ctx_r0.menuItemLayout === "column")("menu-labels-visible", ctx_r0.labelsVisible)("active-menu-item", (ctx_r0.activeItem == null ? null : ctx_r0.activeItem.link) && menuItem_r6 === ctx_r0.activeItem);
98
+ i0.ɵɵproperty("fxLayout", ctx_r0.menuItemLayout)("matTooltip", !ctx_r0.labelsVisible ? i0.ɵɵpipeBind1(1, 12, menuItem_r6.title) : "")("fxLayoutAlign", ctx_r0.menuLayoutDirection);
99
+ i0.ɵɵadvance(2);
100
+ i0.ɵɵproperty("ngIf", ctx_r0.showIcons && menuItem_r6.icon);
101
+ i0.ɵɵadvance();
102
+ i0.ɵɵproperty("ngIf", ctx_r0.labelsVisible);
103
+ i0.ɵɵadvance();
104
+ i0.ɵɵproperty("ngIf", menuItem_r6.showChildren && menuItem_r6.expanded && ctx_r0.labelsVisible);
105
+ } }
106
+ function MenuItemListComponent_ng_template_6_Template(rf, ctx) { if (rf & 1) {
107
+ i0.ɵɵelement(0, "tld-menu-item-link", 17);
108
+ } if (rf & 2) {
109
+ const menuItem_r7 = ctx.menuItem;
110
+ const ctx_r0 = i0.ɵɵnextContext();
111
+ i0.ɵɵproperty("ngClass.lt-md", "mob-menu-item")("menuItem", menuItem_r7)("direction", ctx_r0.direction)("labelsVisible", ctx_r0.labelsVisible)("activeItem", ctx_r0.activeItem)("showIcons", ctx_r0.showIcons);
112
+ } }
113
+ export class MenuItemListComponent {
114
+ constructor() {
115
+ this.direction = MenuLayoutDirection.column;
116
+ this.labelsVisible = true;
117
+ this.showIcons = true;
118
+ this.items = [];
119
+ this.toggleExpand = new EventEmitter();
120
+ }
121
+ get titleKey() {
122
+ return this.menuItemGroup?.title;
123
+ }
124
+ get showTitle() {
125
+ return this.menuItemGroup?.showTitle;
126
+ }
127
+ get menuLayoutDirection() {
128
+ return (this.direction === MenuLayoutDirection.column || !this.labelsVisible)
129
+ ? 'start center' : 'start start';
130
+ }
131
+ get menuItemLayout() {
132
+ return this.direction === MenuLayoutDirection.column ? 'column' : 'row';
133
+ }
134
+ toggleItemExpand(event, menuItem) {
135
+ // so menu doesnt get closed.
136
+ event.stopPropagation();
137
+ if (this.labelsVisible || !menuItem.expanded) {
138
+ menuItem.expanded = !menuItem.expanded;
139
+ }
140
+ this.toggleExpand.next(menuItem);
141
+ }
142
+ static { this.ɵfac = function MenuItemListComponent_Factory(t) { return new (t || MenuItemListComponent)(); }; }
143
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuItemListComponent, selectors: [["menu-item-list"]], inputs: { direction: "direction", labelsVisible: "labelsVisible", activeItem: "activeItem", showIcons: "showIcons", items: "items", menuItemGroup: "menuItemGroup" }, outputs: { toggleExpand: "toggleExpand" }, decls: 8, vars: 3, consts: [["itemWithChildren", ""], ["menuItemLink", ""], [1, "menu-list-wrapper"], ["fxLayoutAlign", "start center", "class", "menu-item-list-title", 4, "ngIf"], ["fxLayout", "column", 1, "menu-item-list", 3, "fxLayoutAlign"], [4, "ngFor", "ngForOf"], ["fxLayoutAlign", "start center", 1, "menu-item-list-title"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["matTooltipPosition", "after", "matTooltipClass", "menu-tooltip", "fxLayoutGap", "0.375rem", 1, "text-m", "menu-item", 3, "click", "fxLayout", "matTooltip", "fxLayoutAlign"], [4, "ngIf"], [3, "menuItem"], [1, "menu-item-title"], [1, "title-content"], ["class", "material-icons", 4, "ngIf"], [1, "material-icons"], ["class", "child-list", 3, "items", "direction", "labelsVisible", "activeItem", 4, "ngIf"], [1, "child-list", 3, "items", "direction", "labelsVisible", "activeItem"], [3, "ngClass.lt-md", "menuItem", "direction", "labelsVisible", "activeItem", "showIcons"]], template: function MenuItemListComponent_Template(rf, ctx) { if (rf & 1) {
144
+ i0.ɵɵelementStart(0, "div", 2);
145
+ i0.ɵɵtemplate(1, MenuItemListComponent_div_1_Template, 3, 3, "div", 3);
146
+ i0.ɵɵelementStart(2, "div", 4);
147
+ i0.ɵɵtemplate(3, MenuItemListComponent_ng_container_3_Template, 2, 4, "ng-container", 5);
148
+ i0.ɵɵelementEnd()();
149
+ i0.ɵɵtemplate(4, MenuItemListComponent_ng_template_4_Template, 5, 14, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(6, MenuItemListComponent_ng_template_6_Template, 1, 6, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
150
+ } if (rf & 2) {
151
+ i0.ɵɵadvance();
152
+ i0.ɵɵproperty("ngIf", ctx.titleKey && ctx.showTitle && ctx.labelsVisible);
153
+ i0.ɵɵadvance();
154
+ i0.ɵɵproperty("fxLayoutAlign", ctx.menuLayoutDirection);
155
+ i0.ɵɵadvance();
156
+ i0.ɵɵproperty("ngForOf", ctx.items);
157
+ } }, dependencies: [i1.DefaultLayoutDirective, i1.DefaultLayoutGapDirective, i1.DefaultLayoutAlignDirective, i2.DefaultClassDirective, i3.NgForOf, i3.NgIf, i3.NgTemplateOutlet, i4.MatTooltip, MenuItemListComponent, i5.MenuIconComponent, i6.MenuItemLinkComponent, i7.TranslatePipe], styles: ["[_nghost-%COMP%]{margin:1em 0;display:inline-block}[_nghost-%COMP%] .menu-list-wrapper .menu-item-list-title{margin-bottom:1em;font-size:1rem;font-weight:500;line-height:1.5rem}[_nghost-%COMP%] .menu-list-wrapper .text-center{text-align:center}[_nghost-%COMP%] .menu-list-wrapper tld-menu-item-link+tld-menu-item-link, [_nghost-%COMP%] .menu-list-wrapper tld-menu-item-link+.menu-item, [_nghost-%COMP%] .menu-list-wrapper .menu-item+tld-menu-item-link, [_nghost-%COMP%] .menu-list-wrapper .menu-item+.menu-item{margin-top:1.5625em}[_nghost-%COMP%] .menu-list-wrapper .child-list tld-menu-item-link{margin-top:1em}[_nghost-%COMP%] .menu-list-wrapper .menu-labels-visible{width:100%}[_nghost-%COMP%] .menu-list-wrapper .menu-item{cursor:pointer;font-style:normal;color:var(--base-30);text-decoration:none;align-items:center!important;font-weight:400;background:none;border:none}[_nghost-%COMP%] .menu-list-wrapper .menu-item:focus-visible{outline:black solid 2px}[_nghost-%COMP%] .menu-list-wrapper .menu-item:not(button):hover{font-weight:600}[_nghost-%COMP%] .menu-list-wrapper .menu-item.active-menu-item, [_nghost-%COMP%] .menu-list-wrapper .menu-item.active-menu-item mat-icon, [_nghost-%COMP%] .menu-list-wrapper .menu-item.active-menu-item:hover{color:var(--primary-accent)!important;font-weight:600}[_nghost-%COMP%] .menu-list-wrapper .menu-item span{display:inline-block}[_nghost-%COMP%] .menu-list-wrapper .menu-item .menu-item-title{display:flex;flex-direction:row;align-items:start;width:100%}[_nghost-%COMP%] .menu-list-wrapper .menu-item .menu-item-title .title-content{display:block}[_nghost-%COMP%] .menu-list-wrapper .menu-item .menu-item-title .title-content:before{display:block;content:attr(content);font-weight:600;height:0;overflow:hidden;visibility:hidden}.child-list[_nghost-%COMP%]{margin-bottom:1rem}.child-list[_nghost-%COMP%] .menu-item[_ngcontent-%COMP%] + .menu-item[_ngcontent-%COMP%]{margin-top:.5rem} .menu-tooltip{left:.625rem;font-family:Roboto;font-style:normal;font-weight:400;font-size:.75rem;line-height:1.25rem;color:var(--base-70);border-radius:.25rem;position:relative} .menu-tooltip:after{width:0;height:0;content:\"\";position:absolute;border-left:.5rem solid transparent;border-right:.5rem solid transparent;border-bottom:.5rem solid var(--menu-border-dark-color);left:-.75rem;top:calc(50% - .25rem);transform:rotate(270deg);overflow:initial}menu-item-list[_ngcontent-%COMP%]{padding-left:30px;margin:0}.mob-menu-item[_ngcontent-%COMP%]{width:100%}"] }); }
158
+ }
159
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuItemListComponent, [{
160
+ type: Component,
161
+ args: [{ selector: 'menu-item-list', template: "<div class=\"menu-list-wrapper\">\r\n <div *ngIf=\"titleKey && showTitle && labelsVisible\" fxLayoutAlign=\"start center\" class=\"menu-item-list-title\">\r\n {{ titleKey | translate }}\r\n </div>\r\n <div fxLayout=\"column\" [fxLayoutAlign]=\"menuLayoutDirection\" class=\"menu-item-list\">\r\n <ng-container *ngFor=\"let menuItem of items\">\r\n <ng-container\r\n *ngTemplateOutlet=\"!menuItem.showChildren || !menuItem.children || menuItem?.children?.length === 0 ? menuItemLink : itemWithChildren; context: {menuItem: menuItem}\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<ng-template #itemWithChildren let-menuItem=\"menuItem\">\r\n <button [fxLayout]=\"menuItemLayout\" [class.text-center]=\"menuItemLayout === 'column'\" class=\"text-m menu-item\"\r\n [matTooltip]=\"!labelsVisible ? (menuItem.title | translate) : ''\" matTooltipPosition=\"after\" [class.menu-labels-visible]=\"labelsVisible\"\r\n [fxLayoutAlign]=\"menuLayoutDirection\" matTooltipClass=\"menu-tooltip\" fxLayoutGap=\"0.375rem\"\r\n [class.active-menu-item]=\"activeItem?.link && menuItem === activeItem\" (click)=\"toggleItemExpand($event,menuItem)\">\r\n <ng-container *ngIf=\"showIcons && menuItem.icon\">\r\n <tld-menu-icon [menuItem]=\"menuItem\"></tld-menu-icon>\r\n </ng-container>\r\n <ng-container *ngIf=\"labelsVisible\">\r\n <span class=\"menu-item-title\">\r\n <span class=\"title-content\">{{ menuItem.title | translate }}</span></span>\r\n <span class=\"material-icons\" *ngIf=\"menuItem.showChildren && menuItem.children\">\r\n {{ menuItem.expanded ? 'arrow_drop_up' : 'arrow_drop_down' }}\r\n </span>\r\n </ng-container>\r\n </button>\r\n <ng-container *ngIf=\"menuItem.showChildren && menuItem.expanded && labelsVisible\">\r\n <menu-item-list class=\"child-list\" *ngIf=\"menuItem.children && menuItem.children.length\" [items]=\"menuItem.children\"\r\n [direction]=\"direction\" [labelsVisible]=\"labelsVisible\" [activeItem]=\"activeItem\">\r\n </menu-item-list>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #menuItemLink let-menuItem=\"menuItem\">\r\n <tld-menu-item-link [ngClass.lt-md]=\"'mob-menu-item'\" [menuItem]=\"menuItem\" [direction]=\"direction\" [labelsVisible]=\"labelsVisible\"\r\n [activeItem]=\"activeItem\" [showIcons]=\"showIcons\"></tld-menu-item-link>\r\n</ng-template>", styles: [":host{margin:1em 0;display:inline-block}:host::ng-deep .menu-list-wrapper .menu-item-list-title{margin-bottom:1em;font-size:1rem;font-weight:500;line-height:1.5rem}:host::ng-deep .menu-list-wrapper .text-center{text-align:center}:host::ng-deep .menu-list-wrapper tld-menu-item-link+tld-menu-item-link,:host::ng-deep .menu-list-wrapper tld-menu-item-link+.menu-item,:host::ng-deep .menu-list-wrapper .menu-item+tld-menu-item-link,:host::ng-deep .menu-list-wrapper .menu-item+.menu-item{margin-top:1.5625em}:host::ng-deep .menu-list-wrapper .child-list tld-menu-item-link{margin-top:1em}:host::ng-deep .menu-list-wrapper .menu-labels-visible{width:100%}:host::ng-deep .menu-list-wrapper .menu-item{cursor:pointer;font-style:normal;color:var(--base-30);text-decoration:none;align-items:center!important;font-weight:400;background:none;border:none}:host::ng-deep .menu-list-wrapper .menu-item:focus-visible{outline:black solid 2px}:host::ng-deep .menu-list-wrapper .menu-item:not(button):hover{font-weight:600}:host::ng-deep .menu-list-wrapper .menu-item.active-menu-item,:host::ng-deep .menu-list-wrapper .menu-item.active-menu-item mat-icon,:host::ng-deep .menu-list-wrapper .menu-item.active-menu-item:hover{color:var(--primary-accent)!important;font-weight:600}:host::ng-deep .menu-list-wrapper .menu-item span{display:inline-block}:host::ng-deep .menu-list-wrapper .menu-item .menu-item-title{display:flex;flex-direction:row;align-items:start;width:100%}:host::ng-deep .menu-list-wrapper .menu-item .menu-item-title .title-content{display:block}:host::ng-deep .menu-list-wrapper .menu-item .menu-item-title .title-content:before{display:block;content:attr(content);font-weight:600;height:0;overflow:hidden;visibility:hidden}:host.child-list{margin-bottom:1rem}:host.child-list .menu-item+.menu-item{margin-top:.5rem}::ng-deep .menu-tooltip{left:.625rem;font-family:Roboto;font-style:normal;font-weight:400;font-size:.75rem;line-height:1.25rem;color:var(--base-70);border-radius:.25rem;position:relative}::ng-deep .menu-tooltip:after{width:0;height:0;content:\"\";position:absolute;border-left:.5rem solid transparent;border-right:.5rem solid transparent;border-bottom:.5rem solid var(--menu-border-dark-color);left:-.75rem;top:calc(50% - .25rem);transform:rotate(270deg);overflow:initial}menu-item-list{padding-left:30px;margin:0}.mob-menu-item{width:100%}\n"] }]
162
+ }], null, { direction: [{
163
+ type: Input
164
+ }], labelsVisible: [{
165
+ type: Input
166
+ }], activeItem: [{
167
+ type: Input
168
+ }], showIcons: [{
169
+ type: Input
170
+ }], items: [{
171
+ type: Input
172
+ }], menuItemGroup: [{
173
+ type: Input
174
+ }], toggleExpand: [{
175
+ type: Output
176
+ }] }); })();
177
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MenuItemListComponent, { className: "MenuItemListComponent", filePath: "lib\\components\\menu-item-list\\menu-item-list.component.ts", lineNumber: 11 }); })();
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1lbnUvc3JjL2xpYi9jb21wb25lbnRzL21lbnUtaXRlbS1saXN0L21lbnUtaXRlbS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tZW51L3NyYy9saWIvY29tcG9uZW50cy9tZW51LWl0ZW0tbGlzdC9tZW51LWl0ZW0tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7Ozs7OztJQ0Y3RSw4QkFBOEc7SUFDNUcsWUFDRjs7SUFBQSxpQkFBTTs7O0lBREosY0FDRjtJQURFLHNFQUNGOzs7SUFHSSx3QkFFZTs7O0lBSGpCLDZCQUE2QztJQUMzQyx1R0FDd0s7Ozs7Ozs7SUFBckssY0FBc0k7SUFBQSxBQUF0SSx1T0FBc0ksb0VBQTZCOzs7SUFXeEssNkJBQWlEO0lBQy9DLG9DQUFxRDs7OztJQUF0QyxjQUFxQjtJQUFyQixzQ0FBcUI7OztJQUtwQyxnQ0FBZ0Y7SUFDOUUsWUFDRjtJQUFBLGlCQUFPOzs7SUFETCxjQUNGO0lBREUsMkZBQ0Y7OztJQUxGLDZCQUFvQztJQUVoQyxBQURGLGdDQUE4QixlQUNBO0lBQUEsWUFBZ0M7O0lBQU8sQUFBUCxpQkFBTyxFQUFPO0lBQzVFLHNHQUFnRjs7OztJQURsRCxlQUFnQztJQUFoQyw2REFBZ0M7SUFDaEMsZUFBZ0Q7SUFBaEQsdUVBQWdEOzs7SUFNaEYscUNBRWlCOzs7O0lBRHlDLEFBQWhDLEFBQXhCLEFBRHVGLDRDQUEyQiwrQkFDM0YsdUNBQWdDLGlDQUEwQjs7O0lBRnJGLDZCQUFrRjtJQUNoRiwwSEFDb0Y7Ozs7SUFEaEQsY0FBbUQ7SUFBbkQsMEVBQW1EOzs7O0lBaEJ6RixpQ0FHcUg7O0lBQTVDLDROQUFTLDRDQUFpQyxLQUFDO0lBSWxILEFBSEEsc0dBQWlELHlGQUdiO0lBT3RDLGlCQUFTO0lBQ1Qsc0dBQWtGOzs7O0lBWmhGLEFBRjZGLEFBRDNELGlFQUFpRCw2Q0FDcUQsc0hBRWxFO0lBRHRFLEFBREEsQUFETSxnREFBMkIscUZBQ2dDLDZDQUM1QjtJQUV0QixlQUFnQztJQUFoQywyREFBZ0M7SUFHaEMsY0FBbUI7SUFBbkIsMkNBQW1CO0lBUXJCLGNBQWlFO0lBQWpFLCtGQUFpRTs7O0lBUWhGLHlDQUN5RTs7OztJQUE3QyxBQUExQixBQURrRyxBQUF4QixBQUF0QixBQUFsQywrQ0FBaUMseUJBQXNCLCtCQUF3Qix1Q0FBZ0MsaUNBQ3hHLCtCQUF3Qjs7QUQ1QnJELE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFNVyxjQUFTLEdBQXdCLG1CQUFtQixDQUFDLE1BQU0sQ0FBQztRQUM1RCxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUVyQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRWpCLFVBQUssR0FBcUIsRUFBRSxDQUFDO1FBRzVCLGlCQUFZLEdBQWlDLElBQUksWUFBWSxFQUFrQixDQUFDO0tBOEIzRjtJQTVCQyxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDO0lBQ3ZDLENBQUM7SUFHRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxtQkFBbUIsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQzNFLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzFFLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFpQixFQUFFLFFBQXdCO1FBQzFELDZCQUE2QjtRQUM3QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQ3pDLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuQyxDQUFDO3NGQXRDVSxxQkFBcUI7b0VBQXJCLHFCQUFxQjtZQ1ZsQyw4QkFBK0I7WUFDN0Isc0VBQThHO1lBRzlHLDhCQUFvRjtZQUNsRix3RkFBNkM7WUFNakQsQUFERSxpQkFBTSxFQUNGO1lBeUJOLEFBdkJBLHdIQUF1RCwwR0F1Qko7O1lBbkMzQyxjQUE0QztZQUE1Qyx5RUFBNEM7WUFHM0IsY0FBcUM7WUFBckMsdURBQXFDO1lBQ3ZCLGNBQVE7WUFBUixtQ0FBUTt3TURLbEMscUJBQXFCOztpRkFBckIscUJBQXFCO2NBTGpDLFNBQVM7MkJBQ0UsZ0JBQWdCO2dCQUtqQixTQUFTO2tCQUFqQixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLFVBQVU7a0JBQWxCLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBRUcsS0FBSztrQkFBYixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUVJLFlBQVk7a0JBQXJCLE1BQU07O2tGQVRJLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEN1c3RvbU1lbnVJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2N1c3RvbS1tZW51LWl0ZW0nO1xyXG5pbXBvcnQgeyBNZW51SXRlbUdyb3VwQmFzZSB9IGZyb20gJy4uLy4uL21vZGVscy9tZW51LWl0ZW0tZ3JvdXAubW9kZWwnO1xyXG5pbXBvcnQgeyBNZW51TGF5b3V0RGlyZWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21lbnUtbGF5b3V0LWRpcmVjdGlvbi5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21lbnUtaXRlbS1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS1pdGVtLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21lbnUtaXRlbS1saXN0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE1lbnVJdGVtTGlzdENvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgZGlyZWN0aW9uOiBNZW51TGF5b3V0RGlyZWN0aW9uID0gTWVudUxheW91dERpcmVjdGlvbi5jb2x1bW47XHJcbiAgQElucHV0KCkgbGFiZWxzVmlzaWJsZSA9IHRydWU7XHJcbiAgQElucHV0KCkgYWN0aXZlSXRlbSE6IEN1c3RvbU1lbnVJdGVtIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHNob3dJY29ucyA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpIGl0ZW1zOiBDdXN0b21NZW51SXRlbVtdID0gW107XHJcbiAgQElucHV0KCkgbWVudUl0ZW1Hcm91cCE6IE1lbnVJdGVtR3JvdXBCYXNlO1xyXG5cclxuICBAT3V0cHV0KCkgdG9nZ2xlRXhwYW5kOiBFdmVudEVtaXR0ZXI8Q3VzdG9tTWVudUl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21NZW51SXRlbT4oKTtcclxuXHJcbiAgZ2V0IHRpdGxlS2V5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMubWVudUl0ZW1Hcm91cD8udGl0bGU7XHJcbiAgfVxyXG5cclxuICBnZXQgc2hvd1RpdGxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubWVudUl0ZW1Hcm91cD8uc2hvd1RpdGxlO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldCBtZW51TGF5b3V0RGlyZWN0aW9uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gKHRoaXMuZGlyZWN0aW9uID09PSBNZW51TGF5b3V0RGlyZWN0aW9uLmNvbHVtbiB8fCAhdGhpcy5sYWJlbHNWaXNpYmxlKVxyXG4gICAgICA/ICdzdGFydCBjZW50ZXInIDogJ3N0YXJ0IHN0YXJ0JztcclxuICB9XHJcblxyXG4gIGdldCBtZW51SXRlbUxheW91dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uID09PSBNZW51TGF5b3V0RGlyZWN0aW9uLmNvbHVtbiA/ICdjb2x1bW4nIDogJ3Jvdyc7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVJdGVtRXhwYW5kKGV2ZW50OiBNb3VzZUV2ZW50LCBtZW51SXRlbTogQ3VzdG9tTWVudUl0ZW0pIHtcclxuICAgIC8vIHNvIG1lbnUgZG9lc250IGdldCBjbG9zZWQuXHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICBpZiAodGhpcy5sYWJlbHNWaXNpYmxlIHx8ICFtZW51SXRlbS5leHBhbmRlZCkge1xyXG4gICAgICBtZW51SXRlbS5leHBhbmRlZCA9ICFtZW51SXRlbS5leHBhbmRlZDtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnRvZ2dsZUV4cGFuZC5uZXh0KG1lbnVJdGVtKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1lbnUtbGlzdC13cmFwcGVyXCI+XHJcbiAgPGRpdiAqbmdJZj1cInRpdGxlS2V5ICYmIHNob3dUaXRsZSAmJiBsYWJlbHNWaXNpYmxlXCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGNsYXNzPVwibWVudS1pdGVtLWxpc3QtdGl0bGVcIj5cclxuICAgIHt7IHRpdGxlS2V5IHwgdHJhbnNsYXRlIH19XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIFtmeExheW91dEFsaWduXT1cIm1lbnVMYXlvdXREaXJlY3Rpb25cIiBjbGFzcz1cIm1lbnUtaXRlbS1saXN0XCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtZW51SXRlbSBvZiBpdGVtc1wiPlxyXG4gICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCIhbWVudUl0ZW0uc2hvd0NoaWxkcmVuIHx8ICFtZW51SXRlbS5jaGlsZHJlbiB8fCBtZW51SXRlbT8uY2hpbGRyZW4/Lmxlbmd0aCA9PT0gMCA/IG1lbnVJdGVtTGluayA6IGl0ZW1XaXRoQ2hpbGRyZW47IGNvbnRleHQ6IHttZW51SXRlbTogbWVudUl0ZW19XCI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNpdGVtV2l0aENoaWxkcmVuIGxldC1tZW51SXRlbT1cIm1lbnVJdGVtXCI+XHJcbiAgPGJ1dHRvbiBbZnhMYXlvdXRdPVwibWVudUl0ZW1MYXlvdXRcIiBbY2xhc3MudGV4dC1jZW50ZXJdPVwibWVudUl0ZW1MYXlvdXQgPT09ICdjb2x1bW4nXCIgY2xhc3M9XCJ0ZXh0LW0gbWVudS1pdGVtXCJcclxuICAgIFttYXRUb29sdGlwXT1cIiFsYWJlbHNWaXNpYmxlID8gKG1lbnVJdGVtLnRpdGxlIHwgdHJhbnNsYXRlKSA6ICcnXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWZ0ZXJcIiBbY2xhc3MubWVudS1sYWJlbHMtdmlzaWJsZV09XCJsYWJlbHNWaXNpYmxlXCJcclxuICAgIFtmeExheW91dEFsaWduXT1cIm1lbnVMYXlvdXREaXJlY3Rpb25cIiBtYXRUb29sdGlwQ2xhc3M9XCJtZW51LXRvb2x0aXBcIiBmeExheW91dEdhcD1cIjAuMzc1cmVtXCJcclxuICAgIFtjbGFzcy5hY3RpdmUtbWVudS1pdGVtXT1cImFjdGl2ZUl0ZW0/LmxpbmsgJiYgbWVudUl0ZW0gPT09IGFjdGl2ZUl0ZW1cIiAoY2xpY2spPVwidG9nZ2xlSXRlbUV4cGFuZCgkZXZlbnQsbWVudUl0ZW0pXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0ljb25zICYmIG1lbnVJdGVtLmljb25cIj5cclxuICAgICAgPHRsZC1tZW51LWljb24gW21lbnVJdGVtXT1cIm1lbnVJdGVtXCI+PC90bGQtbWVudS1pY29uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxzVmlzaWJsZVwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIm1lbnUtaXRlbS10aXRsZVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGUtY29udGVudFwiPnt7IG1lbnVJdGVtLnRpdGxlIHwgdHJhbnNsYXRlIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiICpuZ0lmPVwibWVudUl0ZW0uc2hvd0NoaWxkcmVuICYmIG1lbnVJdGVtLmNoaWxkcmVuXCI+XHJcbiAgICAgICAge3sgbWVudUl0ZW0uZXhwYW5kZWQgPyAnYXJyb3dfZHJvcF91cCcgOiAnYXJyb3dfZHJvcF9kb3duJyB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2J1dHRvbj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibWVudUl0ZW0uc2hvd0NoaWxkcmVuICYmIG1lbnVJdGVtLmV4cGFuZGVkICYmIGxhYmVsc1Zpc2libGVcIj5cclxuICAgIDxtZW51LWl0ZW0tbGlzdCBjbGFzcz1cImNoaWxkLWxpc3RcIiAqbmdJZj1cIm1lbnVJdGVtLmNoaWxkcmVuICYmIG1lbnVJdGVtLmNoaWxkcmVuLmxlbmd0aFwiIFtpdGVtc109XCJtZW51SXRlbS5jaGlsZHJlblwiXHJcbiAgICAgIFtkaXJlY3Rpb25dPVwiZGlyZWN0aW9uXCIgW2xhYmVsc1Zpc2libGVdPVwibGFiZWxzVmlzaWJsZVwiIFthY3RpdmVJdGVtXT1cImFjdGl2ZUl0ZW1cIj5cclxuICAgIDwvbWVudS1pdGVtLWxpc3Q+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI21lbnVJdGVtTGluayBsZXQtbWVudUl0ZW09XCJtZW51SXRlbVwiPlxyXG4gIDx0bGQtbWVudS1pdGVtLWxpbmsgW25nQ2xhc3MubHQtbWRdPVwiJ21vYi1tZW51LWl0ZW0nXCIgW21lbnVJdGVtXT1cIm1lbnVJdGVtXCIgW2RpcmVjdGlvbl09XCJkaXJlY3Rpb25cIiBbbGFiZWxzVmlzaWJsZV09XCJsYWJlbHNWaXNpYmxlXCJcclxuICAgIFthY3RpdmVJdGVtXT1cImFjdGl2ZUl0ZW1cIiBbc2hvd0ljb25zXT1cInNob3dJY29uc1wiPjwvdGxkLW1lbnUtaXRlbS1saW5rPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==