UNPKG

@uiowa/uiowa-header

Version:

An Angular library for uiowa website header, including an IOWA branding bar and a website nav bar.

227 lines (214 loc) 44.8 kB
import * as i0 from '@angular/core'; import { Injectable, output, Directive, EventEmitter, Component, Input, Output, NgModule } from '@angular/core'; import * as i2 from '@angular/common'; import { CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; import * as i3 from '@angular/router'; import { RouterModule } from '@angular/router'; class LoginService { returnUri = ''; constructor() { } login() { let url = `account/login?returnUri=${encodeURIComponent(this.returnUri)}`; if (document.documentMode) { const base = document.getElementsByTagName('base')[0].href; url = base + url; } try { window.location.replace(url); } catch { window.location.href = url; } } logout() { let url = `account/logout`; if (document.documentMode) { const base = document.getElementsByTagName('base')[0].href; url = base + url; } try { window.location.replace(url); } catch { window.location.href = url; } } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: LoginService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: LoginService, providedIn: 'root' }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: LoginService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [] }); class ClickOutsideDirective { _elementRef; clickOutside = output(); constructor(_elementRef) { this._elementRef = _elementRef; } onClick(event) { const target = event.target; if (!target) { return; } const clickedInside = this._elementRef.nativeElement.contains(target); if (!clickedInside) { this.clickOutside.emit(event); } } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.3", type: ClickOutsideDirective, isStandalone: false, selector: "[clickOutside]", outputs: { clickOutside: "clickOutside" }, host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0 }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: ClickOutsideDirective, decorators: [{ type: Directive, args: [{ selector: '[clickOutside]', standalone: false, host: { '(document:click)': 'onClick($event)', }, }] }], ctorParameters: () => [{ type: i0.ElementRef }] }); class UsernameDropdownComponent { loginService; user; stopImpersonation = new EventEmitter(); showMenu = false; constructor(loginService) { this.loginService = loginService; } ngOnInit() { } logout() { this.loginService.logout(); } login() { this.loginService.login(); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: UsernameDropdownComponent, deps: [{ token: LoginService }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.3", type: UsernameDropdownComponent, isStandalone: false, selector: "username-dropdown", inputs: { user: "user" }, outputs: { stopImpersonation: "stopImpersonation" }, ngImport: i0, template: "@if( user?.userName){\r\n<button\r\n aria-label=\"Click to show menu\"\r\n class=\"iowa-user-button has-dropdown\"\r\n id=\"username-dropdown\"\r\n (click)=\"showMenu = !showMenu\"\r\n (clickOutside)=\"showMenu = false\"\r\n [attr.aria-expanded]=\"showMenu\"\r\n>\r\n <svg\r\n aria-hidden=\"true\"\r\n role=\"icon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 448 512\"\r\n style=\"height: 0.8rem; width: 1rem; vertical-align: baseline\"\r\n >\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"\r\n ></path>\r\n </svg>\r\n <span class=\"iowa-user-name ml-1\">\r\n {{ user!.userName }}\r\n @if(user!.originalUserName){\r\n <span class=\"iowa-original-username\"> ({{ user!.originalUserName }}) </span>\r\n }\r\n </span>\r\n</button>\r\n<div\r\n aria-labelledby=\"username-dropdown\"\r\n role=\"menuitem\"\r\n class=\"iowa-username-dropdown iowa-user-dropdown-menu-right\"\r\n [ngClass]=\"{ show: showMenu }\"\r\n>\r\n @if(user!.originalUserName){\r\n <button\r\n type=\"button\"\r\n class=\"iowa-username-dropdown-button\"\r\n (click)=\"stopImpersonation.emit(); showMenu = false\"\r\n >\r\n <svg\r\n aria-hidden=\"true\"\r\n role=\"icon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 512 512\"\r\n style=\"height: 1rem; width: 1rem\"\r\n >\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm96 328c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16v160z\"\r\n ></path>\r\n </svg>\r\n <span class=\"ml-1\">Stop Impersonation</span>\r\n </button>\r\n <div class=\"dropdown-divider\"></div>\r\n }\r\n <button\r\n type=\"button\"\r\n class=\"iowa-username-dropdown-button\"\r\n (click)=\"logout()\"\r\n >\r\n <svg\r\n aria-hidden=\"true\"\r\n role=\"icon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 512 512\"\r\n style=\"height: 1rem; width: 1rem\"\r\n >\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M497 273L329 441c-15 15-41 4.5-41-17v-96H152c-13.3 0-24-10.7-24-24v-96c0-13.3 10.7-24 24-24h136V88c0-21.4 25.9-32 41-17l168 168c9.3 9.4 9.3 24.6 0 34zM192 436v-40c0-6.6-5.4-12-12-12H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h84c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12H96c-53 0-96 43-96 96v192c0 53 43 96 96 96h84c6.6 0 12-5.4 12-12z\"\r\n ></path>\r\n </svg>\r\n <span class=\"ml-1\">Logout</span>\r\n </button>\r\n</div>\r\n}@else {\r\n<button\r\n aria-label=\"Click to login\"\r\n class=\"iowa-user-button\"\r\n id=\"username-dropdown\"\r\n (click)=\"login()\"\r\n>\r\n <svg\r\n aria-hidden=\"true\"\r\n role=\"icon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 448 512\"\r\n style=\"height: 0.8rem; width: 1rem; vertical-align: baseline\"\r\n >\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"\r\n ></path>\r\n </svg>\r\n <span class=\"ml-1\">Login</span>\r\n</button>\r\n}\r\n", styles: [":host{display:flex;font-family:sans-serif;position:relative}.iowa-user-button{color:#ffcd00;cursor:pointer;padding:0!important;font-weight:400;white-space:nowrap;background-color:transparent;border:none;font-size:1rem;line-height:1.5}@media (min-width: 855px){.iowa-user-button{color:#151515}}.iowa-user-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:inline-block;vertical-align:bottom}.iowa-original-username{color:#ff4759;font-weight:700}@media (min-width: 855px){.iowa-original-username{color:#ab0000}}.iowa-user-dropdown-menu-right{position:absolute;float:none;right:0;top:100%;z-index:1000;display:none;margin:.125rem 0 0;font-size:1rem;line-height:1.5;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;box-shadow:0 4px 8px #0003}.iowa-user-button.has-dropdown:after{margin:0 0 2px 4px;display:inline-block;content:\"\";border-style:solid;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.iowa-user-dropdown-menu-right.show{display:block!important}.iowa-username-dropdown{min-width:7rem;padding:.5rem 1rem}.iowa-username-dropdown-button{color:#0064d0;background-color:transparent;white-space:nowrap;display:flex;align-items:center;padding:0;margin:0;border:none;cursor:pointer;font-size:1rem;line-height:1.5}.iowa-username-dropdown .dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.ml-1{margin-left:.25rem}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: UsernameDropdownComponent, decorators: [{ type: Component, args: [{ selector: 'username-dropdown', standalone: false, template: "@if( user?.userName){\r\n<button\r\n aria-label=\"Click to show menu\"\r\n class=\"iowa-user-button has-dropdown\"\r\n id=\"username-dropdown\"\r\n (click)=\"showMenu = !showMenu\"\r\n (clickOutside)=\"showMenu = false\"\r\n [attr.aria-expanded]=\"showMenu\"\r\n>\r\n <svg\r\n aria-hidden=\"true\"\r\n role=\"icon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 448 512\"\r\n style=\"height: 0.8rem; width: 1rem; vertical-align: baseline\"\r\n >\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"\r\n ></path>\r\n </svg>\r\n <span class=\"iowa-user-name ml-1\">\r\n {{ user!.userName }}\r\n @if(user!.originalUserName){\r\n <span class=\"iowa-original-username\"> ({{ user!.originalUserName }}) </span>\r\n }\r\n </span>\r\n</button>\r\n<div\r\n aria-labelledby=\"username-dropdown\"\r\n role=\"menuitem\"\r\n class=\"iowa-username-dropdown iowa-user-dropdown-menu-right\"\r\n [ngClass]=\"{ show: showMenu }\"\r\n>\r\n @if(user!.originalUserName){\r\n <button\r\n type=\"button\"\r\n class=\"iowa-username-dropdown-button\"\r\n (click)=\"stopImpersonation.emit(); showMenu = false\"\r\n >\r\n <svg\r\n aria-hidden=\"true\"\r\n role=\"icon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 512 512\"\r\n style=\"height: 1rem; width: 1rem\"\r\n >\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm96 328c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16v160z\"\r\n ></path>\r\n </svg>\r\n <span class=\"ml-1\">Stop Impersonation</span>\r\n </button>\r\n <div class=\"dropdown-divider\"></div>\r\n }\r\n <button\r\n type=\"button\"\r\n class=\"iowa-username-dropdown-button\"\r\n (click)=\"logout()\"\r\n >\r\n <svg\r\n aria-hidden=\"true\"\r\n role=\"icon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 512 512\"\r\n style=\"height: 1rem; width: 1rem\"\r\n >\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M497 273L329 441c-15 15-41 4.5-41-17v-96H152c-13.3 0-24-10.7-24-24v-96c0-13.3 10.7-24 24-24h136V88c0-21.4 25.9-32 41-17l168 168c9.3 9.4 9.3 24.6 0 34zM192 436v-40c0-6.6-5.4-12-12-12H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h84c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12H96c-53 0-96 43-96 96v192c0 53 43 96 96 96h84c6.6 0 12-5.4 12-12z\"\r\n ></path>\r\n </svg>\r\n <span class=\"ml-1\">Logout</span>\r\n </button>\r\n</div>\r\n}@else {\r\n<button\r\n aria-label=\"Click to login\"\r\n class=\"iowa-user-button\"\r\n id=\"username-dropdown\"\r\n (click)=\"login()\"\r\n>\r\n <svg\r\n aria-hidden=\"true\"\r\n role=\"icon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 448 512\"\r\n style=\"height: 0.8rem; width: 1rem; vertical-align: baseline\"\r\n >\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"\r\n ></path>\r\n </svg>\r\n <span class=\"ml-1\">Login</span>\r\n</button>\r\n}\r\n", styles: [":host{display:flex;font-family:sans-serif;position:relative}.iowa-user-button{color:#ffcd00;cursor:pointer;padding:0!important;font-weight:400;white-space:nowrap;background-color:transparent;border:none;font-size:1rem;line-height:1.5}@media (min-width: 855px){.iowa-user-button{color:#151515}}.iowa-user-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:inline-block;vertical-align:bottom}.iowa-original-username{color:#ff4759;font-weight:700}@media (min-width: 855px){.iowa-original-username{color:#ab0000}}.iowa-user-dropdown-menu-right{position:absolute;float:none;right:0;top:100%;z-index:1000;display:none;margin:.125rem 0 0;font-size:1rem;line-height:1.5;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;box-shadow:0 4px 8px #0003}.iowa-user-button.has-dropdown:after{margin:0 0 2px 4px;display:inline-block;content:\"\";border-style:solid;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.iowa-user-dropdown-menu-right.show{display:block!important}.iowa-username-dropdown{min-width:7rem;padding:.5rem 1rem}.iowa-username-dropdown-button{color:#0064d0;background-color:transparent;white-space:nowrap;display:flex;align-items:center;padding:0;margin:0;border:none;cursor:pointer;font-size:1rem;line-height:1.5}.iowa-username-dropdown .dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.ml-1{margin-left:.25rem}\n"] }] }], ctorParameters: () => [{ type: LoginService }], propDecorators: { user: [{ type: Input }], stopImpersonation: [{ type: Output }] } }); class UiowaHeaderComponent { loginService; siteName = 'Awesome Site Name'; externalLinks; bannerLinks; internalRoutes; user; stopImpersonation = output(); showWarning = false; warningMessage = 'WARNING: TEST SYSTEM'; showNavBar = false; showMenuDropdown = []; constructor(loginService) { this.loginService = loginService; } ngOnInit() { this.showMenuDropdown = this.internalRoutes?.map((_) => false) ?? []; } toggleMenuCollapse(i) { this.showMenuDropdown[i] = !this.showMenuDropdown[i]; this.showMenuDropdown.forEach((x, index) => { if (x && index !== i) { this.showMenuDropdown[index] = false; } }); } collapseMenu(i) { this.showMenuDropdown[i] = false; } logout() { this.loginService.logout(); } login() { this.loginService.login(); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: UiowaHeaderComponent, deps: [{ token: LoginService }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.3", type: UiowaHeaderComponent, isStandalone: false, selector: "uiowa-header", inputs: { siteName: ["applicationName", "siteName"], externalLinks: "externalLinks", bannerLinks: "bannerLinks", internalRoutes: "internalRoutes", user: "user", showWarning: "showWarning", warningMessage: "warningMessage" }, outputs: { stopImpersonation: "stopImpersonation" }, ngImport: i0, template: "<header role=\"banner\" class=\"iowa-bar iowa-bar--narrow\">\r\n <div class=\"iowa-bar__container\">\r\n <div class=\"logo logo--tab\">\r\n <a target=\"_blank\" rel=\"noopener\" href=\"https://uiowa.edu\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n class=\"logo-icon\"\r\n aria-labelledby=\"logo-header\"\r\n role=\"img\"\r\n viewBox=\"0 0 311.6 90.2\"\r\n >\r\n <path\r\n class=\"st0\"\r\n d=\"M40 18.8h-7.3v52.4H40v19H0v-19h7.3V18.8H0V0h40V18.8z\"\r\n />\r\n <path\r\n class=\"st0\"\r\n d=\"M93.8 90.2h-29c-10.5 0-17.4-6.9-17.4-18.2V18.2C47.4 7 54.4 0 64.8 0h29c10.5 0 17.4 7 17.4 18.2V72C111.2 83.2 104.2 90.2 93.8 90.2zM85.6 71.2V18.8H73v52.4H85.6z\"\r\n />\r\n <path\r\n class=\"st0\"\r\n d=\"M122.6 18.8h-6.4V0h38v18.9H147l6.5 43.4L167 0h19.2l14.4 62.3 5.2-43.4h-6.6V0h37.5v18.9h-6.2l-11.3 71.4h-30.6l-11.8-53.2 -12.1 53.1h-29.4L122.6 18.8z\"\r\n />\r\n <path\r\n class=\"st0\"\r\n d=\"M230.1 71.2h6.9L250.7 0h41l13.5 71.2h6.4v19H281l-2.9-22h-15.2l-2.7 22h-30L230.1 71.2 230.1 71.2zM276.5 51.7l-5.8-36.4 -6 36.4H276.5z\"\r\n />\r\n <title id=\"logo-header\">University of Iowa</title>\r\n </svg>\r\n </a>\r\n </div>\r\n <div class=\"site-name-bar\">\r\n <button\r\n class=\"iowa-navbar-toggler\"\r\n type=\"button\"\r\n (click)=\"showNavBar = !showNavBar\"\r\n aria-controls=\"navbar-primary\"\r\n [attr.aria-expanded]=\"showNavBar\"\r\n >\r\n <svg\r\n role=\"img\"\r\n aria-labelledby=\"navbar-toggler\"\r\n focusable=\"false\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 448 512\"\r\n >\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z\"\r\n ></path>\r\n <title id=\"navbar-toggler\">Toggle navigation</title>\r\n </svg>\r\n </button>\r\n <h1 class=\"site-name\">\r\n <a routerLink=\"\">{{ siteName }}</a>\r\n </h1>\r\n </div>\r\n <div class=\"iowa-username-bar\">\r\n @if(showWarning){\r\n <div class=\"test-warning\">{{ warningMessage }}</div>\r\n } @if(bannerLinks){\r\n <div class=\"iowa-banner-links\">\r\n @if(bannerLinks.link1){\r\n <a [href]=\"bannerLinks.link1.url\" [target]=\"bannerLinks.link1.target\">\r\n {{ bannerLinks.link1.text }}\r\n </a>\r\n } @if(bannerLinks.link2){\r\n <a [href]=\"bannerLinks.link2.url\" [target]=\"bannerLinks.link1.target\">\r\n {{ bannerLinks.link2.text }}\r\n </a>\r\n }\r\n </div>\r\n }\r\n <username-dropdown\r\n [user]=\"user\"\r\n (stopImpersonation)=\"stopImpersonation.emit()\"\r\n ></username-dropdown>\r\n </div>\r\n </div>\r\n</header>\r\n\r\n<nav\r\n id=\"navbar-primary\"\r\n role=\"navigation\"\r\n class=\"iowa-nav-bar\"\r\n [ngClass]=\"{ show: showNavBar }\"\r\n>\r\n <div class=\"iowa-main-menu\">\r\n <ul class=\"iowa-internal-routes\">\r\n @for(item of internalRoutes;track $index; let i=$index){\r\n <li\r\n class=\"menu-item\"\r\n routerLinkActive=\"is-active\"\r\n [routerLinkActiveOptions]=\"{ exact: !item.route }\"\r\n >\r\n <a\r\n *ngIf=\"!item.subMenus\"\r\n [routerLink]=\"item.route\"\r\n (click)=\"showNavBar = false\"\r\n >\r\n {{ item.text }}\r\n </a>\r\n @if(item.subMenus){\r\n <div class=\"iowa-submenu-dropdown\">\r\n @if(item.route){\r\n <a\r\n [attr.id]=\"'menuDropdown_' + i\"\r\n [routerLink]=\"item.route\"\r\n (click)=\"toggleMenuCollapse(i)\"\r\n (clickOutside)=\"collapseMenu(i)\"\r\n [attr.aria-expanded]=\"showMenuDropdown[i]\"\r\n >\r\n {{ item.text }}\r\n <span\r\n aria-hidden=\"true\"\r\n class=\"iowa-dropdown-item-arrow\"\r\n [ngClass]=\"showMenuDropdown[i] ? 'up' : 'down'\"\r\n ></span>\r\n </a>\r\n } @else {\r\n <a\r\n [attr.id]=\"'menuDropdown_' + i\"\r\n href=\"javascript:void(0)\"\r\n (click)=\"toggleMenuCollapse(i)\"\r\n (clickOutside)=\"collapseMenu(i)\"\r\n [attr.aria-expanded]=\"showMenuDropdown[i]\"\r\n >\r\n {{ item.text }}\r\n <span\r\n aria-hidden=\"true\"\r\n class=\"iowa-dropdown-item-arrow\"\r\n [ngClass]=\"showMenuDropdown[i] ? 'up' : 'down'\"\r\n ></span>\r\n </a>\r\n }\r\n\r\n <div\r\n class=\"iowa-submenu-dropdown-content\"\r\n [attr.aria-labelledby]=\"'menuDropdown_' + i\"\r\n [ngClass]=\"{ show: showMenuDropdown[i] }\"\r\n >\r\n @for( subitem of item.subMenus; track $index){ @if(subitem.route){\r\n <a\r\n class=\"iowa-submenu-dropdown-item\"\r\n [routerLink]=\"subitem.route\"\r\n (click)=\"showMenuDropdown[i] = false; showNavBar = false\"\r\n >\r\n {{ subitem.text }}\r\n </a>\r\n } }\r\n </div>\r\n </div>\r\n }\r\n </li>\r\n }\r\n </ul>\r\n <div class=\"iowa-external-links\">\r\n @for(item of externalLinks; track $index; let isLast = $last){\r\n <a [href]=\"item.url\" [target]=\"item.target\">{{ item.text }}</a>\r\n @if(!isLast){<span class=\"iowa-external-link-spacer\"></span>} }\r\n </div>\r\n </div>\r\n</nav>\r\n", styles: [":host{z-index:1000}.iowa-username-bar{display:flex;justify-content:flex-end;align-items:center;flex-grow:2;padding-right:1.25rem;order:2}@media (min-width: 855px){.iowa-username-bar{padding-right:15px;order:3}}.test-warning{display:none;color:#ffcd00;background-color:#ad0000;white-space:nowrap;font-weight:700;font-family:sans-serif;margin:auto;padding:.5rem 1rem}@media (min-width: 855px){.test-warning{display:flex}}\n", ".logo--tab{display:block;box-sizing:border-box;height:70px;width:109px;padding:25px 1.25rem;background:#151515;margin-right:10px}@media (min-width: 84.375em){.logo--tab{width:188px;height:90px;margin-left:-12px;margin-bottom:-6px;padding:27px 20px 20px}}@media (min-width: 855px){.iowa-bar--narrow .logo--tab{height:56px;width:119px;padding:15px}}.logo-icon{fill:#ffcd00;height:20px}.logo-icon:hover,.logo-icon:focus{opacity:.7}@media (min-width: 84.375em){.logo-icon{height:43px}}@media (min-width: 855px){.logo-icon{height:26px}}\n", ".site-name-bar{display:flex;align-items:center;text-align:left;line-height:1;font-family:Roboto,sans-serif;width:100%;padding:1.25rem;background:#ffcd00;order:3}.site-name{margin:0;font-size:1.3rem;font-weight:300;white-space:nowrap}.site-name a{color:#151515;text-decoration:none}@media (min-width: 855px){.site-name-bar{width:auto;background:transparent;padding:0;order:2}}.iowa-navbar-toggler{cursor:pointer;padding:0;margin-right:1rem;border:none;background:none}.iowa-navbar-toggler:focus,.iowa-navbar-toggler:hover{outline:2px solid #adadad;outline-offset:2px}@media (min-width: 855px){.iowa-navbar-toggler{display:none}}.iowa-navbar-toggler svg{height:1.1rem;width:1.3rem;vertical-align:baseline}\n", ".iowa-bar{position:relative;z-index:1000;display:block;min-height:auto;background:#151515}@media (min-width: 855px){.iowa-bar{background:#ffcd00}}.iowa-bar__container{max-width:81.875em;display:flex;flex-wrap:wrap;margin:0 auto}@media (min-width: 855px){.iowa-bar__container{flex-wrap:nowrap}.iowa-bar--narrow{min-height:50px;position:relative}}\n", ".iowa-nav-bar{display:none;background-color:#f3f3f3;color:#151515;font-family:Roboto,sans-serif}.iowa-nav-bar.show{display:flex}.iowa-main-menu{display:flex;flex-direction:column;padding:0 0 0 1.25rem;width:100%;background-color:#f3f3f3;z-index:900}@media (max-width: 855px){.iowa-main-menu{position:absolute;box-sizing:border-box;box-shadow:0 .125rem .25rem #0003!important}}@media (min-width: 855px){.iowa-nav-bar{display:flex;align-items:center;box-shadow:0 .125rem .25rem #0003!important}.iowa-main-menu{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;max-width:81.875em;padding:0;margin:0 auto}}\n", ".iowa-submenu-dropdown{position:relative}.iowa-submenu-dropdown-content{display:none;position:absolute;box-shadow:0 4px 8px #0006;background-color:#f9f9f9;z-index:900}.iowa-submenu-dropdown-content.show{display:flex!important;flex-direction:column;min-width:100%}.iowa-submenu-dropdown-item{font-size:1rem!important;padding:.75rem 1rem!important}.iowa-dropdown-item-arrow{display:inline-block;border-style:solid;border-width:0 2px 2px 0;padding:3px}.iowa-dropdown-item-arrow.down{transform-origin:right;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.iowa-dropdown-item-arrow.up{transform:rotate(-135deg);-webkit-transform:rotate(-135deg)}\n", ".iowa-internal-routes{position:relative;display:flex;flex-direction:column;padding:0;margin:0}.iowa-internal-routes li{position:relative;list-style-type:none;border-bottom:1px solid rgba(0,0,0,.125)}.iowa-internal-routes a{position:relative;display:inline-block;white-space:nowrap;transition:background .8s ease-out;text-decoration:none;color:#151515;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.iowa-internal-routes li a{width:100%;padding:.75rem}.iowa-internal-routes .is-active{font-weight:700}@media (max-width: 855px){.iowa-internal-routes .is-active{background-color:#fff}}.iowa-internal-routes .is-active:after{background:#ffcd00;content:\"\";position:absolute;left:0;bottom:0;width:100%;height:6px}.iowa-internal-routes li a:focus,.iowa-internal-routes li a:hover{text-decoration:none}@media (min-width: 855px){.iowa-internal-routes{flex-direction:row}.iowa-internal-routes li{border-bottom:none}.iowa-internal-routes li a{position:relative;width:auto;font-size:1.125rem;font-weight:500;padding:1rem}.iowa-internal-routes li a:after{content:\"\";position:absolute;left:50%;bottom:0;width:100%;height:3px;background-color:#ffcd00;transform-origin:center;transform:translate(-50%) scaleX(0);transition:transform .3s ease-in-out}.iowa-internal-routes li a:hover:after,.iowa-internal-routes li a:focus:after{transform:translate(-50%) scaleX(1)}.iowa-internal-routes .is-active:after{background:#ffcd00;content:\"\";position:absolute;left:50%;bottom:0;width:100%;height:6px;transform-origin:center;transition:transform .3s ease-in-out;transform:translate(-50%) scaleX(1)}.iowa-internal-routes li:before{position:absolute;right:0;top:25%;height:50%;width:1px;content:\"\";background:#ffcd00}.iowa-internal-routes li:last-of-type:before{width:0}}@media (min-width: 84.375em){.iowa-internal-routes{margin-left:-12px}}\n", ".iowa-external-links{display:flex;flex-wrap:wrap;justify-content:flex-end;padding:.5rem 0;margin-left:auto}.iowa-external-links a{color:#656565;font-size:.875rem;padding:.25rem 0;margin:0 .5rem;white-space:nowrap;text-decoration:none;position:relative}.iowa-external-links a:after{content:\"\";position:absolute;left:50%;bottom:0;width:100%;height:2px;background-color:#ffcd00;transform-origin:center;transform:translate(-50%) scaleX(0);transition:transform .3s ease-in-out}.iowa-external-links a:hover:after,.iowa-external-links a:focus:after{transform:translate(-50%) scaleX(1)}.iowa-external-link-spacer{border-right:#656565 1px solid}\n", ".iowa-banner-links{display:none}.iowa-banner-links a{color:#494949;font-size:.9rem;margin:0 .5rem;white-space:nowrap;text-decoration:none}.iowa-banner-links a:hover{text-decoration:underline}@media (min-width: 84.375em){.iowa-banner-links{display:flex;padding:0 .5rem}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: UsernameDropdownComponent, selector: "username-dropdown", inputs: ["user"], outputs: ["stopImpersonation"] }, { kind: "directive", type: ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: UiowaHeaderComponent, decorators: [{ type: Component, args: [{ selector: 'uiowa-header', standalone: false, template: "<header role=\"banner\" class=\"iowa-bar iowa-bar--narrow\">\r\n <div class=\"iowa-bar__container\">\r\n <div class=\"logo logo--tab\">\r\n <a target=\"_blank\" rel=\"noopener\" href=\"https://uiowa.edu\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n class=\"logo-icon\"\r\n aria-labelledby=\"logo-header\"\r\n role=\"img\"\r\n viewBox=\"0 0 311.6 90.2\"\r\n >\r\n <path\r\n class=\"st0\"\r\n d=\"M40 18.8h-7.3v52.4H40v19H0v-19h7.3V18.8H0V0h40V18.8z\"\r\n />\r\n <path\r\n class=\"st0\"\r\n d=\"M93.8 90.2h-29c-10.5 0-17.4-6.9-17.4-18.2V18.2C47.4 7 54.4 0 64.8 0h29c10.5 0 17.4 7 17.4 18.2V72C111.2 83.2 104.2 90.2 93.8 90.2zM85.6 71.2V18.8H73v52.4H85.6z\"\r\n />\r\n <path\r\n class=\"st0\"\r\n d=\"M122.6 18.8h-6.4V0h38v18.9H147l6.5 43.4L167 0h19.2l14.4 62.3 5.2-43.4h-6.6V0h37.5v18.9h-6.2l-11.3 71.4h-30.6l-11.8-53.2 -12.1 53.1h-29.4L122.6 18.8z\"\r\n />\r\n <path\r\n class=\"st0\"\r\n d=\"M230.1 71.2h6.9L250.7 0h41l13.5 71.2h6.4v19H281l-2.9-22h-15.2l-2.7 22h-30L230.1 71.2 230.1 71.2zM276.5 51.7l-5.8-36.4 -6 36.4H276.5z\"\r\n />\r\n <title id=\"logo-header\">University of Iowa</title>\r\n </svg>\r\n </a>\r\n </div>\r\n <div class=\"site-name-bar\">\r\n <button\r\n class=\"iowa-navbar-toggler\"\r\n type=\"button\"\r\n (click)=\"showNavBar = !showNavBar\"\r\n aria-controls=\"navbar-primary\"\r\n [attr.aria-expanded]=\"showNavBar\"\r\n >\r\n <svg\r\n role=\"img\"\r\n aria-labelledby=\"navbar-toggler\"\r\n focusable=\"false\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 448 512\"\r\n >\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z\"\r\n ></path>\r\n <title id=\"navbar-toggler\">Toggle navigation</title>\r\n </svg>\r\n </button>\r\n <h1 class=\"site-name\">\r\n <a routerLink=\"\">{{ siteName }}</a>\r\n </h1>\r\n </div>\r\n <div class=\"iowa-username-bar\">\r\n @if(showWarning){\r\n <div class=\"test-warning\">{{ warningMessage }}</div>\r\n } @if(bannerLinks){\r\n <div class=\"iowa-banner-links\">\r\n @if(bannerLinks.link1){\r\n <a [href]=\"bannerLinks.link1.url\" [target]=\"bannerLinks.link1.target\">\r\n {{ bannerLinks.link1.text }}\r\n </a>\r\n } @if(bannerLinks.link2){\r\n <a [href]=\"bannerLinks.link2.url\" [target]=\"bannerLinks.link1.target\">\r\n {{ bannerLinks.link2.text }}\r\n </a>\r\n }\r\n </div>\r\n }\r\n <username-dropdown\r\n [user]=\"user\"\r\n (stopImpersonation)=\"stopImpersonation.emit()\"\r\n ></username-dropdown>\r\n </div>\r\n </div>\r\n</header>\r\n\r\n<nav\r\n id=\"navbar-primary\"\r\n role=\"navigation\"\r\n class=\"iowa-nav-bar\"\r\n [ngClass]=\"{ show: showNavBar }\"\r\n>\r\n <div class=\"iowa-main-menu\">\r\n <ul class=\"iowa-internal-routes\">\r\n @for(item of internalRoutes;track $index; let i=$index){\r\n <li\r\n class=\"menu-item\"\r\n routerLinkActive=\"is-active\"\r\n [routerLinkActiveOptions]=\"{ exact: !item.route }\"\r\n >\r\n <a\r\n *ngIf=\"!item.subMenus\"\r\n [routerLink]=\"item.route\"\r\n (click)=\"showNavBar = false\"\r\n >\r\n {{ item.text }}\r\n </a>\r\n @if(item.subMenus){\r\n <div class=\"iowa-submenu-dropdown\">\r\n @if(item.route){\r\n <a\r\n [attr.id]=\"'menuDropdown_' + i\"\r\n [routerLink]=\"item.route\"\r\n (click)=\"toggleMenuCollapse(i)\"\r\n (clickOutside)=\"collapseMenu(i)\"\r\n [attr.aria-expanded]=\"showMenuDropdown[i]\"\r\n >\r\n {{ item.text }}\r\n <span\r\n aria-hidden=\"true\"\r\n class=\"iowa-dropdown-item-arrow\"\r\n [ngClass]=\"showMenuDropdown[i] ? 'up' : 'down'\"\r\n ></span>\r\n </a>\r\n } @else {\r\n <a\r\n [attr.id]=\"'menuDropdown_' + i\"\r\n href=\"javascript:void(0)\"\r\n (click)=\"toggleMenuCollapse(i)\"\r\n (clickOutside)=\"collapseMenu(i)\"\r\n [attr.aria-expanded]=\"showMenuDropdown[i]\"\r\n >\r\n {{ item.text }}\r\n <span\r\n aria-hidden=\"true\"\r\n class=\"iowa-dropdown-item-arrow\"\r\n [ngClass]=\"showMenuDropdown[i] ? 'up' : 'down'\"\r\n ></span>\r\n </a>\r\n }\r\n\r\n <div\r\n class=\"iowa-submenu-dropdown-content\"\r\n [attr.aria-labelledby]=\"'menuDropdown_' + i\"\r\n [ngClass]=\"{ show: showMenuDropdown[i] }\"\r\n >\r\n @for( subitem of item.subMenus; track $index){ @if(subitem.route){\r\n <a\r\n class=\"iowa-submenu-dropdown-item\"\r\n [routerLink]=\"subitem.route\"\r\n (click)=\"showMenuDropdown[i] = false; showNavBar = false\"\r\n >\r\n {{ subitem.text }}\r\n </a>\r\n } }\r\n </div>\r\n </div>\r\n }\r\n </li>\r\n }\r\n </ul>\r\n <div class=\"iowa-external-links\">\r\n @for(item of externalLinks; track $index; let isLast = $last){\r\n <a [href]=\"item.url\" [target]=\"item.target\">{{ item.text }}</a>\r\n @if(!isLast){<span class=\"iowa-external-link-spacer\"></span>} }\r\n </div>\r\n </div>\r\n</nav>\r\n", styles: [":host{z-index:1000}.iowa-username-bar{display:flex;justify-content:flex-end;align-items:center;flex-grow:2;padding-right:1.25rem;order:2}@media (min-width: 855px){.iowa-username-bar{padding-right:15px;order:3}}.test-warning{display:none;color:#ffcd00;background-color:#ad0000;white-space:nowrap;font-weight:700;font-family:sans-serif;margin:auto;padding:.5rem 1rem}@media (min-width: 855px){.test-warning{display:flex}}\n", ".logo--tab{display:block;box-sizing:border-box;height:70px;width:109px;padding:25px 1.25rem;background:#151515;margin-right:10px}@media (min-width: 84.375em){.logo--tab{width:188px;height:90px;margin-left:-12px;margin-bottom:-6px;padding:27px 20px 20px}}@media (min-width: 855px){.iowa-bar--narrow .logo--tab{height:56px;width:119px;padding:15px}}.logo-icon{fill:#ffcd00;height:20px}.logo-icon:hover,.logo-icon:focus{opacity:.7}@media (min-width: 84.375em){.logo-icon{height:43px}}@media (min-width: 855px){.logo-icon{height:26px}}\n", ".site-name-bar{display:flex;align-items:center;text-align:left;line-height:1;font-family:Roboto,sans-serif;width:100%;padding:1.25rem;background:#ffcd00;order:3}.site-name{margin:0;font-size:1.3rem;font-weight:300;white-space:nowrap}.site-name a{color:#151515;text-decoration:none}@media (min-width: 855px){.site-name-bar{width:auto;background:transparent;padding:0;order:2}}.iowa-navbar-toggler{cursor:pointer;padding:0;margin-right:1rem;border:none;background:none}.iowa-navbar-toggler:focus,.iowa-navbar-toggler:hover{outline:2px solid #adadad;outline-offset:2px}@media (min-width: 855px){.iowa-navbar-toggler{display:none}}.iowa-navbar-toggler svg{height:1.1rem;width:1.3rem;vertical-align:baseline}\n", ".iowa-bar{position:relative;z-index:1000;display:block;min-height:auto;background:#151515}@media (min-width: 855px){.iowa-bar{background:#ffcd00}}.iowa-bar__container{max-width:81.875em;display:flex;flex-wrap:wrap;margin:0 auto}@media (min-width: 855px){.iowa-bar__container{flex-wrap:nowrap}.iowa-bar--narrow{min-height:50px;position:relative}}\n", ".iowa-nav-bar{display:none;background-color:#f3f3f3;color:#151515;font-family:Roboto,sans-serif}.iowa-nav-bar.show{display:flex}.iowa-main-menu{display:flex;flex-direction:column;padding:0 0 0 1.25rem;width:100%;background-color:#f3f3f3;z-index:900}@media (max-width: 855px){.iowa-main-menu{position:absolute;box-sizing:border-box;box-shadow:0 .125rem .25rem #0003!important}}@media (min-width: 855px){.iowa-nav-bar{display:flex;align-items:center;box-shadow:0 .125rem .25rem #0003!important}.iowa-main-menu{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;max-width:81.875em;padding:0;margin:0 auto}}\n", ".iowa-submenu-dropdown{position:relative}.iowa-submenu-dropdown-content{display:none;position:absolute;box-shadow:0 4px 8px #0006;background-color:#f9f9f9;z-index:900}.iowa-submenu-dropdown-content.show{display:flex!important;flex-direction:column;min-width:100%}.iowa-submenu-dropdown-item{font-size:1rem!important;padding:.75rem 1rem!important}.iowa-dropdown-item-arrow{display:inline-block;border-style:solid;border-width:0 2px 2px 0;padding:3px}.iowa-dropdown-item-arrow.down{transform-origin:right;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.iowa-dropdown-item-arrow.up{transform:rotate(-135deg);-webkit-transform:rotate(-135deg)}\n", ".iowa-internal-routes{position:relative;display:flex;flex-direction:column;padding:0;margin:0}.iowa-internal-routes li{position:relative;list-style-type:none;border-bottom:1px solid rgba(0,0,0,.125)}.iowa-internal-routes a{position:relative;display:inline-block;white-space:nowrap;transition:background .8s ease-out;text-decoration:none;color:#151515;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.iowa-internal-routes li a{width:100%;padding:.75rem}.iowa-internal-routes .is-active{font-weight:700}@media (max-width: 855px){.iowa-internal-routes .is-active{background-color:#fff}}.iowa-internal-routes .is-active:after{background:#ffcd00;content:\"\";position:absolute;left:0;bottom:0;width:100%;height:6px}.iowa-internal-routes li a:focus,.iowa-internal-routes li a:hover{text-decoration:none}@media (min-width: 855px){.iowa-internal-routes{flex-direction:row}.iowa-internal-routes li{border-bottom:none}.iowa-internal-routes li a{position:relative;width:auto;font-size:1.125rem;font-weight:500;padding:1rem}.iowa-internal-routes li a:after{content:\"\";position:absolute;left:50%;bottom:0;width:100%;height:3px;background-color:#ffcd00;transform-origin:center;transform:translate(-50%) scaleX(0);transition:transform .3s ease-in-out}.iowa-internal-routes li a:hover:after,.iowa-internal-routes li a:focus:after{transform:translate(-50%) scaleX(1)}.iowa-internal-routes .is-active:after{background:#ffcd00;content:\"\";position:absolute;left:50%;bottom:0;width:100%;height:6px;transform-origin:center;transition:transform .3s ease-in-out;transform:translate(-50%) scaleX(1)}.iowa-internal-routes li:before{position:absolute;right:0;top:25%;height:50%;width:1px;content:\"\";background:#ffcd00}.iowa-internal-routes li:last-of-type:before{width:0}}@media (min-width: 84.375em){.iowa-internal-routes{margin-left:-12px}}\n", ".iowa-external-links{display:flex;flex-wrap:wrap;justify-content:flex-end;padding:.5rem 0;margin-left:auto}.iowa-external-links a{color:#656565;font-size:.875rem;padding:.25rem 0;margin:0 .5rem;white-space:nowrap;text-decoration:none;position:relative}.iowa-external-links a:after{content:\"\";position:absolute;left:50%;bottom:0;width:100%;height:2px;background-color:#ffcd00;transform-origin:center;transform:translate(-50%) scaleX(0);transition:transform .3s ease-in-out}.iowa-external-links a:hover:after,.iowa-external-links a:focus:after{transform:translate(-50%) scaleX(1)}.iowa-external-link-spacer{border-right:#656565 1px solid}\n", ".iowa-banner-links{display:none}.iowa-banner-links a{color:#494949;font-size:.9rem;margin:0 .5rem;white-space:nowrap;text-decoration:none}.iowa-banner-links a:hover{text-decoration:underline}@media (min-width: 84.375em){.iowa-banner-links{display:flex;padding:0 .5rem}}\n"] }] }], ctorParameters: () => [{ type: LoginService }], propDecorators: { siteName: [{ type: Input, args: ['applicationName'] }], externalLinks: [{ type: Input }], bannerLinks: [{ type: Input }], internalRoutes: [{ type: Input }], user: [{ type: Input }], showWarning: [{ type: Input }], warningMessage: [{ type: Input }] } }); class UiowaHeaderModule { static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: UiowaHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.3", ngImport: i0, type: UiowaHeaderModule, declarations: [UiowaHeaderComponent, UsernameDropdownComponent, ClickOutsideDirective], imports: [CommonModule, FormsModule, RouterModule], exports: [UiowaHeaderComponent] }); static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: UiowaHeaderModule, imports: [CommonModule, FormsModule, RouterModule] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: UiowaHeaderModule, decorators: [{ type: NgModule, args: [{ imports: [CommonModule, FormsModule, RouterModule], declarations: [ UiowaHeaderComponent, UsernameDropdownComponent, ClickOutsideDirective, ], exports: [UiowaHeaderComponent], }] }] }); class HeaderUser { userName = ''; originalUserName; } class ExternalLink { text; url; target; constructor(text, url, target = '_blank') { this.text = text; this.url = url; this.target = target; } } class InternalRoute { text; route; subMenus; constructor(text, route, subMenus) { this.text = text; this.route = route; this.subMenus = subMenus; } } class BannerLinks { link1; link2; constructor(link1, link2) { this.link1 = link1; this.link2 = link2; } } /* * Public API Surface of uiowa-header */ /** * Generated bundle index. Do not edit. */ export { BannerLinks, ExternalLink, HeaderUser, InternalRoute, LoginService, UiowaHeaderComponent, UiowaHeaderModule }; //# sourceMappingURL=uiowa-uiowa-header.mjs.map