@kolektor/nucleus-material 0.0.8-pre.5676 → 0.0.9-pre.5702

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.
Files changed (29) hide show
  1. package/{esm2015/kolektor-nucleus-material.js → esm2020/kolektor-nucleus-material.mjs} +0 -0
  2. package/{esm2015/lib/dialog/dialog.component.js → esm2020/lib/dialog/dialog.component.mjs} +5 -10
  3. package/{esm2015/lib/dialog/dialog.module.js → esm2020/lib/dialog/dialog.module.mjs} +4 -4
  4. package/esm2020/lib/dialog/dialog.service.mjs +40 -0
  5. package/{esm2015/lib/dialog/models.js → esm2020/lib/dialog/models.mjs} +0 -0
  6. package/{esm2015/lib/loaded-content/loaded-content-component.js → esm2020/lib/loaded-content/loaded-content-component.mjs} +5 -10
  7. package/{esm2015/lib/loaded-content/loaded-content-directive.js → esm2020/lib/loaded-content/loaded-content-directive.mjs} +3 -3
  8. package/{esm2015/lib/loaded-content/loaded-content-module.js → esm2020/lib/loaded-content/loaded-content-module.mjs} +4 -4
  9. package/{esm2015/lib/loaded-content/loading-state.js → esm2020/lib/loaded-content/loading-state.mjs} +4 -4
  10. package/{esm2015/lib/native-styling/models.js → esm2020/lib/native-styling/models.mjs} +0 -0
  11. package/{esm2015/lib/native-styling/native-styling.service.js → esm2020/lib/native-styling/native-styling.service.mjs} +3 -3
  12. package/{esm2015/lib/snackbar/models.js → esm2020/lib/snackbar/models.mjs} +0 -0
  13. package/{esm2015/lib/snackbar/snackbar.module.js → esm2020/lib/snackbar/snackbar.module.mjs} +4 -4
  14. package/{esm2015/lib/snackbar/snackbar.service.js → esm2020/lib/snackbar/snackbar.service.mjs} +3 -3
  15. package/{esm2015/lib/swipe-tabs/swipe-tabs-directive.js → esm2020/lib/swipe-tabs/swipe-tabs-directive.mjs} +3 -3
  16. package/{esm2015/lib/swipe-tabs/swipe-tabs-module.js → esm2020/lib/swipe-tabs/swipe-tabs-module.mjs} +4 -4
  17. package/esm2020/lib/user-avatar/user-avatar-component.mjs +50 -0
  18. package/{esm2015/lib/user-avatar/user-avatar-module.js → esm2020/lib/user-avatar/user-avatar-module.mjs} +4 -4
  19. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  20. package/fesm2015/{kolektor-nucleus-material.js → kolektor-nucleus-material.mjs} +54 -68
  21. package/fesm2015/kolektor-nucleus-material.mjs.map +1 -0
  22. package/fesm2020/kolektor-nucleus-material.mjs +663 -0
  23. package/fesm2020/kolektor-nucleus-material.mjs.map +1 -0
  24. package/package.json +22 -9
  25. package/bundles/kolektor-nucleus-material.umd.js +0 -1135
  26. package/bundles/kolektor-nucleus-material.umd.js.map +0 -1
  27. package/esm2015/lib/dialog/dialog.service.js +0 -43
  28. package/esm2015/lib/user-avatar/user-avatar-component.js +0 -55
  29. package/fesm2015/kolektor-nucleus-material.js.map +0 -1
@@ -14,8 +14,8 @@ import * as i3$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';
17
- import * as i1$3 from '@angular/material/tabs';
18
17
  import * as Hammer from 'hammerjs';
18
+ import * as i1$3 from '@angular/material/tabs';
19
19
  import * as i1$4 from '@angular/material/snack-bar';
20
20
  import { MatSnackBarModule } from '@angular/material/snack-bar';
21
21
 
@@ -25,20 +25,17 @@ class NucDialogComponent {
25
25
  this.dialogData = dialogData;
26
26
  }
27
27
  }
28
- NucDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
29
- NucDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.3", type: NucDialogComponent, selector: "nuc-dialog", ngImport: i0, template: "<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", styles: ["mat-dialog-actions{justify-content:flex-end}mat-dialog-content{white-space:pre-wrap}button{text-transform:uppercase;font-weight:700}\n"], components: [{ 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: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }] });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucDialogComponent, decorators: [{
28
+ NucDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
29
+ NucDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: NucDialogComponent, selector: "nuc-dialog", ngImport: i0, template: "<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", styles: ["mat-dialog-actions{justify-content:flex-end}mat-dialog-content{white-space:pre-wrap}button{text-transform:uppercase;font-weight:700}\n"], components: [{ 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: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }] });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucDialogComponent, decorators: [{
31
31
  type: Component,
32
- args: [{
33
- // eslint-disable-next-line @angular-eslint/component-selector
34
- selector: 'nuc-dialog',
35
- templateUrl: './dialog.component.html',
36
- styleUrls: ['./dialog.component.scss']
37
- }]
38
- }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
39
- type: Inject,
40
- args: [MAT_DIALOG_DATA]
41
- }] }]; } });
32
+ args: [{ selector: 'nuc-dialog', template: "<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", styles: ["mat-dialog-actions{justify-content:flex-end}mat-dialog-content{white-space:pre-wrap}button{text-transform:uppercase;font-weight:700}\n"] }]
33
+ }], ctorParameters: function () {
34
+ return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
35
+ type: Inject,
36
+ args: [MAT_DIALOG_DATA]
37
+ }] }];
38
+ } });
42
39
 
43
40
  class NucDialogService {
44
41
  constructor(_matDialog) {
@@ -68,9 +65,9 @@ class NucDialogService {
68
65
  });
69
66
  }
70
67
  }
71
- NucDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucDialogService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
72
- NucDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucDialogService, providedIn: 'root' });
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucDialogService, decorators: [{
68
+ NucDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucDialogService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
69
+ NucDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucDialogService, providedIn: 'root' });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucDialogService, decorators: [{
74
71
  type: Injectable,
75
72
  args: [{
76
73
  providedIn: 'root'
@@ -79,16 +76,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.3", ngImpor
79
76
 
80
77
  class NucDialogModule {
81
78
  }
82
- NucDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
83
- NucDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucDialogModule, declarations: [NucDialogComponent], imports: [CommonModule,
79
+ NucDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
80
+ NucDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucDialogModule, declarations: [NucDialogComponent], imports: [CommonModule,
84
81
  MatDialogModule,
85
82
  MatButtonModule] });
86
- NucDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucDialogModule, imports: [[
83
+ NucDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucDialogModule, imports: [[
87
84
  CommonModule,
88
85
  MatDialogModule,
89
86
  MatButtonModule
90
87
  ]] });
91
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucDialogModule, decorators: [{
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucDialogModule, decorators: [{
92
89
  type: NgModule,
93
90
  args: [{
94
91
  declarations: [
@@ -250,16 +247,11 @@ class NucLoadedContentComponent {
250
247
  this._errorDetailsVisible = true;
251
248
  }
252
249
  }
253
- NucLoadedContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucLoadedContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
254
- NucLoadedContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.3", 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"] }] });
255
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucLoadedContentComponent, decorators: [{
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"] }] });
252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucLoadedContentComponent, decorators: [{
256
253
  type: Component,
257
- args: [{
258
- // eslint-disable-next-line @angular-eslint/component-selector
259
- selector: 'nuc-loaded-content-component',
260
- templateUrl: './loaded-content-component.html',
261
- styleUrls: ['./loaded-content-component.scss']
262
- }]
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"] }]
263
255
  }], propDecorators: { completedTemplate: [{
264
256
  type: Input
265
257
  }], errorTemplate: [{
@@ -327,9 +319,9 @@ class NucLoadedContentDirective {
327
319
  }
328
320
  }
329
321
  }
330
- NucLoadedContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucLoadedContentDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive });
331
- NucLoadedContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.3", type: NucLoadedContentDirective, selector: "[nucLoadedContent]", inputs: { nucLoadedContent: "nucLoadedContent", errorTemplate: ["nucLoadedContentError", "errorTemplate"], inProgressTemplate: ["nucLoadedContentInProgress", "inProgressTemplate"], inProgressMessage: ["nucLoadedContentInProgressMessage", "inProgressMessage"], errorMessage: ["nucLoadedContentErrorMessage", "errorMessage"], showRetry: ["nucLoadedContentShowRetry", "showRetry"] }, ngImport: i0 });
332
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucLoadedContentDirective, decorators: [{
322
+ NucLoadedContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucLoadedContentDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive });
323
+ NucLoadedContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: NucLoadedContentDirective, selector: "[nucLoadedContent]", inputs: { nucLoadedContent: "nucLoadedContent", errorTemplate: ["nucLoadedContentError", "errorTemplate"], inProgressTemplate: ["nucLoadedContentInProgress", "inProgressTemplate"], inProgressMessage: ["nucLoadedContentInProgressMessage", "inProgressMessage"], errorMessage: ["nucLoadedContentErrorMessage", "errorMessage"], showRetry: ["nucLoadedContentShowRetry", "showRetry"] }, ngImport: i0 });
324
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucLoadedContentDirective, decorators: [{
333
325
  type: Directive,
334
326
  args: [{ selector: '[nucLoadedContent]' }]
335
327
  }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { nucLoadedContent: [{
@@ -353,19 +345,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.3", ngImpor
353
345
 
354
346
  class NucLoadedContentModule {
355
347
  }
356
- NucLoadedContentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucLoadedContentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
357
- NucLoadedContentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucLoadedContentModule, declarations: [NucLoadedContentDirective,
348
+ NucLoadedContentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucLoadedContentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
349
+ NucLoadedContentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucLoadedContentModule, declarations: [NucLoadedContentDirective,
358
350
  NucLoadedContentComponent], imports: [CommonModule,
359
351
  MatProgressSpinnerModule,
360
352
  MatButtonModule,
361
353
  MatIconModule], exports: [NucLoadedContentDirective] });
362
- NucLoadedContentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucLoadedContentModule, imports: [[
354
+ NucLoadedContentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucLoadedContentModule, imports: [[
363
355
  CommonModule,
364
356
  MatProgressSpinnerModule,
365
357
  MatButtonModule,
366
358
  MatIconModule
367
359
  ]] });
368
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucLoadedContentModule, decorators: [{
360
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucLoadedContentModule, decorators: [{
369
361
  type: NgModule,
370
362
  args: [{
371
363
  declarations: [
@@ -439,9 +431,9 @@ class NativeStylingService {
439
431
  return Windows.UI.ColorHelper.fromArgb(color.a, color.r * factor, color.g * factor, color.b * factor);
440
432
  }
441
433
  }
442
- NativeStylingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NativeStylingService, deps: [{ token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
443
- NativeStylingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NativeStylingService, providedIn: 'root' });
444
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NativeStylingService, decorators: [{
434
+ NativeStylingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NativeStylingService, deps: [{ token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
435
+ NativeStylingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NativeStylingService, providedIn: 'root' });
436
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NativeStylingService, decorators: [{
445
437
  type: Injectable,
446
438
  args: [{
447
439
  providedIn: 'root'
@@ -506,21 +498,21 @@ class NucSwipeTabsDirective {
506
498
  return offset;
507
499
  }
508
500
  }
509
- NucSwipeTabsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucSwipeTabsDirective, deps: [{ token: i0.ElementRef }, { token: i1$3.MatTabGroup }], target: i0.ɵɵFactoryTarget.Directive });
510
- NucSwipeTabsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.3", type: NucSwipeTabsDirective, selector: "[nucSwipe]", ngImport: i0 });
511
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucSwipeTabsDirective, decorators: [{
501
+ NucSwipeTabsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSwipeTabsDirective, deps: [{ token: i0.ElementRef }, { token: i1$3.MatTabGroup }], target: i0.ɵɵFactoryTarget.Directive });
502
+ NucSwipeTabsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: NucSwipeTabsDirective, selector: "[nucSwipe]", ngImport: i0 });
503
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSwipeTabsDirective, decorators: [{
512
504
  type: Directive,
513
505
  args: [{ selector: '[nucSwipe]' }]
514
506
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$3.MatTabGroup }]; } });
515
507
 
516
508
  class NucSwipeTabsModule {
517
509
  }
518
- NucSwipeTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucSwipeTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
519
- NucSwipeTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucSwipeTabsModule, declarations: [NucSwipeTabsDirective], imports: [CommonModule], exports: [NucSwipeTabsDirective] });
520
- NucSwipeTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucSwipeTabsModule, imports: [[
510
+ NucSwipeTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSwipeTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
511
+ NucSwipeTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSwipeTabsModule, declarations: [NucSwipeTabsDirective], imports: [CommonModule], exports: [NucSwipeTabsDirective] });
512
+ NucSwipeTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSwipeTabsModule, imports: [[
521
513
  CommonModule
522
514
  ]] });
523
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucSwipeTabsModule, decorators: [{
515
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSwipeTabsModule, decorators: [{
524
516
  type: NgModule,
525
517
  args: [{
526
518
  declarations: [
@@ -558,9 +550,9 @@ class NucSnackbarService {
558
550
  return snackbarRef;
559
551
  }
560
552
  }
561
- NucSnackbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucSnackbarService, deps: [{ token: i1$4.MatSnackBar }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
562
- NucSnackbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucSnackbarService, providedIn: 'root' });
563
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucSnackbarService, decorators: [{
553
+ NucSnackbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSnackbarService, deps: [{ token: i1$4.MatSnackBar }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
554
+ NucSnackbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSnackbarService, providedIn: 'root' });
555
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSnackbarService, decorators: [{
564
556
  type: Injectable,
565
557
  args: [{
566
558
  providedIn: 'root'
@@ -569,14 +561,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.3", ngImpor
569
561
 
570
562
  class NucSnackbarModule {
571
563
  }
572
- NucSnackbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucSnackbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
573
- NucSnackbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucSnackbarModule, imports: [CommonModule,
564
+ NucSnackbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSnackbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
565
+ NucSnackbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSnackbarModule, imports: [CommonModule,
574
566
  MatSnackBarModule] });
575
- NucSnackbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucSnackbarModule, imports: [[
567
+ NucSnackbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSnackbarModule, imports: [[
576
568
  CommonModule,
577
569
  MatSnackBarModule
578
570
  ]] });
579
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucSnackbarModule, decorators: [{
571
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSnackbarModule, decorators: [{
580
572
  type: NgModule,
581
573
  args: [{
582
574
  declarations: [],
@@ -628,16 +620,11 @@ class NucUserAvatarComponent {
628
620
  return `hsl(${hue},${saturation}%,${lightness}%)`;
629
621
  }
630
622
  }
631
- NucUserAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucUserAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
632
- NucUserAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.3", type: NucUserAvatarComponent, selector: "nuc-user-avatar", inputs: { name: "name", image: "image", size: "size", background: "background" }, ngImport: i0, template: "<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", styles: [".user-avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;position:relative;text-align:center;font-weight:400}.user-avatar img{-o-object-fit:contain;object-fit:contain;width:inherit;height:inherit;border-radius:50%}.white-text{color:#fff}.black-text{color:#333}.unselectable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.border{border:2px solid #333333}.user-avatar.size-small{height:24px;width:24px;font-size:.8em;line-height:24px}.user-avatar.size-medium{height:40px;width:40px;font-size:1.2em;line-height:40px}.user-avatar.size-large{height:64px;width:64px;font-size:2em;line-height:64px}.user-avatar.size-xlarge{height:90px;width:90px;font-size:3em;line-height:90px}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
633
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucUserAvatarComponent, decorators: [{
623
+ NucUserAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucUserAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
624
+ NucUserAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: NucUserAvatarComponent, selector: "nuc-user-avatar", inputs: { name: "name", image: "image", size: "size", background: "background" }, ngImport: i0, template: "<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", styles: [".user-avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;position:relative;text-align:center;font-weight:400}.user-avatar img{object-fit:contain;width:inherit;height:inherit;border-radius:50%}.white-text{color:#fff}.black-text{color:#333}.unselectable{-webkit-user-select:none;user-select:none}.border{border:2px solid #333333}.user-avatar.size-small{height:24px;width:24px;font-size:.8em;line-height:24px}.user-avatar.size-medium{height:40px;width:40px;font-size:1.2em;line-height:40px}.user-avatar.size-large{height:64px;width:64px;font-size:2em;line-height:64px}.user-avatar.size-xlarge{height:90px;width:90px;font-size:3em;line-height:90px}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
625
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucUserAvatarComponent, decorators: [{
634
626
  type: Component,
635
- args: [{
636
- // eslint-disable-next-line @angular-eslint/component-selector
637
- selector: 'nuc-user-avatar',
638
- templateUrl: './user-avatar-component.html',
639
- styleUrls: ['./user-avatar-component.scss']
640
- }]
627
+ args: [{ selector: 'nuc-user-avatar', template: "<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", styles: [".user-avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;position:relative;text-align:center;font-weight:400}.user-avatar img{object-fit:contain;width:inherit;height:inherit;border-radius:50%}.white-text{color:#fff}.black-text{color:#333}.unselectable{-webkit-user-select:none;user-select:none}.border{border:2px solid #333333}.user-avatar.size-small{height:24px;width:24px;font-size:.8em;line-height:24px}.user-avatar.size-medium{height:40px;width:40px;font-size:1.2em;line-height:40px}.user-avatar.size-large{height:64px;width:64px;font-size:2em;line-height:64px}.user-avatar.size-xlarge{height:90px;width:90px;font-size:3em;line-height:90px}\n"] }]
641
628
  }], ctorParameters: function () { return []; }, propDecorators: { name: [{
642
629
  type: Input
643
630
  }], image: [{
@@ -650,12 +637,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.3", ngImpor
650
637
 
651
638
  class NucUserAvatarModule {
652
639
  }
653
- NucUserAvatarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucUserAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
654
- NucUserAvatarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucUserAvatarModule, declarations: [NucUserAvatarComponent], imports: [CommonModule], exports: [NucUserAvatarComponent] });
655
- NucUserAvatarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucUserAvatarModule, imports: [[
640
+ NucUserAvatarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucUserAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
641
+ NucUserAvatarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucUserAvatarModule, declarations: [NucUserAvatarComponent], imports: [CommonModule], exports: [NucUserAvatarComponent] });
642
+ NucUserAvatarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucUserAvatarModule, imports: [[
656
643
  CommonModule,
657
644
  ]] });
658
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.3", ngImport: i0, type: NucUserAvatarModule, decorators: [{
645
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucUserAvatarModule, decorators: [{
659
646
  type: NgModule,
660
647
  args: [{
661
648
  declarations: [
@@ -679,4 +666,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.3", ngImpor
679
666
  */
680
667
 
681
668
  export { LoadingState, LoadingStatus, NativeStylingService, NucColor, NucDialogModule, NucDialogService, NucLoadedContentComponent, NucLoadedContentDirective, NucLoadedContentModule, NucSnackbarModule, NucSnackbarService, NucSnackbarType, NucSwipeTabsDirective, NucSwipeTabsModule, NucUserAvatarComponent, NucUserAvatarModule, WindowsTitleBarSyle };
682
- //# sourceMappingURL=kolektor-nucleus-material.js.map
@@ -0,0 +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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"}