@acorex/components 20.7.19 → 20.7.20

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.
@@ -484,7 +484,7 @@ class AXSideMenuComponent extends NXComponent {
484
484
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXSideMenuComponent, isStandalone: true, selector: "ax-side-menu", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null }, location: { classPropertyName: "location", publicName: "location", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { items: "itemsChange" }, host: { properties: { "class": "this.__hostClass" } }, providers: [
485
485
  { provide: AXComponent, useExisting: AXSideMenuComponent },
486
486
  { provide: AXSideMenuBase, useExisting: AXSideMenuComponent },
487
- ], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-side-menu-item,ax-title,ng-container,[ngTemplateOutlet]\"></ng-content>\n\n@for (node of items(); track node) {\n <ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ $implicit: node }\"> </ng-container>\n}\n<ng-template #Recursion let-item>\n @if (item.title) {\n <ax-title>{{ item.title }}</ax-title>\n }\n @if (item.routerLink) {\n <ax-side-menu-item\n [text]=\"item.text\"\n [target]=\"item.target\"\n [disabled]=\"item.disabled\"\n [isLoading]=\"item.isLoading\"\n [routerLink]=\"item.routerLink\"\n [isCollapsed]=\"item.isCollapsed\"\n [toggleOnClick]=\"item.toggleOnClick\"\n [routerLinkActive]=\"item.routerLinkActive\"\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions\"\n >\n <ng-container [ngTemplateOutlet]=\"sideMenuItemContent\"></ng-container>\n </ax-side-menu-item>\n } @else if (item.href) {\n <ax-side-menu-item\n [text]=\"item.text\"\n [href]=\"item.href\"\n [target]=\"item.target\"\n [active]=\"item.active\"\n [disabled]=\"item.disabled\"\n [isLoading]=\"item.isLoading\"\n [isCollapsed]=\"item.isCollapsed\"\n [toggleOnClick]=\"item.toggleOnClick\"\n >\n <ng-container [ngTemplateOutlet]=\"sideMenuItemContent\"></ng-container>\n </ax-side-menu-item>\n } @else {\n <ax-side-menu-item\n [text]=\"item.text\"\n [active]=\"item.active\"\n [disabled]=\"item.disabled\"\n [isLoading]=\"item.isLoading\"\n [isCollapsed]=\"item.isCollapsed\"\n [toggleOnClick]=\"item.toggleOnClick\"\n >\n <ng-container [ngTemplateOutlet]=\"sideMenuItemContent\"></ng-container>\n </ax-side-menu-item>\n }\n\n <ng-template #sideMenuItemContent>\n <ax-prefix>\n @if (item.icon) {\n <ax-icon [icon]=\"item.icon\"> </ax-icon>\n }\n </ax-prefix>\n @if (item.data) {\n <ax-text>{{ item.data }}</ax-text>\n }\n @if (item.suffixText) {\n <ax-suffix>\n <ax-text>{{ item.suffixText }}</ax-text>\n </ax-suffix>\n }\n @for (child of item.items; track child) {\n <ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ $implicit: child }\"></ng-container>\n }\n </ng-template>\n</ng-template>\n", styles: [":root{--ax-comp-side-menu-indicator-size: 2px}ax-side-menu{display:flex;width:100%;flex-direction:column;gap:.5rem;color:inherit;font-size:.875rem;line-height:1.25rem;-webkit-user-select:none;user-select:none}ax-side-menu>ax-title{display:block;margin-block:.5rem;padding:.25rem .75rem;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;opacity:.5}ax-side-menu ax-side-menu-item ax-title{display:block;margin-block:.5rem;margin-top:.5rem;padding-inline:.75rem;padding-bottom:.25rem;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;opacity:.5}ax-side-menu ax-side-menu-item ax-divider{display:block;width:100%;height:1px;margin-block:.25rem;background-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-side-menu ax-side-menu-item .ax-side-item{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 1rem;font-size:inherit;font-weight:500}ax-side-menu ax-side-menu-item .ax-side-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-side-menu ax-side-menu-item .ax-side-item.ax-state-disabled .ax-ripple{opacity:0}ax-side-menu ax-side-menu-item .ax-side-item:hover:not(ax-side-menu ax-side-menu-item .ax-side-item:hover.ax-state-disabled,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active.ax-state-disabled) ax-loading ax-loading-spinner span,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active:not(ax-side-menu ax-side-menu-item .ax-side-item:hover.ax-state-disabled,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active.ax-state-disabled) ax-loading ax-loading-spinner span{border-color:rgba(var(--ax-sys-color-on-primary-surface))}ax-side-menu ax-side-menu-item .ax-side-item .ax-start-side,ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side{display:flex;align-items:center}ax-side-menu ax-side-menu-item .ax-side-item .ax-start-side{gap:.5rem}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side{gap:.5rem}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon{display:block;transition-property:rotate;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:90deg}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side ax-loading ax-loading-spinner span{border-color:rgba(var(--ax-sys-color-on-primary-surface))}ax-side-menu ax-side-menu-item .ax-side-item .ax-ripple{background-color:rgba(var(--ax-sys-color-on-surface),.3)!important}ax-side-menu ax-side-menu-item .ax-side-children{display:grid;grid-template-rows:1fr;padding-inline-start:1.25rem;opacity:1;transition-property:grid-template-rows,opacity;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu ax-side-menu-item .ax-side-children.ax-collapsed{grid-template-rows:0fr;opacity:0}ax-side-menu ax-side-menu-item .ax-side-children.ax-empty{display:none}ax-side-menu ax-side-menu-item .ax-side-children .ax-side-children-content{overflow:hidden}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item:first-child{padding-top:.5rem}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item:first-child ax-title{margin-top:1rem}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item .ax-side-item{font-weight:400}ax-side-menu ax-side-menu-item .ax-side-children-content{display:flex;flex-direction:column;gap:.5rem}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item{border-radius:var(--ax-sys-border-radius)}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item:hover:not(ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-surface))}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line,ax-side-menu.ax-look-with-line-color{gap:0}ax-side-menu.ax-look-with-line .ax-ripple,ax-side-menu.ax-look-with-line-color .ax-ripple{display:none}ax-side-menu.ax-look-with-line.ax-location-start .ax-side-children:before,ax-side-menu.ax-look-with-line.ax-location-start .ax-side-item:before,ax-side-menu.ax-look-with-line-color.ax-location-start .ax-side-children:before,ax-side-menu.ax-look-with-line-color.ax-location-start .ax-side-item:before{inset-inline-start:0;width:calc(var(--ax-comp-side-menu-indicator-size, 2px) / 2)}ax-side-menu.ax-look-with-line.ax-location-end .ax-side-children:before,ax-side-menu.ax-look-with-line.ax-location-end .ax-side-item:before,ax-side-menu.ax-look-with-line-color.ax-location-end .ax-side-children:before,ax-side-menu.ax-look-with-line-color.ax-location-end .ax-side-item:before{inset-inline-end:0;width:calc(var(--ax-comp-side-menu-indicator-size, 2px) / 2)}ax-side-menu.ax-look-with-line ax-side-menu-item,ax-side-menu.ax-look-with-line .ax-side-children,ax-side-menu.ax-look-with-line .ax-side-item,ax-side-menu.ax-look-with-line-color ax-side-menu-item,ax-side-menu.ax-look-with-line-color .ax-side-children,ax-side-menu.ax-look-with-line-color .ax-side-item{position:relative}ax-side-menu.ax-look-with-line ax-side-menu-item:before,ax-side-menu.ax-look-with-line .ax-side-children:before,ax-side-menu.ax-look-with-line .ax-side-item:before,ax-side-menu.ax-look-with-line-color ax-side-menu-item:before,ax-side-menu.ax-look-with-line-color .ax-side-children:before,ax-side-menu.ax-look-with-line-color .ax-side-item:before{position:absolute;height:100%;background-color:rgba(var(--ax-sys-color-border-lightest-surface));content:\"\";transition-property:width;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu.ax-look-with-line .ax-side-item:hover:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled),ax-side-menu.ax-look-with-line-color .ax-side-item:hover:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled),ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled):before,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled):before{position:absolute;width:var(--ax-comp-side-menu-indicator-size, 2px);height:100%;background-color:rgba(var(--ax-comp-side-menu-indicator-active-color, var(--ax-comp-side-menu-bg-color, var(--ax-sys-color-primary-surface))));content:\"\"}ax-side-menu.ax-look-with-line .ax-side-children,ax-side-menu.ax-look-with-line-color .ax-side-children{gap:0}ax-side-menu.ax-look-with-line .ax-side-children ax-side-menu-item:first-child,ax-side-menu.ax-look-with-line-color .ax-side-children ax-side-menu-item:first-child{padding-top:0}ax-side-menu.ax-look-with-line-color .ax-side-item:hover:not(ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-primary-surface),.1)}ax-side-menu.ax-look-default{gap:.25rem}ax-side-menu.ax-look-default ax-icon{opacity:.6}ax-side-menu.ax-look-default .ax-side-item{padding:.5rem 1rem;border-radius:var(--ax-sys-border-radius)}ax-side-menu.ax-look-default .ax-side-item:hover:not(ax-side-menu.ax-look-default .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-surface),.5)}ax-side-menu.ax-look-default .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-default .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-surface),.1)}ax-side-menu.ax-look-default .ax-side-children{position:relative;gap:.25rem;padding-inline-start:2.25rem}ax-side-menu.ax-look-default .ax-side-children:before{position:absolute;width:1px;height:100%;margin-inline-start:1.5rem;background-color:rgba(var(--ax-sys-color-border-light-surface));content:\"\"}ax-side-menu.ax-look-default .ax-side-children ax-side-menu-item .ax-side-item{padding:.25rem .5rem}ax-side-menu.ax-look-default .ax-side-children ax-side-menu-item:first-child{padding-top:0}ax-side-menu.ax-mode-compact .ax-side-menu-wrapper{width:fit-content}ax-side-menu.ax-mode-compact>ax-side-menu-item>.ax-side-children{display:none}ax-side-menu.ax-mode-compact>ax-side-menu-item>ax-popover.ax-side-menu-children-popover .ax-side-children-content{display:none}ax-side-menu.ax-mode-compact .ax-inside-text{display:none}ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item:hover:not(ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-darker-surface, var(--ax-sys-color-surface)))}ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-active:not(ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-mode-compact ax-side-menu-item{position:relative;padding:.125rem!important;display:flex;justify-content:center;width:100%}ax-side-menu.ax-mode-compact ax-side-menu-item ax-icon{font-size:1.4rem}ax-side-menu.ax-mode-compact .ax-side-item{width:fit-content;display:block}[dir=rtl] ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon:before{scale:-1 1}[dir=rtl] ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:-90deg}.ax-side-menu-popover{color:inherit;font-size:.875rem;line-height:1.25rem;-webkit-user-select:none;user-select:none}.ax-side-menu-popover .ax-side-children-content{display:flex;min-width:10rem;flex-direction:column;gap:.25rem;overflow:visible;border-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-surface));padding:.25rem}.ax-side-menu-popover ax-side-menu-item{position:relative;display:block;width:100%;padding:0}.ax-side-menu-popover ax-side-menu-item .ax-side-children.ax-empty{display:none}.ax-side-menu-popover ax-side-menu-item>ax-popover.ax-side-menu-children-popover>.ax-side-menu-popover-host{display:none}.ax-side-menu-popover ax-side-menu-item .ax-side-item{position:relative;display:flex;width:100%;cursor:pointer;align-items:center;justify-content:space-between;gap:.75rem;border-radius:var(--ax-sys-border-radius);padding:.5rem .75rem;font-weight:400;white-space:nowrap}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-start-side,.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side{display:flex;align-items:center;gap:.5rem}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon{display:block;rotate:90deg;transition-property:rotate;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:0deg}.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item:hover:not(.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-darker-surface, var(--ax-sys-color-surface)))}.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-active:not(.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXSideMenuItemComponent, selector: "ax-side-menu-item", inputs: ["disabled", "text", "active", "isLoading", "isCollapsed", "tooltipText", "toggleOnClick", "href", "routerLink", "routerLinkActive", "routerLinkActiveOptions", "target"], outputs: ["textChange", "activeChange", "isLoadingChange", "isCollapsedChange", "onClick"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
487
+ ], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-side-menu-item,ax-title,ng-container,[ngTemplateOutlet]\"></ng-content>\n\n@for (node of items(); track node) {\n <ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ $implicit: node }\"> </ng-container>\n}\n<ng-template #Recursion let-item>\n @if (item.title) {\n <ax-title>{{ item.title }}</ax-title>\n }\n @if (item.routerLink) {\n <ax-side-menu-item\n [text]=\"item.text\"\n [target]=\"item.target\"\n [disabled]=\"item.disabled\"\n [isLoading]=\"item.isLoading\"\n [routerLink]=\"item.routerLink\"\n [isCollapsed]=\"item.isCollapsed\"\n [toggleOnClick]=\"item.toggleOnClick\"\n [routerLinkActive]=\"item.routerLinkActive\"\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions\"\n >\n <ng-container [ngTemplateOutlet]=\"sideMenuItemContent\"></ng-container>\n </ax-side-menu-item>\n } @else if (item.href) {\n <ax-side-menu-item\n [text]=\"item.text\"\n [href]=\"item.href\"\n [target]=\"item.target\"\n [active]=\"item.active\"\n [disabled]=\"item.disabled\"\n [isLoading]=\"item.isLoading\"\n [isCollapsed]=\"item.isCollapsed\"\n [toggleOnClick]=\"item.toggleOnClick\"\n >\n <ng-container [ngTemplateOutlet]=\"sideMenuItemContent\"></ng-container>\n </ax-side-menu-item>\n } @else {\n <ax-side-menu-item\n [text]=\"item.text\"\n [active]=\"item.active\"\n [disabled]=\"item.disabled\"\n [isLoading]=\"item.isLoading\"\n [isCollapsed]=\"item.isCollapsed\"\n [toggleOnClick]=\"item.toggleOnClick\"\n >\n <ng-container [ngTemplateOutlet]=\"sideMenuItemContent\"></ng-container>\n </ax-side-menu-item>\n }\n\n <ng-template #sideMenuItemContent>\n <ax-prefix>\n @if (item.icon) {\n <ax-icon [icon]=\"item.icon\"> </ax-icon>\n }\n </ax-prefix>\n @if (item.data) {\n <ax-text>{{ item.data }}</ax-text>\n }\n @if (item.suffixText) {\n <ax-suffix>\n <ax-text>{{ item.suffixText }}</ax-text>\n </ax-suffix>\n }\n @for (child of item.items; track child) {\n <ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ $implicit: child }\"></ng-container>\n }\n </ng-template>\n</ng-template>\n", styles: [":root{--ax-comp-side-menu-indicator-size: 2px}ax-side-menu{display:flex;width:100%;flex-direction:column;gap:.5rem;color:inherit;font-size:.875rem;line-height:1.25rem;-webkit-user-select:none;user-select:none}ax-side-menu>ax-title{display:block;margin-block:.5rem;padding:.25rem .75rem;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;opacity:.5}ax-side-menu ax-side-menu-item ax-title{display:block;margin-block:.5rem;margin-top:.5rem;padding-inline:.75rem;padding-bottom:.25rem;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;opacity:.5}ax-side-menu ax-side-menu-item ax-divider{display:block;width:100%;height:1px;margin-block:.25rem;background-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-side-menu ax-side-menu-item .ax-side-item{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 1rem;font-size:inherit;font-weight:500}ax-side-menu ax-side-menu-item .ax-side-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-side-menu ax-side-menu-item .ax-side-item.ax-state-disabled .ax-ripple{opacity:0}ax-side-menu ax-side-menu-item .ax-side-item:hover:not(ax-side-menu ax-side-menu-item .ax-side-item:hover.ax-state-disabled,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active.ax-state-disabled) ax-loading ax-loading-spinner span,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active:not(ax-side-menu ax-side-menu-item .ax-side-item:hover.ax-state-disabled,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active.ax-state-disabled) ax-loading ax-loading-spinner span{border-color:rgba(var(--ax-sys-color-on-primary-surface))}ax-side-menu ax-side-menu-item .ax-side-item .ax-start-side,ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side{display:flex;align-items:center}ax-side-menu ax-side-menu-item .ax-side-item .ax-start-side{gap:.5rem}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side{gap:.5rem}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon{display:block;transition-property:rotate;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:90deg}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side ax-loading ax-loading-spinner span{border-color:rgba(var(--ax-sys-color-on-primary-surface))}ax-side-menu ax-side-menu-item .ax-side-item .ax-ripple{background-color:rgba(var(--ax-sys-color-on-surface),.3)!important}ax-side-menu ax-side-menu-item .ax-side-children{display:grid;grid-template-rows:1fr;padding-inline-start:1.25rem;opacity:1;transition-property:grid-template-rows,opacity;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu ax-side-menu-item .ax-side-children.ax-collapsed{grid-template-rows:0fr;opacity:0}ax-side-menu ax-side-menu-item .ax-side-children.ax-empty{display:none}ax-side-menu ax-side-menu-item .ax-side-children .ax-side-children-content{overflow:hidden}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item:first-child{padding-top:.5rem}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item:first-child ax-title{margin-top:1rem}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item .ax-side-item{font-weight:400}ax-side-menu ax-side-menu-item .ax-side-children-content{display:flex;flex-direction:column;gap:.5rem}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item{border-radius:var(--ax-sys-border-radius)}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item:hover:not(ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-surface))}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line,ax-side-menu.ax-look-with-line-color{gap:0}ax-side-menu.ax-look-with-line .ax-ripple,ax-side-menu.ax-look-with-line-color .ax-ripple{display:none}ax-side-menu.ax-look-with-line.ax-location-start .ax-side-children:before,ax-side-menu.ax-look-with-line.ax-location-start .ax-side-item:before,ax-side-menu.ax-look-with-line-color.ax-location-start .ax-side-children:before,ax-side-menu.ax-look-with-line-color.ax-location-start .ax-side-item:before{inset-inline-start:0;width:calc(var(--ax-comp-side-menu-indicator-size, 2px) / 2)}ax-side-menu.ax-look-with-line.ax-location-end .ax-side-children:before,ax-side-menu.ax-look-with-line.ax-location-end .ax-side-item:before,ax-side-menu.ax-look-with-line-color.ax-location-end .ax-side-children:before,ax-side-menu.ax-look-with-line-color.ax-location-end .ax-side-item:before{inset-inline-end:0;width:calc(var(--ax-comp-side-menu-indicator-size, 2px) / 2)}ax-side-menu.ax-look-with-line ax-side-menu-item,ax-side-menu.ax-look-with-line .ax-side-children,ax-side-menu.ax-look-with-line .ax-side-item,ax-side-menu.ax-look-with-line-color ax-side-menu-item,ax-side-menu.ax-look-with-line-color .ax-side-children,ax-side-menu.ax-look-with-line-color .ax-side-item{position:relative}ax-side-menu.ax-look-with-line ax-side-menu-item:before,ax-side-menu.ax-look-with-line .ax-side-children:before,ax-side-menu.ax-look-with-line .ax-side-item:before,ax-side-menu.ax-look-with-line-color ax-side-menu-item:before,ax-side-menu.ax-look-with-line-color .ax-side-children:before,ax-side-menu.ax-look-with-line-color .ax-side-item:before{position:absolute;height:100%;background-color:rgba(var(--ax-sys-color-border-lightest-surface));content:\"\";transition-property:width;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu.ax-look-with-line .ax-side-item:hover:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled),ax-side-menu.ax-look-with-line-color .ax-side-item:hover:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled),ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled):before,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled):before{position:absolute;width:var(--ax-comp-side-menu-indicator-size, 2px);height:100%;background-color:rgba(var(--ax-comp-side-menu-indicator-active-color, var(--ax-comp-side-menu-bg-color, var(--ax-sys-color-primary-surface))));content:\"\"}ax-side-menu.ax-look-with-line .ax-side-children,ax-side-menu.ax-look-with-line-color .ax-side-children{gap:0}ax-side-menu.ax-look-with-line .ax-side-children ax-side-menu-item:first-child,ax-side-menu.ax-look-with-line-color .ax-side-children ax-side-menu-item:first-child{padding-top:0}ax-side-menu.ax-look-with-line-color .ax-side-item:hover:not(ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-primary-surface),.1)}ax-side-menu.ax-look-default{gap:.25rem}ax-side-menu.ax-look-default ax-icon{opacity:.6}ax-side-menu.ax-look-default .ax-side-item{padding:.5rem 1rem;border-radius:var(--ax-sys-border-radius)}ax-side-menu.ax-look-default .ax-side-item:hover:not(ax-side-menu.ax-look-default .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-surface),.5)}ax-side-menu.ax-look-default .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-default .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-surface),.1)}ax-side-menu.ax-look-default .ax-side-children{position:relative;gap:.25rem;padding-inline-start:2.25rem}ax-side-menu.ax-look-default .ax-side-children:before{position:absolute;width:1px;height:100%;margin-inline-start:1.5rem;background-color:rgba(var(--ax-sys-color-border-light-surface));content:\"\"}ax-side-menu.ax-look-default .ax-side-children ax-side-menu-item .ax-side-item{padding:.25rem .5rem}ax-side-menu.ax-look-default .ax-side-children ax-side-menu-item:first-child{padding-top:0}ax-side-menu.ax-mode-compact .ax-side-menu-wrapper{width:fit-content}ax-side-menu.ax-mode-compact>ax-side-menu-item>.ax-side-children{display:none}ax-side-menu.ax-mode-compact>ax-side-menu-item>ax-popover.ax-side-menu-children-popover .ax-side-children-content{display:none}ax-side-menu.ax-mode-compact .ax-inside-text{display:none}ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item:hover:not(ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-darker-surface, var(--ax-sys-color-surface)))}ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-active:not(ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-mode-compact ax-side-menu-item{position:relative;padding:.125rem!important;display:flex;justify-content:center;width:100%}ax-side-menu.ax-mode-compact ax-side-menu-item ax-icon{font-size:1.4rem}ax-side-menu.ax-mode-compact ax-badge{position:absolute;top:0}ax-side-menu.ax-mode-compact .ax-side-item{width:fit-content;gap:0}[dir=rtl] ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon:before{scale:-1 1}[dir=rtl] ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:-90deg}.ax-side-menu-popover{color:inherit;font-size:.875rem;line-height:1.25rem;-webkit-user-select:none;user-select:none}.ax-side-menu-popover .ax-side-children-content{display:flex;min-width:10rem;flex-direction:column;gap:.25rem;overflow:visible;border-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-surface));padding:.25rem}.ax-side-menu-popover ax-side-menu-item{position:relative;display:block;width:100%;padding:0}.ax-side-menu-popover ax-side-menu-item .ax-side-children.ax-empty{display:none}.ax-side-menu-popover ax-side-menu-item>ax-popover.ax-side-menu-children-popover>.ax-side-menu-popover-host{display:none}.ax-side-menu-popover ax-side-menu-item .ax-side-item{position:relative;display:flex;width:100%;cursor:pointer;align-items:center;justify-content:space-between;gap:.75rem;border-radius:var(--ax-sys-border-radius);padding:.5rem .75rem;font-weight:400;white-space:nowrap}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-start-side,.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side{display:flex;align-items:center;gap:.5rem}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon{display:block;rotate:90deg;transition-property:rotate;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:0deg}.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item:hover:not(.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-darker-surface, var(--ax-sys-color-surface)))}.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-active:not(.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXSideMenuItemComponent, selector: "ax-side-menu-item", inputs: ["disabled", "text", "active", "isLoading", "isCollapsed", "tooltipText", "toggleOnClick", "href", "routerLink", "routerLinkActive", "routerLinkActiveOptions", "target"], outputs: ["textChange", "activeChange", "isLoadingChange", "isCollapsedChange", "onClick"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
488
488
  }
489
489
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXSideMenuComponent, decorators: [{
490
490
  type: Component,
@@ -498,7 +498,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
498
498
  ], providers: [
499
499
  { provide: AXComponent, useExisting: AXSideMenuComponent },
500
500
  { provide: AXSideMenuBase, useExisting: AXSideMenuComponent },
501
- ], template: "<ng-content select=\"ax-side-menu-item,ax-title,ng-container,[ngTemplateOutlet]\"></ng-content>\n\n@for (node of items(); track node) {\n <ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ $implicit: node }\"> </ng-container>\n}\n<ng-template #Recursion let-item>\n @if (item.title) {\n <ax-title>{{ item.title }}</ax-title>\n }\n @if (item.routerLink) {\n <ax-side-menu-item\n [text]=\"item.text\"\n [target]=\"item.target\"\n [disabled]=\"item.disabled\"\n [isLoading]=\"item.isLoading\"\n [routerLink]=\"item.routerLink\"\n [isCollapsed]=\"item.isCollapsed\"\n [toggleOnClick]=\"item.toggleOnClick\"\n [routerLinkActive]=\"item.routerLinkActive\"\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions\"\n >\n <ng-container [ngTemplateOutlet]=\"sideMenuItemContent\"></ng-container>\n </ax-side-menu-item>\n } @else if (item.href) {\n <ax-side-menu-item\n [text]=\"item.text\"\n [href]=\"item.href\"\n [target]=\"item.target\"\n [active]=\"item.active\"\n [disabled]=\"item.disabled\"\n [isLoading]=\"item.isLoading\"\n [isCollapsed]=\"item.isCollapsed\"\n [toggleOnClick]=\"item.toggleOnClick\"\n >\n <ng-container [ngTemplateOutlet]=\"sideMenuItemContent\"></ng-container>\n </ax-side-menu-item>\n } @else {\n <ax-side-menu-item\n [text]=\"item.text\"\n [active]=\"item.active\"\n [disabled]=\"item.disabled\"\n [isLoading]=\"item.isLoading\"\n [isCollapsed]=\"item.isCollapsed\"\n [toggleOnClick]=\"item.toggleOnClick\"\n >\n <ng-container [ngTemplateOutlet]=\"sideMenuItemContent\"></ng-container>\n </ax-side-menu-item>\n }\n\n <ng-template #sideMenuItemContent>\n <ax-prefix>\n @if (item.icon) {\n <ax-icon [icon]=\"item.icon\"> </ax-icon>\n }\n </ax-prefix>\n @if (item.data) {\n <ax-text>{{ item.data }}</ax-text>\n }\n @if (item.suffixText) {\n <ax-suffix>\n <ax-text>{{ item.suffixText }}</ax-text>\n </ax-suffix>\n }\n @for (child of item.items; track child) {\n <ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ $implicit: child }\"></ng-container>\n }\n </ng-template>\n</ng-template>\n", styles: [":root{--ax-comp-side-menu-indicator-size: 2px}ax-side-menu{display:flex;width:100%;flex-direction:column;gap:.5rem;color:inherit;font-size:.875rem;line-height:1.25rem;-webkit-user-select:none;user-select:none}ax-side-menu>ax-title{display:block;margin-block:.5rem;padding:.25rem .75rem;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;opacity:.5}ax-side-menu ax-side-menu-item ax-title{display:block;margin-block:.5rem;margin-top:.5rem;padding-inline:.75rem;padding-bottom:.25rem;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;opacity:.5}ax-side-menu ax-side-menu-item ax-divider{display:block;width:100%;height:1px;margin-block:.25rem;background-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-side-menu ax-side-menu-item .ax-side-item{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 1rem;font-size:inherit;font-weight:500}ax-side-menu ax-side-menu-item .ax-side-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-side-menu ax-side-menu-item .ax-side-item.ax-state-disabled .ax-ripple{opacity:0}ax-side-menu ax-side-menu-item .ax-side-item:hover:not(ax-side-menu ax-side-menu-item .ax-side-item:hover.ax-state-disabled,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active.ax-state-disabled) ax-loading ax-loading-spinner span,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active:not(ax-side-menu ax-side-menu-item .ax-side-item:hover.ax-state-disabled,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active.ax-state-disabled) ax-loading ax-loading-spinner span{border-color:rgba(var(--ax-sys-color-on-primary-surface))}ax-side-menu ax-side-menu-item .ax-side-item .ax-start-side,ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side{display:flex;align-items:center}ax-side-menu ax-side-menu-item .ax-side-item .ax-start-side{gap:.5rem}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side{gap:.5rem}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon{display:block;transition-property:rotate;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:90deg}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side ax-loading ax-loading-spinner span{border-color:rgba(var(--ax-sys-color-on-primary-surface))}ax-side-menu ax-side-menu-item .ax-side-item .ax-ripple{background-color:rgba(var(--ax-sys-color-on-surface),.3)!important}ax-side-menu ax-side-menu-item .ax-side-children{display:grid;grid-template-rows:1fr;padding-inline-start:1.25rem;opacity:1;transition-property:grid-template-rows,opacity;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu ax-side-menu-item .ax-side-children.ax-collapsed{grid-template-rows:0fr;opacity:0}ax-side-menu ax-side-menu-item .ax-side-children.ax-empty{display:none}ax-side-menu ax-side-menu-item .ax-side-children .ax-side-children-content{overflow:hidden}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item:first-child{padding-top:.5rem}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item:first-child ax-title{margin-top:1rem}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item .ax-side-item{font-weight:400}ax-side-menu ax-side-menu-item .ax-side-children-content{display:flex;flex-direction:column;gap:.5rem}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item{border-radius:var(--ax-sys-border-radius)}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item:hover:not(ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-surface))}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line,ax-side-menu.ax-look-with-line-color{gap:0}ax-side-menu.ax-look-with-line .ax-ripple,ax-side-menu.ax-look-with-line-color .ax-ripple{display:none}ax-side-menu.ax-look-with-line.ax-location-start .ax-side-children:before,ax-side-menu.ax-look-with-line.ax-location-start .ax-side-item:before,ax-side-menu.ax-look-with-line-color.ax-location-start .ax-side-children:before,ax-side-menu.ax-look-with-line-color.ax-location-start .ax-side-item:before{inset-inline-start:0;width:calc(var(--ax-comp-side-menu-indicator-size, 2px) / 2)}ax-side-menu.ax-look-with-line.ax-location-end .ax-side-children:before,ax-side-menu.ax-look-with-line.ax-location-end .ax-side-item:before,ax-side-menu.ax-look-with-line-color.ax-location-end .ax-side-children:before,ax-side-menu.ax-look-with-line-color.ax-location-end .ax-side-item:before{inset-inline-end:0;width:calc(var(--ax-comp-side-menu-indicator-size, 2px) / 2)}ax-side-menu.ax-look-with-line ax-side-menu-item,ax-side-menu.ax-look-with-line .ax-side-children,ax-side-menu.ax-look-with-line .ax-side-item,ax-side-menu.ax-look-with-line-color ax-side-menu-item,ax-side-menu.ax-look-with-line-color .ax-side-children,ax-side-menu.ax-look-with-line-color .ax-side-item{position:relative}ax-side-menu.ax-look-with-line ax-side-menu-item:before,ax-side-menu.ax-look-with-line .ax-side-children:before,ax-side-menu.ax-look-with-line .ax-side-item:before,ax-side-menu.ax-look-with-line-color ax-side-menu-item:before,ax-side-menu.ax-look-with-line-color .ax-side-children:before,ax-side-menu.ax-look-with-line-color .ax-side-item:before{position:absolute;height:100%;background-color:rgba(var(--ax-sys-color-border-lightest-surface));content:\"\";transition-property:width;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu.ax-look-with-line .ax-side-item:hover:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled),ax-side-menu.ax-look-with-line-color .ax-side-item:hover:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled),ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled):before,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled):before{position:absolute;width:var(--ax-comp-side-menu-indicator-size, 2px);height:100%;background-color:rgba(var(--ax-comp-side-menu-indicator-active-color, var(--ax-comp-side-menu-bg-color, var(--ax-sys-color-primary-surface))));content:\"\"}ax-side-menu.ax-look-with-line .ax-side-children,ax-side-menu.ax-look-with-line-color .ax-side-children{gap:0}ax-side-menu.ax-look-with-line .ax-side-children ax-side-menu-item:first-child,ax-side-menu.ax-look-with-line-color .ax-side-children ax-side-menu-item:first-child{padding-top:0}ax-side-menu.ax-look-with-line-color .ax-side-item:hover:not(ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-primary-surface),.1)}ax-side-menu.ax-look-default{gap:.25rem}ax-side-menu.ax-look-default ax-icon{opacity:.6}ax-side-menu.ax-look-default .ax-side-item{padding:.5rem 1rem;border-radius:var(--ax-sys-border-radius)}ax-side-menu.ax-look-default .ax-side-item:hover:not(ax-side-menu.ax-look-default .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-surface),.5)}ax-side-menu.ax-look-default .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-default .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-surface),.1)}ax-side-menu.ax-look-default .ax-side-children{position:relative;gap:.25rem;padding-inline-start:2.25rem}ax-side-menu.ax-look-default .ax-side-children:before{position:absolute;width:1px;height:100%;margin-inline-start:1.5rem;background-color:rgba(var(--ax-sys-color-border-light-surface));content:\"\"}ax-side-menu.ax-look-default .ax-side-children ax-side-menu-item .ax-side-item{padding:.25rem .5rem}ax-side-menu.ax-look-default .ax-side-children ax-side-menu-item:first-child{padding-top:0}ax-side-menu.ax-mode-compact .ax-side-menu-wrapper{width:fit-content}ax-side-menu.ax-mode-compact>ax-side-menu-item>.ax-side-children{display:none}ax-side-menu.ax-mode-compact>ax-side-menu-item>ax-popover.ax-side-menu-children-popover .ax-side-children-content{display:none}ax-side-menu.ax-mode-compact .ax-inside-text{display:none}ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item:hover:not(ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-darker-surface, var(--ax-sys-color-surface)))}ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-active:not(ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-mode-compact ax-side-menu-item{position:relative;padding:.125rem!important;display:flex;justify-content:center;width:100%}ax-side-menu.ax-mode-compact ax-side-menu-item ax-icon{font-size:1.4rem}ax-side-menu.ax-mode-compact .ax-side-item{width:fit-content;display:block}[dir=rtl] ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon:before{scale:-1 1}[dir=rtl] ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:-90deg}.ax-side-menu-popover{color:inherit;font-size:.875rem;line-height:1.25rem;-webkit-user-select:none;user-select:none}.ax-side-menu-popover .ax-side-children-content{display:flex;min-width:10rem;flex-direction:column;gap:.25rem;overflow:visible;border-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-surface));padding:.25rem}.ax-side-menu-popover ax-side-menu-item{position:relative;display:block;width:100%;padding:0}.ax-side-menu-popover ax-side-menu-item .ax-side-children.ax-empty{display:none}.ax-side-menu-popover ax-side-menu-item>ax-popover.ax-side-menu-children-popover>.ax-side-menu-popover-host{display:none}.ax-side-menu-popover ax-side-menu-item .ax-side-item{position:relative;display:flex;width:100%;cursor:pointer;align-items:center;justify-content:space-between;gap:.75rem;border-radius:var(--ax-sys-border-radius);padding:.5rem .75rem;font-weight:400;white-space:nowrap}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-start-side,.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side{display:flex;align-items:center;gap:.5rem}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon{display:block;rotate:90deg;transition-property:rotate;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:0deg}.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item:hover:not(.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-darker-surface, var(--ax-sys-color-surface)))}.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-active:not(.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}\n"] }]
501
+ ], template: "<ng-content select=\"ax-side-menu-item,ax-title,ng-container,[ngTemplateOutlet]\"></ng-content>\n\n@for (node of items(); track node) {\n <ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ $implicit: node }\"> </ng-container>\n}\n<ng-template #Recursion let-item>\n @if (item.title) {\n <ax-title>{{ item.title }}</ax-title>\n }\n @if (item.routerLink) {\n <ax-side-menu-item\n [text]=\"item.text\"\n [target]=\"item.target\"\n [disabled]=\"item.disabled\"\n [isLoading]=\"item.isLoading\"\n [routerLink]=\"item.routerLink\"\n [isCollapsed]=\"item.isCollapsed\"\n [toggleOnClick]=\"item.toggleOnClick\"\n [routerLinkActive]=\"item.routerLinkActive\"\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions\"\n >\n <ng-container [ngTemplateOutlet]=\"sideMenuItemContent\"></ng-container>\n </ax-side-menu-item>\n } @else if (item.href) {\n <ax-side-menu-item\n [text]=\"item.text\"\n [href]=\"item.href\"\n [target]=\"item.target\"\n [active]=\"item.active\"\n [disabled]=\"item.disabled\"\n [isLoading]=\"item.isLoading\"\n [isCollapsed]=\"item.isCollapsed\"\n [toggleOnClick]=\"item.toggleOnClick\"\n >\n <ng-container [ngTemplateOutlet]=\"sideMenuItemContent\"></ng-container>\n </ax-side-menu-item>\n } @else {\n <ax-side-menu-item\n [text]=\"item.text\"\n [active]=\"item.active\"\n [disabled]=\"item.disabled\"\n [isLoading]=\"item.isLoading\"\n [isCollapsed]=\"item.isCollapsed\"\n [toggleOnClick]=\"item.toggleOnClick\"\n >\n <ng-container [ngTemplateOutlet]=\"sideMenuItemContent\"></ng-container>\n </ax-side-menu-item>\n }\n\n <ng-template #sideMenuItemContent>\n <ax-prefix>\n @if (item.icon) {\n <ax-icon [icon]=\"item.icon\"> </ax-icon>\n }\n </ax-prefix>\n @if (item.data) {\n <ax-text>{{ item.data }}</ax-text>\n }\n @if (item.suffixText) {\n <ax-suffix>\n <ax-text>{{ item.suffixText }}</ax-text>\n </ax-suffix>\n }\n @for (child of item.items; track child) {\n <ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ $implicit: child }\"></ng-container>\n }\n </ng-template>\n</ng-template>\n", styles: [":root{--ax-comp-side-menu-indicator-size: 2px}ax-side-menu{display:flex;width:100%;flex-direction:column;gap:.5rem;color:inherit;font-size:.875rem;line-height:1.25rem;-webkit-user-select:none;user-select:none}ax-side-menu>ax-title{display:block;margin-block:.5rem;padding:.25rem .75rem;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;opacity:.5}ax-side-menu ax-side-menu-item ax-title{display:block;margin-block:.5rem;margin-top:.5rem;padding-inline:.75rem;padding-bottom:.25rem;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;opacity:.5}ax-side-menu ax-side-menu-item ax-divider{display:block;width:100%;height:1px;margin-block:.25rem;background-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-side-menu ax-side-menu-item .ax-side-item{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 1rem;font-size:inherit;font-weight:500}ax-side-menu ax-side-menu-item .ax-side-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-side-menu ax-side-menu-item .ax-side-item.ax-state-disabled .ax-ripple{opacity:0}ax-side-menu ax-side-menu-item .ax-side-item:hover:not(ax-side-menu ax-side-menu-item .ax-side-item:hover.ax-state-disabled,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active.ax-state-disabled) ax-loading ax-loading-spinner span,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active:not(ax-side-menu ax-side-menu-item .ax-side-item:hover.ax-state-disabled,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active.ax-state-disabled) ax-loading ax-loading-spinner span{border-color:rgba(var(--ax-sys-color-on-primary-surface))}ax-side-menu ax-side-menu-item .ax-side-item .ax-start-side,ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side{display:flex;align-items:center}ax-side-menu ax-side-menu-item .ax-side-item .ax-start-side{gap:.5rem}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side{gap:.5rem}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon{display:block;transition-property:rotate;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:90deg}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side ax-loading ax-loading-spinner span{border-color:rgba(var(--ax-sys-color-on-primary-surface))}ax-side-menu ax-side-menu-item .ax-side-item .ax-ripple{background-color:rgba(var(--ax-sys-color-on-surface),.3)!important}ax-side-menu ax-side-menu-item .ax-side-children{display:grid;grid-template-rows:1fr;padding-inline-start:1.25rem;opacity:1;transition-property:grid-template-rows,opacity;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu ax-side-menu-item .ax-side-children.ax-collapsed{grid-template-rows:0fr;opacity:0}ax-side-menu ax-side-menu-item .ax-side-children.ax-empty{display:none}ax-side-menu ax-side-menu-item .ax-side-children .ax-side-children-content{overflow:hidden}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item:first-child{padding-top:.5rem}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item:first-child ax-title{margin-top:1rem}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item .ax-side-item{font-weight:400}ax-side-menu ax-side-menu-item .ax-side-children-content{display:flex;flex-direction:column;gap:.5rem}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item{border-radius:var(--ax-sys-border-radius)}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item:hover:not(ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-surface))}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line,ax-side-menu.ax-look-with-line-color{gap:0}ax-side-menu.ax-look-with-line .ax-ripple,ax-side-menu.ax-look-with-line-color .ax-ripple{display:none}ax-side-menu.ax-look-with-line.ax-location-start .ax-side-children:before,ax-side-menu.ax-look-with-line.ax-location-start .ax-side-item:before,ax-side-menu.ax-look-with-line-color.ax-location-start .ax-side-children:before,ax-side-menu.ax-look-with-line-color.ax-location-start .ax-side-item:before{inset-inline-start:0;width:calc(var(--ax-comp-side-menu-indicator-size, 2px) / 2)}ax-side-menu.ax-look-with-line.ax-location-end .ax-side-children:before,ax-side-menu.ax-look-with-line.ax-location-end .ax-side-item:before,ax-side-menu.ax-look-with-line-color.ax-location-end .ax-side-children:before,ax-side-menu.ax-look-with-line-color.ax-location-end .ax-side-item:before{inset-inline-end:0;width:calc(var(--ax-comp-side-menu-indicator-size, 2px) / 2)}ax-side-menu.ax-look-with-line ax-side-menu-item,ax-side-menu.ax-look-with-line .ax-side-children,ax-side-menu.ax-look-with-line .ax-side-item,ax-side-menu.ax-look-with-line-color ax-side-menu-item,ax-side-menu.ax-look-with-line-color .ax-side-children,ax-side-menu.ax-look-with-line-color .ax-side-item{position:relative}ax-side-menu.ax-look-with-line ax-side-menu-item:before,ax-side-menu.ax-look-with-line .ax-side-children:before,ax-side-menu.ax-look-with-line .ax-side-item:before,ax-side-menu.ax-look-with-line-color ax-side-menu-item:before,ax-side-menu.ax-look-with-line-color .ax-side-children:before,ax-side-menu.ax-look-with-line-color .ax-side-item:before{position:absolute;height:100%;background-color:rgba(var(--ax-sys-color-border-lightest-surface));content:\"\";transition-property:width;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu.ax-look-with-line .ax-side-item:hover:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled),ax-side-menu.ax-look-with-line-color .ax-side-item:hover:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled),ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled):before,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled):before{position:absolute;width:var(--ax-comp-side-menu-indicator-size, 2px);height:100%;background-color:rgba(var(--ax-comp-side-menu-indicator-active-color, var(--ax-comp-side-menu-bg-color, var(--ax-sys-color-primary-surface))));content:\"\"}ax-side-menu.ax-look-with-line .ax-side-children,ax-side-menu.ax-look-with-line-color .ax-side-children{gap:0}ax-side-menu.ax-look-with-line .ax-side-children ax-side-menu-item:first-child,ax-side-menu.ax-look-with-line-color .ax-side-children ax-side-menu-item:first-child{padding-top:0}ax-side-menu.ax-look-with-line-color .ax-side-item:hover:not(ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-primary-surface),.1)}ax-side-menu.ax-look-default{gap:.25rem}ax-side-menu.ax-look-default ax-icon{opacity:.6}ax-side-menu.ax-look-default .ax-side-item{padding:.5rem 1rem;border-radius:var(--ax-sys-border-radius)}ax-side-menu.ax-look-default .ax-side-item:hover:not(ax-side-menu.ax-look-default .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-surface),.5)}ax-side-menu.ax-look-default .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-default .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-surface),.1)}ax-side-menu.ax-look-default .ax-side-children{position:relative;gap:.25rem;padding-inline-start:2.25rem}ax-side-menu.ax-look-default .ax-side-children:before{position:absolute;width:1px;height:100%;margin-inline-start:1.5rem;background-color:rgba(var(--ax-sys-color-border-light-surface));content:\"\"}ax-side-menu.ax-look-default .ax-side-children ax-side-menu-item .ax-side-item{padding:.25rem .5rem}ax-side-menu.ax-look-default .ax-side-children ax-side-menu-item:first-child{padding-top:0}ax-side-menu.ax-mode-compact .ax-side-menu-wrapper{width:fit-content}ax-side-menu.ax-mode-compact>ax-side-menu-item>.ax-side-children{display:none}ax-side-menu.ax-mode-compact>ax-side-menu-item>ax-popover.ax-side-menu-children-popover .ax-side-children-content{display:none}ax-side-menu.ax-mode-compact .ax-inside-text{display:none}ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item:hover:not(ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-darker-surface, var(--ax-sys-color-surface)))}ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-active:not(ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-mode-compact ax-side-menu-item{position:relative;padding:.125rem!important;display:flex;justify-content:center;width:100%}ax-side-menu.ax-mode-compact ax-side-menu-item ax-icon{font-size:1.4rem}ax-side-menu.ax-mode-compact ax-badge{position:absolute;top:0}ax-side-menu.ax-mode-compact .ax-side-item{width:fit-content;gap:0}[dir=rtl] ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon:before{scale:-1 1}[dir=rtl] ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:-90deg}.ax-side-menu-popover{color:inherit;font-size:.875rem;line-height:1.25rem;-webkit-user-select:none;user-select:none}.ax-side-menu-popover .ax-side-children-content{display:flex;min-width:10rem;flex-direction:column;gap:.25rem;overflow:visible;border-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-surface));padding:.25rem}.ax-side-menu-popover ax-side-menu-item{position:relative;display:block;width:100%;padding:0}.ax-side-menu-popover ax-side-menu-item .ax-side-children.ax-empty{display:none}.ax-side-menu-popover ax-side-menu-item>ax-popover.ax-side-menu-children-popover>.ax-side-menu-popover-host{display:none}.ax-side-menu-popover ax-side-menu-item .ax-side-item{position:relative;display:flex;width:100%;cursor:pointer;align-items:center;justify-content:space-between;gap:.75rem;border-radius:var(--ax-sys-border-radius);padding:.5rem .75rem;font-weight:400;white-space:nowrap}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-start-side,.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side{display:flex;align-items:center;gap:.5rem}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon{display:block;rotate:90deg;transition-property:rotate;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:0deg}.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item:hover:not(.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-darker-surface, var(--ax-sys-color-surface)))}.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-active:not(.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}\n"] }]
502
502
  }], propDecorators: { __hostClass: [{
503
503
  type: HostBinding,
504
504
  args: ['class']
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-side-menu.mjs","sources":["../tmp-esm2022/side-menu/lib/side-menu-base.js","../tmp-esm2022/side-menu/lib/side-menu-item/side-menu-item.component.js","../tmp-esm2022/side-menu/lib/side-menu.component.js","../tmp-esm2022/side-menu/lib/side-menu.directive.js","../tmp-esm2022/side-menu/lib/side-menu.module.js","../tmp-esm2022/side-menu/acorex-components-side-menu.js"],"sourcesContent":["/**\n * DI token for the parent `ax-side-menu`. Child `ax-side-menu-item`s inject this\n * to read shared state (e.g. the current display mode) without creating a\n * circular import on the concrete `AXSideMenuComponent` class.\n */\nexport class AXSideMenuBase {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1tZW51LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3NpZGUtbWVudS9zcmMvbGliL3NpZGUtbWVudS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7O0dBSUc7QUFDSCxNQUFNLE9BQWdCLGNBQWM7Q0FFbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBESSB0b2tlbiBmb3IgdGhlIHBhcmVudCBgYXgtc2lkZS1tZW51YC4gQ2hpbGQgYGF4LXNpZGUtbWVudS1pdGVtYHMgaW5qZWN0IHRoaXNcbiAqIHRvIHJlYWQgc2hhcmVkIHN0YXRlIChlLmcuIHRoZSBjdXJyZW50IGRpc3BsYXkgbW9kZSkgd2l0aG91dCBjcmVhdGluZyBhXG4gKiBjaXJjdWxhciBpbXBvcnQgb24gdGhlIGNvbmNyZXRlIGBBWFNpZGVNZW51Q29tcG9uZW50YCBjbGFzcy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYU2lkZU1lbnVCYXNlIHtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgbW9kZTogU2lnbmFsPCdmdWxsJyB8ICdjb21wYWN0Jz47XG59XG4iXX0=","import { AXClickEvent, AXComponent, AXRippleDirective, MXInteractiveComponent } from '@acorex/cdk/common';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe, DOCUMENT, isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { afterNextRender, ChangeDetectionStrategy, Component, computed, contentChildren, DestroyRef, effect, ElementRef, inject, input, model, output, PLATFORM_ID, signal, viewChild, ViewEncapsulation, } from '@angular/core';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/tooltip\";\nexport class AXSideMenuItemClickEvent extends AXClickEvent {\n constructor() {\n super(...arguments);\n this.handled = false;\n }\n}\nexport class AXSideMenuItemComponent extends MXInteractiveComponent {\n constructor() {\n super(...arguments);\n this.text = model('', ...(ngDevMode ? [{ debugName: \"text\" }] : []));\n this.active = model(false, ...(ngDevMode ? [{ debugName: \"active\" }] : []));\n this.isLoading = model(false, ...(ngDevMode ? [{ debugName: \"isLoading\" }] : []));\n this.isCollapsed = model(true, ...(ngDevMode ? [{ debugName: \"isCollapsed\" }] : []));\n this.onClick = output();\n this.tooltipStatus = signal(false, ...(ngDevMode ? [{ debugName: \"tooltipStatus\" }] : []));\n this.tooltipText = input('', ...(ngDevMode ? [{ debugName: \"tooltipText\" }] : []));\n this.elem = inject(ElementRef);\n this.document = inject(DOCUMENT);\n this.platformId = inject(PLATFORM_ID);\n this.destroyRef = inject(DestroyRef);\n this.childObserver = null;\n this.childrenPopover = viewChild('childrenPopover', ...(ngDevMode ? [{ debugName: \"childrenPopover\" }] : []));\n this.menuItemTrigger = viewChild.required('menuItemTrigger');\n /** Synced from the parent `ax-side-menu` (source of truth for full vs compact). */\n this.menuMode = signal('full', ...(ngDevMode ? [{ debugName: \"menuMode\" }] : []));\n /** True when this item should use compact flyout popovers (rail or inside a flyout). */\n this.isCompactMode = computed(() => {\n if (this.menuMode() === 'compact') {\n return true;\n }\n if (!isPlatformBrowser(this.platformId)) {\n return false;\n }\n const host = this.elem.nativeElement;\n if (host.closest('.ax-side-menu-popover')) {\n return !!this.document.querySelector('ax-side-menu.ax-mode-compact');\n }\n return !!host.closest('ax-side-menu.ax-mode-compact');\n }, ...(ngDevMode ? [{ debugName: \"isCompactMode\" }] : []));\n /** Top-level rail button in compact mode (icon only, opens flyout). */\n this.isFirstLevel = computed(() => {\n if (!this.isCompactMode()) {\n return false;\n }\n const host = this.elem.nativeElement;\n if (host.closest('.ax-side-menu-popover')) {\n return false;\n }\n return !host.parentElement?.closest('.ax-side-children-content');\n }, ...(ngDevMode ? [{ debugName: \"isFirstLevel\" }] : []));\n this.toggleOnClick = input(true, ...(ngDevMode ? [{ debugName: \"toggleOnClick\" }] : []));\n this.href = input(...(ngDevMode ? [undefined, { debugName: \"href\" }] : []));\n this.routerLink = input(...(ngDevMode ? [undefined, { debugName: \"routerLink\" }] : []));\n this.routerLinkActive = input('ax-state-active', ...(ngDevMode ? [{ debugName: \"routerLinkActive\" }] : []));\n this.routerLinkActiveOptions = input({ exact: false }, ...(ngDevMode ? [{ debugName: \"routerLinkActiveOptions\" }] : []));\n this.target = input('_self', ...(ngDevMode ? [{ debugName: \"target\" }] : []));\n this.childItems = contentChildren(AXSideMenuItemComponent, ...(ngDevMode ? [{ debugName: \"childItems\", descendants: true }] : [{ descendants: true }]));\n this.childrenSlot = viewChild('childrenSlot', ...(ngDevMode ? [{ debugName: \"childrenSlot\" }] : []));\n this.popoverSlot = viewChild('popoverSlot', ...(ngDevMode ? [{ debugName: \"popoverSlot\" }] : []));\n this.hasChild = signal(false, ...(ngDevMode ? [{ debugName: \"hasChild\" }] : []));\n this.#childCheckEffect = effect(() => {\n if (this.childItems().length)\n this.checkForChildren();\n }, ...(ngDevMode ? [{ debugName: \"#childCheckEffect\" }] : []));\n /**\n * Run after view init so any nested items projected through `ngTemplateOutlet`\n * (which `contentChildren` does not see) are already in the DOM. A\n * `MutationObserver` on the whole host keeps `hasChild` in sync as recursive\n * content is added/removed at runtime and also relocates any projected\n * `<ax-side-menu-item>` that ended up outside `.ax-side-children-content`\n * (this happens when `<ng-container [ngTemplateOutlet]>` is nested inside\n * `@if`/`@for` and Angular falls back to the catch-all `<ng-content>`).\n */\n this.#initChildren = afterNextRender(() => {\n if (!isPlatformBrowser(this.platformId))\n return;\n this.reparentOrphanedChildren();\n this.checkForChildren();\n this.childObserver = new MutationObserver(() => {\n this.reparentOrphanedChildren();\n this.checkForChildren();\n });\n this.childObserver.observe(this.elem.nativeElement, { childList: true, subtree: true });\n this.destroyRef.onDestroy(() => this.childObserver?.disconnect());\n });\n // In compact mode submenus open in an overlay popover; keep collapse state in sync.\n this.#popoverSync = effect(() => {\n const compact = this.isCompactMode();\n this.isCollapsed();\n this.hasChild();\n const popover = this.childrenPopover();\n if (!popover || !isPlatformBrowser(this.platformId)) {\n return;\n }\n if (!compact) {\n this.moveChildrenToInlineSlot();\n if (popover.isOpen) {\n popover.close();\n }\n return;\n }\n this.syncCompactPopover();\n }, ...(ngDevMode ? [{ debugName: \"#popoverSync\" }] : []));\n }\n /** Called by `ax-side-menu` so items always know the current display mode. */\n syncMenuMode(mode) {\n if (this.menuMode() === mode) {\n return;\n }\n this.menuMode.set(mode);\n if (mode === 'full') {\n this.moveChildrenToInlineSlot();\n this.childrenPopover()?.close();\n }\n else {\n this.moveChildrenToInlineSlot();\n this.childrenPopover()?.close();\n this.isCollapsed.set(true);\n }\n }\n #childCheckEffect;\n /**\n * Run after view init so any nested items projected through `ngTemplateOutlet`\n * (which `contentChildren` does not see) are already in the DOM. A\n * `MutationObserver` on the whole host keeps `hasChild` in sync as recursive\n * content is added/removed at runtime and also relocates any projected\n * `<ax-side-menu-item>` that ended up outside `.ax-side-children-content`\n * (this happens when `<ng-container [ngTemplateOutlet]>` is nested inside\n * `@if`/`@for` and Angular falls back to the catch-all `<ng-content>`).\n */\n #initChildren;\n /**\n * Walks up the DOM to find the enclosing `<ax-side-menu>` host element and\n * reads its component instance from `__axContext__`. Needed because items\n * rendered inside `ngTemplateOutlet` embedded views cannot inject the\n * `AXSideMenuBase` token (DI scope is the template's declaration site).\n */\n resolveMenuHostElement() {\n const host = this.elem.nativeElement;\n return (host.closest('ax-side-menu') ??\n (host.closest('.ax-side-menu-popover')\n ? this.document.querySelector('ax-side-menu.ax-mode-compact')\n : null));\n }\n /**\n * Moves any `<ax-side-menu-item>` that belongs to this item (its nearest\n * `<ax-side-menu-item>` ancestor in the projected DOM is this host) but is\n * NOT inside our own `.ax-side-children-content` container. Without this\n * step a content-projection edge case in Angular 21+ leaves recursive items\n * stranded inside `.ax-inside-text` (the catch-all `<ng-content>` slot) and\n * the submenu cannot expand.\n */\n getActiveChildrenSlot() {\n if (this.isCompactMode() && this.isFirstLevel()) {\n const popover = this.childrenPopover();\n if (popover?.isOpen) {\n return this.popoverSlot()?.nativeElement ?? this.childrenSlot()?.nativeElement;\n }\n return this.childrenSlot()?.nativeElement;\n }\n return this.childrenSlot()?.nativeElement;\n }\n reparentOrphanedChildren() {\n const host = this.elem.nativeElement;\n const container = this.getActiveChildrenSlot();\n if (!container)\n return;\n // Only look at this host's *direct* descendants in projection terms:\n // recursive ax-side-menu-items whose nearest ax-side-menu-item ancestor\n // is `host`. Iterate over a static array because we mutate the DOM.\n const items = Array.from(host.querySelectorAll('ax-side-menu-item'));\n for (const el of items) {\n if (el === host)\n continue;\n if (container.contains(el))\n continue;\n const nearestParent = el.parentElement?.closest('ax-side-menu-item');\n if (nearestParent !== host)\n continue;\n try {\n container.appendChild(el);\n }\n catch {\n // Guard against HierarchyRequestError (shouldn't happen since we\n // resolve the container via the view-child, not querySelector).\n }\n }\n }\n // In compact mode submenus open in an overlay popover; keep collapse state in sync.\n #popoverSync;\n syncCompactPopover() {\n if (!isPlatformBrowser(this.platformId) || !this.isCompactMode() || !this.hasChild())\n return;\n const popover = this.childrenPopover();\n if (!popover || popover.disabled)\n return;\n if (this.isCollapsed()) {\n this.closeCompactFlyout(popover);\n }\n else {\n if (this.isFirstLevel()) {\n this.closeSiblingCompactPopovers();\n }\n this.relocateChildren(true);\n void popover.open().then(() => popover.bringToFront());\n }\n }\n /** Restores submenu nodes to the inline slot before the overlay is disposed. */\n closeCompactFlyout(popover) {\n if (popover.isOpen) {\n this.moveChildrenToInlineSlot();\n popover.close();\n }\n else {\n this.moveChildrenToInlineSlot();\n }\n }\n /** Closes other top-level compact flyouts when a rail item is opened. */\n closeSiblingCompactPopovers() {\n const menuEl = this.resolveMenuHostElement();\n if (!menuEl)\n return;\n menuEl.querySelectorAll(':scope > ax-side-menu-item').forEach((el) => {\n const instance = el.__axContext__;\n if (!(instance instanceof AXSideMenuItemComponent) || instance === this) {\n return;\n }\n instance.isCollapsed.set(true);\n const siblingPopover = instance.childrenPopover();\n if (siblingPopover) {\n instance.closeCompactFlyout(siblingPopover);\n }\n });\n }\n /**\n * Moves projected submenu nodes into the popover panel when opening in compact mode.\n * They are not moved back to the inline slot on close (that caused a full-mode flash below the rail).\n */\n relocateChildren(toPopover) {\n const source = this.childrenSlot()?.nativeElement;\n const target = this.popoverSlot()?.nativeElement;\n if (!source || !target) {\n return;\n }\n const from = toPopover ? source : target;\n const to = toPopover ? target : source;\n while (from.firstChild) {\n to.appendChild(from.firstChild);\n }\n }\n /**\n * Pulls direct submenu nodes back into the inline slot from the popover host and\n * from any open flyout overlay panel so they are not destroyed on overlay dispose.\n */\n moveChildrenToInlineSlot() {\n const slot = this.childrenSlot()?.nativeElement;\n if (!slot || !isPlatformBrowser(this.platformId)) {\n return;\n }\n const host = this.elem.nativeElement;\n const sources = [];\n const flyoutHost = this.popoverSlot()?.nativeElement;\n if (flyoutHost) {\n sources.push(flyoutHost);\n }\n this.document.querySelectorAll('.ax-side-menu-popover .ax-side-children-content').forEach((el) => {\n if (el instanceof HTMLElement && el !== slot && !slot.contains(el)) {\n sources.push(el);\n }\n });\n for (const source of sources) {\n const items = Array.from(source.querySelectorAll(':scope > ax-side-menu-item'));\n for (const el of items) {\n if (el === host) {\n continue;\n }\n const nearestParent = el.parentElement?.closest('ax-side-menu-item');\n if (nearestParent !== host) {\n continue;\n }\n slot.appendChild(el);\n }\n }\n }\n _handlePopoverClosed() {\n this.moveChildrenToInlineSlot();\n if (!this.isCollapsed()) {\n this.isCollapsed.set(true);\n }\n }\n checkForChildren() {\n const host = this.elem.nativeElement;\n const inlineSlot = this.childrenSlot()?.nativeElement ?? null;\n const flyoutSlot = this.popoverSlot()?.nativeElement ?? null;\n const inlineCount = inlineSlot?.querySelectorAll('ax-side-menu-item').length ?? 0;\n const flyoutCount = flyoutSlot?.querySelectorAll('ax-side-menu-item').length ?? 0;\n const contentEl = inlineSlot ?? flyoutSlot;\n this.hasChild.set(this.hasNestedMenuItems(host, contentEl, inlineCount + flyoutCount));\n }\n hasNestedMenuItems(host, contentEl, domChildCount) {\n const inlineSlot = this.childrenSlot()?.nativeElement ?? null;\n const flyoutSlot = this.popoverSlot()?.nativeElement ?? null;\n let strandedCount = 0;\n const all = host.querySelectorAll('ax-side-menu-item');\n all.forEach((el) => {\n if (el === host)\n return;\n if (inlineSlot?.contains(el) || flyoutSlot?.contains(el))\n return;\n const nearestParent = el.parentElement?.closest('ax-side-menu-item');\n if (nearestParent === host)\n strandedCount++;\n });\n return this.childItems().length > 0 || domChildCount > 0 || strandedCount > 0;\n }\n _handleClickEvent(e) {\n if (this.disabled || this.isLoading())\n return;\n const event = {\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n handled: false,\n };\n this.onClick.emit(event);\n if (!event.handled && this.toggleOnClick() && (this.hasChild() || !this.isCompactMode())) {\n this.toggle();\n }\n e.stopPropagation();\n }\n toggle() {\n if (this.isCompactMode()) {\n if (!this.hasChild())\n return;\n this.isCollapsed.update((prev) => !prev);\n this.syncCompactPopover();\n return;\n }\n this.isCollapsed.update((prev) => !prev);\n }\n open() {\n this.isCollapsed.set(true);\n }\n close() {\n this.isCollapsed.set(false);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSideMenuItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.3\", type: AXSideMenuItemComponent, isStandalone: true, selector: \"ax-side-menu-item\", inputs: { disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: \"text\", publicName: \"text\", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: \"active\", publicName: \"active\", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: \"isLoading\", publicName: \"isLoading\", isSignal: true, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: \"isCollapsed\", publicName: \"isCollapsed\", isSignal: true, isRequired: false, transformFunction: null }, tooltipText: { classPropertyName: \"tooltipText\", publicName: \"tooltipText\", isSignal: true, isRequired: false, transformFunction: null }, toggleOnClick: { classPropertyName: \"toggleOnClick\", publicName: \"toggleOnClick\", isSignal: true, isRequired: false, transformFunction: null }, href: { classPropertyName: \"href\", publicName: \"href\", isSignal: true, isRequired: false, transformFunction: null }, routerLink: { classPropertyName: \"routerLink\", publicName: \"routerLink\", isSignal: true, isRequired: false, transformFunction: null }, routerLinkActive: { classPropertyName: \"routerLinkActive\", publicName: \"routerLinkActive\", isSignal: true, isRequired: false, transformFunction: null }, routerLinkActiveOptions: { classPropertyName: \"routerLinkActiveOptions\", publicName: \"routerLinkActiveOptions\", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: \"target\", publicName: \"target\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { text: \"textChange\", active: \"activeChange\", isLoading: \"isLoadingChange\", isCollapsed: \"isCollapsedChange\", onClick: \"onClick\" }, providers: [{ provide: AXComponent, useExisting: AXSideMenuItemComponent }], queries: [{ propertyName: \"childItems\", predicate: AXSideMenuItemComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: \"childrenPopover\", first: true, predicate: [\"childrenPopover\"], descendants: true, isSignal: true }, { propertyName: \"menuItemTrigger\", first: true, predicate: [\"menuItemTrigger\"], descendants: true, isSignal: true }, { propertyName: \"childrenSlot\", first: true, predicate: [\"childrenSlot\"], descendants: true, isSignal: true }, { propertyName: \"popoverSlot\", first: true, predicate: [\"popoverSlot\"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<div [axTooltip]=\\\"tooltipStatus() ? tooltipText() : null\\\" class=\\\"ax-side-menu-wrapper\\\">\\n @if (!isCompactMode()) {\\n <ng-content select=\\\"ax-title\\\"></ng-content>\\n }\\n @if (routerLink()) {\\n <a\\n #menuItemTrigger\\n [axRipple]\\n [target]=\\\"target()\\\"\\n class=\\\"ax-side-item\\\"\\n [routerLink]=\\\"routerLink()\\\"\\n (click)=\\\"_handleClickEvent($event)\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n [routerLinkActive]=\\\"routerLinkActive()\\\"\\n [routerLinkActiveOptions]=\\\"routerLinkActiveOptions()\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"menuItemContent\\\"></ng-container>\\n </a>\\n } @else if (href()) {\\n <a\\n #menuItemTrigger\\n [axRipple]\\n [href]=\\\"href()\\\"\\n [target]=\\\"target()\\\"\\n class=\\\"ax-side-item\\\"\\n [class.ax-state-active]=\\\"active()\\\"\\n (click)=\\\"_handleClickEvent($event)\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"menuItemContent\\\"></ng-container>\\n </a>\\n } @else {\\n <div\\n #menuItemTrigger\\n [axRipple]\\n class=\\\"ax-side-item\\\"\\n [class.ax-state-active]=\\\"active()\\\"\\n (click)=\\\"_handleClickEvent($event)\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"menuItemContent\\\"></ng-container>\\n </div>\\n }\\n\\n <div\\n class=\\\"ax-side-children\\\"\\n [class.ax-collapsed]=\\\"(!isCompactMode() && isCollapsed()) || (isCompactMode() && isFirstLevel())\\\"\\n [class.ax-empty]=\\\"!hasChild() && !isLoading()\\\"\\n >\\n @if (isLoading()) {\\n <p>{{ '@acorex:common.status.loading' | translate | async }}</p>\\n }\\n <div #childrenSlot class=\\\"ax-side-children-content\\\" [hidden]=\\\"isLoading()\\\">\\n <ng-content select=\\\"ax-side-menu-item, ng-container, [ngTemplateOutlet]\\\"></ng-content>\\n </div>\\n </div>\\n\\n <ax-popover\\n #childrenPopover\\n class=\\\"ax-side-menu-children-popover\\\"\\n [target]=\\\"menuItemTrigger().nativeElement\\\"\\n [openOn]=\\\"'manual'\\\"\\n [closeOn]=\\\"'clickOut'\\\"\\n [placement]=\\\"'end-top'\\\"\\n [offsetX]=\\\"8\\\"\\n [disabled]=\\\"!isCompactMode() || disabled || isLoading()\\\"\\n panelClass=\\\"ax-side-menu-popover\\\"\\n (onClosed)=\\\"_handlePopoverClosed()\\\"\\n >\\n <div #popoverSlot class=\\\"ax-side-children-content\\\"></div>\\n </ax-popover>\\n\\n <ng-content select=\\\"ax-divider\\\"></ng-content>\\n <ng-template #menuItemContent>\\n <div class=\\\"ax-start-side\\\">\\n <ng-content select=\\\"ax-prefix\\\"></ng-content>\\n @if (text()) {\\n <span>{{ text() }}</span>\\n }\\n <div class=\\\"ax-inside-text\\\">\\n <ng-content></ng-content>\\n </div>\\n </div>\\n <div class=\\\"ax-end-side\\\">\\n <ng-content select=\\\"ax-suffix\\\"></ng-content>\\n @if (hasChild() && !isLoading() && toggleOnClick() && !isFirstLevel()) {\\n <span class=\\\"ax-icon ax-icon-chevron-right arrow-icon\\\" [class.arrow-icon-expand]=\\\"!isCollapsed()\\\"> </span>\\n }\\n @if (isLoading()) {\\n <ax-loading></ax-loading>\\n }\\n </div>\\n </ng-template>\\n</div>\\n\", dependencies: [{ kind: \"directive\", type: AXRippleDirective, selector: \"[axRipple]\", inputs: [\"axRipple\", \"axRippleColor\"] }, { kind: \"directive\", type: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"directive\", type: RouterLinkActive, selector: \"[routerLinkActive]\", inputs: [\"routerLinkActiveOptions\", \"ariaCurrentWhenActive\", \"routerLinkActive\"], outputs: [\"isActiveChange\"], exportAs: [\"routerLinkActive\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: AXLoadingComponent, selector: \"ax-loading\", inputs: [\"visible\", \"type\", \"context\"], outputs: [\"visibleChange\"] }, { kind: \"ngmodule\", type: AXTooltipModule }, { kind: \"directive\", type: i1.AXTooltipDirective, selector: \"[axTooltip]\", inputs: [\"axTooltipDisabled\", \"axTooltip\", \"axTooltipContext\", \"axTooltipPlacement\", \"axTooltipOffsetX\", \"axTooltipOffsetY\", \"axTooltipOpenAfter\", \"axTooltipCloseAfter\"] }, { kind: \"component\", type: AXPopoverComponent, selector: \"ax-popover\", inputs: [\"width\", \"disablePanelClass\", \"disabled\", \"offsetX\", \"offsetY\", \"target\", \"placement\", \"content\", \"openOn\", \"closeOn\", \"hasBackdrop\", \"openAfter\", \"closeAfter\", \"closeOnScroll\", \"backdropClass\", \"panelClass\", \"adaptivityEnabled\"], outputs: [\"onOpened\", \"onClosed\"] }, { kind: \"pipe\", type: AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSideMenuItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-side-menu-item', inputs: ['disabled'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [\n AXRippleDirective,\n RouterLink,\n RouterLinkActive,\n NgTemplateOutlet,\n AXLoadingComponent,\n AsyncPipe,\n AXTranslatorPipe,\n AXTooltipModule,\n AXPopoverComponent,\n ], providers: [{ provide: AXComponent, useExisting: AXSideMenuItemComponent }], template: \"<div [axTooltip]=\\\"tooltipStatus() ? tooltipText() : null\\\" class=\\\"ax-side-menu-wrapper\\\">\\n @if (!isCompactMode()) {\\n <ng-content select=\\\"ax-title\\\"></ng-content>\\n }\\n @if (routerLink()) {\\n <a\\n #menuItemTrigger\\n [axRipple]\\n [target]=\\\"target()\\\"\\n class=\\\"ax-side-item\\\"\\n [routerLink]=\\\"routerLink()\\\"\\n (click)=\\\"_handleClickEvent($event)\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n [routerLinkActive]=\\\"routerLinkActive()\\\"\\n [routerLinkActiveOptions]=\\\"routerLinkActiveOptions()\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"menuItemContent\\\"></ng-container>\\n </a>\\n } @else if (href()) {\\n <a\\n #menuItemTrigger\\n [axRipple]\\n [href]=\\\"href()\\\"\\n [target]=\\\"target()\\\"\\n class=\\\"ax-side-item\\\"\\n [class.ax-state-active]=\\\"active()\\\"\\n (click)=\\\"_handleClickEvent($event)\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"menuItemContent\\\"></ng-container>\\n </a>\\n } @else {\\n <div\\n #menuItemTrigger\\n [axRipple]\\n class=\\\"ax-side-item\\\"\\n [class.ax-state-active]=\\\"active()\\\"\\n (click)=\\\"_handleClickEvent($event)\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"menuItemContent\\\"></ng-container>\\n </div>\\n }\\n\\n <div\\n class=\\\"ax-side-children\\\"\\n [class.ax-collapsed]=\\\"(!isCompactMode() && isCollapsed()) || (isCompactMode() && isFirstLevel())\\\"\\n [class.ax-empty]=\\\"!hasChild() && !isLoading()\\\"\\n >\\n @if (isLoading()) {\\n <p>{{ '@acorex:common.status.loading' | translate | async }}</p>\\n }\\n <div #childrenSlot class=\\\"ax-side-children-content\\\" [hidden]=\\\"isLoading()\\\">\\n <ng-content select=\\\"ax-side-menu-item, ng-container, [ngTemplateOutlet]\\\"></ng-content>\\n </div>\\n </div>\\n\\n <ax-popover\\n #childrenPopover\\n class=\\\"ax-side-menu-children-popover\\\"\\n [target]=\\\"menuItemTrigger().nativeElement\\\"\\n [openOn]=\\\"'manual'\\\"\\n [closeOn]=\\\"'clickOut'\\\"\\n [placement]=\\\"'end-top'\\\"\\n [offsetX]=\\\"8\\\"\\n [disabled]=\\\"!isCompactMode() || disabled || isLoading()\\\"\\n panelClass=\\\"ax-side-menu-popover\\\"\\n (onClosed)=\\\"_handlePopoverClosed()\\\"\\n >\\n <div #popoverSlot class=\\\"ax-side-children-content\\\"></div>\\n </ax-popover>\\n\\n <ng-content select=\\\"ax-divider\\\"></ng-content>\\n <ng-template #menuItemContent>\\n <div class=\\\"ax-start-side\\\">\\n <ng-content select=\\\"ax-prefix\\\"></ng-content>\\n @if (text()) {\\n <span>{{ text() }}</span>\\n }\\n <div class=\\\"ax-inside-text\\\">\\n <ng-content></ng-content>\\n </div>\\n </div>\\n <div class=\\\"ax-end-side\\\">\\n <ng-content select=\\\"ax-suffix\\\"></ng-content>\\n @if (hasChild() && !isLoading() && toggleOnClick() && !isFirstLevel()) {\\n <span class=\\\"ax-icon ax-icon-chevron-right arrow-icon\\\" [class.arrow-icon-expand]=\\\"!isCollapsed()\\\"> </span>\\n }\\n @if (isLoading()) {\\n <ax-loading></ax-loading>\\n }\\n </div>\\n </ng-template>\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1tZW51LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9zaWRlLW1lbnUvc3JjL2xpYi9zaWRlLW1lbnUtaXRlbS9zaWRlLW1lbnUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3NpZGUtbWVudS9zcmMvbGliL3NpZGUtbWVudS1pdGVtL3NpZGUtbWVudS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0YsT0FBTyxFQUNMLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixlQUFlLEVBQ2YsVUFBVSxFQUNWLE1BQU0sRUFDTixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLFVBQVUsRUFBRSxnQkFBZ0IsRUFBVyxNQUFNLGlCQUFpQixDQUFDOzs7QUFD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cG9ydCB7IEFYQ2xpY2tFdmVudCwgQVhDb21wb25lbnQsIEFYUmlwcGxlRGlyZWN0aXZlLCBNWEludGVyYWN0aXZlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYTG9hZGluZ0NvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nJztcbmltcG9ydCB7IEFYUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3BvdmVyJztcbmltcG9ydCB7IEFYVG9vbHRpcE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IEFYVHJhbnNsYXRvclBpcGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBET0NVTUVOVCwgaXNQbGF0Zm9ybUJyb3dzZXIsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgY29udGVudENoaWxkcmVuLFxuICBEZXN0cm95UmVmLFxuICBlZmZlY3QsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBvdXRwdXQsXG4gIFBMQVRGT1JNX0lELFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSXNBY3RpdmVNYXRjaE9wdGlvbnMsIFJvdXRlckxpbmssIFJvdXRlckxpbmtBY3RpdmUsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuZXhwb3J0IGNsYXNzIEFYU2lkZU1lbnVJdGVtQ2xpY2tFdmVudCBleHRlbmRzIEFYQ2xpY2tFdmVudCB7XG4gIGhhbmRsZWQgPSBmYWxzZTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtc2lkZS1tZW51LWl0ZW0nLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGUtbWVudS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtcbiAgICBBWFJpcHBsZURpcmVjdGl2ZSxcbiAgICBSb3V0ZXJMaW5rLFxuICAgIFJvdXRlckxpbmtBY3RpdmUsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBBWExvYWRpbmdDb21wb25lbnQsXG4gICAgQXN5bmNQaXBlLFxuICAgIEFYVHJhbnNsYXRvclBpcGUsXG4gICAgQVhUb29sdGlwTW9kdWxlLFxuICAgIEFYUG9wb3ZlckNvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYU2lkZU1lbnVJdGVtQ29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBBWFNpZGVNZW51SXRlbUNvbXBvbmVudCBleHRlbmRzIE1YSW50ZXJhY3RpdmVDb21wb25lbnQge1xuICB0ZXh0ID0gbW9kZWwoJycpO1xuICBhY3RpdmUgPSBtb2RlbChmYWxzZSk7XG4gIGlzTG9hZGluZyA9IG1vZGVsKGZhbHNlKTtcbiAgaXNDb2xsYXBzZWQgPSBtb2RlbCh0cnVlKTtcbiAgb25DbGljayA9IG91dHB1dDxBWFNpZGVNZW51SXRlbUNsaWNrRXZlbnQ+KCk7XG4gIHRvb2x0aXBTdGF0dXMgPSBzaWduYWwoZmFsc2UpO1xuICB0b29sdGlwVGV4dCA9IGlucHV0KCcnKTtcblxuICBwcml2YXRlIGVsZW0gPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByaXZhdGUgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICBwcml2YXRlIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICBwcml2YXRlIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIHByaXZhdGUgY2hpbGRPYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlciB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGNoaWxkcmVuUG9wb3ZlciA9IHZpZXdDaGlsZDxBWFBvcG92ZXJDb21wb25lbnQ+KCdjaGlsZHJlblBvcG92ZXInKTtcbiAgcHJvdGVjdGVkIG1lbnVJdGVtVHJpZ2dlciA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oJ21lbnVJdGVtVHJpZ2dlcicpO1xuXG4gIC8qKiBTeW5jZWQgZnJvbSB0aGUgcGFyZW50IGBheC1zaWRlLW1lbnVgIChzb3VyY2Ugb2YgdHJ1dGggZm9yIGZ1bGwgdnMgY29tcGFjdCkuICovXG4gIHByaXZhdGUgbWVudU1vZGUgPSBzaWduYWw8J2Z1bGwnIHwgJ2NvbXBhY3QnPignZnVsbCcpO1xuXG4gIC8qKiBUcnVlIHdoZW4gdGhpcyBpdGVtIHNob3VsZCB1c2UgY29tcGFjdCBmbHlvdXQgcG9wb3ZlcnMgKHJhaWwgb3IgaW5zaWRlIGEgZmx5b3V0KS4gKi9cbiAgcHJvdGVjdGVkIGlzQ29tcGFjdE1vZGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgaWYgKHRoaXMubWVudU1vZGUoKSA9PT0gJ2NvbXBhY3QnKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGhvc3QgPSB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAoaG9zdC5jbG9zZXN0KCcuYXgtc2lkZS1tZW51LXBvcG92ZXInKSkge1xuICAgICAgcmV0dXJuICEhdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdheC1zaWRlLW1lbnUuYXgtbW9kZS1jb21wYWN0Jyk7XG4gICAgfVxuICAgIHJldHVybiAhIWhvc3QuY2xvc2VzdCgnYXgtc2lkZS1tZW51LmF4LW1vZGUtY29tcGFjdCcpO1xuICB9KTtcblxuICAvKiogQ2FsbGVkIGJ5IGBheC1zaWRlLW1lbnVgIHNvIGl0ZW1zIGFsd2F5cyBrbm93IHRoZSBjdXJyZW50IGRpc3BsYXkgbW9kZS4gKi9cbiAgc3luY01lbnVNb2RlKG1vZGU6ICdmdWxsJyB8ICdjb21wYWN0Jykge1xuICAgIGlmICh0aGlzLm1lbnVNb2RlKCkgPT09IG1vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5tZW51TW9kZS5zZXQobW9kZSk7XG4gICAgaWYgKG1vZGUgPT09ICdmdWxsJykge1xuICAgICAgdGhpcy5tb3ZlQ2hpbGRyZW5Ub0lubGluZVNsb3QoKTtcbiAgICAgIHRoaXMuY2hpbGRyZW5Qb3BvdmVyKCk/LmNsb3NlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW92ZUNoaWxkcmVuVG9JbmxpbmVTbG90KCk7XG4gICAgICB0aGlzLmNoaWxkcmVuUG9wb3ZlcigpPy5jbG9zZSgpO1xuICAgICAgdGhpcy5pc0NvbGxhcHNlZC5zZXQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFRvcC1sZXZlbCByYWlsIGJ1dHRvbiBpbiBjb21wYWN0IG1vZGUgKGljb24gb25seSwgb3BlbnMgZmx5b3V0KS4gKi9cbiAgcHJvdGVjdGVkIGlzRmlyc3RMZXZlbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAoIXRoaXMuaXNDb21wYWN0TW9kZSgpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGhvc3QgPSB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAoaG9zdC5jbG9zZXN0KCcuYXgtc2lkZS1tZW51LXBvcG92ZXInKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gIWhvc3QucGFyZW50RWxlbWVudD8uY2xvc2VzdCgnLmF4LXNpZGUtY2hpbGRyZW4tY29udGVudCcpO1xuICB9KTtcblxuICByZWFkb25seSB0b2dnbGVPbkNsaWNrID0gaW5wdXQodHJ1ZSk7XG5cbiAgcmVhZG9ubHkgaHJlZiA9IGlucHV0PHN0cmluZyB8IG51bGw+KCk7XG5cbiAgcmVhZG9ubHkgcm91dGVyTGluayA9IGlucHV0PHN0cmluZyB8IGFueVtdIHwgVXJsVHJlZSB8IG51bGw+KCk7XG4gIHJlYWRvbmx5IHJvdXRlckxpbmtBY3RpdmUgPSBpbnB1dDxzdHJpbmcgfCBzdHJpbmdbXT4oJ2F4LXN0YXRlLWFjdGl2ZScpO1xuICByZWFkb25seSByb3V0ZXJMaW5rQWN0aXZlT3B0aW9ucyA9IGlucHV0PHsgZXhhY3Q6IGJvb2xlYW4gfSB8IElzQWN0aXZlTWF0Y2hPcHRpb25zPih7IGV4YWN0OiBmYWxzZSB9KTtcblxuICByZWFkb25seSB0YXJnZXQgPSBpbnB1dDwnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCc+KCdfc2VsZicpO1xuXG4gIHByaXZhdGUgY2hpbGRJdGVtcyA9IGNvbnRlbnRDaGlsZHJlbihBWFNpZGVNZW51SXRlbUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBjaGlsZHJlblNsb3QgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdjaGlsZHJlblNsb3QnKTtcbiAgcHJpdmF0ZSBwb3BvdmVyU2xvdCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oJ3BvcG92ZXJTbG90Jyk7XG5cbiAgcHJvdGVjdGVkIGhhc0NoaWxkID0gc2lnbmFsKGZhbHNlKTtcblxuICAjY2hpbGRDaGVja0VmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHRoaXMuY2hpbGRJdGVtcygpLmxlbmd0aCkgdGhpcy5jaGVja0ZvckNoaWxkcmVuKCk7XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBSdW4gYWZ0ZXIgdmlldyBpbml0IHNvIGFueSBuZXN0ZWQgaXRlbXMgcHJvamVjdGVkIHRocm91Z2ggYG5nVGVtcGxhdGVPdXRsZXRgXG4gICAqICh3aGljaCBgY29udGVudENoaWxkcmVuYCBkb2VzIG5vdCBzZWUpIGFyZSBhbHJlYWR5IGluIHRoZSBET00uIEFcbiAgICogYE11dGF0aW9uT2JzZXJ2ZXJgIG9uIHRoZSB3aG9sZSBob3N0IGtlZXBzIGBoYXNDaGlsZGAgaW4gc3luYyBhcyByZWN1cnNpdmVcbiAgICogY29udGVudCBpcyBhZGRlZC9yZW1vdmVkIGF0IHJ1bnRpbWUgYW5kIGFsc28gcmVsb2NhdGVzIGFueSBwcm9qZWN0ZWRcbiAgICogYDxheC1zaWRlLW1lbnUtaXRlbT5gIHRoYXQgZW5kZWQgdXAgb3V0c2lkZSBgLmF4LXNpZGUtY2hpbGRyZW4tY29udGVudGBcbiAgICogKHRoaXMgaGFwcGVucyB3aGVuIGA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT5gIGlzIG5lc3RlZCBpbnNpZGVcbiAgICogYEBpZmAvYEBmb3JgIGFuZCBBbmd1bGFyIGZhbGxzIGJhY2sgdG8gdGhlIGNhdGNoLWFsbCBgPG5nLWNvbnRlbnQ+YCkuXG4gICAqL1xuICAjaW5pdENoaWxkcmVuID0gYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHJldHVybjtcbiAgICB0aGlzLnJlcGFyZW50T3JwaGFuZWRDaGlsZHJlbigpO1xuICAgIHRoaXMuY2hlY2tGb3JDaGlsZHJlbigpO1xuICAgIHRoaXMuY2hpbGRPYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcbiAgICAgIHRoaXMucmVwYXJlbnRPcnBoYW5lZENoaWxkcmVuKCk7XG4gICAgICB0aGlzLmNoZWNrRm9yQ2hpbGRyZW4oKTtcbiAgICB9KTtcbiAgICB0aGlzLmNoaWxkT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsZW0ubmF0aXZlRWxlbWVudCwgeyBjaGlsZExpc3Q6IHRydWUsIHN1YnRyZWU6IHRydWUgfSk7XG4gICAgdGhpcy5kZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB0aGlzLmNoaWxkT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKSk7XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBXYWxrcyB1cCB0aGUgRE9NIHRvIGZpbmQgdGhlIGVuY2xvc2luZyBgPGF4LXNpZGUtbWVudT5gIGhvc3QgZWxlbWVudCBhbmRcbiAgICogcmVhZHMgaXRzIGNvbXBvbmVudCBpbnN0YW5jZSBmcm9tIGBfX2F4Q29udGV4dF9fYC4gTmVlZGVkIGJlY2F1c2UgaXRlbXNcbiAgICogcmVuZGVyZWQgaW5zaWRlIGBuZ1RlbXBsYXRlT3V0bGV0YCBlbWJlZGRlZCB2aWV3cyBjYW5ub3QgaW5qZWN0IHRoZVxuICAgKiBgQVhTaWRlTWVudUJhc2VgIHRva2VuIChESSBzY29wZSBpcyB0aGUgdGVtcGxhdGUncyBkZWNsYXJhdGlvbiBzaXRlKS5cbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZU1lbnVIb3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIGNvbnN0IGhvc3QgPSB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICByZXR1cm4gKFxuICAgICAgaG9zdC5jbG9zZXN0KCdheC1zaWRlLW1lbnUnKSA/P1xuICAgICAgKGhvc3QuY2xvc2VzdCgnLmF4LXNpZGUtbWVudS1wb3BvdmVyJylcbiAgICAgICAgPyAodGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdheC1zaWRlLW1lbnUuYXgtbW9kZS1jb21wYWN0JykgYXMgSFRNTEVsZW1lbnQgfCBudWxsKVxuICAgICAgICA6IG51bGwpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb3ZlcyBhbnkgYDxheC1zaWRlLW1lbnUtaXRlbT5gIHRoYXQgYmVsb25ncyB0byB0aGlzIGl0ZW0gKGl0cyBuZWFyZXN0XG4gICAqIGA8YXgtc2lkZS1tZW51LWl0ZW0+YCBhbmNlc3RvciBpbiB0aGUgcHJvamVjdGVkIERPTSBpcyB0aGlzIGhvc3QpIGJ1dCBpc1xuICAgKiBOT1QgaW5zaWRlIG91ciBvd24gYC5heC1zaWRlLWNoaWxkcmVuLWNvbnRlbnRgIGNvbnRhaW5lci4gV2l0aG91dCB0aGlzXG4gICAqIHN0ZXAgYSBjb250ZW50LXByb2plY3Rpb24gZWRnZSBjYXNlIGluIEFuZ3VsYXIgMjErIGxlYXZlcyByZWN1cnNpdmUgaXRlbXNcbiAgICogc3RyYW5kZWQgaW5zaWRlIGAuYXgtaW5zaWRlLXRleHRgICh0aGUgY2F0Y2gtYWxsIGA8bmctY29udGVudD5gIHNsb3QpIGFuZFxuICAgKiB0aGUgc3VibWVudSBjYW5ub3QgZXhwYW5kLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRBY3RpdmVDaGlsZHJlblNsb3QoKTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLmlzQ29tcGFjdE1vZGUoKSAmJiB0aGlzLmlzRmlyc3RMZXZlbCgpKSB7XG4gICAgICBjb25zdCBwb3BvdmVyID0gdGhpcy5jaGlsZHJlblBvcG92ZXIoKTtcbiAgICAgIGlmIChwb3BvdmVyPy5pc09wZW4pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9wb3ZlclNsb3QoKT8ubmF0aXZlRWxlbWVudCA/PyB0aGlzLmNoaWxkcmVuU2xvdCgpPy5uYXRpdmVFbGVtZW50O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW5TbG90KCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNoaWxkcmVuU2xvdCgpPy5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSByZXBhcmVudE9ycGhhbmVkQ2hpbGRyZW4oKSB7XG4gICAgY29uc3QgaG9zdCA9IHRoaXMuZWxlbS5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuZ2V0QWN0aXZlQ2hpbGRyZW5TbG90KCk7XG4gICAgaWYgKCFjb250YWluZXIpIHJldHVybjtcblxuICAgIC8vIE9ubHkgbG9vayBhdCB0aGlzIGhvc3QncyAqZGlyZWN0KiBkZXNjZW5kYW50cyBpbiBwcm9qZWN0aW9uIHRlcm1zOlxuICAgIC8vIHJlY3Vyc2l2ZSBheC1zaWRlLW1lbnUtaXRlbXMgd2hvc2UgbmVhcmVzdCBheC1zaWRlLW1lbnUtaXRlbSBhbmNlc3RvclxuICAgIC8vIGlzIGBob3N0YC4gSXRlcmF0ZSBvdmVyIGEgc3RhdGljIGFycmF5IGJlY2F1c2Ugd2UgbXV0YXRlIHRoZSBET00uXG4gICAgY29uc3QgaXRlbXMgPSBBcnJheS5mcm9tKGhvc3QucXVlcnlTZWxlY3RvckFsbCgnYXgtc2lkZS1tZW51LWl0ZW0nKSk7XG4gICAgZm9yIChjb25zdCBlbCBvZiBpdGVtcykge1xuICAgICAgaWYgKGVsID09PSBob3N0KSBjb250aW51ZTtcbiAgICAgIGlmIChjb250YWluZXIuY29udGFpbnMoZWwpKSBjb250aW51ZTtcbiAgICAgIGNvbnN0IG5lYXJlc3RQYXJlbnQgPSBlbC5wYXJlbnRFbGVtZW50Py5jbG9zZXN0KCdheC1zaWRlLW1lbnUtaXRlbScpO1xuICAgICAgaWYgKG5lYXJlc3RQYXJlbnQgIT09IGhvc3QpIGNvbnRpbnVlO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGVsKTtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICAvLyBHdWFyZCBhZ2FpbnN0IEhpZXJhcmNoeVJlcXVlc3RFcnJvciAoc2hvdWxkbid0IGhhcHBlbiBzaW5jZSB3ZVxuICAgICAgICAvLyByZXNvbHZlIHRoZSBjb250YWluZXIgdmlhIHRoZSB2aWV3LWNoaWxkLCBub3QgcXVlcnlTZWxlY3RvcikuXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW4gY29tcGFjdCBtb2RlIHN1Ym1lbnVzIG9wZW4gaW4gYW4gb3ZlcmxheSBwb3BvdmVyOyBrZWVwIGNvbGxhcHNlIHN0YXRlIGluIHN5bmMuXG4gICNwb3BvdmVyU3luYyA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgY29tcGFjdCA9IHRoaXMuaXNDb21wYWN0TW9kZSgpO1xuICAgIHRoaXMuaXNDb2xsYXBzZWQoKTtcbiAgICB0aGlzLmhhc0NoaWxkKCk7XG5cbiAgICBjb25zdCBwb3BvdmVyID0gdGhpcy5jaGlsZHJlblBvcG92ZXIoKTtcbiAgICBpZiAoIXBvcG92ZXIgfHwgIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWNvbXBhY3QpIHtcbiAgICAgIHRoaXMubW92ZUNoaWxkcmVuVG9JbmxpbmVTbG90KCk7XG4gICAgICBpZiAocG9wb3Zlci5pc09wZW4pIHtcbiAgICAgICAgcG9wb3Zlci5jbG9zZSgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3luY0NvbXBhY3RQb3BvdmVyKCk7XG4gIH0pO1xuXG4gIHByaXZhdGUgc3luY0NvbXBhY3RQb3BvdmVyKCkge1xuICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSB8fCAhdGhpcy5pc0NvbXBhY3RNb2RlKCkgfHwgIXRoaXMuaGFzQ2hpbGQoKSkgcmV0dXJuO1xuXG4gICAgY29uc3QgcG9wb3ZlciA9IHRoaXMuY2hpbGRyZW5Qb3BvdmVyKCk7XG4gICAgaWYgKCFwb3BvdmVyIHx8IHBvcG92ZXIuZGlzYWJsZWQpIHJldHVybjtcblxuICAgIGlmICh0aGlzLmlzQ29sbGFwc2VkKCkpIHtcbiAgICAgIHRoaXMuY2xvc2VDb21wYWN0Rmx5b3V0KHBvcG92ZXIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5pc0ZpcnN0TGV2ZWwoKSkge1xuICAgICAgICB0aGlzLmNsb3NlU2libGluZ0NvbXBhY3RQb3BvdmVycygpO1xuICAgICAgfVxuICAgICAgdGhpcy5yZWxvY2F0ZUNoaWxkcmVuKHRydWUpO1xuICAgICAgdm9pZCBwb3BvdmVyLm9wZW4oKS50aGVuKCgpID0+IHBvcG92ZXIuYnJpbmdUb0Zyb250KCkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBSZXN0b3JlcyBzdWJtZW51IG5vZGVzIHRvIHRoZSBpbmxpbmUgc2xvdCBiZWZvcmUgdGhlIG92ZXJsYXkgaXMgZGlzcG9zZWQuICovXG4gIHByaXZhdGUgY2xvc2VDb21wYWN0Rmx5b3V0KHBvcG92ZXI6IEFYUG9wb3ZlckNvbXBvbmVudCkge1xuICAgIGlmIChwb3BvdmVyLmlzT3Blbikge1xuICAgICAgdGhpcy5tb3ZlQ2hpbGRyZW5Ub0lubGluZVNsb3QoKTtcbiAgICAgIHBvcG92ZXIuY2xvc2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb3ZlQ2hpbGRyZW5Ub0lubGluZVNsb3QoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2xvc2VzIG90aGVyIHRvcC1sZXZlbCBjb21wYWN0IGZseW91dHMgd2hlbiBhIHJhaWwgaXRlbSBpcyBvcGVuZWQuICovXG4gIHByaXZhdGUgY2xvc2VTaWJsaW5nQ29tcGFjdFBvcG92ZXJzKCkge1xuICAgIGNvbnN0IG1lbnVFbCA9IHRoaXMucmVzb2x2ZU1lbnVIb3N0RWxlbWVudCgpO1xuICAgIGlmICghbWVudUVsKSByZXR1cm47XG4gICAgbWVudUVsLnF1ZXJ5U2VsZWN0b3JBbGwoJzpzY29wZSA+IGF4LXNpZGUtbWVudS1pdGVtJykuZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgIGNvbnN0IGluc3RhbmNlID0gKGVsIGFzIHVua25vd24gYXMgeyBfX2F4Q29udGV4dF9fPzogdW5rbm93biB9KS5fX2F4Q29udGV4dF9fO1xuICAgICAgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBBWFNpZGVNZW51SXRlbUNvbXBvbmVudCkgfHwgaW5zdGFuY2UgPT09IHRoaXMpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaW5zdGFuY2UuaXNDb2xsYXBzZWQuc2V0KHRydWUpO1xuICAgICAgY29uc3Qgc2libGluZ1BvcG92ZXIgPSBpbnN0YW5jZS5jaGlsZHJlblBvcG92ZXIoKTtcbiAgICAgIGlmIChzaWJsaW5nUG9wb3Zlcikge1xuICAgICAgICBpbnN0YW5jZS5jbG9zZUNvbXBhY3RGbHlvdXQoc2libGluZ1BvcG92ZXIpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1vdmVzIHByb2plY3RlZCBzdWJtZW51IG5vZGVzIGludG8gdGhlIHBvcG92ZXIgcGFuZWwgd2hlbiBvcGVuaW5nIGluIGNvbXBhY3QgbW9kZS5cbiAgICogVGhleSBhcmUgbm90IG1vdmVkIGJhY2sgdG8gdGhlIGlubGluZSBzbG90IG9uIGNsb3NlICh0aGF0IGNhdXNlZCBhIGZ1bGwtbW9kZSBmbGFzaCBiZWxvdyB0aGUgcmFpbCkuXG4gICAqL1xuICBwcml2YXRlIHJlbG9jYXRlQ2hpbGRyZW4odG9Qb3BvdmVyOiBib29sZWFuKSB7XG4gICAgY29uc3Qgc291cmNlID0gdGhpcy5jaGlsZHJlblNsb3QoKT8ubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCB0YXJnZXQgPSB0aGlzLnBvcG92ZXJTbG90KCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFzb3VyY2UgfHwgIXRhcmdldCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBmcm9tID0gdG9Qb3BvdmVyID8gc291cmNlIDogdGFyZ2V0O1xuICAgIGNvbnN0IHRvID0gdG9Qb3BvdmVyID8gdGFyZ2V0IDogc291cmNlO1xuICAgIHdoaWxlIChmcm9tLmZpcnN0Q2hpbGQpIHtcbiAgICAgIHRvLmFwcGVuZENoaWxkKGZyb20uZmlyc3RDaGlsZCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFB1bGxzIGRpcmVjdCBzdWJtZW51IG5vZGVzIGJhY2sgaW50byB0aGUgaW5saW5lIHNsb3QgZnJvbSB0aGUgcG9wb3ZlciBob3N0IGFuZFxuICAgKiBmcm9tIGFueSBvcGVuIGZseW91dCBvdmVybGF5IHBhbmVsIHNvIHRoZXkgYXJlIG5vdCBkZXN0cm95ZWQgb24gb3ZlcmxheSBkaXNwb3NlLlxuICAgKi9cbiAgcHJpdmF0ZSBtb3ZlQ2hpbGRyZW5Ub0lubGluZVNsb3QoKSB7XG4gICAgY29uc3Qgc2xvdCA9IHRoaXMuY2hpbGRyZW5TbG90KCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFzbG90IHx8ICFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaG9zdCA9IHRoaXMuZWxlbS5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IHNvdXJjZXM6IEhUTUxFbGVtZW50W10gPSBbXTtcbiAgICBjb25zdCBmbHlvdXRIb3N0ID0gdGhpcy5wb3BvdmVyU2xvdCgpPy5uYXRpdmVFbGVtZW50O1xuICAgIGlmIChmbHlvdXRIb3N0KSB7XG4gICAgICBzb3VyY2VzLnB1c2goZmx5b3V0SG9zdCk7XG4gICAgfVxuXG4gICAgdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuYXgtc2lkZS1tZW51LXBvcG92ZXIgLmF4LXNpZGUtY2hpbGRyZW4tY29udGVudCcpLmZvckVhY2goKGVsKSA9PiB7XG4gICAgICBpZiAoZWwgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCAmJiBlbCAhPT0gc2xvdCAmJiAhc2xvdC5jb250YWlucyhlbCkpIHtcbiAgICAgICAgc291cmNlcy5wdXNoKGVsKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGZvciAoY29uc3Qgc291cmNlIG9mIHNvdXJjZXMpIHtcbiAgICAgIGNvbnN0IGl0ZW1zID0gQXJyYXkuZnJvbShzb3VyY2UucXVlcnlTZWxlY3RvckFsbCgnOnNjb3BlID4gYXgtc2lkZS1tZW51LWl0ZW0nKSk7XG4gICAgICBmb3IgKGNvbnN0IGVsIG9mIGl0ZW1zKSB7XG4gICAgICAgIGlmIChlbCA9PT0gaG9zdCkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5lYXJlc3RQYXJlbnQgPSBlbC5wYXJlbnRFbGVtZW50Py5jbG9zZXN0KCdheC1zaWRlLW1lbnUtaXRlbScpO1xuICAgICAgICBpZiAobmVhcmVzdFBhcmVudCAhPT0gaG9zdCkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHNsb3QuYXBwZW5kQ2hpbGQoZWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfaGFuZGxlUG9wb3ZlckNsb3NlZCgpIHtcbiAgICB0aGlzLm1vdmVDaGlsZHJlblRvSW5saW5lU2xvdCgpO1xuICAgIGlmICghdGhpcy5pc0NvbGxhcHNlZCgpKSB7XG4gICAgICB0aGlzLmlzQ29sbGFwc2VkLnNldCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRm9yQ2hpbGRyZW4oKSB7XG4gICAgY29uc3QgaG9zdCA9IHRoaXMuZWxlbS5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IGlubGluZVNsb3QgPSB0aGlzLmNoaWxkcmVuU2xvdCgpPy5uYXRpdmVFbGVtZW50ID8/IG51bGw7XG4gICAgY29uc3QgZmx5b3V0U2xvdCA9IHRoaXMucG9wb3ZlclNsb3QoKT8ubmF0aXZlRWxlbWVudCA/PyBudWxsO1xuICAgIGNvbnN0IGlubGluZUNvdW50ID0gaW5saW5lU2xvdD8ucXVlcnlTZWxlY3RvckFsbCgnYXgtc2lkZS1tZW51LWl0ZW0nKS5sZW5ndGggPz8gMDtcbiAgICBjb25zdCBmbHlvdXRDb3VudCA9IGZseW91dFNsb3Q/LnF1ZXJ5U2VsZWN0b3JBbGwoJ2F4LXNpZGUtbWVudS1pdGVtJykubGVuZ3RoID8/IDA7XG4gICAgY29uc3QgY29udGVudEVsID0gaW5saW5lU2xvdCA/PyBmbHlvdXRTbG90O1xuICAgIHRoaXMuaGFzQ2hpbGQuc2V0KHRoaXMuaGFzTmVzdGVkTWVudUl0ZW1zKGhvc3QsIGNvbnRlbnRFbCwgaW5saW5lQ291bnQgKyBmbHlvdXRDb3VudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYXNOZXN0ZWRNZW51SXRlbXMoaG9zdDogSFRNTEVsZW1lbnQsIGNvbnRlbnRFbDogRWxlbWVudCB8IG51bGwsIGRvbUNoaWxkQ291bnQ6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGlubGluZVNsb3QgPSB0aGlzLmNoaWxkcmVuU2xvdCgpPy5uYXRpdmVFbGVtZW50ID8/IG51bGw7XG4gICAgY29uc3QgZmx5b3V0U2xvdCA9IHRoaXMucG9wb3ZlclNsb3QoKT8ubmF0aXZlRWxlbWVudCA/PyBudWxsO1xuICAgIGxldCBzdHJhbmRlZENvdW50ID0gMDtcbiAgICBjb25zdCBhbGwgPSBob3N0LnF1ZXJ5U2VsZWN0b3JBbGwoJ2F4LXNpZGUtbWVudS1pdGVtJyk7XG4gICAgYWxsLmZvckVhY2goKGVsKSA9PiB7XG4gICAgICBpZiAoZWwgPT09IGhvc3QpIHJldHVybjtcbiAgICAgIGlmIChpbmxpbmVTbG90Py5jb250YWlucyhlbCkgfHwgZmx5b3V0U2xvdD8uY29udGFpbnMoZWwpKSByZXR1cm47XG4gICAgICBjb25zdCBuZWFyZXN0UGFyZW50ID0gZWwucGFyZW50RWxlbWVudD8uY2xvc2VzdCgnYXgtc2lkZS1tZW51LWl0ZW0nKTtcbiAgICAgIGlmIChuZWFyZXN0UGFyZW50ID09PSBob3N0KSBzdHJhbmRlZENvdW50Kys7XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMuY2hpbGRJdGVtcygpLmxlbmd0aCA+IDAgfHwgZG9tQ2hpbGRDb3VudCA+IDAgfHwgc3RyYW5kZWRDb3VudCA+IDA7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2hhbmRsZUNsaWNrRXZlbnQoZTogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMuaXNMb2FkaW5nKCkpIHJldHVybjtcbiAgICBjb25zdCBldmVudCA9IHtcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgIGh0bWxFbGVtZW50OiB0aGlzLmdldEhvc3RFbGVtZW50KCksXG4gICAgICBuYXRpdmVFdmVudDogZSxcbiAgICAgIGhhbmRsZWQ6IGZhbHNlLFxuICAgIH07XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoZXZlbnQpO1xuICAgIGlmICghZXZlbnQuaGFuZGxlZCAmJiB0aGlzLnRvZ2dsZU9uQ2xpY2soKSAmJiAodGhpcy5oYXNDaGlsZCgpIHx8ICF0aGlzLmlzQ29tcGFjdE1vZGUoKSkpIHtcbiAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgfVxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICB0b2dnbGUoKSB7XG4gICAgaWYgKHRoaXMuaXNDb21wYWN0TW9kZSgpKSB7XG4gICAgICBpZiAoIXRoaXMuaGFzQ2hpbGQoKSkgcmV0dXJuO1xuICAgICAgdGhpcy5pc0NvbGxhcHNlZC51cGRhdGUoKHByZXYpID0+ICFwcmV2KTtcbiAgICAgIHRoaXMuc3luY0NvbXBhY3RQb3BvdmVyKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNDb2xsYXBzZWQudXBkYXRlKChwcmV2KSA9PiAhcHJldik7XG4gIH1cblxuICBvcGVuKCkge1xuICAgIHRoaXMuaXNDb2xsYXBzZWQuc2V0KHRydWUpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5pc0NvbGxhcHNlZC5zZXQoZmFsc2UpO1xuICB9XG59XG4iLCI8ZGl2IFtheFRvb2x0aXBdPVwidG9vbHRpcFN0YXR1cygpID8gdG9vbHRpcFRleHQoKSA6IG51bGxcIiBjbGFzcz1cImF4LXNpZGUtbWVudS13cmFwcGVyXCI+XG4gIEBpZiAoIWlzQ29tcGFjdE1vZGUoKSkge1xuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXRpdGxlXCI+PC9uZy1jb250ZW50PlxuICB9XG4gIEBpZiAocm91dGVyTGluaygpKSB7XG4gICAgPGFcbiAgICAgICNtZW51SXRlbVRyaWdnZXJcbiAgICAgIFtheFJpcHBsZV1cbiAgICAgIFt0YXJnZXRdPVwidGFyZ2V0KClcIlxuICAgICAgY2xhc3M9XCJheC1zaWRlLWl0ZW1cIlxuICAgICAgW3JvdXRlckxpbmtdPVwicm91dGVyTGluaygpXCJcbiAgICAgIChjbGljayk9XCJfaGFuZGxlQ2xpY2tFdmVudCgkZXZlbnQpXCJcbiAgICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbcm91dGVyTGlua0FjdGl2ZV09XCJyb3V0ZXJMaW5rQWN0aXZlKClcIlxuICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cInJvdXRlckxpbmtBY3RpdmVPcHRpb25zKClcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibWVudUl0ZW1Db250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9hPlxuICB9IEBlbHNlIGlmIChocmVmKCkpIHtcbiAgICA8YVxuICAgICAgI21lbnVJdGVtVHJpZ2dlclxuICAgICAgW2F4UmlwcGxlXVxuICAgICAgW2hyZWZdPVwiaHJlZigpXCJcbiAgICAgIFt0YXJnZXRdPVwidGFyZ2V0KClcIlxuICAgICAgY2xhc3M9XCJheC1zaWRlLWl0ZW1cIlxuICAgICAgW2NsYXNzLmF4LXN0YXRlLWFjdGl2ZV09XCJhY3RpdmUoKVwiXG4gICAgICAoY2xpY2spPVwiX2hhbmRsZUNsaWNrRXZlbnQoJGV2ZW50KVwiXG4gICAgICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibWVudUl0ZW1Db250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9hPlxuICB9IEBlbHNlIHtcbiAgICA8ZGl2XG4gICAgICAjbWVudUl0ZW1UcmlnZ2VyXG4gICAgICBbYXhSaXBwbGVdXG4gICAgICBjbGFzcz1cImF4LXNpZGUtaXRlbVwiXG4gICAgICBbY2xhc3MuYXgtc3RhdGUtYWN0aXZlXT1cImFjdGl2ZSgpXCJcbiAgICAgIChjbGljayk9XCJfaGFuZGxlQ2xpY2tFdmVudCgkZXZlbnQpXCJcbiAgICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJtZW51SXRlbUNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIDxkaXZcbiAgICBjbGFzcz1cImF4LXNpZGUtY2hpbGRyZW5cIlxuICAgIFtjbGFzcy5heC1jb2xsYXBzZWRdPVwiKCFpc0NvbXBhY3RNb2RlKCkgJiYgaXNDb2xsYXBzZWQoKSkgfHwgKGlzQ29tcGFjdE1vZGUoKSAmJiBpc0ZpcnN0TGV2ZWwoKSlcIlxuICAgIFtjbGFzcy5heC1lbXB0eV09XCIhaGFzQ2hpbGQoKSAmJiAhaXNMb2FkaW5nKClcIlxuICA+XG4gICAgQGlmIChpc0xvYWRpbmcoKSkge1xuICAgICAgPHA+e3sgJ0BhY29yZXg6Y29tbW9uLnN0YXR1cy5sb2FkaW5nJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9wPlxuICAgIH1cbiAgICA8ZGl2ICNjaGlsZHJlblNsb3QgY2xhc3M9XCJheC1zaWRlLWNoaWxkcmVuLWNvbnRlbnRcIiBbaGlkZGVuXT1cImlzTG9hZGluZygpXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1zaWRlLW1lbnUtaXRlbSwgbmctY29udGFpbmVyLCBbbmdUZW1wbGF0ZU91dGxldF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxheC1wb3BvdmVyXG4gICAgI2NoaWxkcmVuUG9wb3ZlclxuICAgIGNsYXNzPVwiYXgtc2lkZS1tZW51LWNoaWxkcmVuLXBvcG92ZXJcIlxuICAgIFt0YXJnZXRdPVwibWVudUl0ZW1UcmlnZ2VyKCkubmF0aXZlRWxlbWVudFwiXG4gICAgW29wZW5Pbl09XCInbWFudWFsJ1wiXG4gICAgW2Nsb3NlT25dPVwiJ2NsaWNrT3V0J1wiXG4gICAgW3BsYWNlbWVudF09XCInZW5kLXRvcCdcIlxuICAgIFtvZmZzZXRYXT1cIjhcIlxuICAgIFtkaXNhYmxlZF09XCIhaXNDb21wYWN0TW9kZSgpIHx8IGRpc2FibGVkIHx8IGlzTG9hZGluZygpXCJcbiAgICBwYW5lbENsYXNzPVwiYXgtc2lkZS1tZW51LXBvcG92ZXJcIlxuICAgIChvbkNsb3NlZCk9XCJfaGFuZGxlUG9wb3ZlckNsb3NlZCgpXCJcbiAgPlxuICAgIDxkaXYgI3BvcG92ZXJTbG90IGNsYXNzPVwiYXgtc2lkZS1jaGlsZHJlbi1jb250ZW50XCI+PC9kaXY+XG4gIDwvYXgtcG9wb3Zlcj5cblxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1kaXZpZGVyXCI+PC9uZy1jb250ZW50PlxuICA8bmctdGVtcGxhdGUgI21lbnVJdGVtQ29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtc3RhcnQtc2lkZVwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtcHJlZml4XCI+PC9uZy1jb250ZW50PlxuICAgICAgQGlmICh0ZXh0KCkpIHtcbiAgICAgICAgPHNwYW4+e3sgdGV4dCgpIH19PC9zcGFuPlxuICAgICAgfVxuICAgICAgPGRpdiBjbGFzcz1cImF4LWluc2lkZS10ZXh0XCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJheC1lbmQtc2lkZVwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtc3VmZml4XCI+PC9uZy1jb250ZW50PlxuICAgICAgQGlmIChoYXNDaGlsZCgpICYmICFpc0xvYWRpbmcoKSAmJiB0b2dnbGVPbkNsaWNrKCkgJiYgIWlzRmlyc3RMZXZlbCgpKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWNoZXZyb24tcmlnaHQgYXJyb3ctaWNvblwiIFtjbGFzcy5hcnJvdy1pY29uLWV4cGFuZF09XCIhaXNDb2xsYXBzZWQoKVwiPiA8L3NwYW4+XG4gICAgICB9XG4gICAgICBAaWYgKGlzTG9hZGluZygpKSB7XG4gICAgICAgIDxheC1sb2FkaW5nPjwvYXgtbG9hZGluZz5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19","import { AXComponent, NXComponent } from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { afterNextRender, ChangeDetectionStrategy, Component, DestroyRef, effect, ElementRef, HostBinding, inject, input, model, PLATFORM_ID, signal, ViewEncapsulation, } from '@angular/core';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { AXSideMenuBase } from './side-menu-base';\nimport { AXSideMenuItemComponent } from './side-menu-item/side-menu-item.component';\nimport * as i0 from \"@angular/core\";\n/**\n * @category\n * A component for displaying a side menu with customizable content.\n */\nexport class AXSideMenuComponent extends NXComponent {\n constructor() {\n super(...arguments);\n this.items = model(...(ngDevMode ? [undefined, { debugName: \"items\" }] : []));\n this.look = input('pills', ...(ngDevMode ? [{ debugName: \"look\" }] : []));\n this.location = input('start', ...(ngDevMode ? [{ debugName: \"location\" }] : []));\n this.mode = input('full', ...(ngDevMode ? [{ debugName: \"mode\" }] : []));\n this.elementRef = inject(ElementRef);\n /**\n * All `ax-side-menu-item` instances discovered by walking the host DOM.\n *\n * We use DOM discovery (instead of `contentChildren`) because Angular content\n * queries do **not** traverse embedded views created by `ngTemplateOutlet`,\n * and the `AXSideMenuBase` DI token is not reachable from inside those views\n * either (they inherit injection from the template's declaration site, not\n * the insertion site). Walking the DOM works for direct projection,\n * structural directives, and recursive `ngTemplateOutlet`-based templates\n * uniformly.\n */\n this._items = signal([], ...(ngDevMode ? [{ debugName: \"_items\" }] : []));\n /** Read-only signal exposing every discovered `ax-side-menu-item` instance. */\n this.children = this._items.asReadonly();\n this.platformId = inject(PLATFORM_ID);\n this.destroyRef = inject(DestroyRef);\n this.hostElement = this.elementRef.nativeElement;\n this.#init = afterNextRender(() => {\n if (!isPlatformBrowser(this.platformId))\n return;\n this.refreshItemsFromDom();\n const observer = new MutationObserver(() => this.refreshItemsFromDom());\n observer.observe(this.elementRef.nativeElement, { childList: true, subtree: true });\n this.destroyRef.onDestroy(() => observer.disconnect());\n });\n this.#syncTooltips = effect(() => {\n const isCompact = this.mode() === 'compact';\n this._items().forEach((item) => {\n const isFirstLevel = !item.getHostElement().parentElement?.closest('.ax-side-children-content');\n item.tooltipStatus.set(isCompact && isFirstLevel);\n });\n }, ...(ngDevMode ? [{ debugName: \"#syncTooltips\" }] : []));\n /** Push full/compact mode to every menu item whenever mode changes. */\n this.#syncItemMode = effect(() => {\n const mode = this.mode();\n this._items().forEach((item) => item.syncMenuMode(mode));\n }, ...(ngDevMode ? [{ debugName: \"#syncItemMode\" }] : []));\n }\n #init;\n #syncTooltips;\n /** Push full/compact mode to every menu item whenever mode changes. */\n #syncItemMode;\n /**\n * Walks the host DOM to discover every nested `ax-side-menu-item`, looks up\n * the component instance through the `__axContext__` property that\n * `MXBaseComponent.ngOnInit` attaches to each host element, and updates the\n * internal items signal and `.first-level` CSS class accordingly.\n *\n * Triggered both initially and from a `MutationObserver` so recursive\n * templates that add/remove items at runtime stay in sync.\n */\n refreshItemsFromDom() {\n const host = this.elementRef.nativeElement;\n const elements = host.querySelectorAll('ax-side-menu-item');\n const items = [];\n elements.forEach((el) => {\n const instance = el.__axContext__;\n if (instance instanceof AXSideMenuItemComponent) {\n items.push(instance);\n }\n });\n const current = this._items();\n const changed = current.length !== items.length || current.some((it, i) => it !== items[i]);\n if (changed) {\n this._items.set(items);\n }\n this.addFirstLevelClass();\n }\n addFirstLevelClass() {\n const allChildren = this._items();\n allChildren.forEach((item) => item.getHostElement().querySelector('.ax-side-item')?.classList.remove('first-level'));\n allChildren\n .filter((item) => {\n const itemElement = item.getHostElement();\n return this.hostElement.contains(itemElement) && !itemElement.parentElement?.closest('.ax-side-children-content');\n })\n .forEach((item) => item.getHostElement().querySelector('.ax-side-item')?.classList.add('first-level'));\n }\n /** @ignore */\n get __hostClass() {\n return [`ax-look-${this.look()}`, `ax-location-${this.location()}`, `ax-mode-${this.mode()}`];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSideMenuComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.3\", type: AXSideMenuComponent, isStandalone: true, selector: \"ax-side-menu\", inputs: { items: { classPropertyName: \"items\", publicName: \"items\", isSignal: true, isRequired: false, transformFunction: null }, look: { classPropertyName: \"look\", publicName: \"look\", isSignal: true, isRequired: false, transformFunction: null }, location: { classPropertyName: \"location\", publicName: \"location\", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: \"mode\", publicName: \"mode\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { items: \"itemsChange\" }, host: { properties: { \"class\": \"this.__hostClass\" } }, providers: [\n { provide: AXComponent, useExisting: AXSideMenuComponent },\n { provide: AXSideMenuBase, useExisting: AXSideMenuComponent },\n ], usesInheritance: true, ngImport: i0, template: \"<ng-content select=\\\"ax-side-menu-item,ax-title,ng-container,[ngTemplateOutlet]\\\"></ng-content>\\n\\n@for (node of items(); track node) {\\n <ng-container [ngTemplateOutlet]=\\\"Recursion\\\" [ngTemplateOutletContext]=\\\"{ $implicit: node }\\\"> </ng-container>\\n}\\n<ng-template #Recursion let-item>\\n @if (item.title) {\\n <ax-title>{{ item.title }}</ax-title>\\n }\\n @if (item.routerLink) {\\n <ax-side-menu-item\\n [text]=\\\"item.text\\\"\\n [target]=\\\"item.target\\\"\\n [disabled]=\\\"item.disabled\\\"\\n [isLoading]=\\\"item.isLoading\\\"\\n [routerLink]=\\\"item.routerLink\\\"\\n [isCollapsed]=\\\"item.isCollapsed\\\"\\n [toggleOnClick]=\\\"item.toggleOnClick\\\"\\n [routerLinkActive]=\\\"item.routerLinkActive\\\"\\n [routerLinkActiveOptions]=\\\"item.routerLinkActiveOptions\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"sideMenuItemContent\\\"></ng-container>\\n </ax-side-menu-item>\\n } @else if (item.href) {\\n <ax-side-menu-item\\n [text]=\\\"item.text\\\"\\n [href]=\\\"item.href\\\"\\n [target]=\\\"item.target\\\"\\n [active]=\\\"item.active\\\"\\n [disabled]=\\\"item.disabled\\\"\\n [isLoading]=\\\"item.isLoading\\\"\\n [isCollapsed]=\\\"item.isCollapsed\\\"\\n [toggleOnClick]=\\\"item.toggleOnClick\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"sideMenuItemContent\\\"></ng-container>\\n </ax-side-menu-item>\\n } @else {\\n <ax-side-menu-item\\n [text]=\\\"item.text\\\"\\n [active]=\\\"item.active\\\"\\n [disabled]=\\\"item.disabled\\\"\\n [isLoading]=\\\"item.isLoading\\\"\\n [isCollapsed]=\\\"item.isCollapsed\\\"\\n [toggleOnClick]=\\\"item.toggleOnClick\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"sideMenuItemContent\\\"></ng-container>\\n </ax-side-menu-item>\\n }\\n\\n <ng-template #sideMenuItemContent>\\n <ax-prefix>\\n @if (item.icon) {\\n <ax-icon [icon]=\\\"item.icon\\\"> </ax-icon>\\n }\\n </ax-prefix>\\n @if (item.data) {\\n <ax-text>{{ item.data }}</ax-text>\\n }\\n @if (item.suffixText) {\\n <ax-suffix>\\n <ax-text>{{ item.suffixText }}</ax-text>\\n </ax-suffix>\\n }\\n @for (child of item.items; track child) {\\n <ng-container [ngTemplateOutlet]=\\\"Recursion\\\" [ngTemplateOutletContext]=\\\"{ $implicit: child }\\\"></ng-container>\\n }\\n </ng-template>\\n</ng-template>\\n\", styles: [\":root{--ax-comp-side-menu-indicator-size: 2px}ax-side-menu{display:flex;width:100%;flex-direction:column;gap:.5rem;color:inherit;font-size:.875rem;line-height:1.25rem;-webkit-user-select:none;user-select:none}ax-side-menu>ax-title{display:block;margin-block:.5rem;padding:.25rem .75rem;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;opacity:.5}ax-side-menu ax-side-menu-item ax-title{display:block;margin-block:.5rem;margin-top:.5rem;padding-inline:.75rem;padding-bottom:.25rem;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;opacity:.5}ax-side-menu ax-side-menu-item ax-divider{display:block;width:100%;height:1px;margin-block:.25rem;background-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-side-menu ax-side-menu-item .ax-side-item{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 1rem;font-size:inherit;font-weight:500}ax-side-menu ax-side-menu-item .ax-side-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-side-menu ax-side-menu-item .ax-side-item.ax-state-disabled .ax-ripple{opacity:0}ax-side-menu ax-side-menu-item .ax-side-item:hover:not(ax-side-menu ax-side-menu-item .ax-side-item:hover.ax-state-disabled,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active.ax-state-disabled) ax-loading ax-loading-spinner span,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active:not(ax-side-menu ax-side-menu-item .ax-side-item:hover.ax-state-disabled,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active.ax-state-disabled) ax-loading ax-loading-spinner span{border-color:rgba(var(--ax-sys-color-on-primary-surface))}ax-side-menu ax-side-menu-item .ax-side-item .ax-start-side,ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side{display:flex;align-items:center}ax-side-menu ax-side-menu-item .ax-side-item .ax-start-side{gap:.5rem}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side{gap:.5rem}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon{display:block;transition-property:rotate;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:90deg}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side ax-loading ax-loading-spinner span{border-color:rgba(var(--ax-sys-color-on-primary-surface))}ax-side-menu ax-side-menu-item .ax-side-item .ax-ripple{background-color:rgba(var(--ax-sys-color-on-surface),.3)!important}ax-side-menu ax-side-menu-item .ax-side-children{display:grid;grid-template-rows:1fr;padding-inline-start:1.25rem;opacity:1;transition-property:grid-template-rows,opacity;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu ax-side-menu-item .ax-side-children.ax-collapsed{grid-template-rows:0fr;opacity:0}ax-side-menu ax-side-menu-item .ax-side-children.ax-empty{display:none}ax-side-menu ax-side-menu-item .ax-side-children .ax-side-children-content{overflow:hidden}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item:first-child{padding-top:.5rem}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item:first-child ax-title{margin-top:1rem}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item .ax-side-item{font-weight:400}ax-side-menu ax-side-menu-item .ax-side-children-content{display:flex;flex-direction:column;gap:.5rem}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item{border-radius:var(--ax-sys-border-radius)}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item:hover:not(ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-surface))}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line,ax-side-menu.ax-look-with-line-color{gap:0}ax-side-menu.ax-look-with-line .ax-ripple,ax-side-menu.ax-look-with-line-color .ax-ripple{display:none}ax-side-menu.ax-look-with-line.ax-location-start .ax-side-children:before,ax-side-menu.ax-look-with-line.ax-location-start .ax-side-item:before,ax-side-menu.ax-look-with-line-color.ax-location-start .ax-side-children:before,ax-side-menu.ax-look-with-line-color.ax-location-start .ax-side-item:before{inset-inline-start:0;width:calc(var(--ax-comp-side-menu-indicator-size, 2px) / 2)}ax-side-menu.ax-look-with-line.ax-location-end .ax-side-children:before,ax-side-menu.ax-look-with-line.ax-location-end .ax-side-item:before,ax-side-menu.ax-look-with-line-color.ax-location-end .ax-side-children:before,ax-side-menu.ax-look-with-line-color.ax-location-end .ax-side-item:before{inset-inline-end:0;width:calc(var(--ax-comp-side-menu-indicator-size, 2px) / 2)}ax-side-menu.ax-look-with-line ax-side-menu-item,ax-side-menu.ax-look-with-line .ax-side-children,ax-side-menu.ax-look-with-line .ax-side-item,ax-side-menu.ax-look-with-line-color ax-side-menu-item,ax-side-menu.ax-look-with-line-color .ax-side-children,ax-side-menu.ax-look-with-line-color .ax-side-item{position:relative}ax-side-menu.ax-look-with-line ax-side-menu-item:before,ax-side-menu.ax-look-with-line .ax-side-children:before,ax-side-menu.ax-look-with-line .ax-side-item:before,ax-side-menu.ax-look-with-line-color ax-side-menu-item:before,ax-side-menu.ax-look-with-line-color .ax-side-children:before,ax-side-menu.ax-look-with-line-color .ax-side-item:before{position:absolute;height:100%;background-color:rgba(var(--ax-sys-color-border-lightest-surface));content:\\\"\\\";transition-property:width;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu.ax-look-with-line .ax-side-item:hover:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled),ax-side-menu.ax-look-with-line-color .ax-side-item:hover:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled),ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled):before,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled):before{position:absolute;width:var(--ax-comp-side-menu-indicator-size, 2px);height:100%;background-color:rgba(var(--ax-comp-side-menu-indicator-active-color, var(--ax-comp-side-menu-bg-color, var(--ax-sys-color-primary-surface))));content:\\\"\\\"}ax-side-menu.ax-look-with-line .ax-side-children,ax-side-menu.ax-look-with-line-color .ax-side-children{gap:0}ax-side-menu.ax-look-with-line .ax-side-children ax-side-menu-item:first-child,ax-side-menu.ax-look-with-line-color .ax-side-children ax-side-menu-item:first-child{padding-top:0}ax-side-menu.ax-look-with-line-color .ax-side-item:hover:not(ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-primary-surface),.1)}ax-side-menu.ax-look-default{gap:.25rem}ax-side-menu.ax-look-default ax-icon{opacity:.6}ax-side-menu.ax-look-default .ax-side-item{padding:.5rem 1rem;border-radius:var(--ax-sys-border-radius)}ax-side-menu.ax-look-default .ax-side-item:hover:not(ax-side-menu.ax-look-default .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-surface),.5)}ax-side-menu.ax-look-default .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-default .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-surface),.1)}ax-side-menu.ax-look-default .ax-side-children{position:relative;gap:.25rem;padding-inline-start:2.25rem}ax-side-menu.ax-look-default .ax-side-children:before{position:absolute;width:1px;height:100%;margin-inline-start:1.5rem;background-color:rgba(var(--ax-sys-color-border-light-surface));content:\\\"\\\"}ax-side-menu.ax-look-default .ax-side-children ax-side-menu-item .ax-side-item{padding:.25rem .5rem}ax-side-menu.ax-look-default .ax-side-children ax-side-menu-item:first-child{padding-top:0}ax-side-menu.ax-mode-compact .ax-side-menu-wrapper{width:fit-content}ax-side-menu.ax-mode-compact>ax-side-menu-item>.ax-side-children{display:none}ax-side-menu.ax-mode-compact>ax-side-menu-item>ax-popover.ax-side-menu-children-popover .ax-side-children-content{display:none}ax-side-menu.ax-mode-compact .ax-inside-text{display:none}ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item:hover:not(ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-darker-surface, var(--ax-sys-color-surface)))}ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-active:not(ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-mode-compact ax-side-menu-item{position:relative;padding:.125rem!important;display:flex;justify-content:center;width:100%}ax-side-menu.ax-mode-compact ax-side-menu-item ax-icon{font-size:1.4rem}ax-side-menu.ax-mode-compact .ax-side-item{width:fit-content;display:block}[dir=rtl] ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon:before{scale:-1 1}[dir=rtl] ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:-90deg}.ax-side-menu-popover{color:inherit;font-size:.875rem;line-height:1.25rem;-webkit-user-select:none;user-select:none}.ax-side-menu-popover .ax-side-children-content{display:flex;min-width:10rem;flex-direction:column;gap:.25rem;overflow:visible;border-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-surface));padding:.25rem}.ax-side-menu-popover ax-side-menu-item{position:relative;display:block;width:100%;padding:0}.ax-side-menu-popover ax-side-menu-item .ax-side-children.ax-empty{display:none}.ax-side-menu-popover ax-side-menu-item>ax-popover.ax-side-menu-children-popover>.ax-side-menu-popover-host{display:none}.ax-side-menu-popover ax-side-menu-item .ax-side-item{position:relative;display:flex;width:100%;cursor:pointer;align-items:center;justify-content:space-between;gap:.75rem;border-radius:var(--ax-sys-border-radius);padding:.5rem .75rem;font-weight:400;white-space:nowrap}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-start-side,.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side{display:flex;align-items:center;gap:.5rem}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon{display:block;rotate:90deg;transition-property:rotate;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:0deg}.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item:hover:not(.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-darker-surface, var(--ax-sys-color-surface)))}.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-active:not(.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}\\n\"], dependencies: [{ kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"component\", type: AXSideMenuItemComponent, selector: \"ax-side-menu-item\", inputs: [\"disabled\", \"text\", \"active\", \"isLoading\", \"isCollapsed\", \"tooltipText\", \"toggleOnClick\", \"href\", \"routerLink\", \"routerLinkActive\", \"routerLinkActiveOptions\", \"target\"], outputs: [\"textChange\", \"activeChange\", \"isLoadingChange\", \"isCollapsedChange\", \"onClick\"] }, { kind: \"directive\", type: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"directive\", type: RouterLinkActive, selector: \"[routerLinkActive]\", inputs: [\"routerLinkActiveOptions\", \"ariaCurrentWhenActive\", \"routerLinkActive\"], outputs: [\"isActiveChange\"], exportAs: [\"routerLinkActive\"] }, { kind: \"component\", type: AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSideMenuComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-side-menu', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [\n NgTemplateOutlet,\n AXDecoratorGenericComponent,\n AXSideMenuItemComponent,\n RouterLink,\n RouterLinkActive,\n AXDecoratorIconComponent,\n ], providers: [\n { provide: AXComponent, useExisting: AXSideMenuComponent },\n { provide: AXSideMenuBase, useExisting: AXSideMenuComponent },\n ], template: \"<ng-content select=\\\"ax-side-menu-item,ax-title,ng-container,[ngTemplateOutlet]\\\"></ng-content>\\n\\n@for (node of items(); track node) {\\n <ng-container [ngTemplateOutlet]=\\\"Recursion\\\" [ngTemplateOutletContext]=\\\"{ $implicit: node }\\\"> </ng-container>\\n}\\n<ng-template #Recursion let-item>\\n @if (item.title) {\\n <ax-title>{{ item.title }}</ax-title>\\n }\\n @if (item.routerLink) {\\n <ax-side-menu-item\\n [text]=\\\"item.text\\\"\\n [target]=\\\"item.target\\\"\\n [disabled]=\\\"item.disabled\\\"\\n [isLoading]=\\\"item.isLoading\\\"\\n [routerLink]=\\\"item.routerLink\\\"\\n [isCollapsed]=\\\"item.isCollapsed\\\"\\n [toggleOnClick]=\\\"item.toggleOnClick\\\"\\n [routerLinkActive]=\\\"item.routerLinkActive\\\"\\n [routerLinkActiveOptions]=\\\"item.routerLinkActiveOptions\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"sideMenuItemContent\\\"></ng-container>\\n </ax-side-menu-item>\\n } @else if (item.href) {\\n <ax-side-menu-item\\n [text]=\\\"item.text\\\"\\n [href]=\\\"item.href\\\"\\n [target]=\\\"item.target\\\"\\n [active]=\\\"item.active\\\"\\n [disabled]=\\\"item.disabled\\\"\\n [isLoading]=\\\"item.isLoading\\\"\\n [isCollapsed]=\\\"item.isCollapsed\\\"\\n [toggleOnClick]=\\\"item.toggleOnClick\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"sideMenuItemContent\\\"></ng-container>\\n </ax-side-menu-item>\\n } @else {\\n <ax-side-menu-item\\n [text]=\\\"item.text\\\"\\n [active]=\\\"item.active\\\"\\n [disabled]=\\\"item.disabled\\\"\\n [isLoading]=\\\"item.isLoading\\\"\\n [isCollapsed]=\\\"item.isCollapsed\\\"\\n [toggleOnClick]=\\\"item.toggleOnClick\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"sideMenuItemContent\\\"></ng-container>\\n </ax-side-menu-item>\\n }\\n\\n <ng-template #sideMenuItemContent>\\n <ax-prefix>\\n @if (item.icon) {\\n <ax-icon [icon]=\\\"item.icon\\\"> </ax-icon>\\n }\\n </ax-prefix>\\n @if (item.data) {\\n <ax-text>{{ item.data }}</ax-text>\\n }\\n @if (item.suffixText) {\\n <ax-suffix>\\n <ax-text>{{ item.suffixText }}</ax-text>\\n </ax-suffix>\\n }\\n @for (child of item.items; track child) {\\n <ng-container [ngTemplateOutlet]=\\\"Recursion\\\" [ngTemplateOutletContext]=\\\"{ $implicit: child }\\\"></ng-container>\\n }\\n </ng-template>\\n</ng-template>\\n\", styles: [\":root{--ax-comp-side-menu-indicator-size: 2px}ax-side-menu{display:flex;width:100%;flex-direction:column;gap:.5rem;color:inherit;font-size:.875rem;line-height:1.25rem;-webkit-user-select:none;user-select:none}ax-side-menu>ax-title{display:block;margin-block:.5rem;padding:.25rem .75rem;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;opacity:.5}ax-side-menu ax-side-menu-item ax-title{display:block;margin-block:.5rem;margin-top:.5rem;padding-inline:.75rem;padding-bottom:.25rem;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;opacity:.5}ax-side-menu ax-side-menu-item ax-divider{display:block;width:100%;height:1px;margin-block:.25rem;background-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-side-menu ax-side-menu-item .ax-side-item{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 1rem;font-size:inherit;font-weight:500}ax-side-menu ax-side-menu-item .ax-side-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-side-menu ax-side-menu-item .ax-side-item.ax-state-disabled .ax-ripple{opacity:0}ax-side-menu ax-side-menu-item .ax-side-item:hover:not(ax-side-menu ax-side-menu-item .ax-side-item:hover.ax-state-disabled,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active.ax-state-disabled) ax-loading ax-loading-spinner span,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active:not(ax-side-menu ax-side-menu-item .ax-side-item:hover.ax-state-disabled,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active.ax-state-disabled) ax-loading ax-loading-spinner span{border-color:rgba(var(--ax-sys-color-on-primary-surface))}ax-side-menu ax-side-menu-item .ax-side-item .ax-start-side,ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side{display:flex;align-items:center}ax-side-menu ax-side-menu-item .ax-side-item .ax-start-side{gap:.5rem}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side{gap:.5rem}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon{display:block;transition-property:rotate;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:90deg}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side ax-loading ax-loading-spinner span{border-color:rgba(var(--ax-sys-color-on-primary-surface))}ax-side-menu ax-side-menu-item .ax-side-item .ax-ripple{background-color:rgba(var(--ax-sys-color-on-surface),.3)!important}ax-side-menu ax-side-menu-item .ax-side-children{display:grid;grid-template-rows:1fr;padding-inline-start:1.25rem;opacity:1;transition-property:grid-template-rows,opacity;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu ax-side-menu-item .ax-side-children.ax-collapsed{grid-template-rows:0fr;opacity:0}ax-side-menu ax-side-menu-item .ax-side-children.ax-empty{display:none}ax-side-menu ax-side-menu-item .ax-side-children .ax-side-children-content{overflow:hidden}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item:first-child{padding-top:.5rem}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item:first-child ax-title{margin-top:1rem}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item .ax-side-item{font-weight:400}ax-side-menu ax-side-menu-item .ax-side-children-content{display:flex;flex-direction:column;gap:.5rem}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item{border-radius:var(--ax-sys-border-radius)}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item:hover:not(ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-surface))}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line,ax-side-menu.ax-look-with-line-color{gap:0}ax-side-menu.ax-look-with-line .ax-ripple,ax-side-menu.ax-look-with-line-color .ax-ripple{display:none}ax-side-menu.ax-look-with-line.ax-location-start .ax-side-children:before,ax-side-menu.ax-look-with-line.ax-location-start .ax-side-item:before,ax-side-menu.ax-look-with-line-color.ax-location-start .ax-side-children:before,ax-side-menu.ax-look-with-line-color.ax-location-start .ax-side-item:before{inset-inline-start:0;width:calc(var(--ax-comp-side-menu-indicator-size, 2px) / 2)}ax-side-menu.ax-look-with-line.ax-location-end .ax-side-children:before,ax-side-menu.ax-look-with-line.ax-location-end .ax-side-item:before,ax-side-menu.ax-look-with-line-color.ax-location-end .ax-side-children:before,ax-side-menu.ax-look-with-line-color.ax-location-end .ax-side-item:before{inset-inline-end:0;width:calc(var(--ax-comp-side-menu-indicator-size, 2px) / 2)}ax-side-menu.ax-look-with-line ax-side-menu-item,ax-side-menu.ax-look-with-line .ax-side-children,ax-side-menu.ax-look-with-line .ax-side-item,ax-side-menu.ax-look-with-line-color ax-side-menu-item,ax-side-menu.ax-look-with-line-color .ax-side-children,ax-side-menu.ax-look-with-line-color .ax-side-item{position:relative}ax-side-menu.ax-look-with-line ax-side-menu-item:before,ax-side-menu.ax-look-with-line .ax-side-children:before,ax-side-menu.ax-look-with-line .ax-side-item:before,ax-side-menu.ax-look-with-line-color ax-side-menu-item:before,ax-side-menu.ax-look-with-line-color .ax-side-children:before,ax-side-menu.ax-look-with-line-color .ax-side-item:before{position:absolute;height:100%;background-color:rgba(var(--ax-sys-color-border-lightest-surface));content:\\\"\\\";transition-property:width;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu.ax-look-with-line .ax-side-item:hover:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled),ax-side-menu.ax-look-with-line-color .ax-side-item:hover:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled),ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled):before,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled):before{position:absolute;width:var(--ax-comp-side-menu-indicator-size, 2px);height:100%;background-color:rgba(var(--ax-comp-side-menu-indicator-active-color, var(--ax-comp-side-menu-bg-color, var(--ax-sys-color-primary-surface))));content:\\\"\\\"}ax-side-menu.ax-look-with-line .ax-side-children,ax-side-menu.ax-look-with-line-color .ax-side-children{gap:0}ax-side-menu.ax-look-with-line .ax-side-children ax-side-menu-item:first-child,ax-side-menu.ax-look-with-line-color .ax-side-children ax-side-menu-item:first-child{padding-top:0}ax-side-menu.ax-look-with-line-color .ax-side-item:hover:not(ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-primary-surface),.1)}ax-side-menu.ax-look-default{gap:.25rem}ax-side-menu.ax-look-default ax-icon{opacity:.6}ax-side-menu.ax-look-default .ax-side-item{padding:.5rem 1rem;border-radius:var(--ax-sys-border-radius)}ax-side-menu.ax-look-default .ax-side-item:hover:not(ax-side-menu.ax-look-default .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-surface),.5)}ax-side-menu.ax-look-default .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-default .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-surface),.1)}ax-side-menu.ax-look-default .ax-side-children{position:relative;gap:.25rem;padding-inline-start:2.25rem}ax-side-menu.ax-look-default .ax-side-children:before{position:absolute;width:1px;height:100%;margin-inline-start:1.5rem;background-color:rgba(var(--ax-sys-color-border-light-surface));content:\\\"\\\"}ax-side-menu.ax-look-default .ax-side-children ax-side-menu-item .ax-side-item{padding:.25rem .5rem}ax-side-menu.ax-look-default .ax-side-children ax-side-menu-item:first-child{padding-top:0}ax-side-menu.ax-mode-compact .ax-side-menu-wrapper{width:fit-content}ax-side-menu.ax-mode-compact>ax-side-menu-item>.ax-side-children{display:none}ax-side-menu.ax-mode-compact>ax-side-menu-item>ax-popover.ax-side-menu-children-popover .ax-side-children-content{display:none}ax-side-menu.ax-mode-compact .ax-inside-text{display:none}ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item:hover:not(ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-darker-surface, var(--ax-sys-color-surface)))}ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-active:not(ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-mode-compact ax-side-menu-item{position:relative;padding:.125rem!important;display:flex;justify-content:center;width:100%}ax-side-menu.ax-mode-compact ax-side-menu-item ax-icon{font-size:1.4rem}ax-side-menu.ax-mode-compact .ax-side-item{width:fit-content;display:block}[dir=rtl] ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon:before{scale:-1 1}[dir=rtl] ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:-90deg}.ax-side-menu-popover{color:inherit;font-size:.875rem;line-height:1.25rem;-webkit-user-select:none;user-select:none}.ax-side-menu-popover .ax-side-children-content{display:flex;min-width:10rem;flex-direction:column;gap:.25rem;overflow:visible;border-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-surface));padding:.25rem}.ax-side-menu-popover ax-side-menu-item{position:relative;display:block;width:100%;padding:0}.ax-side-menu-popover ax-side-menu-item .ax-side-children.ax-empty{display:none}.ax-side-menu-popover ax-side-menu-item>ax-popover.ax-side-menu-children-popover>.ax-side-menu-popover-host{display:none}.ax-side-menu-popover ax-side-menu-item .ax-side-item{position:relative;display:flex;width:100%;cursor:pointer;align-items:center;justify-content:space-between;gap:.75rem;border-radius:var(--ax-sys-border-radius);padding:.5rem .75rem;font-weight:400;white-space:nowrap}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-start-side,.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side{display:flex;align-items:center;gap:.5rem}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon{display:block;rotate:90deg;transition-property:rotate;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:0deg}.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item:hover:not(.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-darker-surface, var(--ax-sys-color-surface)))}.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-active:not(.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}\\n\"] }]\n }], propDecorators: { __hostClass: [{\n type: HostBinding,\n args: ['class']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvc2lkZS1tZW51L3NyYy9saWIvc2lkZS1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvc2lkZS1tZW51L3NyYy9saWIvc2lkZS1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEUsT0FBTyxFQUNMLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxXQUFXLEVBQ1gsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLFVBQVUsRUFBRSxnQkFBZ0IsRUFBVyxNQUFNLGlCQUFpQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7QUF1QnBGOzs7R0FHRztBQW9CSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBVztJQW5CcEQ7O1FBb0JFLFVBQUssR0FBRyxLQUFLLDJEQUFvQixDQUFDO1FBQ3pCLFNBQUksR0FBRyxLQUFLLENBQWlCLE9BQU8sZ0RBQUMsQ0FBQztRQUN0QyxhQUFRLEdBQUcsS0FBSyxDQUFxQixPQUFP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LE9BQU8sQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLGVBQWUsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsV0FBVyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7OEdBN0ZVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLG9vQkFMbkI7WUFDVCxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFO1lBQzFELEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUU7U0FDOUQsaURDaEVILDB2RUFvRUEsdWxaRGRJLGdCQUFnQixvSkFDaEIsMkJBQTJCLHlMQUMzQix1QkFBdUIsNlVBQ3ZCLFVBQVUsb09BQ1YsZ0JBQWdCLDhNQUNoQix3QkFBd0I7OzJGQU9mLG1CQUFtQjtrQkFuQi9CLFNBQVM7K0JBQ0UsY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCO3dCQUNQLGdCQUFnQjt3QkFDaEIsMkJBQTJCO3dCQUMzQix1QkFBdUI7d0JBQ3ZCLFVBQVU7d0JBQ1YsZ0JBQWdCO3dCQUNoQix3QkFBd0I7cUJBQ3pCLGFBQ1U7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcscUJBQXFCLEVBQUU7d0JBQzFELEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLHFCQUFxQixFQUFFO3FCQUM5RDs4QkE2RlcsV0FBVztzQkFEdEIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb21wb25lbnQsIE5YQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yR2VuZXJpY0NvbXBvbmVudCwgQVhEZWNvcmF0b3JJY29uQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBEZXN0cm95UmVmLFxuICBlZmZlY3QsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgUExBVEZPUk1fSUQsXG4gIHNpZ25hbCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSXNBY3RpdmVNYXRjaE9wdGlvbnMsIFJvdXRlckxpbmssIFJvdXRlckxpbmtBY3RpdmUsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQVhTaWRlTWVudUJhc2UgfSBmcm9tICcuL3NpZGUtbWVudS1iYXNlJztcbmltcG9ydCB7IEFYU2lkZU1lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9zaWRlLW1lbnUtaXRlbS9zaWRlLW1lbnUtaXRlbS5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBBWFNpZGVNZW51TG9vayA9ICdwaWxscycgfCAnd2l0aC1saW5lJyB8ICd3aXRoLWxpbmUtY29sb3InIHwgJ2RlZmF1bHQnO1xuZXhwb3J0IHR5cGUgQVhTaWRlTWVudUxvY2F0aW9uID0gJ3N0YXJ0JyB8ICdlbmQnO1xuZXhwb3J0IHR5cGUgQVhTaWRlTWVudUl0ZW0gPSB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICByb3V0ZXJMaW5rPzogc3RyaW5nIHwgYW55W10gfCBVcmxUcmVlO1xuICByb3V0ZXJMaW5rQWN0aXZlPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIHJvdXRlckxpbmtBY3RpdmVPcHRpb25zPzogeyBleGFjdDogYm9vbGVhbiB9IHwgSXNBY3RpdmVNYXRjaE9wdGlvbnM7XG4gIGhyZWY/OiBzdHJpbmc7XG4gIHRhcmdldD86ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJztcbiAgdGV4dDogc3RyaW5nO1xuICBhY3RpdmU/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGlzTG9hZGluZz86IGJvb2xlYW47XG4gIGlzQ29sbGFwc2VkPzogYm9vbGVhbjtcbiAgaWNvbj86IHN0cmluZztcbiAgZGF0YT86IHVua25vd247XG4gIHN1ZmZpeFRleHQ/OiBzdHJpbmc7XG4gIHRvZ2dsZU9uQ2xpY2s/OiBib29sZWFuO1xuICBpdGVtcz86IEFYU2lkZU1lbnVJdGVtW107XG59O1xuXG4vKipcbiAqIEBjYXRlZ29yeVxuICogQSBjb21wb25lbnQgZm9yIGRpc3BsYXlpbmcgYSBzaWRlIG1lbnUgd2l0aCBjdXN0b21pemFibGUgY29udGVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtc2lkZS1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGUtbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpZGUtbWVudS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW1xuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgQVhEZWNvcmF0b3JHZW5lcmljQ29tcG9uZW50LFxuICAgIEFYU2lkZU1lbnVJdGVtQ29tcG9uZW50LFxuICAgIFJvdXRlckxpbmssXG4gICAgUm91dGVyTGlua0FjdGl2ZSxcbiAgICBBWERlY29yYXRvckljb25Db21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogQVhDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFNpZGVNZW51Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWFNpZGVNZW51QmFzZSwgdXNlRXhpc3Rpbmc6IEFYU2lkZU1lbnVDb21wb25lbnQgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhTaWRlTWVudUNvbXBvbmVudCBleHRlbmRzIE5YQ29tcG9uZW50IGltcGxlbWVudHMgQVhTaWRlTWVudUJhc2Uge1xuICBpdGVtcyA9IG1vZGVsPEFYU2lkZU1lbnVJdGVtW10+KCk7XG4gIHJlYWRvbmx5IGxvb2sgPSBpbnB1dDxBWFNpZGVNZW51TG9vaz4oJ3BpbGxzJyk7XG4gIHJlYWRvbmx5IGxvY2F0aW9uID0gaW5wdXQ8QVhTaWRlTWVudUxvY2F0aW9uPignc3RhcnQnKTtcbiAgcmVhZG9ubHkgbW9kZSA9IGlucHV0PCdmdWxsJyB8ICdjb21wYWN0Jz4oJ2Z1bGwnKTtcbiAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgLyoqXG4gICAqIEFsbCBgYXgtc2lkZS1tZW51LWl0ZW1gIGluc3RhbmNlcyBkaXNjb3ZlcmVkIGJ5IHdhbGtpbmcgdGhlIGhvc3QgRE9NLlxuICAgKlxuICAgKiBXZSB1c2UgRE9NIGRpc2NvdmVyeSAoaW5zdGVhZCBvZiBgY29udGVudENoaWxkcmVuYCkgYmVjYXVzZSBBbmd1bGFyIGNvbnRlbnRcbiAgICogcXVlcmllcyBkbyAqKm5vdCoqIHRyYXZlcnNlIGVtYmVkZGVkIHZpZXdzIGNyZWF0ZWQgYnkgYG5nVGVtcGxhdGVPdXRsZXRgLFxuICAgKiBhbmQgdGhlIGBBWFNpZGVNZW51QmFzZWAgREkgdG9rZW4gaXMgbm90IHJlYWNoYWJsZSBmcm9tIGluc2lkZSB0aG9zZSB2aWV3c1xuICAgKiBlaXRoZXIgKHRoZXkgaW5oZXJpdCBpbmplY3Rpb24gZnJvbSB0aGUgdGVtcGxhdGUncyBkZWNsYXJhdGlvbiBzaXRlLCBub3RcbiAgICogdGhlIGluc2VydGlvbiBzaXRlKS4gV2Fsa2luZyB0aGUgRE9NIHdvcmtzIGZvciBkaXJlY3QgcHJvamVjdGlvbixcbiAgICogc3RydWN0dXJhbCBkaXJlY3RpdmVzLCBhbmQgcmVjdXJzaXZlIGBuZ1RlbXBsYXRlT3V0bGV0YC1iYXNlZCB0ZW1wbGF0ZXNcbiAgICogdW5pZm9ybWx5LlxuICAgKi9cbiAgcHJpdmF0ZSBfaXRlbXMgPSBzaWduYWw8QVhTaWRlTWVudUl0ZW1Db21wb25lbnRbXT4oW10pO1xuICAvKiogUmVhZC1vbmx5IHNpZ25hbCBleHBvc2luZyBldmVyeSBkaXNjb3ZlcmVkIGBheC1zaWRlLW1lbnUtaXRlbWAgaW5zdGFuY2UuICovXG4gIHJlYWRvbmx5IGNoaWxkcmVuID0gdGhpcy5faXRlbXMuYXNSZWFkb25seSgpO1xuICBwcml2YXRlIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICBwcml2YXRlIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIGhvc3RFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgI2luaXQgPSBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuO1xuICAgIHRoaXMucmVmcmVzaEl0ZW1zRnJvbURvbSgpO1xuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4gdGhpcy5yZWZyZXNoSXRlbXNGcm9tRG9tKCkpO1xuICAgIG9ic2VydmVyLm9ic2VydmUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHsgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH0pO1xuICAgIHRoaXMuZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4gb2JzZXJ2ZXIuZGlzY29ubmVjdCgpKTtcbiAgfSk7XG5cbiAgI3N5bmNUb29sdGlwcyA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaXNDb21wYWN0ID0gdGhpcy5tb2RlKCkgPT09ICdjb21wYWN0JztcbiAgICB0aGlzLl9pdGVtcygpLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IGlzRmlyc3RMZXZlbCA9ICFpdGVtLmdldEhvc3RFbGVtZW50KCkucGFyZW50RWxlbWVudD8uY2xvc2VzdCgnLmF4LXNpZGUtY2hpbGRyZW4tY29udGVudCcpO1xuICAgICAgaXRlbS50b29sdGlwU3RhdHVzLnNldChpc0NvbXBhY3QgJiYgaXNGaXJzdExldmVsKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgLyoqIFB1c2ggZnVsbC9jb21wYWN0IG1vZGUgdG8gZXZlcnkgbWVudSBpdGVtIHdoZW5ldmVyIG1vZGUgY2hhbmdlcy4gKi9cbiAgI3N5bmNJdGVtTW9kZSA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgbW9kZSA9IHRoaXMubW9kZSgpO1xuICAgIHRoaXMuX2l0ZW1zKCkuZm9yRWFjaCgoaXRlbSkgPT4gaXRlbS5zeW5jTWVudU1vZGUobW9kZSkpO1xuICB9KTtcblxuICAvKipcbiAgICogV2Fsa3MgdGhlIGhvc3QgRE9NIHRvIGRpc2NvdmVyIGV2ZXJ5IG5lc3RlZCBgYXgtc2lkZS1tZW51LWl0ZW1gLCBsb29rcyB1cFxuICAgKiB0aGUgY29tcG9uZW50IGluc3RhbmNlIHRocm91Z2ggdGhlIGBfX2F4Q29udGV4dF9fYCBwcm9wZXJ0eSB0aGF0XG4gICAqIGBNWEJhc2VDb21wb25lbnQubmdPbkluaXRgIGF0dGFjaGVzIHRvIGVhY2ggaG9zdCBlbGVtZW50LCBhbmQgdXBkYXRlcyB0aGVcbiAgICogaW50ZXJuYWwgaXRlbXMgc2lnbmFsIGFuZCBgLmZpcnN0LWxldmVsYCBDU1MgY2xhc3MgYWNjb3JkaW5nbHkuXG4gICAqXG4gICAqIFRyaWdnZXJlZCBib3RoIGluaXRpYWxseSBhbmQgZnJvbSBhIGBNdXRhdGlvbk9ic2VydmVyYCBzbyByZWN1cnNpdmVcbiAgICogdGVtcGxhdGVzIHRoYXQgYWRkL3JlbW92ZSBpdGVtcyBhdCBydW50aW1lIHN0YXkgaW4gc3luYy5cbiAgICovXG4gIHByaXZhdGUgcmVmcmVzaEl0ZW1zRnJvbURvbSgpIHtcbiAgICBjb25zdCBob3N0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgZWxlbWVudHMgPSBob3N0LnF1ZXJ5U2VsZWN0b3JBbGwoJ2F4LXNpZGUtbWVudS1pdGVtJyk7XG4gICAgY29uc3QgaXRlbXM6IEFYU2lkZU1lbnVJdGVtQ29tcG9uZW50W10gPSBbXTtcbiAgICBlbGVtZW50cy5mb3JFYWNoKChlbCkgPT4ge1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSAoZWwgYXMgdW5rbm93biBhcyB7IF9fYXhDb250ZXh0X18/OiB1bmtub3duIH0pLl9fYXhDb250ZXh0X187XG4gICAgICBpZiAoaW5zdGFuY2UgaW5zdGFuY2VvZiBBWFNpZGVNZW51SXRlbUNvbXBvbmVudCkge1xuICAgICAgICBpdGVtcy5wdXNoKGluc3RhbmNlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLl9pdGVtcygpO1xuICAgIGNvbnN0IGNoYW5nZWQgPSBjdXJyZW50Lmxlbmd0aCAhPT0gaXRlbXMubGVuZ3RoIHx8IGN1cnJlbnQuc29tZSgoaXQsIGkpID0+IGl0ICE9PSBpdGVtc1tpXSk7XG4gICAgaWYgKGNoYW5nZWQpIHtcbiAgICAgIHRoaXMuX2l0ZW1zLnNldChpdGVtcyk7XG4gICAgfVxuXG4gICAgdGhpcy5hZGRGaXJzdExldmVsQ2xhc3MoKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRmlyc3RMZXZlbENsYXNzKCkge1xuICAgIGNvbnN0IGFsbENoaWxkcmVuID0gdGhpcy5faXRlbXMoKTtcbiAgICBhbGxDaGlsZHJlbi5mb3JFYWNoKChpdGVtKSA9PlxuICAgICAgaXRlbS5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5heC1zaWRlLWl0ZW0nKT8uY2xhc3NMaXN0LnJlbW92ZSgnZmlyc3QtbGV2ZWwnKSxcbiAgICApO1xuXG4gICAgYWxsQ2hpbGRyZW5cbiAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IHtcbiAgICAgICAgY29uc3QgaXRlbUVsZW1lbnQgPSBpdGVtLmdldEhvc3RFbGVtZW50KCk7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RFbGVtZW50LmNvbnRhaW5zKGl0ZW1FbGVtZW50KSAmJiAhaXRlbUVsZW1lbnQucGFyZW50RWxlbWVudD8uY2xvc2VzdCgnLmF4LXNpZGUtY2hpbGRyZW4tY29udGVudCcpO1xuICAgICAgfSlcbiAgICAgIC5mb3JFYWNoKChpdGVtKSA9PiBpdGVtLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcignLmF4LXNpZGUtaXRlbScpPy5jbGFzc0xpc3QuYWRkKCdmaXJzdC1sZXZlbCcpKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwcml2YXRlIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFtgYXgtbG9vay0ke3RoaXMubG9vaygpfWAsIGBheC1sb2NhdGlvbi0ke3RoaXMubG9jYXRpb24oKX1gLCBgYXgtbW9kZS0ke3RoaXMubW9kZSgpfWBdO1xuICB9XG59XG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJheC1zaWRlLW1lbnUtaXRlbSxheC10aXRsZSxuZy1jb250YWluZXIsW25nVGVtcGxhdGVPdXRsZXRdXCI+PC9uZy1jb250ZW50PlxuXG5AZm9yIChub2RlIG9mIGl0ZW1zKCk7IHRyYWNrIG5vZGUpIHtcbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJSZWN1cnNpb25cIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IG5vZGUgfVwiPiA8L25nLWNvbnRhaW5lcj5cbn1cbjxuZy10ZW1wbGF0ZSAjUmVjdXJzaW9uIGxldC1pdGVtPlxuICBAaWYgKGl0ZW0udGl0bGUpIHtcbiAgICA8YXgtdGl0bGU+e3sgaXRlbS50aXRsZSB9fTwvYXgtdGl0bGU+XG4gIH1cbiAgQGlmIChpdGVtLnJvdXRlckxpbmspIHtcbiAgICA8YXgtc2lkZS1tZW51LWl0ZW1cbiAgICAgIFt0ZXh0XT1cIml0ZW0udGV4dFwiXG4gICAgICBbdGFyZ2V0XT1cIml0ZW0udGFyZ2V0XCJcbiAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgIFtpc0xvYWRpbmddPVwiaXRlbS5pc0xvYWRpbmdcIlxuICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS5yb3V0ZXJMaW5rXCJcbiAgICAgIFtpc0NvbGxhcHNlZF09XCJpdGVtLmlzQ29sbGFwc2VkXCJcbiAgICAgIFt0b2dnbGVPbkNsaWNrXT1cIml0ZW0udG9nZ2xlT25DbGlja1wiXG4gICAgICBbcm91dGVyTGlua0FjdGl2ZV09XCJpdGVtLnJvdXRlckxpbmtBY3RpdmVcIlxuICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cIml0ZW0ucm91dGVyTGlua0FjdGl2ZU9wdGlvbnNcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic2lkZU1lbnVJdGVtQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvYXgtc2lkZS1tZW51LWl0ZW0+XG4gIH0gQGVsc2UgaWYgKGl0ZW0uaHJlZikge1xuICAgIDxheC1zaWRlLW1lbnUtaXRlbVxuICAgICAgW3RleHRdPVwiaXRlbS50ZXh0XCJcbiAgICAgIFtocmVmXT1cIml0ZW0uaHJlZlwiXG4gICAgICBbdGFyZ2V0XT1cIml0ZW0udGFyZ2V0XCJcbiAgICAgIFthY3RpdmVdPVwiaXRlbS5hY3RpdmVcIlxuICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgW2lzTG9hZGluZ109XCJpdGVtLmlzTG9hZGluZ1wiXG4gICAgICBbaXNDb2xsYXBzZWRdPVwiaXRlbS5pc0NvbGxhcHNlZFwiXG4gICAgICBbdG9nZ2xlT25DbGlja109XCJpdGVtLnRvZ2dsZU9uQ2xpY2tcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic2lkZU1lbnVJdGVtQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvYXgtc2lkZS1tZW51LWl0ZW0+XG4gIH0gQGVsc2Uge1xuICAgIDxheC1zaWRlLW1lbnUtaXRlbVxuICAgICAgW3RleHRdPVwiaXRlbS50ZXh0XCJcbiAgICAgIFthY3RpdmVdPVwiaXRlbS5hY3RpdmVcIlxuICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgW2lzTG9hZGluZ109XCJpdGVtLmlzTG9hZGluZ1wiXG4gICAgICBbaXNDb2xsYXBzZWRdPVwiaXRlbS5pc0NvbGxhcHNlZFwiXG4gICAgICBbdG9nZ2xlT25DbGlja109XCJpdGVtLnRvZ2dsZU9uQ2xpY2tcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic2lkZU1lbnVJdGVtQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvYXgtc2lkZS1tZW51LWl0ZW0+XG4gIH1cblxuICA8bmctdGVtcGxhdGUgI3NpZGVNZW51SXRlbUNvbnRlbnQ+XG4gICAgPGF4LXByZWZpeD5cbiAgICAgIEBpZiAoaXRlbS5pY29uKSB7XG4gICAgICAgIDxheC1pY29uIFtpY29uXT1cIml0ZW0uaWNvblwiPiA8L2F4LWljb24+XG4gICAgICB9XG4gICAgPC9heC1wcmVmaXg+XG4gICAgQGlmIChpdGVtLmRhdGEpIHtcbiAgICAgIDxheC10ZXh0Pnt7IGl0ZW0uZGF0YSB9fTwvYXgtdGV4dD5cbiAgICB9XG4gICAgQGlmIChpdGVtLnN1ZmZpeFRleHQpIHtcbiAgICAgIDxheC1zdWZmaXg+XG4gICAgICAgIDxheC10ZXh0Pnt7IGl0ZW0uc3VmZml4VGV4dCB9fTwvYXgtdGV4dD5cbiAgICAgIDwvYXgtc3VmZml4PlxuICAgIH1cbiAgICBAZm9yIChjaGlsZCBvZiBpdGVtLml0ZW1zOyB0cmFjayBjaGlsZCkge1xuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJSZWN1cnNpb25cIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNoaWxkIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICB9XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuIl19","import { AXOutlineContainerDirective } from '@acorex/cdk/outline';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { afterNextRender, Directive, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { isEqual } from 'lodash-es';\nimport { distinctUntilChanged, map } from 'rxjs';\nimport { AXSideMenuComponent } from './side-menu.component';\nimport * as i0 from \"@angular/core\";\nexport class AXOutlineSideMenuDirective {\n constructor() {\n this.router = inject(Router);\n this.unsubscriber = inject(AXUnsubscriber);\n this.sideMenu = inject(AXSideMenuComponent);\n this.container = inject(AXOutlineContainerDirective);\n this.#anr = afterNextRender(() => {\n this.container.outlineItems$\n .pipe(this.unsubscriber.takeUntilDestroy, map((items) => {\n if (!items || items.length === 0)\n return [];\n return this.buildNestedMenuItems(items);\n }), distinctUntilChanged(isEqual))\n .subscribe((menuItems) => {\n this.updateSideMenu(menuItems);\n });\n });\n }\n #anr;\n updateSideMenu(newMenuItems) {\n const currentMenuItems = this.sideMenu.items();\n const newSignature = this.getStructuralSignature(newMenuItems);\n const currentSignature = this.getStructuralSignature(currentMenuItems || []);\n if (newSignature !== currentSignature) {\n this.sideMenu.items.set(newMenuItems);\n return;\n }\n const currentComponents = this.sideMenu.children();\n const newActiveItem = this.flattenMenuItems(newMenuItems).find((item) => item.active);\n const currentActiveComponent = currentComponents.find((c) => c.active());\n if (newActiveItem?.href === currentActiveComponent?.href()) {\n return;\n }\n currentActiveComponent?.active.set(false);\n if (newActiveItem) {\n const componentToActivate = currentComponents.find((c) => c.href() === newActiveItem.href);\n componentToActivate?.active.set(true);\n }\n }\n /**\n * Creates a string signature that represents the tree structure of the menu.\n * Example: \"href1(href1.1,href1.2),href2,href3\"\n * This will be different for a flat list vs. a nested list.\n */\n getStructuralSignature(items) {\n return items\n .map((item) => {\n let signature = item.href || '';\n if (item.items && item.items.length > 0) {\n signature += `(${this.getStructuralSignature(item.items)})`;\n }\n return signature;\n })\n .join(',');\n }\n flattenMenuItems(items) {\n return items.reduce((acc, item) => {\n acc.push(item);\n if (item.items) {\n acc.push(...this.flattenMenuItems(item.items));\n }\n return acc;\n }, []);\n }\n textReplace(item) {\n const text = item.el.textContent;\n if (item.hasAnchor) {\n const newStr = text?.slice(0, -1);\n return newStr?.trim() || '';\n }\n return text?.trim() || '';\n }\n buildNestedMenuItems(items) {\n const menuItemsMap = new Map();\n const rootItems = [];\n items.forEach((item) => {\n const menuItem = {\n items: [],\n target: '_self',\n active: item.active,\n toggleOnClick: false,\n text: this.textReplace(item),\n href: `${this.router.url.split('#')[0]}#${item.id}`,\n };\n menuItemsMap.set(item.id, menuItem);\n });\n items.forEach((item) => {\n const menuItem = menuItemsMap.get(item.id);\n if (!menuItem)\n return;\n if (item.parentId) {\n const parentMenuItem = menuItemsMap.get(item.parentId);\n if (parentMenuItem) {\n parentMenuItem.items?.push(menuItem);\n }\n else {\n console.warn(`Outline item with id \"${item.id}\" has a parentId \"${item.parentId}\" that does not exist.`);\n rootItems.push(menuItem);\n }\n }\n else {\n rootItems.push(menuItem);\n }\n });\n return rootItems;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXOutlineSideMenuDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.3\", type: AXOutlineSideMenuDirective, isStandalone: true, selector: \"[axOutlineSideMenu]\", providers: [AXUnsubscriber], exportAs: [\"axOutlineSideMenu\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXOutlineSideMenuDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axOutlineSideMenu]',\n exportAs: 'axOutlineSideMenu',\n providers: [AXUnsubscriber],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1tZW51LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvc2lkZS1tZW51L3NyYy9saWIvc2lkZS1tZW51LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBa0IsTUFBTSx1QkFBdUIsQ0FBQzs7QUFPNUUsTUFBTSxPQUFPLDBCQUEwQjtJQUx2QztRQU1VLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsaUJBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3ZDLGNBQVMsR0FBRyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUV4RCxTQUFJLEdBQUcsZUFBZSxDQUFDLEdBQUcsRUFBRTtZQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWE7aUJBQ3pCLElBQUksQ0FDSCxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUNsQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDWixJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUss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Q3RDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3JCLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNDLElBQUksQ0FBQyxRQUFRO2dCQUFFLE9BQU87WUFDdEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2xCLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN2RCxJQUFJLGNBQWMsRUFBRSxDQUFDO29CQUNuQixjQUFjLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDdkMsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sQ0FBQyxJQUFJLENBQUMseUJBQXlCLElBQUksQ0FBQyxFQUFFLHFCQUFxQixJQUFJLENBQUMsUUFBUSx3QkFBd0IsQ0FBQyxDQUFDO29CQUN6RyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUMzQixDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0IsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzs4R0E5R1UsMEJBQTBCO2tHQUExQiwwQkFBMEIsa0VBRjFCLENBQUMsY0FBYyxDQUFDOzsyRkFFaEIsMEJBQTBCO2tCQUx0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWE91dGxpbmVDb250YWluZXJEaXJlY3RpdmUsIG91dGxpbmVJdGVtVHlwZSB9IGZyb20gJ0BhY29yZXgvY2RrL291dGxpbmUnO1xuaW1wb3J0IHsgQVhVbnN1YnNjcmliZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgYWZ0ZXJOZXh0UmVuZGVyLCBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhTaWRlTWVudUNvbXBvbmVudCwgQVhTaWRlTWVudUl0ZW0gfSBmcm9tICcuL3NpZGUtbWVudS5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXhPdXRsaW5lU2lkZU1lbnVdJyxcbiAgZXhwb3J0QXM6ICdheE91dGxpbmVTaWRlTWVudScsXG4gIHByb3ZpZGVyczogW0FYVW5zdWJzY3JpYmVyXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhPdXRsaW5lU2lkZU1lbnVEaXJlY3RpdmUge1xuICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIHVuc3Vic2NyaWJlciA9IGluamVjdChBWFVuc3Vic2NyaWJlcik7XG4gIHByaXZhdGUgc2lkZU1lbnUgPSBpbmplY3QoQVhTaWRlTWVudUNvbXBvbmVudCk7XG4gIHByaXZhdGUgY29udGFpbmVyID0gaW5qZWN0KEFYT3V0bGluZUNvbnRhaW5lckRpcmVjdGl2ZSk7XG5cbiAgI2FuciA9IGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgdGhpcy5jb250YWluZXIub3V0bGluZUl0ZW1zJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3ksXG4gICAgICAgIG1hcCgoaXRlbXMpID0+IHtcbiAgICAgICAgICBpZiAoIWl0ZW1zIHx8IGl0ZW1zLmxlbmd0aCA9PT0gMCkgcmV0dXJuIFtdO1xuICAgICAgICAgIHJldHVybiB0aGlzLmJ1aWxkTmVzdGVkTWVudUl0ZW1zKGl0ZW1zKTtcbiAgICAgICAgfSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKGlzRXF1YWwpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgobWVudUl0ZW1zKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlU2lkZU1lbnUobWVudUl0ZW1zKTtcbiAgICAgIH0pO1xuICB9KTtcblxuICBwcml2YXRlIHVwZGF0ZVNpZGVNZW51KG5ld01lbnVJdGVtczogQVhTaWRlTWVudUl0ZW1bXSk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRNZW51SXRlbXMgPSB0aGlzLnNpZGVNZW51Lml0ZW1zKCk7XG4gICAgY29uc3QgbmV3U2lnbmF0dXJlID0gdGhpcy5nZXRTdHJ1Y3R1cmFsU2lnbmF0dXJlKG5ld01lbnVJdGVtcyk7XG4gICAgY29uc3QgY3VycmVudFNpZ25hdHVyZSA9IHRoaXMuZ2V0U3RydWN0dXJhbFNpZ25hdHVyZShjdXJyZW50TWVudUl0ZW1zIHx8IFtdKTtcblxuICAgIGlmIChuZXdTaWduYXR1cmUgIT09IGN1cnJlbnRTaWduYXR1cmUpIHtcbiAgICAgIHRoaXMuc2lkZU1lbnUuaXRlbXMuc2V0KG5ld01lbnVJdGVtcyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudENvbXBvbmVudHMgPSB0aGlzLnNpZGVNZW51LmNoaWxkcmVuKCk7XG4gICAgY29uc3QgbmV3QWN0aXZlSXRlbSA9IHRoaXMuZmxhdHRlbk1lbnVJdGVtcyhuZXdNZW51SXRlbXMpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uYWN0aXZlKTtcbiAgICBjb25zdCBjdXJyZW50QWN0aXZlQ29tcG9uZW50ID0gY3VycmVudENvbXBvbmVudHMuZmluZCgoYykgPT4gYy5hY3RpdmUoKSk7XG4gICAgaWYgKG5ld0FjdGl2ZUl0ZW0/LmhyZWYgPT09IGN1cnJlbnRBY3RpdmVDb21wb25lbnQ/LmhyZWYoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjdXJyZW50QWN0aXZlQ29tcG9uZW50Py5hY3RpdmUuc2V0KGZhbHNlKTtcbiAgICBpZiAobmV3QWN0aXZlSXRlbSkge1xuICAgICAgY29uc3QgY29tcG9uZW50VG9BY3RpdmF0ZSA9IGN1cnJlbnRDb21wb25lbnRzLmZpbmQoKGMpID0+IGMuaHJlZigpID09PSBuZXdBY3RpdmVJdGVtLmhyZWYpO1xuICAgICAgY29tcG9uZW50VG9BY3RpdmF0ZT8uYWN0aXZlLnNldCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHN0cmluZyBzaWduYXR1cmUgdGhhdCByZXByZXNlbnRzIHRoZSB0cmVlIHN0cnVjdHVyZSBvZiB0aGUgbWVudS5cbiAgICogRXhhbXBsZTogXCJocmVmMShocmVmMS4xLGhyZWYxLjIpLGhyZWYyLGhyZWYzXCJcbiAgICogVGhpcyB3aWxsIGJlIGRpZmZlcmVudCBmb3IgYSBmbGF0IGxpc3QgdnMuIGEgbmVzdGVkIGxpc3QuXG4gICAqL1xuICBwcml2YXRlIGdldFN0cnVjdHVyYWxTaWduYXR1cmUoaXRlbXM6IEFYU2lkZU1lbnVJdGVtW10pOiBzdHJpbmcge1xuICAgIHJldHVybiBpdGVtc1xuICAgICAgLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICBsZXQgc2lnbmF0dXJlID0gaXRlbS5ocmVmIHx8ICcnO1xuICAgICAgICBpZiAoaXRlbS5pdGVtcyAmJiBpdGVtLml0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBzaWduYXR1cmUgKz0gYCgke3RoaXMuZ2V0U3RydWN0dXJhbFNpZ25hdHVyZShpdGVtLml0ZW1zKX0pYDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2lnbmF0dXJlO1xuICAgICAgfSlcbiAgICAgIC5qb2luKCcsJyk7XG4gIH1cblxuICBwcml2YXRlIGZsYXR0ZW5NZW51SXRlbXMoaXRlbXM6IEFYU2lkZU1lbnVJdGVtW10pOiBBWFNpZGVNZW51SXRlbVtdIHtcbiAgICByZXR1cm4gaXRlbXMucmVkdWNlKChhY2MsIGl0ZW0pID0+IHtcbiAgICAgIGFjYy5wdXNoKGl0ZW0pO1xuICAgICAgaWYgKGl0ZW0uaXRlbXMpIHtcbiAgICAgICAgYWNjLnB1c2goLi4udGhpcy5mbGF0dGVuTWVudUl0ZW1zKGl0ZW0uaXRlbXMpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgW10gYXMgQVhTaWRlTWVudUl0ZW1bXSk7XG4gIH1cblxuICBwcml2YXRlIHRleHRSZXBsYWNlKGl0ZW06IG91dGxpbmVJdGVtVHlwZSk6IHN0cmluZyB7XG4gICAgY29uc3QgdGV4dCA9IGl0ZW0uZWwudGV4dENvbnRlbnQ7XG4gICAgaWYgKGl0ZW0uaGFzQW5jaG9yKSB7XG4gICAgICBjb25zdCBuZXdTdHIgPSB0ZXh0Py5zbGljZSgwLCAtMSk7XG4gICAgICByZXR1cm4gbmV3U3RyPy50cmltKCkgfHwgJyc7XG4gICAgfVxuICAgIHJldHVybiB0ZXh0Py50cmltKCkgfHwgJyc7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkTmVzdGVkTWVudUl0ZW1zKGl0ZW1zOiBvdXRsaW5lSXRlbVR5cGVbXSk6IEFYU2lkZU1lbnVJdGVtW10ge1xuICAgIGNvbnN0IG1lbnVJdGVtc01hcCA9IG5ldyBNYXA8c3RyaW5nLCBBWFNpZGVNZW51SXRlbT4oKTtcbiAgICBjb25zdCByb290SXRlbXM6IEFYU2lkZU1lbnVJdGVtW10gPSBbXTtcbiAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBjb25zdCBtZW51SXRlbTogQVhTaWRlTWVudUl0ZW0gPSB7XG4gICAgICAgIGl0ZW1zOiBbXSxcbiAgICAgICAgdGFyZ2V0OiAnX3NlbGYnLFxuICAgICAgICBhY3RpdmU6IGl0ZW0uYWN0aXZlLFxuICAgICAgICB0b2dnbGVPbkNsaWNrOiBmYWxzZSxcbiAgICAgICAgdGV4dDogdGhpcy50ZXh0UmVwbGFjZShpdGVtKSxcbiAgICAgICAgaHJlZjogYCR7dGhpcy5yb3V0ZXIudXJsLnNwbGl0KCcjJylbMF19IyR7aXRlbS5pZH1gLFxuICAgICAgfTtcbiAgICAgIG1lbnVJdGVtc01hcC5zZXQoaXRlbS5pZCwgbWVudUl0ZW0pO1xuICAgIH0pO1xuICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IG1lbnVJdGVtID0gbWVudUl0ZW1zTWFwLmdldChpdGVtLmlkKTtcbiAgICAgIGlmICghbWVudUl0ZW0pIHJldHVybjtcbiAgICAgIGlmIChpdGVtLnBhcmVudElkKSB7XG4gICAgICAgIGNvbnN0IHBhcmVudE1lbnVJdGVtID0gbWVudUl0ZW1zTWFwLmdldChpdGVtLnBhcmVudElkKTtcbiAgICAgICAgaWYgKHBhcmVudE1lbnVJdGVtKSB7XG4gICAgICAgICAgcGFyZW50TWVudUl0ZW0uaXRlbXM/LnB1c2gobWVudUl0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUud2FybihgT3V0bGluZSBpdGVtIHdpdGggaWQgXCIke2l0ZW0uaWR9XCIgaGFzIGEgcGFyZW50SWQgXCIke2l0ZW0ucGFyZW50SWR9XCIgdGhhdCBkb2VzIG5vdCBleGlzdC5gKTtcbiAgICAgICAgICByb290SXRlbXMucHVzaChtZW51SXRlbSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJvb3RJdGVtcy5wdXNoKG1lbnVJdGVtKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcm9vdEl0ZW1zO1xuICB9XG59XG4iXX0=","import { AXCommonModule, AXRippleDirective } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { AXSideMenuItemComponent } from './side-menu-item/side-menu-item.component';\nimport { AXSideMenuComponent } from './side-menu.component';\nimport { AXOutlineSideMenuDirective } from './side-menu.directive';\nimport * as i0 from \"@angular/core\";\nconst COMPONENT = [AXSideMenuComponent, AXSideMenuItemComponent, AXOutlineSideMenuDirective];\nconst MODULES = [\n CommonModule,\n AXCommonModule,\n AXRippleDirective,\n AXLoadingModule,\n AXTranslationModule,\n RouterLink,\n RouterLinkActive,\n AXDecoratorModule,\n];\nexport class AXSideMenuModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSideMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSideMenuModule, imports: [CommonModule,\n AXCommonModule,\n AXRippleDirective,\n AXLoadingModule,\n AXTranslationModule,\n RouterLink,\n RouterLinkActive,\n AXDecoratorModule, AXSideMenuComponent, AXSideMenuItemComponent, AXOutlineSideMenuDirective], exports: [AXSideMenuComponent, AXSideMenuItemComponent, AXOutlineSideMenuDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSideMenuModule, imports: [CommonModule,\n AXCommonModule,\n AXLoadingModule,\n AXTranslationModule,\n AXDecoratorModule, AXSideMenuComponent, AXSideMenuItemComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSideMenuModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1tZW51Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvc2lkZS1tZW51L3NyYy9saWIvc2lkZS1tZW51Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNwRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFbkUsTUFBTSxTQUFTLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO0FBQzdGLE1BQU0sT0FBTyxHQUFHO0lBQ2QsWUFBWTtJQUNaLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixVQUFVO0lBQ1YsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtDQUNsQixDQUFDO0FBT0YsTUFBTSxPQUFPLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsWUFmM0IsWUFBWTtZQUNaLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixVQUFVO1lBQ1YsZ0JBQWdCO1lBQ2hCLGlCQUFpQixFQVRBLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLDBCQUEwQixhQUF4RSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEI7K0dBaUI5RSxnQkFBZ0IsWUFmM0IsWUFBWTtZQUNaLGNBQWM7WUFFZCxlQUFlO1lBQ2YsbUJBQW1CO1lBR25CLGlCQUFpQixFQVRBLG1CQUFtQixFQUFFLHVCQUF1Qjs7MkZBaUJsRCxnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLEVBQUUsR0FBRyxTQUFTLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUN2QixTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29tbW9uTW9kdWxlLCBBWFJpcHBsZURpcmVjdGl2ZSB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYTG9hZGluZ01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rLCBSb3V0ZXJMaW5rQWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFYU2lkZU1lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9zaWRlLW1lbnUtaXRlbS9zaWRlLW1lbnUtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhTaWRlTWVudUNvbXBvbmVudCB9IGZyb20gJy4vc2lkZS1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWE91dGxpbmVTaWRlTWVudURpcmVjdGl2ZSB9IGZyb20gJy4vc2lkZS1tZW51LmRpcmVjdGl2ZSc7XG5cbmNvbnN0IENPTVBPTkVOVCA9IFtBWFNpZGVNZW51Q29tcG9uZW50LCBBWFNpZGVNZW51SXRlbUNvbXBvbmVudCwgQVhPdXRsaW5lU2lkZU1lbnVEaXJlY3RpdmVdO1xuY29uc3QgTU9EVUxFUyA9IFtcbiAgQ29tbW9uTW9kdWxlLFxuICBBWENvbW1vbk1vZHVsZSxcbiAgQVhSaXBwbGVEaXJlY3RpdmUsXG4gIEFYTG9hZGluZ01vZHVsZSxcbiAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgUm91dGVyTGluayxcbiAgUm91dGVyTGlua0FjdGl2ZSxcbiAgQVhEZWNvcmF0b3JNb2R1bGUsXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbLi4uTU9EVUxFUywgLi4uQ09NUE9ORU5UXSxcbiAgZXhwb3J0czogWy4uLkNPTVBPTkVOVF0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYU2lkZU1lbnVNb2R1bGUge31cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtc2lkZS1tZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9zaWRlLW1lbnUvc3JjL2Fjb3JleC1jb21wb25lbnRzLXNpZGUtbWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-side-menu.mjs","sources":["../tmp-esm2022/side-menu/lib/side-menu-base.js","../tmp-esm2022/side-menu/lib/side-menu-item/side-menu-item.component.js","../tmp-esm2022/side-menu/lib/side-menu.component.js","../tmp-esm2022/side-menu/lib/side-menu.directive.js","../tmp-esm2022/side-menu/lib/side-menu.module.js","../tmp-esm2022/side-menu/acorex-components-side-menu.js"],"sourcesContent":["/**\n * DI token for the parent `ax-side-menu`. Child `ax-side-menu-item`s inject this\n * to read shared state (e.g. the current display mode) without creating a\n * circular import on the concrete `AXSideMenuComponent` class.\n */\nexport class AXSideMenuBase {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1tZW51LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3NpZGUtbWVudS9zcmMvbGliL3NpZGUtbWVudS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7O0dBSUc7QUFDSCxNQUFNLE9BQWdCLGNBQWM7Q0FFbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBESSB0b2tlbiBmb3IgdGhlIHBhcmVudCBgYXgtc2lkZS1tZW51YC4gQ2hpbGQgYGF4LXNpZGUtbWVudS1pdGVtYHMgaW5qZWN0IHRoaXNcbiAqIHRvIHJlYWQgc2hhcmVkIHN0YXRlIChlLmcuIHRoZSBjdXJyZW50IGRpc3BsYXkgbW9kZSkgd2l0aG91dCBjcmVhdGluZyBhXG4gKiBjaXJjdWxhciBpbXBvcnQgb24gdGhlIGNvbmNyZXRlIGBBWFNpZGVNZW51Q29tcG9uZW50YCBjbGFzcy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYU2lkZU1lbnVCYXNlIHtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgbW9kZTogU2lnbmFsPCdmdWxsJyB8ICdjb21wYWN0Jz47XG59XG4iXX0=","import { AXClickEvent, AXComponent, AXRippleDirective, MXInteractiveComponent } from '@acorex/cdk/common';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe, DOCUMENT, isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { afterNextRender, ChangeDetectionStrategy, Component, computed, contentChildren, DestroyRef, effect, ElementRef, inject, input, model, output, PLATFORM_ID, signal, viewChild, ViewEncapsulation, } from '@angular/core';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/tooltip\";\nexport class AXSideMenuItemClickEvent extends AXClickEvent {\n constructor() {\n super(...arguments);\n this.handled = false;\n }\n}\nexport class AXSideMenuItemComponent extends MXInteractiveComponent {\n constructor() {\n super(...arguments);\n this.text = model('', ...(ngDevMode ? [{ debugName: \"text\" }] : []));\n this.active = model(false, ...(ngDevMode ? [{ debugName: \"active\" }] : []));\n this.isLoading = model(false, ...(ngDevMode ? [{ debugName: \"isLoading\" }] : []));\n this.isCollapsed = model(true, ...(ngDevMode ? [{ debugName: \"isCollapsed\" }] : []));\n this.onClick = output();\n this.tooltipStatus = signal(false, ...(ngDevMode ? [{ debugName: \"tooltipStatus\" }] : []));\n this.tooltipText = input('', ...(ngDevMode ? [{ debugName: \"tooltipText\" }] : []));\n this.elem = inject(ElementRef);\n this.document = inject(DOCUMENT);\n this.platformId = inject(PLATFORM_ID);\n this.destroyRef = inject(DestroyRef);\n this.childObserver = null;\n this.childrenPopover = viewChild('childrenPopover', ...(ngDevMode ? [{ debugName: \"childrenPopover\" }] : []));\n this.menuItemTrigger = viewChild.required('menuItemTrigger');\n /** Synced from the parent `ax-side-menu` (source of truth for full vs compact). */\n this.menuMode = signal('full', ...(ngDevMode ? [{ debugName: \"menuMode\" }] : []));\n /** True when this item should use compact flyout popovers (rail or inside a flyout). */\n this.isCompactMode = computed(() => {\n if (this.menuMode() === 'compact') {\n return true;\n }\n if (!isPlatformBrowser(this.platformId)) {\n return false;\n }\n const host = this.elem.nativeElement;\n if (host.closest('.ax-side-menu-popover')) {\n return !!this.document.querySelector('ax-side-menu.ax-mode-compact');\n }\n return !!host.closest('ax-side-menu.ax-mode-compact');\n }, ...(ngDevMode ? [{ debugName: \"isCompactMode\" }] : []));\n /** Top-level rail button in compact mode (icon only, opens flyout). */\n this.isFirstLevel = computed(() => {\n if (!this.isCompactMode()) {\n return false;\n }\n const host = this.elem.nativeElement;\n if (host.closest('.ax-side-menu-popover')) {\n return false;\n }\n return !host.parentElement?.closest('.ax-side-children-content');\n }, ...(ngDevMode ? [{ debugName: \"isFirstLevel\" }] : []));\n this.toggleOnClick = input(true, ...(ngDevMode ? [{ debugName: \"toggleOnClick\" }] : []));\n this.href = input(...(ngDevMode ? [undefined, { debugName: \"href\" }] : []));\n this.routerLink = input(...(ngDevMode ? [undefined, { debugName: \"routerLink\" }] : []));\n this.routerLinkActive = input('ax-state-active', ...(ngDevMode ? [{ debugName: \"routerLinkActive\" }] : []));\n this.routerLinkActiveOptions = input({ exact: false }, ...(ngDevMode ? [{ debugName: \"routerLinkActiveOptions\" }] : []));\n this.target = input('_self', ...(ngDevMode ? [{ debugName: \"target\" }] : []));\n this.childItems = contentChildren(AXSideMenuItemComponent, ...(ngDevMode ? [{ debugName: \"childItems\", descendants: true }] : [{ descendants: true }]));\n this.childrenSlot = viewChild('childrenSlot', ...(ngDevMode ? [{ debugName: \"childrenSlot\" }] : []));\n this.popoverSlot = viewChild('popoverSlot', ...(ngDevMode ? [{ debugName: \"popoverSlot\" }] : []));\n this.hasChild = signal(false, ...(ngDevMode ? [{ debugName: \"hasChild\" }] : []));\n this.#childCheckEffect = effect(() => {\n if (this.childItems().length)\n this.checkForChildren();\n }, ...(ngDevMode ? [{ debugName: \"#childCheckEffect\" }] : []));\n /**\n * Run after view init so any nested items projected through `ngTemplateOutlet`\n * (which `contentChildren` does not see) are already in the DOM. A\n * `MutationObserver` on the whole host keeps `hasChild` in sync as recursive\n * content is added/removed at runtime and also relocates any projected\n * `<ax-side-menu-item>` that ended up outside `.ax-side-children-content`\n * (this happens when `<ng-container [ngTemplateOutlet]>` is nested inside\n * `@if`/`@for` and Angular falls back to the catch-all `<ng-content>`).\n */\n this.#initChildren = afterNextRender(() => {\n if (!isPlatformBrowser(this.platformId))\n return;\n this.reparentOrphanedChildren();\n this.checkForChildren();\n this.childObserver = new MutationObserver(() => {\n this.reparentOrphanedChildren();\n this.checkForChildren();\n });\n this.childObserver.observe(this.elem.nativeElement, { childList: true, subtree: true });\n this.destroyRef.onDestroy(() => this.childObserver?.disconnect());\n });\n // In compact mode submenus open in an overlay popover; keep collapse state in sync.\n this.#popoverSync = effect(() => {\n const compact = this.isCompactMode();\n this.isCollapsed();\n this.hasChild();\n const popover = this.childrenPopover();\n if (!popover || !isPlatformBrowser(this.platformId)) {\n return;\n }\n if (!compact) {\n this.moveChildrenToInlineSlot();\n if (popover.isOpen) {\n popover.close();\n }\n return;\n }\n this.syncCompactPopover();\n }, ...(ngDevMode ? [{ debugName: \"#popoverSync\" }] : []));\n }\n /** Called by `ax-side-menu` so items always know the current display mode. */\n syncMenuMode(mode) {\n if (this.menuMode() === mode) {\n return;\n }\n this.menuMode.set(mode);\n if (mode === 'full') {\n this.moveChildrenToInlineSlot();\n this.childrenPopover()?.close();\n }\n else {\n this.moveChildrenToInlineSlot();\n this.childrenPopover()?.close();\n this.isCollapsed.set(true);\n }\n }\n #childCheckEffect;\n /**\n * Run after view init so any nested items projected through `ngTemplateOutlet`\n * (which `contentChildren` does not see) are already in the DOM. A\n * `MutationObserver` on the whole host keeps `hasChild` in sync as recursive\n * content is added/removed at runtime and also relocates any projected\n * `<ax-side-menu-item>` that ended up outside `.ax-side-children-content`\n * (this happens when `<ng-container [ngTemplateOutlet]>` is nested inside\n * `@if`/`@for` and Angular falls back to the catch-all `<ng-content>`).\n */\n #initChildren;\n /**\n * Walks up the DOM to find the enclosing `<ax-side-menu>` host element and\n * reads its component instance from `__axContext__`. Needed because items\n * rendered inside `ngTemplateOutlet` embedded views cannot inject the\n * `AXSideMenuBase` token (DI scope is the template's declaration site).\n */\n resolveMenuHostElement() {\n const host = this.elem.nativeElement;\n return (host.closest('ax-side-menu') ??\n (host.closest('.ax-side-menu-popover')\n ? this.document.querySelector('ax-side-menu.ax-mode-compact')\n : null));\n }\n /**\n * Moves any `<ax-side-menu-item>` that belongs to this item (its nearest\n * `<ax-side-menu-item>` ancestor in the projected DOM is this host) but is\n * NOT inside our own `.ax-side-children-content` container. Without this\n * step a content-projection edge case in Angular 21+ leaves recursive items\n * stranded inside `.ax-inside-text` (the catch-all `<ng-content>` slot) and\n * the submenu cannot expand.\n */\n getActiveChildrenSlot() {\n if (this.isCompactMode() && this.isFirstLevel()) {\n const popover = this.childrenPopover();\n if (popover?.isOpen) {\n return this.popoverSlot()?.nativeElement ?? this.childrenSlot()?.nativeElement;\n }\n return this.childrenSlot()?.nativeElement;\n }\n return this.childrenSlot()?.nativeElement;\n }\n reparentOrphanedChildren() {\n const host = this.elem.nativeElement;\n const container = this.getActiveChildrenSlot();\n if (!container)\n return;\n // Only look at this host's *direct* descendants in projection terms:\n // recursive ax-side-menu-items whose nearest ax-side-menu-item ancestor\n // is `host`. Iterate over a static array because we mutate the DOM.\n const items = Array.from(host.querySelectorAll('ax-side-menu-item'));\n for (const el of items) {\n if (el === host)\n continue;\n if (container.contains(el))\n continue;\n const nearestParent = el.parentElement?.closest('ax-side-menu-item');\n if (nearestParent !== host)\n continue;\n try {\n container.appendChild(el);\n }\n catch {\n // Guard against HierarchyRequestError (shouldn't happen since we\n // resolve the container via the view-child, not querySelector).\n }\n }\n }\n // In compact mode submenus open in an overlay popover; keep collapse state in sync.\n #popoverSync;\n syncCompactPopover() {\n if (!isPlatformBrowser(this.platformId) || !this.isCompactMode() || !this.hasChild())\n return;\n const popover = this.childrenPopover();\n if (!popover || popover.disabled)\n return;\n if (this.isCollapsed()) {\n this.closeCompactFlyout(popover);\n }\n else {\n if (this.isFirstLevel()) {\n this.closeSiblingCompactPopovers();\n }\n this.relocateChildren(true);\n void popover.open().then(() => popover.bringToFront());\n }\n }\n /** Restores submenu nodes to the inline slot before the overlay is disposed. */\n closeCompactFlyout(popover) {\n if (popover.isOpen) {\n this.moveChildrenToInlineSlot();\n popover.close();\n }\n else {\n this.moveChildrenToInlineSlot();\n }\n }\n /** Closes other top-level compact flyouts when a rail item is opened. */\n closeSiblingCompactPopovers() {\n const menuEl = this.resolveMenuHostElement();\n if (!menuEl)\n return;\n menuEl.querySelectorAll(':scope > ax-side-menu-item').forEach((el) => {\n const instance = el.__axContext__;\n if (!(instance instanceof AXSideMenuItemComponent) || instance === this) {\n return;\n }\n instance.isCollapsed.set(true);\n const siblingPopover = instance.childrenPopover();\n if (siblingPopover) {\n instance.closeCompactFlyout(siblingPopover);\n }\n });\n }\n /**\n * Moves projected submenu nodes into the popover panel when opening in compact mode.\n * They are not moved back to the inline slot on close (that caused a full-mode flash below the rail).\n */\n relocateChildren(toPopover) {\n const source = this.childrenSlot()?.nativeElement;\n const target = this.popoverSlot()?.nativeElement;\n if (!source || !target) {\n return;\n }\n const from = toPopover ? source : target;\n const to = toPopover ? target : source;\n while (from.firstChild) {\n to.appendChild(from.firstChild);\n }\n }\n /**\n * Pulls direct submenu nodes back into the inline slot from the popover host and\n * from any open flyout overlay panel so they are not destroyed on overlay dispose.\n */\n moveChildrenToInlineSlot() {\n const slot = this.childrenSlot()?.nativeElement;\n if (!slot || !isPlatformBrowser(this.platformId)) {\n return;\n }\n const host = this.elem.nativeElement;\n const sources = [];\n const flyoutHost = this.popoverSlot()?.nativeElement;\n if (flyoutHost) {\n sources.push(flyoutHost);\n }\n this.document.querySelectorAll('.ax-side-menu-popover .ax-side-children-content').forEach((el) => {\n if (el instanceof HTMLElement && el !== slot && !slot.contains(el)) {\n sources.push(el);\n }\n });\n for (const source of sources) {\n const items = Array.from(source.querySelectorAll(':scope > ax-side-menu-item'));\n for (const el of items) {\n if (el === host) {\n continue;\n }\n const nearestParent = el.parentElement?.closest('ax-side-menu-item');\n if (nearestParent !== host) {\n continue;\n }\n slot.appendChild(el);\n }\n }\n }\n _handlePopoverClosed() {\n this.moveChildrenToInlineSlot();\n if (!this.isCollapsed()) {\n this.isCollapsed.set(true);\n }\n }\n checkForChildren() {\n const host = this.elem.nativeElement;\n const inlineSlot = this.childrenSlot()?.nativeElement ?? null;\n const flyoutSlot = this.popoverSlot()?.nativeElement ?? null;\n const inlineCount = inlineSlot?.querySelectorAll('ax-side-menu-item').length ?? 0;\n const flyoutCount = flyoutSlot?.querySelectorAll('ax-side-menu-item').length ?? 0;\n const contentEl = inlineSlot ?? flyoutSlot;\n this.hasChild.set(this.hasNestedMenuItems(host, contentEl, inlineCount + flyoutCount));\n }\n hasNestedMenuItems(host, contentEl, domChildCount) {\n const inlineSlot = this.childrenSlot()?.nativeElement ?? null;\n const flyoutSlot = this.popoverSlot()?.nativeElement ?? null;\n let strandedCount = 0;\n const all = host.querySelectorAll('ax-side-menu-item');\n all.forEach((el) => {\n if (el === host)\n return;\n if (inlineSlot?.contains(el) || flyoutSlot?.contains(el))\n return;\n const nearestParent = el.parentElement?.closest('ax-side-menu-item');\n if (nearestParent === host)\n strandedCount++;\n });\n return this.childItems().length > 0 || domChildCount > 0 || strandedCount > 0;\n }\n _handleClickEvent(e) {\n if (this.disabled || this.isLoading())\n return;\n const event = {\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n handled: false,\n };\n this.onClick.emit(event);\n if (!event.handled && this.toggleOnClick() && (this.hasChild() || !this.isCompactMode())) {\n this.toggle();\n }\n e.stopPropagation();\n }\n toggle() {\n if (this.isCompactMode()) {\n if (!this.hasChild())\n return;\n this.isCollapsed.update((prev) => !prev);\n this.syncCompactPopover();\n return;\n }\n this.isCollapsed.update((prev) => !prev);\n }\n open() {\n this.isCollapsed.set(true);\n }\n close() {\n this.isCollapsed.set(false);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSideMenuItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.3\", type: AXSideMenuItemComponent, isStandalone: true, selector: \"ax-side-menu-item\", inputs: { disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: \"text\", publicName: \"text\", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: \"active\", publicName: \"active\", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: \"isLoading\", publicName: \"isLoading\", isSignal: true, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: \"isCollapsed\", publicName: \"isCollapsed\", isSignal: true, isRequired: false, transformFunction: null }, tooltipText: { classPropertyName: \"tooltipText\", publicName: \"tooltipText\", isSignal: true, isRequired: false, transformFunction: null }, toggleOnClick: { classPropertyName: \"toggleOnClick\", publicName: \"toggleOnClick\", isSignal: true, isRequired: false, transformFunction: null }, href: { classPropertyName: \"href\", publicName: \"href\", isSignal: true, isRequired: false, transformFunction: null }, routerLink: { classPropertyName: \"routerLink\", publicName: \"routerLink\", isSignal: true, isRequired: false, transformFunction: null }, routerLinkActive: { classPropertyName: \"routerLinkActive\", publicName: \"routerLinkActive\", isSignal: true, isRequired: false, transformFunction: null }, routerLinkActiveOptions: { classPropertyName: \"routerLinkActiveOptions\", publicName: \"routerLinkActiveOptions\", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: \"target\", publicName: \"target\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { text: \"textChange\", active: \"activeChange\", isLoading: \"isLoadingChange\", isCollapsed: \"isCollapsedChange\", onClick: \"onClick\" }, providers: [{ provide: AXComponent, useExisting: AXSideMenuItemComponent }], queries: [{ propertyName: \"childItems\", predicate: AXSideMenuItemComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: \"childrenPopover\", first: true, predicate: [\"childrenPopover\"], descendants: true, isSignal: true }, { propertyName: \"menuItemTrigger\", first: true, predicate: [\"menuItemTrigger\"], descendants: true, isSignal: true }, { propertyName: \"childrenSlot\", first: true, predicate: [\"childrenSlot\"], descendants: true, isSignal: true }, { propertyName: \"popoverSlot\", first: true, predicate: [\"popoverSlot\"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<div [axTooltip]=\\\"tooltipStatus() ? tooltipText() : null\\\" class=\\\"ax-side-menu-wrapper\\\">\\n @if (!isCompactMode()) {\\n <ng-content select=\\\"ax-title\\\"></ng-content>\\n }\\n @if (routerLink()) {\\n <a\\n #menuItemTrigger\\n [axRipple]\\n [target]=\\\"target()\\\"\\n class=\\\"ax-side-item\\\"\\n [routerLink]=\\\"routerLink()\\\"\\n (click)=\\\"_handleClickEvent($event)\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n [routerLinkActive]=\\\"routerLinkActive()\\\"\\n [routerLinkActiveOptions]=\\\"routerLinkActiveOptions()\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"menuItemContent\\\"></ng-container>\\n </a>\\n } @else if (href()) {\\n <a\\n #menuItemTrigger\\n [axRipple]\\n [href]=\\\"href()\\\"\\n [target]=\\\"target()\\\"\\n class=\\\"ax-side-item\\\"\\n [class.ax-state-active]=\\\"active()\\\"\\n (click)=\\\"_handleClickEvent($event)\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"menuItemContent\\\"></ng-container>\\n </a>\\n } @else {\\n <div\\n #menuItemTrigger\\n [axRipple]\\n class=\\\"ax-side-item\\\"\\n [class.ax-state-active]=\\\"active()\\\"\\n (click)=\\\"_handleClickEvent($event)\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"menuItemContent\\\"></ng-container>\\n </div>\\n }\\n\\n <div\\n class=\\\"ax-side-children\\\"\\n [class.ax-collapsed]=\\\"(!isCompactMode() && isCollapsed()) || (isCompactMode() && isFirstLevel())\\\"\\n [class.ax-empty]=\\\"!hasChild() && !isLoading()\\\"\\n >\\n @if (isLoading()) {\\n <p>{{ '@acorex:common.status.loading' | translate | async }}</p>\\n }\\n <div #childrenSlot class=\\\"ax-side-children-content\\\" [hidden]=\\\"isLoading()\\\">\\n <ng-content select=\\\"ax-side-menu-item, ng-container, [ngTemplateOutlet]\\\"></ng-content>\\n </div>\\n </div>\\n\\n <ax-popover\\n #childrenPopover\\n class=\\\"ax-side-menu-children-popover\\\"\\n [target]=\\\"menuItemTrigger().nativeElement\\\"\\n [openOn]=\\\"'manual'\\\"\\n [closeOn]=\\\"'clickOut'\\\"\\n [placement]=\\\"'end-top'\\\"\\n [offsetX]=\\\"8\\\"\\n [disabled]=\\\"!isCompactMode() || disabled || isLoading()\\\"\\n panelClass=\\\"ax-side-menu-popover\\\"\\n (onClosed)=\\\"_handlePopoverClosed()\\\"\\n >\\n <div #popoverSlot class=\\\"ax-side-children-content\\\"></div>\\n </ax-popover>\\n\\n <ng-content select=\\\"ax-divider\\\"></ng-content>\\n <ng-template #menuItemContent>\\n <div class=\\\"ax-start-side\\\">\\n <ng-content select=\\\"ax-prefix\\\"></ng-content>\\n @if (text()) {\\n <span>{{ text() }}</span>\\n }\\n <div class=\\\"ax-inside-text\\\">\\n <ng-content></ng-content>\\n </div>\\n </div>\\n <div class=\\\"ax-end-side\\\">\\n <ng-content select=\\\"ax-suffix\\\"></ng-content>\\n @if (hasChild() && !isLoading() && toggleOnClick() && !isFirstLevel()) {\\n <span class=\\\"ax-icon ax-icon-chevron-right arrow-icon\\\" [class.arrow-icon-expand]=\\\"!isCollapsed()\\\"> </span>\\n }\\n @if (isLoading()) {\\n <ax-loading></ax-loading>\\n }\\n </div>\\n </ng-template>\\n</div>\\n\", dependencies: [{ kind: \"directive\", type: AXRippleDirective, selector: \"[axRipple]\", inputs: [\"axRipple\", \"axRippleColor\"] }, { kind: \"directive\", type: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"directive\", type: RouterLinkActive, selector: \"[routerLinkActive]\", inputs: [\"routerLinkActiveOptions\", \"ariaCurrentWhenActive\", \"routerLinkActive\"], outputs: [\"isActiveChange\"], exportAs: [\"routerLinkActive\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: AXLoadingComponent, selector: \"ax-loading\", inputs: [\"visible\", \"type\", \"context\"], outputs: [\"visibleChange\"] }, { kind: \"ngmodule\", type: AXTooltipModule }, { kind: \"directive\", type: i1.AXTooltipDirective, selector: \"[axTooltip]\", inputs: [\"axTooltipDisabled\", \"axTooltip\", \"axTooltipContext\", \"axTooltipPlacement\", \"axTooltipOffsetX\", \"axTooltipOffsetY\", \"axTooltipOpenAfter\", \"axTooltipCloseAfter\"] }, { kind: \"component\", type: AXPopoverComponent, selector: \"ax-popover\", inputs: [\"width\", \"disablePanelClass\", \"disabled\", \"offsetX\", \"offsetY\", \"target\", \"placement\", \"content\", \"openOn\", \"closeOn\", \"hasBackdrop\", \"openAfter\", \"closeAfter\", \"closeOnScroll\", \"backdropClass\", \"panelClass\", \"adaptivityEnabled\"], outputs: [\"onOpened\", \"onClosed\"] }, { kind: \"pipe\", type: AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSideMenuItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-side-menu-item', inputs: ['disabled'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [\n AXRippleDirective,\n RouterLink,\n RouterLinkActive,\n NgTemplateOutlet,\n AXLoadingComponent,\n AsyncPipe,\n AXTranslatorPipe,\n AXTooltipModule,\n AXPopoverComponent,\n ], providers: [{ provide: AXComponent, useExisting: AXSideMenuItemComponent }], template: \"<div [axTooltip]=\\\"tooltipStatus() ? tooltipText() : null\\\" class=\\\"ax-side-menu-wrapper\\\">\\n @if (!isCompactMode()) {\\n <ng-content select=\\\"ax-title\\\"></ng-content>\\n }\\n @if (routerLink()) {\\n <a\\n #menuItemTrigger\\n [axRipple]\\n [target]=\\\"target()\\\"\\n class=\\\"ax-side-item\\\"\\n [routerLink]=\\\"routerLink()\\\"\\n (click)=\\\"_handleClickEvent($event)\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n [routerLinkActive]=\\\"routerLinkActive()\\\"\\n [routerLinkActiveOptions]=\\\"routerLinkActiveOptions()\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"menuItemContent\\\"></ng-container>\\n </a>\\n } @else if (href()) {\\n <a\\n #menuItemTrigger\\n [axRipple]\\n [href]=\\\"href()\\\"\\n [target]=\\\"target()\\\"\\n class=\\\"ax-side-item\\\"\\n [class.ax-state-active]=\\\"active()\\\"\\n (click)=\\\"_handleClickEvent($event)\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"menuItemContent\\\"></ng-container>\\n </a>\\n } @else {\\n <div\\n #menuItemTrigger\\n [axRipple]\\n class=\\\"ax-side-item\\\"\\n [class.ax-state-active]=\\\"active()\\\"\\n (click)=\\\"_handleClickEvent($event)\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"menuItemContent\\\"></ng-container>\\n </div>\\n }\\n\\n <div\\n class=\\\"ax-side-children\\\"\\n [class.ax-collapsed]=\\\"(!isCompactMode() && isCollapsed()) || (isCompactMode() && isFirstLevel())\\\"\\n [class.ax-empty]=\\\"!hasChild() && !isLoading()\\\"\\n >\\n @if (isLoading()) {\\n <p>{{ '@acorex:common.status.loading' | translate | async }}</p>\\n }\\n <div #childrenSlot class=\\\"ax-side-children-content\\\" [hidden]=\\\"isLoading()\\\">\\n <ng-content select=\\\"ax-side-menu-item, ng-container, [ngTemplateOutlet]\\\"></ng-content>\\n </div>\\n </div>\\n\\n <ax-popover\\n #childrenPopover\\n class=\\\"ax-side-menu-children-popover\\\"\\n [target]=\\\"menuItemTrigger().nativeElement\\\"\\n [openOn]=\\\"'manual'\\\"\\n [closeOn]=\\\"'clickOut'\\\"\\n [placement]=\\\"'end-top'\\\"\\n [offsetX]=\\\"8\\\"\\n [disabled]=\\\"!isCompactMode() || disabled || isLoading()\\\"\\n panelClass=\\\"ax-side-menu-popover\\\"\\n (onClosed)=\\\"_handlePopoverClosed()\\\"\\n >\\n <div #popoverSlot class=\\\"ax-side-children-content\\\"></div>\\n </ax-popover>\\n\\n <ng-content select=\\\"ax-divider\\\"></ng-content>\\n <ng-template #menuItemContent>\\n <div class=\\\"ax-start-side\\\">\\n <ng-content select=\\\"ax-prefix\\\"></ng-content>\\n @if (text()) {\\n <span>{{ text() }}</span>\\n }\\n <div class=\\\"ax-inside-text\\\">\\n <ng-content></ng-content>\\n </div>\\n </div>\\n <div class=\\\"ax-end-side\\\">\\n <ng-content select=\\\"ax-suffix\\\"></ng-content>\\n @if (hasChild() && !isLoading() && toggleOnClick() && !isFirstLevel()) {\\n <span class=\\\"ax-icon ax-icon-chevron-right arrow-icon\\\" [class.arrow-icon-expand]=\\\"!isCollapsed()\\\"> </span>\\n }\\n @if (isLoading()) {\\n <ax-loading></ax-loading>\\n }\\n </div>\\n </ng-template>\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1tZW51LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9zaWRlLW1lbnUvc3JjL2xpYi9zaWRlLW1lbnUtaXRlbS9zaWRlLW1lbnUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3NpZGUtbWVudS9zcmMvbGliL3NpZGUtbWVudS1pdGVtL3NpZGUtbWVudS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0YsT0FBTyxFQUNMLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixlQUFlLEVBQ2YsVUFBVSxFQUNWLE1BQU0sRUFDTixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLFVBQVUsRUFBRSxnQkFBZ0IsRUFBVyxNQUFNLGlCQUFpQixDQUFDOzs7QUFD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cG9ydCB7IEFYQ2xpY2tFdmVudCwgQVhDb21wb25lbnQsIEFYUmlwcGxlRGlyZWN0aXZlLCBNWEludGVyYWN0aXZlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYTG9hZGluZ0NvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nJztcbmltcG9ydCB7IEFYUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3BvdmVyJztcbmltcG9ydCB7IEFYVG9vbHRpcE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IEFYVHJhbnNsYXRvclBpcGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBET0NVTUVOVCwgaXNQbGF0Zm9ybUJyb3dzZXIsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgY29udGVudENoaWxkcmVuLFxuICBEZXN0cm95UmVmLFxuICBlZmZlY3QsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBvdXRwdXQsXG4gIFBMQVRGT1JNX0lELFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSXNBY3RpdmVNYXRjaE9wdGlvbnMsIFJvdXRlckxpbmssIFJvdXRlckxpbmtBY3RpdmUsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuZXhwb3J0IGNsYXNzIEFYU2lkZU1lbnVJdGVtQ2xpY2tFdmVudCBleHRlbmRzIEFYQ2xpY2tFdmVudCB7XG4gIGhhbmRsZWQgPSBmYWxzZTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtc2lkZS1tZW51LWl0ZW0nLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGUtbWVudS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtcbiAgICBBWFJpcHBsZURpcmVjdGl2ZSxcbiAgICBSb3V0ZXJMaW5rLFxuICAgIFJvdXRlckxpbmtBY3RpdmUsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBBWExvYWRpbmdDb21wb25lbnQsXG4gICAgQXN5bmNQaXBlLFxuICAgIEFYVHJhbnNsYXRvclBpcGUsXG4gICAgQVhUb29sdGlwTW9kdWxlLFxuICAgIEFYUG9wb3ZlckNvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYU2lkZU1lbnVJdGVtQ29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBBWFNpZGVNZW51SXRlbUNvbXBvbmVudCBleHRlbmRzIE1YSW50ZXJhY3RpdmVDb21wb25lbnQge1xuICB0ZXh0ID0gbW9kZWwoJycpO1xuICBhY3RpdmUgPSBtb2RlbChmYWxzZSk7XG4gIGlzTG9hZGluZyA9IG1vZGVsKGZhbHNlKTtcbiAgaXNDb2xsYXBzZWQgPSBtb2RlbCh0cnVlKTtcbiAgb25DbGljayA9IG91dHB1dDxBWFNpZGVNZW51SXRlbUNsaWNrRXZlbnQ+KCk7XG4gIHRvb2x0aXBTdGF0dXMgPSBzaWduYWwoZmFsc2UpO1xuICB0b29sdGlwVGV4dCA9IGlucHV0KCcnKTtcblxuICBwcml2YXRlIGVsZW0gPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByaXZhdGUgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICBwcml2YXRlIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICBwcml2YXRlIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIHByaXZhdGUgY2hpbGRPYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlciB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGNoaWxkcmVuUG9wb3ZlciA9IHZpZXdDaGlsZDxBWFBvcG92ZXJDb21wb25lbnQ+KCdjaGlsZHJlblBvcG92ZXInKTtcbiAgcHJvdGVjdGVkIG1lbnVJdGVtVHJpZ2dlciA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oJ21lbnVJdGVtVHJpZ2dlcicpO1xuXG4gIC8qKiBTeW5jZWQgZnJvbSB0aGUgcGFyZW50IGBheC1zaWRlLW1lbnVgIChzb3VyY2Ugb2YgdHJ1dGggZm9yIGZ1bGwgdnMgY29tcGFjdCkuICovXG4gIHByaXZhdGUgbWVudU1vZGUgPSBzaWduYWw8J2Z1bGwnIHwgJ2NvbXBhY3QnPignZnVsbCcpO1xuXG4gIC8qKiBUcnVlIHdoZW4gdGhpcyBpdGVtIHNob3VsZCB1c2UgY29tcGFjdCBmbHlvdXQgcG9wb3ZlcnMgKHJhaWwgb3IgaW5zaWRlIGEgZmx5b3V0KS4gKi9cbiAgcHJvdGVjdGVkIGlzQ29tcGFjdE1vZGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgaWYgKHRoaXMubWVudU1vZGUoKSA9PT0gJ2NvbXBhY3QnKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGhvc3QgPSB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAoaG9zdC5jbG9zZXN0KCcuYXgtc2lkZS1tZW51LXBvcG92ZXInKSkge1xuICAgICAgcmV0dXJuICEhdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdheC1zaWRlLW1lbnUuYXgtbW9kZS1jb21wYWN0Jyk7XG4gICAgfVxuICAgIHJldHVybiAhIWhvc3QuY2xvc2VzdCgnYXgtc2lkZS1tZW51LmF4LW1vZGUtY29tcGFjdCcpO1xuICB9KTtcblxuICAvKiogQ2FsbGVkIGJ5IGBheC1zaWRlLW1lbnVgIHNvIGl0ZW1zIGFsd2F5cyBrbm93IHRoZSBjdXJyZW50IGRpc3BsYXkgbW9kZS4gKi9cbiAgc3luY01lbnVNb2RlKG1vZGU6ICdmdWxsJyB8ICdjb21wYWN0Jykge1xuICAgIGlmICh0aGlzLm1lbnVNb2RlKCkgPT09IG1vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5tZW51TW9kZS5zZXQobW9kZSk7XG4gICAgaWYgKG1vZGUgPT09ICdmdWxsJykge1xuICAgICAgdGhpcy5tb3ZlQ2hpbGRyZW5Ub0lubGluZVNsb3QoKTtcbiAgICAgIHRoaXMuY2hpbGRyZW5Qb3BvdmVyKCk/LmNsb3NlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW92ZUNoaWxkcmVuVG9JbmxpbmVTbG90KCk7XG4gICAgICB0aGlzLmNoaWxkcmVuUG9wb3ZlcigpPy5jbG9zZSgpO1xuICAgICAgdGhpcy5pc0NvbGxhcHNlZC5zZXQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFRvcC1sZXZlbCByYWlsIGJ1dHRvbiBpbiBjb21wYWN0IG1vZGUgKGljb24gb25seSwgb3BlbnMgZmx5b3V0KS4gKi9cbiAgcHJvdGVjdGVkIGlzRmlyc3RMZXZlbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAoIXRoaXMuaXNDb21wYWN0TW9kZSgpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGhvc3QgPSB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAoaG9zdC5jbG9zZXN0KCcuYXgtc2lkZS1tZW51LXBvcG92ZXInKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gIWhvc3QucGFyZW50RWxlbWVudD8uY2xvc2VzdCgnLmF4LXNpZGUtY2hpbGRyZW4tY29udGVudCcpO1xuICB9KTtcblxuICByZWFkb25seSB0b2dnbGVPbkNsaWNrID0gaW5wdXQodHJ1ZSk7XG5cbiAgcmVhZG9ubHkgaHJlZiA9IGlucHV0PHN0cmluZyB8IG51bGw+KCk7XG5cbiAgcmVhZG9ubHkgcm91dGVyTGluayA9IGlucHV0PHN0cmluZyB8IGFueVtdIHwgVXJsVHJlZSB8IG51bGw+KCk7XG4gIHJlYWRvbmx5IHJvdXRlckxpbmtBY3RpdmUgPSBpbnB1dDxzdHJpbmcgfCBzdHJpbmdbXT4oJ2F4LXN0YXRlLWFjdGl2ZScpO1xuICByZWFkb25seSByb3V0ZXJMaW5rQWN0aXZlT3B0aW9ucyA9IGlucHV0PHsgZXhhY3Q6IGJvb2xlYW4gfSB8IElzQWN0aXZlTWF0Y2hPcHRpb25zPih7IGV4YWN0OiBmYWxzZSB9KTtcblxuICByZWFkb25seSB0YXJnZXQgPSBpbnB1dDwnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCc+KCdfc2VsZicpO1xuXG4gIHByaXZhdGUgY2hpbGRJdGVtcyA9IGNvbnRlbnRDaGlsZHJlbihBWFNpZGVNZW51SXRlbUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBjaGlsZHJlblNsb3QgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdjaGlsZHJlblNsb3QnKTtcbiAgcHJpdmF0ZSBwb3BvdmVyU2xvdCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oJ3BvcG92ZXJTbG90Jyk7XG5cbiAgcHJvdGVjdGVkIGhhc0NoaWxkID0gc2lnbmFsKGZhbHNlKTtcblxuICAjY2hpbGRDaGVja0VmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHRoaXMuY2hpbGRJdGVtcygpLmxlbmd0aCkgdGhpcy5jaGVja0ZvckNoaWxkcmVuKCk7XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBSdW4gYWZ0ZXIgdmlldyBpbml0IHNvIGFueSBuZXN0ZWQgaXRlbXMgcHJvamVjdGVkIHRocm91Z2ggYG5nVGVtcGxhdGVPdXRsZXRgXG4gICAqICh3aGljaCBgY29udGVudENoaWxkcmVuYCBkb2VzIG5vdCBzZWUpIGFyZSBhbHJlYWR5IGluIHRoZSBET00uIEFcbiAgICogYE11dGF0aW9uT2JzZXJ2ZXJgIG9uIHRoZSB3aG9sZSBob3N0IGtlZXBzIGBoYXNDaGlsZGAgaW4gc3luYyBhcyByZWN1cnNpdmVcbiAgICogY29udGVudCBpcyBhZGRlZC9yZW1vdmVkIGF0IHJ1bnRpbWUgYW5kIGFsc28gcmVsb2NhdGVzIGFueSBwcm9qZWN0ZWRcbiAgICogYDxheC1zaWRlLW1lbnUtaXRlbT5gIHRoYXQgZW5kZWQgdXAgb3V0c2lkZSBgLmF4LXNpZGUtY2hpbGRyZW4tY29udGVudGBcbiAgICogKHRoaXMgaGFwcGVucyB3aGVuIGA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT5gIGlzIG5lc3RlZCBpbnNpZGVcbiAgICogYEBpZmAvYEBmb3JgIGFuZCBBbmd1bGFyIGZhbGxzIGJhY2sgdG8gdGhlIGNhdGNoLWFsbCBgPG5nLWNvbnRlbnQ+YCkuXG4gICAqL1xuICAjaW5pdENoaWxkcmVuID0gYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHJldHVybjtcbiAgICB0aGlzLnJlcGFyZW50T3JwaGFuZWRDaGlsZHJlbigpO1xuICAgIHRoaXMuY2hlY2tGb3JDaGlsZHJlbigpO1xuICAgIHRoaXMuY2hpbGRPYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcbiAgICAgIHRoaXMucmVwYXJlbnRPcnBoYW5lZENoaWxkcmVuKCk7XG4gICAgICB0aGlzLmNoZWNrRm9yQ2hpbGRyZW4oKTtcbiAgICB9KTtcbiAgICB0aGlzLmNoaWxkT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsZW0ubmF0aXZlRWxlbWVudCwgeyBjaGlsZExpc3Q6IHRydWUsIHN1YnRyZWU6IHRydWUgfSk7XG4gICAgdGhpcy5kZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB0aGlzLmNoaWxkT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKSk7XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBXYWxrcyB1cCB0aGUgRE9NIHRvIGZpbmQgdGhlIGVuY2xvc2luZyBgPGF4LXNpZGUtbWVudT5gIGhvc3QgZWxlbWVudCBhbmRcbiAgICogcmVhZHMgaXRzIGNvbXBvbmVudCBpbnN0YW5jZSBmcm9tIGBfX2F4Q29udGV4dF9fYC4gTmVlZGVkIGJlY2F1c2UgaXRlbXNcbiAgICogcmVuZGVyZWQgaW5zaWRlIGBuZ1RlbXBsYXRlT3V0bGV0YCBlbWJlZGRlZCB2aWV3cyBjYW5ub3QgaW5qZWN0IHRoZVxuICAgKiBgQVhTaWRlTWVudUJhc2VgIHRva2VuIChESSBzY29wZSBpcyB0aGUgdGVtcGxhdGUncyBkZWNsYXJhdGlvbiBzaXRlKS5cbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZU1lbnVIb3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIGNvbnN0IGhvc3QgPSB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICByZXR1cm4gKFxuICAgICAgaG9zdC5jbG9zZXN0KCdheC1zaWRlLW1lbnUnKSA/P1xuICAgICAgKGhvc3QuY2xvc2VzdCgnLmF4LXNpZGUtbWVudS1wb3BvdmVyJylcbiAgICAgICAgPyAodGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdheC1zaWRlLW1lbnUuYXgtbW9kZS1jb21wYWN0JykgYXMgSFRNTEVsZW1lbnQgfCBudWxsKVxuICAgICAgICA6IG51bGwpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb3ZlcyBhbnkgYDxheC1zaWRlLW1lbnUtaXRlbT5gIHRoYXQgYmVsb25ncyB0byB0aGlzIGl0ZW0gKGl0cyBuZWFyZXN0XG4gICAqIGA8YXgtc2lkZS1tZW51LWl0ZW0+YCBhbmNlc3RvciBpbiB0aGUgcHJvamVjdGVkIERPTSBpcyB0aGlzIGhvc3QpIGJ1dCBpc1xuICAgKiBOT1QgaW5zaWRlIG91ciBvd24gYC5heC1zaWRlLWNoaWxkcmVuLWNvbnRlbnRgIGNvbnRhaW5lci4gV2l0aG91dCB0aGlzXG4gICAqIHN0ZXAgYSBjb250ZW50LXByb2plY3Rpb24gZWRnZSBjYXNlIGluIEFuZ3VsYXIgMjErIGxlYXZlcyByZWN1cnNpdmUgaXRlbXNcbiAgICogc3RyYW5kZWQgaW5zaWRlIGAuYXgtaW5zaWRlLXRleHRgICh0aGUgY2F0Y2gtYWxsIGA8bmctY29udGVudD5gIHNsb3QpIGFuZFxuICAgKiB0aGUgc3VibWVudSBjYW5ub3QgZXhwYW5kLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRBY3RpdmVDaGlsZHJlblNsb3QoKTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLmlzQ29tcGFjdE1vZGUoKSAmJiB0aGlzLmlzRmlyc3RMZXZlbCgpKSB7XG4gICAgICBjb25zdCBwb3BvdmVyID0gdGhpcy5jaGlsZHJlblBvcG92ZXIoKTtcbiAgICAgIGlmIChwb3BvdmVyPy5pc09wZW4pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9wb3ZlclNsb3QoKT8ubmF0aXZlRWxlbWVudCA/PyB0aGlzLmNoaWxkcmVuU2xvdCgpPy5uYXRpdmVFbGVtZW50O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW5TbG90KCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNoaWxkcmVuU2xvdCgpPy5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSByZXBhcmVudE9ycGhhbmVkQ2hpbGRyZW4oKSB7XG4gICAgY29uc3QgaG9zdCA9IHRoaXMuZWxlbS5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuZ2V0QWN0aXZlQ2hpbGRyZW5TbG90KCk7XG4gICAgaWYgKCFjb250YWluZXIpIHJldHVybjtcblxuICAgIC8vIE9ubHkgbG9vayBhdCB0aGlzIGhvc3QncyAqZGlyZWN0KiBkZXNjZW5kYW50cyBpbiBwcm9qZWN0aW9uIHRlcm1zOlxuICAgIC8vIHJlY3Vyc2l2ZSBheC1zaWRlLW1lbnUtaXRlbXMgd2hvc2UgbmVhcmVzdCBheC1zaWRlLW1lbnUtaXRlbSBhbmNlc3RvclxuICAgIC8vIGlzIGBob3N0YC4gSXRlcmF0ZSBvdmVyIGEgc3RhdGljIGFycmF5IGJlY2F1c2Ugd2UgbXV0YXRlIHRoZSBET00uXG4gICAgY29uc3QgaXRlbXMgPSBBcnJheS5mcm9tKGhvc3QucXVlcnlTZWxlY3RvckFsbCgnYXgtc2lkZS1tZW51LWl0ZW0nKSk7XG4gICAgZm9yIChjb25zdCBlbCBvZiBpdGVtcykge1xuICAgICAgaWYgKGVsID09PSBob3N0KSBjb250aW51ZTtcbiAgICAgIGlmIChjb250YWluZXIuY29udGFpbnMoZWwpKSBjb250aW51ZTtcbiAgICAgIGNvbnN0IG5lYXJlc3RQYXJlbnQgPSBlbC5wYXJlbnRFbGVtZW50Py5jbG9zZXN0KCdheC1zaWRlLW1lbnUtaXRlbScpO1xuICAgICAgaWYgKG5lYXJlc3RQYXJlbnQgIT09IGhvc3QpIGNvbnRpbnVlO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGVsKTtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICAvLyBHdWFyZCBhZ2FpbnN0IEhpZXJhcmNoeVJlcXVlc3RFcnJvciAoc2hvdWxkbid0IGhhcHBlbiBzaW5jZSB3ZVxuICAgICAgICAvLyByZXNvbHZlIHRoZSBjb250YWluZXIgdmlhIHRoZSB2aWV3LWNoaWxkLCBub3QgcXVlcnlTZWxlY3RvcikuXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW4gY29tcGFjdCBtb2RlIHN1Ym1lbnVzIG9wZW4gaW4gYW4gb3ZlcmxheSBwb3BvdmVyOyBrZWVwIGNvbGxhcHNlIHN0YXRlIGluIHN5bmMuXG4gICNwb3BvdmVyU3luYyA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgY29tcGFjdCA9IHRoaXMuaXNDb21wYWN0TW9kZSgpO1xuICAgIHRoaXMuaXNDb2xsYXBzZWQoKTtcbiAgICB0aGlzLmhhc0NoaWxkKCk7XG5cbiAgICBjb25zdCBwb3BvdmVyID0gdGhpcy5jaGlsZHJlblBvcG92ZXIoKTtcbiAgICBpZiAoIXBvcG92ZXIgfHwgIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWNvbXBhY3QpIHtcbiAgICAgIHRoaXMubW92ZUNoaWxkcmVuVG9JbmxpbmVTbG90KCk7XG4gICAgICBpZiAocG9wb3Zlci5pc09wZW4pIHtcbiAgICAgICAgcG9wb3Zlci5jbG9zZSgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3luY0NvbXBhY3RQb3BvdmVyKCk7XG4gIH0pO1xuXG4gIHByaXZhdGUgc3luY0NvbXBhY3RQb3BvdmVyKCkge1xuICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSB8fCAhdGhpcy5pc0NvbXBhY3RNb2RlKCkgfHwgIXRoaXMuaGFzQ2hpbGQoKSkgcmV0dXJuO1xuXG4gICAgY29uc3QgcG9wb3ZlciA9IHRoaXMuY2hpbGRyZW5Qb3BvdmVyKCk7XG4gICAgaWYgKCFwb3BvdmVyIHx8IHBvcG92ZXIuZGlzYWJsZWQpIHJldHVybjtcblxuICAgIGlmICh0aGlzLmlzQ29sbGFwc2VkKCkpIHtcbiAgICAgIHRoaXMuY2xvc2VDb21wYWN0Rmx5b3V0KHBvcG92ZXIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5pc0ZpcnN0TGV2ZWwoKSkge1xuICAgICAgICB0aGlzLmNsb3NlU2libGluZ0NvbXBhY3RQb3BvdmVycygpO1xuICAgICAgfVxuICAgICAgdGhpcy5yZWxvY2F0ZUNoaWxkcmVuKHRydWUpO1xuICAgICAgdm9pZCBwb3BvdmVyLm9wZW4oKS50aGVuKCgpID0+IHBvcG92ZXIuYnJpbmdUb0Zyb250KCkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBSZXN0b3JlcyBzdWJtZW51IG5vZGVzIHRvIHRoZSBpbmxpbmUgc2xvdCBiZWZvcmUgdGhlIG92ZXJsYXkgaXMgZGlzcG9zZWQuICovXG4gIHByaXZhdGUgY2xvc2VDb21wYWN0Rmx5b3V0KHBvcG92ZXI6IEFYUG9wb3ZlckNvbXBvbmVudCkge1xuICAgIGlmIChwb3BvdmVyLmlzT3Blbikge1xuICAgICAgdGhpcy5tb3ZlQ2hpbGRyZW5Ub0lubGluZVNsb3QoKTtcbiAgICAgIHBvcG92ZXIuY2xvc2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb3ZlQ2hpbGRyZW5Ub0lubGluZVNsb3QoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2xvc2VzIG90aGVyIHRvcC1sZXZlbCBjb21wYWN0IGZseW91dHMgd2hlbiBhIHJhaWwgaXRlbSBpcyBvcGVuZWQuICovXG4gIHByaXZhdGUgY2xvc2VTaWJsaW5nQ29tcGFjdFBvcG92ZXJzKCkge1xuICAgIGNvbnN0IG1lbnVFbCA9IHRoaXMucmVzb2x2ZU1lbnVIb3N0RWxlbWVudCgpO1xuICAgIGlmICghbWVudUVsKSByZXR1cm47XG4gICAgbWVudUVsLnF1ZXJ5U2VsZWN0b3JBbGwoJzpzY29wZSA+IGF4LXNpZGUtbWVudS1pdGVtJykuZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgIGNvbnN0IGluc3RhbmNlID0gKGVsIGFzIHVua25vd24gYXMgeyBfX2F4Q29udGV4dF9fPzogdW5rbm93biB9KS5fX2F4Q29udGV4dF9fO1xuICAgICAgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBBWFNpZGVNZW51SXRlbUNvbXBvbmVudCkgfHwgaW5zdGFuY2UgPT09IHRoaXMpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaW5zdGFuY2UuaXNDb2xsYXBzZWQuc2V0KHRydWUpO1xuICAgICAgY29uc3Qgc2libGluZ1BvcG92ZXIgPSBpbnN0YW5jZS5jaGlsZHJlblBvcG92ZXIoKTtcbiAgICAgIGlmIChzaWJsaW5nUG9wb3Zlcikge1xuICAgICAgICBpbnN0YW5jZS5jbG9zZUNvbXBhY3RGbHlvdXQoc2libGluZ1BvcG92ZXIpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1vdmVzIHByb2plY3RlZCBzdWJtZW51IG5vZGVzIGludG8gdGhlIHBvcG92ZXIgcGFuZWwgd2hlbiBvcGVuaW5nIGluIGNvbXBhY3QgbW9kZS5cbiAgICogVGhleSBhcmUgbm90IG1vdmVkIGJhY2sgdG8gdGhlIGlubGluZSBzbG90IG9uIGNsb3NlICh0aGF0IGNhdXNlZCBhIGZ1bGwtbW9kZSBmbGFzaCBiZWxvdyB0aGUgcmFpbCkuXG4gICAqL1xuICBwcml2YXRlIHJlbG9jYXRlQ2hpbGRyZW4odG9Qb3BvdmVyOiBib29sZWFuKSB7XG4gICAgY29uc3Qgc291cmNlID0gdGhpcy5jaGlsZHJlblNsb3QoKT8ubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCB0YXJnZXQgPSB0aGlzLnBvcG92ZXJTbG90KCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFzb3VyY2UgfHwgIXRhcmdldCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBmcm9tID0gdG9Qb3BvdmVyID8gc291cmNlIDogdGFyZ2V0O1xuICAgIGNvbnN0IHRvID0gdG9Qb3BvdmVyID8gdGFyZ2V0IDogc291cmNlO1xuICAgIHdoaWxlIChmcm9tLmZpcnN0Q2hpbGQpIHtcbiAgICAgIHRvLmFwcGVuZENoaWxkKGZyb20uZmlyc3RDaGlsZCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFB1bGxzIGRpcmVjdCBzdWJtZW51IG5vZGVzIGJhY2sgaW50byB0aGUgaW5saW5lIHNsb3QgZnJvbSB0aGUgcG9wb3ZlciBob3N0IGFuZFxuICAgKiBmcm9tIGFueSBvcGVuIGZseW91dCBvdmVybGF5IHBhbmVsIHNvIHRoZXkgYXJlIG5vdCBkZXN0cm95ZWQgb24gb3ZlcmxheSBkaXNwb3NlLlxuICAgKi9cbiAgcHJpdmF0ZSBtb3ZlQ2hpbGRyZW5Ub0lubGluZVNsb3QoKSB7XG4gICAgY29uc3Qgc2xvdCA9IHRoaXMuY2hpbGRyZW5TbG90KCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFzbG90IHx8ICFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaG9zdCA9IHRoaXMuZWxlbS5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IHNvdXJjZXM6IEhUTUxFbGVtZW50W10gPSBbXTtcbiAgICBjb25zdCBmbHlvdXRIb3N0ID0gdGhpcy5wb3BvdmVyU2xvdCgpPy5uYXRpdmVFbGVtZW50O1xuICAgIGlmIChmbHlvdXRIb3N0KSB7XG4gICAgICBzb3VyY2VzLnB1c2goZmx5b3V0SG9zdCk7XG4gICAgfVxuXG4gICAgdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuYXgtc2lkZS1tZW51LXBvcG92ZXIgLmF4LXNpZGUtY2hpbGRyZW4tY29udGVudCcpLmZvckVhY2goKGVsKSA9PiB7XG4gICAgICBpZiAoZWwgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCAmJiBlbCAhPT0gc2xvdCAmJiAhc2xvdC5jb250YWlucyhlbCkpIHtcbiAgICAgICAgc291cmNlcy5wdXNoKGVsKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGZvciAoY29uc3Qgc291cmNlIG9mIHNvdXJjZXMpIHtcbiAgICAgIGNvbnN0IGl0ZW1zID0gQXJyYXkuZnJvbShzb3VyY2UucXVlcnlTZWxlY3RvckFsbCgnOnNjb3BlID4gYXgtc2lkZS1tZW51LWl0ZW0nKSk7XG4gICAgICBmb3IgKGNvbnN0IGVsIG9mIGl0ZW1zKSB7XG4gICAgICAgIGlmIChlbCA9PT0gaG9zdCkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5lYXJlc3RQYXJlbnQgPSBlbC5wYXJlbnRFbGVtZW50Py5jbG9zZXN0KCdheC1zaWRlLW1lbnUtaXRlbScpO1xuICAgICAgICBpZiAobmVhcmVzdFBhcmVudCAhPT0gaG9zdCkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHNsb3QuYXBwZW5kQ2hpbGQoZWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfaGFuZGxlUG9wb3ZlckNsb3NlZCgpIHtcbiAgICB0aGlzLm1vdmVDaGlsZHJlblRvSW5saW5lU2xvdCgpO1xuICAgIGlmICghdGhpcy5pc0NvbGxhcHNlZCgpKSB7XG4gICAgICB0aGlzLmlzQ29sbGFwc2VkLnNldCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRm9yQ2hpbGRyZW4oKSB7XG4gICAgY29uc3QgaG9zdCA9IHRoaXMuZWxlbS5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IGlubGluZVNsb3QgPSB0aGlzLmNoaWxkcmVuU2xvdCgpPy5uYXRpdmVFbGVtZW50ID8/IG51bGw7XG4gICAgY29uc3QgZmx5b3V0U2xvdCA9IHRoaXMucG9wb3ZlclNsb3QoKT8ubmF0aXZlRWxlbWVudCA/PyBudWxsO1xuICAgIGNvbnN0IGlubGluZUNvdW50ID0gaW5saW5lU2xvdD8ucXVlcnlTZWxlY3RvckFsbCgnYXgtc2lkZS1tZW51LWl0ZW0nKS5sZW5ndGggPz8gMDtcbiAgICBjb25zdCBmbHlvdXRDb3VudCA9IGZseW91dFNsb3Q/LnF1ZXJ5U2VsZWN0b3JBbGwoJ2F4LXNpZGUtbWVudS1pdGVtJykubGVuZ3RoID8/IDA7XG4gICAgY29uc3QgY29udGVudEVsID0gaW5saW5lU2xvdCA/PyBmbHlvdXRTbG90O1xuICAgIHRoaXMuaGFzQ2hpbGQuc2V0KHRoaXMuaGFzTmVzdGVkTWVudUl0ZW1zKGhvc3QsIGNvbnRlbnRFbCwgaW5saW5lQ291bnQgKyBmbHlvdXRDb3VudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYXNOZXN0ZWRNZW51SXRlbXMoaG9zdDogSFRNTEVsZW1lbnQsIGNvbnRlbnRFbDogRWxlbWVudCB8IG51bGwsIGRvbUNoaWxkQ291bnQ6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGlubGluZVNsb3QgPSB0aGlzLmNoaWxkcmVuU2xvdCgpPy5uYXRpdmVFbGVtZW50ID8/IG51bGw7XG4gICAgY29uc3QgZmx5b3V0U2xvdCA9IHRoaXMucG9wb3ZlclNsb3QoKT8ubmF0aXZlRWxlbWVudCA/PyBudWxsO1xuICAgIGxldCBzdHJhbmRlZENvdW50ID0gMDtcbiAgICBjb25zdCBhbGwgPSBob3N0LnF1ZXJ5U2VsZWN0b3JBbGwoJ2F4LXNpZGUtbWVudS1pdGVtJyk7XG4gICAgYWxsLmZvckVhY2goKGVsKSA9PiB7XG4gICAgICBpZiAoZWwgPT09IGhvc3QpIHJldHVybjtcbiAgICAgIGlmIChpbmxpbmVTbG90Py5jb250YWlucyhlbCkgfHwgZmx5b3V0U2xvdD8uY29udGFpbnMoZWwpKSByZXR1cm47XG4gICAgICBjb25zdCBuZWFyZXN0UGFyZW50ID0gZWwucGFyZW50RWxlbWVudD8uY2xvc2VzdCgnYXgtc2lkZS1tZW51LWl0ZW0nKTtcbiAgICAgIGlmIChuZWFyZXN0UGFyZW50ID09PSBob3N0KSBzdHJhbmRlZENvdW50Kys7XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMuY2hpbGRJdGVtcygpLmxlbmd0aCA+IDAgfHwgZG9tQ2hpbGRDb3VudCA+IDAgfHwgc3RyYW5kZWRDb3VudCA+IDA7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2hhbmRsZUNsaWNrRXZlbnQoZTogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMuaXNMb2FkaW5nKCkpIHJldHVybjtcbiAgICBjb25zdCBldmVudCA9IHtcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgIGh0bWxFbGVtZW50OiB0aGlzLmdldEhvc3RFbGVtZW50KCksXG4gICAgICBuYXRpdmVFdmVudDogZSxcbiAgICAgIGhhbmRsZWQ6IGZhbHNlLFxuICAgIH07XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoZXZlbnQpO1xuICAgIGlmICghZXZlbnQuaGFuZGxlZCAmJiB0aGlzLnRvZ2dsZU9uQ2xpY2soKSAmJiAodGhpcy5oYXNDaGlsZCgpIHx8ICF0aGlzLmlzQ29tcGFjdE1vZGUoKSkpIHtcbiAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgfVxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICB0b2dnbGUoKSB7XG4gICAgaWYgKHRoaXMuaXNDb21wYWN0TW9kZSgpKSB7XG4gICAgICBpZiAoIXRoaXMuaGFzQ2hpbGQoKSkgcmV0dXJuO1xuICAgICAgdGhpcy5pc0NvbGxhcHNlZC51cGRhdGUoKHByZXYpID0+ICFwcmV2KTtcbiAgICAgIHRoaXMuc3luY0NvbXBhY3RQb3BvdmVyKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNDb2xsYXBzZWQudXBkYXRlKChwcmV2KSA9PiAhcHJldik7XG4gIH1cblxuICBvcGVuKCkge1xuICAgIHRoaXMuaXNDb2xsYXBzZWQuc2V0KHRydWUpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5pc0NvbGxhcHNlZC5zZXQoZmFsc2UpO1xuICB9XG59XG4iLCI8ZGl2IFtheFRvb2x0aXBdPVwidG9vbHRpcFN0YXR1cygpID8gdG9vbHRpcFRleHQoKSA6IG51bGxcIiBjbGFzcz1cImF4LXNpZGUtbWVudS13cmFwcGVyXCI+XG4gIEBpZiAoIWlzQ29tcGFjdE1vZGUoKSkge1xuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXRpdGxlXCI+PC9uZy1jb250ZW50PlxuICB9XG4gIEBpZiAocm91dGVyTGluaygpKSB7XG4gICAgPGFcbiAgICAgICNtZW51SXRlbVRyaWdnZXJcbiAgICAgIFtheFJpcHBsZV1cbiAgICAgIFt0YXJnZXRdPVwidGFyZ2V0KClcIlxuICAgICAgY2xhc3M9XCJheC1zaWRlLWl0ZW1cIlxuICAgICAgW3JvdXRlckxpbmtdPVwicm91dGVyTGluaygpXCJcbiAgICAgIChjbGljayk9XCJfaGFuZGxlQ2xpY2tFdmVudCgkZXZlbnQpXCJcbiAgICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbcm91dGVyTGlua0FjdGl2ZV09XCJyb3V0ZXJMaW5rQWN0aXZlKClcIlxuICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cInJvdXRlckxpbmtBY3RpdmVPcHRpb25zKClcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibWVudUl0ZW1Db250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9hPlxuICB9IEBlbHNlIGlmIChocmVmKCkpIHtcbiAgICA8YVxuICAgICAgI21lbnVJdGVtVHJpZ2dlclxuICAgICAgW2F4UmlwcGxlXVxuICAgICAgW2hyZWZdPVwiaHJlZigpXCJcbiAgICAgIFt0YXJnZXRdPVwidGFyZ2V0KClcIlxuICAgICAgY2xhc3M9XCJheC1zaWRlLWl0ZW1cIlxuICAgICAgW2NsYXNzLmF4LXN0YXRlLWFjdGl2ZV09XCJhY3RpdmUoKVwiXG4gICAgICAoY2xpY2spPVwiX2hhbmRsZUNsaWNrRXZlbnQoJGV2ZW50KVwiXG4gICAgICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibWVudUl0ZW1Db250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9hPlxuICB9IEBlbHNlIHtcbiAgICA8ZGl2XG4gICAgICAjbWVudUl0ZW1UcmlnZ2VyXG4gICAgICBbYXhSaXBwbGVdXG4gICAgICBjbGFzcz1cImF4LXNpZGUtaXRlbVwiXG4gICAgICBbY2xhc3MuYXgtc3RhdGUtYWN0aXZlXT1cImFjdGl2ZSgpXCJcbiAgICAgIChjbGljayk9XCJfaGFuZGxlQ2xpY2tFdmVudCgkZXZlbnQpXCJcbiAgICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJtZW51SXRlbUNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIDxkaXZcbiAgICBjbGFzcz1cImF4LXNpZGUtY2hpbGRyZW5cIlxuICAgIFtjbGFzcy5heC1jb2xsYXBzZWRdPVwiKCFpc0NvbXBhY3RNb2RlKCkgJiYgaXNDb2xsYXBzZWQoKSkgfHwgKGlzQ29tcGFjdE1vZGUoKSAmJiBpc0ZpcnN0TGV2ZWwoKSlcIlxuICAgIFtjbGFzcy5heC1lbXB0eV09XCIhaGFzQ2hpbGQoKSAmJiAhaXNMb2FkaW5nKClcIlxuICA+XG4gICAgQGlmIChpc0xvYWRpbmcoKSkge1xuICAgICAgPHA+e3sgJ0BhY29yZXg6Y29tbW9uLnN0YXR1cy5sb2FkaW5nJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9wPlxuICAgIH1cbiAgICA8ZGl2ICNjaGlsZHJlblNsb3QgY2xhc3M9XCJheC1zaWRlLWNoaWxkcmVuLWNvbnRlbnRcIiBbaGlkZGVuXT1cImlzTG9hZGluZygpXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1zaWRlLW1lbnUtaXRlbSwgbmctY29udGFpbmVyLCBbbmdUZW1wbGF0ZU91dGxldF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxheC1wb3BvdmVyXG4gICAgI2NoaWxkcmVuUG9wb3ZlclxuICAgIGNsYXNzPVwiYXgtc2lkZS1tZW51LWNoaWxkcmVuLXBvcG92ZXJcIlxuICAgIFt0YXJnZXRdPVwibWVudUl0ZW1UcmlnZ2VyKCkubmF0aXZlRWxlbWVudFwiXG4gICAgW29wZW5Pbl09XCInbWFudWFsJ1wiXG4gICAgW2Nsb3NlT25dPVwiJ2NsaWNrT3V0J1wiXG4gICAgW3BsYWNlbWVudF09XCInZW5kLXRvcCdcIlxuICAgIFtvZmZzZXRYXT1cIjhcIlxuICAgIFtkaXNhYmxlZF09XCIhaXNDb21wYWN0TW9kZSgpIHx8IGRpc2FibGVkIHx8IGlzTG9hZGluZygpXCJcbiAgICBwYW5lbENsYXNzPVwiYXgtc2lkZS1tZW51LXBvcG92ZXJcIlxuICAgIChvbkNsb3NlZCk9XCJfaGFuZGxlUG9wb3ZlckNsb3NlZCgpXCJcbiAgPlxuICAgIDxkaXYgI3BvcG92ZXJTbG90IGNsYXNzPVwiYXgtc2lkZS1jaGlsZHJlbi1jb250ZW50XCI+PC9kaXY+XG4gIDwvYXgtcG9wb3Zlcj5cblxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1kaXZpZGVyXCI+PC9uZy1jb250ZW50PlxuICA8bmctdGVtcGxhdGUgI21lbnVJdGVtQ29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtc3RhcnQtc2lkZVwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtcHJlZml4XCI+PC9uZy1jb250ZW50PlxuICAgICAgQGlmICh0ZXh0KCkpIHtcbiAgICAgICAgPHNwYW4+e3sgdGV4dCgpIH19PC9zcGFuPlxuICAgICAgfVxuICAgICAgPGRpdiBjbGFzcz1cImF4LWluc2lkZS10ZXh0XCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJheC1lbmQtc2lkZVwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtc3VmZml4XCI+PC9uZy1jb250ZW50PlxuICAgICAgQGlmIChoYXNDaGlsZCgpICYmICFpc0xvYWRpbmcoKSAmJiB0b2dnbGVPbkNsaWNrKCkgJiYgIWlzRmlyc3RMZXZlbCgpKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWNoZXZyb24tcmlnaHQgYXJyb3ctaWNvblwiIFtjbGFzcy5hcnJvdy1pY29uLWV4cGFuZF09XCIhaXNDb2xsYXBzZWQoKVwiPiA8L3NwYW4+XG4gICAgICB9XG4gICAgICBAaWYgKGlzTG9hZGluZygpKSB7XG4gICAgICAgIDxheC1sb2FkaW5nPjwvYXgtbG9hZGluZz5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19","import { AXComponent, NXComponent } from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { afterNextRender, ChangeDetectionStrategy, Component, DestroyRef, effect, ElementRef, HostBinding, inject, input, model, PLATFORM_ID, signal, ViewEncapsulation, } from '@angular/core';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { AXSideMenuBase } from './side-menu-base';\nimport { AXSideMenuItemComponent } from './side-menu-item/side-menu-item.component';\nimport * as i0 from \"@angular/core\";\n/**\n * @category\n * A component for displaying a side menu with customizable content.\n */\nexport class AXSideMenuComponent extends NXComponent {\n constructor() {\n super(...arguments);\n this.items = model(...(ngDevMode ? [undefined, { debugName: \"items\" }] : []));\n this.look = input('pills', ...(ngDevMode ? [{ debugName: \"look\" }] : []));\n this.location = input('start', ...(ngDevMode ? [{ debugName: \"location\" }] : []));\n this.mode = input('full', ...(ngDevMode ? [{ debugName: \"mode\" }] : []));\n this.elementRef = inject(ElementRef);\n /**\n * All `ax-side-menu-item` instances discovered by walking the host DOM.\n *\n * We use DOM discovery (instead of `contentChildren`) because Angular content\n * queries do **not** traverse embedded views created by `ngTemplateOutlet`,\n * and the `AXSideMenuBase` DI token is not reachable from inside those views\n * either (they inherit injection from the template's declaration site, not\n * the insertion site). Walking the DOM works for direct projection,\n * structural directives, and recursive `ngTemplateOutlet`-based templates\n * uniformly.\n */\n this._items = signal([], ...(ngDevMode ? [{ debugName: \"_items\" }] : []));\n /** Read-only signal exposing every discovered `ax-side-menu-item` instance. */\n this.children = this._items.asReadonly();\n this.platformId = inject(PLATFORM_ID);\n this.destroyRef = inject(DestroyRef);\n this.hostElement = this.elementRef.nativeElement;\n this.#init = afterNextRender(() => {\n if (!isPlatformBrowser(this.platformId))\n return;\n this.refreshItemsFromDom();\n const observer = new MutationObserver(() => this.refreshItemsFromDom());\n observer.observe(this.elementRef.nativeElement, { childList: true, subtree: true });\n this.destroyRef.onDestroy(() => observer.disconnect());\n });\n this.#syncTooltips = effect(() => {\n const isCompact = this.mode() === 'compact';\n this._items().forEach((item) => {\n const isFirstLevel = !item.getHostElement().parentElement?.closest('.ax-side-children-content');\n item.tooltipStatus.set(isCompact && isFirstLevel);\n });\n }, ...(ngDevMode ? [{ debugName: \"#syncTooltips\" }] : []));\n /** Push full/compact mode to every menu item whenever mode changes. */\n this.#syncItemMode = effect(() => {\n const mode = this.mode();\n this._items().forEach((item) => item.syncMenuMode(mode));\n }, ...(ngDevMode ? [{ debugName: \"#syncItemMode\" }] : []));\n }\n #init;\n #syncTooltips;\n /** Push full/compact mode to every menu item whenever mode changes. */\n #syncItemMode;\n /**\n * Walks the host DOM to discover every nested `ax-side-menu-item`, looks up\n * the component instance through the `__axContext__` property that\n * `MXBaseComponent.ngOnInit` attaches to each host element, and updates the\n * internal items signal and `.first-level` CSS class accordingly.\n *\n * Triggered both initially and from a `MutationObserver` so recursive\n * templates that add/remove items at runtime stay in sync.\n */\n refreshItemsFromDom() {\n const host = this.elementRef.nativeElement;\n const elements = host.querySelectorAll('ax-side-menu-item');\n const items = [];\n elements.forEach((el) => {\n const instance = el.__axContext__;\n if (instance instanceof AXSideMenuItemComponent) {\n items.push(instance);\n }\n });\n const current = this._items();\n const changed = current.length !== items.length || current.some((it, i) => it !== items[i]);\n if (changed) {\n this._items.set(items);\n }\n this.addFirstLevelClass();\n }\n addFirstLevelClass() {\n const allChildren = this._items();\n allChildren.forEach((item) => item.getHostElement().querySelector('.ax-side-item')?.classList.remove('first-level'));\n allChildren\n .filter((item) => {\n const itemElement = item.getHostElement();\n return this.hostElement.contains(itemElement) && !itemElement.parentElement?.closest('.ax-side-children-content');\n })\n .forEach((item) => item.getHostElement().querySelector('.ax-side-item')?.classList.add('first-level'));\n }\n /** @ignore */\n get __hostClass() {\n return [`ax-look-${this.look()}`, `ax-location-${this.location()}`, `ax-mode-${this.mode()}`];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSideMenuComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.3\", type: AXSideMenuComponent, isStandalone: true, selector: \"ax-side-menu\", inputs: { items: { classPropertyName: \"items\", publicName: \"items\", isSignal: true, isRequired: false, transformFunction: null }, look: { classPropertyName: \"look\", publicName: \"look\", isSignal: true, isRequired: false, transformFunction: null }, location: { classPropertyName: \"location\", publicName: \"location\", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: \"mode\", publicName: \"mode\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { items: \"itemsChange\" }, host: { properties: { \"class\": \"this.__hostClass\" } }, providers: [\n { provide: AXComponent, useExisting: AXSideMenuComponent },\n { provide: AXSideMenuBase, useExisting: AXSideMenuComponent },\n ], usesInheritance: true, ngImport: i0, template: \"<ng-content select=\\\"ax-side-menu-item,ax-title,ng-container,[ngTemplateOutlet]\\\"></ng-content>\\n\\n@for (node of items(); track node) {\\n <ng-container [ngTemplateOutlet]=\\\"Recursion\\\" [ngTemplateOutletContext]=\\\"{ $implicit: node }\\\"> </ng-container>\\n}\\n<ng-template #Recursion let-item>\\n @if (item.title) {\\n <ax-title>{{ item.title }}</ax-title>\\n }\\n @if (item.routerLink) {\\n <ax-side-menu-item\\n [text]=\\\"item.text\\\"\\n [target]=\\\"item.target\\\"\\n [disabled]=\\\"item.disabled\\\"\\n [isLoading]=\\\"item.isLoading\\\"\\n [routerLink]=\\\"item.routerLink\\\"\\n [isCollapsed]=\\\"item.isCollapsed\\\"\\n [toggleOnClick]=\\\"item.toggleOnClick\\\"\\n [routerLinkActive]=\\\"item.routerLinkActive\\\"\\n [routerLinkActiveOptions]=\\\"item.routerLinkActiveOptions\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"sideMenuItemContent\\\"></ng-container>\\n </ax-side-menu-item>\\n } @else if (item.href) {\\n <ax-side-menu-item\\n [text]=\\\"item.text\\\"\\n [href]=\\\"item.href\\\"\\n [target]=\\\"item.target\\\"\\n [active]=\\\"item.active\\\"\\n [disabled]=\\\"item.disabled\\\"\\n [isLoading]=\\\"item.isLoading\\\"\\n [isCollapsed]=\\\"item.isCollapsed\\\"\\n [toggleOnClick]=\\\"item.toggleOnClick\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"sideMenuItemContent\\\"></ng-container>\\n </ax-side-menu-item>\\n } @else {\\n <ax-side-menu-item\\n [text]=\\\"item.text\\\"\\n [active]=\\\"item.active\\\"\\n [disabled]=\\\"item.disabled\\\"\\n [isLoading]=\\\"item.isLoading\\\"\\n [isCollapsed]=\\\"item.isCollapsed\\\"\\n [toggleOnClick]=\\\"item.toggleOnClick\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"sideMenuItemContent\\\"></ng-container>\\n </ax-side-menu-item>\\n }\\n\\n <ng-template #sideMenuItemContent>\\n <ax-prefix>\\n @if (item.icon) {\\n <ax-icon [icon]=\\\"item.icon\\\"> </ax-icon>\\n }\\n </ax-prefix>\\n @if (item.data) {\\n <ax-text>{{ item.data }}</ax-text>\\n }\\n @if (item.suffixText) {\\n <ax-suffix>\\n <ax-text>{{ item.suffixText }}</ax-text>\\n </ax-suffix>\\n }\\n @for (child of item.items; track child) {\\n <ng-container [ngTemplateOutlet]=\\\"Recursion\\\" [ngTemplateOutletContext]=\\\"{ $implicit: child }\\\"></ng-container>\\n }\\n </ng-template>\\n</ng-template>\\n\", styles: [\":root{--ax-comp-side-menu-indicator-size: 2px}ax-side-menu{display:flex;width:100%;flex-direction:column;gap:.5rem;color:inherit;font-size:.875rem;line-height:1.25rem;-webkit-user-select:none;user-select:none}ax-side-menu>ax-title{display:block;margin-block:.5rem;padding:.25rem .75rem;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;opacity:.5}ax-side-menu ax-side-menu-item ax-title{display:block;margin-block:.5rem;margin-top:.5rem;padding-inline:.75rem;padding-bottom:.25rem;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;opacity:.5}ax-side-menu ax-side-menu-item ax-divider{display:block;width:100%;height:1px;margin-block:.25rem;background-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-side-menu ax-side-menu-item .ax-side-item{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 1rem;font-size:inherit;font-weight:500}ax-side-menu ax-side-menu-item .ax-side-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-side-menu ax-side-menu-item .ax-side-item.ax-state-disabled .ax-ripple{opacity:0}ax-side-menu ax-side-menu-item .ax-side-item:hover:not(ax-side-menu ax-side-menu-item .ax-side-item:hover.ax-state-disabled,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active.ax-state-disabled) ax-loading ax-loading-spinner span,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active:not(ax-side-menu ax-side-menu-item .ax-side-item:hover.ax-state-disabled,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active.ax-state-disabled) ax-loading ax-loading-spinner span{border-color:rgba(var(--ax-sys-color-on-primary-surface))}ax-side-menu ax-side-menu-item .ax-side-item .ax-start-side,ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side{display:flex;align-items:center}ax-side-menu ax-side-menu-item .ax-side-item .ax-start-side{gap:.5rem}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side{gap:.5rem}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon{display:block;transition-property:rotate;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:90deg}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side ax-loading ax-loading-spinner span{border-color:rgba(var(--ax-sys-color-on-primary-surface))}ax-side-menu ax-side-menu-item .ax-side-item .ax-ripple{background-color:rgba(var(--ax-sys-color-on-surface),.3)!important}ax-side-menu ax-side-menu-item .ax-side-children{display:grid;grid-template-rows:1fr;padding-inline-start:1.25rem;opacity:1;transition-property:grid-template-rows,opacity;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu ax-side-menu-item .ax-side-children.ax-collapsed{grid-template-rows:0fr;opacity:0}ax-side-menu ax-side-menu-item .ax-side-children.ax-empty{display:none}ax-side-menu ax-side-menu-item .ax-side-children .ax-side-children-content{overflow:hidden}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item:first-child{padding-top:.5rem}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item:first-child ax-title{margin-top:1rem}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item .ax-side-item{font-weight:400}ax-side-menu ax-side-menu-item .ax-side-children-content{display:flex;flex-direction:column;gap:.5rem}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item{border-radius:var(--ax-sys-border-radius)}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item:hover:not(ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-surface))}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line,ax-side-menu.ax-look-with-line-color{gap:0}ax-side-menu.ax-look-with-line .ax-ripple,ax-side-menu.ax-look-with-line-color .ax-ripple{display:none}ax-side-menu.ax-look-with-line.ax-location-start .ax-side-children:before,ax-side-menu.ax-look-with-line.ax-location-start .ax-side-item:before,ax-side-menu.ax-look-with-line-color.ax-location-start .ax-side-children:before,ax-side-menu.ax-look-with-line-color.ax-location-start .ax-side-item:before{inset-inline-start:0;width:calc(var(--ax-comp-side-menu-indicator-size, 2px) / 2)}ax-side-menu.ax-look-with-line.ax-location-end .ax-side-children:before,ax-side-menu.ax-look-with-line.ax-location-end .ax-side-item:before,ax-side-menu.ax-look-with-line-color.ax-location-end .ax-side-children:before,ax-side-menu.ax-look-with-line-color.ax-location-end .ax-side-item:before{inset-inline-end:0;width:calc(var(--ax-comp-side-menu-indicator-size, 2px) / 2)}ax-side-menu.ax-look-with-line ax-side-menu-item,ax-side-menu.ax-look-with-line .ax-side-children,ax-side-menu.ax-look-with-line .ax-side-item,ax-side-menu.ax-look-with-line-color ax-side-menu-item,ax-side-menu.ax-look-with-line-color .ax-side-children,ax-side-menu.ax-look-with-line-color .ax-side-item{position:relative}ax-side-menu.ax-look-with-line ax-side-menu-item:before,ax-side-menu.ax-look-with-line .ax-side-children:before,ax-side-menu.ax-look-with-line .ax-side-item:before,ax-side-menu.ax-look-with-line-color ax-side-menu-item:before,ax-side-menu.ax-look-with-line-color .ax-side-children:before,ax-side-menu.ax-look-with-line-color .ax-side-item:before{position:absolute;height:100%;background-color:rgba(var(--ax-sys-color-border-lightest-surface));content:\\\"\\\";transition-property:width;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu.ax-look-with-line .ax-side-item:hover:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled),ax-side-menu.ax-look-with-line-color .ax-side-item:hover:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled),ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled):before,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled):before{position:absolute;width:var(--ax-comp-side-menu-indicator-size, 2px);height:100%;background-color:rgba(var(--ax-comp-side-menu-indicator-active-color, var(--ax-comp-side-menu-bg-color, var(--ax-sys-color-primary-surface))));content:\\\"\\\"}ax-side-menu.ax-look-with-line .ax-side-children,ax-side-menu.ax-look-with-line-color .ax-side-children{gap:0}ax-side-menu.ax-look-with-line .ax-side-children ax-side-menu-item:first-child,ax-side-menu.ax-look-with-line-color .ax-side-children ax-side-menu-item:first-child{padding-top:0}ax-side-menu.ax-look-with-line-color .ax-side-item:hover:not(ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-primary-surface),.1)}ax-side-menu.ax-look-default{gap:.25rem}ax-side-menu.ax-look-default ax-icon{opacity:.6}ax-side-menu.ax-look-default .ax-side-item{padding:.5rem 1rem;border-radius:var(--ax-sys-border-radius)}ax-side-menu.ax-look-default .ax-side-item:hover:not(ax-side-menu.ax-look-default .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-surface),.5)}ax-side-menu.ax-look-default .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-default .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-surface),.1)}ax-side-menu.ax-look-default .ax-side-children{position:relative;gap:.25rem;padding-inline-start:2.25rem}ax-side-menu.ax-look-default .ax-side-children:before{position:absolute;width:1px;height:100%;margin-inline-start:1.5rem;background-color:rgba(var(--ax-sys-color-border-light-surface));content:\\\"\\\"}ax-side-menu.ax-look-default .ax-side-children ax-side-menu-item .ax-side-item{padding:.25rem .5rem}ax-side-menu.ax-look-default .ax-side-children ax-side-menu-item:first-child{padding-top:0}ax-side-menu.ax-mode-compact .ax-side-menu-wrapper{width:fit-content}ax-side-menu.ax-mode-compact>ax-side-menu-item>.ax-side-children{display:none}ax-side-menu.ax-mode-compact>ax-side-menu-item>ax-popover.ax-side-menu-children-popover .ax-side-children-content{display:none}ax-side-menu.ax-mode-compact .ax-inside-text{display:none}ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item:hover:not(ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-darker-surface, var(--ax-sys-color-surface)))}ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-active:not(ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-mode-compact ax-side-menu-item{position:relative;padding:.125rem!important;display:flex;justify-content:center;width:100%}ax-side-menu.ax-mode-compact ax-side-menu-item ax-icon{font-size:1.4rem}ax-side-menu.ax-mode-compact ax-badge{position:absolute;top:0}ax-side-menu.ax-mode-compact .ax-side-item{width:fit-content;gap:0}[dir=rtl] ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon:before{scale:-1 1}[dir=rtl] ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:-90deg}.ax-side-menu-popover{color:inherit;font-size:.875rem;line-height:1.25rem;-webkit-user-select:none;user-select:none}.ax-side-menu-popover .ax-side-children-content{display:flex;min-width:10rem;flex-direction:column;gap:.25rem;overflow:visible;border-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-surface));padding:.25rem}.ax-side-menu-popover ax-side-menu-item{position:relative;display:block;width:100%;padding:0}.ax-side-menu-popover ax-side-menu-item .ax-side-children.ax-empty{display:none}.ax-side-menu-popover ax-side-menu-item>ax-popover.ax-side-menu-children-popover>.ax-side-menu-popover-host{display:none}.ax-side-menu-popover ax-side-menu-item .ax-side-item{position:relative;display:flex;width:100%;cursor:pointer;align-items:center;justify-content:space-between;gap:.75rem;border-radius:var(--ax-sys-border-radius);padding:.5rem .75rem;font-weight:400;white-space:nowrap}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-start-side,.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side{display:flex;align-items:center;gap:.5rem}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon{display:block;rotate:90deg;transition-property:rotate;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:0deg}.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item:hover:not(.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-darker-surface, var(--ax-sys-color-surface)))}.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-active:not(.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}\\n\"], dependencies: [{ kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"component\", type: AXSideMenuItemComponent, selector: \"ax-side-menu-item\", inputs: [\"disabled\", \"text\", \"active\", \"isLoading\", \"isCollapsed\", \"tooltipText\", \"toggleOnClick\", \"href\", \"routerLink\", \"routerLinkActive\", \"routerLinkActiveOptions\", \"target\"], outputs: [\"textChange\", \"activeChange\", \"isLoadingChange\", \"isCollapsedChange\", \"onClick\"] }, { kind: \"directive\", type: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"directive\", type: RouterLinkActive, selector: \"[routerLinkActive]\", inputs: [\"routerLinkActiveOptions\", \"ariaCurrentWhenActive\", \"routerLinkActive\"], outputs: [\"isActiveChange\"], exportAs: [\"routerLinkActive\"] }, { kind: \"component\", type: AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSideMenuComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-side-menu', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [\n NgTemplateOutlet,\n AXDecoratorGenericComponent,\n AXSideMenuItemComponent,\n RouterLink,\n RouterLinkActive,\n AXDecoratorIconComponent,\n ], providers: [\n { provide: AXComponent, useExisting: AXSideMenuComponent },\n { provide: AXSideMenuBase, useExisting: AXSideMenuComponent },\n ], template: \"<ng-content select=\\\"ax-side-menu-item,ax-title,ng-container,[ngTemplateOutlet]\\\"></ng-content>\\n\\n@for (node of items(); track node) {\\n <ng-container [ngTemplateOutlet]=\\\"Recursion\\\" [ngTemplateOutletContext]=\\\"{ $implicit: node }\\\"> </ng-container>\\n}\\n<ng-template #Recursion let-item>\\n @if (item.title) {\\n <ax-title>{{ item.title }}</ax-title>\\n }\\n @if (item.routerLink) {\\n <ax-side-menu-item\\n [text]=\\\"item.text\\\"\\n [target]=\\\"item.target\\\"\\n [disabled]=\\\"item.disabled\\\"\\n [isLoading]=\\\"item.isLoading\\\"\\n [routerLink]=\\\"item.routerLink\\\"\\n [isCollapsed]=\\\"item.isCollapsed\\\"\\n [toggleOnClick]=\\\"item.toggleOnClick\\\"\\n [routerLinkActive]=\\\"item.routerLinkActive\\\"\\n [routerLinkActiveOptions]=\\\"item.routerLinkActiveOptions\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"sideMenuItemContent\\\"></ng-container>\\n </ax-side-menu-item>\\n } @else if (item.href) {\\n <ax-side-menu-item\\n [text]=\\\"item.text\\\"\\n [href]=\\\"item.href\\\"\\n [target]=\\\"item.target\\\"\\n [active]=\\\"item.active\\\"\\n [disabled]=\\\"item.disabled\\\"\\n [isLoading]=\\\"item.isLoading\\\"\\n [isCollapsed]=\\\"item.isCollapsed\\\"\\n [toggleOnClick]=\\\"item.toggleOnClick\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"sideMenuItemContent\\\"></ng-container>\\n </ax-side-menu-item>\\n } @else {\\n <ax-side-menu-item\\n [text]=\\\"item.text\\\"\\n [active]=\\\"item.active\\\"\\n [disabled]=\\\"item.disabled\\\"\\n [isLoading]=\\\"item.isLoading\\\"\\n [isCollapsed]=\\\"item.isCollapsed\\\"\\n [toggleOnClick]=\\\"item.toggleOnClick\\\"\\n >\\n <ng-container [ngTemplateOutlet]=\\\"sideMenuItemContent\\\"></ng-container>\\n </ax-side-menu-item>\\n }\\n\\n <ng-template #sideMenuItemContent>\\n <ax-prefix>\\n @if (item.icon) {\\n <ax-icon [icon]=\\\"item.icon\\\"> </ax-icon>\\n }\\n </ax-prefix>\\n @if (item.data) {\\n <ax-text>{{ item.data }}</ax-text>\\n }\\n @if (item.suffixText) {\\n <ax-suffix>\\n <ax-text>{{ item.suffixText }}</ax-text>\\n </ax-suffix>\\n }\\n @for (child of item.items; track child) {\\n <ng-container [ngTemplateOutlet]=\\\"Recursion\\\" [ngTemplateOutletContext]=\\\"{ $implicit: child }\\\"></ng-container>\\n }\\n </ng-template>\\n</ng-template>\\n\", styles: [\":root{--ax-comp-side-menu-indicator-size: 2px}ax-side-menu{display:flex;width:100%;flex-direction:column;gap:.5rem;color:inherit;font-size:.875rem;line-height:1.25rem;-webkit-user-select:none;user-select:none}ax-side-menu>ax-title{display:block;margin-block:.5rem;padding:.25rem .75rem;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;opacity:.5}ax-side-menu ax-side-menu-item ax-title{display:block;margin-block:.5rem;margin-top:.5rem;padding-inline:.75rem;padding-bottom:.25rem;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;opacity:.5}ax-side-menu ax-side-menu-item ax-divider{display:block;width:100%;height:1px;margin-block:.25rem;background-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-side-menu ax-side-menu-item .ax-side-item{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 1rem;font-size:inherit;font-weight:500}ax-side-menu ax-side-menu-item .ax-side-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-side-menu ax-side-menu-item .ax-side-item.ax-state-disabled .ax-ripple{opacity:0}ax-side-menu ax-side-menu-item .ax-side-item:hover:not(ax-side-menu ax-side-menu-item .ax-side-item:hover.ax-state-disabled,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active.ax-state-disabled) ax-loading ax-loading-spinner span,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active:not(ax-side-menu ax-side-menu-item .ax-side-item:hover.ax-state-disabled,ax-side-menu ax-side-menu-item .ax-side-item.ax-state-active.ax-state-disabled) ax-loading ax-loading-spinner span{border-color:rgba(var(--ax-sys-color-on-primary-surface))}ax-side-menu ax-side-menu-item .ax-side-item .ax-start-side,ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side{display:flex;align-items:center}ax-side-menu ax-side-menu-item .ax-side-item .ax-start-side{gap:.5rem}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side{gap:.5rem}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon{display:block;transition-property:rotate;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:90deg}ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side ax-loading ax-loading-spinner span{border-color:rgba(var(--ax-sys-color-on-primary-surface))}ax-side-menu ax-side-menu-item .ax-side-item .ax-ripple{background-color:rgba(var(--ax-sys-color-on-surface),.3)!important}ax-side-menu ax-side-menu-item .ax-side-children{display:grid;grid-template-rows:1fr;padding-inline-start:1.25rem;opacity:1;transition-property:grid-template-rows,opacity;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu ax-side-menu-item .ax-side-children.ax-collapsed{grid-template-rows:0fr;opacity:0}ax-side-menu ax-side-menu-item .ax-side-children.ax-empty{display:none}ax-side-menu ax-side-menu-item .ax-side-children .ax-side-children-content{overflow:hidden}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item:first-child{padding-top:.5rem}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item:first-child ax-title{margin-top:1rem}ax-side-menu ax-side-menu-item .ax-side-children ax-side-menu-item .ax-side-item{font-weight:400}ax-side-menu ax-side-menu-item .ax-side-children-content{display:flex;flex-direction:column;gap:.5rem}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item{border-radius:var(--ax-sys-border-radius)}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item:hover:not(ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-surface))}ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line,ax-side-menu.ax-look-with-line-color{gap:0}ax-side-menu.ax-look-with-line .ax-ripple,ax-side-menu.ax-look-with-line-color .ax-ripple{display:none}ax-side-menu.ax-look-with-line.ax-location-start .ax-side-children:before,ax-side-menu.ax-look-with-line.ax-location-start .ax-side-item:before,ax-side-menu.ax-look-with-line-color.ax-location-start .ax-side-children:before,ax-side-menu.ax-look-with-line-color.ax-location-start .ax-side-item:before{inset-inline-start:0;width:calc(var(--ax-comp-side-menu-indicator-size, 2px) / 2)}ax-side-menu.ax-look-with-line.ax-location-end .ax-side-children:before,ax-side-menu.ax-look-with-line.ax-location-end .ax-side-item:before,ax-side-menu.ax-look-with-line-color.ax-location-end .ax-side-children:before,ax-side-menu.ax-look-with-line-color.ax-location-end .ax-side-item:before{inset-inline-end:0;width:calc(var(--ax-comp-side-menu-indicator-size, 2px) / 2)}ax-side-menu.ax-look-with-line ax-side-menu-item,ax-side-menu.ax-look-with-line .ax-side-children,ax-side-menu.ax-look-with-line .ax-side-item,ax-side-menu.ax-look-with-line-color ax-side-menu-item,ax-side-menu.ax-look-with-line-color .ax-side-children,ax-side-menu.ax-look-with-line-color .ax-side-item{position:relative}ax-side-menu.ax-look-with-line ax-side-menu-item:before,ax-side-menu.ax-look-with-line .ax-side-children:before,ax-side-menu.ax-look-with-line .ax-side-item:before,ax-side-menu.ax-look-with-line-color ax-side-menu-item:before,ax-side-menu.ax-look-with-line-color .ax-side-children:before,ax-side-menu.ax-look-with-line-color .ax-side-item:before{position:absolute;height:100%;background-color:rgba(var(--ax-sys-color-border-lightest-surface));content:\\\"\\\";transition-property:width;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-side-menu.ax-look-with-line .ax-side-item:hover:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled),ax-side-menu.ax-look-with-line-color .ax-side-item:hover:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled),ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-look-with-line .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled):before,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line .ax-side-item.ax-state-disabled,ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled):before{position:absolute;width:var(--ax-comp-side-menu-indicator-size, 2px);height:100%;background-color:rgba(var(--ax-comp-side-menu-indicator-active-color, var(--ax-comp-side-menu-bg-color, var(--ax-sys-color-primary-surface))));content:\\\"\\\"}ax-side-menu.ax-look-with-line .ax-side-children,ax-side-menu.ax-look-with-line-color .ax-side-children{gap:0}ax-side-menu.ax-look-with-line .ax-side-children ax-side-menu-item:first-child,ax-side-menu.ax-look-with-line-color .ax-side-children ax-side-menu-item:first-child{padding-top:0}ax-side-menu.ax-look-with-line-color .ax-side-item:hover:not(ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-with-line-color .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-primary-surface),.1)}ax-side-menu.ax-look-default{gap:.25rem}ax-side-menu.ax-look-default ax-icon{opacity:.6}ax-side-menu.ax-look-default .ax-side-item{padding:.5rem 1rem;border-radius:var(--ax-sys-border-radius)}ax-side-menu.ax-look-default .ax-side-item:hover:not(ax-side-menu.ax-look-default .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-surface),.5)}ax-side-menu.ax-look-default .ax-side-item.ax-state-active:not(ax-side-menu.ax-look-default .ax-side-item.ax-state-disabled){background-color:rgba(var(--ax-sys-color-surface),.1)}ax-side-menu.ax-look-default .ax-side-children{position:relative;gap:.25rem;padding-inline-start:2.25rem}ax-side-menu.ax-look-default .ax-side-children:before{position:absolute;width:1px;height:100%;margin-inline-start:1.5rem;background-color:rgba(var(--ax-sys-color-border-light-surface));content:\\\"\\\"}ax-side-menu.ax-look-default .ax-side-children ax-side-menu-item .ax-side-item{padding:.25rem .5rem}ax-side-menu.ax-look-default .ax-side-children ax-side-menu-item:first-child{padding-top:0}ax-side-menu.ax-mode-compact .ax-side-menu-wrapper{width:fit-content}ax-side-menu.ax-mode-compact>ax-side-menu-item>.ax-side-children{display:none}ax-side-menu.ax-mode-compact>ax-side-menu-item>ax-popover.ax-side-menu-children-popover .ax-side-children-content{display:none}ax-side-menu.ax-mode-compact .ax-inside-text{display:none}ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item:hover:not(ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-darker-surface, var(--ax-sys-color-surface)))}ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-active:not(ax-side-menu.ax-mode-compact.ax-look-pills>ax-side-menu-item>.ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}ax-side-menu.ax-mode-compact ax-side-menu-item{position:relative;padding:.125rem!important;display:flex;justify-content:center;width:100%}ax-side-menu.ax-mode-compact ax-side-menu-item ax-icon{font-size:1.4rem}ax-side-menu.ax-mode-compact ax-badge{position:absolute;top:0}ax-side-menu.ax-mode-compact .ax-side-item{width:fit-content;gap:0}[dir=rtl] ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon:before{scale:-1 1}[dir=rtl] ax-side-menu ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:-90deg}.ax-side-menu-popover{color:inherit;font-size:.875rem;line-height:1.25rem;-webkit-user-select:none;user-select:none}.ax-side-menu-popover .ax-side-children-content{display:flex;min-width:10rem;flex-direction:column;gap:.25rem;overflow:visible;border-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-surface));padding:.25rem}.ax-side-menu-popover ax-side-menu-item{position:relative;display:block;width:100%;padding:0}.ax-side-menu-popover ax-side-menu-item .ax-side-children.ax-empty{display:none}.ax-side-menu-popover ax-side-menu-item>ax-popover.ax-side-menu-children-popover>.ax-side-menu-popover-host{display:none}.ax-side-menu-popover ax-side-menu-item .ax-side-item{position:relative;display:flex;width:100%;cursor:pointer;align-items:center;justify-content:space-between;gap:.75rem;border-radius:var(--ax-sys-border-radius);padding:.5rem .75rem;font-weight:400;white-space:nowrap}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-start-side,.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side{display:flex;align-items:center;gap:.5rem}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon{display:block;rotate:90deg;transition-property:rotate;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}.ax-side-menu-popover ax-side-menu-item .ax-side-item .ax-end-side .arrow-icon.arrow-icon-expand{rotate:0deg}.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item:hover:not(.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-surface));background-color:rgba(var(--ax-sys-color-darker-surface, var(--ax-sys-color-surface)))}.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-active:not(.ax-side-menu-popover .ax-side-menu-popover-host.ax-look-pills ax-side-menu-item .ax-side-item.ax-state-disabled){color:rgba(var(--ax-sys-color-on-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface))}\\n\"] }]\n }], propDecorators: { __hostClass: [{\n type: HostBinding,\n args: ['class']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvc2lkZS1tZW51L3NyYy9saWIvc2lkZS1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvc2lkZS1tZW51L3NyYy9saWIvc2lkZS1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEUsT0FBTyxFQUNMLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxXQUFXLEVBQ1gsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLFVBQVUsRUFBRSxnQkFBZ0IsRUFBVyxNQUFNLGlCQUFpQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7QUF1QnBGOzs7R0FHRztBQW9CSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBVztJQW5CcEQ7O1FBb0JFLFVBQUssR0FBRyxLQUFLLDJEQUFvQixDQUFDO1FBQ3pCLFNBQUksR0FBRyxLQUFLLENBQWlCLE9BQU8sZ0RBQUMsQ0FBQztRQUN0QyxhQUFRLEdBQUcsS0FBSyxDQUFxQixPQUFP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LE9BQU8sQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLGVBQWUsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsV0FBVyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7OEdBN0ZVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLG9vQkFMbkI7WUFDVCxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFO1lBQzFELEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUU7U0FDOUQsaURDaEVILDB2RUFvRUEsNm9aRGRJLGdCQUFnQixvSkFDaEIsMkJBQTJCLHlMQUMzQix1QkFBdUIsNlVBQ3ZCLFVBQVUsb09BQ1YsZ0JBQWdCLDhNQUNoQix3QkFBd0I7OzJGQU9mLG1CQUFtQjtrQkFuQi9CLFNBQVM7K0JBQ0UsY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCO3dCQUNQLGdCQUFnQjt3QkFDaEIsMkJBQTJCO3dCQUMzQix1QkFBdUI7d0JBQ3ZCLFVBQVU7d0JBQ1YsZ0JBQWdCO3dCQUNoQix3QkFBd0I7cUJBQ3pCLGFBQ1U7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcscUJBQXFCLEVBQUU7d0JBQzFELEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLHFCQUFxQixFQUFFO3FCQUM5RDs4QkE2RlcsV0FBVztzQkFEdEIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb21wb25lbnQsIE5YQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yR2VuZXJpY0NvbXBvbmVudCwgQVhEZWNvcmF0b3JJY29uQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBEZXN0cm95UmVmLFxuICBlZmZlY3QsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgUExBVEZPUk1fSUQsXG4gIHNpZ25hbCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSXNBY3RpdmVNYXRjaE9wdGlvbnMsIFJvdXRlckxpbmssIFJvdXRlckxpbmtBY3RpdmUsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQVhTaWRlTWVudUJhc2UgfSBmcm9tICcuL3NpZGUtbWVudS1iYXNlJztcbmltcG9ydCB7IEFYU2lkZU1lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9zaWRlLW1lbnUtaXRlbS9zaWRlLW1lbnUtaXRlbS5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBBWFNpZGVNZW51TG9vayA9ICdwaWxscycgfCAnd2l0aC1saW5lJyB8ICd3aXRoLWxpbmUtY29sb3InIHwgJ2RlZmF1bHQnO1xuZXhwb3J0IHR5cGUgQVhTaWRlTWVudUxvY2F0aW9uID0gJ3N0YXJ0JyB8ICdlbmQnO1xuZXhwb3J0IHR5cGUgQVhTaWRlTWVudUl0ZW0gPSB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICByb3V0ZXJMaW5rPzogc3RyaW5nIHwgYW55W10gfCBVcmxUcmVlO1xuICByb3V0ZXJMaW5rQWN0aXZlPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIHJvdXRlckxpbmtBY3RpdmVPcHRpb25zPzogeyBleGFjdDogYm9vbGVhbiB9IHwgSXNBY3RpdmVNYXRjaE9wdGlvbnM7XG4gIGhyZWY/OiBzdHJpbmc7XG4gIHRhcmdldD86ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJztcbiAgdGV4dDogc3RyaW5nO1xuICBhY3RpdmU/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGlzTG9hZGluZz86IGJvb2xlYW47XG4gIGlzQ29sbGFwc2VkPzogYm9vbGVhbjtcbiAgaWNvbj86IHN0cmluZztcbiAgZGF0YT86IHVua25vd247XG4gIHN1ZmZpeFRleHQ/OiBzdHJpbmc7XG4gIHRvZ2dsZU9uQ2xpY2s/OiBib29sZWFuO1xuICBpdGVtcz86IEFYU2lkZU1lbnVJdGVtW107XG59O1xuXG4vKipcbiAqIEBjYXRlZ29yeVxuICogQSBjb21wb25lbnQgZm9yIGRpc3BsYXlpbmcgYSBzaWRlIG1lbnUgd2l0aCBjdXN0b21pemFibGUgY29udGVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtc2lkZS1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGUtbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpZGUtbWVudS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW1xuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgQVhEZWNvcmF0b3JHZW5lcmljQ29tcG9uZW50LFxuICAgIEFYU2lkZU1lbnVJdGVtQ29tcG9uZW50LFxuICAgIFJvdXRlckxpbmssXG4gICAgUm91dGVyTGlua0FjdGl2ZSxcbiAgICBBWERlY29yYXRvckljb25Db21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogQVhDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFNpZGVNZW51Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWFNpZGVNZW51QmFzZSwgdXNlRXhpc3Rpbmc6IEFYU2lkZU1lbnVDb21wb25lbnQgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhTaWRlTWVudUNvbXBvbmVudCBleHRlbmRzIE5YQ29tcG9uZW50IGltcGxlbWVudHMgQVhTaWRlTWVudUJhc2Uge1xuICBpdGVtcyA9IG1vZGVsPEFYU2lkZU1lbnVJdGVtW10+KCk7XG4gIHJlYWRvbmx5IGxvb2sgPSBpbnB1dDxBWFNpZGVNZW51TG9vaz4oJ3BpbGxzJyk7XG4gIHJlYWRvbmx5IGxvY2F0aW9uID0gaW5wdXQ8QVhTaWRlTWVudUxvY2F0aW9uPignc3RhcnQnKTtcbiAgcmVhZG9ubHkgbW9kZSA9IGlucHV0PCdmdWxsJyB8ICdjb21wYWN0Jz4oJ2Z1bGwnKTtcbiAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgLyoqXG4gICAqIEFsbCBgYXgtc2lkZS1tZW51LWl0ZW1gIGluc3RhbmNlcyBkaXNjb3ZlcmVkIGJ5IHdhbGtpbmcgdGhlIGhvc3QgRE9NLlxuICAgKlxuICAgKiBXZSB1c2UgRE9NIGRpc2NvdmVyeSAoaW5zdGVhZCBvZiBgY29udGVudENoaWxkcmVuYCkgYmVjYXVzZSBBbmd1bGFyIGNvbnRlbnRcbiAgICogcXVlcmllcyBkbyAqKm5vdCoqIHRyYXZlcnNlIGVtYmVkZGVkIHZpZXdzIGNyZWF0ZWQgYnkgYG5nVGVtcGxhdGVPdXRsZXRgLFxuICAgKiBhbmQgdGhlIGBBWFNpZGVNZW51QmFzZWAgREkgdG9rZW4gaXMgbm90IHJlYWNoYWJsZSBmcm9tIGluc2lkZSB0aG9zZSB2aWV3c1xuICAgKiBlaXRoZXIgKHRoZXkgaW5oZXJpdCBpbmplY3Rpb24gZnJvbSB0aGUgdGVtcGxhdGUncyBkZWNsYXJhdGlvbiBzaXRlLCBub3RcbiAgICogdGhlIGluc2VydGlvbiBzaXRlKS4gV2Fsa2luZyB0aGUgRE9NIHdvcmtzIGZvciBkaXJlY3QgcHJvamVjdGlvbixcbiAgICogc3RydWN0dXJhbCBkaXJlY3RpdmVzLCBhbmQgcmVjdXJzaXZlIGBuZ1RlbXBsYXRlT3V0bGV0YC1iYXNlZCB0ZW1wbGF0ZXNcbiAgICogdW5pZm9ybWx5LlxuICAgKi9cbiAgcHJpdmF0ZSBfaXRlbXMgPSBzaWduYWw8QVhTaWRlTWVudUl0ZW1Db21wb25lbnRbXT4oW10pO1xuICAvKiogUmVhZC1vbmx5IHNpZ25hbCBleHBvc2luZyBldmVyeSBkaXNjb3ZlcmVkIGBheC1zaWRlLW1lbnUtaXRlbWAgaW5zdGFuY2UuICovXG4gIHJlYWRvbmx5IGNoaWxkcmVuID0gdGhpcy5faXRlbXMuYXNSZWFkb25seSgpO1xuICBwcml2YXRlIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICBwcml2YXRlIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIGhvc3RFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgI2luaXQgPSBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuO1xuICAgIHRoaXMucmVmcmVzaEl0ZW1zRnJvbURvbSgpO1xuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4gdGhpcy5yZWZyZXNoSXRlbXNGcm9tRG9tKCkpO1xuICAgIG9ic2VydmVyLm9ic2VydmUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHsgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH0pO1xuICAgIHRoaXMuZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4gb2JzZXJ2ZXIuZGlzY29ubmVjdCgpKTtcbiAgfSk7XG5cbiAgI3N5bmNUb29sdGlwcyA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaXNDb21wYWN0ID0gdGhpcy5tb2RlKCkgPT09ICdjb21wYWN0JztcbiAgICB0aGlzLl9pdGVtcygpLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IGlzRmlyc3RMZXZlbCA9ICFpdGVtLmdldEhvc3RFbGVtZW50KCkucGFyZW50RWxlbWVudD8uY2xvc2VzdCgnLmF4LXNpZGUtY2hpbGRyZW4tY29udGVudCcpO1xuICAgICAgaXRlbS50b29sdGlwU3RhdHVzLnNldChpc0NvbXBhY3QgJiYgaXNGaXJzdExldmVsKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgLyoqIFB1c2ggZnVsbC9jb21wYWN0IG1vZGUgdG8gZXZlcnkgbWVudSBpdGVtIHdoZW5ldmVyIG1vZGUgY2hhbmdlcy4gKi9cbiAgI3N5bmNJdGVtTW9kZSA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgbW9kZSA9IHRoaXMubW9kZSgpO1xuICAgIHRoaXMuX2l0ZW1zKCkuZm9yRWFjaCgoaXRlbSkgPT4gaXRlbS5zeW5jTWVudU1vZGUobW9kZSkpO1xuICB9KTtcblxuICAvKipcbiAgICogV2Fsa3MgdGhlIGhvc3QgRE9NIHRvIGRpc2NvdmVyIGV2ZXJ5IG5lc3RlZCBgYXgtc2lkZS1tZW51LWl0ZW1gLCBsb29rcyB1cFxuICAgKiB0aGUgY29tcG9uZW50IGluc3RhbmNlIHRocm91Z2ggdGhlIGBfX2F4Q29udGV4dF9fYCBwcm9wZXJ0eSB0aGF0XG4gICAqIGBNWEJhc2VDb21wb25lbnQubmdPbkluaXRgIGF0dGFjaGVzIHRvIGVhY2ggaG9zdCBlbGVtZW50LCBhbmQgdXBkYXRlcyB0aGVcbiAgICogaW50ZXJuYWwgaXRlbXMgc2lnbmFsIGFuZCBgLmZpcnN0LWxldmVsYCBDU1MgY2xhc3MgYWNjb3JkaW5nbHkuXG4gICAqXG4gICAqIFRyaWdnZXJlZCBib3RoIGluaXRpYWxseSBhbmQgZnJvbSBhIGBNdXRhdGlvbk9ic2VydmVyYCBzbyByZWN1cnNpdmVcbiAgICogdGVtcGxhdGVzIHRoYXQgYWRkL3JlbW92ZSBpdGVtcyBhdCBydW50aW1lIHN0YXkgaW4gc3luYy5cbiAgICovXG4gIHByaXZhdGUgcmVmcmVzaEl0ZW1zRnJvbURvbSgpIHtcbiAgICBjb25zdCBob3N0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgZWxlbWVudHMgPSBob3N0LnF1ZXJ5U2VsZWN0b3JBbGwoJ2F4LXNpZGUtbWVudS1pdGVtJyk7XG4gICAgY29uc3QgaXRlbXM6IEFYU2lkZU1lbnVJdGVtQ29tcG9uZW50W10gPSBbXTtcbiAgICBlbGVtZW50cy5mb3JFYWNoKChlbCkgPT4ge1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSAoZWwgYXMgdW5rbm93biBhcyB7IF9fYXhDb250ZXh0X18/OiB1bmtub3duIH0pLl9fYXhDb250ZXh0X187XG4gICAgICBpZiAoaW5zdGFuY2UgaW5zdGFuY2VvZiBBWFNpZGVNZW51SXRlbUNvbXBvbmVudCkge1xuICAgICAgICBpdGVtcy5wdXNoKGluc3RhbmNlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLl9pdGVtcygpO1xuICAgIGNvbnN0IGNoYW5nZWQgPSBjdXJyZW50Lmxlbmd0aCAhPT0gaXRlbXMubGVuZ3RoIHx8IGN1cnJlbnQuc29tZSgoaXQsIGkpID0+IGl0ICE9PSBpdGVtc1tpXSk7XG4gICAgaWYgKGNoYW5nZWQpIHtcbiAgICAgIHRoaXMuX2l0ZW1zLnNldChpdGVtcyk7XG4gICAgfVxuXG4gICAgdGhpcy5hZGRGaXJzdExldmVsQ2xhc3MoKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRmlyc3RMZXZlbENsYXNzKCkge1xuICAgIGNvbnN0IGFsbENoaWxkcmVuID0gdGhpcy5faXRlbXMoKTtcbiAgICBhbGxDaGlsZHJlbi5mb3JFYWNoKChpdGVtKSA9PlxuICAgICAgaXRlbS5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5heC1zaWRlLWl0ZW0nKT8uY2xhc3NMaXN0LnJlbW92ZSgnZmlyc3QtbGV2ZWwnKSxcbiAgICApO1xuXG4gICAgYWxsQ2hpbGRyZW5cbiAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IHtcbiAgICAgICAgY29uc3QgaXRlbUVsZW1lbnQgPSBpdGVtLmdldEhvc3RFbGVtZW50KCk7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RFbGVtZW50LmNvbnRhaW5zKGl0ZW1FbGVtZW50KSAmJiAhaXRlbUVsZW1lbnQucGFyZW50RWxlbWVudD8uY2xvc2VzdCgnLmF4LXNpZGUtY2hpbGRyZW4tY29udGVudCcpO1xuICAgICAgfSlcbiAgICAgIC5mb3JFYWNoKChpdGVtKSA9PiBpdGVtLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcignLmF4LXNpZGUtaXRlbScpPy5jbGFzc0xpc3QuYWRkKCdmaXJzdC1sZXZlbCcpKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwcml2YXRlIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFtgYXgtbG9vay0ke3RoaXMubG9vaygpfWAsIGBheC1sb2NhdGlvbi0ke3RoaXMubG9jYXRpb24oKX1gLCBgYXgtbW9kZS0ke3RoaXMubW9kZSgpfWBdO1xuICB9XG59XG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJheC1zaWRlLW1lbnUtaXRlbSxheC10aXRsZSxuZy1jb250YWluZXIsW25nVGVtcGxhdGVPdXRsZXRdXCI+PC9uZy1jb250ZW50PlxuXG5AZm9yIChub2RlIG9mIGl0ZW1zKCk7IHRyYWNrIG5vZGUpIHtcbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJSZWN1cnNpb25cIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IG5vZGUgfVwiPiA8L25nLWNvbnRhaW5lcj5cbn1cbjxuZy10ZW1wbGF0ZSAjUmVjdXJzaW9uIGxldC1pdGVtPlxuICBAaWYgKGl0ZW0udGl0bGUpIHtcbiAgICA8YXgtdGl0bGU+e3sgaXRlbS50aXRsZSB9fTwvYXgtdGl0bGU+XG4gIH1cbiAgQGlmIChpdGVtLnJvdXRlckxpbmspIHtcbiAgICA8YXgtc2lkZS1tZW51LWl0ZW1cbiAgICAgIFt0ZXh0XT1cIml0ZW0udGV4dFwiXG4gICAgICBbdGFyZ2V0XT1cIml0ZW0udGFyZ2V0XCJcbiAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgIFtpc0xvYWRpbmddPVwiaXRlbS5pc0xvYWRpbmdcIlxuICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS5yb3V0ZXJMaW5rXCJcbiAgICAgIFtpc0NvbGxhcHNlZF09XCJpdGVtLmlzQ29sbGFwc2VkXCJcbiAgICAgIFt0b2dnbGVPbkNsaWNrXT1cIml0ZW0udG9nZ2xlT25DbGlja1wiXG4gICAgICBbcm91dGVyTGlua0FjdGl2ZV09XCJpdGVtLnJvdXRlckxpbmtBY3RpdmVcIlxuICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cIml0ZW0ucm91dGVyTGlua0FjdGl2ZU9wdGlvbnNcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic2lkZU1lbnVJdGVtQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvYXgtc2lkZS1tZW51LWl0ZW0+XG4gIH0gQGVsc2UgaWYgKGl0ZW0uaHJlZikge1xuICAgIDxheC1zaWRlLW1lbnUtaXRlbVxuICAgICAgW3RleHRdPVwiaXRlbS50ZXh0XCJcbiAgICAgIFtocmVmXT1cIml0ZW0uaHJlZlwiXG4gICAgICBbdGFyZ2V0XT1cIml0ZW0udGFyZ2V0XCJcbiAgICAgIFthY3RpdmVdPVwiaXRlbS5hY3RpdmVcIlxuICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgW2lzTG9hZGluZ109XCJpdGVtLmlzTG9hZGluZ1wiXG4gICAgICBbaXNDb2xsYXBzZWRdPVwiaXRlbS5pc0NvbGxhcHNlZFwiXG4gICAgICBbdG9nZ2xlT25DbGlja109XCJpdGVtLnRvZ2dsZU9uQ2xpY2tcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic2lkZU1lbnVJdGVtQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvYXgtc2lkZS1tZW51LWl0ZW0+XG4gIH0gQGVsc2Uge1xuICAgIDxheC1zaWRlLW1lbnUtaXRlbVxuICAgICAgW3RleHRdPVwiaXRlbS50ZXh0XCJcbiAgICAgIFthY3RpdmVdPVwiaXRlbS5hY3RpdmVcIlxuICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgW2lzTG9hZGluZ109XCJpdGVtLmlzTG9hZGluZ1wiXG4gICAgICBbaXNDb2xsYXBzZWRdPVwiaXRlbS5pc0NvbGxhcHNlZFwiXG4gICAgICBbdG9nZ2xlT25DbGlja109XCJpdGVtLnRvZ2dsZU9uQ2xpY2tcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic2lkZU1lbnVJdGVtQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvYXgtc2lkZS1tZW51LWl0ZW0+XG4gIH1cblxuICA8bmctdGVtcGxhdGUgI3NpZGVNZW51SXRlbUNvbnRlbnQ+XG4gICAgPGF4LXByZWZpeD5cbiAgICAgIEBpZiAoaXRlbS5pY29uKSB7XG4gICAgICAgIDxheC1pY29uIFtpY29uXT1cIml0ZW0uaWNvblwiPiA8L2F4LWljb24+XG4gICAgICB9XG4gICAgPC9heC1wcmVmaXg+XG4gICAgQGlmIChpdGVtLmRhdGEpIHtcbiAgICAgIDxheC10ZXh0Pnt7IGl0ZW0uZGF0YSB9fTwvYXgtdGV4dD5cbiAgICB9XG4gICAgQGlmIChpdGVtLnN1ZmZpeFRleHQpIHtcbiAgICAgIDxheC1zdWZmaXg+XG4gICAgICAgIDxheC10ZXh0Pnt7IGl0ZW0uc3VmZml4VGV4dCB9fTwvYXgtdGV4dD5cbiAgICAgIDwvYXgtc3VmZml4PlxuICAgIH1cbiAgICBAZm9yIChjaGlsZCBvZiBpdGVtLml0ZW1zOyB0cmFjayBjaGlsZCkge1xuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJSZWN1cnNpb25cIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNoaWxkIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICB9XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuIl19","import { AXOutlineContainerDirective } from '@acorex/cdk/outline';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { afterNextRender, Directive, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { isEqual } from 'lodash-es';\nimport { distinctUntilChanged, map } from 'rxjs';\nimport { AXSideMenuComponent } from './side-menu.component';\nimport * as i0 from \"@angular/core\";\nexport class AXOutlineSideMenuDirective {\n constructor() {\n this.router = inject(Router);\n this.unsubscriber = inject(AXUnsubscriber);\n this.sideMenu = inject(AXSideMenuComponent);\n this.container = inject(AXOutlineContainerDirective);\n this.#anr = afterNextRender(() => {\n this.container.outlineItems$\n .pipe(this.unsubscriber.takeUntilDestroy, map((items) => {\n if (!items || items.length === 0)\n return [];\n return this.buildNestedMenuItems(items);\n }), distinctUntilChanged(isEqual))\n .subscribe((menuItems) => {\n this.updateSideMenu(menuItems);\n });\n });\n }\n #anr;\n updateSideMenu(newMenuItems) {\n const currentMenuItems = this.sideMenu.items();\n const newSignature = this.getStructuralSignature(newMenuItems);\n const currentSignature = this.getStructuralSignature(currentMenuItems || []);\n if (newSignature !== currentSignature) {\n this.sideMenu.items.set(newMenuItems);\n return;\n }\n const currentComponents = this.sideMenu.children();\n const newActiveItem = this.flattenMenuItems(newMenuItems).find((item) => item.active);\n const currentActiveComponent = currentComponents.find((c) => c.active());\n if (newActiveItem?.href === currentActiveComponent?.href()) {\n return;\n }\n currentActiveComponent?.active.set(false);\n if (newActiveItem) {\n const componentToActivate = currentComponents.find((c) => c.href() === newActiveItem.href);\n componentToActivate?.active.set(true);\n }\n }\n /**\n * Creates a string signature that represents the tree structure of the menu.\n * Example: \"href1(href1.1,href1.2),href2,href3\"\n * This will be different for a flat list vs. a nested list.\n */\n getStructuralSignature(items) {\n return items\n .map((item) => {\n let signature = item.href || '';\n if (item.items && item.items.length > 0) {\n signature += `(${this.getStructuralSignature(item.items)})`;\n }\n return signature;\n })\n .join(',');\n }\n flattenMenuItems(items) {\n return items.reduce((acc, item) => {\n acc.push(item);\n if (item.items) {\n acc.push(...this.flattenMenuItems(item.items));\n }\n return acc;\n }, []);\n }\n textReplace(item) {\n const text = item.el.textContent;\n if (item.hasAnchor) {\n const newStr = text?.slice(0, -1);\n return newStr?.trim() || '';\n }\n return text?.trim() || '';\n }\n buildNestedMenuItems(items) {\n const menuItemsMap = new Map();\n const rootItems = [];\n items.forEach((item) => {\n const menuItem = {\n items: [],\n target: '_self',\n active: item.active,\n toggleOnClick: false,\n text: this.textReplace(item),\n href: `${this.router.url.split('#')[0]}#${item.id}`,\n };\n menuItemsMap.set(item.id, menuItem);\n });\n items.forEach((item) => {\n const menuItem = menuItemsMap.get(item.id);\n if (!menuItem)\n return;\n if (item.parentId) {\n const parentMenuItem = menuItemsMap.get(item.parentId);\n if (parentMenuItem) {\n parentMenuItem.items?.push(menuItem);\n }\n else {\n console.warn(`Outline item with id \"${item.id}\" has a parentId \"${item.parentId}\" that does not exist.`);\n rootItems.push(menuItem);\n }\n }\n else {\n rootItems.push(menuItem);\n }\n });\n return rootItems;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXOutlineSideMenuDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.3\", type: AXOutlineSideMenuDirective, isStandalone: true, selector: \"[axOutlineSideMenu]\", providers: [AXUnsubscriber], exportAs: [\"axOutlineSideMenu\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXOutlineSideMenuDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axOutlineSideMenu]',\n exportAs: 'axOutlineSideMenu',\n providers: [AXUnsubscriber],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1tZW51LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvc2lkZS1tZW51L3NyYy9saWIvc2lkZS1tZW51LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBa0IsTUFBTSx1QkFBdUIsQ0FBQzs7QUFPNUUsTUFBTSxPQUFPLDBCQUEwQjtJQUx2QztRQU1VLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsaUJBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3ZDLGNBQVMsR0FBRyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUV4RCxTQUFJLEdBQUcsZUFBZSxDQUFDLEdBQUcsRUFBRTtZQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWE7aUJBQ3pCLElBQUksQ0FDSCxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUNsQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDWixJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUss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Q3RDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3JCLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNDLElBQUksQ0FBQyxRQUFRO2dCQUFFLE9BQU87WUFDdEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2xCLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN2RCxJQUFJLGNBQWMsRUFBRSxDQUFDO29CQUNuQixjQUFjLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDdkMsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sQ0FBQyxJQUFJLENBQUMseUJBQXlCLElBQUksQ0FBQyxFQUFFLHFCQUFxQixJQUFJLENBQUMsUUFBUSx3QkFBd0IsQ0FBQyxDQUFDO29CQUN6RyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUMzQixDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0IsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzs4R0E5R1UsMEJBQTBCO2tHQUExQiwwQkFBMEIsa0VBRjFCLENBQUMsY0FBYyxDQUFDOzsyRkFFaEIsMEJBQTBCO2tCQUx0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWE91dGxpbmVDb250YWluZXJEaXJlY3RpdmUsIG91dGxpbmVJdGVtVHlwZSB9IGZyb20gJ0BhY29yZXgvY2RrL291dGxpbmUnO1xuaW1wb3J0IHsgQVhVbnN1YnNjcmliZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgYWZ0ZXJOZXh0UmVuZGVyLCBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhTaWRlTWVudUNvbXBvbmVudCwgQVhTaWRlTWVudUl0ZW0gfSBmcm9tICcuL3NpZGUtbWVudS5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXhPdXRsaW5lU2lkZU1lbnVdJyxcbiAgZXhwb3J0QXM6ICdheE91dGxpbmVTaWRlTWVudScsXG4gIHByb3ZpZGVyczogW0FYVW5zdWJzY3JpYmVyXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhPdXRsaW5lU2lkZU1lbnVEaXJlY3RpdmUge1xuICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIHVuc3Vic2NyaWJlciA9IGluamVjdChBWFVuc3Vic2NyaWJlcik7XG4gIHByaXZhdGUgc2lkZU1lbnUgPSBpbmplY3QoQVhTaWRlTWVudUNvbXBvbmVudCk7XG4gIHByaXZhdGUgY29udGFpbmVyID0gaW5qZWN0KEFYT3V0bGluZUNvbnRhaW5lckRpcmVjdGl2ZSk7XG5cbiAgI2FuciA9IGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgdGhpcy5jb250YWluZXIub3V0bGluZUl0ZW1zJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3ksXG4gICAgICAgIG1hcCgoaXRlbXMpID0+IHtcbiAgICAgICAgICBpZiAoIWl0ZW1zIHx8IGl0ZW1zLmxlbmd0aCA9PT0gMCkgcmV0dXJuIFtdO1xuICAgICAgICAgIHJldHVybiB0aGlzLmJ1aWxkTmVzdGVkTWVudUl0ZW1zKGl0ZW1zKTtcbiAgICAgICAgfSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKGlzRXF1YWwpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgobWVudUl0ZW1zKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlU2lkZU1lbnUobWVudUl0ZW1zKTtcbiAgICAgIH0pO1xuICB9KTtcblxuICBwcml2YXRlIHVwZGF0ZVNpZGVNZW51KG5ld01lbnVJdGVtczogQVhTaWRlTWVudUl0ZW1bXSk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRNZW51SXRlbXMgPSB0aGlzLnNpZGVNZW51Lml0ZW1zKCk7XG4gICAgY29uc3QgbmV3U2lnbmF0dXJlID0gdGhpcy5nZXRTdHJ1Y3R1cmFsU2lnbmF0dXJlKG5ld01lbnVJdGVtcyk7XG4gICAgY29uc3QgY3VycmVudFNpZ25hdHVyZSA9IHRoaXMuZ2V0U3RydWN0dXJhbFNpZ25hdHVyZShjdXJyZW50TWVudUl0ZW1zIHx8IFtdKTtcblxuICAgIGlmIChuZXdTaWduYXR1cmUgIT09IGN1cnJlbnRTaWduYXR1cmUpIHtcbiAgICAgIHRoaXMuc2lkZU1lbnUuaXRlbXMuc2V0KG5ld01lbnVJdGVtcyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudENvbXBvbmVudHMgPSB0aGlzLnNpZGVNZW51LmNoaWxkcmVuKCk7XG4gICAgY29uc3QgbmV3QWN0aXZlSXRlbSA9IHRoaXMuZmxhdHRlbk1lbnVJdGVtcyhuZXdNZW51SXRlbXMpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uYWN0aXZlKTtcbiAgICBjb25zdCBjdXJyZW50QWN0aXZlQ29tcG9uZW50ID0gY3VycmVudENvbXBvbmVudHMuZmluZCgoYykgPT4gYy5hY3RpdmUoKSk7XG4gICAgaWYgKG5ld0FjdGl2ZUl0ZW0/LmhyZWYgPT09IGN1cnJlbnRBY3RpdmVDb21wb25lbnQ/LmhyZWYoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjdXJyZW50QWN0aXZlQ29tcG9uZW50Py5hY3RpdmUuc2V0KGZhbHNlKTtcbiAgICBpZiAobmV3QWN0aXZlSXRlbSkge1xuICAgICAgY29uc3QgY29tcG9uZW50VG9BY3RpdmF0ZSA9IGN1cnJlbnRDb21wb25lbnRzLmZpbmQoKGMpID0+IGMuaHJlZigpID09PSBuZXdBY3RpdmVJdGVtLmhyZWYpO1xuICAgICAgY29tcG9uZW50VG9BY3RpdmF0ZT8uYWN0aXZlLnNldCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHN0cmluZyBzaWduYXR1cmUgdGhhdCByZXByZXNlbnRzIHRoZSB0cmVlIHN0cnVjdHVyZSBvZiB0aGUgbWVudS5cbiAgICogRXhhbXBsZTogXCJocmVmMShocmVmMS4xLGhyZWYxLjIpLGhyZWYyLGhyZWYzXCJcbiAgICogVGhpcyB3aWxsIGJlIGRpZmZlcmVudCBmb3IgYSBmbGF0IGxpc3QgdnMuIGEgbmVzdGVkIGxpc3QuXG4gICAqL1xuICBwcml2YXRlIGdldFN0cnVjdHVyYWxTaWduYXR1cmUoaXRlbXM6IEFYU2lkZU1lbnVJdGVtW10pOiBzdHJpbmcge1xuICAgIHJldHVybiBpdGVtc1xuICAgICAgLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICBsZXQgc2lnbmF0dXJlID0gaXRlbS5ocmVmIHx8ICcnO1xuICAgICAgICBpZiAoaXRlbS5pdGVtcyAmJiBpdGVtLml0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBzaWduYXR1cmUgKz0gYCgke3RoaXMuZ2V0U3RydWN0dXJhbFNpZ25hdHVyZShpdGVtLml0ZW1zKX0pYDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2lnbmF0dXJlO1xuICAgICAgfSlcbiAgICAgIC5qb2luKCcsJyk7XG4gIH1cblxuICBwcml2YXRlIGZsYXR0ZW5NZW51SXRlbXMoaXRlbXM6IEFYU2lkZU1lbnVJdGVtW10pOiBBWFNpZGVNZW51SXRlbVtdIHtcbiAgICByZXR1cm4gaXRlbXMucmVkdWNlKChhY2MsIGl0ZW0pID0+IHtcbiAgICAgIGFjYy5wdXNoKGl0ZW0pO1xuICAgICAgaWYgKGl0ZW0uaXRlbXMpIHtcbiAgICAgICAgYWNjLnB1c2goLi4udGhpcy5mbGF0dGVuTWVudUl0ZW1zKGl0ZW0uaXRlbXMpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgW10gYXMgQVhTaWRlTWVudUl0ZW1bXSk7XG4gIH1cblxuICBwcml2YXRlIHRleHRSZXBsYWNlKGl0ZW06IG91dGxpbmVJdGVtVHlwZSk6IHN0cmluZyB7XG4gICAgY29uc3QgdGV4dCA9IGl0ZW0uZWwudGV4dENvbnRlbnQ7XG4gICAgaWYgKGl0ZW0uaGFzQW5jaG9yKSB7XG4gICAgICBjb25zdCBuZXdTdHIgPSB0ZXh0Py5zbGljZSgwLCAtMSk7XG4gICAgICByZXR1cm4gbmV3U3RyPy50cmltKCkgfHwgJyc7XG4gICAgfVxuICAgIHJldHVybiB0ZXh0Py50cmltKCkgfHwgJyc7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkTmVzdGVkTWVudUl0ZW1zKGl0ZW1zOiBvdXRsaW5lSXRlbVR5cGVbXSk6IEFYU2lkZU1lbnVJdGVtW10ge1xuICAgIGNvbnN0IG1lbnVJdGVtc01hcCA9IG5ldyBNYXA8c3RyaW5nLCBBWFNpZGVNZW51SXRlbT4oKTtcbiAgICBjb25zdCByb290SXRlbXM6IEFYU2lkZU1lbnVJdGVtW10gPSBbXTtcbiAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBjb25zdCBtZW51SXRlbTogQVhTaWRlTWVudUl0ZW0gPSB7XG4gICAgICAgIGl0ZW1zOiBbXSxcbiAgICAgICAgdGFyZ2V0OiAnX3NlbGYnLFxuICAgICAgICBhY3RpdmU6IGl0ZW0uYWN0aXZlLFxuICAgICAgICB0b2dnbGVPbkNsaWNrOiBmYWxzZSxcbiAgICAgICAgdGV4dDogdGhpcy50ZXh0UmVwbGFjZShpdGVtKSxcbiAgICAgICAgaHJlZjogYCR7dGhpcy5yb3V0ZXIudXJsLnNwbGl0KCcjJylbMF19IyR7aXRlbS5pZH1gLFxuICAgICAgfTtcbiAgICAgIG1lbnVJdGVtc01hcC5zZXQoaXRlbS5pZCwgbWVudUl0ZW0pO1xuICAgIH0pO1xuICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IG1lbnVJdGVtID0gbWVudUl0ZW1zTWFwLmdldChpdGVtLmlkKTtcbiAgICAgIGlmICghbWVudUl0ZW0pIHJldHVybjtcbiAgICAgIGlmIChpdGVtLnBhcmVudElkKSB7XG4gICAgICAgIGNvbnN0IHBhcmVudE1lbnVJdGVtID0gbWVudUl0ZW1zTWFwLmdldChpdGVtLnBhcmVudElkKTtcbiAgICAgICAgaWYgKHBhcmVudE1lbnVJdGVtKSB7XG4gICAgICAgICAgcGFyZW50TWVudUl0ZW0uaXRlbXM/LnB1c2gobWVudUl0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUud2FybihgT3V0bGluZSBpdGVtIHdpdGggaWQgXCIke2l0ZW0uaWR9XCIgaGFzIGEgcGFyZW50SWQgXCIke2l0ZW0ucGFyZW50SWR9XCIgdGhhdCBkb2VzIG5vdCBleGlzdC5gKTtcbiAgICAgICAgICByb290SXRlbXMucHVzaChtZW51SXRlbSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJvb3RJdGVtcy5wdXNoKG1lbnVJdGVtKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcm9vdEl0ZW1zO1xuICB9XG59XG4iXX0=","import { AXCommonModule, AXRippleDirective } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { AXSideMenuItemComponent } from './side-menu-item/side-menu-item.component';\nimport { AXSideMenuComponent } from './side-menu.component';\nimport { AXOutlineSideMenuDirective } from './side-menu.directive';\nimport * as i0 from \"@angular/core\";\nconst COMPONENT = [AXSideMenuComponent, AXSideMenuItemComponent, AXOutlineSideMenuDirective];\nconst MODULES = [\n CommonModule,\n AXCommonModule,\n AXRippleDirective,\n AXLoadingModule,\n AXTranslationModule,\n RouterLink,\n RouterLinkActive,\n AXDecoratorModule,\n];\nexport class AXSideMenuModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSideMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSideMenuModule, imports: [CommonModule,\n AXCommonModule,\n AXRippleDirective,\n AXLoadingModule,\n AXTranslationModule,\n RouterLink,\n RouterLinkActive,\n AXDecoratorModule, AXSideMenuComponent, AXSideMenuItemComponent, AXOutlineSideMenuDirective], exports: [AXSideMenuComponent, AXSideMenuItemComponent, AXOutlineSideMenuDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSideMenuModule, imports: [CommonModule,\n AXCommonModule,\n AXLoadingModule,\n AXTranslationModule,\n AXDecoratorModule, AXSideMenuComponent, AXSideMenuItemComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSideMenuModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1tZW51Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvc2lkZS1tZW51L3NyYy9saWIvc2lkZS1tZW51Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNwRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFbkUsTUFBTSxTQUFTLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO0FBQzdGLE1BQU0sT0FBTyxHQUFHO0lBQ2QsWUFBWTtJQUNaLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixVQUFVO0lBQ1YsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtDQUNsQixDQUFDO0FBT0YsTUFBTSxPQUFPLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsWUFmM0IsWUFBWTtZQUNaLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixVQUFVO1lBQ1YsZ0JBQWdCO1lBQ2hCLGlCQUFpQixFQVRBLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLDBCQUEwQixhQUF4RSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEI7K0dBaUI5RSxnQkFBZ0IsWUFmM0IsWUFBWTtZQUNaLGNBQWM7WUFFZCxlQUFlO1lBQ2YsbUJBQW1CO1lBR25CLGlCQUFpQixFQVRBLG1CQUFtQixFQUFFLHVCQUF1Qjs7MkZBaUJsRCxnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLEVBQUUsR0FBRyxTQUFTLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUN2QixTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29tbW9uTW9kdWxlLCBBWFJpcHBsZURpcmVjdGl2ZSB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYTG9hZGluZ01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rLCBSb3V0ZXJMaW5rQWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFYU2lkZU1lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9zaWRlLW1lbnUtaXRlbS9zaWRlLW1lbnUtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhTaWRlTWVudUNvbXBvbmVudCB9IGZyb20gJy4vc2lkZS1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWE91dGxpbmVTaWRlTWVudURpcmVjdGl2ZSB9IGZyb20gJy4vc2lkZS1tZW51LmRpcmVjdGl2ZSc7XG5cbmNvbnN0IENPTVBPTkVOVCA9IFtBWFNpZGVNZW51Q29tcG9uZW50LCBBWFNpZGVNZW51SXRlbUNvbXBvbmVudCwgQVhPdXRsaW5lU2lkZU1lbnVEaXJlY3RpdmVdO1xuY29uc3QgTU9EVUxFUyA9IFtcbiAgQ29tbW9uTW9kdWxlLFxuICBBWENvbW1vbk1vZHVsZSxcbiAgQVhSaXBwbGVEaXJlY3RpdmUsXG4gIEFYTG9hZGluZ01vZHVsZSxcbiAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgUm91dGVyTGluayxcbiAgUm91dGVyTGlua0FjdGl2ZSxcbiAgQVhEZWNvcmF0b3JNb2R1bGUsXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbLi4uTU9EVUxFUywgLi4uQ09NUE9ORU5UXSxcbiAgZXhwb3J0czogWy4uLkNPTVBPTkVOVF0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYU2lkZU1lbnVNb2R1bGUge31cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtc2lkZS1tZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9zaWRlLW1lbnUvc3JjL2Fjb3JleC1jb21wb25lbnRzLXNpZGUtbWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "20.7.19",
3
+ "version": "20.7.20",
4
4
  "peerDependencies": {
5
- "@acorex/core": "20.7.19",
6
- "@acorex/cdk": "20.7.19",
5
+ "@acorex/core": "20.7.20",
6
+ "@acorex/cdk": "20.7.20",
7
7
  "polytype": ">=0.17.0",
8
8
  "angular-imask": ">=7.6.1",
9
9
  "gridstack": ">=12.0.0",
@@ -56,10 +56,6 @@
56
56
  "types": "./index.d.ts",
57
57
  "default": "./fesm2022/acorex-components.mjs"
58
58
  },
59
- "./accordion": {
60
- "types": "./accordion/index.d.ts",
61
- "default": "./fesm2022/acorex-components-accordion.mjs"
62
- },
63
59
  "./action-sheet": {
64
60
  "types": "./action-sheet/index.d.ts",
65
61
  "default": "./fesm2022/acorex-components-action-sheet.mjs"
@@ -68,6 +64,10 @@
68
64
  "types": "./alert/index.d.ts",
69
65
  "default": "./fesm2022/acorex-components-alert.mjs"
70
66
  },
67
+ "./accordion": {
68
+ "types": "./accordion/index.d.ts",
69
+ "default": "./fesm2022/acorex-components-accordion.mjs"
70
+ },
71
71
  "./aspect-ratio": {
72
72
  "types": "./aspect-ratio/index.d.ts",
73
73
  "default": "./fesm2022/acorex-components-aspect-ratio.mjs"
@@ -184,10 +184,6 @@
184
184
  "types": "./decorators/index.d.ts",
185
185
  "default": "./fesm2022/acorex-components-decorators.mjs"
186
186
  },
187
- "./dialog": {
188
- "types": "./dialog/index.d.ts",
189
- "default": "./fesm2022/acorex-components-dialog.mjs"
190
- },
191
187
  "./drawer": {
192
188
  "types": "./drawer/index.d.ts",
193
189
  "default": "./fesm2022/acorex-components-drawer.mjs"
@@ -200,6 +196,10 @@
200
196
  "types": "./dropdown/index.d.ts",
201
197
  "default": "./fesm2022/acorex-components-dropdown.mjs"
202
198
  },
199
+ "./dialog": {
200
+ "types": "./dialog/index.d.ts",
201
+ "default": "./fesm2022/acorex-components-dialog.mjs"
202
+ },
203
203
  "./dropdown-button": {
204
204
  "types": "./dropdown-button/index.d.ts",
205
205
  "default": "./fesm2022/acorex-components-dropdown-button.mjs"
@@ -220,14 +220,14 @@
220
220
  "types": "./flow-chart/index.d.ts",
221
221
  "default": "./fesm2022/acorex-components-flow-chart.mjs"
222
222
  },
223
- "./form": {
224
- "types": "./form/index.d.ts",
225
- "default": "./fesm2022/acorex-components-form.mjs"
226
- },
227
223
  "./grid-layout-builder": {
228
224
  "types": "./grid-layout-builder/index.d.ts",
229
225
  "default": "./fesm2022/acorex-components-grid-layout-builder.mjs"
230
226
  },
227
+ "./form": {
228
+ "types": "./form/index.d.ts",
229
+ "default": "./fesm2022/acorex-components-form.mjs"
230
+ },
231
231
  "./image": {
232
232
  "types": "./image/index.d.ts",
233
233
  "default": "./fesm2022/acorex-components-image.mjs"
@@ -440,6 +440,10 @@
440
440
  "types": "./tag-box/index.d.ts",
441
441
  "default": "./fesm2022/acorex-components-tag-box.mjs"
442
442
  },
443
+ "./text-area": {
444
+ "types": "./text-area/index.d.ts",
445
+ "default": "./fesm2022/acorex-components-text-area.mjs"
446
+ },
443
447
  "./text-box": {
444
448
  "types": "./text-box/index.d.ts",
445
449
  "default": "./fesm2022/acorex-components-text-box.mjs"
@@ -448,18 +452,22 @@
448
452
  "types": "./time-duration/index.d.ts",
449
453
  "default": "./fesm2022/acorex-components-time-duration.mjs"
450
454
  },
451
- "./text-area": {
452
- "types": "./text-area/index.d.ts",
453
- "default": "./fesm2022/acorex-components-text-area.mjs"
454
- },
455
455
  "./time-line": {
456
456
  "types": "./time-line/index.d.ts",
457
457
  "default": "./fesm2022/acorex-components-time-line.mjs"
458
458
  },
459
+ "./toast": {
460
+ "types": "./toast/index.d.ts",
461
+ "default": "./fesm2022/acorex-components-toast.mjs"
462
+ },
459
463
  "./toolbar": {
460
464
  "types": "./toolbar/index.d.ts",
461
465
  "default": "./fesm2022/acorex-components-toolbar.mjs"
462
466
  },
467
+ "./tooltip": {
468
+ "types": "./tooltip/index.d.ts",
469
+ "default": "./fesm2022/acorex-components-tooltip.mjs"
470
+ },
463
471
  "./tree-view": {
464
472
  "types": "./tree-view/index.d.ts",
465
473
  "default": "./fesm2022/acorex-components-tree-view.mjs"
@@ -468,13 +476,9 @@
468
476
  "types": "./tree-view-legacy/index.d.ts",
469
477
  "default": "./fesm2022/acorex-components-tree-view-legacy.mjs"
470
478
  },
471
- "./tooltip": {
472
- "types": "./tooltip/index.d.ts",
473
- "default": "./fesm2022/acorex-components-tooltip.mjs"
474
- },
475
- "./toast": {
476
- "types": "./toast/index.d.ts",
477
- "default": "./fesm2022/acorex-components-toast.mjs"
479
+ "./uploader": {
480
+ "types": "./uploader/index.d.ts",
481
+ "default": "./fesm2022/acorex-components-uploader.mjs"
478
482
  },
479
483
  "./video-player": {
480
484
  "types": "./video-player/index.d.ts",
@@ -483,10 +487,6 @@
483
487
  "./wysiwyg": {
484
488
  "types": "./wysiwyg/index.d.ts",
485
489
  "default": "./fesm2022/acorex-components-wysiwyg.mjs"
486
- },
487
- "./uploader": {
488
- "types": "./uploader/index.d.ts",
489
- "default": "./fesm2022/acorex-components-uploader.mjs"
490
490
  }
491
491
  }
492
492
  }