@kolektor/nucleus-material 0.0.9-pre.5702 → 0.0.9-pre.5894

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.
@@ -2,8 +2,8 @@ import { Component, Input, TemplateRef } from '@angular/core';
2
2
  import { LoadingState, LoadingStatus } from './loading-state';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/material/progress-spinner";
5
- import * as i2 from "@angular/material/button";
6
- import * as i3 from "@angular/material/icon";
5
+ import * as i2 from "@angular/material/icon";
6
+ import * as i3 from "@angular/material/button";
7
7
  import * as i4 from "@angular/common";
8
8
  export class NucLoadedContentComponent {
9
9
  constructor() {
@@ -49,10 +49,10 @@ export class NucLoadedContentComponent {
49
49
  }
50
50
  }
51
51
  NucLoadedContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucLoadedContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
52
- NucLoadedContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: NucLoadedContentComponent, selector: "nuc-loaded-content-component", inputs: { completedTemplate: "completedTemplate", errorTemplate: "errorTemplate", inProgressTemplate: "inProgressTemplate", state: "state", inProgressMessage: "inProgressMessage", errorMessage: "errorMessage", showRetry: "showRetry" }, ngImport: i0, template: "<ng-container *ngIf=\"completed\">\r\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\r\n <ng-container *ngIf=\"inProgress\">\r\n <ng-container *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"failed\">\r\n <ng-container *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #defaultInProgressTemplate>\r\n <div class=\"spinner\">\r\n <mat-spinner [diameter]=\"45\"></mat-spinner>\r\n </div>\r\n <p>\r\n {{message}}\r\n </p>\r\n</ng-template>\r\n\r\n<ng-template #defaultErrorTemplate>\r\n <div>\r\n <p>\r\n {{message}}\r\n </p>\r\n\r\n <div *ngIf=\"state.errorDetails\">\r\n <button *ngIf=\"!errorDetailsVisible\" mat-button color=\"warn\" (click)=\"showErrorDetails()\">show details</button>\r\n\r\n <div *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\r\n <strong>details:</strong><br />\r\n <p>{{state.errorDetails}}</p>\r\n </div>\r\n </div>\r\n\r\n <p *ngIf=\"showRetryButton\">\r\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </p>\r\n\r\n </div>\r\n</ng-template>\r\n", styles: [".indicators-container{text-align:center;margin:0 auto;padding-top:4rem}.error-details{margin-top:1rem}.spinner{display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}\n"], components: [{ type: i1.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
52
+ NucLoadedContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: NucLoadedContentComponent, selector: "nuc-loaded-content-component", inputs: { completedTemplate: "completedTemplate", errorTemplate: "errorTemplate", inProgressTemplate: "inProgressTemplate", state: "state", inProgressMessage: "inProgressMessage", errorMessage: "errorMessage", showRetry: "showRetry" }, ngImport: i0, template: "<ng-container *ngIf=\"completed\">\r\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\r\n <ng-container *ngIf=\"inProgress\">\r\n <ng-container *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"failed\">\r\n <ng-container *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #defaultInProgressTemplate>\r\n <div class=\"spinner\">\r\n <mat-spinner [diameter]=\"45\"></mat-spinner>\r\n </div>\r\n <p>\r\n {{message}}\r\n </p>\r\n</ng-template>\r\n\r\n<ng-template #defaultErrorTemplate>\r\n <div>\r\n <p class=\"message\">\r\n <span>{{message}}</span>\r\n <mat-icon *ngIf=\"state.errorDetails && !errorDetailsVisible\" class=\"info-button\" color=\"warn\" (click)=\"showErrorDetails()\">info</mat-icon>\r\n </p>\r\n\r\n <p *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\r\n {{state.errorDetails}}\r\n </p>\r\n\r\n <p *ngIf=\"showRetryButton\">\r\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </p>\r\n </div>\r\n</ng-template>\r\n", styles: [".indicators-container{text-align:center;margin:0 auto;padding-top:4rem}.error-details{margin-top:1rem}.spinner{display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}.message{display:flex;justify-content:center;align-items:center}.info-button{cursor:pointer;margin-left:.5rem}\n"], components: [{ type: i1.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
53
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucLoadedContentComponent, decorators: [{
54
54
  type: Component,
55
- args: [{ selector: 'nuc-loaded-content-component', template: "<ng-container *ngIf=\"completed\">\r\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\r\n <ng-container *ngIf=\"inProgress\">\r\n <ng-container *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"failed\">\r\n <ng-container *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #defaultInProgressTemplate>\r\n <div class=\"spinner\">\r\n <mat-spinner [diameter]=\"45\"></mat-spinner>\r\n </div>\r\n <p>\r\n {{message}}\r\n </p>\r\n</ng-template>\r\n\r\n<ng-template #defaultErrorTemplate>\r\n <div>\r\n <p>\r\n {{message}}\r\n </p>\r\n\r\n <div *ngIf=\"state.errorDetails\">\r\n <button *ngIf=\"!errorDetailsVisible\" mat-button color=\"warn\" (click)=\"showErrorDetails()\">show details</button>\r\n\r\n <div *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\r\n <strong>details:</strong><br />\r\n <p>{{state.errorDetails}}</p>\r\n </div>\r\n </div>\r\n\r\n <p *ngIf=\"showRetryButton\">\r\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </p>\r\n\r\n </div>\r\n</ng-template>\r\n", styles: [".indicators-container{text-align:center;margin:0 auto;padding-top:4rem}.error-details{margin-top:1rem}.spinner{display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}\n"] }]
55
+ args: [{ selector: 'nuc-loaded-content-component', template: "<ng-container *ngIf=\"completed\">\r\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\r\n <ng-container *ngIf=\"inProgress\">\r\n <ng-container *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"failed\">\r\n <ng-container *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #defaultInProgressTemplate>\r\n <div class=\"spinner\">\r\n <mat-spinner [diameter]=\"45\"></mat-spinner>\r\n </div>\r\n <p>\r\n {{message}}\r\n </p>\r\n</ng-template>\r\n\r\n<ng-template #defaultErrorTemplate>\r\n <div>\r\n <p class=\"message\">\r\n <span>{{message}}</span>\r\n <mat-icon *ngIf=\"state.errorDetails && !errorDetailsVisible\" class=\"info-button\" color=\"warn\" (click)=\"showErrorDetails()\">info</mat-icon>\r\n </p>\r\n\r\n <p *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\r\n {{state.errorDetails}}\r\n </p>\r\n\r\n <p *ngIf=\"showRetryButton\">\r\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </p>\r\n </div>\r\n</ng-template>\r\n", styles: [".indicators-container{text-align:center;margin:0 auto;padding-top:4rem}.error-details{margin-top:1rem}.spinner{display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}.message{display:flex;justify-content:center;align-items:center}.info-button{cursor:pointer;margin-left:.5rem}\n"] }]
56
56
  }], propDecorators: { completedTemplate: [{
57
57
  type: Input
58
58
  }], errorTemplate: [{
@@ -68,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
68
68
  }], showRetry: [{
69
69
  type: Input
70
70
  }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVkLWNvbnRlbnQtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnVjbGV1cy1tYXRlcmlhbC9zcmMvbGliL2xvYWRlZC1jb250ZW50L2xvYWRlZC1jb250ZW50LWNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251Y2xldXMtbWF0ZXJpYWwvc3JjL2xpYi9sb2FkZWQtY29udGVudC9sb2FkZWQtY29udGVudC1jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBUTlELE1BQU0sT0FBTyx5QkFBeUI7SUFOdEM7UUFRVSx5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFrQjlCLGlCQUFZLEdBQUcseUNBQXlDLENBQUM7UUFHekQsY0FBUyxHQUFHLElBQUksQ0FBQztLQTBDekI7SUF4Q0MsSUFBVyxPQUFPO1FBQ2hCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFO1lBQzlCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7U0FDM0I7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssYUFBYSxDQUFDLE1BQU0sRUFBRTtnQkFDOUMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQzFCO2lCQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssYUFBYSxDQUFDLFVBQVUsRUFBRTtnQkFDekQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7YUFDL0I7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxhQUFhLENBQUMsVUFBVSxDQUFDO1FBQ2xFLElBQUksVUFBVSxFQUFFO1lBQ2QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztTQUNuQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQVcsbUJBQW1CO1FBQzVCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ25DLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztJQUNuQyxDQUFDOztzSEFoRVUseUJBQXlCOzBHQUF6Qix5QkFBeUIsZ1RDVHRDLHU3Q0E2Q0E7MkZEcENhLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFFRSw4QkFBOEI7OEJBU3hDLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBSUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2FkaW5nU3RhdGUsIExvYWRpbmdTdGF0dXMgfSBmcm9tICcuL2xvYWRpbmctc3RhdGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ251Yy1sb2FkZWQtY29udGVudC1jb21wb25lbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2FkZWQtY29udGVudC1jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbG9hZGVkLWNvbnRlbnQtY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTnVjTG9hZGVkQ29udGVudENvbXBvbmVudCB7XHJcblxyXG4gIHByaXZhdGUgX2Vycm9yRGV0YWlsc1Zpc2libGUgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBjb21wbGV0ZWRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQElucHV0KClcclxuICBlcnJvclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGluUHJvZ3Jlc3NUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3RhdGU6IExvYWRpbmdTdGF0ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaW5Qcm9ncmVzc01lc3NhZ2U6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZXJyb3JNZXNzYWdlID0gJ1dlIGFyZSBoYXZpbmcgdHJvdWJsZSBsb2FkaW5nIHRoZSBkYXRhLic7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dSZXRyeSA9IHRydWU7XHJcblxyXG4gIHB1YmxpYyBnZXQgbWVzc2FnZSgpIHtcclxuICAgIGlmICh0aGlzLnN0YXRlLm1lc3NhZ2UgIT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zdGF0ZS5tZXNzYWdlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuc3RhdGUuc3RhdHVzID09PSBMb2FkaW5nU3RhdHVzLmZhaWxlZCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVycm9yTWVzc2FnZTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnN0YXRlLnN0YXR1cyA9PT0gTG9hZGluZ1N0YXR1cy5pblByb2dyZXNzKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5Qcm9ncmVzc01lc3NhZ2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzaG93UmV0cnlCdXR0b24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93UmV0cnk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGluUHJvZ3Jlc3MoKSB7XHJcbiAgICBjb25zdCBpblByb2dyZXNzID0gdGhpcy5zdGF0ZS5zdGF0dXMgPT09IExvYWRpbmdTdGF0dXMuaW5Qcm9ncmVzcztcclxuICAgIGlmIChpblByb2dyZXNzKSB7XHJcbiAgICAgIHRoaXMuX2Vycm9yRGV0YWlsc1Zpc2libGUgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiBpblByb2dyZXNzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBmYWlsZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5zdGF0dXMgPT09IExvYWRpbmdTdGF0dXMuZmFpbGVkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBjb21wbGV0ZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5zdGF0dXMgPT09IExvYWRpbmdTdGF0dXMuY29tcGxldGVkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBlcnJvckRldGFpbHNWaXNpYmxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Vycm9yRGV0YWlsc1Zpc2libGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0Vycm9yRGV0YWlscygpIHtcclxuICAgIHRoaXMuX2Vycm9yRGV0YWlsc1Zpc2libGUgPSB0cnVlO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY29tcGxldGVkXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbXBsZXRlZFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPGRpdiBjbGFzcz1cImluZGljYXRvcnMtY29udGFpbmVyXCIgKm5nSWY9XCJpblByb2dyZXNzIHx8IGZhaWxlZFwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpblByb2dyZXNzXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5Qcm9ncmVzc1RlbXBsYXRlID8gaW5Qcm9ncmVzc1RlbXBsYXRlOiBkZWZhdWx0SW5Qcm9ncmVzc1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZhaWxlZFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVycm9yVGVtcGxhdGUgPyBlcnJvclRlbXBsYXRlOiBkZWZhdWx0RXJyb3JUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEluUHJvZ3Jlc3NUZW1wbGF0ZT5cclxuICA8ZGl2IGNsYXNzPVwic3Bpbm5lclwiPlxyXG4gICAgPG1hdC1zcGlubmVyIFtkaWFtZXRlcl09XCI0NVwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgPC9kaXY+XHJcbiAgPHA+XHJcbiAgICB7e21lc3NhZ2V9fVxyXG4gIDwvcD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEVycm9yVGVtcGxhdGU+XHJcbiAgPGRpdj5cclxuICAgIDxwPlxyXG4gICAgICB7e21lc3NhZ2V9fVxyXG4gICAgPC9wPlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJzdGF0ZS5lcnJvckRldGFpbHNcIj5cclxuICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFlcnJvckRldGFpbHNWaXNpYmxlXCIgbWF0LWJ1dHRvbiBjb2xvcj1cIndhcm5cIiAoY2xpY2spPVwic2hvd0Vycm9yRGV0YWlscygpXCI+c2hvdyBkZXRhaWxzPC9idXR0b24+XHJcblxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JEZXRhaWxzVmlzaWJsZVwiIGNsYXNzPVwiZXJyb3ItZGV0YWlscyBtYXQtc21hbGxcIj5cclxuICAgICAgICA8c3Ryb25nPmRldGFpbHM6PC9zdHJvbmc+PGJyIC8+XHJcbiAgICAgICAgPHA+e3tzdGF0ZS5lcnJvckRldGFpbHN9fTwvcD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8cCAqbmdJZj1cInNob3dSZXRyeUJ1dHRvblwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1taW5pLWZhYiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwic3RhdGUucmV0cnkoKVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbj5yZWZyZXNoPC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L3A+XHJcblxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVkLWNvbnRlbnQtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnVjbGV1cy1tYXRlcmlhbC9zcmMvbGliL2xvYWRlZC1jb250ZW50L2xvYWRlZC1jb250ZW50LWNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251Y2xldXMtbWF0ZXJpYWwvc3JjL2xpYi9sb2FkZWQtY29udGVudC9sb2FkZWQtY29udGVudC1jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBUTlELE1BQU0sT0FBTyx5QkFBeUI7SUFOdEM7UUFRVSx5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFrQjlCLGlCQUFZLEdBQUcseUNBQXlDLENBQUM7UUFHekQsY0FBUyxHQUFHLElBQUksQ0FBQztLQTBDekI7SUF4Q0MsSUFBVyxPQUFPO1FBQ2hCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFO1lBQzlCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7U0FDM0I7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssYUFBYSxDQUFDLE1BQU0sRUFBRTtnQkFDOUMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQzFCO2lCQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssYUFBYSxDQUFDLFVBQVUsRUFBRTtnQkFDekQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7YUFDL0I7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxhQUFhLENBQUMsVUFBVSxDQUFDO1FBQ2xFLElBQUksVUFBVSxFQUFFO1lBQ2QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztTQUNuQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQVcsbUJBQW1CO1FBQzVCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ25DLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztJQUNuQyxDQUFDOztzSEFoRVUseUJBQXlCOzBHQUF6Qix5QkFBeUIsZ1RDVHRDLHUzQ0F3Q0E7MkZEL0JhLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFFRSw4QkFBOEI7OEJBU3hDLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBSUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2FkaW5nU3RhdGUsIExvYWRpbmdTdGF0dXMgfSBmcm9tICcuL2xvYWRpbmctc3RhdGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ251Yy1sb2FkZWQtY29udGVudC1jb21wb25lbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2FkZWQtY29udGVudC1jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbG9hZGVkLWNvbnRlbnQtY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTnVjTG9hZGVkQ29udGVudENvbXBvbmVudCB7XHJcblxyXG4gIHByaXZhdGUgX2Vycm9yRGV0YWlsc1Zpc2libGUgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBjb21wbGV0ZWRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQElucHV0KClcclxuICBlcnJvclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGluUHJvZ3Jlc3NUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3RhdGU6IExvYWRpbmdTdGF0ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaW5Qcm9ncmVzc01lc3NhZ2U6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZXJyb3JNZXNzYWdlID0gJ1dlIGFyZSBoYXZpbmcgdHJvdWJsZSBsb2FkaW5nIHRoZSBkYXRhLic7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dSZXRyeSA9IHRydWU7XHJcblxyXG4gIHB1YmxpYyBnZXQgbWVzc2FnZSgpIHtcclxuICAgIGlmICh0aGlzLnN0YXRlLm1lc3NhZ2UgIT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zdGF0ZS5tZXNzYWdlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuc3RhdGUuc3RhdHVzID09PSBMb2FkaW5nU3RhdHVzLmZhaWxlZCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVycm9yTWVzc2FnZTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnN0YXRlLnN0YXR1cyA9PT0gTG9hZGluZ1N0YXR1cy5pblByb2dyZXNzKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5Qcm9ncmVzc01lc3NhZ2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzaG93UmV0cnlCdXR0b24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93UmV0cnk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGluUHJvZ3Jlc3MoKSB7XHJcbiAgICBjb25zdCBpblByb2dyZXNzID0gdGhpcy5zdGF0ZS5zdGF0dXMgPT09IExvYWRpbmdTdGF0dXMuaW5Qcm9ncmVzcztcclxuICAgIGlmIChpblByb2dyZXNzKSB7XHJcbiAgICAgIHRoaXMuX2Vycm9yRGV0YWlsc1Zpc2libGUgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiBpblByb2dyZXNzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBmYWlsZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5zdGF0dXMgPT09IExvYWRpbmdTdGF0dXMuZmFpbGVkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBjb21wbGV0ZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5zdGF0dXMgPT09IExvYWRpbmdTdGF0dXMuY29tcGxldGVkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBlcnJvckRldGFpbHNWaXNpYmxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Vycm9yRGV0YWlsc1Zpc2libGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0Vycm9yRGV0YWlscygpIHtcclxuICAgIHRoaXMuX2Vycm9yRGV0YWlsc1Zpc2libGUgPSB0cnVlO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY29tcGxldGVkXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbXBsZXRlZFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPGRpdiBjbGFzcz1cImluZGljYXRvcnMtY29udGFpbmVyXCIgKm5nSWY9XCJpblByb2dyZXNzIHx8IGZhaWxlZFwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpblByb2dyZXNzXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5Qcm9ncmVzc1RlbXBsYXRlID8gaW5Qcm9ncmVzc1RlbXBsYXRlOiBkZWZhdWx0SW5Qcm9ncmVzc1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZhaWxlZFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVycm9yVGVtcGxhdGUgPyBlcnJvclRlbXBsYXRlOiBkZWZhdWx0RXJyb3JUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEluUHJvZ3Jlc3NUZW1wbGF0ZT5cclxuICA8ZGl2IGNsYXNzPVwic3Bpbm5lclwiPlxyXG4gICAgPG1hdC1zcGlubmVyIFtkaWFtZXRlcl09XCI0NVwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgPC9kaXY+XHJcbiAgPHA+XHJcbiAgICB7e21lc3NhZ2V9fVxyXG4gIDwvcD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEVycm9yVGVtcGxhdGU+XHJcbiAgPGRpdj5cclxuICAgIDxwIGNsYXNzPVwibWVzc2FnZVwiPlxyXG4gICAgICA8c3Bhbj57e21lc3NhZ2V9fTwvc3Bhbj5cclxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwic3RhdGUuZXJyb3JEZXRhaWxzICYmICFlcnJvckRldGFpbHNWaXNpYmxlXCIgY2xhc3M9XCJpbmZvLWJ1dHRvblwiIGNvbG9yPVwid2FyblwiIChjbGljayk9XCJzaG93RXJyb3JEZXRhaWxzKClcIj5pbmZvPC9tYXQtaWNvbj5cclxuICAgIDwvcD5cclxuXHJcbiAgICA8cCAqbmdJZj1cImVycm9yRGV0YWlsc1Zpc2libGVcIiBjbGFzcz1cImVycm9yLWRldGFpbHMgbWF0LXNtYWxsXCI+XHJcbiAgICAgIHt7c3RhdGUuZXJyb3JEZXRhaWxzfX1cclxuICAgIDwvcD5cclxuXHJcbiAgICA8cCAqbmdJZj1cInNob3dSZXRyeUJ1dHRvblwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1taW5pLWZhYiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwic3RhdGUucmV0cnkoKVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbj5yZWZyZXNoPC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L3A+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -10,7 +10,7 @@ import { CommonModule } from '@angular/common';
10
10
  import { tap } from 'rxjs/operators';
11
11
  import * as i1$1 from '@angular/material/progress-spinner';
12
12
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
13
- import * as i3$1 from '@angular/material/icon';
13
+ import * as i2$1 from '@angular/material/icon';
14
14
  import { MatIconModule } from '@angular/material/icon';
15
15
  import * as i1$2 from '@angular/router';
16
16
  import { NavigationEnd } from '@angular/router';
@@ -248,10 +248,10 @@ class NucLoadedContentComponent {
248
248
  }
249
249
  }
250
250
  NucLoadedContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucLoadedContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
251
- NucLoadedContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: NucLoadedContentComponent, selector: "nuc-loaded-content-component", inputs: { completedTemplate: "completedTemplate", errorTemplate: "errorTemplate", inProgressTemplate: "inProgressTemplate", state: "state", inProgressMessage: "inProgressMessage", errorMessage: "errorMessage", showRetry: "showRetry" }, ngImport: i0, template: "<ng-container *ngIf=\"completed\">\r\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\r\n <ng-container *ngIf=\"inProgress\">\r\n <ng-container *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"failed\">\r\n <ng-container *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #defaultInProgressTemplate>\r\n <div class=\"spinner\">\r\n <mat-spinner [diameter]=\"45\"></mat-spinner>\r\n </div>\r\n <p>\r\n {{message}}\r\n </p>\r\n</ng-template>\r\n\r\n<ng-template #defaultErrorTemplate>\r\n <div>\r\n <p>\r\n {{message}}\r\n </p>\r\n\r\n <div *ngIf=\"state.errorDetails\">\r\n <button *ngIf=\"!errorDetailsVisible\" mat-button color=\"warn\" (click)=\"showErrorDetails()\">show details</button>\r\n\r\n <div *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\r\n <strong>details:</strong><br />\r\n <p>{{state.errorDetails}}</p>\r\n </div>\r\n </div>\r\n\r\n <p *ngIf=\"showRetryButton\">\r\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </p>\r\n\r\n </div>\r\n</ng-template>\r\n", styles: [".indicators-container{text-align:center;margin:0 auto;padding-top:4rem}.error-details{margin-top:1rem}.spinner{display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}\n"], components: [{ type: i1$1.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
251
+ NucLoadedContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: NucLoadedContentComponent, selector: "nuc-loaded-content-component", inputs: { completedTemplate: "completedTemplate", errorTemplate: "errorTemplate", inProgressTemplate: "inProgressTemplate", state: "state", inProgressMessage: "inProgressMessage", errorMessage: "errorMessage", showRetry: "showRetry" }, ngImport: i0, template: "<ng-container *ngIf=\"completed\">\r\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\r\n <ng-container *ngIf=\"inProgress\">\r\n <ng-container *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"failed\">\r\n <ng-container *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #defaultInProgressTemplate>\r\n <div class=\"spinner\">\r\n <mat-spinner [diameter]=\"45\"></mat-spinner>\r\n </div>\r\n <p>\r\n {{message}}\r\n </p>\r\n</ng-template>\r\n\r\n<ng-template #defaultErrorTemplate>\r\n <div>\r\n <p class=\"message\">\r\n <span>{{message}}</span>\r\n <mat-icon *ngIf=\"state.errorDetails && !errorDetailsVisible\" class=\"info-button\" color=\"warn\" (click)=\"showErrorDetails()\">info</mat-icon>\r\n </p>\r\n\r\n <p *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\r\n {{state.errorDetails}}\r\n </p>\r\n\r\n <p *ngIf=\"showRetryButton\">\r\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </p>\r\n </div>\r\n</ng-template>\r\n", styles: [".indicators-container{text-align:center;margin:0 auto;padding-top:4rem}.error-details{margin-top:1rem}.spinner{display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}.message{display:flex;justify-content:center;align-items:center}.info-button{cursor:pointer;margin-left:.5rem}\n"], components: [{ type: i1$1.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
252
252
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucLoadedContentComponent, decorators: [{
253
253
  type: Component,
254
- args: [{ selector: 'nuc-loaded-content-component', template: "<ng-container *ngIf=\"completed\">\r\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\r\n <ng-container *ngIf=\"inProgress\">\r\n <ng-container *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"failed\">\r\n <ng-container *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #defaultInProgressTemplate>\r\n <div class=\"spinner\">\r\n <mat-spinner [diameter]=\"45\"></mat-spinner>\r\n </div>\r\n <p>\r\n {{message}}\r\n </p>\r\n</ng-template>\r\n\r\n<ng-template #defaultErrorTemplate>\r\n <div>\r\n <p>\r\n {{message}}\r\n </p>\r\n\r\n <div *ngIf=\"state.errorDetails\">\r\n <button *ngIf=\"!errorDetailsVisible\" mat-button color=\"warn\" (click)=\"showErrorDetails()\">show details</button>\r\n\r\n <div *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\r\n <strong>details:</strong><br />\r\n <p>{{state.errorDetails}}</p>\r\n </div>\r\n </div>\r\n\r\n <p *ngIf=\"showRetryButton\">\r\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </p>\r\n\r\n </div>\r\n</ng-template>\r\n", styles: [".indicators-container{text-align:center;margin:0 auto;padding-top:4rem}.error-details{margin-top:1rem}.spinner{display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}\n"] }]
254
+ args: [{ selector: 'nuc-loaded-content-component', template: "<ng-container *ngIf=\"completed\">\r\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\r\n <ng-container *ngIf=\"inProgress\">\r\n <ng-container *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"failed\">\r\n <ng-container *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #defaultInProgressTemplate>\r\n <div class=\"spinner\">\r\n <mat-spinner [diameter]=\"45\"></mat-spinner>\r\n </div>\r\n <p>\r\n {{message}}\r\n </p>\r\n</ng-template>\r\n\r\n<ng-template #defaultErrorTemplate>\r\n <div>\r\n <p class=\"message\">\r\n <span>{{message}}</span>\r\n <mat-icon *ngIf=\"state.errorDetails && !errorDetailsVisible\" class=\"info-button\" color=\"warn\" (click)=\"showErrorDetails()\">info</mat-icon>\r\n </p>\r\n\r\n <p *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\r\n {{state.errorDetails}}\r\n </p>\r\n\r\n <p *ngIf=\"showRetryButton\">\r\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </p>\r\n </div>\r\n</ng-template>\r\n", styles: [".indicators-container{text-align:center;margin:0 auto;padding-top:4rem}.error-details{margin-top:1rem}.spinner{display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}.message{display:flex;justify-content:center;align-items:center}.info-button{cursor:pointer;margin-left:.5rem}\n"] }]
255
255
  }], propDecorators: { completedTemplate: [{
256
256
  type: Input
257
257
  }], errorTemplate: [{
@@ -1 +1 @@
1
- {"version":3,"file":"kolektor-nucleus-material.mjs","sources":["../../../projects/nucleus-material/src/lib/dialog/dialog.component.ts","../../../projects/nucleus-material/src/lib/dialog/dialog.component.html","../../../projects/nucleus-material/src/lib/dialog/dialog.service.ts","../../../projects/nucleus-material/src/lib/dialog/dialog.module.ts","../../../projects/nucleus-material/src/lib/dialog/models.ts","../../../projects/nucleus-material/src/lib/loaded-content/loading-state.ts","../../../projects/nucleus-material/src/lib/loaded-content/loaded-content-component.ts","../../../projects/nucleus-material/src/lib/loaded-content/loaded-content-component.html","../../../projects/nucleus-material/src/lib/loaded-content/loaded-content-directive.ts","../../../projects/nucleus-material/src/lib/loaded-content/loaded-content-module.ts","../../../projects/nucleus-material/src/lib/native-styling/native-styling.service.ts","../../../projects/nucleus-material/src/lib/native-styling/models.ts","../../../projects/nucleus-material/src/lib/swipe-tabs/swipe-tabs-directive.ts","../../../projects/nucleus-material/src/lib/swipe-tabs/swipe-tabs-module.ts","../../../projects/nucleus-material/src/lib/snackbar/snackbar.service.ts","../../../projects/nucleus-material/src/lib/snackbar/snackbar.module.ts","../../../projects/nucleus-material/src/lib/snackbar/models.ts","../../../projects/nucleus-material/src/lib/user-avatar/user-avatar-component.ts","../../../projects/nucleus-material/src/lib/user-avatar/user-avatar-component.html","../../../projects/nucleus-material/src/lib/user-avatar/user-avatar-module.ts","../../../projects/nucleus-material/src/public-api.ts","../../../projects/nucleus-material/src/kolektor-nucleus-material.ts"],"sourcesContent":["import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { NucDialogData } from './models';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'nuc-dialog',\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.scss']\r\n})\r\n\r\nexport class NucDialogComponent {\r\n constructor(\r\n public dialogRef: MatDialogRef<NucDialogComponent>,\r\n @Inject(MAT_DIALOG_DATA) public dialogData: NucDialogData\r\n ) { }\r\n}\r\n","<ng-container *ngIf=\"dialogData\">\r\n <h2 mat-dialog-title *ngIf=\"dialogData.title\">\r\n {{dialogData.title}}\r\n </h2>\r\n <mat-dialog-content>{{dialogData.message}}</mat-dialog-content>\r\n <mat-dialog-actions>\r\n <ng-container *ngFor=\"let action of dialogData.actions\">\r\n <button color=\"{{action.color || 'primary'}}\" *ngIf=\"action.value === undefined\" mat-button mat-dialog-close>{{action.text}}</button>\r\n <button color=\"{{action.color || 'primary'}}\" *ngIf=\"action.value !== undefined\" mat-button [mat-dialog-close]=\"action.value\">{{action.text}}</button>\r\n </ng-container>\r\n </mat-dialog-actions>\r\n</ng-container>\r\n","import { Injectable } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { NucDialogData } from './models';\r\nimport { NucDialogComponent } from './dialog.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NucDialogService {\r\n constructor(private _matDialog: MatDialog) { }\r\n\r\n /**\r\n * Opens a NucDialog with content from dialogData.\r\n *\r\n * @param dialogData NucDialogData containing title, message and possible actions.\r\n * @param dialogConfig Extra configuration options. Data property is ignored, since it will be set to dialogData.\r\n * @returns a promise with value that was specified inside pressed Nucleus action.\r\n */\r\n public async open(dialogData: NucDialogData, dialogConfig?: MatDialogConfig): Promise<any> {\r\n if (dialogData.actions && dialogData.actions.length > 0) {\r\n if (dialogConfig) {\r\n dialogConfig.data = dialogData;\r\n } else {\r\n dialogConfig = { data: dialogData };\r\n }\r\n return await this._matDialog.open(NucDialogComponent, dialogConfig).beforeClosed().toPromise();\r\n } else {\r\n console.error('Nucleus.AppCore: NucDialogData requires at least one action.');\r\n }\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { NucDialogComponent } from './dialog.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n NucDialogComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatDialogModule,\r\n MatButtonModule\r\n ],\r\n entryComponents: [\r\n NucDialogComponent\r\n ]\r\n})\r\n\r\nexport class NucDialogModule { }\r\n","export interface NucDialogData {\r\n /** Optional title for the dialog. */\r\n title?: string;\r\n /** Message for the dialog. */\r\n message: string;\r\n /** Action(s) (buttons) for the dialog. At least one is required. */\r\n actions: NucAction[];\r\n}\r\n\r\nexport interface NucAction {\r\n /** Text for the action (button). */\r\n text: string;\r\n /** Return value for the action (button). */\r\n value?: any;\r\n /** Optional color of the action (button). */\r\n color?: NucColor;\r\n}\r\n\r\nexport enum NucColor {\r\n /** Primary color of the theme. */\r\n primary = 'primary',\r\n /** Accent color of the theme. */\r\n accent = 'accent',\r\n /** Warning color of the theme. */\r\n warn = 'warn'\r\n}\r\n","import { Observable, Subscription } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nexport enum LoadingStatus { completed, inProgress, failed, undefined }\r\n\r\nexport class LoadingState {\r\n private _status: LoadingStatus = LoadingStatus.undefined;\r\n private _message: string = null;\r\n private _errorDetails: string = null;\r\n private _resultFunction: (result: any) => void;\r\n private _errorFunction: (error: HttpErrorResponse) => void;\r\n private _completeFunction: () => void;\r\n private _loadObservable: Observable<any>;\r\n private _lastSubscription: Subscription = null;\r\n\r\n get status(): LoadingStatus {\r\n return this._status;\r\n }\r\n\r\n get message(): string {\r\n return this._message;\r\n }\r\n\r\n get errorDetails(): string {\r\n return this._errorDetails;\r\n }\r\n\r\n public load<T>(\r\n observable: Observable<T>,\r\n resultFunction?: (result: T) => void,\r\n errorFunction?: (error: HttpErrorResponse) => void,\r\n completeFunction?: () => void\r\n ): Subscription {\r\n return this._load(true, null, observable, resultFunction, errorFunction, completeFunction);\r\n }\r\n\r\n public loadWithMessage<T>(\r\n observable: Observable<T>,\r\n message: string,\r\n resultFunction?: (result: T) => void,\r\n errorFunction?: (error: HttpErrorResponse) => void,\r\n completeFunction?: () => void\r\n ): Subscription {\r\n return this._load(true, message, observable, resultFunction, errorFunction, completeFunction);\r\n }\r\n\r\n public invoke<T>(\r\n observable: Observable<T>,\r\n resultFunction?: (result: T) => void,\r\n errorFunction?: (error: HttpErrorResponse) => void,\r\n completeFunction?: () => void\r\n ): Subscription {\r\n return this._load(false, null, observable, resultFunction, errorFunction, completeFunction);\r\n }\r\n\r\n public invokeWithMessage<T>(\r\n observable: Observable<T>,\r\n message: string,\r\n resultFunction?: (result: T) => void,\r\n errorFunction?: (error: HttpErrorResponse) => void,\r\n completeFunction?: () => void\r\n ): Subscription {\r\n return this._load(false, message, observable, resultFunction, errorFunction, completeFunction);\r\n }\r\n\r\n public retry() {\r\n if (this._lastSubscription) {\r\n this._lastSubscription.unsubscribe();\r\n }\r\n this.setInProgress();\r\n this._lastSubscription = this._loadObservable.subscribe(this._resultFunction, this._errorFunction, this._completeFunction);\r\n return this._lastSubscription;\r\n }\r\n\r\n public setInProgress(message: string = null) {\r\n this._status = LoadingStatus.inProgress;\r\n this._message = message;\r\n }\r\n\r\n public setCompleted() {\r\n this._status = LoadingStatus.completed;\r\n }\r\n\r\n public setFailed(message: string = null, error: string = null) {\r\n this._status = LoadingStatus.failed;\r\n this._message = message;\r\n this._errorDetails = error;\r\n }\r\n\r\n private _load<T>(\r\n saveAsLoadObservable: boolean,\r\n progressMessage: string,\r\n observable: Observable<T>,\r\n resultFunction?: (result: T) => void,\r\n errorFunction?: (error: HttpErrorResponse) => void,\r\n completeFunction?: () => void\r\n ): Subscription {\r\n if (this._lastSubscription) {\r\n this._lastSubscription.unsubscribe();\r\n }\r\n\r\n this.setInProgress(progressMessage);\r\n const obs = observable.pipe(\r\n tap(\r\n () => {\r\n if (!saveAsLoadObservable && this.message) { // if message was used one time we clear it\r\n this._message = null;\r\n }\r\n this.setCompleted();\r\n },\r\n (err) => {\r\n this.setFailed(null, LoadingState.getErrorDetails(err));\r\n }\r\n )\r\n );\r\n\r\n if (saveAsLoadObservable) {\r\n this._loadObservable = obs;\r\n this._resultFunction = resultFunction;\r\n this._errorFunction = errorFunction;\r\n this._completeFunction = completeFunction;\r\n }\r\n\r\n this._lastSubscription = obs.subscribe(resultFunction, errorFunction, completeFunction);\r\n return this._lastSubscription;\r\n }\r\n\r\n public static getErrorDetails(error: any) {\r\n // this routine tries to get the best error details from:\r\n // - standard rfc7807 http error: https://datatracker.ietf.org/doc/html/rfc7807\r\n // - angular HttpError\r\n // - JS Error object\r\n\r\n const problem = error?.error;\r\n if (problem?.title && problem?.detail) {\r\n return `${problem.title}: ${problem.detail}`;\r\n } else {\r\n return problem?.title || problem?.detail || error.message || error;\r\n }\r\n }\r\n}\r\n","import { Component, Input, TemplateRef } from '@angular/core';\r\nimport { LoadingState, LoadingStatus } from './loading-state';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'nuc-loaded-content-component',\r\n templateUrl: './loaded-content-component.html',\r\n styleUrls: ['./loaded-content-component.scss']\r\n})\r\nexport class NucLoadedContentComponent {\r\n\r\n private _errorDetailsVisible = false;\r\n\r\n @Input()\r\n completedTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n errorTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n inProgressTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n public state: LoadingState;\r\n\r\n @Input()\r\n public inProgressMessage: string;\r\n\r\n @Input()\r\n public errorMessage = 'We are having trouble loading the data.';\r\n\r\n @Input()\r\n public showRetry = true;\r\n\r\n public get message() {\r\n if (this.state.message != null) {\r\n return this.state.message;\r\n } else {\r\n if (this.state.status === LoadingStatus.failed) {\r\n return this.errorMessage;\r\n } else if (this.state.status === LoadingStatus.inProgress) {\r\n return this.inProgressMessage;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n public get showRetryButton() {\r\n return this.showRetry;\r\n }\r\n\r\n public get inProgress() {\r\n const inProgress = this.state.status === LoadingStatus.inProgress;\r\n if (inProgress) {\r\n this._errorDetailsVisible = false;\r\n }\r\n return inProgress;\r\n }\r\n\r\n public get failed() {\r\n return this.state.status === LoadingStatus.failed;\r\n }\r\n\r\n public get completed() {\r\n return this.state.status === LoadingStatus.completed;\r\n }\r\n\r\n public get errorDetailsVisible() {\r\n return this._errorDetailsVisible;\r\n }\r\n\r\n public showErrorDetails() {\r\n this._errorDetailsVisible = true;\r\n }\r\n}\r\n","<ng-container *ngIf=\"completed\">\r\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\r\n <ng-container *ngIf=\"inProgress\">\r\n <ng-container *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"failed\">\r\n <ng-container *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #defaultInProgressTemplate>\r\n <div class=\"spinner\">\r\n <mat-spinner [diameter]=\"45\"></mat-spinner>\r\n </div>\r\n <p>\r\n {{message}}\r\n </p>\r\n</ng-template>\r\n\r\n<ng-template #defaultErrorTemplate>\r\n <div>\r\n <p>\r\n {{message}}\r\n </p>\r\n\r\n <div *ngIf=\"state.errorDetails\">\r\n <button *ngIf=\"!errorDetailsVisible\" mat-button color=\"warn\" (click)=\"showErrorDetails()\">show details</button>\r\n\r\n <div *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\r\n <strong>details:</strong><br />\r\n <p>{{state.errorDetails}}</p>\r\n </div>\r\n </div>\r\n\r\n <p *ngIf=\"showRetryButton\">\r\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </p>\r\n\r\n </div>\r\n</ng-template>\r\n","import {\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Directive,\r\n Input,\r\n TemplateRef,\r\n ViewContainerRef } from '@angular/core';\r\nimport { NucLoadedContentComponent } from './loaded-content-component';\r\nimport { LoadingState } from './loading-state';\r\n\r\n// eslint-disable-next-line @angular-eslint/directive-selector\r\n@Directive({ selector: '[nucLoadedContent]' })\r\nexport class NucLoadedContentDirective {\r\n\r\n private _state: LoadingState;\r\n private _completedTemplateRef: TemplateRef<any> | null = null;\r\n private _errorTemplateRef: TemplateRef<any> | null = null;\r\n private _inProgressTemplateRef: TemplateRef<any> | null = null;\r\n private _component: ComponentRef<NucLoadedContentComponent> = null;\r\n\r\n constructor(\r\n private _viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n private _componentResolver: ComponentFactoryResolver) {\r\n this._completedTemplateRef = templateRef;\r\n }\r\n\r\n @Input()\r\n set nucLoadedContent(state: LoadingState) {\r\n // add some error handling if state is null, etc.\r\n this._state = state;\r\n this._updateView();\r\n }\r\n\r\n // eslint-disable-next-line @angular-eslint/no-input-rename\r\n @Input('nucLoadedContentError')\r\n set errorTemplate(templateRef: TemplateRef<any> | null) {\r\n this._errorTemplateRef = templateRef;\r\n this._updateView();\r\n }\r\n\r\n // eslint-disable-next-line @angular-eslint/no-input-rename\r\n @Input('nucLoadedContentInProgress')\r\n set inProgressTemplate(templateRef: TemplateRef<any> | null) {\r\n this._inProgressTemplateRef = templateRef;\r\n this._updateView();\r\n }\r\n\r\n @Input('nucLoadedContentInProgressMessage')\r\n set inProgressMessage(inProgressMessage: string) {\r\n this._component.instance.inProgressMessage = inProgressMessage;\r\n }\r\n\r\n @Input('nucLoadedContentErrorMessage')\r\n set errorMessage(errorMessage: string) {\r\n this._component.instance.errorMessage = errorMessage;\r\n }\r\n\r\n @Input('nucLoadedContentShowRetry')\r\n set showRetry(showRetry: boolean) {\r\n this._component.instance.showRetry = showRetry;\r\n }\r\n\r\n private _updateView() {\r\n if (this._component == null) {\r\n const fac = this._componentResolver.resolveComponentFactory(NucLoadedContentComponent);\r\n this._component = this._viewContainer.createComponent(fac);\r\n }\r\n\r\n this._component.instance.state = this._state;\r\n this._component.instance.completedTemplate = this._completedTemplateRef;\r\n\r\n if (this._inProgressTemplateRef) {\r\n this._component.instance.inProgressTemplate = this._inProgressTemplateRef;\r\n }\r\n\r\n if (this._errorTemplateRef) {\r\n this._component.instance.errorTemplate = this._errorTemplateRef;\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { NucLoadedContentComponent } from './loaded-content-component';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NucLoadedContentDirective } from './loaded-content-directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n NucLoadedContentDirective,\r\n NucLoadedContentComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatProgressSpinnerModule,\r\n MatButtonModule,\r\n MatIconModule\r\n ],\r\n exports: [\r\n NucLoadedContentDirective\r\n ],\r\n entryComponents: [\r\n NucLoadedContentComponent\r\n ]\r\n})\r\nexport class NucLoadedContentModule { }\r\n","/* eslint-disable no-undef */\r\n/// <reference path=\"../../../../../node_modules/@types/winrt-uwp/index.d.ts\" />\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { WindowsTitleBarSyle } from './models';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NativeStylingService {\r\n\r\n constructor(private router: Router) { }\r\n\r\n public styleWindowsTitleBar(style: WindowsTitleBarSyle) {\r\n\r\n if ((window as any).Windows) {\r\n const accentColor = this.convertColor(style.backgroundColor);\r\n const hoverColor = style.hoverBackgroundColor ? this.convertColor(style.hoverBackgroundColor) : this.makeDarker(accentColor);\r\n const foregroundColor = style.foreground === 'light' ? Windows.UI.Colors.white : Windows.UI.Colors.black;\r\n const titleColor = style.hideTitle ? accentColor : foregroundColor;\r\n\r\n const appView = Windows.UI.ViewManagement.ApplicationView.getForCurrentView();\r\n const titleBar = appView.titleBar;\r\n\r\n titleBar.foregroundColor = titleColor;\r\n titleBar.inactiveForegroundColor = titleColor;\r\n\r\n titleBar.buttonHoverBackgroundColor = hoverColor;\r\n titleBar.buttonBackgroundColor = accentColor;\r\n titleBar.buttonInactiveBackgroundColor = accentColor;\r\n\r\n titleBar.buttonHoverForegroundColor = foregroundColor;\r\n titleBar.buttonForegroundColor = foregroundColor;\r\n titleBar.buttonInactiveForegroundColor = foregroundColor;\r\n\r\n titleBar.backgroundColor = accentColor;\r\n titleBar.inactiveBackgroundColor = accentColor;\r\n\r\n if (style.hideBackButton) {\r\n this.hideBackButton();\r\n const subscription = this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd && event.id > 1) {\r\n this.hideBackButton();\r\n subscription.unsubscribe();\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n private hideBackButton() {\r\n const systemNavigation = Windows.UI.Core.SystemNavigationManager.getForCurrentView();\r\n systemNavigation.appViewBackButtonVisibility = Windows.UI.Core.AppViewBackButtonVisibility.collapsed;\r\n }\r\n\r\n private convertColor(colorStr: string): Windows.UI.Color {\r\n const regEx = new RegExp('^#([A-Fa-f0-9]{6})$');\r\n if (! regEx.test(colorStr)) {\r\n throw new Error('Color is not in the right format. Should be #RRGGBB.');\r\n }\r\n\r\n const r = parseInt(colorStr.substr(1, 2), 16);\r\n const g = parseInt(colorStr.substr(3, 2), 16);\r\n const b = parseInt(colorStr.substr(5, 2), 16);\r\n\r\n return Windows.UI.ColorHelper.fromArgb(255, r, g, b);\r\n }\r\n\r\n private makeDarker(color: Windows.UI.Color, factor = 0.80) {\r\n return Windows.UI.ColorHelper.fromArgb(color.a, color.r * factor, color.g * factor, color.b * factor);\r\n }\r\n}\r\n","export class WindowsTitleBarSyle {\r\n backgroundColor: string;\r\n hoverBackgroundColor?: string = null;\r\n foreground?: 'dark' | 'light' = 'dark';\r\n hideTitle ? = false;\r\n hideBackButton ?= false;\r\n}\r\n","import { Directive, ElementRef, OnInit } from '@angular/core';\r\nimport { MatTabGroup } from '@angular/material/tabs';\r\nimport * as Hammer from 'hammerjs';\r\n\r\n// eslint-disable-next-line @angular-eslint/directive-selector\r\n@Directive({ selector: '[nucSwipe]' })\r\n\r\nexport class NucSwipeTabsDirective implements OnInit {\r\n constructor(\r\n private element: ElementRef, // ElementRef<MatTabGroup> causes errors.\r\n private tabGroup: MatTabGroup) { }\r\n\r\n ngOnInit() {\r\n const hammerJs = new Hammer.Manager(this.element.nativeElement, {\r\n inputClass: Hammer.TouchInput\r\n });\r\n\r\n hammerJs.add(new Hammer.Pan({\r\n direction: Hammer.DIRECTION_HORIZONTAL,\r\n threshold: 30\r\n }));\r\n\r\n hammerJs.on('panleft panright', (event) => {\r\n if (event.isFinal) {\r\n // Check if any of the tabs are set to disabled\r\n const tabs = this.tabGroup._tabs.map(x => x.disabled);\r\n const anyTabDisabled = tabs.some(disabled => disabled);\r\n\r\n if (event.type === 'panleft' && event.direction === 2 && this.tabGroup.selectedIndex < (this.tabGroup._tabs.length - 1)) {\r\n // Go to next tab\r\n if (anyTabDisabled) {\r\n const tabsToRight = tabs.slice(this.tabGroup.selectedIndex + 1);\r\n this.tabGroup.selectedIndex += this.getOffset(tabsToRight);\r\n } else {\r\n this.tabGroup.selectedIndex++;\r\n }\r\n } else if (event.type === 'panright' && event.direction === 4 && this.tabGroup.selectedIndex > 0) {\r\n // Go to previous tab\r\n if (anyTabDisabled) {\r\n const tabsToLeft = tabs.slice().reverse().slice(-this.tabGroup.selectedIndex);\r\n this.tabGroup.selectedIndex -= this.getOffset(tabsToLeft);\r\n } else {\r\n this.tabGroup.selectedIndex--;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n private getOffset(tabs: boolean[]) {\r\n // Find offset to the first enabled tab\r\n const offset = tabs.indexOf(tabs.find(disabled => !disabled)) + 1;\r\n return offset;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { NucSwipeTabsDirective } from './swipe-tabs-directive';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [\r\n NucSwipeTabsDirective\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n NucSwipeTabsDirective\r\n ]\r\n})\r\n\r\nexport class NucSwipeTabsModule {\r\n\r\n}\r\n","import { Injectable, NgZone } from '@angular/core';\r\nimport { MatSnackBar, MatSnackBarConfig, MatSnackBarRef, TextOnlySnackBar } from '@angular/material/snack-bar';\r\nimport { NucSnackbarType } from './models';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class NucSnackbarService {\r\n\r\n constructor(private _matSnackBar: MatSnackBar, private _zone: NgZone) {\r\n\r\n }\r\n\r\n public openSnackbar(type: NucSnackbarType, message: string, action: string | null, duration: number): MatSnackBarRef<TextOnlySnackBar> {\r\n let snackbarRef: MatSnackBarRef<TextOnlySnackBar>;\r\n\r\n this._zone.run(() => {\r\n snackbarRef = this._matSnackBar.open(message, action, {\r\n duration,\r\n panelClass: `${type}-snackbar`\r\n });\r\n });\r\n\r\n return snackbarRef;\r\n }\r\n\r\n\r\n public openSnackbarWithConfig(message: string, action: string | null, config: MatSnackBarConfig): MatSnackBarRef<TextOnlySnackBar> {\r\n let snackbarRef: MatSnackBarRef<TextOnlySnackBar>;\r\n\r\n this._zone.run(() => {\r\n snackbarRef = this._matSnackBar.open(message, action, config);\r\n });\r\n\r\n return snackbarRef;\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\n\r\n@NgModule({\r\n declarations: [\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatSnackBarModule\r\n ],\r\n exports: [\r\n ]\r\n})\r\n\r\nexport class NucSnackbarModule {\r\n\r\n}\r\n","export enum NucSnackbarType {\r\n Info = 'info',\r\n Warning = 'warning',\r\n Danger = 'danger',\r\n Success = 'success'\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nexport type AvatarSize = 'small' | 'medium' | 'large' | 'xlarge';\r\nexport type Background = true | false;\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'nuc-user-avatar',\r\n templateUrl: './user-avatar-component.html',\r\n styleUrls: ['./user-avatar-component.scss']\r\n})\r\n\r\nexport class NucUserAvatarComponent {\r\n\r\n @Input() name: string;\r\n @Input() image: string;\r\n @Input() size: AvatarSize = 'medium';\r\n @Input() background: Background = false;\r\n\r\n constructor() {\r\n }\r\n\r\n getUserInitials() {\r\n const nameParts = this.name.split(' ');\r\n return nameParts[0].charAt(0).toUpperCase() + '' + nameParts[nameParts.length - 1].charAt(0).toUpperCase();\r\n }\r\n\r\n getHslString(): string {\r\n if (!this.background) {\r\n return `hsl(${0},${0}%,${100}%)`;\r\n }\r\n\r\n\r\n let hash = 0;\r\n for (let i = 0; i < this.name.length; i++) {\r\n /*\r\n * Javascript uses double precision floating-point format for all numerical datatypes.\r\n * Except when using bitwise operations, where operators are converted to 32-bit signed integers.\r\n * Result of bitwise operations are then converted back to double precision floating-point format.\r\n *\r\n * We make a bitwise OR operation between the new hash and 0.\r\n * This keeps only the lower 32 bits in the new hash value.\r\n */\r\n // eslint-disable-next-line no-bitwise\r\n hash = (this.name.charCodeAt(i) + ((hash << 15) - hash)) | 0;\r\n }\r\n\r\n const hue = Math.abs(hash % 360);\r\n\r\n const lightness = 49.2;\r\n const saturation = 42.6;\r\n\r\n return `hsl(${hue},${saturation}%,${lightness}%)`;\r\n }\r\n}\r\n","<ng-container *ngIf=\"image\">\r\n <div class=\"user-avatar size-{{size}}\">\r\n <img src=\"{{image}}\" />\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"!image\">\r\n <div class=\"user-avatar size-{{size}} unselectable\" [style.background-color]=\"getHslString()\" [ngClass]=\"{'white-text': background, 'black-text border': !background}\">\r\n {{getUserInitials()}}\r\n </div>\r\n</ng-container>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NucUserAvatarComponent } from './user-avatar-component';\r\n\r\n@NgModule({\r\n declarations: [\r\n NucUserAvatarComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [\r\n NucUserAvatarComponent\r\n ]\r\n})\r\n\r\nexport class NucUserAvatarModule {\r\n\r\n}\r\n","/*\r\n * Public API Surface of nucleus-material\r\n */\r\n\r\n// dialog\r\nexport * from './lib/dialog/dialog.service';\r\nexport * from './lib/dialog/dialog.module';\r\nexport * from './lib/dialog/models';\r\n\r\n// loaded-content\r\nexport * from './lib/loaded-content/loading-state';\r\nexport * from './lib/loaded-content/loaded-content-component';\r\nexport * from './lib/loaded-content/loaded-content-directive';\r\nexport * from './lib/loaded-content/loaded-content-module';\r\n\r\n// native-styling\r\nexport * from './lib/native-styling/native-styling.service';\r\nexport * from './lib/native-styling/models';\r\n\r\n// swipe-tabs\r\nexport * from './lib/swipe-tabs/swipe-tabs-directive';\r\nexport * from './lib/swipe-tabs/swipe-tabs-module';\r\n\r\n// dialog component\r\nexport * from './lib/dialog/dialog.service';\r\nexport * from './lib/dialog/dialog.module';\r\nexport * from './lib/dialog/models';\r\n\r\n// snackbar component\r\nexport * from './lib/snackbar/snackbar.service';\r\nexport * from './lib/snackbar/snackbar.module';\r\nexport * from './lib/snackbar/models';\r\n\r\n// user-avatar\r\nexport * from './lib/user-avatar/user-avatar-component';\r\nexport * from './lib/user-avatar/user-avatar-module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kolektor-nucleus-material.mjs","sources":["../../../projects/nucleus-material/src/lib/dialog/dialog.component.ts","../../../projects/nucleus-material/src/lib/dialog/dialog.component.html","../../../projects/nucleus-material/src/lib/dialog/dialog.service.ts","../../../projects/nucleus-material/src/lib/dialog/dialog.module.ts","../../../projects/nucleus-material/src/lib/dialog/models.ts","../../../projects/nucleus-material/src/lib/loaded-content/loading-state.ts","../../../projects/nucleus-material/src/lib/loaded-content/loaded-content-component.ts","../../../projects/nucleus-material/src/lib/loaded-content/loaded-content-component.html","../../../projects/nucleus-material/src/lib/loaded-content/loaded-content-directive.ts","../../../projects/nucleus-material/src/lib/loaded-content/loaded-content-module.ts","../../../projects/nucleus-material/src/lib/native-styling/native-styling.service.ts","../../../projects/nucleus-material/src/lib/native-styling/models.ts","../../../projects/nucleus-material/src/lib/swipe-tabs/swipe-tabs-directive.ts","../../../projects/nucleus-material/src/lib/swipe-tabs/swipe-tabs-module.ts","../../../projects/nucleus-material/src/lib/snackbar/snackbar.service.ts","../../../projects/nucleus-material/src/lib/snackbar/snackbar.module.ts","../../../projects/nucleus-material/src/lib/snackbar/models.ts","../../../projects/nucleus-material/src/lib/user-avatar/user-avatar-component.ts","../../../projects/nucleus-material/src/lib/user-avatar/user-avatar-component.html","../../../projects/nucleus-material/src/lib/user-avatar/user-avatar-module.ts","../../../projects/nucleus-material/src/public-api.ts","../../../projects/nucleus-material/src/kolektor-nucleus-material.ts"],"sourcesContent":["import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { NucDialogData } from './models';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'nuc-dialog',\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.scss']\r\n})\r\n\r\nexport class NucDialogComponent {\r\n constructor(\r\n public dialogRef: MatDialogRef<NucDialogComponent>,\r\n @Inject(MAT_DIALOG_DATA) public dialogData: NucDialogData\r\n ) { }\r\n}\r\n","<ng-container *ngIf=\"dialogData\">\r\n <h2 mat-dialog-title *ngIf=\"dialogData.title\">\r\n {{dialogData.title}}\r\n </h2>\r\n <mat-dialog-content>{{dialogData.message}}</mat-dialog-content>\r\n <mat-dialog-actions>\r\n <ng-container *ngFor=\"let action of dialogData.actions\">\r\n <button color=\"{{action.color || 'primary'}}\" *ngIf=\"action.value === undefined\" mat-button mat-dialog-close>{{action.text}}</button>\r\n <button color=\"{{action.color || 'primary'}}\" *ngIf=\"action.value !== undefined\" mat-button [mat-dialog-close]=\"action.value\">{{action.text}}</button>\r\n </ng-container>\r\n </mat-dialog-actions>\r\n</ng-container>\r\n","import { Injectable } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { NucDialogData } from './models';\r\nimport { NucDialogComponent } from './dialog.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NucDialogService {\r\n constructor(private _matDialog: MatDialog) { }\r\n\r\n /**\r\n * Opens a NucDialog with content from dialogData.\r\n *\r\n * @param dialogData NucDialogData containing title, message and possible actions.\r\n * @param dialogConfig Extra configuration options. Data property is ignored, since it will be set to dialogData.\r\n * @returns a promise with value that was specified inside pressed Nucleus action.\r\n */\r\n public async open(dialogData: NucDialogData, dialogConfig?: MatDialogConfig): Promise<any> {\r\n if (dialogData.actions && dialogData.actions.length > 0) {\r\n if (dialogConfig) {\r\n dialogConfig.data = dialogData;\r\n } else {\r\n dialogConfig = { data: dialogData };\r\n }\r\n return await this._matDialog.open(NucDialogComponent, dialogConfig).beforeClosed().toPromise();\r\n } else {\r\n console.error('Nucleus.AppCore: NucDialogData requires at least one action.');\r\n }\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { NucDialogComponent } from './dialog.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n NucDialogComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatDialogModule,\r\n MatButtonModule\r\n ],\r\n entryComponents: [\r\n NucDialogComponent\r\n ]\r\n})\r\n\r\nexport class NucDialogModule { }\r\n","export interface NucDialogData {\r\n /** Optional title for the dialog. */\r\n title?: string;\r\n /** Message for the dialog. */\r\n message: string;\r\n /** Action(s) (buttons) for the dialog. At least one is required. */\r\n actions: NucAction[];\r\n}\r\n\r\nexport interface NucAction {\r\n /** Text for the action (button). */\r\n text: string;\r\n /** Return value for the action (button). */\r\n value?: any;\r\n /** Optional color of the action (button). */\r\n color?: NucColor;\r\n}\r\n\r\nexport enum NucColor {\r\n /** Primary color of the theme. */\r\n primary = 'primary',\r\n /** Accent color of the theme. */\r\n accent = 'accent',\r\n /** Warning color of the theme. */\r\n warn = 'warn'\r\n}\r\n","import { Observable, Subscription } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nexport enum LoadingStatus { completed, inProgress, failed, undefined }\r\n\r\nexport class LoadingState {\r\n private _status: LoadingStatus = LoadingStatus.undefined;\r\n private _message: string = null;\r\n private _errorDetails: string = null;\r\n private _resultFunction: (result: any) => void;\r\n private _errorFunction: (error: HttpErrorResponse) => void;\r\n private _completeFunction: () => void;\r\n private _loadObservable: Observable<any>;\r\n private _lastSubscription: Subscription = null;\r\n\r\n get status(): LoadingStatus {\r\n return this._status;\r\n }\r\n\r\n get message(): string {\r\n return this._message;\r\n }\r\n\r\n get errorDetails(): string {\r\n return this._errorDetails;\r\n }\r\n\r\n public load<T>(\r\n observable: Observable<T>,\r\n resultFunction?: (result: T) => void,\r\n errorFunction?: (error: HttpErrorResponse) => void,\r\n completeFunction?: () => void\r\n ): Subscription {\r\n return this._load(true, null, observable, resultFunction, errorFunction, completeFunction);\r\n }\r\n\r\n public loadWithMessage<T>(\r\n observable: Observable<T>,\r\n message: string,\r\n resultFunction?: (result: T) => void,\r\n errorFunction?: (error: HttpErrorResponse) => void,\r\n completeFunction?: () => void\r\n ): Subscription {\r\n return this._load(true, message, observable, resultFunction, errorFunction, completeFunction);\r\n }\r\n\r\n public invoke<T>(\r\n observable: Observable<T>,\r\n resultFunction?: (result: T) => void,\r\n errorFunction?: (error: HttpErrorResponse) => void,\r\n completeFunction?: () => void\r\n ): Subscription {\r\n return this._load(false, null, observable, resultFunction, errorFunction, completeFunction);\r\n }\r\n\r\n public invokeWithMessage<T>(\r\n observable: Observable<T>,\r\n message: string,\r\n resultFunction?: (result: T) => void,\r\n errorFunction?: (error: HttpErrorResponse) => void,\r\n completeFunction?: () => void\r\n ): Subscription {\r\n return this._load(false, message, observable, resultFunction, errorFunction, completeFunction);\r\n }\r\n\r\n public retry() {\r\n if (this._lastSubscription) {\r\n this._lastSubscription.unsubscribe();\r\n }\r\n this.setInProgress();\r\n this._lastSubscription = this._loadObservable.subscribe(this._resultFunction, this._errorFunction, this._completeFunction);\r\n return this._lastSubscription;\r\n }\r\n\r\n public setInProgress(message: string = null) {\r\n this._status = LoadingStatus.inProgress;\r\n this._message = message;\r\n }\r\n\r\n public setCompleted() {\r\n this._status = LoadingStatus.completed;\r\n }\r\n\r\n public setFailed(message: string = null, error: string = null) {\r\n this._status = LoadingStatus.failed;\r\n this._message = message;\r\n this._errorDetails = error;\r\n }\r\n\r\n private _load<T>(\r\n saveAsLoadObservable: boolean,\r\n progressMessage: string,\r\n observable: Observable<T>,\r\n resultFunction?: (result: T) => void,\r\n errorFunction?: (error: HttpErrorResponse) => void,\r\n completeFunction?: () => void\r\n ): Subscription {\r\n if (this._lastSubscription) {\r\n this._lastSubscription.unsubscribe();\r\n }\r\n\r\n this.setInProgress(progressMessage);\r\n const obs = observable.pipe(\r\n tap(\r\n () => {\r\n if (!saveAsLoadObservable && this.message) { // if message was used one time we clear it\r\n this._message = null;\r\n }\r\n this.setCompleted();\r\n },\r\n (err) => {\r\n this.setFailed(null, LoadingState.getErrorDetails(err));\r\n }\r\n )\r\n );\r\n\r\n if (saveAsLoadObservable) {\r\n this._loadObservable = obs;\r\n this._resultFunction = resultFunction;\r\n this._errorFunction = errorFunction;\r\n this._completeFunction = completeFunction;\r\n }\r\n\r\n this._lastSubscription = obs.subscribe(resultFunction, errorFunction, completeFunction);\r\n return this._lastSubscription;\r\n }\r\n\r\n public static getErrorDetails(error: any) {\r\n // this routine tries to get the best error details from:\r\n // - standard rfc7807 http error: https://datatracker.ietf.org/doc/html/rfc7807\r\n // - angular HttpError\r\n // - JS Error object\r\n\r\n const problem = error?.error;\r\n if (problem?.title && problem?.detail) {\r\n return `${problem.title}: ${problem.detail}`;\r\n } else {\r\n return problem?.title || problem?.detail || error.message || error;\r\n }\r\n }\r\n}\r\n","import { Component, Input, TemplateRef } from '@angular/core';\r\nimport { LoadingState, LoadingStatus } from './loading-state';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'nuc-loaded-content-component',\r\n templateUrl: './loaded-content-component.html',\r\n styleUrls: ['./loaded-content-component.scss']\r\n})\r\nexport class NucLoadedContentComponent {\r\n\r\n private _errorDetailsVisible = false;\r\n\r\n @Input()\r\n completedTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n errorTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n inProgressTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n public state: LoadingState;\r\n\r\n @Input()\r\n public inProgressMessage: string;\r\n\r\n @Input()\r\n public errorMessage = 'We are having trouble loading the data.';\r\n\r\n @Input()\r\n public showRetry = true;\r\n\r\n public get message() {\r\n if (this.state.message != null) {\r\n return this.state.message;\r\n } else {\r\n if (this.state.status === LoadingStatus.failed) {\r\n return this.errorMessage;\r\n } else if (this.state.status === LoadingStatus.inProgress) {\r\n return this.inProgressMessage;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n public get showRetryButton() {\r\n return this.showRetry;\r\n }\r\n\r\n public get inProgress() {\r\n const inProgress = this.state.status === LoadingStatus.inProgress;\r\n if (inProgress) {\r\n this._errorDetailsVisible = false;\r\n }\r\n return inProgress;\r\n }\r\n\r\n public get failed() {\r\n return this.state.status === LoadingStatus.failed;\r\n }\r\n\r\n public get completed() {\r\n return this.state.status === LoadingStatus.completed;\r\n }\r\n\r\n public get errorDetailsVisible() {\r\n return this._errorDetailsVisible;\r\n }\r\n\r\n public showErrorDetails() {\r\n this._errorDetailsVisible = true;\r\n }\r\n}\r\n","<ng-container *ngIf=\"completed\">\r\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\r\n <ng-container *ngIf=\"inProgress\">\r\n <ng-container *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"failed\">\r\n <ng-container *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #defaultInProgressTemplate>\r\n <div class=\"spinner\">\r\n <mat-spinner [diameter]=\"45\"></mat-spinner>\r\n </div>\r\n <p>\r\n {{message}}\r\n </p>\r\n</ng-template>\r\n\r\n<ng-template #defaultErrorTemplate>\r\n <div>\r\n <p class=\"message\">\r\n <span>{{message}}</span>\r\n <mat-icon *ngIf=\"state.errorDetails && !errorDetailsVisible\" class=\"info-button\" color=\"warn\" (click)=\"showErrorDetails()\">info</mat-icon>\r\n </p>\r\n\r\n <p *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\r\n {{state.errorDetails}}\r\n </p>\r\n\r\n <p *ngIf=\"showRetryButton\">\r\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </p>\r\n </div>\r\n</ng-template>\r\n","import {\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Directive,\r\n Input,\r\n TemplateRef,\r\n ViewContainerRef } from '@angular/core';\r\nimport { NucLoadedContentComponent } from './loaded-content-component';\r\nimport { LoadingState } from './loading-state';\r\n\r\n// eslint-disable-next-line @angular-eslint/directive-selector\r\n@Directive({ selector: '[nucLoadedContent]' })\r\nexport class NucLoadedContentDirective {\r\n\r\n private _state: LoadingState;\r\n private _completedTemplateRef: TemplateRef<any> | null = null;\r\n private _errorTemplateRef: TemplateRef<any> | null = null;\r\n private _inProgressTemplateRef: TemplateRef<any> | null = null;\r\n private _component: ComponentRef<NucLoadedContentComponent> = null;\r\n\r\n constructor(\r\n private _viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n private _componentResolver: ComponentFactoryResolver) {\r\n this._completedTemplateRef = templateRef;\r\n }\r\n\r\n @Input()\r\n set nucLoadedContent(state: LoadingState) {\r\n // add some error handling if state is null, etc.\r\n this._state = state;\r\n this._updateView();\r\n }\r\n\r\n // eslint-disable-next-line @angular-eslint/no-input-rename\r\n @Input('nucLoadedContentError')\r\n set errorTemplate(templateRef: TemplateRef<any> | null) {\r\n this._errorTemplateRef = templateRef;\r\n this._updateView();\r\n }\r\n\r\n // eslint-disable-next-line @angular-eslint/no-input-rename\r\n @Input('nucLoadedContentInProgress')\r\n set inProgressTemplate(templateRef: TemplateRef<any> | null) {\r\n this._inProgressTemplateRef = templateRef;\r\n this._updateView();\r\n }\r\n\r\n @Input('nucLoadedContentInProgressMessage')\r\n set inProgressMessage(inProgressMessage: string) {\r\n this._component.instance.inProgressMessage = inProgressMessage;\r\n }\r\n\r\n @Input('nucLoadedContentErrorMessage')\r\n set errorMessage(errorMessage: string) {\r\n this._component.instance.errorMessage = errorMessage;\r\n }\r\n\r\n @Input('nucLoadedContentShowRetry')\r\n set showRetry(showRetry: boolean) {\r\n this._component.instance.showRetry = showRetry;\r\n }\r\n\r\n private _updateView() {\r\n if (this._component == null) {\r\n const fac = this._componentResolver.resolveComponentFactory(NucLoadedContentComponent);\r\n this._component = this._viewContainer.createComponent(fac);\r\n }\r\n\r\n this._component.instance.state = this._state;\r\n this._component.instance.completedTemplate = this._completedTemplateRef;\r\n\r\n if (this._inProgressTemplateRef) {\r\n this._component.instance.inProgressTemplate = this._inProgressTemplateRef;\r\n }\r\n\r\n if (this._errorTemplateRef) {\r\n this._component.instance.errorTemplate = this._errorTemplateRef;\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { NucLoadedContentComponent } from './loaded-content-component';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NucLoadedContentDirective } from './loaded-content-directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n NucLoadedContentDirective,\r\n NucLoadedContentComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatProgressSpinnerModule,\r\n MatButtonModule,\r\n MatIconModule\r\n ],\r\n exports: [\r\n NucLoadedContentDirective\r\n ],\r\n entryComponents: [\r\n NucLoadedContentComponent\r\n ]\r\n})\r\nexport class NucLoadedContentModule { }\r\n","/* eslint-disable no-undef */\r\n/// <reference path=\"../../../../../node_modules/@types/winrt-uwp/index.d.ts\" />\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { WindowsTitleBarSyle } from './models';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NativeStylingService {\r\n\r\n constructor(private router: Router) { }\r\n\r\n public styleWindowsTitleBar(style: WindowsTitleBarSyle) {\r\n\r\n if ((window as any).Windows) {\r\n const accentColor = this.convertColor(style.backgroundColor);\r\n const hoverColor = style.hoverBackgroundColor ? this.convertColor(style.hoverBackgroundColor) : this.makeDarker(accentColor);\r\n const foregroundColor = style.foreground === 'light' ? Windows.UI.Colors.white : Windows.UI.Colors.black;\r\n const titleColor = style.hideTitle ? accentColor : foregroundColor;\r\n\r\n const appView = Windows.UI.ViewManagement.ApplicationView.getForCurrentView();\r\n const titleBar = appView.titleBar;\r\n\r\n titleBar.foregroundColor = titleColor;\r\n titleBar.inactiveForegroundColor = titleColor;\r\n\r\n titleBar.buttonHoverBackgroundColor = hoverColor;\r\n titleBar.buttonBackgroundColor = accentColor;\r\n titleBar.buttonInactiveBackgroundColor = accentColor;\r\n\r\n titleBar.buttonHoverForegroundColor = foregroundColor;\r\n titleBar.buttonForegroundColor = foregroundColor;\r\n titleBar.buttonInactiveForegroundColor = foregroundColor;\r\n\r\n titleBar.backgroundColor = accentColor;\r\n titleBar.inactiveBackgroundColor = accentColor;\r\n\r\n if (style.hideBackButton) {\r\n this.hideBackButton();\r\n const subscription = this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd && event.id > 1) {\r\n this.hideBackButton();\r\n subscription.unsubscribe();\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n private hideBackButton() {\r\n const systemNavigation = Windows.UI.Core.SystemNavigationManager.getForCurrentView();\r\n systemNavigation.appViewBackButtonVisibility = Windows.UI.Core.AppViewBackButtonVisibility.collapsed;\r\n }\r\n\r\n private convertColor(colorStr: string): Windows.UI.Color {\r\n const regEx = new RegExp('^#([A-Fa-f0-9]{6})$');\r\n if (! regEx.test(colorStr)) {\r\n throw new Error('Color is not in the right format. Should be #RRGGBB.');\r\n }\r\n\r\n const r = parseInt(colorStr.substr(1, 2), 16);\r\n const g = parseInt(colorStr.substr(3, 2), 16);\r\n const b = parseInt(colorStr.substr(5, 2), 16);\r\n\r\n return Windows.UI.ColorHelper.fromArgb(255, r, g, b);\r\n }\r\n\r\n private makeDarker(color: Windows.UI.Color, factor = 0.80) {\r\n return Windows.UI.ColorHelper.fromArgb(color.a, color.r * factor, color.g * factor, color.b * factor);\r\n }\r\n}\r\n","export class WindowsTitleBarSyle {\r\n backgroundColor: string;\r\n hoverBackgroundColor?: string = null;\r\n foreground?: 'dark' | 'light' = 'dark';\r\n hideTitle ? = false;\r\n hideBackButton ?= false;\r\n}\r\n","import { Directive, ElementRef, OnInit } from '@angular/core';\r\nimport { MatTabGroup } from '@angular/material/tabs';\r\nimport * as Hammer from 'hammerjs';\r\n\r\n// eslint-disable-next-line @angular-eslint/directive-selector\r\n@Directive({ selector: '[nucSwipe]' })\r\n\r\nexport class NucSwipeTabsDirective implements OnInit {\r\n constructor(\r\n private element: ElementRef, // ElementRef<MatTabGroup> causes errors.\r\n private tabGroup: MatTabGroup) { }\r\n\r\n ngOnInit() {\r\n const hammerJs = new Hammer.Manager(this.element.nativeElement, {\r\n inputClass: Hammer.TouchInput\r\n });\r\n\r\n hammerJs.add(new Hammer.Pan({\r\n direction: Hammer.DIRECTION_HORIZONTAL,\r\n threshold: 30\r\n }));\r\n\r\n hammerJs.on('panleft panright', (event) => {\r\n if (event.isFinal) {\r\n // Check if any of the tabs are set to disabled\r\n const tabs = this.tabGroup._tabs.map(x => x.disabled);\r\n const anyTabDisabled = tabs.some(disabled => disabled);\r\n\r\n if (event.type === 'panleft' && event.direction === 2 && this.tabGroup.selectedIndex < (this.tabGroup._tabs.length - 1)) {\r\n // Go to next tab\r\n if (anyTabDisabled) {\r\n const tabsToRight = tabs.slice(this.tabGroup.selectedIndex + 1);\r\n this.tabGroup.selectedIndex += this.getOffset(tabsToRight);\r\n } else {\r\n this.tabGroup.selectedIndex++;\r\n }\r\n } else if (event.type === 'panright' && event.direction === 4 && this.tabGroup.selectedIndex > 0) {\r\n // Go to previous tab\r\n if (anyTabDisabled) {\r\n const tabsToLeft = tabs.slice().reverse().slice(-this.tabGroup.selectedIndex);\r\n this.tabGroup.selectedIndex -= this.getOffset(tabsToLeft);\r\n } else {\r\n this.tabGroup.selectedIndex--;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n private getOffset(tabs: boolean[]) {\r\n // Find offset to the first enabled tab\r\n const offset = tabs.indexOf(tabs.find(disabled => !disabled)) + 1;\r\n return offset;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { NucSwipeTabsDirective } from './swipe-tabs-directive';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [\r\n NucSwipeTabsDirective\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n NucSwipeTabsDirective\r\n ]\r\n})\r\n\r\nexport class NucSwipeTabsModule {\r\n\r\n}\r\n","import { Injectable, NgZone } from '@angular/core';\r\nimport { MatSnackBar, MatSnackBarConfig, MatSnackBarRef, TextOnlySnackBar } from '@angular/material/snack-bar';\r\nimport { NucSnackbarType } from './models';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class NucSnackbarService {\r\n\r\n constructor(private _matSnackBar: MatSnackBar, private _zone: NgZone) {\r\n\r\n }\r\n\r\n public openSnackbar(type: NucSnackbarType, message: string, action: string | null, duration: number): MatSnackBarRef<TextOnlySnackBar> {\r\n let snackbarRef: MatSnackBarRef<TextOnlySnackBar>;\r\n\r\n this._zone.run(() => {\r\n snackbarRef = this._matSnackBar.open(message, action, {\r\n duration,\r\n panelClass: `${type}-snackbar`\r\n });\r\n });\r\n\r\n return snackbarRef;\r\n }\r\n\r\n\r\n public openSnackbarWithConfig(message: string, action: string | null, config: MatSnackBarConfig): MatSnackBarRef<TextOnlySnackBar> {\r\n let snackbarRef: MatSnackBarRef<TextOnlySnackBar>;\r\n\r\n this._zone.run(() => {\r\n snackbarRef = this._matSnackBar.open(message, action, config);\r\n });\r\n\r\n return snackbarRef;\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\n\r\n@NgModule({\r\n declarations: [\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatSnackBarModule\r\n ],\r\n exports: [\r\n ]\r\n})\r\n\r\nexport class NucSnackbarModule {\r\n\r\n}\r\n","export enum NucSnackbarType {\r\n Info = 'info',\r\n Warning = 'warning',\r\n Danger = 'danger',\r\n Success = 'success'\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nexport type AvatarSize = 'small' | 'medium' | 'large' | 'xlarge';\r\nexport type Background = true | false;\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'nuc-user-avatar',\r\n templateUrl: './user-avatar-component.html',\r\n styleUrls: ['./user-avatar-component.scss']\r\n})\r\n\r\nexport class NucUserAvatarComponent {\r\n\r\n @Input() name: string;\r\n @Input() image: string;\r\n @Input() size: AvatarSize = 'medium';\r\n @Input() background: Background = false;\r\n\r\n constructor() {\r\n }\r\n\r\n getUserInitials() {\r\n const nameParts = this.name.split(' ');\r\n return nameParts[0].charAt(0).toUpperCase() + '' + nameParts[nameParts.length - 1].charAt(0).toUpperCase();\r\n }\r\n\r\n getHslString(): string {\r\n if (!this.background) {\r\n return `hsl(${0},${0}%,${100}%)`;\r\n }\r\n\r\n\r\n let hash = 0;\r\n for (let i = 0; i < this.name.length; i++) {\r\n /*\r\n * Javascript uses double precision floating-point format for all numerical datatypes.\r\n * Except when using bitwise operations, where operators are converted to 32-bit signed integers.\r\n * Result of bitwise operations are then converted back to double precision floating-point format.\r\n *\r\n * We make a bitwise OR operation between the new hash and 0.\r\n * This keeps only the lower 32 bits in the new hash value.\r\n */\r\n // eslint-disable-next-line no-bitwise\r\n hash = (this.name.charCodeAt(i) + ((hash << 15) - hash)) | 0;\r\n }\r\n\r\n const hue = Math.abs(hash % 360);\r\n\r\n const lightness = 49.2;\r\n const saturation = 42.6;\r\n\r\n return `hsl(${hue},${saturation}%,${lightness}%)`;\r\n }\r\n}\r\n","<ng-container *ngIf=\"image\">\r\n <div class=\"user-avatar size-{{size}}\">\r\n <img src=\"{{image}}\" />\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"!image\">\r\n <div class=\"user-avatar size-{{size}} unselectable\" [style.background-color]=\"getHslString()\" [ngClass]=\"{'white-text': background, 'black-text border': !background}\">\r\n {{getUserInitials()}}\r\n </div>\r\n</ng-container>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NucUserAvatarComponent } from './user-avatar-component';\r\n\r\n@NgModule({\r\n declarations: [\r\n NucUserAvatarComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [\r\n NucUserAvatarComponent\r\n ]\r\n})\r\n\r\nexport class NucUserAvatarModule {\r\n\r\n}\r\n","/*\r\n * Public API Surface of nucleus-material\r\n */\r\n\r\n// dialog\r\nexport * from './lib/dialog/dialog.service';\r\nexport * from './lib/dialog/dialog.module';\r\nexport * from './lib/dialog/models';\r\n\r\n// loaded-content\r\nexport * from './lib/loaded-content/loading-state';\r\nexport * from './lib/loaded-content/loaded-content-component';\r\nexport * from './lib/loaded-content/loaded-content-directive';\r\nexport * from './lib/loaded-content/loaded-content-module';\r\n\r\n// native-styling\r\nexport * from './lib/native-styling/native-styling.service';\r\nexport * from './lib/native-styling/models';\r\n\r\n// swipe-tabs\r\nexport * from './lib/swipe-tabs/swipe-tabs-directive';\r\nexport * from './lib/swipe-tabs/swipe-tabs-module';\r\n\r\n// dialog component\r\nexport * from './lib/dialog/dialog.service';\r\nexport * from './lib/dialog/dialog.module';\r\nexport * from './lib/dialog/models';\r\n\r\n// snackbar component\r\nexport * from './lib/snackbar/snackbar.service';\r\nexport * from './lib/snackbar/snackbar.module';\r\nexport * from './lib/snackbar/models';\r\n\r\n// user-avatar\r\nexport * from './lib/user-avatar/user-avatar-component';\r\nexport * from './lib/user-avatar/user-avatar-module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { CommonModule } from '@angular/common';
9
9
  import { tap } from 'rxjs/operators';
10
10
  import * as i1$1 from '@angular/material/progress-spinner';
11
11
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
12
- import * as i3$1 from '@angular/material/icon';
12
+ import * as i2$1 from '@angular/material/icon';
13
13
  import { MatIconModule } from '@angular/material/icon';
14
14
  import * as i1$2 from '@angular/router';
15
15
  import { NavigationEnd } from '@angular/router';
@@ -243,10 +243,10 @@ class NucLoadedContentComponent {
243
243
  }
244
244
  }
245
245
  NucLoadedContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucLoadedContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
246
- NucLoadedContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: NucLoadedContentComponent, selector: "nuc-loaded-content-component", inputs: { completedTemplate: "completedTemplate", errorTemplate: "errorTemplate", inProgressTemplate: "inProgressTemplate", state: "state", inProgressMessage: "inProgressMessage", errorMessage: "errorMessage", showRetry: "showRetry" }, ngImport: i0, template: "<ng-container *ngIf=\"completed\">\r\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\r\n <ng-container *ngIf=\"inProgress\">\r\n <ng-container *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"failed\">\r\n <ng-container *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #defaultInProgressTemplate>\r\n <div class=\"spinner\">\r\n <mat-spinner [diameter]=\"45\"></mat-spinner>\r\n </div>\r\n <p>\r\n {{message}}\r\n </p>\r\n</ng-template>\r\n\r\n<ng-template #defaultErrorTemplate>\r\n <div>\r\n <p>\r\n {{message}}\r\n </p>\r\n\r\n <div *ngIf=\"state.errorDetails\">\r\n <button *ngIf=\"!errorDetailsVisible\" mat-button color=\"warn\" (click)=\"showErrorDetails()\">show details</button>\r\n\r\n <div *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\r\n <strong>details:</strong><br />\r\n <p>{{state.errorDetails}}</p>\r\n </div>\r\n </div>\r\n\r\n <p *ngIf=\"showRetryButton\">\r\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </p>\r\n\r\n </div>\r\n</ng-template>\r\n", styles: [".indicators-container{text-align:center;margin:0 auto;padding-top:4rem}.error-details{margin-top:1rem}.spinner{display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}\n"], components: [{ type: i1$1.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
246
+ NucLoadedContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: NucLoadedContentComponent, selector: "nuc-loaded-content-component", inputs: { completedTemplate: "completedTemplate", errorTemplate: "errorTemplate", inProgressTemplate: "inProgressTemplate", state: "state", inProgressMessage: "inProgressMessage", errorMessage: "errorMessage", showRetry: "showRetry" }, ngImport: i0, template: "<ng-container *ngIf=\"completed\">\r\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\r\n <ng-container *ngIf=\"inProgress\">\r\n <ng-container *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"failed\">\r\n <ng-container *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #defaultInProgressTemplate>\r\n <div class=\"spinner\">\r\n <mat-spinner [diameter]=\"45\"></mat-spinner>\r\n </div>\r\n <p>\r\n {{message}}\r\n </p>\r\n</ng-template>\r\n\r\n<ng-template #defaultErrorTemplate>\r\n <div>\r\n <p class=\"message\">\r\n <span>{{message}}</span>\r\n <mat-icon *ngIf=\"state.errorDetails && !errorDetailsVisible\" class=\"info-button\" color=\"warn\" (click)=\"showErrorDetails()\">info</mat-icon>\r\n </p>\r\n\r\n <p *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\r\n {{state.errorDetails}}\r\n </p>\r\n\r\n <p *ngIf=\"showRetryButton\">\r\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </p>\r\n </div>\r\n</ng-template>\r\n", styles: [".indicators-container{text-align:center;margin:0 auto;padding-top:4rem}.error-details{margin-top:1rem}.spinner{display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}.message{display:flex;justify-content:center;align-items:center}.info-button{cursor:pointer;margin-left:.5rem}\n"], components: [{ type: i1$1.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
247
247
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucLoadedContentComponent, decorators: [{
248
248
  type: Component,
249
- args: [{ selector: 'nuc-loaded-content-component', template: "<ng-container *ngIf=\"completed\">\r\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\r\n <ng-container *ngIf=\"inProgress\">\r\n <ng-container *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"failed\">\r\n <ng-container *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #defaultInProgressTemplate>\r\n <div class=\"spinner\">\r\n <mat-spinner [diameter]=\"45\"></mat-spinner>\r\n </div>\r\n <p>\r\n {{message}}\r\n </p>\r\n</ng-template>\r\n\r\n<ng-template #defaultErrorTemplate>\r\n <div>\r\n <p>\r\n {{message}}\r\n </p>\r\n\r\n <div *ngIf=\"state.errorDetails\">\r\n <button *ngIf=\"!errorDetailsVisible\" mat-button color=\"warn\" (click)=\"showErrorDetails()\">show details</button>\r\n\r\n <div *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\r\n <strong>details:</strong><br />\r\n <p>{{state.errorDetails}}</p>\r\n </div>\r\n </div>\r\n\r\n <p *ngIf=\"showRetryButton\">\r\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </p>\r\n\r\n </div>\r\n</ng-template>\r\n", styles: [".indicators-container{text-align:center;margin:0 auto;padding-top:4rem}.error-details{margin-top:1rem}.spinner{display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}\n"] }]
249
+ args: [{ selector: 'nuc-loaded-content-component', template: "<ng-container *ngIf=\"completed\">\r\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\r\n <ng-container *ngIf=\"inProgress\">\r\n <ng-container *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"failed\">\r\n <ng-container *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #defaultInProgressTemplate>\r\n <div class=\"spinner\">\r\n <mat-spinner [diameter]=\"45\"></mat-spinner>\r\n </div>\r\n <p>\r\n {{message}}\r\n </p>\r\n</ng-template>\r\n\r\n<ng-template #defaultErrorTemplate>\r\n <div>\r\n <p class=\"message\">\r\n <span>{{message}}</span>\r\n <mat-icon *ngIf=\"state.errorDetails && !errorDetailsVisible\" class=\"info-button\" color=\"warn\" (click)=\"showErrorDetails()\">info</mat-icon>\r\n </p>\r\n\r\n <p *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\r\n {{state.errorDetails}}\r\n </p>\r\n\r\n <p *ngIf=\"showRetryButton\">\r\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </p>\r\n </div>\r\n</ng-template>\r\n", styles: [".indicators-container{text-align:center;margin:0 auto;padding-top:4rem}.error-details{margin-top:1rem}.spinner{display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}.message{display:flex;justify-content:center;align-items:center}.info-button{cursor:pointer;margin-left:.5rem}\n"] }]
250
250
  }], propDecorators: { completedTemplate: [{
251
251
  type: Input
252
252
  }], errorTemplate: [{
@@ -1 +1 @@
1
- {"version":3,"file":"kolektor-nucleus-material.mjs","sources":["../../../projects/nucleus-material/src/lib/dialog/dialog.component.ts","../../../projects/nucleus-material/src/lib/dialog/dialog.component.html","../../../projects/nucleus-material/src/lib/dialog/dialog.service.ts","../../../projects/nucleus-material/src/lib/dialog/dialog.module.ts","../../../projects/nucleus-material/src/lib/dialog/models.ts","../../../projects/nucleus-material/src/lib/loaded-content/loading-state.ts","../../../projects/nucleus-material/src/lib/loaded-content/loaded-content-component.ts","../../../projects/nucleus-material/src/lib/loaded-content/loaded-content-component.html","../../../projects/nucleus-material/src/lib/loaded-content/loaded-content-directive.ts","../../../projects/nucleus-material/src/lib/loaded-content/loaded-content-module.ts","../../../projects/nucleus-material/src/lib/native-styling/native-styling.service.ts","../../../projects/nucleus-material/src/lib/native-styling/models.ts","../../../projects/nucleus-material/src/lib/swipe-tabs/swipe-tabs-directive.ts","../../../projects/nucleus-material/src/lib/swipe-tabs/swipe-tabs-module.ts","../../../projects/nucleus-material/src/lib/snackbar/snackbar.service.ts","../../../projects/nucleus-material/src/lib/snackbar/snackbar.module.ts","../../../projects/nucleus-material/src/lib/snackbar/models.ts","../../../projects/nucleus-material/src/lib/user-avatar/user-avatar-component.ts","../../../projects/nucleus-material/src/lib/user-avatar/user-avatar-component.html","../../../projects/nucleus-material/src/lib/user-avatar/user-avatar-module.ts","../../../projects/nucleus-material/src/public-api.ts","../../../projects/nucleus-material/src/kolektor-nucleus-material.ts"],"sourcesContent":["import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { NucDialogData } from './models';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'nuc-dialog',\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.scss']\r\n})\r\n\r\nexport class NucDialogComponent {\r\n constructor(\r\n public dialogRef: MatDialogRef<NucDialogComponent>,\r\n @Inject(MAT_DIALOG_DATA) public dialogData: NucDialogData\r\n ) { }\r\n}\r\n","<ng-container *ngIf=\"dialogData\">\r\n <h2 mat-dialog-title *ngIf=\"dialogData.title\">\r\n {{dialogData.title}}\r\n </h2>\r\n <mat-dialog-content>{{dialogData.message}}</mat-dialog-content>\r\n <mat-dialog-actions>\r\n <ng-container *ngFor=\"let action of dialogData.actions\">\r\n <button color=\"{{action.color || 'primary'}}\" *ngIf=\"action.value === undefined\" mat-button mat-dialog-close>{{action.text}}</button>\r\n <button color=\"{{action.color || 'primary'}}\" *ngIf=\"action.value !== undefined\" mat-button [mat-dialog-close]=\"action.value\">{{action.text}}</button>\r\n </ng-container>\r\n </mat-dialog-actions>\r\n</ng-container>\r\n","import { Injectable } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { NucDialogData } from './models';\r\nimport { NucDialogComponent } from './dialog.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NucDialogService {\r\n constructor(private _matDialog: MatDialog) { }\r\n\r\n /**\r\n * Opens a NucDialog with content from dialogData.\r\n *\r\n * @param dialogData NucDialogData containing title, message and possible actions.\r\n * @param dialogConfig Extra configuration options. Data property is ignored, since it will be set to dialogData.\r\n * @returns a promise with value that was specified inside pressed Nucleus action.\r\n */\r\n public async open(dialogData: NucDialogData, dialogConfig?: MatDialogConfig): Promise<any> {\r\n if (dialogData.actions && dialogData.actions.length > 0) {\r\n if (dialogConfig) {\r\n dialogConfig.data = dialogData;\r\n } else {\r\n dialogConfig = { data: dialogData };\r\n }\r\n return await this._matDialog.open(NucDialogComponent, dialogConfig).beforeClosed().toPromise();\r\n } else {\r\n console.error('Nucleus.AppCore: NucDialogData requires at least one action.');\r\n }\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { NucDialogComponent } from './dialog.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n NucDialogComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatDialogModule,\r\n MatButtonModule\r\n ],\r\n entryComponents: [\r\n NucDialogComponent\r\n ]\r\n})\r\n\r\nexport class NucDialogModule { }\r\n","export interface NucDialogData {\r\n /** Optional title for the dialog. */\r\n title?: string;\r\n /** Message for the dialog. */\r\n message: string;\r\n /** Action(s) (buttons) for the dialog. At least one is required. */\r\n actions: NucAction[];\r\n}\r\n\r\nexport interface NucAction {\r\n /** Text for the action (button). */\r\n text: string;\r\n /** Return value for the action (button). */\r\n value?: any;\r\n /** Optional color of the action (button). */\r\n color?: NucColor;\r\n}\r\n\r\nexport enum NucColor {\r\n /** Primary color of the theme. */\r\n primary = 'primary',\r\n /** Accent color of the theme. */\r\n accent = 'accent',\r\n /** Warning color of the theme. */\r\n warn = 'warn'\r\n}\r\n","import { Observable, Subscription } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nexport enum LoadingStatus { completed, inProgress, failed, undefined }\r\n\r\nexport class LoadingState {\r\n private _status: LoadingStatus = LoadingStatus.undefined;\r\n private _message: string = null;\r\n private _errorDetails: string = null;\r\n private _resultFunction: (result: any) => void;\r\n private _errorFunction: (error: HttpErrorResponse) => void;\r\n private _completeFunction: () => void;\r\n private _loadObservable: Observable<any>;\r\n private _lastSubscription: Subscription = null;\r\n\r\n get status(): LoadingStatus {\r\n return this._status;\r\n }\r\n\r\n get message(): string {\r\n return this._message;\r\n }\r\n\r\n get errorDetails(): string {\r\n return this._errorDetails;\r\n }\r\n\r\n public load<T>(\r\n observable: Observable<T>,\r\n resultFunction?: (result: T) => void,\r\n errorFunction?: (error: HttpErrorResponse) => void,\r\n completeFunction?: () => void\r\n ): Subscription {\r\n return this._load(true, null, observable, resultFunction, errorFunction, completeFunction);\r\n }\r\n\r\n public loadWithMessage<T>(\r\n observable: Observable<T>,\r\n message: string,\r\n resultFunction?: (result: T) => void,\r\n errorFunction?: (error: HttpErrorResponse) => void,\r\n completeFunction?: () => void\r\n ): Subscription {\r\n return this._load(true, message, observable, resultFunction, errorFunction, completeFunction);\r\n }\r\n\r\n public invoke<T>(\r\n observable: Observable<T>,\r\n resultFunction?: (result: T) => void,\r\n errorFunction?: (error: HttpErrorResponse) => void,\r\n completeFunction?: () => void\r\n ): Subscription {\r\n return this._load(false, null, observable, resultFunction, errorFunction, completeFunction);\r\n }\r\n\r\n public invokeWithMessage<T>(\r\n observable: Observable<T>,\r\n message: string,\r\n resultFunction?: (result: T) => void,\r\n errorFunction?: (error: HttpErrorResponse) => void,\r\n completeFunction?: () => void\r\n ): Subscription {\r\n return this._load(false, message, observable, resultFunction, errorFunction, completeFunction);\r\n }\r\n\r\n public retry() {\r\n if (this._lastSubscription) {\r\n this._lastSubscription.unsubscribe();\r\n }\r\n this.setInProgress();\r\n this._lastSubscription = this._loadObservable.subscribe(this._resultFunction, this._errorFunction, this._completeFunction);\r\n return this._lastSubscription;\r\n }\r\n\r\n public setInProgress(message: string = null) {\r\n this._status = LoadingStatus.inProgress;\r\n this._message = message;\r\n }\r\n\r\n public setCompleted() {\r\n this._status = LoadingStatus.completed;\r\n }\r\n\r\n public setFailed(message: string = null, error: string = null) {\r\n this._status = LoadingStatus.failed;\r\n this._message = message;\r\n this._errorDetails = error;\r\n }\r\n\r\n private _load<T>(\r\n saveAsLoadObservable: boolean,\r\n progressMessage: string,\r\n observable: Observable<T>,\r\n resultFunction?: (result: T) => void,\r\n errorFunction?: (error: HttpErrorResponse) => void,\r\n completeFunction?: () => void\r\n ): Subscription {\r\n if (this._lastSubscription) {\r\n this._lastSubscription.unsubscribe();\r\n }\r\n\r\n this.setInProgress(progressMessage);\r\n const obs = observable.pipe(\r\n tap(\r\n () => {\r\n if (!saveAsLoadObservable && this.message) { // if message was used one time we clear it\r\n this._message = null;\r\n }\r\n this.setCompleted();\r\n },\r\n (err) => {\r\n this.setFailed(null, LoadingState.getErrorDetails(err));\r\n }\r\n )\r\n );\r\n\r\n if (saveAsLoadObservable) {\r\n this._loadObservable = obs;\r\n this._resultFunction = resultFunction;\r\n this._errorFunction = errorFunction;\r\n this._completeFunction = completeFunction;\r\n }\r\n\r\n this._lastSubscription = obs.subscribe(resultFunction, errorFunction, completeFunction);\r\n return this._lastSubscription;\r\n }\r\n\r\n public static getErrorDetails(error: any) {\r\n // this routine tries to get the best error details from:\r\n // - standard rfc7807 http error: https://datatracker.ietf.org/doc/html/rfc7807\r\n // - angular HttpError\r\n // - JS Error object\r\n\r\n const problem = error?.error;\r\n if (problem?.title && problem?.detail) {\r\n return `${problem.title}: ${problem.detail}`;\r\n } else {\r\n return problem?.title || problem?.detail || error.message || error;\r\n }\r\n }\r\n}\r\n","import { Component, Input, TemplateRef } from '@angular/core';\r\nimport { LoadingState, LoadingStatus } from './loading-state';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'nuc-loaded-content-component',\r\n templateUrl: './loaded-content-component.html',\r\n styleUrls: ['./loaded-content-component.scss']\r\n})\r\nexport class NucLoadedContentComponent {\r\n\r\n private _errorDetailsVisible = false;\r\n\r\n @Input()\r\n completedTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n errorTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n inProgressTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n public state: LoadingState;\r\n\r\n @Input()\r\n public inProgressMessage: string;\r\n\r\n @Input()\r\n public errorMessage = 'We are having trouble loading the data.';\r\n\r\n @Input()\r\n public showRetry = true;\r\n\r\n public get message() {\r\n if (this.state.message != null) {\r\n return this.state.message;\r\n } else {\r\n if (this.state.status === LoadingStatus.failed) {\r\n return this.errorMessage;\r\n } else if (this.state.status === LoadingStatus.inProgress) {\r\n return this.inProgressMessage;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n public get showRetryButton() {\r\n return this.showRetry;\r\n }\r\n\r\n public get inProgress() {\r\n const inProgress = this.state.status === LoadingStatus.inProgress;\r\n if (inProgress) {\r\n this._errorDetailsVisible = false;\r\n }\r\n return inProgress;\r\n }\r\n\r\n public get failed() {\r\n return this.state.status === LoadingStatus.failed;\r\n }\r\n\r\n public get completed() {\r\n return this.state.status === LoadingStatus.completed;\r\n }\r\n\r\n public get errorDetailsVisible() {\r\n return this._errorDetailsVisible;\r\n }\r\n\r\n public showErrorDetails() {\r\n this._errorDetailsVisible = true;\r\n }\r\n}\r\n","<ng-container *ngIf=\"completed\">\r\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\r\n <ng-container *ngIf=\"inProgress\">\r\n <ng-container *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"failed\">\r\n <ng-container *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #defaultInProgressTemplate>\r\n <div class=\"spinner\">\r\n <mat-spinner [diameter]=\"45\"></mat-spinner>\r\n </div>\r\n <p>\r\n {{message}}\r\n </p>\r\n</ng-template>\r\n\r\n<ng-template #defaultErrorTemplate>\r\n <div>\r\n <p>\r\n {{message}}\r\n </p>\r\n\r\n <div *ngIf=\"state.errorDetails\">\r\n <button *ngIf=\"!errorDetailsVisible\" mat-button color=\"warn\" (click)=\"showErrorDetails()\">show details</button>\r\n\r\n <div *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\r\n <strong>details:</strong><br />\r\n <p>{{state.errorDetails}}</p>\r\n </div>\r\n </div>\r\n\r\n <p *ngIf=\"showRetryButton\">\r\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </p>\r\n\r\n </div>\r\n</ng-template>\r\n","import {\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Directive,\r\n Input,\r\n TemplateRef,\r\n ViewContainerRef } from '@angular/core';\r\nimport { NucLoadedContentComponent } from './loaded-content-component';\r\nimport { LoadingState } from './loading-state';\r\n\r\n// eslint-disable-next-line @angular-eslint/directive-selector\r\n@Directive({ selector: '[nucLoadedContent]' })\r\nexport class NucLoadedContentDirective {\r\n\r\n private _state: LoadingState;\r\n private _completedTemplateRef: TemplateRef<any> | null = null;\r\n private _errorTemplateRef: TemplateRef<any> | null = null;\r\n private _inProgressTemplateRef: TemplateRef<any> | null = null;\r\n private _component: ComponentRef<NucLoadedContentComponent> = null;\r\n\r\n constructor(\r\n private _viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n private _componentResolver: ComponentFactoryResolver) {\r\n this._completedTemplateRef = templateRef;\r\n }\r\n\r\n @Input()\r\n set nucLoadedContent(state: LoadingState) {\r\n // add some error handling if state is null, etc.\r\n this._state = state;\r\n this._updateView();\r\n }\r\n\r\n // eslint-disable-next-line @angular-eslint/no-input-rename\r\n @Input('nucLoadedContentError')\r\n set errorTemplate(templateRef: TemplateRef<any> | null) {\r\n this._errorTemplateRef = templateRef;\r\n this._updateView();\r\n }\r\n\r\n // eslint-disable-next-line @angular-eslint/no-input-rename\r\n @Input('nucLoadedContentInProgress')\r\n set inProgressTemplate(templateRef: TemplateRef<any> | null) {\r\n this._inProgressTemplateRef = templateRef;\r\n this._updateView();\r\n }\r\n\r\n @Input('nucLoadedContentInProgressMessage')\r\n set inProgressMessage(inProgressMessage: string) {\r\n this._component.instance.inProgressMessage = inProgressMessage;\r\n }\r\n\r\n @Input('nucLoadedContentErrorMessage')\r\n set errorMessage(errorMessage: string) {\r\n this._component.instance.errorMessage = errorMessage;\r\n }\r\n\r\n @Input('nucLoadedContentShowRetry')\r\n set showRetry(showRetry: boolean) {\r\n this._component.instance.showRetry = showRetry;\r\n }\r\n\r\n private _updateView() {\r\n if (this._component == null) {\r\n const fac = this._componentResolver.resolveComponentFactory(NucLoadedContentComponent);\r\n this._component = this._viewContainer.createComponent(fac);\r\n }\r\n\r\n this._component.instance.state = this._state;\r\n this._component.instance.completedTemplate = this._completedTemplateRef;\r\n\r\n if (this._inProgressTemplateRef) {\r\n this._component.instance.inProgressTemplate = this._inProgressTemplateRef;\r\n }\r\n\r\n if (this._errorTemplateRef) {\r\n this._component.instance.errorTemplate = this._errorTemplateRef;\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { NucLoadedContentComponent } from './loaded-content-component';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NucLoadedContentDirective } from './loaded-content-directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n NucLoadedContentDirective,\r\n NucLoadedContentComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatProgressSpinnerModule,\r\n MatButtonModule,\r\n MatIconModule\r\n ],\r\n exports: [\r\n NucLoadedContentDirective\r\n ],\r\n entryComponents: [\r\n NucLoadedContentComponent\r\n ]\r\n})\r\nexport class NucLoadedContentModule { }\r\n","/* eslint-disable no-undef */\r\n/// <reference path=\"../../../../../node_modules/@types/winrt-uwp/index.d.ts\" />\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { WindowsTitleBarSyle } from './models';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NativeStylingService {\r\n\r\n constructor(private router: Router) { }\r\n\r\n public styleWindowsTitleBar(style: WindowsTitleBarSyle) {\r\n\r\n if ((window as any).Windows) {\r\n const accentColor = this.convertColor(style.backgroundColor);\r\n const hoverColor = style.hoverBackgroundColor ? this.convertColor(style.hoverBackgroundColor) : this.makeDarker(accentColor);\r\n const foregroundColor = style.foreground === 'light' ? Windows.UI.Colors.white : Windows.UI.Colors.black;\r\n const titleColor = style.hideTitle ? accentColor : foregroundColor;\r\n\r\n const appView = Windows.UI.ViewManagement.ApplicationView.getForCurrentView();\r\n const titleBar = appView.titleBar;\r\n\r\n titleBar.foregroundColor = titleColor;\r\n titleBar.inactiveForegroundColor = titleColor;\r\n\r\n titleBar.buttonHoverBackgroundColor = hoverColor;\r\n titleBar.buttonBackgroundColor = accentColor;\r\n titleBar.buttonInactiveBackgroundColor = accentColor;\r\n\r\n titleBar.buttonHoverForegroundColor = foregroundColor;\r\n titleBar.buttonForegroundColor = foregroundColor;\r\n titleBar.buttonInactiveForegroundColor = foregroundColor;\r\n\r\n titleBar.backgroundColor = accentColor;\r\n titleBar.inactiveBackgroundColor = accentColor;\r\n\r\n if (style.hideBackButton) {\r\n this.hideBackButton();\r\n const subscription = this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd && event.id > 1) {\r\n this.hideBackButton();\r\n subscription.unsubscribe();\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n private hideBackButton() {\r\n const systemNavigation = Windows.UI.Core.SystemNavigationManager.getForCurrentView();\r\n systemNavigation.appViewBackButtonVisibility = Windows.UI.Core.AppViewBackButtonVisibility.collapsed;\r\n }\r\n\r\n private convertColor(colorStr: string): Windows.UI.Color {\r\n const regEx = new RegExp('^#([A-Fa-f0-9]{6})$');\r\n if (! regEx.test(colorStr)) {\r\n throw new Error('Color is not in the right format. Should be #RRGGBB.');\r\n }\r\n\r\n const r = parseInt(colorStr.substr(1, 2), 16);\r\n const g = parseInt(colorStr.substr(3, 2), 16);\r\n const b = parseInt(colorStr.substr(5, 2), 16);\r\n\r\n return Windows.UI.ColorHelper.fromArgb(255, r, g, b);\r\n }\r\n\r\n private makeDarker(color: Windows.UI.Color, factor = 0.80) {\r\n return Windows.UI.ColorHelper.fromArgb(color.a, color.r * factor, color.g * factor, color.b * factor);\r\n }\r\n}\r\n","export class WindowsTitleBarSyle {\r\n backgroundColor: string;\r\n hoverBackgroundColor?: string = null;\r\n foreground?: 'dark' | 'light' = 'dark';\r\n hideTitle ? = false;\r\n hideBackButton ?= false;\r\n}\r\n","import { Directive, ElementRef, OnInit } from '@angular/core';\r\nimport { MatTabGroup } from '@angular/material/tabs';\r\nimport * as Hammer from 'hammerjs';\r\n\r\n// eslint-disable-next-line @angular-eslint/directive-selector\r\n@Directive({ selector: '[nucSwipe]' })\r\n\r\nexport class NucSwipeTabsDirective implements OnInit {\r\n constructor(\r\n private element: ElementRef, // ElementRef<MatTabGroup> causes errors.\r\n private tabGroup: MatTabGroup) { }\r\n\r\n ngOnInit() {\r\n const hammerJs = new Hammer.Manager(this.element.nativeElement, {\r\n inputClass: Hammer.TouchInput\r\n });\r\n\r\n hammerJs.add(new Hammer.Pan({\r\n direction: Hammer.DIRECTION_HORIZONTAL,\r\n threshold: 30\r\n }));\r\n\r\n hammerJs.on('panleft panright', (event) => {\r\n if (event.isFinal) {\r\n // Check if any of the tabs are set to disabled\r\n const tabs = this.tabGroup._tabs.map(x => x.disabled);\r\n const anyTabDisabled = tabs.some(disabled => disabled);\r\n\r\n if (event.type === 'panleft' && event.direction === 2 && this.tabGroup.selectedIndex < (this.tabGroup._tabs.length - 1)) {\r\n // Go to next tab\r\n if (anyTabDisabled) {\r\n const tabsToRight = tabs.slice(this.tabGroup.selectedIndex + 1);\r\n this.tabGroup.selectedIndex += this.getOffset(tabsToRight);\r\n } else {\r\n this.tabGroup.selectedIndex++;\r\n }\r\n } else if (event.type === 'panright' && event.direction === 4 && this.tabGroup.selectedIndex > 0) {\r\n // Go to previous tab\r\n if (anyTabDisabled) {\r\n const tabsToLeft = tabs.slice().reverse().slice(-this.tabGroup.selectedIndex);\r\n this.tabGroup.selectedIndex -= this.getOffset(tabsToLeft);\r\n } else {\r\n this.tabGroup.selectedIndex--;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n private getOffset(tabs: boolean[]) {\r\n // Find offset to the first enabled tab\r\n const offset = tabs.indexOf(tabs.find(disabled => !disabled)) + 1;\r\n return offset;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { NucSwipeTabsDirective } from './swipe-tabs-directive';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [\r\n NucSwipeTabsDirective\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n NucSwipeTabsDirective\r\n ]\r\n})\r\n\r\nexport class NucSwipeTabsModule {\r\n\r\n}\r\n","import { Injectable, NgZone } from '@angular/core';\r\nimport { MatSnackBar, MatSnackBarConfig, MatSnackBarRef, TextOnlySnackBar } from '@angular/material/snack-bar';\r\nimport { NucSnackbarType } from './models';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class NucSnackbarService {\r\n\r\n constructor(private _matSnackBar: MatSnackBar, private _zone: NgZone) {\r\n\r\n }\r\n\r\n public openSnackbar(type: NucSnackbarType, message: string, action: string | null, duration: number): MatSnackBarRef<TextOnlySnackBar> {\r\n let snackbarRef: MatSnackBarRef<TextOnlySnackBar>;\r\n\r\n this._zone.run(() => {\r\n snackbarRef = this._matSnackBar.open(message, action, {\r\n duration,\r\n panelClass: `${type}-snackbar`\r\n });\r\n });\r\n\r\n return snackbarRef;\r\n }\r\n\r\n\r\n public openSnackbarWithConfig(message: string, action: string | null, config: MatSnackBarConfig): MatSnackBarRef<TextOnlySnackBar> {\r\n let snackbarRef: MatSnackBarRef<TextOnlySnackBar>;\r\n\r\n this._zone.run(() => {\r\n snackbarRef = this._matSnackBar.open(message, action, config);\r\n });\r\n\r\n return snackbarRef;\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\n\r\n@NgModule({\r\n declarations: [\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatSnackBarModule\r\n ],\r\n exports: [\r\n ]\r\n})\r\n\r\nexport class NucSnackbarModule {\r\n\r\n}\r\n","export enum NucSnackbarType {\r\n Info = 'info',\r\n Warning = 'warning',\r\n Danger = 'danger',\r\n Success = 'success'\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nexport type AvatarSize = 'small' | 'medium' | 'large' | 'xlarge';\r\nexport type Background = true | false;\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'nuc-user-avatar',\r\n templateUrl: './user-avatar-component.html',\r\n styleUrls: ['./user-avatar-component.scss']\r\n})\r\n\r\nexport class NucUserAvatarComponent {\r\n\r\n @Input() name: string;\r\n @Input() image: string;\r\n @Input() size: AvatarSize = 'medium';\r\n @Input() background: Background = false;\r\n\r\n constructor() {\r\n }\r\n\r\n getUserInitials() {\r\n const nameParts = this.name.split(' ');\r\n return nameParts[0].charAt(0).toUpperCase() + '' + nameParts[nameParts.length - 1].charAt(0).toUpperCase();\r\n }\r\n\r\n getHslString(): string {\r\n if (!this.background) {\r\n return `hsl(${0},${0}%,${100}%)`;\r\n }\r\n\r\n\r\n let hash = 0;\r\n for (let i = 0; i < this.name.length; i++) {\r\n /*\r\n * Javascript uses double precision floating-point format for all numerical datatypes.\r\n * Except when using bitwise operations, where operators are converted to 32-bit signed integers.\r\n * Result of bitwise operations are then converted back to double precision floating-point format.\r\n *\r\n * We make a bitwise OR operation between the new hash and 0.\r\n * This keeps only the lower 32 bits in the new hash value.\r\n */\r\n // eslint-disable-next-line no-bitwise\r\n hash = (this.name.charCodeAt(i) + ((hash << 15) - hash)) | 0;\r\n }\r\n\r\n const hue = Math.abs(hash % 360);\r\n\r\n const lightness = 49.2;\r\n const saturation = 42.6;\r\n\r\n return `hsl(${hue},${saturation}%,${lightness}%)`;\r\n }\r\n}\r\n","<ng-container *ngIf=\"image\">\r\n <div class=\"user-avatar size-{{size}}\">\r\n <img src=\"{{image}}\" />\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"!image\">\r\n <div class=\"user-avatar size-{{size}} unselectable\" [style.background-color]=\"getHslString()\" [ngClass]=\"{'white-text': background, 'black-text border': !background}\">\r\n {{getUserInitials()}}\r\n </div>\r\n</ng-container>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NucUserAvatarComponent } from './user-avatar-component';\r\n\r\n@NgModule({\r\n declarations: [\r\n NucUserAvatarComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [\r\n NucUserAvatarComponent\r\n ]\r\n})\r\n\r\nexport class NucUserAvatarModule {\r\n\r\n}\r\n","/*\r\n * Public API Surface of nucleus-material\r\n */\r\n\r\n// dialog\r\nexport * from './lib/dialog/dialog.service';\r\nexport * from './lib/dialog/dialog.module';\r\nexport * from './lib/dialog/models';\r\n\r\n// loaded-content\r\nexport * from './lib/loaded-content/loading-state';\r\nexport * from './lib/loaded-content/loaded-content-component';\r\nexport * from './lib/loaded-content/loaded-content-directive';\r\nexport * from './lib/loaded-content/loaded-content-module';\r\n\r\n// native-styling\r\nexport * from './lib/native-styling/native-styling.service';\r\nexport * from './lib/native-styling/models';\r\n\r\n// swipe-tabs\r\nexport * from './lib/swipe-tabs/swipe-tabs-directive';\r\nexport * from './lib/swipe-tabs/swipe-tabs-module';\r\n\r\n// dialog component\r\nexport * from './lib/dialog/dialog.service';\r\nexport * from './lib/dialog/dialog.module';\r\nexport * from './lib/dialog/models';\r\n\r\n// snackbar component\r\nexport * from './lib/snackbar/snackbar.service';\r\nexport * from './lib/snackbar/snackbar.module';\r\nexport * from './lib/snackbar/models';\r\n\r\n// user-avatar\r\nexport * from './lib/user-avatar/user-avatar-component';\r\nexport * from './lib/user-avatar/user-avatar-module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;MAWa,kBAAkB;IAC7B,YACS,SAA2C,EAClB,UAAyB;QADlD,cAAS,GAAT,SAAS,CAAkC;QAClB,eAAU,GAAV,UAAU,CAAe;KACtD;;+GAJM,kBAAkB,8CAGnB,eAAe;mGAHd,kBAAkB,kDCX/B,qqBAYA;2FDDa,kBAAkB;kBAP9B,SAAS;+BAEE,YAAY;;0BAQnB,MAAM;2BAAC,eAAe;;;MENd,gBAAgB;IAC3B,YAAoB,UAAqB;QAArB,eAAU,GAAV,UAAU,CAAW;KAAK;;;;;;;;IASvC,MAAM,IAAI,CAAC,UAAyB,EAAE,YAA8B;QACzE,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACvD,IAAI,YAAY,EAAE;gBAChB,YAAY,CAAC,IAAI,GAAG,UAAU,CAAC;aAChC;iBAAM;gBACL,YAAY,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;aACrC;YACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC,YAAY,EAAE,CAAC,SAAS,EAAE,CAAC;SAChG;aAAM;YACL,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;SAC/E;KACF;;6GArBU,gBAAgB;iHAAhB,gBAAgB,cAFf,MAAM;2FAEP,gBAAgB;kBAH5B,UAAU;mBAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;MCaY,eAAe;;4GAAf,eAAe;6GAAf,eAAe,iBAZxB,kBAAkB,aAGlB,YAAY;QACZ,eAAe;QACf,eAAe;6GAON,eAAe,YAVjB;YACP,YAAY;YACZ,eAAe;YACf,eAAe;SAChB;2FAMU,eAAe;kBAd3B,QAAQ;mBAAC;oBACR,YAAY,EAAE;wBACZ,kBAAkB;qBACnB;oBACD,OAAO,EAAE;wBACP,YAAY;wBACZ,eAAe;wBACf,eAAe;qBAChB;oBACD,eAAe,EAAE;wBACf,kBAAkB;qBACnB;iBACF;;;ICAW;AAAZ,WAAY,QAAQ;;IAElB,+BAAmB,CAAA;;IAEnB,6BAAiB,CAAA;;IAEjB,yBAAa,CAAA;AACf,CAAC,EAPW,QAAQ,KAAR,QAAQ;;ICdR;AAAZ,WAAY,aAAa;IAAG,2DAAS,CAAA;IAAE,6DAAU,CAAA;IAAE,qDAAM,CAAA;IAAE,2DAAS,CAAA;AAAC,CAAC,EAA1D,aAAa,KAAb,aAAa,QAA6C;MAEzD,YAAY;IAAzB;QACU,YAAO,GAAkB,aAAa,CAAC,SAAS,CAAC;QACjD,aAAQ,GAAW,IAAI,CAAC;QACxB,kBAAa,GAAW,IAAI,CAAC;QAK7B,sBAAiB,GAAiB,IAAI,CAAC;KA+HhD;IA7HC,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;KAC3B;IAEM,IAAI,CACP,UAAyB,EACzB,cAAoC,EACpC,aAAkD,EAClD,gBAA6B;QAE/B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;KAC5F;IAEM,eAAe,CAClB,UAAyB,EACzB,OAAe,EACf,cAAoC,EACpC,aAAkD,EAClD,gBAA6B;QAE/B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;KAC/F;IAEM,MAAM,CACT,UAAyB,EACzB,cAAoC,EACpC,aAAkD,EAClD,gBAA6B;QAE/B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;KAC7F;IAEM,iBAAiB,CACpB,UAAyB,EACzB,OAAe,EACf,cAAoC,EACpC,aAAkD,EAClD,gBAA6B;QAE/B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;KAChG;IAEM,KAAK;QACV,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;SACtC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC3H,OAAO,IAAI,CAAC,iBAAiB,CAAC;KAC/B;IAEM,aAAa,CAAC,UAAkB,IAAI;QACzC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;KACzB;IAEM,YAAY;QACjB,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC;KACxC;IAEM,SAAS,CAAC,UAAkB,IAAI,EAAE,QAAgB,IAAI;QAC3D,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;KAC5B;IAEO,KAAK,CACT,oBAA6B,EAC7B,eAAuB,EACvB,UAAyB,EACzB,cAAoC,EACpC,aAAkD,EAClD,gBAA6B;QAE/B,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;SACtC;QAED,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CACzB,GAAG,CACD;YACE,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,OAAO,EAAE;gBACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACtB;YACD,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB,EACD,CAAC,GAAG;YACF,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;SACzD,CACF,CACF,CAAC;QAEF,IAAI,oBAAoB,EAAE;YACxB,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;YAC3B,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;YACtC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;YACpC,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;SAC3C;QAED,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC,iBAAiB,CAAC;KAC/B;IAEM,OAAO,eAAe,CAAC,KAAU;;;;;QAMtC,MAAM,OAAO,GAAG,KAAK,EAAE,KAAK,CAAC;QAC7B,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,EAAE;YACrC,OAAO,GAAG,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;SAC9C;aAAM;YACL,OAAO,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC;SACpE;KACF;;;MCnIU,yBAAyB;IANtC;QAQU,yBAAoB,GAAG,KAAK,CAAC;QAkB9B,iBAAY,GAAG,yCAAyC,CAAC;QAGzD,cAAS,GAAG,IAAI,CAAC;KA0CzB;IAxCC,IAAW,OAAO;QAChB,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,EAAE;YAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;SAC3B;aAAM;YACL,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE;gBAC9C,OAAO,IAAI,CAAC,YAAY,CAAC;aAC1B;iBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,aAAa,CAAC,UAAU,EAAE;gBACzD,OAAO,IAAI,CAAC,iBAAiB,CAAC;aAC/B;SACF;QACD,OAAO,IAAI,CAAC;KACb;IAED,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IAED,IAAW,UAAU;QACnB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,aAAa,CAAC,UAAU,CAAC;QAClE,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;SACnC;QACD,OAAO,UAAU,CAAC;KACnB;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,CAAC;KACnD;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,aAAa,CAAC,SAAS,CAAC;KACtD;IAED,IAAW,mBAAmB;QAC5B,OAAO,IAAI,CAAC,oBAAoB,CAAC;KAClC;IAEM,gBAAgB;QACrB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;KAClC;;sHAhEU,yBAAyB;0GAAzB,yBAAyB,gTCTtC,u7CA6CA;2FDpCa,yBAAyB;kBANrC,SAAS;+BAEE,8BAA8B;8BASxC,iBAAiB;sBADhB,KAAK;gBAIN,aAAa;sBADZ,KAAK;gBAIN,kBAAkB;sBADjB,KAAK;gBAIC,KAAK;sBADX,KAAK;gBAIC,iBAAiB;sBADvB,KAAK;gBAIC,YAAY;sBADlB,KAAK;gBAIC,SAAS;sBADf,KAAK;;;AErBR;MAEa,yBAAyB;IAQpC,YACU,cAAgC,EAChC,WAA6B,EAC7B,kBAA4C;QAF5C,mBAAc,GAAd,cAAc,CAAkB;QAChC,gBAAW,GAAX,WAAW,CAAkB;QAC7B,uBAAkB,GAAlB,kBAAkB,CAA0B;QAR9C,0BAAqB,GAA4B,IAAI,CAAC;QACtD,sBAAiB,GAA4B,IAAI,CAAC;QAClD,2BAAsB,GAA4B,IAAI,CAAC;QACvD,eAAU,GAA4C,IAAI,CAAC;QAMjE,IAAI,CAAC,qBAAqB,GAAG,WAAW,CAAC;KAC1C;IAED,IACI,gBAAgB,CAAC,KAAmB;;QAEtC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;;IAGD,IACI,aAAa,CAAC,WAAoC;QACpD,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;QACrC,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;;IAGD,IACI,kBAAkB,CAAC,WAAoC;QACzD,IAAI,CAAC,sBAAsB,GAAG,WAAW,CAAC;QAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAED,IACI,iBAAiB,CAAC,iBAAyB;QAC7C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;KAChE;IAED,IACI,YAAY,CAAC,YAAoB;QACnC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;KACtD;IAED,IACI,SAAS,CAAC,SAAkB;QAC9B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;KAChD;IAEO,WAAW;QACjB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;YAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,yBAAyB,CAAC,CAAC;YACvF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;SAC5D;QAED,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAExE,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC/B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,CAAC;SAC3E;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC;SACjE;KACF;;sHAnEU,yBAAyB;0GAAzB,yBAAyB;2FAAzB,yBAAyB;kBADrC,SAAS;mBAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE;wKAiBvC,gBAAgB;sBADnB,KAAK;gBASF,aAAa;sBADhB,KAAK;uBAAC,uBAAuB;gBAQ1B,kBAAkB;sBADrB,KAAK;uBAAC,4BAA4B;gBAO/B,iBAAiB;sBADpB,KAAK;uBAAC,mCAAmC;gBAMtC,YAAY;sBADf,KAAK;uBAAC,8BAA8B;gBAMjC,SAAS;sBADZ,KAAK;uBAAC,2BAA2B;;;MChCvB,sBAAsB;;mHAAtB,sBAAsB;oHAAtB,sBAAsB,iBAhB/B,yBAAyB;QACzB,yBAAyB,aAGzB,YAAY;QACZ,wBAAwB;QACxB,eAAe;QACf,aAAa,aAGb,yBAAyB;oHAMhB,sBAAsB,YAbxB;YACP,YAAY;YACZ,wBAAwB;YACxB,eAAe;YACf,aAAa;SACd;2FAQU,sBAAsB;kBAlBlC,QAAQ;mBAAC;oBACR,YAAY,EAAE;wBACZ,yBAAyB;wBACzB,yBAAyB;qBAC1B;oBACD,OAAO,EAAE;wBACP,YAAY;wBACZ,wBAAwB;wBACxB,eAAe;wBACf,aAAa;qBACd;oBACD,OAAO,EAAE;wBACP,yBAAyB;qBAC1B;oBACD,eAAe,EAAE;wBACf,yBAAyB;qBAC1B;iBACF;;;ACxBD;MASa,oBAAoB;IAE/B,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;KAAK;IAEhC,oBAAoB,CAAC,KAA0B;QAEpD,IAAK,MAAc,CAAC,OAAO,EAAE;YAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC7H,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,KAAK,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;YACzG,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,GAAG,WAAW,GAAG,eAAe,CAAC;YAEnE,MAAM,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC,cAAc,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;YAC9E,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YAElC,QAAQ,CAAC,eAAe,GAAG,UAAU,CAAC;YACtC,QAAQ,CAAC,uBAAuB,GAAG,UAAU,CAAC;YAE9C,QAAQ,CAAC,0BAA0B,GAAG,UAAU,CAAC;YACjD,QAAQ,CAAC,qBAAqB,GAAG,WAAW,CAAC;YAC7C,QAAQ,CAAC,6BAA6B,GAAG,WAAW,CAAC;YAErD,QAAQ,CAAC,0BAA0B,GAAG,eAAe,CAAC;YACtD,QAAQ,CAAC,qBAAqB,GAAG,eAAe,CAAC;YACjD,QAAQ,CAAC,6BAA6B,GAAG,eAAe,CAAC;YAEzD,QAAQ,CAAC,eAAe,GAAG,WAAW,CAAC;YACvC,QAAQ,CAAC,uBAAuB,GAAG,WAAW,CAAC;YAE/C,IAAI,KAAK,CAAC,cAAc,EAAE;gBACxB,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK;oBACtD,IAAI,KAAK,YAAY,aAAa,IAAI,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE;wBAClD,IAAI,CAAC,cAAc,EAAE,CAAC;wBACtB,YAAY,CAAC,WAAW,EAAE,CAAC;qBAC5B;iBACF,CAAC,CAAC;aACJ;SACF;KACF;IAEO,cAAc;QACpB,MAAM,gBAAgB,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,CAAC;QACrF,gBAAgB,CAAC,2BAA2B,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC;KACtG;IAEO,YAAY,CAAC,QAAgB;QACnC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAChD,IAAI,CAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;SACzE;QAED,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9C,OAAO,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KACtD;IAEO,UAAU,CAAC,KAAuB,EAAE,MAAM,GAAG,IAAI;QACvD,OAAO,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;KACvG;;iHA7DU,oBAAoB;qHAApB,oBAAoB,cAFnB,MAAM;2FAEP,oBAAoB;kBAHhC,UAAU;mBAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;MCTY,mBAAmB;IAAhC;QAEE,yBAAoB,GAAY,IAAI,CAAC;QACrC,eAAU,GAAsB,MAAM,CAAC;QACvC,cAAS,GAAK,KAAK,CAAC;QACpB,mBAAc,GAAI,KAAK,CAAC;KACzB;;;ACFD;MAGa,qBAAqB;IAChC,YACU,OAAmB;IACnB,QAAqB;QADrB,YAAO,GAAP,OAAO,CAAY;QACnB,aAAQ,GAAR,QAAQ,CAAa;KAAK;IAEpC,QAAQ;QACN,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;YAC9D,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QAEH,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC;YAC1B,SAAS,EAAE,MAAM,CAAC,oBAAoB;YACtC,SAAS,EAAE,EAAE;SACd,CAAC,CAAC,CAAC;QAEJ,QAAQ,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,KAAK;YACpC,IAAI,KAAK,CAAC,OAAO,EAAE;;gBAEjB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACtD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC;gBAEvD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;;oBAEvH,IAAI,cAAc,EAAE;wBAClB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;wBAChE,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;qBAC5D;yBAAM;wBACL,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;qBAC/B;iBACF;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,CAAC,EAAE;;oBAEhG,IAAI,cAAc,EAAE;wBAClB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;wBAC9E,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;qBAC3D;yBAAM;wBACL,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;qBAC/B;iBACF;aACF;SACF,CAAC,CAAC;KACJ;IAEO,SAAS,CAAC,IAAe;;QAE/B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;QAClE,OAAO,MAAM,CAAC;KACf;;kHA9CU,qBAAqB;sGAArB,qBAAqB;2FAArB,qBAAqB;kBAFjC,SAAS;mBAAC,EAAE,QAAQ,EAAE,YAAY,EAAE;;;MCWxB,kBAAkB;;+GAAlB,kBAAkB;gHAAlB,kBAAkB,iBAV3B,qBAAqB,aAGrB,YAAY,aAGZ,qBAAqB;gHAIZ,kBAAkB,YARpB;YACP,YAAY;SACb;2FAMU,kBAAkB;kBAZ9B,QAAQ;mBAAC;oBACR,YAAY,EAAE;wBACZ,qBAAqB;qBACtB;oBACD,OAAO,EAAE;wBACP,YAAY;qBACb;oBACD,OAAO,EAAE;wBACP,qBAAqB;qBACtB;iBACF;;;MCNY,kBAAkB;IAE7B,YAAoB,YAAyB,EAAU,KAAa;QAAhD,iBAAY,GAAZ,YAAY,CAAa;QAAU,UAAK,GAAL,KAAK,CAAQ;KAEnE;IAEM,YAAY,CAAC,IAAqB,EAAE,OAAe,EAAE,MAAqB,EAAE,QAAgB;QACjG,IAAI,WAA6C,CAAC;QAElD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YACb,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;gBACpD,QAAQ;gBACR,UAAU,EAAE,GAAG,IAAI,WAAW;aAC/B,CAAC,CAAC;SACJ,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;KACpB;IAGM,sBAAsB,CAAC,OAAe,EAAE,MAAqB,EAAE,MAAyB;QAC7F,IAAI,WAA6C,CAAC;QAElD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YACb,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;SAC/D,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;KACpB;;+GA5BU,kBAAkB;mHAAlB,kBAAkB,cAHjB,MAAM;2FAGP,kBAAkB;kBAJ9B,UAAU;mBAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;MCSY,iBAAiB;;8GAAjB,iBAAiB;+GAAjB,iBAAiB,YAP1B,YAAY;QACZ,iBAAiB;+GAMR,iBAAiB,YARnB;YACP,YAAY;YACZ,iBAAiB;SAClB;2FAKU,iBAAiB;kBAX7B,QAAQ;mBAAC;oBACR,YAAY,EAAE,EACb;oBACD,OAAO,EAAE;wBACP,YAAY;wBACZ,iBAAiB;qBAClB;oBACD,OAAO,EAAE,EACR;iBACF;;;ICbW;AAAZ,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,sCAAmB,CAAA;IACnB,oCAAiB,CAAA;IACjB,sCAAmB,CAAA;AACrB,CAAC,EALW,eAAe,KAAf,eAAe;;MCWd,sBAAsB;IAOjC;QAHS,SAAI,GAAe,QAAQ,CAAC;QAC5B,eAAU,GAAe,KAAK,CAAC;KAGvC;IAED,eAAe;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;KAC5G;IAED,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;SAClC;QAGD,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;;;;;;;;;;YAUzC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;SAC9D;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;QAEjC,MAAM,SAAS,GAAG,IAAI,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC;QAExB,OAAO,OAAO,GAAG,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC;KACnD;;mHAzCU,sBAAsB;uGAAtB,sBAAsB,yICXnC,0aAWA;2FDAa,sBAAsB;kBAPlC,SAAS;+BAEE,iBAAiB;0EAOlB,IAAI;sBAAZ,KAAK;gBACG,KAAK;sBAAb,KAAK;gBACG,IAAI;sBAAZ,KAAK;gBACG,UAAU;sBAAlB,KAAK;;;MEAK,mBAAmB;;gHAAnB,mBAAmB;iHAAnB,mBAAmB,iBAV5B,sBAAsB,aAGtB,YAAY,aAGZ,sBAAsB;iHAIb,mBAAmB,YARrB;YACP,YAAY;SACb;2FAMU,mBAAmB;kBAZ/B,QAAQ;mBAAC;oBACR,YAAY,EAAE;wBACZ,sBAAsB;qBACvB;oBACD,OAAO,EAAE;wBACP,YAAY;qBACb;oBACD,OAAO,EAAE;wBACP,sBAAsB;qBACvB;iBACF;;;ACdD;;;;ACAA;;;;;;"}
1
+ {"version":3,"file":"kolektor-nucleus-material.mjs","sources":["../../../projects/nucleus-material/src/lib/dialog/dialog.component.ts","../../../projects/nucleus-material/src/lib/dialog/dialog.component.html","../../../projects/nucleus-material/src/lib/dialog/dialog.service.ts","../../../projects/nucleus-material/src/lib/dialog/dialog.module.ts","../../../projects/nucleus-material/src/lib/dialog/models.ts","../../../projects/nucleus-material/src/lib/loaded-content/loading-state.ts","../../../projects/nucleus-material/src/lib/loaded-content/loaded-content-component.ts","../../../projects/nucleus-material/src/lib/loaded-content/loaded-content-component.html","../../../projects/nucleus-material/src/lib/loaded-content/loaded-content-directive.ts","../../../projects/nucleus-material/src/lib/loaded-content/loaded-content-module.ts","../../../projects/nucleus-material/src/lib/native-styling/native-styling.service.ts","../../../projects/nucleus-material/src/lib/native-styling/models.ts","../../../projects/nucleus-material/src/lib/swipe-tabs/swipe-tabs-directive.ts","../../../projects/nucleus-material/src/lib/swipe-tabs/swipe-tabs-module.ts","../../../projects/nucleus-material/src/lib/snackbar/snackbar.service.ts","../../../projects/nucleus-material/src/lib/snackbar/snackbar.module.ts","../../../projects/nucleus-material/src/lib/snackbar/models.ts","../../../projects/nucleus-material/src/lib/user-avatar/user-avatar-component.ts","../../../projects/nucleus-material/src/lib/user-avatar/user-avatar-component.html","../../../projects/nucleus-material/src/lib/user-avatar/user-avatar-module.ts","../../../projects/nucleus-material/src/public-api.ts","../../../projects/nucleus-material/src/kolektor-nucleus-material.ts"],"sourcesContent":["import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { NucDialogData } from './models';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'nuc-dialog',\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.scss']\r\n})\r\n\r\nexport class NucDialogComponent {\r\n constructor(\r\n public dialogRef: MatDialogRef<NucDialogComponent>,\r\n @Inject(MAT_DIALOG_DATA) public dialogData: NucDialogData\r\n ) { }\r\n}\r\n","<ng-container *ngIf=\"dialogData\">\r\n <h2 mat-dialog-title *ngIf=\"dialogData.title\">\r\n {{dialogData.title}}\r\n </h2>\r\n <mat-dialog-content>{{dialogData.message}}</mat-dialog-content>\r\n <mat-dialog-actions>\r\n <ng-container *ngFor=\"let action of dialogData.actions\">\r\n <button color=\"{{action.color || 'primary'}}\" *ngIf=\"action.value === undefined\" mat-button mat-dialog-close>{{action.text}}</button>\r\n <button color=\"{{action.color || 'primary'}}\" *ngIf=\"action.value !== undefined\" mat-button [mat-dialog-close]=\"action.value\">{{action.text}}</button>\r\n </ng-container>\r\n </mat-dialog-actions>\r\n</ng-container>\r\n","import { Injectable } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { NucDialogData } from './models';\r\nimport { NucDialogComponent } from './dialog.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NucDialogService {\r\n constructor(private _matDialog: MatDialog) { }\r\n\r\n /**\r\n * Opens a NucDialog with content from dialogData.\r\n *\r\n * @param dialogData NucDialogData containing title, message and possible actions.\r\n * @param dialogConfig Extra configuration options. Data property is ignored, since it will be set to dialogData.\r\n * @returns a promise with value that was specified inside pressed Nucleus action.\r\n */\r\n public async open(dialogData: NucDialogData, dialogConfig?: MatDialogConfig): Promise<any> {\r\n if (dialogData.actions && dialogData.actions.length > 0) {\r\n if (dialogConfig) {\r\n dialogConfig.data = dialogData;\r\n } else {\r\n dialogConfig = { data: dialogData };\r\n }\r\n return await this._matDialog.open(NucDialogComponent, dialogConfig).beforeClosed().toPromise();\r\n } else {\r\n console.error('Nucleus.AppCore: NucDialogData requires at least one action.');\r\n }\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { NucDialogComponent } from './dialog.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n NucDialogComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatDialogModule,\r\n MatButtonModule\r\n ],\r\n entryComponents: [\r\n NucDialogComponent\r\n ]\r\n})\r\n\r\nexport class NucDialogModule { }\r\n","export interface NucDialogData {\r\n /** Optional title for the dialog. */\r\n title?: string;\r\n /** Message for the dialog. */\r\n message: string;\r\n /** Action(s) (buttons) for the dialog. At least one is required. */\r\n actions: NucAction[];\r\n}\r\n\r\nexport interface NucAction {\r\n /** Text for the action (button). */\r\n text: string;\r\n /** Return value for the action (button). */\r\n value?: any;\r\n /** Optional color of the action (button). */\r\n color?: NucColor;\r\n}\r\n\r\nexport enum NucColor {\r\n /** Primary color of the theme. */\r\n primary = 'primary',\r\n /** Accent color of the theme. */\r\n accent = 'accent',\r\n /** Warning color of the theme. */\r\n warn = 'warn'\r\n}\r\n","import { Observable, Subscription } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nexport enum LoadingStatus { completed, inProgress, failed, undefined }\r\n\r\nexport class LoadingState {\r\n private _status: LoadingStatus = LoadingStatus.undefined;\r\n private _message: string = null;\r\n private _errorDetails: string = null;\r\n private _resultFunction: (result: any) => void;\r\n private _errorFunction: (error: HttpErrorResponse) => void;\r\n private _completeFunction: () => void;\r\n private _loadObservable: Observable<any>;\r\n private _lastSubscription: Subscription = null;\r\n\r\n get status(): LoadingStatus {\r\n return this._status;\r\n }\r\n\r\n get message(): string {\r\n return this._message;\r\n }\r\n\r\n get errorDetails(): string {\r\n return this._errorDetails;\r\n }\r\n\r\n public load<T>(\r\n observable: Observable<T>,\r\n resultFunction?: (result: T) => void,\r\n errorFunction?: (error: HttpErrorResponse) => void,\r\n completeFunction?: () => void\r\n ): Subscription {\r\n return this._load(true, null, observable, resultFunction, errorFunction, completeFunction);\r\n }\r\n\r\n public loadWithMessage<T>(\r\n observable: Observable<T>,\r\n message: string,\r\n resultFunction?: (result: T) => void,\r\n errorFunction?: (error: HttpErrorResponse) => void,\r\n completeFunction?: () => void\r\n ): Subscription {\r\n return this._load(true, message, observable, resultFunction, errorFunction, completeFunction);\r\n }\r\n\r\n public invoke<T>(\r\n observable: Observable<T>,\r\n resultFunction?: (result: T) => void,\r\n errorFunction?: (error: HttpErrorResponse) => void,\r\n completeFunction?: () => void\r\n ): Subscription {\r\n return this._load(false, null, observable, resultFunction, errorFunction, completeFunction);\r\n }\r\n\r\n public invokeWithMessage<T>(\r\n observable: Observable<T>,\r\n message: string,\r\n resultFunction?: (result: T) => void,\r\n errorFunction?: (error: HttpErrorResponse) => void,\r\n completeFunction?: () => void\r\n ): Subscription {\r\n return this._load(false, message, observable, resultFunction, errorFunction, completeFunction);\r\n }\r\n\r\n public retry() {\r\n if (this._lastSubscription) {\r\n this._lastSubscription.unsubscribe();\r\n }\r\n this.setInProgress();\r\n this._lastSubscription = this._loadObservable.subscribe(this._resultFunction, this._errorFunction, this._completeFunction);\r\n return this._lastSubscription;\r\n }\r\n\r\n public setInProgress(message: string = null) {\r\n this._status = LoadingStatus.inProgress;\r\n this._message = message;\r\n }\r\n\r\n public setCompleted() {\r\n this._status = LoadingStatus.completed;\r\n }\r\n\r\n public setFailed(message: string = null, error: string = null) {\r\n this._status = LoadingStatus.failed;\r\n this._message = message;\r\n this._errorDetails = error;\r\n }\r\n\r\n private _load<T>(\r\n saveAsLoadObservable: boolean,\r\n progressMessage: string,\r\n observable: Observable<T>,\r\n resultFunction?: (result: T) => void,\r\n errorFunction?: (error: HttpErrorResponse) => void,\r\n completeFunction?: () => void\r\n ): Subscription {\r\n if (this._lastSubscription) {\r\n this._lastSubscription.unsubscribe();\r\n }\r\n\r\n this.setInProgress(progressMessage);\r\n const obs = observable.pipe(\r\n tap(\r\n () => {\r\n if (!saveAsLoadObservable && this.message) { // if message was used one time we clear it\r\n this._message = null;\r\n }\r\n this.setCompleted();\r\n },\r\n (err) => {\r\n this.setFailed(null, LoadingState.getErrorDetails(err));\r\n }\r\n )\r\n );\r\n\r\n if (saveAsLoadObservable) {\r\n this._loadObservable = obs;\r\n this._resultFunction = resultFunction;\r\n this._errorFunction = errorFunction;\r\n this._completeFunction = completeFunction;\r\n }\r\n\r\n this._lastSubscription = obs.subscribe(resultFunction, errorFunction, completeFunction);\r\n return this._lastSubscription;\r\n }\r\n\r\n public static getErrorDetails(error: any) {\r\n // this routine tries to get the best error details from:\r\n // - standard rfc7807 http error: https://datatracker.ietf.org/doc/html/rfc7807\r\n // - angular HttpError\r\n // - JS Error object\r\n\r\n const problem = error?.error;\r\n if (problem?.title && problem?.detail) {\r\n return `${problem.title}: ${problem.detail}`;\r\n } else {\r\n return problem?.title || problem?.detail || error.message || error;\r\n }\r\n }\r\n}\r\n","import { Component, Input, TemplateRef } from '@angular/core';\r\nimport { LoadingState, LoadingStatus } from './loading-state';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'nuc-loaded-content-component',\r\n templateUrl: './loaded-content-component.html',\r\n styleUrls: ['./loaded-content-component.scss']\r\n})\r\nexport class NucLoadedContentComponent {\r\n\r\n private _errorDetailsVisible = false;\r\n\r\n @Input()\r\n completedTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n errorTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n inProgressTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n public state: LoadingState;\r\n\r\n @Input()\r\n public inProgressMessage: string;\r\n\r\n @Input()\r\n public errorMessage = 'We are having trouble loading the data.';\r\n\r\n @Input()\r\n public showRetry = true;\r\n\r\n public get message() {\r\n if (this.state.message != null) {\r\n return this.state.message;\r\n } else {\r\n if (this.state.status === LoadingStatus.failed) {\r\n return this.errorMessage;\r\n } else if (this.state.status === LoadingStatus.inProgress) {\r\n return this.inProgressMessage;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n public get showRetryButton() {\r\n return this.showRetry;\r\n }\r\n\r\n public get inProgress() {\r\n const inProgress = this.state.status === LoadingStatus.inProgress;\r\n if (inProgress) {\r\n this._errorDetailsVisible = false;\r\n }\r\n return inProgress;\r\n }\r\n\r\n public get failed() {\r\n return this.state.status === LoadingStatus.failed;\r\n }\r\n\r\n public get completed() {\r\n return this.state.status === LoadingStatus.completed;\r\n }\r\n\r\n public get errorDetailsVisible() {\r\n return this._errorDetailsVisible;\r\n }\r\n\r\n public showErrorDetails() {\r\n this._errorDetailsVisible = true;\r\n }\r\n}\r\n","<ng-container *ngIf=\"completed\">\r\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\r\n <ng-container *ngIf=\"inProgress\">\r\n <ng-container *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"failed\">\r\n <ng-container *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #defaultInProgressTemplate>\r\n <div class=\"spinner\">\r\n <mat-spinner [diameter]=\"45\"></mat-spinner>\r\n </div>\r\n <p>\r\n {{message}}\r\n </p>\r\n</ng-template>\r\n\r\n<ng-template #defaultErrorTemplate>\r\n <div>\r\n <p class=\"message\">\r\n <span>{{message}}</span>\r\n <mat-icon *ngIf=\"state.errorDetails && !errorDetailsVisible\" class=\"info-button\" color=\"warn\" (click)=\"showErrorDetails()\">info</mat-icon>\r\n </p>\r\n\r\n <p *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\r\n {{state.errorDetails}}\r\n </p>\r\n\r\n <p *ngIf=\"showRetryButton\">\r\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </p>\r\n </div>\r\n</ng-template>\r\n","import {\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Directive,\r\n Input,\r\n TemplateRef,\r\n ViewContainerRef } from '@angular/core';\r\nimport { NucLoadedContentComponent } from './loaded-content-component';\r\nimport { LoadingState } from './loading-state';\r\n\r\n// eslint-disable-next-line @angular-eslint/directive-selector\r\n@Directive({ selector: '[nucLoadedContent]' })\r\nexport class NucLoadedContentDirective {\r\n\r\n private _state: LoadingState;\r\n private _completedTemplateRef: TemplateRef<any> | null = null;\r\n private _errorTemplateRef: TemplateRef<any> | null = null;\r\n private _inProgressTemplateRef: TemplateRef<any> | null = null;\r\n private _component: ComponentRef<NucLoadedContentComponent> = null;\r\n\r\n constructor(\r\n private _viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n private _componentResolver: ComponentFactoryResolver) {\r\n this._completedTemplateRef = templateRef;\r\n }\r\n\r\n @Input()\r\n set nucLoadedContent(state: LoadingState) {\r\n // add some error handling if state is null, etc.\r\n this._state = state;\r\n this._updateView();\r\n }\r\n\r\n // eslint-disable-next-line @angular-eslint/no-input-rename\r\n @Input('nucLoadedContentError')\r\n set errorTemplate(templateRef: TemplateRef<any> | null) {\r\n this._errorTemplateRef = templateRef;\r\n this._updateView();\r\n }\r\n\r\n // eslint-disable-next-line @angular-eslint/no-input-rename\r\n @Input('nucLoadedContentInProgress')\r\n set inProgressTemplate(templateRef: TemplateRef<any> | null) {\r\n this._inProgressTemplateRef = templateRef;\r\n this._updateView();\r\n }\r\n\r\n @Input('nucLoadedContentInProgressMessage')\r\n set inProgressMessage(inProgressMessage: string) {\r\n this._component.instance.inProgressMessage = inProgressMessage;\r\n }\r\n\r\n @Input('nucLoadedContentErrorMessage')\r\n set errorMessage(errorMessage: string) {\r\n this._component.instance.errorMessage = errorMessage;\r\n }\r\n\r\n @Input('nucLoadedContentShowRetry')\r\n set showRetry(showRetry: boolean) {\r\n this._component.instance.showRetry = showRetry;\r\n }\r\n\r\n private _updateView() {\r\n if (this._component == null) {\r\n const fac = this._componentResolver.resolveComponentFactory(NucLoadedContentComponent);\r\n this._component = this._viewContainer.createComponent(fac);\r\n }\r\n\r\n this._component.instance.state = this._state;\r\n this._component.instance.completedTemplate = this._completedTemplateRef;\r\n\r\n if (this._inProgressTemplateRef) {\r\n this._component.instance.inProgressTemplate = this._inProgressTemplateRef;\r\n }\r\n\r\n if (this._errorTemplateRef) {\r\n this._component.instance.errorTemplate = this._errorTemplateRef;\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { NucLoadedContentComponent } from './loaded-content-component';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NucLoadedContentDirective } from './loaded-content-directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n NucLoadedContentDirective,\r\n NucLoadedContentComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatProgressSpinnerModule,\r\n MatButtonModule,\r\n MatIconModule\r\n ],\r\n exports: [\r\n NucLoadedContentDirective\r\n ],\r\n entryComponents: [\r\n NucLoadedContentComponent\r\n ]\r\n})\r\nexport class NucLoadedContentModule { }\r\n","/* eslint-disable no-undef */\r\n/// <reference path=\"../../../../../node_modules/@types/winrt-uwp/index.d.ts\" />\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { WindowsTitleBarSyle } from './models';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NativeStylingService {\r\n\r\n constructor(private router: Router) { }\r\n\r\n public styleWindowsTitleBar(style: WindowsTitleBarSyle) {\r\n\r\n if ((window as any).Windows) {\r\n const accentColor = this.convertColor(style.backgroundColor);\r\n const hoverColor = style.hoverBackgroundColor ? this.convertColor(style.hoverBackgroundColor) : this.makeDarker(accentColor);\r\n const foregroundColor = style.foreground === 'light' ? Windows.UI.Colors.white : Windows.UI.Colors.black;\r\n const titleColor = style.hideTitle ? accentColor : foregroundColor;\r\n\r\n const appView = Windows.UI.ViewManagement.ApplicationView.getForCurrentView();\r\n const titleBar = appView.titleBar;\r\n\r\n titleBar.foregroundColor = titleColor;\r\n titleBar.inactiveForegroundColor = titleColor;\r\n\r\n titleBar.buttonHoverBackgroundColor = hoverColor;\r\n titleBar.buttonBackgroundColor = accentColor;\r\n titleBar.buttonInactiveBackgroundColor = accentColor;\r\n\r\n titleBar.buttonHoverForegroundColor = foregroundColor;\r\n titleBar.buttonForegroundColor = foregroundColor;\r\n titleBar.buttonInactiveForegroundColor = foregroundColor;\r\n\r\n titleBar.backgroundColor = accentColor;\r\n titleBar.inactiveBackgroundColor = accentColor;\r\n\r\n if (style.hideBackButton) {\r\n this.hideBackButton();\r\n const subscription = this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd && event.id > 1) {\r\n this.hideBackButton();\r\n subscription.unsubscribe();\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n private hideBackButton() {\r\n const systemNavigation = Windows.UI.Core.SystemNavigationManager.getForCurrentView();\r\n systemNavigation.appViewBackButtonVisibility = Windows.UI.Core.AppViewBackButtonVisibility.collapsed;\r\n }\r\n\r\n private convertColor(colorStr: string): Windows.UI.Color {\r\n const regEx = new RegExp('^#([A-Fa-f0-9]{6})$');\r\n if (! regEx.test(colorStr)) {\r\n throw new Error('Color is not in the right format. Should be #RRGGBB.');\r\n }\r\n\r\n const r = parseInt(colorStr.substr(1, 2), 16);\r\n const g = parseInt(colorStr.substr(3, 2), 16);\r\n const b = parseInt(colorStr.substr(5, 2), 16);\r\n\r\n return Windows.UI.ColorHelper.fromArgb(255, r, g, b);\r\n }\r\n\r\n private makeDarker(color: Windows.UI.Color, factor = 0.80) {\r\n return Windows.UI.ColorHelper.fromArgb(color.a, color.r * factor, color.g * factor, color.b * factor);\r\n }\r\n}\r\n","export class WindowsTitleBarSyle {\r\n backgroundColor: string;\r\n hoverBackgroundColor?: string = null;\r\n foreground?: 'dark' | 'light' = 'dark';\r\n hideTitle ? = false;\r\n hideBackButton ?= false;\r\n}\r\n","import { Directive, ElementRef, OnInit } from '@angular/core';\r\nimport { MatTabGroup } from '@angular/material/tabs';\r\nimport * as Hammer from 'hammerjs';\r\n\r\n// eslint-disable-next-line @angular-eslint/directive-selector\r\n@Directive({ selector: '[nucSwipe]' })\r\n\r\nexport class NucSwipeTabsDirective implements OnInit {\r\n constructor(\r\n private element: ElementRef, // ElementRef<MatTabGroup> causes errors.\r\n private tabGroup: MatTabGroup) { }\r\n\r\n ngOnInit() {\r\n const hammerJs = new Hammer.Manager(this.element.nativeElement, {\r\n inputClass: Hammer.TouchInput\r\n });\r\n\r\n hammerJs.add(new Hammer.Pan({\r\n direction: Hammer.DIRECTION_HORIZONTAL,\r\n threshold: 30\r\n }));\r\n\r\n hammerJs.on('panleft panright', (event) => {\r\n if (event.isFinal) {\r\n // Check if any of the tabs are set to disabled\r\n const tabs = this.tabGroup._tabs.map(x => x.disabled);\r\n const anyTabDisabled = tabs.some(disabled => disabled);\r\n\r\n if (event.type === 'panleft' && event.direction === 2 && this.tabGroup.selectedIndex < (this.tabGroup._tabs.length - 1)) {\r\n // Go to next tab\r\n if (anyTabDisabled) {\r\n const tabsToRight = tabs.slice(this.tabGroup.selectedIndex + 1);\r\n this.tabGroup.selectedIndex += this.getOffset(tabsToRight);\r\n } else {\r\n this.tabGroup.selectedIndex++;\r\n }\r\n } else if (event.type === 'panright' && event.direction === 4 && this.tabGroup.selectedIndex > 0) {\r\n // Go to previous tab\r\n if (anyTabDisabled) {\r\n const tabsToLeft = tabs.slice().reverse().slice(-this.tabGroup.selectedIndex);\r\n this.tabGroup.selectedIndex -= this.getOffset(tabsToLeft);\r\n } else {\r\n this.tabGroup.selectedIndex--;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n private getOffset(tabs: boolean[]) {\r\n // Find offset to the first enabled tab\r\n const offset = tabs.indexOf(tabs.find(disabled => !disabled)) + 1;\r\n return offset;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { NucSwipeTabsDirective } from './swipe-tabs-directive';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [\r\n NucSwipeTabsDirective\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n NucSwipeTabsDirective\r\n ]\r\n})\r\n\r\nexport class NucSwipeTabsModule {\r\n\r\n}\r\n","import { Injectable, NgZone } from '@angular/core';\r\nimport { MatSnackBar, MatSnackBarConfig, MatSnackBarRef, TextOnlySnackBar } from '@angular/material/snack-bar';\r\nimport { NucSnackbarType } from './models';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class NucSnackbarService {\r\n\r\n constructor(private _matSnackBar: MatSnackBar, private _zone: NgZone) {\r\n\r\n }\r\n\r\n public openSnackbar(type: NucSnackbarType, message: string, action: string | null, duration: number): MatSnackBarRef<TextOnlySnackBar> {\r\n let snackbarRef: MatSnackBarRef<TextOnlySnackBar>;\r\n\r\n this._zone.run(() => {\r\n snackbarRef = this._matSnackBar.open(message, action, {\r\n duration,\r\n panelClass: `${type}-snackbar`\r\n });\r\n });\r\n\r\n return snackbarRef;\r\n }\r\n\r\n\r\n public openSnackbarWithConfig(message: string, action: string | null, config: MatSnackBarConfig): MatSnackBarRef<TextOnlySnackBar> {\r\n let snackbarRef: MatSnackBarRef<TextOnlySnackBar>;\r\n\r\n this._zone.run(() => {\r\n snackbarRef = this._matSnackBar.open(message, action, config);\r\n });\r\n\r\n return snackbarRef;\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\n\r\n@NgModule({\r\n declarations: [\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatSnackBarModule\r\n ],\r\n exports: [\r\n ]\r\n})\r\n\r\nexport class NucSnackbarModule {\r\n\r\n}\r\n","export enum NucSnackbarType {\r\n Info = 'info',\r\n Warning = 'warning',\r\n Danger = 'danger',\r\n Success = 'success'\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nexport type AvatarSize = 'small' | 'medium' | 'large' | 'xlarge';\r\nexport type Background = true | false;\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'nuc-user-avatar',\r\n templateUrl: './user-avatar-component.html',\r\n styleUrls: ['./user-avatar-component.scss']\r\n})\r\n\r\nexport class NucUserAvatarComponent {\r\n\r\n @Input() name: string;\r\n @Input() image: string;\r\n @Input() size: AvatarSize = 'medium';\r\n @Input() background: Background = false;\r\n\r\n constructor() {\r\n }\r\n\r\n getUserInitials() {\r\n const nameParts = this.name.split(' ');\r\n return nameParts[0].charAt(0).toUpperCase() + '' + nameParts[nameParts.length - 1].charAt(0).toUpperCase();\r\n }\r\n\r\n getHslString(): string {\r\n if (!this.background) {\r\n return `hsl(${0},${0}%,${100}%)`;\r\n }\r\n\r\n\r\n let hash = 0;\r\n for (let i = 0; i < this.name.length; i++) {\r\n /*\r\n * Javascript uses double precision floating-point format for all numerical datatypes.\r\n * Except when using bitwise operations, where operators are converted to 32-bit signed integers.\r\n * Result of bitwise operations are then converted back to double precision floating-point format.\r\n *\r\n * We make a bitwise OR operation between the new hash and 0.\r\n * This keeps only the lower 32 bits in the new hash value.\r\n */\r\n // eslint-disable-next-line no-bitwise\r\n hash = (this.name.charCodeAt(i) + ((hash << 15) - hash)) | 0;\r\n }\r\n\r\n const hue = Math.abs(hash % 360);\r\n\r\n const lightness = 49.2;\r\n const saturation = 42.6;\r\n\r\n return `hsl(${hue},${saturation}%,${lightness}%)`;\r\n }\r\n}\r\n","<ng-container *ngIf=\"image\">\r\n <div class=\"user-avatar size-{{size}}\">\r\n <img src=\"{{image}}\" />\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"!image\">\r\n <div class=\"user-avatar size-{{size}} unselectable\" [style.background-color]=\"getHslString()\" [ngClass]=\"{'white-text': background, 'black-text border': !background}\">\r\n {{getUserInitials()}}\r\n </div>\r\n</ng-container>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NucUserAvatarComponent } from './user-avatar-component';\r\n\r\n@NgModule({\r\n declarations: [\r\n NucUserAvatarComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [\r\n NucUserAvatarComponent\r\n ]\r\n})\r\n\r\nexport class NucUserAvatarModule {\r\n\r\n}\r\n","/*\r\n * Public API Surface of nucleus-material\r\n */\r\n\r\n// dialog\r\nexport * from './lib/dialog/dialog.service';\r\nexport * from './lib/dialog/dialog.module';\r\nexport * from './lib/dialog/models';\r\n\r\n// loaded-content\r\nexport * from './lib/loaded-content/loading-state';\r\nexport * from './lib/loaded-content/loaded-content-component';\r\nexport * from './lib/loaded-content/loaded-content-directive';\r\nexport * from './lib/loaded-content/loaded-content-module';\r\n\r\n// native-styling\r\nexport * from './lib/native-styling/native-styling.service';\r\nexport * from './lib/native-styling/models';\r\n\r\n// swipe-tabs\r\nexport * from './lib/swipe-tabs/swipe-tabs-directive';\r\nexport * from './lib/swipe-tabs/swipe-tabs-module';\r\n\r\n// dialog component\r\nexport * from './lib/dialog/dialog.service';\r\nexport * from './lib/dialog/dialog.module';\r\nexport * from './lib/dialog/models';\r\n\r\n// snackbar component\r\nexport * from './lib/snackbar/snackbar.service';\r\nexport * from './lib/snackbar/snackbar.module';\r\nexport * from './lib/snackbar/models';\r\n\r\n// user-avatar\r\nexport * from './lib/user-avatar/user-avatar-component';\r\nexport * from './lib/user-avatar/user-avatar-module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolektor/nucleus-material",
3
- "version": "0.0.9-pre.5702",
3
+ "version": "0.0.9-pre.5894",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0",