{"version":3,"file":"uiowa-uiowa-header.mjs","sources":["../../../../projects/uiowa/uiowa-header/src/lib/services/login.service.ts","../../../../projects/uiowa/uiowa-header/src/lib/uiowa-header/click-outside.directive.ts","../../../../projects/uiowa/uiowa-header/src/lib/username-dropdown/username-dropdown.component.ts","../../../../projects/uiowa/uiowa-header/src/lib/username-dropdown/username-dropdown.component.html","../../../../projects/uiowa/uiowa-header/src/lib/uiowa-header/uiowa-header.component.ts","../../../../projects/uiowa/uiowa-header/src/lib/uiowa-header/uiowa-header.component.html","../../../../projects/uiowa/uiowa-header/src/lib/uiowa-header.module.ts","../../../../projects/uiowa/uiowa-header/src/lib/models/header-user.ts","../../../../projects/uiowa/uiowa-header/src/lib/models/external-link.ts","../../../../projects/uiowa/uiowa-header/src/lib/models/internal-route.ts","../../../../projects/uiowa/uiowa-header/src/lib/models/banner-links.ts","../../../../projects/uiowa/uiowa-header/src/public-api.ts","../../../../projects/uiowa/uiowa-header/src/uiowa-uiowa-header.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LoginService {\r\n  returnUri = '';\r\n  constructor() {}\r\n\r\n  login(): void {\r\n    let url = `account/login?returnUri=${encodeURIComponent(this.returnUri)}`;\r\n    if ((document as any).documentMode) {\r\n      const base = document.getElementsByTagName('base')[0].href;\r\n      url = base + url;\r\n    }\r\n    try {\r\n      window.location.replace(url);\r\n    } catch {\r\n      window.location.href = url;\r\n    }\r\n  }\r\n\r\n  logout(): void {\r\n    let url = `account/logout`;\r\n    if ((document as any).documentMode) {\r\n      const base = document.getElementsByTagName('base')[0].href;\r\n      url = base + url;\r\n    }\r\n    try {\r\n      window.location.replace(url);\r\n    } catch {\r\n      window.location.href = url;\r\n    }\r\n  }\r\n}\r\n","import { Directive, ElementRef, output } from '@angular/core';\r\n\r\n@Directive({\r\n  selector: '[clickOutside]',\r\n  standalone: false,\r\n  host: {\r\n    '(document:click)': 'onClick($event)',\r\n  },\r\n})\r\nexport class ClickOutsideDirective {\r\n  clickOutside = output<MouseEvent>();\r\n  constructor(private _elementRef: ElementRef) {}\r\n\r\n  onClick(event: MouseEvent): void {\r\n    const target = event.target;\r\n    if (!target) {\r\n      return;\r\n    }\r\n    const clickedInside = this._elementRef.nativeElement.contains(target);\r\n    if (!clickedInside) {\r\n      this.clickOutside.emit(event);\r\n    }\r\n  }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { HeaderUser } from '../models/header-user';\r\nimport { LoginService } from '../services/login.service';\r\n\r\n@Component({\n    selector: 'username-dropdown',\n    templateUrl: './username-dropdown.component.html',\n    styleUrls: ['./username-dropdown.component.css'],\n    standalone: false\n})\r\nexport class UsernameDropdownComponent implements OnInit {\r\n  @Input() user?: HeaderUser;\r\n  @Output() stopImpersonation = new EventEmitter<void>();\r\n  showMenu = false;\r\n\r\n  constructor(private readonly loginService: LoginService) {}\r\n\r\n  ngOnInit() {}\r\n\r\n  logout() {\r\n    this.loginService.logout();\r\n  }\r\n\r\n  login() {\r\n    this.loginService.login();\r\n  }\r\n}\r\n","@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","import { Component, Input, OnInit, output } from '@angular/core';\r\nimport { BannerLinks } from '../models/banner-links';\r\nimport { ExternalLink } from '../models/external-link';\r\nimport { HeaderUser } from '../models/header-user';\r\nimport { InternalRoute } from '../models/internal-route';\r\nimport { LoginService } from '../services/login.service';\r\n\r\n@Component({\r\n  selector: 'uiowa-header',\r\n  templateUrl: './uiowa-header.component.html',\r\n  styleUrls: [\r\n    './uiowa-header.component.css',\r\n    './logo.css',\r\n    './site-name.css',\r\n    './iowa-bar.css',\r\n    './main-menu.css',\r\n    './menu-item.css',\r\n    './internal-routes.css',\r\n    './external-links.css',\r\n    './banner-links.css',\r\n  ],\r\n  standalone: false,\r\n})\r\nexport class UiowaHeaderComponent implements OnInit {\r\n  @Input('applicationName') siteName = 'Awesome Site Name';\r\n  @Input() externalLinks?: ExternalLink[];\r\n  @Input() bannerLinks?: BannerLinks;\r\n  @Input() internalRoutes?: InternalRoute[];\r\n  @Input() user?: HeaderUser;\r\n  stopImpersonation = output();\r\n  @Input() showWarning = false;\r\n  @Input() warningMessage = 'WARNING: TEST SYSTEM';\r\n  showNavBar = false;\r\n  showMenuDropdown: boolean[] = [];\r\n\r\n  constructor(private readonly loginService: LoginService) {}\r\n\r\n  ngOnInit() {\r\n    this.showMenuDropdown = this.internalRoutes?.map((_) => false) ?? [];\r\n  }\r\n\r\n  toggleMenuCollapse(i: number) {\r\n    this.showMenuDropdown[i] = !this.showMenuDropdown[i];\r\n    this.showMenuDropdown.forEach((x, index) => {\r\n      if (x && index !== i) {\r\n        this.showMenuDropdown[index] = false;\r\n      }\r\n    });\r\n  }\r\n\r\n  collapseMenu(i: number) {\r\n    this.showMenuDropdown[i] = false;\r\n  }\r\n\r\n  logout() {\r\n    this.loginService.logout();\r\n  }\r\n\r\n  login() {\r\n    this.loginService.login();\r\n  }\r\n}\r\n","<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","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { UiowaHeaderComponent } from './uiowa-header/uiowa-header.component';\r\nimport { UsernameDropdownComponent } from './username-dropdown/username-dropdown.component';\r\nimport { ClickOutsideDirective } from './uiowa-header/click-outside.directive';\r\n\r\n@NgModule({\r\n  imports: [CommonModule, FormsModule, RouterModule],\r\n  declarations: [\r\n    UiowaHeaderComponent,\r\n    UsernameDropdownComponent,\r\n    ClickOutsideDirective,\r\n  ],\r\n  exports: [UiowaHeaderComponent],\r\n})\r\nexport class UiowaHeaderModule {}\r\n","export class HeaderUser {\r\n  public userName: string = '';\r\n  public originalUserName?: string;\r\n}\r\n","export class ExternalLink {\r\n  constructor(\r\n    public text: string,\r\n    public url: string,\r\n    public target: '_blank' | '_self' | '_parent' | '_top' = '_blank'\r\n  ) {}\r\n}\r\n","export class InternalRoute {\r\n  constructor(\r\n    public text: string,\r\n    public route?: string,\r\n    public subMenus?: InternalRoute[]\r\n  ) {}\r\n}\r\n","import { ExternalLink } from './external-link';\r\n\r\nexport class BannerLinks {\r\n  constructor(public link1: ExternalLink, public link2?: ExternalLink) {}\r\n}\r\n","/*\r\n * Public API Surface of uiowa-header\r\n */\r\n\r\nexport * from './lib/uiowa-header.module';\r\nexport * from './lib/uiowa-header/uiowa-header.component';\r\nexport * from './lib/models/header-user';\r\nexport * from './lib/models/external-link';\r\nexport * from './lib/models/internal-route';\r\nexport * from './lib/models/banner-links';\r\nexport * from './lib/services/login.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.LoginService","i3.ClickOutsideDirective","i4.UsernameDropdownComponent","i5.ClickOutsideDirective"],"mappings":"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"}