@tilde-nlp/ngx-menu 4.1.8 → 4.1.10
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.
|
@@ -38,11 +38,11 @@ export class MenuItemListComponent {
|
|
|
38
38
|
this.toggleExpand.next(menuItem);
|
|
39
39
|
}
|
|
40
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 .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-
|
|
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
42
|
}
|
|
43
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuItemListComponent, decorators: [{
|
|
44
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 .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-
|
|
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
46
|
}], propDecorators: { direction: [{
|
|
47
47
|
type: Input
|
|
48
48
|
}], labelsVisible: [{
|
|
@@ -58,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
58
58
|
}], toggleExpand: [{
|
|
59
59
|
type: Output
|
|
60
60
|
}] } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1lbnUvc3JjL2xpYi9jb21wb25lbnRzL21lbnUtaXRlbS1saXN0L21lbnUtaXRlbS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tZW51L3NyYy9saWIvY29tcG9uZW50cy9tZW51LWl0ZW0tbGlzdC9tZW51LWl0ZW0tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7Ozs7QUFPL0UsTUFBTSxPQUFPLHFCQUFxQjtJQUxsQztRQU1XLGNBQVMsR0FBd0IsbUJBQW1CLENBQUMsTUFBTSxDQUFDO1FBQzVELGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBRXJCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFFakIsVUFBSyxHQUFxQixFQUFFLENBQUM7UUFHNUIsaUJBQVksR0FBaUMsSUFBSSxZQUFZLEVBQWtCLENBQUM7S0E4QjNGO0lBNUJDLElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUM7SUFDdkMsQ0FBQztJQUdELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLG1CQUFtQixDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDM0UsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDMUUsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQWlCLEVBQUUsUUFBd0I7UUFDMUQsNkJBQTZCO1FBQzdCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFO1lBQzVDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1NBQ3hDO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbkMsQ0FBQzsrR0F0Q1UscUJBQXFCO21HQUFyQixxQkFBcUIsdVFDVmxDLDgzRUF1Q2MsdXFLRDdCRCxxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsZ0JBQWdCOzhCQUtqQixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDdXN0b21NZW51SXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9jdXN0b20tbWVudS1pdGVtJztcclxuaW1wb3J0IHsgTWVudUl0ZW1Hcm91cEJhc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvbWVudS1pdGVtLWdyb3VwLm1vZGVsJztcclxuaW1wb3J0IHsgTWVudUxheW91dERpcmVjdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9tZW51LWxheW91dC1kaXJlY3Rpb24ubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtZW51LWl0ZW0tbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtaXRlbS1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tZW51LWl0ZW0tbGlzdC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51SXRlbUxpc3RDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGRpcmVjdGlvbjogTWVudUxheW91dERpcmVjdGlvbiA9IE1lbnVMYXlvdXREaXJlY3Rpb24uY29sdW1uO1xyXG4gIEBJbnB1dCgpIGxhYmVsc1Zpc2libGUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGFjdGl2ZUl0ZW0hOiBDdXN0b21NZW51SXRlbSB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBzaG93SWNvbnMgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKSBpdGVtczogQ3VzdG9tTWVudUl0ZW1bXSA9IFtdO1xyXG4gIEBJbnB1dCgpIG1lbnVJdGVtR3JvdXAhOiBNZW51SXRlbUdyb3VwQmFzZTtcclxuXHJcbiAgQE91dHB1dCgpIHRvZ2dsZUV4cGFuZDogRXZlbnRFbWl0dGVyPEN1c3RvbU1lbnVJdGVtPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tTWVudUl0ZW0+KCk7XHJcblxyXG4gIGdldCB0aXRsZUtleSgpIHtcclxuICAgIHJldHVybiB0aGlzLm1lbnVJdGVtR3JvdXA/LnRpdGxlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNob3dUaXRsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLm1lbnVJdGVtR3JvdXA/LnNob3dUaXRsZTtcclxuICB9XHJcblxyXG5cclxuICBnZXQgbWVudUxheW91dERpcmVjdGlvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICh0aGlzLmRpcmVjdGlvbiA9PT0gTWVudUxheW91dERpcmVjdGlvbi5jb2x1bW4gfHwgIXRoaXMubGFiZWxzVmlzaWJsZSlcclxuICAgICAgPyAnc3RhcnQgY2VudGVyJyA6ICdzdGFydCBzdGFydCc7XHJcbiAgfVxyXG5cclxuICBnZXQgbWVudUl0ZW1MYXlvdXQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvbiA9PT0gTWVudUxheW91dERpcmVjdGlvbi5jb2x1bW4gPyAnY29sdW1uJyA6ICdyb3cnO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlSXRlbUV4cGFuZChldmVudDogTW91c2VFdmVudCwgbWVudUl0ZW06IEN1c3RvbU1lbnVJdGVtKSB7XHJcbiAgICAvLyBzbyBtZW51IGRvZXNudCBnZXQgY2xvc2VkLlxyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgaWYgKHRoaXMubGFiZWxzVmlzaWJsZSB8fCAhbWVudUl0ZW0uZXhwYW5kZWQpIHtcclxuICAgICAgbWVudUl0ZW0uZXhwYW5kZWQgPSAhbWVudUl0ZW0uZXhwYW5kZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50b2dnbGVFeHBhbmQubmV4dChtZW51SXRlbSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtZW51LWxpc3Qtd3JhcHBlclwiPlxyXG4gIDxkaXYgKm5nSWY9XCJ0aXRsZUtleSAmJiBzaG93VGl0bGUgJiYgbGFiZWxzVmlzaWJsZVwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBjbGFzcz1cIm1lbnUtaXRlbS1saXN0LXRpdGxlXCI+XHJcbiAgICB7eyB0aXRsZUtleSB8IHRyYW5zbGF0ZSB9fVxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBbZnhMYXlvdXRBbGlnbl09XCJtZW51TGF5b3V0RGlyZWN0aW9uXCIgY2xhc3M9XCJtZW51LWl0ZW0tbGlzdFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWVudUl0ZW0gb2YgaXRlbXNcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiIW1lbnVJdGVtLnNob3dDaGlsZHJlbiB8fCAhbWVudUl0ZW0uY2hpbGRyZW4gfHwgbWVudUl0ZW0/LmNoaWxkcmVuPy5sZW5ndGggPT09IDAgPyBtZW51SXRlbUxpbmsgOiBpdGVtV2l0aENoaWxkcmVuOyBjb250ZXh0OiB7bWVudUl0ZW06IG1lbnVJdGVtfVwiPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjaXRlbVdpdGhDaGlsZHJlbiBsZXQtbWVudUl0ZW09XCJtZW51SXRlbVwiPlxyXG4gIDxidXR0b24gW2Z4TGF5b3V0XT1cIm1lbnVJdGVtTGF5b3V0XCIgW2NsYXNzLnRleHQtY2VudGVyXT1cIm1lbnVJdGVtTGF5b3V0ID09PSAnY29sdW1uJ1wiIGNsYXNzPVwidGV4dC1tIG1lbnUtaXRlbVwiXHJcbiAgICBbbWF0VG9vbHRpcF09XCIhbGFiZWxzVmlzaWJsZSA/IChtZW51SXRlbS50aXRsZSB8IHRyYW5zbGF0ZSkgOiAnJ1wiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFmdGVyXCIgW2NsYXNzLm1lbnUtbGFiZWxzLXZpc2libGVdPVwibGFiZWxzVmlzaWJsZVwiXHJcbiAgICBbZnhMYXlvdXRBbGlnbl09XCJtZW51TGF5b3V0RGlyZWN0aW9uXCIgbWF0VG9vbHRpcENsYXNzPVwibWVudS10b29sdGlwXCIgZnhMYXlvdXRHYXA9XCIwLjM3NXJlbVwiXHJcbiAgICBbY2xhc3MuYWN0aXZlLW1lbnUtaXRlbV09XCJhY3RpdmVJdGVtPy5saW5rICYmIG1lbnVJdGVtID09PSBhY3RpdmVJdGVtXCIgKGNsaWNrKT1cInRvZ2dsZUl0ZW1FeHBhbmQoJGV2ZW50LG1lbnVJdGVtKVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dJY29ucyAmJiBtZW51SXRlbS5pY29uXCI+XHJcbiAgICAgIDx0bGQtbWVudS1pY29uIFttZW51SXRlbV09XCJtZW51SXRlbVwiPjwvdGxkLW1lbnUtaWNvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsc1Zpc2libGVcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LWl0ZW0tdGl0bGVcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLWNvbnRlbnRcIj57eyBtZW51SXRlbS50aXRsZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiAqbmdJZj1cIm1lbnVJdGVtLnNob3dDaGlsZHJlbiAmJiBtZW51SXRlbS5jaGlsZHJlblwiPlxyXG4gICAgICAgIHt7IG1lbnVJdGVtLmV4cGFuZGVkID8gJ2Fycm93X2Ryb3BfdXAnIDogJ2Fycm93X2Ryb3BfZG93bicgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9idXR0b24+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lbnVJdGVtLnNob3dDaGlsZHJlbiAmJiBtZW51SXRlbS5leHBhbmRlZCAmJiBsYWJlbHNWaXNpYmxlXCI+XHJcbiAgICA8bWVudS1pdGVtLWxpc3QgY2xhc3M9XCJjaGlsZC1saXN0XCIgKm5nSWY9XCJtZW51SXRlbS5jaGlsZHJlbiAmJiBtZW51SXRlbS5jaGlsZHJlbi5sZW5ndGhcIiBbaXRlbXNdPVwibWVudUl0ZW0uY2hpbGRyZW5cIlxyXG4gICAgICBbZGlyZWN0aW9uXT1cImRpcmVjdGlvblwiIFtsYWJlbHNWaXNpYmxlXT1cImxhYmVsc1Zpc2libGVcIiBbYWN0aXZlSXRlbV09XCJhY3RpdmVJdGVtXCI+XHJcbiAgICA8L21lbnUtaXRlbS1saXN0PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNtZW51SXRlbUxpbmsgbGV0LW1lbnVJdGVtPVwibWVudUl0ZW1cIj5cclxuICA8dGxkLW1lbnUtaXRlbS1saW5rIFtuZ0NsYXNzLmx0LW1kXT1cIidtb2ItbWVudS1pdGVtJ1wiIFttZW51SXRlbV09XCJtZW51SXRlbVwiIFtkaXJlY3Rpb25dPVwiZGlyZWN0aW9uXCIgW2xhYmVsc1Zpc2libGVdPVwibGFiZWxzVmlzaWJsZVwiXHJcbiAgICBbYWN0aXZlSXRlbV09XCJhY3RpdmVJdGVtXCIgW3Nob3dJY29uc109XCJzaG93SWNvbnNcIj48L3RsZC1tZW51LWl0ZW0tbGluaz5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
@@ -365,11 +365,11 @@ class MenuItemListComponent {
|
|
|
365
365
|
this.toggleExpand.next(menuItem);
|
|
366
366
|
}
|
|
367
367
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuItemListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
368
|
-
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 .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-
|
|
368
|
+
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: i2$2.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$2.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$2.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$1.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: i5.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: MenuIconComponent, selector: "tld-menu-icon", inputs: ["menuItem"] }, { kind: "component", type: MenuItemLinkComponent, selector: "tld-menu-item-link", inputs: ["direction", "labelsVisible", "activeItem", "showIcons", "menuItem"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] }); }
|
|
369
369
|
}
|
|
370
370
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuItemListComponent, decorators: [{
|
|
371
371
|
type: Component,
|
|
372
|
-
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 .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-
|
|
372
|
+
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"] }]
|
|
373
373
|
}], propDecorators: { direction: [{
|
|
374
374
|
type: Input
|
|
375
375
|
}], labelsVisible: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tilde-nlp-ngx-menu.mjs","sources":["../../../projects/ngx-menu/src/lib/injection-tokens/menu-shared-config.token.ts","../../../projects/ngx-menu/src/lib/components/nav-base/models/strapi-data-location.enum.ts","../../../projects/ngx-menu/src/lib/models/menu-icon-strapi-extension.const.ts","../../../projects/ngx-menu/src/lib/services/strapi.service.ts","../../../projects/ngx-menu/src/lib/services/menu-items.service.ts","../../../projects/ngx-menu/src/lib/components/nav-base/nav-base.component.ts","../../../projects/ngx-menu/src/lib/components/nav-base/nav-base.component.html","../../../projects/ngx-menu/src/lib/models/menu-layout-direction.model.ts","../../../projects/ngx-menu/src/lib/components/menu-icon/menu-icon.component.ts","../../../projects/ngx-menu/src/lib/components/menu-icon/menu-icon.component.html","../../../projects/ngx-menu/src/lib/components/menu-item-link/menu-item-link.component.ts","../../../projects/ngx-menu/src/lib/components/menu-item-link/menu-item-link.component.html","../../../projects/ngx-menu/src/lib/components/menu-item-list/menu-item-list.component.ts","../../../projects/ngx-menu/src/lib/components/menu-item-list/menu-item-list.component.html","../../../projects/ngx-menu/src/lib/components/menu-columns/menu-columns.component.ts","../../../projects/ngx-menu/src/lib/components/menu-columns/menu-columns.component.html","../../../projects/ngx-menu/src/lib/components/side-nav-menu/side-nav-menu.component.ts","../../../projects/ngx-menu/src/lib/components/side-nav-menu/side-nav-menu.component.html","../../../projects/ngx-menu/src/lib/components/modal-nav-menu/modal-nav-menu.component.ts","../../../projects/ngx-menu/src/lib/components/modal-nav-menu/modal-nav-menu.component.html","../../../projects/ngx-menu/src/lib/assets/menu-logo.svg.ts","../../../projects/ngx-menu/src/lib/components/menu-item-icon/models/menu-title-placement.model.ts","../../../projects/ngx-menu/src/lib/components/menu-item-icon/menu-item-icon.component.ts","../../../projects/ngx-menu/src/lib/components/menu-item-icon/menu-item-icon.component.html","../../../projects/ngx-menu/src/lib/menu.module.ts","../../../projects/ngx-menu/src/public-api.ts","../../../projects/ngx-menu/src/tilde-nlp-ngx-menu.ts"],"sourcesContent":["export const MENU_SHARED_CONFIG = \"menu-shared-config\";\r\n","/** Necessary for menu components to determine where loaded data from strapi should be placed - either in front of pre defined items or in end. */\r\nexport enum StrapiDataLocation {\r\n START,\r\n END\r\n}","export const MENU_ICON_STRAPI_EXTENSION = \".svg\";\r\n","import { Inject, Injectable, Optional } from \"@angular/core\";\r\nimport { IconService } from \"@tilde-nlp/ngx-common\";\r\nimport { StrapiApiConfig, StrapiSubscriptionService, STRAPI_API_CONFIG_TOKEN } from \"@tilde-nlp/ngx-strapi\";\r\nimport { map, Observable } from \"rxjs\";\r\nimport { CollectionTypes, MenuItems } from \"@tilde-nlp/strapi-models\";\r\nimport { CustomMenuItem } from \"../models/custom-menu-item\";\r\nimport { MENU_ICON_STRAPI_EXTENSION } from \"../models/menu-icon-strapi-extension.const\";\r\nimport { MenuSharedConfig } from \"../models/menu-shared-config.model\";\r\nimport { MENU_SHARED_CONFIG } from \"../injection-tokens/menu-shared-config.token\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StarpiMenuService {\r\n readonly svgIconNamePrefix = \"strapi-menu-icon-\";\r\n imgBaseUrl = '';\r\n\r\n constructor(private readonly strapiSubscription: StrapiSubscriptionService,\r\n @Optional() @Inject(MENU_SHARED_CONFIG) private readonly menuConfig: MenuSharedConfig,\r\n @Inject(STRAPI_API_CONFIG_TOKEN) strapiConfig: StrapiApiConfig,\r\n private readonly iconService: IconService) {\r\n this.imgBaseUrl = strapiConfig.apiUrl;\r\n }\r\n\r\n getMenuItems(): Observable<CustomMenuItem[]> {\r\n const responseObs = this.strapiSubscription.subscribeCollectionType<MenuItems>(CollectionTypes.MENU_ITEMS)\r\n .pipe(map((items: MenuItems[] | null) => {\r\n // Remove disabled items so they are not processed later.\r\n\r\n const convertedItems: CustomMenuItem[] = [];\r\n if (!items || items.length === 0) {\r\n return convertedItems;\r\n }\r\n items = items.filter(item => !item.disabled);\r\n items.forEach((menu: MenuItems) => {\r\n menu.link = this.addBaseUrlIfNecessary(menu.link);\r\n const originalMenuIcon = menu.icon.data.attributes;\r\n if (originalMenuIcon.url.startsWith('/')) {\r\n originalMenuIcon.url = this.imgBaseUrl + originalMenuIcon.url;\r\n }\r\n\r\n if (originalMenuIcon.ext === MENU_ICON_STRAPI_EXTENSION) {\r\n // add custom prefix so that it is not easy to mix with other icons in registry\r\n menu.icon.data.attributes.name = this.svgIconNamePrefix + originalMenuIcon.name;\r\n this.iconService.registerIconFromUrl(originalMenuIcon.name, originalMenuIcon.url);\r\n }\r\n\r\n convertedItems.push(this.convertToCustomMenuItem(menu));\r\n });\r\n return convertedItems;\r\n }));\r\n return responseObs;\r\n }\r\n\r\n unsubscribe(): void {\r\n this.strapiSubscription.unsubscribe(CollectionTypes.MENU_ITEMS);\r\n }\r\n\r\n private addBaseUrlIfNecessary(link: string): string {\r\n if (!this.menuConfig?.baseUrl) {\r\n return link;\r\n }\r\n try {\r\n new URL(link);\r\n // eslint-disable-next-line no-empty\r\n } catch { }\r\n try {\r\n return new URL(link, this.menuConfig.baseUrl).href;\r\n } catch {\r\n return link;\r\n }\r\n }\r\n\r\n private convertToCustomMenuItem(item: MenuItems): CustomMenuItem {\r\n return {\r\n icon: item.icon.data.attributes.name,\r\n link: item.link,\r\n title: item.title,\r\n externalLink: item.externalLink,\r\n // Material icons should not come from strapi\r\n materialIcon: false,\r\n plausibleEvent: item.plausibleEvent,\r\n customId: item.customId\r\n }\r\n }\r\n}\r\n","import { Inject, Injectable, Optional } from '@angular/core';\r\nimport { IsActiveMatchOptions, NavigationEnd, Router } from '@angular/router';\r\nimport { BehaviorSubject, filter } from 'rxjs';\r\nimport { StrapiDataLocation } from '../components/nav-base/models';\r\nimport { MENU_SHARED_CONFIG } from '../injection-tokens';\r\nimport { StarpiMenuService } from './strapi.service';\r\nimport { ActiveMenuItems } from '../models/active-menu-items.model';\r\nimport { CustomMenuItem } from '../models/custom-menu-item';\r\nimport { MenuSharedConfig } from '../models/menu-shared-config.model';\r\nimport { MenuItemGroup } from '../models/menu-item-group.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MenuItemsService {\r\n\r\n private readonly _activeElements: BehaviorSubject<ActiveMenuItems> = new BehaviorSubject({});\r\n get activeElements() { return this._activeElements.asObservable(); }\r\n\r\n private strapiItems: CustomMenuItem[] = [];\r\n\r\n private _strapiGroup!: MenuItemGroup;\r\n\r\n private _allRootItems!: CustomMenuItem[];\r\n get allRootItems() { return this._allRootItems; }\r\n\r\n get strapiGroup() { return this._strapiGroup; }\r\n\r\n private readonly isActiveMatchOptions: IsActiveMatchOptions = {\r\n matrixParams: 'exact',\r\n queryParams: 'exact',\r\n paths: 'exact',\r\n fragment: 'exact'\r\n };\r\n\r\n private get customId() { return this.menuSharedConfig?.customId; }\r\n private get hideSelectedCustomId() { return this.menuSharedConfig?.hideSelectedCustomId; }\r\n private get strapiGroupBase() { return this.menuSharedConfig?.strapiGroupBase; }\r\n private get strapiDataLocation() { return this.menuSharedConfig?.strapiDataLocation ?? StrapiDataLocation.END }\r\n private _mergedGroups: MenuItemGroup[] = [];\r\n get mergedGroups() { return this._mergedGroups; }\r\n\r\n private get menuItemGroups() { return this.menuSharedConfig.itemGroups }\r\n\r\n constructor(private readonly router: Router,\r\n @Optional() @Inject(MENU_SHARED_CONFIG) protected readonly menuSharedConfig: MenuSharedConfig,\r\n private readonly strapiService: StarpiMenuService) {\r\n this.getStrapiData();\r\n this.subscribeToRouteChanges();\r\n }\r\n\r\n private subscribeToRouteChanges() {\r\n this.router.events\r\n .pipe(filter(e => e instanceof NavigationEnd))\r\n .subscribe(() => { this.updateActive(); });\r\n }\r\n\r\n private updateActive() {\r\n const items = this.allRootItems;\r\n const root = this.findActiveElement(items, false);\r\n const child = this.findActiveElement(items, true);\r\n this._activeElements.next({ root, child });\r\n }\r\n\r\n /** Finds active element from whole list. RouterLink has priority over custom Id. */\r\n // at this version, child elements should not have customId, since that property comes from strapi and strapi provides only one level structure\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n private findActiveElement(items: CustomMenuItem[] | undefined, includeChildren: boolean): CustomMenuItem | undefined {\r\n if (!items?.length) {\r\n return undefined;\r\n }\r\n\r\n let customIdElement: CustomMenuItem | undefined;\r\n\r\n for (const item of items) {\r\n // Child element has priority over parent, so need to check if any child is active\r\n if (this.isElementRouterLinkActive(item)) {\r\n // If has children and they are visible, return active child or current item\r\n return includeChildren ? this.findActiveElement(item.children, includeChildren) ?? item : item;\r\n }\r\n // if selected custom id element is hidden, no need to look for it and set it to active;\r\n else if (!this.hideSelectedCustomId && this.isElementCustomIdActive(item)) {\r\n customIdElement = item;\r\n }\r\n else if (includeChildren && item.children?.length) {\r\n const activeChild = this.findActiveElement(item.children, includeChildren);\r\n if (activeChild) {\r\n return activeChild;\r\n }\r\n }\r\n }\r\n return customIdElement;\r\n }\r\n\r\n private getStrapiData() {\r\n if (!this.menuSharedConfig?.disableStrapi) {\r\n this.strapiService.getMenuItems().subscribe(this.loadData.bind(this));\r\n }\r\n else {\r\n this.loadData([]);\r\n }\r\n }\r\n\r\n private loadData(data: CustomMenuItem[]) {\r\n // hide custom id based on input param\r\n this.strapiItems = (this.hideSelectedCustomId && this.customId) ? data.filter(item => item.customId !== this.customId) : data;\r\n this._strapiGroup = {\r\n ...this.strapiGroupBase,\r\n items: this.strapiItems\r\n }\r\n\r\n if (this.strapiDataLocation === StrapiDataLocation.START) {\r\n this._mergedGroups = [this.strapiGroup, ...this.menuItemGroups ?? []];\r\n }\r\n else if (this.strapiDataLocation === StrapiDataLocation.END) {\r\n this._mergedGroups = [...this.menuItemGroups ?? [], this.strapiGroup];\r\n }\r\n\r\n const allItems = this.mergedGroups.map(map => map.items);\r\n let newArray: CustomMenuItem[] = [];\r\n allItems.forEach((array) => { newArray = newArray.concat(array) });\r\n this._allRootItems = newArray;\r\n\r\n this.updateActive();\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n // private isMenuItem(item: any): item is MenuItems {\r\n // return item.customId;\r\n // }\r\n\r\n private isElementCustomIdActive(element: CustomMenuItem) {\r\n return this.customId && element.customId === this.customId;\r\n }\r\n\r\n private isElementRouterLinkActive(element: CustomMenuItem) {\r\n const routerLinkActiveOptions: IsActiveMatchOptions = (element as CustomMenuItem).routerLinkActiveOptions ?? this.menuSharedConfig.activeMatchOptions ?? this.isActiveMatchOptions;\r\n\r\n return this.router.isActive(element.link, routerLinkActiveOptions);\r\n }\r\n}\r\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { MenuLayoutDirection } from '../../models/menu-layout-direction.model';\r\nimport { MenuItemsService } from '../../services/menu-items.service';\r\nimport { ActiveMenuItems } from '../../models';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'nav-base',\r\n templateUrl: './nav-base.component.html',\r\n styleUrls: ['./nav-base.component.scss']\r\n})\r\n/** This component is created to help nest some common input params through nav components. */\r\nexport class NavBaseComponent implements OnInit, OnDestroy {\r\n @Input() direction!: MenuLayoutDirection;\r\n active!: ActiveMenuItems;\r\n protected activeItemSubscription!: Subscription;\r\n\r\n constructor(readonly menuItemsService: MenuItemsService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initBase();\r\n }\r\n\r\n initBase() {\r\n this.activeItemSubscription = this.menuItemsService.activeElements.subscribe((active) => {\r\n this.active = active;\r\n })\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroyBase();\r\n }\r\n\r\n destroyBase() {\r\n this.activeItemSubscription?.unsubscribe();\r\n }\r\n}\r\n","<p>nav-base works!</p>\r\n","\r\nexport enum MenuLayoutDirection {\r\n column = \"column\",\r\n row = \"row\"\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { Media } from '@tilde-nlp/strapi-models';\r\nimport { CustomMenuItem, MENU_ICON_STRAPI_EXTENSION } from '../../models';\r\n\r\n@Component({\r\n selector: 'tld-menu-icon',\r\n templateUrl: './menu-icon.component.html',\r\n styleUrls: ['./menu-icon.component.scss']\r\n})\r\nexport class MenuIconComponent {\r\n readonly svgExtension = MENU_ICON_STRAPI_EXTENSION;\r\n\r\n @Input() menuItem!: CustomMenuItem;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n isIconMediaType(icon: any): icon is Media {\r\n return typeof icon !== \"string\";\r\n }\r\n}\r\n","<ng-container *ngIf=\"menuItem.icon\">\r\n <mat-icon class=\"menu-icon\" [svgIcon]=\"menuItem.icon\" *ngIf=\"!menuItem.materialIcon; else materialIcon;\"></mat-icon>\r\n <ng-template #materialIcon>\r\n <mat-icon class=\"menu-icon\">{{menuItem.icon}}</mat-icon>\r\n </ng-template>\r\n</ng-container>\r\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { PlaceholderComponentBase, StrapiLinkService, StrapiVariablesService } from '@tilde-nlp/ngx-strapi';\r\nimport { CustomMenuItem, MenuLayoutDirection } from '../../models';\r\n\r\n@Component({\r\n selector: 'tld-menu-item-link',\r\n templateUrl: './menu-item-link.component.html',\r\n styleUrls: ['./menu-item-link.component.scss']\r\n})\r\nexport class MenuItemLinkComponent implements OnInit, OnDestroy, PlaceholderComponentBase {\r\n @Input() direction!: MenuLayoutDirection;\r\n @Input() labelsVisible!: boolean;\r\n @Input() activeItem!: CustomMenuItem | undefined;\r\n @Input() showIcons = true;\r\n @Input() menuItem!: CustomMenuItem;\r\n\r\n textWithPlaceholders!: string;\r\n href!: string;\r\n\r\n private placeholderServiceId!: number;\r\n get menuItemLayout(): string {\r\n return this.direction === MenuLayoutDirection.column ? 'column' : 'row';\r\n }\r\n\r\n get menuLayoutDirection(): string {\r\n return (this.direction === MenuLayoutDirection.column || !this.labelsVisible)\r\n ? 'start center' : 'start start';\r\n }\r\n\r\n constructor(private readonly strapiLinkService: StrapiLinkService,\r\n private readonly placeholderService: StrapiVariablesService) { }\r\n\r\n ngOnInit(): void {\r\n this.textWithPlaceholders = this.menuItem.link;\r\n this.placeholderServiceId = this.placeholderService.register(this);\r\n }\r\n\r\n linkClick(event: MouseEvent, item: CustomMenuItem) {\r\n this.strapiLinkService.strapiLinkClick(event, item.externalLink);\r\n }\r\n\r\n updateTextWithPlaceholders = (textWithReplacedPlaceholders: string) => this.href = textWithReplacedPlaceholders;\r\n\r\n ngOnDestroy(): void {\r\n this.placeholderService.unregister(this.placeholderServiceId);\r\n }\r\n}\r\n","<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","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { CustomMenuItem } from '../../models/custom-menu-item';\r\nimport { MenuItemGroupBase } from '../../models/menu-item-group.model';\r\nimport { MenuLayoutDirection } from '../../models/menu-layout-direction.model';\r\n\r\n@Component({\r\n selector: 'menu-item-list',\r\n templateUrl: './menu-item-list.component.html',\r\n styleUrls: ['./menu-item-list.component.scss']\r\n})\r\nexport class MenuItemListComponent {\r\n @Input() direction: MenuLayoutDirection = MenuLayoutDirection.column;\r\n @Input() labelsVisible = true;\r\n @Input() activeItem!: CustomMenuItem | undefined;\r\n @Input() showIcons = true;\r\n\r\n @Input() items: CustomMenuItem[] = [];\r\n @Input() menuItemGroup!: MenuItemGroupBase;\r\n\r\n @Output() toggleExpand: EventEmitter<CustomMenuItem> = new EventEmitter<CustomMenuItem>();\r\n\r\n get titleKey() {\r\n return this.menuItemGroup?.title;\r\n }\r\n\r\n get showTitle() {\r\n return this.menuItemGroup?.showTitle;\r\n }\r\n\r\n\r\n get menuLayoutDirection(): string {\r\n return (this.direction === MenuLayoutDirection.column || !this.labelsVisible)\r\n ? 'start center' : 'start start';\r\n }\r\n\r\n get menuItemLayout(): string {\r\n return this.direction === MenuLayoutDirection.column ? 'column' : 'row';\r\n }\r\n\r\n toggleItemExpand(event: MouseEvent, menuItem: CustomMenuItem) {\r\n // so menu doesnt get closed.\r\n event.stopPropagation();\r\n\r\n if (this.labelsVisible || !menuItem.expanded) {\r\n menuItem.expanded = !menuItem.expanded;\r\n }\r\n\r\n this.toggleExpand.next(menuItem);\r\n }\r\n}\r\n","<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>","import { Component, EventEmitter, Inject, Input, OnDestroy, OnInit, Optional, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { MENU_SHARED_CONFIG } from '../../injection-tokens';\r\nimport { CustomMenuItem } from '../../models/custom-menu-item';\r\nimport { MenuLayoutDirection } from '../../models/menu-layout-direction.model';\r\nimport { MenuSharedConfig } from '../../models/menu-shared-config.model';\r\nimport { MenuItemsService } from '../../services/menu-items.service';\r\nimport { ActiveMenuItems } from '../../models';\r\n\r\n@Component({\r\n selector: 'menu-columns',\r\n templateUrl: './menu-columns.component.html',\r\n styleUrls: ['./menu-columns.component.scss']\r\n})\r\nexport class MenuColumnsComponent implements OnInit, OnDestroy {\r\n\r\n @Input() direction: MenuLayoutDirection = MenuLayoutDirection.column;\r\n @Input() labelsVisible = true;\r\n @Output() toggleCollapseEvent = new EventEmitter();\r\n\r\n private _active!: ActiveMenuItems;\r\n get active() { return this._active; }\r\n @Input() set active(value: ActiveMenuItems) {\r\n this._active = value;\r\n\r\n if (!value) {\r\n this.activeItem = undefined;\r\n return;\r\n }\r\n\r\n this.elementExpanded(this.active?.root)\r\n }\r\n\r\n activeItem?: CustomMenuItem;\r\n get mergedGroups() { return this.menuItemsService.mergedGroups; }\r\n\r\n private readonly subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n protected readonly router: Router,\r\n @Optional() @Inject(MENU_SHARED_CONFIG) protected readonly menuSharedConfig: MenuSharedConfig,\r\n private readonly menuItemsService: MenuItemsService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.activeItem = this.active.root;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.forEach(sub => sub.unsubscribe());\r\n }\r\n\r\n elementExpanded(element?: CustomMenuItem) {\r\n if (!this.active || !element) {\r\n this.activeItem = undefined;\r\n return;\r\n }\r\n\r\n // if menu is collapsed and chilren are expandable, we should open menu\r\n if (element.showChildren && !this.labelsVisible) {\r\n this.toggleCollapseEvent.emit();\r\n }\r\n\r\n if (element.showChildren && element.expanded && element === this.active.root) {\r\n this.activeItem = this.active.child;\r\n }\r\n else {\r\n this.activeItem = this.active.root;\r\n }\r\n }\r\n\r\n\r\n}\r\n","<ng-container *ngFor=\"let group of mergedGroups\">\r\n <menu-item-list *ngIf=\"group.items.length\" [activeItem]=\"activeItem\" [direction]=\"direction\"\r\n (toggleExpand)=\"elementExpanded($event)\" [labelsVisible]=\"labelsVisible\" [menuItemGroup]=\"group\"\r\n [items]=\"group.items\">\r\n </menu-item-list>\r\n <div class=\"divider\" *ngIf=\"group.bottomDivider && group.items.length\">\r\n <mat-divider></mat-divider>\r\n </div>\r\n</ng-container>","import { Component, Inject, Input, OnDestroy, OnInit, Optional } from '@angular/core';\r\nimport { DOMService, PlausibleEvent } from '@tilde-nlp/ngx-common';\r\nimport { StrapiLinkService } from '@tilde-nlp/ngx-strapi';\r\nimport { MENU_SHARED_CONFIG } from '../../injection-tokens';\r\nimport { MenuSharedConfig } from '../../models/menu-shared-config.model';\r\nimport { NavBaseComponent } from '../nav-base/nav-base.component';\r\nimport { SideNavSettings } from './models/side-nav-settings.model';\r\nimport { MenuItemsService } from '../../services/menu-items.service';\r\n\r\n\r\n@Component({\r\n selector: 'lib-side-nav-menu',\r\n templateUrl: './side-nav-menu.component.html',\r\n styleUrls: ['./side-nav-menu.component.scss']\r\n})\r\nexport class SideNavMenuComponent extends NavBaseComponent implements OnInit, OnDestroy {\r\n readonly COLLAPSED_LOCAL_STORAGE_KEY = \"TLD_MENU_SIDE_NAV_COLLAPSED\";\r\n\r\n //#region Plausible event variables for collapse button\r\n private readonly COLLAPSE_PLAUSIBLE_EVENT_ID = \"collapseMenu\";\r\n private readonly COLLAPSE_PLAUSIBLE_ACTION_KEY = \"action\";\r\n private readonly LOGOCLICK_PLAUSIBLE_ACTION_ID = \"tilde_logo_click\"\r\n\r\n readonly LOGOCLICK_PLAUSIBLE_EVENT: PlausibleEvent = {\r\n eventId: this.LOGOCLICK_PLAUSIBLE_ACTION_ID,\r\n properties: []\r\n }\r\n\r\n readonly EXPAND_PLAUSIBLE_EVENT: PlausibleEvent = {\r\n eventId: this.COLLAPSE_PLAUSIBLE_EVENT_ID,\r\n properties: [{ key: this.COLLAPSE_PLAUSIBLE_ACTION_KEY, value: \"expand\" }]\r\n }\r\n\r\n readonly COLLAPSE_PLAUSIBLE_EVENT: PlausibleEvent = {\r\n eventId: this.COLLAPSE_PLAUSIBLE_EVENT_ID,\r\n properties: [{ key: this.COLLAPSE_PLAUSIBLE_ACTION_KEY, value: \"collapse\" }]\r\n }\r\n //#endregion\r\n\r\n @Input() menuSettings: SideNavSettings = {\r\n expandedWidth: '9.375em',\r\n collapsedWidth: '5em',\r\n menuLogo: '',\r\n menuLogoCollapsed: '',\r\n disableStrapi: false\r\n }\r\n\r\n collapsed = false;\r\n readonly baseUrl: string | undefined;\r\n get menuLogoImage(): string {\r\n return this.collapsed\r\n ? this.menuSettings.menuLogoCollapsed ?? this.menuSettings.menuLogo\r\n : this.menuSettings.menuLogo;\r\n }\r\n\r\n get sideNavWidth(): string | undefined {\r\n return this.collapsed ? this.menuSettings.collapsedWidth : this.menuSettings.expandedWidth;\r\n }\r\n\r\n constructor(public strapiLinkService: StrapiLinkService,\r\n readonly domService: DOMService,\r\n readonly menuItems: MenuItemsService,\r\n @Optional() @Inject(MENU_SHARED_CONFIG) menuSharedConfig: MenuSharedConfig) {\r\n super(menuItems);\r\n this.baseUrl = menuSharedConfig.baseUrl || '';\r\n }\r\n\r\n override ngOnInit(): void {\r\n super.ngOnInit();\r\n this.getColapsedFromLocalStorage();\r\n }\r\n\r\n logoClick(event: MouseEvent): void {\r\n this.strapiLinkService.strapiLinkClick(event);\r\n }\r\n\r\n toggleCollapse() {\r\n this.collapsed = !this.collapsed;\r\n this.setColapsedFromLocalStorage();\r\n }\r\n\r\n private getColapsedFromLocalStorage() {\r\n if (!this.domService.localStorage) {\r\n return;\r\n }\r\n\r\n this.collapsed = this.domService.localStorage.getItem(this.COLLAPSED_LOCAL_STORAGE_KEY) == 'true' ? true : false;\r\n }\r\n\r\n private setColapsedFromLocalStorage() {\r\n if (!this.domService.localStorage) {\r\n return;\r\n }\r\n this.domService.localStorage.setItem(this.COLLAPSED_LOCAL_STORAGE_KEY, this.collapsed.toString());\r\n }\r\n}\r\n","<div class=\"menu-container\" [style.width]=\"sideNavWidth\" fxLayout=\"column\" [class.collapsed]=\"collapsed\">\r\n <div class=\"content\" fxLayout=\"column\" fxFlexFill>\r\n <div class=\"menu-container-header\" fxLayout=\"row\" fxLayoutAlign=\"space-between center\">\r\n <a *ngIf=\"!collapsed\" [libPlausibleEvent]=\"LOGOCLICK_PLAUSIBLE_EVENT\" fxFlex=\"3.125em\" [href]=\"baseUrl\"\r\n [attr.aria-label]=\"'MENU.ARIA_LABELS.LOGO' | translate\" (click)=\"logoClick($event)\" fxLayoutAlign=\"start center\"\r\n >\r\n <img class=\"menu-logo\" [src]=\"menuLogoImage\" alt=\"\" />\r\n </a>\r\n\r\n <button\r\n mat-icon-button\r\n class=\"toggler\"\r\n [libPlausibleEvent]=\"collapsed ? EXPAND_PLAUSIBLE_EVENT : COLLAPSE_PLAUSIBLE_EVENT\"\r\n (click)=\"toggleCollapse()\"\r\n >\r\n <mat-icon>{{ collapsed ? 'keyboard_double_arrow_right' : 'keyboard_double_arrow_left' }}</mat-icon>\r\n </button>\r\n </div>\r\n \r\n <div class=\"menu-wrapper\" fxLayout=\"column\" fxFlex>\r\n <menu-columns (toggleCollapseEvent)=\"toggleCollapse()\" [direction]=\"direction\" role=\"navigation\" fxFlex [labelsVisible]=\"!collapsed\"\r\n [active]=\"active\"></menu-columns>\r\n </div>\r\n </div>","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { MenuDialogSettings } from '../menu-item-icon/models/menu-dialog-settings.model';\r\nimport { NavBaseComponent } from '../nav-base/nav-base.component';\r\nimport { MenuItemsService } from '../../services/menu-items.service';\r\n\r\n@Component({\r\n selector: 'lib-modal-nav-menu',\r\n templateUrl: './modal-nav-menu.component.html',\r\n styleUrls: ['./modal-nav-menu.component.scss']\r\n})\r\nexport class ModalNavMenuComponent extends NavBaseComponent implements OnInit, OnDestroy {\r\n @Input() menuDialogSettings: MenuDialogSettings = {\r\n showMenuTitle: false,\r\n fullScreen: true\r\n }\r\n\r\n // any type because emitter doesn't really need a value\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n @Output() closeButtonClick = new EventEmitter<any>();\r\n\r\n constructor(readonly menuItems: MenuItemsService) {\r\n super(menuItems);\r\n }\r\n\r\n close() {\r\n this.closeButtonClick.emit(null);\r\n }\r\n}\r\n","<div class=\"content menu-modal\" fxLayout=\"row\" fxFlexFill>\r\n <div fxLayout=\"column\" [class.full-screen]=\"menuDialogSettings.fullScreen\">\r\n <div fxLayout=\"row\" class=\"menu-header\">\r\n <img [src]=\"menuDialogSettings.logo\" *ngIf=\"menuDialogSettings.logo\" width=\"75\" alt=\"\">\r\n <span *ngIf=\"menuDialogSettings.showMenuTitle\" fxLayoutAlign=\"start center\" fxFlex>{{\r\n \"MENU.MENU\" | translate\r\n }}</span>\r\n <span *ngIf=\"menuDialogSettings.showCloseMenuButton\" (click)=\"close()\" class=\"close-icon\" fxFlex\r\n fxLayoutAlign=\"end center\">\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n </div>\r\n <ng-content select=\"[top]\"></ng-content>\r\n <menu-columns [direction]=\"direction\" [active]=\"active\">\r\n </menu-columns>\r\n <ng-content select=\"[bottom]\"></ng-content>\r\n </div>\r\n</div>","export const menuLogo = `\r\n<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M3.3 6.6C2.36667 6.6 1.58333 6.28333 0.95 5.65C0.316666 5.01667 0 4.23333 0 3.3C0 2.36667 0.316666 1.58333 0.95 0.95C1.58333 0.316666 2.36667 0 3.3 0C4.23333 0 5.01667 0.316666 5.65 0.95C6.28333 1.58333 6.6 2.36667 6.6 3.3C6.6 4.23333 6.28333 5.01667 5.65 5.65C5.01667 6.28333 4.23333 6.6 3.3 6.6ZM16 32C15.0667 32 14.2833 31.6833 13.65 31.05C13.0167 30.4167 12.7 29.6333 12.7 28.7C12.7 27.7667 13.0167 26.9833 13.65 26.35C14.2833 25.7167 15.0667 25.4 16 25.4C16.9333 25.4 17.7167 25.7167 18.35 26.35C18.9833 26.9833 19.3 27.7667 19.3 28.7C19.3 29.6333 18.9833 30.4167 18.35 31.05C17.7167 31.6833 16.9333 32 16 32ZM3.3 32C2.36667 32 1.58333 31.6833 0.95 31.05C0.316666 30.4167 0 29.6333 0 28.7C0 27.7667 0.316666 26.9833 0.95 26.35C1.58333 25.7167 2.36667 25.4 3.3 25.4C4.23333 25.4 5.01667 25.7167 5.65 26.35C6.28333 26.9833 6.6 27.7667 6.6 28.7C6.6 29.6333 6.28333 30.4167 5.65 31.05C5.01667 31.6833 4.23333 32 3.3 32ZM3.3 19.3C2.36667 19.3 1.58333 18.9833 0.95 18.35C0.316666 17.7167 0 16.9333 0 16C0 15.0667 0.316666 14.2833 0.95 13.65C1.58333 13.0167 2.36667 12.7 3.3 12.7C4.23333 12.7 5.01667 13.0167 5.65 13.65C6.28333 14.2833 6.6 15.0667 6.6 16C6.6 16.9333 6.28333 17.7167 5.65 18.35C5.01667 18.9833 4.23333 19.3 3.3 19.3ZM16 19.3C15.0667 19.3 14.2833 18.9833 13.65 18.35C13.0167 17.7167 12.7 16.9333 12.7 16C12.7 15.0667 13.0167 14.2833 13.65 13.65C14.2833 13.0167 15.0667 12.7 16 12.7C16.9333 12.7 17.7167 13.0167 18.35 13.65C18.9833 14.2833 19.3 15.0667 19.3 16C19.3 16.9333 18.9833 17.7167 18.35 18.35C17.7167 18.9833 16.9333 19.3 16 19.3ZM28.7 6.6C27.7667 6.6 26.9833 6.28333 26.35 5.65C25.7167 5.01667 25.4 4.23333 25.4 3.3C25.4 2.36667 25.7167 1.58333 26.35 0.95C26.9833 0.316666 27.7667 0 28.7 0C29.6333 0 30.4167 0.316666 31.05 0.95C31.6833 1.58333 32 2.36667 32 3.3C32 4.23333 31.6833 5.01667 31.05 5.65C30.4167 6.28333 29.6333 6.6 28.7 6.6ZM16 6.6C15.0667 6.6 14.2833 6.28333 13.65 5.65C13.0167 5.01667 12.7 4.23333 12.7 3.3C12.7 2.36667 13.0167 1.58333 13.65 0.95C14.2833 0.316666 15.0667 0 16 0C16.9333 0 17.7167 0.316666 18.35 0.95C18.9833 1.58333 19.3 2.36667 19.3 3.3C19.3 4.23333 18.9833 5.01667 18.35 5.65C17.7167 6.28333 16.9333 6.6 16 6.6ZM28.7 19.3C27.7667 19.3 26.9833 18.9833 26.35 18.35C25.7167 17.7167 25.4 16.9333 25.4 16C25.4 15.0667 25.7167 14.2833 26.35 13.65C26.9833 13.0167 27.7667 12.7 28.7 12.7C29.6333 12.7 30.4167 13.0167 31.05 13.65C31.6833 14.2833 32 15.0667 32 16C32 16.9333 31.6833 17.7167 31.05 18.35C30.4167 18.9833 29.6333 19.3 28.7 19.3ZM28.7 32C27.7667 32 26.9833 31.6833 26.35 31.05C25.7167 30.4167 25.4 29.6333 25.4 28.7C25.4 27.7667 25.7167 26.9833 26.35 26.35C26.9833 25.7167 27.7667 25.4 28.7 25.4C29.6333 25.4 30.4167 25.7167 31.05 26.35C31.6833 26.9833 32 27.7667 32 28.7C32 29.6333 31.6833 30.4167 31.05 31.05C30.4167 31.6833 29.6333 32 28.7 32Z\" fill=\"#434C56\"/>\r\n</svg>\r\n\r\n`;\r\n","export enum TitlePlacement {\r\n none = 'none',\r\n left = 'left',\r\n right = 'right'\r\n}\r\n","import { Component, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { MatMenuTrigger } from '@angular/material/menu';\r\nimport { Router } from '@angular/router';\r\nimport { IconService, PlausibleEvent } from '@tilde-nlp/ngx-common';\r\nimport { Subscription } from 'rxjs';\r\nimport { menuLogo } from '../../assets/menu-logo.svg';\r\nimport { MenuLayoutDirection } from '../../models';\r\nimport { MenuDialogSettings, MenuItemSettings, TitlePlacement } from './menu.model';\r\n@Component({\r\n selector: 'lib-menu-item-icon',\r\n templateUrl: './menu-item-icon.component.html',\r\n styleUrls: ['./menu-item-icon.component.scss']\r\n})\r\nexport class MenuItemIconComponent implements OnInit, OnDestroy {\r\n @ViewChild('menuTrigger') menuTrigger: MatMenuTrigger | undefined;\r\n @Input() menuSettings: MenuItemSettings = {\r\n titlePlacement: TitlePlacement.left\r\n }\r\n @Input() menuDialogSettings: MenuDialogSettings = {\r\n showMenuTitle: true,\r\n disableStrapi: true,\r\n fullScreen: true\r\n }\r\n\r\n @Input() direction = MenuLayoutDirection.row;\r\n\r\n subscription: Subscription[] = [];\r\n\r\n readonly iconName = 'tld-menu-icon';\r\n readonly TITLE_PLACEMENT_NONE = TitlePlacement.none;\r\n readonly TITLE_PLACEMENT_LEFT = TitlePlacement.left;\r\n readonly PLAUSIBLE_EVENT: PlausibleEvent = {\r\n eventId: \"burger_click\"\r\n };\r\n\r\n constructor(private readonly iconService: IconService,\r\n private readonly router: Router) {\r\n\r\n }\r\n ngOnInit(): void {\r\n const routeChangeSub = this.router.events.subscribe(() => this.closeMenu());\r\n this.subscription.push(routeChangeSub);\r\n this.registerIcon();\r\n }\r\n\r\n closeMenu(): void {\r\n this.menuTrigger?.closeMenu();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.forEach(e => e.unsubscribe());\r\n }\r\n\r\n private registerIcon() {\r\n if (this.menuSettings.iconPath) {\r\n this.iconService.registerIconFromUrl(this.iconName, this.menuSettings.iconPath);\r\n }\r\n else {\r\n this.iconService.registerIcons({ [this.iconName]: menuLogo });\r\n }\r\n }\r\n\r\n}\r\n","<button class=\"content text-l\" mat-button [disableRipple]=\"true\" #menuTrigger=\"matMenuTrigger\"\r\n [matMenuTriggerFor]=\"menu\" [libPlausibleEvent]=\"PLAUSIBLE_EVENT\">\r\n <span fxLayout=\"row\" fxLayoutGap=\"1.5em\" fxLayoutAlign=\"center center\">\r\n <span *ngIf=\"menuSettings.titlePlacement !== TITLE_PLACEMENT_NONE\" [fxFlexOrder]=\"\r\n menuSettings.titlePlacement === TITLE_PLACEMENT_LEFT ? 1 : 2\r\n \" class=\"menu-label\">{{ \"MENU.MENU\" | translate }}</span>\r\n <mat-icon [fxFlexOrder]=\"\r\n menuSettings.titlePlacement === TITLE_PLACEMENT_LEFT ? 2 : 1\r\n \" [svgIcon]=\"iconName\">\r\n </mat-icon>\r\n </span>\r\n</button>\r\n\r\n<mat-menu [hasBackdrop]=\"true\" #menu class=\"mobile-menu-dialog {{\r\n menuDialogSettings.fullScreen ? 'full-screen' : 'minimized-screen'\r\n }}\">\r\n <!-- Click method so that menu does not get closed when clicking outside of items-->\r\n <lib-modal-nav-menu (click)=\"$event.stopPropagation()\" (closeButtonClick)=\"closeMenu()\"\r\n [menuDialogSettings]=\"menuDialogSettings\" [direction]=\"direction\">\r\n <ng-content top select=\"[top]\"></ng-content>\r\n <ng-content bottom select=\"[bottom]\"></ng-content>\r\n </lib-modal-nav-menu>\r\n</mat-menu>","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common'\r\nimport { SideNavMenuComponent } from './components/side-nav-menu/side-nav-menu.component';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { RouterModule } from '@angular/router';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { ModalNavMenuComponent } from './components/modal-nav-menu/modal-nav-menu.component';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MenuItemIconComponent } from './components/menu-item-icon/menu-item-icon.component';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { StarpiMenuService } from './services/strapi.service';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { MenuSharedConfig } from './models/menu-shared-config.model';\r\nimport { MENU_SHARED_CONFIG } from './injection-tokens/menu-shared-config.token';\r\nimport { NavBaseComponent } from './components/nav-base/nav-base.component';\r\nimport { MenuItemListComponent } from './components/menu-item-list/menu-item-list.component';\r\nimport { PlausibleModule } from '@tilde-nlp/ngx-common';\r\nimport { MenuColumnsComponent } from './components/menu-columns/menu-columns.component';\r\nimport { MenuIconComponent } from './components/menu-icon/menu-icon.component';\r\nimport { MenuItemLinkComponent } from './components/menu-item-link/menu-item-link.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n SideNavMenuComponent,\r\n ModalNavMenuComponent,\r\n MenuItemIconComponent,\r\n NavBaseComponent,\r\n MenuItemListComponent,\r\n MenuColumnsComponent,\r\n MenuIconComponent,\r\n MenuItemLinkComponent\r\n ],\r\n providers: [\r\n StarpiMenuService\r\n ],\r\n imports: [\r\n HttpClientModule,\r\n FlexLayoutModule,\r\n RouterModule,\r\n CommonModule,\r\n MatTooltipModule,\r\n MatDialogModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatIconModule,\r\n TranslateModule,\r\n PlausibleModule\r\n ],\r\n exports: [\r\n SideNavMenuComponent,\r\n ModalNavMenuComponent,\r\n MenuItemIconComponent,\r\n MenuColumnsComponent,\r\n ]\r\n})\r\nexport class MenuModule {\r\n static forRoot(config: MenuSharedConfig): ModuleWithProviders<MenuModule> {\r\n return {\r\n ngModule: MenuModule,\r\n providers: [\r\n { provide: MENU_SHARED_CONFIG, useValue: config }\r\n ]\r\n };\r\n }\r\n}\r\n","/*\r\n * Public API Surface of ngx-menu\r\n */\r\n\r\n\r\nexport * from './lib/components/side-nav-menu';\r\nexport * from './lib/injection-tokens';\r\nexport * from './lib/models';\r\nexport * from './lib/menu.module';\r\nexport * from './lib/components/menu-item-icon/menu.model';\r\nexport * from './lib/components/side-nav-menu/side-nav-menu.component';\r\nexport * from './lib/components/modal-nav-menu/modal-nav-menu.component';\r\nexport * from './lib/components/menu-item-icon/menu-item-icon.component';\r\nexport * from './lib/components/menu-columns/menu-columns.component';\r\nexport * from './lib/components/nav-base/nav-base.component';\r\nexport * from './lib/components/nav-base/models';\r\nexport * from \"./lib/services\";\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.StarpiMenuService","i1.MenuItemsService","i1","i2","i3","i4","i6","i7.MenuIconComponent","i8","i5.MenuIconComponent","i6.MenuItemLinkComponent","i7","i2.MenuItemsService","i5.MenuItemListComponent","i5","i8.MenuColumnsComponent","i5.MenuColumnsComponent","i8.ModalNavMenuComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tilde-nlp-ngx-menu.mjs","sources":["../../../projects/ngx-menu/src/lib/injection-tokens/menu-shared-config.token.ts","../../../projects/ngx-menu/src/lib/components/nav-base/models/strapi-data-location.enum.ts","../../../projects/ngx-menu/src/lib/models/menu-icon-strapi-extension.const.ts","../../../projects/ngx-menu/src/lib/services/strapi.service.ts","../../../projects/ngx-menu/src/lib/services/menu-items.service.ts","../../../projects/ngx-menu/src/lib/components/nav-base/nav-base.component.ts","../../../projects/ngx-menu/src/lib/components/nav-base/nav-base.component.html","../../../projects/ngx-menu/src/lib/models/menu-layout-direction.model.ts","../../../projects/ngx-menu/src/lib/components/menu-icon/menu-icon.component.ts","../../../projects/ngx-menu/src/lib/components/menu-icon/menu-icon.component.html","../../../projects/ngx-menu/src/lib/components/menu-item-link/menu-item-link.component.ts","../../../projects/ngx-menu/src/lib/components/menu-item-link/menu-item-link.component.html","../../../projects/ngx-menu/src/lib/components/menu-item-list/menu-item-list.component.ts","../../../projects/ngx-menu/src/lib/components/menu-item-list/menu-item-list.component.html","../../../projects/ngx-menu/src/lib/components/menu-columns/menu-columns.component.ts","../../../projects/ngx-menu/src/lib/components/menu-columns/menu-columns.component.html","../../../projects/ngx-menu/src/lib/components/side-nav-menu/side-nav-menu.component.ts","../../../projects/ngx-menu/src/lib/components/side-nav-menu/side-nav-menu.component.html","../../../projects/ngx-menu/src/lib/components/modal-nav-menu/modal-nav-menu.component.ts","../../../projects/ngx-menu/src/lib/components/modal-nav-menu/modal-nav-menu.component.html","../../../projects/ngx-menu/src/lib/assets/menu-logo.svg.ts","../../../projects/ngx-menu/src/lib/components/menu-item-icon/models/menu-title-placement.model.ts","../../../projects/ngx-menu/src/lib/components/menu-item-icon/menu-item-icon.component.ts","../../../projects/ngx-menu/src/lib/components/menu-item-icon/menu-item-icon.component.html","../../../projects/ngx-menu/src/lib/menu.module.ts","../../../projects/ngx-menu/src/public-api.ts","../../../projects/ngx-menu/src/tilde-nlp-ngx-menu.ts"],"sourcesContent":["export const MENU_SHARED_CONFIG = \"menu-shared-config\";\r\n","/** Necessary for menu components to determine where loaded data from strapi should be placed - either in front of pre defined items or in end. */\r\nexport enum StrapiDataLocation {\r\n START,\r\n END\r\n}","export const MENU_ICON_STRAPI_EXTENSION = \".svg\";\r\n","import { Inject, Injectable, Optional } from \"@angular/core\";\r\nimport { IconService } from \"@tilde-nlp/ngx-common\";\r\nimport { StrapiApiConfig, StrapiSubscriptionService, STRAPI_API_CONFIG_TOKEN } from \"@tilde-nlp/ngx-strapi\";\r\nimport { map, Observable } from \"rxjs\";\r\nimport { CollectionTypes, MenuItems } from \"@tilde-nlp/strapi-models\";\r\nimport { CustomMenuItem } from \"../models/custom-menu-item\";\r\nimport { MENU_ICON_STRAPI_EXTENSION } from \"../models/menu-icon-strapi-extension.const\";\r\nimport { MenuSharedConfig } from \"../models/menu-shared-config.model\";\r\nimport { MENU_SHARED_CONFIG } from \"../injection-tokens/menu-shared-config.token\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StarpiMenuService {\r\n readonly svgIconNamePrefix = \"strapi-menu-icon-\";\r\n imgBaseUrl = '';\r\n\r\n constructor(private readonly strapiSubscription: StrapiSubscriptionService,\r\n @Optional() @Inject(MENU_SHARED_CONFIG) private readonly menuConfig: MenuSharedConfig,\r\n @Inject(STRAPI_API_CONFIG_TOKEN) strapiConfig: StrapiApiConfig,\r\n private readonly iconService: IconService) {\r\n this.imgBaseUrl = strapiConfig.apiUrl;\r\n }\r\n\r\n getMenuItems(): Observable<CustomMenuItem[]> {\r\n const responseObs = this.strapiSubscription.subscribeCollectionType<MenuItems>(CollectionTypes.MENU_ITEMS)\r\n .pipe(map((items: MenuItems[] | null) => {\r\n // Remove disabled items so they are not processed later.\r\n\r\n const convertedItems: CustomMenuItem[] = [];\r\n if (!items || items.length === 0) {\r\n return convertedItems;\r\n }\r\n items = items.filter(item => !item.disabled);\r\n items.forEach((menu: MenuItems) => {\r\n menu.link = this.addBaseUrlIfNecessary(menu.link);\r\n const originalMenuIcon = menu.icon.data.attributes;\r\n if (originalMenuIcon.url.startsWith('/')) {\r\n originalMenuIcon.url = this.imgBaseUrl + originalMenuIcon.url;\r\n }\r\n\r\n if (originalMenuIcon.ext === MENU_ICON_STRAPI_EXTENSION) {\r\n // add custom prefix so that it is not easy to mix with other icons in registry\r\n menu.icon.data.attributes.name = this.svgIconNamePrefix + originalMenuIcon.name;\r\n this.iconService.registerIconFromUrl(originalMenuIcon.name, originalMenuIcon.url);\r\n }\r\n\r\n convertedItems.push(this.convertToCustomMenuItem(menu));\r\n });\r\n return convertedItems;\r\n }));\r\n return responseObs;\r\n }\r\n\r\n unsubscribe(): void {\r\n this.strapiSubscription.unsubscribe(CollectionTypes.MENU_ITEMS);\r\n }\r\n\r\n private addBaseUrlIfNecessary(link: string): string {\r\n if (!this.menuConfig?.baseUrl) {\r\n return link;\r\n }\r\n try {\r\n new URL(link);\r\n // eslint-disable-next-line no-empty\r\n } catch { }\r\n try {\r\n return new URL(link, this.menuConfig.baseUrl).href;\r\n } catch {\r\n return link;\r\n }\r\n }\r\n\r\n private convertToCustomMenuItem(item: MenuItems): CustomMenuItem {\r\n return {\r\n icon: item.icon.data.attributes.name,\r\n link: item.link,\r\n title: item.title,\r\n externalLink: item.externalLink,\r\n // Material icons should not come from strapi\r\n materialIcon: false,\r\n plausibleEvent: item.plausibleEvent,\r\n customId: item.customId\r\n }\r\n }\r\n}\r\n","import { Inject, Injectable, Optional } from '@angular/core';\r\nimport { IsActiveMatchOptions, NavigationEnd, Router } from '@angular/router';\r\nimport { BehaviorSubject, filter } from 'rxjs';\r\nimport { StrapiDataLocation } from '../components/nav-base/models';\r\nimport { MENU_SHARED_CONFIG } from '../injection-tokens';\r\nimport { StarpiMenuService } from './strapi.service';\r\nimport { ActiveMenuItems } from '../models/active-menu-items.model';\r\nimport { CustomMenuItem } from '../models/custom-menu-item';\r\nimport { MenuSharedConfig } from '../models/menu-shared-config.model';\r\nimport { MenuItemGroup } from '../models/menu-item-group.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MenuItemsService {\r\n\r\n private readonly _activeElements: BehaviorSubject<ActiveMenuItems> = new BehaviorSubject({});\r\n get activeElements() { return this._activeElements.asObservable(); }\r\n\r\n private strapiItems: CustomMenuItem[] = [];\r\n\r\n private _strapiGroup!: MenuItemGroup;\r\n\r\n private _allRootItems!: CustomMenuItem[];\r\n get allRootItems() { return this._allRootItems; }\r\n\r\n get strapiGroup() { return this._strapiGroup; }\r\n\r\n private readonly isActiveMatchOptions: IsActiveMatchOptions = {\r\n matrixParams: 'exact',\r\n queryParams: 'exact',\r\n paths: 'exact',\r\n fragment: 'exact'\r\n };\r\n\r\n private get customId() { return this.menuSharedConfig?.customId; }\r\n private get hideSelectedCustomId() { return this.menuSharedConfig?.hideSelectedCustomId; }\r\n private get strapiGroupBase() { return this.menuSharedConfig?.strapiGroupBase; }\r\n private get strapiDataLocation() { return this.menuSharedConfig?.strapiDataLocation ?? StrapiDataLocation.END }\r\n private _mergedGroups: MenuItemGroup[] = [];\r\n get mergedGroups() { return this._mergedGroups; }\r\n\r\n private get menuItemGroups() { return this.menuSharedConfig.itemGroups }\r\n\r\n constructor(private readonly router: Router,\r\n @Optional() @Inject(MENU_SHARED_CONFIG) protected readonly menuSharedConfig: MenuSharedConfig,\r\n private readonly strapiService: StarpiMenuService) {\r\n this.getStrapiData();\r\n this.subscribeToRouteChanges();\r\n }\r\n\r\n private subscribeToRouteChanges() {\r\n this.router.events\r\n .pipe(filter(e => e instanceof NavigationEnd))\r\n .subscribe(() => { this.updateActive(); });\r\n }\r\n\r\n private updateActive() {\r\n const items = this.allRootItems;\r\n const root = this.findActiveElement(items, false);\r\n const child = this.findActiveElement(items, true);\r\n this._activeElements.next({ root, child });\r\n }\r\n\r\n /** Finds active element from whole list. RouterLink has priority over custom Id. */\r\n // at this version, child elements should not have customId, since that property comes from strapi and strapi provides only one level structure\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n private findActiveElement(items: CustomMenuItem[] | undefined, includeChildren: boolean): CustomMenuItem | undefined {\r\n if (!items?.length) {\r\n return undefined;\r\n }\r\n\r\n let customIdElement: CustomMenuItem | undefined;\r\n\r\n for (const item of items) {\r\n // Child element has priority over parent, so need to check if any child is active\r\n if (this.isElementRouterLinkActive(item)) {\r\n // If has children and they are visible, return active child or current item\r\n return includeChildren ? this.findActiveElement(item.children, includeChildren) ?? item : item;\r\n }\r\n // if selected custom id element is hidden, no need to look for it and set it to active;\r\n else if (!this.hideSelectedCustomId && this.isElementCustomIdActive(item)) {\r\n customIdElement = item;\r\n }\r\n else if (includeChildren && item.children?.length) {\r\n const activeChild = this.findActiveElement(item.children, includeChildren);\r\n if (activeChild) {\r\n return activeChild;\r\n }\r\n }\r\n }\r\n return customIdElement;\r\n }\r\n\r\n private getStrapiData() {\r\n if (!this.menuSharedConfig?.disableStrapi) {\r\n this.strapiService.getMenuItems().subscribe(this.loadData.bind(this));\r\n }\r\n else {\r\n this.loadData([]);\r\n }\r\n }\r\n\r\n private loadData(data: CustomMenuItem[]) {\r\n // hide custom id based on input param\r\n this.strapiItems = (this.hideSelectedCustomId && this.customId) ? data.filter(item => item.customId !== this.customId) : data;\r\n this._strapiGroup = {\r\n ...this.strapiGroupBase,\r\n items: this.strapiItems\r\n }\r\n\r\n if (this.strapiDataLocation === StrapiDataLocation.START) {\r\n this._mergedGroups = [this.strapiGroup, ...this.menuItemGroups ?? []];\r\n }\r\n else if (this.strapiDataLocation === StrapiDataLocation.END) {\r\n this._mergedGroups = [...this.menuItemGroups ?? [], this.strapiGroup];\r\n }\r\n\r\n const allItems = this.mergedGroups.map(map => map.items);\r\n let newArray: CustomMenuItem[] = [];\r\n allItems.forEach((array) => { newArray = newArray.concat(array) });\r\n this._allRootItems = newArray;\r\n\r\n this.updateActive();\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n // private isMenuItem(item: any): item is MenuItems {\r\n // return item.customId;\r\n // }\r\n\r\n private isElementCustomIdActive(element: CustomMenuItem) {\r\n return this.customId && element.customId === this.customId;\r\n }\r\n\r\n private isElementRouterLinkActive(element: CustomMenuItem) {\r\n const routerLinkActiveOptions: IsActiveMatchOptions = (element as CustomMenuItem).routerLinkActiveOptions ?? this.menuSharedConfig.activeMatchOptions ?? this.isActiveMatchOptions;\r\n\r\n return this.router.isActive(element.link, routerLinkActiveOptions);\r\n }\r\n}\r\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { MenuLayoutDirection } from '../../models/menu-layout-direction.model';\r\nimport { MenuItemsService } from '../../services/menu-items.service';\r\nimport { ActiveMenuItems } from '../../models';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'nav-base',\r\n templateUrl: './nav-base.component.html',\r\n styleUrls: ['./nav-base.component.scss']\r\n})\r\n/** This component is created to help nest some common input params through nav components. */\r\nexport class NavBaseComponent implements OnInit, OnDestroy {\r\n @Input() direction!: MenuLayoutDirection;\r\n active!: ActiveMenuItems;\r\n protected activeItemSubscription!: Subscription;\r\n\r\n constructor(readonly menuItemsService: MenuItemsService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initBase();\r\n }\r\n\r\n initBase() {\r\n this.activeItemSubscription = this.menuItemsService.activeElements.subscribe((active) => {\r\n this.active = active;\r\n })\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroyBase();\r\n }\r\n\r\n destroyBase() {\r\n this.activeItemSubscription?.unsubscribe();\r\n }\r\n}\r\n","<p>nav-base works!</p>\r\n","\r\nexport enum MenuLayoutDirection {\r\n column = \"column\",\r\n row = \"row\"\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { Media } from '@tilde-nlp/strapi-models';\r\nimport { CustomMenuItem, MENU_ICON_STRAPI_EXTENSION } from '../../models';\r\n\r\n@Component({\r\n selector: 'tld-menu-icon',\r\n templateUrl: './menu-icon.component.html',\r\n styleUrls: ['./menu-icon.component.scss']\r\n})\r\nexport class MenuIconComponent {\r\n readonly svgExtension = MENU_ICON_STRAPI_EXTENSION;\r\n\r\n @Input() menuItem!: CustomMenuItem;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n isIconMediaType(icon: any): icon is Media {\r\n return typeof icon !== \"string\";\r\n }\r\n}\r\n","<ng-container *ngIf=\"menuItem.icon\">\r\n <mat-icon class=\"menu-icon\" [svgIcon]=\"menuItem.icon\" *ngIf=\"!menuItem.materialIcon; else materialIcon;\"></mat-icon>\r\n <ng-template #materialIcon>\r\n <mat-icon class=\"menu-icon\">{{menuItem.icon}}</mat-icon>\r\n </ng-template>\r\n</ng-container>\r\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { PlaceholderComponentBase, StrapiLinkService, StrapiVariablesService } from '@tilde-nlp/ngx-strapi';\r\nimport { CustomMenuItem, MenuLayoutDirection } from '../../models';\r\n\r\n@Component({\r\n selector: 'tld-menu-item-link',\r\n templateUrl: './menu-item-link.component.html',\r\n styleUrls: ['./menu-item-link.component.scss']\r\n})\r\nexport class MenuItemLinkComponent implements OnInit, OnDestroy, PlaceholderComponentBase {\r\n @Input() direction!: MenuLayoutDirection;\r\n @Input() labelsVisible!: boolean;\r\n @Input() activeItem!: CustomMenuItem | undefined;\r\n @Input() showIcons = true;\r\n @Input() menuItem!: CustomMenuItem;\r\n\r\n textWithPlaceholders!: string;\r\n href!: string;\r\n\r\n private placeholderServiceId!: number;\r\n get menuItemLayout(): string {\r\n return this.direction === MenuLayoutDirection.column ? 'column' : 'row';\r\n }\r\n\r\n get menuLayoutDirection(): string {\r\n return (this.direction === MenuLayoutDirection.column || !this.labelsVisible)\r\n ? 'start center' : 'start start';\r\n }\r\n\r\n constructor(private readonly strapiLinkService: StrapiLinkService,\r\n private readonly placeholderService: StrapiVariablesService) { }\r\n\r\n ngOnInit(): void {\r\n this.textWithPlaceholders = this.menuItem.link;\r\n this.placeholderServiceId = this.placeholderService.register(this);\r\n }\r\n\r\n linkClick(event: MouseEvent, item: CustomMenuItem) {\r\n this.strapiLinkService.strapiLinkClick(event, item.externalLink);\r\n }\r\n\r\n updateTextWithPlaceholders = (textWithReplacedPlaceholders: string) => this.href = textWithReplacedPlaceholders;\r\n\r\n ngOnDestroy(): void {\r\n this.placeholderService.unregister(this.placeholderServiceId);\r\n }\r\n}\r\n","<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","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { CustomMenuItem } from '../../models/custom-menu-item';\r\nimport { MenuItemGroupBase } from '../../models/menu-item-group.model';\r\nimport { MenuLayoutDirection } from '../../models/menu-layout-direction.model';\r\n\r\n@Component({\r\n selector: 'menu-item-list',\r\n templateUrl: './menu-item-list.component.html',\r\n styleUrls: ['./menu-item-list.component.scss']\r\n})\r\nexport class MenuItemListComponent {\r\n @Input() direction: MenuLayoutDirection = MenuLayoutDirection.column;\r\n @Input() labelsVisible = true;\r\n @Input() activeItem!: CustomMenuItem | undefined;\r\n @Input() showIcons = true;\r\n\r\n @Input() items: CustomMenuItem[] = [];\r\n @Input() menuItemGroup!: MenuItemGroupBase;\r\n\r\n @Output() toggleExpand: EventEmitter<CustomMenuItem> = new EventEmitter<CustomMenuItem>();\r\n\r\n get titleKey() {\r\n return this.menuItemGroup?.title;\r\n }\r\n\r\n get showTitle() {\r\n return this.menuItemGroup?.showTitle;\r\n }\r\n\r\n\r\n get menuLayoutDirection(): string {\r\n return (this.direction === MenuLayoutDirection.column || !this.labelsVisible)\r\n ? 'start center' : 'start start';\r\n }\r\n\r\n get menuItemLayout(): string {\r\n return this.direction === MenuLayoutDirection.column ? 'column' : 'row';\r\n }\r\n\r\n toggleItemExpand(event: MouseEvent, menuItem: CustomMenuItem) {\r\n // so menu doesnt get closed.\r\n event.stopPropagation();\r\n\r\n if (this.labelsVisible || !menuItem.expanded) {\r\n menuItem.expanded = !menuItem.expanded;\r\n }\r\n\r\n this.toggleExpand.next(menuItem);\r\n }\r\n}\r\n","<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>","import { Component, EventEmitter, Inject, Input, OnDestroy, OnInit, Optional, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { MENU_SHARED_CONFIG } from '../../injection-tokens';\r\nimport { CustomMenuItem } from '../../models/custom-menu-item';\r\nimport { MenuLayoutDirection } from '../../models/menu-layout-direction.model';\r\nimport { MenuSharedConfig } from '../../models/menu-shared-config.model';\r\nimport { MenuItemsService } from '../../services/menu-items.service';\r\nimport { ActiveMenuItems } from '../../models';\r\n\r\n@Component({\r\n selector: 'menu-columns',\r\n templateUrl: './menu-columns.component.html',\r\n styleUrls: ['./menu-columns.component.scss']\r\n})\r\nexport class MenuColumnsComponent implements OnInit, OnDestroy {\r\n\r\n @Input() direction: MenuLayoutDirection = MenuLayoutDirection.column;\r\n @Input() labelsVisible = true;\r\n @Output() toggleCollapseEvent = new EventEmitter();\r\n\r\n private _active!: ActiveMenuItems;\r\n get active() { return this._active; }\r\n @Input() set active(value: ActiveMenuItems) {\r\n this._active = value;\r\n\r\n if (!value) {\r\n this.activeItem = undefined;\r\n return;\r\n }\r\n\r\n this.elementExpanded(this.active?.root)\r\n }\r\n\r\n activeItem?: CustomMenuItem;\r\n get mergedGroups() { return this.menuItemsService.mergedGroups; }\r\n\r\n private readonly subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n protected readonly router: Router,\r\n @Optional() @Inject(MENU_SHARED_CONFIG) protected readonly menuSharedConfig: MenuSharedConfig,\r\n private readonly menuItemsService: MenuItemsService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.activeItem = this.active.root;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.forEach(sub => sub.unsubscribe());\r\n }\r\n\r\n elementExpanded(element?: CustomMenuItem) {\r\n if (!this.active || !element) {\r\n this.activeItem = undefined;\r\n return;\r\n }\r\n\r\n // if menu is collapsed and chilren are expandable, we should open menu\r\n if (element.showChildren && !this.labelsVisible) {\r\n this.toggleCollapseEvent.emit();\r\n }\r\n\r\n if (element.showChildren && element.expanded && element === this.active.root) {\r\n this.activeItem = this.active.child;\r\n }\r\n else {\r\n this.activeItem = this.active.root;\r\n }\r\n }\r\n\r\n\r\n}\r\n","<ng-container *ngFor=\"let group of mergedGroups\">\r\n <menu-item-list *ngIf=\"group.items.length\" [activeItem]=\"activeItem\" [direction]=\"direction\"\r\n (toggleExpand)=\"elementExpanded($event)\" [labelsVisible]=\"labelsVisible\" [menuItemGroup]=\"group\"\r\n [items]=\"group.items\">\r\n </menu-item-list>\r\n <div class=\"divider\" *ngIf=\"group.bottomDivider && group.items.length\">\r\n <mat-divider></mat-divider>\r\n </div>\r\n</ng-container>","import { Component, Inject, Input, OnDestroy, OnInit, Optional } from '@angular/core';\r\nimport { DOMService, PlausibleEvent } from '@tilde-nlp/ngx-common';\r\nimport { StrapiLinkService } from '@tilde-nlp/ngx-strapi';\r\nimport { MENU_SHARED_CONFIG } from '../../injection-tokens';\r\nimport { MenuSharedConfig } from '../../models/menu-shared-config.model';\r\nimport { NavBaseComponent } from '../nav-base/nav-base.component';\r\nimport { SideNavSettings } from './models/side-nav-settings.model';\r\nimport { MenuItemsService } from '../../services/menu-items.service';\r\n\r\n\r\n@Component({\r\n selector: 'lib-side-nav-menu',\r\n templateUrl: './side-nav-menu.component.html',\r\n styleUrls: ['./side-nav-menu.component.scss']\r\n})\r\nexport class SideNavMenuComponent extends NavBaseComponent implements OnInit, OnDestroy {\r\n readonly COLLAPSED_LOCAL_STORAGE_KEY = \"TLD_MENU_SIDE_NAV_COLLAPSED\";\r\n\r\n //#region Plausible event variables for collapse button\r\n private readonly COLLAPSE_PLAUSIBLE_EVENT_ID = \"collapseMenu\";\r\n private readonly COLLAPSE_PLAUSIBLE_ACTION_KEY = \"action\";\r\n private readonly LOGOCLICK_PLAUSIBLE_ACTION_ID = \"tilde_logo_click\"\r\n\r\n readonly LOGOCLICK_PLAUSIBLE_EVENT: PlausibleEvent = {\r\n eventId: this.LOGOCLICK_PLAUSIBLE_ACTION_ID,\r\n properties: []\r\n }\r\n\r\n readonly EXPAND_PLAUSIBLE_EVENT: PlausibleEvent = {\r\n eventId: this.COLLAPSE_PLAUSIBLE_EVENT_ID,\r\n properties: [{ key: this.COLLAPSE_PLAUSIBLE_ACTION_KEY, value: \"expand\" }]\r\n }\r\n\r\n readonly COLLAPSE_PLAUSIBLE_EVENT: PlausibleEvent = {\r\n eventId: this.COLLAPSE_PLAUSIBLE_EVENT_ID,\r\n properties: [{ key: this.COLLAPSE_PLAUSIBLE_ACTION_KEY, value: \"collapse\" }]\r\n }\r\n //#endregion\r\n\r\n @Input() menuSettings: SideNavSettings = {\r\n expandedWidth: '9.375em',\r\n collapsedWidth: '5em',\r\n menuLogo: '',\r\n menuLogoCollapsed: '',\r\n disableStrapi: false\r\n }\r\n\r\n collapsed = false;\r\n readonly baseUrl: string | undefined;\r\n get menuLogoImage(): string {\r\n return this.collapsed\r\n ? this.menuSettings.menuLogoCollapsed ?? this.menuSettings.menuLogo\r\n : this.menuSettings.menuLogo;\r\n }\r\n\r\n get sideNavWidth(): string | undefined {\r\n return this.collapsed ? this.menuSettings.collapsedWidth : this.menuSettings.expandedWidth;\r\n }\r\n\r\n constructor(public strapiLinkService: StrapiLinkService,\r\n readonly domService: DOMService,\r\n readonly menuItems: MenuItemsService,\r\n @Optional() @Inject(MENU_SHARED_CONFIG) menuSharedConfig: MenuSharedConfig) {\r\n super(menuItems);\r\n this.baseUrl = menuSharedConfig.baseUrl || '';\r\n }\r\n\r\n override ngOnInit(): void {\r\n super.ngOnInit();\r\n this.getColapsedFromLocalStorage();\r\n }\r\n\r\n logoClick(event: MouseEvent): void {\r\n this.strapiLinkService.strapiLinkClick(event);\r\n }\r\n\r\n toggleCollapse() {\r\n this.collapsed = !this.collapsed;\r\n this.setColapsedFromLocalStorage();\r\n }\r\n\r\n private getColapsedFromLocalStorage() {\r\n if (!this.domService.localStorage) {\r\n return;\r\n }\r\n\r\n this.collapsed = this.domService.localStorage.getItem(this.COLLAPSED_LOCAL_STORAGE_KEY) == 'true' ? true : false;\r\n }\r\n\r\n private setColapsedFromLocalStorage() {\r\n if (!this.domService.localStorage) {\r\n return;\r\n }\r\n this.domService.localStorage.setItem(this.COLLAPSED_LOCAL_STORAGE_KEY, this.collapsed.toString());\r\n }\r\n}\r\n","<div class=\"menu-container\" [style.width]=\"sideNavWidth\" fxLayout=\"column\" [class.collapsed]=\"collapsed\">\r\n <div class=\"content\" fxLayout=\"column\" fxFlexFill>\r\n <div class=\"menu-container-header\" fxLayout=\"row\" fxLayoutAlign=\"space-between center\">\r\n <a *ngIf=\"!collapsed\" [libPlausibleEvent]=\"LOGOCLICK_PLAUSIBLE_EVENT\" fxFlex=\"3.125em\" [href]=\"baseUrl\"\r\n [attr.aria-label]=\"'MENU.ARIA_LABELS.LOGO' | translate\" (click)=\"logoClick($event)\" fxLayoutAlign=\"start center\"\r\n >\r\n <img class=\"menu-logo\" [src]=\"menuLogoImage\" alt=\"\" />\r\n </a>\r\n\r\n <button\r\n mat-icon-button\r\n class=\"toggler\"\r\n [libPlausibleEvent]=\"collapsed ? EXPAND_PLAUSIBLE_EVENT : COLLAPSE_PLAUSIBLE_EVENT\"\r\n (click)=\"toggleCollapse()\"\r\n >\r\n <mat-icon>{{ collapsed ? 'keyboard_double_arrow_right' : 'keyboard_double_arrow_left' }}</mat-icon>\r\n </button>\r\n </div>\r\n \r\n <div class=\"menu-wrapper\" fxLayout=\"column\" fxFlex>\r\n <menu-columns (toggleCollapseEvent)=\"toggleCollapse()\" [direction]=\"direction\" role=\"navigation\" fxFlex [labelsVisible]=\"!collapsed\"\r\n [active]=\"active\"></menu-columns>\r\n </div>\r\n </div>","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { MenuDialogSettings } from '../menu-item-icon/models/menu-dialog-settings.model';\r\nimport { NavBaseComponent } from '../nav-base/nav-base.component';\r\nimport { MenuItemsService } from '../../services/menu-items.service';\r\n\r\n@Component({\r\n selector: 'lib-modal-nav-menu',\r\n templateUrl: './modal-nav-menu.component.html',\r\n styleUrls: ['./modal-nav-menu.component.scss']\r\n})\r\nexport class ModalNavMenuComponent extends NavBaseComponent implements OnInit, OnDestroy {\r\n @Input() menuDialogSettings: MenuDialogSettings = {\r\n showMenuTitle: false,\r\n fullScreen: true\r\n }\r\n\r\n // any type because emitter doesn't really need a value\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n @Output() closeButtonClick = new EventEmitter<any>();\r\n\r\n constructor(readonly menuItems: MenuItemsService) {\r\n super(menuItems);\r\n }\r\n\r\n close() {\r\n this.closeButtonClick.emit(null);\r\n }\r\n}\r\n","<div class=\"content menu-modal\" fxLayout=\"row\" fxFlexFill>\r\n <div fxLayout=\"column\" [class.full-screen]=\"menuDialogSettings.fullScreen\">\r\n <div fxLayout=\"row\" class=\"menu-header\">\r\n <img [src]=\"menuDialogSettings.logo\" *ngIf=\"menuDialogSettings.logo\" width=\"75\" alt=\"\">\r\n <span *ngIf=\"menuDialogSettings.showMenuTitle\" fxLayoutAlign=\"start center\" fxFlex>{{\r\n \"MENU.MENU\" | translate\r\n }}</span>\r\n <span *ngIf=\"menuDialogSettings.showCloseMenuButton\" (click)=\"close()\" class=\"close-icon\" fxFlex\r\n fxLayoutAlign=\"end center\">\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n </div>\r\n <ng-content select=\"[top]\"></ng-content>\r\n <menu-columns [direction]=\"direction\" [active]=\"active\">\r\n </menu-columns>\r\n <ng-content select=\"[bottom]\"></ng-content>\r\n </div>\r\n</div>","export const menuLogo = `\r\n<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M3.3 6.6C2.36667 6.6 1.58333 6.28333 0.95 5.65C0.316666 5.01667 0 4.23333 0 3.3C0 2.36667 0.316666 1.58333 0.95 0.95C1.58333 0.316666 2.36667 0 3.3 0C4.23333 0 5.01667 0.316666 5.65 0.95C6.28333 1.58333 6.6 2.36667 6.6 3.3C6.6 4.23333 6.28333 5.01667 5.65 5.65C5.01667 6.28333 4.23333 6.6 3.3 6.6ZM16 32C15.0667 32 14.2833 31.6833 13.65 31.05C13.0167 30.4167 12.7 29.6333 12.7 28.7C12.7 27.7667 13.0167 26.9833 13.65 26.35C14.2833 25.7167 15.0667 25.4 16 25.4C16.9333 25.4 17.7167 25.7167 18.35 26.35C18.9833 26.9833 19.3 27.7667 19.3 28.7C19.3 29.6333 18.9833 30.4167 18.35 31.05C17.7167 31.6833 16.9333 32 16 32ZM3.3 32C2.36667 32 1.58333 31.6833 0.95 31.05C0.316666 30.4167 0 29.6333 0 28.7C0 27.7667 0.316666 26.9833 0.95 26.35C1.58333 25.7167 2.36667 25.4 3.3 25.4C4.23333 25.4 5.01667 25.7167 5.65 26.35C6.28333 26.9833 6.6 27.7667 6.6 28.7C6.6 29.6333 6.28333 30.4167 5.65 31.05C5.01667 31.6833 4.23333 32 3.3 32ZM3.3 19.3C2.36667 19.3 1.58333 18.9833 0.95 18.35C0.316666 17.7167 0 16.9333 0 16C0 15.0667 0.316666 14.2833 0.95 13.65C1.58333 13.0167 2.36667 12.7 3.3 12.7C4.23333 12.7 5.01667 13.0167 5.65 13.65C6.28333 14.2833 6.6 15.0667 6.6 16C6.6 16.9333 6.28333 17.7167 5.65 18.35C5.01667 18.9833 4.23333 19.3 3.3 19.3ZM16 19.3C15.0667 19.3 14.2833 18.9833 13.65 18.35C13.0167 17.7167 12.7 16.9333 12.7 16C12.7 15.0667 13.0167 14.2833 13.65 13.65C14.2833 13.0167 15.0667 12.7 16 12.7C16.9333 12.7 17.7167 13.0167 18.35 13.65C18.9833 14.2833 19.3 15.0667 19.3 16C19.3 16.9333 18.9833 17.7167 18.35 18.35C17.7167 18.9833 16.9333 19.3 16 19.3ZM28.7 6.6C27.7667 6.6 26.9833 6.28333 26.35 5.65C25.7167 5.01667 25.4 4.23333 25.4 3.3C25.4 2.36667 25.7167 1.58333 26.35 0.95C26.9833 0.316666 27.7667 0 28.7 0C29.6333 0 30.4167 0.316666 31.05 0.95C31.6833 1.58333 32 2.36667 32 3.3C32 4.23333 31.6833 5.01667 31.05 5.65C30.4167 6.28333 29.6333 6.6 28.7 6.6ZM16 6.6C15.0667 6.6 14.2833 6.28333 13.65 5.65C13.0167 5.01667 12.7 4.23333 12.7 3.3C12.7 2.36667 13.0167 1.58333 13.65 0.95C14.2833 0.316666 15.0667 0 16 0C16.9333 0 17.7167 0.316666 18.35 0.95C18.9833 1.58333 19.3 2.36667 19.3 3.3C19.3 4.23333 18.9833 5.01667 18.35 5.65C17.7167 6.28333 16.9333 6.6 16 6.6ZM28.7 19.3C27.7667 19.3 26.9833 18.9833 26.35 18.35C25.7167 17.7167 25.4 16.9333 25.4 16C25.4 15.0667 25.7167 14.2833 26.35 13.65C26.9833 13.0167 27.7667 12.7 28.7 12.7C29.6333 12.7 30.4167 13.0167 31.05 13.65C31.6833 14.2833 32 15.0667 32 16C32 16.9333 31.6833 17.7167 31.05 18.35C30.4167 18.9833 29.6333 19.3 28.7 19.3ZM28.7 32C27.7667 32 26.9833 31.6833 26.35 31.05C25.7167 30.4167 25.4 29.6333 25.4 28.7C25.4 27.7667 25.7167 26.9833 26.35 26.35C26.9833 25.7167 27.7667 25.4 28.7 25.4C29.6333 25.4 30.4167 25.7167 31.05 26.35C31.6833 26.9833 32 27.7667 32 28.7C32 29.6333 31.6833 30.4167 31.05 31.05C30.4167 31.6833 29.6333 32 28.7 32Z\" fill=\"#434C56\"/>\r\n</svg>\r\n\r\n`;\r\n","export enum TitlePlacement {\r\n none = 'none',\r\n left = 'left',\r\n right = 'right'\r\n}\r\n","import { Component, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { MatMenuTrigger } from '@angular/material/menu';\r\nimport { Router } from '@angular/router';\r\nimport { IconService, PlausibleEvent } from '@tilde-nlp/ngx-common';\r\nimport { Subscription } from 'rxjs';\r\nimport { menuLogo } from '../../assets/menu-logo.svg';\r\nimport { MenuLayoutDirection } from '../../models';\r\nimport { MenuDialogSettings, MenuItemSettings, TitlePlacement } from './menu.model';\r\n@Component({\r\n selector: 'lib-menu-item-icon',\r\n templateUrl: './menu-item-icon.component.html',\r\n styleUrls: ['./menu-item-icon.component.scss']\r\n})\r\nexport class MenuItemIconComponent implements OnInit, OnDestroy {\r\n @ViewChild('menuTrigger') menuTrigger: MatMenuTrigger | undefined;\r\n @Input() menuSettings: MenuItemSettings = {\r\n titlePlacement: TitlePlacement.left\r\n }\r\n @Input() menuDialogSettings: MenuDialogSettings = {\r\n showMenuTitle: true,\r\n disableStrapi: true,\r\n fullScreen: true\r\n }\r\n\r\n @Input() direction = MenuLayoutDirection.row;\r\n\r\n subscription: Subscription[] = [];\r\n\r\n readonly iconName = 'tld-menu-icon';\r\n readonly TITLE_PLACEMENT_NONE = TitlePlacement.none;\r\n readonly TITLE_PLACEMENT_LEFT = TitlePlacement.left;\r\n readonly PLAUSIBLE_EVENT: PlausibleEvent = {\r\n eventId: \"burger_click\"\r\n };\r\n\r\n constructor(private readonly iconService: IconService,\r\n private readonly router: Router) {\r\n\r\n }\r\n ngOnInit(): void {\r\n const routeChangeSub = this.router.events.subscribe(() => this.closeMenu());\r\n this.subscription.push(routeChangeSub);\r\n this.registerIcon();\r\n }\r\n\r\n closeMenu(): void {\r\n this.menuTrigger?.closeMenu();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.forEach(e => e.unsubscribe());\r\n }\r\n\r\n private registerIcon() {\r\n if (this.menuSettings.iconPath) {\r\n this.iconService.registerIconFromUrl(this.iconName, this.menuSettings.iconPath);\r\n }\r\n else {\r\n this.iconService.registerIcons({ [this.iconName]: menuLogo });\r\n }\r\n }\r\n\r\n}\r\n","<button class=\"content text-l\" mat-button [disableRipple]=\"true\" #menuTrigger=\"matMenuTrigger\"\r\n [matMenuTriggerFor]=\"menu\" [libPlausibleEvent]=\"PLAUSIBLE_EVENT\">\r\n <span fxLayout=\"row\" fxLayoutGap=\"1.5em\" fxLayoutAlign=\"center center\">\r\n <span *ngIf=\"menuSettings.titlePlacement !== TITLE_PLACEMENT_NONE\" [fxFlexOrder]=\"\r\n menuSettings.titlePlacement === TITLE_PLACEMENT_LEFT ? 1 : 2\r\n \" class=\"menu-label\">{{ \"MENU.MENU\" | translate }}</span>\r\n <mat-icon [fxFlexOrder]=\"\r\n menuSettings.titlePlacement === TITLE_PLACEMENT_LEFT ? 2 : 1\r\n \" [svgIcon]=\"iconName\">\r\n </mat-icon>\r\n </span>\r\n</button>\r\n\r\n<mat-menu [hasBackdrop]=\"true\" #menu class=\"mobile-menu-dialog {{\r\n menuDialogSettings.fullScreen ? 'full-screen' : 'minimized-screen'\r\n }}\">\r\n <!-- Click method so that menu does not get closed when clicking outside of items-->\r\n <lib-modal-nav-menu (click)=\"$event.stopPropagation()\" (closeButtonClick)=\"closeMenu()\"\r\n [menuDialogSettings]=\"menuDialogSettings\" [direction]=\"direction\">\r\n <ng-content top select=\"[top]\"></ng-content>\r\n <ng-content bottom select=\"[bottom]\"></ng-content>\r\n </lib-modal-nav-menu>\r\n</mat-menu>","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common'\r\nimport { SideNavMenuComponent } from './components/side-nav-menu/side-nav-menu.component';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { RouterModule } from '@angular/router';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { ModalNavMenuComponent } from './components/modal-nav-menu/modal-nav-menu.component';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MenuItemIconComponent } from './components/menu-item-icon/menu-item-icon.component';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { StarpiMenuService } from './services/strapi.service';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { MenuSharedConfig } from './models/menu-shared-config.model';\r\nimport { MENU_SHARED_CONFIG } from './injection-tokens/menu-shared-config.token';\r\nimport { NavBaseComponent } from './components/nav-base/nav-base.component';\r\nimport { MenuItemListComponent } from './components/menu-item-list/menu-item-list.component';\r\nimport { PlausibleModule } from '@tilde-nlp/ngx-common';\r\nimport { MenuColumnsComponent } from './components/menu-columns/menu-columns.component';\r\nimport { MenuIconComponent } from './components/menu-icon/menu-icon.component';\r\nimport { MenuItemLinkComponent } from './components/menu-item-link/menu-item-link.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n SideNavMenuComponent,\r\n ModalNavMenuComponent,\r\n MenuItemIconComponent,\r\n NavBaseComponent,\r\n MenuItemListComponent,\r\n MenuColumnsComponent,\r\n MenuIconComponent,\r\n MenuItemLinkComponent\r\n ],\r\n providers: [\r\n StarpiMenuService\r\n ],\r\n imports: [\r\n HttpClientModule,\r\n FlexLayoutModule,\r\n RouterModule,\r\n CommonModule,\r\n MatTooltipModule,\r\n MatDialogModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatIconModule,\r\n TranslateModule,\r\n PlausibleModule\r\n ],\r\n exports: [\r\n SideNavMenuComponent,\r\n ModalNavMenuComponent,\r\n MenuItemIconComponent,\r\n MenuColumnsComponent,\r\n ]\r\n})\r\nexport class MenuModule {\r\n static forRoot(config: MenuSharedConfig): ModuleWithProviders<MenuModule> {\r\n return {\r\n ngModule: MenuModule,\r\n providers: [\r\n { provide: MENU_SHARED_CONFIG, useValue: config }\r\n ]\r\n };\r\n }\r\n}\r\n","/*\r\n * Public API Surface of ngx-menu\r\n */\r\n\r\n\r\nexport * from './lib/components/side-nav-menu';\r\nexport * from './lib/injection-tokens';\r\nexport * from './lib/models';\r\nexport * from './lib/menu.module';\r\nexport * from './lib/components/menu-item-icon/menu.model';\r\nexport * from './lib/components/side-nav-menu/side-nav-menu.component';\r\nexport * from './lib/components/modal-nav-menu/modal-nav-menu.component';\r\nexport * from './lib/components/menu-item-icon/menu-item-icon.component';\r\nexport * from './lib/components/menu-columns/menu-columns.component';\r\nexport * from './lib/components/nav-base/nav-base.component';\r\nexport * from './lib/components/nav-base/models';\r\nexport * from \"./lib/services\";\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.StarpiMenuService","i1.MenuItemsService","i1","i2","i3","i4","i6","i7.MenuIconComponent","i8","i5.MenuIconComponent","i6.MenuItemLinkComponent","i7","i2.MenuItemsService","i5.MenuItemListComponent","i5","i8.MenuColumnsComponent","i5.MenuColumnsComponent","i8.ModalNavMenuComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,MAAM,kBAAkB,GAAG;;ACAlC;IACY,mBAGX;AAHD,CAAA,UAAY,kBAAkB,EAAA;AAC1B,IAAA,kBAAA,CAAA,kBAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK,CAAA;AACL,IAAA,kBAAA,CAAA,kBAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAG,CAAA;AACP,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,GAG7B,EAAA,CAAA,CAAA;;ACJM,MAAM,0BAA0B,GAAG;;MCa7B,iBAAiB,CAAA;AAI5B,IAAA,WAAA,CAA6B,kBAA6C,EACf,UAA4B,EACpD,YAA6B,EAC7C,WAAwB,EAAA;QAHd,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAA2B;QACf,IAAU,CAAA,UAAA,GAAV,UAAU,CAAkB;QAEpE,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QANlC,IAAiB,CAAA,iBAAA,GAAG,mBAAmB,CAAC;QACjD,IAAU,CAAA,UAAA,GAAG,EAAE,CAAC;AAMd,QAAA,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC;KACvC;IAED,YAAY,GAAA;QACV,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAY,eAAe,CAAC,UAAU,CAAC;AACvG,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,KAAyB,KAAI;;YAGtC,MAAM,cAAc,GAAqB,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAChC,gBAAA,OAAO,cAAc,CAAC;AACvB,aAAA;AACD,YAAA,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC7C,YAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAe,KAAI;gBAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;gBACnD,IAAI,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;oBACxC,gBAAgB,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC;AAC/D,iBAAA;AAED,gBAAA,IAAI,gBAAgB,CAAC,GAAG,KAAK,0BAA0B,EAAE;;AAEvD,oBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,CAAC;AAChF,oBAAA,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;AACnF,iBAAA;gBAED,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1D,aAAC,CAAC,CAAC;AACH,YAAA,OAAO,cAAc,CAAC;SACvB,CAAC,CAAC,CAAC;AACN,QAAA,OAAO,WAAW,CAAC;KACpB;IAED,WAAW,GAAA;QACT,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;KACjE;AAEO,IAAA,qBAAqB,CAAC,IAAY,EAAA;AACxC,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE;AAC7B,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;QACD,IAAI;AACF,YAAA,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;;AAEf,SAAA;AAAC,QAAA,MAAM,GAAG;QACX,IAAI;AACF,YAAA,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;AACpD,SAAA;QAAC,MAAM;AACN,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;KACF;AAEO,IAAA,uBAAuB,CAAC,IAAe,EAAA;QAC7C,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI;YACpC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,IAAI,CAAC,YAAY;;AAE/B,YAAA,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAA;KACF;+GAvEU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,EAAA,EAAA,KAAA,EAKN,kBAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAC9B,uBAAuB,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AANtB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAMI,QAAQ;;0BAAI,MAAM;2BAAC,kBAAkB,CAAA;;0BACrC,MAAM;2BAAC,uBAAuB,CAAA;;;MCLtB,gBAAgB,CAAA;IAG3B,IAAI,cAAc,GAAK,EAAA,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,EAAE;IAOpE,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE;IAEjD,IAAI,WAAW,KAAK,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE;IAS/C,IAAY,QAAQ,GAAK,EAAA,OAAO,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAE;IAClE,IAAY,oBAAoB,GAAK,EAAA,OAAO,IAAI,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,EAAE;IAC1F,IAAY,eAAe,GAAK,EAAA,OAAO,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,EAAE;AAChF,IAAA,IAAY,kBAAkB,GAAA,EAAK,OAAO,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,IAAI,kBAAkB,CAAC,GAAG,CAAA,EAAE;IAE/G,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE;IAEjD,IAAY,cAAc,GAAK,EAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAA,EAAE;AAExE,IAAA,WAAA,CAA6B,MAAc,EACkB,gBAAkC,EAC5E,aAAgC,EAAA;QAFtB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACkB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAC5E,IAAa,CAAA,aAAA,GAAb,aAAa,CAAmB;AA9BlC,QAAA,IAAA,CAAA,eAAe,GAAqC,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC;QAGrF,IAAW,CAAA,WAAA,GAAqB,EAAE,CAAC;AAS1B,QAAA,IAAA,CAAA,oBAAoB,GAAyB;AAC5D,YAAA,YAAY,EAAE,OAAO;AACrB,YAAA,WAAW,EAAE,OAAO;AACpB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,OAAO;SAClB,CAAC;QAMM,IAAa,CAAA,aAAA,GAAoB,EAAE,CAAC;QAQ1C,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAChC;IAEO,uBAAuB,GAAA;QAC7B,IAAI,CAAC,MAAM,CAAC,MAAM;aACf,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,aAAa,CAAC,CAAC;AAC7C,aAAA,SAAS,CAAC,MAAK,EAAG,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;KAC9C;IAEO,YAAY,GAAA;AAClB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;KAC5C;;;;IAKO,iBAAiB,CAAC,KAAmC,EAAE,eAAwB,EAAA;AACrF,QAAA,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE;AAClB,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;AAED,QAAA,IAAI,eAA2C,CAAC;AAEhD,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;;AAExB,YAAA,IAAI,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE;;gBAExC,OAAO,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC;AAChG,aAAA;;iBAEI,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE;gBACzE,eAAe,GAAG,IAAI,CAAC;AACxB,aAAA;AACI,iBAAA,IAAI,eAAe,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE;AACjD,gBAAA,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;AAC3E,gBAAA,IAAI,WAAW,EAAE;AACf,oBAAA,OAAO,WAAW,CAAC;AACpB,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,eAAe,CAAC;KACxB;IAEO,aAAa,GAAA;AACnB,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,aAAa,EAAE;AACzC,YAAA,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACvE,SAAA;AACI,aAAA;AACH,YAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACnB,SAAA;KACF;AAEO,IAAA,QAAQ,CAAC,IAAsB,EAAA;;AAErC,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;QAC9H,IAAI,CAAC,YAAY,GAAG;YAClB,GAAG,IAAI,CAAC,eAAe;YACvB,KAAK,EAAE,IAAI,CAAC,WAAW;SACxB,CAAA;AAED,QAAA,IAAI,IAAI,CAAC,kBAAkB,KAAK,kBAAkB,CAAC,KAAK,EAAE;AACxD,YAAA,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;AACvE,SAAA;AACI,aAAA,IAAI,IAAI,CAAC,kBAAkB,KAAK,kBAAkB,CAAC,GAAG,EAAE;AAC3D,YAAA,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,IAAI,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AACvE,SAAA;AAED,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,QAAQ,GAAqB,EAAE,CAAC;QACpC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,OAAO,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,EAAE,CAAC,CAAC;AACnE,QAAA,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;QAE9B,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;;;;;AAOO,IAAA,uBAAuB,CAAC,OAAuB,EAAA;QACrD,OAAO,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC;KAC5D;AAEO,IAAA,yBAAyB,CAAC,OAAuB,EAAA;AACvD,QAAA,MAAM,uBAAuB,GAA0B,OAA0B,CAAC,uBAAuB,IAAI,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,IAAI,IAAI,CAAC,oBAAoB,CAAC;AAEnL,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;KACpE;AA7HU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,0CA+BL,kBAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AA/B7B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAgCI,QAAQ;;0BAAI,MAAM;2BAAC,kBAAkB,CAAA;;;AClC1C;MACa,gBAAgB,CAAA;AAK3B,IAAA,WAAA,CAAqB,gBAAkC,EAAA;QAAlC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;KACtD;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,MAAM,KAAI;AACtF,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACvB,SAAC,CAAC,CAAA;KACH;IAED,WAAW,GAAA;QACT,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,sBAAsB,EAAE,WAAW,EAAE,CAAC;KAC5C;+GAxBU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,oFCZ7B,4BACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FDWa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,SAAS;+BACE,UAAU,EAAA,QAAA,EAAA,4BAAA,EAAA,CAAA;oGAMX,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;IEZI,oBAGX;AAHD,CAAA,UAAY,mBAAmB,EAAA;AAC7B,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,mBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACb,CAAC,EAHW,mBAAmB,KAAnB,mBAAmB,GAG9B,EAAA,CAAA,CAAA;;MCKY,iBAAiB,CAAA;AAL9B,IAAA,WAAA,GAAA;QAMW,IAAY,CAAA,YAAA,GAAG,0BAA0B,CAAC;AAQpD,KAAA;;AAHC,IAAA,eAAe,CAAC,IAAS,EAAA;AACvB,QAAA,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC;KACjC;+GARU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,uFCT9B,sTAMA,EAAA,MAAA,EAAA,CAAA,oIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FDGa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;+BACE,eAAe,EAAA,QAAA,EAAA,sTAAA,EAAA,MAAA,EAAA,CAAA,oIAAA,CAAA,EAAA,CAAA;8BAOhB,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;MEHK,qBAAqB,CAAA;AAWhC,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,SAAS,KAAK,mBAAmB,CAAC,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;KACzE;AAED,IAAA,IAAI,mBAAmB,GAAA;AACrB,QAAA,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,mBAAmB,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa;AAC1E,cAAE,cAAc,GAAG,aAAa,CAAC;KACpC;IAED,WAA6B,CAAA,iBAAoC,EAC9C,kBAA0C,EAAA;QADhC,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QAC9C,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAwB;QAjBpD,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;QA4B1B,IAA0B,CAAA,0BAAA,GAAG,CAAC,4BAAoC,KAAK,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;KAX9C;IAElE,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KACpE;IAED,SAAS,CAAC,KAAiB,EAAE,IAAoB,EAAA;QAC/C,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;KAClE;IAID,WAAW,GAAA;QACT,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;KAC/D;+GApCU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,sMCTlC,87BAeA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,sRAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,kTAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,6NAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FDNa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,oBAAoB,EAAA,QAAA,EAAA,87BAAA,EAAA,CAAA;6IAKrB,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;MEJK,qBAAqB,CAAA;AALlC,IAAA,WAAA,GAAA;AAMW,QAAA,IAAA,CAAA,SAAS,GAAwB,mBAAmB,CAAC,MAAM,CAAC;QAC5D,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC;QAErB,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;QAEjB,IAAK,CAAA,KAAA,GAAqB,EAAE,CAAC;AAG5B,QAAA,IAAA,CAAA,YAAY,GAAiC,IAAI,YAAY,EAAkB,CAAC;AA8B3F,KAAA;AA5BC,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC;KAClC;AAED,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC;KACtC;AAGD,IAAA,IAAI,mBAAmB,GAAA;AACrB,QAAA,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,mBAAmB,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa;AAC1E,cAAE,cAAc,GAAG,aAAa,CAAC;KACpC;AAED,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,SAAS,KAAK,mBAAmB,CAAC,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;KACzE;IAED,gBAAgB,CAAC,KAAiB,EAAE,QAAwB,EAAA;;QAE1D,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;AAC5C,YAAA,QAAQ,CAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACxC,SAAA;AAED,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAClC;+GAtCU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAArB,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVlC,83EAuCc,EAAA,MAAA,EAAA,CAAA,yzEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,IAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,sRAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,kTAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,6NAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED7BD,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,eAAA,EAAA,YAAA,EAAA,WAAA,EAAA,OAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,iBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,eAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,gBAAgB,EAAA,QAAA,EAAA,83EAAA,EAAA,MAAA,EAAA,CAAA,yzEAAA,CAAA,EAAA,CAAA;8BAKjB,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAEI,YAAY,EAAA,CAAA;sBAArB,MAAM;;;MEJI,oBAAoB,CAAA;IAO/B,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE;IACrC,IAAa,MAAM,CAAC,KAAsB,EAAA;AACxC,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,OAAO;AACR,SAAA;QAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;KACxC;IAGD,IAAI,YAAY,GAAK,EAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE;AAIjE,IAAA,WAAA,CACqB,MAAc,EAC0B,gBAAkC,EAC5E,gBAAkC,EAAA;QAFhC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QAC0B,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAC5E,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;AAzB5C,QAAA,IAAA,CAAA,SAAS,GAAwB,mBAAmB,CAAC,MAAM,CAAC;QAC5D,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC;AACpB,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAAE,CAAC;QAkBlC,IAAa,CAAA,aAAA,GAAmB,EAAE,CAAC;KAMnD;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;KACpC;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;KACtD;AAED,IAAA,eAAe,CAAC,OAAwB,EAAA;AACtC,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE;AAC5B,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,OAAO;AACR,SAAA;;QAGD,IAAI,OAAO,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AAC/C,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;AACjC,SAAA;AAED,QAAA,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAC5E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AACrC,SAAA;AACI,aAAA;YACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACpC,SAAA;KACF;AAvDU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,0CA0BT,kBAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AA1B7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,mMCfjC,yeAQe,EAAA,MAAA,EAAA,CAAA,kEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,eAAA,EAAA,YAAA,EAAA,WAAA,EAAA,OAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FDOF,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,cAAc,EAAA,QAAA,EAAA,yeAAA,EAAA,MAAA,EAAA,CAAA,kEAAA,CAAA,EAAA,CAAA;;0BA8BrB,QAAQ;;0BAAI,MAAM;2BAAC,kBAAkB,CAAA;wEAxB/B,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACI,mBAAmB,EAAA,CAAA;sBAA5B,MAAM;gBAIM,MAAM,EAAA,CAAA;sBAAlB,KAAK;;;AERF,MAAO,oBAAqB,SAAQ,gBAAgB,CAAA;AAkCxD,IAAA,IAAI,aAAa,GAAA;QACf,OAAO,IAAI,CAAC,SAAS;cACjB,IAAI,CAAC,YAAY,CAAC,iBAAiB,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ;AACnE,cAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;KAChC;AAED,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;KAC5F;AAED,IAAA,WAAA,CAAmB,iBAAoC,EAC5C,UAAsB,EACtB,SAA2B,EACI,gBAAkC,EAAA;QAC1E,KAAK,CAAC,SAAS,CAAC,CAAC;QAJA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QAC5C,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACtB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkB;QA7C7B,IAA2B,CAAA,2BAAA,GAAG,6BAA6B,CAAC;;QAGpD,IAA2B,CAAA,2BAAA,GAAG,cAAc,CAAC;QAC7C,IAA6B,CAAA,6BAAA,GAAG,QAAQ,CAAC;QACzC,IAA6B,CAAA,6BAAA,GAAG,kBAAkB,CAAA;AAE1D,QAAA,IAAA,CAAA,yBAAyB,GAAmB;YACnD,OAAO,EAAE,IAAI,CAAC,6BAA6B;AAC3C,YAAA,UAAU,EAAE,EAAE;SACf,CAAA;AAEQ,QAAA,IAAA,CAAA,sBAAsB,GAAmB;YAChD,OAAO,EAAE,IAAI,CAAC,2BAA2B;AACzC,YAAA,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,6BAA6B,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;SAC3E,CAAA;AAEQ,QAAA,IAAA,CAAA,wBAAwB,GAAmB;YAClD,OAAO,EAAE,IAAI,CAAC,2BAA2B;AACzC,YAAA,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,6BAA6B,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;SAC7E,CAAA;;AAGQ,QAAA,IAAA,CAAA,YAAY,GAAoB;AACvC,YAAA,aAAa,EAAE,SAAS;AACxB,YAAA,cAAc,EAAE,KAAK;AACrB,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,iBAAiB,EAAE,EAAE;AACrB,YAAA,aAAa,EAAE,KAAK;SACrB,CAAA;QAED,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAiBhB,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,OAAO,IAAI,EAAE,CAAC;KAC/C;IAEQ,QAAQ,GAAA;QACf,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,2BAA2B,EAAE,CAAC;KACpC;AAED,IAAA,SAAS,CAAC,KAAiB,EAAA;AACzB,QAAA,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;KAC/C;IAED,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,2BAA2B,EAAE,CAAC;KACpC;IAEO,2BAA2B,GAAA;AACjC,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;YACjC,OAAO;AACR,SAAA;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;KAClH;IAEO,2BAA2B,GAAA;AACjC,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;YACjC,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;KACnG;AA/EU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,0GA+CT,kBAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AA/C7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,0HCfjC,swCAuBQ,EAAA,MAAA,EAAA,CAAA,4sBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAR,IAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,kTAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,gNAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAS,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAR,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAS,oBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,eAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FDRK,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,swCAAA,EAAA,MAAA,EAAA,CAAA,4sBAAA,CAAA,EAAA,CAAA;;0BAmD1B,QAAQ;;0BAAI,MAAM;2BAAC,kBAAkB,CAAA;4CAvB/B,YAAY,EAAA,CAAA;sBAApB,KAAK;;;AE7BF,MAAO,qBAAsB,SAAQ,gBAAgB,CAAA;AAUzD,IAAA,WAAA,CAAqB,SAA2B,EAAA;QAC9C,KAAK,CAAC,SAAS,CAAC,CAAC;QADE,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkB;AATvC,QAAA,IAAA,CAAA,kBAAkB,GAAuB;AAChD,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,UAAU,EAAE,IAAI;SACjB,CAAA;;;AAIS,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAAO,CAAC;KAIpD;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAClC;+GAhBU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAd,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,0LCVlC,q4BAiBM,EAAA,MAAA,EAAA,CAAA,iSAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,IAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,kTAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,gNAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAW,oBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,eAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAV,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FDPO,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,oBAAoB,EAAA,QAAA,EAAA,q4BAAA,EAAA,MAAA,EAAA,CAAA,iSAAA,CAAA,EAAA,CAAA;oGAKrB,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBAOI,gBAAgB,EAAA,CAAA;sBAAzB,MAAM;;;AElBF,MAAM,QAAQ,GAAG,CAAA;;;;;CAKvB;;ICLW,eAIX;AAJD,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,cAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EAJW,cAAc,KAAd,cAAc,GAIzB,EAAA,CAAA,CAAA;;MCSY,qBAAqB,CAAA;IAsBhC,WAA6B,CAAA,WAAwB,EAClC,MAAc,EAAA;QADJ,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAClC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;AArBxB,QAAA,IAAA,CAAA,YAAY,GAAqB;YACxC,cAAc,EAAE,cAAc,CAAC,IAAI;SACpC,CAAA;AACQ,QAAA,IAAA,CAAA,kBAAkB,GAAuB;AAChD,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,UAAU,EAAE,IAAI;SACjB,CAAA;AAEQ,QAAA,IAAA,CAAA,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC;QAE7C,IAAY,CAAA,YAAA,GAAmB,EAAE,CAAC;QAEzB,IAAQ,CAAA,QAAA,GAAG,eAAe,CAAC;AAC3B,QAAA,IAAA,CAAA,oBAAoB,GAAG,cAAc,CAAC,IAAI,CAAC;AAC3C,QAAA,IAAA,CAAA,oBAAoB,GAAG,cAAc,CAAC,IAAI,CAAC;AAC3C,QAAA,IAAA,CAAA,eAAe,GAAmB;AACzC,YAAA,OAAO,EAAE,cAAc;SACxB,CAAC;KAKD;IACD,QAAQ,GAAA;AACN,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AAC5E,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvC,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;IAED,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC;KAC/B;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;KACjD;IAEO,YAAY,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;AAC9B,YAAA,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AACjF,SAAA;AACI,aAAA;AACH,YAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,CAAC;AAC/D,SAAA;KACF;+GA/CU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAJ,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,kRCblC,kvCAsBW,EAAA,MAAA,EAAA,CAAA,uhBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,sRAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,kTAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,sRAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAS,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAR,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAT,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAe,qBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FDTE,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,oBAAoB,EAAA,QAAA,EAAA,kvCAAA,EAAA,MAAA,EAAA,CAAA,uhBAAA,CAAA,EAAA,CAAA;yHAKJ,WAAW,EAAA,CAAA;sBAApC,SAAS;uBAAC,aAAa,CAAA;gBACf,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAGG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBAMG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MEqCK,UAAU,CAAA;IACrB,OAAO,OAAO,CAAC,MAAwB,EAAA;QACrC,OAAO;AACL,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,SAAS,EAAE;AACT,gBAAA,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,EAAE;AAClD,aAAA;SACF,CAAC;KACH;+GARU,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,iBAlCnB,oBAAoB;YACpB,qBAAqB;YACrB,qBAAqB;YACrB,gBAAgB;YAChB,qBAAqB;YACrB,oBAAoB;YACpB,iBAAiB;AACjB,YAAA,qBAAqB,aAMrB,gBAAgB;YAChB,gBAAgB;YAChB,YAAY;YACZ,YAAY;YACZ,gBAAgB;YAChB,eAAe;YACf,aAAa;YACb,eAAe;YACf,aAAa;YACb,aAAa;YACb,aAAa;YACb,eAAe;AACf,YAAA,eAAe,aAGf,oBAAoB;YACpB,qBAAqB;YACrB,qBAAqB;YACrB,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,EAzBV,SAAA,EAAA;YACT,iBAAiB;AAClB,SAAA,EAAA,OAAA,EAAA,CAEC,gBAAgB;YAChB,gBAAgB;YAChB,YAAY;YACZ,YAAY;YACZ,gBAAgB;YAChB,eAAe;YACf,aAAa;YACb,eAAe;YACf,aAAa;YACb,aAAa;YACb,aAAa;YACb,eAAe;YACf,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;;4FASN,UAAU,EAAA,UAAA,EAAA,CAAA;kBApCtB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,oBAAoB;wBACpB,qBAAqB;wBACrB,qBAAqB;wBACrB,gBAAgB;wBAChB,qBAAqB;wBACrB,oBAAoB;wBACpB,iBAAiB;wBACjB,qBAAqB;AACtB,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT,iBAAiB;AAClB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,gBAAgB;wBAChB,gBAAgB;wBAChB,YAAY;wBACZ,YAAY;wBACZ,gBAAgB;wBAChB,eAAe;wBACf,aAAa;wBACb,eAAe;wBACf,aAAa;wBACb,aAAa;wBACb,aAAa;wBACb,eAAe;wBACf,eAAe;AAChB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,oBAAoB;wBACpB,qBAAqB;wBACrB,qBAAqB;wBACrB,oBAAoB;AACrB,qBAAA;AACF,iBAAA,CAAA;;;AC5DD;;AAEG;;ACFH;;AAEG;;;;"}
|