@flywheel-io/vision 0.9.2 → 0.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"flywheel-io-vision.mjs","sources":["../../../src/components/icon/icon.component.ts","../../../src/components/avatar/avatar.component.ts","../../../src/components/avatar/avatar.component.html","../../../src/components/icon/icon.module.ts","../../../src/components/avatar/avatar.module.ts","../../../src/components/button-group/button-group.component.ts","../../../src/components/button-group/button-group.module.ts","../../../src/components/button/button.component.ts","../../../src/components/button/button.component.html","../../../src/components/button/button.module.ts","../../../src/components/dialog/choice-dialog.component.ts","../../../src/components/shared/translation.service.ts","../../../src/components/shared/pipes/translate.pipe.ts","../../../src/components/shared/pipes/trusthtml.pipe.ts","../../../src/components/dialog/confirm-dialog.component.ts","../../../src/components/dialog/dialog.service.ts","../../../src/components/dialog/error-dialog.component.ts","../../../src/components/dialog/portal-dialog.component.ts","../../../src/components/shared/pipes/pipes.module.ts","../../../src/components/dialog/dialog.module.ts","../../../src/components/notification/notification.service.ts","../../../src/components/notification/notification-timer.service.ts","../../../src/components/notification/notification/notification.model.ts","../../../src/components/notification/notification/notification.component.ts","../../../src/components/notification/notification-container/notification-container.component.ts","../../../src/components/notification/notification-container/notification-container.component.html","../../../src/components/notification/notification.module.ts","../../../src/components/popover/popover-trigger.directive.ts","../../../src/components/popover/popover-trigger.component.ts","../../../src/components/popover/popover.component.ts","../../../src/components/popover/popover.module.ts","../../../src/components/table/table.component.ts","../../../src/components/table/table.component.html","../../../src/components/table/table.module.ts","../../../src/components/section-heading/back-button/back-button.component.ts","../../../src/components/section-heading/back-button/back-button.component.html","../../../src/components/section-heading/section-heading.component.ts","../../../src/components/section-heading/section-heading.component.html","../../../src/components/section-heading/section-heading.module.ts","../../../src/flywheel-io-vision.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n host: {\n 'role': 'img',\n 'class': 'vision-icon', // apply icon font to glyph content\n },\n selector: 'fw-icon',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FwIconComponent {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n host: {\n '[class.small]': 'size === \"small\"',\n '[class.medium]': 'size === \"medium\"',\n '[class.large]': 'size === \"large\"',\n '[class.rounded]': 'variant === \"rounded\"',\n '[class.circular]': 'variant === \"circular\"',\n '[class.initial]': 'content === \"initial\"',\n },\n selector: 'fw-avatar',\n styleUrls: ['./avatar.component.scss'],\n templateUrl: './avatar.component.html',\n})\nexport class FwAvatarComponent {\n @Input() color?: 'primary' | 'secondary' | 'red' | 'light-slate' | 'slate' | 'warning' | 'success' = 'primary';\n @Input() variant?: 'circular' | 'rounded' | 'square' = 'circular';\n @Input() content?: 'image' | 'icon' | 'initial' = 'icon';\n @Input() size?: 'small' | 'medium' | 'large' = 'small';\n @Input() initial?: string = '';\n @Input() imageUrl?: string = '';\n @Input() imageAltText?: string = '';\n @Input() icon?: string = 'user';\n\n isImageBroken: boolean = false;\n\n loadImage(): void {\n this.isImageBroken = false;\n }\n\n errorImage(): void {\n this.isImageBroken = true;\n }\n}","<ng-container [ngSwitch]=\"content\">\n <div *ngSwitchCase=\"'image'\" [ngClass]=\"['avatar', 'avatar-' + color]\">\n <img *ngIf=\"!isImageBroken else displayInitial\" [src]=\"imageUrl\" [alt]=\"imageAltText\" (load)=\"loadImage()\"\n (error)=\"errorImage()\">\n </div>\n <div *ngSwitchCase=\"'icon'\" [ngClass]=\"['avatar', 'avatar-' +color]\">\n <ng-container *ngTemplateOutlet=\"displayIcon\"></ng-container>\n </div>\n <div *ngSwitchCase=\"'initial'\" [ngClass]=\"['avatar','avatar-' + color]\">\n <ng-container *ngTemplateOutlet=\"displayInitial\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #displayInitial>\n <span class=\"initial\" *ngIf=\"initial else displayIcon\">{{ initial }}</span>\n</ng-template>\n\n<ng-template #displayIcon>\n <fw-icon>{{ icon }}</fw-icon>\n</ng-template>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconComponent } from './icon.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n FwIconComponent,\n ],\n declarations: [\n FwIconComponent,\n ],\n})\nexport class FwIconModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwAvatarComponent } from './avatar.component';\nimport { FwIconModule } from '../icon/icon.module';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule\n ],\n exports: [\n FwAvatarComponent,\n ],\n declarations: [\n FwAvatarComponent,\n ]\n})\nexport class FwAvatarModule { }\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n host: {\n 'class': 'fw-button-group',\n '[class.small]': 'size === \"small\"',\n '[class.medium]': 'size === \"medium\"',\n '[class.large]': 'size === \"large\"',\n '[class.compact]': 'layout === \"compact\"',\n },\n selector: 'fw-button-group',\n styleUrls: [ './button-group.component.scss' ],\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwButtonGroupComponent {\n @Input() layout?: 'basic' | 'compact' = 'basic'\n @Input() size?: 'small' | 'medium' | 'large' = 'medium'\n}\n","import { NgModule } from '@angular/core';\n\nimport { FwButtonGroupComponent } from './button-group.component';\n\n@NgModule({\n exports: [\n FwButtonGroupComponent,\n ],\n declarations: [\n FwButtonGroupComponent,\n ]\n})\nexport class FwButtonGroupModule {}","import { Component, Input } from '@angular/core';\n\n@Component({\n host: {\n 'class': 'button[fw-button]',\n '[class.small]': 'size === \"small\"',\n '[class.medium]': 'size === \"medium\"',\n '[class.large]': 'size === \"large\"',\n '[class.compact]': 'layout === \"compact\"',\n },\n selector: 'fw-button',\n styleUrls: ['./button.component.scss'],\n templateUrl: './button.component.html',\n})\nexport class FwButtonComponent {\n @Input() color?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success' = 'primary';\n @Input() size?: 'small' | 'medium' | 'large' = 'medium'\n @Input() type?: 'ghost' | 'solid' | 'outline' = 'solid'\n @Input() disabled?: boolean = false\n @Input() leftIcon?: string = ''\n @Input() rightIcon?: string = ''\n}\n","<button [class]=\"[color + '-' + type, size]\" [disabled]=\"disabled\">\n <fw-icon *ngIf=\"!!leftIcon\">{{leftIcon}}</fw-icon>\n <ng-content></ng-content>\n <fw-icon *ngIf=\"!!rightIcon\">{{rightIcon}}</fw-icon>\n</button>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { FwIconModule } from '../icon/icon.module';\n\nimport { FwButtonComponent } from './button.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatButtonModule,\n FwIconModule\n ],\n exports: [\n FwButtonComponent,\n ],\n declarations: [\n FwButtonComponent,\n ]\n})\nexport class FwButtonModule {}\n","import { Component, Inject } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\n\ninterface Choice {\n color?: ThemePalette\n label: string\n testId?: string\n value: any\n variant?: 'raised' | 'stroked' | 'flat'\n}\n\nexport interface FwChoiceDialogData {\n alignActions?: 'start' | 'center' | 'end'\n choices: Choice[]\n closeValue?: any\n content: string\n title?: string\n}\n\n@Component({\n host: {\n class: 'mat-dialog-component',\n 'test-id': 'choice-dialog',\n },\n selector: 'fw-choice-dialog',\n template: `\n <h1 mat-dialog-title *ngIf=\"title\">{{ title }}</h1>\n <button *ngIf=\"showCloseButton\" test-id=\"dialog-close-corner\" mat-icon-button\n [mat-dialog-close]=\"closeValue\" [class]=\"{'mat-dialog-close-button': true, 'no-title': !title}\">\n <mat-icon>close</mat-icon>\n </button>\n <div mat-dialog-content>{{ content }}</div>\n <div mat-dialog-actions [align]=\"alignActions\">\n <ng-container *ngFor=\"let choice of choices\" [ngSwitch]=\"choice.variant\">\n <button *ngSwitchCase=\"'raised'\" mat-raised-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <button *ngSwitchCase=\"'stroked'\" mat-stroked-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <button *ngSwitchCase=\"'flat'\" mat-flat-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <ng-container *ngSwitchDefault>\n <button *ngIf=\"choice.color\" mat-flat-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <button *ngIf=\"!choice.color\" mat-stroked-button [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n </ng-container>\n </ng-container>\n </div>\n `,\n})\nexport class FwChoiceDialog {\n readonly alignActions = this.data.alignActions\n ? this.data.alignActions === 'start'\n ? null\n : this.data.alignActions\n : 'center'\n readonly choices = this.data.choices\n readonly closeValue = this.data.closeValue\n readonly content = this.data.content\n readonly title = this.data.title\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private data: FwChoiceDialogData,\n ) {}\n\n get showCloseButton(): boolean {\n return 'closeValue' in this.data;\n }\n\n getTestId(choice): string {\n return choice.testId || `${String(choice.label ?? choice.value).toLowerCase()}-button`;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of } from 'rxjs';\nimport { Observable } from 'rxjs';\n\nexport abstract class TranslationService {\n abstract getMessage(key: string, silent?: boolean): Observable<string>\n}\n\n/**\n * Very basic i18n implementation. Consumer apps can provide their own implementation of TranslationService to override.\n */\n @Injectable()\n export class MinimalTranslationService implements TranslationService {\n private static messages = {\n 'common.actions.close': 'Close',\n 'confirmDialog.body': 'Are you sure?',\n 'confirmDialog.no': 'No',\n 'confirmDialog.yes': 'Yes',\n }\n\n getMessage(key: string, silent?: boolean): Observable<string> {\n return of(MinimalTranslationService.messages[key]);\n }\n }\n","import { ChangeDetectorRef, OnDestroy } from '@angular/core';\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { TranslationService } from '../translation.service';\n\n/**\n * Translate a message given a nested key to a location in the loaded locale copy.\n */\n @Pipe({\n name: 'translate',\n pure: false,\n})\nexport class TranslatePipe implements PipeTransform, OnDestroy {\n private subscriptions: { [key: string]: Subscription } = {}\n private messages: { [key: string]: string } = {}\n\n constructor(\n private cdr: ChangeDetectorRef,\n private translationService: TranslationService,\n ) {}\n\n ngOnDestroy(): void {\n for (const subscription of Object.values(this.subscriptions)) {\n subscription.unsubscribe();\n }\n }\n\n transform(key: string, silent = false): string {\n if (!(key in this.subscriptions)) {\n this.subscriptions[key] = this.translationService.getMessage(key, silent).subscribe(message => {\n this.messages[key] = message;\n // trigger change detection to support components with ChangeDetectionStrategy.OnPush\n this.cdr.markForCheck();\n });\n }\n return this.messages[key] || '';\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'trusthtml',\n pure: true,\n})\nexport class TrustHtmlPipe implements PipeTransform {\n constructor (private sanitizer: DomSanitizer) { }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\n\nexport interface FwConfirmDialogData {\n title?: string,\n content?: string,\n html?: string,\n}\n\n@Component({\n host: {\n class: 'mat-dialog-component',\n 'test-id': 'confirm-dialog',\n },\n selector: 'fw-confirm-dialog',\n template: `\n <h1 mat-dialog-title *ngIf=\"title\">{{ title }}</h1>\n <div mat-dialog-content *ngIf=\"html\" class=\"markup\" [innerHTML]=\"html | trusthtml\"></div>\n <div mat-dialog-content *ngIf=\"!html\">{{ content || ('confirmDialog.body' | translate ) }}</div>\n <div mat-dialog-actions align=\"center\">\n <button test-id=\"no-button\" mat-stroked-button [mat-dialog-close]=\"false\">{{ 'confirmDialog.no' | translate }}</button>\n <button test-id=\"yes-button\" mat-flat-button color=\"primary\" [mat-dialog-close]=\"true\">{{ 'confirmDialog.yes' | translate }}</button>\n </div>\n `,\n styles: [`\n [mat-dialog-content] {\n text-align: center;\n }\n [mat-dialog-content].markup {\n text-align: inherit;\n }\n `],\n})\nexport class FwConfirmDialog {\n title = this.data.title\n content = this.data.content\n html = this.data.html\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private data: FwConfirmDialogData,\n ) {}\n}\n","\nimport { Injectable, Type } from '@angular/core';\nimport {\n MatDialog,\n MatDialogConfig,\n MatDialogRef,\n} from '@angular/material/dialog';\n\n/*\n* type StackingStrategy\n* allow - will allow multiple instances of the same dialog to display at once\n* replace - will close existing dialogs of the same type and open a new one\n* ignore - will keep a dialog of the same type open\n*/\nexport type StackingStrategy = 'allow' | 'replace' | 'ignore'\nexport interface DialogConfig<T> extends MatDialogConfig<T> {\n multi: StackingStrategy\n}\nexport interface OpenDialog<T> {\n component: Type<T>\n ref: MatDialogRef<T>\n}\n\n@Injectable()\nexport class FwDialogService {\n readonly dialogs: OpenDialog<any>[] = [];\n\n private config = new Map<Type<unknown>, DialogConfig<unknown>>();\n\n constructor(\n private matDialog: MatDialog,\n ) {}\n\n closeAll(component?: Type<unknown>): void {\n if (component) {\n this.dialogs\n .filter((el) => el.component === component)\n .forEach((el) => el.ref.close());\n } else {\n this.matDialog.closeAll();\n }\n }\n\n open<T, D, R>(component: Type<T>, config?: MatDialogConfig<D>): MatDialogRef<T, R> {\n const index = this.dialogs.findIndex(el => el.component === component);\n let ref: MatDialogRef<T, R> = null;\n const baseConfig = {\n multi: 'allow',\n ...this.config.get(component),\n };\n\n switch (baseConfig.multi) {\n case 'ignore':\n // if an existing dialog of the same type doesn't exist, open one\n if (index === -1) {\n ref = this.matDialog.open(component, { ...baseConfig, ...config });\n this.dialogs.push({ component, ref });\n }\n break;\n case 'replace':\n // if an existing dialog of the same type exists, replace it.\n if (index > -1) {\n this.dialogs[index].ref.close();\n ref = this.matDialog.open(component, { ...baseConfig, ...config });\n this.dialogs.splice(index, 1, { component, ref });\n } else {\n ref = this.matDialog.open(component, { ...baseConfig, ...config });\n this.dialogs.push({ component, ref });\n }\n break;\n default:\n ref = this.matDialog.open(component, { ...baseConfig, ...config });\n this.dialogs.push({ component, ref });\n break;\n }\n\n if (ref) {\n ref.afterClosed().subscribe(() => {\n // clean up open dialog reference\n const index = this.dialogs.findIndex(el => el.ref === ref);\n if (index >= 0) {\n this.dialogs.splice(index, 1);\n }\n });\n }\n\n return ref;\n }\n\n registerDialog(component: Type<unknown>, config: DialogConfig<unknown>): void {\n this.config.set(component, config);\n }\n}\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\nexport interface FwErrorDialogData {\n message: string\n}\n\n@Component({\n host: {\n class: 'mat-dialog-component',\n 'test-id': 'error-dialog',\n },\n selector: 'fw-error-dialog',\n template: `\n <div mat-dialog-content>{{ message }}</div>\n <div mat-dialog-actions align=\"end\">\n <button test-id=\"close-button\" mat-stroked-button mat-dialog-close>\n {{ 'common.actions.close' | translate }}\n </button>\n </div>\n `,\n})\nexport class FwErrorDialog {\n public message = this.data.message\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private data: FwErrorDialogData,\n private ref: MatDialogRef<FwErrorDialog>,\n ) {\n this.ref.disableClose = false;\n }\n}\n","import { CdkPortalOutletAttachedRef, ComponentPortal, ComponentType, Portal, TemplatePortal } from '@angular/cdk/portal';\nimport { Component, ComponentRef, EventEmitter, Inject, OnDestroy, SimpleChange, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\ninterface ComponentSpec {\n type: ComponentType<unknown>,\n inputs?: Record<string, unknown>\n outputs?: Record<string, (value: unknown) => void>\n}\n\nexport interface FwPortalDialogData {\n component?: ComponentSpec\n content?: string\n template?: TemplateRef<unknown>\n title?: string\n}\n\n@Component({\n host: {\n class: 'mat-dialog-component',\n 'test-id': 'portal-dialog',\n },\n selector: 'fw-portal-dialog',\n template: `\n <ng-container *ngIf=\"title\">\n <h1 mat-dialog-title>{{ title }}</h1>\n <button test-id=\"dialog-close-corner\" mat-icon-button mat-dialog-close>\n <mat-icon>close</mat-icon>\n </button>\n </ng-container>\n <mat-dialog-content>\n <p *ngIf=\"content\" class=\"content\">{{ content }}</p>\n <ng-template [cdkPortalOutlet]=\"portal\" (attached)=\"attached($event)\"></ng-template>\n </mat-dialog-content>\n <mat-dialog-actions align=\"end\">\n <button test-id=\"dialog-close-button\" mat-stroked-button mat-dialog-close>\n {{ 'common.actions.close' | translate }}\n </button>\n </mat-dialog-actions>\n `,\n styles: [`\n :host {\n min-width: 200px;\n }\n .content {\n margin-bottom: 30px;\n }\n `],\n})\nexport class FwPortalDialog implements OnDestroy {\n content = this.data.content\n portal: Portal<any>\n title = this.data.title\n\n private destroyed$ = new Subject()\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private data: FwPortalDialogData,\n private viewContainerRef: ViewContainerRef,\n ) {\n if (this.data.component) {\n this.portal = new ComponentPortal(this.data.component.type, this.viewContainerRef);\n } else if (this.data.template) {\n this.portal = new TemplatePortal(this.data.template, this.viewContainerRef);\n } else {\n throw new Error('One of [component, template] was not provided.');\n }\n }\n\n ngOnDestroy(): void {\n this.destroyed$.next(undefined);\n }\n\n attached(ref: CdkPortalOutletAttachedRef): void {\n if (this.data.component) {\n ref = ref as ComponentRef<any>;\n if (this.data.component.outputs) {\n for (const [key, observer] of Object.entries(this.data.component.outputs)) {\n const output$: EventEmitter<unknown> = ref[key];\n if (typeof output$?.pipe === 'function' && typeof output$.subscribe === 'function') {\n output$.pipe(takeUntil(this.destroyed$)).subscribe(observer);\n }\n }\n }\n if (this.data.component.inputs) {\n const changes: SimpleChanges = {};\n for (const [key, value] of Object.entries(this.data.component.inputs)) {\n ref.instance[key] = value;\n changes[key] = new SimpleChange(value, value, true);\n }\n ref.instance.ngOnChanges?.(changes);\n ref.changeDetectorRef.markForCheck();\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { TranslatePipe } from './translate.pipe';\nimport { TranslationService, MinimalTranslationService } from '../translation.service';\nimport { TrustHtmlPipe } from './trusthtml.pipe';\n\nconst exports = [\n TranslatePipe,\n TrustHtmlPipe,\n];\n\n@NgModule({\n declarations: exports,\n exports: exports,\n providers: [\n {\n provide: TranslationService,\n useClass: MinimalTranslationService,\n },\n ],\n})\nexport class PipesModule {}\n\nexport { TranslationService }\n","import { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { FwChoiceDialog } from './choice-dialog.component';\nimport { FwConfirmDialog } from './confirm-dialog.component';\nimport { FwDialogService } from './dialog.service';\nimport { FwErrorDialog } from './error-dialog.component';\nimport { FwPortalDialog } from './portal-dialog.component';\nimport { PipesModule } from '../shared/pipes/pipes.module';\n\n@NgModule({\n declarations: [\n FwChoiceDialog,\n FwConfirmDialog,\n FwErrorDialog,\n FwPortalDialog,\n ],\n imports: [\n CommonModule,\n MatButtonModule,\n MatDialogModule,\n MatIconModule,\n PipesModule,\n PortalModule,\n ],\n providers: [\n FwDialogService,\n {\n provide: MAT_DIALOG_DEFAULT_OPTIONS,\n useValue: {\n disableClose: true,\n hasBackdrop: true,\n }\n }\n ],\n})\nexport class FwDialogModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { Notification } from './notification/notification.model';\n\nexport function genId(): string {\n return String.prototype.padStart(24, Math.floor(Math.random() * Date.now()).toString(16));\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FwNotificationService {\n readonly notifications$ = new BehaviorSubject<Notification[]>([]);\n private notificationQueue: Notification[] = [];\n\n show(notification: Notification): void {\n if (!notification.id) {\n notification.id = genId();\n }\n\n this.notificationQueue.push(notification);\n this.notifications$.next(this.notificationQueue);\n }\n\n dismiss(notificationId: string): void {\n this.notificationQueue = this.notificationQueue.filter((v) => v.id !== notificationId);\n this.notifications$.next(this.notificationQueue);\n }\n\n dismissAll(): void {\n this.notificationQueue = [];\n this.notifications$.next(this.notificationQueue);\n }\n}\n\n","export class FwNotificationTimerService {\n private timerId: number;\n private now = 0;\n private remainingDuration = 0;\n private resolver: () => void;\n\n start(duration: number): Promise<void> {\n return new Promise<void>((resolve) => {\n this.remainingDuration = duration;\n this.resolver = resolve;\n this.continue();\n });\n }\n\n stop(): void {\n clearTimeout(this.timerId);\n this.remainingDuration = 0;\n }\n\n pause(): void {\n clearTimeout(this.timerId);\n this.remainingDuration =\n this.remainingDuration - new Date().getTime() - this.now;\n }\n\n continue(): void {\n this.now = new Date().getTime();\n this.timerId = window.setTimeout(() => {\n this.resolver();\n }, this.remainingDuration);\n }\n}\n","import { FwNotificationComponent } from './notification.component';\n\nexport enum FwNotificationType {\n Error = 'error',\n Info = 'info',\n Success = 'success',\n Wait = 'wait',\n Warning = 'warning',\n}\n\nexport interface Notification {\n id?: string\n message: string\n type: FwNotificationType\n ref?: FwNotificationComponent\n}","import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';\n\nimport { FwNotificationTimerService } from '../notification-timer.service';\nimport { FwNotificationType, Notification } from './notification.model';\n\n@Component({\n host: {\n '(click)': 'onClickDismiss()'\n },\n selector: 'fw-notification',\n styleUrls: [ './notification.component.scss' ],\n template: `{{ notification?.message }}`,\n providers: [FwNotificationTimerService],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class FwNotificationComponent implements AfterViewInit {\n @Input() notification: Notification\n @Input() notificationDuration: number = 9000;\n @Output() ready = new EventEmitter<FwNotificationComponent>()\n @Output() dismiss = new EventEmitter<string>()\n\n @HostBinding('class') get cssClass() {\n let cssClass = 'fw-notification';\n switch (this.notification?.type) {\n case FwNotificationType.Error:\n return cssClass += ' error';\n case FwNotificationType.Info:\n return cssClass += ' info';\n case FwNotificationType.Success:\n return cssClass += ' success';\n case FwNotificationType.Wait:\n return cssClass += ' wait';\n case FwNotificationType.Warning:\n return cssClass += ' warning';\n default:\n return cssClass;\n }\n }\n\n constructor(private cdr: ChangeDetectorRef, private timerService: FwNotificationTimerService) {}\n\n ngAfterViewInit(): void {\n this.ready.emit(this);\n this.cdr.markForCheck();\n }\n\n startTimer(): void {\n this.timerService.start(this.notificationDuration).then(() => {\n this.onClickDismiss();\n this.cdr.markForCheck();\n });\n }\n\n stopTimer(): void {\n this.timerService.stop();\n this.cdr.markForCheck();\n }\n\n onClickDismiss(): void {\n this.dismiss.emit(this.notification.id);\n this.cdr.markForCheck();\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, ViewEncapsulation } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { FwNotificationService } from '../notification.service';\nimport { FwNotificationComponent } from '../notification/notification.component';\nimport { Notification } from '../notification/notification.model';\n\n@Component({\n host: {\n 'class': 'fw-notification-container',\n '[class.duo]': 'notifications.length === 2',\n '[class.triple]': 'notifications.length >= 3',\n },\n selector: 'fw-notification-container',\n templateUrl: './notification-container.component.html',\n styleUrls: ['./notification-container.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FwNotificationContainerComponent implements OnDestroy {\n limit = 3\n notifications: Notification[] = []\n expanded = false\n\n private subscriptions = {\n notifications: Subscription.EMPTY,\n }\n\n constructor(private cdr: ChangeDetectorRef, private notificationService: FwNotificationService) {\n this.subscriptions.notifications = this.notificationService.notifications$.subscribe((notifications: Notification[]) => {\n this.notifications = notifications;\n if (notifications.length === 0) {\n this.expanded = false;\n }\n this.cdr.markForCheck();\n });\n }\n\n ngOnDestroy(): void {\n for (const subscription of Object.values(this.subscriptions)) {\n subscription.unsubscribe();\n }\n }\n\n notificationClass(index: number): string {\n let cssClass: string;\n const level = this.notifications.length > this.limit\n ? index - (this.notifications.length - this.limit)\n : index;\n\n if (this.expanded) {\n cssClass = 'default';\n } else {\n cssClass = level >= 0 ? `level-${level}` : 'hidden';\n }\n\n return cssClass;\n }\n\n getEmptyNotification(notification: Notification): Notification {\n return { ...notification, message: ' ' }; // take up a line but show no content\n }\n\n onReady(notification: FwNotificationComponent): void {\n const currentNotification = this.notifications[this.notifications.length - 1];\n currentNotification.ref = notification;\n notification.startTimer();\n }\n\n onDismiss(notificationId: string): void {\n const notification = this.notifications.find(currentNotification => currentNotification.id === notificationId);\n if (notification?.ref) {\n notification.ref.stopTimer();\n }\n if (notification?.id) {\n this.notificationService.dismiss(notification.id);\n }\n this.cdr.markForCheck();\n }\n\n clearAll(): void {\n this.notificationService.dismissAll();\n this.cdr.markForCheck();\n }\n\n onShowMore(): void {\n this.expanded = true;\n this.cdr.markForCheck();\n }\n\n onShowLess(): void {\n this.expanded = false;\n this.cdr.markForCheck();\n }\n}\n","<div role=\"list\">\n <fw-notification *ngFor=\"let notification of notifications; index as $index\"\n (ready)=\"onReady($event)\"\n (dismiss)=\"onDismiss($event)\"\n [class]=\"notificationClass($index)\"\n [notification]=\"expanded || $index === notifications.length - 1 ? notification : getEmptyNotification(notification)\"\n [attr.aria-label]=\"notification.type + ' : ' + notification.message\"\n role=\"listitem\"\n ></fw-notification>\n <div class=\"buttons\">\n <fw-button *ngIf=\"expanded\" (click)=\"onShowLess()\" mat-button aria-label=\"show less\" layout=\"compact\" size=\"small\">\n <mat-icon>expand_less</mat-icon>\n </fw-button>\n <fw-button *ngIf=\"!expanded && notifications.length > 1\" (click)=\"onShowMore()\" mat-button aria-label=\"show more\" layout=\"compact\" size=\"small\">\n <mat-icon>expand_more</mat-icon>\n </fw-button>\n <fw-button (click)=\"clearAll()\" mat-button class=\"clear-all\" aria-label=\"clear all\" layout=\"compact\" size=\"small\">\n Clear All\n </fw-button>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { FwButtonGroupModule } from '../button-group/button-group.module';\nimport { FwButtonModule } from '../button/button.module';\nimport { FwNotificationContainerComponent } from './notification-container/notification-container.component';\nimport { FwNotificationService } from './notification.service';\nimport { FwNotificationComponent } from './notification/notification.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwButtonModule,\n FwButtonGroupModule,\n MatButtonModule,\n MatIconModule,\n ],\n exports: [\n FwNotificationComponent,\n FwNotificationContainerComponent\n ],\n declarations: [\n FwNotificationComponent,\n FwNotificationContainerComponent,\n ],\n providers: [\n FwNotificationService,\n ]\n})\nexport class FwNotificationModule {}","import { ConnectedOverlayPositionChange, ConnectedPosition, FlexibleConnectedPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Directive, ElementRef, Input, OnChanges, OnDestroy, SimpleChanges, ViewContainerRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { FwPopoverComponent } from './popover.component';\n\nexport type FwPopoverPosition = 'left' | 'right' | 'above' | 'below' | 'before' | 'after';\n\n@Directive({\n host: {\n 'class': 'fw-popover-trigger',\n '(mouseenter)': 'showPopover()',\n '(mouseleave)': 'hidePopover($event)',\n },\n selector: '[fwPopoverTriggerFor]',\n exportAs: 'fwPopoverTrigger',\n})\nexport class FwPopoverTriggerDirective implements OnChanges, OnDestroy {\n public popoverId: string\n private popoverMargin = 15\n private fallbackPosition: FwPopoverPosition\n private mainPosition: FwPopoverPosition\n private overlayRef: OverlayRef\n private positionMap: { [key: string]: ConnectedPosition } = {\n 'left': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },\n 'right': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },\n 'above': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom' },\n 'below': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top' },\n }\n\n @Input('fwPopoverTriggerFor') popover: FwPopoverComponent\n @Input('fwPopoverPosition') position: FwPopoverPosition = 'below'\n\n private subscriptions = {\n positionChanges: Subscription.EMPTY,\n };\n\n constructor(\n public element: ElementRef,\n public overlay: Overlay,\n public viewContainerRef: ViewContainerRef,\n ) { }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.position && this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n }\n\n ngOnDestroy(): void {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n for (const subscription of Object.values(this.subscriptions)) {\n subscription.unsubscribe();\n }\n }\n\n showPopover(): void {\n if (this.popover?.templateRef) {\n this.getOverlay().attach(new TemplatePortal(this.popover.templateRef, this.viewContainerRef));\n }\n }\n\n hidePopover(e: MouseEvent): void {\n if (!(e.relatedTarget as HTMLElement)?.classList.contains('fw-popover-panel')) {\n this.getOverlay().detach();\n }\n }\n\n private setPopoverCaretPosition(position: FwPopoverPosition): void {\n const caret = this.overlayRef.overlayElement.querySelector('.fw-popover-caret') as HTMLElement;\n const caretRect = this.overlayRef.overlayElement.getBoundingClientRect();\n const triggerRect = this.element.nativeElement.getBoundingClientRect();\n (this.overlayRef.overlayElement.querySelector('.fw-popover-content-wrapper') as HTMLElement).style.margin = `${this.popoverMargin}px`;\n if (['left', 'right', 'before', 'after'].includes(position)) {\n caret.style.top = `${triggerRect.top - caretRect.top - this.popoverMargin + (triggerRect.height / 2)}px`;\n } else {\n caret.style.left = `${triggerRect.left - caretRect.left - this.popoverMargin + (triggerRect.width / 2)}px`;\n }\n }\n\n private setPopoverPosition(positionChange: ConnectedOverlayPositionChange): void {\n const position = this.positionMap[this.mainPosition] === positionChange.connectionPair\n ? this.mainPosition\n : this.positionMap[this.fallbackPosition] === positionChange.connectionPair\n ? this.fallbackPosition\n : this.mainPosition;\n this.overlayRef.removePanelClass(['fw-popover-above', 'fw-popover-below', 'fw-popover-left', 'fw-popover-right']);\n this.overlayRef.addPanelClass(`fw-popover-${position}`);\n this.setPopoverCaretPosition(position);\n }\n\n public getOverlay(): OverlayRef {\n if (!this.overlayRef) {\n this.overlayRef = this.overlay.create({\n positionStrategy: this.overlay.position()\n .flexibleConnectedTo(this.element)\n .withPositions(this.getPositions()),\n panelClass: 'fw-popover-panel',\n });\n this.overlayRef.overlayElement.addEventListener('mouseleave', e => this.hidePopover(e));\n this.subscriptions.positionChanges = (this.overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy).positionChanges\n .subscribe(positionChange => this.setPopoverPosition(positionChange));\n }\n return this.overlayRef;\n }\n\n private getMainPosition(): FwPopoverPosition {\n return this.mainPosition =\n ['left', 'before'].includes(this.position)\n ? 'left'\n : ['right', 'after'].includes(this.position)\n ? 'right'\n : this.position === 'above'\n ? 'above'\n : 'below';\n }\n\n private getFallbackPosition(): FwPopoverPosition {\n return this.fallbackPosition =\n ['left', 'before'].includes(this.position)\n ? 'right'\n : ['right', 'after'].includes(this.position)\n ? 'left'\n : this.position === 'above'\n ? 'below'\n : 'above';\n }\n\n private getPositions(): ConnectedPosition[] {\n return [\n // main position\n this.positionMap[this.getMainPosition()],\n // fallback position (inverse of main)\n this.positionMap[this.getFallbackPosition()],\n ];\n }\n}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { ElementRef, Input, ViewContainerRef } from '@angular/core';\n\nimport { FwPopoverPosition, FwPopoverTriggerDirective } from './popover-trigger.directive';\n\n@Component({\n host: {\n 'class': 'fw-popover-trigger',\n '(mouseenter)': 'showPopover()',\n '(mouseleave)': 'hidePopover($event)',\n },\n selector: 'fw-popover-trigger',\n template: `<ng-content></ng-content>\n <!-- for web component support -->\n <ng-template>\n <div [innerHTML]=\"popoverHTML\"></div>\n </ng-template>`,\n})\nexport class FwPopoverTriggerComponent extends FwPopoverTriggerDirective {\n @Input('trigger-for') popoverId: string\n @Input('position') position: FwPopoverPosition = 'below'\n\n // for web component support\n @ViewChild(TemplateRef) popoverTemplateRef: TemplateRef<any> // eslint-disable-line @typescript-eslint/no-explicit-any\n popoverHTML: string\n\n constructor(\n public element: ElementRef,\n public overlay: Overlay,\n public viewContainerRef: ViewContainerRef,\n ) {\n super(element, overlay, viewContainerRef);\n }\n\n showPopover(): void {\n const overlay = this.getOverlay();\n overlay.detach();\n if (this.popoverId) {\n // as a web component it is not possible to have a reference to this.popover\n this.popoverHTML = document.querySelector(`fw-popover#${this.popoverId}`).innerHTML;\n overlay.attach(new TemplatePortal(this.popoverTemplateRef, this.viewContainerRef));\n }\n }\n}\n","import { Component, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n host: { 'class': 'fw-popover' },\n selector: 'fw-popover',\n styleUrls: [ './popover.component.scss' ],\n template: `\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <ng-template #content>\n <div class=\"fw-popover-content-wrapper\">\n <ng-content></ng-content>\n <div class=\"fw-popover-caret\"></div>\n </div>\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwPopoverComponent {\n // Used for TemplatePortal in ./popover-trigger.directive.ts\n @ViewChild('content') templateRef: TemplateRef<any> // eslint-disable-line @typescript-eslint/no-explicit-any\n}\n","import { CommonModule } from '@angular/common';\nimport { Overlay } from '@angular/cdk/overlay';\nimport { NgModule } from '@angular/core';\n\nimport { FwPopoverTriggerComponent } from './popover-trigger.component';\nimport { FwPopoverTriggerDirective } from './popover-trigger.directive';\nimport { FwPopoverComponent } from './popover.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n FwPopoverComponent,\n FwPopoverTriggerComponent,\n FwPopoverTriggerDirective,\n ],\n declarations: [\n FwPopoverComponent,\n FwPopoverTriggerComponent,\n FwPopoverTriggerDirective,\n ],\n providers: [\n Overlay,\n ]\n})\nexport class FwPopoverModule {}\n","import { ChangeDetectorRef, Component, Input, OnChanges, OnInit, SimpleChanges, ViewChild } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort, MatSortHeader } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { debounceTime } from 'rxjs/operators';\n\ntype SortOrder = 'asc' | 'desc'\n\ninterface ColumnFilter {\n control: 'input' | 'select' | 'multi-select',\n options?: string[],\n placeholder?: string,\n}\n\ninterface Column {\n label: string,\n key: string,\n filter?: ColumnFilter,\n}\n\n@Component({\n host: {\n 'class': 'fw-table',\n '[class.compact]': 'isCompact',\n },\n selector: 'fw-table',\n styleUrls: ['./table.component.scss'],\n templateUrl: './table.component.html',\n})\nexport class FwTableComponent implements OnInit, OnChanges {\n @Input() columns: Column[] = []\n @Input() dataSource: any[] = []\n @Input() layout?: 'basic' | 'compact' = 'basic'\n @Input() pageSize = null\n @Input('page-size') webCompPageSize = null\n @Input() sort = null\n\n private sortColumn = ''\n private sortOrder: SortOrder = 'asc'\n\n displayedColumns: string[] = []\n filters: UntypedFormGroup = new UntypedFormGroup({})\n matDataSource: MatTableDataSource<any>\n\n // to support updating column header labels\n trackByIndex: any = i => i\n\n @ViewChild(MatPaginator) matPaginator: MatPaginator\n @ViewChild(MatSort) matSort: MatSort\n\n constructor(\n private changeDetectorRef: ChangeDetectorRef,\n ) { }\n\n ngOnInit(): void {\n this.setDataSource();\n this.setColumns();\n this.addFilterControls();\n this.setFilter();\n this.matDataSource.filterPredicate = (row, filter) => {\n const filters = JSON.parse(filter);\n for (const filter in filters) {\n const filterValue = filters[filter];\n const rowValue = row[filter];\n // multi-select\n if (Array.isArray(filterValue) && filterValue.length > 0 && !filterValue.includes(rowValue)) {\n return false;\n }\n // input or select\n if (!Array.isArray(filterValue) && !String(rowValue).toLowerCase().includes(String(filterValue ?? '').toLowerCase())) {\n return false;\n }\n }\n return true;\n };\n this.filters.valueChanges.pipe(debounceTime(200)).subscribe(() => this.setFilter());\n }\n\n ngAfterViewInit(): void {\n this.setSort();\n this.setPaginator();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.columns) {\n this.setColumns();\n }\n if (changes.dataSource) {\n this.setDataSource();\n }\n if (changes.sort || changes.dataSource) {\n this.setSort();\n }\n if (changes.pageSize || changes['page-size']) {\n this.setPaginator();\n }\n }\n\n get isCompact(): boolean {\n return this.layout === 'compact';\n }\n\n get paginationSize(): number {\n return this.pageSize || this.webCompPageSize || 0;\n }\n\n get isSortEnabled(): boolean {\n return this.sort !== null;\n }\n\n addFilterControls(): void {\n for (const column of this.columns) {\n this.filters.addControl(column.key, new UntypedFormControl());\n }\n }\n\n setDataSource(): void {\n this.matDataSource = new MatTableDataSource(this.dataSource);\n }\n\n setColumns(): void {\n this.displayedColumns = this.columns.map(column => column.key);\n }\n\n setFilter(): void {\n this.matDataSource.filter = JSON.stringify(this.filters.value);\n }\n\n setSort(): void {\n if (!this.matSort || this.sort === null) {\n return;\n }\n const sortSplit = this.sort.split(' ');\n this.sortColumn = sortSplit[0];\n if (['asc', 'desc'].includes(sortSplit[1])) {\n this.sortOrder = sortSplit[1] as SortOrder;\n } else {\n console.warn(`Sort order '${sortSplit[1]}' is not 'asc' or 'desc', defaulting to 'asc'`);\n }\n if (this.sortColumn) {\n this.matSort.sort({ id: this.sortColumn, start: this.sortOrder, disableClear: false });\n const sortHeader = this.matSort.sortables.get(this.sortColumn) as MatSortHeader;\n if (sortHeader) {\n sortHeader._setAnimationTransitionState({ toState: 'active' });\n } else {\n console.warn(`Unable to find sort column '${this.sortColumn}'. Initial sort failed.`);\n }\n }\n this.matDataSource.sort = this.matSort;\n }\n\n setPaginator(): void {\n // ensures ui updates correctly when paginator options change\n this.changeDetectorRef.detectChanges();\n this.matDataSource.paginator = this.matPaginator;\n }\n\n // necessary for web component to trigger this.filter.valueChanges\n onInputFilter(event: KeyboardEvent, column: Column): void {\n // defer setting filter control as event.target.value is not set yet\n setTimeout(() => this.filters.get(column.key).setValue((event.target as HTMLInputElement).value));\n }\n\n // necessary for web component to trigger this.filter.valueChanges\n onSelectFilter(event: MouseEvent, column: Column): void {\n const innerText = (event.target as HTMLInputElement).innerText;\n this.filters.get(column.key).setValue(innerText === '- none -' ? null : innerText);\n }\n\n // necessary for web component to trigger this.filter.valueChanges\n onMultiSelectFilter(event: MouseEvent, column: Column): void {\n let value = this.filters.controls[column.key].value || [];\n const innerText = (event.target as HTMLInputElement).parentElement.innerText;\n if (value.includes(innerText)) {\n value = value.filter(v => v !== innerText);\n } else {\n value.push(innerText);\n }\n this.filters.get(column.key).setValue(\n value.length === 1 && innerText === ''\n ? null // when all checboxes have been deselected\n : value\n );\n }\n}\n","<table mat-table [dataSource]=\"matDataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByIndex\">\n <ng-container [matColumnDef]=\"column.key\">\n\n <ng-template #tableHeaders>\n <ng-container [ngSwitch]=\"column.filter?.control\">\n <ng-container *ngSwitchCase=\"'input'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <input matInput [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" (keydown)=\"$event.stopPropagation(); onInputFilter($event, column);\">\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\">\n <mat-option (click)=\"onSelectFilter($event, column);\">- none -</mat-option>\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" multiple=\"true\">\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onMultiSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchDefault>{{ column.label }}</ng-container>\n </ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"!isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <td mat-cell *matCellDef=\"let element\"> {{ element[column.key] }} </td>\n </ng-container>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n</table>\n<mat-paginator *ngIf=\"paginationSize > 0\" [pageSize]=\"paginationSize\"></mat-paginator>\n\n\n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTableModule } from '@angular/material/table';\n\nimport { FwTableComponent } from './table.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatInputModule,\n MatPaginatorModule,\n MatSelectModule,\n MatSortModule,\n MatTableModule,\n ],\n exports: [\n FwTableComponent,\n ],\n declarations: [\n FwTableComponent,\n ]\n})\nexport class FwTableModule {}\n","import { Component, OnInit, Optional } from '@angular/core';\nimport { Location } from '@angular/common';\n\n@Component({\n selector: 'fw-back-button',\n templateUrl: './back-button.component.html',\n styleUrls: ['./back-button.component.scss']\n})\nexport class BackButtonComponent {\n\n constructor(public location: Location) { \n }\n}\n","<button (click)=\"location.back()\"><fw-icon>arrow-back</fw-icon></button>","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'fw-section-heading',\n templateUrl: './section-heading.component.html',\n styleUrls: ['./section-heading.component.scss']\n})\nexport class FwSectionHeadingComponent implements OnInit {\n\n @Input() heading: string;\n @Input() description?: string;\n @Input() backButton?: boolean = false;\n @Input() icon?: string;\n \n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"heading-area\">\n <fw-back-button *ngIf=\"backButton\"></fw-back-button>\n <fw-icon *ngIf=\"icon\">{{icon}}</fw-icon>\n <div>\n <h2 class=\"section-heading\">{{heading}}</h2>\n <p *ngIf=\"description\">{{description}}</p>\n </div>\n</div>\n<div class=\"right-content\">\n <ng-content></ng-content>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FwSectionHeadingComponent } from './section-heading.component';\nimport { BackButtonComponent } from './back-button/back-button.component';\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\n\n@NgModule({\n imports: [\n CommonModule,\n FwButtonModule,\n FwIconModule\n ],\n exports: [\n FwSectionHeadingComponent\n ],\n declarations: [\n FwSectionHeadingComponent,\n BackButtonComponent\n ]\n})\nexport class FwSectionHeadingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.FwIconComponent","i1.TranslationService","i1","i4.TranslatePipe","i5.TrustHtmlPipe","i3.TranslatePipe","i6.TranslatePipe","i1.FwNotificationTimerService","i1.FwNotificationService","i2","i3.FwButtonComponent","i5.FwNotificationComponent","i3","i4","i5","i3.BackButtonComponent"],"mappings":"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"}
1
+ {"version":3,"file":"flywheel-io-vision.mjs","sources":["../../../src/components/icon/icon.component.ts","../../../src/components/avatar/avatar.component.ts","../../../src/components/avatar/avatar.component.html","../../../src/components/icon/icon.module.ts","../../../src/components/avatar/avatar.module.ts","../../../src/components/button-group/button-group.component.ts","../../../src/components/button-group/button-group.module.ts","../../../src/components/button/button.component.ts","../../../src/components/button/button.component.html","../../../src/components/button/button.module.ts","../../../src/components/dialog/choice-dialog.component.ts","../../../src/components/shared/translation.service.ts","../../../src/components/shared/pipes/translate.pipe.ts","../../../src/components/shared/pipes/trusthtml.pipe.ts","../../../src/components/dialog/confirm-dialog.component.ts","../../../src/components/dialog/dialog.service.ts","../../../src/components/dialog/error-dialog.component.ts","../../../src/components/dialog/portal-dialog.component.ts","../../../src/components/shared/pipes/pipes.module.ts","../../../src/components/dialog/dialog.module.ts","../../../src/components/notification/notification.service.ts","../../../src/components/notification/notification-timer.service.ts","../../../src/components/notification/notification/notification.model.ts","../../../src/components/notification/notification/notification.component.ts","../../../src/components/notification/notification-container/notification-container.component.ts","../../../src/components/notification/notification-container/notification-container.component.html","../../../src/components/notification/notification.module.ts","../../../src/components/popover/popover-trigger.directive.ts","../../../src/components/popover/popover-trigger.component.ts","../../../src/components/popover/popover.component.ts","../../../src/components/popover/popover.module.ts","../../../src/components/table/table.component.ts","../../../src/components/table/table.component.html","../../../src/components/table/table.module.ts","../../../src/components/section-heading/back-button/back-button.component.ts","../../../src/components/section-heading/back-button/back-button.component.html","../../../src/components/section-heading/section-heading.component.ts","../../../src/components/section-heading/section-heading.component.html","../../../src/components/section-heading/section-heading.module.ts","../../../src/flywheel-io-vision.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n host: {\n 'role': 'img',\n 'class': 'vision-icon', // apply icon font to glyph content\n },\n selector: 'fw-icon',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FwIconComponent {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n host: {\n '[class.small]': 'size === \"small\"',\n '[class.medium]': 'size === \"medium\"',\n '[class.large]': 'size === \"large\"',\n '[class.rounded]': 'variant === \"rounded\"',\n '[class.circular]': 'variant === \"circular\"',\n '[class.initial]': 'content === \"initial\"',\n },\n selector: 'fw-avatar',\n styleUrls: ['./avatar.component.scss'],\n templateUrl: './avatar.component.html',\n})\nexport class FwAvatarComponent {\n @Input() color?: 'primary' | 'secondary' | 'red' | 'light-slate' | 'slate' | 'warning' | 'success' = 'primary';\n @Input() variant?: 'circular' | 'rounded' | 'square' = 'circular';\n @Input() content?: 'image' | 'icon' | 'initial' = 'icon';\n @Input() size?: 'small' | 'medium' | 'large' = 'small';\n @Input() initial?: string = '';\n @Input() imageUrl?: string = '';\n @Input() imageAltText?: string = '';\n @Input() icon?: string = 'user';\n\n isImageBroken: boolean = false;\n\n loadImage(): void {\n this.isImageBroken = false;\n }\n\n errorImage(): void {\n this.isImageBroken = true;\n }\n}","<ng-container [ngSwitch]=\"content\">\n <div *ngSwitchCase=\"'image'\" [ngClass]=\"['avatar', 'avatar-' + color]\">\n <img *ngIf=\"!isImageBroken else displayInitial\" [src]=\"imageUrl\" [alt]=\"imageAltText\" (load)=\"loadImage()\"\n (error)=\"errorImage()\">\n </div>\n <div *ngSwitchCase=\"'icon'\" [ngClass]=\"['avatar', 'avatar-' +color]\">\n <ng-container *ngTemplateOutlet=\"displayIcon\"></ng-container>\n </div>\n <div *ngSwitchCase=\"'initial'\" [ngClass]=\"['avatar','avatar-' + color]\">\n <ng-container *ngTemplateOutlet=\"displayInitial\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #displayInitial>\n <span class=\"initial\" *ngIf=\"initial else displayIcon\">{{ initial }}</span>\n</ng-template>\n\n<ng-template #displayIcon>\n <fw-icon>{{ icon }}</fw-icon>\n</ng-template>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconComponent } from './icon.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n FwIconComponent,\n ],\n declarations: [\n FwIconComponent,\n ],\n})\nexport class FwIconModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwAvatarComponent } from './avatar.component';\nimport { FwIconModule } from '../icon/icon.module';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule\n ],\n exports: [\n FwAvatarComponent,\n ],\n declarations: [\n FwAvatarComponent,\n ]\n})\nexport class FwAvatarModule { }\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n host: {\n 'class': 'fw-button-group',\n '[class.small]': 'size === \"small\"',\n '[class.medium]': 'size === \"medium\"',\n '[class.large]': 'size === \"large\"',\n '[class.compact]': 'layout === \"compact\"',\n },\n selector: 'fw-button-group',\n styleUrls: [ './button-group.component.scss' ],\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwButtonGroupComponent {\n @Input() layout?: 'basic' | 'compact' = 'basic'\n @Input() size?: 'small' | 'medium' | 'large' = 'medium'\n}\n","import { NgModule } from '@angular/core';\n\nimport { FwButtonGroupComponent } from './button-group.component';\n\n@NgModule({\n exports: [\n FwButtonGroupComponent,\n ],\n declarations: [\n FwButtonGroupComponent,\n ]\n})\nexport class FwButtonGroupModule {}","import { Component, Input } from '@angular/core';\n\n@Component({\n host: {\n 'class': 'button[fw-button]',\n '[class.small]': 'size === \"small\"',\n '[class.medium]': 'size === \"medium\"',\n '[class.large]': 'size === \"large\"',\n '[class.compact]': 'layout === \"compact\"',\n },\n selector: 'fw-button',\n styleUrls: ['./button.component.scss'],\n templateUrl: './button.component.html',\n})\nexport class FwButtonComponent {\n @Input() color?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success' = 'primary';\n @Input() size?: 'small' | 'medium' | 'large' = 'medium'\n @Input() type?: 'ghost' | 'solid' | 'outline' = 'solid'\n @Input() disabled?: boolean = false\n @Input() leftIcon?: string = ''\n @Input() rightIcon?: string = ''\n}\n","<button [class]=\"[color + '-' + type, size]\" [disabled]=\"disabled\">\n <fw-icon *ngIf=\"!!leftIcon\">{{leftIcon}}</fw-icon>\n <ng-content></ng-content>\n <fw-icon *ngIf=\"!!rightIcon\">{{rightIcon}}</fw-icon>\n</button>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { FwIconModule } from '../icon/icon.module';\n\nimport { FwButtonComponent } from './button.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatButtonModule,\n FwIconModule\n ],\n exports: [\n FwButtonComponent,\n ],\n declarations: [\n FwButtonComponent,\n ]\n})\nexport class FwButtonModule {}\n","import { Component, Inject } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\n\ninterface Choice {\n color?: ThemePalette\n label: string\n testId?: string\n value: any\n variant?: 'raised' | 'stroked' | 'flat'\n}\n\nexport interface FwChoiceDialogData {\n alignActions?: 'start' | 'center' | 'end'\n choices: Choice[]\n closeValue?: any\n content: string\n title?: string\n}\n\n@Component({\n host: {\n class: 'mat-dialog-component',\n 'test-id': 'choice-dialog',\n },\n selector: 'fw-choice-dialog',\n template: `\n <h1 mat-dialog-title *ngIf=\"title\">{{ title }}</h1>\n <button *ngIf=\"showCloseButton\" test-id=\"dialog-close-corner\" mat-icon-button\n [mat-dialog-close]=\"closeValue\" [class]=\"{'mat-dialog-close-button': true, 'no-title': !title}\">\n <mat-icon>close</mat-icon>\n </button>\n <div mat-dialog-content>{{ content }}</div>\n <div mat-dialog-actions [align]=\"alignActions\">\n <ng-container *ngFor=\"let choice of choices\" [ngSwitch]=\"choice.variant\">\n <button *ngSwitchCase=\"'raised'\" mat-raised-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <button *ngSwitchCase=\"'stroked'\" mat-stroked-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <button *ngSwitchCase=\"'flat'\" mat-flat-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <ng-container *ngSwitchDefault>\n <button *ngIf=\"choice.color\" mat-flat-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <button *ngIf=\"!choice.color\" mat-stroked-button [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n </ng-container>\n </ng-container>\n </div>\n `,\n})\nexport class FwChoiceDialog {\n readonly alignActions = this.data.alignActions\n ? this.data.alignActions === 'start'\n ? null\n : this.data.alignActions\n : 'center'\n readonly choices = this.data.choices\n readonly closeValue = this.data.closeValue\n readonly content = this.data.content\n readonly title = this.data.title\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private data: FwChoiceDialogData,\n ) {}\n\n get showCloseButton(): boolean {\n return 'closeValue' in this.data;\n }\n\n getTestId(choice): string {\n return choice.testId || `${String(choice.label ?? choice.value).toLowerCase()}-button`;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of } from 'rxjs';\nimport { Observable } from 'rxjs';\n\nexport abstract class TranslationService {\n abstract getMessage(key: string, silent?: boolean): Observable<string>\n}\n\n/**\n * Very basic i18n implementation. Consumer apps can provide their own implementation of TranslationService to override.\n */\n @Injectable()\n export class MinimalTranslationService implements TranslationService {\n private static messages = {\n 'common.actions.close': 'Close',\n 'confirmDialog.body': 'Are you sure?',\n 'confirmDialog.no': 'No',\n 'confirmDialog.yes': 'Yes',\n }\n\n getMessage(key: string, silent?: boolean): Observable<string> {\n return of(MinimalTranslationService.messages[key]);\n }\n }\n","import { ChangeDetectorRef, OnDestroy } from '@angular/core';\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { TranslationService } from '../translation.service';\n\n/**\n * Translate a message given a nested key to a location in the loaded locale copy.\n */\n @Pipe({\n name: 'translate',\n pure: false,\n})\nexport class TranslatePipe implements PipeTransform, OnDestroy {\n private subscriptions: { [key: string]: Subscription } = {}\n private messages: { [key: string]: string } = {}\n\n constructor(\n private cdr: ChangeDetectorRef,\n private translationService: TranslationService,\n ) {}\n\n ngOnDestroy(): void {\n for (const subscription of Object.values(this.subscriptions)) {\n subscription.unsubscribe();\n }\n }\n\n transform(key: string, silent = false): string {\n if (!(key in this.subscriptions)) {\n this.subscriptions[key] = this.translationService.getMessage(key, silent).subscribe(message => {\n this.messages[key] = message;\n // trigger change detection to support components with ChangeDetectionStrategy.OnPush\n this.cdr.markForCheck();\n });\n }\n return this.messages[key] || '';\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'trusthtml',\n pure: true,\n})\nexport class TrustHtmlPipe implements PipeTransform {\n constructor (private sanitizer: DomSanitizer) { }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\n\nexport interface FwConfirmDialogData {\n title?: string,\n content?: string,\n html?: string,\n}\n\n@Component({\n host: {\n class: 'mat-dialog-component',\n 'test-id': 'confirm-dialog',\n },\n selector: 'fw-confirm-dialog',\n template: `\n <h1 mat-dialog-title *ngIf=\"title\">{{ title }}</h1>\n <div mat-dialog-content *ngIf=\"html\" class=\"markup\" [innerHTML]=\"html | trusthtml\"></div>\n <div mat-dialog-content *ngIf=\"!html\">{{ content || ('confirmDialog.body' | translate ) }}</div>\n <div mat-dialog-actions align=\"center\">\n <button test-id=\"no-button\" mat-stroked-button [mat-dialog-close]=\"false\">{{ 'confirmDialog.no' | translate }}</button>\n <button test-id=\"yes-button\" mat-flat-button color=\"primary\" [mat-dialog-close]=\"true\">{{ 'confirmDialog.yes' | translate }}</button>\n </div>\n `,\n styles: [`\n [mat-dialog-content] {\n text-align: center;\n }\n [mat-dialog-content].markup {\n text-align: inherit;\n }\n `],\n})\nexport class FwConfirmDialog {\n title = this.data.title\n content = this.data.content\n html = this.data.html\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private data: FwConfirmDialogData,\n ) {}\n}\n","\nimport { Injectable, Type } from '@angular/core';\nimport {\n MatDialog,\n MatDialogConfig,\n MatDialogRef,\n} from '@angular/material/dialog';\n\n/*\n* type StackingStrategy\n* allow - will allow multiple instances of the same dialog to display at once\n* replace - will close existing dialogs of the same type and open a new one\n* ignore - will keep a dialog of the same type open\n*/\nexport type StackingStrategy = 'allow' | 'replace' | 'ignore'\nexport interface DialogConfig<T> extends MatDialogConfig<T> {\n multi: StackingStrategy\n}\nexport interface OpenDialog<T> {\n component: Type<T>\n ref: MatDialogRef<T>\n}\n\n@Injectable()\nexport class FwDialogService {\n readonly dialogs: OpenDialog<any>[] = [];\n\n private config = new Map<Type<unknown>, DialogConfig<unknown>>();\n\n constructor(\n private matDialog: MatDialog,\n ) {}\n\n closeAll(component?: Type<unknown>): void {\n if (component) {\n this.dialogs\n .filter((el) => el.component === component)\n .forEach((el) => el.ref.close());\n } else {\n this.matDialog.closeAll();\n }\n }\n\n open<T, D, R>(component: Type<T>, config?: MatDialogConfig<D>): MatDialogRef<T, R> {\n const index = this.dialogs.findIndex(el => el.component === component);\n let ref: MatDialogRef<T, R> = null;\n const baseConfig = {\n multi: 'allow',\n ...this.config.get(component),\n };\n\n switch (baseConfig.multi) {\n case 'ignore':\n // if an existing dialog of the same type doesn't exist, open one\n if (index === -1) {\n ref = this.matDialog.open(component, { ...baseConfig, ...config });\n this.dialogs.push({ component, ref });\n }\n break;\n case 'replace':\n // if an existing dialog of the same type exists, replace it.\n if (index > -1) {\n this.dialogs[index].ref.close();\n ref = this.matDialog.open(component, { ...baseConfig, ...config });\n this.dialogs.splice(index, 1, { component, ref });\n } else {\n ref = this.matDialog.open(component, { ...baseConfig, ...config });\n this.dialogs.push({ component, ref });\n }\n break;\n default:\n ref = this.matDialog.open(component, { ...baseConfig, ...config });\n this.dialogs.push({ component, ref });\n break;\n }\n\n if (ref) {\n ref.afterClosed().subscribe(() => {\n // clean up open dialog reference\n const index = this.dialogs.findIndex(el => el.ref === ref);\n if (index >= 0) {\n this.dialogs.splice(index, 1);\n }\n });\n }\n\n return ref;\n }\n\n registerDialog(component: Type<unknown>, config: DialogConfig<unknown>): void {\n this.config.set(component, config);\n }\n}\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\nexport interface FwErrorDialogData {\n message: string\n}\n\n@Component({\n host: {\n class: 'mat-dialog-component',\n 'test-id': 'error-dialog',\n },\n selector: 'fw-error-dialog',\n template: `\n <div mat-dialog-content>{{ message }}</div>\n <div mat-dialog-actions align=\"end\">\n <button test-id=\"close-button\" mat-stroked-button mat-dialog-close>\n {{ 'common.actions.close' | translate }}\n </button>\n </div>\n `,\n})\nexport class FwErrorDialog {\n public message = this.data.message\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private data: FwErrorDialogData,\n private ref: MatDialogRef<FwErrorDialog>,\n ) {\n this.ref.disableClose = false;\n }\n}\n","import { CdkPortalOutletAttachedRef, ComponentPortal, ComponentType, Portal, TemplatePortal } from '@angular/cdk/portal';\nimport { Component, ComponentRef, EventEmitter, Inject, OnDestroy, SimpleChange, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\ninterface ComponentSpec {\n type: ComponentType<unknown>,\n inputs?: Record<string, unknown>\n outputs?: Record<string, (value: unknown) => void>\n}\n\nexport interface FwPortalDialogData {\n component?: ComponentSpec\n content?: string\n template?: TemplateRef<unknown>\n title?: string\n}\n\n@Component({\n host: {\n class: 'mat-dialog-component',\n 'test-id': 'portal-dialog',\n },\n selector: 'fw-portal-dialog',\n template: `\n <ng-container *ngIf=\"title\">\n <h1 mat-dialog-title>{{ title }}</h1>\n <button test-id=\"dialog-close-corner\" mat-icon-button mat-dialog-close>\n <mat-icon>close</mat-icon>\n </button>\n </ng-container>\n <mat-dialog-content>\n <p *ngIf=\"content\" class=\"content\">{{ content }}</p>\n <ng-template [cdkPortalOutlet]=\"portal\" (attached)=\"attached($event)\"></ng-template>\n </mat-dialog-content>\n <mat-dialog-actions align=\"end\">\n <button test-id=\"dialog-close-button\" mat-stroked-button mat-dialog-close>\n {{ 'common.actions.close' | translate }}\n </button>\n </mat-dialog-actions>\n `,\n styles: [`\n :host {\n min-width: 200px;\n }\n .content {\n margin-bottom: 30px;\n }\n `],\n})\nexport class FwPortalDialog implements OnDestroy {\n content = this.data.content\n portal: Portal<any>\n title = this.data.title\n\n private destroyed$ = new Subject()\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private data: FwPortalDialogData,\n private viewContainerRef: ViewContainerRef,\n ) {\n if (this.data.component) {\n this.portal = new ComponentPortal(this.data.component.type, this.viewContainerRef);\n } else if (this.data.template) {\n this.portal = new TemplatePortal(this.data.template, this.viewContainerRef);\n } else {\n throw new Error('One of [component, template] was not provided.');\n }\n }\n\n ngOnDestroy(): void {\n this.destroyed$.next(undefined);\n }\n\n attached(ref: CdkPortalOutletAttachedRef): void {\n if (this.data.component) {\n ref = ref as ComponentRef<any>;\n if (this.data.component.outputs) {\n for (const [key, observer] of Object.entries(this.data.component.outputs)) {\n const output$: EventEmitter<unknown> = ref[key];\n if (typeof output$?.pipe === 'function' && typeof output$.subscribe === 'function') {\n output$.pipe(takeUntil(this.destroyed$)).subscribe(observer);\n }\n }\n }\n if (this.data.component.inputs) {\n const changes: SimpleChanges = {};\n for (const [key, value] of Object.entries(this.data.component.inputs)) {\n ref.instance[key] = value;\n changes[key] = new SimpleChange(value, value, true);\n }\n ref.instance.ngOnChanges?.(changes);\n ref.changeDetectorRef.markForCheck();\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { TranslatePipe } from './translate.pipe';\nimport { TranslationService, MinimalTranslationService } from '../translation.service';\nimport { TrustHtmlPipe } from './trusthtml.pipe';\n\nconst exports = [\n TranslatePipe,\n TrustHtmlPipe,\n];\n\n@NgModule({\n declarations: exports,\n exports: exports,\n providers: [\n {\n provide: TranslationService,\n useClass: MinimalTranslationService,\n },\n ],\n})\nexport class PipesModule {}\n\nexport { TranslationService }\n","import { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { FwChoiceDialog } from './choice-dialog.component';\nimport { FwConfirmDialog } from './confirm-dialog.component';\nimport { FwDialogService } from './dialog.service';\nimport { FwErrorDialog } from './error-dialog.component';\nimport { FwPortalDialog } from './portal-dialog.component';\nimport { PipesModule } from '../shared/pipes/pipes.module';\n\n@NgModule({\n declarations: [\n FwChoiceDialog,\n FwConfirmDialog,\n FwErrorDialog,\n FwPortalDialog,\n ],\n imports: [\n CommonModule,\n MatButtonModule,\n MatDialogModule,\n MatIconModule,\n PipesModule,\n PortalModule,\n ],\n providers: [\n FwDialogService,\n {\n provide: MAT_DIALOG_DEFAULT_OPTIONS,\n useValue: {\n disableClose: true,\n hasBackdrop: true,\n }\n }\n ],\n})\nexport class FwDialogModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { Notification } from './notification/notification.model';\n\nexport function genId(): string {\n return String.prototype.padStart(24, Math.floor(Math.random() * Date.now()).toString(16));\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FwNotificationService {\n readonly notifications$ = new BehaviorSubject<Notification[]>([]);\n private notificationQueue: Notification[] = [];\n\n show(notification: Notification): void {\n if (!notification.id) {\n notification.id = genId();\n }\n\n this.notificationQueue.push(notification);\n this.notifications$.next(this.notificationQueue);\n }\n\n dismiss(notificationId: string): void {\n this.notificationQueue = this.notificationQueue.filter((v) => v.id !== notificationId);\n this.notifications$.next(this.notificationQueue);\n }\n\n dismissAll(): void {\n this.notificationQueue = [];\n this.notifications$.next(this.notificationQueue);\n }\n}\n\n","export class FwNotificationTimerService {\n private timerId: number;\n private now = 0;\n private remainingDuration = 0;\n private resolver: () => void;\n\n start(duration: number): Promise<void> {\n return new Promise<void>((resolve) => {\n this.remainingDuration = duration;\n this.resolver = resolve;\n this.continue();\n });\n }\n\n stop(): void {\n clearTimeout(this.timerId);\n this.remainingDuration = 0;\n }\n\n pause(): void {\n clearTimeout(this.timerId);\n this.remainingDuration =\n this.remainingDuration - new Date().getTime() - this.now;\n }\n\n continue(): void {\n this.now = new Date().getTime();\n this.timerId = window.setTimeout(() => {\n this.resolver();\n }, this.remainingDuration);\n }\n}\n","import { FwNotificationComponent } from './notification.component';\n\nexport enum FwNotificationType {\n Error = 'error',\n Info = 'info',\n Success = 'success',\n Wait = 'wait',\n Warning = 'warning',\n}\n\nexport interface Notification {\n id?: string\n message: string\n type: FwNotificationType\n ref?: FwNotificationComponent\n}","import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';\n\nimport { FwNotificationTimerService } from '../notification-timer.service';\nimport { FwNotificationType, Notification } from './notification.model';\n\n@Component({\n host: {\n '(click)': 'onClickDismiss()'\n },\n selector: 'fw-notification',\n styleUrls: [ './notification.component.scss' ],\n template: `{{ notification?.message }}`,\n providers: [FwNotificationTimerService],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class FwNotificationComponent implements AfterViewInit {\n @Input() notification: Notification\n @Input() notificationDuration: number = 9000;\n @Output() ready = new EventEmitter<FwNotificationComponent>()\n @Output() dismiss = new EventEmitter<string>()\n\n @HostBinding('class') get cssClass() {\n let cssClass = 'fw-notification';\n switch (this.notification?.type) {\n case FwNotificationType.Error:\n return cssClass += ' error';\n case FwNotificationType.Info:\n return cssClass += ' info';\n case FwNotificationType.Success:\n return cssClass += ' success';\n case FwNotificationType.Wait:\n return cssClass += ' wait';\n case FwNotificationType.Warning:\n return cssClass += ' warning';\n default:\n return cssClass;\n }\n }\n\n constructor(private cdr: ChangeDetectorRef, private timerService: FwNotificationTimerService) {}\n\n ngAfterViewInit(): void {\n this.ready.emit(this);\n this.cdr.markForCheck();\n }\n\n startTimer(): void {\n this.timerService.start(this.notificationDuration).then(() => {\n this.onClickDismiss();\n this.cdr.markForCheck();\n });\n }\n\n stopTimer(): void {\n this.timerService.stop();\n this.cdr.markForCheck();\n }\n\n onClickDismiss(): void {\n this.dismiss.emit(this.notification.id);\n this.cdr.markForCheck();\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, ViewEncapsulation } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { FwNotificationService } from '../notification.service';\nimport { FwNotificationComponent } from '../notification/notification.component';\nimport { Notification } from '../notification/notification.model';\n\n@Component({\n host: {\n 'class': 'fw-notification-container',\n '[class.duo]': 'notifications.length === 2',\n '[class.triple]': 'notifications.length >= 3',\n },\n selector: 'fw-notification-container',\n templateUrl: './notification-container.component.html',\n styleUrls: ['./notification-container.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FwNotificationContainerComponent implements OnDestroy {\n limit = 3\n notifications: Notification[] = []\n expanded = false\n\n private subscriptions = {\n notifications: Subscription.EMPTY,\n }\n\n constructor(private cdr: ChangeDetectorRef, private notificationService: FwNotificationService) {\n this.subscriptions.notifications = this.notificationService.notifications$.subscribe((notifications: Notification[]) => {\n this.notifications = notifications;\n if (notifications.length === 0) {\n this.expanded = false;\n }\n this.cdr.markForCheck();\n });\n }\n\n ngOnDestroy(): void {\n for (const subscription of Object.values(this.subscriptions)) {\n subscription.unsubscribe();\n }\n }\n\n notificationClass(index: number): string {\n let cssClass: string;\n const level = this.notifications.length > this.limit\n ? index - (this.notifications.length - this.limit)\n : index;\n\n if (this.expanded) {\n cssClass = 'default';\n } else {\n cssClass = level >= 0 ? `level-${level}` : 'hidden';\n }\n\n return cssClass;\n }\n\n getEmptyNotification(notification: Notification): Notification {\n return { ...notification, message: ' ' }; // take up a line but show no content\n }\n\n onReady(notification: FwNotificationComponent): void {\n const currentNotification = this.notifications[this.notifications.length - 1];\n currentNotification.ref = notification;\n notification.startTimer();\n }\n\n onDismiss(notificationId: string): void {\n const notification = this.notifications.find(currentNotification => currentNotification.id === notificationId);\n if (notification?.ref) {\n notification.ref.stopTimer();\n }\n if (notification?.id) {\n this.notificationService.dismiss(notification.id);\n }\n this.cdr.markForCheck();\n }\n\n clearAll(): void {\n this.notificationService.dismissAll();\n this.cdr.markForCheck();\n }\n\n onShowMore(): void {\n this.expanded = true;\n this.cdr.markForCheck();\n }\n\n onShowLess(): void {\n this.expanded = false;\n this.cdr.markForCheck();\n }\n}\n","<div role=\"list\">\n <fw-notification *ngFor=\"let notification of notifications; index as $index\"\n (ready)=\"onReady($event)\"\n (dismiss)=\"onDismiss($event)\"\n [class]=\"notificationClass($index)\"\n [notification]=\"expanded || $index === notifications.length - 1 ? notification : getEmptyNotification(notification)\"\n [attr.aria-label]=\"notification.type + ' : ' + notification.message\"\n role=\"listitem\"\n ></fw-notification>\n <div class=\"buttons\">\n <fw-button *ngIf=\"expanded\" (click)=\"onShowLess()\" mat-button aria-label=\"show less\" size=\"small\" color=\"slate\">\n <mat-icon>expand_less</mat-icon>\n </fw-button>\n <fw-button *ngIf=\"!expanded && notifications.length > 1\" (click)=\"onShowMore()\" aria-label=\"show more\" size=\"small\" color=\"slate\">\n <mat-icon>expand_more</mat-icon>\n </fw-button>\n <fw-button *ngIf=\"notifications.length > 0\"(click)=\"clearAll()\" class=\"clear-all\" aria-label=\"clear all\" size=\"small\" color=\"slate\">\n Clear All\n </fw-button>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { FwButtonGroupModule } from '../button-group/button-group.module';\nimport { FwButtonModule } from '../button/button.module';\nimport { FwNotificationContainerComponent } from './notification-container/notification-container.component';\nimport { FwNotificationService } from './notification.service';\nimport { FwNotificationComponent } from './notification/notification.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwButtonModule,\n FwButtonGroupModule,\n MatButtonModule,\n MatIconModule,\n ],\n exports: [\n FwNotificationComponent,\n FwNotificationContainerComponent\n ],\n declarations: [\n FwNotificationComponent,\n FwNotificationContainerComponent,\n ],\n providers: [\n FwNotificationService,\n ]\n})\nexport class FwNotificationModule {}","import { ConnectedOverlayPositionChange, ConnectedPosition, FlexibleConnectedPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Directive, ElementRef, Input, OnChanges, OnDestroy, SimpleChanges, ViewContainerRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { FwPopoverComponent } from './popover.component';\n\nexport type FwPopoverPosition = 'left' | 'right' | 'above' | 'below' | 'before' | 'after';\n\n@Directive({\n host: {\n 'class': 'fw-popover-trigger',\n '(mouseenter)': 'showPopover()',\n '(mouseleave)': 'hidePopover($event)',\n },\n selector: '[fwPopoverTriggerFor]',\n exportAs: 'fwPopoverTrigger',\n})\nexport class FwPopoverTriggerDirective implements OnChanges, OnDestroy {\n public popoverId: string\n private popoverMargin = 15\n private fallbackPosition: FwPopoverPosition\n private mainPosition: FwPopoverPosition\n private overlayRef: OverlayRef\n private positionMap: { [key: string]: ConnectedPosition } = {\n 'left': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },\n 'right': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },\n 'above': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom' },\n 'below': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top' },\n }\n\n @Input('fwPopoverTriggerFor') popover: FwPopoverComponent\n @Input('fwPopoverPosition') position: FwPopoverPosition = 'below'\n\n private subscriptions = {\n positionChanges: Subscription.EMPTY,\n };\n\n constructor(\n public element: ElementRef,\n public overlay: Overlay,\n public viewContainerRef: ViewContainerRef,\n ) { }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.position && this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n }\n\n ngOnDestroy(): void {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n for (const subscription of Object.values(this.subscriptions)) {\n subscription.unsubscribe();\n }\n }\n\n showPopover(): void {\n if (this.popover?.templateRef) {\n this.getOverlay().attach(new TemplatePortal(this.popover.templateRef, this.viewContainerRef));\n }\n }\n\n hidePopover(e: MouseEvent): void {\n if (!(e.relatedTarget as HTMLElement)?.classList.contains('fw-popover-panel')) {\n this.getOverlay().detach();\n }\n }\n\n private setPopoverCaretPosition(position: FwPopoverPosition): void {\n const caret = this.overlayRef.overlayElement.querySelector('.fw-popover-caret') as HTMLElement;\n const caretRect = this.overlayRef.overlayElement.getBoundingClientRect();\n const triggerRect = this.element.nativeElement.getBoundingClientRect();\n (this.overlayRef.overlayElement.querySelector('.fw-popover-content-wrapper') as HTMLElement).style.margin = `${this.popoverMargin}px`;\n if (['left', 'right', 'before', 'after'].includes(position)) {\n caret.style.top = `${triggerRect.top - caretRect.top - this.popoverMargin + (triggerRect.height / 2)}px`;\n } else {\n caret.style.left = `${triggerRect.left - caretRect.left - this.popoverMargin + (triggerRect.width / 2)}px`;\n }\n }\n\n private setPopoverPosition(positionChange: ConnectedOverlayPositionChange): void {\n const position = this.positionMap[this.mainPosition] === positionChange.connectionPair\n ? this.mainPosition\n : this.positionMap[this.fallbackPosition] === positionChange.connectionPair\n ? this.fallbackPosition\n : this.mainPosition;\n this.overlayRef.removePanelClass(['fw-popover-above', 'fw-popover-below', 'fw-popover-left', 'fw-popover-right']);\n this.overlayRef.addPanelClass(`fw-popover-${position}`);\n this.setPopoverCaretPosition(position);\n }\n\n public getOverlay(): OverlayRef {\n if (!this.overlayRef) {\n this.overlayRef = this.overlay.create({\n positionStrategy: this.overlay.position()\n .flexibleConnectedTo(this.element)\n .withPositions(this.getPositions()),\n panelClass: 'fw-popover-panel',\n });\n this.overlayRef.overlayElement.addEventListener('mouseleave', e => this.hidePopover(e));\n this.subscriptions.positionChanges = (this.overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy).positionChanges\n .subscribe(positionChange => this.setPopoverPosition(positionChange));\n }\n return this.overlayRef;\n }\n\n private getMainPosition(): FwPopoverPosition {\n return this.mainPosition =\n ['left', 'before'].includes(this.position)\n ? 'left'\n : ['right', 'after'].includes(this.position)\n ? 'right'\n : this.position === 'above'\n ? 'above'\n : 'below';\n }\n\n private getFallbackPosition(): FwPopoverPosition {\n return this.fallbackPosition =\n ['left', 'before'].includes(this.position)\n ? 'right'\n : ['right', 'after'].includes(this.position)\n ? 'left'\n : this.position === 'above'\n ? 'below'\n : 'above';\n }\n\n private getPositions(): ConnectedPosition[] {\n return [\n // main position\n this.positionMap[this.getMainPosition()],\n // fallback position (inverse of main)\n this.positionMap[this.getFallbackPosition()],\n ];\n }\n}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { ElementRef, Input, ViewContainerRef } from '@angular/core';\n\nimport { FwPopoverPosition, FwPopoverTriggerDirective } from './popover-trigger.directive';\n\n@Component({\n host: {\n 'class': 'fw-popover-trigger',\n '(mouseenter)': 'showPopover()',\n '(mouseleave)': 'hidePopover($event)',\n },\n selector: 'fw-popover-trigger',\n template: `<ng-content></ng-content>\n <!-- for web component support -->\n <ng-template>\n <div [innerHTML]=\"popoverHTML\"></div>\n </ng-template>`,\n})\nexport class FwPopoverTriggerComponent extends FwPopoverTriggerDirective {\n @Input('trigger-for') popoverId: string\n @Input('position') position: FwPopoverPosition = 'below'\n\n // for web component support\n @ViewChild(TemplateRef) popoverTemplateRef: TemplateRef<any> // eslint-disable-line @typescript-eslint/no-explicit-any\n popoverHTML: string\n\n constructor(\n public element: ElementRef,\n public overlay: Overlay,\n public viewContainerRef: ViewContainerRef,\n ) {\n super(element, overlay, viewContainerRef);\n }\n\n showPopover(): void {\n const overlay = this.getOverlay();\n overlay.detach();\n if (this.popoverId) {\n // as a web component it is not possible to have a reference to this.popover\n this.popoverHTML = document.querySelector(`fw-popover#${this.popoverId}`).innerHTML;\n overlay.attach(new TemplatePortal(this.popoverTemplateRef, this.viewContainerRef));\n }\n }\n}\n","import { Component, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n host: { 'class': 'fw-popover' },\n selector: 'fw-popover',\n styleUrls: [ './popover.component.scss' ],\n template: `\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <ng-template #content>\n <div class=\"fw-popover-content-wrapper\">\n <ng-content></ng-content>\n <div class=\"fw-popover-caret\"></div>\n </div>\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwPopoverComponent {\n // Used for TemplatePortal in ./popover-trigger.directive.ts\n @ViewChild('content') templateRef: TemplateRef<any> // eslint-disable-line @typescript-eslint/no-explicit-any\n}\n","import { CommonModule } from '@angular/common';\nimport { Overlay } from '@angular/cdk/overlay';\nimport { NgModule } from '@angular/core';\n\nimport { FwPopoverTriggerComponent } from './popover-trigger.component';\nimport { FwPopoverTriggerDirective } from './popover-trigger.directive';\nimport { FwPopoverComponent } from './popover.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n FwPopoverComponent,\n FwPopoverTriggerComponent,\n FwPopoverTriggerDirective,\n ],\n declarations: [\n FwPopoverComponent,\n FwPopoverTriggerComponent,\n FwPopoverTriggerDirective,\n ],\n providers: [\n Overlay,\n ]\n})\nexport class FwPopoverModule {}\n","import { ChangeDetectorRef, Component, Input, OnChanges, OnInit, SimpleChanges, ViewChild } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort, MatSortHeader } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { debounceTime } from 'rxjs/operators';\n\ntype SortOrder = 'asc' | 'desc'\n\ninterface ColumnFilter {\n control: 'input' | 'select' | 'multi-select',\n options?: string[],\n placeholder?: string,\n}\n\ninterface Column {\n label: string,\n key: string,\n filter?: ColumnFilter,\n}\n\n@Component({\n host: {\n 'class': 'fw-table',\n '[class.compact]': 'isCompact',\n },\n selector: 'fw-table',\n styleUrls: ['./table.component.scss'],\n templateUrl: './table.component.html',\n})\nexport class FwTableComponent implements OnInit, OnChanges {\n @Input() columns: Column[] = []\n @Input() dataSource: any[] = []\n @Input() layout?: 'basic' | 'compact' = 'basic'\n @Input() pageSize = null\n @Input('page-size') webCompPageSize = null\n @Input() sort = null\n\n private sortColumn = ''\n private sortOrder: SortOrder = 'asc'\n\n displayedColumns: string[] = []\n filters: UntypedFormGroup = new UntypedFormGroup({})\n matDataSource: MatTableDataSource<any>\n\n // to support updating column header labels\n trackByIndex: any = i => i\n\n @ViewChild(MatPaginator) matPaginator: MatPaginator\n @ViewChild(MatSort) matSort: MatSort\n\n constructor(\n private changeDetectorRef: ChangeDetectorRef,\n ) { }\n\n ngOnInit(): void {\n this.setDataSource();\n this.setColumns();\n this.addFilterControls();\n this.setFilter();\n this.matDataSource.filterPredicate = (row, filter) => {\n const filters = JSON.parse(filter);\n for (const filter in filters) {\n const filterValue = filters[filter];\n const rowValue = row[filter];\n // multi-select\n if (Array.isArray(filterValue) && filterValue.length > 0 && !filterValue.includes(rowValue)) {\n return false;\n }\n // input or select\n if (!Array.isArray(filterValue) && !String(rowValue).toLowerCase().includes(String(filterValue ?? '').toLowerCase())) {\n return false;\n }\n }\n return true;\n };\n this.filters.valueChanges.pipe(debounceTime(200)).subscribe(() => this.setFilter());\n }\n\n ngAfterViewInit(): void {\n this.setSort();\n this.setPaginator();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.columns) {\n this.setColumns();\n }\n if (changes.dataSource) {\n this.setDataSource();\n }\n if (changes.sort || changes.dataSource) {\n this.setSort();\n }\n if (changes.pageSize || changes['page-size']) {\n this.setPaginator();\n }\n }\n\n get isCompact(): boolean {\n return this.layout === 'compact';\n }\n\n get paginationSize(): number {\n return this.pageSize || this.webCompPageSize || 0;\n }\n\n get isSortEnabled(): boolean {\n return this.sort !== null;\n }\n\n addFilterControls(): void {\n for (const column of this.columns) {\n this.filters.addControl(column.key, new UntypedFormControl());\n }\n }\n\n setDataSource(): void {\n this.matDataSource = new MatTableDataSource(this.dataSource);\n }\n\n setColumns(): void {\n this.displayedColumns = this.columns.map(column => column.key);\n }\n\n setFilter(): void {\n this.matDataSource.filter = JSON.stringify(this.filters.value);\n }\n\n setSort(): void {\n if (!this.matSort || this.sort === null) {\n return;\n }\n const sortSplit = this.sort.split(' ');\n this.sortColumn = sortSplit[0];\n if (['asc', 'desc'].includes(sortSplit[1])) {\n this.sortOrder = sortSplit[1] as SortOrder;\n } else {\n console.warn(`Sort order '${sortSplit[1]}' is not 'asc' or 'desc', defaulting to 'asc'`);\n }\n if (this.sortColumn) {\n this.matSort.sort({ id: this.sortColumn, start: this.sortOrder, disableClear: false });\n const sortHeader = this.matSort.sortables.get(this.sortColumn) as MatSortHeader;\n if (sortHeader) {\n sortHeader._setAnimationTransitionState({ toState: 'active' });\n } else {\n console.warn(`Unable to find sort column '${this.sortColumn}'. Initial sort failed.`);\n }\n }\n this.matDataSource.sort = this.matSort;\n }\n\n setPaginator(): void {\n // ensures ui updates correctly when paginator options change\n this.changeDetectorRef.detectChanges();\n this.matDataSource.paginator = this.matPaginator;\n }\n\n // necessary for web component to trigger this.filter.valueChanges\n onInputFilter(event: KeyboardEvent, column: Column): void {\n // defer setting filter control as event.target.value is not set yet\n setTimeout(() => this.filters.get(column.key).setValue((event.target as HTMLInputElement).value));\n }\n\n // necessary for web component to trigger this.filter.valueChanges\n onSelectFilter(event: MouseEvent, column: Column): void {\n const innerText = (event.target as HTMLInputElement).innerText;\n this.filters.get(column.key).setValue(innerText === '- none -' ? null : innerText);\n }\n\n // necessary for web component to trigger this.filter.valueChanges\n onMultiSelectFilter(event: MouseEvent, column: Column): void {\n let value = this.filters.controls[column.key].value || [];\n const innerText = (event.target as HTMLInputElement).parentElement.innerText;\n if (value.includes(innerText)) {\n value = value.filter(v => v !== innerText);\n } else {\n value.push(innerText);\n }\n this.filters.get(column.key).setValue(\n value.length === 1 && innerText === ''\n ? null // when all checboxes have been deselected\n : value\n );\n }\n}\n","<table mat-table [dataSource]=\"matDataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByIndex\">\n <ng-container [matColumnDef]=\"column.key\">\n\n <ng-template #tableHeaders>\n <ng-container [ngSwitch]=\"column.filter?.control\">\n <ng-container *ngSwitchCase=\"'input'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <input matInput [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" (keydown)=\"$event.stopPropagation(); onInputFilter($event, column);\">\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\">\n <mat-option (click)=\"onSelectFilter($event, column);\">- none -</mat-option>\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" multiple=\"true\">\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onMultiSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchDefault>{{ column.label }}</ng-container>\n </ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"!isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <td mat-cell *matCellDef=\"let element\"> {{ element[column.key] }} </td>\n </ng-container>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n</table>\n<mat-paginator *ngIf=\"paginationSize > 0\" [pageSize]=\"paginationSize\"></mat-paginator>\n\n\n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTableModule } from '@angular/material/table';\n\nimport { FwTableComponent } from './table.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatInputModule,\n MatPaginatorModule,\n MatSelectModule,\n MatSortModule,\n MatTableModule,\n ],\n exports: [\n FwTableComponent,\n ],\n declarations: [\n FwTableComponent,\n ]\n})\nexport class FwTableModule {}\n","import { Component, OnInit, Optional } from '@angular/core';\nimport { Location } from '@angular/common';\n\n@Component({\n selector: 'fw-back-button',\n templateUrl: './back-button.component.html',\n styleUrls: ['./back-button.component.scss']\n})\nexport class BackButtonComponent {\n\n constructor(public location: Location) { \n }\n}\n","<button (click)=\"location.back()\"><fw-icon>arrow-back</fw-icon></button>","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'fw-section-heading',\n templateUrl: './section-heading.component.html',\n styleUrls: ['./section-heading.component.scss']\n})\nexport class FwSectionHeadingComponent implements OnInit {\n\n @Input() heading: string;\n @Input() description?: string;\n @Input() backButton?: boolean = false;\n @Input() icon?: string;\n \n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"heading-area\">\n <fw-back-button *ngIf=\"backButton\"></fw-back-button>\n <fw-icon *ngIf=\"icon\">{{icon}}</fw-icon>\n <div>\n <h2 class=\"section-heading\">{{heading}}</h2>\n <p *ngIf=\"description\">{{description}}</p>\n </div>\n</div>\n<div class=\"right-content\">\n <ng-content></ng-content>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FwSectionHeadingComponent } from './section-heading.component';\nimport { BackButtonComponent } from './back-button/back-button.component';\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\n\n@NgModule({\n imports: [\n CommonModule,\n FwButtonModule,\n FwIconModule\n ],\n exports: [\n FwSectionHeadingComponent\n ],\n declarations: [\n FwSectionHeadingComponent,\n BackButtonComponent\n ]\n})\nexport class FwSectionHeadingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.FwIconComponent","i1.TranslationService","i1","i4.TranslatePipe","i5.TrustHtmlPipe","i3.TranslatePipe","i6.TranslatePipe","i1.FwNotificationTimerService","i1.FwNotificationService","i2","i3.FwButtonComponent","i5.FwNotificationComponent","i3","i4","i5","i3.BackButtonComponent"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flywheel-io/vision",
3
- "version": "0.9.2",
3
+ "version": "0.9.3",
4
4
  "description": "Flywheel UI elements provided as Angular components and native web components",
5
5
  "author": "Jody Zeitler <jody.zeitler@gmail.com>",
6
6
  "license": "MIT",