@indigina/ui-kit 1.1.69 → 1.1.70

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.
@@ -32,7 +32,7 @@ export class KitNavigationMenuSubmenuComponent {
32
32
  return `${location?.origin}/` === url;
33
33
  }
34
34
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KitNavigationMenuSubmenuComponent, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KitNavigationMenuSubmenuComponent, selector: "kit-navigation-menu-submenu", inputs: { menuItem: "menuItem", appsMenuItems: "appsMenuItems" }, outputs: { logoClicked: "logoClicked" }, ngImport: i0, template: "<div class=\"kit-navigation-menu-submenu\">\n <div class=\"nav-logo\">\n <a class=\"nav-logo-link\"\n [routerLink]=\"rootPath\"\n (click)=\"logoClicked.emit()\">\n <kit-svg-icon class=\"seko-icon\"\n [icon]=\"KitSvgIcon.SEKO\"\n ></kit-svg-icon>\n <kit-svg-icon class=\"seko-360-icon\"\n [icon]=\"KitSvgIcon.SEKO_360\"\n ></kit-svg-icon>\n </a>\n </div>\n @if (appsMenuItems) {\n <div class=\"apps-menu\">\n @for (item of appsMenuItems; track item) {\n <a class=\"app-link\"\n [class.active]=\"isAppItemActive(item.url)\"\n [href]=\"item.url\">\n <span class=\"app-link-btn\">\n <kit-svg-icon class=\"app-link-icon\"\n [icon]=\"item.name.toLowerCase()\"\n ></kit-svg-icon>\n </span>\n <span class=\"app-link-title\">{{ item.name }}</span>\n </a>\n }\n </div>\n } @else {\n <div class=\"main-menu\">\n <div class=\"nav-title\">{{ menuItem?.title }}</div>\n <div class=\"nav-list\">\n @for (child of menuItem?.items; track child) {\n @if (!child.items?.length) {\n @if (child.link) {\n <a class=\"nav-link\"\n routerLinkActive=\"active\"\n [routerLink]=\"child.link\">\n {{ child.title }}\n </a>\n }\n }\n\n @if (child.items?.length) {\n <a class=\"nav-link\"\n [class.expanded]=\"child.expanded\"\n (click)=\"handleClick(child)\">\n {{ child.title }}\n <kit-svg-icon class=\"toggle-icon\"\n [icon]=\"KitSvgIcon.CHEVRON_DOWN\"\n ></kit-svg-icon>\n </a>\n\n @if (child?.expanded) {\n <div @heightExpandCollapseAnimation\n class=\"nav-list\">\n @for (subChild of child.items; track subChild) {\n @if (subChild.link) {\n <a class=\"child-link\"\n routerLinkActive=\"active\"\n [routerLink]=\"subChild.link\">\n {{ subChild.title }}\n </a>\n }\n }\n </div>\n }\n }\n }\n </div>\n </div>\n }\n</div>\n", styles: [".kit-navigation-menu-submenu{padding:0 15px;width:200px;height:100%;color:var(--ui-kit-color-grey-10);box-sizing:border-box;border-right:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white)}.kit-navigation-menu-submenu .nav-logo{padding:30px 5px;border-bottom:1px solid var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .nav-logo-link{display:flex;gap:5px}.kit-navigation-menu-submenu .nav-logo .seko-icon{width:97px;height:29px}.kit-navigation-menu-submenu .nav-logo .seko-360-icon{height:20px;width:59px;fill:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .apps-menu{display:flex;flex-direction:column;gap:15px;padding:15px 0}.kit-navigation-menu-submenu .app-link{display:flex;flex-direction:column;align-items:center;padding:20px;gap:20px;border-radius:8px;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-13);text-decoration:none}.kit-navigation-menu-submenu .app-link:not(.active):hover{border-color:var(--ui-kit-color-grey-12);background:var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .app-link:not(.active):hover .app-link-title{border-color:var(--ui-kit-color-grey-12)}.kit-navigation-menu-submenu .app-link-btn{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:8px;background:var(--ui-kit-color-white);box-shadow:0 4px 6px #0000000d,0 10px 15px #0000001a}.kit-navigation-menu-submenu .app-link-icon{width:32px;height:32px;fill:var(--ui-kit-color-main);stroke:none}.kit-navigation-menu-submenu .app-link-title{display:flex;justify-content:center;padding-top:10px;width:100%;color:var(--ui-kit-color-grey-10);border-top:1px solid var(--ui-kit-color-grey-11);font-size:14px;font-weight:500;text-transform:uppercase}.kit-navigation-menu-submenu .app-link.active{cursor:default;pointer-events:none}.kit-navigation-menu-submenu .app-link.active .app-link-btn{background:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .app-link.active .app-link-icon{fill:var(--ui-kit-color-white)}.kit-navigation-menu-submenu .nav-title{padding:15px 0;font-size:18px;font-weight:600}.kit-navigation-menu-submenu .nav-list{display:flex;flex-direction:column;gap:5px;overflow:hidden}.kit-navigation-menu-submenu .nav-link{display:flex;align-items:center;gap:8px;padding:10px 0;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:500;text-decoration:none;line-height:20px;cursor:pointer}.kit-navigation-menu-submenu .nav-link .toggle-icon{width:16px;height:16px;fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-navigation-menu-submenu .nav-link:hover,.kit-navigation-menu-submenu .nav-link.active,.kit-navigation-menu-submenu .nav-link.expanded{color:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .nav-link.expanded .toggle-icon{stroke:var(--ui-kit-color-main);transform:rotate(180deg)}.kit-navigation-menu-submenu .child-link{display:flex;align-items:center;gap:12px;position:relative;padding:10px 20px;color:var(--ui-kit-color-grey-14);font-size:14px;font-weight:400;border-radius:8px;line-height:20px;text-decoration:none}.kit-navigation-menu-submenu .child-link:hover{background:var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .child-link.active:before{content:\"\";position:absolute;left:0;width:7px;height:7px;border-radius:2px;background:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .child-link.active:hover{background:none}\n"], dependencies: [{ kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i2.KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }], animations: [
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KitNavigationMenuSubmenuComponent, selector: "kit-navigation-menu-submenu", inputs: { menuItem: "menuItem", appsMenuItems: "appsMenuItems" }, outputs: { logoClicked: "logoClicked" }, ngImport: i0, template: "<div class=\"kit-navigation-menu-submenu\">\n <div class=\"nav-logo\">\n <a class=\"nav-logo-link\"\n [routerLink]=\"rootPath\"\n (click)=\"logoClicked.emit()\">\n <kit-svg-icon class=\"seko-icon\"\n [icon]=\"KitSvgIcon.SEKO\"\n ></kit-svg-icon>\n <kit-svg-icon class=\"seko-360-icon\"\n [icon]=\"KitSvgIcon.SEKO_360\"\n ></kit-svg-icon>\n </a>\n </div>\n @if (appsMenuItems) {\n <div class=\"apps-menu\">\n @for (item of appsMenuItems; track item) {\n <a class=\"app-link\"\n [class.active]=\"isAppItemActive(item.url)\"\n [href]=\"item.url\">\n <span class=\"app-link-btn\">\n <kit-svg-icon class=\"app-link-icon\"\n [icon]=\"item.name.toLowerCase()\"\n ></kit-svg-icon>\n </span>\n <span class=\"app-link-title\">{{ item.name }}</span>\n </a>\n }\n </div>\n } @else {\n <div class=\"main-menu\">\n <div class=\"nav-title\">{{ menuItem?.title }}</div>\n <div class=\"nav-list\">\n @for (child of menuItem?.items; track child) {\n @if (!child.items?.length) {\n @if (child.link) {\n <a class=\"nav-link\"\n routerLinkActive=\"active\"\n [routerLink]=\"child.link\">\n {{ child.title }}\n </a>\n }\n }\n\n @if (child.items?.length) {\n <a class=\"nav-link\"\n [class.expanded]=\"child.expanded\"\n (click)=\"handleClick(child)\">\n {{ child.title }}\n <kit-svg-icon class=\"toggle-icon\"\n [icon]=\"KitSvgIcon.CHEVRON_DOWN\"\n ></kit-svg-icon>\n </a>\n\n @if (child?.expanded) {\n <div @heightExpandCollapseAnimation\n class=\"nav-list\">\n @for (subChild of child.items; track subChild) {\n @if (subChild.link) {\n <a class=\"child-link\"\n routerLinkActive=\"active\"\n [routerLink]=\"subChild.link\">\n {{ subChild.title }}\n </a>\n }\n }\n </div>\n }\n }\n }\n </div>\n </div>\n }\n</div>\n", styles: [".kit-navigation-menu-submenu{padding:0 15px;width:200px;height:100%;color:var(--ui-kit-color-grey-10);box-sizing:border-box;border-right:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white)}.kit-navigation-menu-submenu .nav-logo{padding:28px 5px;border-bottom:1px solid var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .nav-logo-link{display:flex;gap:5px}.kit-navigation-menu-submenu .nav-logo .seko-icon{width:97px;height:29px}.kit-navigation-menu-submenu .nav-logo .seko-360-icon{height:20px;width:59px;fill:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .apps-menu{display:flex;flex-direction:column;gap:15px;padding:15px 0}.kit-navigation-menu-submenu .app-link{display:flex;flex-direction:column;align-items:center;padding:20px;gap:20px;border-radius:8px;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-13);text-decoration:none}.kit-navigation-menu-submenu .app-link:not(.active):hover{border-color:var(--ui-kit-color-grey-12);background:var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .app-link:not(.active):hover .app-link-title{border-color:var(--ui-kit-color-grey-12)}.kit-navigation-menu-submenu .app-link-btn{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:8px;background:var(--ui-kit-color-white);box-shadow:0 4px 6px #0000000d,0 10px 15px #0000001a}.kit-navigation-menu-submenu .app-link-icon{width:32px;height:32px;fill:var(--ui-kit-color-main);stroke:none}.kit-navigation-menu-submenu .app-link-title{display:flex;justify-content:center;padding-top:10px;width:100%;color:var(--ui-kit-color-grey-10);border-top:1px solid var(--ui-kit-color-grey-11);font-size:14px;font-weight:500;text-transform:uppercase}.kit-navigation-menu-submenu .app-link.active{cursor:default;pointer-events:none}.kit-navigation-menu-submenu .app-link.active .app-link-btn{background:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .app-link.active .app-link-icon{fill:var(--ui-kit-color-white)}.kit-navigation-menu-submenu .nav-title{padding:15px 0;font-size:18px;font-weight:600}.kit-navigation-menu-submenu .nav-list{display:flex;flex-direction:column;gap:5px;overflow:hidden}.kit-navigation-menu-submenu .nav-link{display:flex;align-items:center;gap:8px;padding:10px 0;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:500;text-decoration:none;line-height:20px;cursor:pointer}.kit-navigation-menu-submenu .nav-link .toggle-icon{width:16px;height:16px;fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-navigation-menu-submenu .nav-link:hover,.kit-navigation-menu-submenu .nav-link.active,.kit-navigation-menu-submenu .nav-link.expanded{color:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .nav-link.expanded .toggle-icon{stroke:var(--ui-kit-color-main);transform:rotate(180deg)}.kit-navigation-menu-submenu .child-link{display:flex;align-items:center;gap:12px;position:relative;padding:10px 20px;color:var(--ui-kit-color-grey-14);font-size:14px;font-weight:400;border-radius:8px;line-height:20px;text-decoration:none}.kit-navigation-menu-submenu .child-link:hover{background:var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .child-link.active:before{content:\"\";position:absolute;left:0;width:7px;height:7px;border-radius:2px;background:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .child-link.active:hover{background:none}\n"], dependencies: [{ kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i2.KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }], animations: [
36
36
  expandCollapseAnimation('height'),
37
37
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
38
  }
@@ -40,7 +40,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
40
40
  type: Component,
41
41
  args: [{ selector: 'kit-navigation-menu-submenu', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
42
42
  expandCollapseAnimation('height'),
43
- ], template: "<div class=\"kit-navigation-menu-submenu\">\n <div class=\"nav-logo\">\n <a class=\"nav-logo-link\"\n [routerLink]=\"rootPath\"\n (click)=\"logoClicked.emit()\">\n <kit-svg-icon class=\"seko-icon\"\n [icon]=\"KitSvgIcon.SEKO\"\n ></kit-svg-icon>\n <kit-svg-icon class=\"seko-360-icon\"\n [icon]=\"KitSvgIcon.SEKO_360\"\n ></kit-svg-icon>\n </a>\n </div>\n @if (appsMenuItems) {\n <div class=\"apps-menu\">\n @for (item of appsMenuItems; track item) {\n <a class=\"app-link\"\n [class.active]=\"isAppItemActive(item.url)\"\n [href]=\"item.url\">\n <span class=\"app-link-btn\">\n <kit-svg-icon class=\"app-link-icon\"\n [icon]=\"item.name.toLowerCase()\"\n ></kit-svg-icon>\n </span>\n <span class=\"app-link-title\">{{ item.name }}</span>\n </a>\n }\n </div>\n } @else {\n <div class=\"main-menu\">\n <div class=\"nav-title\">{{ menuItem?.title }}</div>\n <div class=\"nav-list\">\n @for (child of menuItem?.items; track child) {\n @if (!child.items?.length) {\n @if (child.link) {\n <a class=\"nav-link\"\n routerLinkActive=\"active\"\n [routerLink]=\"child.link\">\n {{ child.title }}\n </a>\n }\n }\n\n @if (child.items?.length) {\n <a class=\"nav-link\"\n [class.expanded]=\"child.expanded\"\n (click)=\"handleClick(child)\">\n {{ child.title }}\n <kit-svg-icon class=\"toggle-icon\"\n [icon]=\"KitSvgIcon.CHEVRON_DOWN\"\n ></kit-svg-icon>\n </a>\n\n @if (child?.expanded) {\n <div @heightExpandCollapseAnimation\n class=\"nav-list\">\n @for (subChild of child.items; track subChild) {\n @if (subChild.link) {\n <a class=\"child-link\"\n routerLinkActive=\"active\"\n [routerLink]=\"subChild.link\">\n {{ subChild.title }}\n </a>\n }\n }\n </div>\n }\n }\n }\n </div>\n </div>\n }\n</div>\n", styles: [".kit-navigation-menu-submenu{padding:0 15px;width:200px;height:100%;color:var(--ui-kit-color-grey-10);box-sizing:border-box;border-right:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white)}.kit-navigation-menu-submenu .nav-logo{padding:30px 5px;border-bottom:1px solid var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .nav-logo-link{display:flex;gap:5px}.kit-navigation-menu-submenu .nav-logo .seko-icon{width:97px;height:29px}.kit-navigation-menu-submenu .nav-logo .seko-360-icon{height:20px;width:59px;fill:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .apps-menu{display:flex;flex-direction:column;gap:15px;padding:15px 0}.kit-navigation-menu-submenu .app-link{display:flex;flex-direction:column;align-items:center;padding:20px;gap:20px;border-radius:8px;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-13);text-decoration:none}.kit-navigation-menu-submenu .app-link:not(.active):hover{border-color:var(--ui-kit-color-grey-12);background:var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .app-link:not(.active):hover .app-link-title{border-color:var(--ui-kit-color-grey-12)}.kit-navigation-menu-submenu .app-link-btn{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:8px;background:var(--ui-kit-color-white);box-shadow:0 4px 6px #0000000d,0 10px 15px #0000001a}.kit-navigation-menu-submenu .app-link-icon{width:32px;height:32px;fill:var(--ui-kit-color-main);stroke:none}.kit-navigation-menu-submenu .app-link-title{display:flex;justify-content:center;padding-top:10px;width:100%;color:var(--ui-kit-color-grey-10);border-top:1px solid var(--ui-kit-color-grey-11);font-size:14px;font-weight:500;text-transform:uppercase}.kit-navigation-menu-submenu .app-link.active{cursor:default;pointer-events:none}.kit-navigation-menu-submenu .app-link.active .app-link-btn{background:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .app-link.active .app-link-icon{fill:var(--ui-kit-color-white)}.kit-navigation-menu-submenu .nav-title{padding:15px 0;font-size:18px;font-weight:600}.kit-navigation-menu-submenu .nav-list{display:flex;flex-direction:column;gap:5px;overflow:hidden}.kit-navigation-menu-submenu .nav-link{display:flex;align-items:center;gap:8px;padding:10px 0;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:500;text-decoration:none;line-height:20px;cursor:pointer}.kit-navigation-menu-submenu .nav-link .toggle-icon{width:16px;height:16px;fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-navigation-menu-submenu .nav-link:hover,.kit-navigation-menu-submenu .nav-link.active,.kit-navigation-menu-submenu .nav-link.expanded{color:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .nav-link.expanded .toggle-icon{stroke:var(--ui-kit-color-main);transform:rotate(180deg)}.kit-navigation-menu-submenu .child-link{display:flex;align-items:center;gap:12px;position:relative;padding:10px 20px;color:var(--ui-kit-color-grey-14);font-size:14px;font-weight:400;border-radius:8px;line-height:20px;text-decoration:none}.kit-navigation-menu-submenu .child-link:hover{background:var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .child-link.active:before{content:\"\";position:absolute;left:0;width:7px;height:7px;border-radius:2px;background:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .child-link.active:hover{background:none}\n"] }]
43
+ ], template: "<div class=\"kit-navigation-menu-submenu\">\n <div class=\"nav-logo\">\n <a class=\"nav-logo-link\"\n [routerLink]=\"rootPath\"\n (click)=\"logoClicked.emit()\">\n <kit-svg-icon class=\"seko-icon\"\n [icon]=\"KitSvgIcon.SEKO\"\n ></kit-svg-icon>\n <kit-svg-icon class=\"seko-360-icon\"\n [icon]=\"KitSvgIcon.SEKO_360\"\n ></kit-svg-icon>\n </a>\n </div>\n @if (appsMenuItems) {\n <div class=\"apps-menu\">\n @for (item of appsMenuItems; track item) {\n <a class=\"app-link\"\n [class.active]=\"isAppItemActive(item.url)\"\n [href]=\"item.url\">\n <span class=\"app-link-btn\">\n <kit-svg-icon class=\"app-link-icon\"\n [icon]=\"item.name.toLowerCase()\"\n ></kit-svg-icon>\n </span>\n <span class=\"app-link-title\">{{ item.name }}</span>\n </a>\n }\n </div>\n } @else {\n <div class=\"main-menu\">\n <div class=\"nav-title\">{{ menuItem?.title }}</div>\n <div class=\"nav-list\">\n @for (child of menuItem?.items; track child) {\n @if (!child.items?.length) {\n @if (child.link) {\n <a class=\"nav-link\"\n routerLinkActive=\"active\"\n [routerLink]=\"child.link\">\n {{ child.title }}\n </a>\n }\n }\n\n @if (child.items?.length) {\n <a class=\"nav-link\"\n [class.expanded]=\"child.expanded\"\n (click)=\"handleClick(child)\">\n {{ child.title }}\n <kit-svg-icon class=\"toggle-icon\"\n [icon]=\"KitSvgIcon.CHEVRON_DOWN\"\n ></kit-svg-icon>\n </a>\n\n @if (child?.expanded) {\n <div @heightExpandCollapseAnimation\n class=\"nav-list\">\n @for (subChild of child.items; track subChild) {\n @if (subChild.link) {\n <a class=\"child-link\"\n routerLinkActive=\"active\"\n [routerLink]=\"subChild.link\">\n {{ subChild.title }}\n </a>\n }\n }\n </div>\n }\n }\n }\n </div>\n </div>\n }\n</div>\n", styles: [".kit-navigation-menu-submenu{padding:0 15px;width:200px;height:100%;color:var(--ui-kit-color-grey-10);box-sizing:border-box;border-right:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white)}.kit-navigation-menu-submenu .nav-logo{padding:28px 5px;border-bottom:1px solid var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .nav-logo-link{display:flex;gap:5px}.kit-navigation-menu-submenu .nav-logo .seko-icon{width:97px;height:29px}.kit-navigation-menu-submenu .nav-logo .seko-360-icon{height:20px;width:59px;fill:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .apps-menu{display:flex;flex-direction:column;gap:15px;padding:15px 0}.kit-navigation-menu-submenu .app-link{display:flex;flex-direction:column;align-items:center;padding:20px;gap:20px;border-radius:8px;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-13);text-decoration:none}.kit-navigation-menu-submenu .app-link:not(.active):hover{border-color:var(--ui-kit-color-grey-12);background:var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .app-link:not(.active):hover .app-link-title{border-color:var(--ui-kit-color-grey-12)}.kit-navigation-menu-submenu .app-link-btn{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:8px;background:var(--ui-kit-color-white);box-shadow:0 4px 6px #0000000d,0 10px 15px #0000001a}.kit-navigation-menu-submenu .app-link-icon{width:32px;height:32px;fill:var(--ui-kit-color-main);stroke:none}.kit-navigation-menu-submenu .app-link-title{display:flex;justify-content:center;padding-top:10px;width:100%;color:var(--ui-kit-color-grey-10);border-top:1px solid var(--ui-kit-color-grey-11);font-size:14px;font-weight:500;text-transform:uppercase}.kit-navigation-menu-submenu .app-link.active{cursor:default;pointer-events:none}.kit-navigation-menu-submenu .app-link.active .app-link-btn{background:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .app-link.active .app-link-icon{fill:var(--ui-kit-color-white)}.kit-navigation-menu-submenu .nav-title{padding:15px 0;font-size:18px;font-weight:600}.kit-navigation-menu-submenu .nav-list{display:flex;flex-direction:column;gap:5px;overflow:hidden}.kit-navigation-menu-submenu .nav-link{display:flex;align-items:center;gap:8px;padding:10px 0;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:500;text-decoration:none;line-height:20px;cursor:pointer}.kit-navigation-menu-submenu .nav-link .toggle-icon{width:16px;height:16px;fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-navigation-menu-submenu .nav-link:hover,.kit-navigation-menu-submenu .nav-link.active,.kit-navigation-menu-submenu .nav-link.expanded{color:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .nav-link.expanded .toggle-icon{stroke:var(--ui-kit-color-main);transform:rotate(180deg)}.kit-navigation-menu-submenu .child-link{display:flex;align-items:center;gap:12px;position:relative;padding:10px 20px;color:var(--ui-kit-color-grey-14);font-size:14px;font-weight:400;border-radius:8px;line-height:20px;text-decoration:none}.kit-navigation-menu-submenu .child-link:hover{background:var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .child-link.active:before{content:\"\";position:absolute;left:0;width:7px;height:7px;border-radius:2px;background:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .child-link.active:hover{background:none}\n"] }]
44
44
  }], ctorParameters: () => [{ type: Document, decorators: [{
45
45
  type: Inject,
46
46
  args: [DOCUMENT]
@@ -39,21 +39,25 @@ export class KitNavigationMenuComponent {
39
39
  !item.items ? this.collapseAllItems(this.menuItems) : this.toggleItem(item);
40
40
  this.selectedAppsItems.set(null);
41
41
  this.selectedItem.set(item);
42
+ this.updateMenuState();
42
43
  }
43
44
  handleLogoClick() {
44
45
  this.collapseAllItems(this.menuItems);
45
46
  this.selectedAppsItems.set(null);
46
47
  this.selectedItem.set(null);
48
+ this.updateMenuState();
47
49
  }
48
50
  onAppsMenuButtonClick() {
49
51
  if (this.selectedAppsItems() && !this.collapsed()) {
50
52
  this.selectedAppsItems.set(null);
51
53
  this.collapseAllItems(this.menuItems);
52
- return;
53
54
  }
54
- this.kitNavigationMenuService.setCollapsedState(false);
55
- this.menuItems.forEach(item => item.expanded = false);
56
- this.selectedAppsItems.set(this.appsMenuItems);
55
+ else {
56
+ this.kitNavigationMenuService.setCollapsedState(false);
57
+ this.menuItems.forEach(item => item.expanded = false);
58
+ this.selectedAppsItems.set(this.appsMenuItems);
59
+ }
60
+ this.updateMenuState();
57
61
  }
58
62
  setExpandedStateOnRouterChange() {
59
63
  this.router.events.pipe(filter(event => event instanceof NavigationEnd), takeUntilDestroyed()).subscribe(() => this.updateNavigationState(this.menuItems, this.router.url));
@@ -70,6 +74,7 @@ export class KitNavigationMenuComponent {
70
74
  this.selectedItem.set(item);
71
75
  this.selectedAppsItems.set(null);
72
76
  this.kitNavigationMenuService.setCollapsedState(false);
77
+ this.updateMenuState();
73
78
  }
74
79
  }
75
80
  else {
@@ -91,6 +96,9 @@ export class KitNavigationMenuComponent {
91
96
  }
92
97
  item.expanded = !item.expanded;
93
98
  }
99
+ updateMenuState() {
100
+ this.kitNavigationMenuService.setSelectedState(!!this.selectedItem()?.items, !!this.selectedAppsItems());
101
+ }
94
102
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KitNavigationMenuComponent, deps: [{ token: i1.Router }, { token: i2.KitNavigationMenuService }], target: i0.ɵɵFactoryTarget.Component }); }
95
103
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KitNavigationMenuComponent, selector: "kit-navigation-menu", inputs: { menuItems: "menuItems", appsMenuItems: "appsMenuItems" }, ngImport: i0, template: "<div class=\"kit-navigation-menu\"\n [class.collapsed]=\"collapsed()\">\n <div class=\"main-panel\">\n @if (appsMenuItems.length > 1) {\n <button class=\"app-btn\"\n [class.active]=\"selectedAppsItems() && !collapsed()\"\n (click)=\"onAppsMenuButtonClick()\">\n <kit-svg-icon class=\"app-btn-icon\"\n [icon]=\"KitSvgIcon.FOUR_SQUARE\"\n ></kit-svg-icon>\n </button>\n }\n <div class=\"nav-list\">\n @for (item of menuItems; track item) {\n @if (item.items?.length) {\n <a class=\"nav-link\"\n kitTooltip\n kitTooltipFilter=\".nav-link\"\n [kitTooltipPosition]=\"KitTooltipPosition.RIGHT\"\n [title]=\"item.title\"\n [class.active]=\"item.active\"\n (click)=\"handleClick(item)\">\n @if (item.icon) {\n <ng-container *ngTemplateOutlet=\"linkIconTemplate; context: { $implicit: item }\"\n ></ng-container>\n }\n </a>\n } @else {\n @if (item.link) {\n <a class=\"nav-link\"\n routerLinkActive=\"active\"\n kitTooltip\n kitTooltipFilter=\".nav-link\"\n [kitTooltipPosition]=\"KitTooltipPosition.RIGHT\"\n [title]=\"item.title\"\n [routerLink]=\"item?.link\"\n (click)=\"handleClick(item)\">\n @if (item.icon) {\n <ng-container *ngTemplateOutlet=\"linkIconTemplate; context: { $implicit: item }\"\n ></ng-container>\n }\n </a>\n }\n }\n }\n </div>\n </div>\n\n @if (!collapsed() && (selectedItem()?.items || selectedAppsItems())) {\n <kit-navigation-menu-submenu class=\"sub-panel\"\n [@widthExpandCollapseAnimation]\n [menuItem]=\"selectedItem()\"\n [appsMenuItems]=\"selectedAppsItems()\"\n (logoClicked)=\"handleLogoClick()\"\n ></kit-navigation-menu-submenu>\n }\n\n <ng-template #linkIconTemplate let-item>\n <kit-svg-icon class=\"nav-link-icon\"\n [icon]=\"item.icon\"\n [ngClass]=\"item?.iconType ?? KitSvgIconType.FILL\"\n ></kit-svg-icon>\n </ng-template>\n</div>\n", styles: [".kit-navigation-menu{display:flex;height:100%}.kit-navigation-menu .app-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:none;border-radius:8px;cursor:pointer}.kit-navigation-menu .app-btn-icon{width:16px;height:16px;fill:var(--ui-kit-color-white);stroke:var(--ui-kit-color-white)}.kit-navigation-menu .app-btn:hover{background:var(--ui-kit-color-grey-14)}.kit-navigation-menu .app-btn.active{background:var(--ui-kit-color-main)}.kit-navigation-menu .main-panel{display:flex;flex-direction:column;padding:25px 10px;width:56px;box-sizing:border-box}.kit-navigation-menu .main-panel:has(.app-btn){gap:46px}.kit-navigation-menu .main-panel:has(.app-btn) .nav-list{margin-top:0}.kit-navigation-menu .sub-panel{display:block;width:200px;overflow:hidden}.kit-navigation-menu .nav-list{display:flex;flex-direction:column;gap:30px;margin-top:82px}.kit-navigation-menu .nav-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;cursor:pointer}.kit-navigation-menu .nav-link:hover{background:var(--ui-kit-color-grey-14)}.kit-navigation-menu .nav-link.active{background:var(--ui-kit-color-main)}.kit-navigation-menu .nav-link-icon{display:block;width:16px;height:16px;flex-shrink:0}.kit-navigation-menu .nav-link-icon.fill{fill:var(--ui-kit-color-white);stroke:none}.kit-navigation-menu .nav-link-icon.stroke{fill:none;stroke:var(--ui-kit-color-white)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i5.KitNavigationMenuSubmenuComponent, selector: "kit-navigation-menu-submenu", inputs: ["menuItem", "appsMenuItems"], outputs: ["logoClicked"] }, { kind: "directive", type: i6.KitTooltipDirective, selector: "[kitTooltip]", inputs: ["kitTooltipPosition", "kitTooltipFilter", "kitTooltipTemplateRef"] }], animations: [
96
104
  expandCollapseAnimation('width'),
@@ -106,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
106
114
  }], appsMenuItems: [{
107
115
  type: Input
108
116
  }] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2l0LW5hdmlnYXRpb24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2tpdC1uYXZpZ2F0aW9uLW1lbnUva2l0LW5hdmlnYXRpb24tbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2tpdC1uYXZpZ2F0aW9uLW1lbnUva2l0LW5hdmlnYXRpb24tbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBRTFHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7Ozs7O0FBWXhGLE1BQU0sT0FBTywwQkFBMEI7SUFrQnJDLFlBQ1UsTUFBYyxFQUNkLHdCQUFrRDtRQURsRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQW5CNUQ7O1dBRUc7UUFDTSxjQUFTLEdBQTRCLEVBQUUsQ0FBQztRQUVqRDs7V0FFRztRQUNNLGtCQUFhLEdBQStCLEVBQUUsQ0FBQztRQUUvQyxpQkFBWSxHQUFpRCxNQUFNLENBQUMsSUFBSSxDQUFD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QUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDckUsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ2pDLENBQUM7OEdBOUZVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLCtIQ25CdkMsaTJFQWdFQSxnbUZEakRjO1lBQ1YsdUJBQXVCLENBQUMsT0FBTyxDQUFDO1NBQ2pDOzsyRkFFVSwwQkFBMEI7a0JBVHRDLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0sY0FDbkM7d0JBQ1YsdUJBQXVCLENBQUMsT0FBTyxDQUFDO3FCQUNqQztrSEFNUSxTQUFTO3NCQUFqQixLQUFLO2dCQUtHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBzaWduYWwsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLaXROYXZpZ2F0aW9uTWVudUFwcEl0ZW0sIEtpdE5hdmlnYXRpb25NZW51SXRlbSB9IGZyb20gJy4va2l0LW5hdmlnYXRpb24tbWVudS5tb2RlbCc7XG5pbXBvcnQgeyBleHBhbmRDb2xsYXBzZUFuaW1hdGlvbiB9IGZyb20gJy4va2l0LW5hdmlnYXRpb24tbWVudS51dGlsJztcbmltcG9ydCB7IEtpdFN2Z0ljb25UeXBlLCBLaXRTdmdJY29uIH0gZnJvbSAnLi4va2l0LXN2Zy1pY29uL2tpdC1zdmctaWNvbi5jb25zdCc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBLaXRUb29sdGlwUG9zaXRpb24gfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2tpdC10b29sdGlwL2tpdC10b29sdGlwLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBLaXROYXZpZ2F0aW9uTWVudVNlcnZpY2UgfSBmcm9tICcuL2tpdC1uYXZpZ2F0aW9uLW1lbnUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2tpdC1uYXZpZ2F0aW9uLW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4va2l0LW5hdmlnYXRpb24tbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9raXQtbmF2aWdhdGlvbi1tZW51LmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICBleHBhbmRDb2xsYXBzZUFuaW1hdGlvbignd2lkdGgnKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgS2l0TmF2aWdhdGlvbk1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogQW4gaXRlbXMgbGlzdCB3aGljaCBpcyBnb2luZyB0byBiZSByZW5kZXJlZCBhcyBtZW51IGl0ZW1zXG4gICAqL1xuICBASW5wdXQoKSBtZW51SXRlbXM6IEtpdE5hdmlnYXRpb25NZW51SXRlbVtdID0gW107XG5cbiAgLyoqXG4gICAqIEFuIGl0ZW1zIGxpc3Qgd2hpY2ggaXMgZ29pbmcgdG8gYmUgcmVuZGVyZWQgYXMgYXBwcyBtZW51IGl0ZW1zXG4gICAqL1xuICBASW5wdXQoKSBhcHBzTWVudUl0ZW1zOiBLaXROYXZpZ2F0aW9uTWVudUFwcEl0ZW1bXSA9IFtdO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkSXRlbTogV3JpdGFibGVTaWduYWw8S2l0TmF2aWdhdGlvbk1lbnVJdGVtIHwgbnVsbD4gPSBzaWduYWwobnVsbCk7XG4gIHJlYWRvbmx5IHNlbGVjdGVkQXBwc0l0ZW1zOiBXcml0YWJsZVNpZ25hbDxLaXROYXZpZ2F0aW9uTWVudUFwcEl0ZW1bXSB8IG51bGw+ID0gc2lnbmFsKG51bGwpO1xuICByZWFkb25seSBjb2xsYXBzZWQ6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gdGhpcy5raXROYXZpZ2F0aW9uTWVudVNlcnZpY2UuZ2V0Q29sbGFwc2VkU3RhdGUoKTtcbiAgcmVhZG9ubHkgS2l0U3ZnSWNvbjogdHlwZW9mIEtpdFN2Z0ljb24gPSBLaXRTdmdJY29uO1xuICByZWFkb25seSBLaXRTdmdJY29uVHlwZTogdHlwZW9mIEtpdFN2Z0ljb25UeXBlID0gS2l0U3ZnSWNvblR5cGU7XG4gIHJlYWRvbmx5IEtpdFRvb2x0aXBQb3NpdGlvbjogdHlwZW9mIEtpdFRvb2x0aXBQb3NpdGlvbiA9IEtpdFRvb2x0aXBQb3NpdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUga2l0TmF2aWdhdGlvbk1lbnVTZXJ2aWNlOiBLaXROYXZpZ2F0aW9uTWVudVNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuc2V0RXhwYW5kZWRTdGF0ZU9uUm91dGVyQ2hhbmdlKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZU5hdmlnYXRpb25TdGF0ZSh0aGlzLm1lbnVJdGVtcywgdGhpcy5yb3V0ZXIudXJsKTtcbiAgfVxuXG4gIGhhbmRsZUNsaWNrKGl0ZW06IEtpdE5hdmlnYXRpb25NZW51SXRlbSk6IHZvaWQge1xuICAgICFpdGVtLml0ZW1zID8gdGhpcy5jb2xsYXBzZUFsbEl0ZW1zKHRoaXMubWVudUl0ZW1zKSA6IHRoaXMudG9nZ2xlSXRlbShpdGVtKTtcbiAgICB0aGlzLnNlbGVjdGVkQXBwc0l0ZW1zLnNldChudWxsKTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbS5zZXQoaXRlbSk7XG4gIH1cblxuICBoYW5kbGVMb2dvQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5jb2xsYXBzZUFsbEl0ZW1zKHRoaXMubWVudUl0ZW1zKTtcbiAgICB0aGlzLnNlbGVjdGVkQXBwc0l0ZW1zLnNldChudWxsKTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbS5zZXQobnVsbCk7XG4gIH1cblxuICBvbkFwcHNNZW51QnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRBcHBzSXRlbXMoKSAmJiAhdGhpcy5jb2xsYXBzZWQoKSkge1xuICAgICAgdGhpcy5zZWxlY3RlZEFwcHNJdGVtcy5zZXQobnVsbCk7XG4gICAgICB0aGlzLmNvbGxhcHNlQWxsSXRlbXModGhpcy5tZW51SXRlbXMpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5raXROYXZpZ2F0aW9uTWVudVNlcnZpY2Uuc2V0Q29sbGFwc2VkU3RhdGUoZmFsc2UpO1xuICAgIHRoaXMubWVudUl0ZW1zLmZvckVhY2goaXRlbSA9PiBpdGVtLmV4cGFuZGVkID0gZmFsc2UpO1xuICAgIHRoaXMuc2VsZWN0ZWRBcHBzSXRlbXMuc2V0KHRoaXMuYXBwc01lbnVJdGVtcyk7XG4gIH1cblxuICBwcml2YXRlIHNldEV4cGFuZGVkU3RhdGVPblJvdXRlckNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcbiAgICAgIGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy51cGRhdGVOYXZpZ2F0aW9uU3RhdGUodGhpcy5tZW51SXRlbXMsIHRoaXMucm91dGVyLnVybCkpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVOYXZpZ2F0aW9uU3RhdGUoaXRlbXM6IEtpdE5hdmlnYXRpb25NZW51SXRlbVtdLCB1cmw6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IG1hdGNoTGluayA9IChpdGVtOiBLaXROYXZpZ2F0aW9uTWVudUl0ZW0pOiBib29sZWFuID0+ICEhKGl0ZW0ubGluayAmJiB1cmwuc3RhcnRzV2l0aChpdGVtLmxpbmspKTtcbiAgICBpdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgaWYgKGl0ZW0uaXRlbXMpIHtcbiAgICAgICAgdGhpcy51cGRhdGVOYXZpZ2F0aW9uU3RhdGUoaXRlbS5pdGVtcywgdXJsKTtcbiAgICAgICAgaXRlbS5leHBhbmRlZCA9IGl0ZW0uaXRlbXMuc29tZShjaGlsZCA9PiBjaGlsZC5leHBhbmRlZCkgfHxcbiAgICAgICAgICBpdGVtLml0ZW1zLnNvbWUoY2hpbGQgPT4gbWF0Y2hMaW5rKGNoaWxkKSk7XG4gICAgICAgIGl0ZW0uYWN0aXZlID0gaXRlbS5pdGVtcy5zb21lKGNoaWxkID0+IGNoaWxkLmFjdGl2ZSk7XG4gICAgICAgIGlmIChpdGVtLmV4cGFuZGVkKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0uc2V0KGl0ZW0pO1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRBcHBzSXRlbXMuc2V0KG51bGwpO1xuICAgICAgICAgIHRoaXMua2l0TmF2aWdhdGlvbk1lbnVTZXJ2aWNlLnNldENvbGxhcHNlZFN0YXRlKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaXRlbS5leHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICBpdGVtLmFjdGl2ZSA9IG1hdGNoTGluayhpdGVtKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY29sbGFwc2VBbGxJdGVtcyhpdGVtczogS2l0TmF2aWdhdGlvbk1lbnVJdGVtW10pOiB2b2lkIHtcbiAgICB0aGlzLmtpdE5hdmlnYXRpb25NZW51U2VydmljZS5zZXRDb2xsYXBzZWRTdGF0ZSh0cnVlKTtcbiAgICBpdGVtcy5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5leHBhbmRlZCA9IGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgdG9nZ2xlSXRlbShpdGVtOiBLaXROYXZpZ2F0aW9uTWVudUl0ZW0pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb2xsYXBzZWQoKSB8fCBpdGVtLmV4cGFuZGVkKSB7XG4gICAgICB0aGlzLmtpdE5hdmlnYXRpb25NZW51U2VydmljZS5zZXRDb2xsYXBzZWRTdGF0ZSghdGhpcy5jb2xsYXBzZWQoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWVudUl0ZW1zLmZvckVhY2goaXRlbSA9PiBpdGVtLmV4cGFuZGVkID0gZmFsc2UpO1xuICAgIH1cblxuICAgIGl0ZW0uZXhwYW5kZWQgPSAhaXRlbS5leHBhbmRlZDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImtpdC1uYXZpZ2F0aW9uLW1lbnVcIlxuICAgICBbY2xhc3MuY29sbGFwc2VkXT1cImNvbGxhcHNlZCgpXCI+XG4gIDxkaXYgY2xhc3M9XCJtYWluLXBhbmVsXCI+XG4gICAgQGlmIChhcHBzTWVudUl0ZW1zLmxlbmd0aCA+IDEpIHtcbiAgICAgIDxidXR0b24gY2xhc3M9XCJhcHAtYnRuXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJzZWxlY3RlZEFwcHNJdGVtcygpICYmICFjb2xsYXBzZWQoKVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkFwcHNNZW51QnV0dG9uQ2xpY2soKVwiPlxuICAgICAgICA8a2l0LXN2Zy1pY29uIGNsYXNzPVwiYXBwLWJ0bi1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJLaXRTdmdJY29uLkZPVVJfU1FVQVJFXCJcbiAgICAgICAgPjwva2l0LXN2Zy1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJuYXYtbGlzdFwiPlxuICAgICAgQGZvciAoaXRlbSBvZiBtZW51SXRlbXM7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgQGlmIChpdGVtLml0ZW1zPy5sZW5ndGgpIHtcbiAgICAgICAgICA8YSBjbGFzcz1cIm5hdi1saW5rXCJcbiAgICAgICAgICAgICBraXRUb29sdGlwXG4gICAgICAgICAgICAga2l0VG9vbHRpcEZpbHRlcj1cIi5uYXYtbGlua1wiXG4gICAgICAgICAgICAgW2tpdFRvb2x0aXBQb3NpdGlvbl09XCJLaXRUb29sdGlwUG9zaXRpb24uUklHSFRcIlxuICAgICAgICAgICAgIFt0aXRsZV09XCJpdGVtLnRpdGxlXCJcbiAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cIml0ZW0uYWN0aXZlXCJcbiAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQ2xpY2soaXRlbSlcIj5cbiAgICAgICAgICAgIEBpZiAoaXRlbS5pY29uKSB7XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaW5rSWNvblRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCJcbiAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgQGlmIChpdGVtLmxpbmspIHtcbiAgICAgICAgICAgIDxhIGNsYXNzPVwibmF2LWxpbmtcIlxuICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiXG4gICAgICAgICAgICAgICBraXRUb29sdGlwXG4gICAgICAgICAgICAgICBraXRUb29sdGlwRmlsdGVyPVwiLm5hdi1saW5rXCJcbiAgICAgICAgICAgICAgIFtraXRUb29sdGlwUG9zaXRpb25dPVwiS2l0VG9vbHRpcFBvc2l0aW9uLlJJR0hUXCJcbiAgICAgICAgICAgICAgIFt0aXRsZV09XCJpdGVtLnRpdGxlXCJcbiAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0/LmxpbmtcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKGl0ZW0pXCI+XG4gICAgICAgICAgICAgIEBpZiAoaXRlbS5pY29uKSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpbmtJY29uVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICBAaWYgKCFjb2xsYXBzZWQoKSAmJiAoc2VsZWN0ZWRJdGVtKCk/Lml0ZW1zIHx8IHNlbGVjdGVkQXBwc0l0ZW1zKCkpKSB7XG4gICAgPGtpdC1uYXZpZ2F0aW9uLW1lbnUtc3VibWVudSBjbGFzcz1cInN1Yi1wYW5lbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQHdpZHRoRXhwYW5kQ29sbGFwc2VBbmltYXRpb25dXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWVudUl0ZW1dPVwic2VsZWN0ZWRJdGVtKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcHNNZW51SXRlbXNdPVwic2VsZWN0ZWRBcHBzSXRlbXMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobG9nb0NsaWNrZWQpPVwiaGFuZGxlTG9nb0NsaWNrKClcIlxuICAgID48L2tpdC1uYXZpZ2F0aW9uLW1lbnUtc3VibWVudT5cbiAgfVxuXG4gIDxuZy10ZW1wbGF0ZSAjbGlua0ljb25UZW1wbGF0ZSBsZXQtaXRlbT5cbiAgICA8a2l0LXN2Zy1pY29uIGNsYXNzPVwibmF2LWxpbmstaWNvblwiXG4gICAgICAgICAgICAgICAgICBbaWNvbl09XCJpdGVtLmljb25cIlxuICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbT8uaWNvblR5cGUgPz8gS2l0U3ZnSWNvblR5cGUuRklMTFwiXG4gICAgPjwva2l0LXN2Zy1pY29uPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2l0LW5hdmlnYXRpb24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2tpdC1uYXZpZ2F0aW9uLW1lbnUva2l0LW5hdmlnYXRpb24tbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2tpdC1uYXZpZ2F0aW9uLW1lbnUva2l0LW5hdmlnYXRpb24tbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBRTFHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7Ozs7O0FBWXhGLE1BQU0sT0FBTywwQkFBMEI7SUFrQnJDLFlBQ1UsTUFBYyxFQUNkLHdCQUFrRDtRQURsRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQW5CNUQ7O1dBRUc7UUFDTSxjQUFTLEdBQTRCLEVBQUUsQ0FBQztRQUVqRDs7V0FFRztRQUNNLGtCQUFhLEdBQStCLEVBQUUsQ0FBQztRQUUvQyxpQkFBWSxHQUFpRCxNQUFNLENBQUMsSUFBSSxDQUFD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QUcsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVPLFVBQVUsQ0FBQyxJQUEyQjtRQUM1QyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDckUsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ2pDLENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUMzRyxDQUFDOzhHQXJHVSwwQkFBMEI7a0dBQTFCLDBCQUEwQiwrSENuQnZDLGkyRUFnRUEsZ21GRGpEYztZQUNWLHVCQUF1QixDQUFDLE9BQU8sQ0FBQztTQUNqQzs7MkZBRVUsMEJBQTBCO2tCQVR0QyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DO3dCQUNWLHVCQUF1QixDQUFDLE9BQU8sQ0FBQztxQkFDakM7a0hBTVEsU0FBUztzQkFBakIsS0FBSztnQkFLRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2l0TmF2aWdhdGlvbk1lbnVBcHBJdGVtLCBLaXROYXZpZ2F0aW9uTWVudUl0ZW0gfSBmcm9tICcuL2tpdC1uYXZpZ2F0aW9uLW1lbnUubW9kZWwnO1xuaW1wb3J0IHsgZXhwYW5kQ29sbGFwc2VBbmltYXRpb24gfSBmcm9tICcuL2tpdC1uYXZpZ2F0aW9uLW1lbnUudXRpbCc7XG5pbXBvcnQgeyBLaXRTdmdJY29uVHlwZSwgS2l0U3ZnSWNvbiB9IGZyb20gJy4uL2tpdC1zdmctaWNvbi9raXQtc3ZnLWljb24uY29uc3QnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgS2l0VG9vbHRpcFBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9raXQtdG9vbHRpcC9raXQtdG9vbHRpcC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgS2l0TmF2aWdhdGlvbk1lbnVTZXJ2aWNlIH0gZnJvbSAnLi9raXQtbmF2aWdhdGlvbi1tZW51LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdraXQtbmF2aWdhdGlvbi1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2tpdC1uYXZpZ2F0aW9uLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4va2l0LW5hdmlnYXRpb24tbWVudS5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBhbmltYXRpb25zOiBbXG4gICAgZXhwYW5kQ29sbGFwc2VBbmltYXRpb24oJ3dpZHRoJyksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEtpdE5hdmlnYXRpb25NZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIEFuIGl0ZW1zIGxpc3Qgd2hpY2ggaXMgZ29pbmcgdG8gYmUgcmVuZGVyZWQgYXMgbWVudSBpdGVtc1xuICAgKi9cbiAgQElucHV0KCkgbWVudUl0ZW1zOiBLaXROYXZpZ2F0aW9uTWVudUl0ZW1bXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBBbiBpdGVtcyBsaXN0IHdoaWNoIGlzIGdvaW5nIHRvIGJlIHJlbmRlcmVkIGFzIGFwcHMgbWVudSBpdGVtc1xuICAgKi9cbiAgQElucHV0KCkgYXBwc01lbnVJdGVtczogS2l0TmF2aWdhdGlvbk1lbnVBcHBJdGVtW10gPSBbXTtcblxuICByZWFkb25seSBzZWxlY3RlZEl0ZW06IFdyaXRhYmxlU2lnbmFsPEtpdE5hdmlnYXRpb25NZW51SXRlbSB8IG51bGw+ID0gc2lnbmFsKG51bGwpO1xuICByZWFkb25seSBzZWxlY3RlZEFwcHNJdGVtczogV3JpdGFibGVTaWduYWw8S2l0TmF2aWdhdGlvbk1lbnVBcHBJdGVtW10gfCBudWxsPiA9IHNpZ25hbChudWxsKTtcbiAgcmVhZG9ubHkgY29sbGFwc2VkOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiA9IHRoaXMua2l0TmF2aWdhdGlvbk1lbnVTZXJ2aWNlLmdldENvbGxhcHNlZFN0YXRlKCk7XG4gIHJlYWRvbmx5IEtpdFN2Z0ljb246IHR5cGVvZiBLaXRTdmdJY29uID0gS2l0U3ZnSWNvbjtcbiAgcmVhZG9ubHkgS2l0U3ZnSWNvblR5cGU6IHR5cGVvZiBLaXRTdmdJY29uVHlwZSA9IEtpdFN2Z0ljb25UeXBlO1xuICByZWFkb25seSBLaXRUb29sdGlwUG9zaXRpb246IHR5cGVvZiBLaXRUb29sdGlwUG9zaXRpb24gPSBLaXRUb29sdGlwUG9zaXRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGtpdE5hdmlnYXRpb25NZW51U2VydmljZTogS2l0TmF2aWdhdGlvbk1lbnVTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLnNldEV4cGFuZGVkU3RhdGVPblJvdXRlckNoYW5nZSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVOYXZpZ2F0aW9uU3RhdGUodGhpcy5tZW51SXRlbXMsIHRoaXMucm91dGVyLnVybCk7XG4gIH1cblxuICBoYW5kbGVDbGljayhpdGVtOiBLaXROYXZpZ2F0aW9uTWVudUl0ZW0pOiB2b2lkIHtcbiAgICAhaXRlbS5pdGVtcyA/IHRoaXMuY29sbGFwc2VBbGxJdGVtcyh0aGlzLm1lbnVJdGVtcykgOiB0aGlzLnRvZ2dsZUl0ZW0oaXRlbSk7XG4gICAgdGhpcy5zZWxlY3RlZEFwcHNJdGVtcy5zZXQobnVsbCk7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0uc2V0KGl0ZW0pO1xuICAgIHRoaXMudXBkYXRlTWVudVN0YXRlKCk7XG4gIH1cblxuICBoYW5kbGVMb2dvQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5jb2xsYXBzZUFsbEl0ZW1zKHRoaXMubWVudUl0ZW1zKTtcbiAgICB0aGlzLnNlbGVjdGVkQXBwc0l0ZW1zLnNldChudWxsKTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbS5zZXQobnVsbCk7XG4gICAgdGhpcy51cGRhdGVNZW51U3RhdGUoKTtcbiAgfVxuXG4gIG9uQXBwc01lbnVCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEFwcHNJdGVtcygpICYmICF0aGlzLmNvbGxhcHNlZCgpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQXBwc0l0ZW1zLnNldChudWxsKTtcbiAgICAgIHRoaXMuY29sbGFwc2VBbGxJdGVtcyh0aGlzLm1lbnVJdGVtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMua2l0TmF2aWdhdGlvbk1lbnVTZXJ2aWNlLnNldENvbGxhcHNlZFN0YXRlKGZhbHNlKTtcbiAgICAgIHRoaXMubWVudUl0ZW1zLmZvckVhY2goaXRlbSA9PiBpdGVtLmV4cGFuZGVkID0gZmFsc2UpO1xuICAgICAgdGhpcy5zZWxlY3RlZEFwcHNJdGVtcy5zZXQodGhpcy5hcHBzTWVudUl0ZW1zKTtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZU1lbnVTdGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRFeHBhbmRlZFN0YXRlT25Sb3V0ZXJDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICkuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlTmF2aWdhdGlvblN0YXRlKHRoaXMubWVudUl0ZW1zLCB0aGlzLnJvdXRlci51cmwpKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTmF2aWdhdGlvblN0YXRlKGl0ZW1zOiBLaXROYXZpZ2F0aW9uTWVudUl0ZW1bXSwgdXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBtYXRjaExpbmsgPSAoaXRlbTogS2l0TmF2aWdhdGlvbk1lbnVJdGVtKTogYm9vbGVhbiA9PiAhIShpdGVtLmxpbmsgJiYgdXJsLnN0YXJ0c1dpdGgoaXRlbS5saW5rKSk7XG4gICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGlmIChpdGVtLml0ZW1zKSB7XG4gICAgICAgIHRoaXMudXBkYXRlTmF2aWdhdGlvblN0YXRlKGl0ZW0uaXRlbXMsIHVybCk7XG4gICAgICAgIGl0ZW0uZXhwYW5kZWQgPSBpdGVtLml0ZW1zLnNvbWUoY2hpbGQgPT4gY2hpbGQuZXhwYW5kZWQpIHx8XG4gICAgICAgICAgaXRlbS5pdGVtcy5zb21lKGNoaWxkID0+IG1hdGNoTGluayhjaGlsZCkpO1xuICAgICAgICBpdGVtLmFjdGl2ZSA9IGl0ZW0uaXRlbXMuc29tZShjaGlsZCA9PiBjaGlsZC5hY3RpdmUpO1xuICAgICAgICBpZiAoaXRlbS5leHBhbmRlZCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtLnNldChpdGVtKTtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQXBwc0l0ZW1zLnNldChudWxsKTtcbiAgICAgICAgICB0aGlzLmtpdE5hdmlnYXRpb25NZW51U2VydmljZS5zZXRDb2xsYXBzZWRTdGF0ZShmYWxzZSk7XG4gICAgICAgICAgdGhpcy51cGRhdGVNZW51U3RhdGUoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaXRlbS5leHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICBpdGVtLmFjdGl2ZSA9IG1hdGNoTGluayhpdGVtKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY29sbGFwc2VBbGxJdGVtcyhpdGVtczogS2l0TmF2aWdhdGlvbk1lbnVJdGVtW10pOiB2b2lkIHtcbiAgICB0aGlzLmtpdE5hdmlnYXRpb25NZW51U2VydmljZS5zZXRDb2xsYXBzZWRTdGF0ZSh0cnVlKTtcbiAgICBpdGVtcy5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5leHBhbmRlZCA9IGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgdG9nZ2xlSXRlbShpdGVtOiBLaXROYXZpZ2F0aW9uTWVudUl0ZW0pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb2xsYXBzZWQoKSB8fCBpdGVtLmV4cGFuZGVkKSB7XG4gICAgICB0aGlzLmtpdE5hdmlnYXRpb25NZW51U2VydmljZS5zZXRDb2xsYXBzZWRTdGF0ZSghdGhpcy5jb2xsYXBzZWQoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWVudUl0ZW1zLmZvckVhY2goaXRlbSA9PiBpdGVtLmV4cGFuZGVkID0gZmFsc2UpO1xuICAgIH1cblxuICAgIGl0ZW0uZXhwYW5kZWQgPSAhaXRlbS5leHBhbmRlZDtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTWVudVN0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMua2l0TmF2aWdhdGlvbk1lbnVTZXJ2aWNlLnNldFNlbGVjdGVkU3RhdGUoISF0aGlzLnNlbGVjdGVkSXRlbSgpPy5pdGVtcywgISF0aGlzLnNlbGVjdGVkQXBwc0l0ZW1zKCkpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwia2l0LW5hdmlnYXRpb24tbWVudVwiXG4gICAgIFtjbGFzcy5jb2xsYXBzZWRdPVwiY29sbGFwc2VkKClcIj5cbiAgPGRpdiBjbGFzcz1cIm1haW4tcGFuZWxcIj5cbiAgICBAaWYgKGFwcHNNZW51SXRlbXMubGVuZ3RoID4gMSkge1xuICAgICAgPGJ1dHRvbiBjbGFzcz1cImFwcC1idG5cIlxuICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkQXBwc0l0ZW1zKCkgJiYgIWNvbGxhcHNlZCgpXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQXBwc01lbnVCdXR0b25DbGljaygpXCI+XG4gICAgICAgIDxraXQtc3ZnLWljb24gY2xhc3M9XCJhcHAtYnRuLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cIktpdFN2Z0ljb24uRk9VUl9TUVVBUkVcIlxuICAgICAgICA+PC9raXQtc3ZnLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG4gICAgPGRpdiBjbGFzcz1cIm5hdi1saXN0XCI+XG4gICAgICBAZm9yIChpdGVtIG9mIG1lbnVJdGVtczsgdHJhY2sgaXRlbSkge1xuICAgICAgICBAaWYgKGl0ZW0uaXRlbXM/Lmxlbmd0aCkge1xuICAgICAgICAgIDxhIGNsYXNzPVwibmF2LWxpbmtcIlxuICAgICAgICAgICAgIGtpdFRvb2x0aXBcbiAgICAgICAgICAgICBraXRUb29sdGlwRmlsdGVyPVwiLm5hdi1saW5rXCJcbiAgICAgICAgICAgICBba2l0VG9vbHRpcFBvc2l0aW9uXT1cIktpdFRvb2x0aXBQb3NpdGlvbi5SSUdIVFwiXG4gICAgICAgICAgICAgW3RpdGxlXT1cIml0ZW0udGl0bGVcIlxuICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiaXRlbS5hY3RpdmVcIlxuICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVDbGljayhpdGVtKVwiPlxuICAgICAgICAgICAgQGlmIChpdGVtLmljb24pIHtcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpbmtJY29uVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIlxuICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICBAaWYgKGl0ZW0ubGluaykge1xuICAgICAgICAgICAgPGEgY2xhc3M9XCJuYXYtbGlua1wiXG4gICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCJcbiAgICAgICAgICAgICAgIGtpdFRvb2x0aXBcbiAgICAgICAgICAgICAgIGtpdFRvb2x0aXBGaWx0ZXI9XCIubmF2LWxpbmtcIlxuICAgICAgICAgICAgICAgW2tpdFRvb2x0aXBQb3NpdGlvbl09XCJLaXRUb29sdGlwUG9zaXRpb24uUklHSFRcIlxuICAgICAgICAgICAgICAgW3RpdGxlXT1cIml0ZW0udGl0bGVcIlxuICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbT8ubGlua1wiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQ2xpY2soaXRlbSlcIj5cbiAgICAgICAgICAgICAgQGlmIChpdGVtLmljb24pIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlua0ljb25UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIEBpZiAoIWNvbGxhcHNlZCgpICYmIChzZWxlY3RlZEl0ZW0oKT8uaXRlbXMgfHwgc2VsZWN0ZWRBcHBzSXRlbXMoKSkpIHtcbiAgICA8a2l0LW5hdmlnYXRpb24tbWVudS1zdWJtZW51IGNsYXNzPVwic3ViLXBhbmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtAd2lkdGhFeHBhbmRDb2xsYXBzZUFuaW1hdGlvbl1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttZW51SXRlbV09XCJzZWxlY3RlZEl0ZW0oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwc01lbnVJdGVtc109XCJzZWxlY3RlZEFwcHNJdGVtcygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsb2dvQ2xpY2tlZCk9XCJoYW5kbGVMb2dvQ2xpY2soKVwiXG4gICAgPjwva2l0LW5hdmlnYXRpb24tbWVudS1zdWJtZW51PlxuICB9XG5cbiAgPG5nLXRlbXBsYXRlICNsaW5rSWNvblRlbXBsYXRlIGxldC1pdGVtPlxuICAgIDxraXQtc3ZnLWljb24gY2xhc3M9XCJuYXYtbGluay1pY29uXCJcbiAgICAgICAgICAgICAgICAgIFtpY29uXT1cIml0ZW0uaWNvblwiXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJpdGVtPy5pY29uVHlwZSA/PyBLaXRTdmdJY29uVHlwZS5GSUxMXCJcbiAgICA+PC9raXQtc3ZnLWljb24+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
@@ -3,6 +3,7 @@ import * as i0 from "@angular/core";
3
3
  export class KitNavigationMenuService {
4
4
  constructor() {
5
5
  this.collapsed = signal(true);
6
+ this.selected = signal(false);
6
7
  }
7
8
  getCollapsedState() {
8
9
  return this.collapsed;
@@ -10,10 +11,16 @@ export class KitNavigationMenuService {
10
11
  setCollapsedState(collapsed) {
11
12
  this.collapsed.set(collapsed);
12
13
  }
14
+ setSelectedState(hasSelectedMenu, hasSelectedApps) {
15
+ this.selected.set(hasSelectedMenu || hasSelectedApps);
16
+ }
17
+ getSelectedState() {
18
+ return this.selected;
19
+ }
13
20
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KitNavigationMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
14
21
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KitNavigationMenuService }); }
15
22
  }
16
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KitNavigationMenuService, decorators: [{
17
24
  type: Injectable
18
25
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2l0LW5hdmlnYXRpb24tbWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9raXQtbmF2aWdhdGlvbi1tZW51L2tpdC1uYXZpZ2F0aW9uLW1lbnUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBa0IsTUFBTSxlQUFlLENBQUM7O0FBR25FLE1BQU0sT0FBTyx3QkFBd0I7SUFEckM7UUFFbUIsY0FBUyxHQUE0QixNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7S0FTcEU7SUFQQyxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELGlCQUFpQixDQUFDLFNBQWtCO1FBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OEdBVFUsd0JBQXdCO2tIQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBzaWduYWwsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBLaXROYXZpZ2F0aW9uTWVudVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbGxhcHNlZDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwodHJ1ZSk7XG5cbiAgZ2V0Q29sbGFwc2VkU3RhdGUoKTogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmNvbGxhcHNlZDtcbiAgfVxuXG4gIHNldENvbGxhcHNlZFN0YXRlKGNvbGxhcHNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuY29sbGFwc2VkLnNldChjb2xsYXBzZWQpO1xuICB9XG59XG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2l0LW5hdmlnYXRpb24tbWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9raXQtbmF2aWdhdGlvbi1tZW51L2tpdC1uYXZpZ2F0aW9uLW1lbnUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBa0IsTUFBTSxlQUFlLENBQUM7O0FBR25FLE1BQU0sT0FBTyx3QkFBd0I7SUFEckM7UUFFbUIsY0FBUyxHQUE0QixNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEQsYUFBUSxHQUE0QixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7S0FpQnBFO0lBZkMsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxTQUFrQjtRQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsZUFBd0IsRUFBRSxlQUF3QjtRQUNqRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLElBQUksZUFBZSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOzhHQWxCVSx3QkFBd0I7a0hBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIHNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEtpdE5hdmlnYXRpb25NZW51U2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29sbGFwc2VkOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiA9IHNpZ25hbCh0cnVlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBzZWxlY3RlZDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuXG4gIGdldENvbGxhcHNlZFN0YXRlKCk6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5jb2xsYXBzZWQ7XG4gIH1cblxuICBzZXRDb2xsYXBzZWRTdGF0ZShjb2xsYXBzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmNvbGxhcHNlZC5zZXQoY29sbGFwc2VkKTtcbiAgfVxuXG4gIHNldFNlbGVjdGVkU3RhdGUoaGFzU2VsZWN0ZWRNZW51OiBib29sZWFuLCBoYXNTZWxlY3RlZEFwcHM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkLnNldChoYXNTZWxlY3RlZE1lbnUgfHwgaGFzU2VsZWN0ZWRBcHBzKTtcbiAgfVxuXG4gIGdldFNlbGVjdGVkU3RhdGUoKTogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkO1xuICB9XG59XG4iXX0=
@@ -3781,6 +3781,7 @@ const expandCollapseAnimation = (property) => trigger(`${property}ExpandCollapse
3781
3781
  class KitNavigationMenuService {
3782
3782
  constructor() {
3783
3783
  this.collapsed = signal(true);
3784
+ this.selected = signal(false);
3784
3785
  }
3785
3786
  getCollapsedState() {
3786
3787
  return this.collapsed;
@@ -3788,6 +3789,12 @@ class KitNavigationMenuService {
3788
3789
  setCollapsedState(collapsed) {
3789
3790
  this.collapsed.set(collapsed);
3790
3791
  }
3792
+ setSelectedState(hasSelectedMenu, hasSelectedApps) {
3793
+ this.selected.set(hasSelectedMenu || hasSelectedApps);
3794
+ }
3795
+ getSelectedState() {
3796
+ return this.selected;
3797
+ }
3791
3798
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KitNavigationMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3792
3799
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KitNavigationMenuService }); }
3793
3800
  }
@@ -3822,7 +3829,7 @@ class KitNavigationMenuSubmenuComponent {
3822
3829
  return `${location?.origin}/` === url;
3823
3830
  }
3824
3831
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KitNavigationMenuSubmenuComponent, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
3825
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KitNavigationMenuSubmenuComponent, selector: "kit-navigation-menu-submenu", inputs: { menuItem: "menuItem", appsMenuItems: "appsMenuItems" }, outputs: { logoClicked: "logoClicked" }, ngImport: i0, template: "<div class=\"kit-navigation-menu-submenu\">\n <div class=\"nav-logo\">\n <a class=\"nav-logo-link\"\n [routerLink]=\"rootPath\"\n (click)=\"logoClicked.emit()\">\n <kit-svg-icon class=\"seko-icon\"\n [icon]=\"KitSvgIcon.SEKO\"\n ></kit-svg-icon>\n <kit-svg-icon class=\"seko-360-icon\"\n [icon]=\"KitSvgIcon.SEKO_360\"\n ></kit-svg-icon>\n </a>\n </div>\n @if (appsMenuItems) {\n <div class=\"apps-menu\">\n @for (item of appsMenuItems; track item) {\n <a class=\"app-link\"\n [class.active]=\"isAppItemActive(item.url)\"\n [href]=\"item.url\">\n <span class=\"app-link-btn\">\n <kit-svg-icon class=\"app-link-icon\"\n [icon]=\"item.name.toLowerCase()\"\n ></kit-svg-icon>\n </span>\n <span class=\"app-link-title\">{{ item.name }}</span>\n </a>\n }\n </div>\n } @else {\n <div class=\"main-menu\">\n <div class=\"nav-title\">{{ menuItem?.title }}</div>\n <div class=\"nav-list\">\n @for (child of menuItem?.items; track child) {\n @if (!child.items?.length) {\n @if (child.link) {\n <a class=\"nav-link\"\n routerLinkActive=\"active\"\n [routerLink]=\"child.link\">\n {{ child.title }}\n </a>\n }\n }\n\n @if (child.items?.length) {\n <a class=\"nav-link\"\n [class.expanded]=\"child.expanded\"\n (click)=\"handleClick(child)\">\n {{ child.title }}\n <kit-svg-icon class=\"toggle-icon\"\n [icon]=\"KitSvgIcon.CHEVRON_DOWN\"\n ></kit-svg-icon>\n </a>\n\n @if (child?.expanded) {\n <div @heightExpandCollapseAnimation\n class=\"nav-list\">\n @for (subChild of child.items; track subChild) {\n @if (subChild.link) {\n <a class=\"child-link\"\n routerLinkActive=\"active\"\n [routerLink]=\"subChild.link\">\n {{ subChild.title }}\n </a>\n }\n }\n </div>\n }\n }\n }\n </div>\n </div>\n }\n</div>\n", styles: [".kit-navigation-menu-submenu{padding:0 15px;width:200px;height:100%;color:var(--ui-kit-color-grey-10);box-sizing:border-box;border-right:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white)}.kit-navigation-menu-submenu .nav-logo{padding:30px 5px;border-bottom:1px solid var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .nav-logo-link{display:flex;gap:5px}.kit-navigation-menu-submenu .nav-logo .seko-icon{width:97px;height:29px}.kit-navigation-menu-submenu .nav-logo .seko-360-icon{height:20px;width:59px;fill:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .apps-menu{display:flex;flex-direction:column;gap:15px;padding:15px 0}.kit-navigation-menu-submenu .app-link{display:flex;flex-direction:column;align-items:center;padding:20px;gap:20px;border-radius:8px;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-13);text-decoration:none}.kit-navigation-menu-submenu .app-link:not(.active):hover{border-color:var(--ui-kit-color-grey-12);background:var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .app-link:not(.active):hover .app-link-title{border-color:var(--ui-kit-color-grey-12)}.kit-navigation-menu-submenu .app-link-btn{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:8px;background:var(--ui-kit-color-white);box-shadow:0 4px 6px #0000000d,0 10px 15px #0000001a}.kit-navigation-menu-submenu .app-link-icon{width:32px;height:32px;fill:var(--ui-kit-color-main);stroke:none}.kit-navigation-menu-submenu .app-link-title{display:flex;justify-content:center;padding-top:10px;width:100%;color:var(--ui-kit-color-grey-10);border-top:1px solid var(--ui-kit-color-grey-11);font-size:14px;font-weight:500;text-transform:uppercase}.kit-navigation-menu-submenu .app-link.active{cursor:default;pointer-events:none}.kit-navigation-menu-submenu .app-link.active .app-link-btn{background:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .app-link.active .app-link-icon{fill:var(--ui-kit-color-white)}.kit-navigation-menu-submenu .nav-title{padding:15px 0;font-size:18px;font-weight:600}.kit-navigation-menu-submenu .nav-list{display:flex;flex-direction:column;gap:5px;overflow:hidden}.kit-navigation-menu-submenu .nav-link{display:flex;align-items:center;gap:8px;padding:10px 0;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:500;text-decoration:none;line-height:20px;cursor:pointer}.kit-navigation-menu-submenu .nav-link .toggle-icon{width:16px;height:16px;fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-navigation-menu-submenu .nav-link:hover,.kit-navigation-menu-submenu .nav-link.active,.kit-navigation-menu-submenu .nav-link.expanded{color:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .nav-link.expanded .toggle-icon{stroke:var(--ui-kit-color-main);transform:rotate(180deg)}.kit-navigation-menu-submenu .child-link{display:flex;align-items:center;gap:12px;position:relative;padding:10px 20px;color:var(--ui-kit-color-grey-14);font-size:14px;font-weight:400;border-radius:8px;line-height:20px;text-decoration:none}.kit-navigation-menu-submenu .child-link:hover{background:var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .child-link.active:before{content:\"\";position:absolute;left:0;width:7px;height:7px;border-radius:2px;background:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .child-link.active:hover{background:none}\n"], dependencies: [{ kind: "directive", type: i1$7.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$7.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }], animations: [
3832
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KitNavigationMenuSubmenuComponent, selector: "kit-navigation-menu-submenu", inputs: { menuItem: "menuItem", appsMenuItems: "appsMenuItems" }, outputs: { logoClicked: "logoClicked" }, ngImport: i0, template: "<div class=\"kit-navigation-menu-submenu\">\n <div class=\"nav-logo\">\n <a class=\"nav-logo-link\"\n [routerLink]=\"rootPath\"\n (click)=\"logoClicked.emit()\">\n <kit-svg-icon class=\"seko-icon\"\n [icon]=\"KitSvgIcon.SEKO\"\n ></kit-svg-icon>\n <kit-svg-icon class=\"seko-360-icon\"\n [icon]=\"KitSvgIcon.SEKO_360\"\n ></kit-svg-icon>\n </a>\n </div>\n @if (appsMenuItems) {\n <div class=\"apps-menu\">\n @for (item of appsMenuItems; track item) {\n <a class=\"app-link\"\n [class.active]=\"isAppItemActive(item.url)\"\n [href]=\"item.url\">\n <span class=\"app-link-btn\">\n <kit-svg-icon class=\"app-link-icon\"\n [icon]=\"item.name.toLowerCase()\"\n ></kit-svg-icon>\n </span>\n <span class=\"app-link-title\">{{ item.name }}</span>\n </a>\n }\n </div>\n } @else {\n <div class=\"main-menu\">\n <div class=\"nav-title\">{{ menuItem?.title }}</div>\n <div class=\"nav-list\">\n @for (child of menuItem?.items; track child) {\n @if (!child.items?.length) {\n @if (child.link) {\n <a class=\"nav-link\"\n routerLinkActive=\"active\"\n [routerLink]=\"child.link\">\n {{ child.title }}\n </a>\n }\n }\n\n @if (child.items?.length) {\n <a class=\"nav-link\"\n [class.expanded]=\"child.expanded\"\n (click)=\"handleClick(child)\">\n {{ child.title }}\n <kit-svg-icon class=\"toggle-icon\"\n [icon]=\"KitSvgIcon.CHEVRON_DOWN\"\n ></kit-svg-icon>\n </a>\n\n @if (child?.expanded) {\n <div @heightExpandCollapseAnimation\n class=\"nav-list\">\n @for (subChild of child.items; track subChild) {\n @if (subChild.link) {\n <a class=\"child-link\"\n routerLinkActive=\"active\"\n [routerLink]=\"subChild.link\">\n {{ subChild.title }}\n </a>\n }\n }\n </div>\n }\n }\n }\n </div>\n </div>\n }\n</div>\n", styles: [".kit-navigation-menu-submenu{padding:0 15px;width:200px;height:100%;color:var(--ui-kit-color-grey-10);box-sizing:border-box;border-right:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white)}.kit-navigation-menu-submenu .nav-logo{padding:28px 5px;border-bottom:1px solid var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .nav-logo-link{display:flex;gap:5px}.kit-navigation-menu-submenu .nav-logo .seko-icon{width:97px;height:29px}.kit-navigation-menu-submenu .nav-logo .seko-360-icon{height:20px;width:59px;fill:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .apps-menu{display:flex;flex-direction:column;gap:15px;padding:15px 0}.kit-navigation-menu-submenu .app-link{display:flex;flex-direction:column;align-items:center;padding:20px;gap:20px;border-radius:8px;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-13);text-decoration:none}.kit-navigation-menu-submenu .app-link:not(.active):hover{border-color:var(--ui-kit-color-grey-12);background:var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .app-link:not(.active):hover .app-link-title{border-color:var(--ui-kit-color-grey-12)}.kit-navigation-menu-submenu .app-link-btn{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:8px;background:var(--ui-kit-color-white);box-shadow:0 4px 6px #0000000d,0 10px 15px #0000001a}.kit-navigation-menu-submenu .app-link-icon{width:32px;height:32px;fill:var(--ui-kit-color-main);stroke:none}.kit-navigation-menu-submenu .app-link-title{display:flex;justify-content:center;padding-top:10px;width:100%;color:var(--ui-kit-color-grey-10);border-top:1px solid var(--ui-kit-color-grey-11);font-size:14px;font-weight:500;text-transform:uppercase}.kit-navigation-menu-submenu .app-link.active{cursor:default;pointer-events:none}.kit-navigation-menu-submenu .app-link.active .app-link-btn{background:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .app-link.active .app-link-icon{fill:var(--ui-kit-color-white)}.kit-navigation-menu-submenu .nav-title{padding:15px 0;font-size:18px;font-weight:600}.kit-navigation-menu-submenu .nav-list{display:flex;flex-direction:column;gap:5px;overflow:hidden}.kit-navigation-menu-submenu .nav-link{display:flex;align-items:center;gap:8px;padding:10px 0;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:500;text-decoration:none;line-height:20px;cursor:pointer}.kit-navigation-menu-submenu .nav-link .toggle-icon{width:16px;height:16px;fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-navigation-menu-submenu .nav-link:hover,.kit-navigation-menu-submenu .nav-link.active,.kit-navigation-menu-submenu .nav-link.expanded{color:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .nav-link.expanded .toggle-icon{stroke:var(--ui-kit-color-main);transform:rotate(180deg)}.kit-navigation-menu-submenu .child-link{display:flex;align-items:center;gap:12px;position:relative;padding:10px 20px;color:var(--ui-kit-color-grey-14);font-size:14px;font-weight:400;border-radius:8px;line-height:20px;text-decoration:none}.kit-navigation-menu-submenu .child-link:hover{background:var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .child-link.active:before{content:\"\";position:absolute;left:0;width:7px;height:7px;border-radius:2px;background:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .child-link.active:hover{background:none}\n"], dependencies: [{ kind: "directive", type: i1$7.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$7.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }], animations: [
3826
3833
  expandCollapseAnimation('height'),
3827
3834
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3828
3835
  }
@@ -3830,7 +3837,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
3830
3837
  type: Component,
3831
3838
  args: [{ selector: 'kit-navigation-menu-submenu', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
3832
3839
  expandCollapseAnimation('height'),
3833
- ], template: "<div class=\"kit-navigation-menu-submenu\">\n <div class=\"nav-logo\">\n <a class=\"nav-logo-link\"\n [routerLink]=\"rootPath\"\n (click)=\"logoClicked.emit()\">\n <kit-svg-icon class=\"seko-icon\"\n [icon]=\"KitSvgIcon.SEKO\"\n ></kit-svg-icon>\n <kit-svg-icon class=\"seko-360-icon\"\n [icon]=\"KitSvgIcon.SEKO_360\"\n ></kit-svg-icon>\n </a>\n </div>\n @if (appsMenuItems) {\n <div class=\"apps-menu\">\n @for (item of appsMenuItems; track item) {\n <a class=\"app-link\"\n [class.active]=\"isAppItemActive(item.url)\"\n [href]=\"item.url\">\n <span class=\"app-link-btn\">\n <kit-svg-icon class=\"app-link-icon\"\n [icon]=\"item.name.toLowerCase()\"\n ></kit-svg-icon>\n </span>\n <span class=\"app-link-title\">{{ item.name }}</span>\n </a>\n }\n </div>\n } @else {\n <div class=\"main-menu\">\n <div class=\"nav-title\">{{ menuItem?.title }}</div>\n <div class=\"nav-list\">\n @for (child of menuItem?.items; track child) {\n @if (!child.items?.length) {\n @if (child.link) {\n <a class=\"nav-link\"\n routerLinkActive=\"active\"\n [routerLink]=\"child.link\">\n {{ child.title }}\n </a>\n }\n }\n\n @if (child.items?.length) {\n <a class=\"nav-link\"\n [class.expanded]=\"child.expanded\"\n (click)=\"handleClick(child)\">\n {{ child.title }}\n <kit-svg-icon class=\"toggle-icon\"\n [icon]=\"KitSvgIcon.CHEVRON_DOWN\"\n ></kit-svg-icon>\n </a>\n\n @if (child?.expanded) {\n <div @heightExpandCollapseAnimation\n class=\"nav-list\">\n @for (subChild of child.items; track subChild) {\n @if (subChild.link) {\n <a class=\"child-link\"\n routerLinkActive=\"active\"\n [routerLink]=\"subChild.link\">\n {{ subChild.title }}\n </a>\n }\n }\n </div>\n }\n }\n }\n </div>\n </div>\n }\n</div>\n", styles: [".kit-navigation-menu-submenu{padding:0 15px;width:200px;height:100%;color:var(--ui-kit-color-grey-10);box-sizing:border-box;border-right:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white)}.kit-navigation-menu-submenu .nav-logo{padding:30px 5px;border-bottom:1px solid var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .nav-logo-link{display:flex;gap:5px}.kit-navigation-menu-submenu .nav-logo .seko-icon{width:97px;height:29px}.kit-navigation-menu-submenu .nav-logo .seko-360-icon{height:20px;width:59px;fill:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .apps-menu{display:flex;flex-direction:column;gap:15px;padding:15px 0}.kit-navigation-menu-submenu .app-link{display:flex;flex-direction:column;align-items:center;padding:20px;gap:20px;border-radius:8px;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-13);text-decoration:none}.kit-navigation-menu-submenu .app-link:not(.active):hover{border-color:var(--ui-kit-color-grey-12);background:var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .app-link:not(.active):hover .app-link-title{border-color:var(--ui-kit-color-grey-12)}.kit-navigation-menu-submenu .app-link-btn{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:8px;background:var(--ui-kit-color-white);box-shadow:0 4px 6px #0000000d,0 10px 15px #0000001a}.kit-navigation-menu-submenu .app-link-icon{width:32px;height:32px;fill:var(--ui-kit-color-main);stroke:none}.kit-navigation-menu-submenu .app-link-title{display:flex;justify-content:center;padding-top:10px;width:100%;color:var(--ui-kit-color-grey-10);border-top:1px solid var(--ui-kit-color-grey-11);font-size:14px;font-weight:500;text-transform:uppercase}.kit-navigation-menu-submenu .app-link.active{cursor:default;pointer-events:none}.kit-navigation-menu-submenu .app-link.active .app-link-btn{background:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .app-link.active .app-link-icon{fill:var(--ui-kit-color-white)}.kit-navigation-menu-submenu .nav-title{padding:15px 0;font-size:18px;font-weight:600}.kit-navigation-menu-submenu .nav-list{display:flex;flex-direction:column;gap:5px;overflow:hidden}.kit-navigation-menu-submenu .nav-link{display:flex;align-items:center;gap:8px;padding:10px 0;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:500;text-decoration:none;line-height:20px;cursor:pointer}.kit-navigation-menu-submenu .nav-link .toggle-icon{width:16px;height:16px;fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-navigation-menu-submenu .nav-link:hover,.kit-navigation-menu-submenu .nav-link.active,.kit-navigation-menu-submenu .nav-link.expanded{color:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .nav-link.expanded .toggle-icon{stroke:var(--ui-kit-color-main);transform:rotate(180deg)}.kit-navigation-menu-submenu .child-link{display:flex;align-items:center;gap:12px;position:relative;padding:10px 20px;color:var(--ui-kit-color-grey-14);font-size:14px;font-weight:400;border-radius:8px;line-height:20px;text-decoration:none}.kit-navigation-menu-submenu .child-link:hover{background:var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .child-link.active:before{content:\"\";position:absolute;left:0;width:7px;height:7px;border-radius:2px;background:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .child-link.active:hover{background:none}\n"] }]
3840
+ ], template: "<div class=\"kit-navigation-menu-submenu\">\n <div class=\"nav-logo\">\n <a class=\"nav-logo-link\"\n [routerLink]=\"rootPath\"\n (click)=\"logoClicked.emit()\">\n <kit-svg-icon class=\"seko-icon\"\n [icon]=\"KitSvgIcon.SEKO\"\n ></kit-svg-icon>\n <kit-svg-icon class=\"seko-360-icon\"\n [icon]=\"KitSvgIcon.SEKO_360\"\n ></kit-svg-icon>\n </a>\n </div>\n @if (appsMenuItems) {\n <div class=\"apps-menu\">\n @for (item of appsMenuItems; track item) {\n <a class=\"app-link\"\n [class.active]=\"isAppItemActive(item.url)\"\n [href]=\"item.url\">\n <span class=\"app-link-btn\">\n <kit-svg-icon class=\"app-link-icon\"\n [icon]=\"item.name.toLowerCase()\"\n ></kit-svg-icon>\n </span>\n <span class=\"app-link-title\">{{ item.name }}</span>\n </a>\n }\n </div>\n } @else {\n <div class=\"main-menu\">\n <div class=\"nav-title\">{{ menuItem?.title }}</div>\n <div class=\"nav-list\">\n @for (child of menuItem?.items; track child) {\n @if (!child.items?.length) {\n @if (child.link) {\n <a class=\"nav-link\"\n routerLinkActive=\"active\"\n [routerLink]=\"child.link\">\n {{ child.title }}\n </a>\n }\n }\n\n @if (child.items?.length) {\n <a class=\"nav-link\"\n [class.expanded]=\"child.expanded\"\n (click)=\"handleClick(child)\">\n {{ child.title }}\n <kit-svg-icon class=\"toggle-icon\"\n [icon]=\"KitSvgIcon.CHEVRON_DOWN\"\n ></kit-svg-icon>\n </a>\n\n @if (child?.expanded) {\n <div @heightExpandCollapseAnimation\n class=\"nav-list\">\n @for (subChild of child.items; track subChild) {\n @if (subChild.link) {\n <a class=\"child-link\"\n routerLinkActive=\"active\"\n [routerLink]=\"subChild.link\">\n {{ subChild.title }}\n </a>\n }\n }\n </div>\n }\n }\n }\n </div>\n </div>\n }\n</div>\n", styles: [".kit-navigation-menu-submenu{padding:0 15px;width:200px;height:100%;color:var(--ui-kit-color-grey-10);box-sizing:border-box;border-right:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white)}.kit-navigation-menu-submenu .nav-logo{padding:28px 5px;border-bottom:1px solid var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .nav-logo-link{display:flex;gap:5px}.kit-navigation-menu-submenu .nav-logo .seko-icon{width:97px;height:29px}.kit-navigation-menu-submenu .nav-logo .seko-360-icon{height:20px;width:59px;fill:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .apps-menu{display:flex;flex-direction:column;gap:15px;padding:15px 0}.kit-navigation-menu-submenu .app-link{display:flex;flex-direction:column;align-items:center;padding:20px;gap:20px;border-radius:8px;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-13);text-decoration:none}.kit-navigation-menu-submenu .app-link:not(.active):hover{border-color:var(--ui-kit-color-grey-12);background:var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .app-link:not(.active):hover .app-link-title{border-color:var(--ui-kit-color-grey-12)}.kit-navigation-menu-submenu .app-link-btn{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:8px;background:var(--ui-kit-color-white);box-shadow:0 4px 6px #0000000d,0 10px 15px #0000001a}.kit-navigation-menu-submenu .app-link-icon{width:32px;height:32px;fill:var(--ui-kit-color-main);stroke:none}.kit-navigation-menu-submenu .app-link-title{display:flex;justify-content:center;padding-top:10px;width:100%;color:var(--ui-kit-color-grey-10);border-top:1px solid var(--ui-kit-color-grey-11);font-size:14px;font-weight:500;text-transform:uppercase}.kit-navigation-menu-submenu .app-link.active{cursor:default;pointer-events:none}.kit-navigation-menu-submenu .app-link.active .app-link-btn{background:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .app-link.active .app-link-icon{fill:var(--ui-kit-color-white)}.kit-navigation-menu-submenu .nav-title{padding:15px 0;font-size:18px;font-weight:600}.kit-navigation-menu-submenu .nav-list{display:flex;flex-direction:column;gap:5px;overflow:hidden}.kit-navigation-menu-submenu .nav-link{display:flex;align-items:center;gap:8px;padding:10px 0;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:500;text-decoration:none;line-height:20px;cursor:pointer}.kit-navigation-menu-submenu .nav-link .toggle-icon{width:16px;height:16px;fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-navigation-menu-submenu .nav-link:hover,.kit-navigation-menu-submenu .nav-link.active,.kit-navigation-menu-submenu .nav-link.expanded{color:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .nav-link.expanded .toggle-icon{stroke:var(--ui-kit-color-main);transform:rotate(180deg)}.kit-navigation-menu-submenu .child-link{display:flex;align-items:center;gap:12px;position:relative;padding:10px 20px;color:var(--ui-kit-color-grey-14);font-size:14px;font-weight:400;border-radius:8px;line-height:20px;text-decoration:none}.kit-navigation-menu-submenu .child-link:hover{background:var(--ui-kit-color-grey-11)}.kit-navigation-menu-submenu .child-link.active:before{content:\"\";position:absolute;left:0;width:7px;height:7px;border-radius:2px;background:var(--ui-kit-color-main)}.kit-navigation-menu-submenu .child-link.active:hover{background:none}\n"] }]
3834
3841
  }], ctorParameters: () => [{ type: Document, decorators: [{
3835
3842
  type: Inject,
3836
3843
  args: [DOCUMENT]
@@ -3869,21 +3876,25 @@ class KitNavigationMenuComponent {
3869
3876
  !item.items ? this.collapseAllItems(this.menuItems) : this.toggleItem(item);
3870
3877
  this.selectedAppsItems.set(null);
3871
3878
  this.selectedItem.set(item);
3879
+ this.updateMenuState();
3872
3880
  }
3873
3881
  handleLogoClick() {
3874
3882
  this.collapseAllItems(this.menuItems);
3875
3883
  this.selectedAppsItems.set(null);
3876
3884
  this.selectedItem.set(null);
3885
+ this.updateMenuState();
3877
3886
  }
3878
3887
  onAppsMenuButtonClick() {
3879
3888
  if (this.selectedAppsItems() && !this.collapsed()) {
3880
3889
  this.selectedAppsItems.set(null);
3881
3890
  this.collapseAllItems(this.menuItems);
3882
- return;
3883
3891
  }
3884
- this.kitNavigationMenuService.setCollapsedState(false);
3885
- this.menuItems.forEach(item => item.expanded = false);
3886
- this.selectedAppsItems.set(this.appsMenuItems);
3892
+ else {
3893
+ this.kitNavigationMenuService.setCollapsedState(false);
3894
+ this.menuItems.forEach(item => item.expanded = false);
3895
+ this.selectedAppsItems.set(this.appsMenuItems);
3896
+ }
3897
+ this.updateMenuState();
3887
3898
  }
3888
3899
  setExpandedStateOnRouterChange() {
3889
3900
  this.router.events.pipe(filter(event => event instanceof NavigationEnd), takeUntilDestroyed()).subscribe(() => this.updateNavigationState(this.menuItems, this.router.url));
@@ -3900,6 +3911,7 @@ class KitNavigationMenuComponent {
3900
3911
  this.selectedItem.set(item);
3901
3912
  this.selectedAppsItems.set(null);
3902
3913
  this.kitNavigationMenuService.setCollapsedState(false);
3914
+ this.updateMenuState();
3903
3915
  }
3904
3916
  }
3905
3917
  else {
@@ -3921,6 +3933,9 @@ class KitNavigationMenuComponent {
3921
3933
  }
3922
3934
  item.expanded = !item.expanded;
3923
3935
  }
3936
+ updateMenuState() {
3937
+ this.kitNavigationMenuService.setSelectedState(!!this.selectedItem()?.items, !!this.selectedAppsItems());
3938
+ }
3924
3939
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KitNavigationMenuComponent, deps: [{ token: i1$7.Router }, { token: KitNavigationMenuService }], target: i0.ɵɵFactoryTarget.Component }); }
3925
3940
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KitNavigationMenuComponent, selector: "kit-navigation-menu", inputs: { menuItems: "menuItems", appsMenuItems: "appsMenuItems" }, ngImport: i0, template: "<div class=\"kit-navigation-menu\"\n [class.collapsed]=\"collapsed()\">\n <div class=\"main-panel\">\n @if (appsMenuItems.length > 1) {\n <button class=\"app-btn\"\n [class.active]=\"selectedAppsItems() && !collapsed()\"\n (click)=\"onAppsMenuButtonClick()\">\n <kit-svg-icon class=\"app-btn-icon\"\n [icon]=\"KitSvgIcon.FOUR_SQUARE\"\n ></kit-svg-icon>\n </button>\n }\n <div class=\"nav-list\">\n @for (item of menuItems; track item) {\n @if (item.items?.length) {\n <a class=\"nav-link\"\n kitTooltip\n kitTooltipFilter=\".nav-link\"\n [kitTooltipPosition]=\"KitTooltipPosition.RIGHT\"\n [title]=\"item.title\"\n [class.active]=\"item.active\"\n (click)=\"handleClick(item)\">\n @if (item.icon) {\n <ng-container *ngTemplateOutlet=\"linkIconTemplate; context: { $implicit: item }\"\n ></ng-container>\n }\n </a>\n } @else {\n @if (item.link) {\n <a class=\"nav-link\"\n routerLinkActive=\"active\"\n kitTooltip\n kitTooltipFilter=\".nav-link\"\n [kitTooltipPosition]=\"KitTooltipPosition.RIGHT\"\n [title]=\"item.title\"\n [routerLink]=\"item?.link\"\n (click)=\"handleClick(item)\">\n @if (item.icon) {\n <ng-container *ngTemplateOutlet=\"linkIconTemplate; context: { $implicit: item }\"\n ></ng-container>\n }\n </a>\n }\n }\n }\n </div>\n </div>\n\n @if (!collapsed() && (selectedItem()?.items || selectedAppsItems())) {\n <kit-navigation-menu-submenu class=\"sub-panel\"\n [@widthExpandCollapseAnimation]\n [menuItem]=\"selectedItem()\"\n [appsMenuItems]=\"selectedAppsItems()\"\n (logoClicked)=\"handleLogoClick()\"\n ></kit-navigation-menu-submenu>\n }\n\n <ng-template #linkIconTemplate let-item>\n <kit-svg-icon class=\"nav-link-icon\"\n [icon]=\"item.icon\"\n [ngClass]=\"item?.iconType ?? KitSvgIconType.FILL\"\n ></kit-svg-icon>\n </ng-template>\n</div>\n", styles: [".kit-navigation-menu{display:flex;height:100%}.kit-navigation-menu .app-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:none;border-radius:8px;cursor:pointer}.kit-navigation-menu .app-btn-icon{width:16px;height:16px;fill:var(--ui-kit-color-white);stroke:var(--ui-kit-color-white)}.kit-navigation-menu .app-btn:hover{background:var(--ui-kit-color-grey-14)}.kit-navigation-menu .app-btn.active{background:var(--ui-kit-color-main)}.kit-navigation-menu .main-panel{display:flex;flex-direction:column;padding:25px 10px;width:56px;box-sizing:border-box}.kit-navigation-menu .main-panel:has(.app-btn){gap:46px}.kit-navigation-menu .main-panel:has(.app-btn) .nav-list{margin-top:0}.kit-navigation-menu .sub-panel{display:block;width:200px;overflow:hidden}.kit-navigation-menu .nav-list{display:flex;flex-direction:column;gap:30px;margin-top:82px}.kit-navigation-menu .nav-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;cursor:pointer}.kit-navigation-menu .nav-link:hover{background:var(--ui-kit-color-grey-14)}.kit-navigation-menu .nav-link.active{background:var(--ui-kit-color-main)}.kit-navigation-menu .nav-link-icon{display:block;width:16px;height:16px;flex-shrink:0}.kit-navigation-menu .nav-link-icon.fill{fill:var(--ui-kit-color-white);stroke:none}.kit-navigation-menu .nav-link-icon.stroke{fill:none;stroke:var(--ui-kit-color-white)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "directive", type: i1$7.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$7.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: KitNavigationMenuSubmenuComponent, selector: "kit-navigation-menu-submenu", inputs: ["menuItem", "appsMenuItems"], outputs: ["logoClicked"] }, { kind: "directive", type: KitTooltipDirective, selector: "[kitTooltip]", inputs: ["kitTooltipPosition", "kitTooltipFilter", "kitTooltipTemplateRef"] }], animations: [
3926
3941
  expandCollapseAnimation('width'),