{"version":3,"file":"tangential-components.mjs","sources":["../../../../projects/tangential/components/src/lib/accordion/accordion.component.ts","../../../../projects/tangential/components/src/lib/icon/icon.component.ts","../../../../projects/tangential/components/src/lib/app-bar/app-bar.component.ts","../../../../projects/tangential/components/src/lib/app-bar/app-bar.component.html","../../../../projects/tangential/components/src/lib/bottom-nav/bottom-nav.component.ts","../../../../projects/tangential/components/src/lib/bottom-nav/bottom-nav.component.html","../../../../projects/tangential/components/src/lib/bottom-nav/nav-button.component.ts","../../../../projects/tangential/components/src/lib/data-list/data-list.component.ts","../../../../projects/tangential/components/src/lib/data-list/data-list.component.html","../../../../projects/tangential/components/src/lib/data-table/data-table.ts","../../../../projects/tangential/components/src/lib/icon/icon.ts","../../../../projects/tangential/components/src/lib/notification-bar/notification.ts","../../../../projects/tangential/components/src/lib/notification-bar/notification-bar.component.ts","../../../../projects/tangential/components/src/lib/notification-bar/notification-bar.component.html","../../../../projects/tangential/components/src/lib/page-body/page-body.component.ts","../../../../projects/tangential/components/src/lib/pagination-bar/pagination-bar.component.ts","../../../../projects/tangential/components/src/lib/pagination-bar/pagination-bar.component.html","../../../../projects/tangential/components/src/lib/side-nav/side-nav.component.ts","../../../../projects/tangential/components/src/lib/side-nav-menu/context-menu-message.ts","../../../../projects/tangential/components/src/lib/side-nav-menu/side-nav-menu.component.ts","../../../../projects/tangential/components/src/lib/side-nav-menu/side-nav-menu.component.html","../../../../projects/tangential/components/src/lib/side-nav-menu/menu.ts","../../../../projects/tangential/components/src/lib/sign-in-panel/sign-in/sign-in.component.ts","../../../../projects/tangential/components/src/lib/sign-in-panel/sign-in/sign-in.component.html","../../../../projects/tangential/components/src/lib/sign-in-panel/password-reset/password-reset.component.ts","../../../../projects/tangential/components/src/lib/sign-in-panel/password-reset/password-reset.component.html","../../../../projects/tangential/components/src/lib/sign-in-panel/sign-up/sign-up.component.ts","../../../../projects/tangential/components/src/lib/sign-in-panel/sign-up/sign-up.component.html","../../../../projects/tangential/components/src/lib/sign-in-panel/sign-in-panel.component.ts","../../../../projects/tangential/components/src/lib/sign-in-panel/sign-in-panel.component.html","../../../../projects/tangential/components/src/lib/sign-in-panel/sign-in-panel.page.ts","../../../../projects/tangential/components/src/lib/sign-in-panel/sign-in-panel.module.ts","../../../../projects/tangential/components/src/lib/components.module.ts","../../../../projects/tangential/components/src/public-api.ts","../../../../projects/tangential/components/src/tangential-components.ts"],"sourcesContent":["import {animate, state, style, transition, trigger} from '@angular/animations'\nimport {Component, EventEmitter, HostBinding, Input, OnDestroy, Output, ViewEncapsulation} from '@angular/core'\n\n\nexport interface AccordionChangeEvent {\n  item: AccordionItem\n  collapsed: boolean\n}\n\n\n@Component({\n  selector: 'tanj-accordion',\n  template: '<ng-content></ng-content>',\n  encapsulation: ViewEncapsulation.None,\n})\nexport class Accordion {\n\n  @HostBinding('class.tanj-nested-accordion-parent') get _nested() {\n    return this.nested\n  }\n\n  @Input() single: boolean = false\n  @Input() nested: boolean = false\n\n  @Output() childCollapsedChange: EventEmitter<AccordionChangeEvent> = new EventEmitter(false)\n\n  items: Array<AccordionItem> = [];\n\n  constructor() {\n    this.childCollapsedChange.subscribe({\n      next: (event) => this.onChildCollapsedChange(event)\n    })\n  }\n\n  onChildCollapsedChange(event: AccordionChangeEvent) {\n    if (!event.collapsed && this.single) {\n      this.closeOthers(event.item)\n    }\n  }\n\n  addGroup(accordionItem: AccordionItem): void {\n    this.items.push(accordionItem);\n    accordionItem.collapsedChange.subscribe({\n      next: (v) => {\n        this.childCollapsedChange.emit({item: accordionItem, collapsed: v})\n      }\n    })\n  }\n\n  closeOthers(accordionItem: AccordionItem): void {\n    this.items.forEach((item: AccordionItem) => {\n      if (item !== accordionItem) {\n        item.collapsed = true;\n      }\n    });\n  }\n\n  removeGroup(group: AccordionItem): void {\n    const index = this.items.indexOf(group);\n    if (index !== -1) {\n      this.items.splice(index, 1);\n    }\n  }\n}\n\n\n@Component({\n  selector:      'tanj-accordion-item',\n  template:      `\n                   <div class=\"tanj-item-header-container\"\n                        flex\n                        layout=\"row\"\n                        layout-align=\"start center\"\n                        [ngClass]=\"{'tanj-collapsed': collapsed}\"\n                        (click)=\"toggleCollapsed($event)\">\n                     <mat-icon class=\"no-select\" [@iconChange]=\"collapsed\">keyboard_arrow_down</mat-icon>\n                     <ng-content select=\"[tanj-header]\"></ng-content>\n                   </div>\n                   <div class=\"tanj-item-content-container\"\n                        flex\n                        layout=\"column\"\n                        layout-align=\"start\"\n                        [@collapseChange]=\"collapsed\">\n                     <div class=\"tanj-item-content\">\n                       <ng-content select=\"[tanj-content]\"></ng-content>\n                     </div>\n                   </div>\n\n                 `,\n  encapsulation: ViewEncapsulation.None,\n  animations:    [\n    trigger('collapseChange', [\n      state('1',\n        style({height: '0', overflow: 'hidden'}),\n      ),\n      state('0',\n        style({height: '*'})\n      ),\n      transition('* => *', animate('.25s ease-in'))\n    ]),\n    trigger('iconChange', [\n      state('1',\n        style({transform: 'rotate( -90deg )'})\n      ),\n      state('0',\n        style({transform: 'rotate( 0deg )'})\n      ),\n      transition('* => *', animate('.25s'))\n    ])\n  ],\n\n})\nexport class AccordionItem implements OnDestroy {\n\n  @HostBinding('class.panel-open') get po() {\n    return !this.collapsed\n  }\n\n  @HostBinding('attr.flex') flex = '';\n  @HostBinding('attr.layout') flexLayout = 'column';\n  @HostBinding('attr.layout-align') flexLayoutAlign = 'start';\n\n\n  private _collapsed: boolean = true;\n\n\n  @Output() collapsedChange: EventEmitter<boolean> = new EventEmitter(false)\n\n  constructor(public accordion: Accordion) {\n    this.accordion.addGroup(this);\n  }\n\n  ngOnDestroy() {\n    this.accordion.removeGroup(this);\n  }\n\n  @Input() set collapsed(value: boolean) {\n    if (this._collapsed !== value) {\n      this._collapsed = value\n      this.collapsedChange.next(value)\n    }\n  }\n\n  get collapsed() {\n    return this._collapsed;\n  }\n\n  toggleCollapsed(event: MouseEvent): void {\n    event.preventDefault();\n    event.stopPropagation()\n    this.collapsed = !this.collapsed;\n  }\n}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  OnChanges,\n  OnInit,\n  Output,\n  SimpleChange,\n  ViewEncapsulation\n} from '@angular/core'\nimport {Icon} from './icon'\n\n@Component({\n  selector:        'tanj-icon',\n  template:        `\n                     <div flex class=\"tanj-icon-body\"\n                          [ngClass]=\"{'tanj-icon-align-center': align=='center'}\"\n                          layout=\"row\" layout-align=\"start center\"\n                          (click)=\"onClick($event)\">\n                       <i\n                         class=\"tanj-icon-element\"\n                         [ngClass]=\"classes\"\n                         aria-hidden=\"true\">{{iconContainerContent}}</i>\n                       <ng-container *ngIf=\"label\"><span class=\"tanj-icon-label\">{{label}}</span></ng-container>\n                     </div>\n                   `,\n  host:            {\n    '[class.no-select]':         'true',\n    '[class.tanj-disabled]':     'disabled',\n    '[class.tanj-labeled-icon]': 'label',\n  },\n  styles:          [\n    `\n      /* Increase in specificity is intentional, to override Angular Material styles.*/\n      tanj-icon i.tanj-icon-element {\n        font-size : inherit;\n      }\n\n      tanj-icon {\n        font-size : 24px;\n      }\n\n      tanj-icon .tanj-icon-body {\n        width : 100%;\n      }\n\n      tanj-icon .tanj-icon-body.tanj-icon-align-center {\n        justify-content : center;\n      }\n\n      tanj-icon.tanj-labeled-icon .tanj-icon-element {\n        text-align   : right;\n        min-width    : 1em;\n        margin-right : .25em;\n      }\n\n      .tanj-icon-label {\n        font-size : 12px;\n      }\n    `],\n  encapsulation:   ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class IconComponent implements OnChanges, OnInit {\n\n  @Input() icon: Icon\n\n  @Input() align: string\n\n  @Input() font: string = 'material-icons'\n  @Input() ligature: string = 'broken_image'\n\n  iconContainerContent: string\n\n  @Input() disabled: boolean = false\n  @Input() label: string\n\n  @Output() click: EventEmitter<MouseEvent> = new EventEmitter(false)\n\n\n  classes: any\n\n  constructor() {\n  }\n\n  public ngOnInit() {\n    this.updateClasses()\n  }\n\n  public ngOnChanges(changes: { icon: SimpleChange }): void {\n    if (changes.icon) {\n      if (this.icon) {\n        this.font = this.icon.font\n        this.ligature = this.icon.name\n      }\n    }\n    this.font = this.font || 'material-icons'\n    this.ligature = this.ligature || 'broken_image'\n    this.updateClasses()\n  }\n\n  onClick(event: MouseEvent) {\n    console.log('IconComponent', 'onClick')\n    if (!this.disabled) {\n      this.click.emit(event)\n    }\n  }\n\n\n  private updateClasses() {\n    this.classes = {}\n    this.classes[this.font] = true\n    if (this.font === 'fa') {\n      const key = this.ligature.startsWith('fa-') ? this.ligature : 'fa-' + this.ligature\n      this.classes[key] = true\n    } else {\n      this.iconContainerContent = this.ligature\n    }\n    if (!this.label && !this.align) {\n      this.align = 'center'\n    }\n  }\n}\n\n\n\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  Input,\n  ViewEncapsulation\n} from '@angular/core'\nimport {Visitor} from '@tangential/authorization-service'\nimport {Intention, MessageBus, AppMessage} from '@tangential/core'\nimport {filter, Observable} from 'rxjs'\n\n\nexport class ToggleMainMenuRequest extends AppMessage {\n  static Key = 'openAppNavRequest'\n\n  constructor() {\n    super(Intention.request, ToggleMainMenuRequest.Key )\n  }\n\n  static override filter(bus:MessageBus):Observable<ToggleMainMenuRequest>{\n    return bus.all.pipe(filter(msg => msg.source === AppMessage.SourceKey && msg.key === ToggleMainMenuRequest.Key))\n  }\n}\n\n\n@Component({\n  selector:        'tanj-app-bar',\n  templateUrl:     './app-bar.component.html',\n  encapsulation:   ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppBarComponent {\n  @Input() visitor: Visitor\n  @Input() title = 'Tangential'\n\n  constructor(private bus: MessageBus) {\n  }\n\n  onToggleMainMenuRequest() {\n    this.bus.post(new ToggleMainMenuRequest())\n  }\n\n}\n\n\n\n","<mat-toolbar class=\"tanj-app-bar-component\" color=\"primary\" layout=\"column\" layout-align=\"start\">\n  <div flex class=\"tanj-app-bar-body\" layout=\"row\" layout-align=\"start center\">\n    <div class=\"tanj-app-bar-left-button\">\n      <button mat-icon-button (click)=\"onToggleMainMenuRequest()\">\n        <tanj-icon [icon]=\"{font:'material-icons', name: 'menu'}\"></tanj-icon>\n      </button>\n    </div>\n    <div flex class=\"tanj-app-bar-title-container\" layout=\"row\" layout-align=\"start\">\n      <div class=\"tanj-app-title\"><a [routerLink]=\"['/']\" routerLinkActive=\"active\">{{title}}</a></div>\n    </div>\n  </div>\n</mat-toolbar>\n\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core'\n\n@Component({\n  selector:        'tanj-bottom-nav',\n  templateUrl:     './bottom-nav.component.html',\n  host:            {\n    '[class.tanj-bottom-nav-component]': 'true',\n    'flex':                             '',\n    'layout':                           'row',\n    'layout-align':                     'space-around',\n  },\n  encapsulation:   ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BottomNavComponent {\n\n\n  constructor() {\n  }\n\n}\n\n\n\n","<ng-content flex seelct=\"[tanj-nav-button]\" layout=\"row\" layout-align=\"space-between\"></ng-content>\n\n\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation} from '@angular/core'\nimport {Icon} from '../icon/icon'\n\n\n@Component({\n  selector:                                                  'tanj-nav-button',\n  template:                                                  `<a color=\"accent\"\n                                                                 class=\"tanj-nav-button-icon\"\n                                                                 layout=\"column\"\n                                                                 layout-align=\"center center\"\n                                                                 [routerLink]=\"routerLink\"\n                                                                 (click)=\"onClick.next($event)\">\n    <tanj-icon [icon]=\"icon\"></tanj-icon>\n    <span class=\"tanj-nav-button-label\">{{caption}}</span></a>`,\n  host:                                                      {\n    '[class.tanj-nav-button]': 'true',\n    '[class.no-select]':      'true',\n    'flex':                   '',\n    'layout':                 'column',\n    'layout-align':           'center center',\n  },\n  encapsulation:                                             ViewEncapsulation.None,\n  changeDetection:                                           ChangeDetectionStrategy.OnPush\n})\nexport class NavButtonComponent {\n\n  @Input() routerLink: string[]\n  @Input() icon: Icon\n  @Input() caption: string\n\n  @Output() onClick: EventEmitter<any> = new EventEmitter(false)\n\n\n  constructor() {\n  }\n\n}\n\n\n\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  ContentChild,\n  EventEmitter,\n  Input,\n  OnChanges,\n  Output,\n  SimpleChange,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport {ObjMapUtil} from '@tangential/core';\n\n@Component({\n  selector: 'tanj-data-list-expander', template: ``, changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DataListExpander {\n  @ContentChild(TemplateRef) template: TemplateRef<any>;\n\n}\n\n@Component({\n  selector:        'tanj-data-list',\n  templateUrl:     './data-list.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation:   ViewEncapsulation.None\n})\nexport class DataListComponent implements OnChanges {\n\n  @Input() items: any[] = []\n  @Input() keyField: string = '$key'\n\n  @Output() addItemAction: EventEmitter<void> = new EventEmitter<void>(false)\n  @Output() removeSelectedAction: EventEmitter<string[]> = new EventEmitter<string[]>(false)\n  @Output() selectionChange: EventEmitter<string[]> = new EventEmitter<string[]>(false)\n  @Output() expansionChange: EventEmitter<string[]> = new EventEmitter<string[]>(false)\n\n  expansionCount: number = 0\n  selectionCount: number = 0\n\n  private _selections: { [key: string]: boolean } = {}\n  private _expansions: { [key: string]: boolean } = {}\n\n  @ContentChild(TemplateRef) rowTemplate: TemplateRef<any>;\n  @ContentChild(DataListExpander) expander: DataListExpander;\n\n  constructor() {\n  }\n\n  ngOnChanges(changes: { items: SimpleChange }) {\n    if (changes.items) {\n      this.updateSelections()\n    }\n  }\n\n  updateSelections() {\n    if (this.selectionCount !== 0) {\n      const map = ObjMapUtil.fromKeyedEntityArray(this.items)\n      Object.keys(this._selections).forEach(key => {\n        if (!map[key]) {\n          delete this._selections[key]\n          this.selectionCount--\n        }\n      })\n    }\n  }\n\n  isExpanded(itemKey: string) {\n    return this._expansions[itemKey] === true\n  }\n\n  toggleExpanded(itemKey: string) {\n    this.expansionCount += this.toggle(itemKey, this._expansions, this.expansionChange)\n  }\n\n  isSelected(itemKey: string) {\n    return this._selections[itemKey] === true\n  }\n\n  selectItem(itemKey: string) {\n    this.toggleSelected(itemKey)\n  }\n\n  deselectItem(itemKey: string) {\n    this.toggleSelected(itemKey)\n  }\n\n  toggleSelected(itemKey: string) {\n    const wasActive = this._selections[itemKey]\n    if (wasActive) {\n      delete this._selections[itemKey]\n      this.selectionCount--\n    } else {\n      this._selections[itemKey] = true\n      this.selectionCount++\n    }\n    this.selectionChange.emit(Object.keys(this._selections))\n  }\n\n  toggle(itemKey: string, target: any, emitter: EventEmitter<any>) {\n    let countIncrement = 0\n    const wasActive = target[itemKey]\n    if (wasActive) {\n      delete target[itemKey]\n      countIncrement = -1\n    } else {\n      target[itemKey] = true\n      countIncrement = 1\n    }\n    emitter.emit(Object.keys(target))\n    return countIncrement\n  }\n\n\n  onSelectAllCheckAction(isChecked: boolean) {\n    if (isChecked) {\n      this.selectionCount = 0;\n      this._selections = {}\n    } else {\n      this.items.forEach(item => this._selections[item.$key] = true)\n      this.selectionCount = this.items.length\n    }\n    this.selectionChange.emit(Object.keys(this._selections))\n  }\n\n  fireAddItemAction():boolean {\n    this.addItemAction.emit()\n    /** @todo: ggranum: Cleanup the HTML so that this return isn't required.  */\n    return false;\n  }\n\n  fireRemoveSelectedAction() {\n    this.removeSelectedAction.emit(Object.keys(this._selections))\n\n  }\n\n}\n","<div flex layout=\"column\" class=\"tanj-data-list\"\n     (window:keyup)=\"($event.ctrlKey && $event.key == '+') ? (fireAddItemAction() && $event.stopPropagation() && $event.preventDefault() ): null;\">\n  <mat-list *ngIf=\"items\" flex layout=\"column\" layout-align=\"start\">\n    <mat-list-item class=\"tanj-list-item\" flex layout=\"column\" layout-align=\"start\">\n      <mat-checkbox\n        [checked]=\"selectionCount == items.length\"\n        [indeterminate]=\"selectionCount > 0 && selectionCount < items.length\"\n        (change)=\"onSelectAllCheckAction(!$event.checked)\"\n      ></mat-checkbox>\n      <div class=\"tanj-multi-select-actions\" layout=\"row\" layout-align=\"start\" flex>\n        <button mat-raised-button\n                [disabled]=\"selectionCount === 0\"\n                (click)=\"fireRemoveSelectedAction()\">\n          <mat-icon>delete</mat-icon>\n          Delete Selected\n        </button>\n      </div>\n      <div layout=\"row\" layout-align=\"end\" flex>\n        <button mat-mini-fab (click)=\"fireAddItemAction()\">\n          <mat-icon>add</mat-icon>\n        </button>\n      </div>\n    </mat-list-item>\n    <mat-divider></mat-divider>\n    <div *ngFor=\"let rowItem of items\" class=\"tanj-list-item-row\" flex layout=\"column\">\n      <div class=\"tanj-list-item\" layout=\"row\" flex layout-align=\"start start\">\n        <div *ngIf=\"expander && expander.template\">\n          <mat-icon (click)=\"toggleExpanded(rowItem[keyField])\">{{isExpanded(rowItem[keyField]) ? 'expand_less' :\n                                                               'expand_more'}}\n          </mat-icon>\n        </div>\n        <mat-checkbox\n          [checked]=\"isSelected(rowItem[keyField])\"\n          (change)=\"$event.checked ? selectItem(rowItem[keyField]) : deselectItem(rowItem[keyField])\"\n        ></mat-checkbox>\n        <ng-template *ngTemplateOutlet=\"rowTemplate; context: { $implicit: rowItem }\"></ng-template>\n      </div>\n      <div *ngIf=\"expander && expander.template && isExpanded(rowItem[keyField])\"\n           class=\"tanj-data-list-expander-wrapper\"\n           layout=\"row\"\n           layout-align=\"start\">\n        <ng-template *ngTemplateOutlet=\"expander.template; context: { $implicit: rowItem }\"></ng-template>\n      </div>\n    </div>\n  </mat-list>\n</div>\n","import {IconIF} from '../icon/icon'\n\nexport interface ColumnHeader {\n  captureKey: string, inputKey: string, label: string, icon: IconIF, index: number\n}\n\nexport class DataTable {\n  title: string = ''\n  headers: ColumnHeader[] = []\n  dataByColumn: any[][] = []\n  dataByRow: any[][] = []\n\n\n  toCsv(): string {\n    let rows = []\n    rows.push(this.headers.map(header => header.label))\n    rows = rows.concat(this.dataByRow)\n    rows = rows.map(row => row.map((cell: string) => {\n      cell = '' + cell\n      return `\"${cell.replace('\"', '\"\"')}\"`\n    }))\n    const rowStrings = []\n    rows.forEach(function (row) {\n      rowStrings.push(row.join(','))\n    });\n    return rows.join('\\n')\n  }\n\n  toCsvDataLink(): string {\n    return 'data:text/csv;charset=utf-8,' + this.toCsv()\n  }\n\n}\n","export interface IconIF {\n  font: string\n  name: string\n}\n\nexport class Icon implements IconIF {\n  font: string\n  name: string\n\n\n  constructor(config?: IconIF) {\n    config = config || <any>{}\n    this.font = config.font || 'material-icons'\n    this.name = config.name || 'question'\n  }\n\n  static material(ligature: string): IconIF {\n    return {font: 'material-icons', name: ligature}\n  }\n\n  static fa(ligature: string): IconIF {\n    return {font: 'fa', name: ligature}\n  }\n}\n","import {BusMessage, MessageBus, ObjectUtil} from '@tangential/core'\nimport {Observable} from 'rxjs'\nimport {filter, first} from 'rxjs/operators'\nimport {IconIF} from '../icon/icon'\n\nexport type NotificationType = 'error' | 'info' | 'warning'\nexport const NotificationTypes = {\n  'error':   <NotificationType>'error',\n  'info':    <NotificationType>'info',\n  'warning': <NotificationType>'warning'\n}\n\nexport interface NotificationIF {\n  $key?: string\n  duration?: number\n  icon?: IconIF\n  level?: NotificationType\n  message?: string\n}\n\nconst defaultNotification: NotificationIF = {\n  level:    NotificationTypes.error,\n  icon:     null,\n  message:  'Unknown Error',\n  duration: 5000\n}\n\nexport class NotificationMessage extends BusMessage implements NotificationIF {\n  static SourceKey = 'NotificationMessage'\n\n  $key?: string\n  duration?: number\n  icon?: IconIF\n  message?: string\n\n  constructor(config: NotificationIF) {\n    super(NotificationMessage.SourceKey, 'event', config.level)\n    ObjectUtil.assignDeep(this, defaultNotification, config)\n  }\n\n  /**\n   * Returns an observable that will complete after a single response.\n   */\n  response(bus: MessageBus): Observable<NotificationResponseMessage> {\n    return bus.all.pipe(\n      first(msg => msg.source === NotificationResponseMessage.SourceKey && (<NotificationResponseMessage>msg).notice.id === this.id)\n    ) as Observable<NotificationResponseMessage>\n  }\n\n  /**\n   * Returns an observable that will fire on every response and will never complete.\n   */\n  responses(bus: MessageBus): Observable<NotificationResponseMessage> {\n    return bus.all.pipe(\n      filter(msg => msg.source === NotificationResponseMessage.SourceKey && (<NotificationResponseMessage>msg).notice.id === this.id)\n    ) as Observable<NotificationResponseMessage>\n  }\n\n  static info(config: NotificationIF): NotificationMessage {\n    config.level = NotificationTypes.info\n    return new NotificationMessage(config)\n  }\n\n  static warning(config: NotificationIF): NotificationMessage {\n    config.level = NotificationTypes.warning\n    return new NotificationMessage(config)\n  }\n\n  static error(config: NotificationIF): NotificationMessage {\n    config.level = NotificationTypes.error\n    return new NotificationMessage(config)\n  }\n\n  static filter(bus: MessageBus): Observable<NotificationMessage> {\n    return bus.all.pipe(filter(msg => msg.source === NotificationMessage.SourceKey)) as Observable<NotificationMessage>\n  }\n}\n\nexport class NotificationResponseMessage extends BusMessage {\n  static SourceKey: string = 'NotificationResponse'\n\n\n  constructor(public notice: NotificationMessage, public response: any) {\n    super(NotificationResponseMessage.SourceKey, 'event')\n  }\n\n  static filter(bus: MessageBus) {\n    return bus.all.pipe(filter(msg => msg.source === NotificationResponseMessage.SourceKey))\n  }\n\n  static responseFor(notification: NotificationMessage, response: any) {\n    return new NotificationResponseMessage(notification, response)\n  }\n}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  OnInit,\n  ViewEncapsulation\n} from '@angular/core'\nimport {MatSnackBar} from '@angular/material/snack-bar'\nimport {MessageBus} from '@tangential/core'\nimport {\n  NotificationMessage,\n  NotificationResponseMessage\n} from './notification'\n\n@Component({\n  selector:        'tanj-notification-bar',\n  templateUrl:     './notification-bar.component.html',\n  encapsulation:   ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NotificationBarComponent implements OnInit {\n\n  notification: NotificationMessage\n\n  constructor(private bus: MessageBus, private snackBar: MatSnackBar) {\n  }\n\n\n  ngOnInit(): void {\n    NotificationMessage.filter(this.bus).subscribe(notice => this.handleNewNotification(notice))\n  }\n\n  onDismissAction() {\n    this._clearNotification({dismissedBy: 'click'})\n  }\n\n  private handleNewNotification(notice: NotificationMessage) {\n    this.snackBar.open(notice.message, 'Dismiss', notice);\n    // if(this.notification){\n    //   this._clearNotification({dismissedBy: \"newMessage\"})\n    // }\n    // this.notification = notice\n    // this.changeDetectorRef.markForCheck()\n    // if (notice.duration) {\n    //   setTimeout(() => {\n    //     this._clearNotification({dismissedBy: \"timeout\"})\n    //     this.changeDetectorRef.markForCheck()\n    //   }, notice.duration)\n    // }\n  }\n\n  private _clearNotification(response: { dismissedBy: string }) {\n    if (this.notification) {\n      this.bus.post(NotificationResponseMessage.responseFor(this.notification, response))\n      this.notification = null\n    }\n  }\n}\n\n\n\n","<div *ngIf=\"notification\"\n     class=\"tanj-notification-component\"\n     (click)=\"onDismissAction()\">\n  <div class=\"tanj-notification-body\"\n       [class.tanj-error]=\"notification.key == 'error'\"\n       [class.tanj-warn]=\"notification.key == 'warning'\"\n       [class.tanj-info]=\"notification.key == 'info'\"\n       layout=\"row\" layout-align=\"center\">\n    <div flex class=\"tanj-notification-message\">{{notification.message}}</div>\n    <div class=\"tanj-dismiss-notification-button\" layout=\"row\" layout-align=\"end center\">\n      <mat-icon>close</mat-icon>\n    </div>\n  </div>\n</div>\n\n","import {ChangeDetectionStrategy, Component, Input, OnDestroy, OnInit, ViewEncapsulation} from '@angular/core';\n\n@Component({\n  selector: 'tanj-page-body',\n  template: `\n    <div *ngIf=\"!suppressHeaderShim\" class=\"tanj-header-shim\"></div>\n    <div [attr.flex]=\"flex ? true : null\" [attr.layout]=\"layout\" [attr.layout-align]=\"layoutAlign\">\n      <ng-content></ng-content>\n    </div>`,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PageBodyComponent implements OnInit, OnDestroy {\n\n  @Input() suppressHeaderShim: boolean = false\n  @Input() flex: boolean = true\n  @Input() layout: string = 'column'\n  @Input() layoutAlign: string = 'start'\n\n  constructor() {\n  }\n\n  ngOnDestroy() {\n\n  }\n\n  ngOnInit() {\n\n  }\n\n  sendStandardNotifications() {\n\n  }\n\n\n}\n\n\n\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  ViewEncapsulation\n} from '@angular/core'\n\n@Component({\n  selector:         'tanj-pagination-bar', templateUrl: './pagination-bar.component.html', host: {\n    '[class.no-select]': 'true',\n  }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PaginationBarComponent {\n\n  @Input() nextEnabled: boolean = false\n  @Input() previousEnabled: boolean = false\n\n  @Output() end: EventEmitter<MouseEvent> = new EventEmitter(false)\n  @Output() next: EventEmitter<MouseEvent> = new EventEmitter(false)\n  @Output() start: EventEmitter<MouseEvent> = new EventEmitter(false)\n  @Output() previous: EventEmitter<MouseEvent> = new EventEmitter(false)\n\n  constructor() {\n  }\n\n}\n\n\n\n","<div flex layout=\"row\" layout-align=\"start center\">\n  <tanj-icon layout=\"column\"\n             layout-align=\"center\"\n             align=\"center\"\n             [icon]=\"{font: 'material-icons', name: 'skip_previous'}\"\n             [disabled]=\"!previousEnabled\"\n             (click)=\"start.emit($event)\"></tanj-icon>\n  <tanj-icon class=\"tanj-pagination-previous\"\n             layout=\"column\"\n             layout-align=\"center\"\n             align=\"center\"\n             [icon]=\"{font: 'material-icons', name: 'play_arrow'}\"\n             [disabled]=\"!previousEnabled\"\n             (click)=\"previous.emit($event)\"></tanj-icon>\n  <div flex layout=\"row\" layout-align=\"center\">\n    <ng-content></ng-content>\n  </div>\n  <div layout=\"row\" layout-align=\"end center\">\n    <tanj-icon layout=\"column\"\n               layout-align=\"center\"\n               align=\"center\"\n               [icon]=\"{font: 'material-icons', name: 'play_arrow'}\"\n               [disabled]=\"!nextEnabled\"\n               (click)=\"next.emit($event)\"></tanj-icon>\n    <tanj-icon layout=\"column\"\n               layout-align=\"center\"\n               align=\"center\"\n               [icon]=\"{font: 'material-icons', name: 'skip_next'}\"\n               [disabled]=\"!nextEnabled\"\n               (click)=\"end.emit($event)\"></tanj-icon>\n  </div>\n</div>\n","import {\n  animate,\n  state,\n  style,\n  transition,\n  trigger\n} from '@angular/animations'\nimport * as KeyCodes from '@angular/cdk/keycodes'\nimport {\n  Component,\n  ElementRef,\n  EventEmitter,\n  HostBinding,\n  Input,\n  Output,\n  ViewEncapsulation\n} from '@angular/core'\n\n@Component({\n  selector: 'tanj-side-nav',\n  template: `\n              <div class=\"tanj-side-nav-content\"\n                   layout=\"column\"\n                   layout-align=\"start\">\n                <ng-content></ng-content>\n              </div>`,\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    '(window:keydown)':  'handleKeyDown($event)',\n    '(window:mouseup)':  'handleClick($event)',\n    '(window:touchend)': 'handleClick($event)',\n  },\n  animations: [\n    /** @todo: ggranum: Move the overflow and display attributes to simple 'ngIf' or [class] bindings */\n    trigger('openedChange', [\n      state('0', style({ width: '0', overflow: 'hidden', display:  'none' })),\n      state('1', style({width: '*'})),\n      transition('0 => 1', animate('.3s ease-in')),\n      transition('1 => 0', animate('.3s ease-out'))]\n    )\n  ]\n})\nexport class SideNavComponent {\n\n  lastActionTime: number = Date.now()\n  @Output() onClose: EventEmitter<null> = new EventEmitter(false)\n  @Output() onOpen: EventEmitter<null> = new EventEmitter(false)\n  @Input() opened: boolean = false\n  @Output() openedChange: EventEmitter<boolean> = new EventEmitter(false)\n\n  constructor(private el: ElementRef) {\n\n  }\n\n  @HostBinding('@openedChange')\n  get hbOc() {\n    return this.opened\n  }\n\n  handleKeyDown(event: KeyboardEvent) {\n    if (event.keyCode === KeyCodes.ESCAPE && this.opened) {\n      this.close();\n      event.stopPropagation();\n    }\n  }\n\n  onTransitionEnd(transitionEvent: TransitionEvent) {\n  }\n\n  open() {\n    if (!this.opened && !this.inProgress()) {\n      this.opened = true\n      this.notify()\n    }\n  }\n\n  close() {\n    if (this.opened && !this.inProgress()) {\n      this.opened = false\n      this.notify()\n    }\n  }\n\n  toggle() {\n    if (!this.inProgress()) {\n      this.opened = !this.opened\n      this.notify()\n    }\n  }\n\n  inProgress(): boolean {\n    return this.opening() || this.closing()\n  }\n\n  opening(): boolean {\n    return this.opened && ( Date.now() - this.lastActionTime < 250)\n  }\n\n  closing(): boolean {\n    return !this.opened && (Date.now() - this.lastActionTime < 250)\n  }\n\n  handleClick(event: any) {\n    if (this.opened && !this.opening()) {\n      this.close()\n    }\n  }\n\n  isTargetingSelfOrChild(event: any): boolean {\n    let result = false\n    let p = event.target\n    while (p.parentElement) {\n      p = p.parentElement\n      if (p === this.el.nativeElement) {\n        result = true\n        break\n      }\n    }\n    return result\n  }\n\n  private notify() {\n    this.lastActionTime = Date.now()\n    this.openedChange.emit(this.opened)\n    if (this.opened) {\n      this.onOpen.emit()\n    } else {\n      this.onClose.emit()\n    }\n  }\n}\n","import {BusMessage, MessageBus} from '@tangential/core'\nimport {Observable} from 'rxjs'\nimport {filter} from 'rxjs/operators'\nimport {MenuItem} from './menu';\n\n\n\n\n\nexport class ContextMenuMessage extends BusMessage {\n  static SourceKey = 'ContextMenu'\n  menuItems: MenuItem[]\n\n  constructor(menuItems: MenuItem[]) {\n    super(ContextMenuMessage.SourceKey, 'event')\n    this.menuItems = menuItems\n  }\n\n\n  static post(bus: MessageBus, menuItems: MenuItem[]): void {\n    bus.post(new ContextMenuMessage(menuItems))\n  }\n\n  static filter(bus: MessageBus): Observable<ContextMenuMessage> {\n    return bus.all.pipe(filter(msg => msg.source === ContextMenuMessage.SourceKey)) as Observable<ContextMenuMessage>\n  }\n\n}\n","import {ChangeDetectionStrategy, Component, Input, ViewEncapsulation} from '@angular/core';\nimport {Menu} from './menu';\nimport {Visitor} from '@tangential/authorization-service';\n\n@Component({\n  selector:        'tanj-side-nav-menu',\n  templateUrl:     './side-nav-menu.component.html',\n  encapsulation:   ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SideNavMenuComponent{\n\n  @Input() visitor: Visitor = null\n  @Input() menu: Menu = null\n\n  constructor() {\n  }\n\n}\n","<div class=\"tanj-side-nav-menu-hero-container\">\n  <div class=\"tanj-side-nav-menu-hero-background\"></div>\n  <div class=\"tanj-side-nav-menu-hero-content\" layout=\"column\" layout-align=\"end start\">\n    <div class=\"tanj-visitor-display-name\" layout=\"row\" layout-align=\"start\">{{visitor?.subject?.displayName}}</div>\n    <div class=\"tanj-visitor-username\" layout=\"row\" layout-align=\"start\">{{visitor?.subject?.email}}</div>\n  </div>\n</div>\n<div class=\"tanj-side-nav-content\" layout=\"column\" layout-align=\"start\">\n  <nav>\n    <ng-container *ngFor=\"let item of menu?.entries\">\n      <div class=\"tanj-fading-line\" *ngIf=\"item.isSeparator\"></div>\n      <div  *ngIf=\"!item.isSeparator\">\n        <a flex mat-button layout=\"row\"\n           layout-align=\"start\"\n           [routerLink]=\"item.routerLink\"\n           (click)=\"item.eventHandler($event)\"\n           [disabled]=\"item.disabled\">\n          <tanj-icon [font]=\"item.icon.font\" [ligature]=\"item.icon.name\" [label]=\"item.label\" i18n-label></tanj-icon>\n        </a>\n      </div>\n    </ng-container>\n  </nav>\n</div>\n","import {IconIF} from '../icon/icon';\n\nconst NoOp = function(){}\n\nexport class MenuItem {\n  isSeparator:boolean = false\n  icon: IconIF\n  label: string = ''\n  disabled: boolean = false\n  routerLink?: string[]\n  eventHandler?: (...a: any[]) => void\n\n\n  constructor(label?: string, icon?: IconIF, routerLinkOrHandler?:((...a: any[]) => void) | string[], disabled: boolean = false) {\n    this.isSeparator = !label && !icon && !routerLinkOrHandler\n    this.label = label\n    this.icon = icon\n    this.disabled = disabled\n    if(routerLinkOrHandler){\n      if(typeof routerLinkOrHandler == 'function'){\n        this.eventHandler = routerLinkOrHandler\n      }  else {\n        this.routerLink = routerLinkOrHandler\n      }\n    }\n    this.eventHandler = this.eventHandler || NoOp\n  }\n}\n\n\n\nexport class Menu  {\n\n  entries: (MenuItem | Menu)[] = []\n\n  addSeparator(){\n    this.entries.push(new MenuItem())\n  }\n\n  addMenuGroup(menuGroup:Menu){\n    this.entries.push(menuGroup)\n  }\n\n  addItem(item:MenuItem){\n    this.entries.push(item)\n  }\n\n\n\n}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  HostBinding,\n  Input,\n  OnChanges,\n  Output,\n  SimpleChange,\n  ViewEncapsulation\n} from '@angular/core'\nimport {NgForm} from '@angular/forms'\nimport {ChangeEvent} from '@tangential/core'\n\n\nexport type SignInAction = 'signUp' | 'signIn' | 'forgotPassword'\nexport const SignInActions = {\n  signUp: <SignInAction>'signUp', signIn: <SignInAction>'signIn', forgotPassword: <SignInAction>'forgotPassword',\n}\n\nexport interface AuthInfo {\n  username: string\n  password?: string\n  password2?: string\n  rememberMe?: boolean\n  action: SignInAction\n}\n\n@Component({\n  selector:        'tanj-sign-in',\n  templateUrl:     './sign-in.component.html',\n  encapsulation:   ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SignInComponent implements OnChanges {\n\n\n  @HostBinding('attr.layout') flexLayout = 'column'\n  @HostBinding('attr.layout-align') flexLayoutAlign = 'start center';\n\n  @Input() username: string\n  @Input() requireEmailUsername: boolean\n  @Input() preventSubmit: boolean = false\n\n  @Output() authChange: EventEmitter<ChangeEvent<AuthInfo>> = new EventEmitter<ChangeEvent<AuthInfo>>(false)\n\n  @Output() signIn: EventEmitter<AuthInfo> = new EventEmitter<AuthInfo>(false)\n\n  @Output() showSignUpRequest: EventEmitter<AuthInfo> = new EventEmitter<AuthInfo>(false)\n  @Output() showPasswordResetRequest: EventEmitter<AuthInfo> = new EventEmitter<AuthInfo>(false)\n\n  prevAuthInfo: AuthInfo\n  authInfo: AuthInfo\n\n  constructor() {\n\n    this.authInfo = {\n      action: SignInActions.signIn, username: '', password: '', rememberMe: true\n    }\n  }\n\n  ngOnChanges(changes: { username: SimpleChange }) {\n    if (changes.username) {\n      this.authInfo.username = this.username\n    }\n  }\n\n  onSubmit(event) {\n  }\n\n  /**\n   * @revisit ggranum: There's a valid argument in favor of providing the validity/error state along with the change.\n   */\n  onAuthChange() {\n    const next: AuthInfo = Object.assign(this.authInfo)\n    this.authChange.emit({previous: this.prevAuthInfo, current: next})\n    this.prevAuthInfo = next\n  }\n\n  onSignInRequest(event: Event, form: NgForm) {\n    if (form.valid) {\n      if (this.preventSubmit) {\n        event.preventDefault()\n      }\n      this.signIn.emit(this.authInfo)\n    } else {\n      console.error('Shouldn\\'t be able to perform this action when the form is invalid.')\n    }\n  }\n\n  onShowForgotPasswordRequest() {\n    this.showPasswordResetRequest.next(this.authInfo)\n  }\n\n  onShowSignUpRequest() {\n    console.log('SignInComponent', 'onShowSignUpRequest')\n    this.showSignUpRequest.next(this.authInfo)\n  }\n\n}\n","<div class=\"tanj-drop-shadow\" layout=\"row\" layout-align=\"center\">\n  <div flex class=\"tanj-sign-in-panel-body\" layout=\"column\" layout-align=\"start\">\n    <div class=\"tanj-sign-in-panel-header\">\n      <h2 class=\"tanj-header-text\" i18n>Sign In</h2>\n      <div class=\"tanj-sub-header-text dialog-create-account\" i18n>Don't have an account?\n        <a href=\"javascript:void(0);\" (click)=\"onShowSignUpRequest()\">Sign up now</a>\n      </div>\n    </div>\n    <div flex class=\"tanj-sign-in-panel-content\" layout=\"column\" layout-align=\"start\">\n      <h3 class=\"tanj-sign-in-panel-lede-text\" i18n>Sign in with your email address</h3>\n      <div flex class=\"dialog-fields\" layout=\"column\" layout-align=\"start\">\n        <form (ngSubmit)=\"onSubmit($event)\"\n              (change)=\"onAuthChange()\"\n              #signInForm=\"ngForm\"\n              flex\n              layout=\"column\"\n              layout-align=\"start\">\n          <mat-form-field flex class=\"tanj-sign-in-panel-field\" dividerColor=\"accent\">\n            <input matInput [(ngModel)]=\"authInfo.username\" name=\"username\" #fUsername=\"ngModel\"\n                   class=\"username-field\"\n                   tabindex=\"0\"\n                   [type]=\"requireEmailUsername ? 'email' : 'text'\"\n                   required minlength=\"5\"\n                   i18n-placeholder\n                   placeholder=\"Enter your email address\">\n          </mat-form-field>\n          <mat-form-field flex class=\"tanj-sign-in-panel-field\" dividerColor=\"accent\">\n            <input matInput\n                   [(ngModel)]=\"authInfo.password\"\n                   name=\"password\"\n                   #fPassword=\"ngModel\"\n                   class=\"password-field\"\n                   [type]=\"'password'\"\n                   required\n                   minlength=\"8\"\n                   i18n-placeholder\n                   placeholder=\"Enter your password\"/>\n          </mat-form-field>\n          <div class=\"tanj-forgot-password-link\" i18n>\n            Forgot your password?\n            <a (click)=\"$event.stopPropagation(); $event.preventDefault(); onShowForgotPasswordRequest()\">Click here</a>\n          </div>\n\n          <mat-checkbox [(ngModel)]=\"authInfo.rememberMe\" name=\"rememberMe\" #fRememberMe=\"ngModel\"\n                       class=\"tanj-remember-me\"\n                       [checked]=\"authInfo.rememberMe\"\n                       flex i18n>Remember Me\n          </mat-checkbox>\n\n          <div flex layout=\"column\" layout-align=\"end\">\n            <div class=\"tanj-sign-in-panel-action-button\" layout=\"row\" layout-align=\"end\">\n              <a mat-raised-button flex\n                 class=\"tanj-button\"\n                 [disabled]=\"signInForm.invalid\"\n                 color=\"accent\"\n                 (click)=\"onSignInRequest($event, signInForm)\">\n                <span> <i class=\"tanj-button-text\" i18n>Sign In</i></span>\n              </a>\n            </div>\n          </div>\n        </form>\n      </div>\n    </div>\n  </div>\n</div>\n","import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  EventEmitter,\n  HostBinding,\n  Input,\n  OnInit,\n  Output,\n  ViewEncapsulation\n} from '@angular/core'\nimport {NgForm} from '@angular/forms'\nimport {Hacks} from '@tangential/core'\nimport {AuthInfo, SignInActions} from '../sign-in/sign-in.component'\n\n\n@Component({\n  selector:        'tanj-password-reset',\n  templateUrl:     './password-reset.component.html',\n  encapsulation:   ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PasswordResetComponent implements OnInit {\n\n\n  @HostBinding('attr.layout') flexLayout = 'column'\n  @HostBinding('attr.layout-align') flexLayoutAlign = 'start center'\n\n  @Input() username: string\n  @Input() requireEmailUsername: boolean\n  @Input() preventSubmit: boolean = false\n\n  @Output() forgotPasswordEmailRequest: EventEmitter<AuthInfo> = new EventEmitter<AuthInfo>(false)\n  @Output() showSignInRequest: EventEmitter<AuthInfo> = new EventEmitter<AuthInfo>(false)\n\n  constructor(private changeDetectorRef: ChangeDetectorRef) {\n  }\n\n\n  ngOnInit() {\n    Hacks.materialDesignPlaceholderText(this.changeDetectorRef)\n  }\n\n  onSubmit(event) {\n  }\n\n  onShowSignInRequest() {\n    this.showSignInRequest.next({\n      username: this.username,\n      action: SignInActions.signIn,\n    })\n  }\n\n  onForgotPasswordRequest(event: Event, form: NgForm) {\n    if (form.valid) {\n      if (this.preventSubmit) {\n        event.preventDefault()\n      }\n      this.forgotPasswordEmailRequest.emit({\n        username: this.username,\n        action:   SignInActions.forgotPassword\n      })\n    } else {\n      console.error('Shouldn\\'t be able to perform this action when the form is invalid.')\n    }\n  }\n\n}\n","<div class=\"tanj-drop-shadow\" layout=\"row\" layout-align=\"center\">\n  <div flex class=\"tanj-sign-in-panel-body\" layout=\"column\" layout-align=\"start\">\n    <div class=\"tanj-sign-in-panel-header\">\n      <h2 class=\"tanj-header-text\" i18n>Reset Password</h2>\n      <div class=\"tanj-sub-header-text dialog-create-account\" i18n>Back to the\n        <a href=\"javascript:void(0);\" (click)=\"onShowSignInRequest()\">sign in page</a>\n      </div>\n    </div>\n    <div flex class=\"tanj-sign-in-panel-content\" layout=\"column\" layout-align=\"start\">\n      <h3 class=\"tanj-sign-in-panel-lede-text\">Send password reset email to:</h3>\n      <div flex class=\"dialog-fields\" layout=\"column\" layout-align=\"start\">\n        <form (ngSubmit)=\"onSubmit($event)\"\n              #forgotPasswordForm=\"ngForm\"\n              flex\n              layout=\"column\"\n              layout-align=\"start\">\n          <mat-form-field flex class=\"tanj-sign-in-panel-field\" dividerColor=\"accent\">\n            <input matInput [(ngModel)]=\"username\" name=\"username\" #fUsername=\"ngModel\"\n                   class=\"username-field\"\n                   tabindex=\"0\"\n                   [type]=\"requireEmailUsername ? 'email' : 'text'\"\n                   required minlength=\"5\"\n                   i18n-placeholder\n                   placeholder=\"Enter your email address\">\n          </mat-form-field>\n\n\n          <div flex layout=\"column\" layout-align=\"end\">\n            <div class=\"tanj-sign-in-panel-action-button\" layout=\"row\" layout-align=\"end\">\n              <a mat-raised-button flex\n                 class=\"tanj-button\"\n                 [disabled]=\"forgotPasswordForm.invalid\"\n                 color=\"accent\"\n                 (click)=\"onForgotPasswordRequest($event, forgotPasswordForm)\">\n                <span> <i class=\"tanj-button-text\" i18n>Send Reset Link</i></span>\n              </a>\n            </div>\n          </div>\n        </form>\n      </div>\n    </div>\n  </div>\n</div>\n","import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  EventEmitter,\n  HostBinding,\n  Input,\n  Output,\n  ViewEncapsulation\n} from '@angular/core'\nimport {NgForm} from '@angular/forms'\nimport {ChangeEvent} from '@tangential/core'\nimport {AuthInfo, SignInActions} from '../sign-in/sign-in.component'\n\n@Component({\n  selector:        'tanj-sign-up',\n  templateUrl:     './sign-up.component.html',\n  encapsulation:   ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SignUpComponent {\n\n  @HostBinding('attr.layout') flexLayout = 'column';\n  @HostBinding('attr.layout-align') flexLayoutAlign = 'start center';\n\n  @Input() username: string\n  @Input() requireEmailUsername: boolean\n  @Input() preventSubmit: boolean = false\n\n  @Output() authChange: EventEmitter<ChangeEvent<AuthInfo>> = new EventEmitter<ChangeEvent<AuthInfo>>(false)\n  @Output() signUp: EventEmitter<AuthInfo> = new EventEmitter<AuthInfo>(false)\n  @Output() showSignInRequest: EventEmitter<AuthInfo> = new EventEmitter<AuthInfo>(false)\n\n  prevAuthInfo: AuthInfo\n  authInfo: AuthInfo\n\n  constructor(public changeDetectorRef: ChangeDetectorRef) {\n    this.authInfo = {\n      action:    SignInActions.signUp,\n      username:  '',\n      password:  '',\n      password2: '',\n    }\n  }\n\n  onSubmit(event) {\n  }\n\n  onShowSignInRequest() {\n    this.showSignInRequest.next(this.authInfo)\n  }\n\n\n  onAuthChange() {\n    const next: AuthInfo = Object.assign(this.authInfo)\n    this.authChange.emit({\n      previous: this.prevAuthInfo,\n      current:  next\n    })\n    this.prevAuthInfo = next\n  }\n\n  onSignUpRequest(event: Event, form: NgForm) {\n    if (form.valid) {\n      if (this.preventSubmit) {\n        event.preventDefault()\n      }\n      this.signUp.emit(this.authInfo)\n    } else {\n      console.error('Shouldn\\'t be able to perform this action when the form is invalid.')\n    }\n  }\n\n\n}\n","<div class=\"tanj-drop-shadow\" layout=\"row\" layout-align=\"center\">\n  <div flex class=\"tanj-sign-in-panel-body\" layout=\"column\" layout-align=\"start\">\n    <div class=\"tanj-sign-in-panel-header\">\n      <h2 class=\"tanj-header-text\" i18n>Sign up</h2>\n      <div class=\"tanj-sub-header-text dialog-create-account\" i18n>Already have an account?\n        <a href=\"javascript:void(0);\" (click)=\"onShowSignInRequest()\" >Log in here</a>\n      </div>\n    </div>\n    <div flex class=\"tanj-sign-in-panel-content\" layout=\"column\" layout-align=\"start\">\n      <h3 class=\"tanj-sign-in-panel-lede-text\" i18n>Create your new account</h3>\n      <div flex class=\"dialog-fields\" layout=\"column\" layout-align=\"start\">\n        <form (ngSubmit)=\"onSubmit($event)\"\n              (change)=\"onAuthChange()\"\n              #signInForm=\"ngForm\"\n              flex\n              layout=\"column\"\n              layout-align=\"start\">\n          <mat-form-field flex class=\"tanj-sign-in-panel-field\" dividerColor=\"accent\">\n            <input matInput [(ngModel)]=\"authInfo.username\" name=\"username\" #fUsername=\"ngModel\"\n                   class=\"username-field\"\n                   tabindex=\"0\"\n                   [type]=\"requireEmailUsername ? 'email' : 'text'\"\n                   required minlength=\"5\"\n                   i18n-placeholder\n                   placeholder=\"Enter your email address\">\n          </mat-form-field>\n          <mat-form-field flex class=\"tanj-sign-in-panel-field\" dividerColor=\"accent\">\n            <input matInput\n                   [(ngModel)]=\"authInfo.password\"\n                   name=\"password\"\n                   #fPassword=\"ngModel\"\n                   class=\"password-field\"\n                   [type]=\"'password'\"\n                   required\n                   minlength=\"8\"\n                   i18n-placeholder\n                   placeholder=\"Choose a password\"/>\n          </mat-form-field>\n          <mat-form-field flex class=\"tanj-sign-in-panel-field\" dividerColor=\"accent\">\n            <input matInput [(ngModel)]=\"authInfo.password2\" name=\"password2\"\n                   #fPassword2=\"ngModel\"\n                   class=\"password-field\"\n                   [type]=\"'password'\"\n                   required minlength=\"8\"\n                   i18n-placeholder\n                   placeholder=\"Verify your password\"/>\n          </mat-form-field>\n\n          <div flex layout=\"column\" layout-align=\"end\">\n            <div class=\"tanj-sign-in-panel-action-button\" layout=\"row\" layout-align=\"end\">\n              <a mat-raised-button flex\n                 class=\"tanj-button\"\n                 [disabled]=\"signInForm.invalid\"\n                 color=\"accent\"\n                 (click)=\"onSignUpRequest($event, signInForm)\">\n                <span> <i class=\"tanj-button-text\" i18n>Create!</i></span>\n              </a>\n            </div>\n          </div>\n        </form>\n      </div>\n    </div>\n  </div>\n</div>\n","import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  EventEmitter,\n  Input,\n  OnChanges,\n  Output,\n  SimpleChange,\n  ViewContainerRef,\n  ViewEncapsulation\n} from '@angular/core'\nimport {ChangeEvent} from '@tangential/core'\nimport {AuthInfo, SignInAction, SignInActions} from './sign-in/sign-in.component'\n\n\n@Component({\n  selector:        'tanj-sign-in-panel',\n  templateUrl:     './sign-in-panel.component.html',\n  encapsulation:   ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SignInPanelComponent implements OnChanges {\n\n  @Input() username: string\n  @Input() requireEmailUsername: boolean\n  @Input() displayMode: SignInAction = SignInActions.signIn\n  @Input() preventSubmit: boolean = false\n\n  @Output() authChange: EventEmitter<ChangeEvent<AuthInfo>> = new EventEmitter<ChangeEvent<AuthInfo>>(false)\n  @Output() signIn: EventEmitter<AuthInfo> = new EventEmitter<AuthInfo>(false)\n  @Output() signUp: EventEmitter<AuthInfo> = new EventEmitter<AuthInfo>(false)\n  @Output() forgotPassword: EventEmitter<AuthInfo> = new EventEmitter<AuthInfo>(false)\n\n  authInfo: AuthInfo\n\n  signInActions = SignInActions\n\n  constructor(private viewRef: ViewContainerRef, public changeDetectorRef: ChangeDetectorRef) {\n    this.authInfo = {\n      action: null, username: '', password: '', password2: '', rememberMe: true\n    }\n  }\n\n  ngOnChanges(change: { displayMode: SimpleChange, username: SimpleChange }) {\n    if (change.displayMode) {\n      this.authInfo.action = this.displayMode || SignInActions.signIn\n    }\n    if (change.username) {\n      this.authInfo.username = this.username\n    }\n    setTimeout(() => {\n      // material design placeholder issue.\n      this.changeDetectorRef.markForCheck()\n    }, 50)\n  }\n\n  onAuthChange(change: ChangeEvent<AuthInfo>) {\n    const previous = Object.assign({}, this.authInfo)\n    Object.assign(this.authInfo, change.current)\n    this.authChange.emit({current: this.authInfo, previous: previous})\n  }\n\n  setDisplayMode(mode: SignInAction) {\n    this.authInfo.action = mode\n  }\n\n}\n","<ng-container [ngSwitch]=\"authInfo.action\">\n  <tanj-sign-in *ngSwitchCase=\"signInActions.signIn\"\n              [username]=\"authInfo.username\"\n              (authChange)=\"onAuthChange($event)\"\n              (showPasswordResetRequest)=\"authInfo.action = signInActions.forgotPassword\"\n              (showSignUpRequest)=\"authInfo.action = signInActions.signUp\"></tanj-sign-in>\n  <tanj-sign-up *ngSwitchCase=\"signInActions.signUp\"\n              [username]=\"authInfo.username\"\n              (authChange)=\"onAuthChange($event)\"\n              (showSignInRequest)=\"authInfo.action = signInActions.signIn\"></tanj-sign-up>\n  <tanj-password-reset *ngSwitchCase=\"signInActions.forgotPassword\"\n                     [username]=\"authInfo.username\"\n                     (authChange)=\"onAuthChange($event)\"\n                     (showSignInRequest)=\"authInfo.action = signInActions.signIn\"></tanj-password-reset>\n  <div *ngSwitchDefault>Bad Sign-In-Action provided</div>\n</ng-container>\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  OnInit,\n  ViewEncapsulation\n} from '@angular/core'\nimport {\n  ActivatedRoute,\n  Params,\n  Router\n} from '@angular/router'\nimport {\n  AuthenticationService, AuthSubject,\n  SignInState,\n  SignInStates\n} from '@tangential/authorization-service'\nimport {Observable} from 'rxjs'\n\n@Component({\n  selector: 'tanj-sign-in-panel-page',\n  template: `\n              <div class='sign-in-page-content' layout=\"row\" layout-align=\"center start\">\n                <tanj-sign-in-panel></tanj-sign-in-panel>\n              </div>`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None\n})\nexport class SignInPanelPage implements OnInit {\n  private redirectTo: string\n\n  authSubject$: Observable<AuthSubject>\n\n  constructor(private route: ActivatedRoute, private router: Router, private authService: AuthenticationService) {\n  }\n\n\n  ngOnInit() {\n    this.authSubject$ = this.authService.authSubject$()\n\n    this.route.params.forEach((params: Params) => {\n      this.redirectTo = params['redirect']\n    });\n\n    const sub = this.authSubject$.subscribe(subject => {\n      if (subject.signInState === SignInStates.signedIn) {\n        if (sub) {\n          sub.unsubscribe()\n        }\n        this.onSignInSuccess()\n      }\n    })\n  }\n\n  onSignInSuccess() {\n    this.router.navigate([this.redirectTo || '/'])\n  }\n}\n","import {CommonModule} from '@angular/common'\nimport {NgModule} from '@angular/core'\nimport {FormsModule} from '@angular/forms'\nimport {MatButtonModule} from '@angular/material/button'\nimport {MatCardModule} from '@angular/material/card'\nimport {MatCheckboxModule} from '@angular/material/checkbox'\nimport {MatIconModule} from '@angular/material/icon'\nimport {MatInputModule} from '@angular/material/input'\n//noinspection ES6PreferShortImport\nimport {PasswordResetComponent} from './password-reset/password-reset.component'\n//noinspection ES6PreferShortImport\nimport {SignInPanelComponent} from './sign-in-panel.component'\n//noinspection ES6PreferShortImport\nimport {SignInPanelPage} from './sign-in-panel.page'\n//noinspection ES6PreferShortImport\nimport {SignInComponent} from './sign-in/sign-in.component'\n//noinspection ES6PreferShortImport\nimport {SignUpComponent} from './sign-up/sign-up.component'\n\n@NgModule({\n  imports:      [\n    CommonModule,\n    FormsModule,\n    MatButtonModule,\n    MatCheckboxModule,\n    MatCardModule,\n    MatIconModule,\n    MatInputModule\n  ],\n  declarations: [\n    SignInPanelPage,\n    SignInPanelComponent,\n    SignInComponent,\n    SignUpComponent,\n    PasswordResetComponent,\n\n  ],\n  exports:      [\n    SignInPanelComponent,\n    SignInPanelPage,\n    SignInComponent,\n    SignUpComponent,\n    PasswordResetComponent,\n  ]\n})\nexport class SignInPanelModule {\n\n}\n","import {CommonModule} from '@angular/common';\nimport {MatButtonModule} from '@angular/material/button'\nimport {MatCheckboxModule} from '@angular/material/checkbox'\nimport {MatIconModule} from '@angular/material/icon'\nimport {MatListModule} from '@angular/material/list'\nimport {MatToolbarModule} from '@angular/material/toolbar'\nimport {RouterModule} from '@angular/router';\n\nimport {NgModule} from '@angular/core';\n//noinspection ES6PreferShortImport\nimport {DataListComponent, DataListExpander} from './data-list';\n//noinspection ES6PreferShortImport\nimport {IconComponent} from './icon';\n//noinspection ES6PreferShortImport\nimport {PaginationBarComponent} from './pagination-bar';\n//noinspection ES6PreferShortImport\nimport {PageBodyComponent} from './page-body';\n// noinspection ES6PreferShortImport\nimport {BottomNavComponent} from './bottom-nav';\n// noinspection ES6PreferShortImport\nimport {NavButtonComponent} from './bottom-nav';\n// noinspection ES6PreferShortImport\nimport {AppBarComponent} from './app-bar';\n// noinspection ES6PreferShortImport\nimport {NotificationBarComponent} from './notification-bar';\n// noinspection ES6PreferShortImport\nimport {Accordion, AccordionItem} from './accordion';\n// noinspection ES6PreferShortImport\nimport {SideNavComponent} from './side-nav';\n// noinspection ES6PreferShortImport\nimport {SideNavMenuComponent} from './side-nav-menu';\n\n\n@NgModule({\n  imports:         [\n    CommonModule,\n    RouterModule,\n    MatButtonModule,\n    MatCheckboxModule,\n    MatIconModule,\n    MatToolbarModule,\n    MatListModule,\n  ],\n  declarations:    [\n    Accordion,\n    AccordionItem,\n    AppBarComponent,\n    BottomNavComponent,\n    DataListComponent,\n    DataListExpander,\n    IconComponent,\n    NavButtonComponent,\n    NotificationBarComponent,\n    PaginationBarComponent,\n    PageBodyComponent,\n    SideNavComponent,\n    SideNavMenuComponent,\n  ],\n  exports:         [\n    Accordion,\n    AccordionItem,\n    AppBarComponent,\n    BottomNavComponent,\n    DataListComponent,\n    DataListExpander,\n    IconComponent,\n    NavButtonComponent,\n    NotificationBarComponent,\n    PaginationBarComponent,\n    PageBodyComponent,\n    SideNavComponent,\n    SideNavMenuComponent,\n  ],\n  entryComponents: []\n})\nexport class TanjComponentsModule {\n\n}\n","/*\n * Public API Surface of components\n */\n\nexport * from './lib/index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","i3","i4","i5.IconComponent","i2.IconComponent","filter","i1.IconComponent","i4.IconComponent","i5","i2.SignInComponent","i3.SignUpComponent","i4.PasswordResetComponent","i3.SignInPanelComponent"],"mappings":"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"}