{"__symbolic":"module","version":4,"metadata":{"SidebarMenuComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"asm-angular-sidebar-menu","providers":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"}],"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":14,"character":19},"member":"OnPush"},"template":" <div class=\"asm-menu\" [ngClass]=\"'asm-menu--mode-' + mode\" [@.disabled]=\"disableAnimations\">\n    <ng-content></ng-content>\n    <ul class=\"asm-menu__node\">\n      <ng-container *ngFor=\"let item of menu; trackBy: trackByItem\">\n        <li\n          asm-menu-item\n          class=\"asm-menu-item asm-menu-item--root\"\n          *ngIf=\"roleService.showItem$(item.roles) | async\"\n          [menuItem]=\"item\"\n          [level]=\"0\"\n        ></li>\n      </ng-container>\n    </ul>\n  </div>","styles":[":host{display:block;overflow:hidden}:host:hover{overflow:visible}:host ::ng-deep .asm-menu-item,:host ::ng-deep ul{margin:0;padding:0}:host ::ng-deep li{line-height:0}:host ::ng-deep .asm-menu-anchor__label,:host ::ng-deep .asm-menu-item__header,:host ::ng-deep .asm-menu-node__label{white-space:nowrap}:host ::ng-deep .asm-menu-node__label{display:none}:host ::ng-deep .asm-menu-node:not(.asm-menu-node--open)>.ng-trigger-openClose,:host ::ng-deep .asm-menu-node>.ng-trigger-openClose.ng-animating{overflow:hidden}:host ::ng-deep .asm-menu-item--filtered{display:none}:host ::ng-deep .asm-menu,:host ::ng-deep .asm-menu-node ul{list-style:none}:host ::ng-deep .asm-menu-anchor a{-webkit-user-select:none;align-items:center;cursor:pointer;display:flex;position:relative;text-decoration:none;user-select:none}:host ::ng-deep .asm-menu-item__header{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .asm-menu-node .asm-menu-item__header{margin-left:-6px}:host ::ng-deep .asm-menu-anchor__icon{width:20px}:host ::ng-deep .asm-menu-anchor__pull.asm-badges,:host ::ng-deep .asm-menu-anchor__pull.asm-toggle{position:absolute;right:10px}:host ::ng-deep .asm-menu-anchor__pull.asm-badges .asm-badges__badge,:host ::ng-deep .asm-menu-anchor__pull.asm-badges .asm-toggle__icon,:host ::ng-deep .asm-menu-anchor__pull.asm-toggle .asm-badges__badge,:host ::ng-deep .asm-menu-anchor__pull.asm-toggle .asm-toggle__icon{float:right;margin-left:4px;text-align:center;white-space:nowrap}:host ::ng-deep .asm-menu-anchor__pull.asm-badges .asm-toggle__icon,:host ::ng-deep .asm-menu-anchor__pull.asm-toggle .asm-toggle__icon{margin:0 4px 0 8px}:host ::ng-deep .asm-menu--mode-expandable:not(:hover),:host ::ng-deep .asm-menu--mode-mini{width:50px}:host ::ng-deep .asm-menu--mode-expandable:not(:hover)>ul>.asm-menu-item>.asm-menu-anchor .asm-menu-anchor__label,:host ::ng-deep .asm-menu--mode-expandable:not(:hover)>ul>.asm-menu-item>.asm-menu-anchor .asm-menu-anchor__pull,:host ::ng-deep .asm-menu--mode-expandable:not(:hover)>ul>.asm-menu-item>.asm-menu-item__header,:host ::ng-deep .asm-menu--mode-expandable:not(:hover)>ul>.asm-menu-item>.asm-menu-node>.asm-menu-anchor .asm-menu-anchor__label,:host ::ng-deep .asm-menu--mode-expandable:not(:hover)>ul>.asm-menu-item>.asm-menu-node>.asm-menu-anchor .asm-menu-anchor__pull,:host ::ng-deep .asm-menu--mode-expandable:not(:hover)>ul>.asm-menu-item>.asm-menu-node>ul,:host ::ng-deep .asm-menu--mode-mini>ul>.asm-menu-item>.asm-menu-anchor .asm-menu-anchor__label,:host ::ng-deep .asm-menu--mode-mini>ul>.asm-menu-item>.asm-menu-anchor .asm-menu-anchor__pull,:host ::ng-deep .asm-menu--mode-mini>ul>.asm-menu-item>.asm-menu-item__header,:host ::ng-deep .asm-menu--mode-mini>ul>.asm-menu-item>.asm-menu-node>.asm-menu-anchor .asm-menu-anchor__label,:host ::ng-deep .asm-menu--mode-mini>ul>.asm-menu-item>.asm-menu-node>.asm-menu-anchor .asm-menu-anchor__pull,:host ::ng-deep .asm-menu--mode-mini>ul>.asm-menu-item>.asm-menu-node>ul{display:none}:host ::ng-deep .asm-menu--mode-mini .asm-menu-node__label{display:block}:host ::ng-deep .asm-menu--mode-mini>ul>.asm-menu-item{position:relative}:host ::ng-deep .asm-menu--mode-mini>ul>.asm-menu-item:hover>.asm-menu-anchor .asm-menu-anchor__label,:host ::ng-deep .asm-menu--mode-mini>ul>.asm-menu-item:hover>.asm-menu-node>ul{display:block!important;height:auto!important;left:100%;position:absolute;top:0;z-index:999}"]}]}],"members":{"_menu":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3},"arguments":["menu"]}]}],"iconClasses":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"toggleIconClasses":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"role":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":3}}]}],"unAuthorizedVisibility":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"search":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":3}}]}],"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵc"}]}]}},"SidebarMenuModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"SidebarMenuComponent"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"}],"imports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":12,"character":12},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":12,"character":26}],"exports":[{"__symbolic":"reference","name":"SidebarMenuComponent"}]}]}],"members":{}},"UnAuthorizedVisibility":{"__symbolic":"interface"},"Modes":{"EXPANDED":"expanded","EXPANDABLE":"expandable","MINI":"mini"},"MenuItemBadge":{"__symbolic":"interface"},"MenuItemBase":{"__symbolic":"interface"},"MenuItemLeafRoute":{"__symbolic":"interface"},"MenuItemLeafURL":{"__symbolic":"interface"},"MenuItemHeader":{"__symbolic":"interface"},"MenuItemNode":{"__symbolic":"interface"},"MenuItem":{"__symbolic":"interface"},"Menu":{"__symbolic":"interface"},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1}}],"members":{}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1}}],"members":{}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1}}],"members":{"showItem$":[{"__symbolic":"method"}],"disableItem$":[{"__symbolic":"method"}],"itemVisibilityBase$":[{"__symbolic":"method"}],"isRole":[{"__symbolic":"method"}],"isAuthorized":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"filter":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"li[asm-menu-item][menuItem]","animations":[{"__symbolic":"reference","name":"ɵg"}],"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":24,"character":19},"member":"OnPush"},"template":"\n    <ng-container [ngSwitch]=\"true\">\n      <span *ngSwitchCase=\"!!menuItem.header\" class=\"asm-menu-item__header\">{{ menuItem.header }}</span>\n      <asm-menu-anchor\n        *ngSwitchCase=\"!menuItem.children && !menuItem.header\"\n        class=\"asm-menu-anchor\"\n        [menuItem]=\"menuItem\"\n        [disable]=\"disable || isItemDisabled\"\n      ></asm-menu-anchor>\n      <ng-container *ngSwitchCase=\"!!menuItem.children\">\n        <asm-menu-anchor\n          class=\"asm-menu-anchor\"\n          [ngClass]=\"{ 'asm-menu-anchor--open': node.isOpen }\"\n          [menuItem]=\"menuItem\"\n          (clickAnchor)=\"node.onNodeToggleClick()\"\n          [isActive]=\"node.isActiveChild\"\n          ><i toggleIcon [@rotate]=\"node.isOpen\" [class]=\"node.nodeService.toggleIconClasses\"></i\n        ></asm-menu-anchor>\n        <asm-menu-node\n          #node\n          class=\"asm-menu-node\"\n          [menuItem]=\"menuItem\"\n          [level]=\"level\"\n          [disable]=\"disable || isItemDisabled\"\n          (isActive)=\"onNodeActive($event)\"\n          (isFiltered)=\"onNodeFiltered($event)\"\n        ></asm-menu-node>\n      </ng-container>\n    </ng-container>\n  "}]}],"members":{"menuItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":3}}]}],"isRootNode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":3}}]}],"level":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":3}}]}],"disable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":3}}]}],"filtered":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":62,"character":3},"arguments":["class.asm-menu-item--filtered"]}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":65,"character":3},"arguments":["class.asm-menu-item--disabled"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":79,"character":20},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":82,"character":31}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"onNodeActive":[{"__symbolic":"method"}],"onNodeFiltered":[{"__symbolic":"method"}],"routerItemActiveSubscription":[{"__symbolic":"method"}],"menuSearchSubscription":[{"__symbolic":"method"}],"disabledItemSubscription":[{"__symbolic":"method"}],"emitItemActive":[{"__symbolic":"method"}],"isActiveRoute":[{"__symbolic":"method"}],"isItemLinkExact":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":4,"character":34},"arguments":["openClose",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":5,"character":2},"arguments":["true",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":5,"character":16},"arguments":[{"height":{"__symbolic":"reference","module":"@angular/animations","name":"AUTO_STYLE","line":5,"character":32}}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":6,"character":2},"arguments":["false",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":6,"character":17},"arguments":[{"height":0}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":7,"character":2},"arguments":["false <=> true",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":7,"character":31},"arguments":["300ms ease-in"]}]}]]},"ɵg":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":10,"character":31},"arguments":["rotate",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":11,"character":2},"arguments":["true",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":11,"character":16},"arguments":[{"transform":"rotate(-90deg)"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":12,"character":2},"arguments":["false <=> true",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":12,"character":31},"arguments":["300ms ease-out"]}]}]]},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":25,"character":1},"arguments":[{"selector":"asm-menu-node","animations":[{"__symbolic":"reference","name":"ɵf"}],"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":28,"character":19},"member":"OnPush"},"template":"<ul [@openClose]=\"isOpen\">\n    <li *ngIf=\"level === 0\" class=\"asm-menu-item\">\n      <span class=\"asm-menu-node__label\">{{ menuItem.label }}</span>\n    </li>\n    <ng-container *ngFor=\"let childItem of menuItem.children; trackBy: trackByItem\">\n      <li\n        asm-menu-item\n        class=\"asm-menu-item\"\n        *ngIf=\"roleService.showItem$(childItem.roles) | async\"\n        [menuItem]=\"childItem\"\n        [level]=\"level + 1\"\n        [disable]=\"disable\"\n      ></li>\n    </ng-container>\n  </ul>"}]}],"members":{"menuItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":3}}]}],"level":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":3}}]}],"disable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"isActive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":50,"character":3}}]}],"isFiltered":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":51,"character":3}}]}],"open":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":53,"character":3},"arguments":["class.asm-menu-node--open"]}]}],"menuItemComponents":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":57,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":68,"character":31}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"onNodeToggleClick":[{"__symbolic":"method"}],"activeItemsSubscription":[{"__symbolic":"method"}],"filterItemsSubscription":[{"__symbolic":"method"}],"openedNodeSubscription":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"asm-menu-anchor","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":9,"character":19},"member":"OnPush"},"template":"<ng-container [ngSwitch]=\"true\">\n      <a *ngSwitchCase=\"!!menuItem.children\" (click)=\"clickAnchor.emit()\">\n        <ng-container *ngTemplateOutlet=\"innerItem\"></ng-container>\n      </a>\n      <a\n        *ngSwitchCase=\"!!menuItem.route || menuItem.route === ''\"\n        [routerLink]=\"disable ? undefined : menuItem.route\"\n        routerLinkActive\n        #rla=\"routerLinkActive\"\n        [routerLinkActiveOptions]=\"{ exact: menuItem.linkActiveExact === undefined ? true : menuItem.linkActiveExact }\"\n      >\n        <ng-container *ngTemplateOutlet=\"innerItem\"></ng-container>\n      </a>\n      <a *ngSwitchCase=\"!!menuItem.url\" [href]=\"menuItem.url\" [target]=\"menuItem.target\">\n        <ng-container *ngTemplateOutlet=\"innerItem\"></ng-container>\n      </a>\n    </ng-container>\n\n    <ng-template #innerItem>\n      <i\n        *ngIf=\"menuItem.iconClasses || anchorService.iconClasses\"\n        [class]=\"menuItem.iconClasses || anchorService.iconClasses\"\n        class=\"asm-menu-anchor__icon\"\n      ></i>\n      <span class=\"asm-menu-anchor__label\">{{ menuItem.label }}</span>\n      <span\n        *ngIf=\"menuItem.badges || menuItem.children\"\n        class=\"asm-menu-anchor__pull\"\n        [ngClass]=\"{ 'asm-badges': menuItem.badges, 'asm-toggle': menuItem.children }\"\n      >\n        <span *ngFor=\"let badge of menuItem.badges\" [class]=\"badge.classes\" class=\"asm-badges__badge\">{{\n          badge.label\n        }}</span>\n        <span class=\"asm-toggle__icon\"><ng-content select=\"[toggleIcon]\"></ng-content></span>\n      </span>\n    </ng-template>"}]}],"members":{"menuItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"isActive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":3}}]}],"disable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3}}]}],"clickAnchor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":52,"character":3}}]}],"active":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":54,"character":3},"arguments":["class.asm-menu-anchor--active"]}]}],"routerLinActive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":58,"character":3},"arguments":["rla"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}]}}},"origins":{"SidebarMenuComponent":"./lib/sidebar-menu.component","SidebarMenuModule":"./lib/sidebar-menu.module","UnAuthorizedVisibility":"./lib/sidebar-menu.interface","Modes":"./lib/sidebar-menu.interface","MenuItemBadge":"./lib/sidebar-menu.interface","MenuItemBase":"./lib/sidebar-menu.interface","MenuItemLeafRoute":"./lib/sidebar-menu.interface","MenuItemLeafURL":"./lib/sidebar-menu.interface","MenuItemHeader":"./lib/sidebar-menu.interface","MenuItemNode":"./lib/sidebar-menu.interface","MenuItem":"./lib/sidebar-menu.interface","Menu":"./lib/sidebar-menu.interface","ɵa":"./lib/internal/node.service","ɵb":"./lib/internal/anchor.service","ɵc":"./lib/internal/role.service","ɵd":"./lib/internal/search.service","ɵe":"./lib/internal/item.component","ɵf":"./lib/internal/node.animations","ɵg":"./lib/internal/node.animations","ɵh":"./lib/internal/node.component","ɵi":"./lib/internal/anchor.component"},"importAs":"angular-sidebar-menu"}