@indice/ng-components 0.2.76 → 0.2.80

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.
@@ -81,7 +81,7 @@ ShellHeaderComponent.decorators = [
81
81
  { type: Component, args: [{
82
82
  // tslint:disable-next-line:component-selector
83
83
  selector: 'lib-shell-header',
84
- template: "<nav>\r\n <div class=\"shell-header-paddings\">\r\n <div [class]=\"border ? 'shell-header-border' : ''\">\r\n <div class=\"shell-header-menu-container\">\r\n <div class=\"shell-header-links-no-grow-container\">\r\n <div>\r\n <a href=\"#\"\r\n [routerLink]=\"['/']\"><img class=\"h-8 w-8\"\r\n style=\"width:2rem; height: 2rem;\"\r\n [src]=\"config.appLogo\"\r\n [alt]=\"config.appLogoAlt\" /></a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"shell-header-link-container\">\r\n <ng-container *ngFor=\"let link of sectionLinks | async\">\r\n <a href=\"#\"\r\n [routerLink]=\"[link.path]\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\"\r\n [routerLinkActive]=\"['nav-link-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"shell-header-md-visible\">\r\n <div class=\"shell-header-links-no-grow-container\">\r\n\r\n <ng-container *ngFor=\"let link of links.profileActions | async\">\r\n <a class=\"shell-header-menu-rounded-button\"\r\n (clickOutside)=\"onClickOutside($event)\"\r\n [attr.href]=\"link.path\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\">\r\n <span class=\"sr-only\">{{ link.text }}</span>\r\n <i *ngIf=\"link.icon\"\r\n [class]=\"link.icon\"></i>\r\n </a>\r\n </ng-container>\r\n\r\n <!-- Profile dropdown -->\r\n <div class=\"ml-2 relative\"\r\n (clickOutside)=\"onClickOutside($event)\"\r\n *ngIf=\"profileMenuVisible\">\r\n <div [ngClass]=\"{'shell-header-profile': showUserNameOnHeader}\">\r\n <div *ngIf=\"user && showUserNameOnHeader\"\r\n class=\"shell-header-profile-userName\">\r\n {{ user.profile.name }}\r\n </div>\r\n <button type=\"button\"\r\n *ngIf=\"user\"\r\n (click)=\"userMenuExpanded = !userMenuExpanded\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\">\r\n <span class=\"sr-only\">Open user menu</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\">{{this.avatarName}}</span>\r\n </span>\r\n </button>\r\n\r\n <button type=\"button\"\r\n *ngIf=\"!user\"\r\n (click)=\"signin(null)\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\">\r\n <span class=\"sr-only\">sign in</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\"><i class=\"ms-Icon ms-Icon--Signin\"></i></span>\r\n </span>\r\n </button>\r\n\r\n <div *ngIf=\"userMenuExpanded\"\r\n [ngClass]=\"showUserNameOnHeader ? 'shell-header-profile-dropdown-with-username' : 'shell-header-profile-dropdown'\"\r\n role=\"menu\"\r\n aria-orientation=\"vertical\"\r\n aria-labelledby=\"user-menu\">\r\n <!-- <a href=\"#\" class=\"block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100\" role=\"menuitem\">\u0391\u03C0\u03BF\u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7</a> -->\r\n <ng-container *ngFor=\"let link of links.profile | async\">\r\n <a [attr.href]=\"link.path\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\"\r\n [routerLinkActive]=\"['nav-link-profile-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link-profile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mobile-menu-button-container\">\r\n <!-- Mobile menu button -->\r\n <button type=\"button\"\r\n (click)=\"mobileMenuExpanded = !mobileMenuExpanded\"\r\n class=\"mobile-menu-button\"\r\n aria-controls=\"mobile-menu\"\r\n [attr.aria-expanded]=\"mobileMenuExpanded\">\r\n <span class=\"sr-only\">Open main menu</span>\r\n <!--Heroicon name: outline/menu Menu open: \"hidden\", Menu closed: \"block\"-->\r\n <svg class=\"block h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M4 6h16M4 12h16M4 18h16\" />\r\n </svg>\r\n <!--Heroicon name: outline/x Menu open: \"block\", Menu closed: \"hidden\"-->\r\n <svg class=\"hidden h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Mobile menu, show/hide based on menu state. -->\r\n <div class=\"mobile-menu-container\"\r\n *ngIf=\"mobileMenuExpanded\"\r\n id=\"mobile-menu\">\r\n <div class=\"mobile-menu-link-container\">\r\n <ng-container *ngFor=\"let link of sectionLinks | async\">\r\n <a [attr.href]=\"link.path\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\"\r\n [routerLinkActive]=\"['nav-link-mobile-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"!user\">\r\n <a href=\"#\"\r\n (click)=\"signin($event)\"\r\n class=\"nav-link-mobile\">\r\n <i class=\"ms-Icon ms-Icon--Signin mr-2\"></i>\u03A3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7\r\n </a>\r\n </ng-container>\r\n </div>\r\n <div class=\"mobile-menu-user-info-container\"\r\n *ngIf=\"user\">\r\n <div class=\"mobile-menu-user-info-container-inner\">\r\n <div class=\"flex-shrink-0\">\r\n <span class=\"mobile-menu-avatar-container\">\r\n <span class=\"mobile-menu-avatar-name\">{{ this.avatarName }}</span>\r\n </span>\r\n </div>\r\n <div class=\"ml-3\">\r\n <div class=\"mobile-menu-user-name\">{{ user.profile.name }}</div>\r\n <div class=\"mobile-menu-user-email\">{{ user.profile.email }}</div>\r\n </div>\r\n <button class=\"mobile-menu-rounded-button\">\r\n <span class=\"sr-only\">View notifications</span>\r\n <!-- Heroicon name: outline/bell -->\r\n <svg class=\"mobile-menu-rounded-button-icon-style\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <div class=\"mobile-menu-link-container\">\r\n <ng-container *ngFor=\"let link of links.profile | async\">\r\n <a [attr.href]=\"link.path\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\"\r\n [routerLinkActive]=\"['nav-link-mobile-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n <!-- <a href=\"#\" class=\"block px-3 py-2 rounded-sm text-base font-medium text-gray-400 hover:text-white hover:bg-gray-700\">\u0391\u03C0\u03BF\u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7</a> -->\r\n </div>\r\n </div>\r\n </div>\r\n</nav>\r\n"
84
+ template: "<nav>\r\n <div class=\"shell-header-paddings\">\r\n <div [class]=\"border ? 'shell-header-border' : ''\">\r\n <div class=\"shell-header-menu-container\">\r\n <div class=\"shell-header-links-no-grow-container\">\r\n <div>\r\n <a href=\"#\"\r\n [routerLink]=\"['/']\"><img class=\"h-8 w-8\" style=\"width:2rem; height: 2rem;\" [src]=\"config.appLogo\" [alt]=\"config.appLogoAlt\" /></a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"shell-header-link-container\">\r\n <ng-container *ngFor=\"let link of sectionLinks | async\">\r\n <a href=\"#\"\r\n [routerLink]=\"[link.path]\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\"\r\n [routerLinkActive]=\"['nav-link-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"shell-header-md-visible\">\r\n <div class=\"shell-header-links-no-grow-container\">\r\n\r\n <ng-container *ngFor=\"let link of links.profileActions | async\">\r\n <a class=\"shell-header-menu-rounded-button\"\r\n (clickOutside)=\"onClickOutside($event)\"\r\n [attr.href]=\"link.path\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\">\r\n <span class=\"sr-only\">{{ link.text }}</span>\r\n <i *ngIf=\"link.icon\"\r\n [class]=\"link.icon\"></i>\r\n </a>\r\n </ng-container>\r\n\r\n <!-- Profile dropdown -->\r\n <div class=\"ml-2 relative\"\r\n (clickOutside)=\"onClickOutside($event)\"\r\n *ngIf=\"profileMenuVisible\">\r\n <div [ngClass]=\"{'shell-header-profile': showUserNameOnHeader}\">\r\n <div *ngIf=\"user && showUserNameOnHeader\"\r\n class=\"shell-header-profile-userName\">\r\n {{ user.profile.name }}\r\n </div>\r\n <button type=\"button\"\r\n *ngIf=\"user\"\r\n (click)=\"userMenuExpanded = !userMenuExpanded\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\">\r\n <span class=\"sr-only\">Open user menu</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\">{{this.avatarName}}</span>\r\n </span>\r\n </button>\r\n\r\n <button type=\"button\"\r\n *ngIf=\"!user\"\r\n (click)=\"signin(null)\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\">\r\n <span class=\"sr-only\">sign in</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\"><i class=\"ms-Icon ms-Icon--Signin\"></i></span>\r\n </span>\r\n </button>\r\n\r\n <div *ngIf=\"userMenuExpanded\"\r\n [ngClass]=\"showUserNameOnHeader ? 'shell-header-profile-dropdown-with-username' : 'shell-header-profile-dropdown'\"\r\n role=\"menu\"\r\n aria-orientation=\"vertical\"\r\n aria-labelledby=\"user-menu\">\r\n <!-- <a href=\"#\" class=\"block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100\" role=\"menuitem\">\u0391\u03C0\u03BF\u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7</a> -->\r\n <ng-container *ngFor=\"let link of links.profile | async\">\r\n <a [attr.href]=\"link.path\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\"\r\n [routerLinkActive]=\"['nav-link-profile-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link-profile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mobile-menu-button-container\">\r\n <!-- Mobile menu button -->\r\n <button type=\"button\"\r\n (click)=\"mobileMenuExpanded = !mobileMenuExpanded\"\r\n class=\"mobile-menu-button\"\r\n aria-controls=\"mobile-menu\"\r\n [attr.aria-expanded]=\"mobileMenuExpanded\">\r\n <span class=\"sr-only\">Open main menu</span>\r\n <!--Heroicon name: outline/menu Menu open: \"hidden\", Menu closed: \"block\"-->\r\n <svg class=\"block h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M4 6h16M4 12h16M4 18h16\" />\r\n </svg>\r\n <!--Heroicon name: outline/x Menu open: \"block\", Menu closed: \"hidden\"-->\r\n <svg class=\"hidden h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Mobile menu, show/hide based on menu state. -->\r\n <div class=\"mobile-menu-container\"\r\n *ngIf=\"mobileMenuExpanded\"\r\n id=\"mobile-menu\">\r\n <div class=\"mobile-menu-link-container\">\r\n <ng-container *ngFor=\"let link of sectionLinks | async\">\r\n <a [attr.href]=\"link.path\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\"\r\n [routerLinkActive]=\"['nav-link-mobile-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"!user\">\r\n <a href=\"#\"\r\n (click)=\"signin($event)\"\r\n class=\"nav-link-mobile\">\r\n <i class=\"ms-Icon ms-Icon--Signin mr-2\"></i>\u03A3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7\r\n </a>\r\n </ng-container>\r\n </div>\r\n <div class=\"mobile-menu-user-info-container\"\r\n *ngIf=\"user\">\r\n <div class=\"mobile-menu-user-info-container-inner\">\r\n <div class=\"flex-shrink-0\">\r\n <span class=\"mobile-menu-avatar-container\">\r\n <span class=\"mobile-menu-avatar-name\">{{ this.avatarName }}</span>\r\n </span>\r\n </div>\r\n <div class=\"ml-3\">\r\n <div class=\"mobile-menu-user-name\">{{ user.profile.name }}</div>\r\n <div class=\"mobile-menu-user-email\">{{ user.profile.email }}</div>\r\n </div>\r\n <button class=\"mobile-menu-rounded-button\">\r\n <span class=\"sr-only\">View notifications</span>\r\n <!-- Heroicon name: outline/bell -->\r\n <svg class=\"mobile-menu-rounded-button-icon-style\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <div class=\"mobile-menu-link-container\">\r\n <ng-container *ngFor=\"let link of links.profile | async\">\r\n <a [attr.href]=\"link.path\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\"\r\n [routerLinkActive]=\"['nav-link-mobile-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n <!-- <a href=\"#\" class=\"block px-3 py-2 rounded-sm text-base font-medium text-gray-400 hover:text-white hover:bg-gray-700\">\u0391\u03C0\u03BF\u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7</a> -->\r\n </div>\r\n </div>\r\n </div>\r\n</nav>\r\n"
85
85
  },] }
86
86
  ];
87
87
  ShellHeaderComponent.ctorParameters = () => [
@@ -96,4 +96,4 @@ ShellHeaderComponent.propDecorators = {
96
96
  showUserNameOnHeader: [{ type: Input, args: ['show-userName',] }],
97
97
  border: [{ type: Input }]
98
98
  };
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9sYXlvdXRzL3NoZWxsL3NoZWxsLWhlYWRlci9zaGVsbC1oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE9BQU8sRUFBUyxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUF5RCxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFRakYsTUFBTSxPQUFPLG9CQUFvQjtJQWtCL0IsWUFDaUMsV0FBd0IsRUFDN0IsTUFBYyxFQUNYLE1BQVcsRUFDZCxLQUFVO1FBSEwsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNYLFdBQU0sR0FBTixNQUFNLENBQUs7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFLO1FBckJ0QywyQ0FBMkM7UUFDbkIscUJBQWdCLEdBQUcsTUFBTSxDQUFDO1FBQ2xELDJDQUEyQztRQUNwQix1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDakQsMkNBQTJDO1FBQ25CLHlCQUFvQixHQUF3QixLQUFLLENBQUM7UUFDakUsV0FBTSxHQUFHLElBQUksQ0FBQztRQUNoQixpQkFBWSxHQUEwQixFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0MsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FB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RUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3hILDZDQUE2QztTQUM5QztJQUNILENBQUM7OztZQXJGRixTQUFTLFNBQUM7Z0JBQ1QsOENBQThDO2dCQUM5QyxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixxeFNBQTRDO2FBQzdDOzs7WUFkUSxXQUFXLHVCQWtDZixNQUFNLFNBQUMsV0FBVztZQS9CVSxNQUFNLHVCQWdDbEMsTUFBTSxTQUFDLE1BQU07NENBQ2IsTUFBTSxTQUFDLFlBQVk7NENBQ25CLE1BQU0sU0FBQyxTQUFTOzs7K0JBcEJsQixLQUFLLFNBQUMsZUFBZTtpQ0FFckIsS0FBSyxTQUFDLGNBQWM7bUNBRXBCLEtBQUssU0FBQyxlQUFlO3FCQUNyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAaW5kaWNlL25nLWF1dGgnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBJbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICdvaWRjLWNsaWVudCc7XHJcbmltcG9ydCB7IEV2ZW50LCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcclxuaW1wb3J0IHsgQVBQX0xJTktTLCBTSEVMTF9DT05GSUcgfSBmcm9tICcuLi8uLi8uLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGlzT2JzZXJ2YWJsZSwgb2JzZXJ2YWJsZSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdsaWItc2hlbGwtaGVhZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2hlbGwtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNoZWxsSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NlY3Rpb24tbGlua3MnKSBzZWN0aW9uTGlua3NQYXRoID0gJ21haW4nO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3Byb2ZpbGUtbWVudScpIHByb2ZpbGVNZW51VmlzaWJsZSA9IHRydWU7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2hvdy11c2VyTmFtZScpIHNob3dVc2VyTmFtZU9uSGVhZGVyOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYm9yZGVyID0gdHJ1ZTtcclxuICBwdWJsaWMgc2VjdGlvbkxpbmtzOiBPYnNlcnZhYmxlPE5hdkxpbmtbXT4gPSBvZihbXSk7XHJcbiAgcHVibGljIG1vYmlsZU1lbnVFeHBhbmRlZCA9IGZhbHNlO1xyXG4gIHB1YmxpYyB1c2VyTWVudUV4cGFuZGVkID0gZmFsc2U7XHJcbiAgcHJvdGVjdGVkIHJvdXRlU3ViamVjdDogT2JzZXJ2YWJsZTxFdmVudD47XHJcbiAgcHJvdGVjdGVkIHJvdXRlclN1YiQ6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xyXG4gIHByb3RlY3RlZCB1c2VyU3ViJDogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJvdGVjdGVkIHN0YXR1c1N1YiQ6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyB1c2VyOiBVc2VyIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIGF2YXRhck5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoQXV0aFNlcnZpY2UpIHByb3RlY3RlZCBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBASW5qZWN0KFJvdXRlcikgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxyXG4gICAgQEluamVjdChTSEVMTF9DT05GSUcpIHB1YmxpYyBjb25maWc6IGFueSxcclxuICAgIEBJbmplY3QoQVBQX0xJTktTKSBwdWJsaWMgbGlua3M6IGFueVxyXG4gICkge1xyXG4gICAgdGhpcy5yb3V0ZVN1YmplY3QgPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLnNob3dVc2VyTmFtZU9uSGVhZGVyKTtcclxuXHJcbiAgICBpZiAodGhpcy5yb3V0ZXJTdWIkKSB7XHJcbiAgICAgIHRoaXMucm91dGVyU3ViJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgLy8gVE9ETzogY2hlY2sgYXV0aGVudGljYXRlZCB1c2VyIGhlcmUgYmVmb3JlIHdlIHN0YXJ0IHBvbGxpbmcgc2VydmVyIHN0YXR1c1xyXG4gICAgaWYgKHRoaXMuc3RhdHVzU3ViJCkge1xyXG4gICAgICB0aGlzLnN0YXR1c1N1YiQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnVzZXJTdWIkKSB7XHJcbiAgICAgIHRoaXMudXNlclN1YiQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWN0aW9uTGlua3MgPSB0aGlzLmxpbmtzW3RoaXMuc2VjdGlvbkxpbmtzUGF0aF0gYXMgT2JzZXJ2YWJsZTxOYXZMaW5rW10+O1xyXG4gICAgdGhpcy5yb3V0ZXJTdWIkID0gdGhpcy5yb3V0ZVN1YmplY3Quc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICB0aGlzLm1vYmlsZU1lbnVFeHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnVzZXJNZW51RXhwYW5kZWQgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5sb2FkVXNlcigpLnN1YnNjcmliZSgodXNlcikgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZyh1c2VyKTtcclxuICAgICAgdGhpcy5zZXRDdXJyZW50VXNlcih1c2VyKTtcclxuICAgIH0sIGVycm9yID0+IHtcclxuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICB9XHJcbiAgICApO1xyXG4gICAgLy8gRGV0ZWN0IHVzZXIgY2hhbmdlcyBhbmQgZGlzcGxheSAvIG9yIG5vdCB1c2VyIGluZm8gYWNjb3JkaW5nbHkuLi5cclxuICAgIHRoaXMudXNlclN1YiQgPSB0aGlzLmF1dGhTZXJ2aWNlLnVzZXIkLnN1YnNjcmliZSgodXNlcjogYW55KSA9PiB7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdTaGVsbEhlYWRlckNvbXBvbmVudCB1c2VyIHN1YnNjcmlwdGlvbicpO1xyXG4gICAgICB0aGlzLnNldEN1cnJlbnRVc2VyKHVzZXIpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dHlwZWRlZlxyXG4gIHB1YmxpYyBvbkNsaWNrT3V0c2lkZSgkZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy51c2VyTWVudUV4cGFuZGVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2lnbmluKGV2ZW50OiBhbnkgfCBudWxsIHwgdW5kZWZpbmVkKTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICAgIHRoaXMuYXV0aFNlcnZpY2Uuc2lnbmluUmVkaXJlY3QoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q3VycmVudFVzZXIodXNlcjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnVzZXIgPSB1c2VyO1xyXG4gICAgaWYgKHRoaXMudXNlciAmJiB0aGlzLnVzZXIucHJvZmlsZSkge1xyXG4gICAgICB0aGlzLmF2YXRhck5hbWUgPSBgJHt0aGlzLnVzZXIucHJvZmlsZS5naXZlbl9uYW1lPy5jaGFyQXQoMCl9JHt0aGlzLnVzZXIucHJvZmlsZS5mYW1pbHlfbmFtZT8uY2hhckF0KDApfWAudG9VcHBlckNhc2UoKTtcclxuICAgICAgLy8gY29uc29sZS5sb2coJ2xvYWQgdXNlcicsIHRoaXMuYXZhdGFyTmFtZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9sYXlvdXRzL3NoZWxsL3NoZWxsLWhlYWRlci9zaGVsbC1oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE9BQU8sRUFBUyxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUF5RCxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFRakYsTUFBTSxPQUFPLG9CQUFvQjtJQWtCL0IsWUFDaUMsV0FBd0IsRUFDN0IsTUFBYyxFQUNYLE1BQVcsRUFDZCxLQUFVO1FBSEwsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNYLFdBQU0sR0FBTixNQUFNLENBQUs7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFLO1FBckJ0QywyQ0FBMkM7UUFDbkIscUJBQWdCLEdBQUcsTUFBTSxDQUFDO1FBQ2xELDJDQUEyQztRQUNwQix1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDakQsMkNBQTJDO1FBQ25CLHlCQUFvQixHQUF3QixLQUFLLENBQUM7UUFDakUsV0FBTSxHQUFHLElBQUksQ0FBQztRQUNoQixpQkFBWSxHQUEwQixFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0MsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FB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RUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3hILDZDQUE2QztTQUM5QztJQUNILENBQUM7OztZQXJGRixTQUFTLFNBQUM7Z0JBQ1QsOENBQThDO2dCQUM5QyxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixtdFNBQTRDO2FBQzdDOzs7WUFkUSxXQUFXLHVCQWtDZixNQUFNLFNBQUMsV0FBVztZQS9CVSxNQUFNLHVCQWdDbEMsTUFBTSxTQUFDLE1BQU07NENBQ2IsTUFBTSxTQUFDLFlBQVk7NENBQ25CLE1BQU0sU0FBQyxTQUFTOzs7K0JBcEJsQixLQUFLLFNBQUMsZUFBZTtpQ0FFckIsS0FBSyxTQUFDLGNBQWM7bUNBRXBCLEtBQUssU0FBQyxlQUFlO3FCQUNyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAaW5kaWNlL25nLWF1dGgnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBJbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICdvaWRjLWNsaWVudCc7XHJcbmltcG9ydCB7IEV2ZW50LCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcclxuaW1wb3J0IHsgQVBQX0xJTktTLCBTSEVMTF9DT05GSUcgfSBmcm9tICcuLi8uLi8uLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGlzT2JzZXJ2YWJsZSwgb2JzZXJ2YWJsZSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdsaWItc2hlbGwtaGVhZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2hlbGwtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNoZWxsSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NlY3Rpb24tbGlua3MnKSBzZWN0aW9uTGlua3NQYXRoID0gJ21haW4nO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3Byb2ZpbGUtbWVudScpIHByb2ZpbGVNZW51VmlzaWJsZSA9IHRydWU7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2hvdy11c2VyTmFtZScpIHNob3dVc2VyTmFtZU9uSGVhZGVyOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYm9yZGVyID0gdHJ1ZTtcclxuICBwdWJsaWMgc2VjdGlvbkxpbmtzOiBPYnNlcnZhYmxlPE5hdkxpbmtbXT4gPSBvZihbXSk7XHJcbiAgcHVibGljIG1vYmlsZU1lbnVFeHBhbmRlZCA9IGZhbHNlO1xyXG4gIHB1YmxpYyB1c2VyTWVudUV4cGFuZGVkID0gZmFsc2U7XHJcbiAgcHJvdGVjdGVkIHJvdXRlU3ViamVjdDogT2JzZXJ2YWJsZTxFdmVudD47XHJcbiAgcHJvdGVjdGVkIHJvdXRlclN1YiQ6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xyXG4gIHByb3RlY3RlZCB1c2VyU3ViJDogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJvdGVjdGVkIHN0YXR1c1N1YiQ6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyB1c2VyOiBVc2VyIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIGF2YXRhck5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoQXV0aFNlcnZpY2UpIHByb3RlY3RlZCBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBASW5qZWN0KFJvdXRlcikgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxyXG4gICAgQEluamVjdChTSEVMTF9DT05GSUcpIHB1YmxpYyBjb25maWc6IGFueSxcclxuICAgIEBJbmplY3QoQVBQX0xJTktTKSBwdWJsaWMgbGlua3M6IGFueVxyXG4gICkge1xyXG4gICAgdGhpcy5yb3V0ZVN1YmplY3QgPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLnNob3dVc2VyTmFtZU9uSGVhZGVyKTtcclxuXHJcbiAgICBpZiAodGhpcy5yb3V0ZXJTdWIkKSB7XHJcbiAgICAgIHRoaXMucm91dGVyU3ViJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgLy8gVE9ETzogY2hlY2sgYXV0aGVudGljYXRlZCB1c2VyIGhlcmUgYmVmb3JlIHdlIHN0YXJ0IHBvbGxpbmcgc2VydmVyIHN0YXR1c1xyXG4gICAgaWYgKHRoaXMuc3RhdHVzU3ViJCkge1xyXG4gICAgICB0aGlzLnN0YXR1c1N1YiQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnVzZXJTdWIkKSB7XHJcbiAgICAgIHRoaXMudXNlclN1YiQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWN0aW9uTGlua3MgPSB0aGlzLmxpbmtzW3RoaXMuc2VjdGlvbkxpbmtzUGF0aF0gYXMgT2JzZXJ2YWJsZTxOYXZMaW5rW10+O1xyXG4gICAgdGhpcy5yb3V0ZXJTdWIkID0gdGhpcy5yb3V0ZVN1YmplY3Quc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICB0aGlzLm1vYmlsZU1lbnVFeHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnVzZXJNZW51RXhwYW5kZWQgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5sb2FkVXNlcigpLnN1YnNjcmliZSgodXNlcikgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZyh1c2VyKTtcclxuICAgICAgdGhpcy5zZXRDdXJyZW50VXNlcih1c2VyKTtcclxuICAgIH0sIGVycm9yID0+IHtcclxuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICB9XHJcbiAgICApO1xyXG4gICAgLy8gRGV0ZWN0IHVzZXIgY2hhbmdlcyBhbmQgZGlzcGxheSAvIG9yIG5vdCB1c2VyIGluZm8gYWNjb3JkaW5nbHkuLi5cclxuICAgIHRoaXMudXNlclN1YiQgPSB0aGlzLmF1dGhTZXJ2aWNlLnVzZXIkLnN1YnNjcmliZSgodXNlcjogYW55KSA9PiB7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdTaGVsbEhlYWRlckNvbXBvbmVudCB1c2VyIHN1YnNjcmlwdGlvbicpO1xyXG4gICAgICB0aGlzLnNldEN1cnJlbnRVc2VyKHVzZXIpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dHlwZWRlZlxyXG4gIHB1YmxpYyBvbkNsaWNrT3V0c2lkZSgkZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy51c2VyTWVudUV4cGFuZGVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2lnbmluKGV2ZW50OiBhbnkgfCBudWxsIHwgdW5kZWZpbmVkKTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICAgIHRoaXMuYXV0aFNlcnZpY2Uuc2lnbmluUmVkaXJlY3QoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q3VycmVudFVzZXIodXNlcjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnVzZXIgPSB1c2VyO1xyXG4gICAgaWYgKHRoaXMudXNlciAmJiB0aGlzLnVzZXIucHJvZmlsZSkge1xyXG4gICAgICB0aGlzLmF2YXRhck5hbWUgPSBgJHt0aGlzLnVzZXIucHJvZmlsZS5naXZlbl9uYW1lPy5jaGFyQXQoMCl9JHt0aGlzLnVzZXIucHJvZmlsZS5mYW1pbHlfbmFtZT8uY2hhckF0KDApfWAudG9VcHBlckNhc2UoKTtcclxuICAgICAgLy8gY29uc29sZS5sb2coJ2xvYWQgdXNlcicsIHRoaXMuYXZhdGFyTmFtZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -23,6 +23,9 @@ export class ShellLayoutComponent {
23
23
  }
24
24
  this.activeConfig = config;
25
25
  }
26
+ ngAfterViewChecked() {
27
+ setTimeout(() => { this.loaded = true; }, 200);
28
+ }
26
29
  ngOnInit() {
27
30
  this.routerSub$ = this.router.events.pipe(filter((event) => event instanceof ActivationStart)).subscribe((e) => {
28
31
  var _a, _b, _c, _d, _e, _f;
@@ -77,7 +80,7 @@ ShellLayoutComponent.decorators = [
77
80
  { type: Component, args: [{
78
81
  // tslint:disable-next-line:component-selector
79
82
  selector: 'lib-shell-layout',
80
- template: "<div *ngIf=\"loaded\" class=\"shell-container active-side-pane\">\r\n <div class=\"shell-header-container\" *ngIf=\"activeConfig.showHeader\">\r\n <div [class]=\"activeConfig.fluid ? 'shell-header-container-inner-fluid' : 'shell-header-container-inner'\">\r\n\r\n <ng-container *ngIf=\"activeConfig.customHeaderComponent\">\r\n <div appDynamicComponentHost =\"Header\"></div>\r\n </ng-container>\r\n\r\n <lib-shell-header *ngIf=\"!activeConfig.customHeaderComponent\" [show-userName]=\"activeConfig.showUserNameOnHeader\"></lib-shell-header>\r\n </div>\r\n </div>\r\n\r\n <main [class]=\"activeConfig.showHeader ? 'shell-content-container' : 'shell-content-container-no-header'\">\r\n <div [class]=\"activeConfig.fluid ? 'shell-content-container-inner-fluid' : 'shell-content-container-inner'\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n </main>\r\n\r\n <div class=\"shell-footer-container\" *ngIf=\"activeConfig.showFooter\">\r\n <div [class]=\"activeConfig.fluid ? 'shell-footer-container-inner-fluid' : 'shell-footer-container-inner'\">\r\n <ng-container *ngIf=\"activeConfig.customFooterComponent\">\r\n <div appDynamicComponentHost hostName=\"Footer\"></div>\r\n </ng-container>\r\n <lib-shell-footer *ngIf=\"!activeConfig.customFooterComponent\"></lib-shell-footer>\r\n </div>\r\n </div>\r\n\r\n <lib-side-pane #rightPane>\r\n <router-outlet name=\"rightpane\" (activate)=\"rightPane.onSidePaneActivated($event)\" (deactivate)=\"rightPane.onSidePaneDeactivated($event)\"></router-outlet>\r\n </lib-side-pane>\r\n\r\n <lib-toaster-container></lib-toaster-container>\r\n\r\n</div>\r\n<div style=\"display: none;\" (onload)=\"loaded=true\"></div>\r\n"
83
+ template: "<div *ngIf=\"loaded\" [style.display]=\"!loaded ? 'none':'block'\" class=\"shell-container active-side-pane\">\r\n <div class=\"shell-header-container\" *ngIf=\"activeConfig.showHeader\">\r\n <div [class]=\"activeConfig.fluid ? 'shell-header-container-inner-fluid' : 'shell-header-container-inner'\">\r\n\r\n <ng-container *ngIf=\"activeConfig.customHeaderComponent\">\r\n <div appDynamicComponentHost =\"Header\"></div>\r\n </ng-container>\r\n\r\n <lib-shell-header *ngIf=\"!activeConfig.customHeaderComponent\" [show-userName]=\"activeConfig.showUserNameOnHeader\"></lib-shell-header>\r\n </div>\r\n </div>\r\n\r\n <main [class]=\"activeConfig.showHeader ? 'shell-content-container' : 'shell-content-container-no-header'\">\r\n <div [class]=\"activeConfig.fluid ? 'shell-content-container-inner-fluid' : 'shell-content-container-inner'\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n </main>\r\n\r\n <div class=\"shell-footer-container\" *ngIf=\"activeConfig.showFooter\">\r\n <div [class]=\"activeConfig.fluid ? 'shell-footer-container-inner-fluid' : 'shell-footer-container-inner'\">\r\n <ng-container *ngIf=\"activeConfig.customFooterComponent\">\r\n <div appDynamicComponentHost hostName=\"Footer\"></div>\r\n </ng-container>\r\n <lib-shell-footer *ngIf=\"!activeConfig.customFooterComponent\"></lib-shell-footer>\r\n </div>\r\n </div>\r\n\r\n <lib-side-pane #rightPane>\r\n <router-outlet name=\"rightpane\" (activate)=\"rightPane.onSidePaneActivated($event)\" (deactivate)=\"rightPane.onSidePaneDeactivated($event)\"></router-outlet>\r\n </lib-side-pane>\r\n\r\n <lib-toaster-container></lib-toaster-container>\r\n\r\n</div>\r\n"
81
84
  },] }
82
85
  ];
83
86
  ShellLayoutComponent.ctorParameters = () => [
@@ -90,4 +93,4 @@ ShellLayoutComponent.ctorParameters = () => [
90
93
  ShellLayoutComponent.propDecorators = {
91
94
  dynamicComponentHosts: [{ type: ViewChildren, args: [DynamicComponentHostDirective,] }]
92
95
  };
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9sYXlvdXRzL3NoZWxsL3NoZWxsLWxheW91dC9zaGVsbC1sYXlvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQWdCLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEUsT0FBTyxFQUFpQixTQUFTLEVBQXFCLE1BQU0sRUFBRSxZQUFZLEVBQTBDLE1BQU0sZUFBZSxDQUFDO0FBQzFJLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDckcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFPckcsTUFBTSxPQUFPLG9CQUFvQjtJQU8vQixZQUM0QixRQUFhLEVBQy9CLE1BQWMsRUFDZCxRQUFrQixFQUNJLE1BQTJCLEVBQ2pELHNCQUE4QztRQUo1QixhQUFRLEdBQVIsUUFBUSxDQUFLO1FBQy9CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ0ksV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDakQsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQVZ4RCwwQkFBcUIsR0FBb0QsSUFBSSxDQUFDO1FBQ3ZFLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLGVBQVUsR0FBd0IsSUFBSSxDQUFD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UUFBUTtZQW5CTSxNQUFNO1lBRGIsUUFBUTs0Q0F1QnRCLE1BQU0sU0FBQyxZQUFZO1lBbEJmLHNCQUFzQjs7O29DQVE1QixZQUFZLFNBQUMsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU0hFTExfQ09ORklHIH0gZnJvbSAnLi8uLi8uLi8uLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBJU2hlbGxDb25maWcsIERlZmF1bHRTaGVsbENvbmZpZyB9IGZyb20gJy4vLi4vLi4vLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBJbmplY3QsIFZpZXdDaGlsZHJlbiwgVmlld0NvbnRhaW5lclJlZiwgUXVlcnlMaXN0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRE9DVU1FTlQsIExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQWN0aXZhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEeW5hbWljQ29tcG9uZW50SG9zdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMvZHluYW1pYy1jb21wb25lbnQtaG9zdC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRMb2FkZXJGYWN0b3J5IH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29tcG9uZW50LWxvYWRlci9jb21wb25lbnQtbG9hZGVyLmZhY3RvcnknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAnbGliLXNoZWxsLWxheW91dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NoZWxsLWxheW91dC5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaGVsbExheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuICBAVmlld0NoaWxkcmVuKER5bmFtaWNDb21wb25lbnRIb3N0RGlyZWN0aXZlKVxyXG4gIGR5bmFtaWNDb21wb25lbnRIb3N0czogUXVlcnlMaXN0PER5bmFtaWNDb21wb25lbnRIb3N0RGlyZWN0aXZlPiB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyBzaG93UmlnaHRQYW5lU00gPSBmYWxzZTtcclxuICBwcml2YXRlIHJvdXRlclN1YiQ6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyBhY3RpdmVDb25maWc6IElTaGVsbENvbmZpZyA9IG5ldyBEZWZhdWx0U2hlbGxDb25maWcoKTtcclxuICBwdWJsaWMgbG9hZGVkID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnksXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXHJcbiAgICBASW5qZWN0KFNIRUxMX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IElTaGVsbENvbmZpZyB8IG51bGwsXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudExvYWRlckZhY3Rvcnk6IENvbXBvbmVudExvYWRlckZhY3RvcnlcclxuICApIHtcclxuICAgIGlmICghY29uZmlnKSB7XHJcbiAgICAgIGNvbmZpZyA9IG5ldyBEZWZhdWx0U2hlbGxDb25maWcoKTtcclxuICAgIH1cclxuICAgIHRoaXMuYWN0aXZlQ29uZmlnID0gY29uZmlnO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJvdXRlclN1YiQgPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIEFjdGl2YXRpb25TdGFydCkpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICAvLyBjb25zb2xlLmxvZygnU2hlbGxMYXlvdXRDb21wb25lbnQgQWN0aXZhdGlvblN0YXJ0JywgZSk7XHJcbiAgICAgIGlmICgoZSBhcyBBY3RpdmF0aW9uU3RhcnQpPy5zbmFwc2hvdCkge1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdTaGVsbExheW91dENvbXBvbmVudCBBY3RpdmF0aW9uU3RhcnQgc25hcHNob3QnLCAoZSBhcyBBY3RpdmF0aW9uU3RhcnQpPy5zbmFwc2hvdCk7XHJcbiAgICAgICAgaWYgKChlIGFzIEFjdGl2YXRpb25TdGFydCk/LnNuYXBzaG90Py5kYXRhKSB7XHJcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZygnU2hlbGxMYXlvdXRDb21wb25lbnQgQWN0aXZhdGlvblN0YXJ0IHNuYXBzaG90IGRhdGEnLCAoZSBhcyBBY3RpdmF0aW9uU3RhcnQpPy5zbmFwc2hvdC5kYXRhKTtcclxuICAgICAgICAgIGlmICgoZSBhcyBBY3RpdmF0aW9uU3RhcnQpPy5zbmFwc2hvdD8uZGF0YS5zaGVsbCkge1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnU2hlbGxMYXlvdXRDb21wb25lbnQgQWN0aXZhdGlvblN0YXJ0IHNuYXBzaG90IGRhdGEgc2hlbGwgcGFyYW1zJyxcclxuICAgICAgICAgICAgLy8gKGUgYXMgQWN0aXZhdGlvblN0YXJ0KT8uc25hcHNob3QuZGF0YS5zaGVsbCk7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlQ29uZmlnID0gKGUgYXMgQWN0aXZhdGlvblN0YXJ0KT8uc25hcHNob3QuZGF0YS5zaGVsbCBhcyBJU2hlbGxDb25maWc7XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdTaGVsbExheW91dENvbXBvbmVudCBhY3RpdmVDb25maWcgZnJvbSByb3V0ZTogJywgdGhpcy5hY3RpdmVDb25maWcpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hY3RpdmVDb25maWcuY3VzdG9tSGVhZGVyQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5pbml0Q3VzdG9tQ29tcG9uZW50cygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUNvbmZpZyA9IHRoaXMuY29uZmlnID8gdGhpcy5jb25maWcgOiBuZXcgRGVmYXVsdFNoZWxsQ29uZmlnKCk7XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdTaGVsbExheW91dENvbXBvbmVudCBkZWZhdWx0IGFjdGl2ZUNvbmZpZzogJywgdGhpcy5hY3RpdmVDb25maWcpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmluaXRDdXN0b21Db21wb25lbnRzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRDdXN0b21Db21wb25lbnRzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZHluYW1pY0NvbXBvbmVudEhvc3RzICYmIHRoaXMuZHluYW1pY0NvbXBvbmVudEhvc3RzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5sb2FkQ3VzdG9tQ29tcG9uZW50KHRoaXMuZHluYW1pY0NvbXBvbmVudEhvc3RzLmZpbmQoKF8pID0+IF8uaG9zdE5hbWUgPT09ICdIZWFkZXInKSk7XHJcbiAgICAgIC8vIHNpbmNlIHlvdSdyZSBub3QgdXNpbmcgaXQuLi5cclxuICAgICAgLy8gdGhpcy5sb2FkQ3VzdG9tQ29tcG9uZW50KHRoaXMuZHluYW1pY0NvbXBvbmVudEhvc3RzLmZpbmQoXyA9PiBfLmhvc3ROYW1lID09PSAnRm9vdGVyJykpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5yb3V0ZXJTdWIkKSB7XHJcbiAgICAgIHRoaXMucm91dGVyU3ViJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkQ3VzdG9tQ29tcG9uZW50KGhvc3Q6IER5bmFtaWNDb21wb25lbnRIb3N0RGlyZWN0aXZlIHwgdW5kZWZpbmVkKTogdm9pZCB7XHJcbiAgICBpZiAoaG9zdCkge1xyXG4gICAgICBjb25zdCB2aWV3Q29udGFpbmVyUmVmID0gaG9zdC52aWV3Q29udGFpbmVyUmVmO1xyXG4gICAgICBpZiAodmlld0NvbnRhaW5lclJlZiAmJiB0aGlzLmFjdGl2ZUNvbmZpZy5jdXN0b21IZWFkZXJDb21wb25lbnQpIHtcclxuICAgICAgICBjb25zdCBjbGYgPSB0aGlzLmNvbXBvbmVudExvYWRlckZhY3RvcnkuY3JlYXRlTG9hZGVyKHZpZXdDb250YWluZXJSZWYpO1xyXG4gICAgICAgIGNvbnN0IGhlYWRlckNvbXBSZWYgPSBjbGYuYXR0YWNoKHRoaXMuYWN0aXZlQ29uZmlnLmN1c3RvbUhlYWRlckNvbXBvbmVudCkudG8odmlld0NvbnRhaW5lclJlZi5lbGVtZW50KS5zaG93KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9sYXlvdXRzL3NoZWxsL3NoZWxsLWxheW91dC9zaGVsbC1sYXlvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQWdCLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEUsT0FBTyxFQUFpQixTQUFTLEVBQXFCLE1BQU0sRUFBRSxZQUFZLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBQy9ILE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDckcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFPckcsTUFBTSxPQUFPLG9CQUFvQjtJQU8vQixZQUM0QixRQUFhLEVBQy9CLE1BQWMsRUFDZCxRQUFrQixFQUNJLE1BQTJCLEVBQ2pELHNCQUE4QztRQUo1QixhQUFRLEdBQVIsUUFBUSxDQUFLO1FBQy9CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ0ksV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDakQsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQVZ4RCwwQkFBcUIsR0FBb0QsSUFBSSxDQUFDO1FBQ3ZFLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLGVBQVUsR0FBd0IsSUFBSSxDQUFD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QUMvRztTQUNGO0lBQ0gsQ0FBQzs7O1lBL0VGLFNBQVMsU0FBQztnQkFDVCw4Q0FBOEM7Z0JBQzlDLFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLHVzREFBNEM7YUFDN0M7Ozs0Q0FTSSxNQUFNLFNBQUMsUUFBUTtZQW5CTSxNQUFNO1lBRGIsUUFBUTs0Q0F1QnRCLE1BQU0sU0FBQyxZQUFZO1lBbEJmLHNCQUFzQjs7O29DQVE1QixZQUFZLFNBQUMsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU0hFTExfQ09ORklHIH0gZnJvbSAnLi8uLi8uLi8uLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBJU2hlbGxDb25maWcsIERlZmF1bHRTaGVsbENvbmZpZyB9IGZyb20gJy4vLi4vLi4vLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBJbmplY3QsIFZpZXdDaGlsZHJlbiwgUXVlcnlMaXN0LCBBZnRlclZpZXdDaGVja2VkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5ULCBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFjdGl2YXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIHRpbWVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IER5bmFtaWNDb21wb25lbnRIb3N0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9keW5hbWljLWNvbXBvbmVudC1ob3N0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudExvYWRlckZhY3RvcnkgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jb21wb25lbnQtbG9hZGVyL2NvbXBvbmVudC1sb2FkZXIuZmFjdG9yeSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdsaWItc2hlbGwtbGF5b3V0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2hlbGwtbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNoZWxsTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIEFmdGVyVmlld0NoZWNrZWQge1xyXG4gIEBWaWV3Q2hpbGRyZW4oRHluYW1pY0NvbXBvbmVudEhvc3REaXJlY3RpdmUpXHJcbiAgZHluYW1pY0NvbXBvbmVudEhvc3RzOiBRdWVyeUxpc3Q8RHluYW1pY0NvbXBvbmVudEhvc3REaXJlY3RpdmU+IHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIHNob3dSaWdodFBhbmVTTSA9IGZhbHNlO1xyXG4gIHByaXZhdGUgcm91dGVyU3ViJDogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIGFjdGl2ZUNvbmZpZzogSVNoZWxsQ29uZmlnID0gbmV3IERlZmF1bHRTaGVsbENvbmZpZygpO1xyXG4gIHB1YmxpYyBsb2FkZWQgPSBmYWxzZTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcclxuICAgIEBJbmplY3QoU0hFTExfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogSVNoZWxsQ29uZmlnIHwgbnVsbCxcclxuICAgIHByaXZhdGUgY29tcG9uZW50TG9hZGVyRmFjdG9yeTogQ29tcG9uZW50TG9hZGVyRmFjdG9yeVxyXG4gICkge1xyXG4gICAgaWYgKCFjb25maWcpIHtcclxuICAgICAgY29uZmlnID0gbmV3IERlZmF1bHRTaGVsbENvbmZpZygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY3RpdmVDb25maWcgPSBjb25maWc7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhpcy5sb2FkZWQgPSB0cnVlOyB9LCAyMDApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJvdXRlclN1YiQgPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIEFjdGl2YXRpb25TdGFydCkpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICAvLyBjb25zb2xlLmxvZygnU2hlbGxMYXlvdXRDb21wb25lbnQgQWN0aXZhdGlvblN0YXJ0JywgZSk7XHJcbiAgICAgIGlmICgoZSBhcyBBY3RpdmF0aW9uU3RhcnQpPy5zbmFwc2hvdCkge1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdTaGVsbExheW91dENvbXBvbmVudCBBY3RpdmF0aW9uU3RhcnQgc25hcHNob3QnLCAoZSBhcyBBY3RpdmF0aW9uU3RhcnQpPy5zbmFwc2hvdCk7XHJcbiAgICAgICAgaWYgKChlIGFzIEFjdGl2YXRpb25TdGFydCk/LnNuYXBzaG90Py5kYXRhKSB7XHJcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZygnU2hlbGxMYXlvdXRDb21wb25lbnQgQWN0aXZhdGlvblN0YXJ0IHNuYXBzaG90IGRhdGEnLCAoZSBhcyBBY3RpdmF0aW9uU3RhcnQpPy5zbmFwc2hvdC5kYXRhKTtcclxuICAgICAgICAgIGlmICgoZSBhcyBBY3RpdmF0aW9uU3RhcnQpPy5zbmFwc2hvdD8uZGF0YS5zaGVsbCkge1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnU2hlbGxMYXlvdXRDb21wb25lbnQgQWN0aXZhdGlvblN0YXJ0IHNuYXBzaG90IGRhdGEgc2hlbGwgcGFyYW1zJyxcclxuICAgICAgICAgICAgLy8gKGUgYXMgQWN0aXZhdGlvblN0YXJ0KT8uc25hcHNob3QuZGF0YS5zaGVsbCk7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlQ29uZmlnID0gKGUgYXMgQWN0aXZhdGlvblN0YXJ0KT8uc25hcHNob3QuZGF0YS5zaGVsbCBhcyBJU2hlbGxDb25maWc7XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdTaGVsbExheW91dENvbXBvbmVudCBhY3RpdmVDb25maWcgZnJvbSByb3V0ZTogJywgdGhpcy5hY3RpdmVDb25maWcpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hY3RpdmVDb25maWcuY3VzdG9tSGVhZGVyQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5pbml0Q3VzdG9tQ29tcG9uZW50cygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUNvbmZpZyA9IHRoaXMuY29uZmlnID8gdGhpcy5jb25maWcgOiBuZXcgRGVmYXVsdFNoZWxsQ29uZmlnKCk7XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdTaGVsbExheW91dENvbXBvbmVudCBkZWZhdWx0IGFjdGl2ZUNvbmZpZzogJywgdGhpcy5hY3RpdmVDb25maWcpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmluaXRDdXN0b21Db21wb25lbnRzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRDdXN0b21Db21wb25lbnRzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZHluYW1pY0NvbXBvbmVudEhvc3RzICYmIHRoaXMuZHluYW1pY0NvbXBvbmVudEhvc3RzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5sb2FkQ3VzdG9tQ29tcG9uZW50KHRoaXMuZHluYW1pY0NvbXBvbmVudEhvc3RzLmZpbmQoKF8pID0+IF8uaG9zdE5hbWUgPT09ICdIZWFkZXInKSk7XHJcbiAgICAgIC8vIHNpbmNlIHlvdSdyZSBub3QgdXNpbmcgaXQuLi5cclxuICAgICAgLy8gdGhpcy5sb2FkQ3VzdG9tQ29tcG9uZW50KHRoaXMuZHluYW1pY0NvbXBvbmVudEhvc3RzLmZpbmQoXyA9PiBfLmhvc3ROYW1lID09PSAnRm9vdGVyJykpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5yb3V0ZXJTdWIkKSB7XHJcbiAgICAgIHRoaXMucm91dGVyU3ViJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkQ3VzdG9tQ29tcG9uZW50KGhvc3Q6IER5bmFtaWNDb21wb25lbnRIb3N0RGlyZWN0aXZlIHwgdW5kZWZpbmVkKTogdm9pZCB7XHJcbiAgICBpZiAoaG9zdCkge1xyXG4gICAgICBjb25zdCB2aWV3Q29udGFpbmVyUmVmID0gaG9zdC52aWV3Q29udGFpbmVyUmVmO1xyXG4gICAgICBpZiAodmlld0NvbnRhaW5lclJlZiAmJiB0aGlzLmFjdGl2ZUNvbmZpZy5jdXN0b21IZWFkZXJDb21wb25lbnQpIHtcclxuICAgICAgICBjb25zdCBjbGYgPSB0aGlzLmNvbXBvbmVudExvYWRlckZhY3RvcnkuY3JlYXRlTG9hZGVyKHZpZXdDb250YWluZXJSZWYpO1xyXG4gICAgICAgIGNvbnN0IGhlYWRlckNvbXBSZWYgPSBjbGYuYXR0YWNoKHRoaXMuYWN0aXZlQ29uZmlnLmN1c3RvbUhlYWRlckNvbXBvbmVudCkudG8odmlld0NvbnRhaW5lclJlZi5lbGVtZW50KS5zaG93KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -1427,6 +1427,9 @@ class ShellLayoutComponent {
1427
1427
  }
1428
1428
  this.activeConfig = config;
1429
1429
  }
1430
+ ngAfterViewChecked() {
1431
+ setTimeout(() => { this.loaded = true; }, 200);
1432
+ }
1430
1433
  ngOnInit() {
1431
1434
  this.routerSub$ = this.router.events.pipe(filter((event) => event instanceof ActivationStart)).subscribe((e) => {
1432
1435
  var _a, _b, _c, _d, _e, _f;
@@ -1481,7 +1484,7 @@ ShellLayoutComponent.decorators = [
1481
1484
  { type: Component, args: [{
1482
1485
  // tslint:disable-next-line:component-selector
1483
1486
  selector: 'lib-shell-layout',
1484
- template: "<div *ngIf=\"loaded\" class=\"shell-container active-side-pane\">\r\n <div class=\"shell-header-container\" *ngIf=\"activeConfig.showHeader\">\r\n <div [class]=\"activeConfig.fluid ? 'shell-header-container-inner-fluid' : 'shell-header-container-inner'\">\r\n\r\n <ng-container *ngIf=\"activeConfig.customHeaderComponent\">\r\n <div appDynamicComponentHost =\"Header\"></div>\r\n </ng-container>\r\n\r\n <lib-shell-header *ngIf=\"!activeConfig.customHeaderComponent\" [show-userName]=\"activeConfig.showUserNameOnHeader\"></lib-shell-header>\r\n </div>\r\n </div>\r\n\r\n <main [class]=\"activeConfig.showHeader ? 'shell-content-container' : 'shell-content-container-no-header'\">\r\n <div [class]=\"activeConfig.fluid ? 'shell-content-container-inner-fluid' : 'shell-content-container-inner'\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n </main>\r\n\r\n <div class=\"shell-footer-container\" *ngIf=\"activeConfig.showFooter\">\r\n <div [class]=\"activeConfig.fluid ? 'shell-footer-container-inner-fluid' : 'shell-footer-container-inner'\">\r\n <ng-container *ngIf=\"activeConfig.customFooterComponent\">\r\n <div appDynamicComponentHost hostName=\"Footer\"></div>\r\n </ng-container>\r\n <lib-shell-footer *ngIf=\"!activeConfig.customFooterComponent\"></lib-shell-footer>\r\n </div>\r\n </div>\r\n\r\n <lib-side-pane #rightPane>\r\n <router-outlet name=\"rightpane\" (activate)=\"rightPane.onSidePaneActivated($event)\" (deactivate)=\"rightPane.onSidePaneDeactivated($event)\"></router-outlet>\r\n </lib-side-pane>\r\n\r\n <lib-toaster-container></lib-toaster-container>\r\n\r\n</div>\r\n<div style=\"display: none;\" (onload)=\"loaded=true\"></div>\r\n"
1487
+ template: "<div *ngIf=\"loaded\" [style.display]=\"!loaded ? 'none':'block'\" class=\"shell-container active-side-pane\">\r\n <div class=\"shell-header-container\" *ngIf=\"activeConfig.showHeader\">\r\n <div [class]=\"activeConfig.fluid ? 'shell-header-container-inner-fluid' : 'shell-header-container-inner'\">\r\n\r\n <ng-container *ngIf=\"activeConfig.customHeaderComponent\">\r\n <div appDynamicComponentHost =\"Header\"></div>\r\n </ng-container>\r\n\r\n <lib-shell-header *ngIf=\"!activeConfig.customHeaderComponent\" [show-userName]=\"activeConfig.showUserNameOnHeader\"></lib-shell-header>\r\n </div>\r\n </div>\r\n\r\n <main [class]=\"activeConfig.showHeader ? 'shell-content-container' : 'shell-content-container-no-header'\">\r\n <div [class]=\"activeConfig.fluid ? 'shell-content-container-inner-fluid' : 'shell-content-container-inner'\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n </main>\r\n\r\n <div class=\"shell-footer-container\" *ngIf=\"activeConfig.showFooter\">\r\n <div [class]=\"activeConfig.fluid ? 'shell-footer-container-inner-fluid' : 'shell-footer-container-inner'\">\r\n <ng-container *ngIf=\"activeConfig.customFooterComponent\">\r\n <div appDynamicComponentHost hostName=\"Footer\"></div>\r\n </ng-container>\r\n <lib-shell-footer *ngIf=\"!activeConfig.customFooterComponent\"></lib-shell-footer>\r\n </div>\r\n </div>\r\n\r\n <lib-side-pane #rightPane>\r\n <router-outlet name=\"rightpane\" (activate)=\"rightPane.onSidePaneActivated($event)\" (deactivate)=\"rightPane.onSidePaneDeactivated($event)\"></router-outlet>\r\n </lib-side-pane>\r\n\r\n <lib-toaster-container></lib-toaster-container>\r\n\r\n</div>\r\n"
1485
1488
  },] }
1486
1489
  ];
1487
1490
  ShellLayoutComponent.ctorParameters = () => [
@@ -1572,7 +1575,7 @@ ShellHeaderComponent.decorators = [
1572
1575
  { type: Component, args: [{
1573
1576
  // tslint:disable-next-line:component-selector
1574
1577
  selector: 'lib-shell-header',
1575
- template: "<nav>\r\n <div class=\"shell-header-paddings\">\r\n <div [class]=\"border ? 'shell-header-border' : ''\">\r\n <div class=\"shell-header-menu-container\">\r\n <div class=\"shell-header-links-no-grow-container\">\r\n <div>\r\n <a href=\"#\"\r\n [routerLink]=\"['/']\"><img class=\"h-8 w-8\"\r\n style=\"width:2rem; height: 2rem;\"\r\n [src]=\"config.appLogo\"\r\n [alt]=\"config.appLogoAlt\" /></a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"shell-header-link-container\">\r\n <ng-container *ngFor=\"let link of sectionLinks | async\">\r\n <a href=\"#\"\r\n [routerLink]=\"[link.path]\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\"\r\n [routerLinkActive]=\"['nav-link-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"shell-header-md-visible\">\r\n <div class=\"shell-header-links-no-grow-container\">\r\n\r\n <ng-container *ngFor=\"let link of links.profileActions | async\">\r\n <a class=\"shell-header-menu-rounded-button\"\r\n (clickOutside)=\"onClickOutside($event)\"\r\n [attr.href]=\"link.path\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\">\r\n <span class=\"sr-only\">{{ link.text }}</span>\r\n <i *ngIf=\"link.icon\"\r\n [class]=\"link.icon\"></i>\r\n </a>\r\n </ng-container>\r\n\r\n <!-- Profile dropdown -->\r\n <div class=\"ml-2 relative\"\r\n (clickOutside)=\"onClickOutside($event)\"\r\n *ngIf=\"profileMenuVisible\">\r\n <div [ngClass]=\"{'shell-header-profile': showUserNameOnHeader}\">\r\n <div *ngIf=\"user && showUserNameOnHeader\"\r\n class=\"shell-header-profile-userName\">\r\n {{ user.profile.name }}\r\n </div>\r\n <button type=\"button\"\r\n *ngIf=\"user\"\r\n (click)=\"userMenuExpanded = !userMenuExpanded\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\">\r\n <span class=\"sr-only\">Open user menu</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\">{{this.avatarName}}</span>\r\n </span>\r\n </button>\r\n\r\n <button type=\"button\"\r\n *ngIf=\"!user\"\r\n (click)=\"signin(null)\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\">\r\n <span class=\"sr-only\">sign in</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\"><i class=\"ms-Icon ms-Icon--Signin\"></i></span>\r\n </span>\r\n </button>\r\n\r\n <div *ngIf=\"userMenuExpanded\"\r\n [ngClass]=\"showUserNameOnHeader ? 'shell-header-profile-dropdown-with-username' : 'shell-header-profile-dropdown'\"\r\n role=\"menu\"\r\n aria-orientation=\"vertical\"\r\n aria-labelledby=\"user-menu\">\r\n <!-- <a href=\"#\" class=\"block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100\" role=\"menuitem\">\u0391\u03C0\u03BF\u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7</a> -->\r\n <ng-container *ngFor=\"let link of links.profile | async\">\r\n <a [attr.href]=\"link.path\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\"\r\n [routerLinkActive]=\"['nav-link-profile-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link-profile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mobile-menu-button-container\">\r\n <!-- Mobile menu button -->\r\n <button type=\"button\"\r\n (click)=\"mobileMenuExpanded = !mobileMenuExpanded\"\r\n class=\"mobile-menu-button\"\r\n aria-controls=\"mobile-menu\"\r\n [attr.aria-expanded]=\"mobileMenuExpanded\">\r\n <span class=\"sr-only\">Open main menu</span>\r\n <!--Heroicon name: outline/menu Menu open: \"hidden\", Menu closed: \"block\"-->\r\n <svg class=\"block h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M4 6h16M4 12h16M4 18h16\" />\r\n </svg>\r\n <!--Heroicon name: outline/x Menu open: \"block\", Menu closed: \"hidden\"-->\r\n <svg class=\"hidden h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Mobile menu, show/hide based on menu state. -->\r\n <div class=\"mobile-menu-container\"\r\n *ngIf=\"mobileMenuExpanded\"\r\n id=\"mobile-menu\">\r\n <div class=\"mobile-menu-link-container\">\r\n <ng-container *ngFor=\"let link of sectionLinks | async\">\r\n <a [attr.href]=\"link.path\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\"\r\n [routerLinkActive]=\"['nav-link-mobile-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"!user\">\r\n <a href=\"#\"\r\n (click)=\"signin($event)\"\r\n class=\"nav-link-mobile\">\r\n <i class=\"ms-Icon ms-Icon--Signin mr-2\"></i>\u03A3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7\r\n </a>\r\n </ng-container>\r\n </div>\r\n <div class=\"mobile-menu-user-info-container\"\r\n *ngIf=\"user\">\r\n <div class=\"mobile-menu-user-info-container-inner\">\r\n <div class=\"flex-shrink-0\">\r\n <span class=\"mobile-menu-avatar-container\">\r\n <span class=\"mobile-menu-avatar-name\">{{ this.avatarName }}</span>\r\n </span>\r\n </div>\r\n <div class=\"ml-3\">\r\n <div class=\"mobile-menu-user-name\">{{ user.profile.name }}</div>\r\n <div class=\"mobile-menu-user-email\">{{ user.profile.email }}</div>\r\n </div>\r\n <button class=\"mobile-menu-rounded-button\">\r\n <span class=\"sr-only\">View notifications</span>\r\n <!-- Heroicon name: outline/bell -->\r\n <svg class=\"mobile-menu-rounded-button-icon-style\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <div class=\"mobile-menu-link-container\">\r\n <ng-container *ngFor=\"let link of links.profile | async\">\r\n <a [attr.href]=\"link.path\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\"\r\n [routerLinkActive]=\"['nav-link-mobile-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n <!-- <a href=\"#\" class=\"block px-3 py-2 rounded-sm text-base font-medium text-gray-400 hover:text-white hover:bg-gray-700\">\u0391\u03C0\u03BF\u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7</a> -->\r\n </div>\r\n </div>\r\n </div>\r\n</nav>\r\n"
1578
+ template: "<nav>\r\n <div class=\"shell-header-paddings\">\r\n <div [class]=\"border ? 'shell-header-border' : ''\">\r\n <div class=\"shell-header-menu-container\">\r\n <div class=\"shell-header-links-no-grow-container\">\r\n <div>\r\n <a href=\"#\"\r\n [routerLink]=\"['/']\"><img class=\"h-8 w-8\" style=\"width:2rem; height: 2rem;\" [src]=\"config.appLogo\" [alt]=\"config.appLogoAlt\" /></a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"shell-header-link-container\">\r\n <ng-container *ngFor=\"let link of sectionLinks | async\">\r\n <a href=\"#\"\r\n [routerLink]=\"[link.path]\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\"\r\n [routerLinkActive]=\"['nav-link-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"shell-header-md-visible\">\r\n <div class=\"shell-header-links-no-grow-container\">\r\n\r\n <ng-container *ngFor=\"let link of links.profileActions | async\">\r\n <a class=\"shell-header-menu-rounded-button\"\r\n (clickOutside)=\"onClickOutside($event)\"\r\n [attr.href]=\"link.path\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\">\r\n <span class=\"sr-only\">{{ link.text }}</span>\r\n <i *ngIf=\"link.icon\"\r\n [class]=\"link.icon\"></i>\r\n </a>\r\n </ng-container>\r\n\r\n <!-- Profile dropdown -->\r\n <div class=\"ml-2 relative\"\r\n (clickOutside)=\"onClickOutside($event)\"\r\n *ngIf=\"profileMenuVisible\">\r\n <div [ngClass]=\"{'shell-header-profile': showUserNameOnHeader}\">\r\n <div *ngIf=\"user && showUserNameOnHeader\"\r\n class=\"shell-header-profile-userName\">\r\n {{ user.profile.name }}\r\n </div>\r\n <button type=\"button\"\r\n *ngIf=\"user\"\r\n (click)=\"userMenuExpanded = !userMenuExpanded\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\">\r\n <span class=\"sr-only\">Open user menu</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\">{{this.avatarName}}</span>\r\n </span>\r\n </button>\r\n\r\n <button type=\"button\"\r\n *ngIf=\"!user\"\r\n (click)=\"signin(null)\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\">\r\n <span class=\"sr-only\">sign in</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\"><i class=\"ms-Icon ms-Icon--Signin\"></i></span>\r\n </span>\r\n </button>\r\n\r\n <div *ngIf=\"userMenuExpanded\"\r\n [ngClass]=\"showUserNameOnHeader ? 'shell-header-profile-dropdown-with-username' : 'shell-header-profile-dropdown'\"\r\n role=\"menu\"\r\n aria-orientation=\"vertical\"\r\n aria-labelledby=\"user-menu\">\r\n <!-- <a href=\"#\" class=\"block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100\" role=\"menuitem\">\u0391\u03C0\u03BF\u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7</a> -->\r\n <ng-container *ngFor=\"let link of links.profile | async\">\r\n <a [attr.href]=\"link.path\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\"\r\n [routerLinkActive]=\"['nav-link-profile-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link-profile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mobile-menu-button-container\">\r\n <!-- Mobile menu button -->\r\n <button type=\"button\"\r\n (click)=\"mobileMenuExpanded = !mobileMenuExpanded\"\r\n class=\"mobile-menu-button\"\r\n aria-controls=\"mobile-menu\"\r\n [attr.aria-expanded]=\"mobileMenuExpanded\">\r\n <span class=\"sr-only\">Open main menu</span>\r\n <!--Heroicon name: outline/menu Menu open: \"hidden\", Menu closed: \"block\"-->\r\n <svg class=\"block h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M4 6h16M4 12h16M4 18h16\" />\r\n </svg>\r\n <!--Heroicon name: outline/x Menu open: \"block\", Menu closed: \"hidden\"-->\r\n <svg class=\"hidden h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Mobile menu, show/hide based on menu state. -->\r\n <div class=\"mobile-menu-container\"\r\n *ngIf=\"mobileMenuExpanded\"\r\n id=\"mobile-menu\">\r\n <div class=\"mobile-menu-link-container\">\r\n <ng-container *ngFor=\"let link of sectionLinks | async\">\r\n <a [attr.href]=\"link.path\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\"\r\n [routerLinkActive]=\"['nav-link-mobile-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"!user\">\r\n <a href=\"#\"\r\n (click)=\"signin($event)\"\r\n class=\"nav-link-mobile\">\r\n <i class=\"ms-Icon ms-Icon--Signin mr-2\"></i>\u03A3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7\r\n </a>\r\n </ng-container>\r\n </div>\r\n <div class=\"mobile-menu-user-info-container\"\r\n *ngIf=\"user\">\r\n <div class=\"mobile-menu-user-info-container-inner\">\r\n <div class=\"flex-shrink-0\">\r\n <span class=\"mobile-menu-avatar-container\">\r\n <span class=\"mobile-menu-avatar-name\">{{ this.avatarName }}</span>\r\n </span>\r\n </div>\r\n <div class=\"ml-3\">\r\n <div class=\"mobile-menu-user-name\">{{ user.profile.name }}</div>\r\n <div class=\"mobile-menu-user-email\">{{ user.profile.email }}</div>\r\n </div>\r\n <button class=\"mobile-menu-rounded-button\">\r\n <span class=\"sr-only\">View notifications</span>\r\n <!-- Heroicon name: outline/bell -->\r\n <svg class=\"mobile-menu-rounded-button-icon-style\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <div class=\"mobile-menu-link-container\">\r\n <ng-container *ngFor=\"let link of links.profile | async\">\r\n <a [attr.href]=\"link.path\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\"\r\n [routerLinkActive]=\"['nav-link-mobile-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n <!-- <a href=\"#\" class=\"block px-3 py-2 rounded-sm text-base font-medium text-gray-400 hover:text-white hover:bg-gray-700\">\u0391\u03C0\u03BF\u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7</a> -->\r\n </div>\r\n </div>\r\n </div>\r\n</nav>\r\n"
1576
1579
  },] }
1577
1580
  ];
1578
1581
  ShellHeaderComponent.ctorParameters = () => [