@tilde-nlp/ngx-menu 6.1.43 → 6.1.44

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.
@@ -258,11 +258,11 @@ export class MenuItemListComponent {
258
258
  i0.ɵɵproperty("fxLayoutAlign", ctx.menuLayoutDirection);
259
259
  i0.ɵɵadvance();
260
260
  i0.ɵɵproperty("ngForOf", ctx.items);
261
- } }, dependencies: [i1.DefaultLayoutDirective, i1.DefaultLayoutGapDirective, i1.DefaultLayoutAlignDirective, i2.DefaultClassDirective, i3.RouterLink, i4.NgForOf, i4.NgIf, i4.NgTemplateOutlet, i5.MatTooltip, i6.MatIcon, i7.MatButton, i7.MatIconButton, MenuItemListComponent, i8.MenuIconComponent, i9.MenuItemLinkComponent, i10.MenuItemBtnComponent, i11.TranslatePipe], styles: ["[_nghost-%COMP%]{display:inline-block} .collapsed .menu-item-list{display:flex!important;justify-content:center!important;align-items:center!important} .collapsed .menu-list-wrapper, .collapsed tld-menu-item-link{display:flex!important;justify-content:center!important} .collapsed .menu-item{display:flex!important;place-content:center center!important} .collapsed tld-menu-item-link:not(:first-child){margin-top:16px!important}.menu-action-button[_ngcontent-%COMP%]{justify-content:flex-start;align-items:center;max-width:100%;width:-webkit-fill-available}[_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:not(button):not(.active-menu-item):hover{background-color:var(--base-70)!important}[_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{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-title[_ngcontent-%COMP%]{padding:8px 0 24px;font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;margin-left:20px;height:56px}.menu-item-list-title[_ngcontent-%COMP%]:has(.menu-title-btn){margin-left:0}.menu-item-list[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_slide-in .3s forwards}.menu-title-btn[_ngcontent-%COMP%]{margin-right:2px;transition:opacity .3s}@keyframes _ngcontent-%COMP%_slide-in{0%{opacity:0;margin-left:-100px}to{opacity:1;margin-left:0}}"] }); }
261
+ } }, dependencies: [i1.DefaultLayoutDirective, i1.DefaultLayoutGapDirective, i1.DefaultLayoutAlignDirective, i2.DefaultClassDirective, i3.RouterLink, i4.NgForOf, i4.NgIf, i4.NgTemplateOutlet, i5.MatTooltip, i6.MatIcon, i7.MatButton, i7.MatIconButton, MenuItemListComponent, i8.MenuIconComponent, i9.MenuItemLinkComponent, i10.MenuItemBtnComponent, i11.TranslatePipe], styles: ["[_nghost-%COMP%]{display:inline-block} .collapsed .menu-item-list{display:flex!important;justify-content:center!important;align-items:center!important} .collapsed .menu-list-wrapper, .collapsed tld-menu-item-link{display:flex!important;justify-content:center!important} .collapsed .menu-item{display:flex!important;place-content:center center!important} .collapsed tld-menu-item-link:not(:first-child){margin-top:16px!important}.menu-action-button[_ngcontent-%COMP%]{justify-content:flex-start;align-items:center;max-width:100%;width:-webkit-fill-available}[_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:not(button):not(.active-menu-item):hover{background-color:var(--base-70)!important}[_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{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-title[_ngcontent-%COMP%]{padding:8px 0 24px;font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;margin-left:20px;height:56px}.menu-item-list-title[_ngcontent-%COMP%]:has(.menu-title-btn){margin-left:0} lib-menu-lang-switcher, .menu-item-list[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_slide-in .3s forwards} lib-menu-lang-switcher, .menu-title-btn[_ngcontent-%COMP%]{margin-right:2px;transition:opacity .3s}@keyframes _ngcontent-%COMP%_slide-in{0%{opacity:0;margin-left:-100px}to{opacity:1;margin-left:0}}"] }); }
262
262
  }
263
263
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuItemListComponent, [{
264
264
  type: Component,
265
- args: [{ selector: 'menu-item-list', template: "<div class=\"menu-list-wrapper\">\r\n @if (titleKey && showTitle && labelsVisible && !menuItemGroup.itemGroupClick) {\r\n <div fxLayoutAlign=\"start center\" class=\"menu-item-list-title\">\r\n <mat-icon class=\"menu-title-btn\" *ngIf=\"menuItemGroup.titleIcon\">{{menuItemGroup.titleIcon}}</mat-icon>\r\n \r\n <button class=\"menu-title-btn\" *ngIf=\"menuItemGroup.titleNavigation\" mat-icon-button [routerLink]=\"menuItemGroup.titleNavigation.path\" [matTooltip]=\"menuItemGroup.titleNavigation?.tooltip ?? '' | translate\">\r\n <mat-icon>{{menuItemGroup.titleNavigation.icon}}</mat-icon>\r\n </button>\r\n \r\n {{ titleKey | translate }}\r\n </div>\r\n } @else if (menuItemGroup?.itemGroupClick) {\r\n <ng-container *ngTemplateOutlet=\"itemGroupButton\">\r\n </ng-container>\r\n }\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 ? (menuItem.clickAction ? menuItemBtn : 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 [attr.id]=\"menuItem.customId\" [ngClass.lt-md]=\"'mob-menu-item'\" [fxLayout]=\"menuItemLayout\" 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>\r\n\r\n<ng-template #menuItemBtn let-menuItem=\"menuItem\">\r\n <lib-menu-item-btn *ngIf=\"labelsVisible\" [ngClass.lt-md]=\"'mob-menu-item'\" [menuItem]=\"menuItem\" [direction]=\"direction\"\r\n [activeItem]=\"activeItem\"></lib-menu-item-btn>\r\n</ng-template>\r\n\r\n<ng-template #itemGroupButton>\r\n <button \r\n class=\"menu-title-btn menu-action-button\"\r\n mat-button\r\n *ngIf=\"menuItemGroup && labelsVisible\"\r\n (click)=\"menuItemGroup?.itemGroupClick()\"\r\n >\r\n <mat-icon>{{ menuItemGroup.itemGroupIcon }}</mat-icon>\r\n <span class=\"btn-label\" *ngIf=\"titleKey\">\r\n {{ titleKey | translate }}\r\n </span>\r\n </button>\r\n\r\n <button \r\n mat-icon-button\r\n *ngIf=\"menuItemGroup && !labelsVisible && titleKey && menuItemGroup.itemGroupIcon\"\r\n (click)=\"menuItemGroup?.itemGroupClick()\"\r\n [matTooltip]=\"titleKey | translate\"\r\n matTooltipPosition=\"after\"\r\n >\r\n <mat-icon>{{ menuItemGroup.itemGroupIcon }}</mat-icon>\r\n </button>\r\n</ng-template>", styles: [":host{display:inline-block}::ng-deep .collapsed .menu-item-list{display:flex!important;justify-content:center!important;align-items:center!important}::ng-deep .collapsed .menu-list-wrapper,::ng-deep .collapsed tld-menu-item-link{display:flex!important;justify-content:center!important}::ng-deep .collapsed .menu-item{display:flex!important;place-content:center center!important}::ng-deep .collapsed tld-menu-item-link:not(:first-child){margin-top:16px!important}.menu-action-button{justify-content:flex-start;align-items:center;max-width:100%;width:-webkit-fill-available}: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:not(button):not(.active-menu-item):hover{background-color:var(--base-70)!important}: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{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-title{padding:8px 0 24px;font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;margin-left:20px;height:56px}.menu-item-list-title:has(.menu-title-btn){margin-left:0}.menu-item-list{animation:slide-in .3s forwards}.menu-title-btn{margin-right:2px;transition:opacity .3s}@keyframes slide-in{0%{opacity:0;margin-left:-100px}to{opacity:1;margin-left:0}}\n"] }]
265
+ args: [{ selector: 'menu-item-list', template: "<div class=\"menu-list-wrapper\">\r\n @if (titleKey && showTitle && labelsVisible && !menuItemGroup.itemGroupClick) {\r\n <div fxLayoutAlign=\"start center\" class=\"menu-item-list-title\">\r\n <mat-icon class=\"menu-title-btn\" *ngIf=\"menuItemGroup.titleIcon\">{{menuItemGroup.titleIcon}}</mat-icon>\r\n \r\n <button class=\"menu-title-btn\" *ngIf=\"menuItemGroup.titleNavigation\" mat-icon-button [routerLink]=\"menuItemGroup.titleNavigation.path\" [matTooltip]=\"menuItemGroup.titleNavigation?.tooltip ?? '' | translate\">\r\n <mat-icon>{{menuItemGroup.titleNavigation.icon}}</mat-icon>\r\n </button>\r\n \r\n {{ titleKey | translate }}\r\n </div>\r\n } @else if (menuItemGroup?.itemGroupClick) {\r\n <ng-container *ngTemplateOutlet=\"itemGroupButton\">\r\n </ng-container>\r\n }\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 ? (menuItem.clickAction ? menuItemBtn : 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 [attr.id]=\"menuItem.customId\" [ngClass.lt-md]=\"'mob-menu-item'\" [fxLayout]=\"menuItemLayout\" 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>\r\n\r\n<ng-template #menuItemBtn let-menuItem=\"menuItem\">\r\n <lib-menu-item-btn *ngIf=\"labelsVisible\" [ngClass.lt-md]=\"'mob-menu-item'\" [menuItem]=\"menuItem\" [direction]=\"direction\"\r\n [activeItem]=\"activeItem\"></lib-menu-item-btn>\r\n</ng-template>\r\n\r\n<ng-template #itemGroupButton>\r\n <button \r\n class=\"menu-title-btn menu-action-button\"\r\n mat-button\r\n *ngIf=\"menuItemGroup && labelsVisible\"\r\n (click)=\"menuItemGroup?.itemGroupClick()\"\r\n >\r\n <mat-icon>{{ menuItemGroup.itemGroupIcon }}</mat-icon>\r\n <span class=\"btn-label\" *ngIf=\"titleKey\">\r\n {{ titleKey | translate }}\r\n </span>\r\n </button>\r\n\r\n <button \r\n mat-icon-button\r\n *ngIf=\"menuItemGroup && !labelsVisible && titleKey && menuItemGroup.itemGroupIcon\"\r\n (click)=\"menuItemGroup?.itemGroupClick()\"\r\n [matTooltip]=\"titleKey | translate\"\r\n matTooltipPosition=\"after\"\r\n >\r\n <mat-icon>{{ menuItemGroup.itemGroupIcon }}</mat-icon>\r\n </button>\r\n</ng-template>", styles: [":host{display:inline-block}::ng-deep .collapsed .menu-item-list{display:flex!important;justify-content:center!important;align-items:center!important}::ng-deep .collapsed .menu-list-wrapper,::ng-deep .collapsed tld-menu-item-link{display:flex!important;justify-content:center!important}::ng-deep .collapsed .menu-item{display:flex!important;place-content:center center!important}::ng-deep .collapsed tld-menu-item-link:not(:first-child){margin-top:16px!important}.menu-action-button{justify-content:flex-start;align-items:center;max-width:100%;width:-webkit-fill-available}: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:not(button):not(.active-menu-item):hover{background-color:var(--base-70)!important}: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{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-title{padding:8px 0 24px;font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;margin-left:20px;height:56px}.menu-item-list-title:has(.menu-title-btn){margin-left:0}::ng-deep lib-menu-lang-switcher,.menu-item-list{animation:slide-in .3s forwards}::ng-deep lib-menu-lang-switcher,.menu-title-btn{margin-right:2px;transition:opacity .3s}@keyframes slide-in{0%{opacity:0;margin-left:-100px}to{opacity:1;margin-left:0}}\n"] }]
266
266
  }], null, { direction: [{
267
267
  type: Input
268
268
  }], labelsVisible: [{
@@ -0,0 +1,107 @@
1
+ import { Component, EventEmitter, inject, Input, Output } from '@angular/core';
2
+ import { TranslateService } from '@ngx-translate/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/tooltip";
5
+ import * as i2 from "@angular/material/icon";
6
+ import * as i3 from "@angular/material/menu";
7
+ import * as i4 from "@ngx-translate/core";
8
+ import * as i5 from "@tilde-nlp/ngx-common";
9
+ function MenuLangSwitcherComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
10
+ i0.ɵɵelementStart(0, "span");
11
+ i0.ɵɵtext(1);
12
+ i0.ɵɵpipe(2, "languageTranslate");
13
+ i0.ɵɵelementEnd();
14
+ } if (rf & 2) {
15
+ const ctx_r0 = i0.ɵɵnextContext();
16
+ i0.ɵɵadvance();
17
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r0.currentLanguageCode), " ");
18
+ } }
19
+ function MenuLangSwitcherComponent_Conditional_7_Conditional_0_Template(rf, ctx) { if (rf & 1) {
20
+ i0.ɵɵelementStart(0, "mat-icon", 6);
21
+ i0.ɵɵtext(1, "keyboard_arrow_down");
22
+ i0.ɵɵelementEnd();
23
+ } }
24
+ function MenuLangSwitcherComponent_Conditional_7_Conditional_1_Template(rf, ctx) { if (rf & 1) {
25
+ i0.ɵɵelementStart(0, "mat-icon", 6);
26
+ i0.ɵɵtext(1, "keyboard_arrow_up");
27
+ i0.ɵɵelementEnd();
28
+ } }
29
+ function MenuLangSwitcherComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
30
+ i0.ɵɵtemplate(0, MenuLangSwitcherComponent_Conditional_7_Conditional_0_Template, 2, 0, "mat-icon", 6)(1, MenuLangSwitcherComponent_Conditional_7_Conditional_1_Template, 2, 0, "mat-icon", 6);
31
+ } if (rf & 2) {
32
+ i0.ɵɵnextContext();
33
+ const state_r2 = i0.ɵɵreference(1);
34
+ i0.ɵɵconditional(state_r2.menuOpen ? 0 : 1);
35
+ } }
36
+ function MenuLangSwitcherComponent_For_11_Conditional_0_Template(rf, ctx) { if (rf & 1) {
37
+ const _r3 = i0.ɵɵgetCurrentView();
38
+ i0.ɵɵelementStart(0, "button", 8);
39
+ i0.ɵɵlistener("click", function MenuLangSwitcherComponent_For_11_Conditional_0_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r3); const lang_r4 = i0.ɵɵnextContext().$implicit; const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.changeLanguage(lang_r4)); });
40
+ i0.ɵɵtext(1);
41
+ i0.ɵɵpipe(2, "languageTranslate");
42
+ i0.ɵɵelementEnd();
43
+ } if (rf & 2) {
44
+ const lang_r4 = i0.ɵɵnextContext().$implicit;
45
+ i0.ɵɵadvance();
46
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, lang_r4), " ");
47
+ } }
48
+ function MenuLangSwitcherComponent_For_11_Template(rf, ctx) { if (rf & 1) {
49
+ i0.ɵɵtemplate(0, MenuLangSwitcherComponent_For_11_Conditional_0_Template, 3, 3, "button", 7);
50
+ } if (rf & 2) {
51
+ const lang_r4 = ctx.$implicit;
52
+ const ctx_r0 = i0.ɵɵnextContext();
53
+ i0.ɵɵconditional(lang_r4 !== ctx_r0.currentLanguageCode ? 0 : -1);
54
+ } }
55
+ export class MenuLangSwitcherComponent {
56
+ constructor() {
57
+ this.changeLanguageEvent = new EventEmitter();
58
+ this.#translate = inject(TranslateService);
59
+ }
60
+ #translate;
61
+ ngOnInit() {
62
+ this.currentLanguageCode = this.#translate.currentLang;
63
+ }
64
+ changeLanguage(lang) {
65
+ this.#translate.use(lang);
66
+ this.currentLanguageCode = lang;
67
+ this.changeLanguageEvent.emit(lang);
68
+ }
69
+ static { this.ɵfac = function MenuLangSwitcherComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MenuLangSwitcherComponent)(); }; }
70
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuLangSwitcherComponent, selectors: [["lib-menu-lang-switcher"]], inputs: { isCollapsed: "isCollapsed", languages: "languages" }, outputs: { changeLanguageEvent: "changeLanguageEvent" }, decls: 12, vars: 10, consts: [["state", "matMenuTrigger"], ["menu", "matMenu"], ["matTooltipPosition", "after", "matTooltipClass", "menu-tooltip", 1, "lang-switcher", 3, "matMenuTriggerFor", "matTooltip"], [1, "current-lang"], [1, "lang-icon"], [1, "lang-menu"], [1, "menu-arrow", "spin"], ["mat-menu-item", "", 1, "profile-option"], ["mat-menu-item", "", 1, "profile-option", 3, "click"]], template: function MenuLangSwitcherComponent_Template(rf, ctx) { if (rf & 1) {
71
+ i0.ɵɵelementStart(0, "button", 2, 0);
72
+ i0.ɵɵpipe(2, "translate");
73
+ i0.ɵɵelementStart(3, "div", 3)(4, "mat-icon", 4);
74
+ i0.ɵɵtext(5, "language");
75
+ i0.ɵɵelementEnd();
76
+ i0.ɵɵtemplate(6, MenuLangSwitcherComponent_Conditional_6_Template, 3, 3, "span");
77
+ i0.ɵɵelementEnd();
78
+ i0.ɵɵtemplate(7, MenuLangSwitcherComponent_Conditional_7_Template, 2, 1);
79
+ i0.ɵɵelementEnd();
80
+ i0.ɵɵelementStart(8, "mat-menu", 5, 1);
81
+ i0.ɵɵrepeaterCreate(10, MenuLangSwitcherComponent_For_11_Template, 1, 1, null, null, i0.ɵɵrepeaterTrackByIdentity);
82
+ i0.ɵɵelementEnd();
83
+ } if (rf & 2) {
84
+ const state_r2 = i0.ɵɵreference(1);
85
+ const menu_r5 = i0.ɵɵreference(9);
86
+ i0.ɵɵclassProp("collapsed", ctx.isCollapsed)("active", state_r2.menuOpen);
87
+ i0.ɵɵproperty("matMenuTriggerFor", menu_r5)("matTooltip", ctx.isCollapsed ? i0.ɵɵpipeBind1(2, 8, "MENU.CHANGE_LANGUAGE") : "");
88
+ i0.ɵɵadvance(6);
89
+ i0.ɵɵconditional(!ctx.isCollapsed ? 6 : -1);
90
+ i0.ɵɵadvance();
91
+ i0.ɵɵconditional(!ctx.isCollapsed ? 7 : -1);
92
+ i0.ɵɵadvance(3);
93
+ i0.ɵɵrepeater(ctx.languages);
94
+ } }, dependencies: [i1.MatTooltip, i2.MatIcon, i3.MatMenu, i3.MatMenuItem, i3.MatMenuTrigger, i4.TranslatePipe, i5.LanguageTranslatePipe], styles: [".lang-switcher[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;display:flex;align-items:center;color:var(--base-40);background:none;width:100%;padding:16px 8px 16px 18px;border-radius:5px}.lang-switcher.active[_ngcontent-%COMP%], .lang-switcher[_ngcontent-%COMP%]:hover{background-color:var(--base-70)}.collapsed[_ngcontent-%COMP%]{padding:0;min-width:40px;height:40px;border-radius:50%;margin-top:10px;justify-content:center;width:100%;margin-left:-6px}.current-lang[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;gap:12px}.collapsed[_ngcontent-%COMP%] .current-lang[_ngcontent-%COMP%]{justify-content:center;width:100%}.spin[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_spinArrow .3s forwards}@keyframes _ngcontent-%COMP%_spinArrow{to{transform:rotate(180deg)}}"] }); }
95
+ }
96
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuLangSwitcherComponent, [{
97
+ type: Component,
98
+ args: [{ selector: 'lib-menu-lang-switcher', template: "<button\r\n [class.collapsed]=\"isCollapsed\"\r\n #state=\"matMenuTrigger\"\r\n [matMenuTriggerFor]=\"menu\"\r\n [matTooltip]=\"isCollapsed ? ('MENU.CHANGE_LANGUAGE' | translate) : ''\"\r\n matTooltipPosition=\"after\"\r\n matTooltipClass=\"menu-tooltip\" \r\n class=\"lang-switcher\"\r\n [class.active]=\"state.menuOpen\"\r\n>\r\n<div class=\"current-lang\">\r\n <mat-icon class=\"lang-icon\">language</mat-icon>\r\n\r\n @if (!isCollapsed) {\r\n <span>\r\n {{ currentLanguageCode | languageTranslate }}\r\n </span>\r\n }\r\n</div>\r\n\r\n @if (!isCollapsed) {\r\n @if (state.menuOpen) {\r\n <mat-icon class=\"menu-arrow spin\">keyboard_arrow_down</mat-icon>\r\n } @else {\r\n <mat-icon class=\"menu-arrow spin\">keyboard_arrow_up</mat-icon>\r\n }\r\n }\r\n</button>\r\n\r\n<mat-menu #menu=\"matMenu\" class=\"lang-menu\">\r\n @for (lang of languages; track lang) {\r\n @if (lang !== currentLanguageCode) {\r\n <button mat-menu-item class=\"profile-option\" (click)=\"changeLanguage(lang)\">\r\n {{ lang | languageTranslate }}\r\n </button>\r\n }\r\n }\r\n</mat-menu>\r\n", styles: [".lang-switcher{white-space:nowrap;overflow:hidden;display:flex;align-items:center;color:var(--base-40);background:none;width:100%;padding:16px 8px 16px 18px;border-radius:5px}.lang-switcher.active,.lang-switcher:hover{background-color:var(--base-70)}.collapsed{padding:0;min-width:40px;height:40px;border-radius:50%;margin-top:10px;justify-content:center;width:100%;margin-left:-6px}.current-lang{display:flex;align-items:center;width:100%;gap:12px}.collapsed .current-lang{justify-content:center;width:100%}.spin{animation:spinArrow .3s forwards}@keyframes spinArrow{to{transform:rotate(180deg)}}\n"] }]
99
+ }], null, { isCollapsed: [{
100
+ type: Input
101
+ }], languages: [{
102
+ type: Input
103
+ }], changeLanguageEvent: [{
104
+ type: Output
105
+ }] }); })();
106
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MenuLangSwitcherComponent, { className: "MenuLangSwitcherComponent", filePath: "lib\\components\\menu-lang-switcher\\menu-lang-switcher.component.ts", lineNumber: 9 }); })();
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1sYW5nLXN3aXRjaGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tZW51L3NyYy9saWIvY29tcG9uZW50cy9tZW51LWxhbmctc3dpdGNoZXIvbWVudS1sYW5nLXN3aXRjaGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tZW51L3NyYy9saWIvY29tcG9uZW50cy9tZW51LWxhbmctc3dpdGNoZXIvbWVudS1sYW5nLXN3aXRjaGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7OztJQ2FuRCw0QkFBTTtJQUNKLFlBQ0Y7O0lBQUEsaUJBQU87OztJQURMLGNBQ0Y7SUFERSxpRkFDRjs7O0lBTUUsbUNBQWtDO0lBQUEsbUNBQW1CO0lBQUEsaUJBQVc7OztJQUVoRSxtQ0FBa0M7SUFBQSxpQ0FBaUI7SUFBQSxpQkFBVzs7O0lBRDVELEFBRkoscUdBQXNCLHdGQUVYOzs7O0lBRlgsMkNBSUc7Ozs7SUFPRCxpQ0FBNEU7SUFBL0Isa1BBQVMsOEJBQW9CLEtBQUM7SUFDekUsWUFDRjs7SUFBQSxpQkFBUzs7O0lBRFAsY0FDRjtJQURFLDhEQUNGOzs7SUFIRiw0RkFBb0M7Ozs7SUFBcEMsaUVBSUM7O0FEM0JMLE1BQU0sT0FBTyx5QkFBeUI7SUFMdEM7UUFRWSx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTNELGVBQVUsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztLQWF2QztJQWJDLFVBQVUsQ0FBNEI7SUFJdEMsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQztJQUN6RCxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQVk7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztRQUNoQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7MEhBakJVLHlCQUF5QjtvRUFBekIseUJBQXlCO1lDUnRDLG9DQVNDOztZQUVDLEFBREYsOEJBQTBCLGtCQUNJO1lBQUEsd0JBQVE7WUFBQSxpQkFBVztZQUUvQyxnRkFBb0I7WUFLdEIsaUJBQU07WUFFSix3RUFBb0I7WUFPdEIsaUJBQVM7WUFFVCxzQ0FBNEM7WUFDMUMsa0hBTUM7WUFDSCxpQkFBVzs7OztZQTdCVCxBQVBBLDRDQUErQiw2QkFPQTtZQUovQixBQURBLDJDQUEwQixtRkFDNEM7WUFTdEUsZUFJQztZQUpELDJDQUlDO1lBR0QsY0FNQztZQU5ELDJDQU1DO1lBSUQsZUFNQztZQU5ELDRCQU1DOzs7aUZENUJVLHlCQUF5QjtjQUxyQyxTQUFTOzJCQUNFLHdCQUF3QjtnQkFLekIsV0FBVztrQkFBbkIsS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7WUFDSSxtQkFBbUI7a0JBQTVCLE1BQU07O2tGQUhJLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1tZW51LWxhbmctc3dpdGNoZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LWxhbmctc3dpdGNoZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9tZW51LWxhbmctc3dpdGNoZXIuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51TGFuZ1N3aXRjaGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBpc0NvbGxhcHNlZCE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgbGFuZ3VhZ2VzITogc3RyaW5nW107XHJcbiAgQE91dHB1dCgpIGNoYW5nZUxhbmd1YWdlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgI3RyYW5zbGF0ZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcclxuXHJcbiAgY3VycmVudExhbmd1YWdlQ29kZSE6IHN0cmluZztcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRMYW5ndWFnZUNvZGUgPSB0aGlzLiN0cmFuc2xhdGUuY3VycmVudExhbmc7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VMYW5ndWFnZShsYW5nOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuI3RyYW5zbGF0ZS51c2UobGFuZyk7XHJcbiAgICB0aGlzLmN1cnJlbnRMYW5ndWFnZUNvZGUgPSBsYW5nO1xyXG4gICAgdGhpcy5jaGFuZ2VMYW5ndWFnZUV2ZW50LmVtaXQobGFuZyk7XHJcbiAgfVxyXG59XHJcbiIsIjxidXR0b25cclxuICBbY2xhc3MuY29sbGFwc2VkXT1cImlzQ29sbGFwc2VkXCJcclxuICAjc3RhdGU9XCJtYXRNZW51VHJpZ2dlclwiXHJcbiAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxyXG4gIFttYXRUb29sdGlwXT1cImlzQ29sbGFwc2VkID8gKCdNRU5VLkNIQU5HRV9MQU5HVUFHRScgfCB0cmFuc2xhdGUpIDogJydcIlxyXG4gIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFmdGVyXCJcclxuICBtYXRUb29sdGlwQ2xhc3M9XCJtZW51LXRvb2x0aXBcIiBcclxuICBjbGFzcz1cImxhbmctc3dpdGNoZXJcIlxyXG4gIFtjbGFzcy5hY3RpdmVdPVwic3RhdGUubWVudU9wZW5cIlxyXG4+XHJcbjxkaXYgY2xhc3M9XCJjdXJyZW50LWxhbmdcIj5cclxuICA8bWF0LWljb24gY2xhc3M9XCJsYW5nLWljb25cIj5sYW5ndWFnZTwvbWF0LWljb24+XHJcblxyXG4gIEBpZiAoIWlzQ29sbGFwc2VkKSB7XHJcbiAgICA8c3Bhbj5cclxuICAgICAge3sgY3VycmVudExhbmd1YWdlQ29kZSB8IGxhbmd1YWdlVHJhbnNsYXRlIH19XHJcbiAgICA8L3NwYW4+XHJcbiAgfVxyXG48L2Rpdj5cclxuXHJcbiAgQGlmICghaXNDb2xsYXBzZWQpIHtcclxuICAgIEBpZiAoc3RhdGUubWVudU9wZW4pIHtcclxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWVudS1hcnJvdyBzcGluXCI+a2V5Ym9hcmRfYXJyb3dfZG93bjwvbWF0LWljb24+XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJtZW51LWFycm93IHNwaW5cIj5rZXlib2FyZF9hcnJvd191cDwvbWF0LWljb24+XHJcbiAgICAgIH1cclxuICB9XHJcbjwvYnV0dG9uPlxyXG5cclxuPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIGNsYXNzPVwibGFuZy1tZW51XCI+XHJcbiAgQGZvciAobGFuZyBvZiBsYW5ndWFnZXM7IHRyYWNrIGxhbmcpIHtcclxuICAgIEBpZiAobGFuZyAhPT0gY3VycmVudExhbmd1YWdlQ29kZSkge1xyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gY2xhc3M9XCJwcm9maWxlLW9wdGlvblwiIChjbGljayk9XCJjaGFuZ2VMYW5ndWFnZShsYW5nKVwiPlxyXG4gICAgICAgIHt7IGxhbmcgfCBsYW5ndWFnZVRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIH1cclxuICB9XHJcbjwvbWF0LW1lbnU+XHJcbiJdfQ==
@@ -0,0 +1,204 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/router";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@angular/material/icon";
6
+ import * as i4 from "@angular/material/menu";
7
+ import * as i5 from "@ngx-translate/core";
8
+ const _forTrack0 = ($index, $item) => $item.label;
9
+ const _c0 = (a0, a1) => ({ icon: a0, label: a1 });
10
+ function MenuProfileComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
11
+ i0.ɵɵtext(0);
12
+ } if (rf & 2) {
13
+ const ctx_r0 = i0.ɵɵnextContext();
14
+ i0.ɵɵtextInterpolate1(" ", ctx_r0.userInitials, " ");
15
+ } }
16
+ function MenuProfileComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
17
+ i0.ɵɵelementStart(0, "mat-icon");
18
+ i0.ɵɵtext(1, "person");
19
+ i0.ɵɵelementEnd();
20
+ } }
21
+ function MenuProfileComponent_ng_container_6_mat_icon_4_Template(rf, ctx) { if (rf & 1) {
22
+ i0.ɵɵelementStart(0, "mat-icon", 11);
23
+ i0.ɵɵtext(1, "keyboard_arrow_down");
24
+ i0.ɵɵelementEnd();
25
+ } }
26
+ function MenuProfileComponent_ng_container_6_ng_template_5_Template(rf, ctx) { if (rf & 1) {
27
+ i0.ɵɵelementStart(0, "mat-icon", 11);
28
+ i0.ɵɵtext(1, "keyboard_arrow_up");
29
+ i0.ɵɵelementEnd();
30
+ } }
31
+ function MenuProfileComponent_ng_container_6_Template(rf, ctx) { if (rf & 1) {
32
+ i0.ɵɵelementContainerStart(0);
33
+ i0.ɵɵelementStart(1, "span", 9);
34
+ i0.ɵɵtext(2);
35
+ i0.ɵɵpipe(3, "translate");
36
+ i0.ɵɵelementEnd();
37
+ i0.ɵɵtemplate(4, MenuProfileComponent_ng_container_6_mat_icon_4_Template, 2, 0, "mat-icon", 10)(5, MenuProfileComponent_ng_container_6_ng_template_5_Template, 2, 0, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
38
+ i0.ɵɵelementContainerEnd();
39
+ } if (rf & 2) {
40
+ let tmp_5_0;
41
+ const iconDown_r2 = i0.ɵɵreference(6);
42
+ const ctx_r0 = i0.ɵɵnextContext();
43
+ const state_r3 = i0.ɵɵreference(2);
44
+ i0.ɵɵadvance(2);
45
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 3, (tmp_5_0 = ctx_r0.username) !== null && tmp_5_0 !== undefined ? tmp_5_0 : "MENU.ANONYMOUS"), " ");
46
+ i0.ɵɵadvance(2);
47
+ i0.ɵɵproperty("ngIf", state_r3.menuOpen)("ngIfElse", iconDown_r2);
48
+ } }
49
+ function MenuProfileComponent_For_10_Conditional_0_Conditional_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
50
+ i0.ɵɵelementContainer(0);
51
+ } }
52
+ function MenuProfileComponent_For_10_Conditional_0_Conditional_0_Template(rf, ctx) { if (rf & 1) {
53
+ const _r4 = i0.ɵɵgetCurrentView();
54
+ i0.ɵɵelementStart(0, "a", 15);
55
+ i0.ɵɵlistener("click", function MenuProfileComponent_For_10_Conditional_0_Conditional_0_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r4); const item_r5 = i0.ɵɵnextContext(2).$implicit; const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.linkCallback(item_r5.link)); });
56
+ i0.ɵɵtemplate(1, MenuProfileComponent_For_10_Conditional_0_Conditional_0_ng_container_1_Template, 1, 0, "ng-container", 16);
57
+ i0.ɵɵelementEnd();
58
+ } if (rf & 2) {
59
+ const item_r5 = i0.ɵɵnextContext(2).$implicit;
60
+ i0.ɵɵnextContext();
61
+ const profileMenuItem_r6 = i0.ɵɵreference(12);
62
+ i0.ɵɵproperty("href", item_r5.link.href, i0.ɵɵsanitizeUrl);
63
+ i0.ɵɵadvance();
64
+ i0.ɵɵproperty("ngTemplateOutlet", profileMenuItem_r6)("ngTemplateOutletContext", i0.ɵɵpureFunction2(3, _c0, item_r5.icon, item_r5.label));
65
+ } }
66
+ function MenuProfileComponent_For_10_Conditional_0_Conditional_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
67
+ i0.ɵɵelementContainer(0);
68
+ } }
69
+ function MenuProfileComponent_For_10_Conditional_0_Conditional_1_Template(rf, ctx) { if (rf & 1) {
70
+ const _r7 = i0.ɵɵgetCurrentView();
71
+ i0.ɵɵelementStart(0, "a", 17);
72
+ i0.ɵɵlistener("click", function MenuProfileComponent_For_10_Conditional_0_Conditional_1_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r7); const item_r5 = i0.ɵɵnextContext(2).$implicit; const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.linkCallback(item_r5.link)); });
73
+ i0.ɵɵtemplate(1, MenuProfileComponent_For_10_Conditional_0_Conditional_1_ng_container_1_Template, 1, 0, "ng-container", 16);
74
+ i0.ɵɵelementEnd();
75
+ } if (rf & 2) {
76
+ const item_r5 = i0.ɵɵnextContext(2).$implicit;
77
+ i0.ɵɵnextContext();
78
+ const profileMenuItem_r6 = i0.ɵɵreference(12);
79
+ i0.ɵɵproperty("routerLink", item_r5.link.href);
80
+ i0.ɵɵadvance();
81
+ i0.ɵɵproperty("ngTemplateOutlet", profileMenuItem_r6)("ngTemplateOutletContext", i0.ɵɵpureFunction2(3, _c0, item_r5.icon, item_r5.label));
82
+ } }
83
+ function MenuProfileComponent_For_10_Conditional_0_Template(rf, ctx) { if (rf & 1) {
84
+ i0.ɵɵtemplate(0, MenuProfileComponent_For_10_Conditional_0_Conditional_0_Template, 2, 6, "a", 13)(1, MenuProfileComponent_For_10_Conditional_0_Conditional_1_Template, 2, 6, "a", 14);
85
+ } if (rf & 2) {
86
+ const item_r5 = i0.ɵɵnextContext().$implicit;
87
+ i0.ɵɵconditional(item_r5.link.isExternal ? 0 : 1);
88
+ } }
89
+ function MenuProfileComponent_For_10_Conditional_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
90
+ i0.ɵɵelementContainer(0);
91
+ } }
92
+ function MenuProfileComponent_For_10_Conditional_1_Template(rf, ctx) { if (rf & 1) {
93
+ const _r8 = i0.ɵɵgetCurrentView();
94
+ i0.ɵɵelementStart(0, "button", 18);
95
+ i0.ɵɵlistener("click", function MenuProfileComponent_For_10_Conditional_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const item_r5 = i0.ɵɵnextContext().$implicit; return i0.ɵɵresetView(item_r5.button == null ? null : item_r5.button.callback()); });
96
+ i0.ɵɵtemplate(1, MenuProfileComponent_For_10_Conditional_1_ng_container_1_Template, 1, 0, "ng-container", 16);
97
+ i0.ɵɵelementEnd();
98
+ } if (rf & 2) {
99
+ const item_r5 = i0.ɵɵnextContext().$implicit;
100
+ i0.ɵɵnextContext();
101
+ const profileMenuItem_r6 = i0.ɵɵreference(12);
102
+ i0.ɵɵadvance();
103
+ i0.ɵɵproperty("ngTemplateOutlet", profileMenuItem_r6)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c0, item_r5.icon, item_r5.label));
104
+ } }
105
+ function MenuProfileComponent_For_10_Template(rf, ctx) { if (rf & 1) {
106
+ i0.ɵɵtemplate(0, MenuProfileComponent_For_10_Conditional_0_Template, 2, 1)(1, MenuProfileComponent_For_10_Conditional_1_Template, 2, 5, "button", 12);
107
+ } if (rf & 2) {
108
+ const item_r5 = ctx.$implicit;
109
+ i0.ɵɵconditional(item_r5.link ? 0 : 1);
110
+ } }
111
+ function MenuProfileComponent_ng_template_11_Conditional_0_Conditional_0_Template(rf, ctx) { if (rf & 1) {
112
+ i0.ɵɵelementStart(0, "span", 21);
113
+ i0.ɵɵtext(1);
114
+ i0.ɵɵelementEnd();
115
+ } if (rf & 2) {
116
+ const icon_r9 = i0.ɵɵnextContext(2).icon;
117
+ i0.ɵɵclassProp("material-icons-outlined", icon_r9 == null ? null : icon_r9.isOutlined);
118
+ i0.ɵɵadvance();
119
+ i0.ɵɵtextInterpolate1(" ", icon_r9 == null ? null : icon_r9.name, " ");
120
+ } }
121
+ function MenuProfileComponent_ng_template_11_Conditional_0_Conditional_1_Template(rf, ctx) { if (rf & 1) {
122
+ i0.ɵɵelement(0, "mat-icon", 20);
123
+ } if (rf & 2) {
124
+ const icon_r9 = i0.ɵɵnextContext(2).icon;
125
+ i0.ɵɵproperty("svgIcon", icon_r9 == null ? null : icon_r9.name);
126
+ } }
127
+ function MenuProfileComponent_ng_template_11_Conditional_0_Template(rf, ctx) { if (rf & 1) {
128
+ i0.ɵɵtemplate(0, MenuProfileComponent_ng_template_11_Conditional_0_Conditional_0_Template, 2, 3, "span", 19)(1, MenuProfileComponent_ng_template_11_Conditional_0_Conditional_1_Template, 1, 1, "mat-icon", 20);
129
+ } if (rf & 2) {
130
+ const icon_r9 = i0.ɵɵnextContext().icon;
131
+ i0.ɵɵconditional(!(icon_r9 == null ? null : icon_r9.isCustom) ? 0 : 1);
132
+ } }
133
+ function MenuProfileComponent_ng_template_11_Template(rf, ctx) { if (rf & 1) {
134
+ i0.ɵɵtemplate(0, MenuProfileComponent_ng_template_11_Conditional_0_Template, 2, 1);
135
+ i0.ɵɵtext(1);
136
+ i0.ɵɵpipe(2, "translate");
137
+ } if (rf & 2) {
138
+ const icon_r9 = ctx.icon;
139
+ const label_r10 = ctx.label;
140
+ i0.ɵɵconditional(icon_r9 ? 0 : -1);
141
+ i0.ɵɵadvance();
142
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, label_r10), "\n");
143
+ } }
144
+ export class MenuProfileComponent {
145
+ constructor() {
146
+ this.linkCallbackEvent = new EventEmitter();
147
+ }
148
+ ngOnInit() {
149
+ this.setUserInitials();
150
+ }
151
+ linkCallback(link) {
152
+ this.linkCallbackEvent.emit(link);
153
+ }
154
+ setUserInitials() {
155
+ if (!this.username) {
156
+ return;
157
+ }
158
+ // displaying first letters of name and surname
159
+ const splittedUsername = this.username.split(' ');
160
+ if (splittedUsername.length === 1) {
161
+ // If there's only one word, use the first letter
162
+ this.userInitials = splittedUsername[0][0];
163
+ return;
164
+ }
165
+ // If there are more than one word, use the first letter of the first two names
166
+ this.userInitials = splittedUsername[0][0] + splittedUsername[1][0];
167
+ }
168
+ static { this.ɵfac = function MenuProfileComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MenuProfileComponent)(); }; }
169
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuProfileComponent, selectors: [["lib-menu-profile"]], inputs: { collapsed: "collapsed", username: "username", userOptions: "userOptions" }, outputs: { linkCallbackEvent: "linkCallbackEvent" }, decls: 13, vars: 3, consts: [["state", "matMenuTrigger"], ["menu", "matMenu"], ["profileMenuItem", ""], ["iconDown", ""], [1, "profile"], [1, "profile-wrapper", 3, "matMenuTriggerFor"], [1, "profile-icon"], [4, "ngIf"], [1, "profile-menu"], [1, "profile-name"], ["class", "profile-arrow spin", 4, "ngIf", "ngIfElse"], [1, "profile-arrow", "spin"], ["mat-menu-item", "", 1, "profile-option"], ["target", "_blank", 1, "mat-mdc-menu-item", 3, "href"], [1, "mat-mdc-menu-item", 3, "routerLink"], ["target", "_blank", 1, "mat-mdc-menu-item", 3, "click", "href"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "mat-mdc-menu-item", 3, "click", "routerLink"], ["mat-menu-item", "", 1, "profile-option", 3, "click"], [1, "material-icons", "profile-option-icon", 3, "material-icons-outlined"], [1, "profile-option-icon", 3, "svgIcon"], [1, "material-icons", "profile-option-icon"]], template: function MenuProfileComponent_Template(rf, ctx) { if (rf & 1) {
170
+ i0.ɵɵelementStart(0, "div", 4)(1, "button", 5, 0)(3, "div", 6);
171
+ i0.ɵɵtemplate(4, MenuProfileComponent_Conditional_4_Template, 1, 1)(5, MenuProfileComponent_Conditional_5_Template, 2, 0, "mat-icon");
172
+ i0.ɵɵelementEnd();
173
+ i0.ɵɵtemplate(6, MenuProfileComponent_ng_container_6_Template, 7, 5, "ng-container", 7);
174
+ i0.ɵɵelementEnd();
175
+ i0.ɵɵelementStart(7, "mat-menu", 8, 1);
176
+ i0.ɵɵrepeaterCreate(9, MenuProfileComponent_For_10_Template, 2, 1, null, null, _forTrack0);
177
+ i0.ɵɵelementEnd()();
178
+ i0.ɵɵtemplate(11, MenuProfileComponent_ng_template_11_Template, 3, 4, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor);
179
+ } if (rf & 2) {
180
+ const menu_r11 = i0.ɵɵreference(8);
181
+ i0.ɵɵadvance();
182
+ i0.ɵɵproperty("matMenuTriggerFor", menu_r11);
183
+ i0.ɵɵadvance(3);
184
+ i0.ɵɵconditional(ctx.userInitials ? 4 : 5);
185
+ i0.ɵɵadvance(2);
186
+ i0.ɵɵproperty("ngIf", !ctx.collapsed);
187
+ i0.ɵɵadvance(3);
188
+ i0.ɵɵrepeater(ctx.userOptions);
189
+ } }, dependencies: [i1.RouterLink, i2.NgIf, i2.NgTemplateOutlet, i3.MatIcon, i4.MatMenu, i4.MatMenuItem, i4.MatMenuTrigger, i5.TranslatePipe], styles: ["a[_ngcontent-%COMP%]{text-decoration:none}.profile[_ngcontent-%COMP%]{position:relative;margin-top:100px}.profile-wrapper[_ngcontent-%COMP%]{background:none;color:var(--base-30);display:flex;align-items:center;justify-content:start;width:100%;position:absolute;bottom:0;margin:32px 0}.profile-icon[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;min-width:40px;height:40px;border-radius:100%;color:var(--base-0);background-color:var(--base-70);font-size:16px;font-weight:600}.profile-name[_ngcontent-%COMP%]{max-width:145px;overflow:hidden;margin-left:12px;text-overflow:ellipsis}.profile-option-icon[_ngcontent-%COMP%]{vertical-align:middle;margin:0 5px 5px 0}.profile-arrow[_ngcontent-%COMP%]{position:absolute;right:0;margin-right:8px}.mobile[_ngcontent-%COMP%] .profile-arrow[_ngcontent-%COMP%]{margin-right:20px}.spin[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_spinArrow .3s forwards} .profile-menu a{font-weight:400!important;display:flex;align-items:center;gap:5px} .profile-menu a:hover{color:var(--mat-menu-item-label-text-color, var(--mat-app-on-surface))!important;text-decoration:inherit}@keyframes _ngcontent-%COMP%_spinArrow{to{transform:rotate(180deg)}}"] }); }
190
+ }
191
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuProfileComponent, [{
192
+ type: Component,
193
+ args: [{ selector: 'lib-menu-profile', template: "<div class=\"profile\">\r\n <button #state=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" class=\"profile-wrapper\">\r\n <div class=\"profile-icon\">\r\n @if (userInitials) {\r\n {{userInitials}}\r\n } @else {\r\n <mat-icon>person</mat-icon>\r\n }\r\n </div>\r\n\r\n <ng-container *ngIf=\"!collapsed\">\r\n <span class=\"profile-name\">\r\n {{ username ?? 'MENU.ANONYMOUS' | translate }}\r\n </span>\r\n\r\n <mat-icon *ngIf=\"state.menuOpen; else iconDown\" class=\"profile-arrow spin\">keyboard_arrow_down</mat-icon>\r\n\r\n <ng-template #iconDown>\r\n <mat-icon class=\"profile-arrow spin\">keyboard_arrow_up</mat-icon>\r\n </ng-template>\r\n </ng-container>\r\n </button>\r\n\r\n <mat-menu #menu=\"matMenu\" class=\"profile-menu\">\r\n @for (item of userOptions; track item.label) {\r\n @if (item.link) {\r\n @if (item.link.isExternal) {\r\n <a class=\"mat-mdc-menu-item\" [href]=\"item.link.href\" target=\"_blank\" (click)=\"linkCallback(item.link)\">\r\n <ng-container\r\n *ngTemplateOutlet=\"profileMenuItem; context: { icon: item.icon, label: item.label }\">\r\n </ng-container>\r\n </a>\r\n } @else {\r\n <a class=\"mat-mdc-menu-item\" [routerLink]=\"item.link.href\" (click)=\"linkCallback(item.link)\">\r\n <ng-container\r\n *ngTemplateOutlet=\"profileMenuItem; context: { icon: item.icon, label: item.label }\">\r\n </ng-container>\r\n </a>\r\n }\r\n } @else {\r\n <button\r\n mat-menu-item\r\n class=\"profile-option\"\r\n (click)=\"item.button?.callback()\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"profileMenuItem; context: { icon: item.icon, label: item.label }\">\r\n </ng-container>\r\n </button>\r\n }\r\n }\r\n </mat-menu>\r\n</div>\r\n\r\n<ng-template #profileMenuItem let-icon=\"icon\" let-label=\"label\">\r\n @if (icon) {\r\n @if (!icon?.isCustom) {\r\n <span class=\"material-icons profile-option-icon\" [class.material-icons-outlined]=\"icon?.isOutlined\">\r\n {{icon?.name}}\r\n </span>\r\n } @else {\r\n <mat-icon class=\"profile-option-icon\" [svgIcon]=\"icon?.name\"></mat-icon>\r\n }\r\n }\r\n {{ label | translate }}\r\n</ng-template>", styles: ["a{text-decoration:none}.profile{position:relative;margin-top:100px}.profile-wrapper{background:none;color:var(--base-30);display:flex;align-items:center;justify-content:start;width:100%;position:absolute;bottom:0;margin:32px 0}.profile-icon{display:flex;justify-content:center;align-items:center;min-width:40px;height:40px;border-radius:100%;color:var(--base-0);background-color:var(--base-70);font-size:16px;font-weight:600}.profile-name{max-width:145px;overflow:hidden;margin-left:12px;text-overflow:ellipsis}.profile-option-icon{vertical-align:middle;margin:0 5px 5px 0}.profile-arrow{position:absolute;right:0;margin-right:8px}.mobile .profile-arrow{margin-right:20px}.spin{animation:spinArrow .3s forwards}::ng-deep .profile-menu a{font-weight:400!important;display:flex;align-items:center;gap:5px}::ng-deep .profile-menu a:hover{color:var(--mat-menu-item-label-text-color, var(--mat-app-on-surface))!important;text-decoration:inherit}@keyframes spinArrow{to{transform:rotate(180deg)}}\n"] }]
194
+ }], null, { collapsed: [{
195
+ type: Input
196
+ }], username: [{
197
+ type: Input
198
+ }], userOptions: [{
199
+ type: Input
200
+ }], linkCallbackEvent: [{
201
+ type: Output
202
+ }] }); })();
203
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MenuProfileComponent, { className: "MenuProfileComponent", filePath: "lib\\components\\menu-profile\\menu-profile.component.ts", lineNumber: 10 }); })();
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1wcm9maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tZW51L3NyYy9saWIvY29tcG9uZW50cy9tZW51LXByb2ZpbGUvbWVudS1wcm9maWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tZW51L3NyYy9saWIvY29tcG9uZW50cy9tZW51LXByb2ZpbGUvbWVudS1wcm9maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7SUNJdkUsWUFDRjs7O0lBREUsb0RBQ0Y7OztJQUNFLGdDQUFVO0lBQUEsc0JBQU07SUFBQSxpQkFBVzs7O0lBUzdCLG9DQUEyRTtJQUFBLG1DQUFtQjtJQUFBLGlCQUFXOzs7SUFHdkcsb0NBQXFDO0lBQUEsaUNBQWlCO0lBQUEsaUJBQVc7OztJQVJyRSw2QkFBaUM7SUFDL0IsK0JBQTJCO0lBQ3pCLFlBQ0Y7O0lBQUEsaUJBQU87SUFJUCxBQUZBLCtGQUEyRSx3SEFFcEQ7Ozs7Ozs7SUFMckIsZUFDRjtJQURFLGlKQUNGO0lBRVcsZUFBc0I7SUFBQSxBQUF0Qix3Q0FBc0IseUJBQWE7OztJQWF4Qyx3QkFFZTs7OztJQUhqQiw2QkFBdUc7SUFBbEMsdVBBQVMsaUNBQXVCLEtBQUM7SUFDcEcsMkhBQ3VGO0lBRXpGLGlCQUFJOzs7OztJQUp5QiwwREFBdUI7SUFFL0MsY0FBbUM7SUFBQSxBQUFuQyxxREFBbUMsb0ZBQStDOzs7SUFLckYsd0JBRWU7Ozs7SUFIakIsNkJBQTZGO0lBQWxDLHVQQUFTLGlDQUF1QixLQUFDO0lBQzFGLDJIQUN1RjtJQUV6RixpQkFBSTs7Ozs7SUFKeUIsOENBQTZCO0lBRXJELGNBQW1DO0lBQUEsQUFBbkMscURBQW1DLG9GQUErQzs7O0lBSHZGLEFBTkYsaUdBQTRCLG9GQU1uQjs7O0lBTlQsaURBWUM7OztJQU9ELHdCQUVlOzs7O0lBUGYsa0NBSUQ7SUFERyx3UUFBaUM7SUFFbkMsNkdBQ3VGO0lBRXpGLGlCQUFTOzs7OztJQUZKLGNBQW1DO0lBQUEsQUFBbkMscURBQW1DLG9GQUErQzs7O0lBUHJGLEFBZEYsMEVBQWlCLDJFQWNSOzs7SUFkVCxzQ0F3QkM7OztJQVFELGdDQUFvRztJQUNsRyxZQUNGO0lBQUEsaUJBQU87OztJQUYwQyxzRkFBa0Q7SUFDakcsY0FDRjtJQURFLHNFQUNGOzs7SUFFQSwrQkFBd0U7OztJQUFsQywrREFBc0I7OztJQUQ1RCxBQUpGLDRHQUF1QixtR0FJZDs7O0lBSlQsc0VBTUM7OztJQVBILGtGQUFZO0lBU1osWUFDRjs7Ozs7SUFWRSxrQ0FRQztJQUNELGNBQ0Y7SUFERSxpRUFDRjs7QUR4REEsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQVNZLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFzQixDQUFDO0tBMkJ0RTtJQXZCQyxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBd0I7UUFDbkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLE9BQU87UUFDVCxDQUFDO1FBRUQsK0NBQStDO1FBQy9DLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEQsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEMsaURBQWlEO1lBQ2pELElBQUksQ0FBQyxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0MsT0FBTztRQUNULENBQUM7UUFDRCwrRUFBK0U7UUFDL0UsSUFBSSxDQUFDLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO3FIQTlCVSxvQkFBb0I7b0VBQXBCLG9CQUFvQjtZQ1A3QixBQURGLEFBREYsOEJBQXFCLG1CQUNnRSxhQUN2RDtZQUd0QixBQUZGLG1FQUFvQixrRUFFWDtZQUdYLGlCQUFNO1lBRU4sdUZBQWlDO1lBV25DLGlCQUFTO1lBRVQsc0NBQStDO1lBQzdDLDBGQTBCQztZQUVMLEFBREUsaUJBQVcsRUFDUDtZQUVOLHdIQUFnRTs7O1lBckQ5QixjQUEwQjtZQUExQiw0Q0FBMEI7WUFFdEQsZUFJQztZQUpELDBDQUlDO1lBR1ksZUFBZ0I7WUFBaEIscUNBQWdCO1lBYy9CLGVBMEJDO1lBMUJELDhCQTBCQzs7O2lGRHpDUSxvQkFBb0I7Y0FMaEMsU0FBUzsyQkFDRSxrQkFBa0I7Z0JBS25CLFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSztZQUNJLGlCQUFpQjtrQkFBMUIsTUFBTTs7a0ZBSkksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVc2VyTWVudU9wdGlvbiB9IGZyb20gJy4uL3NpZGUtbmF2LW1lbnUnO1xyXG5pbXBvcnQgeyBVc2VyTWVudU9wdGlvbkxpbmsgfSBmcm9tICcuLi9zaWRlLW5hdi1tZW51L21vZGVscy91c2VyLW1lbnUtb3B0aW9uLWxpbmsubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItbWVudS1wcm9maWxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS1wcm9maWxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbWVudS1wcm9maWxlLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lbnVQcm9maWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBjb2xsYXBzZWQhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHVzZXJuYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHVzZXJPcHRpb25zITogVXNlck1lbnVPcHRpb25bXTtcclxuICBAT3V0cHV0KCkgbGlua0NhbGxiYWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFVzZXJNZW51T3B0aW9uTGluaz4oKTtcclxuXHJcbiAgdXNlckluaXRpYWxzITogc3RyaW5nO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0VXNlckluaXRpYWxzKCk7XHJcbiAgfVxyXG5cclxuICBsaW5rQ2FsbGJhY2sobGluazogVXNlck1lbnVPcHRpb25MaW5rKTogdm9pZCB7XHJcbiAgICB0aGlzLmxpbmtDYWxsYmFja0V2ZW50LmVtaXQobGluayk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFVzZXJJbml0aWFscygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy51c2VybmFtZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gZGlzcGxheWluZyBmaXJzdCBsZXR0ZXJzIG9mIG5hbWUgYW5kIHN1cm5hbWVcclxuICAgIGNvbnN0IHNwbGl0dGVkVXNlcm5hbWUgPSB0aGlzLnVzZXJuYW1lLnNwbGl0KCcgJyk7XHJcbiAgICBpZiAoc3BsaXR0ZWRVc2VybmFtZS5sZW5ndGggPT09IDEpIHtcclxuICAgICAgLy8gSWYgdGhlcmUncyBvbmx5IG9uZSB3b3JkLCB1c2UgdGhlIGZpcnN0IGxldHRlclxyXG4gICAgICB0aGlzLnVzZXJJbml0aWFscyA9IHNwbGl0dGVkVXNlcm5hbWVbMF1bMF07XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIC8vIElmIHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIHdvcmQsIHVzZSB0aGUgZmlyc3QgbGV0dGVyIG9mIHRoZSBmaXJzdCB0d28gbmFtZXNcclxuICAgIHRoaXMudXNlckluaXRpYWxzID0gc3BsaXR0ZWRVc2VybmFtZVswXVswXSArIHNwbGl0dGVkVXNlcm5hbWVbMV1bMF07XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJwcm9maWxlXCI+XHJcbiAgPGJ1dHRvbiAjc3RhdGU9XCJtYXRNZW51VHJpZ2dlclwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgY2xhc3M9XCJwcm9maWxlLXdyYXBwZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWljb25cIj5cclxuICAgICAgQGlmICh1c2VySW5pdGlhbHMpIHtcclxuICAgICAgICB7e3VzZXJJbml0aWFsc319XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIDxtYXQtaWNvbj5wZXJzb248L21hdC1pY29uPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbGxhcHNlZFwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInByb2ZpbGUtbmFtZVwiPlxyXG4gICAgICAgIHt7IHVzZXJuYW1lID8/ICdNRU5VLkFOT05ZTU9VUycgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwic3RhdGUubWVudU9wZW47IGVsc2UgaWNvbkRvd25cIiBjbGFzcz1cInByb2ZpbGUtYXJyb3cgc3BpblwiPmtleWJvYXJkX2Fycm93X2Rvd248L21hdC1pY29uPlxyXG5cclxuICAgICAgPG5nLXRlbXBsYXRlICNpY29uRG93bj5cclxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJwcm9maWxlLWFycm93IHNwaW5cIj5rZXlib2FyZF9hcnJvd191cDwvbWF0LWljb24+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2J1dHRvbj5cclxuXHJcbiAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIGNsYXNzPVwicHJvZmlsZS1tZW51XCI+XHJcbiAgICBAZm9yIChpdGVtIG9mIHVzZXJPcHRpb25zOyB0cmFjayBpdGVtLmxhYmVsKSB7XHJcbiAgICAgIEBpZiAoaXRlbS5saW5rKSB7XHJcbiAgICAgICAgQGlmIChpdGVtLmxpbmsuaXNFeHRlcm5hbCkge1xyXG4gICAgICAgICAgPGEgY2xhc3M9XCJtYXQtbWRjLW1lbnUtaXRlbVwiIFtocmVmXT1cIml0ZW0ubGluay5ocmVmXCIgdGFyZ2V0PVwiX2JsYW5rXCIgKGNsaWNrKT1cImxpbmtDYWxsYmFjayhpdGVtLmxpbmspXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInByb2ZpbGVNZW51SXRlbTsgY29udGV4dDogeyBpY29uOiBpdGVtLmljb24sIGxhYmVsOiBpdGVtLmxhYmVsIH1cIj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2E+XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICA8YSBjbGFzcz1cIm1hdC1tZGMtbWVudS1pdGVtXCIgW3JvdXRlckxpbmtdPVwiaXRlbS5saW5rLmhyZWZcIiAoY2xpY2spPVwibGlua0NhbGxiYWNrKGl0ZW0ubGluaylcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicHJvZmlsZU1lbnVJdGVtOyBjb250ZXh0OiB7IGljb246IGl0ZW0uaWNvbiwgbGFiZWw6IGl0ZW0ubGFiZWwgfVwiPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvYT5cclxuICAgICAgICB9XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIG1hdC1tZW51LWl0ZW1cclxuICAgICAgICAgIGNsYXNzPVwicHJvZmlsZS1vcHRpb25cIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIml0ZW0uYnV0dG9uPy5jYWxsYmFjaygpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicHJvZmlsZU1lbnVJdGVtOyBjb250ZXh0OiB7IGljb246IGl0ZW0uaWNvbiwgbGFiZWw6IGl0ZW0ubGFiZWwgfVwiPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIDwvbWF0LW1lbnU+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNwcm9maWxlTWVudUl0ZW0gbGV0LWljb249XCJpY29uXCIgbGV0LWxhYmVsPVwibGFiZWxcIj5cclxuICBAaWYgKGljb24pIHtcclxuICAgIEBpZiAoIWljb24/LmlzQ3VzdG9tKSB7XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgcHJvZmlsZS1vcHRpb24taWNvblwiIFtjbGFzcy5tYXRlcmlhbC1pY29ucy1vdXRsaW5lZF09XCJpY29uPy5pc091dGxpbmVkXCI+XHJcbiAgICAgICAge3tpY29uPy5uYW1lfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInByb2ZpbGUtb3B0aW9uLWljb25cIiBbc3ZnSWNvbl09XCJpY29uPy5uYW1lXCI+PC9tYXQtaWNvbj5cclxuICAgIH1cclxuICB9XHJcbiAge3sgbGFiZWwgfCB0cmFuc2xhdGUgfX1cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYtc2V0dGluZ3MubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWVudS9zcmMvbGliL2NvbXBvbmVudHMvc2lkZS1uYXYtbWVudS9tb2RlbHMvc2lkZS1uYXYtc2V0dGluZ3MubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVzZXJNZW51T3B0aW9uIH0gZnJvbSAnLi91c2VyLW1lbnUtb3B0aW9uLm1vZGVsJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2lkZU5hdlNldHRpbmdzIHtcclxuICBleHBhbmRlZFdpZHRoPzogc3RyaW5nO1xyXG4gIGNvbGxhcHNlZFdpZHRoPzogc3RyaW5nO1xyXG4gIG1lbnVMb2dvOiBzdHJpbmc7XHJcbiAgbWVudUxvZ29Db2xsYXBzZWQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRpc2FibGVTdHJhcGk/OiBib29sZWFuO1xyXG4gIHVzZXJPcHRpb25zPzogVXNlck1lbnVPcHRpb25bXTtcclxuICBkaXNhYmxlTG9nb05hdmlnYXRpb24/OiBib29sZWFuO1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYtc2V0dGluZ3MubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWVudS9zcmMvbGliL2NvbXBvbmVudHMvc2lkZS1uYXYtbWVudS9tb2RlbHMvc2lkZS1uYXYtc2V0dGluZ3MubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVzZXJNZW51T3B0aW9uIH0gZnJvbSAnLi91c2VyLW1lbnUtb3B0aW9uLm1vZGVsJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2lkZU5hdlNldHRpbmdzIHtcclxuICBleHBhbmRlZFdpZHRoPzogc3RyaW5nO1xyXG4gIGNvbGxhcHNlZFdpZHRoPzogc3RyaW5nO1xyXG4gIG1lbnVMb2dvOiBzdHJpbmc7XHJcbiAgbWVudUxvZ29Db2xsYXBzZWQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRpc2FibGVTdHJhcGk/OiBib29sZWFuO1xyXG4gIHVzZXJPcHRpb25zOiBVc2VyTWVudU9wdGlvbltdO1xyXG4gIGRpc2FibGVMb2dvTmF2aWdhdGlvbj86IGJvb2xlYW47XHJcbn1cclxuIl19