{"version":3,"file":"dbg-riskit-angular-view.mjs","sources":["../../../../pkg/dbg-riskit/angular-view/src/lib/message.component.ts","../../../../pkg/dbg-riskit/angular-view/src/lib/message.component.html","../../../../pkg/dbg-riskit/angular-view/src/lib/base.component.ts","../../../../pkg/dbg-riskit/angular-view/src/lib/flex.component.ts","../../../../pkg/dbg-riskit/angular-view/src/lib/flex.spacer.component.ts","../../../../pkg/dbg-riskit/angular-view/src/lib/loader.component.ts","../../../../pkg/dbg-riskit/angular-view/src/lib/message.dialog.component.ts","../../../../pkg/dbg-riskit/angular-view/src/lib/message.dialog.component.html","../../../../pkg/dbg-riskit/angular-view/src/lib/percent.pipe.ts","../../../../pkg/dbg-riskit/angular-view/src/lib/progress.loader.component.ts","../../../../pkg/dbg-riskit/angular-view/src/lib/dialog.service.ts","../../../../pkg/dbg-riskit/angular-view/src/lib/match.media.ts","../../../../pkg/dbg-riskit/angular-view/src/lib/layout.component.ts","../../../../pkg/dbg-riskit/angular-view/src/lib/layout.component.html","../../../../pkg/dbg-riskit/angular-view/src/lib/sub.link.directive.ts","../../../../pkg/dbg-riskit/angular-view/src/lib/link.active.directive.ts","../../../../pkg/dbg-riskit/angular-view/src/lib/toolbar.component.ts","../../../../pkg/dbg-riskit/angular-view/src/lib/common.view.module.ts","../../../../pkg/dbg-riskit/angular-view/src/dbg-riskit-angular-view.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, ElementRef, Input} from '@angular/core';\n\nexport const RISK_ERROR_SELECTOR = 'risk-error';\nexport const RISK_GOOD_SELECTOR = 'risk-good';\nexport const RISK_INFO_SELECTOR = 'risk-info';\nexport const RISK_MESSAGE_SELECTOR = 'risk-message';\nexport const RISK_WARN_SELECTOR = 'risk-warn';\n\nexport const RISK_INITIAL_LOAD_SELECTOR = 'risk-initial-load';\nexport const RISK_NO_DATA_SELECTOR = 'risk-no-data';\nexport const RISK_UPDATE_FAILED_SELECTOR = 'risk-update-failed';\n\nexport const COMPONENT_SELECTOR = RISK_ERROR_SELECTOR + ', ' + RISK_GOOD_SELECTOR + ', ' + RISK_INFO_SELECTOR + ', '\n                                  + RISK_MESSAGE_SELECTOR + ', ' + RISK_WARN_SELECTOR + ', '\n                                  + RISK_INITIAL_LOAD_SELECTOR + ', ' + RISK_NO_DATA_SELECTOR + ', '\n                                  + RISK_UPDATE_FAILED_SELECTOR;\n\nconst COLOR_EQUALS = 'color === \"';\n\n@Component({\n    selector           : COMPONENT_SELECTOR,\n    templateUrl        : 'message.component.html',\n    styleUrls          : [\n        '../../../component.scss',\n        'message.component.scss'\n    ],\n    host               : {\n        '[class.risk-message]'             : 'true',\n        '[class.risk-message-error]'       : COLOR_EQUALS + RISK_ERROR_SELECTOR + '\"',\n        '[class.risk-message-warn]'        : COLOR_EQUALS + RISK_WARN_SELECTOR + '\"',\n        '[class.risk-message-good]'        : COLOR_EQUALS + RISK_GOOD_SELECTOR + '\"',\n        '[class.risk-message-info]'        : COLOR_EQUALS + RISK_INFO_SELECTOR + '\"',\n        '[class.risk-message-initial-load]': 'initialLoad',\n        '[class.risk-message-no-data]'     : 'noData',\n        '[class.risk-message-update-error]': 'updateError'\n    },\n    changeDetection    : ChangeDetectionStrategy.OnPush,\n    preserveWhitespaces: false\n})\nexport class MessageComponent {\n\n    private readonly _initialLoad: boolean;\n    private readonly _noData: boolean;\n    private readonly _updateError: boolean;\n    private readonly _color: typeof RISK_GOOD_SELECTOR\n        | typeof RISK_INFO_SELECTOR\n        | typeof RISK_ERROR_SELECTOR\n        | typeof RISK_WARN_SELECTOR\n        | null;\n\n    @Input('message')\n    public message?: string;\n\n    public constructor(elementRef: ElementRef) {\n        const tagName = elementRef.nativeElement.tagName.toLowerCase();\n        this._initialLoad = tagName === RISK_INITIAL_LOAD_SELECTOR;\n        this._noData = tagName === RISK_NO_DATA_SELECTOR;\n        this._updateError = tagName === RISK_UPDATE_FAILED_SELECTOR;\n        switch (tagName) {\n            case RISK_INFO_SELECTOR:\n            case RISK_NO_DATA_SELECTOR:\n                this._color = RISK_INFO_SELECTOR;\n                break;\n            case RISK_WARN_SELECTOR:\n            case RISK_INITIAL_LOAD_SELECTOR:\n                this._color = RISK_WARN_SELECTOR;\n                break;\n            case RISK_ERROR_SELECTOR:\n            case RISK_UPDATE_FAILED_SELECTOR:\n                this._color = RISK_ERROR_SELECTOR;\n                break;\n            case RISK_GOOD_SELECTOR:\n                this._color = RISK_GOOD_SELECTOR;\n                break;\n            default:\n                this._color = null;\n        }\n    }\n\n    public get color(): string | null {\n        return this._color;\n    }\n\n    public get initialLoad(): boolean {\n        return this._initialLoad;\n    }\n\n    public get noData(): boolean {\n        return this._noData;\n    }\n\n    public get updateError(): boolean {\n        return this._updateError;\n    }\n}\n","<mat-card [ngClass]=\"color\">\n    <ng-template [ngIf]=\"initialLoad\">\n        <mat-spinner [diameter]=\"50\"></mat-spinner>\n        Loading...\n    </ng-template>\n    <ng-template [ngIf]=\"noData\">No data available.</ng-template>\n    <ng-template [ngIf]=\"updateError\">Failed to update the data: {{message}}.</ng-template>\n    <ng-template [ngIf]=\"!initialLoad && !noData && !updateError\">{{message}}</ng-template>\n    <ng-content></ng-content>\n</mat-card>","import {Directive, OnDestroy} from '@angular/core';\n\nimport {Observable, Subject} from 'rxjs';\n\n@Directive()\nexport class BaseComponent implements OnDestroy {\n    private readonly _destroyed = new Subject<void>();\n\n    public ngOnDestroy(): void {\n        this._destroyed.next();\n        this._destroyed.complete();\n    }\n\n    public get destroyed(): Observable<void> {\n        return this._destroyed.asObservable();\n    }\n}\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\n\n@Component({\n    selector           : 'risk-flex',\n    template           : '<ng-content></ng-content>',\n    styleUrls          : [\n        '../../../component.scss',\n        'flex.component.scss'\n    ],\n    host               : {\n        '[class.risk-flex]'     : '!wrapContent',\n        '[class.risk-flex-wrap]': 'wrapContent'\n    },\n    changeDetection    : ChangeDetectionStrategy.OnPush,\n    preserveWhitespaces: false\n})\nexport class FlexComponent {\n\n    @Input()\n    public wrapContent = false;\n}\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\n\n@Component({\n    selector           : 'risk-flex-spacer',\n    template           : '',\n    styleUrls          : [\n        '../../../component.scss'\n    ],\n    host               : {\n        '[class.risk-flex-spacer]': 'true'\n    },\n    changeDetection    : ChangeDetectionStrategy.OnPush,\n    preserveWhitespaces: false\n})\nexport class FlexSpacerComponent {\n}\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\nimport {DialogComponent} from './dialog.service';\n\nexport interface DialogData {\n    title?: string;\n    cancel?: () => void;\n}\n\n@Component({\n    template           : `\n        <risk-flex [wrapContent]=\"true\">\n            <risk-flex-spacer></risk-flex-spacer>\n            <mat-spinner></mat-spinner>\n            <risk-flex-spacer></risk-flex-spacer>\n        </risk-flex>\n        <risk-flex *ngIf=\"dialogData.title\" [wrapContent]=\"true\">\n            <risk-flex-spacer></risk-flex-spacer>\n            <h3>{{ dialogData.title }}</h3>\n            <risk-flex-spacer></risk-flex-spacer>\n        </risk-flex>\n        <risk-flex *ngIf=\"dialogData.cancel != null\" [wrapContent]=\"true\">\n            <risk-flex-spacer></risk-flex-spacer>\n            <button mat-button color=\"warn\" (click)=\"dialogData.cancel()\">Cancel</button>\n            <risk-flex-spacer></risk-flex-spacer>\n        </risk-flex>\n    `,\n    styles             : [\n            `\n            h3 {\n                margin-bottom: 0;\n            }`\n    ],\n    host               : {\n        '[class.risk-loader-dialog]': 'true'\n    },\n    changeDetection    : ChangeDetectionStrategy.OnPush,\n    preserveWhitespaces: false\n})\nexport class LoaderComponent implements DialogComponent<DialogData, void> {\n\n    public constructor(private readonly dialogRef: MatDialogRef<LoaderComponent, void>,\n                       @Inject(MAT_DIALOG_DATA) private readonly data: DialogData) {\n    }\n\n    public get dialogData(): DialogData {\n        return this.data;\n    }\n\n    public close() {\n        this.dialogRef.close();\n    }\n}\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\nimport {MatColorTheme} from '@dbg-riskit/angular-common';\nimport {DialogComponent} from './dialog.service';\n\nexport interface DialogConfig<R> {\n    dialogType: DialogType;\n    buttons?: Array<DialogButton<R>>;\n    title?: string;\n    message: string;\n    note?: string;\n    icon?: string;\n}\n\nexport type DialogType = 'error' | 'warning' | 'info' | 'success' | 'question';\n\nexport interface DialogButton<R> {\n    label: string;\n    value?: R;\n    primary?: boolean;\n}\n\n@Component({\n    templateUrl        : 'message.dialog.component.html',\n    styleUrls          : [\n        '../../../component.scss',\n        'message.dialog.component.scss'\n    ],\n    host               : {\n        '[class.risk-message-dialog]': 'true'\n    },\n    changeDetection    : ChangeDetectionStrategy.OnPush,\n    preserveWhitespaces: false\n})\nexport class MessageDialogComponent<R> implements DialogComponent<DialogConfig<R>, R> {\n\n    public get customIcon() {\n        return this.dialogData.icon;\n    }\n\n    public get dialogType(): DialogType {\n        return this.dialogData.dialogType || 'info';\n    }\n\n    public get buttons(): Array<DialogButton<R>> {\n        return this.dialogData.buttons || [\n            {\n                label: 'OK'\n            }\n        ];\n    }\n\n    public constructor(public readonly dialogRef: MatDialogRef<MessageDialogComponent<R>, R>,\n                       @Inject(MAT_DIALOG_DATA) private readonly data: DialogConfig<R>) {\n    }\n\n    public get color(): MatColorTheme {\n        switch (this.dialogType) {\n            case 'error':\n                return 'warn';\n            case 'warning':\n                return 'warn';\n            case 'info':\n                return 'accent';\n            case 'question':\n                return 'accent';\n            case 'success':\n                return 'primary';\n        }\n        return null;\n    }\n\n    public get icon(): string {\n        if (this.customIcon) {\n            return this.customIcon;\n        }\n        switch (this.dialogType) {\n            case 'error':\n                return 'error';\n            case 'warning':\n                return 'warning';\n            case 'info':\n                return 'info';\n            case 'question':\n                return 'help';\n            case 'success':\n                return 'check';\n        }\n        return 'info';\n    }\n\n    public get dialogData(): DialogConfig<R> {\n        return this.data;\n    }\n\n    public close(button: DialogButton<R>) {\n        this.dialogRef.close(button.value);\n    }\n}\n","<div class=\"risk-message-dialog-message\">\n    <h3 *ngIf=\"dialogData.title\">\n        <mat-icon [color]=\"color\">{{ icon }}</mat-icon>\n        <strong>{{dialogData.title}}</strong>\n    </h3>\n    <h3>\n        <mat-icon *ngIf=\"!dialogData.title\" [color]=\"color\">{{ icon }}</mat-icon>\n        {{dialogData.message}}\n    </h3>\n    <small *ngIf=\"dialogData.note\">NOTE: {{dialogData.note}}</small>\n</div>\n<a *ngFor=\"let button of buttons\"\n   mat-button\n   [color]=\"button.primary ? color : null\"\n   (click)=\"close(button)\">{{ button.label }}</a>\n","import {DecimalPipe} from '@angular/common';\nimport {Pipe, PipeTransform} from '@angular/core';\nimport {Maybe} from '@dbg-riskit/common';\n\n@Pipe({\n    name: 'percent'\n})\nexport class PercentPipe implements PipeTransform {\n\n    public constructor(private readonly decimalPipe: DecimalPipe) {\n    }\n\n    public transform(value: Maybe<number | string>, digits?: string): string | undefined {\n        const transformedNumber = this.decimalPipe.transform(value, digits);\n        if (transformedNumber) {\n            return transformedNumber + '%';\n        }\n\n        return undefined;\n    }\n}\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, PipeTransform} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\nimport {DialogComponent} from './dialog.service';\n\nexport interface DialogData {\n    title?: string;\n    value?: number;\n    total?: number;\n    valueFormatter?: PipeTransform;\n    cancel?: () => void;\n}\n\n@Component({\n    template           : `\n        <risk-flex [wrapContent]=\"true\">\n            <risk-flex-spacer></risk-flex-spacer>\n            <mat-progress-spinner\n                [mode]=\"mode\"\n                [value]=\"value / (total || 1) * 100\">\n            </mat-progress-spinner>\n            <risk-flex-spacer></risk-flex-spacer>\n        </risk-flex>\n        <risk-flex *ngIf=\"dialogData.title\" [wrapContent]=\"true\">\n            <risk-flex-spacer></risk-flex-spacer>\n            <h3>{{ dialogData.title }}</h3>\n            <risk-flex-spacer></risk-flex-spacer>\n        </risk-flex>\n        <risk-flex [wrapContent]=\"true\">\n            <risk-flex-spacer></risk-flex-spacer>\n            <h5 *ngIf=\"total != null && total > 0; else valueOnly\">{{ valueFormatter.transform(value) }}\n                /{{ valueFormatter.transform(total) }}\n                - {{ value / total * 100 | percent:'.1-1' }}</h5>\n            <ng-template #valueOnly><h5>{{ valueFormatter.transform(value) }}</h5></ng-template>\n            <risk-flex-spacer></risk-flex-spacer>\n        </risk-flex>\n        <risk-flex *ngIf=\"dialogData.cancel != null\" [wrapContent]=\"true\">\n            <risk-flex-spacer></risk-flex-spacer>\n            <button mat-button color=\"warn\" (click)=\"dialogData.cancel()\">Cancel</button>\n            <risk-flex-spacer></risk-flex-spacer>\n        </risk-flex>\n    `,\n    styles             : [\n        `\n            h3 {\n                margin-bottom: 0;\n            }`\n    ],\n    host               : {\n        '[class.risk-progress-loader-dialog]': 'true'\n    },\n    changeDetection    : ChangeDetectionStrategy.OnPush,\n    preserveWhitespaces: false\n})\nexport class ProgressLoaderComponent implements DialogComponent<DialogData, void> {\n\n    public get value(): number {\n        if (this.dialogData.value == null || this.dialogData.value < 0) {\n            return 0;\n        }\n        return this.dialogData.value;\n    }\n\n    public set value(value: number) {\n        this.dialogData.value = value;\n        this.changeDetector.markForCheck();\n    }\n\n    public get total(): number | undefined {\n        return this.dialogData.total;\n    }\n\n    public set total(value: number | undefined) {\n        this.dialogData.total = value;\n        this.changeDetector.markForCheck();\n    }\n\n    public constructor(private readonly dialogRef: MatDialogRef<ProgressLoaderComponent, void>,\n                       @Inject(MAT_DIALOG_DATA) private readonly data: DialogData,\n                       private readonly changeDetector: ChangeDetectorRef) {\n    }\n\n    public get dialogData(): DialogData {\n        return this.data;\n    }\n\n    public get valueFormatter(): PipeTransform {\n        return this.data.valueFormatter || {transform: (data) => data};\n    }\n\n    public get mode(): 'indeterminate' | 'determinate' {\n        switch (true) {\n            case this.total == null:\n            case this.total != null && this.total <= 0:\n            case this.value <= 0:\n            case this.value === this.total:\n                return 'indeterminate';\n            default:\n                return 'determinate';\n        }\n    }\n\n    public close() {\n        this.dialogRef.close();\n    }\n}\n","import {Injectable, Type} from '@angular/core';\nimport {MatDialog} from '@angular/material/dialog';\nimport {first} from 'rxjs/operators';\nimport {DialogData as LoaderConfig, LoaderComponent} from './loader.component';\nimport {\n    DialogButton,\n    DialogConfig as MessageDialogConfig,\n    DialogType,\n    MessageDialogComponent\n} from './message.dialog.component';\nimport {DialogData as ProgressLoaderConfig, ProgressLoaderComponent} from './progress.loader.component';\n\nexport interface DialogConfig<T> {\n    /** Custom class for the overlay pane. */\n    readonly panelClass?: string;\n    /** Whether the dialog has a backdrop. */\n    readonly hasBackdrop?: boolean;\n    /** Custom class for the backdrop, */\n    readonly backdropClass?: string;\n    /** Whether the user can use escape or clicking outside to close a modal. */\n    readonly disableClose?: boolean;\n\n    readonly data?: T;\n}\n\nexport interface DialogComponent<T, R = unknown> {\n    readonly dialogData: T;\n}\n\n@Injectable()\nexport class DialogService {\n\n    public constructor(public readonly dialog: MatDialog) {\n    }\n\n    public showWarnDialog(message: string, note?: string) {\n        return this.showMessageDialog({\n            dialogType: 'warning',\n            message,\n            note\n        });\n    }\n\n    public showWarnQuestionDialog(destroyCallback: () => void,\n                                  destructiveButtonLabel: string,\n                                  message: string,\n                                  note?: string) {\n        return this.showMessageDialog({\n            dialogType: 'warning',\n            message,\n            note,\n            buttons   : [\n                {\n                    label  : destructiveButtonLabel,\n                    value  : true,\n                    primary: true\n                },\n                {\n                    label: 'Cancel',\n                    value: false\n                }\n            ],\n            answerCallback(result?: boolean) {\n                if (result) {\n                    destroyCallback();\n                }\n            }\n        });\n    }\n\n    public showErrorDialog(message: string, note?: string) {\n        return this.showMessageDialog({\n            dialogType: 'error',\n            message,\n            note\n        });\n    }\n\n    public showInfoDialog(message: string, note?: string) {\n        return this.showMessageDialog({\n            dialogType: 'info',\n            message,\n            note\n        });\n    }\n\n    public showSuccessDialog(message: string, note?: string) {\n        return this.showMessageDialog({\n            dialogType: 'success',\n            message,\n            note\n        });\n    }\n\n    public showQuestionDialog<R>(buttons: Array<DialogButton<R>>,\n                                 answerCallback: (value?: R) => void,\n                                 message: string,\n                                 note?: string) {\n        return this.showMessageDialog({\n            dialogType: 'question',\n            message,\n            note,\n            buttons,\n            answerCallback\n        });\n    }\n\n    public showMessageDialog<R>(config: {\n        dialogType: DialogType;\n        buttons?: Array<DialogButton<R>>;\n        answerCallback?: (value?: R) => void;\n        config?: DialogConfig<undefined>;\n        title?: string,\n        message: string;\n        note?: string;\n        icon?: string;\n    }) {\n        return this.showDialog(MessageDialogComponent, {\n                ...config.config,\n                data: {\n                    dialogType: config.dialogType,\n                    buttons   : config.buttons,\n                    title     : config.title,\n                    message   : config.message,\n                    note      : config.note,\n                    icon      : config.icon\n                } as MessageDialogConfig<R>\n            },\n            config.answerCallback);\n    }\n\n    /* eslint-disable @typescript-eslint/unified-signatures */\n    public showLoaderDialog(title: string): LoaderComponent;\n    public showLoaderDialog(data: LoaderConfig): LoaderComponent;\n    /* eslint-enable */\n    public showLoaderDialog(data: string | LoaderConfig): LoaderComponent {\n        if (typeof data === 'string') {\n            data = {\n                title: data\n            };\n        }\n        return this.showDialog(LoaderComponent, {\n            disableClose: true,\n            hasBackdrop : true,\n            data\n        });\n    }\n\n    /* eslint-disable @typescript-eslint/unified-signatures */\n    public showProgressLoaderDialog(title: string): ProgressLoaderComponent;\n    public showProgressLoaderDialog(data: ProgressLoaderConfig): ProgressLoaderComponent;\n    /* eslint-enable */\n    public showProgressLoaderDialog(data: string | ProgressLoaderConfig): ProgressLoaderComponent {\n        if (typeof data === 'string') {\n            data = {\n                title: data\n            };\n        }\n\n        return this.showDialog(ProgressLoaderComponent, {\n            disableClose: true,\n            hasBackdrop : true,\n            data\n        });\n    }\n\n    /* eslint-disable @typescript-eslint/unified-signatures */\n    public showDialog<T extends DialogComponent<D, R>, D, R>(dialogClass: Type<T>): T;\n    public showDialog<T extends DialogComponent<D, R>, D, R>(dialogClass: Type<T>,\n                                                             config?: DialogConfig<D>): T;\n    public showDialog<T extends DialogComponent<D, R>, D, R>(dialogClass: Type<T>,\n                                                             callback?: (result?: R) => void): T;\n    public showDialog<T extends DialogComponent<D, R>, D, R>(dialogClass: Type<T>,\n                                                             config?: DialogConfig<D>,\n                                                             callback?: (result?: R) => void): T;\n    /* eslint-enable */\n    public showDialog<T extends DialogComponent<D, R>, D, R>(dialogClass: Type<T>,\n                                                             configOrCallback?: DialogConfig<D>\n                                                                 | ((result?: R) => void),\n                                                             callback?: (result?: R) => void): T {\n        let config: DialogConfig<D> | undefined;\n        if (typeof configOrCallback === 'function') {\n            callback = configOrCallback;\n        } else {\n            config = configOrCallback;\n        }\n        const dialogRef = this.dialog.open(dialogClass, config);\n\n        dialogRef.afterClosed().pipe(\n            first()\n        ).subscribe((result?: R) => {\n            if (callback) {\n                callback(result);\n            }\n        });\n\n        return dialogRef.componentInstance;\n    }\n}\n","import {Injectable, NgZone} from '@angular/core';\nimport {CONTENT_TYPE, Logger} from '@dbg-riskit/common';\nimport {BehaviorSubject, Observable} from 'rxjs';\nimport {filter} from 'rxjs/operators';\n\n/**\n * Class instances emitted [to observers] for each mql notification\n */\nexport class MediaChange {\n    public constructor(public readonly mediaQuery = 'all') {\n    }\n}\n\n/**\n * MediaMonitor configures listeners to mediaQuery changes and publishes an Observable facade to\n * convert mediaQuery change callbacks to subscriber notifications. These notifications will be\n * performed within the ng Zone to trigger change detections and component updates.\n *\n * NOTE: both mediaQuery activations and de-activations are announced in notifications\n */\n@Injectable()\nexport class MatchMedia {\n    protected readonly _registry: Map<string, MediaQueryList>;\n    protected readonly _source: BehaviorSubject<MediaChange>;\n    protected readonly _observable$: Observable<MediaChange>;\n\n    public constructor(protected readonly ngZone: NgZone,\n                       private readonly logger: Logger) {\n        this._registry = new Map<string, MediaQueryList>();\n        this._source = new BehaviorSubject<MediaChange>(new MediaChange());\n        this._observable$ = this._source.asObservable();\n    }\n\n    /**\n     * For the specified mediaQuery?\n     */\n    public isActive(mediaQuery: string): boolean {\n        if (this._registry.has(mediaQuery)) {\n            const mql = this._registry.get(mediaQuery);\n            return mql!.matches;\n        }\n        return false;\n    }\n\n    /**\n     * External observers can watch for all (or a specific) mql changes.\n     * Typically used by the MediaQueryAdaptor; optionally available to components\n     * who wish to use the MediaMonitor as mediaMonitor$ observable service.\n     *\n     * NOTE: if a mediaQuery is not specified, then ALL mediaQuery activations will\n     *       be announced.\n     */\n    public observe(mediaQuery?: string): Observable<MediaChange> {\n        this.registerQuery(mediaQuery);\n\n        return this._observable$.pipe(\n            filter((change: MediaChange) => {\n                return mediaQuery ? (change.mediaQuery === mediaQuery) : true;\n            })\n        );\n    }\n\n    /**\n     * Based on the BreakPointRegistry provider, register internal listeners for each unique\n     * mediaQuery. Each listener emits specific MediaChange data to observers\n     */\n    private registerQuery(mediaQuery?: string | string[]) {\n        const list = normalizeQuery(mediaQuery);\n\n        if (list.length > 0) {\n            prepareQueryCSS(list, this.logger);\n\n            list.forEach((query) => {\n                let mql = this._registry.get(query);\n                const onMQLEvent = () => {\n                    this.ngZone.run(() => {\n                        const change = new MediaChange(query);\n                        this._source.next(change);\n                    });\n                };\n\n                if (!mql) {\n                    mql = this._buildMQL(query);\n                    mql.addEventListener('change', onMQLEvent);\n                    this._registry.set(query, mql);\n                }\n\n                if (mql.matches) {\n                    onMQLEvent();  // Announce activate range for initial subscribers\n                }\n            });\n        }\n    }\n\n    /**\n     * Call window.matchMedia() to build a MediaQueryList; which\n     * supports 0..n listeners for activation/deactivation\n     */\n    protected _buildMQL(query: string): MediaQueryList {\n        const canListen = !!window.matchMedia('all').addEventListener;\n        return canListen ? window.matchMedia(query) : {\n            matches            : query === 'all' || query === '',\n            media              : query,\n            addListener        : () => undefined,\n            addEventListener   : () => undefined,\n            removeListener     : () => undefined,\n            removeEventListener: () => undefined,\n            dispatchEvent      : () => false,\n            onchange           : () => undefined\n        } as MediaQueryList;\n    }\n}\n\n/**\n * Private global registry for all dynamically-created, injected style tags\n * @see prepare(query)\n */\nconst ALL_STYLES: { [key: string]: HTMLStyleElement } = {};\n\n/**\n * For Webkit engines that only trigger the MediaQueryList Listener\n * when there is at least one CSS selector for the respective media query.\n *\n * @param mediaQueries string[] The mediaQueries used to create a faux CSS selector\n *\n */\nfunction prepareQueryCSS(mediaQueries: string[], logger: Logger) {\n    const list = mediaQueries.filter((it) => !ALL_STYLES[it]);\n    if (list.length > 0) {\n        const query = list.join(', ');\n        try {\n            const style: HTMLStyleElement = document.createElement('style');\n\n            style.setAttribute('type', CONTENT_TYPE.TEXT_CSS);\n            // Older IEs\n            if (!(style as any).styleSheet) {\n                const cssText = `/*\n  @angular/flex-layout - workaround for possible browser quirk with mediaQuery listeners\n  see http://bit.ly/2sd4HMP\n*/\n@media ${query} {.fx-query-test{ }}`;\n                style.appendChild(document.createTextNode(cssText));\n            }\n\n            document.getElementsByTagName('head')[0].appendChild(style);\n\n            // Store in private global registry\n            list.forEach((mq) => ALL_STYLES[mq] = style);\n\n        } catch (e) {\n            logger.error(e);\n        }\n    }\n}\n\n/**\n * Always convert to unique list of queries; for iteration in ::registerQuery()\n */\nfunction normalizeQuery(mediaQuery?: string | string[]): string[] {\n    return (typeof mediaQuery === 'undefined') ? [] :\n        (typeof mediaQuery === 'string') ? [mediaQuery] : unique(mediaQuery);\n}\n\n/**\n * Filter duplicate mediaQueries in the list\n */\nfunction unique(list: string[]): string[] {\n    const seen: { [key: string]: boolean } = {};\n    return list.filter((item) => {\n        return seen.hasOwnProperty(item) ? false : (seen[item] = true);\n    });\n}\n","import {\n    ChangeDetectionStrategy,\n    ChangeDetectorRef,\n    Component,\n    Directive,\n    Inject,\n    Input,\n    OnChanges,\n    Optional,\n    SimpleChanges\n} from '@angular/core';\nimport {MatSidenav} from '@angular/material/sidenav';\nimport {AUTH_PROVIDER, MAIN_LOGO} from '@dbg-riskit/angular-common';\nimport {AuthProvider} from '@dbg-riskit/common';\nimport {Observable, of, Subscription} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\nimport {BaseComponent} from './base.component';\nimport {MatchMedia} from './match.media';\n\nconst SMALL_SCREEN_MEDIA_QUERY = (width: number) => `screen and (max-width:${width}px)`;\n\n@Directive({\n    selector: 'risk-layout-vertical',\n    host    : {\n        '[class]': '\"risk-layout-vertical\"'\n    }\n})\nexport class VerticalLayoutDirective {\n}\n\n@Directive({\n    selector: 'risk-layout-vertical-title',\n    host    : {\n        '[class]': '\"risk-layout-vertical-title\"'\n    }\n})\nexport class VerticalLayoutTitleDirective {\n}\n\n@Directive({\n    selector: 'risk-layout-vertical-icon',\n    host    : {\n        '[class]': '\"risk-layout-vertical-icon\"'\n    }\n})\nexport class VerticalLayoutIconDirective {\n}\n\n@Directive({\n    selector: 'risk-layout-horizontal',\n    host    : {\n        '[class]': '\"mat-toolbar-row mat-toolbar-single-row risk-layout-horizontal\"'\n    }\n})\nexport class HorizontalLayoutDirective {\n}\n\n@Directive({\n    selector: 'risk-layout-footer',\n    host    : {\n        '[class]': '\"risk-layout-footer\"'\n    }\n})\nexport class FooterLayoutDirective {\n}\n\n@Component({\n    selector           : 'risk-layout',\n    templateUrl        : 'layout.component.html',\n    styleUrls          : [\n        '../../../component.scss',\n        'layout.component.scss'\n    ],\n    host               : {\n        '[class.risk-layout]': 'true'\n    },\n    changeDetection    : ChangeDetectionStrategy.OnPush,\n    preserveWhitespaces: false\n})\nexport class LayoutComponent extends BaseComponent implements OnChanges {\n\n    @Input()\n    public smallScreenMenuVisible = true;\n\n    @Input()\n    public smallScreenWidth = 600;\n\n    private smallScreenWidthObserver?: Subscription;\n\n    @Input()\n    public footerVisible = true;\n\n    @Input()\n    public toolbarBackgroundColor?: string;\n\n    @Input()\n    public backgroundColor?: string;\n\n    public constructor(@Optional() @Inject(AUTH_PROVIDER) private readonly authProvider: AuthProvider,\n                       @Inject(MAIN_LOGO) private readonly mainLogo: string,\n                       public readonly changeDetectorRef: ChangeDetectorRef,\n                       private readonly matchMedia: MatchMedia) {\n        super();\n\n        // Detect changes once logged-in/out\n        if (authProvider) {\n            authProvider.loggedInStream.pipe(\n                takeUntil(this.destroyed)\n            ).subscribe(() => changeDetectorRef.markForCheck());\n        }\n\n        this.observeSmallScreenWidth();\n    }\n\n    public ngOnChanges(changes: SimpleChanges): void {\n        if ('smallScreenWidth' in changes) {\n            this.observeSmallScreenWidth();\n        }\n    }\n\n    public get authStatus(): Observable<boolean> {\n        if (!this.authProvider) {\n            return of(true);\n        }\n        return this.authProvider.loggedIn;\n    }\n\n    private observeSmallScreenWidth() {\n        if (this.smallScreenWidthObserver != null) {\n            this.smallScreenWidthObserver.unsubscribe();\n        }\n\n        this.smallScreenWidthObserver = this.matchMedia.observe(SMALL_SCREEN_MEDIA_QUERY(this.smallScreenWidth)).pipe(\n            takeUntil(this.destroyed)\n        ).subscribe(() => this.changeDetectorRef.markForCheck());\n    }\n\n    public get mediaSmall(): boolean {\n        return this.matchMedia.isActive(SMALL_SCREEN_MEDIA_QUERY(this.smallScreenWidth));\n    }\n\n    public get logo(): string {\n        return this.mainLogo;\n    }\n\n    public closeSideNav(sidenav: MatSidenav): void {\n        this.authStatus.subscribe((res: boolean) => {\n            if (!res) {\n                sidenav.close();\n                this.changeDetectorRef.markForCheck();\n            }\n        });\n    }\n}\n","<mat-toolbar class=\"mat-elevation-z2\"\n             [style.backgroundColor]=\"toolbarBackgroundColor\">\n    <div class=\"risk-layout-logo\">\n        <img [src]=\"logo\" alt=\"Company logo\">\n    </div>\n\n    <ng-template [ngIf]=\"authStatus | async\">\n        <ng-template [ngIf]=\"!mediaSmall\">\n            <ng-content select=\"[menu-horizontal], risk-layout-horizontal > *\"></ng-content>\n        </ng-template>\n\n        <ng-template [ngIf]=\"mediaSmall\">\n            <ng-content select=\"[menu-vertical-title], risk-layout-vertical-title > *\"></ng-content>\n\n            <risk-flex-spacer></risk-flex-spacer>\n\n            <ng-content select=\"[menu-vertical-icon], risk-layout-vertical-icon > *\"></ng-content>\n\n            <button mat-icon-button\n                    (click)=\"sidenav.toggle()\"\n                    type=\"button\"\n                    *ngIf=\"smallScreenMenuVisible\">\n                <mat-icon>menu</mat-icon>\n            </button>\n        </ng-template>\n    </ng-template>\n</mat-toolbar>\n\n<mat-sidenav-container [class.risk-layout-with-footer]=\"footerVisible\"\n                       [style.backgroundColor]=\"backgroundColor\">\n    <mat-sidenav #sidenav=\"matSidenav\" (click)=\"closeSideNav(sidenav)\">\n        <ng-content select=\"[menu-vertical], risk-layout-vertical > *\"></ng-content>\n    </mat-sidenav>\n\n    <div class=\"risk-layout-content\">\n        <ng-content></ng-content>\n    </div>\n</mat-sidenav-container>\n\n<div class=\"risk-layout-footer\" *ngIf=\"footerVisible\">\n    <ng-content select=\"risk-layout-footer > *\"></ng-content>\n</div>\n","import {Directive, Input} from '@angular/core';\nimport {ActivatedRoute, Router, UrlTree} from '@angular/router';\n\n@Directive({selector: '[riskSubLink]'})\nexport class SubLinkDirective {\n\n    private commands: unknown[] = [];\n\n    public constructor(private readonly router: Router,\n                       private readonly route: ActivatedRoute) {\n    }\n\n    @Input('riskSubLink')\n    public set subLink(commands: unknown[] | string) {\n        if (commands == null) {\n            this.commands = [];\n        } else {\n            this.commands = Array.isArray(commands) ? commands : [commands];\n        }\n    }\n\n    public get urlTree(): UrlTree {\n        return this.router.createUrlTree(this.commands, {\n            relativeTo: this.route\n        });\n    }\n}\n","import {\n    AfterContentInit,\n    ChangeDetectorRef,\n    ContentChildren,\n    Directive,\n    ElementRef,\n    Input,\n    OnChanges,\n    OnDestroy,\n    QueryList,\n    Renderer2,\n    SimpleChanges\n} from '@angular/core';\nimport {NavigationEnd, Router, RouterLink, RouterLinkWithHref} from '@angular/router';\nimport {Subscription} from 'rxjs';\nimport {SubLinkDirective} from './sub.link.directive';\n\n@Directive({\n    selector: '[riskLinkActive]',\n    exportAs: 'riskLinkActive'\n})\nexport class LinkActiveDirective implements OnChanges, OnDestroy, AfterContentInit {\n\n    @ContentChildren(RouterLink, {descendants: true})\n    public links?: QueryList<RouterLink>;\n\n    @ContentChildren(RouterLinkWithHref, {descendants: true})\n    public linksWithHrefs?: QueryList<RouterLinkWithHref>;\n\n    @ContentChildren(SubLinkDirective, {descendants: true})\n    public subLinks?: QueryList<SubLinkDirective>;\n\n    private classes: string[] = [];\n    private readonly subscription: Subscription;\n    public readonly isActive: boolean = false;\n\n    @Input('riskLinkActiveOptions')\n    public routerLinkActiveOptions: { exact: boolean } = {exact: false};\n\n    public constructor(private readonly router: Router,\n                       private readonly element: ElementRef,\n                       private readonly renderer: Renderer2,\n                       private readonly changeDetectorRef: ChangeDetectorRef) {\n        this.subscription = router.events.subscribe((s) => {\n            if (s instanceof NavigationEnd) {\n                this.update();\n            }\n        });\n    }\n\n    public ngAfterContentInit(): void {\n        this.links!.changes.subscribe((_) => this.update());\n        this.linksWithHrefs!.changes.subscribe((_) => this.update());\n        this.subLinks!.changes.subscribe((_) => this.update());\n        this.update();\n    }\n\n    @Input('riskLinkActive')\n    public set menuLinkActive(data: string[] | string) {\n        const classes = Array.isArray(data) ? data : data.split(' ');\n        this.classes = classes.filter((c) => !!c);\n    }\n\n    public ngOnChanges(changes: SimpleChanges): void {\n        this.update();\n    }\n\n    public ngOnDestroy(): void {\n        this.subscription.unsubscribe();\n    }\n\n    private update(): void {\n        if (!this.links || !this.linksWithHrefs || !this.subLinks || !this.router.navigated) {\n            return;\n        }\n        const hasActiveLinks = this.hasActiveLinks();\n\n        // react only when status has changed to prevent unnecessary dom updates\n        if (this.isActive !== hasActiveLinks) {\n            this.classes.forEach((c) => {\n                if (hasActiveLinks) {\n                    this.renderer.addClass(this.element.nativeElement, c);\n                } else {\n                    this.renderer.removeClass(this.element.nativeElement, c);\n                }\n            });\n            Promise.resolve(hasActiveLinks).then((active) => {\n                (this as {\n                    isActive: boolean\n                }).isActive = active;\n                this.changeDetectorRef.detectChanges();\n            });\n        }\n    }\n\n    private isLinkActive(router: Router): (link: (SubLinkDirective | RouterLink | RouterLinkWithHref)) => boolean {\n        return (link: SubLinkDirective | RouterLink | RouterLinkWithHref) =>\n            link.urlTree ? router.isActive(link.urlTree, this.routerLinkActiveOptions.exact) : false;\n    }\n\n    private hasActiveLinks(): boolean {\n        return this.links!.some(this.isLinkActive(this.router))\n               || this.linksWithHrefs!.some(this.isLinkActive(this.router))\n               || this.subLinks!.some(this.isLinkActive(this.router));\n    }\n\n}\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\n\n@Component({\n    selector           : 'risk-toolbar',\n    template           : '<mat-toolbar class=\"mat-elevation-z1\"><ng-content></ng-content></mat-toolbar>',\n    styleUrls          : [\n        '../../../component.scss',\n        'toolbar.component.scss'\n    ],\n    host               : {\n        '[class.risk-toolbar]': 'true'\n    },\n    changeDetection    : ChangeDetectionStrategy.OnPush,\n    preserveWhitespaces: false\n})\nexport class ToolbarComponent {\n\n    @Input()\n    public wrapContent = false;\n}\n","import {CommonModule, DatePipe, DecimalPipe} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, Inject, Injectable, NgModule} from '@angular/core';\nimport {MatAutocompleteModule} from '@angular/material/autocomplete';\nimport {MatBadgeModule} from '@angular/material/badge';\nimport {MatBottomSheetModule} from '@angular/material/bottom-sheet';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatButtonToggleModule} from '@angular/material/button-toggle';\nimport {MatCardModule} from '@angular/material/card';\nimport {MatCheckboxModule} from '@angular/material/checkbox';\nimport {MatChipsModule} from '@angular/material/chips';\nimport {MatDatepickerModule} from '@angular/material/datepicker';\nimport {MatDialogModule} from '@angular/material/dialog';\nimport {MatDividerModule} from '@angular/material/divider';\nimport {MatExpansionModule} from '@angular/material/expansion';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport {MatGridListModule} from '@angular/material/grid-list';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatInputModule} from '@angular/material/input';\nimport {MatListModule} from '@angular/material/list';\nimport {MatMenuModule} from '@angular/material/menu';\nimport {MatPaginatorModule} from '@angular/material/paginator';\nimport {MatProgressBarModule} from '@angular/material/progress-bar';\nimport {MatProgressSpinnerModule, MatSpinner} from '@angular/material/progress-spinner';\nimport {MatRadioModule} from '@angular/material/radio';\nimport {MatSelectModule} from '@angular/material/select';\nimport {MatSidenavModule} from '@angular/material/sidenav';\nimport {MatSlideToggleModule} from '@angular/material/slide-toggle';\nimport {MatSliderModule} from '@angular/material/slider';\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\nimport {MatSortModule} from '@angular/material/sort';\nimport {MatStepperModule} from '@angular/material/stepper';\nimport {MatTableModule} from '@angular/material/table';\nimport {MatTabsModule} from '@angular/material/tabs';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {MatTreeModule} from '@angular/material/tree';\nimport {BrowserAnimationsModule, NoopAnimationsModule} from '@angular/platform-browser/animations';\nimport {RouterModule} from '@angular/router';\nimport {DATE_FORMAT} from '@dbg-riskit/angular-common';\nimport {LoggingModule} from '@dbg-riskit/angular-logging';\nimport {DialogService} from './dialog.service';\nimport {FlexComponent} from './flex.component';\nimport {FlexSpacerComponent} from './flex.spacer.component';\nimport {\n    FooterLayoutDirective,\n    HorizontalLayoutDirective,\n    LayoutComponent,\n    VerticalLayoutDirective,\n    VerticalLayoutIconDirective,\n    VerticalLayoutTitleDirective\n} from './layout.component';\nimport {LinkActiveDirective} from './link.active.directive';\nimport {LoaderComponent} from './loader.component';\nimport {MatchMedia} from './match.media';\nimport {COMPONENT_SELECTOR, MessageComponent} from './message.component';\nimport {MessageDialogComponent} from './message.dialog.component';\nimport {PercentPipe} from './percent.pipe';\nimport {ProgressLoaderComponent} from './progress.loader.component';\nimport {SubLinkDirective} from './sub.link.directive';\nimport {ToolbarComponent} from './toolbar.component';\n\n@Injectable()\nexport class DateFormatter {\n\n    public constructor(@Inject(DATE_FORMAT) private readonly format: string,\n                       private readonly datePipe: DatePipe) {\n    }\n\n    public transform(value: Date): string | null {\n        return this.datePipe.transform(value, this.format);\n    }\n}\n\n@NgModule({\n    imports        : [\n        // Angular modules\n        CommonModule,\n        RouterModule,\n\n        // Our modules\n        LoggingModule,\n\n        // Material modules\n        MatAutocompleteModule,\n        MatBadgeModule,\n        MatBottomSheetModule,\n        MatButtonModule,\n        MatButtonToggleModule,\n        MatCardModule,\n        MatCheckboxModule,\n        MatChipsModule,\n        MatDatepickerModule,\n        MatDialogModule,\n        MatDividerModule,\n        MatExpansionModule,\n        MatFormFieldModule,\n        MatGridListModule,\n        MatIconModule,\n        MatInputModule,\n        MatListModule,\n        MatMenuModule,\n        MatPaginatorModule,\n        MatProgressBarModule,\n        MatProgressSpinnerModule,\n        MatRadioModule,\n        MatSelectModule,\n        MatSidenavModule,\n        MatSliderModule,\n        MatSlideToggleModule,\n        MatSnackBarModule,\n        MatSortModule,\n        MatStepperModule,\n        MatTableModule,\n        MatTabsModule,\n        MatToolbarModule,\n        MatTooltipModule,\n        MatTreeModule\n    ],\n    declarations   : [\n        // Layout component\n        LayoutComponent,\n        VerticalLayoutDirective,\n        VerticalLayoutTitleDirective,\n        VerticalLayoutIconDirective,\n        HorizontalLayoutDirective,\n        FooterLayoutDirective,\n\n        // Dialogs\n        MessageDialogComponent,\n        LoaderComponent,\n        ProgressLoaderComponent,\n\n        // Pipes\n        PercentPipe,\n\n        // Flex components\n        FlexComponent,\n        FlexSpacerComponent,\n\n        // Router links and sublinks\n        LinkActiveDirective,\n        SubLinkDirective,\n\n        // Toolbar\n        ToolbarComponent\n    ],\n    exports        : [\n        // Material modules\n        MatAutocompleteModule,\n        MatBadgeModule,\n        MatBottomSheetModule,\n        MatButtonModule,\n        MatButtonToggleModule,\n        MatCardModule,\n        MatCheckboxModule,\n        MatChipsModule,\n        MatDatepickerModule,\n        MatDialogModule,\n        MatDividerModule,\n        MatExpansionModule,\n        MatFormFieldModule,\n        MatGridListModule,\n        MatIconModule,\n        MatInputModule,\n        MatListModule,\n        MatMenuModule,\n        MatPaginatorModule,\n        MatProgressBarModule,\n        MatRadioModule,\n        MatSelectModule,\n        MatSidenavModule,\n        MatSliderModule,\n        MatSlideToggleModule,\n        MatSnackBarModule,\n        MatSortModule,\n        MatStepperModule,\n        MatTableModule,\n        MatTabsModule,\n        MatToolbarModule,\n        MatTooltipModule,\n        MatTreeModule,\n\n        // Layout component\n        LayoutComponent,\n        VerticalLayoutDirective,\n        VerticalLayoutTitleDirective,\n        VerticalLayoutIconDirective,\n        HorizontalLayoutDirective,\n        FooterLayoutDirective,\n\n        // Dialogs\n        MessageDialogComponent,\n        LoaderComponent,\n        ProgressLoaderComponent,\n\n        // Pipes\n        PercentPipe,\n\n        // Flex components\n        FlexComponent,\n        FlexSpacerComponent,\n\n        // Router links and sublinks\n        LinkActiveDirective,\n        SubLinkDirective,\n\n        // Toolbar\n        ToolbarComponent\n    ],\n    entryComponents: [\n        MessageDialogComponent,\n        LoaderComponent,\n        ProgressLoaderComponent\n    ],\n    providers      : [\n        // Pipes and formatters so we can inject these\n        DateFormatter,\n        DecimalPipe,\n        DatePipe,\n        PercentPipe,\n\n        // Services\n        DialogService,\n        MatchMedia\n    ]\n})\nexport class CommonViewModulePrivate {\n}\n\n@NgModule({\n    imports     : [\n        CommonModule,\n        BrowserAnimationsModule,\n        CommonViewModulePrivate,\n        MatProgressSpinnerModule\n    ],\n    declarations: [\n        MessageComponent\n    ],\n    exports     : [\n        MessageComponent,\n        CommonViewModulePrivate,\n        MatProgressSpinnerModule\n    ]\n})\nexport class CommonViewModule {\n}\n\n@Component({\n    /* eslint-disable @angular-eslint/component-selector */\n    selector: 'mat-spinner, mat-progress-spinner',\n    /* eslint-enable */\n    template           : '',\n    changeDetection    : ChangeDetectionStrategy.OnPush,\n    preserveWhitespaces: false,\n    // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n    inputs: [\n        'diameter'\n    ]\n})\nexport class SpinnerStubComponent extends MatSpinner {\n}\n\n@Component({\n    selector           : COMPONENT_SELECTOR,\n    templateUrl        : 'message.component.html',\n    styleUrls          : [\n        '../../../component.scss',\n        'message.component.scss'\n    ],\n    changeDetection    : ChangeDetectionStrategy.OnPush,\n    preserveWhitespaces: false\n})\nexport class NoopAnimationMessageComponent extends MessageComponent {\n}\n\n@NgModule({\n    imports     : [\n        CommonModule,\n        NoopAnimationsModule,\n        CommonViewModulePrivate\n    ],\n    declarations: [\n        NoopAnimationMessageComponent,\n        SpinnerStubComponent\n    ],\n    exports     : [\n        NoopAnimationMessageComponent,\n        SpinnerStubComponent,\n        CommonViewModulePrivate\n    ]\n})\nexport class NoopAnimationsCommonViewModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2","i3","i2.FlexComponent","i3.FlexSpacerComponent","i6","i4","i1","i7.PercentPipe","i1.MatchMedia","i5","i7"],"mappings":"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"}