{"version":3,"file":"wjdk-acl.mjs","sources":["../../../projects/wdk-component-library/src/lib/spinner/spinner.component.ts","../../../projects/wdk-component-library/src/lib/spinner/spinner.component.html","../../../projects/wdk-component-library/src/lib/spinner/spinner.module.ts","../../../projects/wdk-component-library/src/lib/banner/banner.interfaces.ts","../../../projects/wdk-component-library/src/lib/banner/banner.component.ts","../../../projects/wdk-component-library/src/lib/banner/banner.component.html","../../../projects/wdk-component-library/src/lib/banner/banner.module.ts","../../../projects/wdk-component-library/src/lib/common/portal.service.ts","../../../projects/wdk-component-library/src/lib/banner/banner.service.ts","../../../projects/wdk-component-library/src/lib/snack-bar/snack-bar-content.component.ts","../../../projects/wdk-component-library/src/lib/snack-bar/snack-bar-content.component.html","../../../projects/wdk-component-library/src/lib/snack-bar/snack-bar.service.ts","../../../projects/wdk-component-library/src/lib/snack-bar/snack-bar.module.ts","../../../projects/wdk-component-library/src/lib/base/header/header-animations.ts","../../../projects/wdk-component-library/src/lib/base/header/header-config.model.ts","../../../projects/wdk-component-library/src/lib/base/header/header-service.ts","../../../projects/wdk-component-library/src/lib/common/outside-click.directive.ts","../../../projects/wdk-component-library/src/lib/base/header/menu-item/header-item.component.ts","../../../projects/wdk-component-library/src/lib/base/header/menu-item/header-item.component.html","../../../projects/wdk-component-library/src/lib/base/header/header.component.ts","../../../projects/wdk-component-library/src/lib/base/header/header.component.html","../../../projects/wdk-component-library/src/lib/base/header/header.module.ts","../../../projects/wdk-component-library/src/lib/base/base.interfaces.ts","../../../projects/wdk-component-library/src/lib/base/icons/register-icons.service.ts","../../../projects/wdk-component-library/src/lib/helpers/TypescriptHelpers.ts","../../../projects/wdk-component-library/src/lib/base/base.component.ts","../../../projects/wdk-component-library/src/lib/base/base.component.html","../../../projects/wdk-component-library/src/lib/base/base.module.ts","../../../projects/wdk-component-library/src/public-api.ts","../../../projects/wdk-component-library/src/wjdk-acl.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\n\n@Component({\n  selector: 'wdk-spinner',\n  templateUrl: './spinner.component.html',\n  styleUrls: ['./spinner.component.scss']\n})\nexport class WdkSpinnerComponent implements OnInit {\n\n  constructor() { }\n\n  ngOnInit() {\n  }\n\n}\n","<div class=\"cvsui-c-spinner__inner\">\n  <div class=\"cvsui-c-spinner__1 cvsui-c-spinner__child\"></div>\n  <div class=\"cvsui-c-spinner__2 cvsui-c-spinner__child\"></div>\n  <div class=\"cvsui-c-spinner__3 cvsui-c-spinner__child\"></div>\n  <div class=\"cvsui-c-spinner__4 cvsui-c-spinner__child\"></div>\n  <div class=\"cvsui-c-spinner__5 cvsui-c-spinner__child\"></div>\n  <div class=\"cvsui-c-spinner__6 cvsui-c-spinner__child\"></div>\n  <div class=\"cvsui-c-spinner__7 cvsui-c-spinner__child\"></div>\n  <div class=\"cvsui-c-spinner__8 cvsui-c-spinner__child\"></div>\n  <div class=\"cvsui-c-spinner__9 cvsui-c-spinner__child\"></div>\n  <div class=\"cvsui-c-spinner__10 cvsui-c-spinner__child\"></div>\n  <div class=\"cvsui-c-spinner__11 cvsui-c-spinner__child\"></div>\n  <div class=\"cvsui-c-spinner__12 cvsui-c-spinner__child\"></div>\n</div>\n","import { NgModule } from '@angular/core';\nimport {WdkSpinnerComponent} from './spinner.component';\n\n\n\n@NgModule({\n  declarations: [WdkSpinnerComponent],\n  imports: [],\n  exports: [WdkSpinnerComponent]\n})\nexport class WdkSpinnerModule { }\n","import { WdkPortalComponentData } from '../common/portal.interfaces';\n\nexport interface WdkBannerComponentData extends WdkPortalComponentData {\n  /**\n   * Alert headline text\n   */\n  headline?: string;\n  /**\n   * Changes color and use case. Options are Error, Info, Warning, and Success\n   */\n  bannerType: WdkBannerType;\n  /**\n   * flag to hide/show Close-X Button\n   */\n  hideX?: boolean;\n  /**\n   * flag to display banner links horizontally instead of vertically\n   */\n  isHorizontalBannerLinks?: boolean;\n  /**\n   * Body text of alert. Is optional.\n   */\n  body?: string;\n  /**\n   * Additional body text that can be toggled. Is only applicable for Info and Warning alerts. Is optional.\n   */\n  bodyDetails?: string;\n  /**\n   * Function called when alert is closed. Is optional.\n   */\n  closeCallBack?: () => void;\n  /**\n   * Set alert to be closed after a certain amount of time. Is optional.\n   */\n  removedAfterMilliseconds?: number;\n  /**\n   * Set position of alert to absolute. Is optional.\n   */\n  absolutePosition?: boolean;\n  /**\n   *  Collection of Banner Links\n   */\n  bannerLinks?: BannerLink[];\n  /**\n   *  Enables a link that allows the user to pass in a function intended to shift the focus to another element,\n   *  The link will only be visible if it has the focus (if the element is tabbed to)\n   */\n  skipToLink?: BannerLink;\n}\n\nexport interface BannerLink {\n  /**\n   * Text that can be clicked to call linkFunc().\n   */\n  linkText: string;\n\n  /**\n   * Function called when linkText is clicked\n   */\n  linkFunc(): void;\n}\n\nexport enum WdkBannerType {\n  /**\n   * Types of Banner\n   */\n  Error = 'error',\n  Info = 'info',\n  Warning = 'warning',\n  Success = 'success',\n}\n","import {\n  AfterViewInit,\n  Component, ElementRef,\n  HostBinding,\n  Input, OnInit, ViewChild,\n} from '@angular/core';\nimport { WdkBannerComponentData, WdkBannerType } from './banner.interfaces';\nimport {ThemePalette} from \"@angular/material/core\";\n\n@Component({\n  selector: 'wdk-banner',\n  templateUrl: './banner.component.html',\n  styleUrls: ['./banner.component.scss'],\n})\nexport class WdkBannerComponent implements OnInit, AfterViewInit {\n  @HostBinding('class.alert-absolute-position') public absolute;\n\n  @ViewChild('bannerContainer') selector: ElementRef;\n  /**\n   * The WdkAlertComponentData to dictate the contents of the alert\n   */\n  hideX = false;\n\n  isHorizontalBannerLinks = false;\n\n  isBodyDetailsVisible = false;\n\n  toggleMsg = 'Show More';\n\n  @Input() data: WdkBannerComponentData;\n\n  @Input() type: ThemePalette = 'primary';\n  @HostBinding('class')\n  get hostClass() {\n    // ThemePalette is a helper from material that could be used for the primary / accent/ warn if wanted\n    // return `${this.type}-banner`;\n    return `wdk-banner wdk-${this.data.bannerType}-banner`;\n  }\n\n\n  get getToggleIcon() {\n    return this.isBodyDetailsVisible ? 'angle-up--s' : 'angle-down--s';\n  }\n\n  ngOnInit(): void {\n    this.absolute = this.data ? this.data.absolutePosition : null;\n    if (this.data) {\n      this.hideX = !!this.data.hideX ? this.data.hideX : this.hideX;\n      this.isHorizontalBannerLinks = !!this.data.isHorizontalBannerLinks ? this.data.isHorizontalBannerLinks : this.isHorizontalBannerLinks;\n    }\n  }\n\n  ngAfterViewInit() {\n    if (this.selector) {\n      this.selector.nativeElement.focus();\n    }\n  }\n\n  // getClasses(): string {\n  //   if (this.data.bannerType === WdkBannerType.Error) {\n  //     return 'alert-error';\n  //   } else if (this.data.bannerType === WdkBannerType.Success) {\n  //     return 'alert-success';\n  //   } else if (this.data.bannerType === WdkBannerType.Warning) {\n  //     return 'alert-warning';\n  //   } else if (this.data.bannerType === WdkBannerType.Info) {\n  //     return 'alert-info';\n  //   }\n  // }\n\n  getIconName() {\n    if (this.data.bannerType === WdkBannerType.Error) {\n      return 'error--s';\n    } else if (this.data.bannerType === WdkBannerType.Success) {\n      return 'check-circle--s';\n    } else if (this.data.bannerType === WdkBannerType.Warning) {\n      return 'warning-circle--s';\n    } else if (this.data.bannerType === WdkBannerType.Info) {\n      return 'info-circle--s';\n    }\n  }\n\n  get getAriaRole(): string {\n    return (this.data.bannerType === WdkBannerType.Error) ? 'alert' : 'status';\n  }\n\n  toggleMessage() {\n    this.isBodyDetailsVisible = !this.isBodyDetailsVisible;\n    if (this.isBodyDetailsVisible) {\n      this.toggleMsg = 'Show Less';\n    } else {\n      this.toggleMsg = 'Show More';\n    }\n  }\n\n}\n","<div id=\"bannerAlert\" #bannerContainer\n     class=\"alert-message wdk-banner\"\n     tabindex=\"-1\"\n     role=\"banner\"\n     aria-live=\"polite\"\n     [attr.aria-label]=\"data.bannerType\">\n  <div class=\"alert-message__close-btn\" *ngIf=\"!hideX\">\n    <button id=\"closeButton\" mat-icon-button (click)=\"data.closeCallBack()\">\n      <mat-icon svgIcon=\"close-btn--s\"></mat-icon>\n    </button>\n  </div>\n  <mat-icon class=\"alert-message__icon\" aria-hidden=\"true\" [svgIcon]=\"getIconName()\"></mat-icon>\n  <h2 *ngIf=\"data.headline\" class=\"alert-message__heading\">\n    {{data.headline}} {{type}}\n    <a *ngIf=\"data.skipToLink\" tabindex=\"0\" class=\"alert-message__skip-to-link\"\n       (keydown.enter)=\"data.skipToLink.linkFunc()\">\n      {{data.skipToLink.linkText}}\n    </a>\n  </h2>\n  <div *ngIf=\"data.body\" class=\"alert-message__body-text\">\n    {{data.body}}\n  </div>\n\n  <div *ngIf=\"data.bodyDetails && isBodyDetailsVisible\" class=\"alert-message__body-details-text\">\n    {{data.bodyDetails}}\n  </div>\n\n  <div class=\"alert-message__horizontal-banner-links\" *ngIf=\"isHorizontalBannerLinks\">\n    <span *ngFor=\"let link of data.bannerLinks; let i = index\" id=\"horizontal-link-{{i}}\">\n      <a tabIndex=\"0\" class=\"horizontal-links\" (keydown.enter)=\"link.linkFunc()\" (click)=\"link.linkFunc()\">\n      {{link.linkText}}\n      </a>\n    </span>\n  </div>\n\n  <div class=\"alert-message__vertical-banner-links\" *ngIf=\"!isHorizontalBannerLinks\">\n    <span *ngFor=\"let link of data.bannerLinks; let i = index\">\n      <a tabIndex=\"0\" id=\"vertical-link-{{i}}\" class=\"vertical-links\"\n         (keydown.enter)=\"link.linkFunc()\" (click)=\"link.linkFunc()\">\n     {{link.linkText}}\n      </a>\n    </span>\n  </div>\n\n  <div class=\"alert-message__body-text\">\n    <ng-content></ng-content>\n  </div>\n\n  <div *ngIf=\"data.bodyDetails\" class=\"alert-message__toggle-section\" (click)=\"toggleMessage()\">\n    <button id=\"toggle-button-id\" mat-flat-button>\n      {{toggleMsg}}\n      <mat-icon id=\"toggle-icon-id\" [svgIcon]=\"getToggleIcon\"></mat-icon>\n    </button>\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { CommonModule } from '@angular/common';\nimport {WdkBannerComponent} from './banner.component';\n\n@NgModule({\n  declarations: [\n    WdkBannerComponent,\n  ],\n  imports: [\n    MatIconModule,\n    CommonModule,\n    MatButtonModule,\n  ],\n  providers: [],\n  exports: [WdkBannerComponent],\n})\nexport class WdkBannerModule {\n}\n","import { ApplicationRef, ComponentFactoryResolver, Injectable, Injector } from '@angular/core';\nimport { DomPortalOutlet } from '@angular/cdk/portal';\nimport {WdkPortalComponentData} from './portal.interfaces';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class WdkPortalService {\n\n  private readonly componentFactoryResolver;\n\n  private readonly injector;\n\n  private readonly applicationRef;\n\n  private outletMap: Map<string, DomPortalOutlet> = new Map();\n\n  constructor(private compFactoryResolver: ComponentFactoryResolver,\n              private inject: Injector,\n              private appRef: ApplicationRef) {\n    this.componentFactoryResolver = compFactoryResolver;\n    this.injector = inject;\n    this.applicationRef = appRef;\n  }\n\n  attach(portalOutlet, portal) {\n    return portalOutlet.attach(portal);\n  }\n\n  projectContent(data: WdkPortalComponentData) {\n    const outletHTML = document.querySelector(data.outletId);\n\n    if (!outletHTML.hasChildNodes() && this.outletMap.get(data.outletId)){\n      this.outletMap.delete(data.outletId);\n    }\n\n    if (!this.outletMap.get(data.outletId)) {\n      const portalOutlet = new DomPortalOutlet(\n        document.querySelector(data.outletId),\n        this.componentFactoryResolver,\n        this.applicationRef,\n        this.injector,\n      );\n      const attachedPortal = (portalOutlet && data.portal) ? this.attach(portalOutlet, data.portal) : null;\n      this.outletMap.set(data.outletId, portalOutlet);\n      return attachedPortal;\n    }\n    console.error('Content already attached on given outlet id', data.outletId);\n  }\n\n  detach(id: string) {\n    const portalToClose = this.outletMap.get(id);\n    if (portalToClose) {\n      portalToClose.detach();\n      this.outletMap.delete(id);\n    }\n  }\n\n  detachAll() {\n    this.outletMap.forEach((value, key) => {\n      this.detach(key);\n    });\n  }\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\nimport { WdkBannerComponentData } from './banner.interfaces';\nimport {WdkPortalService} from '../common/portal.service';\nimport {WdkBannerComponent} from './banner.component';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class WdkBannerService {\n\n\n  constructor(private portalService: WdkPortalService, private  ngZone: NgZone) {\n  }\n\n  setupTimeout(data: WdkBannerComponentData) {\n    this.ngZone.runOutsideAngular(() => {\n      setTimeout(() => this.ngZone.run(() => this.closeByOutletId(data.outletId)), data.removedAfterMilliseconds);\n    });\n  }\n\n  sendAlert(data: WdkBannerComponentData) {\n    if (data && data.template && data.viewContainerRef) {\n      data.portal = new TemplatePortal(data.template, data.viewContainerRef);\n    } else {\n      data.portal = new ComponentPortal(WdkBannerComponent);\n    }\n    if (data.closeCallBack == null) {\n      data.closeCallBack = () => this.ngZone.run(() => this.closeByOutletId(data.outletId));\n    }\n    const componentRef = this.portalService.projectContent(data);\n    if (componentRef && data && data.template == null) {\n      componentRef.instance.data = data;\n      componentRef.changeDetectorRef.detectChanges();\n    }\n    if (data.removedAfterMilliseconds) {\n      this.setupTimeout(data);\n    }\n  }\n\n  close() {\n    this.portalService.detachAll();\n  }\n\n  closeByOutletId(outletId: string){\n    this.portalService.detach(outletId);\n  }\n\n}\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {MAT_SNACK_BAR_DATA, MatSnackBarRef} from '@angular/material/snack-bar';\nimport {WdkSnackBarData} from './snack-bar.interfaces';\n\n@Component({\n  selector: 'wdk-snack-bar-content',\n  templateUrl: './snack-bar-content.component.html',\n  styleUrls: ['./snack-bar-content.component.scss']\n})\nexport class WdkSnackBarContentComponent implements OnInit {\n\n  constructor(public snackBarRef: MatSnackBarRef<WdkSnackBarContentComponent>,\n              @Inject(MAT_SNACK_BAR_DATA) public data: WdkSnackBarData) { }\n\n  ngOnInit() {}\n}\n","<div class=\"snackbar-content\">\n  <div *ngIf=\"data.iconName\" class=\"snackbar-icon\">\n    <mat-icon [svgIcon]=data.iconName></mat-icon>\n  </div>\n  <div class=\"snackbar-message\">{{data.message}}</div>\n  <div *ngIf=\"data.buttonLabel\">\n    <button class=\"cvs-btn-text-only snackbar-button\" (click)=\"snackBarRef.dismiss()\">{{data.buttonLabel}}</button>\n  </div>\n</div>\n","import { EventEmitter, Injectable, Output, Directive } from '@angular/core';\nimport {WdkSnackBarContentComponent} from './snack-bar-content.component';\nimport {WdkSnackBarData} from './snack-bar.interfaces';\nimport {MatSnackBar} from '@angular/material/snack-bar';\n\n@Directive()\n@Injectable({\n  providedIn: 'root'\n})\nexport class WdkSnackBarService {\n\n  @Output() onDismiss: EventEmitter<any> = new EventEmitter();\n\n  constructor(public snackBar: MatSnackBar) { }\n\n  public open(snackBarConfig: WdkSnackBarData) {\n\n    this.snackBar.openFromComponent(WdkSnackBarContentComponent, {\n      duration: snackBarConfig.duration * 1000,\n      data: {\n        iconName: snackBarConfig.iconName,\n        message: snackBarConfig.message,\n        buttonLabel: snackBarConfig.buttonLabel\n      } as WdkSnackBarData}).afterDismissed().subscribe(() => {\n        this.onDismiss.emit({});\n    });\n  }\n}\n","import {NgModule} from '@angular/core';\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\nimport {MatIconModule} from '@angular/material/icon';\nimport {CommonModule} from '@angular/common';\nimport {WdkSnackBarService} from './snack-bar.service';\nimport {WdkSnackBarContentComponent} from './snack-bar-content.component';\n\n@NgModule({\n    imports: [\n        MatSnackBarModule,\n        MatIconModule,\n        CommonModule\n    ],\n    declarations: [\n        WdkSnackBarContentComponent\n    ],\n    providers: [WdkSnackBarService],\n    exports: [\n        WdkSnackBarContentComponent\n    ]\n})\nexport class WdkSnackBarModule {}\n","import {\n  animate,\n  animateChild,\n  animation,\n  group,\n  keyframes,\n  query,\n  stagger,\n  state,\n  style,\n  transition,\n  trigger\n} from '@angular/animations';\n\nconst fadeAnimation = animation([\n  style({\n    opacity: '{{ startOpacity }}'\n  }),\n  animate('{{ duration }}')\n]);\n\n\n//\n// export const animateMobileTrigger = trigger('subMenuState', [\n//   transition(':enter', [\n//     group([\n//       animate('500ms ease-out', keyframes([\n//         style({\n//           opacity: 0,\n//           height: '0',\n//           offset: 0\n//         }),\n//         style({\n//           opacity: 1,\n//           height: '350px',\n//           offset: 0.8\n//         }),\n//         style({\n//           opacity: 1,\n//           height: '330px',\n//           offset: 1\n//         })\n//       ])),\n//     ]),\n//   ]),\n//\n//   transition(':leave', [\n//   group([\n//     animate('500ms ease-out', keyframes([\n//       style({\n//         opacity: 1,\n//         height: '330px',\n//         offset: 0\n//       }),\n//       style({\n//         height: '350px',\n//         offset: 0.7\n//       }),\n//       style({\n//         height: '0',\n//         opacity: 0,\n//         offset: 1\n//       }),\n//     ])),\n//   ])\n// ])\n// ]);\n\n\nexport const menuHeightTrigger2 = trigger('menuAnimation', [\n\n  transition('expand => collapse', [\n    group([\n      animate('500ms ease-in-out', keyframes([\n          style({\n            height: '*',\n          }),\n          style({\n            height: '100px',\n          })\n        ])\n      ), query('@subHeaderState', animateChild())])\n  ]),\n  transition('collapse => expand', [\n    group([\n      animate('500ms ease-in-out', keyframes([\n          style({\n            height: '100px',\n          }),\n          style({\n            height: '*',\n          })\n        ])\n      ),\n      query('@subHeaderState', animateChild())])\n  ])\n])\n\n\n\nexport const subHeaderTrigger = trigger('subHeaderState', [\n\n//   transition('void => *', [style({ opacity: 0 }), animate(2000)]),\n//   transition('* => void', [animate(2000, style({ opacity: 0 }))])\n// ])\n\n\n  transition('main => void', [\n    animate('500ms ease-in', keyframes([\n      style({\n        transform: 'translateX(0%)'\n      }),\n      style({\n        transform: 'translateX(-200%)'\n      })]))\n  ]),\n\n  transition('void => guidelines', [\n    animate('300ms ease-out', keyframes([\n      style({\n        transform: 'translateX(0%)'\n      }),\n      style({\n        transform: 'translateX(-100%)'\n      })]))\n  ]),\n\n  transition('guidelines => void', [\n    animate('500ms ease-out', keyframes([\n      style({\n        transform: 'translateX(-100%)'\n      }),\n      style({\n        transform: 'translateX(100%)'\n      })]))\n  ]),\n\n  transition('void => main', [\n    animate('300ms ease-out', keyframes([\n      style({\n        transform: 'translateX(-100%)'\n      }),\n      style({\n        transform: 'translateX(0%)'\n      })]))\n  ]),\n]);\n\n\nexport const menuHeightTrigger = trigger('menuHeight', [\n  state(\n    'expand',\n    style({\n      height: '*',\n      opacity: 1\n    })\n  ),\n  state(\n    '*',\n    style({\n      height: '100px',\n      // opacity: 0\n    })\n  ),\n  transition('expand => collapse', [animate('0.2s')]),\n  transition('collapse => expand', [animate('0.2s')])\n]);\n\n\n\n\n  // transition('guidelines => main', [\n  //   style({\n  //   transform: 'translateX(-110%)'\n  //   }),\n  //   animate(3000)\n  // ]),\n// ])]);\n\n\n// export const subMenuTrigger = trigger('subMenuState', [\n//\n//     transition('void => *', [\n//       style({opacity: 0}),\n//         animate(300)\n//       ]),\n// transition('* => void', [\n//   style({opacity: 0}),\n//   animate(300)\n// ])\n//\n//\n// //       ])),\n//\n//   // transition('guidelines => main', [\n//   //   style({\n//   //   transform: 'translateX(-110%)'\n//   //   }),\n//   //   animate(3000)\n//   // ]),\n// ]);\n\n\n// export const subMenuTrigger = trigger('subMenuState', [\n//   state(\n//     'main',\n//     style({ opacity: 1, transform: 'translateX(0%)' })\n//   ),\n//   state(\n//     'guidelines',\n//     style({ opacity: 1, transform: 'translateX(-45%)' })\n//   ),\n// ]);\n\n\n\n\n\n//\n//\n//   trigger('animateState', [\n//   transition('* => *', [\n//     group([\n//       animate('500ms ease-out', keyframes([\n//         style({\n//           transform: 'translateX(30%)'\n//         }),\n//         style({\n//           transform: 'translateX(-45%)'\n//         })\n//       ])),\n//     ])\n//   ]),\n//\n//   // transition(':leave', [\n//   //   group([\n//   //     animate('500ms ease-out', keyframes([\n//   //       style({\n//   //         opacity: 1,\n//   //         height: '330px',\n//   //         offset: 0\n//   //       }),\n//   //       style({\n//   //         height: '350px',\n//   //         offset: 0.7\n//   //       }),\n//   //       style({\n//   //         height: '0',\n//   //         opacity: 0,\n//   //         offset: 1\n//   //       }),\n//   //     ])),\n//   //     query('@listState', animateChild()),\n//   //   ])\n//   // ])\n// ]),\n//\n//   trigger('test', [\n//     state(\n//       'main',\n//       style({ transform: 'translateX(0%)' })\n//     ),\n//     state(\n//       SubMenuSection.Guidelines,\n//       style({ transform: 'translateX(-45%)' })\n//     ),\n//     transition('* <=> *', [\n//       // group([\n//       //   animate('500ms ease-out', keyframes([\n//       //     style({\n//       //       transform: 'translateX(0%)'\n//       //     }),\n//       //     style({\n//       //       transform: 'translateX(40%)'\n//       //     })\n//       //   ])),\n//       // ])\n//     ]),\n//   ]),\n//\n//   trigger('toggle', [\n//     state(\n//       SubMenuSection.Main,\n//       style({ opacity: 1, transform: 'translateX(0%)' })\n//     ),\n//     state(\n//       SubMenuSection.Guidelines,\n//       style({ opacity: 1, transform: 'translateX(-45%)' })\n//     ),\n//     transition('* => *', animate('200ms ease-in')),\n//\n//\n//\n//\n//     // transition('main => guidelines', [\n//     // style({\n//     //     transform: 'translateX(0%)'\n//     // }),\n//     // animate('200ms ease-in'),\n//     // style({\n//     //   transform: 'translateX(0%)'\n//     // }),\n//     // animate('200ms ease-in'),\n//   ]),\n//\n//\n//   trigger('listState', [\n//     transition(':enter', [\n//       query('a', [\n//         stagger(50, [\n//           animate('500ms ease-out', keyframes([\n//             style({\n//               opacity: 0,\n//               transform: 'translateX(-200px)',\n//               offset: 0\n//             }),\n//             style({\n//               transform: 'translateX(15%)',\n//               opacity: 1,\n//               offset: 0.7\n//             }),\n//             style({\n//               transform: 'translateX(0)',\n//               opacity: 1,\n//               offset: 1\n//             }),\n//           ]))\n//         ]),\n//       ], {optional : true})\n//     ]),\n//   ]),\n//\n//\n//\n// // trigger('subMenu', [\n// //   state(\n// //     SubMenuSection.Main,\n// //     style({ opacity: 1, transform: 'translateX(55%)' })\n// //   ),\n// //   state(\n// //     SubMenuSection.Guidelines,\n// //     style({ opacity: 1, transform: 'translateX(-20%)' })\n// //   ),\n// //   transition('main <=> *', animate('200ms ease-in'))\n// // ])\n// //   trigger('sendState', [\n// //     transition(':enter', [\n// //       group([\n// //         query(':self', [\n// //           animate('400ms ease-out', keyframes([\n// //             style({\n// //               opacity: 1,\n// //               transform: 'scale(.2)',\n// //               offset: 0\n// //             }),\n// //             style({\n// //               opacity: 1,\n// //               transform: 'scale(1.1)',\n// //               offset: 0.8\n// //             }),\n// //             style({\n// //               opacity: 1,\n// //               transform: 'scale(1)',\n// //               offset: 1\n// //             })\n// //           ])),\n// //         ]),\n// //\n// //         query('h3', [\n// //           style({\n// //             transform: 'translateX(-50px)',\n// //             opacity: 0\n// //           }),\n// //           animate('800ms cubic-bezier(.83,-0.39,.26,1.38)')\n// //         ]),\n// //         query('.icon', [\n// //           style({\n// //             transform: 'scale(0)',\n// //             opacity: 0\n// //           }),\n// //           animate('800ms cubic-bezier(.83,-0.39,.26,1.38)')\n// //         ]),\n// //         query('p', [\n// //           style({\n// //             transform: 'translateY(-30px)',\n// //             opacity: 0\n// //           }),\n// //           animate('800ms 500ms cubic-bezier(.83,-0.39,.26,1.38)')\n// //         ])\n// //       ])\n// //     ]),\n// // ])\n//\n//\n// // trigger('sendState', [\n// //   transition(':enter', [\n// //     group([\n// //       query(':self', [\n// //         animate('400ms ease-out', keyframes([\n// //           style({\n// //             transform: 'translateY(-100%)',\n// //             offset: 0\n// //           }),\n// //           style({\n// //             transform: 'translateY(0%)',\n// //             offset: 1\n// //           })\n// //         ])),\n// //       ]),\n// //     ])\n// //   ]),\n// // ])\n// ]\n","export interface WdkHeaderConfig {\n  navItems: Array<WdkHeaderItemConfig>;\n  // Allow icon only menu\n  iconHeader?: boolean;\n  // If iconHeader is true, set the default open/close state\n}\n\nexport interface WdkHeaderItemConfig {\n  name?: string;\n  icon?: string;\n  // routerLink?: String;\n  navHeaderItems?: WdkHeaderItem[];\n  menuState?: WdkHeaderState;\n  // sectionItems?: SubNavItem[];\n  // hasIconHeader?: boolean;\n  isSubNavOpen?: boolean;\n  // isChildLinkActive?: boolean;\n  subHeaderItems?: WdkHeaderItem[];\n}\n\nexport interface WdkHeaderItem {\n  name: string;\n  leftIcon?: string;\n  rightIcon?: string;\n  gotToHeader?: WdkSubHeaderSection | string;\n  subHeaderItems?: WdkSubHeaderItem[];\n}\n\nexport interface WdkSubHeaderItem {\n  name: string;\n  leftIcon?: string;\n  rightIcon?: string;\n  link?: string;\n  gotToHeader?: WdkSubHeaderSection | string;\n}\n\nexport enum WdkHeaderState {\n  Open,\n  Closed,\n  Static\n}\n\nexport enum WdkSubHeaderSection {\n  Main = 'main',\n  Guidelines = 'guidelines',\n}\n","import {Injectable} from '@angular/core';\nimport {WdkHeaderConfig, WdkHeaderState, WdkSubHeaderSection} from './header-config.model';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class WdkHeaderService {\n  private sideNavConfig: WdkHeaderConfig;\n  private menuState: WdkHeaderState;\n  private subHeaderState: WdkSubHeaderSection = WdkSubHeaderSection.Main;\n\n  constructor() {}\n\n  getOpenState(): boolean {\n    return this.menuState !== WdkHeaderState.Closed;\n  }\n\n  getSubHeaderState(): WdkSubHeaderSection {\n    return this.subHeaderState;\n  }\n\n  getHeaderState(): WdkHeaderState {\n    // console.log(this.menuState, 'get Header State');\n    return this.menuState;\n  }\n\n  getSideNavConfig(): WdkHeaderConfig {\n    return this.sideNavConfig;\n  }\n\n  setHeaderToggleState(newState: WdkHeaderState): void {\n    this.menuState = newState;\n    // console.log(this.menuState, '<--- Header Is Open');\n  }\n\n  setSubHeaderState(newState: any): void {\n    this.subHeaderState = newState;\n    // console.log(this.subHeaderState, '<--- SubHeader');\n  }\n}\n","import {Directive, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild} from '@angular/core';\n\n@Directive({\n  selector: '[wdkOutsideClick]'\n})\nexport class WdkOutsideClickDirective {\n  constructor(private elementRef: ElementRef) { }\n  @Input() hi;\n  @Output() clickOutside = new EventEmitter<MouseEvent>();\n\n  @HostListener('document:click', ['$event', '$event.target'])\n  public onClick(event: MouseEvent, targetElement: HTMLElement): void {\n    if (!targetElement) {\n      return;\n    }\n    const clickedInside = this.elementRef.nativeElement.contains(targetElement);\n    if (!clickedInside && this.hi) {\n      console.log('clicked outside');\n      this.clickOutside.emit(event);\n    }\n  }\n}\n","import {Component, ElementRef, Input, OnInit, Renderer2, ViewChild} from '@angular/core';\nimport {menuHeightTrigger, menuHeightTrigger2, subHeaderTrigger} from '../header-animations';\nimport {WdkHeaderItemConfig, WdkHeaderState, WdkSubHeaderSection} from '../header-config.model';\nimport {WdkHeaderService} from '../header-service';\n\n@Component({\n  selector: 'nav-item',\n  templateUrl: './header-item.component.html',\n  styleUrls: ['./header-item.component.scss', '../header.component.scss'],\n  animations: [\n    subHeaderTrigger,\n    menuHeightTrigger,\n    menuHeightTrigger2,\n  ]\n})\nexport class WdkHeaderItemComponent implements OnInit {\n  @ViewChild('toggleButton') toggleButton: ElementRef;\n  @ViewChild('menu') menu: ElementRef;\n  @Input() navItem: WdkHeaderItemConfig;\n  @Input() iconHeader: boolean;\n  menuSection = true;\n  temp = false;\n\n  constructor(private sideNavService: WdkHeaderService, private renderer: Renderer2) {\n  }\n\n  ngOnInit() {\n     // console.log(this.navItem, '<------');\n    //  this.renderer.listen('window', 'click', (e: Event) => {\n    //   /**\n    //    * Only run when toggleButton is not clicked\n    //    * If we don't check this, all clicks (even on the toggle button) gets into this\n    //    * section which in the result we might never see the menu open!\n    //    * And the menu itself is checked here, and it's where we check just outside of\n    //    * the menu and button the condition abbove must close the menu\n    //    */\n    //   console.log(this.toggleButton)\n    //   console.log(this.menu, 'menu')\n    //   console.log(e.target)\n    //    if  (e.target !== this.toggleButton.nativeElement.contains(e.target) && e.target !== this.menu.nativeElement) {\n    //      console.log(this.toggleButton.nativeElement, '1');\n    //    }\n    //   // if  (e.target !== this.toggleButton.nativeElement && e.target !== this.menu.nativeElement) {\n    //   //\n    //   //   this.sideNavService.setHeaderToggleState(WdkHeaderState.Closed);\n    //   // }\n    // });\n  }\n\n  closeDropdown() {\n    this.sideNavService.setHeaderToggleState(WdkHeaderState.Closed);\n    this.temp = false;\n    console.log('closing menu');\n  }\n\n  get isOpen(): boolean {\n    return this.sideNavService.getOpenState();\n  }\n\n  get subHeader(): WdkSubHeaderSection {\n    return this.sideNavService.getSubHeaderState();\n  }\n\n  get dropDown(): boolean {\n    return (\n      this.navItem.navHeaderItems &&\n      this.navItem.navHeaderItems.length > 0\n    );\n  }\n\n  setOpen(): void {\n    setTimeout(() => {\n      this.temp = true;\n    }, 300);\n\n    this.sideNavService.setSubHeaderState(WdkSubHeaderSection.Main);\n    if (this.dropDown) {\n      if (this.isOpen) {\n        this.sideNavService.setHeaderToggleState(WdkHeaderState.Closed);\n      } else {\n        this.sideNavService.setHeaderToggleState(WdkHeaderState.Open);\n      }\n    }\n  }\n\n  setSubHeader(goToHeader) {\n    if (goToHeader) {\n      this.sideNavService.setSubHeaderState(goToHeader);\n    }\n  }\n\n\n\n  get toggle(): WdkSubHeaderSection {\n    return this.menuSection ? WdkSubHeaderSection.Main : WdkSubHeaderSection.Guidelines;\n  }\n\n  getNavItemStyle(): any {\n    return {\n      'icon-button': this.navItem.icon && !this.navItem.name,\n      'icon-text-button': this.navItem.icon && this.navItem.name,\n    };\n  }\n\n  getHeaderStyle(): any {\n    return {\n      'is-open': this.isOpen,\n      'is-closed': !this.isOpen,\n      'has-dropdown': this.dropDown,\n      'menu-primary-enter--active': this.subHeader === 'main',\n      'menu-secondary-enter--active': this.subHeader === 'guidelines'\n    };\n  }\n}\n","<div class=\"nav-item\">\n\n  <div class=\"nav-item__content\" (click)=\"setOpen()\" [ngClass]=\"getNavItemStyle()\" #toggleButton>\n    <mat-icon [svgIcon]=\"navItem.icon\" *ngIf=\"navItem.icon\"></mat-icon>\n    <label *ngIf=\"navItem.name\">{{navItem.name}}</label>\n  </div>\n\n  <div *ngIf=\"dropDown\" [hi]=\"temp\" wdkOutsideClick (clickOutside)=\"closeDropdown()\"\n        [@menuAnimation]=\"subHeader == 'guidelines' ? 'expand' : 'collapse'\"\n        class=\"nav-item__content-dropdown-menu menu-primary\"\n        [ngClass]=\"getHeaderStyle()\" #menu>\n    <div class=\"menu\" [@subHeaderState]=\"subHeader\" *ngIf=\"subHeader == 'main'\">\n      <ul>\n        <li *ngFor=\"let menuItem of navItem.navHeaderItems\"\n          class=\"nav-item__content-dropdown-menu__item \"\n          (click)=\"setSubHeader(menuItem.gotToHeader)\">\n          <mat-icon class=\"nav-item__content-dropdown-menu__item__icon-left\"\n            [svgIcon]=\"menuItem.leftIcon\"\n            *ngIf=\"menuItem.leftIcon\">\n          </mat-icon>\n          <span>\n            {{menuItem.name}}\n          </span>\n          <mat-icon [svgIcon]=\"menuItem.rightIcon\"\n            *ngIf=\"menuItem.rightIcon\"\n            class=\"nav-item__content-dropdown-menu__item__icon-right\">\n          </mat-icon>\n        </li>\n      </ul>\n    </div>\n    <div class=\"menu\" [@subHeaderState]=\"subHeader\" *ngIf=\"subHeader == 'guidelines'\">\n      <ul>\n        <ng-container *ngFor=\"let menuItem of navItem.navHeaderItems\">\n          <li *ngFor=\"let subHeaderItem of menuItem.subHeaderItems\" class=\"nav-item__content-dropdown-menu__item\" (click)=\"setSubHeader(subHeaderItem.gotToHeader)\">\n          <mat-icon class=\"nav-item__content-dropdown-menu__item__icon-left\" [svgIcon]=\"subHeaderItem.leftIcon\" *ngIf=\"subHeaderItem.leftIcon\"></mat-icon>\n          <span>\n            {{subHeaderItem.name}}\n          </span>\n          <mat-icon [svgIcon]=\"subHeaderItem.rightIcon\" *ngIf=\"subHeaderItem.rightIcon\" class=\"nav-item__content-dropdown-menu__item__icon-right\"></mat-icon>\n          </li>\n        </ng-container>\n      </ul>\n    </div>\n  </div>\n</div>\n\n\n\n","import {Component, ElementRef, Input, OnInit, ViewChild} from '@angular/core';\nimport {WdkHeaderService} from './header-service';\nimport {WdkHeaderConfig} from './header-config.model';\n\n@Component({\n  selector: 'wdk-menu',\n  templateUrl: './header.component.html',\n  styleUrls: ['./header.component.scss']\n})\n\nexport class WdkHeaderComponent implements OnInit {\n\n  constructor(private sideNavService: WdkHeaderService) {\n  }\n  @Input() menuConfig: WdkHeaderConfig;\n\n  setSubNavOpenState() {\n    this.menuConfig.navItems.forEach(navItem => {\n      // Loop over items for a sub menu item\n      if (navItem.navHeaderItems && navItem.navHeaderItems.length) {\n        this.sideNavService.setHeaderToggleState(navItem.menuState);\n        const result = navItem.navHeaderItems.find(navHeaderItem => {\n          // console.log(navHeaderItem, 'Sub Header item');\n        });\n      }\n    });\n  }\n\n  ngOnInit() {\n    this.setSubNavOpenState();\n  }\n}\n","<mat-toolbar class=\"nav-bar\">\n  <ul class=\"nav-bar__nav\">\n    <div class=\"nav-bar__nav__item\">\n      <ng-container *ngFor=\"let navItem of menuConfig.navItems; let i = index\" >\n            <nav-item class=\"wdk-nav-item-{{i + 1}}\" [navItem]=\"navItem\"></nav-item>\n      </ng-container>\n    </div>\n  </ul>\n</mat-toolbar>\n","import {BrowserModule} from '@angular/platform-browser';\nimport {NgModule} from '@angular/core';\nimport {MatIconModule} from '@angular/material/icon';\nimport {WdkHeaderItemComponent} from './menu-item/header-item.component';\nimport {WdkHeaderComponent} from './header.component';\nimport {WdkOutsideClickDirective} from '../../common/outside-click.directive';\nimport {MatToolbarModule} from '@angular/material/toolbar';\n\n@NgModule({\n  declarations: [\n    WdkHeaderComponent, WdkHeaderItemComponent, WdkOutsideClickDirective\n  ],\n  imports: [\n    BrowserModule, MatIconModule, MatToolbarModule\n  ],\n  exports: [WdkHeaderComponent, WdkHeaderItemComponent, WdkOutsideClickDirective],\n  providers: []\n})\nexport class WdkHeaderModule { }\n","import {ComponentType} from \"@angular/cdk/portal\";\nimport {Observable, Subject} from \"rxjs\";\n\nexport interface WdkBaseConfig {\n  /**\n   * The name of the application, to be displayed in the header\n   */\n  appName: string;\n\n  /**\n   * The abbreviation of the application, to be displayed in the header\n   */\n  appAbbr?: string;\n\n  /**\n   * The ACL subscription key assigned to a product\n   * The product will most likely store the key in\n   * an environment file.\n   */\n  aclSubscriptionKey?: string;\n\n  /**\n   * The route to the homepage/entry point of the application.\n   * Will use \"/\" if none provided\n   */\n  homeRoute?: string;\n\n  /**\n   * Optional field to turn CVS branding off in the shell/base of the application.\n   */\n  unbranded?: boolean;\n\n  /**\n   * Brand to use (Supported values: \"CVS\", \"Caremark, ZINC\"). If this parameter is not provided, branding will default to\n   */\n  brand?: string;\n\n  /**\n   * Ability to customize footer text\n   */\n  footerText?: string;\n\n  /**\n   * Customizing withCredentials flag\n   * ----  With CVS HTTP Client  ----\n   *\n   *   disableHttpOptionsWithCredentials - this flag is optional, and true by default in CVS Http Client\n   *\n   *   baseConfig.disableHttpOptionsWithCredentials = false, sets Http Options  withCredentials = true;\n   *\n   *   withCredentials = true;  tells javascript to include cookie headers     - applying to CORS requests only\n   *   withCredentials = false; tells javascript to not include cookie headers - applying to CORS requests only\n   *\n   *   see MDN reference: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials\n   */\n  disableHttpOptionsWithCredentials?: boolean;\n\n  /**\n   * Ability to inject custom content into the footer\n   */\n  footerPortal?: ComponentType<any>;\n\n  /**\n   * Customizable portal component\n   */\n  headerPortal?: ComponentType<any>;\n\n  /**\n   * Customizable assets directory\n   */\n  customizedAssetsDirectory?: string;\n\n  /**\n   * Optional callback method provided by product to be called prior to logout\n   *\n   */\n  logoutCallback?(): Subject<boolean>;\n}\n\nexport interface WdkAuthConfig {\n\n  /**\n   * The message to be displayed to the user in the event that they are not\n   * authorized to use this application.\n   */\n  accessDeniedMessage: string;\n\n  /**\n   * The base url at which your sso tile is pointing\n   */\n  ssoBaseUrl: string;\n\n  /**\n   * Your unique clientId from the sso tile in PCF or Azure B2C\n   */\n  clientId: string;\n\n  /**\n   * The time spent idle before the idle notification comes up to ask if they are still there.\n   */\n  idle: number;\n\n  /**\n   * The time a user can be idle before getting logged out automatically.\n   */\n  timeOut: number;\n\n  /**\n   * Used to turn auth off or on for convenience in local environment\n   */\n  authenticationEnabled: boolean;\n\n  /**\n   * The back-end route for authorizing a user\n   */\n  authorizationUrl?: string | undefined;\n\n  /**\n   * Fake token to be used for when authenticationEnabled is set to false (i.e. locally).\n   */\n  localAuthToken?: string;\n\n  /**\n   * Only use for Auth Code and PKCE flow.\n   * For Auth Code: It is the back-end /auth route used for getting and refreshing tokens\n   * For PKCE: It is the external endpoint for getting tokens (e.g. the Azure B2C token endpoint if you're using that implementation)\n   */\n  tokenUrl: string;\n\n  /**\n   * Only used for PKCE flow.\n   * The scopes for which you want to request authorization.Values must be separated by a space.\n   */\n  scope?: string;\n\n  /**\n   * Only used for PKCE flow.\n   * The issuer URL. For Azure B2C it's the URL with your tenant ID and version.\n   */\n  issuer?: string;\n\n  /**\n   * Only used for PKCE flow.\n   * The login URL. For Azure B2C it's login endpoint for authenticating users.\n   */\n  loginUrl?: string;\n\n  /**\n   * Only used for PKCE flow.\n   * The logout URL. For Azure B2C it's logout endpoint for signing out users.\n   */\n  logoutUrl?: string;\n\n  /**\n   * Optional cleanup functionality in the case that an app needs to wrap\n   * anything up or do any housekeeping before the auth service kicks the\n   * user out. This cleanup step can be either synchronous or asynchronous\n   * depending on whether a callback or an observable is provided.\n   * NOTE: This property will generally be added in from app.component.ts\n   * as opposed to enviornment files due to it executing code defined\n   * in your typescript.\n   */\n  logoutCleanupStep?: Observable<any> | (() => void);\n\n  /**\n   * If true, it uses accessToken from the JWT.\n   * If false, it uses idToken from the JWT.\n   * For backward compatibility, if \"useAccessToken\" is not specified, it uses accessToken from the JWT.\n   */\n  useAccessToken?: boolean;\n\n  /**\n   * redirect url that needs to be used during authentication process\n   */\n  actualBrowserUrl?: string;\n\n  /**\n   * if the application has a contextRoot which is being used in the route please assign it to this variable\n   */\n  contextRoot?: string;\n}\n\nexport enum BrandTypes {\n  WDS = 'WDS',\n  CAREMARK = 'Caremark',\n  ZINC = 'Zinc',\n  AETNA = 'Aetna',\n  ETS = 'ETS',\n  INTERNALPULSE = 'Internal Pulse',\n}\n","import { Injectable } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class RegisterIconsService {\n  private assetsDirectory = '../../../../assets';\n\n  constructor(\n    private iconRegistry: MatIconRegistry,\n    private domSanitizer: DomSanitizer,\n  ) {\n    this.registerSVGSprite();\n  }\n\n  registerSVGSprite(): void {\n    // can also apply the sprite icons to a namespace to avoid naming collisions between multiple svg sprites.\n    // this is useful for teams wishing to \"extend\" the acl icon set,\n    // this.iconRegistry.addSvgIconSetInNamespace('casa', this.getFile(this.assetsDirectory + '/defs-sprite.svg'));\n    // however, it makes the most sense here to declare our set in the default namespace\n    this.iconRegistry.addSvgIconSet(this.getFile(this.assetsDirectory + '/defs-sprite.svg'));\n  }\n\n  private getFile(relativePath: string): SafeResourceUrl {\n    return this.domSanitizer.bypassSecurityTrustResourceUrl(relativePath);\n  }\n}\n","export const isEmptyObj = (obj: object) => {\n  for (const key in obj) {\n    if (obj.hasOwnProperty(key)) {\n      return false;\n    }\n  }\n  return true;\n};\n\nexport const getStringFromStringOrObjectWithKey = (object, key): string => {\n  if (typeof object === 'string') {\n    return object;\n  } else if (object && object[key]) {\n    return object[key];\n  }\n  return '';\n};\n\nexport const isNullOrUndefined = (value): boolean => {\n  if (value === undefined) {\n    return true;\n  } else if (value === null) {\n    return true;\n  } else {\n    return false;\n  }\n};\n","import {\n  AfterViewInit,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  Input,\n  OnInit,\n  Optional,\n  Renderer2,\n  ViewChild\n} from '@angular/core';\nimport {RegisterIconsService} from './icons/register-icons.service';\nimport {Router} from '@angular/router';\nimport {WdkHeaderConfig, WdkHeaderState} from './header/header-config.model';\nimport {ComponentPortal} from '@angular/cdk/portal';\nimport {WdkBaseConfig} from './base.interfaces';\nimport {isNullOrUndefined} from '../helpers/TypescriptHelpers';\n\n@Component({\n  selector: 'wdk-base',\n  templateUrl: './base.component.html',\n  styleUrls: ['./base.component.scss']\n})\nexport class BaseComponent implements OnInit, AfterViewInit {\n\n  @ViewChild('mainWdkContent') inputEl: ElementRef;\n\n  display = false;\n\n  currentTheme = 'wdk-theme';\n  headerPortal: ComponentPortal<any>;\n  menuConfig: WdkHeaderConfig = {\n    navItems: [\n      // {\n      //   icon: 'pencil--s',\n      //   name: 'Home',\n      //   // route: 'home'\n      // },\n      // {\n      //   icon: 'trash--s',\n      //   // route: 'email'\n      // },\n      // {\n      //   icon: 'pencil--s',\n      // },\n      {\n        icon: 'caret-down-f--s',\n        menuState: WdkHeaderState.Closed,\n        navHeaderItems: [\n          {\n            rightIcon: 'info-circle--s',\n            name: 'Components',\n            gotToHeader: 'main'\n          },\n          {\n            rightIcon: 'angle-right--s',\n            name: 'Guidelines',\n            gotToHeader: 'guidelines',\n            subHeaderItems: [\n              {\n                leftIcon: 'angle-left--s',\n                name: 'Guidelines',\n                gotToHeader: 'main',\n              },\n              {\n                name: 'Overview',\n              },\n              {\n                name: 'Brand',\n              },\n              {\n                name: 'Style Guide',\n              },\n              {\n                name: 'Iconography',\n              },\n              {\n                name: 'Typography',\n              },\n            ],\n          },\n        ],\n      },\n    ],\n    // iconHeader: true,\n    // menuState: HeaderState.Open,\n  };\n  @Input() public baseConfig: WdkBaseConfig = {} as WdkBaseConfig;\n\n  constructor(\n    private registerIconsService: RegisterIconsService,\n    private renderer: Renderer2,\n    private changeDetector: ChangeDetectorRef,\n    @Optional() public router: Router,\n  ) {\n\n  }\n  ngOnInit(): void {\n    this.setDisplayStatus();\n    this.headerPortal = (!isNullOrUndefined(this.baseConfig.headerPortal)) ? new ComponentPortal<any>(this.baseConfig.headerPortal)\n      : null;\n\n    if (!this.baseConfig.homeRoute) {\n      this.baseConfig.homeRoute = '/';\n    }\n  }\n\n    setDisplayStatus() {\n      this.display = true;\n      this.changeDetector.detectChanges();\n    }\n\n\n    ngAfterViewInit() {\n      this.renderer.setAttribute(document.getElementsByTagName('html')[0], 'class', this.currentTheme);\n    }\n}\n","<div id=\"app\" class=\"page-container mat-app-background mat-typography\">\n  <div class=\"main-wrapper\" id=\"main-cvs-content\" tabindex=\"-1\" #mainWdkContent>\n<!--    <ng-container>-->\n<!--      <span data-test=\"unbranded-product-name\">-->\n<!--          {{ baseConfig.appName }}-->\n<!--      </span>-->\n<!--    </ng-container>-->\n\n\n    <header class=\"main__header\">\n      <div class=\"main__header__brand\">\n        <ng-template id=\"headerPortal\" *ngIf=\"headerPortal\" [cdkPortalOutlet]=\"headerPortal\"></ng-template>\n      </div>\n      <wdk-menu [menuConfig]=\"menuConfig\"></wdk-menu>\n    </header>\n\n\n    <div class=\"main-content\">\n      <main>\n\n        <!-- Logged In Content -->\n        <ng-container>\n          <!-- Notifications -->\n          <div class=\"content-wrapper\">\n            <ng-content></ng-content>\n          </div>\n        </ng-container>\n\n\n        <footer data-test=\"footer\">\n          <span data-test=\"footer-text\" class=\"footer\">\n            --\n          </span>\n        </footer>\n      </main>\n    </div>\n  </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {BaseComponent} from './base.component';\nimport {CommonModule, DatePipe} from '@angular/common';\nimport {MatIconModule} from '@angular/material/icon';\nimport {RouterModule} from '@angular/router';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport {MatSelectModule} from '@angular/material/select';\nimport {WdkHeaderModule} from './header/header.module';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {RegisterIconsService} from \"./icons/register-icons.service\";\n\n@NgModule({\n    declarations: [\n        BaseComponent,\n    ],\n    imports: [\n        CommonModule,\n        MatIconModule,\n        MatToolbarModule,\n        RouterModule,\n        MatFormFieldModule,\n        WdkHeaderModule,\n        MatSelectModule,\n        PortalModule,\n    ],\n    exports: [BaseComponent],\n    providers: [\n        DatePipe\n    ],\n    bootstrap: [BaseComponent]\n})\nexport class WdkBaseModule {\n}\n","/*\n * Public API Surface of wdk-component-library\n */\n\nexport * from './lib/spinner/spinner.component';\nexport * from './lib/spinner/spinner.module';\nexport * from './lib/banner/banner.module';\nexport * from './lib/banner/banner.interfaces';\nexport * from './lib/banner/banner.component';\nexport * from './lib/banner/banner.service';\nexport * from './lib/snack-bar/snack-bar.module';\nexport * from './lib/snack-bar/snack-bar.service';\nexport * from './lib/snack-bar/snack-bar-content.component';\nexport * from './lib/snack-bar/snack-bar.interfaces';\nexport * from './lib/base/header/header.module';\nexport * from './lib/base/header/header-service';\nexport * from './lib/base/header/header.component';\nexport * from './lib/base/header/header-config.model';\nexport * from './lib/base/header/menu-item/header-item.component';\nexport * from './lib/base/base.interfaces';\nexport * from './lib/base/base.component';\nexport * from './lib/base/base.module';\nexport * from './lib/base/icons/register-icons.service';\nexport * from './lib/common/outside-click.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.WdkPortalService","i2","i3","i1","i1.WdkHeaderService","i4.WdkOutsideClickDirective","i4.WdkHeaderItemComponent","i1.RegisterIconsService","i4.WdkHeaderComponent"],"mappings":"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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ICxXY,eAIX;AAJD,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,cAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;AACJ,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;AACN,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;AACR,CAAC,EAJW,cAAc,KAAd,cAAc,GAIzB,EAAA,CAAA,CAAA,CAAA;IAEW,oBAGX;AAHD,CAAA,UAAY,mBAAmB,EAAA;AAC7B,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAA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"}