@kolektor/nucleus-material 0.0.10-pre.6137 → 0.0.11-pre.6262
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.
- package/esm2020/lib/dialog/dialog.component.mjs +3 -3
- package/esm2020/lib/dialog/dialog.module.mjs +4 -4
- package/esm2020/lib/dialog/dialog.service.mjs +3 -3
- package/esm2020/lib/loaded-content/loaded-content-component.mjs +3 -3
- package/esm2020/lib/loaded-content/loaded-content-directive.mjs +3 -3
- package/esm2020/lib/loaded-content/loaded-content-module.mjs +4 -4
- package/esm2020/lib/loaded-content/loading-state.mjs +24 -10
- package/esm2020/lib/native-styling/native-styling.service.mjs +3 -3
- package/esm2020/lib/snackbar/snackbar.module.mjs +4 -4
- package/esm2020/lib/snackbar/snackbar.service.mjs +3 -3
- package/esm2020/lib/swipe-tabs/swipe-tabs-directive.mjs +3 -3
- package/esm2020/lib/swipe-tabs/swipe-tabs-module.mjs +4 -4
- package/esm2020/lib/user-avatar/user-avatar-component.mjs +3 -3
- package/esm2020/lib/user-avatar/user-avatar-module.mjs +4 -4
- package/fesm2015/kolektor-nucleus-material.mjs +67 -53
- package/fesm2015/kolektor-nucleus-material.mjs.map +1 -1
- package/fesm2020/kolektor-nucleus-material.mjs +67 -53
- package/fesm2020/kolektor-nucleus-material.mjs.map +1 -1
- package/lib/loaded-content/loading-state.d.ts +1 -0
- package/package.json +1 -1
|
@@ -25,9 +25,9 @@ class NucDialogComponent {
|
|
|
25
25
|
this.dialogData = dialogData;
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
NucDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
29
|
-
NucDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
28
|
+
NucDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
+
NucDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.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"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", 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"] }] });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucDialogComponent, decorators: [{
|
|
31
31
|
type: Component,
|
|
32
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
33
|
}], ctorParameters: function () {
|
|
@@ -65,9 +65,9 @@ class NucDialogService {
|
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
NucDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
69
|
-
NucDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
68
|
+
NucDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucDialogService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
69
|
+
NucDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucDialogService, providedIn: 'root' });
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucDialogService, decorators: [{
|
|
71
71
|
type: Injectable,
|
|
72
72
|
args: [{
|
|
73
73
|
providedIn: 'root'
|
|
@@ -76,14 +76,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
76
76
|
|
|
77
77
|
class NucDialogModule {
|
|
78
78
|
}
|
|
79
|
-
NucDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
80
|
-
NucDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
79
|
+
NucDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
80
|
+
NucDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: NucDialogModule, declarations: [NucDialogComponent], imports: [CommonModule,
|
|
81
81
|
MatDialogModule,
|
|
82
82
|
MatButtonModule] });
|
|
83
|
-
NucDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
|
83
|
+
NucDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucDialogModule, imports: [CommonModule,
|
|
84
84
|
MatDialogModule,
|
|
85
85
|
MatButtonModule] });
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucDialogModule, decorators: [{
|
|
87
87
|
type: NgModule,
|
|
88
88
|
args: [{
|
|
89
89
|
declarations: [
|
|
@@ -117,6 +117,7 @@ var LoadingStatus;
|
|
|
117
117
|
class LoadingState {
|
|
118
118
|
constructor() {
|
|
119
119
|
this._status = LoadingStatus.undefined;
|
|
120
|
+
this._initialMessage = null;
|
|
120
121
|
this._message = null;
|
|
121
122
|
this._errorDetails = null;
|
|
122
123
|
this._lastSubscription = null;
|
|
@@ -134,20 +135,26 @@ class LoadingState {
|
|
|
134
135
|
return this._load(true, null, observable, resultFunction, errorFunction, completeFunction);
|
|
135
136
|
}
|
|
136
137
|
loadWithMessage(observable, message, resultFunction, errorFunction, completeFunction) {
|
|
138
|
+
this._initialMessage = message;
|
|
137
139
|
return this._load(true, message, observable, resultFunction, errorFunction, completeFunction);
|
|
138
140
|
}
|
|
139
141
|
invoke(observable, resultFunction, errorFunction, completeFunction) {
|
|
140
142
|
return this._load(false, null, observable, resultFunction, errorFunction, completeFunction);
|
|
141
143
|
}
|
|
142
144
|
invokeWithMessage(observable, message, resultFunction, errorFunction, completeFunction) {
|
|
145
|
+
this._initialMessage = message;
|
|
143
146
|
return this._load(false, message, observable, resultFunction, errorFunction, completeFunction);
|
|
144
147
|
}
|
|
145
148
|
retry() {
|
|
146
149
|
if (this._lastSubscription) {
|
|
147
150
|
this._lastSubscription.unsubscribe();
|
|
148
151
|
}
|
|
149
|
-
this.setInProgress();
|
|
150
|
-
this._lastSubscription = this._loadObservable.subscribe(
|
|
152
|
+
this.setInProgress(this._initialMessage);
|
|
153
|
+
this._lastSubscription = this._loadObservable.subscribe({
|
|
154
|
+
next: this._resultFunction,
|
|
155
|
+
error: this._errorFunction,
|
|
156
|
+
complete: this._completeFunction
|
|
157
|
+
});
|
|
151
158
|
return this._lastSubscription;
|
|
152
159
|
}
|
|
153
160
|
setInProgress(message = null) {
|
|
@@ -167,13 +174,16 @@ class LoadingState {
|
|
|
167
174
|
this._lastSubscription.unsubscribe();
|
|
168
175
|
}
|
|
169
176
|
this.setInProgress(progressMessage);
|
|
170
|
-
const obs = observable.pipe(tap(
|
|
171
|
-
|
|
172
|
-
this.
|
|
177
|
+
const obs = observable.pipe(tap({
|
|
178
|
+
next: () => {
|
|
179
|
+
if (!saveAsLoadObservable && this.message) { // if message was used one time we clear it
|
|
180
|
+
this._message = null;
|
|
181
|
+
}
|
|
182
|
+
this.setCompleted();
|
|
183
|
+
},
|
|
184
|
+
error: (err) => {
|
|
185
|
+
this.setFailed(null, LoadingState.getErrorDetails(err));
|
|
173
186
|
}
|
|
174
|
-
this.setCompleted();
|
|
175
|
-
}, (err) => {
|
|
176
|
-
this.setFailed(null, LoadingState.getErrorDetails(err));
|
|
177
187
|
}));
|
|
178
188
|
if (saveAsLoadObservable) {
|
|
179
189
|
this._loadObservable = obs;
|
|
@@ -181,7 +191,11 @@ class LoadingState {
|
|
|
181
191
|
this._errorFunction = errorFunction;
|
|
182
192
|
this._completeFunction = completeFunction;
|
|
183
193
|
}
|
|
184
|
-
this._lastSubscription = obs.subscribe(
|
|
194
|
+
this._lastSubscription = obs.subscribe({
|
|
195
|
+
next: resultFunction,
|
|
196
|
+
error: errorFunction,
|
|
197
|
+
complete: completeFunction
|
|
198
|
+
});
|
|
185
199
|
return this._lastSubscription;
|
|
186
200
|
}
|
|
187
201
|
static getErrorDetails(error) {
|
|
@@ -242,9 +256,9 @@ class NucLoadedContentComponent {
|
|
|
242
256
|
this._errorDetailsVisible = true;
|
|
243
257
|
}
|
|
244
258
|
}
|
|
245
|
-
NucLoadedContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
246
|
-
NucLoadedContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
247
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
259
|
+
NucLoadedContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucLoadedContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
260
|
+
NucLoadedContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.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"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", 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"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
261
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucLoadedContentComponent, decorators: [{
|
|
248
262
|
type: Component,
|
|
249
263
|
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
264
|
}], propDecorators: { completedTemplate: [{
|
|
@@ -314,9 +328,9 @@ class NucLoadedContentDirective {
|
|
|
314
328
|
}
|
|
315
329
|
}
|
|
316
330
|
}
|
|
317
|
-
NucLoadedContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
318
|
-
NucLoadedContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.
|
|
319
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
331
|
+
NucLoadedContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucLoadedContentDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive });
|
|
332
|
+
NucLoadedContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.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 });
|
|
333
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucLoadedContentDirective, decorators: [{
|
|
320
334
|
type: Directive,
|
|
321
335
|
args: [{ selector: '[nucLoadedContent]' }]
|
|
322
336
|
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { nucLoadedContent: [{
|
|
@@ -340,17 +354,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
340
354
|
|
|
341
355
|
class NucLoadedContentModule {
|
|
342
356
|
}
|
|
343
|
-
NucLoadedContentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
344
|
-
NucLoadedContentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
357
|
+
NucLoadedContentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucLoadedContentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
358
|
+
NucLoadedContentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: NucLoadedContentModule, declarations: [NucLoadedContentDirective,
|
|
345
359
|
NucLoadedContentComponent], imports: [CommonModule,
|
|
346
360
|
MatProgressSpinnerModule,
|
|
347
361
|
MatButtonModule,
|
|
348
362
|
MatIconModule], exports: [NucLoadedContentDirective] });
|
|
349
|
-
NucLoadedContentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
|
363
|
+
NucLoadedContentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucLoadedContentModule, imports: [CommonModule,
|
|
350
364
|
MatProgressSpinnerModule,
|
|
351
365
|
MatButtonModule,
|
|
352
366
|
MatIconModule] });
|
|
353
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
367
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucLoadedContentModule, decorators: [{
|
|
354
368
|
type: NgModule,
|
|
355
369
|
args: [{
|
|
356
370
|
declarations: [
|
|
@@ -421,9 +435,9 @@ class NativeStylingService {
|
|
|
421
435
|
return Windows.UI.ColorHelper.fromArgb(color.a, color.r * factor, color.g * factor, color.b * factor);
|
|
422
436
|
}
|
|
423
437
|
}
|
|
424
|
-
NativeStylingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
425
|
-
NativeStylingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
426
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
438
|
+
NativeStylingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NativeStylingService, deps: [{ token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
439
|
+
NativeStylingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NativeStylingService, providedIn: 'root' });
|
|
440
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NativeStylingService, decorators: [{
|
|
427
441
|
type: Injectable,
|
|
428
442
|
args: [{
|
|
429
443
|
providedIn: 'root'
|
|
@@ -488,19 +502,19 @@ class NucSwipeTabsDirective {
|
|
|
488
502
|
return offset;
|
|
489
503
|
}
|
|
490
504
|
}
|
|
491
|
-
NucSwipeTabsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
492
|
-
NucSwipeTabsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.
|
|
493
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
505
|
+
NucSwipeTabsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucSwipeTabsDirective, deps: [{ token: i0.ElementRef }, { token: i1$3.MatTabGroup }], target: i0.ɵɵFactoryTarget.Directive });
|
|
506
|
+
NucSwipeTabsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.2", type: NucSwipeTabsDirective, selector: "[nucSwipe]", ngImport: i0 });
|
|
507
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucSwipeTabsDirective, decorators: [{
|
|
494
508
|
type: Directive,
|
|
495
509
|
args: [{ selector: '[nucSwipe]' }]
|
|
496
510
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$3.MatTabGroup }]; } });
|
|
497
511
|
|
|
498
512
|
class NucSwipeTabsModule {
|
|
499
513
|
}
|
|
500
|
-
NucSwipeTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
501
|
-
NucSwipeTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
502
|
-
NucSwipeTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
|
503
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
514
|
+
NucSwipeTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucSwipeTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
515
|
+
NucSwipeTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: NucSwipeTabsModule, declarations: [NucSwipeTabsDirective], imports: [CommonModule], exports: [NucSwipeTabsDirective] });
|
|
516
|
+
NucSwipeTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucSwipeTabsModule, imports: [CommonModule] });
|
|
517
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucSwipeTabsModule, decorators: [{
|
|
504
518
|
type: NgModule,
|
|
505
519
|
args: [{
|
|
506
520
|
declarations: [
|
|
@@ -538,9 +552,9 @@ class NucSnackbarService {
|
|
|
538
552
|
return snackbarRef;
|
|
539
553
|
}
|
|
540
554
|
}
|
|
541
|
-
NucSnackbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
542
|
-
NucSnackbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
543
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
555
|
+
NucSnackbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucSnackbarService, deps: [{ token: i1$4.MatSnackBar }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
556
|
+
NucSnackbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucSnackbarService, providedIn: 'root' });
|
|
557
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucSnackbarService, decorators: [{
|
|
544
558
|
type: Injectable,
|
|
545
559
|
args: [{
|
|
546
560
|
providedIn: 'root'
|
|
@@ -549,12 +563,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
549
563
|
|
|
550
564
|
class NucSnackbarModule {
|
|
551
565
|
}
|
|
552
|
-
NucSnackbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
553
|
-
NucSnackbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
566
|
+
NucSnackbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucSnackbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
567
|
+
NucSnackbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: NucSnackbarModule, imports: [CommonModule,
|
|
554
568
|
MatSnackBarModule] });
|
|
555
|
-
NucSnackbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
|
569
|
+
NucSnackbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucSnackbarModule, imports: [CommonModule,
|
|
556
570
|
MatSnackBarModule] });
|
|
557
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
571
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucSnackbarModule, decorators: [{
|
|
558
572
|
type: NgModule,
|
|
559
573
|
args: [{
|
|
560
574
|
declarations: [],
|
|
@@ -606,9 +620,9 @@ class NucUserAvatarComponent {
|
|
|
606
620
|
return `hsl(${hue},${saturation}%,${lightness}%)`;
|
|
607
621
|
}
|
|
608
622
|
}
|
|
609
|
-
NucUserAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
610
|
-
NucUserAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
611
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
623
|
+
NucUserAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucUserAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
624
|
+
NucUserAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.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"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
625
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucUserAvatarComponent, decorators: [{
|
|
612
626
|
type: Component,
|
|
613
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"] }]
|
|
614
628
|
}], ctorParameters: function () { return []; }, propDecorators: { name: [{
|
|
@@ -623,10 +637,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
623
637
|
|
|
624
638
|
class NucUserAvatarModule {
|
|
625
639
|
}
|
|
626
|
-
NucUserAvatarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
627
|
-
NucUserAvatarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
628
|
-
NucUserAvatarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
|
629
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
640
|
+
NucUserAvatarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucUserAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
641
|
+
NucUserAvatarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: NucUserAvatarModule, declarations: [NucUserAvatarComponent], imports: [CommonModule], exports: [NucUserAvatarComponent] });
|
|
642
|
+
NucUserAvatarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucUserAvatarModule, imports: [CommonModule] });
|
|
643
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NucUserAvatarModule, decorators: [{
|
|
630
644
|
type: NgModule,
|
|
631
645
|
args: [{
|
|
632
646
|
declarations: [
|
|
@@ -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})\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})\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.tabGroup.selectedIndex + this.getOffset(tabsToRight);\r\n } else {\r\n this.tabGroup.selectedIndex = this.tabGroup.selectedIndex + 1;\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.tabGroup.selectedIndex - this.getOffset(tabsToLeft);\r\n } else {\r\n this.tabGroup.selectedIndex = this.tabGroup.selectedIndex - 1;\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":["i2","i1"],"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})\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 _initialMessage: string = null;\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 this._initialMessage = message;\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 this._initialMessage = message;\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(this._initialMessage);\r\n this._lastSubscription = this._loadObservable.subscribe({\r\n next: this._resultFunction,\r\n error: this._errorFunction,\r\n complete: this._completeFunction\r\n });\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 next: () => {\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 error: (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({\r\n next: resultFunction,\r\n error: errorFunction,\r\n complete: completeFunction\r\n });\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})\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.tabGroup.selectedIndex + this.getOffset(tabsToRight);\r\n } else {\r\n this.tabGroup.selectedIndex = this.tabGroup.selectedIndex + 1;\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.tabGroup.selectedIndex - this.getOffset(tabsToLeft);\r\n } else {\r\n this.tabGroup.selectedIndex = this.tabGroup.selectedIndex - 1;\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":["i2","i1"],"mappings":"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"}
|